Le GRAFCET (suite) X 5 M3 6 C M4 D 7 M5 E GRAFCET Quelques remarques générales Remarque 1 : événements Le modèle GRAFCET exclut formellement la simultanéité d’occurrence de 2 événements externes non corrélés. (/a ou /b) Le modèle GRAFCET impose la simultanéité d’occurrence de plusieurs événements internes. (/a./b) Remarque 2 : action maintenue ou mémorisée 10 10 …. 11 /s KM ….. 11 ….. 12 /s KM ….. 12 ….. 13 /s KM ….. 13 ….. 14 ….. 14 ….. 15 /s KM Remarque 2 : action maintenue ou mémorisée 10 …. ….. 11 /s KM=1 ….. 10 …. 11 ….. ….. 100 12 ….. 13 /s KM = 0 ….. 14 12 13 14 ….. ….. X11 /s KM=1 101 X13 Remarque 2 : action maintenue ou mémorisée 10 …. 11 ….. ….. 100 12 13 14 ….. ….. X11 /s KM=1 101 X13 Les structures de base dans un GRAFCET Les séquences exclusives 2 M1 X 3 Y V2+ 6 v21 4 V1+ v11 V3+ 7 v31 5 Appelés aussi « aiguillages » X et Y sont mutuellement exclusifs. V4+ C1 H1 v41 V2- 8 v20 V1- G1 D1 c1 a1 v10 9 V3- C2 V4- c2 G2 D2 H2 a2 d 8 Le saut d’étapes 2 Variante d’un « aiguillage » M1 X Y 3 V1+ v11 4 X et Y sont mutuellement exclusifs. V4+ v41 5 V1v10 6 V4v40 7 M1 9 La reprise de séquence 2 Variante d’un « aiguillage » M1 z 3 V1+ v11 4 v40.X et v40.Y sont mutuellement exclusifs. V4+ v41 5 V1v10 6 v40.X V4v40.Y 7 M1 10 Les séquences simultanées 2 M1 Une seule condition de démarrage. z 3 V1+ 7 v11 4 v31 V2+ 8 v21 5 V3+ V4+ v41 V1- 9 m V3V1 V2 v10 6 h1 h2 b1 b2 V2W1 v20.v30 10 W2 V411 Les séquences simultanées 5 V1- 10 v10 6 V3- Cas avec actionneurs ou préactionneurs électriques v30 11 att V2- Ajout d’étapes d’attente v20 7 att Transition toujours vraie =1 12 V4- 12 Programmation d’un GRAFCET dans un API (traduction en LADDER) Conversion du GRAFCET au LADDER La majorité des automates se programment en LADDER. ¤ Les électriciens connaissent très bien ce langage. Rares sont les automates se programmant en GRAFCET. ¤ Automates européens. ¤ Norme IEC 1131.3 14 Méthodes Etape : bascule à arrêt prioritaire Etape : bascule à marche prioritaire Etape : utilisation de SET et RESET de l’API Etape & Transition séparément 15 Conversion du GRAFCET au LADDER La mise en équation sera introduite avec la séquence suivante: n-1 R1 n R2 n+1 16 Bascule avec priorité à la désactivation Chaque étape du GRAFCET peut être représenté par l’équation suivante: Xn = (Xn-1 R1 + Xn) Xn+1 n-1 Diagramme en échelle (Ladder) R1 X n-1 R1 n X n+1 R2 Xn Xn n+1 Priorité à la désactivation Verrouillage 17 Bascule avec priorité à l’activation Chaque étape du GRAFCET peut être représenté par l’équation suivante: Xn = Xn-1 R1 + Xn Xn+1 Diagramme en échelle (Ladder) n-1 X n-1 R1 R1 n Xn Xn X n-1 R2 n+1 Verrouillage Priorité à l'activation 18 Bug majeur de ces approches Un automate est une machine séquentielle. DEUX ÉTAPES SUCCESSIVES À 1 EN MÊME TEMPS !!! =1 X 2 X 1 R1 X 2 X 3 =0 =0 X 3 X 2 R 2 X 3 X 4 =1 1ère scrutation : X2 = 1 X3 = 0 2ème scrutation : (R2 = 1) X2 = 1 X3 = 1 3ème scrutation : X2 = 0 X3 = 1 19 Solution très simple 1ère scrutation : X2 = 1 X3 = 0 Programmation des transitions séparément Y 001 X1 R1 Y 002 X 2 R2 ... 2ème scrutation : (R2 = 1 Y002=1) X2 = 0 X3 = 1 =0 =1 X3Y002 X3Y003 X2 Y001 X2Y002 =1 =0 =0 =1 20 Exemple d’applications du GRAFCET Plateau tournant Fonctionnement souhaité: ¤ poussée sur bouton m; ¤ déverrouillage de W; ¤ avance du vérin V, avec rotation du plateau; ¤ verrouillage de W; ¤ retrait de V, le plateau restant immobile. 22 Plateau tournant GRAFCET de niveau PO : 1 Machine en référence Départ de cycle 2 Déverrouiller le plateau Plateau déverrouillé 3 Tourner le plateau d'un huitième de tour Rotation complétée 4 Reverrouiller le plateau Plateau verrouillé 5 Réarmer le système de rotation Réarmement complété 23 Plateau tournant Choix technologiques : ¤ Capteurs: Bouton départ : Détecteur déverrouillage : Détecteur rotation complétée : m; a; b; ¤ Actionneurs: Vérin déverrouillage : Vérin de rotation : Voyant machine prête : W; V; Ready. 24 Plateau tournant GRAFCET niveau PC : 1 Machine en référence 1 m./a./b Départ de cycle 2 Déverrouiller le plateau 2 Tourner le plateau d'un huitième de tour 3 Rotation complétée 4 Reverrouiller le plateau Réarmer le système de rotation Réarmement complété W V b 4 Plateau verrouillé 5 W a Plateau déverrouillé 3 Ready V /a 5 /b 25 Plateau tournant Transitions: Y1 X1ma b Y2 X2a Y3 X3b Y4 X4a Y5 X5b Étapes: X1Y5 X1Y1Init X2Y1 X2Y2 X3Y2 X3Y3 X4Y3 X4Y4 X5Y4 X5Y5 1 Ready m./a./b 2 W a 3 W V b 4 V /a 5 /b 26 Plateau tournant Actions: Ready X1 W X2X3 1 Ready m./a./b 2 W a 3 V X3X4 W V b 4 V /a 5 /b 27 Exemples : OU-D 6 1 Y1 X 1 m m Y2 a X 2 X 2 M1 X 3 Y2b X 2 Y X 2 Y1 X 2 Y2 a Y2b X 1 m X 2 Y2 a Y2b Y V2+ 6 V1+ Exemples : OU-C 5 V2- 8 v20 V1+ Y5 X 5 v20 v10 9 V3v40.v30 10 M1 Y8 X 8 v10 V4- Y9 X 9 v40 v30 X 9 Y5 Y8 X 9 Y9 Exemples : ET-D 6 1 Y1 X 1 m m 2 Y2 X 2 X M1 X 2 Y1 X 2 Y2 X 3 V2+ 6 V1+ Exemples : ET-C 5 V2- 8 V1+ Y5 8 X 5 X 8 v10 v20 v10.v20 9 V3v40.v30 10 M1 V4- Y9 X 9 v40 v30 X 9 Y5 8 X 9 Y9 Programmation Programmation en langage structuré (ST) Programmation en liste d ’instruction (IL) Programmation en langage ladder (LD) Programmation en langage séquentiel (G7) Programmation en bloques fonction (FB) Suite 32 Programmation en langage structuré (ST) ! %L11:(*Etape 1 activation désactivation*) %M1:=%M15 OR %M1 AND NOT %M11 OR %I1.3; %M11:=%M1 AND %I1.0 AND NOT %I1.1 AND NOT %I1.2; ! %L12:(*Etape 2 activation désactivation*) %M2:=%M11 OR %M2 AND NOT %M12; %M12:=%M2 AND %I1.1; ! %L13:(*Etape 3 activation désactivation*) %M3:=%M12 OR %M3 AND NOT %M13; %M13:=%M3 AND %I1.2; 33 Programmation en langage structuré (ST) Retour ! %L14:(*Etape 4 activation désactivation*) %M4:=%M13 OR %M4 AND NOT %M14; %M14:=%M4 AND NOT %I1.1; ! %L15:(*Etape 5 activation désactivation*) %M5:=%M14 OR %M5 AND NOT %M15; %M15:=%M5 AND NOT %I1.2; ! %L20:(*Sorties*) %Q2.0:=%M2 OR %M3; %Q2.1:=%M3 OR %M4; 34 Programmation en liste d ’instruction (IL) ! (*Etape 1 activation desactivation*) %L11: LD %M15 OR( %M1 ANDN %M11 ) OR %I1.3 ST %M1 LD %M1 AND %I1.0 ANDN %I1.1 ANDN %I1.2 ST %M11 35 Programmation en liste d ’instruction (IL) ! (*Etape 2 activation desactivation*) %L12: LD %M11 OR( %M2 ANDN %M12 ) ST %M2 LD %M2 AND %I1.1 ST %M12 36 Programmation en liste d ’instruction (IL) ! (*Etape 3 activation desactivation*) %L13: LD %M12 OR( %M3 ANDN %M13 ) ST %M3 LD %M3 AND %I1.2 ST %M13 37 Programmation en liste d ’instruction (IL) ! (*Etape 4 activation desactivation*) %L14: LD %M13 OR( %M4 ANDN %M14 ) ST %M4 LD %M4 ANDN %I1.1 ST %M14 38 Programmation en liste d ’instruction (IL) ! (*Etape 5 activation desactivation*) %L15: LD %M14 OR( %M5 ANDN %M15 ) ST %M5 LD %M5 ANDN %I1.2 ST %M15 39 Programmation en liste d ’instruction (IL) ! (*Sorties*) LD %M2 OR %M3 ST %Q2.0 LD %M3 OR %M4 ST %Q2.1 Retour 40 Programmation en langage ladder (LD) 41 Programmation en langage ladder (LD) 42 Programmation en langage ladder (LD) Retour 43 Programmation en langage séquentiel (G7) 44 Programmation en langage séquentiel (G7) Retour 45 Programmation en bloques fonction (FB) Retour 46 Machine de fermeture de bouchons La machine doit fermer les bouchons en matière plastique avant que ceux-ci soit vissés sur des bouteilles. 47 GRAFCET de niveau PO 48 Réalisation 49 Schéma de principe 50 Distributeur simple action Un seul signal est appliqué pour faire commuter le distributeur. Tant qu’il doit être actionné, le signal doit être maintenu. A 51 GRAFCET niveau PC Capteurs: - a0 : A en rétraction - a1 : A en extension . . . - e0 : E en rétraction - e1 : E en extension - m : bouton de mise en marche - P : détecteur présence du bouchon Actionneurs: - A: Serrage du bouchon - B : Fermeture du bouchon - C : Évacuation du bouchon - D : Rabattre la languette - E : Sélection du point d’évacuation 1 m.P.a 0.b 0.c 1.d 0 2 A E=1 A D A B a1.e 1 3 d1 4 b1 D T=3s b1.T/4/3s 5 A B D E=0 e0 6 C D a0.b 0.c 0 7 D c1 8 d0 52 1 m.P.a 0.b 0.c 1.d 0 2 A E=1 A D A B a1.e 1 3 d1 4 b1 D T=3s b1.T/4/3s 5 A B D E=0 e0 6 C D a0.b 0.c 0 7 D c1 8 d0 53 Capteurs: - a0 : Vérin A en rétraction - a1 : Vérin A en extension . . . - e0 : Vérin E en rétraction - e1 : Vérin E en extension - m : bouton de mise en marche Actionneurs: - A: Serrage du bouchon - B : Fermeture du bouchon - C : Évacuation du bouchon - D : Rabattre la languette - E : Sélection du point d’évacuation - P : détecteur présence du bouchon 54 Distributeur double action Deux signaux sont appliqués pour faire commuter le distributeur. Un signal momentané actionne le distributeur , un autre signal momentané le ramène à sa position initiale. A+ A55 GRAFCET niveau PO 1 A- B- C+ D- m.P.a 0.b 0.c 1.d 0 2 A+ E+ a1.e 1 3 Actionneurs: - A+: Serrage du bouchon - A- : Desserrage du bouchon - B+ : Fermeture du bouchon - B- : Vérin B au repos - C+ : Vérin C en extension - C- : Évacuation du bouchon - D+ : Rabattre la languette - D- : Admission du prochain bouchon - E+ : Sélection trappe pièce OK - E- : Sélection trappe pièce non-OK D+ d1 4 B+ b1 T=3s b1.T/4/3s 5 Ee0 6 A- B- C- a0.b 0.c 0 7 C+ c1 8 Dd0 56 Extension du GRAFCET Étape source / Étape puit Transition source / Transition puit Coordination de GRAFCETS Les macro-étapes La hierarchisation et Le forçage Le figeage Exemple Étape source / Étape puit Étape source 12 ¤ Exige un forçage pour être activé. Étape puit: r12 13 ¤ Exige un forçage pour être désactivé. r13 14 r14 Retour 15 58 Transition source / Transition puit r12 Transition source ¤ Toujours validée. 13 Transition puit: ¤ Lorsque franchie, désactive l’étape précédente. r13 14 r14 15 Retour r1559 SYNCHRONISATION ET FORCAGE La hiérarchie est réalisée par Forçage STRUCTURE MULTI-GRAFCETS HIERARCHISEE GRAFCET DE SECURITE - des personnes - des biens GRAFCET DE CONDUITE (GC) GRAFCET ou GRAFCET DES MODES DE MARCHES (GMM) DE PRODUCTION NORMALE (GPN) GRAFCETS DE TACHES Le dialogue interGRAFCET est réalisé par GRAFCETS DE TACHES SPECIFIQUES GRAFCETS ou procйdures "sous programmes" Synchronisation 60 Coordination de GRAFCETS Faire plusieurs GRAFCETs : un par sous-système Besoin de coordination. Deux types de coordination : - coordination horizontale - coordination verticale 61 SYNCHRONISATION • Étape Variable étape Xi (X n°étape) • Étape active Xi=1, Étape inactive Xi=0 • Xi utilisée dans les réceptivités • Étape 3 s’active 11 3 X3 12 • X3 devient vraie • Activation étape 12 désactivation étape 11 62 APPLICATION DE LA SYNCHRONISATION • Identification des Tâches • GRAFCET de coordination des Tâches • GRAFCET de Tâche • Dialogue inter-GRAFCET Cliquer ici pour voir l’exemple 63 REMARQUES SUR LA SYNCHRONISATION • Chaque GRAFCET de tâche se terminera par une étape sans action, qui donnera l’information Tâche terminée au GRAFCET de coordination des tâches et le fera évolué à l’étape suivante. • Chaque GRAFCET de tâche se terminera par une transition, qui vérifiera que l’information Tâche terminée a bien été reçue par le GRAFCET de coordination de tâches et a donc évolué à l’étape suivante. 64 Coordination horizontale Une seule tâche à la fois 10 10 20 10 m 19 30 10 X19 29 X39 Tâche T10 X29 39 X10 Tâche T20 X10 Tâche T30 65 Coordination verticale : Les tâches Définir par un GRAFCET une séquence d’opérations. Entrée : pas d’actions Sortie 66 Coordination verticale GRAFCET de conduite esclaves GRAFCET 10 20 11 ….. X12+X14 ….. 21 12 T10 22 ….. ….. 23 ….. T10 X24 24 X24 13 14 Retour ….. /X12+/X14 67 Les macro-étapes Expansion d’étape Une fois activée, elle assure le début de l’évolution de l’expansion. On peut lui associer une action. MV a E30 10 a r10 30 Elle termine l’évolution de l’expansion. On ne doit pas lui associer une action. B+ 31 M11 50 =1 b 12 S50 68 GRAFCET de niveau PO de la machine à remplir et à boucher a+ E3 1 11 b+ S3 4 d+ 21 g1 c- 31 c0 S4 g+ E5 c1 a0 b1 3 a- c+ E4 a1.b0 dcy 2 b- e+ e1 32 e- 5 e0 =1 33 gg0 34 e+ f+ e1 35 ee0 Retour S5 69 HIERARCHISATION GRAFCET Niveau n GRAFCET Niveau n-1 GRAFCET Niveau n-1 GRAFCET Niveau n-2 C’est donner un pouvoir supérieur à certain GRAFCET (GRAFCET maître), par rapport à d'autres GRAFCET (GRAFCET esclaves) L’instruction GRAFCET est le Forçage 70 Le forcage F/nom du GRAFCET : (Situation) F/G2:(21) 5 20 a x 6 21 y GRAFCET de niveau supérieur G1 22 GRAFCET forcé G2 71 DEFINITION DU FORCAGE • Le forçage est l'instruction GRAFCET qui permet d'intervenir directement sur l'état d'une ou des étapes d’un autre GRAFCET • Syntaxe : Toutes les étapes du graphe indiqué sont rendues inactives ET les étapes dont les numéros suivent sont rendues actives. 72 FORCAGE GRAFCET Maître GRAFCET esclave • Étape 3 s’active • Étape 15 se désactive 11 3 1s1 F/Gesclave:(11) • Étape 11 s’active 12 15 1s0 73 REGLES DU FORCAGE Le forçage est un ordre interne, consécutif à une évolution Les GRAFCET forcés prendront Règle 1 immédiatement et directement la ou les situations imposées Le forçage est prioritaire par rapport à toute activité du modèle (évolution, affectation des sorties, ...) Règle 2 Les GRAFCET forcés sont maintenus dans la situation imposée tant que les ordres de forçage sont valides 74 EXEMPLES DE SYNTAXES DE FORCAGES Toutes les étapes du graphe GT1 sont immédiatement F/GT1:(10,15) désactivées et les étapes 10 et 15 sont activées F/GAUX:( ) F/GN:(*) F/GP:(Init) Retour Toutes les étapes du graphe GAUX sont immédiatement désactivées Le GRAFCET GN est bloqué dans son évolution (figeage) Le GRAFCET GP est remis dans sa situation initiale (étape initiale activée) 75 Le figeage F/nom du GRAFCET : (*) F/G2:(*) 5 20 a x 6 21 y GRAFCET de niveau supérieur G1 22 GRAFCET forcé G2 76 Le figeage L’ordre de figeage entraîne : - le maintien à l’état actif des étapes actives, ET - le maintien à l’état inactif des étapes inactives. Retour 77 Initialisation (Bit %S21) Rôle L'initialisation du Grafcet s'effectue par le bit système %S21. Normalement à l'état 0, la mise à l'état 1 de %S21 provoque : la désactivation des étapes actives, l'activation des étapes initiales. Initialisation du Grafcet Le tableau suivant donne les différentes possibilités de mise à 1 et à 0 du bit système %S21. Mis à l'état 1 Remis à l'état 0 Par mise à l'état 1 de %S0 Par le système au début du traitement Par le programme utilisateur Par le programme utilisateur Par le terminal (en mise au point Par le terminal (en mise au point ou ou table d'animation) table d'animation) Règle d'utilisation Lorsqu'il est géré par le programme utilisateur, %S21 doit être positionné à 0 ou 1 dans le traitement préliminaire. 78 Désactivation des étapes actives (Bit %S22) Rôle La remise à 0 du Grafcet s'effectue par le bit système %S22.Normalement à l'état 0, la mise à l'état 1 de %S22 provoque la désactivation des étapes actives de l'ensemble du traitement séquentiel. Note : La fonction RESET_XIT permet de réintialiser par programme les temps d'activation de toutes les étapes du traitement séquentiel . Remise à zéro du Grafcet Le tableau suivant donne les différentes possibilités de mise à 1 et à 0 du bit système %S22. Mis à l'état 1 Remis à l'état 0 Par le programme utilisateur Par le système à la fin du traitement Par le terminal (en mise au point ou séquentiel table d'animation) Règle d'utilisation ce bit doit être écrit à 1 dans le traitement préliminaire, la remise à 0 de %S22 est géré par le système; il est donc inutile de le remettre à 0 par programme ou par le terminal. Pour redémarrer le traitement séquentiel dans une situation donnée, vous devez prévoir selon l'application une procédure d'initialisation ou de pré positionnement du Grafcet. 79 Le figeage (Bit %S23) Rôle Le figeage du Grafcet s'effectue par le bit système %S23.Normalement à l'état 0, la mise à l'état 1 de %S23 provoque le maintien en l'état des Grafcet. Quelle que soit la valeur des réceptivités aval aux étapes actives, les Grafcet n'évoluent pas. Le gel est maintenu tant que le bit %S23 est à 1. Figeage du Grafcet. Le tableau suivant donne les différentes possibilités de mise à 1 et à 0 du bit système %S23. Mis à l'état 1 Remis à l'état 0 Par le programme utilisateur Par le programme utilisateur Par le terminal (en mise au point Par le terminal (en mise au point ou table ou table d'animation) d'animation) Règle d'utilisation Géré par le programme utilisateur, ce bit doit être positionné à 1 ou 0 dans le traitement préliminaire. Le bit %S23 associé aux bits %S21 et %S22 permet de réaliser un figeage du traitement séquentiel à l'état initial ou à l'état 0. De même le Grafcet peut être prépositionné puis figé par %S23 80 Pré positionnement Rôle Le prépositionnement du Grafcet peut être utilisé lors du passage d'un fonctionnement marche normale en marche spécifique ou à l'apparition d'un incident (exemple : défaut provoquant une marche dégradée).Cette opération intervient sur le déroulement normal du cycle de l'application, elle doit donc être effectuée avec précaution. Prépositionnement du Grafcet Le positionnement peut porter sur l'ensemble ou sur une partie du traitement séquentiel : en utilisant les instructions SET, RESET, par remise à zéro générale (%S22) puis, dans le cycle suivant, positionnement à 1 des étapes. Note : Dans le cas de la remise à zéro d'une étape, les actions à la désactivation de celle-ci ne sont pas exécutées. Exemple Dans cet exemple la mise à 1 du bit %M20 provoque le prépositionnement des étapes %X12 à 1, des étapes %X10 et %X11 à 0. 81 Machine à remplir et à boucher 82 GRAFCET de niveau PO 1 Machine en référence départ 2 Transférer les bouteilles Transfert complété 3 Charger une bouteille 5 Bouteille chargée 4 Remplir une bouteille 7 Bouteille remplie Attente 6 Poser un bouchon sur une bouteille Bouteille bouchée Attente 8 Attente =1 Chaque poste travaille en parallèle avec les autres 83 GRAFCET de niveau PC 1 dcy.a0.c0.e0 2 b+ b1 3 a+ b- 5 a1.b0 4 c+ d+ 7 c1 a- 6 g+ g1 c- 8 e+ e1 9 ee0 10 gg0 11 e+ f+ e1 12 Retour e- Programme TSX 57 a0.c0.e0 84