Le Grafcet

Pour décrire comment un système fonctionne étape par étape, pour décrire les différents comportements d’un système automatisé séquentiel, dans le monde de la modélisation fonctionnelle et de l’automatisme industriel, nous pouvons utiliser un GRAphe Fonctionnel de Commande des Etapes et Transitions; appelé tout simplement le Grafcet. Un schéma qui détaille le fonctionnement de notre système et l'analyse en plusieurs étapes distinctes/. Un Grafcet est donc une solution facile à mettre en place si nous le comparons à des objets de notre quotidien.

Définition

Le GRAFCET est un langage graphique utilisé pour décrire le fonctionnement des systèmes automatisés à l’aide d’étapes et de transitions. Cette modélisation graphique permet de représenter clairement les actions d’une machine et les conditions nécessaires pour passer d’une étape à une autre.

Approche du Grafcet

Imaginons le système du feu tricolore (photos ci-dessous de transistors par Maria Ivanova sur Unsplash) : il change du rouge au vert puis à l’orange selon ses conditions de fonctionnement précises, et cela est toujours dans un ordre logique. Le Grafcet fonctionne exactement de cette manière ; c’est tout simplement une représentation visuelle d’un système automatisé ou programmé pour qu'il évolue étape par étape. Chaque étape correspond à un état du système, et chaque transition représente la condition pour passer d'un état à un état suivant; soit d'une étape à une étape suivante.

Feu tricolore

On peut aussi le voir comme un distributeur automatique ; tant que nous n'avons pas inséré une pièce dans la machine, rien ne se passe ! Mais dès que la condition est remplie, la machine réceptionne une pièce, le système change d’état et nous distribue quelque chose en contrepartie; un bombom, une peluche, etc.

Le Grafcet dans l'histoire

Il a été développé grâce au travail d'une commission volontaire composée de représentants de l'AFCET, de l'ADEPA, d’entreprises industrielles et d’universitaires. Cette commission a été créée le 26 juin 1975 et a produit un rapport final en avril 1977, établissant les fondements du Grafcet. En 1982, il a été formalisé par une norme NF C03-190, puis remplacé en 2002 par une nouvelle norme NF EN 60848 (la dernière mise à jour de cette norme toujours en vigeur, date depuis octobre 2013).

Ainsi, les règles d'un GRAFCET sont définies et cadrées par la norme NF EN 60848 telles que :

  • Les symboles du schéma de la modélisation de système ; étapes, transitions et actions,
  • Comment les relier les étapes, les transitions et les actions entre elles,
  • Ainsi les règles de son fonctionnement.

Les différents types de Grafcet

Il existe 3 types de Grafcet, d'après la norme NF, que nous détaillons ci-dessous : 

  • Le Grafcet de niveau 1 : ce type est basé sur la représentation de toutes les parties du système automatisé avant même que notre système soit créé. Autrement dit, le GRAFCET de niveau 1 est un GRAFCET chargé de coordonner entre les données et les actions.
  • Le Grafcet de niveau 2 : ce type est basé sur la technologie des actionneurs (moteurs électriques, vérins, …etc.) et capteurs. Ce qui nous réalise un diagramme séquentiel nous permettant de définir le comportement de la partie commande d’un système automatisé.
  • Le Grafcet de niveau 3 : ce type prend en considération le matériel à utiliser, ou même existant si nous allons réaliser une évolution tels que les automates programmables, les contacteurs, les boutons poussoirs, etc pour la réalisation de la partie de commande. Nous citons, comme exemple, le langage ladder (langage contact) qui peut être utilisé pour la programmation des entrées %I0.0 et des sorties %Q0.0 de notre système automatisé.

Ainsi, pour la réalisation de nos futurs systèmes robotisés, nous allons modéliser le GRAFCET requis, soit de niveau 1, 2 ou 3 selon l’analyse fonctionnelle requise.

Comme un premier exemple, regardons ensemble ce premier schéma qui nous détaille les actions à réaliser par un petit robot :

Un exemple de Grafcet d'une petit robot

Ainsi, à une première lecture, nous pouvons comprendre facilement que notre robot doit avancer jusqu'au point B une fois que le bouton "Start" est actionné, s'arrêter une fois le capteur B est actionné puis reculer jusqu'au point A. Notre robot ne s'arrêtera pas tant que le capteur A n'est pas donc actionné.

Les éléments d'un Grafcet

Un Grafcet est principalement composé d'un ensemble d'étapes et de transitions tel que :

  • Une étape, représentée par un carré, elle peut déclencher des actions et elle peut être active ou inactive.
  • Une transition représente la condition de passage entre deux étapes. Elle se réalise uniquement si l’étape précédente est active et que la condition associée est vraie.

Pour vous expliquer mieux tout cela, nous vous proposons de découvrir ensemble les différents éléments constituant un Grafcet :

Le Grafcet, de quoi est constitué ?

 

Comme nous pouvons ainsi le remarquer, un Grafcet est composé de plusieurs éléments. Nous allons les découvrir dans la suite de notre cours.

L'étape initiale

L’étape initiale est la case, ou l'état, de départ du système. Elle est active dès que notre système est mis en service sans aucune condition. Elle est représentée par un carré avec un double contour et à l'intérieur est indiqué le chiffre 0. L'image ci-dessous nous la présente  :

L'étape initiale dans un Grafcet

Une étape

Une étape représente un état de notre système automatisé. Cet élément peut entraîner des actions et elle peut être sous deux états selon l’évolution de notre programme ; active ou inactive. L'image ci-dessous nous présente comment est modélisée ce bloc :

Une étape dans un Grafcet

Lorsqu'elle est active, un point est ajouté à l'intérieur de la case portant le numéro de l'étape. L'image ci-dessous nous présente un premier exemple :

Modélisation d'une étape active

La transition et la réceptivité

Pour passer d'une étape à une étape, nous aurons besoin d'une transition dans notre modélisation. De ce fait, elle est placée entre deux étapes et elle est franchie seulement si une condition est respectée. Cette condition est appelée la réceptivité. Une transition est modélisée comme suit :

Une transition

Une réceptivité détermine si la transition en cours peut être franchie ou non et elle dépend souvent de la valeur résultante d'un capteur ou d'un événement. Une réceptivité est modélisée comme suit (nous avons mis à côté de la réceptivité une transition pour vous expliquer que les deux sont indissociables) :

La réceptivité dans un Grafcet (associée à une transition)

Une réceptivité peut être toujours valide si elle est notée à la valeur logique 1. Dans ce cas, l'évolution est dite toujours fugace et la transition est valide tant que tu maintiens le bouton (par exemple).

La liaison orientée

Pour relier l'ensemble des éléments précédents, une liaison est nécessaire orientée pour nous indiquer le sens d'évolution et de l'enchaînement des étapes et des transitions. L'image ci-dessous nous présente un premier exemple :

La liaison (orientée)

Les règles de fonctionnement d'un Grafcet

Un Grafcet commence toujours par une étape initiale, représentée par un double carré, qui définit la situation initiale de la partie commande (appelée aussi PC) par rapport à la partie opérative (appelée aussi PO) et correspond à l'ensemble des étapes actives de la solution automatisée. Il dispose aussi d'une liaison orientée de retour afin que le système s'initialise à la fin de son parcours.

Règle 1 : La situation initiale

La situation initiale d'un Grafcet est définie par la case de départ, l'étape de départ qui caractérise le comportement initial de la partie commande par rapport à la partie opérative. D'une manière plus simple, elle correspond aux états de notre système qui sont actifs au moment du démarrage.

Par exemple, reprenons le cas du petit robot qui faisait les allers-retours entre les deux points A et B, la situation initiale de notre machine est l'état repos de notre robot dans sa position n'est ni le point A ni le point B.

Règle 2 : Franchissement d'une transition

Une transition est dite validée lorsque l'étape précédente ou les étapes précédentes sont validées. Une fois que cette condition est validée et que la réceptivité associée passe à la valeur logique vraie, elle sera donc franchie et notre solution peut avancer à la ou les prochaines étapes.

Pour vous expliquer encore davantage, dans un Grafcet, nous pouvons avoir des branches parallèles dont chacune dispose d'une ou plusieurs étapes. Deux cas de figures peuvent se présenter en fonction de la fonction logique associée :

  • OU : La réceptivité associée passe à la valeur logique vraie si le résultat de la dernière étape de l'une des branches parallèles est validé.
  • ET : La réceptivité associée passe à la valeur logique vraie si et seulement si le résultat des différentes étapes de chaque branche parallèle soit validé.

Nous détaillons ci-dessous les différentes formes de structures pour un Grafcet.

Règle 3 : Evolution des étapes

Le passage d'une étape à une étape suivante, ou à plusieurs étapes dans le cas de plusieurs branches parallèles, ne se réalise que si la transition est validée. Ce passage implique ainsi la désactivation de toutes les étapes qui précèdent directement.

Règle 4 : Evolution simultannée

Pour permettre le fonctionnement de deux ou plusieurs branches simultanément, autrement dit, en parallèle ou en même temps, dans un système automatisé, plusieurs actions peuvent être traitées simultanément. Cela permet à plusieurs transitions et actions de se produire en même temps. Dans ce mode de fonctionnement, notre système sera en mesure de réaliser plusieurs tâches en même temps ; soit durant la même fenêtre temporelle.

Règle 5 : Activation et désactivation simultannée d'une même étape

Lorsque plusieurs transitions sont réalisées simultanément, il peut se produire que la même étape soit à la fois activée et désactivée en même temps. Pour assurer la stabilité de notre système automatisé, nous devons mettre en place une règle de priorité pour définir l'activation à prioriser par rapport à la désactivation. Ainsi, dans ce cas, l'étape reste active.

Les structures de base

Dans un Grafcet,  les structures servent à décrire le mode de fonctionnement de notre système automatisé que nous décrivons. Autrement dit, ils organisent le déroulement d'un système automatisé.

Séquence linéaire

C'est la structure la plus simple d'un Grafcet. Les étapes s'enchaînent successivement, les unes après les autres, et le franchissement d'une étape dépend uniquement que de la validation de la réceptivité associée.

Cette séquence est caractérisée par :

  • Une seule étape est active à la fois,
  • Chaque étape est suivie d'une transition
  • Le passage à l’étape suivante dépend uniquement de la réceptivité associée.

Pour comprendre cela, l'exemple ci-dessous présente un Grafcet à séquence linéaire :

Grafcet à séquence linéaire

Divergense OU

Dans un système automatisé, nous sommes parfois amenés à réaliser une série de séquence parmi plusieurs en fonction de notre besoin. Ce bloc de séquence débute par une divergence OU, ce qui permet d'orienter le système vers une seule branche de notre système automatisé en fonction de des différentes valeurs des réceptivités.

La divergence OU se caractérise par :

  • Plusieurs transitions partent d’une même étape,
  • Une seule transition est franchie (celle dont la réceptivité est vraie),
  • Les branches sont alternatives. Une seule branche terminée du bloc est suffisante pour sortir d'une divergence OU.

Convergence OU

Pour finir un bloc de divergence OU, une structure de convergence OU est nécessaire. Elle permet de regrouper plusieurs branches alternatives en une seule.

Cette convergence se caractérise par :

  • Plusieurs branches arrivent vers une même étape,
  • Pour continuer, une seule branche est requise,
  • Les branches ne sont pas simultanées (contrairement à la divergence ET).

Pour vous expliquer la divergence et la convergence OU, nous vous proposons l'exemple ci-dessous :

Grafcet à avec une divergence et convergence OU

Divergense ET

Dans certains systèmes automatisés, il est requis de réaliser plusieurs actions en parallèle et le système ne pourra avancer dans la suite de son traitement que si toutes les branches sont correctement réaslisées. La divergence ET permet ainsi de lancer plusieurs blocs de séquences parallèles à partir d'une même étape.

La divergence ET se caractérise par :

  • La transition avant ce bloc se divise en plusieurs branches,
  • Toutes les branches deviennent actives en même temps,
  • Les actions se font simultanément.

Convergence ET

Pour clôturer un bloc de divergence ET, une structure de convergence ET est mise en place, ce qui permet de synchroniser plusieurs branches parallèles.

Cette convergence se caractérise par :

  • Plusieurs branches arrivent vers une même transition,
  • Sa transition n’est validée que si toutes les branches sont terminées et leurs réceptivités sont actives.

Comme exemple, nous allons prendre le Grafcet ci-dessous qui explique le fonctionnement d'un robot disposant d'une divergence et d'une convergence ET :

Grafcet à avec une divergence et convergence ET

Les boucles répétitives

Dans certains cas, nous sommes amenés à répéter certaines tâches dans une séquence. Pour éviter l'écriture du même bloc d'étape, de transition et de réceptivité, nous pouvons répéter une séquence en indiquant par une flèche vers quelle étape revenir et quelle condition à valider pour quitter ce bloc.

Elle se caractérise par :

  • Le retour vers une étape précédente,
  • Une condition décide quand on est-ce qu'on répète ou on sort de la boucle,
  • Peut concerner une seule étape ou toute une séquence

Pour vous montrer un cas de figure d'une boucle répétitive, nous reprenons le projet de notre robot qui avance vers le point A puis nous allons modifier son séquencement de sorte qu'on le demande d'avancer d'un pas de 0.1m jusqu'au capteur B. Si le capteur B n'est toujours pas activé, il avance toujours. Une fois le capteur B est activé, il tourne vers la droite de 30° avant de s'arrêter. L'image ci-dessous nous explique cela :

Grafcet à avec une boucle répétitive

 

Pour mieux comprendre cela, nous vous proposons un deuxième exemple; notre robot se tourne de 5° en boucle et ne s'arrête que si l'obstacle est évité afin d'avancer au prochain obstacle. Une partie de son Grafcet est modélisé comme ci-dessous :

Grafcet à avec une boucle de reprise

Le saut d'étape

Pour sauter un bloc composé de plusieurs étapes dans un process automatisé, nous pouvons mettre en parallèle à la séquence une transition qui permet de  réaliser ce dépassement composé uniquement d'une transition couplé avec une réceptivité. La coupe ci-dessous nous montre cela :

Grafcet à avec un saut d’étapes

 


< La partie commande La robotique