Académique Documents
Professionnel Documents
Culture Documents
Introduction À La Logique Séquentielle PDF
Introduction À La Logique Séquentielle PDF
Systme
combinatoire
sorties : sj = fj(ei)
Loutil mathmatique qui permet de dcrire les systmes combinatoires est lalgbre de Bool. Par la
combinaison des trois fonctions de base que sont le NON, le OU (inclusif) et le ET, on va pouvoir
dcrire chacune des sorties en fonction des entres.
1.2 Reprsentation dune fonction boolenne par schmas relais
Le lecteur est habitu reprsenter des fonctions boolennes par les symboles traditionnels tels que :
&
ET
OU
=1
OU excl.
sortie inverse
Il existe une autre faon de reprsenter les fonctions boolennes : les schmas relais aussi appel
LADDER (vient des USA).
Les lments de cette reprsentation sont :
deux barres de potentiels (une gauche, une droite) ;
des contacts (inverss ou non) portant le nom dune variable dentre ;
sur la dernire colonne droite avant la barre de potentiel de droite, des bobines (inverses
ou non) portant le nom dune variable de sortie ;
la mise en srie (resp. en parallle) de deux contacts reprsente un ET (resp. un OU).
a
a
a
un contact invers
(passant si a)
un contact
(passant si a)
a
b
un ET logique
(passant si a.b)
b
un OU logique
(passant si
a+b)
Exemple de ralisation :
S
bobine
ralisation de :
S = a.(b+c)
c
barres de potentiel
Ce mode de reprsentation est courant dans les langages dautomate (voir partie B). Cette
reprsentation est plus naturelle pour les lectriciens qui, pour comprendre le fonctionnement,
mettent mentalement des intrrupteurs la place des contacts et une lampe la place de la bobine.
Si la lampe sallume, cest que la variable de sortie vaut 1 et 0 sinon.
Pour une mme valeur de e, S peut prendre deux valeurs O ou 1. Ce systme n'est pas combinatoire:
on ne peut pas dfinir S = f(e)
Par contre la valeur de S peut tre dtermine en utilisant ce qui s'est pass auparavant. Le systme a
en mmoire la valeur de S avant changement. La ralisation de ce systme ncessiterait des bascules.
Un systme squentiel est un systme dont les sorties l'instant t dpendent la fois des entres
cet instant, mais aussi de ce qui s'est pass auparavant : l'histoire du systme. Cette histoire sera
reprsente par une succession d'tats que prend le systme au cours du temps. Le changement d'tat
sera provoqu par une variation des entres. Les sorties sont fonction de ltat du systme.
Remarque : Quand le nouvel tat pourra tre dtermin uniquement partir de l'tat
immdiatement prcdent et des entres, le systme sera dit markovien (on s'intressera uniquement
ce type de systme).
Un systme squentiel pourra tre reprsent par le schma suivant:
entres : ei
Systme
combinatoire
tat
Exemples de systmes squentiels : les montres, les digicodes, les ascenseurs.
Le cahier des charges est constitu d'une suite de phrases dcrivant le fonctionnement dsir du
systme. C'est la premire tape de la conception d'un systme. Afin d'analyser et de valider le cahier
des charges, on le traduira en un formalisme qui ne permet aucune erreur dinterprtation. On
parlera de modlisation. Les modles obtenus pourront tre utiliss aussi pour la synthse
(laboration matrielle de la commande) :
- chronogramme (diagramme des temps)
- graphe de fluence
- tableaux d'tat
- graphe d'tat
- graphe d'vnement
- GRAFCET
- Rseaux de Petri
Dans ce cours, nous nous intresserons plus particulirement aux Grafcet (Partie B) qui permettent
de reprsenter le fonctionnement de la partie commande de systmes automatiss de production et
aux Rseaux de Petri qui permettent une modlisation dun systme de production pour en analyser
ses performances (En deuxime anne).
3.1. CHRONOGRAMME
C'est un modle graphique qui reprsente l'volution au cours du temps de toutes les entres et sorties
du systme.
exemple du diviseur par deux :
e
S
tat
tat initial
Cette reprsentation permet de dfinir un certain nombre d'tats du systme. Ils correspondent
une configuration des entres sorties. Ds que lon augmente le nombre dentres sorties, il existe un
risque doublier certains tats et certaines possibilits dvolution. Ce mode de reprsentation nest
pas synthtique. L'tat initial est choisi arbitrairement. Le chronogramme servira plutt pour
reprsenter un exemple concret de fonctionnement.
3.2 GRAPHE DE FLUENCE
C'est une traduction graphique du cahier des charges.
dfinitions prliminaires: tat stable: tat pour lequel les sorties du systme restent inchanges, les
combinaisons des entres tant fixes.
Le graphe de fluence reprsente tous les tats stables du systme et l'ordre chronologique dans lequel
on atteint chacun des tats partir des autres en fonction des variations des variables d'entre.
Un tat est reprsent graphiquement de la manire suivante:
n de ltat
valeur des
sorties
1
0
2
1
3
1
4
0
exemple du chariot :
On considre le procd suivant:
A
cahier des charges: Si l'on appuie sur le bouton poussoir M lorsque le chariot est au repos en A. ce
dernier quitte A, arrive en B et revient en A o il s'arrte.
MAB
n
GD
1
00
7
01
100
110
2
01
010
000
3
01
000
4
01
001
5
10
000
6
10
010
Remarques:
Il s'agit bien d'un systme squentiel, les tats 4 et 6 ont les mmes entres et des sorties diffrentes.
Cette mthode de modlisation est systmatique : pour chaque tat on envisage toutes les variations
possibles des entres. Pour ne pas alourdir la reprsentation on s'interdit d'appuyer de nouveau sur M
lorsque le chariot est parti.
On peut faire du graphe de fluence une reprsentation tabulaire : le tableau d'tat primitif
3.3 TABLEAU D'ETAT
a) Tableau d'tat primitif.
Les colonnes de ce tableau correspondent aux combinaisons des variables d'entre du systme. Les
lignes correspondent aux diffrents tats. Les valeurs des sorties sont associes chaque tat.
exemple du diviseur par 2 :
e
0
1
3
3
1
1
2
2
4
4
S
0
1
1
0
Les chiffres en gras correspondent aux tats stables du systme. Les autres correspondent aux tats
transitoires, c'est dire au passage d'un tat stable vers l'tat stable suivant. Cette transition est
provoque par la variation de l'entre. L'volution se fait toujours horizontalement puis
verticalement.
exemple du chariot :
On transpose le graphe de fluence en tableau dtat primitif :
M.A.B
0.0.0
4
0.0.1
5
"
0.1.1
-
0.1.0
1.1.0
2
1
-
1.1.1
-
1.0.1
-
1.0.0
7
-
G.D
0.0
0.1
0.1
0.1
1.0
1.0
0.1
Les traits correspondent aux impossibilits d'volution du systme partir de l'tat stable indiqu sur
la ligne.
b) tats stables quivalents ou pseudo-quivalents
Il est possible que, au cours de la description du systme permettant d'aboutir au tableau d'tats
primitif, on ait utilis un ou plusieurs tats pour reprsenter en ralit un seul tat stable. On dira
alors que deux (ou plusieurs) tats stables sont:
quivalents si :
ils correspondent aux mmes entres,
ils produisent les mmes sorties,
les squences qui en sont issues sont identiques.
extrait dun tableau dtat tels que les tats 1 et 5 sont quivalents :
e1.e2
0.0
"
0.1
2
2
1.1
-
1.0
4
4
S
0
0
les tats 1 et 5 sont quivalents : tous les 5 peuvent tre remplacs par des 1.
pseudo-quivalents si :
mmes entres,
mmes sorties,
les squences qui en sont issues existent dans un cas et
n'existent pas dans l'autre.
extrait dun tableau dtat tels que les tats 1 et 5 sont pseudo-quivalents :
e1.e2
0.0
"
0.1
2
1.1
-
1.0
4
4
S
0
0
0.1
2
1.1
-
1.0
4
S
0
0.0
Les tableaux d'tats obtenus jusqu' maintenant ne comportent qu'un seul tat stable par ligne.
Certains tats pourront tre distingus en utilisant les combinaisons des variables d'entre.
exemple :
e1.e2
0.0
0.1
2
1.1
3
1.0
4
-
S
0
1
0.0
1(0)
0.1
2(1)
1.1
3
1.0
4
Les tats 1 et 2 seront distingus par la combinaison des variables d'entre (0.0 pour l'tat 1, 0.1
pour l'tat 2). Les volutions du systme seront prserves. Chaque valeur de la sortie est indique
entre parenthses.
Aprs fusionnement on obtient le tableau d'tats rduit. Chaque ligne du tableau d'tats rduit sera
code par des variables supplmentaires, les variables internes. Les lignes du tableau d'tat rduit
reprsentent les tats internes du systme.
Rgles de fusionnement : deux lignes peuvent tre fusionnes si dans la mme colonne on trouve:
- un tat stable i et un tat transitoire i,
- des indiffrences (-),
- un tat (stable ou instable) et une indiffrence.
Pour rechercher les tats compatibles on tablit le polygone des liaisons dans lequel chaque sommet
reprsente une ligne. Lorsque deux lignes sont fusionnables on les relie par un trait plein si les sorties
sont identiques, on les relie par un trait pointill si les sorties sont diffrentes.
exemple du chariot :
M.A.B
0.0.0
4
0.0.1
5
"
0.1.1
-
0.1.0
1.1.0
2
1
-
1.1.1
-
1.0.1
-
1
2
3
6
4
1.0.0
7
-
G.D
0.0
0.1
0.1
0.1
1.0
1.0
0.1
0.0.0
-
0.0.1
5
"
0.1.1
-
0.1.0
1.1.0
2
1.1.1
-
1.0.1
-
1.0.0
-
#
-
G.D
0.0
0.1
1.0
- machine de MEALY:
M.A.B 0 . 0 . 0
0.0.1
ac
6 (1.0) 5 (1.0)
b
4 (0.1)
5
0.1.1
-
0.1.0
1.1.0
1 (0.0)
2
3 (0.1) 2 (0.1)
1.1.1
-
1.0.1
-
1.0.0
7 (0.1)
Le nombre de lignes du tableau d'tats rduit reprsente le nombre d'tats internes ncessaire pour
mmoriser le pass du systme (3 pour la machine de Moore, 2 pour la machine de Mealy).
Dans la machine de Moore, les tats 2 et 3 seront reprsents par le mme tat interne b et par des
entres diffrentes. Les tats 1 et 3 correspondant aux mmes entres externes seront reprsents par
des tats internes diffrents.
Les tats internes seront cods par des variables internes. Ce codage pourra tre optimal si l'on utilise
le nombre minimum possible de variables internes (2 pour la machine de Moore, 1 pour la machine
de Mealy). On peut aussi utiliser une variable par tat interne.
3.4. REMARQUES
La description d'un systme squentiel par graphe de fluence ou par tableau d'tats primitif est une
mthode systmatique de modlisation : on examine toutes les combinaisons des variables d'entre.
Ces mthodes ne seront pas applicables pour des systmes ayant un grand nombre d'entres et (ou)
un grand nombre d'tats. On prfrera alors employer des mthodes bases implicitement sur la
description directe des tats internes :
- graphe d'tat,
- graphe dvnements,
- GRAFCET,
- Rseaux de Petri.
Ces mthodes n'tant plus systmatiques, ncessiteront une validation des modles obtenus.
Nous prsenterons le GRAFCET qui sert la modlisation du fonctionnement de la partie
commande des systmes automatiss de production dans la partie B ; les rseaux de Petri seront vus
lan prochain.
squence
choix
divergence en OU (exclusif)
convergence en ou (exclusif)
k
a
G si A
M
b
Le premier modle est une machine de Moore, le second une machine de Mealy. On remarque que
dans cette dernire les sorties dpendent des tats et des entres externes.
Ces modles peuvent s'obtenir de faon systmatique partir des tableaux d'tats rduits (je vous
invite le faire).
deuxime exemple:
A1
G1
B1
D1
M
A2
G2
B2
D2
Par action sur M, si le chariot 1 est en A1, si le chariot 2 est en A2, dplacer le chariot 1 vers B1 et
le chariot 2 vers B2. Lorsque le chariot 1 arrive en B1 il retourne vers A1 si le chariot 2 est dj pass
en B2. Lorsque le chariot 2 arrive en B2 il retourne vers A2 si le chariot 1 est dj pass en B1.
Il est trs difficile de faire un graphe de fluence ou un tableau d'tats primitif : il y a cinq variables
d'entres externes donc 32 combinaisons diffrentes. On construira directement le graphe d'tat
partir de l'tat initial que l'on choisit.
10
k
M
A2
A1
2
G2
D1.D2
B1
G1 7
3
D2
B2
4
D1
A1
A2
B2
5
B1
G1.G2
Pour construire ce modle on suppose que les deux vnements B1 et B2 ne peuvent pas se
produire en mme temps. Un vnement est produit par le changement de niveau d'une variable ou
d'une expression boolenne.
Hypothse fondamentale des systmes squentiels : Des vnements non corrls ne se
produisent jamais en mme temps.
Attention aux OU : Cette hypothse devrait garantir que le systme voluera soit vers l'tat 3 soit
vers l'tat 4 depuis l'tat 2. Il faudra tre trs prudent pour passer du modle la ralisation : les choix
technologiques peuvent corrler deux vnements qui ne le sont pas. Il est prfrable dcrire la
condition d'volution de: 2 vers 3 : B1.B2 et de 2 vers 4 : B2.B1. On a assur l'exclusion logique
des conditions. (Par commodit, je noterai X = non X)
b) Validation du modle
La modlisation par graphe d'tat n'tant pas une dmarche o l'on envisage toutes les combinaisons
possibles des variables d'entre pour dcrire le systme il est ncessaire de valider le modle obtenu.
On vrifiera que : les conditions d'volution des divergences en OU sont physiquement ou
logiquement exclusives et que le modle traduit bien le cahier des charges.
c) Conclusion
Un graphe d'tat reprsente tous les tats du systme (chaque place est un tat). Les graphes d'tats
font clairement apparatre deux mcanismes lmentaires des systmes squentiels : la squence et le
choix. Par contre ils ne font pas apparatre clairement le paralllisme et la synchronisation. Ces
derniers apparaissent clairement dans un autre type de modle: les graphes d'vnements.
Exemple (trait en cours) :
11
On considre un digicode lentre dun immeuble. Il possde les touches a, b, c, d, e. Le code est
a.c.e. Ces touches sont considres commes des entres. Elles valent 1 quand la touche est appuye
et 0 quand elle est relche.
Faire un graphe dtat reprsentant le fonctionnement de ce digicode.
Faire ensuite le tableau dtat rduit du systme en considrant quon nappuie jamais sur deux
touches en mme temps.
Vrifiez que le graphe dtat et le tableau dtat rduit sont quivalents.
Exercice :
Un chariot fait des aller-retours (sortie D et G) entre deux points (entres a et b) sans arrt.
Quand un interrupteur c est 1, le chariot sarrte. Il reprend sa course quand c repasse 0. En
prenant comme tat initial le chariot se dplace vers la droite, laborez le graphe dtat qui
reprsentera ce systme. (suite de lexercice la fin du chapitre 4)
3.6. GRAPHE D'EVENEMENTS
Dans un graphe d'vnements chaque place a au plus une transition d'entre et une transition de
sortie. Par consquent on peut avoir les structures suivantes:
squence
paralllisme
divergence en ET
synchronisation
convergence en ET
M
D1
D2
B1
B2
=1
G1
G2
A1
A2
=1
12
0.0.0
-
0.0.1
5
"
0.1.1
-
0.1.0
1.1.0
2
1.0.1
-
1.0.0
-
1.1.1
-
G.D
0.0
0.1
1.0
1.1.0
b+
b+
-
1.1.1
-
1.0.1
-
1.0.0
b+
-
G.D
0.0
0.1
1.0
0.0.0
b+
c+
0.0.1
c+
c+
0.1.1
-
0.1.0
a+
b+
a+
A l'intrieur du tableau figurent les futures valeurs des tats : on les note i+. On pourra, suite une
variation d'une des entres externes, soit rester dans l'tat courant i, soit l'atteindre en venant d'un
autre tat. De faon gnrale:
(volution)
(maintien)
13
Pour b+:
quation d'volution : on atteint b+ partir de a seulement. En exploitant la ligne a du
tableau d'tat rduit :
B \ M.A
0
1
0.0
x
x
0.1
0
x
1.1
1
x
1.0
x
x
do b+ev = M.a
quation de maintien : on exploite la ligne b du tableau :
B \ M.A
0
1
0.0
1
0
0.1
1
x
1.1
1
x
1.0
1
x
do b+maint = B.b
On obtient finalement : b+ = M.a + B.b
Pour tout le systme on a:
a+=A.c+ M.a
b+=M.a+ B.b
c+ = B.b + A .c
Reprenons le graphe d'tat obtenu au chapitre prcdent:
k
a
Sur le modle figurent uniquement les conditions d'volution. On complte ce graphe pour
reprsenter aussi les conditions de maintien :
M
a k
c G
B
14
explications: le systme tant dans l'tat a, si la condition M devient vraie il passe dans l'tat b. La
condition M peut alors disparatre, c'est B qui maintient le systme dans l'tat b.
b) quations des sorties
Pour une machine de Moore les sorties s'crivent uniquement en fonction des tats. Pour cet
exemple on obtient :
D=b
G=c
Pour une machine de Mealy les sorties s'crivent en fonction des tats et des entres externes. On
aurait :
G = (ac).A
D=b
c) Initialisation
On peut prendre en compte l'initialisation dans les quations du systme. On ajoute une entre
externe supplmentaire I:
a+ = A.c + M.a + I
b+ = (M.a+ B.b).I
c+ = (B.b + A.c).I
En faisant I = 1 on met le systme dans son tat initial. On autorise le fonctionnement en faisant I
=0
Remarque :
- La reprsentation algbrique s'tend d'autres modles que le graphe d'tat, au graphe
d'vnements et au Grafcet,
- La ralisation pratique consiste en une traduction de ces quations algbriques en circuits
logiques en utilisant des bascules D ou JK, synchrones ou asynchrones.
15
Les ralisations asynchrones sont de moins en moins envisages (sauf quand on a des objectifs de
rapidit) car elles conduisent des alas de fonctionnement. Pour viter ces alas, il faudra s'interdire
toute variation simultane des entres qui agissent sur le bloc combinatoire.
Les problmes d'alas seront facilement matriss en effectuant une ralisation synchrone.
b) Systmes Squentiels Synchrones
Les changements d'tat sont effectus aprs validation par le front montant (ou descendant) d'un
signal supplmentaire appel horloge. Pratiquement, l'horloge n'intervient que sur la mmorisation
des tats: elle n'est pas considre comme une entre supplmentaire et n'interviendra jamais dans
les mthodes de synthse.
avantages: les entres externes peuvent commuter n'importe quand sauf sur les fronts actifs de
l'horloge. Elles peuvent ventuellement tre synchronises par une deuxime horloge afin d'obtenir
des informations stables sur les entres des organes de mmorisation.
Pour le systme prcdent on obtiendra:
H
e
S
La plupart des ralisations concrtes utilisant des processeurs (automates, cartes microcontroleurs...) va fonctionner sur ce mode.
Pour ces types de procds, lhypothse Des vnements non corrls ne se produisent jamais en mme
temps nest plus assure car dans le en mme temps il faut cette fois comprendre entre deux fronts
dhorloge. Il va donc falloir bien grr cette situation.
Prenons lexemple des deux chariots. Le graphe dtat a t construit en prenant lhypothse quil est
impossible que les deux chariots arrivent en mme temps. Do une divergence B1 OU B2. Rendre
le OU exclusif ne rsoud pas le problme dune ventuelle simultanit des deux vnements (B1
et B2 dans un mme crneau dhorloge). Il faut donc prvoir une branche OU supplmentaire avec
B1.B2. Ci-dessous la modification pour la divergence OU en B1 et B2. Il faudrait faire de mme
avec la divergence A1 OU A2
Fin de la partie A
16
En gnral :
sorties (ordres)
Partie Commande (PC)
17
18
19
tape
tape initiale
Une tape peut tre active ou inactive. Pour reprsenter une tape active, on peut par exemple
20
ajouter une marque dans ltape. On peut associer une action une tape (qui seffectuera quand
ltape sera active) :
Droite
2
La transition :
7
f
c
3
10
15
c
d
11
12
16
21
Exemples de modlisation :
exemple du chariot :
A
a
M
B
c
D1
B1
D2
A1
G1
D1
B1
A2
G2
D2
B2
B2
graphe dtat quivalent
k
1
M
A2
A1
2
G1
G2
G2
B1
G1 7
3
A1
A2
D2
B2
4
D1
A1
A2
D1.D2
B2
5
B1
G1.G2
22
(1,2)
t1
(2,3)
t2 t3
(5,6)
(5,8)
t4
(0)
t5
temps
On note Xi la variable boolenne qui vaut 1 si ltape i est active, 0 sinon. Par exemple, entre la date
t4 et t5, on a :X1 = X2 = X3 = X4 = X6 = X7 = 0 et X5 = X8 = 1.
23
2
b=1
b
b
3
b
3
rservoir
m
V1
V2
h1
h2
b1
b2
W1
W2
Le dispositif concern est reprsent sur la figure ci-dessus. Les deux bacs sont utiliss de faon
similaire. Le bac 1 est vide lorsque le niveau est au-dessous de b1, c'est--dire b1 = O. Il est plein
lorsque le niveau est au-dessus de h1 c'est--dire h1 = 1. A l'tat initial, les deux bacs sont vides. Au
moment o on appuie sur le bouton poussoir m, les deux bacs se remplissent grce l'ouverture des
vannes V I et V2 . Ds qu'un bac est plein, par exemple le bac 1, on arrte son remplissage
(fermeture de la vanne V1 ) et l'on commence utiliser son contenu (ouverture de la vanne W1).
Lorsque le bac I est vide, on ferme la vanne W1. Le remplissage ne pourra recommencer que lorsque
les deux bacs seront vides. Ce remplissage sera dclench par appui sur le bouton poussoir m.
24
D
D
t/i/D
temps
alarme
t/2/15s
b) Les actions
Les actions associes une tape sont inscrites dans un rectangle daction de faon mettre en
vidence ce qui sexcute lorsque cette tape est active. Souvent, il sagira de commande
dactionneurs (vrins, moteurs, ). Ce peut tre aussi des commandes de fonctions auxiliaires
dautomates (compteur, tempos, ). Elles peuvent aussi dcrire des liens avec dautres systmes
logiques ou analogiques (changement de vitesse moteur par exemple).
Reprsentation normalise :
25
Au cas o lon veut associer plusieurs actions une tape, les reprsentations possibles sont dcrites
ci-dessous :
Exemples :
Action continue :
cest la plus classique. Laction nest effectue que pendant lactivation de ltape
A
2
Action A
temps
X2
Action conditionnelle
d
2
Action A
si d
A
d
Action A
X2
temps
1s/X2
B
m
cela correspond au chronogramme :
26
3s
A
1s
B
m
X2
temps
Montrez que le grafcet ci-dessous nest pas quivalent aux grafcets ci-dessus en vous aidant du
chronogramme ci-dessous.
2
A
t/2/3s
B
m
X2
t/4/1s
Action
A
temps
1s
Action
B
m
3
Actions mmorises.:
On peut pour cela utiliser des affectations (A:=1) (correspond la nouvelle norme). On rencontre
frquemment lutilisation de Set/Reset. Les affectations peuvent aussi sappliquer des variables
(boolennes ou numriques) et des compteurs (initialisation, incrmentation,).
A := 1
Action A
X6
X3
Action A
temps
A := 0
R Action A
S = Set ; R = Reset
27
A := 1
c) Rceptivits
Une rceptivit est une condition logique et/ou un vnement. Une condition logique est une
fonction boolenne de variables externes et de variables internes. Une variable interne est un Xi ou
un bit contenant le rsultat de la comparaison dun compteur et dune valeur. Une variable externe
est linformation venant dun capteur, dun bouton ou dun systme extrieur. (On considre les
variables t/i/D comme variable externe car la fin de tempo arrive de faon asynchrone par rapport
lvolution du grafcet).
Exemples de conditions logiques : a + b.X4
o a et b sont des capteurs et m un bouton.
(t/4/10s) + b.m
2
a
3
a
b
4
c
b
c
t0
t1
t2
Lalgorithme d 'interprtation
1. Pas 1. Initialisation : activation des tapes initiales et excution des actions impulsionnelles qui y sont
28
Remarques :
a. La boucle 3 -> 4 -> 5 -> 3 permet dvoluer jusqu une nouvelle situation stable.
b. Une action impulsionnelles ou mmorise (S et R) est excute mme si la situation nest
pas stable. Une action niveau nest pas modifie entre 2 situations stables. Le pas 6.3 assure
la continuit des actions niveau 1.
c. Grossirement, on peut dire que, quand un vnement externe se produit, le temps sarrte
et lalgorithme se droule. Ds que lon revient au pas 2 le temps repart jusquau prochain
vnement externe. (attention aux cycles instables : a ne sarrterait plus).
d. Cet algorithme peut tre utilis pour la mise en uvre du grafcet.
Exemple de fonctionnement :
1
(1)
(2)
X3
(3)
4
b
(5)
6
(7)
ab
7
b
(8)
b
A*
(4)
A*
B
(6)
C
b
X3
8
(9)
C
t0
t1
29
1
4
m
m
V1
h2
h1
W1
V2
b1
b2
h2
W1
W2
b1
V2
h1
W2
V1
b2
-b-
-a-
m
7
m.X7
m.X4
V1
h2
h1
3
W1
b1
34
V2
h2
h1
V2
V1
C W1 si b1
W2
67
C W2 si b2
b1.b2
b2
-c-
-d-
La figure -a- reprsente le grafcet construit intuitivement. On remarque que quand ltape 4 est
active, cela signifie que le bac 1 est vide. Lorsque ltape 7 est active, cela signifie que le bac 2 est
vide. Lorsque ltape 1 est active, les deux bacs sont vides. On peut donc se dire que ltape 1 est en
trop. On peut alors comprendre lintrt du grafcet -b-, o chaque tape a une signification simple.
Le grafcet -c- est assez proche du grafcet -b- mais on remplac la synchronisation ET par une
synchronisation seffectuant laide de variables internes Xi au niveau des transitions. On prfre,
30
lorsque cela n'alourdit pas trop le grafcet, ne pas utiliser de variables internes pour visualiser
schmatiquement les synchronisations. Le reproche que lon pourrait faire au grafcet -d- est que les
actions conditionnelles masquent laspect squentiel des actions. En conclusion, cest le grafcet -bqui semble le mieux adapt.
3.2 ERREURS A NE PAS FAIRE
Dans lexemple qui suit (et qui sera trait en cours), nous mettrons en avant les erreurs classiques et
les piges qui attendent les concepteurs.
Les peluches 2F
Une machine permet de dplacer suivant les trois axes une pince dans un caisson ferm et vitr. Des
peluches sont disposes au fond du caisson. Au dpart, la pince est en haut et lorigine des axes x et
y. Lutilisateur choisit un des axes de dplacement (soit x soit y) en appuyant sur le bouton appropri.
La pince se dplace jusqu ce que le bouton soit relch ou que la valeur maximale soit atteinte.
Lutilisateur peut alors faire de mme avec lautre axe (respectivement y ou x). Ce deuxime
dplacement nest pas effectu si lutilisateur nappuie pas sur lautre bouton avant 10 secondes.
Ensuite, la pince descend, se ferme, remonte, puis revient en position initiale et souvre aprs 2
secondes. Si la pince avait attrap une des peluches, lutilisateur peut la rcuprer.
Les entres et sorties de la partie commande sont :
entres
sorties
1F
prsence de 1F
X+
bpx
bpy
xo
Y-
yo
Z+
xmax
Z-
ymax
Fermer pince
zb
pince en bas
zh
pince en haut
Dans llaboration du grafcet de commande de cette machine, nous mettrons en avant les point
31
suivants :
a) Un OU nest pas forcment exclusif
Comme nous lavons vu dans les rgles de fonctionnement du Grafcet, si deux transitions sont
franchissables (mme si ce sont deux transitions en concurrence dans une disjonction OU) en
mme temps, elles SONT FRANCHIES TOUTES LES DEUX ! Si cela ne correspond pas un
fonctionnement que vous avez envisag, des dysfonctionnements peuvent survenir, mettant
ventuellement en pril la partie oprative et mme lutilisateur. En rgle gnrale, il sera souvent
souhaitable de
..
..
..
..
t/6/3s
4
..
1
1F
2
P C <- C + 1
1
32
E20
4
Macro-tape M20
21
5
S20
Norme :
1. Une expansion de macro-tape na quune tape dentre (note E) et quune tape de sortie
(note S)
2. Tout franchissement dune transition en amont de la macro-tape active ltape dentre de
son expansion.
3. Ltape de sortie de lexpansion participe la validation des transitions en aval.
4. Il nexiste aucune liaison oriente qui arrive sur lexpansion de la macro-tape ou qui en parte.
Remarque : Une expansion ne peut tre commune plusieurs macro-tape (daprs la norme, mais
certains disent le contraire)
3.4 SRUCTURATION DES GRAFCETS PARTIELS
Lensemble des tapes et transition dune commande peut tre divise en plusieurs grafcets connexes.
Ces grafcets peuvent tre regroups en sous ensembles (souvent dun seul lment) que lon appelle
grafcet partiel. La runion de ces grafcets partiel dcrit la commande du systme considr. Chacun
de ces grafcets partiel peut avoir un nom ou un numro.
33
Notations :
G# dsigne le grafcet partiel # (ex : G1, G2)
XG# est une variable boolenne. Elle est active (vaut 1) si une tape au moins du grafcet
partiel G# est active.
G#{,} dsigne la situation dun grafcet partiel. Exemple : G1:{1,86}.
G#{*} dsigne la situation courante du grafcet #.
G# {} dsigne la situation vide du grafcet partiel #.
G#{init} dsigne la situation initiale du grafcet partiel #
3.5 STRUCTURATION PAR SYNCHRONISATION ENTRE GRAFCETS PARTIELS
On peut structurer les grafcets partiels pour que lun deux puisse jouer un rle de Grafcet superviseur
par rapport dautres.
Exemple : Un systme automatis fonctionne selon un cycle autonome : Il sagit dun chariot qui
fait des navettes entre un point A et un point B. On veut tout de mme le commander grce deux
boutons : Marche et Arrt. Cest dire que le chariot commence effectuer ses cycles quune fois
que le bouton Marche aura t appuy et il arrtera une fois son cycle termin si lon a appuy sur le
bouton Arrt. Proposition de reprsentation :
G
A
Marche
2
Marche
B
3
A.Arrt
Arrt
G
A.Arrt
Cette solution a un inconvnient : pour arrter le chariot il faut appuyer sur Arrt au moment ou le
chariot arrive en A. Ce nest pas satisfaisant. Lide est davoir un grafcet qui coute les boutons et
qui commande lautre. Ce sera un grafcet superviseur :
Grafcet command
par le superviseur
Grafcet superviseur
1
X5
4
2
Marche
D
B
5
Arrt
3
A.X4
34
G
A.X4
Dans les cas plus gnraux et plus complexes, le grafcet superviseur soccupe du dmarrage, de la
squence, de la synchronisation et de larrt de diffrentes taches. Chaque tche est dcrite par un
grafcet command par le superviseur (comme celui ci-dessus droite).
Remarques : On organise ces grafcets de faon ce que seul, le grafcet superviseur soccupe des
boutons de commande.
3.6 STRUCTURATION PAR FORAGE DUN GRAFCET PARTIEL
Lorsque lon veut prendre en compte la scurit, on risque davoir un accroissement important de la
complexit dun grafcet. Au lieu de cela, on peut imaginer quun grafcet peut avoir une influence
globale sur un autre grafcet par lutilisation dactions spciales : les macro-actions.
Remarques : un ensemble de grafcets avec des macro-actions, on peut toujours faire correspondre
un ensemble de grafcets sans macro-actions.
35
Exemple dapplication :
Voici le schma de l'automatisme a dcrire :
a
b
x
y
A
B
Automatisme
C
D*
S
Dpanneur
reprise
dcrire
b
4
C
ab
5
D*
c
Si l'un des dfauts apparat, le grafcet G1 est r-initialis et l'alarme sonne. Si les dfauts
disparaissent, le fonctionnement peut reprendre.
(grafcet G2)
faire
Lorsqu'un dpanneur arrive, il peut arrter l'alarme (mme si le dfaut n'a pas disparu) en appuyant
sur le bouton "dpanneur arriv.
(grafcet G3)
faire
Si le 1er dfaut qui est apparut se produit 2 fois en moins d'une minute, il faudra une intervention
manuelle (bouton reprise) pour que le fonctionnement reprenne.
(grafcet G4)
faire
36
Partie
Oprative
Partie
Oprative
Partie
Oprative
37
1
2F
2
choix = friandise
choix = boisson
donner 1
friandise
faire tomber
godet
godet prsent
friandise servie
verser boisson
godet rempli
Vous tes maintenant au courant de ce qui a t choisi comme partie oprative. Vous connaissez la
liste des capteurs et des actionneurs.
moteur
poudre
1
2
eau
2 x 1F
boisson
friandise
capteurs :
1f, Bouton boisson, Bouton friandise, 1 tour moteur (pour librer 1 friandise)
actionneurs : librer godet, librer 1 dose poudre, ouvrir vanne eau, moteur.
Le grafcet point de vue oprative peut ressembler :
1
1F
2
1F
3
bouton friandise
7
moteur
bouton boisson
librer
godet
4
t/4/1s
5
librer 1 dose
poudre
t/5/1s
1 tour moteur
ouvrir
vanne eau
6
t/6/5s
Le grafcet point de vue Partie Commande ressemble au grafcet point de vue Partie Oprative ceci
38
prs que les entres et sorties sont crites sous forme de mnmoniques et font rfrence aux entres
et sorties de lautomate. (En fait, il y a dautres diffrences mais nous nen parlerons pas ici).
3.5 APPROCHE FONCTIONNELLE
Pour concevoir un grafcet, il courant dutiliser une mthode intuitive consistant :
- tracer ltape initiale,
- tracer la premire action
- prvoir les volutions possibles
- complter en dtaillant tous les cas.
- vrifier que lon a rien oubli, corriger, simplifier.
Si cette mthode peut fonctionner pour des systmes simples ou trs squentiels (peu de choix OU),
elle trouve assez vite ses limites pour des systmes complexes.
Sortie cellule
stock aval
Entre cellule
stock amont
Poste B
Vous pouvez obtenir :
39
SAm
DA
DB
SB
SA
SAm
SAm
SB
SA
DAv
DAv
DB
DA
DAv
DAv
SS::Saisir
Saisir
DD::Dposer
Dposer
AAet
etBB::postes
postesAAet
etBB
Am
Amet
etAv
Av::Amont
Amontet
etAval
Avalde
delalacellule
cellule
Cette faon de procder nest pas efficace car cest une dmarche sans rigueur, elle conduit plusieurs
phases dessais et un tracer peu clair et conduit des erreurs (tous les cas ne sont pas forcment
prvus et il est difficile de trouver toutes les simplifications possibles).
Lapproche fonctionnelle consiste en :
rfrencer les entres et sorties
dfinir la fonction principale (en utilisant du vocabulaire gnral)
dcomposer et dfinir les sous fonctions avec mise en vidence des structures de base du
grafcet (bauche)
la synthse donne la structure gnrale du grafcet
reste complter les rceptivits...
Dans lexercice prcdent, lapproche fonctionnelle donne :
Fonction
Fonction Evacuer
Alimenter
1
SAm
SA
DA
DB
40
SB
DAv
BIBLIOGRAPHIE
Norme internationale CEI 60848, Langage de spcification Grafcet pour diagrammes fonctionnels en
squence, Deuxime dition, fvrier 2002
R. David, H. Alla, Du grafcet aux rseaux de Petri 2ime dition, Trait des nouvelles technologies, srie
Automatique, Herms, 1992, 499p.
ouvrage de base pour toutes les parties (A, B et C), prsentant les notions et les principes gnraux.
Contient des exos corrigs.
introduction aux systmes squentiels (graphes dtats, tableaux), exemples de ralisations matrielles et
logicielles.
Les automatismes programmables, Automatisation et production, Capadues ditions, 1987, 185p.
Bon ouvrage sur les gnralits et lenvironnement des automates, le Gemma. Quelques exemples concrets.
S.Moreno et E. Peulot, Le Grafcet : conception - Implantation dans les API. Editions Casteilla,
Collection A. Capliez, 1996, 251p.
Autres sources
J.P. Denat, Matre de Confrences lESIA (Ecole Suprieure dIngnieurs dAnnecy), Polycopi de
son cours de logique squentielle.
G. Vitry, Matre de Confrences lEcole Centrale de Lyon, Polycopi de son cours dautomatique
des systmes vnements discrets.
B. Riera, Professeur lIUT de Champagne Ardennes, Prsentations de son cours dautomatique
squentielle 2003.
41