chapitre 6 : grafcet ou...
TRANSCRIPT
1
Chapitre 6 :GRAFCET ou SFC
Pierre DuysinUniversité de Liège
GRAFCET: historique
Au départ (1975), outil méthodologique de description du cahier des charges de la partie commande des systèmes automatisésNormalisation en France (1982), puis en, Europe par la CEI sous le nom de Sequential Function Chart
Outil méthodologique unanimement adopté
L’outil méthodologique de description GRAFCET est devenu un langage de programmation sous la norme CEI 1131-3
Langage de programmation au succès mitigéProblème d’interface graphiqueProblème d’absence de normalisation au niveau sémantique
La majorité des programmeurs recourent à une traduction manuelle
2
Approche progressive
Rédaction du cahier des charges: description claire, précise, sans ambiguïté ni omission du rôle et des performances de l’équipement
Diviser la description en plusieurs niveaux ou points de vue:Point de vue système:
Description sous forme littérale du procédé, de la coordination et de l’évolution des différentes séquences. Description abstraite sans notions techniques.
Point de vue partie opérative Description sous forme d’actions fonctionnelles du comportement de la partie opérative. Effectuer le choix technologique.
Point de vue partie commandeDescription des échanges d’informations et d’ordresLangage technique
Approche progressive
Niveau 1: Spécifications fonctionnellesDescription du comportement de la partie commande vis-à-vis de la partie opérative POComprendre ce que l’automatisme doit faire
Caractériser les réactions de l’automatisme face aux infos de la PODéfinir les différentes fonctions, informations et commandes impliquées dans l’automatisation de la PO sans préjuger des technologies
Pas d’influence de la nature ni des caractéristiques des capteurs et actionneursSécurités de fonctionnement sont incluses dans les spécifications fonctionnelles
3
Approche progressive
Niveau 2: Spécifications technologiquesPréciser les spécifications technologiques des actionneurs, capteurs…Spécification d’interface: insertion de l’automatisme dans le processus et son environnementPréciser
La nature et les informations sur les capteurs et actionneursLes contraintes sur les capteurs (température, humidité…)
Niveau 3: Spécifications opérationnellesServir au suivi de fonctionnement de l’automatisme au cours de son existenceDéfinir les spécifications sur l’équipement une fois réalisé et en exploitation: fiabilité, pannes, disponibilité, modifications, maintenance, HMI…
GRAFCET: introduction
Le GRAFCET est utilisé pour les différents niveaux de description
Description de l’automatisme par une ensemble de:ETAPES auxquelles on associe des ACTIONSTRANSITIONS auxquelles on associe des RÉCEPTIVITÉSLIAISONS ORIENTEES reliant les étapes aux transitions et les transitions aux étapes
4
GRAFCET: introduction
Etude de la partie commande (PC)La partie commande reste dans une étape tant que son comportement est constant.On change d’étape lorsqu’elle est réceptive ce qui provoque le franchissement de la transition
Représentation graphique du fonctionnement de la PCFonctionnement d’une partie commande = une succession alternée d’étapes et de transitions
Exemple: presse
Presse destinées à la fabrication de pièces à partir de poudre comprimée
5
Exemple: presse
Partie opérative:Poinçon inférieur fixe CPoinçon supérieur A et une partie mobile BSous ensemble de mise en place de la matièreSous ensemble d‘évacuation de la pièce
Exemple: presse
Fonctionnement du cycleMatrice en haut de sa course. Poinçon inférieur engagé délimite un espace suffisant pour recevoir de la matière. Le poinçon supérieur est alors dans sa position haute pour permettre l’introduction de la poudreLors la matière pulvérulente est en place, le poinçon supérieur descend, comprime la matière puis remonte en position hauteLa matrice descend jusqu’à ce que le poinçon inférieur affleure et libère la pièce. La pièce est ensuite évacuéeLa matrice reprend sa place et le cycle peut recommencer.
6
Exemple: presse
Etude de la partie commande – GRAFCET de niveau 1
Etape 1 ; act ion : mise en place de la mat ière Transition 1-2 ; r écept ivité : mat ière en place et dépar t cycle Etape 2 ; act ion : descente du poinçon Transition 2-3 ; récept ivité : fin de compression Etape 3 ; act ion : remontée du poinçon Transition 3-4 ; r écept ivité : poinçon en haut Etape 4 ; act ion : descente matr ice Transition 4-5 ; r écept ivité : mat r ice en bas Etape 5 ; act ion : évacua t ion de la pièce compr imée Transition 5-6 ; récept ivité : pièce évacuée Etape 6 ; act ion : remontée mat rice Transition 6-1 ; récept ivité : mat r ice en haut
Exemple
GRAFCET de niveau 1
7
Exemple: presse
Etude de la partie commande – GRAFCET de niveau 2Il convient de préciser les choix technologiques des actionneurs et des capteurs
Dans cet exemplePas de procédure d’arrêt d’urgenceMise en place manuelle de la matière par un opérateur. Un voyant vert est allumé pendant la durée de mise en place. A la fin, l’opérateur autorise la suite des opérations en poussant sur un bouton poussoir dLes mouvements du poinçon supérieur et de la matrice sont réalisés par des vérins hydrauliques double effet. Les positions hautes et basses sont contrôlées par des capteurs de fin de course a0, a1, b1, b0L’évacuation de la pièce est commandée par un jet d’air actionné par une électrovanne E
Exemple: presse
Etude de la partie commande – GRAFCET de niveau 2ORDRES
ver s le milieu extér ieur et l'opérateur
V : voyant "Prêt" commande des act ionneurs
a + : descente poinçon a – : remontée poinçon b – : descente matr ice b + : remontée mat rice E : évacua t ion
lancement de t empor isat ions
LT1 : lancement t emporisa t ion d'évacua t ion
INFORMATIONS déroulement du cycle
d : autor isa t ion de dépar t cycle fin de course des act ionneurs
a1 : posit ion basse du poinçon a0 : posit ion haute du poinçon b0 : posit ion basse de la matr ice b1 : posit ion haute de la mat r ice
fin de tempor isa t ion
ft1 : fin de t empor isa t ion d'évacua t ion
8
Exemple
GRAFCET de niveau 2
Eléments de base du GRAFCET
Le GRAFCET est un organigramme qui décrit dans une suite logique et organisée le cycle et le déroulement des différentes opérations appelées « étapes » d’un système automatisé.
Une ÉTAPE correspond à une situation dans laquelle le comportement de tout ou une partie du système par rapport à ses entrées et ses sorties est invariant.
Les TRANSITIONS indiquent les possibilités d’évolution entre étapes.
9
Eléments de base du GRAFCET
On associe à chaque transition une condition logique appelée RECEPTIVITE qui permet de distinguer parmi toutes les informations disponibles uniquement celles qui sont susceptibles de faire évoluer la partie commande à un instant donné.
La RECEPTIVITE écrite sous forme de proposition logique est une fonction combinatoire des informations extérieures (directives opérateur, capteurs, compteurs, tempos, changement de variables, etc.) et de variables auxiliaires ou de l’état actif ou inactifs d’autres étapes.
Les LIAISONS indiquent les voies d’évolution de l’état du GRAFCET
Eléments de base du GRAFCET
L’étape se représente par un carré repéré par un numéroOn peut également adjoindre un nom symboliqueUne étape peut être active ou inactive. La situation du système est entièrement défini par l’ensemble de ses étapes activesOn peut marquer l’étape active par un point
13 14FIN
15•
AVANCE
26 - ouvrir la vanne V3- lancer le moteur M1- actionner l'électrovanne EV6- lancer la temporisation T6- éteindre le voyant L12- présélectionner à 14 le compteur C1- décrémenter le compteur C2
27 Si DEF, allumer L1Si /PP, allumer L4Si X15, fermer trappe n° 2Lancer temporisation de 10 secondes
a. Représentation
b. Symbole
c. Etape active
d. Actions multiples
e. Actions conditionnelles
Etapes du GRAFCET
10
Eléments de base du GRAFCET
On précise pour chaque étape les actions caractéristiques àeffectuerLes actions sont effectives lorsque l’étape est activeL’exécution des actions peut encore être soumise à des conditions
13 14FIN
15•
AVANCE
26 - ouvrir la vanne V3- lancer le moteur M1- actionner l'électrovanne EV6- lancer la temporisation T6- éteindre le voyant L12- présélectionner à 14 le compteur C1- décrémenter le compteur C2
27 Si DEF, allumer L1Si /PP, allumer L4Si X15, fermer trappe n° 2Lancer temporisation de 10 secondes
a. Représentation
b. Symbole
c. Etape active
d. Actions multiples
e. Actions conditionnelles
Etapes du GRAFCET
Eléments de base du GRAFCET
5
6
7
a ↑
y ↓
5
6
7
a
y
a. Etats logiques b. Changements d'état
8
9
10
t/8/5s
t/8/10s
A
c. Dépendant du temps
Transitions et réceptivités
= 10 seconde depuis activation étape 8
11
Eléments de base du GRAFCET
Les liaisons sont horizontales ou verticalesAdopter une représentation qui contribue au mieux à la clarté du fonctionnementUtiliser les flèches pour améliorer la compréhension ou que l’orientation n’est pas respectéeEviter les croisements pour éviter les ambiguïtés
Sens générale de parcours = de haut en basL’arrivée à une étape est en haut et le départ en bas
Règles d’évolution du GRAFCET
Règle 1: Etape initialeElle est activée inconditionnellement au départ du systèmeCorrespond à un comportement repos de la PO
Règle 2: Franchissement d’une transitionLe franchissement de la transition ne peut se produire que si:
La transition est validée (étapes immédiatement précédentes toutes actives)ET si la réceptivité associée est vraie
La transition est obligatoirement franchie
Règle 1: étape initiale
12
Règles d’évolution du GRAFCET
Règle 2: franchissement d’une transition
Règles d’évolution du GRAFCET
Règle 2: franchissement d’une transition
13
Règles d’évolution du GRAFCET
Règle 3: Evolution des étapes activesLe franchissement d’une transition entraîne l’activation de toutes les étapes immédiatement suivantes reliées à cette transition et la désactivation de toutes les étapes immédiatement précédentes reliées àla transition.
Règle 4: Evolutions simultanéesPlusieurs transitions simultanément franchissables (franchissables en même temps) sont simultanément franchies (franchies en même temps).
Règle 5: Activation – désactivation simultanéeSi au cours du fonctionnement une même étape doit être à la fois activée et désactivée, elle reste active.
Règles d’évolution du GRAFCET
Règle 3: Transitions entre plusieurs étapes
14
Règles d’évolution du GRAFCET
Règle 3: Evolution des étapes actives
Règles d’évolution du GRAFCET
Règle 4: Evolution simultanée
15
GRAFCET: séquences multiples
CHOIX CONDITIONNEL OUConfiguration OU apparaît quand à la sortie d’une étape le chemin que peut prendre le cycle a la possibilité de se faire sur différentes séquences suivant l’état des réceptivités
En pratique, prendre des réceptivités mutuellement exclusives
GRAFCET: séquences multiples
SEQUENCES SIMULTANEES «ET»Chaque fois que le franchissement d’une transition active plusieurs chemins fonctionnant en parallèleL’exécution des différentes branches est indépendante, mais se déroule en même tempsReprésentation: une transition UNIQUE et deux traits parallèles indiquent le début et la fin des séquences parallèlesA la fin attente réciproque (synchronisation)
16
GRAFCET: séquences multiples
SAUT D’ETAPES ET REPRISE DE SEQUENCEPermet de sauter une ou plusieurs étapes lorsque les actions àréaliser deviennent inutiles
REPRISE DE SEQUENCEPermet de reprendre plusieurs fois la même séquence tant que la condition fixée n’est pas obtenue
GRAFCET: organisation
LA MACRO-ÉTAPEEviter la surcharge du GRAFCET principal par des détails de fonctionnement à l’intérieur d’une étape.Les détails de réalisation sont décrits par un autre diagramme appelé « expansion macro étape »La macro étape est repérée par deux barres verticales dans le rectangle des actions
5
R1
A1
6
X103
MACRO-ETAPE
8
R4
A4
9 A5
10
X6
101
R2
102
R3
A3
103
A2
= 1
GRAFCET
17
GRAFCET: organisation
Principe de la macro étape
GRAFCET: organisation
SEQUENCE REPETECertaines séquences peuvent revenir de façon répétitive dans un même cycle.Pour éviter la répétitions, on utilise un sous-programme écrit sous forme de GRAFCET indépendant, connecté au GRAFCET principal
18
GRAFCET: organisation
ETAPE DE VERROUILLAGECette étape considérée comme une étape initiale complémentaire permet le déroulement d’une seule séquence à la fois parmi plusieurs possibles
GRAFCET: organisation
ETAPE DE SYNCHRONISATIONCette particularité se compose d’une étape initiale complémentaire et d’une étape normale.Elles synchronisent deux séquences dans des GRAFCET différents.L’une des séquences doit obligatoirement se dérouler après l’autre.
19
Exemple: Poste de perçageOn considère un poste de perçage comportant un système d’alimentation, une perceuse, un testeur et un plateau tournantOn demande d’établir le GRAFCET de l’automatisme
Les différentes parties du poste de perçage doivent fonctionner en parallèleSi le testeur n’est pas arrivé en position basse après 2 s, cela signifie que le trou a été mal percé. On prévoit alors un système permettant àl’opérateur de prendre la pièce à la main. Il relance le système avec un bouton poussoirOn suppose le système en régime. Il y a une pièce à chaque emplacement du plateau
Exemple: Poste de perçage
Montée testeurTesteur en haut
RéarmementAlarmeMarcheOpérateur
Rotation plateauFin de rotationPlateauRecul évacuationEvacuation en arrièreAvance évacuationPièce évacuéeEvacuation
Descente testeurTesteur en basTesteurMontée perceusePerceuse en hautDescente perceusePerceuse en basPerçageRecul serragePièce desserréeAvance serragePièce serréeSerrageReculer chargeurChargeur en arrièreAvancer chargeurPièce chargéeAlimentationActionsEntrées
20
Exemple: Poste de perçage
GRAFCET: éléments complémentaires
On associe généralement deux variables aux étapes:La variable d’activité: variable booléenne gérée par le système qui vaut 1 si l’étape est active
Dans la norme CEI 1131-3, nom_étape.XLa variable de durée d’activité: variable de type temps gérée par le système qui indique depuis combien de temps l’étape est active
Dans la norme CEI 1131-3, nom_étape.TPas toujours disponible d’emblée sans déclaration a priori
Remarque:Ces variables sont une facilité pour la programmation.On pourrait les recréer à partir de bits internes et de tempos
21
GRAFCET: éléments complémentaires
CEI 1131 ALLEN-
BRADLEY CADEPA ISAGRAPH TELEME-
CANIQUE
var iable d'étape
étape . X *SCj:n . SA Xi GSi . X Xi
durée d'étape
étape . T *SCj:n . TIM - GSi . t *Xi, V
récept ivit é associée à la durée
étape . T > T#5s
SCj:n . DN T/i/5s/ GSi . t > 5s Xi, V > 50
Solutions adoptées par différents constructeurs pour les variables d’étape
ALLEN-BRADLEY j : n° du fichier de contrôle SFC n : n° de la st ructure de cont rôle a t t achée à l'ét ape considérée SCj:n . PRE : va leur de présélect ion pour la durée d'étape CADEPA, ISAGRAPH, TELEMECANIQUE
i : n° de l'ét ape
GRAFCET: éléments complémentaires
TYPES D’ACTIONS:On a supposé que les actions associées aux étapes étaient effectuées et maintenues durant toute la période d’activité de l’étape.Ce sont des actions de types « non mémorisées »Pour simplifier la tâche du programmateur, les constructeurs puis la norme CEI1131-3 ont introduit d’autres d’actions répondant à des besoins pratiques.Par contre l’utilisation de ces actions rend plus difficile la lecture des GRAFCET
GRAFCET plus impliciteDifficulté de mise au point et de maintenance
22
GRAFCET: éléments complémentaires
Qualificat if
Explicat ion Disponibilit é
chez les const ructeurs
Norme CEI
1131
Hors norme
A-B
Telem
Isagraf
Cadepa
- N S R L D P
SL SD DS
P1 P0
Par défaut - Non mémor isé Non mémor isé Posit ionné (mémor isé) Remise à zéro pr ior it a ire Limité dans le t emps Tempor isé Impulsion (act iva t ion) Impulsion (désact ivat ion) Mémorisé et limité dans le t emps Mémorisé et et tempor isé Tempor isé et mémor isé
X X X X X X X X X X X
X
X X
X X X X
X
X X
X X X
Différents types d’action
GRAFCET: éléments complémentaires
Différents types d’action
23
GRAFCET: éléments complémentaires
NATURE DES ACTIONSLe plus souvent, une action = changer une ou plusieurs variablesbooléennesLa norme permet également de réaliser des opérations arithmétiques ou autres dans un langage quelconque de l’automateCes instructions effectuées à chaque cycle pendant la durée de l’actionUne action peut être constituée d’un autre GRAFCET.
Démarrage au moment du démarrage de l’actionTué lorsque l’action est arrêtée (toutes les actions désactivées)
GRAFCET: éléments complémentaires
Exemples de déclaration d’actions selon la norme CEI 1131
24
GRAFCET: éléments complémentaires
Exemples de déclaration d’actions selon la norme CEI 1131
GRAFCET: éléments complémentaires
Exemples de déclaration d’actions selon la norme CEI 1131
25
GRAFCET: éléments complémentaires
Exemples de déclaration d’actions selon la norme CEI 1131
GRAFCET
METHODOLOGIE DE GESTION D’UN PROJET
StructurationApproche top downUtilisation de sous grafcets
Synchronisation : gestion du multitâcheLe mode de représentation GRAFCET autorise le lancement d’activités en parallèle et se déroulant de manière indépendanteNécessité de resynchroniser ces activités
Protection des ressources communesEviter les accès simultanés
Transposition du GRAFCET en langage automate
26
GRAFCET
METHODOLOGIE DE GESTION D’UN PROJET
StructurationApproche top downUtilisation de sous grafcets
Synchronisation : gestion du multitâcheLe mode de représentation GRAFCET autorise le lancement d’activités en parallèle et se déroulant de manière indépendanteNécessité de resynchroniser ces activités
Protection des ressources communesEviter les accès simultanés
Transposition du GRAFCET en langage automate
GRAFCET: Structuration
Pour garder au GRAFCET son potentiel de clarté: il faut le structurerAborder la conception d’un automatisme dans une approche top-down: du général vers le particulierUtiliser des étapes peut être décomposée en des Grafcets eux-mêmes
27
GRAFCET: Structuration
Intérêt de l’approche TOP-DOWNPlusieurs niveaux de description ⇒ facilite la description
Niveaux supérieurs compréhensibles par des non spécialistesOutil de dialogue entre différents métiers
Répartition du travailEntre plusieurs équipes
Test et maintenance : Identifier les blocs origines du problèmeObjectif: à chaque niveau, on peut avoir un GRAFCET sur une page ou àl’écran
GRAFCET: Structuration
Utilisation des macro étapes (rappel)
5
R1
A1
6
X103
MACRO-ETAPE
8
R4
A4
9 A5
10
X6
101
R2
102
R3
A3
103
A2
= 1
28
GRAFCET: Structuration
Utilisation des actions Grafcet (rappel)
5
R1
A1
6
8 A4
9 A5
100
R2
101 A3
A2
GRAFCET: Structuration
Utilisation du principe du client serveurConsiste à utiliser une action GRAFCET principal pour lancer le sous GRAFCET Le GRAFCET principal fait une demande de service au sous GRAFCETUne fois sa tâche terminée le sous GRAFCET émet un compte-rendu d’activité (bit de bonne fin) qui permet de poursuivre la séquence
Avantages de la procédure client serveurIndépendance vis-à-vis de la numérotation des étapesFacilité de tester séparément les SOUS-GRAFCETSFacilité d’introduire des fonctions de diagnostic (variable de bonne fin ounon)
29
GRAFCET: Structuration
5 A1
6
OK100
DEM100
8
9
NOK100
18
Séquence normale
Séquence d'exception
10
DEM10
101
R2
102
R3
A3
103
A2
= 1
OK100
/R3 . t/102/1s
104
= 1
NOK100
Principe du client serveur pour la structuration des GRACETs
GRAFCET
METHODOLOGIE DE GESTION D’UN PROJET
StructurationApproche top downUtilisation de sous grafcets
Synchronisation : gestion du multitâcheLe mode de représentation GRAFCET autorise le lancement d’activités en parallèle et se déroulant de manière indépendanteNécessité de resynchroniser ces activités
Protection des ressources communesEviter les accès simultanés
Transposition du GRAFCET en langage automate
30
GRAFCET: Synchronisation
Synchronisation expliciteRegroupement de branches parallèles sur une double barre horizontale avec une réceptivitéunique.S’applique lorsque les activités parallèles sont si étroitement liées qu’une représentation graphique explicite de leurs interactions est indispensable.Lorsque les activités sont faiblement couplées on lui préfère des GRAFCETs indépendants pour des raisons de clarté. On les synchronise implicitement par variables d’étape.
= 1
11
R11
5
R5
6
7
8
R6
R7
2
R2
3
4
R3
9
R9
10
R1
1
GRAFCET: Synchronisation
Synchronisation implicite horizontale:
Echange de variables entre GRAFCET de même niveauLes activités sont décrites par des GRAFCETsgraphiquement indépendantsLes activités sont synchronisées par des bits d’étapes croisés qui servent de réceptivités dans les autres GRAFCETs
8
X20
100
R1
2
R2
3
R3
4
X20
Synchronisation d'activités parallèles : méthode implicite SYNCHRONISATION HORIZONTALE
200
R1
5
R5
6
R6
7
R7
300
R1
9
R9
10
X20
400
X4.X8.X10
11
20
= 1
R11
31
GRAFCET: Synchronisation
Synchronisation implicite verticaleLa synchronisation horizontale peut devenir difficile à suivre à cause des croisements de variables d’étape Synchronisation verticale utilise un GRAFCET supplémentaire de synchronisation et utilise le principe du client serveurLe GRAFCET supérieur contrôle l’exécution des activitésLes interactions ne se font qu’avec le GRAFCET de synchronisation
GRAFCET: Synchronisation
50
R1
501
502
OK400
503
= 1
OK100.OK200.OK300
DEM100 DEM200 DEM300
DEM400
Démarrer les activités 100, 200, 300Attendre la fin des activités 100, 200, 300Démarrer l'activité 400Attendre la fin de l'activité 400
8
10
DEM100
2
R2
3
R3
4
20
5
R5
6
R6
7
R7
30
9
R9
10
40
11
20
R1
DEM200 DEM300 DEM400
OK100
OK200
OK300 OK400
Synchronisation verticale
32
GRAFCET
METHODOLOGIE DE GESTION D’UN PROJET
StructurationApproche top downUtilisation de sous grafcets
Synchronisation : gestion du multitâcheLe mode de représentation GRAFCET autorise le lancement d’activités en parallèle et se déroulant de manière indépendanteNécessité de resynchroniser ces activités
Protection des ressources communesEviter les accès simultanés
Transposition du GRAFCET en langage automate
GRAFCET: Protection des ressources communes
La protection des ressources communes se pose typiquement lorsque l’on traite des activités se déroulant en parallèle.Les ressources communes doivent être protégées
Exemple de protection d’une ressource commune: wagonnets de chargement d’un haut fourneau
33
GRAFCET: Protection des ressources communes
Le GRAFCET permet de gérer ces conflits de manière élégante Utilisation d’une étape de verrouillageL’état libre ou occupé de la ressource commune est représenté par la variable d’étape X1Pour éviter le cas où les deux wagons se présentent simultanément en WA et WB, on a la réceptivité /X12, ce qui donne priorité au wagonnet A.
14
10
Démarrage
11
12 Attente
13
Chargement et démarrage wagonnet
Point WA atteint
Point WA atteint
Point A atteint
Déchargement et retour
Retour vers A
WAGONNET A
= 1
24
20
Démarrage
21
22 Attente
23
Chargement et démarrage wagonnet
Point WB atteint
Point WB atteint
Point B atteint
Déchargement et retour
Retour vers B
/X12
1 SYN
WAGONNET B
Mécanisme de protection de la ressource commune – Méthode explicite
GRAFCET: Protection des ressources communes
Mécanisme de protection de la ressource commune par l’utilisation d’un graphe de synchronisation
Remarque : étape 1 joue le rôle de sémaphore en programmation temps réel
Mécanisme de protection de la ressource communeUtilisation d'un graphe de synchronisation
1
X13 + X23
2
X14 + X24
14
10
Démarrage
11
12 Attente
13
Point WA atteint
Point WA atteint
Point A atteint
WAGONNET
X1
24
20
Démarrage
21
22
23
Point WB atteint
Point WB atteint
Point B atteint
X1./X12
WAGONNET
34
GRAFCET
METHODOLOGIE DE GESTION D’UN PROJET
StructurationApproche top downUtilisation de sous grafcets
Synchronisation : gestion du multitâcheLe mode de représentation GRAFCET autorise le lancement d’activités en parallèle et se déroulant de manière indépendanteNécessité de resynchroniser ces activités
Protection des ressources communesEviter les accès simultanés
Transposition du GRAFCET en langage automate
Transposition en langage automate
Types de méthodes:Bits d’étape:
L’activité d’une étape est représentée par l’état vrai ou faux d’une variable binaire internePlusieurs variantes qui peuvent être programmées en IL, LadderDiagramm, etc.
Pointeur de phase;L’activité est représentée par la valeur d’un motValeur du mot = numéro de l’étape activeAffecter un mot aux branches susceptibles d’évoluer en parallèleTravail sur des mots ⇒ langages adéquats ST
35
Transposition en langage automate
Critères de choixFacilité d’édition et lisibilité du programme
Adéquation entre méthode et langage utiliséExemple:
Structured Text le pointeur de phase est meilleurIL: bit d’étape
Facilité de mise au pointForçage des variables en phase de mise au point Intérêt et sécurité du pointeur de phase
Facilité de diagnosticVisualisation dynamique du pointeur de phase
Performances: Dépend du type d’automate et du nombre d’étapes du GRAFCETPas de règle générale
Transposition en langage automate
Difficultés potentiellesCause: les instructions décrivant le GRAFCET ne sont pas exécutées de manière simultanée, mais de manière séquentielle.
Durée d’activation minimale d’une étape doit être au moins égale àun temps de cycle
Les sorties sont calculées durant le cycle, mais elles ne sont inscrites dans la table des images et envoyées vers les interfaces qu’à la fin du cycleSi étape activée et désactivée au cours d’un même cycle: pas d’effet!Règle: les étapes doivent rester actives au moins un temps de cycle d’automate
Conditions d’activation de course potentiellement liées à l’ordre de scrutation des GRAFCETs.
36
Transposition en langage automate
Problème de parallélisme d’exécutionPas de solution radicale et universelleL’utilisateur doit détecter le problème et organiser la programmation pour contrer le problèmeEtudier la logique (si elle est donnée) avec laquelle le programme exécute le programme (par exemple en logigramme de droite à gauche et de haut en bas)
Problème de synchronisationProblème lié à l’échange de variables d’étape pour synchroniser, pour le parallélisme et pour la protection des ressources communesDans ce cas, la difficulté est contournée de la manière suivante: lorsqu’un GRAFCET prend le contrôle de la ressource, il fait évoluer dans le même temps le GRAFCET de synchronisationOn duplique donc les évolutions du GRAFCET de contrôle
Problème des branches parallèles interactives
Cas idéal: évolution simultanée
•
R1
A1
= 1
A11
•
A1
A2
•
A2 . /A11
A3
R1
A1
= 1
A11
A1
A2
A2 . /A11
A3
•
• •
R1
A1
= 1
A11
A1
A2
A2 . /A11
A3• • •
37
Problème des branches parallèles interactives
Scrutation dans l’ordre 1-2-3:On atteint l’état stable correct après deux cycles
•
R1
A1
= 1
A11
•
A1
A2
•
A2 . /A11
A3
R1
A1
= 1
A11
A1
A2
A2 . /A11
A3
•
• •
R1
A1
= 1
A11
A1
A2
A2 . /A11
A3• • •
1 2 3
Problème des branches parallèles interactives
Scrutation dans l’ordre 3-2-1:On atteint l’état stable erroné après deux cycles
•
R1
A1
= 1
A11
•
A1
A2
•
A2 . /A11
A3
R1
A1
= 1
A11
A1
A2
A2 . /A11
A3
•
•
•
R1
A1
= 1
A11
A1
A2
A2 . /A11
A3•
• •
1 2 3
38
Problème de synchronisation
14
10
Démarrage
11
12•Attente
13
Point WA atteint
Point WA atteint
Point A atteint
WAGONNET
X1
1
24
20
Démarrage
21
22•
23
Point WB atteint
Point WB atteint
Point B atteint
X1./X12
WAGONNET
2
1•
X13 + X23
2
X14 + X24
3
Etat initial
Problème de synchronisation
Etat final:Evolution fautive dans le cas d’une scrutation 1 – 2 -3
14
10
Démarrage
11
12 Attente
13•
Point WA atteint
Point WA atteint
Point A atteint
WAGONNET
X1
1
24
20
Démarrage
21
22
23•
Point WB atteint
Point WB atteint
Point B atteint
X1./X12
WAGONNET
2
1
X13 + X23
2•
X14 + X24
3
39
Organisation des programmes
Partie combinatoireSéparer la partie combinatoire de la partie séquentielle
Mettre la partie combinatoire en avant
Partie séquentielleSéparer la partie du programme relative à l’évolution du GRAFCET et la partie calcul des actionsLes actions
Calcul des actions en fin de programmeTrier le calcul des actions en une seule équationFacilité de la mise au pointTraitement plus facile des arrêts d’urgence
Organisation des programmes: actions
A
A
S
R
M2
M2
M2
M3
M3
M3
M4
M4
M4
A
A
A
A
A
a.
b.
c.
AU
Intérêt de regrouper les équations relatives aux actions
40
Méthodes de transpositions
Calcul préalable des conditions de transition
Les conditions de transition pour toutes les étapes sont calculées en début de programmeLes bits internes de résultats sont ensuite utilisés en tant que réceptivités dans la description de l’évolution du GRAFCET
Si une étape était activée au cours du cycle, on est certain qu’elle ne peut pas être désactivée dans un même cycle d’automate puisque la réceptivité+ validation est nécessairement faux
Les actions sont regroupées à la fin du programme
– Exemple de GRAFCET
– Calcul des conditions de transition condition de transition 10 - 20
LD AND ST LD AND ST • • •
M10 R1 M11 M20 R2 M21
Si l'étape 10 est active et que la réceptivité R1 est vraie activer la condition de transition M11 condition de transition 20 - 30 Si l'étape 20 est active et que la réceptivité R2 est vraie activer la condition de transition M21
– Calcul de l'évolution transition 10, 20
LD AND S R
M10 M11 M20 M10
Si l'étape 10 est active et que la condition de transition est vraie alors activer l'étape 20 et désactiver l'étape 10
transition 20, 30 LD AND S R • • •
M20 M21 M30 M20
Si l'étape 20 est active et que la condition de transition est vraie alors activer l'étape 30 et désactiver l'étape 20
– Calcul des actions
• • •
20
30
R2
R1
10
Méthodes de transpositions
Calcul préalable des conditions de transition
Lourd point de vue calculForçage facile (un bit à forcer)Purement logique (pas d’opérations arithmétiques ni de sauts)Assure un temps de cycle au moins par étapeAssure la condition pour les actions « impulsionelles »
– Exemple de GRAFCET
– Calcul des conditions de transition condition de transition 10 - 20
LD AND ST LD AND ST • • •
M10 R1 M11 M20 R2 M21
Si l'étape 10 est active et que la réceptivité R1 est vraie activer la condition de transition M11 condition de transition 20 - 30 Si l'étape 20 est active et que la réceptivité R2 est vraie activer la condition de transition M21
– Calcul de l'évolution transition 10, 20
LD AND S R
M10 M11 M20 M10
Si l'étape 10 est active et que la condition de transition est vraie alors activer l'étape 20 et désactiver l'étape 10
transition 20, 30 LD AND S R • • •
M20 M21 M30 M20
Si l'étape 20 est active et que la condition de transition est vraie alors activer l'étape 30 et désactiver l'étape 20
– Calcul des actions
• • •
20
30
R2
R1
10
41
Méthodes de transpositions
Utilisation des sauts conditionnelsSi le langage comporte des sauts conditionnels, on peut les utiliser pour éviter des calculs inutilesOn saute d’étape en étape jusqu’àtomber sur l’étape activeOn calcule la réceptivité pour l’étape active et si elle est vraie on fait évoluer le GRAFCETOn saute à la fin du programmeLes actions sont regroupées à la fin du programme
transition 10 - 20
ET10 : LDN JMPC LD S R JMP
M10 ET20 R1 M20 M10 ACTION
Si l'étape 10 n'est pas active sauter à l'étape suivante Sinon tester la réceptivité et, si elle est vraie activer l'étape 20 désactiver l'étape 10 sauter au calcul des actions
transition 20 - 30 ET20 : LDN
JMPC LD S R JMP • • •
M20 ET30 R2 M30 M20 ACTION
Si l'étape 20 n'est pas active sauter à l'étape suivante Sinon tester la réceptivité et, si elle est vraie activer l'étape 30 désactiver l'étape 20 sauter au calcul des actions
ACTION : • • •
calcul des actions
Méthodes de transpositions
Utilisation des sauts conditionnelsPlus difficile pour le forçage des variables car il faut recalculer R1On peut envisager un calcul préalable des réceptivités avec un bit interne de mémorisation, mais un perd une partie du bénéfice des sauts.
transition 10 - 20
ET10 : LDN JMPC LD S R JMP
M10 ET20 R1 M20 M10 ACTION
Si l'étape 10 n'est pas active sauter à l'étape suivante Sinon tester la réceptivité et, si elle est vraie activer l'étape 20 désactiver l'étape 10 sauter au calcul des actions
transition 20 - 30 ET20 : LDN
JMPC LD S R JMP • • •
M20 ET30 R2 M30 M20 ACTION
Si l'étape 20 n'est pas active sauter à l'étape suivante Sinon tester la réceptivité et, si elle est vraie activer l'étape 30 désactiver l'étape 20 sauter au calcul des actions
ACTION : • • •
calcul des actions
42
Méthodes de transpositionsUtilisation d’un pointeur de phase
Pour les automates disposant de sauts conditionnels et d’opérations sur motsSi le GRAFCET a des branches parallèles, on le replace par autant de GRAFCET simples synchronisésA chaque GRAFCET on associe un mot de données appelépointeur de phase dont la valeur est égale au numéro de l’étape active.Condition de transition: comparaison avec le numéro de l’étape et la valeur du pointeur de phaseEvolution: le pointeur prend la valeur de la nouvelle étape active
a. Programmation en langage IL Pointeur de phase MW1 transition 10 - 20
ET10 : LD NE JMPC LD JMPCN LD ST JMP
10 MW1 ET20 R1 ACTION 20 MW1 ACTION
Si le pointeur de phase n'est pas égal à 10
sauter à l'étape suivante sinon, tester la réceptivité sauter au calcul des actions si elle est fausse
sinon mettre 20 dans le pointeur de phase
sauter au calcul des actions
transition 20 - 30 ET20 : LD
NE JMPC LD JMPCN LD ST JMP • • •
20 MW1 ET30 R2 ET20 30 MW1 ACTION
Si le pointeur de phase n'est pas égal à 20
sauter à l'étape suivante sinon, tester la réceptivité sauter au calcul des actions si elle est fausse
sinon mettre 30 dans le pointeur de phase
sauter au calcul des actions
ACTION : • • •
calcul des actions
b. Programmation en langage ST transition 10 - 20
! IF [MW1=10] . R1 THEN 20 → MW1 ; JUMP ACTION
transition 20 - 30 ! IF [MW1=20] . R2
THEN 30 → MW1 ; JUMP ACTION • • •
ACTION : • • •
Méthodes de transpositionsUtilisation d’un pointeur de phase
DésavantageMéthode plus gourmande en temps de calcul car opérations sur mots
Avantages:Garantit de manière intrinsèque qu’il n’y a qu’une seule étape activeFacilité du forçageFacilité de la visualisationLisibilité
a. Programmation en langage IL Pointeur de phase MW1 transition 10 - 20
ET10 : LD NE JMPC LD JMPCN LD ST JMP
10 MW1 ET20 R1 ACTION 20 MW1 ACTION
Si le pointeur de phase n'est pas égal à 10
sauter à l'étape suivante sinon, tester la réceptivité sauter au calcul des actions si elle est fausse
sinon mettre 20 dans le pointeur de phase
sauter au calcul des actions
transition 20 - 30 ET20 : LD
NE JMPC LD JMPCN LD ST JMP • • •
20 MW1 ET30 R2 ET20 30 MW1 ACTION
Si le pointeur de phase n'est pas égal à 20
sauter à l'étape suivante sinon, tester la réceptivité sauter au calcul des actions si elle est fausse
sinon mettre 30 dans le pointeur de phase
sauter au calcul des actions
ACTION : • • •
calcul des actions
b. Programmation en langage ST transition 10 - 20
! IF [MW1=10] . R1 THEN 20 → MW1 ; JUMP ACTION
transition 20 - 30 ! IF [MW1=20] . R2
THEN 30 → MW1 ; JUMP ACTION • • •
ACTION : • • •