4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre...

67
4. GRAFCET OUTIL D’ANALYSE Pierre Duysinx Université de Liège Année académique 2017-2018 1

Transcript of 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre...

Page 1: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

4.

GRAFCET OUTIL

D’ANALYSE

Pierre Duysinx

Université de Liège

Année académique 2017-2018

1

Page 2: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET:

EXTENSION DE LA LOGIQUE

DE BASE &

FONCTIONS SPECIALES

2

Page 3: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: éléments complémentaires

On associe généralement deux variables aux étapes:

La variable d’activité: variable booléenne gérée par le système qui vaut

1 si l’étape est active

Dans la norme CEI 1131-3, nom_étape.X

La variable de durée d’activité: variable de type temps gérée par le

système qui indique depuis combien de temps l’étape est active

Dans la norme CEI 1131-3, nom_étape.T

Pas toujours disponible d’emblée sans déclaration a priori

Remarque:

Ces variables sont une facilité pour la programmation.

On peut les recréer à partir de bits internes et de tempos

3

Page 4: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: éléments complémentaires

CEI 1131 ALLEN-

BRADLEY

CADEPA ISAGRAPH TELEME-

CANIQUE

variable

d'étape

étape . X *SCj:n . SA Xi GSi . X Xi

durée

d'étape

étape . T *SCj:n . TIM - GSi . t *Xi, V

réceptivité

associée à la

durée

étape . T >

T#5s

SCj:n . DN T/i/5s/ GSi . t > 5s Xi, V > 50

Solutions adoptées par différents constructeurs

pour les variables d’étape

ALLEN-BRADLEY

j : n° du fichier de contrôle SFC

n : n° de la structure de contrôle attachée à l'étape considérée

SCj:n . PRE : valeur de présélection pour la durée d'étape

CADEPA, ISAGRAPH, TELEMECANIQUE

i : n° de l'étape

4

Page 5: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: éléments complémentaires

TYPES D’ACTIONS:

On a supposé que les actions associées aux étapes étaient effectuées

et maintenues durant toute la période d’activité de l’étape.

Ce sont des actions de types « non mémorisées »

Pour simplifier la tâche du programmateur, les constructeurs puis la

norme CEI1131-3 ont introduit d’autres d’actions répondant à des

besoins pratiques.

Par contre l’utilisation de ces actions rend plus difficile la lecture des

GRAFCET

GRAFCET plus implicite

Difficulté de mise au point et de maintenance

5

Page 6: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: éléments complémentaires

Mettre à la disposition du programmeur des fonctions couramment

utilisées dans les automatismes

Bi stables

SR forcé dominant / RS réinitialisé dominant / SEMA sémaphore

Temporisateurs

Impulsion TP / temporisation à l’enclenchement TON / temporisation au

déclenchement TOF / RTC horloge temps réel (date et heure)

Compteurs

Compteur CTU / décompteurs CTD / compteur-décompteur CTUD

Différentiateurs

Détecteurs de front montant R-TRIG ou descendant F-TRIG

6

Page 7: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: éléments complémentaires

Différents types d’action 7

Page 8: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Temporisation

La fonction temporisation

permet de décaler un signal

logique par rapport à un autre

d’un délai fixé.

Décalage à l’enclenchement

ou au déclenchement

Sur les automates modernes la

temporisation est effectuée par

une horloge interne à 100 ms,

parfois à 10 ms

TEMPO

T

E S

E

S

T

t

t

E

S

T

<

T

t

tT

a. Retard à l'enclenchement b. Retard au déclenchement

8

Page 9: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Temporisation

IL Lancement LD t#2s ST Tempo1.PT LD INPUT ST Tempo1.IN CAL Tempo1

Utilisation LD Tempo1.Q ST OUTPUT

ST Lancement Tempo1 (IN : = INPUT , PT : = t#2s) Utilisation OUTPUT : = Tempo1.Q

LD

INPUT OUTPUT

EN

TON

Tempo 1

IN Q

PT ET

OK

t#2s

FBD INPUT OUTPUT

TON

Tempo 1

IN Q

PT ET t#2s

Programmation d'un bloc

fonctionnel de

temporisation

dans les différents

langages normalisés

9

Page 10: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Comptage

Les fonctions de comptage et de décomptage sont des fonctions couramment utilisées

Il existe divers compteurs logiciels, mais ils ne peuvent compter que des impulsions espacées d’une durée significativement supérieure au temps de cycle de l’automate (10 à 100 ms)

Pour les comptages rapides, on recourt à des cartes spéciales (horloges à plusieurs kHz)

COMPTEU

R

P

E S

E

S

t

t

t

N

PPrésélection

Compteur avec présélection:

devient vrai lorsque le nombre

d’entrées est dépassé.

10

Page 11: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Différentiateurs

Délivrent des impulsions d’une

durée égale à un cycle

d’automate lors du

changement d’état d’une

variable logique

E

S

t

t

E

S

t

t

largeur = 1 cycle

E SP

E SN

11

Page 12: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Fonctions d’organisation du cycle

BRANCHEMENTS ET REPETITIONS

Fonctions qui permettent d’intervenir sur le déroulement du cycle

de l’automate

Fonctions de branchement

Permettent de sauter conditionnement ou inconditionnellement une

série d’instructions

Saut avant / saut arrière / saut absolu / saut relatif (nombre

d’instructions)

Boucles de répétition

Permettent de répéter un groupe d’instructions un nombre de fois

donné

12

Page 13: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Fonctions d’organisation du cycle

JMR n

DO 5

END

JSR SR1

JSR SR1

JMP X

X

JMP Y

Y

n instr. 5 X

RET

RET

SR1

SR2

JSR SR1

JSR SR1

SR1

SR2

SR11

SR12

a. Saut direct b. Saut inverse c. Saut relatif d. Boucle DO

e. Sous-routines (économie mémoire) e. Sous-routines (structuration des programmes)

Instructions pour le contrôle du cycle13

Page 14: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Fonctions d’organisation du cycle

SOUS ROUTINES

A pour effet de faire abandonner la séquence d’instructions en cours par le processeur au profit d’une séquence d’instructions (la sous routine) située ailleurs dans la mémoire.

La deuxième séquence se termine par une instruction de retour RETURN qui ramène le processeur à l’endroit où il avait quitté la séquence initiale

Deux avantages

Économiser la place mémoire

Séquence reproduite plusieurs fois mais une seule fois présente en mémoire

Structurer les programmes

Décomposer les problèmes complexes en sous ensembles plus simples, correspondant par ex. à des entités technologiques

Structure modulaire et hiérarchique

Faciliter la maintenance et la lisibilité

14

Page 15: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Fonctions d’organisation du cycle

INTERRUPTIONS

L’automate ne scrute le monde extérieur que de manière cyclique

Pour les évènements urgents, cela demanderait des temps de cycle très

courts et donc des automates surpuissants.

Les procédures d’interruptions sont des solutions beaucoup plus

efficaces.

Les sources d’interruptions sont connectées individuellement ou par une

fonction OU à des lignes spéciales du bus, les lignes d’interruption.

Le processeur scrute automatiquement les lignes d’interruption après

chaque instruction (quelques microsecondes).

Si on détecte une demande d’interruption, on interrompt l’exécution du

programme, on réalise les traitements désirés puis on reprend

l’exécution du programme interrompu.

Au moment de l’interruption on a accès direct à tous les I/O.

15

Page 16: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: éléments complémentaires

NATURE DES ACTIONS

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

booléennes

La norme permet également de réaliser des opérations arithmétiques ou

autres dans un langage quelconque de l’automate

Ces instructions sont effectuées à chaque cycle pendant la durée de

l’action

Une action peut être constituée d’un autre GRAFCET.

Démarrage au moment du démarrage de l’action

Tué lorsque l’action est arrêtée (toutes les actions désactivées)

16

Page 17: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET : UN OUTIL

D’ANALYSE

21

Page 18: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Approche progressive

Rédaction du cahier des charges: description claire, précise, sans

ambiguïté ni omission du rôle et des performances de l’équipement

Diviser la description en plusieurs niveaux ou points de vue:

1/ Point de vue système:

Description sous forme littérale du procédé, de la coordination et de

l’évolution des différentes séquences.

Description abstraite sans notions techniques.

2/ Point de vue partie opérative

Description sous forme d’actions fonctionnelles du comportement de la partie

opérative.

Effectuer le choix technologique.

3/ Point de vue partie commande

Description des échanges d’informations et d’ordres

Langage technique

22

Page 19: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Approche progressive

Niveau 1: Spécifications fonctionnelles

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

partie opérative PO

Comprendre ce que l’automatisme doit faire

Caractériser les réactions de l’automatisme face aux infos de la PO

Définir les différentes fonctions, informations et commandes impliquées dans

l’automatisation de la PO sans préjuger des technologies

Pas d’influence de la nature ni des caractéristiques des capteurs et

actionneurs

La sécurité de fonctionnement est incluse dans les spécifications

fonctionnelles

23

Page 20: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Approche progressive

Niveau 2: Spécifications technologiques

Préciser les spécifications technologiques des actionneurs, capteurs…

Spécification d’interface: insertion de l’automatisme dans le processus et

son environnement

Préciser

La nature et les informations sur les capteurs et actionneurs

Les contraintes sur les capteurs (température, humidité…)

24

Page 21: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Approche progressive

Niveau 3: Spécifications opérationnelles

Servir au suivi de fonctionnement de l’automatisme au cours de son

existence

Définir les spécifications sur l’équipement une fois réalisé et en

exploitation: fiabilité, pannes, disponibilité, modifications, maintenance,

HMI…

25

Page 22: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: introduction

Le GRAFCET est utilisé pour les différents niveaux de description

Description de l’automatisme par une ensemble de:

ETAPES auxquelles on associe des ACTIONS

TRANSITIONS auxquelles on associe des RÉCEPTIVITÉS

LIAISONS ORIENTEES reliant les étapes aux transitions et les

transitions aux étapes

Principes

La partie commande reste dans une étape tant que son comportement est constant.

On change d’étape lorsqu’elle est réceptive ce qui provoque le franchissement de la transition

Fonctionnement de la commande = une succession alternée d’étapes et de transitions

26

Page 23: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Exemple: presse

Presse destinées à la fabrication de pièces à partir de poudre comprimée

27

Page 24: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Exemple: presse

Partie opérative:

Poinçon inférieur fixe C

Poinçon supérieur A et une partie mobile B

Sous ensemble de mise en place de la matière

Sous ensemble d‘évacuation de la pièce

28

Page 25: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Exemple: presse

Fonctionnement du cycle

Matrice en haut de sa course. Poinçon inférieur engagé délimite un

espace suffisant pour recevoir de la matière. Le poinçon supérieur est

alors dans sa position haute pour permettre l’introduction de la poudre

Lors la matière pulvérulente est en place, le poinçon supérieur descend,

comprime la matière puis remonte en position haute

La matrice descend jusqu’à ce que le poinçon inférieur affleure et libère

la pièce. La pièce est ensuite évacuée

La matrice reprend sa place et le cycle peut recommencer.

29

Page 26: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Exemple: presse

Etude de la partie commande – GRAFCET de niveau 1

Etape 1 ; action : mise en place de la matière

Transition 1-2 ; réceptivité : matière en place et départ cycle

Etape 2 ; action : descente du poinçon

Transition 2-3 ; réceptivité : fin de compression

Etape 3 ; action : remontée du poinçon

Transition 3-4 ; réceptivité : poinçon en haut

Etape 4 ; action : descente matrice

Transition 4-5 ; réceptivité : matrice en bas

Etape 5 ; action : évacuation de la pièce comprimée

Transition 5-6 ; réceptivité : pièce évacuée

Etape 6 ; action : remontée matrice

Transition 6-1 ; réceptivité : matrice en haut

30

Page 27: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Exemple

GRAFCET de niveau 1

31

Page 28: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Exemple: presse

Etude de la partie commande – GRAFCET de niveau 2

Il convient de préciser les choix technologiques des actionneurs et des

capteurs

Dans cet exemple

Pas de procédure d’arrêt d’urgence

Mise en place manuelle de la matière par un opérateur. Un voyant vert

est allumé pendant la durée de mise en place. A la fin, l’opérateur

autorise la suite des opérations en poussant sur un bouton poussoir d

Les mouvements du poinçon supérieur et de la matrice sont réalisés par

des vérins hydrauliques double effet. Les positions hautes et basses

sont contrôlées par des capteurs de fin de course a0, a1, b1, b0

L’évacuation de la pièce est commandée par un jet d’air actionné par

une électrovanne E

32

Page 29: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Exemple: presse

Etude de la partie commande – GRAFCET de niveau 2

ORDRES

vers le milieu extérieur et l'opérateur

V : voyant "Prêt"

commande des actionneurs

a + : descente poinçon

a – : remontée poinçon

b – : descente matrice

b + : remontée matrice

E : évacuation

lancement de temporisations

LT1 : lancement temporisation d'évacuation

INFORMATIONS

déroulement du cycle

d : autorisation de départ cycle

fin de course des actionneurs

a1 : position basse du poinçon

a0 : position haute du poinçon

b0 : position basse de la matrice

b1 : position haute de la matrice

fin de temporisation

ft1 : fin de temporisation d'évacuation

33

Page 30: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Exemple

GRAFCET de

niveau 2

34

Page 31: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: METHODOLOGIE

DE GESTION D’UN PROJET

35

Page 32: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET

METHODOLOGIE DE GESTION D’UN PROJET

Structuration

Approche top down

Utilisation de sous grafcets

Synchronisation : gestion du multitâche

Le mode de représentation GRAFCET autorise le lancement d’activités en

parallèle et se déroulant de manière indépendante

Nécessité de resynchroniser ces activités

Protection des ressources communes

Eviter les accès simultanés

Transposition du GRAFCET en langage automate

36

Page 33: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET

METHODOLOGIE DE GESTION D’UN PROJET

Structuration

Approche top down

Utilisation de sous grafcets

Synchronisation : gestion du multitâche

Le mode de représentation GRAFCET autorise le lancement d’activités en

parallèle et se déroulant de manière indépendante

Nécessité de resynchroniser ces activités

Protection des ressources communes

Eviter les accès simultanés

Transposition du GRAFCET en langage automate

37

Page 34: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Structuration

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

Aborder la conception d’un automatisme dans une approche top-down: du

général vers le particulier

Utiliser des étapes pouvant être décomposées en des Grafcets eux-mêmes

38

Page 35: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Structuration

Intérêt de l’approche TOP-DOWN

Plusieurs niveaux de description facilite la description

Niveaux supérieurs compréhensibles par des non spécialistes

Outil de dialogue entre différents métiers

Répartition du travail

Entre plusieurs équipes

Test et maintenance :

Identifier les blocs origines du problème

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

l’écran

39

Page 36: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Structuration

Utilisation des macro étapes (rappel)

5

R1

A1

6

X103

MACRO- ETAPE

8

R4

A4

9 A5

100

X6

101

R2

102

R3

A3

103

A2

= 1

40

Page 37: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Structuration

Utilisation des actions Grafcet (rappel)

5

R1

A1

6

8 A4

9 A5

100

R2

101 A3

A2

41

Page 38: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

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 tâche terminée le sous GRAFCET émet un compte-rendu

d’activité (bit de bonne fin) qui permet de poursuivre la séquence

Avantages de la procédure client serveur

Indépendance vis-à-vis de la numérotation des étapes

Facilité de tester séparément les SOUS-GRAFCETS

Facilité d’introduire des fonctions de diagnostic (variable de bonne fin ou

non)

42

Page 39: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Structuration

Principe du client serveur pour la structuration des GRACETs

43

Page 40: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET

METHODOLOGIE DE GESTION D’UN PROJET

Structuration

Approche top down

Utilisation de sous grafcets

Synchronisation : gestion du multitâche

Le mode de représentation GRAFCET autorise le lancement d’activités en

parallèle et se déroulant de manière indépendante

Nécessité de resynchroniser ces activités

Protection des ressources communes

Eviter les accès simultanés

Transposition du GRAFCET en langage automate

44

Page 41: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Synchronisation

Synchronisation explicite

Regroupement de branches

parallèles sur une double barre

horizontale avec une réceptivité

unique.

S’applique lorsque les activités

parallèles sont si étroitement liées

qu’une représentation graphique

explicite de leurs interactions est

indispensable.

Lorsque les activités sont faiblement

couplées, on lui préfère des

GRAFCETs indépendants pour des

raisons de clarté. On les synchronise

implicitement par variables d’étape.

= 1

11

R11

5

R5

6

7

8

R6

R7

2

R2

3

4

R3

9

R9

10

R1

1

45

Page 42: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Synchronisation

Synchronisation implicite horizontale:

Echange de variables entre GRAFCETs de même niveau

Les activités sont décrites par des GRAFCETs graphiquement indépendants

Les activités sont synchronisées par des bits d’étapes croisés qui servent de réceptivités dans les autres GRAFCETs

46

Page 43: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Synchronisation

Synchronisation implicite verticale

La synchronisation horizontale peut devenir difficile à suivre à cause des

croisements de variables d’étape

Synchronisation verticale utilise un GRAFCET supplémentaire de

synchronisation et utilise le principe du client serveur

Le GRAFCET supérieur contrôle l’exécution des activités

Les interactions ne se font qu’avec le GRAFCET de synchronisation

47

Page 44: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Synchronisation

500

R1

501

502

OK400

503

= 1

OK100.OK200.OK300

DEM100 DEM200 DEM300

DEM400

Démarrer les activités 100, 200, 300

Attendre la fin des activités 100, 200, 300

Démarrer l'activité 400

Attendre la fin de l'activité 400

8

100

DEM100

2

R2

3

R3

4

200

5

R5

6

R6

7

R7

300

9

R9

10

400

11

20

R11

DEM200 DEM300 DEM400

OK100

OK200

OK300 OK400

Synchronisation verticale

48

Page 45: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET

METHODOLOGIE DE GESTION D’UN PROJET

Structuration

Approche top down

Utilisation de sous grafcets

Synchronisation : gestion du multitâche

Le mode de représentation GRAFCET autorise le lancement d’activités en

parallèle et se déroulant de manière indépendante

Nécessité de resynchroniser ces activités

Protection des ressources communes

Eviter les accès simultanés

Transposition du GRAFCET en langage automate

49

Page 46: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Protection des ressources

communes La protection des ressources communes se pose typiquement lorsque l’on

traite des activités se déroulant en parallèle.

Les ressources communes doivent être protégées

Exemple de protection d’une ressource

commune: wagonnets de chargement

d’un haut fourneau

50

Page 47: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Protection des ressources

communes Le GRAFCET permet de gérer

ces conflits de manière

élégante

Utilisation d’une étape de

verrouillage

L’état libre ou occupé de la

ressource commune est

représenté par la variable

d’étape X1

Pour éviter le cas où les deux

wagons se présentent

simultanément en WA et WB,

on a la réceptivité /X12, ce qui

donne priorité au wagonnet A.

Mécanisme de protection de la ressource

commune – Méthode explicite 51

Page 48: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: Protection des ressources

communes Mécanisme de protection de

la ressource commune par

l’utilisation d’un graphe de

synchronisation

Remarque : étape 1 joue le

rôle de sémaphore en

programmation temps réel

Mécanisme de protection de la ressource commune

Utilisation d'un graphe de synchronisation

1

X13 + X23

2

X14 + X24

14

10

Démarrage

11

12 Attente

13

Point WA atteint

Point WA atteint

Point A atteint

WAGONNET A

X1

24

20

Démarrage

21

22

23

Point WB atteint

Point WB atteint

Point B atteint

X1./X12

WAGONNET B

52

Page 49: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET

METHODOLOGIE DE GESTION D’UN PROJET

Structuration

Approche top down

Utilisation de sous grafcets

Synchronisation : gestion du multitâche

Le mode de représentation GRAFCET autorise le lancement d’activités en

parallèle et se déroulant de manière indépendante

Nécessité de resynchroniser ces activités

Protection des ressources communes

Eviter les accès simultanés

Transposition du GRAFCET en langage automate

53

Page 50: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

GRAFCET: TRANSPOSITION

EN LANGAGE AUTOMATE

54

Page 51: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Transposition en langage automate

Types de méthodes:

Bits d’étape:

L’activité d’une étape est représentée par l’état vrai ou faux d’une

variable binaire interne

Plusieurs variantes qui peuvent être programmées en IL, Ladder

Diagram, etc.

Pointeur de phase;

L’activité est représentée par la valeur d’un mot

Valeur du mot = numéro de l’étape active

Affecter un mot aux branches susceptibles d’évoluer en parallèle

Travail sur des mots langages adéquats ST

55

Page 52: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Transposition en langage automate

Critères de choix Facilité d’édition et lisibilité du programme

Adéquation entre méthode et langage utilisé

Exemple:

Structured Text le pointeur de phase est meilleur

IL: bit d’étape

Facilité de mise au point

Forçage des variables en phase de mise au point

Intérêt et sécurité du pointeur de phase

Facilité de diagnostic

Visualisation dynamique du pointeur de phase

Performances:

Dépend du type d’automate et du nombre d’étapes du GRAFCET

Pas de règle générale

56

Page 53: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Transposition en langage automate

Difficultés potentielles

Cause: les instructions décrivant le GRAFCET ne sont pas exécutées de manière simultanée, mais de manière séquentielle.

Durée d’activation minimale d’une étape doit être au moins égale à un temps de cycle

Les sorties sont calculées durant le cycle, mais elles ne sont inscrites dans la table des images et envoyées vers les interfaces qu’à la fin du cycle

Si étape activée et désactivée au cours d’un même cycle: pas d’effet!

Règle: les étapes doivent rester actives au moins un temps de cycle d’automate

Conditions d’activation de course potentiellement liées à l’ordre de scrutation des GRAFCETs.

57

Page 54: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Transposition en langage automate

Problème de parallélisme d’exécution Pas de solution radicale et universelle

L’utilisateur doit détecter le problème et organiser la programmation pour contrer le problème

Etudier la logique (si elle est donnée) avec laquelle le programme exécute le programme (par exemple en logigramme de droite à gauche et de haut en bas)

Problème de synchronisation Problème lié à l’échange de variables d’étape pour synchroniser, pour le

parallélisme et pour la protection des ressources communes

Dans ce cas, la difficulté est contournée de la manière suivante: lorsqu’un GRAFCET prend le contrôle de la ressource, il fait évoluer dans le même temps le GRAFCET de synchronisation

On duplique donc les évolutions du GRAFCET de contrôle

58

Page 55: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Problème des branches parallèles interactives

Cas idéal: évolution simultanée

R1

A1

= 1

A11

A1

A2

A2 . /A11

A3

R1

A1

= 1

A11

A1

A2

A2 . /A11

A3

R1

A1

= 1

A11

A1

A2

A2 . /A11

A3

59

Page 56: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Problème des branches parallèles interactives

Scrutation dans l’ordre 1-2-3:

On atteint l’état stable correct après

deux cycles

R1

A1

= 1

A11

A1

A2

A2 . /A11

A3

R1

A1

= 1

A11

A1

A2

A2 . /A11

A3

R1

A1

= 1

A11

A1

A2

A2 . /A11

A3

1 2 3

60

Page 57: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Problème des branches parallèles interactives

Scrutation dans l’ordre 3-2-1:

On atteint l’état stable erroné après

deux cycles

R1

A1

= 1

A11

A1

A2

A2 . /A11

A3

R1

A1

= 1

A11

A1

A2

A2 . /A11

A3

R1

A1

= 1

A11

A1

A2

A2 . /A11

A3

1 2 3

61

Page 58: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Problème de synchronisation

14

10

Démarrage

11

12 Attente

13

Point WA atteint

Point WA atteint

Point A atteint

WAGONNET A

X1

1

24

20

Démarrage

21

22

23

Point WB atteint

Point WB atteint

Point B atteint

X1./X12

WAGONNET B

2

1

X13 + X23

2

X14 + X24

3

Etat initial

62

Page 59: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Problème de synchronisation

Etat final:

Evolution fautive dans le cas

d’une scrutation 1 – 2 -3

14

10

Démarrage

11

12 Attente

13

Point WA atteint

Point WA atteint

Point A atteint

WAGONNET A

X1

1

24

20

Démarrage

21

22

23

Point WB atteint

Point WB atteint

Point B atteint

X1./X12

WAGONNET B

2

1

X13 + X23

2

X14 + X24

3

63

Page 60: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Organisation des programmes

Partie combinatoire

Séparer la partie combinatoire de la partie séquentielle

Mettre la partie combinatoire en avant

Partie séquentielle

Séparer la partie du programme relative à l’évolution du GRAFCET et la

partie calcul des actions

Les actions

Calcul des actions en fin de programme

Trier le calcul des actions en une seule équation

Facilité de la mise au point

Traitement plus facile des arrêts d’urgence

64

Page 61: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Organisation des programmes: actions

A

A

S

R

M2

M2

M2

M3

M3

M3

M4

M4

M4

A

A

A

A

A

a.

b.

c.

AU

Intérêt de regrouper les équations

relatives aux actions

65

Page 62: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Méthodes de transpositions

Calcul préalable des conditions de transition

Les conditions de transition pour toutes les étapes sont calculées en début de programme

Les bits internes de résultats sont ensuite utilisés en tant que réceptivités dans la description de l’évolution du GRAFCET

Si une étape était activée au cours du cycle, on est certain qu’elle ne peut pas être désactivée dans un même cycle d’automate puisque la réceptivité + validation est nécessairement faux

Les actions sont regroupées à la fin du programme

– Exemple de GRAFCET

– Calcul des conditions de transition

condition de transition 10 - 20

LD

AND

ST

LD

AND

ST

M10

R1

M11

M20

R2

M21

Si l'étape 10 est active

et que la réceptivité R1 est vraie

activer la condition de transition M11

condition de transition 20 - 30

Si l'étape 20 est active

et que la réceptivité R2 est vraie

activer la condition de transition M21

– Calcul de l'évolution

transition 10, 20

LD

AND

S

R

M10

M11

M20

M10

Si l'étape 10 est active

et que la condition de transition est vraie

alors activer l'étape 20

et désactiver l'étape 10

transition 20, 30

LD

AND

S

R

M20

M21

M30

M20

Si l'étape 20 est active

et que la condition de transition est vraie

alors activer l'étape 30

et désactiver l'étape 20

– Calcul des actions

20

30

R2

R1

10

66

Page 63: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Méthodes de transpositions

Calcul préalable des conditions de

transition

Lourd point de vue calcul

Forçage facile (un bit à forcer)

Purement logique (pas

d’opérations arithmétiques ni de

sauts)

Assure un temps de cycle au

moins par étape

Assure la condition pour les

actions « impulsionelles »

– Exemple de GRAFCET

– Calcul des conditions de transition

condition de transition 10 - 20

LD

AND

ST

LD

AND

ST

M10

R1

M11

M20

R2

M21

Si l'étape 10 est active

et que la réceptivité R1 est vraie

activer la condition de transition M11

condition de transition 20 - 30

Si l'étape 20 est active

et que la réceptivité R2 est vraie

activer la condition de transition M21

– Calcul de l'évolution

transition 10, 20

LD

AND

S

R

M10

M11

M20

M10

Si l'étape 10 est active

et que la condition de transition est vraie

alors activer l'étape 20

et désactiver l'étape 10

transition 20, 30

LD

AND

S

R

M20

M21

M30

M20

Si l'étape 20 est active

et que la condition de transition est vraie

alors activer l'étape 30

et désactiver l'étape 20

– Calcul des actions

20

30

R2

R1

10

67

Page 64: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Méthodes de transpositions

Utilisation des sauts conditionnels

Si le langage comporte des sauts conditionnels, on peut les utiliser pour éviter des calculs inutiles

On saute d’étape en étape jusqu’à tomber sur l’étape active

On calcule la réceptivité pour l’étape active et si elle est vraie on fait évoluer le GRAFCET

On saute à la fin du programme

Les actions sont regroupées à la fin du programme

transition 10 - 20

ET10 : LDN

JMPC

LD

S

R

JMP

M10

ET20

R1

M20

M10

ACTION

Si l'étape 10 n'est pas active

sauter à l'étape suivante

Sinon tester la réceptivité et, si elle est vraie

activer l'étape 20

désactiver l'étape 10

sauter au calcul des actions

transition 20 - 30

ET20 : LDN

JMPC

LD

S

R

JMP

M20

ET30

R2

M30

M20

ACTION

Si l'étape 20 n'est pas active

sauter à l'étape suivante

Sinon tester la réceptivité et, si elle est vraie

activer l'étape 30

désactiver l'étape 20

sauter au calcul des actions

ACTION :

calcul des actions

68

Page 65: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Méthodes de transpositions

Utilisation des sauts conditionnels

Plus difficile pour le forçage des variables car il faut recalculer R1

On peut envisager un calcul préalable des réceptivités avec un bit interne de mémorisation, mais on perd une partie du bénéfice des sauts.

transition 10 - 20

ET10 : LDN

JMPC

LD

S

R

JMP

M10

ET20

R1

M20

M10

ACTION

Si l'étape 10 n'est pas active

sauter à l'étape suivante

Sinon tester la réceptivité et, si elle est vraie

activer l'étape 20

désactiver l'étape 10

sauter au calcul des actions

transition 20 - 30

ET20 : LDN

JMPC

LD

S

R

JMP

M20

ET30

R2

M30

M20

ACTION

Si l'étape 20 n'est pas active

sauter à l'étape suivante

Sinon tester la réceptivité et, si elle est vraie

activer l'étape 30

désactiver l'étape 20

sauter au calcul des actions

ACTION :

calcul des actions

69

Page 66: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Méthodes de transpositions

Utilisation d’un pointeur de phase

Pour les automates disposant de sauts conditionnels et d’opérations sur mots

Si le GRAFCET a des branches parallèles, on le replace par autant de GRAFCET simples synchronisés

A chaque GRAFCET on associe un mot de données appelé pointeur de phase dont la valeur est égale au numéro de l’étape active.

Condition de transition: comparaison avec le numéro de l’étape et la valeur du pointeur de phase

Evolution: le pointeur prend la valeur de la nouvelle étape active

a. Programmation en langage IL

Pointeur de phase MW1

transition 10 - 20

ET10 : LD

NE

JMPC

LD

JMPCN

LD

ST

JMP

10

MW1

ET20

R1

ACTION

20

MW1

ACTION

Si le pointeur de phase n'est pas égal à

10

sauter à l'étape suivante

sinon, tester la réceptivité

sauter au calcul des actions si elle est fausse

sinon mettre 20 dans le pointeur de

phase

sauter au calcul des actions

transition 20 - 30

ET20 : LD

NE

JMPC

LD

JMPCN

LD

ST

JMP

20

MW1

ET30

R2

ET20

30

MW1

ACTION

Si le pointeur de phase n'est pas égal à

20

sauter à l'étape suivante

sinon, tester la réceptivité

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 :

70

Page 67: 4. GRAFCET OUTIL - ingveh.ulg.ac.be 4 OUTIL... · Une action peut être constituée d’un autre GRAFCET. ... Description sous forme littérale du procédé, de la coordination et

Méthodes de transpositions

Utilisation d’un pointeur de phase

Désavantage

Méthode plus gourmande en

temps de calcul car opérations

sur mots

Avantages:

Garantit de manière intrinsèque

qu’il n’y a qu’une seule étape

active

Facilité du forçage

Facilité de la visualisation

Lisibilité

a. Programmation en langage IL

Pointeur de phase MW1

transition 10 - 20

ET10 : LD

NE

JMPC

LD

JMPCN

LD

ST

JMP

10

MW1

ET20

R1

ACTION

20

MW1

ACTION

Si le pointeur de phase n'est pas égal à

10

sauter à l'étape suivante

sinon, tester la réceptivité

sauter au calcul des actions si elle est fausse

sinon mettre 20 dans le pointeur de

phase

sauter au calcul des actions

transition 20 - 30

ET20 : LD

NE

JMPC

LD

JMPCN

LD

ST

JMP

20

MW1

ET30

R2

ET20

30

MW1

ACTION

Si le pointeur de phase n'est pas égal à

20

sauter à l'étape suivante

sinon, tester la réceptivité

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 :

71