Cours GRAFCET
Sommaire
Les notions de base
I - introduction
II - définitions
III - exemple simple
IV - règles d'évolution
V - configurations courantes
1 - liaisons
2 - actions
3 - réceptivités
VI Exercices types
Séquences au choix
Séquences parallèles
Regroupement d'étapes
Reprise de séquence
Synchronisation de séquences
priorité
travail à la chaîne
Partage de ressource
VII Extensions GRAFCET
VIII Matérialisation du GRAFCET
logique câblée
logique programmée
IX GEMMA
définition
exemple
I - introduction
1. Structure d'un système automatisé
Un système automatisé se compose de deux parties qui coopèrent:
-une partie opérative constituée du processus à commander, des actionneurs qui
agissent sur ce processus et des capteurs permettant de mesurer son état .
-une partie commande qui élabore les ordres pour les actionneurs en fonction des
informations issues des capteurs et des consignes. Cette partie commande peut être
réalisée par des circuits cablés, ou par des dispositifs programmables (automates,
calculateurs)
2. Exemple
2ème cas
1er cas
On désire le fonctionnement suivant:
On désire le fonctionnement suivant:
Au repos le chariot est à l’arrêt en A
Tant que le signal m possède la valeur 0, le
chariot est à l’arrêt en A
Au signal m (signal bref) le chariot se
déplace vers B puis revient en A
Si le signal m prend la valeur 1 le chariot se
déplace sauf s’il se trouve en B
On ne peut plus établir dans ce cas la
table de vérité liant les commandes Av
On peut établir dans ce cas la table de vérité
et Ar aux variables binaires a, b, m
liant la commande Av aux variables binaires
a, b, m et on obtient la fonction Av= m./b
En effet pour m=0,a=0,b=0 on peut
avoir 2 cas : Av=1,Ar=0 à l’aller ou
La partie commande possède dans ce cas une
Av=0,Ar=1 au retour
structure de type combinatoire
La commande dans ce cas est de type
séquentiel
3. Cahier des charges d'un automatisme logique
Le cahier des charges décrit:
-les relations entre la partie commande et la partie opérative
-les conditions d’utilisation et de fonctionnement de l’automatisme
Le fonctionnement d’un automatisme séquentiel peut être décomposé en un certain
nombre d’étapes. Le passage (ou transition) d’une étape à une autre étape se fait à
l’arrivée d’un évènement particulier (réceptivité) auquel le système est réceptif.
Le GRAFCET (Graphe de Contrôle Etape-Transition) est un outil graphique
normalisé (norme internationale depuis 1987) permettant de spécifier le cahier des
charges d’un automatisme séquentiel. On peut utiliser 2 niveaux successifs de
spécifications:
GRAFCET niveau1: spécifications fonctionnelles. On décrit l’enchaînement des
étapes sans préjuger de la technologie.
GRAFCET niveau2: on ajoute les spécifications technologiques et opérationnelles
Conçu au départ comme outil de spécification du cahier des charges, le GRAFCET est
devenu également un outil pour la synthèse de la commande et un langage de
programmation des automates programmables
II - définitions
Un Grafcet est composé d'étapes, de transitions et de liaisons.
Une LIAISON est un arc orienté (ne peut être parcouru que dans un sens). A une
extrémité d'une liaison il y a UNE (et une seule) étape, à l'autre UNE transition. On la
représente par un trait plein rectiligne, vertical ou horizontal. Une verticale est
parcourue de haut en bas, sinon il faut le préciser par une flèche. Une horizontale est
parcourue de gauche à droite, sinon le préciser par une flèche.
Une ETAPE correspond à une phase durant laquelle on effectue une ACTION
pendant une certaine DUREE (même faible mais jamais nulle). L'action doit être
stable, c'est à dire que l'on fait la même chose pendant toute la durée de l'étape, mais
la notion d'action est assez large, en particulier composition de plusieurs actions, ou à
l'opposé l'inaction (étape dite d'attente).
On représente chaque étape par un carré, l'action est représentée dans un rectangle à
gauche, l'entrée se fait par le haut et la sortie par le bas. On numérote chaque étape par
un entier positif, mais pas nécessairement croissant par pas de 1, il faut simplement
que jamais deux étapes différentes n'aient le même numéro.
Si plusieurs liaisons arrivent sur une étape, pour plus de clarté on les fait arriver sur
une barre horizontale, de même pour plusieurs liaisons partant de l'étape. Cette barre
horizontale n'est pas une nouvelle entité du Grafcet, elle fait partie de l'étape, et ne
représente qu'un "agrandissement" de la face supérieure (ou inférieure) de l'étape.
Une étape est dite active lorsqu'elle correspond à une phase "en fonctionnement", c'est
à dire qu'elle effectue l'action qui lui est associée. On représente quelquefois une étape
active à un instant donné en dessinant un point à l'intérieur.
Une TRANSITION est une condition de passage d'une étape à une autre. Elle n'est
que logique (dans son sens Vrai ou Faux), sans notion de durée. La condition est
définie par une RECEPTIVITE qui est généralement une expression booléenne
(c.à.d avec des « ET » et des « OU ») de l'état des CAPTEURS.
On représente une transition par un petit trait horizontal sur une liaison verticale. On
note à droite la réceptivité. Dans le cas de plusieurs liaisons arrivant sur une
transition, on les fait converger sur une grande double barre horizontale, qui n'est
qu'une représentation du dessus de la transition. De même pour plusieurs liaisons
partant sous une transition.
III - exemple simple
Une barrière est commandée selon les conditions suivantes:
Si la barrière est fermée (capteur "_positiona_" activé ) et si on appuie sur le bouton
marche (même brièvement) la barrière s'ouvre jusqu'en B (capteur "_positionb_") puis
se referme.
La figure ci-dessous montre le GRAFCET de la partie commande ainsi que la partie
opérative.
IV - règles d'évolution
La modification de l'état de l'automatisme est appelée évolution, et est régie par 5
règles :
R1 : Les étapes INITIALES sont celles qui sont actives au début du
fonctionnement. On les représente en doublant les côtés des symboles. On appelle
début du fonctionnement le moment où le système n'a pas besoin de se souvenir de ce
qui c'est passé auparavant (allumage du système, bouton "reset",...). Les étapes
initiales sont souvent des étapes d'attente pour ne pas effectuer une action dangereuse
par exemple à la fin d'une panne de secteur.
R2 : Une TRANSITION est soit validée, soit non validée (et pas à moitié validée).
Elle est validée lorsque toutes les étapes immédiatement précédentes sont actives
(toutes celles reliées directement à la double barre supérieure de la transition). Elle ne
peut être FRANCHIE que lorsqu'elle est validée et que sa réceptivité est vraie.
Elle est alors obligatoirement franchie.
transition non validée
transition validée
transition franchie
R3 : Le FRANCHISSEMENT d'une transition entraîne l'activation de TOUTES
les étapes immédiatement suivantes et la désactivation de TOUTES les étapes
immédiatement précédentes (TOUTES se limitant à 1 s'il n'y a pas de double barre).
R4 : Plusieurs transitions SIMULTANEMENT franchissables sont
simultanément franchies (ou du moins toutes franchies dans un laps de temps
négligeable pour le fonctionnement). La durée limite dépend du "temps de réponse"
nécessaire à l'application (très différent entre un système de poursuite de missile et
une ouverture de serre quand le soleil est suffisant).
R5 : Si une étape doit être à la fois activée et désactivée, elle RESTE active. Une
temporisation ou un compteur actionnés par cette étape ne seraient pas réinitialisés.
Cette règle est prévue pour lever toute ambiguïté dans certains cas particuliers, par
exemple :
sur le front montant
du capteur on a
l'évolution ci-
contre ===>
5 - configurations courantes
1 - liaisons
2 - actions
3 - réceptivités
4 - réduction d'un GRAFCET
1- différents types de liaisons
divergence en OU : Convergence en OU :
si etape 0 active Si étape 1 active
et si i1=1 seul et i1 =1, i2=0
alors désactivation de 0 alors activation de 7
activation étape 5 et désactivation de 1
6 inchangée. 2 inchangée
si i1=1 et i2=1, lorsque 0 devient active, alors Si 1 et 2 active et i1=1, i2=1 alors
désactivation 0, activation 5et 6. (règle 4) désactivation 1 et 2, activation 7
Divergence en ET : Convergence en ET :
si 12 active Si 13 et 14 actives
et si i1=1 et i1=1
alors désactivation de 12 alors activation de 19
et activation de17 et 18 et désactivation de 13 et 14
saut en avant (si i1=1 alors.....) Autres boucle (répéter.... jusqu'à i1=1)
possibilités avec
des OU
2 - différents types d'actions associées aux étapes
(on notera Xi la variable binaire associée à l'étape n°i: Xi=1 si étape active)
action continue
on effectue A pendant toute
la durée de l'activité de
l'étape 1
action mémorisée
A commence avec le
début de l'étape4 et
se termine avec le
début de l'étape 7
action conditionnelle
on effectue A
si l'étape 1 est active
ET si b=1
action temporisée
pendant l'activité de
l'étape3 , A débute au bout
de 2s , B se termine au
bout de 4s
3 - Différents types de réceptivités associées aux transitions
Les conditions de transition associées à chaque transition peuvent se présenter sous
différentes formes:
-expression littérale par exemple: pompe P en marche ET (vanne Va ouverte ou Vb
fermée)
-expression booléenne par exemple: P.(Va + Vb)
-représentation graphique (logigramme, schéma à contact)
-occurence d’un évènement (par exemple front montant d’une variable a)
-expression temporelle
La condition peut faire intervenir l’état d’une étape i (représenté par la variable Xi )
ou des variables numériques
Dans tous les cas, le résultat de la condition est une valeur booléenne qui prend la
valeur 1, “vrai”, ou la valeur 0, “faux”.
Franchissement sur niveau
transition
transition transition toujours utilisation de
franchissable si
franchissable si franchissable si variables numériques
étape4 ou étape5
X0=1 et p.(va+vb)=1 X8=1 dans la réceptivité
actives
Franchissement sur front
transition franchissable transition franchissable
quand a passe de 0 à 1 quand a passe de 1 à 0
Temporisation
4- Réduction d'un GRAFCET
si la réceptivité
r2 reste vraie
pendant toute
l'activité de
l'étape 4 le
GRAFCET peut
être simplifié en
utilisant des
actions
conditionnelles
==>
EXEMPLE:
l'appui sur m provoque les
déplacements simultanés des
chariots 1 et 2 vers b1 et b2.
Lorsque les 2 chariots sont arrivés,
le chariot 1 revient, puis on a le
retour du chariot 2
solution:
on peut faire une 1° réduction:
puis une 2°:
1 - priorité
Une navette transporte un par un les produits fabriqués par 3 lignes de fabrication
indépendantes vers un tapis roulant d'évacuation selon le schéma ci-dessous :
capteurs Actions
G déplacement de la navette vers la
gauche
a1présence pièce sur ligne 1
D déplacement de la navette vers la
a2 présence pièce sur ligne 2
droite
a3 présence pièce sur ligne 3
R1 rotation tapis ligne 1
an présence pièce sur navette
R2 rotation tapis ligne 2
ae présence pièce sur tapis évacuation
R3 rotation tapis ligne 3
p1, p2, p3, pe détecteurs positions de la
Rn rotation tapis navette
navette
en donnant priorité à la ligne la plus éloignée on obtient le GRAFCET ci-dessous dans
lequel:
u1=a1
u2=/a1.a2
u3=/a1./a2.a3
Pour ne pas donner priorité toujours à la même ligne en cas de conflit on peut faire
tourner les priorités en ajoutant un GRAFCET des priorités:
les conditions de choix u1, u2, u3 sont alors données par:
u1= a1.(X16+X17./a2./a3+X18./a3)
u2= a2.(X17+X18./a3./a1+X16./a1)
u3= a3.(X18+X16./a1./a2+X17./a2)
2 - travail à la chaîne
Soit une chaîne de remplissage de bidons d'huile. Un tapis roulant se déplaçant par
saccades, s'arrêtant à chaque nouvel appui de la came sur le capteur finav est alimenté
manuellement sur le poste marqué entrée (de temps en temps il manque des bidons).
Trois postes sont prévus : remplissage (R), bouchage (B) et enfoncement (E).
Un seul capteur ("entrée") détecte la présence d'un bidon en début de chaîne. On
désire faire les 3 opérations simultanément, sauf s'il n'y a pas de bidon sous le poste. Il
n'est pas nécessaire de rajouter des capteurs. On suppose que le tapis est vide lors de
l'initialisation.
Ce premier GRAFCET décrit l'évolution des bidons sur la chaîne:
lorsqu'une étape i est active, il y a un bidon au poste i.
En fonctionnement normal toutes les étapes sont actives.
La première transition est une transition source correspondant à l'entrée
d'un bidon sur la chaîne.
La dernière transition est une transition puits correspondant à la sortie
d'un bidon de la chaîne
Ce deuxième GRAFCET
décrit les commandes des
postes 4,5,6 et la
commande de l'avance de
la chaîne.
Cette méthode utilise au mieux le séquence ment du Grafcet, on peut maintenant
rajouter des capteurs, mais qui n'auront pour fonction que de vérifier le bon
fonctionnement du système. Dans tous les cas similaires, on utilisera cette démarche.
3 - ressource (ou sémaphore)
Deux wagonnets alimentent le skip de déchargement d’un haut-fourneau en
empruntant une voie commune.
Le cycle correspondant à un chariot est le suivant :
-dès que l’opérateur donne l’ordre de " départ cycle " (Dcy), le wagonnet considéré
effectue automatiquement son chargement et démarre au signal fin de chargement
(Fc).
-le wagonnet se dirige ensuite vers la partie commune où il s’arrête à une position
d’attente si la voie commune est occupée, sinon il faut positionner l’aiguillage sur la
position correcte et le chariot continue ;
-arrivé à la position de déchargement automatique, il attend le temps nécessaire avant
de retourner à la position initiale (attente 10s).
-chaque déchargement de wagonnet est comptabilisé en vue d’une gestion journalière.
En utilisant les capteurs et les actions suivantes:
capteur commande
départ wagonnet A _dcya_ avance wagonnet A _ava_
départ wagonnet B _dcyb_ avance wagonnet B _avb_
commande aiguillage sur
position d'attente A _paa_ _aga_
pos A
commande aiguillage sur
position d'attente B _pab_ _agb_
pos B
aiguillage en A _paga_ retour wagonnet A _ara_
aiguillage en B _pagb_ retour wagonnet B _arb_
wagonnett en C _pdc_
fin de déchargement _fdch_
wagonnet A en position de
_pca_
chargement
wagonnet B en position de
_pcb_
chargement
on peut donner par exemple le GRAFCET ci-dessous qui se décompose en:
-un GRAFCET pour la voie A
-un GRAFCET pour la voie B
-un GRAFCET pour déterminer si la voie est libre
La voie commune est une ressource physique que les 2 utilisateurs ne peuvent pas
utiliser en même temps. Dans les problèmes de ce type la disponibilité de la ressource
commune ne peut pas être détectée par un capteur, mais uniquement par l'état du
GRAFCET.
VII Extensions du GRAFCET
1 - macroétapes
Une macro-étape Mi est l'unique représentation d'un ensemble unique d'étapes et de
transitions nommé "expansion de Mi".
Une macro-étape obéit aux règles suivantes:
- l'expansion de ME comporte une étape particulière (et une seule) dite étape d'entrée
et une étape particulière (et une seule) dite étape de sortie.
- l'étape d'entrée a la propriété suivante: tout franchissement d'une transition amont de
la macro-étape, active l'étape d'entrée de son expansion.
- l'étape de sortie a la propriété suivante: elle participe à la validation des transitions
aval de la macro-étape.
- en dehors des transitions amont et aval de ME, il n'existe aucune liaison structurale
entre, d'une part une étape ou une transition de l'expansion ME, et d'autre part, une
étape ou une transition n'appartenant pas à ME.
2 - forçages
Pour désigner un Grafcet, il suffit de faire référence à une des étapes
composant ce Grafcet.
Par exemple pour désigner ce Grafcet nous parlerons du Grafcet 100,
du Grafcet 101 ou encore du Grafcet 102.
Forçage d'un Grafcet selon une liste d'étapes actives
Syntaxe: "F<Grafcet>:{<liste d'étapes actives>}"
Le Grafcet ainsi désigné sera forcé à l'état défini par la liste des étapes actives se
trouvant entre accolades. Si plusieurs étapes doivent être actives alors il faut les
séparer par le caractère "," (virgule). Si un Grafcet doit être forcé à l'état vide (aucune
étape active) alors aucune étape ne doit être précisée entre les deux accolades.
Exemples :
"F10:{}" force toutes les étapes du Grafcet 10 à 0.
"F0:{4,8,9,15}" force toutes les étapes du Grafcet 0 à 0 sauf les étapes 4,8,9 et 15 qui
seront forcées à 1.
Lorsque l'étape 200 est active les étapes 100
et 102 sont forcée à 1 et l'étape 101 est
forcée à 0;
Attention le GRAFCET 100 ne pourra
évoluer à partir de l'état forcé que lorsque
200 sera désactivée
Mémorisation de l'état d'un Grafcet
Syntaxe: "G<Grafcet>:<mot>"
Cette commande mémorise l'état d'un Grafcet dans un mot de n bits
Exemples:
"G0:mot1" mémorise l'état actuel du Grafcet 0 dans mot1.
"G10:mot2{1,2}" mémorise l'état du Grafcet 10, dans lequel seules les étapes 1 et 2
sont actives dans mot2.
Forçage d'un Grafcet à partir d'un état mémorisé
Syntaxe: "F<Grafcet>:<mot1>"
Force le Grafcet avec l'état mémorisé à partir du mot précisé.
Exemple: "G0:mot1" mémorise l'état actuel du Grafcet 0
"F0:mot1" restaure cet état
Figeage d'un Grafcet
Syntaxe: "F<Grafcet>" Fige un Grafcet : interdit toute évolution de celui-ci.
Exemple: "F100" fige le Grafcet 100
Matérialisation du GRAFCETen
logique câblée
Le Grafcet peut nous permettre de réaliser la partie commande d'un système
automatisé à l'aide de composants électroniques, électriques ou pneumatiques (portes
logiques et bistables) reliés par câblage
La fonction bistable (ou bascule, ou mémoire)
GRAFCET du bistable
fonctionnement du bistable
Le bistable est un
circuit séquentiel
élémentaire comportant
2 entrées:
S = set = marche
R = reset = arrêt
et une sortie qui
mémorise le dernier
ordre reçu. Selon le
comportement obtenu
lorsque l'on a en même
temps marche et arrêt
on a 4 types de
bistables dont les
équations logiques sont
données ci-contre.
Exemple de bistables dans différentes technologies
bistable électronique
distributeur pneumatique bistable
bistable électrique
Principe de la réalisation câblée:
Le principe de la réalisation câblée est d'utiliser un bistable par étape. Une étape est
activée si l'étape précédente est active et si la réceptivité d'entrée est vraie. Ceci
entraîne que dans le schéma l'entrée de mise en marche d'un bistable est une fonction
ET entre la sortie du bistable précèdent et la réceptivité. Cette condition pourrait
servir à arrêter le bistable précèdent (cas de bistables synchronisés) mais pour éviter
les aléas de fonctionnement on arrêtera le bistable précèdent par la sortie du bistable
que l'on vient de mettre en marche. Cette méthode fonctionne dans une très grande
majorité de cas, nous traiterons les cas litigieux plus loin dans ce document.
Exemple:
GEMMA
Le GEMMA (Guide d'Etude des Modes de Marche et d'Arrêt), guide graphique
élaboré par l'ADEPA (Agence pour le développement de la productique appliquée),
est un outil complémentaire au GRAFCET qui permet d'exprimer de façon claire et
complète les besoins en modes de marche d'un système automatisé.
On peut classer les modes de marche en 3 grandes familles:
Famille F: procédures de fonctionnement
Famille A: procédures d'arrêt
Famille D: procédures de défaillance
Dans chaque famille on peut distinguer plusieurs états pour la partie opérative:
états de fonctionnement:F1 F2 F3 F4 F5 F6 F7
états d'arrêt: A1 A2 A3 A4 A5 A6 A7
états de défaillance: D1 D2 D3
Mise en oeuvre du GEMMA
Parmi les états proposés par le guide on
choisit ceux qui sont nécessaires pour la
machine et on précisera le nom de chacun
des états et des commentaires éventuels, à
l'intérieur du "rectangle-état"
correspondant.
Les arcs de liaison entre états sont utilisés
pour préciser les informations de passage
d'un état à un autre. On peut passer d'un
état à un autre:
1. avec une condition d'évolution:
elle est portée sur la liaison
orientée entre états; elle peut être
liée à l'action d'un bouton du
pupitre de commande ou à l'état
d'un capteur.
2. sans condition explicite
Les besoins en boutons poussoirs et en
capteurs peuvent alors être prévus
EXEMPLE
Reprenons l'exemple du dispositif de tri traité plus haut
Un dispositif automatique destiné à trier des caisses de deux tailles différentes se
compose d’un tapis amenant les caisses, de trois poussoirs et de deux tapis
d’évacuation.
Le poussoir P1 pousse les petites caisses devant le poussoir P2 qui à son tour les
transfère sur le tapis 2, alors que les grandes caisses sont poussées devant le poussoir
P3, ce dernier les évacuant sur le tapis 3.
Pour effectuer la sélection des caisses, un dispositif de détection placé devant le
poussoir P1 permet de reconnaître sans ambiguïté le type de caisse qui se présente.
Les modes de marche à considérer sont les suivants:
marche automatique
initialisation automatique de la partie opérative
marche manuelle: des boutons de commande manuelle doivent permettre de
démarrer le cycle aller/retour de chaque poussoir Pi
arrêt d'urgence
On peut décrire tout d'abord les modes de marche souhaité par un GEMMA:
On peut, à partir de ce GEMMA faire un GRAFCET pilotant les différents modes de
marche:
La première branche de ce GRAFCET décrit les états: arrêt dans état initial,
fonctionnement normal, arrêt demandé en fin de cycle.
La deuxième branche concerne l'initialisation automatique de la partie opérative.
La troisième branche commande la marche manuelle.
L'arrêt d'urgence pouvant intervenir dans n'importe quel état de la machine, on utilise
un GRAFCET indépendant: une transition source conduit à une étape d'initialisation
de tous les autres GRAFCET par forçage (l'utilisation d'une transition source simplifie la
solution, mais si l'automate utilisé ne l'accepte pas, on peut ajouter une étape initiale et reboucler sur
cette étape).
Le cycle automatique est décrit par le GRAFCET ci-dessous. Le cycle est exécuté
lorsque le grafcet principal est dans l'étape marche automatique (étape X2).
L'étape X10 donne l'information fin de cycle au GRAFCET principal
La marche manuelle est décrite par le GRAFCET ci-dessous. Les commandes
manuelles sont autorisées lorsque le GRAFCET principal est dans l'étape marche
manuelle (étape X4).
L'intérêt du GEMMA est d'imposer une décomposition de la commande, ce qui
permet de modifier certains modes de marche sans reconcevoir l'ensemble des
GRAFCET.
Par exemple si on souhaite lors de l'arrêt d'urgence, introduire un cycle de
dégagement reculant tous les poussoirs, il suffit d'ajouter le GRAFCET ci-dessous,
sans modifier les autres.