Structure de programmation
(Traduction du document original anglais)
Commentaires sur les étapes
Numéro de l'étape
Description de l'étape
Elément
0
Etat initial de fonction
Quand le bit de démarrage passe à 1, initialiser l'erreur à 0 et passer à l'étape 5.
Modem
5
Lire l'état du port série et vérifier qu'aucune commande n'est active.
Passer en mode caractère et initialiser le compteur Test_inc à 0.
Allez à l'étape 10.
10
Lire l'état du port série et vérifier qu'aucune commande n'est active.
Réinitialiser le bit de commande TO_CHAR_MODE.
  • S'il n'y a pas d'erreur sur le port série
    • et si le mode caractère est actif, passer à l'étape 15.
    • et le mode caractère n'est pas actif, incrémenter Test_inc et recommencer l'étape 10 jusqu'à 1000 fois. Après 1000 échecs de tentatives, affecter Erreur à 10 et passer à l'étape 130.
  • S'il y a une erreur sur le port série, alors
    • affecter Erreur à 10.
    • Allez à l'étape 130.
15
Envoyer une commande de numérotation au modem par le bloc PRINT_CHAR.
Allez à l'étape 20.
20
Si le résultat de PRINT_CHAR est concluant, passer à l'étape 25 ; sinon, définir Erreur à 20 et passer à l'étape 130.
25
Attente de la réponse du modem par le bloc INPUT_CHAR. Quand la chaîne de réponse est totalement reçue, passer à l'étape 30.
30
Si le résultat de INPUT_CHAR est concluant, passer à l'étape 35 ; sinon, définir Erreur à 30 et passer à l'étape 130.
35
Si le modem répond correctement, passer à l'étape 40 ; sinon, définir Erreur à 35 et passer à l'étape 130.
40
Lire l'état du port série et vérifier qu'aucune commande n'est active.
Passer au mode maître Modbus et initialisez le compteur Test_inc à 0.
Allez à l'étape 45.
Mode maître Modbus
45
Lire l'état du port série et vérifier qu'aucune commande n'est active.
Réinitialiser le bit de commande TO_CHAR_MODE.
  • S'il n'y a pas d'erreur sur le port série
    • et si le mode caractère est actif, passer à l'étape 50.
    • et le mode caractère n'est pas actif, incrémenter Test_inc et recommencer l'étape 45 jusqu'à 1000 fois. Après 1000 échecs de tentatives, affecter Erreur à 45 et passer à l'étape 130.
  • S'il y a une erreur sur le port série, alors
    • affecter Erreur à 45.
    • Allez à l'étape 130.
50
Initialisation du paramètre du bloc WRITE_VAR.
Envoyer les données à écrire sur l'automate à l'aide de la fonction WRITE_VAR.
Allez à l'étape 55.
Fonction d'écriture
55
Si le résultat de WRITE_VAR est concluant, passer à l'étape 60 ; sinon, définir Erreur à 55 et passer à l'étape 130.
60
Lire l'état du port série et vérifier qu'aucune commande n'est active.
Passer en mode caractère et initialiser le compteur Test_inc à 0.
Allez à l'étape 65
Mode caractère
65
Lire l'état du port série et vérifier qu'aucune commande n'est active.
Réinitialiser le bit de commande TO_CHAR_MODE.
  • S'il n'y a pas d'erreur sur le port série
    • et si le mode caractère est actif, passer à l'étape 70.
    • et le mode caractère n'est pas actif, incrémenter Test_inc et recommencer l'étape 65 jusqu'à 1000 fois. Après 1000 échecs de tentatives, affecter Erreur à 65 et passer à l'étape 130.
  • S'il y a une erreur sur le port série, alors
    • affecter Erreur à 65.
    • Allez à l'étape 130.
70
Envoyer une séquence d'échappement au modem à l'aide du bloc PRINT_CHAR.
Allez à l'étape 75.
Modem
75
Si le résultat de PRINT_CHAR est concluant, passer à l'étape 80 ; sinon, définir Erreur à 75 et passer à l'étape 130.
80
Attente de la réponse du modem par le bloc INPUT_CHAR. Quand la chaîne de réponse est totalement reçue, passer à l'étape 85.
85
Si le résultat de INPUT_CHAR est concluant, passer à l'étape 90 ; sinon, définir Erreur à 85 et passer à l'étape 130.
90
Si le modem répond correctement, passer à l'étape 95 ; sinon, définir Erreur à 90 et passer à l'étape 130.
95
Envoyer une commande de déconnexion au modem à l'aide du bloc PRINT_CHAR.
Allez à l'étape 100.
100
Si le résultat de PRINT_CHAR est concluant, passer à l'étape 105 ; sinon, définir Erreur à 100 et passer à l'étape 130.
105
Attente de la réponse du modem par le bloc INPUT_CHAR. Quand la chaîne de réponse est totalement reçue, passer à l'étape 110.
110
Si le résultat de INPUT_CHAR est concluant, passer à l'étape 115 ; sinon, définir Erreur à 110 et passer à l'étape 130.
115
Si le modem répond correctement, passer à l'étape 120 ; sinon, définir Erreur à 115 et passer à l'étape 130.
120
Lire l'état du port série et vérifier qu'aucune commande n'est active.
Passer au mode esclave Modbus et initialiser le compteur Test_inc à 0.
Allez à l'étape 125.
Mode esclave Modbus
125
Lire l'état du port série et vérifier qu'aucune commande n'est active.
Réinitialiser le bit de commande TO_CHAR_MODE.
  • S'il n'y a pas d'erreur sur le port série
    • et si le mode caractère est actif, passer à l'étape 130.
    • et le mode caractère n'est pas actif, incrémenter Test_inc et recommencer l'étape 125 jusqu'à 1000 fois. Après 1000 échecs de tentatives, affecter Erreur à 125 et passer à l'étape 130.
  • S'il y a une erreur sur le port série, alors
    • affecter Erreur à 125.
    • Allez à l'étape 130.
130
Revenir à l'étape 0.