Académique Documents
Professionnel Documents
Culture Documents
05 GRAFCET Avec Correction 1 PDF
05 GRAFCET Avec Correction 1 PDF
Chapitre 5
GRAFCET
E_3 OUT_1 TR_4
+--] [-----] [-------------------------------------------------------------( )--
|
| E_4 IN_1 TR_0
+--] [-----] [-------------------------------------------------------------( )--
|
|FST_SCN E_0
+--] [----------+----------------------------------------------------------( )--
| |
| TR_5 |
+--] [----------+
| |
| TR_0 | 0 R=0
+--] [----------+
| | marche
| E_0 TR_1 |
+--] [-----]/[--+
| 1 T marche
| TR_1
E_1 . a . b . marche
+--] [----------+----------
---------------------------
---------------------( )--
2 R=R+1 Tempo V
| |
| E_1 TR_2 |
+--] [-----]/[--+
|
| TR_2 (5 sec / étape 2) . (R=10)
E_2 (5 sec / étape 2) . (R=10)
+--] [------------------+--
----
| | 4 R=0
| E_1 TR_2 |
+--] [-----]/[--+ rearm
|
| TR_2
Objectifs spécifiques
Lire et dessiner une séquence de commande en GRAFCET
Programmer les étapes, les transitions et les actions d’un GRAFCET sur API.
Table des matières
4.1 Le OU et le ET structural 13
7. CAS GÉNÉRIQUES 31
7.1 Priorité 31
7.3 Ressource 34
8. EXERCICES 36
GRAFCET de niveau 1
Exemple
Distributeur de café
Pièce de 1$
1 Placer tasse
Tasse en position
2 Verser café
État du
système de Entrées-Sorties
commande
GRAFCET de niveau 1 d’un distributeur de café automatisé.
Au début, le système est à l’étape initiale 0. Il reste à cette étape tant que la réceptivité « pièce de 1$ » est
fausse.
Dès qu’une pièce de 1$ est introduite, la réceptivité est vraie, on passe alors à l’étape 1.
L’action associée à l’étape 1 est de placer une tasse. On reste à cette étape tant que la tasse n’est pas en
position. Ainsi, on évite le risque de verser du café trop tôt.
Dès qu’une tasse est en position, on passe à l’étape 2, l’étape 1 est alors inactivée afin de stopper l’ordre de
placer une tasse.
L’action « verser café » est maintenue tant que la réceptivité « 200ml de café versé » est fausse. Dès que la
dose est atteinte, l’étape 2 est désactivée (pour stopper le versement) et l’étape 0 est activée. On est de
retour à l’étape d’attente.
GRAFCET de niveau 2
Il représente l’automatisme en tenant compte des choix technologiques et du repérage des variables sous
forme symbolique. Ce GRAFCET permet la programmation de l’automate programmable.
Exemple
Distributeur de café
café
verres
0
p
p
1 T
C
a
2 C
T
b
a
b
GRAFCET de niveau 2 d’un distributeur automatisé.
5. GRAFCET 5.3
Entrées de l’automate :
p : détection de pièce de 1$
a : détection de la présence d’une tasse
b : détection de 200ml de café versé.
Sorties de l’automate :
T : commande du dépôt d’une tasse.
C : commande de l’électrovanne qui déverse le café.
5. GRAFCET 5.4
Les actions
Les actions associées aux étapes sont inscrites dans une cartouche
reliée à l’étape. À une étape, une ou plusieurs actions peuvent être
associées. L’action peut être soit un ordre vu de l’utilisateur « verser étape Verser café
café », soit un ordre vu de la partie opérative « activer
l’électrovanne du café », soit un ordre vu de la partie commande
Action associée
« activer la sortie Q1 de la carte sortie ». Commented [T2]: ie module de sortie
Commented [T3]: ie Selon qu’il s’agit d’un grafcet 1,2,..
Donc, l’Ordre doit être exprimé d’abord du pt de vue
1.3 Les 5 règles d’évolution Utilisateur (Besoin), puis de pt de vue P.O (choix Tech,
Var), puis de pt de vue P.C (Grafcet prêt à programmer)
1. Situation initiale du GRAFCET : Les étapes initiales sont les étapes actives à la mise en
énergie de la partie commande.
8 8 8 8
0 ou 1 0 1 1 ou 0
9 9 9
9
Transition non Transition Transition valide Transition
valide valide et réceptivité vraie franchie
Exemple de franchissement d’une transition.
5. GRAFCET 5.5
4. Évolution simultanée : Plusieurs transitions simultanément franchissables sont
simultanément franchies.
9 10 9 10
8 8
8 8
a a
a a
9 9
a a 9 9
10 10 b b
5. GRAFCET 5.6
Exemple
Dès que la réceptivité BP1=1 est vraie, le système de commande passe de BP1
l’étape 2 à l’étape 3.
3 L2
Étape 3 : la lumière L2 est allumée.
Dès que la réceptivité BP1=0 est vraie, le système de commande passe de BP1
l’étape 3 à l’étape 0.
5. GRAFCET 5.7
2. Programmation en diagramme en échelle Commented [T6]: = c’est ainsi qu’on va programmer notre
interface Grafcet !
2.1 Activation et désactivation d’une étape
1 a
b
a
E_1
2 C E_2
b C
La condition de transition de l’étape 1 vers l’étape 2, noté TR_2, est vraie si l’étape 1 est active et la
réceptivité « a » est vraie, c’est-à-dire : TR_2 = E_1 . a
La condition de transition de l’étape 2 vers l’étape 3, noté TR_3, est vraie si l’étape 2 est active et la
réceptivité « b » est vraie : TR_3 = E_2 . b
L’étape 2 est un auto-maintien (ou bascule RS) dont l’activation est TR_2 et la désactivation TR_3. Commented [T8]: On pt le voir comme ça !
E_2 pt être considéré comme équivalent à une fonction d’Auto-
maintien, car mm si TR_2 (=SET) n’est plus valide, E_2 reste
L’action C se déroule uniquement durant l’étape 2, donc C=E_2. active et mm si TR_3 (=RESET) n’est plus valide, E_2 reste
désactivé !
Le diagramme en échelle réalisant la commande décrite par cette partie de GRAFCET est le suivant :
Commented [T9]: ie : SET
Commented [T10]: ie : RESET
5. GRAFCET 5.8
E_1 a TR_2
( ) Transition de 1 vers 2
E_2 b TR_3
( ) Transition de 2 vers 3
TR_2 E_2
( )
Activation de l’étape2
et sa désactivation.
E_2 TR_3
E_2 C
( ) Action à l’étape 2
5. GRAFCET 5.9
Présentation du GRAFCET :
L'étape initiale "0" se représente par un double carré. Elle est active au 0
début du fonctionnement.
M.a0
La réceptivité M.a0 est la condition d’évolution de l’étape initiale à l’étape
1. L’action à l’étape 1 est de sortir le vérin (Vout). 1 Vout
Étapes
Une étape est activée lorsque la transition est vraie. Une étape est désactivée lorsque la transition suivante
est vraie. L'étape 0 est mise à 1 avec une variable dite « 'initialisation » qui est fonction de l’automate
programmable. Commented [T15]: ‘initialisation’ est prédéfinie,
5. GRAFCET 5.10
initialisation Commented [T16]: ! Effectivement, à ne pas oublier que
E_0 est activée soit suite à TR_0 soit à la variable
‘Initialisation’ !
TR_0 Étape 0
E_0 Activation : TR_0
( ) ou initialisation
E_0 TR_1 Désactivation : TR_1
TR_1 E_1
( ) Étape 1
Activation : TR_1
E_1 TR_2 Désactivation : TR_2
TR_2 E_2
( ) Étape 2
E_2 TR_0 Activation : TR_2
Désactivation : TR_0
Actions
Les actions associées aux étapes sont regroupées pour générer les ordres de commande.
La commande de sortir le vérin est activée à l'étape 1 : vout=E_1.
La commande de rentrer le vérin est activée à l'étape 2 : Vin=E_2
Vout
E_1
( ) Action de Vout à l’étape 1
Vin
E_2 Action de Vin à l’étape 2
( )
5. GRAFCET 5.11
3. Les réceptivités particulières
3.1 Réceptivité toujours vraie
=1
200
Par exemple, deux actions sont associées à l’étape 2 suivante : C et l’initialisation du comptage de 10 secs.
Lorsque les 10 secondes sont écoulées, la condition « t/2/10 sec » est vraie.
t
a
10 secondes
2 C t = 10 sec
Exemple d’une temporisation activée à l’étape 2. Commented [T18]: ! E2= étape, C= action associée à E2 !
Dès que E2 est activée, C devient active et le comptage de 10s
commence. Dès les 10s écoulés, E2 et C se désactivent en
même temps!
C’est ce qu’on a représenté dans le chronogramme !
5. GRAFCET 5.12
3.3 Réceptivité sur un front
Dans un automatisme, il est fréquent que l’on ait à détecter le changement d’état d’une variable. La
réceptivité d’une transition peut être constitué par la détection sur une variable (a par exemple) d’un front
montant a ou descendant a.
Exemple de divergence en OU :
a b a b
Dans l’exemple ci-contre, l’étape 10 peut activer
l’étape 12 ou l’étape 11. 12 11 12 11
5. GRAFCET 5.13
La convergence en OU marque l’activation d’une
étape à partir d’une étape ou d’une autre.
102 101 102 101
Exemple de convergence en OU :
a b a b
Dans l’exemple ci-contre, l’étape 200 peut être
activée à partir de l’étape 102 ou de l’étape 101. 200 200
Programmation d’une divergence en ET Commented [T21]: C’est que le Grafcet n’est qu’un
Interface ! Qu’il faut le programmer !
L’exécution en simultanée de séquences s'écrit avec le parallélisme structural.
TR_11 E_11
( )
10
E_11 TR_21
A
TR_11 E_12
12 11 ( )
B C E_12 TR_22
Exemple de programmation d’une divergence en ET. Commented [T22]: ie il suffit de programmer E11 et E12
comme ayant même SET (= TR_11 = TR_12 = E_10 . A),
mais pas forcément ayant mm RESET (ici TR_21 diffèrent de
Lorsque la réceptivité A est vraie et que l'étape 10 est active, l’étape 11 ET l'étape 12 sont activées, et TR_22) !
l'étape 10 est désactivée. -La Notation TR_21 et TR_22 est dû généralement à ce que
l’étape suivante sera respectivement E_21 et E_22 !
Les 3 figures ci-dessous présentent des cas plus complexes : - L’étape E_10 n’est pas concernée par la programmation ici
Le GRAFCET à gauche : quand 1 ET 3 actifs alors si a passer en 2 (et désactiver 1 et 3), si b passer en 4
(et désactiver 1 et 3), sinon rester en 1 et 2. 3. Commented [T23]: Sinon, rester en 1 et 3 !
Le GRAFCET du centre : quand (étape 1 et a) OU (étape 3 et b) alors passer en 2 ET 4. Commented [T24]: Ok
Le GRAFCET à droite : si {étape 1 et [étape 2 ou (étapes 3 et 4)]} et réceptivité a alors activer l'étape 5 (et
désactiver les autres). Commented [T25]: ie : les autres actives ! Càd E1 et (E2 ou
(E3 et E4))
5. GRAFCET 5.14
1 3 2 1 3 4
1 3
a b
a b a a
2 4
2 4 5
Exemples de cas plus complexes. Commented [T26]: ! Attention, la réceptivité avant ou après
le ‘ET’ (le parallélisme structural) ne donne pas le mm logique
généralement !
4.2 Sélection de séquence
-La flèche ici est mentionnée car les lignes habituelles du grafcet
(sans flèche) sont descendantes, alors que ces lignes fléchées ici
Une sélection de séquence est un choix d'évolution entre plusieurs séquences à partir d'une ou de sont horizontales !
plusieurs étapes.
S'il est souhaité de ne sélectionner qu'une seule évolution, il est indispensable que toutes les réceptivités
associées aux transitions validées en même temps soient exclusives, c'est-à-dire ne pouvant pas être vraies
simultanément. Cette exclusion peut être soit physique (incompatibilité mécanique), soit logique. Commented [T27]: Pour renforcer la sécurité, on pt faire les
deux !
Dans l’exemple à gauche ci-dessous, on considère l'étape 10 active. Lorsque A est vraie, l'étape 12 est
activée et l'étape 10 est désactivée. Lorsque A est faux, l'étape 11 est activée et l'étape 10 est désactivée.
L’autre exemple montre la sélection d’une séquence parmi 4.
10 100
A A AB AB AB AB
On considère l'étape 10 active. Lorsque A est vraie et B est faux, l'étape 12 est activée et l'étape 10 est
désactivée. Lorsque A est faux et B est vraie, l'étape 11 est activée et l'étape 10 est désactivée. Lorsque A
est vraie et B est vraie, ou que A est faux et B est faux, l'étape 10 est activée.
5. GRAFCET 5.15
10 E_10 A B
TR_12
( )
AB E_10 A B
AB TR_11
( )
12 11
Le saut avant (si d alors activer l’étape 3) et la boucles (retourner à l’étape 1 tant que d est vrai). Ce sont les
deux seules possibilités avec des OU: il ne peut y avoir de divergence en OU après une transition
0 0
a
a
d
1 1
b b
2 2
c
d c
3
Plusieurs actions associées à une même étape peuvent être disposées de différentes façons sans que cette
représentation implique une priorité entre ces actions.
5. GRAFCET 5.16
Dans l’exemple ci-dessous, les activations de A et de B sont simultanées à l’étape 10. Mais, à l’étape 12
uniquement A est activée. Lors de la programmation en diagramme en échelle il faut faire attention à
activer l’action si l’étape 10 est active OU l’étape 12 est active, soit A = E_12 + E_10. Il en résulte le
diagramme en échelle ci-dessous.
E_12
10 A B
A
E_10
( )
12 A B
E_10
( )
L’action est continue, elle dure tant que l’étape est active. Dans l’exemple du distributeur de café, Commented [T28]: C’est pour le cas général !
l’électrovanne de versement du café (C) est activée tant que l’étape 2 (notée E2) est active. Les actions
peuvent être conditionnelles par rapport aux activités d’étape. La condition est représentée par une ligne
reliant la condition et le carré de l’action. La condition est écrite au-dessus du carré.
Par exemple, un bouton de sécurité (s), normalement fermé, peut permettre de stopper le versage de café Commented [T29]: le « bouton de sécurité » revient à son
tant que l’utilisateur appuie dessus. Dans ce cas l’étape 2 est modifiée comme suit. état président dès qu’on le lâche. L’arrêt d’urgence non!! Ils sont
différents!
a
Commented [T30]: i.e tant qu’il est appuyé
s b
a
s
2 C
b E_2
Exemple d’une action conditionnelle à la variable de sécurité « s ». Commented [T31]: -L’appui sur le bouton de sécurité ‘s’ a
causé la désactivation de C, mais pas de E_2 !
La programmation en échelle de l’action est conditionnelle à « s ».
5. GRAFCET 5.17
Commented [T32]: à Corriger :
‘s’ est pris en tant que Contact du Bouton sécurité. on le
représente alors par ‘S barre’ ! Car S est normalement fermé ici !
Rq : on pt avoir deux schéma Ladder correcte mm si la
représentation de ‘s’ est différente dans chaque schéma.. car s
serai défini différemment !
Les actions peuvent être mémorisées et maintenues pendant plusieurs étapes. Dans ce cas, il faut écrire
C=1 pour signaler la mémorisation de l’action ; puis, C=0 pour signaler la désactivation de l’action. Commented [T33]: Il pt être réalisé techniquement par
Bascule RS (Auto-Maintien)..!
Dans l’exemple ci-dessous, la variable C est activée à l’étape 2 ; la variable C reste active même lorsque
l’étape 2 n’est plus active ; et finalement la variable C est désactivée à l’étape 10.
2 C=1 E_2
E_10
C
10 C=0
Le signe d’égalité est aussi utilisé pour signaler une opération arithmétique. Dans ce cas, la variable est un Commented [T34]: ‘aussi’ car utilisé aussi pour mémoriser
nombre et non une variable binaire. L’exemple ci-dessous montre un exemple du traitement de la variable une action (Binaire) vu ci-dessus !
numérique R. Commented [T35]: Ici, l’action est de traiter
mathématiquement une variable (incrémenter,..).
5. GRAFCET 5.18
La valeur numérique 0
2 R=0 est enregistrée dans la
variable numérique R.
La valeur numérique R
10 R=R+1 est incrémentée de 1, soit
R=0+1=1
La valeur numérique R
14 R=R+1 est incrémentée de 1, soit
R=1+1=2
Exemple d’addition à l’étape 10 et à l’étape 14.
Exemple
Le système est constitué d'un vérin simple effet équipé Commented [T36]: V_Out est le signal Binaire (0 ou 1) de
de capteurs de position, d'un bouton poussoir commande de la tension d’alimentation du vérin et non la
"départ", d'un sélecteur permettant de choisir entre V_Out tension d’alimentation elle-même !
5. GRAFCET 5.19
Le GRAFCET de niveau 2 de la commande est Commented [T38]: - ‘R’ prédéfini dans le Ladder comme
présenté ci-contre. À l’étape initiale d’attente, le Registre, pas besoin de le déclaré !
-En passant à l’étape E_2, automatiquement V_out est
registre R mémorise le nombre d’aller-retour à désactivée ! Donc, pas la penne d’ajouter V_out=0 à
effectuer en selon le choix de l’opérateur. l’action associée à l’étape E_2 !
Dès que départ est actif, le vérin sort à l’étape 1. -Puisqu’on n pt pas mettre deux transitions une après
Lorsqu’il est complètement sorti, le capteur l’autre ds un grafcet, on a met alors In .(R=0)
- à corriger : Attention, notre variable ‘TEST’ qui
« Out » est actif, on passe alors à l’étape 2 dont la mémorise le résultat de l’action (on la considère action
seule action est décrémentée de 1 le registre R. mm s’elle n’agit pas sur la Partie Opérative !) test
Dès que le vérin est en position rentré, si le EQ_INT (R égale ou diffèrent de 0) doit être présentée sur
ce Grafcet ! et il ne faut pas oublier de programmer ce test
résultat égale 0 on retourne à l’étape 0, sinon on comme action associée à l’étape E_2 !!!
exécute une nouvelle sortie du vérin en Il n’y a pas de risque que ce test soit fait avant la
retournant à l’étape 1. décrémentation de R, car cette dernière est faite sur Front
Mentant de E_2, cad sera fait le premier !!!.
C’est ce qui est expliqué dans le début de la page
suivante !
-l’action de décrémentation R=R-1 se fait
systématiquement au front montant ou descendant.
On décide de noter les étapes : E_0, E_1, E_2 et de noter les transitions : TR_0, TR_1, TR_2 et Donc, il faut aussi l’ajouter comme action
TR_3. conditionnelle !!! Car au risque de décrémenter au front
Descendant en quittant cette étape !!!
Les équations des transitions sont résumées dans le tableau ci-dessous : Commented [T37]: On pt vérifier aussi que In est active !,
donc Départ. In
Chacune des étapes possède des conditions d’activation (Set) et de désactivation (reset) qui sont
présentées par le tableau ci-dessous.
5. GRAFCET 5.20
Étape Variable Activation (S) Désactivation (R)
0 E_0 FST_SCN+TR_0 TR_1
1 E_1 TR_1+TR_3 TR_2 Commented [T39]: Ok (n’oublie pas la Boucle!)
2 E_2 TR_2 TR_0+TR_3
Tableau présentant les activations et désactivations des étapes.
Remarque : la variable FST_SCN permet l'initialisation de l'étape initiale du GRAFCET, Commented [T40]: FST_SCN, apparemment, permet de
savoir si les conditions d’initialisation sont validées ou non pour
activer ou non E_0 !
Prédéfini en langage de l’Automate.
Programmation en diagramme en échelle des étapes Cette variable ‘FST_SCN’ sera fonction des conditions initiales
(FST_SCN= /Départ . In ). l’étape initiale sera activée si cette
|FST_SCN E_0 variable est vraie !. Un autre automate pt avoir une autre variable
+--] [--+-------+----------------------------------------------------------( )-- (car pt être basé sur un autre uC ! ayant un autre jeu
| | | d’instructions de langage).
| TR_0 | |
+--] [--+ | Commented [T41]: Ok.
| |
| E_0 TR_1 | Rappel : /RESET (RESET barre) est présentée ds le diagramme
+--] [-----]/[--+ en échelle en écrivant RESET (et non /RESET) au-dessus du
| symbole ]/[
| TR_1 E_1 Dans la 3eme ligne : /(TR0+TR3) = /TR0 .
+--] [----------+----------------------------------------------------------( )-- /TR3
| |
| E_1 TR_2 |
+--] [-----]/[--+
| |
| TR_3 |
+--] [----------+
|
| TR_2 E_2
+--] [------------------+--------------------------------------------------( )--
| |
| E_2 TR_3 TR_0 |
+--] [-----]/[-----]/[--+
5. GRAFCET 5.21
La programmation en diagramme en échelle des actions nécessite l’utilisation : Commented [T46]: ‘Bloc’ ,comme en Simulink !, sont des
d’un registre R pour mémoriser le nombre d’aller-retour à exécuter, Vrais BLOC utiles prédéfinis en langage Ladder qu’on pt les
insérer dans notre schéma Ladder (voir schéma ci-contre).
d’un bloc MOVE_INT pour initialiser le registre R à 1, 2 ou 3, -‘R’ est un variable qui va mémoriser le choix de l’utilisateur du
d’un bloc SUB_INT pour décrémenter le registre R, nombre de pièces à déplacer …
d’un bloc EQ_INT pour tester l’égalité à 0 du registre R.
5. GRAFCET 5.22
6. Coordination de GRAFCETs
Il est possible de programmer les GRAFCETs de systèmes simples de manière intuitive en se basant
sur les règles de programmation présentées précédemment. Mais, plus le système devient complexe,
plus la programmation intuitive devient inefficace. L’inefficacité de la programmation intuitive pour
des systèmes automatisés complexes prend deux formes :
Avec des systèmes de plus en plus complexes et évolutifs, une approche systématique de
programmation est nécessaire. Dans le cas de systèmes complexes, on préférera écrire plusieurs
GRAFCETs coordonnés entre eux. Ainsi, il devient possible d’écrire des GRAFCETSs qui
correspondent à une tâche spécifique et d’appeler plusieurs fois ce GRAFCET lors d’une exécution
du programme, tout comme cela se fait avec des sous-routines en Matlab, Fortran, Pascal ou C.
GRAFCET connexe : un GRAFCET dont toutes les entités sont reliées (cf. sections
précédentes).
5. GRAFCET 5.23
GRAFCET partiel : ensemble de GRAFCETs connexes.
Activité d’un GRAFCET partiel : un GRAFCET partiel est actif si une au moins de ces
étapes est active.
Situation d’un GRAFCET partiel : (Utilisable pour la programation des forçages)
Situation initiale : (init) ; ensemble des étapes initiales.
Situation courante : (*) ; ensemble des étapes courantes.
Situation vide : ( ) ; situation pour laquelle aucune étape n’est active.
Situation donnée : (i,j,…) ; situation pour laquelle les étapes i,j,… sont actives et elles
seules.
Considérons qu’un petit carré : représente un GRAFCET partiel (composé d’un certain
nombre de GRAFCETs connexes). Considérons qu’une double flèche : représente le fait
que deux GRAFCETs s’échangent de l’information (ils dialoguent).
Deux manières de coordonner les GRAFCETs entre eux sont couramment utilisées (noter qu’une
fois coordonnés, les 2 GRAFCETs partiels deviennent connexes) :
G1 G2 G3
5. GRAFCET 5.24
La coordination verticale : plusieurs GRAFCETs décrivent chacun un ensemble de tâches
et un GRAFCET de niveau supérieur (dit de coordination) les coordonne. Les GRAFCETs
connexes ne dialoguent qu’avec le GRAFCET de coordination.
G1
N
Niveau hiérarchique :
N+1
G2 G3
En coordination verticale, les GRAFCETs de niveau supérieur (niveau N) dialoguent avec des
GRAFCETs de niveaux inférieurs (niveau N+1). Le GRAFCET de niveau N est le GRAFCET
maître des GRAFCETs de niveau N+1 avec lesquels il dialogue. Les GRAFCETs de niveau N+1
sont les GRAFCETs esclaves du GRAFCET de niveau N avec lesquels ils dialoguent. La notion de
GRAFCET maître et GRAFCET esclave n’a de sens que pour la coordination verticale. Un
GRAFCET de niveau N peut être le GRAFCET maître de GRAFCETs de niveau N+1 et le
GRAFCET esclave d’un GRAFCET hiérarchiquement supérieur de niveau N-1.
En règle générale, la coordination verticale est privilégiée dès que les systèmes deviennent
complexes. Le GRAFCET de plus haut niveau est souvent le GRAFCET de sûreté. Les
GRAFCETs de plus petits niveaux sont généralement des GRAFCETs de tâche.
Remarque :
On ne peut parler de coordinations verticale que si il y a au moins 3 GRAFCETs. En effet pour qu’il y ait
coordination verticale, il faut un GRAFCET privilégié (le GRAFCET maître) qui dialogue avec les
GRAFCETs esclaves (qui ne dialoguent pas entre eux). Avec seulement 2 GRAFCETs, on ne peut
considérer qu’un GRAFCET est le GRAFCET maître de l’autre.
La programmation ;
Le travail en équipe ;
5. GRAFCET 5.25
La compréhension du code par une personne externe ;
La modification du code.
De plus, si la coordination des tâches est bien structurée alors il devient facile de modifier une tâche
sans pour autant modifier le code au complet, ce qui favorise l’évolutivité du système.
Même s’il n’y a pas de règles strictes pour effectuer la décomposition, certains critères pour effectuer
la partition sont considérés :
Une tâche peut être associée à un moyen. Commented [T50]: Moyen de production. exp : vérin
condition de mise en
attente
Le corps du programme se termine par une unique transition dont la réceptivité est la condition de fin de
tâche. Une seule étape de sortie suit la transition. Cette étape de sortie est suivie de la transition qui
ramène la tâche à l’étape initiale. Cette transition est associée à la réceptivité qui est la condition de mise en
attente de la tâche.
La figure suivante présente une coordination horizontale possible entre deux GRAFCETs de tâche :
5. GRAFCET 5.26
Commented [T51]: ci : Condition Initiale
ci*X50= (‘ci’ de la tache t2) & (Fin de la tache t1) = Lancement
de la tache t2
10 20
x xx
Pour avoir une coordination verticale, il faut au moins trois GRAFCETs. La figure suivante présente
une coordination verticale de deux GRAFCETs de tâche esclaves et d’un GRAFCET maître de
coordination :
Commented [T52]: /X10, /X20 ie: condition de FIN des
étapes X10, X20. X150 et X250, permettent au Grafcet niveau
N de connaitre la fin des taches t1 et t2.
10
Une fois cela est vrai, les étapes 10 et 20 vont être désactivées et
les étapes X150 et X250 vont se désactiver et ainsi t1 et t2
GRAFCET DE NIVEAU N passent en initialisation (attente).
X150
!!! En bref : X150 permet la transition dans Grafcet N, et /X10
20
(dans le Grafcet t1) permet de vérifier cette transition !!!
(ie: le temps est suffisant au Grafcet N de lire l’action X150 !!!. si
X250 /x10 n’été pas là, le grafcet N n’aura pas le temps de lire l’action
X150).
30
x x
5. GRAFCET 5.27
6.4 Exemple de coordination Commented [T53]: On pt traiter le mm exemple par
coordination horizontale ou verticale !
Exemple
Cet exemple présente comment programmer 3 tâches simples et les coordonner entre elles de
manière horizontale et verticale.
Considérons la partie opérative ci-dessous composée de trois vérins (vérin 1, vérin 2 et vérin 3)
pneumatiques double effet. Les pré-actionneurs de ces vérins sont des distributeurs 6/2 monostables Commented [T54]: = veut dire 6 Orifices/2Positions !!!
commandés respectivement par les solénoïdes SV1 (sortir vérin 1), SV2 et SV3. Chaque vérin est Généralement On a 5/2.
équipé de 2 capteurs de fin de course respectivement V1R (vérin 1 rentré) et V1S (vérin 1 sorti), Commented [T55]: Si le distributeur possède une
V2R et V2S, V3R et V3S. commande par ressort, il est monostable (ou à simple pilotage).
Seule la position obtenue grâce au ressort est stable : en
l’absence d’un signal de pilotage extérieur, le tiroir se déplace
automatiquement dans la position du ressort.
On désire que la partie opérative suive le fonctionnement suivant : Les trois vérins sont rentrés, le
vérin 1 sort puis rentre, alors le vérin 2 sort puis rentre et enfin le vérin 3 sort puis rentre. Il est très
facile de programmer intuitivement cette séquence sous la forme d’un seul GRAFCET mais à des
fins pédagogiques on va utiliser la décomposition en tâches et les coordinations horizontale et
verticale des tâches. On considère une tâche par moyen de production, c’est-à-dire par vérin :
5. GRAFCET 5.28
Coordination horizontale Commented [T56]: X13 : se réfère à l’étape 13
X23 : se réfère à l’étape 23
X33 : se réfère à l’étape 33
5. GRAFCET 5.29
Coordination verticale Commented [T57]: Plus claire en programmation
Ici, on pt remarquer que les grafcets des taches n’ont pas
changés par apport à la coordination horizontale, seulement
leurs conditions de lancement et de mise en attente !!!
Coordination Verticale apparait plus simple !!!
1
départ
X13
X23
4
X33
10 20
30
X2 X3
X4
11 SV1 21 SV2
31 SV3
V1S V2S
V2S
12 22
32
V1R V2R
V3R
13 23
33
/X2 /X3
/X4
GRAFCETs esclaves
5. GRAFCET 5.30
7. Cas génériques
Les exemples sont extraits du site de Patrick Trau (www-ipst.u-strasbg.fr/pat/autom/grafce06.htm). Commented [T58]: Voir solution Complete dans ce site !
7.1 Priorité
Exemple
5. GRAFCET 5.31
Pour gérer la priorité tournante, remplacer la Commented [T63]: Par default, l’étape 10 d’initialisation,
réceptivité de la deuxième transition (notée *) par : donne la priorité pour A.
Ce grafcet signifie : activer ‘Priorité A‘ jusqu’à ce qu’A soit servi
puis la désactiver et activer ‘Priorité B’ jusqu’à ce que B soit
qui signifie : arrivé en y avec une servi et ainsi de suite ! C’est ce qui est demandé. OK
pièce en a et (soit pas de pièce en b, soit priorité A).
Sinon on continue et quoi qu'il arrive on s'arrête en z. Priorité A, priorité B ne sont pas des actions associées ! Juste
comme Label. Car on pt connaitre la priorité juste par
vérification de l’activation de X10.
Améliorations :
a) Permettre au chariot de X3 càd que l’action PP vient d’être activée. X3.a càd que la
priorité A a été pris en compte.
rechercher une pièce dès qu'il a
posé la précédente : séparer le Commented [T62]: On pt utiliser le tableau de Karnaugh a
problème en deux : chariot et cinq variables, (deux tables de Karnaugh pr e=0 et e=1) pour
trouver la fonction d’arrêt du chariot (RESET D) : en mettant
partie basse. Prévoir deux ‘X’ pr les combinaisons physiquement impossibles ou non
GRAFCET différents, pouvant importants, et les prendre ‘=1’ qd c’est utiles !, On trouve
évoluer simultanément, mais effictivement la mm expression !!!
synchronisés pour le dépose de la
pièce (par des Xi ou une
ressource)
...
Commented [T64]: La modification de ce Grafcet par
rapport au precedent est due à l’Optimisation. La priorité
quant à elle (priorité à celui qui n'en a pas profité lors du dernier
conflit), est gérée à part dans le petit Grafcet côté droit !!!
-Ici, au démarrage du Grafcet, On a 2 cas possibles : (Pas de
déplacement vers D et PP) ou (Avance D, s’arrêter en z et PP)
d’où la divergence en OU (On pouvait, au lieu de ça, faire une
seule séquence avec condition sur l’action D !). Alors que dans
le Grafcet précèdent ; le chariot se mobilise vers D dans les
deux cas !!! d’où pas de divergence (1 seule séquence !)
Commented [T65]: À Corriger, car on raisonne sur le cas de
conflit (a&b presents = la seule definition possible de
‘Conflit’ !) il faut vérifier que ‘a’ & ‘b’ les deux sont
présents !!!
- Le cas ‘a’ prioritaire mais ‘b’ qui est prise, car ‘a’ absente et vice
versa, n’est pas un conflit car on ne peut que prendre celle
existante dans ce cas !!!
5. GRAFCET 5.32
7.2 Travail à la chaîne
Exemple
5. GRAFCET 5.33
7.3 Ressource
Exemple
V+
fv- V-
fv+
b1 b2
Au fond du puits d’une mine, un mineur remplit un chariot 1, tandis qu’un autre mineur remplit le
chariot 2. Quand un chariot est plein, le mineur qui l’a rempli appuie sur un bouton pour demander
le déchargement de son chariot. Le poste de déchargement est composé d'un tapis roulant en
mouvement continu, et d'un vérin V pour retourner la benne du chariot. Le poste de déchargement
n'est utilisable que par un seul chariot. De plus, un seul chariot à la fois doit être dans la zone entre
b1 et b2.
Dès que le mineur appuie sur le bouton d’évacuation (d1 pour le mineur 1 et d2 pour le mineur 2),
son chariot se déplace en direction du poste de déchargement (commande B1 pour le chariot 1,
commande B2 pour le chariot 2).
Si le poste est occupé, le chariot attend son tour en b1 pour le chariot 1, en b2 pour le chariot 2.
Si le poste de déchargement est libre, le chariot avance jusqu'au capteur c. Les capteurs b1 et c ne
peuvent être activés simultanément par le chariot, de même que les capteurs b2 et c.
Si les 2 chariots arrivent en même temps au poste de déchargement, le chariot 1 est prioritaire.
L’opération de décharger un chariot consiste à sortir le vérin (V+ jusqu’à fv+), puis attendre 10s,
puis rentrer le vérin (V- jusqu’à fv-).
Finalement, le chariot s'en retourne à sa position de départ où l’attend le mineur, commande A1
pour le chariot 1, commande A2 pour le chariot2.
Le poste de déchargement, commun à plusieurs voies, n'est utilisable que par une voie à la fois. On
l'appelle une "ressource physique". Supposer que la ressource est occupée en utilisant le capteur c
n’est pas conseillé : et s'il est entre bi et c ? Et si le temps de freinage l'a arrêté juste à côté de c ? Il
faut utiliser les facilités séquentielles du GRAFCET autant que possible : ne tester un capteur que
quand c'est nécessaire. Un capteur ne doit servir que comme condition de passage d'une étape à
une autre, mais pas pour vérifier un état du système qui découle du séquencement effectué (par
exemple, une transition vérifie la présence d'une pièce, aucune action ne déplace la pièce puis on re-
vérifie la présence : ce n'est censé que si l'on prévoit dans le GRAFCET ce qu'il faut faire si la pièce
5. GRAFCET 5.34
a disparu). Ici, on utilise donc une étape (la ressource), qui est active quand la ressource physique est
disponible. Dès utilisation, on la désactive, pour la réactiver quand on libère la ressource physique.
10 20
11 21
0 12 attente en b1 22 attente en b2
13 23
14 déchargement 24 déchargement
2
15 25
16 26
3
5. GRAFCET 5.35
8. Exercices
8.1 Tri de caisses
Le système est constitué de deux vérins double effet (vérin 1 et vérin 2) équipés de capteurs de
position, d'un interrupteur "départ" et d'un sélecteur permettant de choisir entre "ch1" (évacuation
dans la glissière 1) et "ch2" (évacuation dans la glissière 2). Les fléches indiquent le sens de
mouvement des piéces. Les pièces arrivent en glissant dans la glissière d'acheminement qui est en
pente douce. Le vérin 1 pousse ensuite les pièces. Le vérin 2 sert à évacuer des piéces par la glissière Commented [T66]: Dans cet énoncé, on raisonne
d'évacuation 2 qui est en pente. Si les pièces sont acheminées dans la glissière d’évacuation 1, il faut implicitement sur le faite que, le choix ch1/ch2 se faite quand la
pièce concernée est juste avant le niveau du verin2 !!!
attendre 30 secondes entre deux pièces. Le cycle se répète tant que départ est vraie.
Question :
Proposer un GRAFCET de commande de ce dispositif. Commented [T67]: Grafcet de 2eme niveau
V1_In
Vérin 1
V1_Out In_1 départ
Out_1 Ch1
Ch2
V2_In
Glissière d'acheminement
V2_Out
Vérin 2
Glissière d'évacuation 2
In_2
5. GRAFCET 5.36
Solution :
Commented [T68]: - Le comptage t=30 sec est affecté à
l’étape X3, car on a dit dans l’énoncé : ‘entre deux pièces’, cad
1 une fois la pièce est évacuée (et non pas ‘une fois le vérin est
In’) on doit commencer à compter 30s !!!
ch1.ch2.départ ch1.ch2.départ
-Même ds le cas du choix du ch2, le vérin 1 doit être activé, car
5 V1_Out l’emplacement de la pièce évacuée par le vérin 2 reste vide !!!
2 V1_out
Ainsi, on pouvait faire une seule étape ‘V1_Out’ dont la
Out_1
réceptivité avant = ‘départ’ et la réceptivité après= Out_1.
Out_1 Ch1./Ch2 OU Out_1. /Ch1.Ch2 !
3 V1_In t=30 sec 6 V1_In 8 V2_Out -Ici on a raisonné implicitement sur le faite que la pièce
concernée est celle qui est juste avant le vérin 2. C’est une
In_1 Out_2 REFERENCE qu’il faut la fixer, sur laquelle se base
In_1 l’élaboration du Grafcet !!! . Si c’été celle qui est devant le vérin
7 9 V2_In 2, il fallait alors que V1_Out soit après l’action du vérin 2 !!!
Ainsi, l’utilisateur doit être averti de faire son choix Ch1 ou Ch2
4 quand la pièce concernée est juste avant le V2, ni trop tôt ni
trop tard !!! si non, pour ces derniers cas, il fallait adapter le
t/ 3/ 30 sec In_2 Grafcet !!!...
5. GRAFCET 5.37
Détecteur photo-électrique
a
caisse
Glissière d'évacuation
1 m au max
Tapis roulant
1m
T
À l'étage inférieur, l'opérateur dispose d'un interrupteur "marche", d'un bouton poussoir "suivantes" et
d'une lumière "pause".
marche
suivantes pause
À l'étape initiale, la lumière "pause" est allumée, le compteur, noté R, est initialisé à zéro et la
commande attend une pression sur "suivantes" pour commencer le cycle.
Dès la pression sur "suivantes" et si "marche" est sélectionné, la commande avance les caisses (T=1)
et compte celles qui descendent. La déselection de "marche" implique le retour à l'étape initiale.
Après la descente de 9 caisses, le tapis est arrêté et la lumière "pause" est allumée, on est de retour à
l'étape initiale.
Si l'opérateur est surchargé de caisses, il peut appuyer sur "suivantes" pour arrêter momentanément
la descente de nouvelles caisses, la lumière "pause" est alors allumée. Une nouvelle pression sur
"suivantes" permet de relancer la descente des caisses et le comptage.
Remarque: le front montant sur "suivantes", noté suivantes, permet de détecter un début de
pression sur le bouton poussoir "suivantes".
Question :
On vous demande de tracer le GRAFCET du cahier des charges (niveau1) et le GRAFCET de
commande (niveau 2) de ce dispositif de descente des caisses.
5. GRAFCET 5.38
Solution :
GRAFCET de niveau 1 :
GRAFCET de niveau 2 :
5. GRAFCET 5.39
8.3 Commande d'une perceuse
Capot
Arrêt
B d’urgence
moteur
Arrêt
d’urgence
M moteur h
S En service
b perce
c
Piéce
variable description =1 =0
c détection de l’ouverture du capot ouvert fermé
b position basse de la perceuse vrai faux
h position haute de la perceuse vrai faux
En service bouton poussoir pressé relâché
AU Arrêt d’urgence pressé déverrouillé
perce Bouton poussoir perce pressé relâché
B moteur de rotation du foret en rotation à l'arrêt
M moteur de déplacement vertical en marche à l'arrêt
S sens du déplacement vertical vers le haut vers le bas
Questions :
a) Si la perceuse est en position haute et si le capot est fermé, une impulsion sur "perce" provoque la
descente de la perceuse en rotation. Dès que la position basse est détectée, la perceuse remonte en
positon haute avec le foret en rotation. De retour à l'étape initiale, la rotation est arrêtée.
Tracer le GRAFCET de commande. Tracer le schéma électrique d’alimentation de commande. Commented [T69]: Schéma électrique d’alimentation de la
commande !
b) Si la perceuse est en position haute, une impulsion sur "perce" provoque la descente de la
perceuse en rotation. Lorsque la position basse est détectée, la perceuse attend 10 secondes avant de
remonter en position haute. Le foret est continuellement en rotation, il est à l'arrêt uniquement à
l'étape initiale. Tracer le GRAFCET de cette commande. Tracer le diagramme en échelle réalisant
cette commande.
5. GRAFCET 5.40
Réponses :
24V 0V
2 Amp. 0
EN SERVICE
perce . c . AU . h
AU
C R R
Ouvert si
protecteur
1 B M
ouvert
b
R ARRêT D'URGENCE
Vert
2 B M S
MODULES DE L'API
R
h
b)
0
perce . h . c .AU
1 B M
b
2 B t =10 sec
t/2/10s
3 B M S
h
5. GRAFCET 5.41
Programmation en langage en échelle
| E_0 PERCE h c AU TR_1
+--] [-----] [-----] [---]/[---]/[-----------------------------------------( )--
|
| E_1 b TR_2
+--] [-----] [-------------------------------------------------------------( )--
|
| E_2 T TR_3
+--] [-----] [-------------------------------------------------------------( )--
|
| E_3 h TR_0
+--] [-----] [-------------------------------------------------------------( )--
|
|FST_SCN E_0
+--] [--+-------+----------------------------------------------------------( )--
| | |
| TR_0 | |
+--] [--+ |
| |
| E_0 TR_1 |
+--] [-----]/[--+
|
| TR_1 E_1
+--] [----------+----------------------------------------------------------( )--
| |
| E_1 TR_2 |
+--] [-----]/[--+
|
| TR_2 E_2
+--] [----------+----------------------------------------------------------( )--
| |
| E_2 TR_3 |
+--] [-----]/[--+
|
| TR_3 E_3
+--] [----------+----------------------------------------------------------( )--
| |
| E_3 TR_0 |
+--] [-----]/[--+
|
| E_1 M
+--] [--+------------------------------------------------------------------( )--
| |
| E_3 |
+--] [--+
|
| E_3 B
+--] [--+------------------------------------------------------------------( )--
| |
| E_1 |
+--] [--+
| |
| E_2 |
+--] [--+
|
| E_3 S
+--] [---------------------------------------------------------------------( )--
|
| E_2 +-----+ T
+--] [---+ TMR +-----------------------------------------------------------( )--
| |0.10s|
| | |
| CONST -+PV |
| +00100 | |
| +-----+ Commented [T70]: Ici, on lance une TEMPOrisation dès
| TEMPO
que E_2 est active.
La sortie Binaire de cette TEMPO noté ‘T =10s (= CONST
+00100 * 0.10s) sera active quand cette durée de 10s sera
achevée !!!
5. GRAFCET 5.42
8.4 Commande de cycles
Le système est constitué de deux vérins double effet (vérin 1 et vérin 2) équipés de capteurs de
position, d'un interrupteur "départ" et d'un sélecteur permettant de choisir entre "arrêt", "cycle_1" et
"cycle_2".
V1_In
Vérin 1
V1_Out In_1
V2_In Out_1
V2_Out
Vérin 2
départ
arrêt
In_2 Out_2 Cycle_1
Cycle_2
Question :
Écrire le GRAFCET de la commande des vérins.
5. GRAFCET 5.43
Réponse :
1 V2_Out 11 V1_Out
Out_2 Out_1
2 V2_In 12 V1_In
In_2 In_1
3 V1_Out 13 V2_Out
Out_1 Out_2
4 V1_In 14 V2_In
Explications :
5. GRAFCET 5.44
8.5 Commande de chariots
a1 D1 b1
C1
G1
m
a2 D2 b2
C2
G2
On considère deux chariots (C1 et C2) commandés indépendamment l’un de l'autre par deux moteurs à
deux sens de marche (D1, G1, pour C1 et D2, G2 pour C2), pouvant se déplacer entre 2 positions fixes
(a1, b1 pour C1 et a2, b2 pour C2).
Questions :
b) Dessiner le GRAFCET correspondant au mouvement suivant : Lorsque les deux chariots sont au
repos (position a1, pour C1, position a2 pour C2), ils doivent, par action sur un bouton poussoir (m),
démarrer simultanément, effectuer chacun un aller - retour, et s'arrêter.
5. GRAFCET 5.45
Réponses :
Commented [T71]: Au niveau convergence en ET, on ne pt
pas la remplacer par une convergence en OU. En effet, ils
1 doivent s’arrêter en mm temps, car sinon, si l’un s’arrête (ie
passe à l’étape initiale) avant l’autre, ce dernier ne va pas achever
m.a1.a2 son aller-retour car son moteur s’arrêtera aussi, car l’étape
initiale du système, où les 2 moteurs sont au repos, concerne les
deux !!!
1 2 D1 5 D2
m b1 b2
2 D1 G1 G2
3 6
b1
a1 a2
3 G1
a1 4 7
=1
1
m
2 D1 5 D2
b1 b2+E4
E2
3 G1 6 G2
a1 a2
4 7
=1
5. GRAFCET 5.46
Une autre représentation consiste à utiliser deux GRAFCETs, l’un commande le premier chariot, le
second commande le second chariot (en fonction du mouvement du premier chariot). On constate
mieux ainsi que le second chariot est « l’esclave » du premier. Cette structuration de la partie Commented [T72]: A revoir cette expression. Car on a dit
commande en différents sous-programmes permet de traiter des problèmes complexes. qu’on ne pt pas parler de notion maitre-esclave, entre deux
Grafcets !!! (P : 27). En plus, le 1er chariot aussi doit attendre le
2eme avant d’aller à l’étape initiale !!!
1 1
m.a1.a2 m.a1.a2
5 D2
2 D1
b1 b2+E_1 E_2
G1 6 G2
3
a1 a2
5. GRAFCET 5.47