GRAFCET

Les réseaux de Petri dans l’industrie
ou les GRAFCET


Comme annoncé dans l’article précédent, je consacre celui-ci à la place des réseaux de Petri dans l’industrie.

Lors de la conception d’un système automatisé, le cahier des charges doit montrer de façon claire les interactions entre la partie commande et la partie opérative. Dans les cas complexes, un outil graphique normalisé devient un atout indispensable. Dans ce contexte, le GRAFCET voit le jour, avec pour but la spécification des cahiers des charges.

Bref historique


C’est en 1977 que la société AFCET définit le Graphe Fonctionnel de Commande Étapes-Transitions (GRAFCET). D’abord conçu pour la spécification, son développement est tel qu’il devient également un langage de programmation pour automates programmables.

Les ressemblances


Les réseaux de Petri sont l’ancêtre de cet outil industriel. Ils ne sont toutefois pas comparables, dans la mesure où les réseaux de Petri servent à la modélisation, tandis que le GRAFCET est orienté programmation. On peut néanmoins considéré ce dernier comme un réseau de Petri interprété. Retirant les spécifications de réceptivité, d’action et de temps, on retrouve effectivement la structure sous-jacente des réseaux de Petri.

Un GRAFCET est composé, comme un réseau de Petri, d’états, de transitions et d’arcs. Pour conditions, le GRAFCET utilise deux notions : la validité (les états la précédant sont actifs), ajoutée à une condition booléenne. Cette dernière ne contient pas de notion de temps. La norme impose des graphies particulières dont je supprime le détail. De même, je ne m’étendrai pas sur le fonctionnement du graphe, très similaire de celui des réseaux de Petri.

Une illustration cependant pour voir les ressemblances et différences entre les deux modèles.

Réseau de PetriGRAFCET


Les divergences


Dans l’objectif de pouvoir rendre la structure du langage plus proche de l’implémentation réelle, les industriels ont rapproché les réseaux de Petri du fonctionnement de l’électronique. De cette façon, on note l’utilisation des bascules RS (bascule Reset-Set). Les transitions des réseaux de Petri sont des compteurs, tandis que celles des GRAFCET sont des bascules (des interrupteurs à signal).

Autre particularité proche de l’électronique, l’état d’un GRAFCET est ou actif, ou inactif, un réseau de Petri possède, quant à lui, plusieurs niveaux d’activités (plusieurs jetons). On parle dans ce cas de réseaux de Petri binaires ou saufs, c’est-à-dire que chaque place ne contient pas plus d’un jeton. Ce comportement est en réalité forcé par le fonctionnement en bascules RS, l'inconvénient étant que sa bonne modélisation n’est plus assurée. (En effet, on pourrait vérifier sur un réseau de Petri que les places ne comptent jamais plus d'un jeton, tandis qu'un GRAFCET masque l'information en gardant actif un état re-activé.)

Les GRAFCET sont aussi dits systèmes synchrones, contrairement aux réseaux de Petri, dits asynchrones. Précisons qu’un système est dit synchrone s’il est réglé sur une horloge de base. Du fait du caractère synchrone des GRAFCET, certaines ambigüités peuvent apparaitre. Des transitions qui sont franchissables simultanément sont en effet franchies simultanément. On impose alors la règle suivante pour clarifier la modélisation : un état à la fois activé et désactivé simultanément (sous la même impulsion d’horloge) reste actif. Le caractère asynchrone des réseaux de Petri rend le passage simultané de transitions impossible (le temps étant considéré comme continu, deux évènements n’arrivent jamais en même temps). Cette différence de conception du temps rend leur comportement sensiblement différent. Les conflits ne sont, par exemple, plus systématiques sur un GRAFCET, puisque deux transitions peuvent être franchies en même temps.

Cette différence a l’avantage de rapprocher les GRAFCET du comportement réel d’un automate. Pour utiliser les capacités théoriques des réseaux de Petri, il est cependant possible de concilier ces aspects en imposant qu’un état déjà actif ne puisse être re-activé.

Cette extension des réseaux de Petri fait du GRAFCET un outil bien adapté à la modélisation d’automates utilisant capteurs et actionneurs. Les réseaux de Petri sont, quant à eux, plus adaptés à la la supervision (notion de stocks).

Je vous invite à consulter l’excellent cours de Robert Valette sur le sujet :
http://www.lab.cnrs.fr/cours_automatique/grafcet/sommaire.htm
ainsi que le serveur Grafcet :
http://www.lurpa.ens-cachan.fr/grafcet/grafcet_fr.html

Comments