Académique Documents
Professionnel Documents
Culture Documents
GRAFCET ou SFC
Pierre Duysin
Université de Liège
GRAFCET: historique
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
Approche progressive
2
Approche progressive
GRAFCET: introduction
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
Exemple: presse
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
Exemple
GRAFCET de niveau 1
6
Exemple: presse
Exemple: presse
Etude de la partie commande – GRAFCET de niveau 2
ORDRE S INF ORMATIONS
7
Exemple
GRAFCET de
niveau 2
8
Eléments de base du GRAFCET
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
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
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
Transitions et réceptivités
10
Eléments de base du GRAFCET
11
Règles d’évolution du GRAFCET
12
Règles d’évolution du GRAFCET
13
Règles d’évolution du GRAFCET
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
15
GRAFCET: séquences multiples
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
16
GRAFCET: organisation
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
19
Exemple: Poste de perçage
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
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
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é
22
GRAFCET: éléments complémentaires
23
GRAFCET: éléments complémentaires
24
GRAFCET: éléments complémentaires
GRAFCET
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
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
GRAFCET: Structuration
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
5 A1
R1 100 A2
6 R2
101 A3
8 A4
9 A5
GRAFCET: Structuration
28
GRAFCET: Structuration
5 A1
10
6 DEM100
DEM10
OK100 NOK100
101 A2
8 18
R2
102 A3
9
R3 /R3 . t/102/1s
GRAFCET
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
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
31
GRAFCET
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
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
verrouillage 12
Attente
1
SYN
22
Attente
synchronisation
11 21
13 23
14 24
WAGONNET WAGONNET
33
GRAFCET
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
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
35
Transposition en langage automate
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
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
• • •
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
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 •
•
•
•
Méthodes de transpositions
– Exemple de GRAFCET
10
R1
transition R2
30
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
•
•
•
•
•
•
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
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
41
Méthodes de transpositions
a. Programmation en langage IL
active. ACTION :
•
calcul des actions
•
Condition de transition: •
Méthodes de transpositions
a. Programmation en langage IL
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