Le Grafcet
Si aucun menu à gauche n'apparaît cliquez ici.
Outils de spécification des automatismes industriels:
Lexpression « automatismes industriels » (ou Génie automatique) recouvre toutes les activités dapplication industrielle des automatismes, le système automatisé étant lobjet industriel sur lequel sexercent ces activités.
Un système industriel a pour objectif dapporter une valeur ajoutée à une matière d'uvre. Le système est automatisé si tout ou partie du savoir-faire (conférant la valeur ajoutée) est confié au système.
Frontières dun système automatisé Un système peut fonctionner seul ou associé à dautres systèmes au sein dun ensemble plus important. La première frontière est celle qui permet disoler le système du milieu avec lequel il interagit; nous nommerons celle-ci: frontière système. A lintérieur de ce système apparaissent deux parties en interrelations: la partie commande et la partie opérative. Lors de létude de chacune de ces parties, des frontières disolement sont nécessaires à la mise en évidence des interactions de ces parties avec leur environnement. Intervenants sur le système Il existe un grand nombre dintervenants sur un système. On peut les regrouper en deux familles
Lactivité de définition de ce que doit faire le système prend le nom de spécification. Lutilité finale dun système automatisé dépend étroitement de la qualité de sa spécification. |
Parmi les outils de spécification des automatismes industriels, le GRAFCET (Graphe Fonctionnel de Commande Etape / Transition) tient une place privilégiée grâce à sa capacité dutilisation dans les phases de spécification, de conception et de réalisation du système et particulièrement de sa partie commande.
Le GRAFCET est normalisé internationalement depuis 1988 (CEI 848).
Remarque: cet outil est, de plus, à lorigine dun grand nombre de langages de programmation, ce qui étend son domaine dutilisation. Pour les distinguer du GRAFCET, on nomme ces langages:
Langages Inspirés (ou orientés) GRAFCET (L.l.G.).
Loutil GRAFCET
Notation afin de distinguer loutil du résultat de lopération accomplie avec cet outil, on notera en majuscules et toujours au singulier loutil GRAFCET, et en minuscules le(s) résultat(s) dun travail grafcet(s).
Ainsi on peut dire «voici un grafcet écrit en GRAFCET» comme on pourrait dire «voici un programme écrit en BASIC » ou «voici un texte écrit en FRANÇAIS ».
Le GRAFCET est un outil graphique de description des comportements dun système logique. Les éléments graphiques de base sont pour la structure:
Les étapes: qui caractérisent le comportement invariant du système isolé;
les transitions: qui indiquent les possibilités dévolution entre étapes;
les liaisons orientées : qui permettent de lier les étapes entre elles;
les actions (associées aux étapes) : qui sont exécutées lorsque les étapes sont actives;
les réceptivités (associées aux transitions) qui conditionnent le franchissement des transitions.
Le GRAFCET permet de déterminer les évolutions dynamiques dun système logique décrit à partir de cinq
règles dévolutions (seules les trois premières sont nécessaires dans un premier temps).
Système dans son environnement
Le passage à niveau est un système automatisé représenté dans son environnement. La partie décrite sous cette forme est la partie opérative du système. Sur cette description externe, qui accompagne la spécification du fonctionnement du système, on ne préjuge en rien de la manière dont les mouvements seront déclenchés; on sintéresse seulement au fait quil faut les commander. Remarque: ce passage à niveau est à une seule voie et à un seul sens de déplacement des trains. |
Frontière de la partie commande
|
Le premier travail du spécificateur de partie commande est de rechercher à isoler |
Spécification de la partie commande
|
Cest la description fonctionnelle externe de la partie commande. Elle établit les relations permettant de déterminer chaque sortie en fonction des entrées quel que soit linstant.
Cest-à-dire quelle permet, à partir dun chronogramme de variation des entrées, de déterminer le chronogramme dévolution des sorties (le système étant dans un état connu au départ).
Elle ne préjuge en rien de la réalisation.
Entrées et sorties d'un grafcet
Le GRAFCET permet de décrire (de spécifier) le comportement attendu dun système qui est caractérisé par la nature logique de ses variables d'entrées/sorties. Ces entrées/sorties modélisent le changement détat de variables qui ne sont pas forcément logiques (par exemple la détection dun seuil dune variable analogique est logique). Lentrée « train arrivé » doit être considérée comme une proposition logique qui ne peut posséder que deux états: vrai/faux. De même la sortie « LEVER BARRIERES » ne peut être que vraie ou fausse. Lordre « LEVER BARRIERES » est associé à létape 3, ce qui indique que laction de lever les barrières est exécutée si létape 3 est active. Cest la sortie S3 qui est associée à létape 3. |
Le GRAFCET est un modèle qui obéit à des règles. Si lune de ces règles nest pas respectée, le graphe obtenu nest pas un grafcet et donc ne peut être interprété.
Cependant, bien que le respect de ces règles confère au graphe le qualificatif de grafcet (dont la syntaxe est correcte), ce respect nest évidemment pas suffisant pour que la description du système soit forcément satisfaisante (signification correcte).
RÈGLE DE SYNTAXE
Lalternance étape-transition et transition-étape doit toujours être respectée quelle que soit la séquence parcourue. Deux étapes ou transitions ne doivent jamais être reliées par une liaison orientée. La liaison relie obligatoirement une étape à une transition ou une transition à une étape.
RÈGLES DÉVOLUTION
Règle 1 |
Situation initialela situation initiale dun grafcet caractérise le comportement initial de la partie commande vis-à-vis de la partie opérative, de lopérateur et/ou des éléments extérieurs. Elle correspond aux étapes actives au début du fonctionnement. Elle traduit généralement un comportement de repos. |
Règle 2 |
Franchissement dune transitionUne transition est dite validée lorsque toutes les étapes immédiatement précédentes reliées à cette transition sont actives. Le franchissement dune transition se produit :
Lorsque ces DEUX conditions sont réunies, la transition devient FRANCHISSABLE et est alors OBLIGATOIREMENT FRANCHIE. |
Règle 3 |
Évolution des étapes activesLe franchissement dune transition entraîne simultanément lactivation de toutes les étapes immédiatement suivantes et la désactivation de toutes les étapes immédiatement précédentes. |
|
Remarque : A ces règles propres au GRAFCET sajoute une hypothèse généralement retenue pour les systèmes logiques: la simultanéité dévénements externes non corrélés ne peut pas exister (autrement dit : deux entrées indépendantes ne peuvent pas changer détat simultanément). |
Structures graphiques de bases
Les structures de base présentées sont les plus fréquemment utilisées. Il est donc intéressant de les employer le plus souvent possible afin dêtre «compris» par les lecteurs futurs des graphes élaborés. Il existe dautres structures utilisables dans le respect des règles de base. Chacun peut donc « personnaliser » son style décriture de grafcets. Séquence Cest un ensemble ordonné détapes possédant la propriété suivante :
Une séquence élémentaire peut ne contenir quune étape, ce qui permet de considérer un grafcet comme un ensemble de séquences reliées par des structures telles que celles définies ici. |
Structure permettant l'évolution de séquences simultanées (ET) |
Structure permettant l'évolution de séquences alternatives (OU) |
---|---|
Les règles 2 et 3 dévolution du GRAFCET décrivent le franchissement des transitions et les évolutions des étapes actives.
La situation dun grafcet est définie par lensemble des étapes actives à un instant donné. Les évolutions dactivité détapes dun grafcet se font globalement de situation à situation.
On nomme situation à un instant donné dun grafcet lensemble des étapes actives à cet instant. Une situation correspond à un comportement invariant de la commande (autrement dit tant que le grafcet est dans une situation donnée ce sont les même sorties qui sont vraies).
(1, 10,23) est la situation à linstant dun grafcet donné, dont les étapes 1, 10 et 23 sont actives, à cet instant.
Lecture dun grafcet
Un grafcet décrit le comportement dynamique dun système logique.
En effet quelle que soit la suite des valeurs booléennes des entrées, pour une situation de départ donnée, on peut déterminer, en appliquant les règles du GRAFCET la suite des valeurs booléennes des sorties.
On peut donc dire que le grafcet résume tous les comportements (toutes les réactions) possibles du système isolé face à des sollicitations externes (variation des entrées).
Variables manipulées par le GRAFCET
Le GRAFCET manipule uniquement des variables booléennes (Tout Ou Rien : TOR). Un grafcet correspond à un isolement définissant un intérieur et un extérieur, les relations de lintérieur avec lextérieur étant représentées par les entrées et les sorties.
En interne, létat logique des étapes (actives ou inactives) est caractérisé par l'intermédiaire de variables détapes.
la variable X3 représente létat logique de létape 3 :
si létape 3 est active, alors la variable logique X3 = 1;
si létape 3 nest pas active, alors la variable logique X3 = O.
Remarque : il nest pas astucieux dappeler une étape X2 (par exemple) car la variable associée sera alors XX2 !
Les variables détapes peuvent être utilisées dans les réceptivité.
Le critère qui a été choisi est la comparaison de la durée des ACTIONS, COMMANDES ou ORDRES à celle de la durée de lactivation de létape.
a:
|
b: contient la déclaration symbolique ou littérale décrivant laction.
c: indique le repère de référence du signal de fin dexécution correspondant.
Le GRAFCET formalise le comportement des SORTIES booléennes en fonction des ENTREES booléennes. |
La norme autorisant lutilisation dactions retardées et/ou mémorisées, une nouvelle frontière apparaît. |
|
Dans le GRAFCET, les sorties sont associées aux étapes. Si une étape est active, la ou les actions associées sont vraies; dans le cas contraire elles sont fausses.
Cependant, ces actions peuvent être conditionnées par des entrées et/ou des variables d'étapes de grafcet.
Représentations équivalentes
Le chronogramme permet de bien montrer le fonctionnement dune action conditionnelle.
Remarque 1 : les actions conditionnelles sont difficiles à maîtriser, notamment en ce qui concerne la fin de laction. Il est donc conseillé de les utiliser dans des cas dactions particulières, comme la signalisation par un voyant dun défaut susceptible dapparaître dans une étape donnée. |
Remarque 2 : Le progiciel « Automgen » permet dutiliser des actions conditionnelles, il faut mettre en place une action associée à létape en traçant un rectangle action, puis positionner le curseur dans la partie gauche de ce rectangle et appuyer sur « espace ». La condition peut être alors écrite au dessus de laction conditionnée. Attention à prévoir la place pour cette condition. |
Prise en compte du temps dans le GRAFCET
Il peut par exemple, être utile de maîtriser des durées dactions ou densemble dactions. Pour cela il existe dans le GRAFCET des variables temporisées liées aux activités des étapes. Il est possible dutiliser une fonction opérative temporisation interne à lautomate ou un temporisateur externe. Nous étudions ici la fonction interne.
La variable S = t1s/e/t2s, est définie par lopérateur retard de la norme CEI 617-12. On peut voir sur le chronogramme que t1s (une seconde) est le temps de retard à la montée de S par rapport à e et que t2s (trois secondes) est le temps de retard à la descente de S par rapport à e. Dans le GRAFCET, la variable temporisée étant basée sur la variable détape, la notation devient : t1s/Xi/t2s. |
|
---|---|
On se limite souvent à la variable temporisée réduite suivante : t1s/Xi qui devient vraie t secondes après lactivation de létape i et qui ensuite reste vraie tant que létape i est active (dans ce cas t2=0). Remarque1 : les variables temporisées sont des variables logiques. Elles peuvent être utilisées dans les réceptivités et/ou pour conditionner des sorties. |
La figure montre le cas le plus courant dutilisation de la variable temporisée : la limitation de la durée de l'étape X1 et par conséquence la durée de la sortie S1.
Les cas dutilisation sont très nombreux dans les automatismes industriels. La surveillance de la durée détapes ou de séquences (on parle alors de temps enveloppe) se rencontre fréquemment.
Remarque 2 : les progiciels dautomatisme ont besoin de repérer les différents temporisateurs, ils sont généralement repérés « ti » (t1,t2,t3 ). La syntaxe devient donc : ti/Xj/ns avec i numéro du temporisateur, j numéro de létape de déclenchement et n durée. |
Pour quune action reste maintenue lorsque létape qui la commandée vient à être désactivée, il faut utiliser une action mémorisée, ce qui est alors spécifié par les lettre symbole de début « S » (set ) et de fin daction mémorisée « R » (reset ) qui seront précisée dans les étapes correspondantes. L'utilisation de bits internes permet de mémoriser l'état fugitif d'une information.
Le grafcet spécifie que la sortie « ACTION J » doit commencer dès lactivation de létape 39 et doit cesser dès lactivation de létape 43. La fonction opérative associée « mémoire » a pour entrées les sorties du modèle GRAFCET : la commande de début daction (set) et lordre de fin daction (reset). Ces commandes peuvent êtres continues, retardées, limitées dans le temps... La sortie « ACTION J » est le résultat de la description complète du modèle GRAFCET et de la fonction opérative associée « Mémoire ». |
Le comptage peut avoir plusieurs finalités :
répéter une séquence plusieurs fois
compter des actions, des objets, des séquences...
Le comptage peut être réalisé par une fonction opérative comptage interne à lautomate programmable ou par un composant externe. Nous étudions la fonction comptage interne à lautomate.
Répéter une séquence :
La séquence 9,10 et 11 se répète 3 fois. Tant que la réceptivité (test) compteur < 3 est vraie nous retournons à létape 9 après létape 11. Lorsque la valeur du compteur atteint 3 nous passons de létape 11 vers létape 12. A chaque passage dans létape 11 la valeur du compteur est augmentée de 1 (incrémentée). La valeur de celui-ci est initialisée à létape 8. Remarque : Ce grafcet ne prend pas en compte une valeur supérieure à 3, il y a risque de blocage si celle-ci dépasse 3. Il faut donc veiller à ne pas modifier le compteur dans un autre graphe. Les actions réalisables sur un compteur sont :
|
Les test réalisables sont :
comparaison égalité (compteur = valeur)
comparaison inférieur (compteur < valeur)
comparaison supérieur (compteur > valeur)
comparaison inférieur ou égal (compteur <= valeur)
comparaison supérieur ou égal (compteur >= valeur)
Comptage de pièces : Lorsque une pièce se présente au contrôle, le résultat de celui-ci peut être type a ou type b ou type c. A type de pièce correspond une séquence, aux étapes 11, 12 et 13 le compteur correspondant est incrémenté. |
Système dans son environnement
Ce système sinscrit dans une chaîne dembouteillage, il correspond à lisolement de la partie assurant les fonctions de remplissage et bouchage.
Le remplissage se fait par soutirage. Un capteur « bouteille remplie » permet de contrôler le niveau de remplissage de façon satisfaisante.
Le bouchage est assuré par un vérin presseur.
Les prises dinformation sur la partie opérative sont représentées par commodité par des galets mécaniques.
Cette présentation se limite au fonctionnement normal du système.
Spécification de la partie commande
Un grafcet correspond à un isolement (dune partie commande par exemple) défini par une frontière et des relations entre ce qui est isolé (intérieur) et lextérieur (les entrées et sorties).
Le graphe complet correspondant à cet isolement prend le nom de grafcet global. Il est souvent intéressant de faire une partition (découpage) de ce grafcet global en éléments plus petits correspondant à la représentation de fonctions particulières. |
Chacun de ces éléments peut être décrit par un (ou plusieurs) grafcet(s) «structurellement indépendant(s)»; on appelle ces éléments : grafcets partiels.
On peut nommer un grafcet partiel de plusieurs manières: par le nom de la fonction décrite (grafcet bouchage) ou par le nom de lune des étapes de ce grafcet (grafcet G20). Dans le second cas on prend souvent une étape initiale de ce grafcet.
On peut remarquer sur cette figure que, indépendamment des fonctions décrite par les grafcets, il existe trois entités (graphes) séparés, cest-à-dire non liés graphiquement entre eux. Chacun de ces grafcets est appelé grafcet connexe.
On peut effectuer sur le système de remplissage de bouteilles une partition fonctionnelle en trois postes:
poste davance;
poste de remplissage;
poste de bouchage.
Chacun de ces postes sera décrit par un grafcet.
La figure montre un exemple de partition en trois grafcets : G0, G10 et G20.
Pour obtenir un fonctionnement équivalent à celui du grafcet « unique », il faut synchroniser ces grafcets au moyen de variables détapes.
On peut noter sur cette figure que :
le nombre détapes est plus grand que celui du grafcet unique (ce qui est sans grande importance dans le cadre des réalisations utilisant des matériels actuels, et dautant quun grafcet ayant moins détapes nest pas forcément plus simple à lire et donc à utiliser);
la synchronisation nest pas très simple;
la vérification de léquivalence avec le grafcet unique nest pas évidente. Cependant lintérêt de la représentation multigraphe est très grand en exploitation et maintenance des systèmes. Pour une intervention sur la fonction bouchage, par exemple, il suffit de sintéresser au grafcet G20.
Ordres de forçage de situation
Il est souvent nécessaire de pouvoir forcer une situation dune PC quelle que soit la situation en cours. Cest le cas notamment lorsque la PC est défaillante, ou lors dune demande darrêt de sécurité.
Écrire un ordre de forçage implique une différence de niveau de hiérarchie de forçage entre grafcet forçant et grafcet forcé.
Le forçage est un ordre interne dont lexécution est prioritaire sur les règles dévolution du GRAFCET.
Le grafcet forcé ne peut évoluer tant que lordre de forçage est présent.
Symbole. UTE 03-191.
F / identificateur du grafcet forcé > { situation forcée}
Exemple :
Le forçage ci-dessus: active les étapes 12 et 23 de GT1 et désactive toutes les autres étapes de ce grafcet.
Remarque : Le progiciel dautomatisme Automgen utilise une syntaxe légèrement différente, le signe > est remplacé par : Le double rectangle nest pas réalisable avec Automgen. Afin dindiquer quel est le graphe forcé on utilise un numéro détape de celui-ci Syntaxe : F 12 : {14,25} indique que les étapes 14 et 25 du graphe contenant létape 12 sont forcées |