Skip to main content

Ordre de traitement

Important

Tenez compte des points suivants lors de l'implémentation d'actions :

Une action peut être exécutée plusieurs fois au cours d'un même cycle, car elle peut être utilisée dans plusieurs diagrammes SFC.

Exemple : un diagramme SFC contient deux actions IEC A et B, toutes deux programmées en SFC et appelant toutes deux une action IEC C. Dans ce cas, C serait appelée deux fois.

L'utilisation simultanée de la même action IEC à différents niveaux d'un diagramme SFC peut entraîner des résultats imprévisibles lors du traitement. Pour cette raison, CODESYS émet un message d'erreur correspondant. Ce message d'erreur peut s'afficher, par exemple, lorsque vous travaillez sur des projets créés dans une version antérieure du système de développement.

Astuce

Remarque : il est possible d'utiliser des variables implicites pour surveiller l'état de traitement des étapes et des actions ou pour contrôler le traitement.

Comportement de base des éléments

  • Étape active

    Une étape active contient des actions en cours d'exécution. En mode en ligne, CODESYS affiche les étapes actives en bleu.

  • Étape initiale

    Au premier cycle après l'appel d'un POU en SFC, l'étape initiale est automatiquement activée et l'action d'étape est exécutée.

  • Les actions IEC sont exécutées au moins deux fois : la première fois à l'activation de l'étape et la seconde fois à sa désactivation (mais seulement au cycle suivant).

  • Branchements alternatifs

    Si l'étape qui précède le branchement est active, les premières transitions des branches alternatives sont évaluées de gauche à droite. Dès qu'une transition donne la valeur TRUE, l'étape suivante de la branche correspondante est activée. Les transitions des branches situées à sa droite ne sont plus évaluées.

  • Branchements parallèles

    Si l'étape qui précède le branchement est active et que la transition située avant la double ligne horizontale est TRUE, les premières étapes de toutes les branches sont activées simultanément. Les branches sont ensuite exécutées en parallèle. L'étape qui suit le branchement est activée dès que les dernières étapes de toutes les branches sont actives et que la transition suivante donne la valeur TRUE.

Ordre de traitement

  1. Réinitialisation des actions IEC

    Les indicateurs de contrôle internes des actions avec les qualificatifs N, R, S, L, D, P, SD, DS, SL sont réinitialisés. Ces indicateurs contrôlent une action IEC. En revanche, les indicateurs auxquels on accède au sein des actions ne sont pas réinitialisés.

  2. Exécution des actions de sortie

    Ensuite, chaque étape est vérifiée afin de déterminer si elle remplit la condition d'exécution de son action de sortie. L'ordre de vérification suit la disposition du diagramme SFC, de haut en bas et de gauche à droite.

    Une action de sortie est exécutée lorsque l'étape est désactivée, c'est-à-dire lorsque ses actions d'entrée et d'étape éventuelles ont été exécutées au cycle précédent et que la condition de l'étape suivante donne TRUE.

  3. Exécution des actions d'entrée

    Ensuite, chaque étape est vérifiée afin de déterminer si elle remplit la condition d'exécution de son action d'entrée. L'ordre de vérification suit la disposition du diagramme SFC, de haut en bas et de gauche à droite. Si c'est le cas, toutes les actions d'entrée sont exécutées.

    Une action d'entrée est exécutée une fois lorsque l'étape associée est activée. La condition requise est que la transition qui précède l'étape donne la valeur TRUE.

  4. Vérification du temps / Exécution des actions d'étape

    Une vérification est effectuée afin de détecter si une étape est restée active plus longtemps que la durée autorisée. La vérification du temps sert à détecter des erreurs dans la séquence, par exemple si une transition attendue n'est pas remplie et que la séquence s'arrête donc dans une étape.

  5. Exécution des actions IEC

    Les actions IEC sont exécutées par ordre alphabétique. Cela s'effectue en deux passages dans la liste des actions. Lors du premier passage, les actions IEC de toutes les étapes qui ont été désactivées au cycle précédent sont exécutées. Lors du second passage, les actions IEC de toutes les étapes actives sont exécutées.

  6. Vérification des transitions / Activation des étapes suivantes

    Lorsque les conditions suivantes sont remplies, l'étape suivante est activée :

    • L'étape est active dans le cycle en cours.

    • La transition suivante renvoie la valeur TRUE.

    • Le temps minimal éventuellement défini pour l'étape est écoulé.