Le Grafcet

Si aucun menu à gauche n'apparaît cliquez ici.

Outils de spécification des automatismes industriels:

L’expression « automatismes industriels » (ou Génie automatique) recouvre toutes les activités d’application industrielle des automatismes, le système automatisé étant l’objet industriel sur lequel s’exercent ces activités.

Un système industriel a pour objectif d’apporter 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 d’un système automatisé

Un système peut fonctionner seul ou associé à d’autres systèmes au sein d’un ensemble plus important.

La première frontière est celle qui permet d’isoler le système du milieu avec lequel il interagit; nous nommerons celle-ci: frontière système.

A l’inté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 d’isolement 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 d’intervenants sur un système. On peut les regrouper en deux familles

  • les « utilisateurs » du système, qui ont exprimés ce qu’il doit faire (analyse du besoin) et l’utilisent (exploitation);

  • Les « fournisseurs » du système, qui le définissent (conception), le fabriquent (réalisation) et le montent (intégration)

L’activité de définition de ce que doit faire le système prend le nom de spécification. L’utilité finale d’un système automatisé dépend étroitement de la qualité de sa spécification.

Le GRAFCET

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é d’utilisation 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, à l’origine d’un grand nombre de langages de programmation, ce qui étend son domaine d’utilisation. Pour les distinguer du GRAFCET, on nomme ces langages:

Langages Inspirés (ou orientés) GRAFCET (L.l.G.).

L’outil GRAFCET

Notation afin de distinguer l’outil du résultat de l’opération accomplie avec cet outil, on notera en majuscules et toujours au singulier l’outil GRAFCET, et en minuscules le(s) résultat(s) d’un 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 d’un 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 d’un 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 s’intéresse seulement au fait qu’il 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

  • d’un côté les capteurs qui fournissent les informations d’état de la partie opérative qui seront les ENTRÉES de la commande;

  • de l’autre les actionneurs de la partie opérative qu’il faudra commander. Les ordres de commande de ces actionneurs sont les SORTIES de la partie commande.

Spécification de la partie commande


C’est 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 l’instant.

C’est-à-dire qu’elle permet, à partir d’un 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 d’un 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 d’un seuil d’une variable analogique est logique).

L’entré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.

L’ordre « LEVER BARRIERES » est associé à l’étape 3, ce qui indique que l’action de lever les barrières est exécutée si l’étape 3 est active. C’est la sortie S3 qui est associée à l’étape 3.

Règles

Le GRAFCET est un modèle qui obéit à des règles. Si l’une de ces règles n’est pas respectée, le graphe obtenu n’est 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 n’est évidemment pas suffisant pour que la description du système soit forcément satisfaisante (signification correcte).

RÈGLE DE SYNTAXE

L’alternance é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 initiale

la situation initiale d’un grafcet caractérise le comportement initial de la partie commande vis-à-vis de la partie opérative, de l’opé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 d’une transition

Une transition est dite validée lorsque toutes les étapes immédiatement précédentes reliées à cette transition sont actives. Le franchissement d’une transition se produit :

  • lorsque la transition est VALIDEE;

  • ET QUE la réceptivité associée est VRAIE.

Lorsque ces DEUX conditions sont réunies, la transition devient FRANCHISSABLE et est alors OBLIGATOIREMENT FRANCHIE.

Règle 3

Évolution des étapes actives

Le franchissement d’une transition entraîne simultanément l’activation 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 s’ajoute 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 d’autres structures utilisables dans le respect des règles de base. Chacun peut donc « personnaliser » son style d’écriture de grafcets.

Séquence

C’est un ensemble ordonné d’étapes possédant la propriété suivante :

  • dans une séquence, chaque étape n’est Suivie que par une seule transition et chaque transition par une seule étape.

Une séquence élémentaire peut ne contenir qu’une é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)

Situation d’un grafcet

Les règles 2 et 3 d’évolution du GRAFCET décrivent le franchissement des transitions et les évolutions des étapes actives.

La situation d’un grafcet est définie par l’ensemble des étapes actives à un instant donné. Les évolutions d’activité d’étapes d’un grafcet se font globalement de situation à situation.

Définition

On nomme situation à un instant donné d’un grafcet l’ensemble 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).

Notation

(1, 10,23) est la situation à l’instant d’un grafcet donné, dont les étapes 1, 10 et 23 sont actives, à cet instant.

Lecture d’un grafcet

Un grafcet décrit le comportement dynamique d’un 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 l’intérieur avec l’exté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.

Notation

la variable X3 représente l’état logique de l’étape 3 :

Remarque : il n’est pas astucieux d’appeler 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é.

Représentation des actions :

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 l’activation de l’étape.

Représentations graphique normalisées CEI/IEC 848 décembre 1988

a:   

C: Action conditionnelle (Conditional)
D:   Action retardée (Delay)
L:    Action limitée dans le temps (Time Limited)
P:    Action impulsionnelle (Pulse)
S:    Début d’action mémorisée (Set)
R:   Fin d’action mémorisée (Reset)

b: contient la déclaration symbolique ou littérale décrivant l’action.

c: indique le repère de référence du signal de fin d’exécution correspondant.

Frontières de description.

Le GRAFCET formalise le comportement des SORTIES booléennes en fonction des ENTREES booléennes.

La norme autorisant l’utilisation d’actions retardées et/ou mémorisées, une nouvelle frontière apparaît.


 

Actions conditionnelles

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 d’une action conditionnelle.

Remarque 1 : les actions conditionnelles sont difficiles à maîtriser, notamment en ce qui concerne la fin de l’action. Il est donc conseillé de les utiliser dans des cas d’actions particulières, comme la signalisation par un voyant d’un défaut susceptible d’apparaître dans une étape donnée.

Remarque 2 : Le progiciel « Automgen » permet d’utiliser 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 l’action 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 d’actions ou d’ensemble d’actions. Pour cela il existe dans le GRAFCET des variables temporisées liées aux activités des étapes. Il est possible d’utiliser une fonction opérative temporisation interne à l’automate ou un temporisateur externe. Nous étudions ici la fonction interne.

  • Variable temporisée normalisée

La variable S = t1s/e/t2s, est définie par l’opé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.



  • Utilisation pratique

On se limite souvent à la variable temporisée réduite suivante :

t1s/Xi qui devient vraie t secondes après l’activation 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 d’utilisation 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 d’utilisation 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 d’automatisme 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.

Action mémorisée

Pour qu’une action reste maintenue lorsque l’étape qui l’a 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 d’action 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 l’activation de l’étape 39 et doit cesser dès l’activation 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 d’action (set) et l’ordre de fin d’action (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 ».


Fonction opérative comptage

Le comptage peut avoir plusieurs finalités :

Le comptage peut être réalisé par une fonction opérative comptage interne à l’automate programmable ou par un composant externe. Nous étudions la fonction comptage interne à l’automate.

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 :

  • remise à zéro (RAZ COMPTEUR) (RCOMPTEUR)

  • augmenter de un (INCREMENTER) (+COMPTEUR)

  • diminuer de un (DECREMENTER) (-COMPTEUR)

  • assigner une valeur (COMPTEUR = valeur)

Les test réalisables sont :

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é.

Exemple :

Système dans son environnement

Ce système s’inscrit dans une chaîne d’embouteillage, il correspond à l’isolement 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 d’information 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

Partition d’un grafcet

Un grafcet correspond à un isolement (d’une partie commande par exemple) défini par une frontière et des relations entre ce qui est isolé (intérieur) et l’exté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 l’une 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, c’est-à-dire non liés graphiquement entre eux. Chacun de ces grafcets est appelé grafcet connexe.

Représentation multigraphe

On peut effectuer sur le système de remplissage de bouteilles une partition fonctionnelle en trois postes:

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 :

Ordres de forçage de situation

Il est souvent nécessaire de pouvoir forcer une situation d’une PC quelle que soit la situation en cours. C’est le cas notamment lorsque la PC est défaillante, ou lors d’une demande d’arrê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é.

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 d’automatisme Automgen utilise une syntaxe légèrement différente, le signe > est remplacé par :

Le double rectangle n’est pas réalisable avec Automgen.

Afin d’indiquer 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