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.
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, par exemple, nous mettons en place 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 :

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 :

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 :

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 :

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 :

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 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 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 :

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