Accueil > Cours > TD > Automatique > Grafcet > Corrigé Td encapsulation 2

Corrigé Td encapsulation 2

dimanche 9 janvier 2005

Texte du TD

\begin{array}{*{20}c}   \begin{array}{c} etat~;1 \\  fugace \\   \\   \\  \left( \begin{array}{c} X0 \\  X10 \\   \\   \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  \user1{Aprinc = 1} \\  Brpinc = 0 \\  \end{array} \right]}  \\\end{array} \to \begin{array}{*{20}c}   \begin{array}{l} etat~;2 \\   \\   \\   \\  \left( \begin{array}{c} X0 \\   \\   \\   \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  \end{array} \right]}  \\\end{array} \to  \uparrow \user2{marche} \to \begin{array}{*{20}c}   \begin{array}{c} etat~;3 \\  fugace \\   \\   \\  \left( \begin{array}{c} X1 \\   \\   \\   \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  \end{array} \right]}  \\\end{array} \to encapsulation \to \begin{array}{*{20}c}   \begin{array}{l} etat~;4 \\  fugace \\  \left( \begin{array}{c} X1 \\   \\  X100 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  \user1{Avide = 0} \\  \user1{Bvide = 0} \\  \end{array} \right]}  \\\end{array} \to
Aprinc \to \begin{array}{*{20}c}   \begin{array}{l} etat~;5 \\   \\  \left( \begin{array}{c} X1 \\   \\  X110 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to ppm \to \begin{array}{*{20}c}   \begin{array}{l} etat~;6 \\   \\  \left( \begin{array}{c} X1 \\   \\  X120 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to a0 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;7 \\  fugace \\  \left( \begin{array}{c} X1 \\   \\  X125 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to X1/X125 \to

Etat 1 : état initial
Les deux étapes initiales du cycle sont activées (Cf. règle d’initialisation du Grafcet), ici, il n’y a pas d’étapes encapsulantes initiales ;
Cet état conduit à une évolution fugace, en effet la réceptivité suivant X10 est toujours vraie, le franchissement de la transition (transition puits) désactive X10.
Cette étape X10 permet de choisir le premier magasin principale (ici A)
Etat 2 :
Etat stable suivant l’instant initial ;
La transition suivante est franchie au front montant de marche.
Etat 3 : encapsulation
Activation de l’étape encapsulante X1 ;
Cet état est instable, car simultanément les étapes X100 et X200 des grafcets encapsulés G100 et G200 sont activées par l’activation de l’étape encapsulante.
Etat 4 : Evolution des graphes encapsulés
Cet état est fugace (Aprinc est déjà vrai).
Le choix du magasin principal, implique qu’un seul des deux grafcets va évoluer, ici Aprinc=1. Le choix initial est réalisé lors de l’activation de l’étape X10, dès qu’un magasin est vide, l’autre est déclaré principal.
Etat 5 à 7 :
Evolution du cycle de magasinage ;
L’état 7 est fugace, dès que la réceptivité suivant l’étape encapsulante 1 est vraie ici X1/X125 (lire Etape 125 du grafcet encapsulé dans l’Etape 1) on quitte cet état.

\begin{array}{*{20}c}   \begin{array}{l} etat~;8 \\  fugace \\  \left( \begin{array}{c} X2 \\   \\   \\   \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to encapsulation\begin{array}{*{20}c}   \begin{array}{l} etat~;9 \\   \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X20 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to ppa \to \begin{array}{*{20}c}   \begin{array}{l} etat~;10 \\   \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X21 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to SA \to \begin{array}{*{20}c}   \begin{array}{l} etat~;11 \\   \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X210 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 0 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to 3s/X210
 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;12 \\   \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X212 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 1 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to aigA0 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;13 \\  fugace \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X30 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 1 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to X2/X30.cont \to \begin{array}{*{20}c}   \begin{array}{l} etat~;3 \\  fugace \\  \left( \begin{array}{c} X1 \\   \\   \\   \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 1 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to

Etat 8 : encapsulation 2 (cycle de tri)
Etat fugace .
Etat 9 à 12 : déroulement du cycle du grafcet encapsulé (G20) dans X2
Tri d’une pièce type A ;
NA=1.
Etat 13 : fin du cycle d’encapsulation
Etat fugace ;
La réceptivité de sortie est X2/X30 (Etape 30 du grafcet encapsulé dans l’ étape 2).

On retrouve à la fin de cette évolution un état déjà rencontré, l’état 3
Etat 3 à 13
Le cycle précédent ce reproduit (pièce de type A).

encapsulation \to \begin{array}{*{20}c}   \begin{array}{l} etat~;4 \\  fugace \\  \left( \begin{array}{c} X1 \\   \\  X100 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 1 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to Aprinc = 1 -  -  -  -  -  -  -  -  \to \begin{array}{*{20}c}   \begin{array}{l} etat~;13 \\  fugace \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X30 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to encapsulation

A la fin de ce cycle on se retrouve dans l’état 3.

 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;3 \\  fugace \\  \left( \begin{array}{c} X1 \\   \\   \\   \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to  -  -  -  \to \begin{array}{*{20}c}   \begin{array}{l} etat~;7 \\  fugace \\  \left( \begin{array}{c} X1 \\   \\  X125 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to X1/X125 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;8 \\  fugace \\  \left( \begin{array}{c} X2 \\   \\   \\   \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Brpinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to

encapsulation \to \begin{array}{*{20}c}   \begin{array}{l} etat~;9 \\   \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X20 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Bprinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to ppa \to \begin{array}{*{20}c}   \begin{array}{l} etat~;10 \\  fugace \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X21 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Bprinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to

Etat 3 à 8
Cycle de magasinage identiques aux précédents
Etat 9 et 10
Le cycle de tri débute de la même manière
L’opérateur reconnaît un pièce de type C et place le commutateur sur SC
L’état 10 conduit à une évolution fugace car le commutateur est déjà sur SC (il est de toute façon sur une des trois positions) avant l‘activation de l’étape X21 (du grafcet G20).

SC \to \begin{array}{*{20}c}   \begin{array}{l} etat~;14 \\   \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X229 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Bprinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to ppc \to \begin{array}{*{20}c}   \begin{array}{l} etat~;15 \\   \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X230 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 0 \\  Aprinc = 1 \\  Bprinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array}3s/X230 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;16 \\   \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X232 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  \user1{NC = 1} \\  Aprinc = 1 \\  Bprinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to aigC0 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;13 \\  fugace \\  \left( \begin{array}{c} X2 \\   \\   \\   \\  X30 \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 1 \\  Bprinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to
X2/X30.cont \to \begin{array}{*{20}c}   \begin{array}{l} etat~;3 \\  fugace \\  \left( \begin{array}{c} X1 \\   \\   \\   \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 1 \\  Bprinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to encapsulation \to \begin{array}{*{20}c}   \begin{array}{l} etat~;4 \\  fugace \\  \left( \begin{array}{c} X1 \\   \\  X100 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 1 \\  Bprinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to Aprinc = 1

Etat 14, 15, 16 : tri d’une pièce type C

A la fin du tri on se retrouve d’ans l’état 13 déjà étudié, le cycle de magasinage peut recommencer
Etat 3, 4et 5 : début du cycle de magasinage
Le magasin A est vide ;
La réceptivité \overline {ppm} 4s/X110 est vraie, le vidage du magasin B doit commencer.

 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;5 \\   \\  \left( \begin{array}{c} X1 \\   \\  X110 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 1 \\  Bprinc = 0 \\  Avide = 0 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to \overline {ppm} 4s/X110 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;18 \\   \\  \left( \begin{array}{c} X1 \\   \\  X130 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 1 \\  Bprinc = 0 \\  \user1{Avide = 1} \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to a0 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;19 \\   \\  \left( \begin{array}{c} X1 \\   \\  X130 \\  X200 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 1 \\  \user1{Bprinc = 1} \\  Avide = 1 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to \begin{array}{*{20}c}   {\overline {Bvide} }  \\   {Bprinc}  \\\end{array} \to \begin{array}{*{20}c}   \begin{array}{l} etat~;20 \\   \\  \left( \begin{array}{c} X1 \\   \\   \\  X210 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 0 \\  Bprinc = 1 \\  Avide = 1 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to ppm \to \begin{array}{*{20}c}   \begin{array}{l} etat~;21 \\   \\  \left( \begin{array}{c} X1 \\   \\   \\  X220 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 0 \\  Bprinc = 1 \\  Avide = 1 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to b0 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;22 \\   \\  \left( \begin{array}{c} X1 \\   \\   \\  X225 \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 0 \\  Bprinc = 1 \\  Avide = 1 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to X1/X225 \to \begin{array}{*{20}c}   \begin{array}{l} etat~;8 \\  fugace \\  \left( \begin{array}{c} X2 \\   \\   \\   \\   \\   \\  \end{array} \right) \\  \end{array}  \\   {\left[ \begin{array}{c} NA = 2 \\  NB = 0 \\  NC = 1 \\  Aprinc = 0 \\  Bprinc = 1 \\  Avide = 1 \\  Bvide = 0 \\  \end{array} \right]}  \\\end{array} \to  -  -  -  -
Etat 18 :
Le magasin A est déclaré vide (Avide=1) ;
Lorsque le pousseur est reculé on passe à l’état suivant.
Etat 19 :
B est déclaré magasin principal (Bpinc=1) ;
L’étape 200 étant active (étape activée par l’activation de l’étape encapsulante 1), le cycle du grafcet G200 peut débuter ;
L’étape X130 est désactivée par la transition puits (réceptivité Bprinc)
Etat 20 :
Le magasin vide est déclaré non principal (Aprinc=0) ;
au prochain cycle, de magasinage, le magasin continuera à se vider.
Etat 20 à 22
Evacuation d’une boite du magasin B ;
A la fin du cycle on se retrouve dans l’ état 8

On vérifiera :
qu’au prochain cycle, c’est bien le magasin B qui continu à se vider,
que lorsque un quai est plein et qu’une nouvelle boite y est dirigée, le cycle recommence à l’état initial,
que si les deux magasins sont vides, le cycle s’arrète.
...

Messages

  • Avec mes collègues nous nous demandons pourquoi la commission de normalisation du GRAFCET ne respecte pas la compatibilité ascendantec propre aux versions successives de la plupart des logiciels sérieux.
    Quel intérêt par exemple de remplacer le symbole de la receptivité toujours vraie =1 par le 1 souligné impossible à écrire ici.
    Qu’apporte la notion d’encapsulation inexploitable en analyse descendante contrairement à la notion de sous-programme de la norme initiale exploitable avec tous les langages de tous les API.
    L’analyse descendante seule permet de prendre en compte les points de vue successifs du GRAFCET tel qu’il a été conçu à l’origine.
    Pauvres auteurs dont les ouvrages deviennent obsolètes à chaque nouvelle norme. Pauvres étudiants dont le savoir doit être remis à jours dès leur sortie de l’école.
    Et les dossiers d’installations automatisées des bureaux d’étude devenus incompréhensibles pour les nouveaux techniciens. Et il y aurait beaucoup à dire sur les termes nouveaux tels que prédicat, etc.
    Pourquoi la nouvelle norme passe-t-elle sous silence la variable de situation, le repérage de l’étape forcée à 1 avec son origine, le forçage à 0 ou à 1 des sorties de la PO.
    Etc.