You are on page 1of 84

Chapitre 6 :

GRAFCET ou SFC
Pierre Duysinx
Universit de Lige

GRAFCET: historique

GRAFCET: GRAF = graphe C = commande E = tape - T=


transition

Au dpart (1975), outil mthodologique de description du cahier des


charges de la partie commande des systmes automatiss

Normalisation en France (1982), puis en, Europe par la CEI sous le


nom de Sequential Function Chart

Outil mthodologique unanimement adopt

Loutil mthodologique de description GRAFCET est devenu un


langage de programmation sous la norme CEI 1131-3

Langage de programmation au succs mitig

Problme dinterface graphique

Problme dabsence de normalisation au niveau smantique

La majorit des programmeurs recourent une traduction manuelle


2

UN OUTIL DANALYSE

Approche progressive

Rdaction du cahier des charges: description claire, prcise, sans


ambigut ni omission du rle et des performances de lquipement

Diviser la description en plusieurs niveaux ou points de vue:

1/ Point de vue systme:

2/ Point de vue partie oprative

Description sous forme littrale du procd, de la coordination et de


lvolution des diffrentes squences.
Description abstraite sans notions techniques.
Description sous forme dactions fonctionnelles du comportement de la partie
oprative.
Effectuer le choix technologique.

3/ Point de vue partie commande

Description des changes dinformations et dordres


Langage technique
4

Approche progressive

Niveau 1: Spcifications fonctionnelles

Description du comportement de la partie commande vis--vis de la


partie oprative PO
Comprendre ce que lautomatisme doit faire

Caractriser les ractions de lautomatisme face aux infos de la PO


Dfinir les diffrentes fonctions, informations et commandes impliques dans
lautomatisation de la PO sans prjuger des technologies

Pas dinfluence de la nature ni des caractristiques des capteurs et


actionneurs
La scurit de fonctionnement est incluse dans les spcifications
fonctionnelles

Approche progressive

Niveau 2: Spcifications technologiques

Prciser les spcifications technologiques des actionneurs, capteurs


Spcification dinterface: insertion de lautomatisme dans le processus et
son environnement
Prciser

La nature et les informations sur les capteurs et actionneurs


Les contraintes sur les capteurs (temprature, humidit)

Approche progressive

Niveau 3: Spcifications oprationnelles

Servir au suivi de fonctionnement de lautomatisme au cours de son


existence
Dfinir les spcifications sur lquipement une fois ralis et en
exploitation: fiabilit, pannes, disponibilit, modifications, maintenance,
HMI

LES REGLES DU GRAFCET

17

Elments de base du GRAFCET

Le GRAFCET est un organigramme qui dcrit dans une suite


logique et organise le cycle et le droulement des diffrentes
oprations appeles tapes dun systme automatis.

Une TAPE correspond une situation dans laquelle le


comportement de tout ou une partie du systme par rapport ses
entres et ses sorties est invariant.

Les TRANSITIONS indiquent les possibilits dvolution entre


tapes.

18

Elments de base du GRAFCET

On associe chaque transition une condition logique appele


RECEPTIVITE qui permet de distinguer parmi toutes les
informations disponibles uniquement celles qui sont susceptibles de
faire voluer la partie commande un instant donn.

La RECEPTIVITE crite sous forme de proposition logique est une


fonction combinatoire des informations extrieures (directives
oprateur, capteurs, compteurs, tempos, changement de variables,
etc.) et de variables auxiliaires ou de ltat actif ou inactifs dautres
tapes.

Les LIAISONS indiquent les voies dvolution de ltat du GRAFCET

19

Elments de base du GRAFCET


13

14
FIN

Ltape se reprsente par un


carr repr par un numro
On peut galement adjoindre un
nom symbolique
Une tape peut tre active ou
inactive.
La situation du systme est
entirement dfinie par lensemble
de ses tapes actives
On peut marquer ltape active
par un point

a.
Reprsentation
26

b.
Symbole

15

AVANCE

c. Etape active

- ouvrir la vanne V3
- lancer le moteur M1
- actionner l'lectrovanne EV6
- lancer la temporisation T6
- teindre le voyant L12
- prslectionner 14 le compteur C1
- dcrmenter le compteur C2

d. Actions multiples

27

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

e. Actions conditionnelles

Etapes du GRAFCET
20

Elments de base du GRAFCET


13

14
FIN

On prcise pour chaque tape les


actions caractristiques
effectuer

a.
Reprsentation
26

b.
Symbole

15

AVANCE

c. Etape active

- ouvrir la vanne V3
- lancer le moteur M1

Les actions sont effectives lorsque


ltape est active
Lexcution des actions peut
encore tre soumise des
conditions

- actionner l'lectrovanne EV6


- lancer la temporisation T6
- teindre le voyant L12
- prslectionner 14 le compteur C1
- dcrmenter le compteur C2

d. Actions multiples

27

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

e. Actions conditionnelles

Etapes du GRAFCET
21

Elments de base du GRAFCET


5

5
a

a. Etats logiques

9
y

t/8/5s

b. Changements d'tat

t/8/10s

10

= 10 seconde depuis
activation tape 8

c. Dpendant du temps

Transitions et rceptivits
22

Elments de base du GRAFCET

La transition dune tape lautre est


verrouille par une condition logique appele
rceptivit
Les liaisons sont horizontales ou verticales

Adopter une reprsentation qui contribue au


mieux la clart du fonctionnement
Utiliser les flches pour amliorer la
comprhension ou que lorientation nest pas
respecte
Eviter les croisements pour viter les ambiguts

Sens gnrale de parcours = de haut en bas

Larrive une tape est en haut et le dpart en


bas
23

Rgles dvolution du GRAFCET

Rgle 1: Etape initiale

Elle est active inconditionnellement au dpart du systme


Correspond un comportement au repos de la PO

Rgle 2: Franchissement dune transition

Le franchissement de la transition ne peut se produire que si:

Rgle 1: tape initiale

La transition est valide (tapes immdiatement prcdentes toutes actives)


ET si la rceptivit associe est vraie

La transition est obligatoirement franchie

24

Rgles dvolution du GRAFCET

Rgle 2: franchissement dune transition

25

Rgles dvolution du GRAFCET

Rgle 2: franchissement dune transition

26

Rgles dvolution du GRAFCET

Rgle 3: Evolution des tapes actives

Rgle 4: Evolutions simultanes

Le franchissement dune transition entrane lactivation de toutes les


tapes immdiatement suivantes relies cette transition et la
dsactivation de toutes les tapes immdiatement prcdentes relies
la transition.

Plusieurs transitions simultanment franchissables (franchissables en


mme temps) sont simultanment franchies (franchies en mme temps).

Rgle 5: Activation dsactivation simultane

Si au cours du fonctionnement une mme tape doit tre la fois


active et dsactive, elle reste active.

27

Rgles dvolution du GRAFCET

Rgle 3: Transitions entre plusieurs tapes

28

Rgles dvolution du GRAFCET

Rgle 3: Evolution des tapes actives

29

Rgles dvolution du GRAFCET

Rgle 4: Evolution simultane

30

GRAFCET: squences multiples


CHOIX CONDITIONNEL OU

Configuration OU apparat quand


la sortie dune tape le chemin
que peut prendre le cycle a la
possibilit de se faire sur
diffrentes squences suivant
ltat des rceptivits

En pratique, prendre des


rceptivits mutuellement
exclusives

31

GRAFCET: squences multiples


SEQUENCES SIMULTANEES ET

Chaque fois que le franchissement


dune transition active plusieurs
chemins fonctionnant en parallle
Lexcution des diffrentes branches
est indpendante, mais se droule
en mme temps
Reprsentation: une transition
UNIQUE et deux traits parallles
indiquent le dbut et la fin des
squences parallles
A la fin attente rciproque
(synchronisation)

32

GRAFCET: squences multiples


SAUT DETAPES ET REPRISE
DE SEQUENCE

Permet de sauter une ou plusieurs


tapes lorsque les actions
raliser deviennent inutiles

REPRISE DE SEQUENCE

Permet de reprendre plusieurs fois


la mme squence tant que la
condition fixe nest pas obtenue

33

GRAFCET: organisation
LA MACRO-TAPE

Eviter la surcharge du GRAFCET


principal par des dtails de
fonctionnement lintrieur dune
tape.
Les dtails de ralisation sont
dcrits par un autre diagramme
appel expansion macro tape
La macro tape est repre par
deux barres verticales dans le
rectangle des actions

GRAFCET
STRUCTURE
5

A1

10
0

R1

X6
MACROETAPE

101

X103
8

R2
A4

102

R4
9

A2

A3
R3

A5

103
=1

34

GRAFCET: organisation

Principe de la macro tape


35

GRAFCET: organisation
SEQUENCE REPETE

Certaines squences
peuvent revenir de faon
rptitive dans un mme
cycle.
Pour viter la rptitions, on
utilise un sous-programme
crit sous forme de
GRAFCET indpendant,
connect au GRAFCET
principal

36

GRAFCET: organisation
ETAPE DE VERROUILLAGE

Cette tape considre comme


une tape initiale complmentaire
permet le droulement dune
seule squence la fois parmi
plusieurs possibles

37

GRAFCET: organisation
ETAPE DE SYNCHRONISATION

Cette particularit se compose


dune tape initiale
complmentaire et dune tape
normale.
Elles synchronisent deux
squences dans des GRAFCETs
diffrents.
Lune des squences doit
obligatoirement se drouler aprs
lautre.

38

Exemple: Poste de perage

On considre un poste de perage


comportant un systme
dalimentation, une perceuse, un
testeur et un plateau tournant
On demande dtablir le GRAFCET
de lautomatisme

Les diffrentes parties du poste de


perage doivent fonctionner en
parallle
Si le testeur nest pas arriv en
position basse aprs 2 s, cela signifie
que le trou a t mal perc. On prvoit
alors un systme permettant
loprateur de prendre la pice la
main. Il relance le systme avec un
bouton poussoir
On suppose le systme en rgime. Il y
a une pice chaque emplacement
du plateau

39

Exemple: Poste de perage


Entres

Actions

Pice charge

Avancer chargeur

Chargeur en arrire

Reculer chargeur

Pice serre

Avance serrage

Pice desserre

Recul serrage

Perceuse en bas

Descente perceuse

Perceuse en haut

Monte perceuse

Testeur en bas

Descente testeur

Testeur en haut

Monte testeur

Pice vacue

Avance vacuation

Evacuation en arrire

Recul vacuation

Plateau

Fin de rotation

Rotation plateau

Oprateur

Marche

Alarme

Alimentation

Serrage
Perage
Testeur
Evacuation

Rarmement
40

Exemple: Poste de perage

41

GRAFCET: ELEMENTS
COMPLEMENTAIRES

42

GRAFCET: lments complmentaires

On associe gnralement deux variables aux tapes:

La variable dactivit: variable boolenne gre par le systme qui vaut


1 si ltape est active

La variable de dure dactivit: variable de type temps gre par le


systme qui indique depuis combien de temps ltape est active

Dans la norme CEI 1131-3, nom_tape.X

Dans la norme CEI 1131-3, nom_tape.T


Pas toujours disponible demble sans dclaration a priori

Remarque:

Ces variables sont une facilit pour la programmation.


On peut les recrer partir de bits internes et de tempos

43

GRAFCET: lments complmentaires


Solutions adoptes par diffrents constructeurs
pour les variables dtape

variable
d'tape
dure
d'tape
rceptivit
associe la
dure

CEI 1131

ALLENBRADLEY

CADEPA

ISAGRAPH

TELEMECANIQUE

tape . X

*SCj:n . SA

Xi

GSi . X

Xi

tape . T

*SCj:n . TIM

GSi . t

*Xi, V

tape . T >
T#5s

SCj:n . DN

T/i/5s/

GSi . t > 5s

Xi, V > 50

ALLEN-BRADLEY
j : n du fichier de contrle SFC
n : n de la structure de contrle attache l'tape considre
SCj:n . PRE : valeur de prslection pour la dure d'tape
CADEPA, ISAGRAPH, TELEMECANIQUE
i : n de l'tape

44

GRAFCET: lments complmentaires

TYPES DACTIONS:

On a suppos que les actions associes aux tapes taient effectues


et maintenues durant toute la priode dactivit de ltape.
Ce sont des actions de types non mmorises
Pour simplifier la tche du programmateur, les constructeurs puis la
norme CEI1131-3 ont introduit dautres dactions rpondant des
besoins pratiques.
Par contre lutilisation de ces actions rend plus difficile la lecture des
GRAFCET

GRAFCET plus implicite


Difficult de mise au point et de maintenance

45

GRAFCET: lments complmentaires

Mettre la disposition du programmeur des fonctions couramment


utilises dans les automatismes

Bi stables

Temporisateurs

Impulsion TP / temporisation lenclenchement TON / temporisation au


dclenchement TOF / RTC horloge temps rel (date et heure)

Compteurs

SR forc dominant / RS rinitialis dominant / SEMA smaphore

Compteur CTU / dcompteurs CTD / compteur-dcompteur CTUD

Diffrentiateurs

Dtecteurs de front montant R-TRIG ou descendant F-TRIG

GRAFCET: lments complmentaires

Diffrents types daction

47

Temporisation

La fonction temporisation
permet de dcaler un signal
logique par rapport un autre
dun dlai fix.
Dcalage lenclenchement
ou au dclenchement
Sur les automates modernes la
temporisation est effectue par
une horloge interne 100 ms,
parfois 10 ms

TEMPO
T

<
T

t
S

a. Retard l'enclenchement

b. Retard au dclenchement

Temporisation
LD

EN

Tempo 1

OK

TON
INPUT

IN

t#2s

PT

ET

OUTPUT

Tempo 1

Programmation d'un bloc


fonctionnel de
temporisation
dans les diffrents
langages normaliss

FBD

IL

ST

INPUT

IN

t#2s

PT

TON

OUTPUT

ET

Lancement

LD
ST
LD
ST
CAL

t#2s
Tempo1.PT
INPUT
Tempo1.IN
Tempo1

Utilisation

LD
ST

Tempo1.Q
OUTPUT

Lancement

Tempo1 (IN : = INPUT , PT : = t#2s)

Utilisation

OUTPUT : = Tempo1.Q

Comptage

Les fonctions de comptage et


de dcomptage sont des
fonctions couramment utilises
Il existe divers compteurs
logiciels, mais ils ne peuvent
compter que des impulsions
espaces dune dure
significativement suprieure au
temps de cycle de lautomate
(10 100 ms)
Pour les comptages rapides,
on recourt des cartes
spciales (horloges
plusieurs kHz)

COMPTEU
R
P

S
N
P

Prslection

t
S

Compteur avec prslection:


devient vrai lorsque le nombre
dentres est dpass.

Diffrentiateurs
E

Dlivrent des impulsions dune


dure gale un cycle
dautomate lors du
changement dtat dune
variable logique

S
S
largeur = 1 cycle

S
S

Fonctions dorganisation du cycle

BRANCHEMENTS ET REPETITIONS

Fonctions qui permettent dintervenir sur le droulement du cycle


de lautomate
Fonctions de branchement

Permettent de sauter conditionnement ou inconditionnellement une


srie dinstructions
Saut avant / saut arrire / saut absolu / saut relatif (nombre
dinstructions)

Boucles de rptition

Permettent de rpter un groupe dinstructions un nombre de fois


donn

Fonctions dorganisation du cycle


X

JMP X

a. Saut direct

JMP Y

JMR n

b. Saut inverse

c. Saut relatif

DO 5

END

n instr.

5X

d. Boucle DO

SR11

JSR SR1

JSR SR1

RET

RET

e. Sous-routines (conomie mmoire)

SR1

SR2

JSR SR1

JSR SR1

SR1

SR12

SR2

e. Sous-routines (structuration des programmes)

Instructions pour le contrle du cycle

Fonctions dorganisation du cycle

SOUS ROUTINES

A pour effet de faire abandonner la squence dinstructions en cours par


le processeur au profit dune squence dinstructions (la sous routine)
situe ailleurs dans la mmoire.
La deuxime squence se termine par une instruction de retour
RETURN qui ramne le processeur lendroit o il avait quitt la
squence initiale

Deux avantages

conomiser la place mmoire

Squence reproduite plusieurs fois mais une seule fois prsente en mmoire

Structurer les programmes

Dcomposer les problmes complexes en sous ensembles plus simples,


correspondant par ex. des entits technologiques
Structure modulaire et hirarchique
Faciliter la maintenance et la lisibilit

Fonctions dorganisation du cycle

INTERRUPTIONS

Lautomate ne scrute le monde extrieur que de manire cyclique


Pour les vnements urgents, cela demanderait des temps de cycle trs
courts et donc des automates surpuissants.
Les procdures dinterruptions sont des solutions beaucoup plus
efficaces.
Les sources dinterruptions sont connectes individuellement ou par une
fonction OU des lignes spciales du bus, les lignes dinterruption.
Le processeur scrute automatiquement les lignes dinterruption aprs
chaque instruction (quelques microsecondes).
Si on dtecte une demande dinterruption, on interrompt lexcution du
programme, on ralise les traitements dsirs puis on reprend
lexcution du programme interrompu.
Au moment de linterruption on a accs direct tous les I/O.

GRAFCET: lments complmentaires

NATURE DES ACTIONS

Le plus souvent, une action = changer une ou plusieurs variables


boolennes
La norme permet galement de raliser des oprations arithmtiques ou
autres dans un langage quelconque de lautomate
Ces instructions sont effectues chaque cycle pendant la dure de
laction
Une action peut tre constitue dun autre GRAFCET.

Dmarrage au moment du dmarrage de laction


Tu lorsque laction est arrte (toutes les actions dsactives)

56

GRAFCET: METHODOLOGIE
DE GESTION DUN PROJET

61

GRAFCET

METHODOLOGIE DE GESTION DUN PROJET

Structuration

Synchronisation : gestion du multitche

Le mode de reprsentation GRAFCET autorise le lancement dactivits en


parallle et se droulant de manire indpendante
Ncessit de resynchroniser ces activits

Protection des ressources communes

Approche top down


Utilisation de sous grafcets

Eviter les accs simultans

Transposition du GRAFCET en langage automate

62

GRAFCET

METHODOLOGIE DE GESTION DUN PROJET

Structuration

Synchronisation : gestion du multitche

Le mode de reprsentation GRAFCET autorise le lancement dactivits en


parallle et se droulant de manire indpendante
Ncessit de resynchroniser ces activits

Protection des ressources communes

Approche top down


Utilisation de sous grafcets

Eviter les accs simultans

Transposition du GRAFCET en langage automate

63

GRAFCET: Structuration

Pour garder au GRAFCET son potentiel de clart: il faut le structurer


Aborder la conception dun automatisme dans une approche top-down: du
gnral vers le particulier
Utiliser des tapes pouvant tre dcomposes en des Grafcets eux-mmes

64

GRAFCET: Structuration

Intrt de lapproche TOP-DOWN

Plusieurs niveaux de description facilite la description

Rpartition du travail

Niveaux suprieurs comprhensibles par des non spcialistes


Outil de dialogue entre diffrents mtiers
Entre plusieurs quipes

Test et maintenance :

Identifier les blocs origines du problme


Objectif: chaque niveau, on peut avoir un GRAFCET sur une page ou
lcran

65

GRAFCET: Structuration

Utilisation des macro tapes (rappel)

A1

10
0

R1

X6
MACROETAPE

101

X103
8

R2
A4

102

R4
9

A2

A3
R3

A5

103
=1

66

GRAFCET: Structuration

Utilisation des actions Grafcet (rappel)

A1
100

R1

A2
R2

6
101

A4

A5

A3

67

GRAFCET: Structuration

Utilisation du principe du client serveur

Consiste utiliser une action GRAFCET principal pour lancer le sous


GRAFCET
Le GRAFCET principal fait une demande de service au sous GRAFCET
Une fois sa tche termine le sous GRAFCET met un compte-rendu
dactivit (bit de bonne fin) qui permet de poursuivre la squence

Avantages de la procdure client serveur

Indpendance vis--vis de la numrotation des tapes


Facilit de tester sparment les SOUS-GRAFCETS
Facilit dintroduire des fonctions de diagnostic (variable de bonne fin ou
non)

68

GRAFCET: Structuration

Principe du client serveur pour la structuration des GRACETs


69

GRAFCET

METHODOLOGIE DE GESTION DUN PROJET

Structuration

Synchronisation : gestion du multitche

Le mode de reprsentation GRAFCET autorise le lancement dactivits en


parallle et se droulant de manire indpendante
Ncessit de resynchroniser ces activits

Protection des ressources communes

Approche top down


Utilisation de sous grafcets

Eviter les accs simultans

Transposition du GRAFCET en langage automate

70

GRAFCET: Synchronisation

Synchronisation explicite

R1

5
R2

R5
6

R3
4

9
R9

10

R6
7
R7

=1

11

Regroupement de branches
parallles sur une double barre
horizontale avec une rceptivit
unique.
Sapplique lorsque les activits
parallles sont si troitement lies
quune reprsentation graphique
explicite de leurs interactions est
indispensable.
Lorsque les activits sont faiblement
couples, on lui prfre des
GRAFCETs indpendants pour des
raisons de clart. On les synchronise
implicitement par variables dtape.

R11

71

GRAFCET: Synchronisation

Synchronisation implicite
horizontale:

Echange de variables
entre GRAFCETs de
mme niveau
Les activits sont
dcrites par des
GRAFCETs
graphiquement
indpendants
Les activits sont
synchronises par des
bits dtapes croiss qui
servent de rceptivits
dans les autres
GRAFCETs

72

GRAFCET: Synchronisation

Synchronisation implicite verticale

La synchronisation horizontale peut devenir difficile suivre cause des


croisements de variables dtape
Synchronisation verticale utilise un GRAFCET supplmentaire de
synchronisation et utilise le principe du client serveur
Le GRAFCET suprieur contrle lexcution des activits
Les interactions ne se font quavec le GRAFCET de synchronisation

73

GRAFCET: Synchronisation
50
0

10
0

R1

DEM100
DEM100
DEM200
DEM300

501

OK100.OK200.OK300
DEM400

502

20
0

503

Dmarrer les activits 100, 200, 300


Attendre la fin des activits 100, 200, 300
Dmarrer l'activit 400
Attendre la fin de l'activit 400

DEM300

R5

R3

40
0

4
=1

DEM200

R2

OK400

30
0

DEM400

11
R9

10
R6

R1
1
20

OK300

OK400

7
OK100

R7
8
OK200

Synchronisation verticale

74

GRAFCET

METHODOLOGIE DE GESTION DUN PROJET

Structuration

Synchronisation : gestion du multitche

Le mode de reprsentation GRAFCET autorise le lancement dactivits en


parallle et se droulant de manire indpendante
Ncessit de resynchroniser ces activits

Protection des ressources communes

Approche top down


Utilisation de sous grafcets

Eviter les accs simultans

Transposition du GRAFCET en langage automate

75

GRAFCET: Protection des ressources


communes

La protection des ressources communes se pose typiquement lorsque lon


traite des activits se droulant en parallle.
Les ressources communes doivent tre protges

Exemple de protection dune ressource


commune: wagonnets de chargement
dun haut fourneau

76

GRAFCET: Protection des ressources


communes

Le GRAFCET permet de grer


ces conflits de manire
lgante
Utilisation dune tape de
verrouillage
Ltat libre ou occup de la
ressource commune est
reprsent par la variable
dtape X1
Pour viter le cas o les deux
wagons se prsentent
simultanment en WA et WB,
on a la rceptivit /X12, ce qui
donne priorit au wagonnet A.

Mcanisme de protection de la ressource


77
commune Mthode explicite

GRAFCET: Protection des ressources


communes
1

Mcanisme de protection de
la ressource commune par
lutilisation dun graphe de
synchronisation

X13 + X23
2

10
Dmarrage

11

20

X14 + X24

Dmarrage

21
Point WA atteint

Remarque : tape 1 joue le


rle de smaphore en
programmation temps rel

12

Point WB atteint

22

Attente

X1
13

X1./X12
23

Point WA atteint

14

Point WB atteint

24
Point A atteint

WAGONNET
A

Point B atteint

WAGONNET
B

Mcanisme de protection de la ressource commune


78
Utilisation d'un graphe de synchronisation

GRAFCET

METHODOLOGIE DE GESTION DUN PROJET

Structuration

Synchronisation : gestion du multitche

Le mode de reprsentation GRAFCET autorise le lancement dactivits en


parallle et se droulant de manire indpendante
Ncessit de resynchroniser ces activits

Protection des ressources communes

Approche top down


Utilisation de sous grafcets

Eviter les accs simultans

Transposition du GRAFCET en langage automate

79

GRAFCET: TRANSPOSITION
EN LANGAGE AUTOMATE

80

Transposition en langage automate

Types de mthodes:

Bits dtape:

Lactivit dune tape est reprsente par ltat vrai ou faux dune
variable binaire interne
Plusieurs variantes qui peuvent tre programmes en IL, Ladder
Diagram, etc.

Pointeur de phase;

Lactivit est reprsente par la valeur dun mot


Valeur du mot = numro de ltape active
Affecter un mot aux branches susceptibles dvoluer en parallle
Travail sur des mots langages adquats ST

81

Transposition en langage automate

Critres de choix

Facilit ddition et lisibilit du programme

Adquation entre mthode et langage utilis


Exemple:

Facilit de mise au point

Forage des variables en phase de mise au point


Intrt et scurit du pointeur de phase

Facilit de diagnostic

Structured Text le pointeur de phase est meilleur


IL: bit dtape

Visualisation dynamique du pointeur de phase

Performances:

Dpend du type dautomate et du nombre dtapes du GRAFCET


Pas de rgle gnrale
82

Transposition en langage automate

Difficults potentielles

Dure dactivation minimale dune tape doit tre au moins gale


un temps de cycle

Cause: les instructions dcrivant le GRAFCET ne sont pas excutes de


manire simultane, mais de manire squentielle.

Les sorties sont calcules durant le cycle, mais elles ne sont inscrites
dans la table des images et envoyes vers les interfaces qu la fin du
cycle
Si tape active et dsactive au cours dun mme cycle: pas deffet!
Rgle: les tapes doivent rester actives au moins un temps de cycle
dautomate

Conditions dactivation de course potentiellement lies lordre de


scrutation des GRAFCETs.
83

Transposition en langage automate

Problme de paralllisme dexcution

Pas de solution radicale et universelle


Lutilisateur doit dtecter le problme et organiser la programmation pour
contrer le problme
Etudier la logique (si elle est donne) avec laquelle le programme
excute le programme (par exemple en logigramme de droite gauche
et de haut en bas)

Problme de synchronisation

Problme li lchange de variables dtape pour synchroniser, pour le


paralllisme et pour la protection des ressources communes
Dans ce cas, la difficult est contourne de la manire suivante:
lorsquun GRAFCET prend le contrle de la ressource, il fait voluer
dans le mme temps le GRAFCET de synchronisation
On duplique donc les volutions du GRAFCET de contrle

84

Problme des branches parallles interactives

R1

A1

A1

A2 . /A11
A2

A3

=1

Cas idal: volution simultane

A11

R1

A1
A1

A2 . /A11
A2

A3

=1
A11

R1

A1
A1

A2 . /A11
A2

A3

=1

A11

85

Problme des branches parallles interactives


1

R1

A1
A1

A2 . /A11
A2

A3

=1

Scrutation dans lordre 1-2-3:


On atteint ltat stable correct aprs
deux cycles

A11

R1

A1
A1

A2 . /A11
A2

A3

=1
A11

R1

A1
A1

A2 . /A11
A2

A3

=1

A11

86

Problme des branches parallles interactives


1

R1

A1
A1

A2 . /A11
A2

A3

=1

Scrutation dans lordre 3-2-1:


On atteint ltat stable erron aprs
deux cycles

A11

R1

A1

A1

A2 . /A11
A2

A3

=1
A11

R1

A1
A1

A2 . /A11
A2

A3

=1

A11

87

Problme de synchronisation
1

10

3
20

Dmarrage

1
Dmarrage

X13 + X23
11

21
Point WA atteint

2
Point WB atteint

X14 + X24
12

22

Attente

X1
13

X1./X12

Etat initial

23
Point WA atteint

14

Point WB atteint

24
Point A atteint

WAGONNET
A

Point B atteint

WAGONNET
B

88

Problme de synchronisation
1

10

3
20

Dmarrage

1
Dmarrage

X13 + X23
11

21
Point WA atteint

2
Point WB atteint

X14 + X24
12

22

Attente

X1
13

X1./X12
23

Point WA atteint

14

Point WB atteint

24
Point A atteint

WAGONNET
A

Point B atteint

Etat final:
Evolution fautive dans le cas
dune scrutation 1 2 -3

WAGONNET
B

89

Organisation des programmes

Partie combinatoire

Sparer la partie combinatoire de la partie squentielle

Mettre la partie combinatoire en avant

Partie squentielle

Sparer la partie du programme relative lvolution du GRAFCET et la


partie calcul des actions
Les actions

Calcul des actions en fin de programme


Trier le calcul des actions en une seule quation
Facilit de la mise au point
Traitement plus facile des arrts durgence

90

Organisation des programmes: actions


S

M2

M3

M4

a.
R

A
M2

M3

M4

AU

M2

b.

Intrt de regrouper les quations


relatives aux actions

M3

M4

c.
91

Mthodes de transpositions
Exemple de GRAFCET

10

R1

Calcul pralable des conditions de


transition

Les conditions de transition pour


toutes les tapes sont calcules en
dbut de programme
Les bits internes de rsultats sont
ensuite utiliss en tant que
rceptivits dans la description de
lvolution du GRAFCET

Si une tape tait active au


cours du cycle, on est certain
quelle ne peut pas tre
dsactive dans un mme cycle
dautomate puisque la rceptivit
+ validation est ncessairement
faux

20
R2
30

Calcul des conditions de transition


LD
AND
ST
LD
AND
ST

M10
R1
M11
M20
R2
M21

condition de transition 10 - 20
Si l'tape 10 est active
et que la rceptivit R1 est vraie
activer la condition de transition M11
condition de transition 20 - 30
Si l'tape 20 est active
et que la rceptivit R2 est vraie
activer la condition de transition M21

Calcul de l'volution

Les actions sont regroupes la


fin du programme

LD
AND
S
R

M10
M11
M20
M10

transition 10, 20
Si l'tape 10 est active
et que la condition de transition est vraie
alors activer l'tape 20
et dsactiver l'tape 10

LD
AND
S
R

M20
M21
M30
M20

transition 20, 30
Si l'tape 20 est active
et que la condition de transition est vraie
alors activer l'tape 30
et dsactiver l'tape 20

Calcul des actions

92

Mthodes de transpositions
Exemple de GRAFCET

10

R1

Calcul pralable des conditions de


transition

20
R2
30

Lourd point de vue calcul


Forage facile (un bit forcer)
Purement logique (pas
doprations arithmtiques ni de
sauts)
Assure un temps de cycle au
moins par tape
Assure la condition pour les
actions impulsionelles

Calcul des conditions de transition


LD
AND
ST
LD
AND
ST

M10
R1
M11
M20
R2
M21

condition de transition 10 - 20
Si l'tape 10 est active
et que la rceptivit R1 est vraie
activer la condition de transition M11
condition de transition 20 - 30
Si l'tape 20 est active
et que la rceptivit R2 est vraie
activer la condition de transition M21

Calcul de l'volution
LD
AND
S
R

M10
M11
M20
M10

transition 10, 20
Si l'tape 10 est active
et que la condition de transition est vraie
alors activer l'tape 20
et dsactiver l'tape 10

LD
AND
S
R

M20
M21
M30
M20

transition 20, 30
Si l'tape 20 est active
et que la condition de transition est vraie
alors activer l'tape 30
et dsactiver l'tape 20

Calcul des actions

93

Mthodes de transpositions

Utilisation des sauts conditionnels

Si le langage comporte des sauts


conditionnels, on peut les utiliser
pour viter des calculs inutiles
On saute dtape en tape jusqu
tomber sur ltape active
On calcule la rceptivit pour
ltape active et si elle est vraie on
fait voluer le GRAFCET
On saute la fin du programme
Les actions sont regroupes la
fin du programme

ET10 :

LDN
JMPC
LD
S
R
JMP

M10
ET20
R1
M20
M10
ACTION

transition 10 - 20
Si l'tape 10 n'est pas active
sauter l'tape suivante
Sinon tester la rceptivit et, si elle est vraie
activer l'tape 20
dsactiver l'tape 10
sauter au calcul des actions

ET20 :

LDN
JMPC
LD
S
R
JMP

M20
ET30
R2
M30
M20
ACTION

transition 20 - 30
Si l'tape 20 n'est pas active
sauter l'tape suivante
Sinon tester la rceptivit et, si elle est vraie
activer l'tape 30
dsactiver l'tape 20
sauter au calcul des actions

ACTION :

calcul des actions

94

Mthodes de transpositions

Utilisation des sauts conditionnels

Plus difficile pour le forage des


variables car il faut recalculer R1
On peut envisager un calcul
pralable des rceptivits avec un
bit interne de mmorisation, mais
un perd une partie du bnfice des
sauts.

ET10 :

LDN
JMPC
LD
S
R
JMP

M10
ET20
R1
M20
M10
ACTION

transition 10 - 20
Si l'tape 10 n'est pas active
sauter l'tape suivante
Sinon tester la rceptivit et, si elle est vraie
activer l'tape 20
dsactiver l'tape 10
sauter au calcul des actions

ET20 :

LDN
JMPC
LD
S
R
JMP

M20
ET30
R2
M30
M20
ACTION

transition 20 - 30
Si l'tape 20 n'est pas active
sauter l'tape suivante
Sinon tester la rceptivit et, si elle est vraie
activer l'tape 30
dsactiver l'tape 20
sauter au calcul des actions

ACTION :

calcul des actions

95

Mthodes de transpositions
a. Programmation en langage IL
Pointeur de phase MW1

Utilisation dun pointeur de phase

Pour les automates disposant de


sauts conditionnels et doprations
sur mots
Si le GRAFCET a des branches
parallles, on le replace par autant
de GRAFCET simples
synchroniss
A chaque GRAFCET on associe
un mot de donnes appel
pointeur de phase dont la valeur
est gale au numro de ltape
active.
Condition de transition:
comparaison avec le numro de
ltape et la valeur du pointeur de
phase
Evolution: le pointeur prend la
valeur de la nouvelle tape active

ET10 :

LD
NE
JMPC
LD
JMPCN
LD
ST
JMP

10
MW1
ET20
R1
ACTION
20
MW1
ACTION

transition 10 - 20
Si le pointeur de phase n'est pas gal
10
sauter l'tape suivante
sinon, tester la rceptivit
sauter au calcul des actions si elle est fausse
sinon mettre 20 dans le pointeur de
phase
sauter au calcul des actions

ET20 :

LD
NE
JMPC
LD
JMPCN
LD
ST
JMP

20
MW1
ET30
R2
ET20
30
MW1
ACTION

transition 20 - 30
Si le pointeur de phase n'est pas gal
20
sauter l'tape suivante
sinon, tester la rceptivit
sauter au calcul des actions si elle est fausse
sinon mettre 30 dans le pointeur de
phase
sauter au calcul des actions

ACTION :

calcul des actions

b. Programmation en langage ST
transition 10 - 20
! IF [MW1=10] . R1
THEN 20 MW1 ; JUMP ACTION
transition 20 - 30
! IF [MW1=20] . R2
THEN 30 MW1 ; JUMP ACTION

ACTION :

96

Mthodes de transpositions
a. Programmation en langage IL
Pointeur de phase MW1

Utilisation dun pointeur de phase

LD
NE
JMPC
LD
JMPCN
LD
ST
JMP

10
MW1
ET20
R1
ACTION
20
MW1
ACTION

transition 10 - 20
Si le pointeur de phase n'est pas gal
10
sauter l'tape suivante
sinon, tester la rceptivit
sauter au calcul des actions si elle est fausse
sinon mettre 20 dans le pointeur de
phase
sauter au calcul des actions

ET20 :

LD
NE
JMPC
LD
JMPCN
LD
ST
JMP

20
MW1
ET30
R2
ET20
30
MW1
ACTION

transition 20 - 30
Si le pointeur de phase n'est pas gal
20
sauter l'tape suivante
sinon, tester la rceptivit
sauter au calcul des actions si elle est fausse
sinon mettre 30 dans le pointeur de
phase
sauter au calcul des actions

Dsavantage

ET10 :

Mthode plus gourmande en


temps de calcul car oprations
sur mots

Avantages:

Garantit de manire intrinsque


quil ny a quune seule tape
active
Facilit du forage
Facilit de la visualisation
Lisibilit

ACTION :

calcul des actions

b. Programmation en langage ST
transition 10 - 20
! IF [MW1=10] . R1
THEN 20 MW1 ; JUMP ACTION
transition 20 - 30
! IF [MW1=20] . R2
THEN 30 MW1 ; JUMP ACTION

ACTION :

97

You might also like