Vous êtes sur la page 1sur 42

Chapitre 6 :

GRAFCET ou SFC

Pierre Duysin
Université 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és
„ Normalisation 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 graphique
„ Problème d’absence de normalisation au niveau sémantique
‰ La majorité des programmeurs recourent à une traduction manuelle

1
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 commande
„ Description des échanges d’informations et d’ordres
„ Langage technique

Approche progressive

„ Niveau 1: Spécifications fonctionnelles


‰ Description du comportement de la partie commande vis-à-vis de la
partie opérative PO
‰ Comprendre ce que l’automatisme doit faire
„ Caractériser les réactions de l’automatisme face aux infos de la PO
„ Dé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
actionneurs
‰ Sécurités de fonctionnement sont incluses dans les spécifications
fonctionnelles

2
Approche progressive

„ Niveau 2: Spécifications technologiques


‰ Préciser les spécifications technologiques des actionneurs, capteurs…
‰ Spécification d’interface: insertion de l’automatisme dans le processus et
son environnement
‰ Préciser
„ La nature et les informations sur les capteurs et actionneurs
„ Les contraintes sur les capteurs (température, humidité…)

„ Niveau 3: Spécifications opérationnelles


‰ Servir au suivi de fonctionnement de l’automatisme au cours de son
existence
‰ Dé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 ACTIONS
‰ TRANSITIONS auxquelles on associe des RÉCEPTIVITÉS
‰ LIAISONS ORIENTEES reliant les étapes aux transitions et les
transitions aux étapes

3
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 PC


‰ Fonctionnement 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

4
Exemple: presse

„ Partie opérative:
‰ Poinçon inférieur fixe C
‰ Poinçon supérieur A et une partie mobile B
‰ Sous ensemble de mise en place de la matière
‰ Sous ensemble d‘évacuation de la pièce

Exemple: presse
„ Fonctionnement du cycle
‰ Matrice 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 poudre
‰ Lors la matière pulvérulente est en place, le poinçon supérieur descend,
comprime la matière puis remonte en position haute
‰ La matrice descend jusqu’à ce que le poinçon inférieur affleure et libère
la pièce. La pièce est ensuite évacuée
‰ La matrice reprend sa place et le cycle peut recommencer.

5
Exemple: presse

„ Etude de la partie commande – GRAFCET de niveau 1

Etape 1 ; a ct ion : m ise en pla ce de la m a t ièr e


Transition 1-2 ; r écept ivit é : m a t ièr e en pla ce et dépa r t cycle
Etape 2 ; a ct ion : descen t e du poin çon
Transition 2-3 ; r écept ivit é : fin de compr ession
Etape 3 ; a ct ion : r em on t ée du poin çon
Transition 3-4 ; r écept ivit é : poin çon en h a ut
Etape 4 ; a ct ion : descen t e m a t r ice
Transition 4-5 ; r écept ivit é : m a t r ice en ba s
Etape 5 ; a ct ion : éva cu a t ion de la pièce com pr im ée
Transition 5-6 ; r écept ivit é : pièce éva cu ée
Etape 6 ; a ct ion : r em on t ée m a t rice
Transition 6-1 ; r écept ivit é : m a t r ice en h a u t

Exemple

GRAFCET de niveau 1

6
Exemple: presse

„ Etude de la partie commande – GRAFCET de niveau 2


‰ Il convient de préciser les choix technologiques des actionneurs et des
capteurs

„ Dans cet exemple


‰ Pas de procédure d’arrêt d’urgence
‰ Mise 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 d
‰ Les 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, b0
‰ L’é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 2
ORDRE S INF ORMATIONS

ver s le m ilieu ext ér ieu r et l'opér a t eu r dér ou lem en t du cycle


V : voya n t "P r êt " d : a u t or isa t ion de dépa r t cycle
com m a n de des a ct ion n eu r s
fin de cou r se des a ct ion n eu r s
a+ : descen t e poinçon
a1 : posit ion basse du poin çon
a– : r em on t ée poin çon
b– : descen t e m a t r ice a0 : posit ion h a ut e du poin çon
b+ : r em on t ée m a t rice b0 : posit ion basse de la m at r ice
E : éva cu a t ion b1 : posit ion h a ut e de la m at r ice

la n cem ent de t em por isa t ion s fin de t empor isa t ion


LT1 : la n cem en t t em por isa t ion d'éva cu a t ion ft 1 : fin de t empor isa t ion d'éva cu a t ion

7
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.

8
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


13 14 15 AVANCE
FIN •
„ L’étape se représente par un
a. b. c. Etape active
carré repéré par un numéro Représentation Symbole
„ On peut également adjoindre un
26 - ouvrir la vanne V3
nom symbolique - lancer le moteur M1
- actionner l'électrovanne EV6
„ Une étape peut être active ou - lancer la temporisation T6

inactive. - éteindre le voyant L12


- présélectionner à 14 le compteur C1

„ La situation du système est - décrémenter le compteur C2

entièrement défini par l’ensemble d. Actions multiples


de ses étapes actives
„ On peut marquer l’étape active 27 Si DEF, allumer L1

par un point Si /PP, allumer L4


Si X15, fermer trappe n° 2
Lancer temporisation de 10 secondes

e. Actions conditionnelles

Etapes du GRAFCET

9
Eléments de base du GRAFCET
13 14 15 AVANCE
FIN •
„ On précise pour chaque étape les
a. b. c. Etape active
actions caractéristiques à Représentation Symbole
effectuer
26 - ouvrir la vanne V3
„ Les actions sont effectives lorsque - lancer le moteur M1

l’étape est active - actionner l'électrovanne EV6


- lancer la temporisation T6

„ L’exécution des actions peut - éteindre le voyant L12


- présélectionner à 14 le compteur C1
encore être soumise à des - décrémenter le compteur C2

conditions
d. Actions multiples

27 Si DEF, allumer L1
Si /PP, allumer L4
Si X15, fermer trappe n° 2
Lancer temporisation de 10 secondes

e. Actions conditionnelles

Etapes du GRAFCET

Eléments de base du GRAFCET

5 5 8

a a↑ t/8/5s

6 6 9 A

y y↓ t/8/10s
= 10 seconde depuis
activation étape 8
7 7 10

a. Etats logiques b. Changements d'état c. Dépendant du temps

Transitions et réceptivités

10
Eléments de base du GRAFCET

„ Les liaisons sont horizontales ou verticales


‰ Adopter une représentation qui contribue au mieux à la clarté du
fonctionnement
‰ Utiliser les flèches pour améliorer la compréhension ou que l’orientation
n’est pas respectée
‰ Eviter les croisements pour éviter les ambiguïtés
„ Sens générale de parcours = de haut en bas
‰ L’arrivée à une étape est en haut et le départ en bas

Règles d’évolution du GRAFCET

„ Règle 1: Etape initiale


‰ Elle est activée inconditionnellement au départ du système
‰ Correspond à un comportement repos de la PO

Règle 1: étape initiale


„ Règle 2: Franchissement d’une transition
‰ Le 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

11
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

12
Règles d’évolution du GRAFCET

„ Règle 3: Evolution des étapes actives


‰ Le 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ées


‰ Plusieurs 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ée


‰ Si 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

13
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

14
GRAFCET: séquences multiples

CHOIX CONDITIONNEL OU
„ Configuration 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èle
„ L’exécution des différentes branches
est indépendante, mais se déroule
en même temps
„ Représentation: une transition
UNIQUE et deux traits parallèles
indiquent le début et la fin des
séquences parallèles
„ A la fin attente réciproque
(synchronisation)

15
GRAFCET: séquences multiples

SAUT D’ETAPES ET REPRISE


DE SEQUENCE
„ Permet de sauter une ou plusieurs
étapes lorsque les actions à
réaliser deviennent inutiles

REPRISE DE SEQUENCE
„ Permet de reprendre plusieurs fois
la même séquence tant que la
condition fixée n’est pas obtenue

GRAFCET: organisation
GRAFCET
LA MACRO-ÉTAPE
„ Eviter la surcharge du GRAFCET
5 A1 10
principal par des détails de
fonctionnement à l’intérieur d’une R1 X6
étape. 6 MACRO- 101 A2
ETAPE
„ Les détails de réalisation sont X103 R2
décrits par un autre diagramme
8 A4 102 A3
appelé « expansion macro étape »
„ La macro étape est repérée par R4 R3

deux barres verticales dans le 9 A5 103


rectangle des actions
=1

16
GRAFCET: organisation

Principe de la macro étape

GRAFCET: organisation

SEQUENCE REPETE
„ Certaines 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

17
GRAFCET: organisation

ETAPE DE VERROUILLAGE
„ Cette é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 SYNCHRONISATION
„ Cette 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.

18
Exemple: Poste de perçage
„ On considère un poste de perçage
comportant un système
d’alimentation, une perceuse, un
testeur et un plateau tournant
„ On demande d’établir le GRAFCET
de l’automatisme
‰ Les différentes parties du poste de
perçage doivent fonctionner en
parallèle
‰ Si 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 poussoir
‰ On suppose le système en régime. Il y
a une pièce à chaque emplacement
du plateau

Exemple: Poste de perçage


Entrées Actions
Alimentation Pièce chargée Avancer chargeur
Chargeur en arrière Reculer chargeur
Serrage Pièce serrée Avance serrage
Pièce desserrée Recul serrage
Perçage Perceuse en bas Descente perceuse
Perceuse en haut Montée perceuse
Testeur Testeur en bas Descente testeur
Testeur en haut Montée testeur
Evacuation Pièce évacuée Avance évacuation
Evacuation en arrière Recul évacuation
Plateau Fin de rotation Rotation plateau

Opérateur Marche Alarme


Réarmement

19
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.X
‰ La 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.T
„ Pas 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

20
GRAFCET: éléments complémentaires
Solutions adoptées par différents constructeurs
pour les variables d’étape

CE I 1131 ALLE N- CADE P A ISAGRAP H TE LE ME -


BRADLE Y CANIQUE
va r ia ble ét a pe . X *SCj:n . SA Xi GSi . X Xi
d'ét a pe
du r ée ét a pe . T *SCj:n . TIM - GSi . t *Xi, V
d'ét a pe
r écept ivit é ét a pe . T > SCj:n . DN T/i/5s/ GSi . t > 5s Xi, V > 50
a ssociée à la T#5s
du r ée

ALLEN-BRADLE Y
j : n ° du fichier de cont r ôle SF C
n : n ° de la st r uct u r e de con t r ôle at t a ch ée à l'ét ape con sidér ée
SCj:n . P RE : va leur de pr ésélect ion pou r la du r ée d'ét ape

CADEP A, ISAGRAP H , TE LE ME CANIQUE


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 implicite
„ Difficulté de mise au point et de maintenance

21
GRAFCET: éléments complémentaires
Disponibilit é
Qualificat if Explicat ion
chez les const ruct eurs

N or m e H or s
A-B Telem Isa gr a f Ca dep
CE I n or m e
a
1131
- P a r défa u t - Non m ém or isé X X X X
N Non m ém or isé X X
S P osit ion n é (m ém or isé) X X X
R Rem ise à zér o pr ior it a ir e X X X
L Lim it é da ns le t em ps X
D Tem por isé X X
P P1 Im pu lsion (a ct iva t ion ) X X X
P0 Im pu lsion (désa ct iva t ion ) X X X
SL Mém or isé et lim it é da ns le X
SD t em ps X
DS Mém or isé et et tem por isé X
Tem por isé et m ém or isé

Différents types d’action

GRAFCET: éléments complémentaires

Différents types d’action

22
GRAFCET: éléments complémentaires

„ NATURE DES ACTIONS


‰ Le plus souvent, une action = changer une ou plusieurs variables
booléennes
‰ La norme permet également de réaliser des opérations arithmétiques ou
autres dans un langage quelconque de l’automate
‰ Ces instructions effectuées à chaque cycle pendant la durée de l’action
‰ Une action peut être constituée d’un autre GRAFCET.
„ Démarrage au moment du démarrage de l’action
„ Tué 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

23
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

24
GRAFCET: éléments complémentaires

Exemples de déclaration d’actions selon la norme CEI 1131

GRAFCET

„ METHODOLOGIE DE GESTION D’UN PROJET

„ Structuration
‰ Approche top down
‰ Utilisation de sous grafcets
„ Synchronisation : gestion du multitâche
‰ Le mode de représentation GRAFCET autorise le lancement d’activités en
parallèle et se déroulant de manière indépendante
‰ Nécessité de resynchroniser ces activités
„ Protection des ressources communes
‰ Eviter les accès simultanés
„ Transposition du GRAFCET en langage automate

25
GRAFCET

„ METHODOLOGIE DE GESTION D’UN PROJET

„ Structuration
‰ Approche top down
‰ Utilisation de sous grafcets
„ Synchronisation : gestion du multitâche
‰ Le mode de représentation GRAFCET autorise le lancement d’activités en
parallèle et se déroulant de manière indépendante
‰ Nécessité de resynchroniser ces activités
„ Protection des ressources communes
‰ Eviter les accès simultanés
„ Transposition du GRAFCET en langage automate

GRAFCET: Structuration
„ Pour garder au GRAFCET son potentiel de clarté: il faut le structurer
„ Aborder la conception d’un automatisme dans une approche top-down: du
général vers le particulier
„ Utiliser des étapes peut être décomposée en des Grafcets eux-mêmes

26
GRAFCET: Structuration

„ Intérêt de l’approche TOP-DOWN


‰ Plusieurs niveaux de description ⇒ facilite la description
„ Niveaux supérieurs compréhensibles par des non spécialistes
„ Outil de dialogue entre différents métiers
‰ Répartition du travail
„ Entre plusieurs équipes
‰ Test et maintenance :
„ Identifier les blocs origines du problème
„ Objectif: à chaque niveau, on peut avoir un GRAFCET sur une page ou à
l’écran

GRAFCET: Structuration

„ Utilisation des macro étapes (rappel)

5 A1 10

R1 X6

6 MACRO- 101 A2
ETAPE
X103 R2

8 A4 102 A3

R4 R3

9 A5 103

=1

27
GRAFCET: Structuration

„ Utilisation des actions Grafcet (rappel)

5 A1

R1 100 A2

6 R2

101 A3

8 A4

9 A5

GRAFCET: Structuration

„ Utilisation du principe du client serveur


‰ Consiste à utiliser une action GRAFCET principal pour lancer le sous
GRAFCET
‰ Le GRAFCET principal fait une demande de service au sous GRAFCET
‰ Une 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 serveur


‰ Indépendance vis-à-vis de la numérotation des étapes
‰ Facilité de tester séparément les SOUS-GRAFCETS
‰ Facilité d’introduire des fonctions de diagnostic (variable de bonne fin ou
non)

28
GRAFCET: Structuration

5 A1

10
6 DEM100
DEM10
OK100 NOK100
101 A2
8 18
R2

102 A3
9

R3 /R3 . t/102/1s

103 OK100 104 NOK100


Séquence Séquence
normale d'exception =1 =1

Principe du client serveur pour la structuration des GRACETs

GRAFCET

„ METHODOLOGIE DE GESTION D’UN PROJET

„ Structuration
‰ Approche top down
‰ Utilisation de sous grafcets
„ Synchronisation : gestion du multitâche
‰ Le mode de représentation GRAFCET autorise le lancement d’activités en
parallèle et se déroulant de manière indépendante
‰ Nécessité de resynchroniser ces activités
„ Protection des ressources communes
‰ Eviter les accès simultanés
„ Transposition du GRAFCET en langage automate

29
GRAFCET: Synchronisation

„ Synchronisation explicite
1
‰ Regroupement de branches
R1
parallèles sur une double barre
horizontale avec une réceptivité
2 5 9 unique.
R2 R5 R9 ‰ S’applique lorsque les activités
3 6 10 parallèles sont si étroitement liées
R3 R6 qu’une représentation graphique
4 7
explicite de leurs interactions est
indispensable.
R7
‰ Lorsque les activités sont faiblement
8
couplées on lui préfère des
GRAFCETs indépendants pour des
=1
raisons de clarté. On les synchronise
11 implicitement par variables d’étape.
R11

GRAFCET: Synchronisation
Synchronisation d'activités parallèles : méthode implicite
„ Synchronisation implicite
SYNCHRONISATION HORIZONTALE
horizontale:
‰ Echange de variables
entre GRAFCET de 100 200 300 400
même niveau R1 R1 R1 X4.X8.X10
‰ Les activités sont
2 5 9 11
décrites par des
GRAFCETs R2 R5 R9 R11

graphiquement 3 6 10 20
indépendants
R3 R6 X20 =1
‰ Les activités sont
4 7
synchronisées par des
bits d’étapes croisés qui X20 R7

servent de réceptivités 8
dans les autres
X20
GRAFCETs

30
GRAFCET: Synchronisation

„ Synchronisation implicite verticale


‰ La 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 serveur
‰ Le GRAFCET supérieur contrôle l’exécution des activités
‰ Les interactions ne se font qu’avec le GRAFCET de synchronisation

GRAFCET: Synchronisation

50 10 20 30 40
R1 DEM100 DEM200 DEM300 DEM400
DEM100
501 DEM200
2 5 9 11
DEM300
OK100.OK200.OK300
R2 R5 R9 R1
502 DEM400
3 6 10 20
OK400
R3 R6 OK300 OK400

503 4 7
=1 OK100 R7

8
Démarrer les activités 100, 200, 300
Attendre la fin des activités 100, 200, 300 OK200

Démarrer l'activité 400


Attendre la fin de l'activité 400
Synchronisation verticale

31
GRAFCET

„ METHODOLOGIE DE GESTION D’UN PROJET

„ Structuration
‰ Approche top down
‰ Utilisation de sous grafcets
„ Synchronisation : gestion du multitâche
‰ Le mode de représentation GRAFCET autorise le lancement d’activités en
parallèle et se déroulant de manière indépendante
‰ Nécessité de resynchroniser ces activités
„ Protection des ressources communes
‰ Eviter 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

32
GRAFCET: Protection des ressources
communes
10 20
„ Le GRAFCET permet de gérer
ces conflits de manière Démarrage Démarrage

élégante 11 Chargement et
démarrage wagonnet
21 Chargement et
démarrage wagonnet

„ Utilisation d’une étape de Point WA atteint Point WB atteint

verrouillage 12
Attente
1
SYN
22
Attente

„ L’état libre ou occupé de la


ressource commune est =1 /X12

représenté par la variable 13 Déchargement et


23 Déchargement et
retour retour
d’étape X1 Point WA atteint Point WB atteint

„ Pour éviter le cas où les deux


wagons se présentent
14 Retour vers A 24 Retour vers B
simultanément en WA et WB,
on a la réceptivité /X12, ce qui Point A atteint Point B atteint

donne priorité au wagonnet A.


WAGONNET A WAGONNET B

Mécanisme de protection de la ressource


commune – Méthode explicite

GRAFCET: Protection des ressources


communes 1

„ Mécanisme de protection de X13 + X23

la ressource commune par 10


2
20
l’utilisation d’un graphe de Démarrage X14 + X24 Démarrage

synchronisation
11 21

Point WA atteint Point WB atteint

„ Remarque : étape 1 joue le


12 22
rôle de sémaphore en Attente

programmation temps réel X1 X1./X12

13 23

Point WA atteint Point WB atteint

14 24

Point A atteint Point B atteint

WAGONNET WAGONNET

Mécanisme de protection de la ressource commune


Utilisation d'un graphe de synchronisation

33
GRAFCET

„ METHODOLOGIE DE GESTION D’UN PROJET

„ Structuration
‰ Approche top down
‰ Utilisation de sous grafcets
„ Synchronisation : gestion du multitâche
‰ Le mode de représentation GRAFCET autorise le lancement d’activités en
parallèle et se déroulant de manière indépendante
‰ Nécessité de resynchroniser ces activités
„ Protection des ressources communes
‰ Eviter 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 interne
„ Plusieurs variantes qui peuvent être programmées en IL, Ladder
Diagramm, etc.

‰ Pointeur de phase;
„ L’activité est représentée par la valeur d’un mot
„ Valeur du mot = numéro de l’étape active
„ Affecter un mot aux branches susceptibles d’évoluer en parallèle
„ Travail sur des mots ⇒ langages adéquats ST

34
Transposition en langage automate

„ Critères de choix
‰ Facilité d’édition et lisibilité du programme
„ Adéquation entre méthode et langage utilisé
„ Exemple:
‰ Structured Text le pointeur de phase est meilleur
‰ IL: bit d’étape
‰ Facilité de mise au point
„ Forçage des variables en phase de mise au point
„ Intérêt et sécurité du pointeur de phase
‰ Facilité de diagnostic
„ Visualisation dynamique du pointeur de phase
‰ Performances:
„ Dépend du type d’automate et du nombre d’étapes du GRAFCET
„ Pas de règle générale

Transposition en langage automate


„ Difficultés potentielles
‰ Cause: 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
cycle
‰ Si é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.

35
Transposition en langage automate

„ Problème de parallélisme d’exécution


‰ Pas de solution radicale et universelle
‰ L’utilisateur doit détecter le problème et organiser la programmation pour
contrer le problème
‰ Etudier 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 synchronisation
‰ Problème lié à l’échange de variables d’étape pour synchroniser, pour le
parallélisme et pour la protection des ressources communes
‰ Dans 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 synchronisation
‰ On duplique donc les évolutions du GRAFCET de contrôle

Problème des branches parallèles interactives


• • •

R1 A1 A2 . /A11

A1 A2 A3

=1

A11
Cas idéal: évolution simultanée

R1 A1 A2 . /A11

• A1 • A2 • A3

=1

A11

R1 A1 A2 . /A11

A1 • A2 • A3

=1

• A11

36
Problème des branches parallèles interactives
1 2 3

• • •

R1 A1 A2 . /A11

A1 A2 A3

=1
Scrutation dans l’ordre 1-2-3:
A11
On atteint l’état stable correct après
deux cycles

R1 A1 A2 . /A11

• A1 • A2 • A3

=1

A11

R1 A1 A2 . /A11

A1 • A2 • A3

=1

• A11

Problème des branches parallèles interactives


1 2 3

• • •

R1 A1 A2 . /A11

A1 A2 A3

=1

A11
Scrutation dans l’ordre 3-2-1:
On atteint l’état stable erroné après
deux cycles
• •

R1 A1 A2 . /A11

• A1 A2 A3

=1

A11

R1 A1 A2 . /A11

A1 • A2 A3

=1

• A11

37
Problème de synchronisation
1 2 3

10 20
1•
Démarrage
Démarrage
X13 + X23
11 21
2
Point WA atteint
Point WB atteint
X14 + X24
12•
Attente 22•

X1 X1./X12
13 Etat initial
23
Point WA atteint
Point WB atteint

14 24
Point A atteint
Point B atteint

WAGONNET WAGONNET

Problème de synchronisation
1 2 3

10 20
1
Démarrage
Démarrage
X13 + X23
11 21
2•
Point WA atteint
Point WB atteint
X14 + X24
12
Attente 22

X1 X1./X12
13• 23•
Point WA atteint
Point WB atteint

Etat final:
14 24 Evolution fautive dans le cas
Point A atteint
Point B atteint d’une scrutation 1 – 2 -3

WAGONNET WAGONNET

38
Organisation des programmes

„ Partie combinatoire
‰ Séparer la partie combinatoire de la partie séquentielle
„ Mettre la partie combinatoire en avant

„ Partie séquentielle
‰ Séparer la partie du programme relative à l’évolution du GRAFCET et la
partie calcul des actions
‰ Les actions
„ Calcul des actions en fin de programme
„ Trier le calcul des actions en une seule équation
„ Facilité de la mise au point
„ Traitement plus facile des arrêts d’urgence

Organisation des programmes: actions


M2 A
S A

M3 A

M4 A

a.
R A

M2 A

M3

M4

AU M2 A
b.
Intérêt de regrouper les équations
M3
relatives aux actions

M4

c.

39
Méthodes de transpositions
– Exemple de GRAFCET

10

R1
„ Calcul préalable des conditions de 20

transition R2

30
‰ Les conditions de transition pour
toutes les étapes sont calculées en
– Calcul des conditions de transition
début de programme
condition de transition 10 - 20
‰ Les bits internes de résultats sont LD M10 Si l'étape 10 est active
AND R1 et que la réceptivité R1 est vraie
ensuite utilisés en tant que ST M11 activer la condition de transition M11
LD M20 condition de transition 20 - 30
réceptivités dans la description de AND R2 Si l'étape 20 est active
l’évolution du GRAFCET ST

M21 et que la réceptivité R2 est vraie
activer la condition de transition M21

„ Si une étape était activée au •

cours du cycle, on est certain – Calcul de l'évolution

qu’elle ne peut pas être transition 10, 20


désactivée dans un même cycle LD M10 Si l'étape 10 est active
AND M11 et que la condition de transition est vraie
d’automate puisque la réceptivité S M20 alors activer l'étape 20
R M10 et désactiver l'étape 10
+ validation est nécessairement
transition 20, 30
faux LD M20 Si l'étape 20 est active
AND M21 et que la condition de transition est vraie
‰ Les actions sont regroupées à la S M30 alors activer l'étape 30
fin du programme R M20 et désactiver l'étape 20


– Calcul des actions



Méthodes de transpositions
– Exemple de GRAFCET

10

R1

„ Calcul préalable des conditions de 20

transition R2

30

‰ Lourd point de vue calcul


‰ Forçage facile (un bit à forcer) – Calcul des conditions de transition

condition de transition 10 - 20
‰ Purement logique (pas LD M10 Si l'étape 10 est active
AND R1 et que la réceptivité R1 est vraie
d’opérations arithmétiques ni de ST M11 activer la condition de transition M11
LD M20 condition de transition 20 - 30
sauts) AND R2 Si l'étape 20 est active
ST M21 et que la réceptivité R2 est vraie
‰ Assure un temps de cycle au •

activer la condition de transition M21

moins par étape
– Calcul de l'évolution
‰ Assure la condition pour les transition 10, 20
actions « impulsionelles » LD
AND
M10
M11
Si l'étape 10 est active
et que la condition de transition est vraie
S M20 alors activer l'étape 20
R M10 et désactiver l'étape 10

transition 20, 30
LD M20 Si l'étape 20 est active
AND M21 et que la condition de transition est vraie
S M30 alors activer l'étape 30
R M20 et désactiver l'étape 20


– Calcul des actions



40
Méthodes de transpositions
„ Utilisation des sauts conditionnels
transition 10 - 20
‰ Si le langage comporte des sauts ET10 : LDN M10 Si l'étape 10 n'est pas active
JMPC ET20 sauter à l'étape suivante
conditionnels, on peut les utiliser LD R1 Sinon tester la réceptivité et, si elle est vraie
pour éviter des calculs inutiles S M20 activer l'étape 20
R M10 désactiver l'étape 10
‰ On saute d’étape en étape jusqu’à JMP ACTION sauter au calcul des actions

tomber sur l’étape active transition 20 - 30


ET20 : LDN M20 Si l'étape 20 n'est pas active
‰ On calcule la réceptivité pour JMPC ET30 sauter à l'étape suivante
l’étape active et si elle est vraie on LD R2 Sinon tester la réceptivité et, si elle est vraie
S M30 activer l'étape 30
fait évoluer le GRAFCET R M20 désactiver l'étape 20
JMP ACTION sauter au calcul des actions
‰ On saute à la fin du programme •


‰ Les actions sont regroupées à la
fin du programme ACTION : calcul des actions


Méthodes de transpositions
„ Utilisation des sauts conditionnels
transition 10 - 20
‰ Plus difficile pour le forçage des ET10 : LDN M10 Si l'étape 10 n'est pas active
JMPC ET20 sauter à l'étape suivante
variables car il faut recalculer R1 LD R1 Sinon tester la réceptivité et, si elle est vraie
S M20 activer l'étape 20
‰ On peut envisager un calcul R M10 désactiver l'étape 10
préalable des réceptivités avec un JMP ACTION sauter au calcul des actions

bit interne de mémorisation, mais transition 20 - 30


ET20 : LDN M20 Si l'étape 20 n'est pas active
un perd une partie du bénéfice des JMPC ET30 sauter à l'étape suivante
sauts. LD R2 Sinon tester la réceptivité et, si elle est vraie
S M30 activer l'étape 30
R M20 désactiver l'étape 20
JMP ACTION sauter au calcul des actions


ACTION : calcul des actions




41
Méthodes de transpositions
a. Programmation en langage IL

Pointeur de phase MW1

„ Utilisation d’un pointeur de phase transition 10 - 20


ET10 : LD 10 Si le pointeur de phase n'est pas égal à
‰ Pour les automates disposant de NE MW1 10
JMPC ET20 sauter à l'étape suivante
sauts conditionnels et d’opérations LD R1 sinon, tester la réceptivité
JMPCN ACTION sauter au calcul des actions si elle est fausse
sur mots LD 20 sinon mettre 20 dans le pointeur de
ST MW1 phase
‰ Si le GRAFCET a des branches JMP ACTION sauter au calcul des actions
parallèles, on le replace par autant transition 20 - 30
de GRAFCET simples ET20 : LD
NE
20
MW1
Si le pointeur de phase n'est pas égal à
20
synchronisés JMPC ET30 sauter à l'étape suivante
LD R2 sinon, tester la réceptivité
‰ A chaque GRAFCET on associe JMPCN
LD
ET20
30
sauter au calcul des actions si elle est fausse
sinon mettre 30 dans le pointeur de
un mot de données appelé ST MW1 phase
JMP ACTION sauter au calcul des actions
pointeur de phase dont la valeur •

est égale au numéro de l’étape •

active. ACTION :

calcul des actions

‰ Condition de transition: •

comparaison avec le numéro de b. Programmation en langage ST


l’étape et la valeur du pointeur de transition 10 - 20
phase ! IF [MW1=10] . R1
THEN 20 → MW1 ; JUMP ACTION
‰ Evolution: le pointeur prend la transition 20 - 30
valeur de la nouvelle étape active ! IF [MW1=20] . R2
THEN 30 → MW1 ; JUMP ACTION



ACTION :


Méthodes de transpositions
a. Programmation en langage IL

Pointeur de phase MW1

„ Utilisation d’un pointeur de phase ET10 : LD 10


transition 10 - 20
Si le pointeur de phase n'est pas égal à
NE MW1 10
‰ Désavantage JMPC ET20 sauter à l'étape suivante
LD R1 sinon, tester la réceptivité
„ Méthode plus gourmande en JMPCN ACTION sauter au calcul des actions si elle est fausse
LD 20 sinon mettre 20 dans le pointeur de
temps de calcul car opérations ST MW1 phase
sur mots JMP ACTION sauter au calcul des actions

transition 20 - 30
‰ Avantages: ET20 : LD 20 Si le pointeur de phase n'est pas égal à
NE MW1 20
„ Garantit de manière intrinsèque JMPC ET30 sauter à l'étape suivante
LD R2 sinon, tester la réceptivité
qu’il n’y a qu’une seule étape JMPCN ET20 sauter au calcul des actions si elle est fausse
LD 30 sinon mettre 30 dans le pointeur de
active ST MW1 phase
JMP ACTION sauter au calcul des actions
„ Facilité du forçage •


„ Facilité de la visualisation
ACTION : calcul des actions
„ Lisibilité •

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 :


42

Vous aimerez peut-être aussi