Grafcet
Un article de Wikipédia, l'encyclopédie libre.
Le GRAFCET (acronyme de « GRAphe Fonctionnel de Commande Etapes/Transitions ») est un mode de représentation et d'analyse d'un automatisme, particulièrement bien adapté aux systèmes à évolution séquentielle, c'est-à-dire décomposable en étapes.
Le GRAFCET représente donc graphiquement le fonctionnement d'un automatisme par un ensemble :
- d'étapes auxquelles sont associées des actions
- de transitions entre étapes auxquelles sont associées des réceptivités
- des liaisons orientées entre les étapes et les transitions
Sommaire |
[modifier] Mode de représentation
Le mode de représentation qui est normalisé (norme NF C03190 de l'UTE) est le suivant :
- Une étape est représentée par un carré repéré par un numéro identificateur. Une étape active peut être désignée par un point au-dessous du numéro. Les actions associées sont indiquées de façon littérale ou symbolique, dans un rectangle relié à la partie droite. Une étape initiale est représentée par un carré doublé. (En bleu, fig. ci-contre)
- Une liaison orientée est représentée par une ligne, parcourue par défaut de haut en bas ou de gauche à droite. Dans le cas contraire, on utilise des flèches. On évite les croisements. (En noir, fig. ci- contre)
- Une transition entre deux étapes est représentée par une barre perpendiculaire aux liaisons orientées qui la relient aux étapes précédente(s) et suivante(s). Une transition indique la possibilité d'évolution entre étapes. À chaque transition est associée une réceptivité inscrite à droite de la barre de transition. Une réceptivité est une condition logique qui permet de distinguer parmi toutes les combinaisons d'informations disponibles celle qui est susceptible de faire passer le système aux étapes suivantes (En rouge, fig. ci-contre).
[modifier] Séquence unique et séquences multiples
1. Séquence unique : un automatisme est décrit par un grafcet à séquence unique lorsqu'il peut être représenté par un ensemble de plusieurs étapes formant une suite dont le déroulement s'effectue toujours dans le même ordre. (Le grafcet ci-dessus en est un exemple)
2. Séquences multiples simultanées : lorsque le franchissement d'une transition conduit à activer plusieurs étapes, les séquences issues de ces étapes sont dites séquences simultanées. Les séquences simultanées débutent toujours sur une réceptivité unique et se terminent toujours sur une réceptivité unique. En effet, les différentes séquences « démarrent » en même temps puis évoluent ensuite indépendamment les unes des autres. Ce n'est donc que lorsque toutes les étapes finales de ces séquences sont actives simultanément (ce qui se produit souvent après attente réciproque) que l'évolution peut se poursuivre par le franchissement simultané d'une même transition. Le début et la fin des séquences simultanées sont représentés par deux traits parallèles (en rouge, fig. ci-contre), qui ne constituent pas des entités spécifiques du grafcet, mais qui doivent être compris comme l'élargissement de l'entrée ou de la sortie de la transition. (On parle parfois de « divergence » et de « convergence en ET » pour cette représentation.)
3. Séquences multiples exclusives: lorsque, à partir d'une étape, on peut effectuer un choix entre plusieurs séquences possibles conditionnées par plusieurs réceptivités exclusives, on a affaire à une sélection de séquences ou aiguillage. Pour une meilleure lisibilité, les différentes séquences possibles sont installées sous un trait horizontal (en rouge fig. ci-contre) qui représente l'élargissement de la sortie de l'étape, et se retrouvent par un trait analogue représentant l'entrée de l'étape à nouveau commune. D'un façon analogue au double trait vu ci-dessus, on parle de « divergence » et de « convergence en OU » pour cette représentation.
Deux cas particuliers de sélection de séquences se rencontrent fréquemment dans la plupart des automatismes séquentiels. Ce sont le saut d'étape et la reprise de séquence.
- Le saut d'étapes permet de sauter un certain nombre d'étapes si une condition logique est réalisée (En fait, c'est le cas général, avec une branche vide d'action).
- La reprise de séquence permet de répéter une même séquence jusqu'à ce que la réceptivité de fin de séquence soit vraie.
Si les réceptivités ne sont pas exclusives (par exemple si c12 et c13 peuvent être vraies au même moment), la suite est indéterminée ; le grafcet est fautif.
[modifier] Les règles d'évolution du grafcet
[modifier] Règles de syntaxe
L'alternance étape-transition doit être respectée. Deux étapes ne doivent jamais être reliées directement. Deux transitions ne doivent jamais être reliées directement.
[modifier] Règle d'évolution
- L'initialisation : une situation initiale est caractérisée par le fait qu'un certain nombre d'étapes sont actives au début du fonctionnement. Ces étapes sont repérées sur le grafcet par un double carré.
- Le franchissement d'une transition : une transition est soit validée soit non validée. Elle est validée lorsque toutes les étapes immédiatement précédentes sont actives (voir le tableau suivant). Elle ne peut être franchie :
- que lorsqu'elle est validée
- et que la réceptivité associée est vraie.
- L'évolution des étapes actives : le franchissement d'une transition entraîne l'activation de toutes les étapes immédiatement suivantes et la désactivation de toutes les étapes immédiatement précédentes.
- Évolution simultanée : plusieurs transitions simultanément franchissables sont simultanément franchies.Par exemple, sur la figure ci-contre, si la variable "c" est vraie, le grafcet va évouler vers la désactivation simutanée des étapes 5 et 10 et l'activation simultanée des étapes 6 et 11.
- Activation et désactivation simultanées : si au cours du fonctionnement, une même étape doit être simultanément désactivée et activée, elle reste ACTIVE
Etape active | aucune | aucune | 5 | 5 | 6 |
Transition validée | non | non | oui | oui | |
Receptivité vraie | non | oui | non | oui | |
Transition franchissable | non | non | non | oui |
[modifier] Nature des actions
Le critère de classification des actions les plus utilisées est : la durée de l'action comparativement à la durée de l'étape :
- Action continue : l'action se poursuit tant que l'étape à laquelle elle est associée est active. Cela se traduit par le diagramme temporel (chronogramme 1) ci-contre.
- Action conditionnelle : l'action est exécutée si, en plus de l'activité de l'étape à laquelle elle est associée, une condition logique spécifiée est vraie (voir chronogramme 2 ci-contre). Ces actions conditionnelles sont particulièrement importantes car elles permettent, dans une étape, de réaliser une combinatoire locale en vue, par exemple, Cela permet d'exécuter l'action seulement pendant un certain temps, ou après un certain temps d'activité de l'étape (voir les 2 chronogrammes 3 et 4 ci-contre).
- Action : pour maintenir la continuité d'une action devant se prolonger pendant l'activité de plusieurs étapes, il est possible :
- de répéter l'action continue dans toutes les étapes concernées ;
- de mémoriser l'action par des fonctions mises à 1 (SET) et mises à zéro (RESET).
- La figure ci-dessous présente ces différentes méthodes équivalentes de maintien d'une action sur plusieurs étapes :
[modifier] Nature des réceptivités
Il s'agit toujours du résultat d'une expression booléenne unique pouvant faire intervenir
- Des états de variables booléennes (état direct, front, fin de temporisation...)
- Des comparaisons sur des valeurs numériques.
- Des tests sur les états actifs d'étapes (permis mais à éviter pour une meilleure lisibilité).
- etc.
[modifier] Synchronisation et couplage de séquences
- Activation simultanée de 2 étapes : 5 et 8 sont activées simultanément : Image:Grafcet14.PNG
- Attente d'événements : les étapes 25 et 23 sont des étapes d'attente réciproque. Lorsqu'elles sont actives en même temps et que T2=1 on passe à l'étape 26 : Image:Grafcet15.PNG
- Interdiction d'événements : si certaines actions d'une séquence sont interdites lorsque d'autres actions d'une autre séquence simultanée ont lieu, il faut faire dépendre le franchissement des transitions de la 1re séquence des états actifs des étapes de la 2e séquence. Image:Grafcet16.PNG L'étape 3 ne peut être activée si les étapes 6 ou 7 sont actives.
- Séquences répétées ou sous programme : lorsqu'une même séquence est utilisée plusieurs fois dans un cycle, on peut éviter de la répéter en la remplaçant par un rectangle avec double traits verticaux à l'intérieur duquel sont notées l'étape d'entrée et l'étape de sortie. Image:Grafcet17.PNG
[modifier] Macro-étapes
Une macro-étape est un moyen de représentation d'un ensemble unique de transitions et étapes en une seule étape : la macro-étape. Une macro-étape Mi peut être completement remplacée par son expansion qui contient une étape d'entrée Ei et une de sortie Si. (voir image ci-contre)
Ce moyen de représentation peut donc être considéré comme un "zoom" qui permet de simplifier la lecture de Grafcet de taille importante. Une expansion ne peut être utilisée qu'une seule fois : son utilisation est unique et elle ne doit pas être confondue avec un sous-programme, à l'instar d'autres langages de programmation.
Si l'on veut utiliser une même expansion, il faut la dupliquer. Cela revient, en fait, à faire un instance de l'expansion par appel, à l'instar des appels de fonctions dans la norme IEC 1131-3.
[modifier] La norme IEC 1131-3
La norme IEC 1131-3 (1993) normalise cinq langages dont le langage SFC (Sequential Function Chart) qui est très proche du GRAFCET. Plusieurs différences peuvent néanmoins être notées :
- L'objectif du langage :
- Le SFC est un langage de programmation destiné à être implanté sur contrôleur, comme un Automate programmable industriel par exemple.
- Le GRAFCET est un langage de représentation qui peut être utilisé pour spécifier un comportement attendu ou pour décrire le comportement de systèmes automatisés existants.
- La syntaxe :
- Contrairement au GRAFCET, les transitions du SFC sont ordonnées en priorités dans le cas de divergence en OU.
- Les actions du SFC peuvent être lancées suivant trois mode : P1, P0, C pour, respectivement, à l'activation, à la désactivation, en continue.
- l'évolution/l'exécution :
- le SFC est exécuté sur un contrôleur, avec une notion de PRE et POST traitements, notion inexistantes en Grafcet qui est fait pour évoluer.
- ...