Vous êtes sur la page 1sur 66

Le Grafcet G7

grafcet fonctionnel
vs
grafcet technologique

Grafcet fonctionnel / technologique


grafcet fonctionnel : prise en compte de la partie fonctionnelle, en
faisant abstraction de toute ralisation technologique

grafcet technologique : en s'appuyant sur le grafcet fonctionnel, intgre


les contraintes technologiques et oprationnelles.

grafcet fonctionnel
principe

karen.godary@lirmm.fr

technologie
pneumatique

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

grafcet
technologique

Grafcet fonctionnel / technologique

Pour garantir l'indpendance du grafcet fonctionnel, faire attention certains cas particuliers.

Gestion des fronts : permet de tester l'apparition / disparition d'evt plutt que leur
prsence. C'est le cas lorsqu'une information est dj prsente dans l'tat initial.
Exemple : commande d'un moteur : lorsque l'oprateur commande la rotation, l'information
du capteur p de position est dj vraie => tester l'apparition de p et non sa prsence.

Rmq : en fait le test d'un front montant se traduit ds le grafcet technologique l'aide d'une
tape supplmentaire.

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

Grafcet fonctionnel / technologique

Exclusivit au niveau des divergences : l'exclusivit de a et c peut tre :


{
{
{

lie au procd : par ex. capteurs "opposs" (objet gauche / objet droite);
incompatibilit temporelle : a priori jamais en mme temps;
exclusion logique : structurellement, cf. schma.

Mais pour garantir l'indpendance, il vaut mieux expliciter l'exclusivit de faon


structurelle

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

Grafcet fonctionnel / technologique


Gestion des simultanits en fin de convergence
Hypothse sur les capteurs

Pb : si une action finie


avant l'autre, elle ne
peut pas s'arrter
karen.godary@lirmm.fr

1 solution, mais avec


hypothse : capteurs
contact maintenus

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

solution la meilleure.

Le Grafcet G7
Dialogue entre grafcets

Le Grafcet G7
Dialogue entre grafcets :
Communication dans l'entreprise

CF COURS RLI

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

Communications
Evolution des architectures d'automatismes : introduction de communications
de faon hirarchique

En entreprise : hirarchie des communications = pyramide CIM (Computer


Integrated Manufacturing)

Cf. cours
RLI

Avantages :
{

Rduction du cblage

Rduction des cots (cblage, interface PO/PC (interface capteurs))

Modularit

Inconvnients :
{

Gestion des dlais, pertes, contraintes temporelles, rpartition des donnes

problmatique des rseaux locaux industriels (RLI)

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

Le Grafcet G7
Dialogue entre grafcets :
Division technologique

Ralisation technologique
Il est donc souvent ncessaire ou judicieux de diviser la partie
commande et/ou la partie oprative :

Application complexe divise en sous parties de moindre complexit;

Synchronisation et dialogue entre sites rparties gographiquement;

Intgration du concept de CIM avec ncessit d'optimiser les


communications entre niveaux.

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

11

Ralisation technologique

Exemple : 2 chariots

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

12

Le Grafcet G7
Hirarchisation de la partie
commande

Hirarchisation

Exemple : 3 chariots.
{

Les chariots 1 et 2 se chargent (CPi) gauche et se


dchargent (Dpi) droite dans le chariot 3;

chariot 1 en 1er

Le chariot 3 se dcharge (Dp3) droite.

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

14

Hirarchisation

Dcoupage de la PC :
{

Gestion des chariots (3 grafcets, un par chariot)

Gestion des synchronisations, mmorisations, ressources.

chariot 1

chariot 2
chariot 3

synchro

synchro

karen.godary@lirmm.fr

synchro

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

15

Hirarchisation

Synchronisation et gestion de la ressource chariot 3 :

chariot 1

grafcet de
synchronisation

chariot 2
chariot 3

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

16

Hirarchisation

Commande hirarchise :

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

17

Le Grafcet G7
Implantation

Mise en oeuvre
La norme dfinit les symboles et les rgles ncessaires la
reprsentation graphique de ce langage, ainsi que linterprtation qui
en est faite.

Les techniques de mise en uvre (passage dune spcification


GRAFCET une ralisation cble et (ou) programme) ne font pas
partie du domaine dapplication de cette norme.

Rmq : ds le cas des systmes de commande intgrant un automate


programmable, la norme CEI 61131-3 (1993) dfinie un ensemble de
langages de programmation destins aux automates programmables.

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

19

Implantation du grafcet
Description du comportement du grafcet = rgles d'volution => modle
comportementale.

Pour l'implantation, on a besoin d'une formalisation supplmentaire :


{

Soit algorithme d'volution

Soit quation boolennes quivalentes (quations logiques)

Ces 3 reprsentations sont quivalentes (mme comportement du systme


vis--vis des E/S)

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

20

Le Grafcet G7

Algorithme d'volution

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

22

Algorithme d'volution

Exemple :

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

23

Algorithme d'volution

Exemple :

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

24

Algorithme d'volution
IMPLANTATION INFORMATIQUE : plusieurs faons selon des critres
d'optimisation (taille mmoire, tps d'excution..)

Exemple simple :
Donnes

Paramtre.
ou
Proprit

Entre

Nom

Valeur

N Connex.

1 = vert
0 =rouge

Sortie

Nom

Valeur

N Connex.

1 = vert
0 =rouge

Etapes

Nom

Etat

Initiale ?

Liste Trans. Amont

Liste Trans. Aval

Transition

Nom

Franchissable ?

Rceptivit

Liste Etapes Amont

Liste Etapes Aval

Rceptivit

Nom

Valeur

Fonction

karen.godary@lirmm.fr

Paramtre.
ou
Proprit

Paramtre.
ou
Proprit

Paramtre.
ou
Proprit

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

Paramtre.
ou
Proprit

25

Algorithme :

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

26

Algorithme d'volution

Variantes :
{

Algorithme sans recherche de stabilit : le prcdent; (nom : SRS)

Algorithme avec recherche de stabilit (nom : ARS) : de nouvelles entres ne


sont lues que lorsque le grafcet a atteint un tat stable.

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

27

Algorithme d'volution

Intrt de la recherche de stabilit

Exemple : dplacement d'un mobile

Fonctionnement :
{

Dplacements initiaux : H et D

Si atteinte de b avant a : le mobile repart gauche


jusqu' c

Si atteinte de a avant b, et le bouton poussoir m


enclench : continu d'aller droite jusqu' d (ne
monte plus)
Si atteinte de a avant b, et m non enclench : va
droite jusqu' b, puis revient gauche jusqu' c.

(1)

(2)

(3)

(4)

(5)
(6)

(7)

(8)

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

28

Algorithme d'volution

Mise en uvre SANS stabilit :


1)

Lecture des entres

2)

Evolution de la situation (franchissement d'1 ou plusieurs transitions simultanes)

3)

Excutions des actions

Exemple de scnario d'entre : capteur m, puis a, puis b rapidement aprs a

Comportement : (situation initiale {1,2} )


{

Lecture de m

Evolution {1,2} {1,4}


Action : H,D

Lecture de a

{
{

Rmq : si b arrive + tard, la transition n6 sera franchie


avant la n5 => comportement non dterministe, ce
qui n'est pas dans l'esprit du Grafcet

Evolution {1,4} {3,4}


Action : D

Lecture de b
Transitions franchissables : n5 ET n6

simultanment franchies, pas trs correct a priori (branches censes tre exclusives)

Actions : G et D => confirmation du problme !!

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

29

Algorithme d'volution

Une solution : assurer explicitement l'exclusivit des branches d'une structure


de choix, ou viter les situations instables (difficile, et grafcet souvent limit).

Autre solution : Mise en uvre AVEC stabilit

1)

Lecture des entres

2)

Evolution de la situation jusqu' atteinte d'une situation stable

3)

Excutions des actions

Sauf cas particulier, la recherche de stabilit est indispensable la mise en


uvre correcte d'un grafcet.

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

30

Algorithme d'volution

Optimisations :
{

Diminution du nb de transitions explorer : au lieu d'explorer toutes les


transitions, on slectionne les transitions aval des tapes actives.

Diminution du nb de transitions explorer : au lieu d'explorer toutes les


transitions, on ne slectionne que les transitions associes aux entres
qui ont changes.

Rmq : ces optimisations sont + ou efficaces suivants l'implmentation


mmoire des donnes (listes, chanes ou doublement chanes,
tableaux, etc..)

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

31

Le Grafcet G7

quations quivalentes
Equation logique d'une tape

Principe : on considre une tape Xp et son environnement.

Une tape p est active (Xp vaut 1) si :


{

elle est active par l'amont

elle valait dj 1 et n'est pas dsactive par l'aval

Xp(tn +1) = ConditionActivation + Xp(tn) (ConditionDesactivation)

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

33

quations quivalentes
Equation logique d'une tape

Initialisation : activation des tapes initiales, dsactivation des autres :


{

Init(Xp) = 1 t0 si Xp est une tape initiale, 0 sinon.

Xp (t n +1 ) = Init ( Xp ) + ConditionActivation + Xp(t n ) (ConditionDesactivation)

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

34

quations quivalentes

Exemple : dbut de choix de squences

b+c
d
e

X10 = X9.a + X10.(b + c)


X21 = X10.b + X21.d
X31 = X10.c + X31.e

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

35

quations quivalentes

Exemple : fin de choix de squences

a
g
f

X9 = (X22.g + X32.f) + X9.a


X22 = X21.d + X22.g
X32 = X31.e + X32.f

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

36

quations quivalentes

Exemple : dbut de squences parallles

b
d
e

X10 = X9.a + X10.b


X21 = X10.b + X21.d
X31 = X10.c + X21.e

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

37

quations quivalentes

Exemple : fin de squences parallles

a
X30.e

X31.b
X21.b

X10 = X21.X31.b + X10.a


X21 = X20.d + X21.X31.b
X31 = X30.e + X31.X21.b

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

38

quations quivalentes

Conditions d'activation (CAXp) : pour Xp l'instant n+1


i , j amont de p


( Xi . Ri ) + Xj1 .. Xjd . Rj )
i
j ju

Ti

instant n

jd

j1

i
Ri

instant n+1

Rj

Tj
p

l1

Conditions de dsactivation (CDXp) :

Tk

Rk
Tl

k ,l aval de p

karen.godary@lirmm.fr

ld

Rl

+
k
l
1
ld
l
(
R
)
X
..
X
.
R
)

l lv

k
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

39

quations quivalentes
Gestion des actions

Action continue : son activit dpend de l'activit des tapes


auxquelles elle est associe.

Exemples :

A = X1
B = X2

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

A = X1 + X3
B = X2

40

quations quivalentes
Gestion des actions

Action conditionelle : son activit dpend de l'activit des tapes


auxquelles elle est associe ET des conditions.

Exemple :

A = X1 . e

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

41

quations quivalentes

Gestion des arrts d'urgence :


{

AU doux : stop des actions

A = Xp . AUd

Signaux d'arrt d'urgence

AU Dur : dsactivation des tapes

Xp(tn +1) = ( Init(Xp) + CAXp + Xp(tn) (CDXp) ). AUD

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

42

quations quivalentes

Exemple 1 :
le grafcet

karen.godary@lirmm.fr

Les quations quivalentes


Xi(0) = 0 i
Init = 1 t=1

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

43

quations quivalentes

Exemple 2 : commande du cycle d'1 vrin avec initialisation et dtect de dpassement du tps
le grafcet
1
T1

NonGA
2

T2

T3

Ordre VaGauche

T5

X4
11

Dbut dtection

Attente
GoCycle

karen.godary@lirmm.fr

10

GA

GA
3

T4

T2

T6

X3

T7

Ordre VaDroite
DA

t/X11/5 sec
12

T8

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

ALARME
ACQ

44

quations quivalentes
le grafcet
Les quations quivalentes

X1 = Init + X1.(GA + GA)


X1 = Init + X1.1 = Init + X1.0
X1 = Init
X2 = X1.GA + X4.DA + X2.GA
X3 = X2.GA + X1.GA + X3.GoCycle

Les quations de sorties


VaGauche = X2
VaDroite = X4
ALARME = X12
karen.godary@lirmm.fr

X4 = X3.GoCycle + X4.DA
X10 = Init + X12.ACQ + X11.X3 + X10.X4
X11 = X10.X4 + X11.( X3 + (t / X11 / 5 sec))
X12 = X11.(t / X11 / 5 sec) + X12.ACQ

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

45

Conclusion

Ces principes montrent comment passer d'un Grafcet une


ralisation algorithmique ou un circuit.

Ils s'appliquent quelque soit la technologie:


{

circuits logiques

programmation logique sur API

programmation classique sur PC industriels

etc...

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

46

Le Grafcet G7
Quelle technologie ?

Mise en uvre
Le Grafcet n'impose aucune solution : le choix ne dpend que de
critres conomiques ou des conditions d'utilisation.

Exemples :
{

Si besoin de modification, si bcp d'E/S ou si implmentation personnalise : API,


programm directement en G7 par une console de programmation (et / ou rseau).

Si : langage simple (ET, OU, mmoires)

Si fonctionnement prdfini et fig, et simple : cblage lectronique (portes et


bascules).

Si environnement peu compatible avec l'lectronique : cblage non lectronique


(ralisation pneumatique ou lectrique)

Si fonctionnement complexe avec besoin de rapidit ou de calcul numrique : carte


-contrleur ou mme -processeur.

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

48

Mise en uvre

Approches de mise en uvre :


{

Approche cble asynchrone


bascules RS

Approche cble synchrone


diagramme d'tats, squenceur bascules D

Approche cble programme


mmoire et bascules D

Approche programme
contrleur et processeur boolen

Automate Programmable

+ flexible

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

49

Le Grafcet G7

Programmation par logique cble

Ralisation technologique

Programmation en logique cble :


{

Logique combinatoire

Logique squentielle asynchrone

karen.godary@lirmm.fr

Bascule RS

Logique squentielle synchrone

Squenceur lectrique

Squenceur pneumatique

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

51

Le Grafcet G7
Exemple :
Cblage par bascules RS

Cblage asynchrone

Mise en uvre par cblage asynchrone : cas simple d'un grafcet linaire.
{
{
{

Une bascule RS par tape


Une tape s'active si son tape amont est active + rceptivit vraie
Une tape se dsactive qd la suivante est active

Etape 2 :
{
{
{

karen.godary@lirmm.fr

Activation : S2 = Q1.d
Sortie X : X=Q2
Dsactivation : R2=Q3

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

Etape i :
Si : Set
Ri : Reset
Qi : Sortie

53

Cblage asynchrone

Schma du cblage du systme complet :

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

54

Cblage asynchrone
Principale difficult : le routage, surtout pour un circuit imprim (croisements de pistes
impossibles). D'autant plus que chaque composant doit tre aliment (alimentations non
reprsentes ici). Mais il existe dsormais de bons logiciels de routage.

La mise en uvre d'un Grafcet par cblage n'est pas trs complique, par contre la
modification est difficile (souvent, nouveau cblage si modif du G7). De mme, la
recherche d'erreurs aprs coup tant difficile => test du cblage ds sa ralisation.

Autre problme de cette mthode :


{

une tape active dsactive son tape amont en permanence, tant qu'elle reste active (au lieu
de ne le faire qu'au moment de la transition).

L'tape amont ne peut alors pas tre active par un autre signal (ex : bouton "init")

Solution : mmoriser par une bascule intermdiaire l'tat des transitions.


{

trop complexe !

reste des difficults lies aux tps de rponse des bascules

cblage synchrone (bascule D),

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

55

Le Grafcet G7

Automate Programmable Industriel


(API)

Automate Programmable Industriel

Caractristiques essentielles : adapt pour le contrle de procd


{

Un ordinateur durci : ambiance industrielle

Une connectique adapte : connexion rapide

Un systme d'exploitation adapt : fonctionnement prform

Programme et exploitation adapts : formalisme proche de la dfinition des


quations de commande.

S
E/

rit
a
l
du
o
m

Cycle de base :

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

57

Automate Programmable Industriel

Structure des systmes


automatiques :

Principe de fonctionnement
d'un API :

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

58

Automate Programmable Industriel


si machine = -processeur
spcifique au -processeur
si machine = machine logique spcialise
proche du langage boolen

LANGAGE

Langages des API

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

59

Automate Programmable Industriel


Programmation en langage boolen

Fonctions combinatoires lmentaires :


{
{
{
{
{

ET logique : entre la variable et le rsultat prcdent,


OU logique : entre la variable et le rsultat prcdent,
LIRE : l'tat de la variable indique,
RANGER : le rsultat dans la variable indique,
NON : inverser l'tat de la variable slectionne

Ex : langage STEP5
sur une console
PG605 pour les
automates de types
SIMATIC S5 Siemens

Pour chaque tape i :


{
{
{
{

crire sa condition d'activation CAXi


crire sa condition de dsactivation CDXi

(U : fonction ET)

crire son action associe


Utilisation d'une variable interne associe M0,i

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

60

Automate Programmable Industriel


Programmation en langage contacts (ladder)

Type d'lments :
{

Entres (contacts) : contact ouvert ou ferm

Sorties (bobines) : set et reset

Fonctions : AND, OR, XOR, NOT (NAND, NOR)

Projet
P5+P7

Ex : langage PL7-2 sur un


terminal TSX-T407 pour
les automates
Tlmcanique TSX 1720/27/47-J/47-10/20

Programmation d'une tape i avec action A :


{

crire sa condition d'activation CAXi

crire sa condition de dsactivation CDXi

remplacement de chaque tape Xi par une variable interne de


lautomate note Bi ;

cblage de la CAXi sur le SET de Bi et de la CDXi sur le RESET de Bi;

cblage de laction A associe Xisur la variable interne Bi.

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

61

Automate Programmable Industriel


Programmation en expressions boolennes

Langage proche de l'criture directe et non du schma.

Ligne :
Ln : NomVariable = ExpressionBooleenne

Instruction de saut

exemple : L20 : (E3+E5) = L35

si (E3+E5) est vraie, le programme va ligne L35 (sinon L21)

utilisation :
Initialisation
Mode Panne ou Normal
Calcul en fonction d'une valeur de variable

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

62

Automate Programmable Industriel


Programmation "directe" en GRAFCET

Programmation structure en 3 parties :

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

Projet
P5+P7

Ex : automate
Tlmcanique TSX 47
avec le langage
GRAFCET PL7-2 sur un
terminal TSX-T407

63

Automate Programmable Industriel


Programmation "directe" en GRAFCET
Exemple

Bits systmes de l'automate :


SY21=I1,7 : init du G7
SY22=I1,6 : RAZ du G7 (AUD)
SY09=I1,5 : mise 0 des Out (Aud)

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

64

Automate Programmable Industriel

Programmation des API : alas


{

Il existe une diffrence entre l'excution du systme d'quations


squentielles thoriques et l'excution d'une suite d'quations sur un API.

Dans un API, l'tat final atteint peut dpendre de l'ordre des quations /
instructions / ladder.

Pour viter cela : si modification d'une variable pendant un cycle, ne pas


faire les calculs restant avec la nouvelle valeur mais avec celle de dbut du
cycle (utiliser une variable temp).

Exemple :

a = b+c
d=a
karen.godary@lirmm.fr

d=a
a = b+c

temp = a
a = b+c
d = temp
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

d=a
a = b+c

65

Automate Programmable Industriel


Programmation en langage volu

Le programme est galement structur de


faon squentielle (comme pour l'API) afin de
tenir compte du traitement squentiel des
informations du systme automatique.

Implmentation de l'algorithme d'volution.

Ex : Pascal, C.

karen.godary@lirmm.fr

Polytech' Montpellier, ERII4 - Cours "Automatismes et SED "

66