Le GRAFCET


5 - Outils de description du fonctionnement d'un automatisme

5.3 - GRAFCET

- Concepts et structures de base :

* trois premières règles d'évolution

* étape

- ordre associé à l'état d'une étape

- variable associée à l'état d'une étape

* transition et réceptivité associée

* variables associées : niveau logique, front

* structures de base : aiguillage, parallélisme structural

* prise en compte du temps, explicite (t/étape/durée) ou implicite (comptes-rendus de capteurs)

* macro-étape

 


       Le grafcet est le résultat du travail bénévole d'une commission réunissant, l’AFCET (Association Française pour la Cybernétique Economique et Technique), l’ADEPA (Agence pour le DEveloppement de la Productique Appliquée à l’industrie) des industriels et des universitaires. Cette commission, créée le 26 juin 1975, a défini les bases du grafcet dans son rapport final achevé en avril 1977. Le grafcet a été conçu comme un système unifié d'expression qui n'est la propriété de personne. Dès 1978 le grafcet fait son entrée dans l’éducation Nationale. Il est maintenant le pilier du programme d’Automatique et d'Informatique Industrielle. D’autres outils complémentaires du grafcet ont été créés, le Guide d'Etude des Modes de Marche et d'Arrrêt (GEMMA - 1981), les Technoguides puis les chaînes fonctionnelles.

    Depuis 1988, le grafcet est un outil de description normalisé (Norme C.E.I. 848) qui fonctionne en logique séquentielle. C'est un outil simple mais extrêmement puissant qui permet les représentations fonctionnelles, opérationnelles et technologiques de la plupart des automatismes industriels.

    En 1985, SIEMENS (leader européen des automatismes) adopte le grafcet et le promeut en Allemagne. En 1986 ALLEN & BRADLEY (leader mondial des automates programmables) adopte et développe le grafcet, y compris pour le marché américain.

Remarque : les appellations Sequential Function Chart (SFC) ou Chart utilisées par certains logiciels (PL7-2, Orphée, S5, etc.) correspondent au Grafcet.

L'acronyme grafcet signifie : GRAphe Fonctionnel de Commande Etape Transition.

    Le grafcet est un outil graphique de description du comportement attendu de la Partie Commande. Il décrit les relations à travers la frontière d'isolement de la Partie Commande et de la Partie Opérative d'un système automatisé. L'établissement d'un grafcet suppose la définition préalable :

- du système,

- de la frontière PO-PC, spécifiant la Partie Commande,

- des Entrées et des Sorties de la Partie Commande.

    La description du fonctionnement d'un automatisme logique peut alors être représenté graphiquement par un ensemble :

- d'ETAPES auxquelles sont associées des ACTIONS,

- de TRANSITIONS auxquelles sont associées des RECEPTIVITES,

- de LIAISONS (ou ARCS) ORIENTEES,

Un tel ensemble (GRAPHE ou DIAGRAMME) est appelé grafcet.

Exemple

    Chaque liaison orientée relie une étape à une transition ou une transition à une étape. Un grafcet se lit de haut en bas. Si cette syntaxe n'est pas scrupuleusement respectée, il y aura obligatoirement une erreur dans l'application. Une flèche peut compléter la liaison en indiquant le sens de lecture s’il y a un risque de confusion.

Sur un grafcet on peut rencontrer différents types d’étapes :

 

Etape


 

Etape active


 

Etape initiale


 

Macro-étape


 

Etape d'entrée

(Macro-étape)


 

Etape de sortie

(Macro-étape)


 

Etape encapsulante


 

Etape initiale encapsulante


 

Tâche

  1. Etape

    L'étape correspond à une situation élémentaire ayant un comportement généralement stable. En principe, pendant une étape, les organes de commande ne changent pas d'état. Une étape est soit active soit inactive. L'étape se représente par un carré repéré par une variable alphanumérique placée au centre du carré.

    Lorsqu'une étape est active, on peut le préciser par un point.

    Il existe aussi des étapes sources et des étapes puits. Une étape est appelée "étape source" si elle n’est pas reliée en amont à une transition. De la même façon, une étape est appelée "étape puits" si elle n’est pas reliée en aval à une transition.

Exemples :


Etape source


Etape puits

  1. Etape initiale

    Certaines étapes sont actives en début de fonctionnement du système automatisé (SA). Ce sont les étapes initiales. Elles se représentent par un double carré. Il peut y avoir plusieurs étapes initiales sur un grafcet. Ces étapes peuvent alors être placées n’importe où sur le grafcet. Sur un grafcet à une seule étape initiale, on privilégiera la position haute pour en faciliter la lecture. Sur un grafcet on peut aussi rencontrer une étape initiale source.

 

  1. Macro-étape

    Une macro-étape n’est pas à proprement parler une étape. C’est une représentation unique d’une succession d’étapes et de transitions. On parlera alors d’expansion de macro-étape. Une macro-étape est assimilable, par son fonctionnement, à un déroutement de programme sur interruption. Dans un grafcet, une macro-étape est unique. On ne pourra l'appeler qu'une seule fois. Il peut y avoir plusieurs macro-étapes dans un grafcet.

Structure du déroutement :

  1. Tâche

    Cette étape se différencie de la macro-étape par sa non unicité. Une tâche est un sous-programme et peut être appelée à plusieurs reprises dans un même grafcet. La tâche fait appel à des notions d'antériorité gérées par une matrice d'antériorité un peu complexe à manipuler. En lieu et place de la tâche nous utiliserons des grafcets hiérarchisés plus souples d'emploi. A la rédaction de ce chapitre, la tâche ne fait pas l'objet d'une normalisation.

  1. Etapes encapsulantes

    Il y a encapsulation d'un ensemble d'étapes, dites encapsulées, par une étape, dite encapsulante, si et seulement si lorsque cette étape encapsulante est active, l'une, au moins, des étapes encapsulées est active. Le spécificateur peut utiliser l'encapsulation pour structurer de manière hiérarchique un grafcet.

Exemple de fonctionnement :

L'étape encapsulante 67 possède 2 encapsulations. Ces deux encapsulations sont les grafcets partiels G1 et G2. L'activation de l'étape 67 provoque l'activation des étapes X3:G1 et X4:G2. La désactivation de l'étape 67 provoque la désactivation de toutes les étapes des grafcets partiels G1 et G2. On repère une encapsulation par un grafcet partiel entouré d'un cadre où on place en haut, le nom de l'étape encapsulante (dans notre exemple : 67), en bas le nom du grafcet partiel (dans notre exemple : G1 et G2). Dans notre exemple on constate qu'il n'y a pas d'étape initiale pour les grafcets partiels.

(à suivre...)

  1. Actions simples

    On précise pour chaque étape, à l'intérieur d'un rectangle l’action ou les actions à effectuer lorsque l'étape est active.

Etape avec une action

Etape avec plusieurs actions

 

   Les actions peuvent être de natures diverses, le rectangle peut avoir des dimensions quelconques et comporter plusieurs actions.

  1. Actions conditionnelles

    Certaines actions associées à des étapes peuvent être conditionnées par des contraintes externes ou internes.    

    L'ordre émis peut être :

- soumis à un retard, noté D (Delay ),

- d'une durée limitée, noté L (Limited),

- fugitif, noté P (Ponctual)

- maintenu actif, noté S (Set)

- désactivé, noté R (Reset).

exemple :

Ecriture normalisée

Ecriture courante

    Une transition indique la possibilité d'évolution d'une étape à l'étape suivante.

    A chaque transition on associe une ou des conditions logiques (booléennes) qui traduisent la notion de réceptivité.

La réceptivité est une fonction combinatoire d'informations booléennes telles que :

- états de capteurs,

- impulsion sur un bouton poussoir;

- action d'un temporisateur, d'un compteur;

- état actif ou inactif d'autres étapes, etc.

exemples  :

La réceptivité est vraie lorsque la valeur de la consigne du compteur C = 10.

 

La réceptivité est vraie lorsque le capteur pp1 est actif.

La réceptivité est vraie lorsque l'étape numéro 1 du grafcet G1C est active

Il existe deux cas particuliers :

* Temporisation : Pour faire intervenir le temps dans une réceptivité, il suffit d'indiquer après le repère "t" son origine et sa durée. L'origine sera l'instant de début de l'activation de l'étape déclenchante ou sur un état logique de variable (capteur).

    La notation T/14/5 signifie que la réceptivité sera vraie 5 secondes après l'activation de l'étape repérée 14. La notation normalisée s'écrit 5s/X14. La base de temps par défaut est la seconde. Les autres bases de temps sont des multiples ou des sous multiples de la seconde (1/100 s, 1/10 s, minute, heure, jour, année). Une échéance de temporisation se matérialise sous forme d'échelon

 unitaire ou fonction de Dirac.

* Réceptivité toujours vraie : une telle réceptivité s'écrit "= 1". Le franchissement de cette transition se fera dès que la ou les étapes immédiatement antérieures seront actives sans autre condition.

  • Liaisons orientées

      Les liaisons indiquent les voies d'évolution du grafcet. Dans le cas général, les liaisons qui se font du haut vers le bas ne comportent pas de flèche. Dans les autres cas, on peut utiliser des flèches pour préciser l'évolution du grafcet en cas de risque de confusion.

Le Grafcet fonctionne en suivant 5 règles d'évolution :

L'initialisation précise l'étape ou les étapes actives au début du fonctionnement. On la repère en doublant les côtés des symboles correspondants. Il peut y avoir plusieurs étapes initiales dans un grafcet.

Remarque : Les étapes initiales sont activées inconditionnellement en début de cycle.

    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.

    Elle ne peut être franchie que :

    Lorsqu'elle est validée, et que la réceptivité associée à la transition est vraie.

    Le franchissement d'une transition entraîne l'activation simultanée de toutes les étapes immédiatement suivantes et la désactivation de toutes les étapes immédiatement précédentes.

Exemple : - Cas de transition entre plusieurs étapes -

    Plusieurs transitions simultanément franchissables sont simultanément franchies. (Hors programme)

Si au cours du fonctionnement, une même étape doit être activée et désactivée simultanément, elle reste active. (Hors programme)

Remarque : la durée de franchissement d'une transition ne peut jamais être rigoureusement nulle, même si d'après les règles 3 et 4, elle peut être rendue aussi petite que possible. Il en est de même de la durée d'activation d'une étape. La durée d'activation minimale d'une étape est équivalente à un temps de cycle d'automate (tc), soit tc » 10 ms. La règle 5 se rencontre très rarement.

  • Sélection de séquence et séquences simultanées

    Le méta-modèle grafcet présente deux structures particulières, la sélection de séquence et les séquences simultanées.

  1. Sélection de séquence

    La sélection de séquence dans un grafcet permet de choisir une suite d'étapes plutôt qu'une autre. Cette structure est composée d'une seule étape en amont et de plusieurs transitions en aval qui permettront le choix de la séquence. Elle se représente à l'aide d'un simple trait horizontal. La fin d'une sélection de séquence permet la reprise d'une séquence unique.

Exemples

- début de sélection de séquence :

- fin de sélection de séquence :

  1. Séquences simultanées

    Lorsque l'on souhaite réaliser plusieurs séquences simultanément on utilise cette structure. Elle est composée d'une seule étape et d'une seule transition en amont qui permettent de déclencher simultanément plusieurs séquences d'étapes. Elle se représente à l'aide d'un double trait horizontal. A la fin d'une série de séquences simultanées on retrouve, en général, un double trait suivi d'une seule transition. Attention, c'est le déclenchement des étapes situées immédiatement après le double trait qui est simultané et non l'évolution des séquences. L'évolution de chacune des séquences d'étapes dépendra des conditions d'évolution et des actionneurs utilisés sur la Partie Opérative (compteur, temporisations, états de capteurs,...).

Exemples

- début de séquences simultanées :

- fin de séquences simultanées :

  • Forçage - figeage

  1. Forçage

    Le forçage à 1 des actions (sorties) est un ordre émis par un grafcet de niveau supérieur vers un ou des grafcets de niveau inférieur ayant pour effet d'annuler les actions associées aux étapes de ce ou de ces grafcets. Le forçage à 0 des actions (sorties) est un ordre émis par un grafcet de niveau supérieur vers un ou des grafcets de niveau inférieur ayant pour effet d'annuler les actions associées aux étapes de ce ou de ces grafcets.

Notations : - F/sorties = 0 (annulation générale des sorties (actions)),

                  - F/sorties = 1 (activation des sorties (actions)).

    Le forçage de situation est un ordre émis par un grafcet supérieur vers un grafcet inférieur pour qu’il passe immédiatement de sa situation courante dans une situation imposée sans franchissement de transition.

- forçage dans la situation S=(n, p, q) : F/Gn : (n, p, q),

- forçage dans une situation vide : F/Gn : ().

Remarque : l'ordre de forçage est toujours prioritaire sur les autres conditions d'évolution.

Syntaxe :

  1. Figeage

    Le figeage de la P.O. est un blocage sur place de tous les actionneurs de la P.O. Ce résultat est rendu possible si un choix technologique approprié des pré-actionneurs a été fait.

Notation : - F/P.O. : (*) (figeage P.O. instantané),

- FR/P.O. : (*) (figeage P.O. avec fin des mouvements en cours).

Le figeage de situation : blocage des évolutions du grafcet dans sa situation courante.

- F/Gn : (*).

    Remarque : l'annulation du figeage entraîne la libération du grafcet c’est à dire qu'elle autorise la reprise des évolutions du grafcet figé. Le figeage n'est pas géré par le logiciel Cadepa. Par contre il est possible de le gérer avec un TSX en reprenant le programme traduit par le post-processeur de Cadepa sous le logiciel PL7-2.

Syntaxe :

    La description du fonctionnement attendu d'un système automatisé (SA) se fait par succession de trois points de vue. Le point de vue "système" est le premier décrit, il est le plus proche du cahier des charges fonctionnelles (cdcf). Le point de vue "Partie Opérative" permet de se "rapprocher" du système automatisé et de définir les constituants de la Partie Opérative ainsi que de les interfaçages d'entrée et de sortie. Le troisième est le point de vue "Partie Commande" qui permettra à terme de générer le programme automate.

  1. Postulat du grafcet

Le modèle grafcet exclut formellement la simultanéité d'occurrence de deux événements externes non corrélés.

Exemple : Le cas défini par la réceptivité de la transition ci-dessous ne peut jamais se produire. Les deux fronts montants des variables r0 et p0 étant indépendants, ils ne pourront jamais, sauf cas exceptionnel, avoir lieu en même temps. Si un événement logique attendu devient aléatoire, il est exclu de la logique booléenne. Il provoquerait un blocage du grafcet et donc du programme.

Remarque : la loi de Murphy prend en défaut le postulat du grafcet...(humour)

  1. Principe

Le modèle grafcet impose la simultanéité d'occurrence d'événements internes.

Exemple : la règle N°3 du grafcet.

-1- Pour franchir une transition, il faut que :

- les étapes immédiatement précédentes soient actives,

- la réceptivité associée à la transition soit vraie.

-2- Le franchissement d'une transition entraîne simultanément :

- l'activation des étapes immédiatement suivantes,

- la désactivation de toutes les étapes immédiatement précédentes.

-3- Un grafcet n'est que le reflet de la pensée de l'automaticien, il peut donc y avoir une multitude de grafcets qui répondent à un CDCF donné.