You are on page 1of 28

Grafcet Grafcet

GRAFCET
GRAFCET

Formalisme de description et de
conception des commandes
d'automatismes
INTRODUCTION
INTRODUCTION Acronyme de Graphe Fonctionnel de
AUX
AUX Commande d'Etape-Transition
GRAFCET
GRAFCET Cr en 1977 par un groupe de travail de
l'AFCET (Association Franaise pour la
Cyberntique Economique et Technique)
Normalis:
en France juin 1982 (NFC 03-190)
International Electrotechnical Commitee
1988 (IEC 848)
1993 (IEC 1131.1)
F. Anceau Inspir des Rseaux de Ptri
anceau@cnam.fr Trs utilis pour la programmation des
automatismes industriels
http://lmi17.cnam.fr/~anceau/Doc.html

F.Anceau, CNAM, 12 mai 2005, transp 1 F.Anceau, CNAM, 12 mai 2005, transp 2

1
Grafcet Grafcet

Processus
Processus Industriel
Industriel Application
Application industrielle
industrielle

Le formalisme du Grafcet est utilis


pour dcrire un processus et sa
commande diffrent niveaux de leur
conception
Processus spcification fonctionnelle
industriel spcification prcise
Il exprime et traduit le cahier des
charges de manire non ambigu
Il amliore
Etats Commandes La comprhension
La conception
La maintenance
Dispositif Le programme de commande de
de l'ordinateur de commande d'un
commande processus (ou d'un automate
programmable) peut tre directement
compil partir d'un Grafcet

F.Anceau, CNAM, 12 mai 2005, transp 3 F.Anceau, CNAM, 12 mai 2005, transp 4

2
Grafcet Grafcet

Formalisme
Formalisme tout-ou-rien
tout-ou-rien Exemple
Exemple de
de Grafcet
Grafcet

Le Grafcet ne concerne que des


commandes et des capteurs ETAPE INITIALE
TOUT-OU-RIEN (automatismes)

ex: 0 Attente
marche arrt d'un moteur
TRANSITION
une temprature au dessus, ou au
dessous, d'un seuil Bouton appuy
ETAPE ACTION

1 Lampe allume

TEST
Bouton relch

LIAISON

F.Anceau, CNAM, 12 mai 2005, transp 5 F.Anceau, CNAM, 12 mai 2005, transp 6

3
Grafcet Grafcet

Exemple
Exemple (1)
(1) Exemple
Exemple (2)
(2)

Faire cuire un uf Sparer les actions des tests

Remplir une casserole d'eau


Remplir une casserole d'eau Casserole pleine?
Prendre un uf Prendre un uf
uf pris?
Le percer (au bon bout!)
Le percer (au bon bout!)
Mettre l'uf dans l'eau uf perc?
Mettre le chauffage Mettre l'uf dans l'eau
Ds que l'eau bout, attendre 3 minutes Mettre le chauffage
L'eau bout-elle?
Couper le chauffage Compter le temps
Vider l'eau 3 minutes?
Prendre l'uf Couper le chauffage
Vider l'eau
Casserole vide?
Prendre l'uf
uf pris?

F.Anceau, CNAM, 12 mai 2005, transp 7 F.Anceau, CNAM, 12 mai 2005, transp 8

4
Grafcet Grafcet

Exemple
Exemple (3)
(3) Exemple
Exemple (4)
(4)
Alternance des actions et des tests
Grafcet correspondant:
Remplir une casserole d'eau
Casserole pleine?
Prendre un uf 0 5 Mettre chauffage
uf pris?
Dpart Ebulition?
Le percer (au bon bout!)
uf perc? 1 Remplir casserole 6
Mettre l'uf dans l'eau
Casserole pleine? Attendre 3mn
OK
Mettre le chauffage 2 Prendre uf 7 Couper chauffage
L'eau bout-elle?
Rien uf pris?

Attendre 3 minutes? 3 Percer l'uf 8 Vider casserole


Couper le chauffage
Casserole vide?
OK uf perc?

Vider l'eau 4 Mettre uf


9 Prendre l'uf
dans l'eau
Casserole vide?
uf pris?
Prendre l'uf
uf pris?

F.Anceau, CNAM, 12 mai 2005, transp 9 F.Anceau, CNAM, 12 mai 2005, transp 10

5
Grafcet Grafcet

Etapes
Etapes Actions
Actions

Reprsentent chaque pas de Tout-ou-rien


l'automatisme ex: marche / arrt d'un moteur
Gnralement numrotes (ou Diffrent types:
nommes) Permanentes (pendant toute la dure
d'activation de l'tape)
L'tape initiale est marque
Impulsionnelles
diffremment (double cadre)
de faible dure, par ex. un choc
Une tape correspond un ensemble des transitions, par ex. mise en
d'actions marche ou arrt d'un moteur
Peuvent tre: ex:
A+ pour la mise en marche
Actives (marques d'un point) A- pour l'arrt
Inactives Peuvent tre conditionnelles
Par une condition boolenne
Par une dure

F.Anceau, CNAM, 12 mai 2005, transp 11 F.Anceau, CNAM, 12 mai 2005, transp 12

6
Grafcet Grafcet

Transitions
Transitions Rceptivits
Rceptivits

Matrialisent le passage de l'activit Conditions BOOLEENNES sur des


d'une, ou plusieurs, tapes amont une, variables tout-ou-rien ou compares
ou plusieurs, autres tapes aval un seuil.
Leur franchissement est IMMEDIAT ex: lorsqu'un niveau atteint une valeur
dtermine.
On leur associe des conditions de
franchissement (appeles rceptivits) Temporelles: Elle ne sont vraies
qu'aprs un certain temps d'activit
d'une tape donne (souvent celle qui
prcde)
ex: 5s aprs l'activation de l'tape 7

F.Anceau, CNAM, 12 mai 2005, transp 13 F.Anceau, CNAM, 12 mai 2005, transp 14

7
Grafcet Grafcet

Rgles
Rgles de
de construction
construction Rgles
Rgles de
de
d'un
d'un Grafcet
Grafcet franchissement
franchissement d'une
d'une
transition
transition
Une tape, ou une transition, peuvent
avoir plusieurs liaisons amont et L'activit franchit une transition
plusieurs liaisons aval lorsque:
Les liaisons se font TOUJOURS: TOUTES ses tapes amont sont actives
d'une (ou plusieurs) tape(s) vers une ET que sa fonction de rceptivit est
(ou plusieurs) transitions vraie
d'une transition vers une (ou plusieurs) Lors du franchissement d'une
tape(s) transition:
Il n'y a JAMAIS de liens: TOUTES ses tapes amont sont
d'tape tape dsactives
de transition transition TOUTES ses tapes aval sont actives
A un instant donn TOUTES les
transitions franchissables sont
franchies

F.Anceau, CNAM, 12 mai 2005, transp 15 F.Anceau, CNAM, 12 mai 2005, transp 16

8
Grafcet Grafcet

Dure
Dure d'activation
d'activation d'une
d'une Franchissement
Franchissement d'une
d'une
tape
tape transition
transition (1)
(1)

L'activit d'une tape ne peut tre


"multiple". Il ne peut y avoir "cumulation"
d'activit dans une tape.
Elle peut provenir d'un ou de plusieurs liens franchissement
amont. v v
Elle ne peut s'"couler" que par un seul lien aval
correspondant une transition passante.
La dure d'activation d'une tape peut tre
trs courte
La dure d'activation d'une tape est
dtermine par sa transition aval dont la franchissement
rceptivit:
v v
soit assure que l'action associe l'tape a bien
t effectue
soit laisse le temps cette action de s'excuter
Si une tape est simultanment active et
dsactive, alors elle est active.

F.Anceau, CNAM, 12 mai 2005, transp 17 F.Anceau, CNAM, 12 mai 2005, transp 18

9
Grafcet Grafcet

Franchissement
Franchissement d'une
d'une Franchissement
Franchissement d'une
d'une
transition
transition (2)
(2) transition
transition
(cas
(cas gnral)
gnral)

v v
franchissement
impossible

v franchissement v

v v

franchissement

F.Anceau, CNAM, 12 mai 2005, transp 19 F.Anceau, CNAM, 12 mai 2005, transp 20

10
Grafcet Grafcet

Convergences
Convergences et
et Convergences
Convergences OU
OU
divergences
divergences

On appelle convergences et On appelle convergence ou le fait


divergences des motifs particuliers qu'une tape donne possde plusieurs
d'interconnexion des tapes et des transitions amont.
transitions qui correspondent des Symbolisme:
arrives et des dparts multiples sur les
tapes et les transitions.

L'activit aval provient d'une tape


amont OU de l'autre (ou des deux).

F.Anceau, CNAM, 12 mai 2005, transp 21 F.Anceau, CNAM, 12 mai 2005, transp 22

11
Grafcet Grafcet

Convergences
Convergences ET
ET Divergences
Divergences OU
OU

On appelle convergence et le fait qu'une On appelle divergence ou le fait qu'une tape


transition possde plusieurs tapes amont. donne possde plusieurs transitions aval.
Symbolisme: Symbolisme:

L'activit aval provient de la "fusion" des Il est souhaitable que les rceptivits des deux
activits simultanes des deux tapes amont. transitions soient mutuellement exclusives.
on note par un double trait la fusion des L'activit est aiguille dans une tape aval ou
activits. dans l'autre. ELLE N'EST PAS DUPLIQUEE.
Si elles ne sont pas mutuellement exclusives,
l'activit de l'tape amont sera "transfre"
alatoirement d'un ct ou de l'autre.

F.Anceau, CNAM, 12 mai 2005, transp 23 F.Anceau, CNAM, 12 mai 2005, transp 24

12
Grafcet Grafcet

Divergences
Divergences ET
ET Liaisons
Liaisons complexes
complexes (1)
(1)

On appelle divergence et le fait qu'une


transition donne possde plusieurs E1 E2
tapes aval.
Symbolisme: T1
T2
T3

Etapes amont des transitions:


T1 ne possde que E1 comme tape amont
T2 possde E1 et E2 comme tapes amont
T3 ne possde que E2 comme tape amont
L'activit se "ddouble" en parallle
dans les deux tapes aval.
On note par un double trait le
ddoublement de l'activit.

F.Anceau, CNAM, 12 mai 2005, transp 25 F.Anceau, CNAM, 12 mai 2005, transp 26

13
Grafcet Grafcet

Liaisons
Liaisons complexes
complexes (2)
(2) Exemple
Exemple
Transformations d'actions impulsionnelles en
actions permanentes
ex:
Mettre uf
4 dans l'eau
T1 T2

E1 E2

Ebulition? 5 Chauffage
Etapes aval des transitions:
T1 possde E1 et E2 comme tapes aval 6
T2 ne possde que E2 comme tape aval
Attendre 3mn
aprs l'activation de 6

L'tape 5 reste active tant que le chauffage doit


tre maintenu
Il est donc possible de remplacer toutes les
actions impulsionnelles par des actions
permanentes.

F.Anceau, CNAM, 12 mai 2005, transp 27 F.Anceau, CNAM, 12 mai 2005, transp 28

14
Grafcet Grafcet

Chien
Chien de
de garde
garde (1)
(1) Chien
Chien de
de garde
garde (1)
(1)

Il s'agit de s'assurer que le temps de Principe du vol d'activit:


droulement d'un sous-processus est Si le processus se poursuit
infrieur une dure dtermine (tc). normalement:
L'activit de CG est "annule" par la
convergence et qui prcde T1
sous- Le processus normal se poursuit.
processus CG En cas de dpassement de temps:
(sa dernire
tape doit tre L'activit du processus surveiller est
active avant
t + tc) "annule" par la convergence et qui
attendre tc aprs
l'activation de CG prcde T2.
ET Le processus se poursuit par une
vnement T1 T2 non vnement
processus
alarme.
suite normale
d'alarme

F.Anceau, CNAM, 12 mai 2005, transp 29 F.Anceau, CNAM, 12 mai 2005, transp 30

15
Grafcet Grafcet

Exemple
Exemple Exemple
Exemple modifi
modifi

Description du comportement d'un


piton traversant une rue: 0 Dpart (sur le trottoir)

feu piton vert


0 Dpart (sur le trottoir)
1 Marcher v1
feu piton vert
trottoir feu piton rouge
1 Marcher v1
atteint
2 Courir
feu piton rouge
trottoir atteint
2 Courir

trottoir atteint 3 Marcher v2

3 Marcher v2

Que se passe-t-il si le piton atteint le


Il faut prendre en compte le cas o le piton trottoir exactement au mme instant que le
traverse la chausse avant que le feu piton ne feu piton passe au rouge?
passe au rouge! (passage alatoire l'tape 2 ou l'tape 3)

F.Anceau, CNAM, 12 mai 2005, transp 31 F.Anceau, CNAM, 12 mai 2005, transp 32

16
Grafcet Grafcet

Exemple
Exemple correct
correct Rceptivits
Rceptivits temporelles
temporelles

0 Dpart (sur le trottoir) Les rceptivits temporelles provoquent


des attentes. Elles sont notes t/i/n
feu piton vert i tape dont l'activit dclenche l'attente.
1 Marcher v1 n dure de l'attente aprs le DEBUT de
l'activit de l'tape i.
feu piton rouge ET
trottoir
trottoir NON atteint ex:
atteint
2 Courir 2
trottoir atteint
(t/2/5s).m

3 Marcher v2 3

La transition sera passante:


Les rceptivits des transitions qui 5 secondes aprs le dbut de
possdent une tape amont commune l'activit de l'tape 2
sont devenues mutuellement exclusives ET si m est vraie

F.Anceau, CNAM, 12 mai 2005, transp 33 F.Anceau, CNAM, 12 mai 2005, transp 34

17
Grafcet Grafcet

Actions
Actions temporises
temporises Actions
Actions conditionnelles
conditionnelles

Elles ne durent qu'un certain temps, Elles ne sont excutes que si l'tape
lorsque l'tape est active. est active ET la condition est vraie.
L'tape reste active une fois l'action L'tape est active mme si la condition
termine est fausse.

n n si (condition)
Action T= 5s
action

F.Anceau, CNAM, 12 mai 2005, transp 35 F.Anceau, CNAM, 12 mai 2005, transp 36

18
Grafcet Grafcet

Exemple
Exemple Attention!
Attention!

Pour viter des accidents, le dmarrage Une action continue RESTERA ACTIVEE
d'une machine demande que l'on appuie si seulement l'une des conditions d'une
pendant au moins 5 secondes sur son rceptivit complexe devient vraie.
bouton "dpart".
exemple: l'ascenseur ci-dessous a
toutes les chances de crever le plafond
si son moteur chauffe!
0

bouton appuy

1 n Moteur (monte)

bouton (t/1/5s) ET
NON bouton appuy Etage atteint
appuy ET
temprature < Tmax

F.Anceau, CNAM, 12 mai 2005, transp 37 F.Anceau, CNAM, 12 mai 2005, transp 38

19
Grafcet Grafcet

Macro-tape
Macro-tape Miveaux
Miveaux de
de Grafcet
Grafcet

Remplace une squence de Grafcet par Niveau 1 (Spcifications)


un simple tape. Niveau 2 (Ralisation)
La squence doit n'avoir QU'UN point Les Grafcets ne traitent que des
d'entre et QU'UN point de sortie. fonctionnements normaux. Le GEMMA
(Guide d'tude des Modes de Marche et
d'Arrt) traite les cas de dfaillance.

17.1

17
17.2

17.3

F.Anceau, CNAM, 12 mai 2005, transp 39 F.Anceau, CNAM, 12 mai 2005, transp 40

20
Grafcet Grafcet

Niveau
Niveau 11 Niveau
Niveau 22

Ne traite que du comportement Dcrit le fonctionnement REEL de


"logique" de l'application l'automatisme.
Ignore les contraintes spcifiques des Tient compte des actionneurs et des
capteurs et actionneurs rels capteurs REELS.
Les actions et les rceptivits sont Les actions et les rceptivits sont
donnes par des PHRASES donnes sous la forme d'quations
logiques sur les signaux rels
ex:
Mise en marche du moteur M12 ex
L'eau a-t-elle atteint le niveau Ref? A+
b ou (non C)

F.Anceau, CNAM, 12 mai 2005, transp 41 F.Anceau, CNAM, 12 mai 2005, transp 42

21
Grafcet Grafcet

Systmes
Systmes complexes
complexes Couplage
Couplage des
des Grafcet
Grafcet

Les systmes industriels complexes sont Les Grafcets peuvent tre coupls de
souvent dcomposables en sous-systmes diffrentes manires:
plus simples.
Par le processus lui-mme
Chaque sous-systme constitue un (capteurs communs plusieurs
automatisme indpendant qui peut tre
dcrit par un Grafcet particulier. sous-systmes)
Les sous-systmes sont souvent rptitifs, Par l'change de signaux boolens
ils sont donc dcrits par des Grafcets Par des transports d'activit via
reboucls. des liens entre les Grafcets
Les sous-systmes doivent tre coupls lmentaires (via des convergences
entre eux: et divergences ET)
Pour changer des produits ou des
matires. La commande des sous-systmes
Pour tenir compte d'ventuels conflits. peut tre implante sur un ou
. plusieurs automates.

F.Anceau, CNAM, 12 mai 2005, transp 43 F.Anceau, CNAM, 12 mai 2005, transp 44

22
Grafcet Grafcet

Synchronisation
Synchronisation entre
entre Rendez-vous
Rendez-vous
Grafcet
Grafcet
Le couplage entre plusieurs Grafcet signifie que Les rendez-vous sont utiliss pour mettre en
leurs droulements doit tre synchronis. rapport, par exemple: un produit et un
Les mcanismes de synchronisation sont transporteur.
toujours dlicats. Ils sont souvent la source de La ralisation d'un rendez-vous se fait en
problmes. utilisant les proprits des convergences et
Une synchronisation peut tre utilise: divergences ET.
soit pour changer des produits ou des
matires.
On parle alors de schmas de "producteurs-
consommateurs".
soit pour tenir compte de contraintes dues des
ressources uniques.
On parle alors de schmas de "mutuelle
exclusion".
soit pour raliser des "rendez-vous" entre des
organes ou des produits

processus A processus B

F.Anceau, CNAM, 12 mai 2005, transp 45 F.Anceau, CNAM, 12 mai 2005, transp 46

23
Grafcet Grafcet

Schma
Schma de
de Protocole
Protocole
producteur-
producteur- consommateur
consommateur "poigne
"poigne de
de mains"
mains"
Un tel mcanisme de synchronisation est
toujours bi-directionnel:
ex:
On change des produits dans un sens et des A B
contenants vides dans l'autre
Il se dcompose toujours en deux changes laboration
lmentaires, successifs et de sens opposs. d'un produit
attente
Chaque change lmentaire est un rendez- produit prt
vous, par exemple entre un produit ralis et un consommation
attente du produit
processus de consommation libre.
Un schma producteur-consommateur doit consommation
laboration termine
obir un schma, appel protocole. d'un nouveau
par exemple: "poigne de main" produit attente

F.Anceau, CNAM, 12 mai 2005, transp 47 F.Anceau, CNAM, 12 mai 2005, transp 48

24
Grafcet Grafcet

Echanges
Echanges lmentaires
lmentaires Exemple
Exemple

Peuvent tre: Transfert de matire entre deux convoyeurs


des rendez-vous (convergence-
divergence ET) arrive
l'utilisation de capteurs communs chariot C1 Convoyeur C2
plein
l'utilisation d'actions de signalisation capteur arrive
attente chariot C1 plein arrive
testes par l'autre processus
chariot C2 chariot C2
l'utilisation d'attentes qui correspondent vide vide
une estimation de la dure d'un
capteur arrive attente
change chariot C1 en chariot C2 vide chariot C2
zone de dch. plein

capteur arrive
dpart attente
chariot C1 plein
chariot C1 chargement

action td sec.
boolenne
Convoyeur C1 dpart
chariot C2

F.Anceau, CNAM, 12 mai 2005, transp 49 F.Anceau, CNAM, 12 mai 2005, transp 50

25
Grafcet Grafcet

Schma
Schma de
de mutuelle
mutuelle Mutuelle
Mutuelle exclusion
exclusion
exclusion
exclusion

Utilis pour l'attribution d'une ressource ressource

unique.
Exemple: Une voie unique
Chaque Grafcet accde cette
ressource par une squence excute
en mutuelle exclusion. actions
mutuellement
La gestion de cette ressource se fait via exclusives
l'attribution d'un jeton qui peut tre
reprsent par une activit.
Le fonctionnement des divergences OU
non exclusives correspond
l'attribution de tels jetons

processus A processus B

F.Anceau, CNAM, 12 mai 2005, transp 51 F.Anceau, CNAM, 12 mai 2005, transp 52

26
Grafcet Grafcet

Optimisation
Optimisation des
des Transformation
Transformation
processus
processus Grafcet programme
Grafcet programme C
C
#define Actif 1
Comme tous les formalismes de #define Nactif 0
#define N <nb d'tapes>
programmation, les Grafcets permettent
plusieurs variantes et options pour int i;
l'automatisation d'un processus donn. /* Etats passs, courants et futurs des tapes*/
int EtapeP[N], Etape[N], EtapeF[N];
La mcanique, et plus prcisment les int n1,........inp; /* valeurs des entres externes*/
capteurs, sont source de pannes.
/* initialisation de l'tat des tapes inactif*/
Il existe une tendance simplifier le for(i=0;i<N;i++)
processus quitte compliquer sa EtapeP[i]=Etape[i]=EtapeF[i]=Nactif;
commande. Etape[0]=EtapeF[0]=Actif; /* Etape initiale active*/
La dcomposition en sous-processus
while(1){
de la commande d'un processus /*traitement des tapes*/
complexe permet d'amliorer sa ...............
comprhension d'ou sa maintenance. if(!EtapeP[i]&&Etape[i]){
<lancement des actions permanentes>;
<lancement des actions transitoires>;
}
...............

F.Anceau, CNAM, 12 mai 2005, transp 53 F.Anceau, CNAM, 12 mai 2005, transp 54

27
Grafcet Grafcet

Transformation
Transformation Transformation
Transformation
Grafcet programme
Grafcet programme C
C Grafcet programme
Grafcet programme C
C
/*lecture des entres*/
in1=<lecture entre 1>; Le tableau EtapeP[] mmorise les tats
............. prcdents des tapes.
inp=<lecture entre p>; EtapeP[i]Etape[i]EtapeF[i] se comportent
............. comme un registre dcalage
/*traitement des transitions*/
La dtection du dbut de l'activation des actions
................
permanentes et du lancement des actions
if(Etapes_amont(t)&&Receptivite(t)
&&EtapesF_amont(t)){ transitoires, se fait par (!EtapeP[i]&&Etape[i])
<arrt des actions des tapes amont>; Le test des EtapeF[<amont>] dans la simulation
Set_EtapesF_amont(t,Nactif); d'une transitions est pour s'assurer que celle-ci
Set_EtapesF_aval(t,Actif); n'est pas en concurrence dans une divergence
OU avec une autre transition (non exclusive) qui
} aurait dj annul l'activit (future) des mmes
................. tapes amont. Le choix alatoire est remplac
/*Changement effectif d'activation des tapes*/ par la prfrence de la premire transition
for(i=0;i<N;i++){
rencontre.
EtapeP[i]=Etape[i];
Etape[i]=EtapeF[i];
}
}

F.Anceau, CNAM, 12 mai 2005, transp 55 F.Anceau, CNAM, 12 mai 2005, transp 56

28

You might also like