introduction d'automatismes aux commande d'etape...

28
1 F.Anceau, CNAM, 12 mai 2005, transp 1 Grafcet Grafcet INTRODUCTION AUX GRAFCET F. Anceau [email protected] http://lmi17.cnam.fr/~anceau/Doc.html F.Anceau, CNAM, 12 mai 2005, transp 2 Grafcet Grafcet GRAFCET Formalisme de description et de conception des commandes d'automatismes Acronyme de Graphe Fonctionnel de Commande d'Etape-Transition Créé 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étri Très utilisé pour la programmation des automatismes industriels

Upload: others

Post on 30-Jul-2020

2 views

Category:

Documents


1 download

TRANSCRIPT

1

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

GrafcetGrafcet

INTRODUCTIONAUX

GRAFCET

INTRODUCTIONAUX

GRAFCET

F. [email protected]

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.