Vous êtes sur la page 1sur 5

Chapitre II

GRAFCET : Rappel et interprétation


I. Introduction :
Le GRAFCET (Graphe de Commande Etape-Transition) est le fruit d’une réflexion
commune entre industriels et universitaires dans le cadre d’une association, l’AFCET
(Association Française des Sciences et Technologies de l’Information et des Systèmes). Cette
réflexion a démarrée en 1975 à partir du constat qu’il n’existait pas de méthode adaptée à
l’évolution de la complexité croissante des automatismes logiques.
L’objectif recherché était d’aboutir à un outil de représentation de cahier des charges
d’un automatisme séquentiel complexe. Le premier rapport de l’AFCET présentant l’outil
GRAFCET date de 1977. Depuis cette date, de nombreux travaux ont été effectués, d’une part
sur le plan théorique pour améliorer et compléter l’outil, et d’autre part sur le plan de la mise
en œuvre pour définir les moyens et les matériels autorisant une synthèse correcte,
essentiellement programmée du Grafcet.
Le Grafcet a été normalisé depuis 1982 (Norme Française NF C 03 190). De plus,
depuis 1988, il existe une norme internationale CEI (IEC 848). Avec l’arrivée des nouvelles
normes internationales (IEC 1131-3 en 1993) et (IEC 60848 en 2002), le Grafcet a perdu son
nom : il s’agit maintenant de parler de « Sequential Function Chart » (SFC).
Le SFC est une représentation graphique d’algorithmes de programmation, intégrant
les notions de parallélisme et de séquentiel. Il s’agit bien sûr du Grafcet dont l’appellation
d’origine française est mise en péril ! Les éléments de base de ce langage sont les étapes,
représentées par des carrés, et les transitions, représentées par des « traits barrés » reliant les
étapes. Chaque étape représente un état stable du processus et chaque transition représente la
condition de passage d’une étape à une autre. Ce mode de représentation est idéal pour décrire
des phénomènes complexes dans le temps car les notions de parallélisme, de rendez vous et
d’exclusion mutuelle sont explicites. C’est probablement le seul langage parallèle qui soit
véritablement normé.

II. GRAFCET : Norme internationale IEC 60848 :


(Voir documents)
III. Interprétation algébrique du GRAFCET :
Un problème se pose lors de la mise en équation d’un Grafcet. En effet, l’objectif
premier du Grafcet était de constituer un outil de modélisation et de représentation du cahier
de charges d’un automatisme logique. Le modèle obtenu devrait être clair, précis et sans
ambiguïté. Par conséquent, lorsqu’un Grafcet a été élaboré par une personne quelconque, il
est impératif que la même interprétation du Grafcet soit faite par n’importe quelle autre
personne. Malheureusement, ni la norme française, ni la norme internationale, ne donnent
d’indications précises sur la façon d’interpréter un Grafcet dans tous les cas de figures
possibles compte tenu de la syntaxe définie dans les textes.
L’objet de la suite de ce chapitre est de surmonter le problème d’interprétation
algébrique du Grafcet en proposant des méthodes de synthèse fiable dans un contexte
industriel.

1. Mise en équation d’un Grafcet :


Le recours à une mise en équation d’un Grafcet peut être justifié, d’une part, si le
langage qui peut être utilisé pour la programmation de l’API n’est plus un SFC (c.à.d. soit LD
ou IL ou FBD), et d’autre part, en absence d’une norme (française ou internationale) relative à
l’interprétation algébrique du Grafcet.
Ces équations sont à la base de la mise en œuvre d’une logique câblée ou d’une
logique programmée. Dans le dernier cas, il faut souvent traduire ces équations en instructions
compatibles avec l’automate programmable choisi par le concepteur.
A chaque étape i est associée une variable interne Xi. Si l’étape est active alors Xi=1 ;
sinon si l’étape est inactive alors Xi=0.
Il y a trois paramètres à considérer pour écrire l’équation générale d’une étape :
 Condition de mise en service (ou « appel », ou « mise à 1 », ou « marche », ou « Set »)
Pour que l’étape i puisse être mise en service, il faut que toutes les transitions qui
précèdent l’étape i soient franchissables. C’est-à-dire : introduire dans l’équation une
condition d’enclenchement de Xi.

 Condition mémoire
Au moment où l’étape i est mise en service, elle met hors service toutes les étapes
précédentes. Il faut introduire dans l’équation une condition mémoire qui permet à
l’étape i de demeurer en service.
 Condition de mise hors service (ou « réponse », ou « mise à 0 », ou « arrêt », ou
« Reset »)
Pour que l’étape i soit à son tour mise hors service au moment où la (les) transition (s)
de sortie de l’étape i devient (deviennent) franchissable (s), il faut introduire dans
l’équation une condition de déclenchement de Xi.

Equation générale d’une étape i

n +1 n
X i = S i + X i Ri + I si Xi est une étape initiale

X i = ( S i + X i ⋅R i ) ⋅ I si Xi est une étape non initiale


Xi : Variable interne associée à l’étape i.
Si : Condition d’enclenchement de l’étape i
Avec S i =∑Cei : Réunion des conditions de franchissement de toutes les

transitions d’entrées de l’étape i.


Ri : Condition de déclenchement de l’étape i
Avec Ri =∑(ou∏ )Csi : Somme ou produit logique des activités de toutes les

étapes de sorties de l’étape i.


I: Variable d’initialisation du dispositif

Remarque :
L’équation d’une d’étape d’un Grafcet est basée sur le principe de fonctionnement
d’un bistable asynchrone de type marche/arrêt à marche prioritaire, et plus précisément, d’une
bascule RS asynchrone. Ce mode de fonctionnement est cohérent avec la règle 5 du Grafcet.

La matrice d’état d’une bascule RS est de la forme :


Si.Ri
Xi 00 01 11 10
0 0 0 1 1
1 1 0 1 1
3. Application aux structures usuelles du grafcet :

3.1. Cas d’une étape de transfert dans une séquence :

Condition d’enclenchement de l’étape i :


i-1 S i = X i −1 ⋅ a
a
Condition de déclenchement de l’étape i :
i R i = X i +1
b
Equation de l’étape i :
i+1 X i = ( X i −1 ⋅ a + X i ⋅ X i +1 ) ⋅ I

3.2. Cas d’une étape de début de sélection :

i-1 Condition d’enclenchement de l’étape i :


a S i = X i −1 ⋅ a

i Condition de déclenchement de l’étape i :


Ri = X j + X k
b c
Equation de l’étape i :
j k X i = (X i −1 ⋅ a + X i ⋅ X j + X k ) ⋅ I
= (X i −1 ⋅ a + X i ⋅ X j ⋅ X k ) ⋅ I

3.3. Cas d’une étape de fin de sélection (étape d’attribution):

Condition d’enclenchement de l’étape i :


j k Si = X j ⋅a + Xk ⋅b
a b
Condition de déclenchement de l’étape i :
R i = X i +1

i Equation de l’étape i :
c X i = ( X j ⋅ a + X k ⋅ b + X i ⋅ X i +1 ) ⋅ I

i+1
3.4. Cas d’une étape de début de parallélisme (étape de distribution) :

i-1
Condition d’enclenchement de l’étape i :
a S i = X i −1 ⋅ a

i Condition de déclenchement de l’étape i :


b Ri = X j ⋅ X k

Equation de l’étape i :
X i = (X i −1 ⋅ a + X i ⋅ X j ⋅ X k ) ⋅ I
j k
= (X i −1 ⋅ a + X i ⋅ (X j + X k )) ⋅ I

3.5. Cas d’une étape de fin de parallélisme (étape de jonction):

Condition d’enclenchement de l’étape i :


j k S i = X j ⋅ X k ⋅a

Condition de déclenchement de l’étape i :


a R i = X i +1

i Equation de l’étape i :
X i = ( X j ⋅ X k ⋅ a + X i ⋅ X i +1 ) ⋅ I
b

i+1

Vous aimerez peut-être aussi