1
F.Anceau, CNAM, 12 mai 2005, transp 1
GrafcetGrafcet
INTRODUCTIONAUX
GRAFCET
INTRODUCTIONAUX
GRAFCET
http://lmi17.cnam.fr/~anceau/Doc.html
F.Anceau, CNAM, 12 mai 2005, transp 2
GrafcetGrafcet
GRAFCETGRAFCET
Formalisme de description et de conception des commandes d'automatismesAcronyme de Graphe Fonctionnel de Commande d'Etape-TransitionCréé en 1977 par un groupe de travail de l'AFCET (Association Française pour la Cybernétique Economique et Technique)Normalisé:– en France juin 1982 (NFC 03-190)– International Electrotechnical Commitee
• 1988 (IEC 848)• 1993 (IEC 1131.1)
Inspiré des Réseaux de PétriTrès utilisé pour la programmation des automatismes industriels
2
F.Anceau, CNAM, 12 mai 2005, transp 3
GrafcetGrafcet
Processus IndustrielProcessus Industriel
CommandesEtats
Dispositifdecommande
Processusindustriel
F.Anceau, CNAM, 12 mai 2005, transp 4
GrafcetGrafcet
Application industrielleApplication industrielle
Le formalisme du Grafcet est utilisé pour décrire un processus et sa commande à différent niveaux de leur conception– spécification fonctionnelle– spécification précise
Il exprime et traduit le cahier des charges de manière non ambiguëIl améliore– La compréhension– La conception– La maintenance
Le programme de commande de l'ordinateur de commande d'un processus (ou d'un automate programmable) peut être directement compilé à partir d'un Grafcet
3
F.Anceau, CNAM, 12 mai 2005, transp 5
GrafcetGrafcet
Formalisme tout-ou-rienFormalisme tout-ou-rien
Le Grafcet ne concerne que des commandes et des capteurs TOUT-OU-RIEN (automatismes)
ex:– marche – arrêt d'un moteur– une température au dessus, ou au
dessous, d'un seuil
F.Anceau, CNAM, 12 mai 2005, transp 6
GrafcetGrafcet
Exemple de GrafcetExemple de Grafcet
1
Attente
Lampe allumée
Bouton appuyé
Bouton relâché
ETAPE INITIALE
TRANSITION
LIAISON
0
ETAPE ACTION
TEST
4
F.Anceau, CNAM, 12 mai 2005, transp 7
GrafcetGrafcet
Exemple (1)Exemple (1)
Faire cuire un œuf
– Remplir une casserole d'eau– Prendre un œuf– Le percer (au bon bout!)– Mettre l'œuf dans l'eau– Mettre le chauffage– Dès que l'eau bout, attendre 3 minutes– Couper le chauffage– Vider l'eau– Prendre l'œuf
F.Anceau, CNAM, 12 mai 2005, transp 8
GrafcetGrafcet
Exemple (2)Exemple (2)
Séparer les actions des tests
– Remplir une casserole d'eau• Casserole pleine?
– Prendre un œuf• Œuf pris?
– Le percer (au bon bout!)• Œuf percé?
– Mettre l'œuf dans l'eau– Mettre le chauffage
• L'eau bout-elle?– Compter le temps
• 3 minutes?– Couper le chauffage– Vider l'eau
• Casserole vide?– Prendre l'œuf
• Œuf pris?
5
F.Anceau, CNAM, 12 mai 2005, transp 9
GrafcetGrafcet
Exemple (3)Exemple (3)
Alternance des actions et des tests
– Remplir une casserole d'eau• Casserole pleine?
– Prendre un œuf• Œuf pris?
– Le percer (au bon bout!)• Œuf percé?
– Mettre l'œuf dans l'eau• OK
– Mettre le chauffage• L'eau bout-elle?
– Rien• Attendre 3 minutes?
– Couper le chauffage• OK
– Vider l'eau• Casserole vide?
– Prendre l'œuf• Œuf pris?
F.Anceau, CNAM, 12 mai 2005, transp 10
GrafcetGrafcet
Exemple (4)Exemple (4)
Grafcet correspondant:
1
0
2
3
4
5
6
7
8
9
Remplir casserole
Prendre œuf
Percer l'œuf
Mettre œufdans l'eau
Mettre chauffage
Couper chauffage
Vider casserole
Prendre l'œuf
Départ
Casserole pleine?
Ebulition?
Attendre 3mn
Casserole vide?
Œuf pris?
Œuf percé?
Œuf pris?
6
F.Anceau, CNAM, 12 mai 2005, transp 11
GrafcetGrafcet
EtapesEtapes
Représentent chaque pas de l'automatismeGénéralement numérotées (ou nommées)L'étape initiale est marquée différemment (double cadre)Une étape correspond à un ensemble d'actionsPeuvent être:– Actives (marquées d'un point)– Inactives
F.Anceau, CNAM, 12 mai 2005, transp 12
GrafcetGrafcet
ActionsActions
Tout-ou-rienex: marche / arrêt d'un moteurDifférent types:– Permanentes (pendant toute la durée
d'activation de l'étape)– Impulsionnelles
• de faible durée, par ex. un choc• des transitions, par ex. mise en
marche ou arrêt d'un moteurex:
A+ pour la mise en marcheA- pour l'arrêt
Peuvent être conditionnelles– Par une condition booléenne– Par une durée
7
F.Anceau, CNAM, 12 mai 2005, transp 13
GrafcetGrafcet
TransitionsTransitions
Matérialisent le passage de l'activité d'une, ou plusieurs, étapes amont à une, ou plusieurs, autres étapes avalLeur franchissement est IMMEDIATOn leur associe des conditions de franchissement (appelées réceptivités)
F.Anceau, CNAM, 12 mai 2005, transp 14
GrafcetGrafcet
RéceptivitésRéceptivités
Conditions BOOLEENNES sur des variables tout-ou-rien ou comparées à un seuil.ex: lorsqu'un niveau atteint une valeur déterminée.Temporelles: Elle ne sont vraies qu'après un certain temps d'activité d'une étape donnée (souvent celle qui précède)ex: 5s après l'activation de l'étape 7
8
F.Anceau, CNAM, 12 mai 2005, transp 15
GrafcetGrafcet
Règles de construction d'un Grafcet
Règles de construction d'un Grafcet
Une étape, ou une transition, peuvent avoir plusieurs liaisons amont et plusieurs liaisons avalLes liaisons se font TOUJOURS:– d'une (ou plusieurs) étape(s) vers une
(ou plusieurs) transitions– d'une transition vers une (ou plusieurs)
étape(s)Il n'y a JAMAIS de liens:– d'étape à étape– de transition à transition
F.Anceau, CNAM, 12 mai 2005, transp 16
GrafcetGrafcet
Règles de franchissement d'une
transition
Règles de franchissement d'une
transitionL'activité franchit une transition lorsque:– TOUTES ses étapes amont sont actives– ET que sa fonction de réceptivité est
vraieLors du franchissement d'une transition:– TOUTES ses étapes amont sont
désactivées– TOUTES ses étapes aval sont activées
A un instant donné TOUTES les transitions franchissables sont franchies
9
F.Anceau, CNAM, 12 mai 2005, transp 17
GrafcetGrafcet
Durée d'activation d'une étape
Durée d'activation d'une étape
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
amont.– Elle ne peut s'"écouler" que par un seul lien aval
correspondant à une transition passante.
La durée d'activation d'une étape peut être très courteLa durée d'activation d'une étape est déterminée par sa transition aval dont la réceptivité:– soit assure que l'action associée à l'étape a bien
été effectuée– soit laisse le temps à cette action de s'exécuter
Si une étape est simultanément activée et désactivée, alors elle est activée.
F.Anceau, CNAM, 12 mai 2005, transp 18
GrafcetGrafcet
Franchissement d'une transition (1)
Franchissement d'une transition (1)
v vfranchissement
v vfranchissement
10
F.Anceau, CNAM, 12 mai 2005, transp 19
GrafcetGrafcet
Franchissement d'une transition (2)
Franchissement d'une transition (2)
franchissement
v v
v v
franchissementimpossible
F.Anceau, CNAM, 12 mai 2005, transp 20
GrafcetGrafcet
Franchissement d'une transition
(cas général)
Franchissement d'une transition
(cas général)
franchissementv v
11
F.Anceau, CNAM, 12 mai 2005, transp 21
GrafcetGrafcet
Convergences et divergences
Convergences et divergences
On appelle convergences et divergences des motifs particuliers d'interconnexion des étapes et des transitions qui correspondent à des arrivées et des départs multiples sur les étapes et les transitions.
F.Anceau, CNAM, 12 mai 2005, transp 22
GrafcetGrafcet
Convergences OUConvergences OU
On appelle convergence ou le fait qu'une étape donnée possède plusieurs transitions amont.Symbolisme:
L'activité aval provient d'une étape amont OU de l'autre (ou des deux).
12
F.Anceau, CNAM, 12 mai 2005, transp 23
GrafcetGrafcet
Convergences ETConvergences ET
On appelle convergence et le fait qu'une transition possède plusieurs étapes amont.Symbolisme:
L'activité aval provient de la "fusion" des activités simultanées des deux étapes amont.on note par un double trait la fusion des activités.
F.Anceau, CNAM, 12 mai 2005, transp 24
GrafcetGrafcet
Divergences OUDivergences OU
On appelle divergence ou le fait qu'une étape donnée possède plusieurs transitions aval.Symbolisme:
Il est souhaitable que les réceptivités des deux transitions soient mutuellement exclusives. L'activité est aiguillée dans une étape aval ou dans l'autre. ELLE N'EST PAS DUPLIQUEE.Si elles ne sont pas mutuellement exclusives, l'activité de l'étape amont sera "transférée" aléatoirement d'un côté ou de l'autre.
13
F.Anceau, CNAM, 12 mai 2005, transp 25
GrafcetGrafcet
Divergences ETDivergences ET
On appelle divergence et le fait qu'une transition donnée possède plusieurs étapes aval.Symbolisme:
L'activité se "dédouble" en parallèle dans les deux étapes aval.On note par un double trait le dédoublement de l'activité.
F.Anceau, CNAM, 12 mai 2005, transp 26
GrafcetGrafcet
Liaisons complexes (1)Liaisons complexes (1)
Etapes amont des transitions:– T1 ne possède que E1 comme étape amont– T2 possède E1 et E2 comme étapes amont– T3 ne possède que E2 comme étape amont
T3
E1 E2
T1 T2
14
F.Anceau, CNAM, 12 mai 2005, transp 27
GrafcetGrafcet
Liaisons complexes (2)Liaisons complexes (2)
Etapes aval des transitions:– T1 possède E1 et E2 comme étapes aval– T2 ne possède que E2 comme étape aval
T2
E1 E2
T1
F.Anceau, CNAM, 12 mai 2005, transp 28
GrafcetGrafcet
ExempleExempleTransformations d'actions impulsionnelles en actions permanentesex:
L'étape 5 reste active tant que le chauffage doit être maintenuIl est donc possible de remplacer toutes les actions impulsionnelles par des actions permanentes.
4 Mettre œufdans l'eau
6
5 ChauffageEbulition?
Attendre 3mnaprès l'activation de 6
15
F.Anceau, CNAM, 12 mai 2005, transp 29
GrafcetGrafcet
Chien de garde (1)Chien de garde (1)
Il s'agit de s'assurer que le temps de déroulement d'un sous-processus est inférieur à une durée déterminée (tc).
CG
processusd'alarme
attendre tc aprèsl'activation de CGETnon évènementévènement
suite normale
sous-processus(sa dernière étape doit être active avantt + tc)
T1 T2
F.Anceau, CNAM, 12 mai 2005, transp 30
GrafcetGrafcet
Chien de garde (1)Chien de garde (1)
Principe du vol d'activité:Si le processus se poursuit normalement:– L'activité de CG est "annulée" par la
convergence et qui précède T1– Le processus normal se poursuit.
En cas de dépassement de temps:– L'activité du processus à surveiller est
"annulée" par la convergence et qui précède T2.
– Le processus se poursuit par une alarme.
16
F.Anceau, CNAM, 12 mai 2005, transp 31
GrafcetGrafcet
ExempleExemple
Description du comportement d'un piéton traversant une rue:
Il faut prendre en compte le cas où le piéton traverse la chaussée avant que le feu piéton ne passe au rouge!
0
1
2
3
Départ (sur le trottoir)
Marcher v1
Courir
Marcher v2
feu piéton vert
feu piéton rouge
trottoir atteint
F.Anceau, CNAM, 12 mai 2005, transp 32
GrafcetGrafcet
Exemple modifiéExemple modifié
Que se passe-t-il si le piéton atteint le trottoir exactement au même instant que le feu piéton passe au rouge?(passage aléatoire à l'étape 2 ou à l'étape 3)
0
2
3
Départ (sur le trottoir)
Marcher v1
Courir
Marcher v2
feu piéton vert
feu piéton rouge
trottoir atteint
trottoiratteint
1
17
F.Anceau, CNAM, 12 mai 2005, transp 33
GrafcetGrafcet
Exemple correctExemple correct
Les réceptivités des transitions qui possèdent une étape amont commune sont devenues mutuellement exclusives
0
2
3
Départ (sur le trottoir)
Marcher v1
Courir
Marcher v2
feu piéton vert
feu piéton rouge ET trottoir NON atteint
trottoir atteint
trottoiratteint
1
F.Anceau, CNAM, 12 mai 2005, transp 34
GrafcetGrafcet
Réceptivités temporellesRéceptivités temporelles
Les réceptivités temporelles provoquent des attentes. Elles sont notées t/i/n– i étape dont l'activité déclenche l'attente.– n durée de l'attente après le DEBUT de
l'activité de l'étape i.
ex:
La transition sera passante:• 5 secondes après le début de
l'activité de l'étape 2• ET si m est vraie
2
3
(t/2/5s).m
18
F.Anceau, CNAM, 12 mai 2005, transp 35
GrafcetGrafcet
Actions temporiséesActions temporisées
Elles ne durent qu'un certain temps, lorsque l'étape est activée.L'étape reste active une fois l'action terminée
n Action T= 5s
F.Anceau, CNAM, 12 mai 2005, transp 36
GrafcetGrafcet
Actions conditionnellesActions conditionnelles
Elles ne sont exécutées que si l'étape est active ET la condition est vraie.L'étape est active même si la condition est fausse.
n si (condition)action
19
F.Anceau, CNAM, 12 mai 2005, transp 37
GrafcetGrafcet
ExempleExemple
Pour éviter des accidents, le démarrage d'une machine demande que l'on appuie pendant au moins 5 secondes sur son bouton "départ".
0
1
bouton appuyé
(t/1/5s) ETbouton appuyé
boutonNON
appuyé
F.Anceau, CNAM, 12 mai 2005, transp 38
GrafcetGrafcet
Attention!Attention!
Une action continue RESTERA ACTIVEE si seulement l'une des conditions d'une réceptivité complexe devient vraie.
exemple: l'ascenseur ci-dessous a toutes les chances de crever le plafond si son moteur chauffe!
n Moteur (montée)
Etage atteintET
température < Tmax
20
F.Anceau, CNAM, 12 mai 2005, transp 39
GrafcetGrafcet
Macro-étapeMacro-étape
Remplace une séquence de Grafcet par un simple étape.La séquence doit n'avoir QU'UN point d'entrée et QU'UN point de sortie.
17
17.1
17.2
17.3
F.Anceau, CNAM, 12 mai 2005, transp 40
GrafcetGrafcet
Miveaux de GrafcetMiveaux de Grafcet
Niveau 1 (Spécifications)Niveau 2 (Réalisation)Les Grafcets ne traitent que des fonctionnements normaux. Le GEMMA (Guide d'étude des Modes de Marche et d'Arrêt) traite les cas de défaillance.
21
F.Anceau, CNAM, 12 mai 2005, transp 41
GrafcetGrafcet
Niveau 1Niveau 1
Ne traite que du comportement "logique" de l'applicationIgnore les contraintes spécifiques des capteurs et actionneurs réelsLes actions et les réceptivités sont données par des PHRASES
ex:– Mise en marche du moteur M12– L'eau a-t-elle atteint le niveau Ref?
F.Anceau, CNAM, 12 mai 2005, transp 42
GrafcetGrafcet
Niveau 2Niveau 2
Décrit le fonctionnement REEL de l'automatisme.Tient compte des actionneurs et des capteurs REELS.Les actions et les réceptivités sont données sous la forme d'équations logiques sur les signaux réels
ex– A+ – b ou (non C)
22
F.Anceau, CNAM, 12 mai 2005, transp 43
GrafcetGrafcet
Systèmes complexesSystèmes complexes
Les systèmes industriels complexes sont souvent décomposables en sous-systèmes plus simples.Chaque sous-système constitue un automatisme indépendant qui peut être décrit par un Grafcet particulier.Les sous-systèmes sont souvent répétitifs, ils sont donc décrits par des Grafcets rebouclés.Les sous-systèmes doivent être couplésentre eux:– Pour échanger des produits ou des
matières.– Pour tenir compte d'éventuels conflits.– ………….
F.Anceau, CNAM, 12 mai 2005, transp 44
GrafcetGrafcet
Couplage des GrafcetCouplage des Grafcet
Les Grafcets peuvent être couplés de différentes manières:– Par le processus lui-même
(capteurs communs à plusieurs sous-systèmes)
– Par l'échange de signaux booléens– Par des transports d'activité via
des liens entre les Grafcetsélémentaires (via des convergences et divergences ET)
La commande des sous-systèmes peut être implantée sur un ou plusieurs automates.
23
F.Anceau, CNAM, 12 mai 2005, transp 45
GrafcetGrafcet
Synchronisation entre Grafcet
Synchronisation entre Grafcet
Le couplage entre plusieurs Grafcet signifie que leurs déroulements doit être synchronisé.Les mécanismes de synchronisation sont toujours délicats. Ils sont souvent la source de problèmes.Une synchronisation peut être utilisée:– soit pour échanger des produits ou des
matières.On parle alors de schémas de "producteurs-consommateurs".
– soit pour tenir compte de contraintes dues à des ressources uniques.On parle alors de schémas de "mutuelle exclusion".
– soit pour réaliser des "rendez-vous" entre des organes ou des produits
F.Anceau, CNAM, 12 mai 2005, transp 46
GrafcetGrafcet
Rendez-vousRendez-vous
Les rendez-vous sont utilisés pour mettre en rapport, par exemple: un produit et un transporteur.La réalisation d'un rendez-vous se fait en utilisant les propriétés des convergences et divergences ET.
processus A processus B
24
F.Anceau, CNAM, 12 mai 2005, transp 47
GrafcetGrafcet
Schéma deproducteur- consommateur
Schéma deproducteur- consommateur
Un tel mécanisme de synchronisation est toujours bi-directionnel:ex:– On échange des produits dans un sens et des
contenants vides dans l'autreIl se décompose toujours en deux échanges élémentaires, successifs et de sens opposés.Chaque échange élémentaire est un rendez-vous, par exemple entre un produit réalisé et un processus de consommation libre.Un schéma producteur-consommateur doit obéir à un schéma, appelé protocole.par exemple: "poignée de main"
F.Anceau, CNAM, 12 mai 2005, transp 48
GrafcetGrafcet
Protocole"poignée de mains"
Protocole"poignée de mains"
A
élaborationd'un produit
produit prêt
attente
élaborationd'un nouveau
produit
attente
consommation du produit
consommationterminée
attente
B
25
F.Anceau, CNAM, 12 mai 2005, transp 49
GrafcetGrafcet
Echanges élémentairesEchanges élémentaires
Peuvent être:– des rendez-vous (convergence-
divergence ET)– l'utilisation de capteurs communs– l'utilisation d'actions de signalisation
testées par l'autre processus– l'utilisation d'attentes qui correspondent
à une estimation de la durée d'un échange
F.Anceau, CNAM, 12 mai 2005, transp 50
GrafcetGrafcet
ExempleExemple
Transfert de matière entre deux convoyeurs
attentechariot C2plein
capteur arrivéechariot C1 plein
arrivéechariot C1
plein
td sec.
départchariot C2
actionbooléenne
attentechariot C2
vide
chariot C1 enzone de déch.
départchariot C1
arrivéechariot C2vide
capteur arrivéechariot C2 vide
capteur arrivéechariot C1 plein
attentechargement
Convoyeur C1
Convoyeur C2
26
F.Anceau, CNAM, 12 mai 2005, transp 51
GrafcetGrafcet
Schéma de mutuelle exclusion
Schéma de mutuelle exclusion
Utilisé pour l'attribution d'une ressource unique.Exemple: Une voie uniqueChaque Grafcet accède à cette ressource par une séquence exécutée en mutuelle exclusion.La gestion de cette ressource se fait via l'attribution d'un jeton qui peut être représenté par une activité.Le fonctionnement des divergences OUnon exclusives correspond à l'attribution de tels jetons
F.Anceau, CNAM, 12 mai 2005, transp 52
GrafcetGrafcet
Mutuelle exclusionMutuelle exclusion
processus A processus B
actionsmutuellement
exclusives
ressource
27
F.Anceau, CNAM, 12 mai 2005, transp 53
GrafcetGrafcet
Optimisation des processus
Optimisation des processus
Comme tous les formalismes de programmation, les Grafcets permettent plusieurs variantes et options pour l'automatisation d'un processus donné.La mécanique, et plus précisément les capteurs, sont source de pannes.Il existe une tendance à simplifier le processus quitte à compliquer sa commande.La décomposition en sous-processus de la commande d'un processus complexe permet d'améliorer sa compréhension d'ou sa maintenance.
F.Anceau, CNAM, 12 mai 2005, transp 54
GrafcetGrafcet
TransformationGrafcet programme C
TransformationGrafcet programme C
#define Actif 1#define Nactif 0#define N <nb d'étapes>
int i;/* Etats passés, courants et futurs des étapes*/int EtapeP[N], Etape[N], EtapeF[N];int n1,........inp; /* valeurs des entrées externes*/
/* initialisation de l'état des étapes à inactif*/for(i=0;i<N;i++)
EtapeP[i]=Etape[i]=EtapeF[i]=Nactif;
Etape[0]=EtapeF[0]=Actif; /* Etape initiale active*/
while(1){/*traitement des étapes*/...............if(!EtapeP[i]&&Etape[i]){
<lancement des actions permanentes>;<lancement des actions transitoires>;}
...............
28
F.Anceau, CNAM, 12 mai 2005, transp 55
GrafcetGrafcet
TransformationGrafcet programme C
TransformationGrafcet programme C
/*lecture des entrées*/in1=<lecture entrée 1>;.............inp=<lecture entrée p>;.............
/*traitement des transitions*/................if(Etapes_amont(t)&&Receptivite(t)&&EtapesF_amont(t)){<arrêt des actions des étapes amont>;Set_EtapesF_amont(t,Nactif);Set_EtapesF_aval(t,Actif);
…………}.................
/*Changement effectif d'activation des étapes*/for(i=0;i<N;i++){EtapeP[i]=Etape[i];Etape[i]=EtapeF[i];}
}
F.Anceau, CNAM, 12 mai 2005, transp 56
GrafcetGrafcet
TransformationGrafcet programme C
TransformationGrafcet programme C
Le tableau EtapeP[] mémorise les états précédents des étapes.EtapeP[i] Etape[i] EtapeF[i] se comportent comme un registre à décalageLa détection du début de l'activation des actions permanentes et du lancement des actions transitoires, se fait par (!EtapeP[i]&&Etape[i])Le test des EtapeF[<amont>] dans la simulation d'une transitions est pour s'assurer que celle-ci n'est pas en concurrence dans une divergence OU avec une autre transition (non exclusive) qui aurait déjà annulé l'activité (future) des mêmes étapes amont. Le choix aléatoire est remplacé par la préférence de la première transition rencontrée.