Grafcet
76443
30533130
2008-06-11T14:04:29Z
Lenormand
51375
/* Règles d'évolution */
Le '''GRAFCET''' ([[acronyme]] de ''« GRAphe Fonctionnel de Commande Etapes/Transitions »'' et de ''« GRAphe du groupe AFCET »'') est un mode de représentation et d'analyse d'un [[automatique|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
== Mode de représentation ==
Le mode de représentation qui est normalisé (norme NF C03190 de l'UTE) est le suivant :
[[Image:Graf7 01.png|right]]
# 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).
== 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)
[[Image:Graf7 02.png|right]]
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 <u>réceptivité unique</u> et se terminent toujours sur une <u>réceptivité unique</u>. 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.)
[[Image:Graf7 03.png|right]]
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.
:<br />
[[Image:Graf7 04.png|right]]
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.
<br />
# ''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.
:<br />
== Les règles d'évolution du grafcet ==
==== 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.
==== Règles 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. [[Image:Graf7 simultane.png|right]]
# É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 évoluer 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
{| class="wikitable"
|+Franchissabilitée d'une transition (cf point 2)
!
! [[Image:Graf7 evolution1.png]]
! [[Image:Graf7 evolution2.png]]
! [[Image:Graf7 evolution3.png]]
! [[Image:Graf7 evolution4.png]]
! [[Image:Graf7 evolution5.png]]
|-----
| Etape active
| aucune
| aucune
| 5
| 5
| 6
|-bgcolor="#EFEFEF"
| Transition validée
| non
| non
| oui
| oui
|
|-----
| Receptivité vraie
| non
| oui
| non
| oui
|
|-bgcolor="#EFEFEF"
| Transition franchissable
| non
| non
| non
| oui
|}
== 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 :
[[Image:Graf7 diag action cont.png|right|Chronogramme 1]][[Image:Graf7 diag action cond.png|right|Chronogramme 2]] [[Image:Graf7 diag action retard.png|right|Chronogrammes 3 et 4]]
* '''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.
('''Nota''' : Les chronogrammes sont mal légendés ("chrogramme")).
* '''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, 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 :
[[Image:Graf7 diag action memo.png|center|Différentes façon équivalentes de mémoriser une action A et le chronogramme]]
== 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.
== 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 1{{re}} séquence des états actifs des étapes de la 2{{e}} 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]]
== Macro-étapes ==
[[Image:Graf7 macro.png|right|Exemple de macro-étape]]
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 [[langage de programmation|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 [[CEI 61131-3|IEC 1131-3]].
== La norme CEI 61131-3==
La norme [[CEI 61131-3]] (1993) normalise cinq langages dont le langage [[Sequential function chart|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 [[Sequential function chart|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 [[Sequential function chart|SFC]] sont ordonnées en priorités dans le cas de [[Grafcet#Séquence unique et séquences multiples|divergence en OU]].
** Les actions du [[Sequential function chart|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 [[Sequential function chart|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''.
* ...
== Liens ==
*[http://www.lurpa.ens-cachan.fr/grafcet/grafcet_fr.html Groupe GRAFCET de normalisation]
*[http://perso.orange.fr/edmond.peulot/rectifgraf.htm Référence Ouvrage AFNOR pour la norme NFC 03 190]
*[http://philippe.berger2.free.fr/automatique/cours/G7/le_grafcet.htm Le grafcet, outil de programmation]
*[http://www.boutique.afnor.org/NEL7ListeResultat.aspx?&nivCtx=BGRZBGRZ1A2&ts=366808&_C=eJyLz2FIK2KIL8tjCNNNKinUBXEKGTTSixLTklNLNBkAoQYJsw__&filtre=_c%3d%2b16199355581551847456 La norme NFC 03 190 sur le site de l'AFNOR]
*[http://robert.cireddu.free.fr/Ressources/AII/Rappels%20sur%20le%20GRAFCET/index.htm Le GRAFCET norme NF EN 60848]
[[Catégorie:automatique]]
[[de:Grafcet]]
[[es:GRAFCET]]