Article de reference

Diagramme de fonction séquentielle

Le diagramme de fonctions séquentielles ( SFC ) est un langage de programmation visuel utilisé pour les automates programmables industriels (API). Il fait partie des cinq langag...

Le diagramme de fonctions séquentielles ( SFC ) est un langage de programmation visuel utilisé pour les automates programmables industriels (API). Il fait partie des cinq langages définis par la norme CEI 61131-3 . La norme SFC, intitulée « Préparation de diagrammes de fonctions pour les systèmes de commande » , est basée sur les réseaux de Petri binaires ).

Il peut être utilisé pour programmer des processus qui peuvent être décomposés en étapes.

SFC par lots de base, avec les éléments importants étiquetés

Les principaux composants du SFC sont :

  • Étapes et actions associées ;
  • Transitions avec conditions logiques associées ;
  • Liens directs entre les étapes et les transitions.

Dans un diagramme SFC, les étapes peuvent être actives ou inactives. Seules les actions des étapes actives sont exécutées. Une étape peut être active pour deux raisons :

  • Il s'agit d'une étape initiale telle que spécifiée par le programmeur.
  • Elle a été activée lors d'un cycle d'analyse et n'a pas été désactivée depuis.

Une étape est activée lorsque toutes les étapes précédentes sont actives et que la transition de connexion est superposable (c'est-à-dire que sa condition associée est vraie). Lorsqu'une transition est franchie, toutes les étapes précédentes sont désactivées simultanément, puis toutes les étapes suivantes sont activées simultanément.

Les actions associées aux étapes peuvent être de plusieurs types, les plus importantes étant Continue (N), Définir (S) et Réinitialiser (R). Outre leur signification évidente, une action N garantit que sa variable cible est initialisée à 1 tant que l'étape est active. Une règle SFC stipule que si deux étapes ont une action N sur la même cible, cette variable ne doit jamais être réinitialisée à 0. Il est également possible d'insérer des actions LD ( diagramme à contacts ) dans un programme SFC (c'est la méthode standard, par exemple, pour manipuler des variables entières).

SFC est un langage de programmation intrinsèquement parallèle, dans la mesure où plusieurs flux de contrôle — des unités d'organisation de programme (POU) dans le jargon de la norme — peuvent être actifs simultanément.

Les extensions non standard du langage incluent les macroactions : c’est-à-dire des actions au sein d’une unité de programme qui influencent l’état d’une autre unité de programme. La macroaction la plus pertinente est le « forçage », qui permet à une unité de programme de déterminer les étapes actives d’une autre unité de programme.