Beruflich Dokumente
Kultur Dokumente
Chapitre 1
INTRODUCTION ..................................................................................................................... 1
1.1.
1.2.
1.3.
1.4.
Chapitre 2
STRUCTURE DES AUTOMATES PROGRAMMABLES ..................................................... 17
2.1.
2.2.
2.3.
2.4.
TECHNOLOGIE DE REALISATION.......................................................................................................27
2.4.1.
Bus d'change ...................................................................................................................27
2.4.2.
Processeur...........................................................................................................................27
2.4.3.
Mmoires.............................................................................................................................30
2.4.4.
Modules d'entres/sorties industrielles ...........................................................................31
2.4.5.
Fonctions spciales ...........................................................................................................32
2.4.6.
Module de couplage .......................................................................................................32
2.4.7.
Modules de surveillance et de contrle........................................................................33
2.5.
Chapitre 3
INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE ................................ 34
3.1.
INTRODUCTION ..................................................................................................................................34
3.1.1.
Types de signaux................................................................................................................34
3.1.2.
Rle des interfaces industrielles.......................................................................................35
3.1.3.
Tensions de mode commun ............................................................................................35
3.2.
3.2.2.
3.2.3.
3.3.
3.4.
3.5.
DISPOSITIFS DE SECURITE....................................................................................................................51
3.5.1.
Surveillance de cycle ("watch-dog") .............................................................................51
3.5.2.
Surveillance d'alimentation .............................................................................................53
Chapitre 4
LANGAGES DE PROGRAMMATION................................................................................... 55
4.1.
INTRODUCTION ..................................................................................................................................55
4.2.
4.3.
4.4.
4.5.
EXECUTION SEQUENTIELLE.................................................................................................................65
Chapitre 5
FONCTIONS SPECIALES..................................................................................................... 67
5.1.
INTRODUCTION ..................................................................................................................................67
5.2.
5.3.
5.4.
5.5.
5.6.
MANIPULATION DE DONNEES...........................................................................................................73
5.6.1.
Gestion de tables de valeur ............................................................................................73
II
5.6.2.
5.6.3.
5.6.4.
5.7.
REGULATION .......................................................................................................................................75
5.7.1.
Rappel de l'algorithme PID ..............................................................................................76
5.7.2.
Programmation de l'algorithme ......................................................................................77
5.7.3.
Mise en oeuvre...................................................................................................................77
5.8.
Chapitre 6
GRAFCET ou SFC .................................................................................................................. 85
6.1.
6.2.
6.3.
6.4.
6.5.
6.6.
Chapitre 7
GEMMA ................................................................................................................................ 135
7.1.
INTRODUCTION ................................................................................................................................135
7.1.1.
Le besoin d'outils-mthodes ..........................................................................................135
7.1.2.
Le besoin d'un vocabulaire prcis................................................................................136
7.1.3.
Le besoin d'une approche guide...............................................................................136
7.2.
III
7.2.1.
7.2.2.
7.2.3.
7.2.4.
Concept n 1 : les modes de Marches sont vus par une partie commande en
ordre de marche .............................................................................................................137
Concept n 2 : le critre "Production" ..........................................................................138
Concept n 3 : Les 3 grandes familles de Modes de Marches et d'Arrts .............138
Les "rectangles-tats"......................................................................................................139
7.3.
7.4.
7.5.
PROGRAMMATION ..........................................................................................................................161
7.5.1.
Enrichissement du GRAFCET de BASE...........................................................................161
7.5.2.
Dcoupage en tches...................................................................................................163
7.6.
7.7.
Chapitre 8
NORMALISATION DES LANGAGES DE PROGRAMMATION....................................... 171
8.1.
8.2.
8.3.
8.4.
8.5.
8.6.
IV
Chapitre 9
OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES ....................................... 192
9.1.
9.2.
PROGRAMMATION ..........................................................................................................................196
9.2.1.
Structuration des programmes et des donnes.........................................................196
9.2.2.
Mixit des langages ........................................................................................................196
9.2.3.
Variables symboliques et commentaires.....................................................................197
9.2.4.
Facilits d'dition .............................................................................................................197
9.2.5.
Programmation ON-LINE ................................................................................................198
9.3.
9.4.
Chapitre 1
INTRODUCTION
Chapitre 1 INTRODUCTION
Pour survivre, les entreprises doivent donc arriver produire vite, bien et bon march,
tout en tant capables de s'adapter rapidement l'volution des produits.
Production manufacturire
PRODUCTION TOTALE
30 %
Par lots
PRODUCTION MANUFACTURIERE
40 %
De masse
15 %
75 %
Chapitre 1 INTRODUCTION
la fiabilit des machines, pour les mmes raisons que ci-dessus, ce qui suppose la mise en
place d'une politique rigoureuse de maintenance prventive;
des relations nouvelles avec les fournisseurs afin qu'ils entrent aussi dans le processus,
tant au niveau des dlais que de la qualit des produits fournis.
Chapitre 1 INTRODUCTION
ATELIER FLEXIBLE
Atelier de production automatis capable de raliser des produits diffrents. Le volume
de production pour chaque type de produit est totalement variable (flexibilit) et est
modul en fonction de la demande. Grs par un ordinateur central, les ateliers
flexibles sont composs de machines commande numrique, de robots, de convoyeurs
et vhicules automatiss, de magasins de stockage automatiss.
CAD
Chapitre 1 INTRODUCTION
CELLULE FLEXIBLE
Voir FMS
Unit de production automatise constitue d'une ou plusieurs machines commande
numrique, de magasins de stockage et d'alimentation et d'un robot qui prend en
charge le dplacement et le positionnement des pices traites.
Pilotes par ordinateur, les cellules flexibles ont pour vocation d'usiner ou d'assembler
successivement des pices diffrentes (notion de flexibilit) sans intervention humaine
ou rerglage. Elles constituent l'unit de base des ateliers flexibles.
CENTRE D'USINAGE
Voir MOCN
CIM
Chapitre 1 INTRODUCTION
Chapitre 1 INTRODUCTION
COMPAGNIE
5
C ell ul e 1
C ell ul e 1
C ell ule 1
C ell ul e 1
C ell ul e 1
C ell ul e 1
C ell ul e 1
C ell ul e 1
C ell ule 1
USINE
C ell ule 1
C ell ul e 1
C ell ul e 1
C ell ule 1
C ell ule 1
C ell ule 1
C el lu le
C ell ul e 1
C ell ul e 1
Contrle machines
U
C
P
U
C
P
Entranement
Panneau Oprateur
I/O dportes
R
I/O
Capteur
1
U
C
P
Capteur
Capteur
Actuateur
Actuateur
Actuateur
Machine 1
Chapitre 1 INTRODUCTION
Machine 2
Machine 3
2
CELLULE
Conduite
TERRAIN
U
C
P
Suivi de production
0
CAPTEUR / ACTUATEUR
Supervision
ATELIER
C ell ule 1
U
C
P
Conduite
Contrle machines
U
C
P
U
C
P
Entranement
Panneau Oprateur
I/O dportes
R
I/O
Capteur
U
C
P
Capteur
Capteur
Actuateur
Actuateur
Actuateur
Machine 1
Machine 2
Machine 3
Chapitre 1 INTRODUCTION
le niveau atelier : le matre mot, ce niveau, est l'ouverture. Dans la plupart des cas, en
effet, on aura faire communiquer entre eux des systmes informatiques de nature et
d'origine diverses.
Qui dit ouverture dit standardisation, tant au niveau matriel qu'au niveau logiciel. C'est
en l'occurrence le protocole MAP (Manufacturing Automation Protocol) qui semble,
l'heure actuelle, rallier tous les suffrages. Il faut cependant prciser que ce protocole,
inspir par la firme General Motors, est inutilement complexe, et donc coteux, pour de
trs nombreuses applications de petite ou moyenne envergure. L'tude d'un standard
mini-MAP moins ambitieux a donc galement t entreprise. Ces deux standards, trs
prometteurs, sont malheureusement encore loin d'tre compltement finaliss.
C'est pourquoi, il ne faut pas perdre de vue l'existence du standard de fait ETHERNET,
adopt par de nombreux constructeurs en dpit de certaines particularits dfavorables
sur le plan industriel; ainsi la nature probabiliste des temps de transfert des messages est
assez peu compatible avec des exigences temps rel strictes.
le niveau corporation : ce niveau concerne les changes de donnes entre divers siges
d'une mme socit.
En Belgique, ce genre de communication doit ncessairement transiter par le rseau
public plac sous le monopole de la R.T.T. Pendant longtemps, il a fallu se contenter, en
cette matire, des lignes tlphoniques destines la parole dont la bande passante de
300 3.400 Hz limitait considrablement les performances : au mieux 9.600 bits/s.
Actuellement, un vritable rseau de transmission de donnes est disponible (DCS) sur
lequel les vitesses de transmission peuvent atteindre 48 kbits/s maximum. D'autre part,
des lignes haut dbit (cbles ou satellites) peuvent tre mises la disposition des
usagers avec des vitesses pouvant atteindre 140 Mbits/s !
Chapitre 1 INTRODUCTION
Bien que toutes les UCP soient actuellement bases sur des microprocesseurs, on peut
cependant les distinguer selon le degr de gnralit des instructions qui sont mises la
disposition du concepteur d'application.
Micro-ordinateurs :
C'est videmment le cas le plus gnral qui permet d'effectuer n'importe quel traitement .
Toutes les fonctionnalits du microprocesseur sont accessibles au programme au travers
de langages informatiques universels du type ASSEMBLEUR, C, FORTRAN, PASCAL,
BASIC, ...
Automates programmables :
Les instructions disponibles ici conservent encore un caractre universel mais dans le
cadre restreint de traitements logiques, c'est--dire de traitements qui portent sur des
variables binaires (tout ou rien).
Contrleurs ddicacs :
Les instructions disponibles dans ce dernier cas se limitent la description de tches bien
prcises.
Dans le contexte de la production manufacturire qui nous intresse ici, on en a deux
exemples typiques avec les contrleurs de machines-outils et les contrleurs de robot: les
instructions servent essentiellement dfinir des squences de mouvements.
Chapitre 1 INTRODUCTION
10
Quant aux contrleurs ddicacs, ils sont souvent destins tre programms par les
oprateurs eux-mmes.
Automaticien
Oprateur
FONCTIONNALITES
DISPONIBLES
MICRO
ORDINATEUR
Calculateur
universel
AUTOMATE
PROGRAMMABLE
Calculateur
logique
universel
CONTROLEUR
DEDICACE
Robots, PID,
CNC, ...
DIFFICULTES de
MISE EN OEUVRE
Informaticien
Niveau de
qualification
Dans cet ordre d'ide, les automates programmables associent avec un remarquable
bonheur des langages de programmation tout fait conformes aux modes de travail des
praticiens concerns et un champ d'application industriel extrmement vaste. On estime en
effet qu'en production manufacturire, plus de 80 % des besoins en matire de contrle
peuvent tre couverts par des automates programmables !
PROGRAMME
D'APPLICATION
LOGICIEL
SYSTEME
LOGICIEL
SYSTEME
MATERIEL
MICROPROCESSEUR
MEMOIRE
INTERFACES
PROCESSUS INDUSTRIEL
1.4.1. HISTORIQUE
Chapitre 1 INTRODUCTION
11
La prsentation qui prcde est en fait le reflet de la situation actuelle. En ralit, les
automates programmables sont apparus en 1969, avant mme que n'existent les
microprocesseurs. Les premiers processeurs d'automates furent donc construits l'aide des
circuits intgrs disponibles l'poque.
Ce qu'il est important de noter c'est que les automates furent au dpart, et restent
encore maintenant, des machines conues par des automaticiens pour des automaticiens,
indpendamment donc des constructeurs d'ordinateurs. Leur parfaite adquation aux besoins
industriels en est la consquence la plus marquante.
Cette adquation concerne non seulement les aspects logiciels, comme expliqu
ci-dessus, mais aussi les aspects matriels. Les automates sont en effet parfaitement adapts
l'environnement industriel : entres/sorties conformes aux standards de signaux industriels,
protection contre les parasites lectromagntiques, tenue aux chocs et aux vibrations,
rsistance la corrosion, dispositifs de scurit en cas de panne ou de chute de tension, etc.
Toutes ces considrations expliquent la foudroyante perce des automates
programmables dans l'industrie et l'extraordinaire vigueur d'un march qui, depuis des
annes, affiche une progression annuelle de 20 30 % ! Cette vigueur s'accompagne d'ailleurs
d'une dynamique innovatrice tout fait remarquable.
Ainsi les microprocesseurs ont-ils t utiliss, ds leur apparition, pour simplifier la
conception des processeurs d'automates. Les constructeurs ont ainsi pu dvelopper des
familles homognes d'automates capables de rsoudre de manire efficace et rentable toute
une gamme de problmes de contrle, des plus simples (quelques entres/sorties) aux plus
compliqus (quelques centaines d'entres/sorties).
D'autre part, sous la pousse enthousiaste des utilisateurs, les automates sont
rapidement sortis de leur champ d'application initial purement logique pour intgrer des
traitements arithmtiques, des rgulations PID, des commandes d'axe, des manipulations de
chanes de caractres, etc.
Il faut cependant noter que, mme avec des possibilits qui approchent celles des
ordinateurs, la programmation des automates garde toute sa spcificit, savoir son
adquation aux modes de raisonnement des automaticiens.
Ce sont galement les automates programmables qui ont ouvert la voie au contrle
dcentralis. Les premiers automates, en effet, avec leurs processeurs cbls, taient des
machines relativement chres que l'on s'efforait de charger au maximum.
Depuis l'apparition des automates microprocesseurs, et la baisse subsquente de leur cot,
la tendance est plutt de rpartir les traitements dans des automates de plus faible capacit
interconnects par un rseau de communication. On y gagne en fiabilit intrinsque (la panne
d'un automate n'a que des consquences limites), en vitesse (paralllisme des traitements) et
en cblage ( condition de pouvoir placer chaque automate au voisinage direct de la partie du
processus qu'il commande).
C'est ainsi que pratiquement tous les constructeurs d'automates ont cr trs tt leur
propre rseau de communication. Sur la base de cette exprience, ce sont eux aussi qui sont
parmi les plus actifs dans le projet MAP (Manufacturing Automation Protocol) de cration
d'un standard international de communication.
Chapitre 1 INTRODUCTION
12
1.4.3. NORMALISATION
Au niveau de l'exploitation des automates, on se trouve encore actuellement dans une
situation comparable celle qui prvalait en informatique il y a une vingtaine d'annes :
chaque constructeur propose ses langages de programmation propres, son environnement de
programmation propre, ses rseaux de communications propres, ...
Il en rsulte une "fidlisation" force des utilisateurs car le passage d'une marque
d'automates une autre entrane un norme effort de formation pour tout le personnel
impliqu.
Les bureaux d'tudes en automatisme, quant eux, dont les clients imposent en
gnral le type d'automate utiliser, dpensent une nergie considrable garder une
matrise suffisante de ces systmes htroclites et ont beaucoup de mal rimplanter des
applications similaires d'un automate dans un autre.
Chapitre 1 INTRODUCTION
13
a. Relais
b. Blocs fonctionnels
c. Liste d'instructions
Chapitre 1 INTRODUCTION
14
Face cette situation, des travaux de normalisation ont t entrepris. Ils ont d'abord
concern les systmes de communication de manire assurer, si pas la compatibilit, du
moins l'interoprabilit des diffrents automates. A ct du projet MAP dj voqu ci-dessus,
qui a dmarr en 1984, on peut mentionner les propositions relatives aux rseaux de terrain
PROFIBUS, FIP, CAN, ASI, ...
A l'heure actuelle, la situation n'est pas encore stabilise et l'interoprabilit est
malheureusement loin d'tre chose acquise. Le point sera fait sur la question dans l'ouvrage
consacr aux communications et rseaux.
Plus rcemment (1992), la CEI a entrepris l'laboration de normes spcifiques aux
automates programmables sous le sigle CEI 1131.
Ces normes visent les aspects suivants :
On peut dj noter que, pour leurs nouveaux modles, les constructeurs commencent
se rfrer aux normes. Reste videmment contrler la conformit relle de ces nouveaux
produits. Dans la suite du texte, nous nous efforcerons de suivre la norme dans ses grandes
lignes.
Chapitre 1 INTRODUCTION
15
Chapitre 1 INTRODUCTION
16
Chapitre 2
STRUCTURE DES AUTOMATES PROGRAMMABLES
2.1. ROLE D'UN AUTOMATE
La figure 2.1. schmatise le contrle logique d'un processus.
Les entres de l'automate (qualifi de "partie commande") sont des signaux provenant
du processus (qualifi de "partie oprative) par l'intermdiaire de capteurs (fin de course,
dtecteurs de prsence, etc.). Les sorties de l'automate agissent sur le processus par
l'intermdiaire d'actionneurs (contacteurs, commandes de vannes, etc.).
Le rle de l'automate est de ragir aux changements d'tat de ses entres en modifiant
l'tat de ses sorties selon une loi de contrle dtermine a priori par le concepteur du systme.
Cette loi est dite combinatoire si, chaque instant, l'tat des sorties peut tre directement
dduit de l'tat des entres. Elle est de type squentiel, s'il faut en plus tenir compte de
l'volution antrieure du systme. Cette dernire peut en gnral tre compltement dcrite
par l'tat d'un nombre fini de variables logiques mmorises au sein de l'automate.
La possibilit d'intervention d'un oprateur humain a galement t symbolise la figure 2.1.
PARTIE OPERATIVE
PROCESSUS
Capteurs
Actuateurs
PARTIE COMMANDE
AUTOMATE
Entres
Sorties
OPERATEUR
Figure 2.1. Le contrle logique d'un processus
17
18
NOT
Inversion
logique
x
y
AND
x.y
ET logique
x
y
OR
x+y
OU logique
Ralisation de la fonction
I1
NOT
AND
I2
OR
I3
AND
O1
I4
OR
I5
19
Relais normalement
ouvert
Ralisation de la fonction
I1
I2
I4
I3
I5
O1
-V
+V
Reprsentation symbolique
I1
I2
I4
I3
I5
O1
20
21
ENTREES
NOT
I1
I2
I3
I4
I5
M1
M2
M3
AND
OR
SORTIES
O1
O2
O3
O4
O5
ACCU
Mn
NOT
UNITE
LOGIQUE
Avance
d'un pas
Instruction 1
Instruction 2
Instruction 3
Instruction 4
Dcodeur
Registre d'instruction
PROCESSEUR
Instruction m
22
23
15
14
13
12
11
10
NOT TYPE
CODE OPERATEUR
ADDRESSE
SYMBOLES
Dir/Inv
N
Inversion logique
Utilisation directe
Type
I
Entre
Sortie
Mmoire
Fonction
AND
OR
OR avec l'accumulateur
LD
ST
RET
24
transparente pour l'utilisateur) en une rfrence la table image des entres, celle-ci
demeurant videmment inchange durant tout le cycle.
De mme, les sorties calcules par le programme sont envoyes dans une table image
des sorties. Ce n'est qu'en fin de cycle, lorsque tous les calculs sont termins, que cette table
est transfre dans les cartes de sorties.
NOT
AND
I2
OR
I3
I4
I5
AND
O1
OR
Solution programme
1
2
3
4
5
6
7
8
9
LDN
AND
OR
ST
LD
OR
AND
ST
RET
I1
I2
I3
M1
I4
I5
M1
O1
25
TRAITEMENTS
Envoi de la table
image des sorties vers
les cartes de sorties
26
Dans le contexte des automates, cette traduction est en gnral ralise par un
dispositif extrieur appel console de programmation. Il est clair que cette traduction sera
plus ou moins directe (et donc la console plus ou moins simple) selon le degr d'loignement du
langage par rapport au langage machine.
Au dpart, la console constituait un quipement spcialis, souvent fort coteux, propre
chaque type d'automate programmable. Actuellement, tous les constructeurs utilisent des
PC comme console de programmation, d'autant que les versions portables de ces ordinateurs
permettent de travailler sans problme sur site industriel.
2.4.2. PROCESSEUR
Le schma fonctionnel prsent au paragraphe 2.3. constitue en quelque sorte un
cahier des charges et nous examinerons maintenant comment il peut tre ralis
pratiquement.
Comme on l'a signal dans l'introduction, la technologie cble utilise dans les
premiers automates a t compltement abandonne au profit de l'utilisation de
microprocesseurs.
Etant donn ses capacits universelles de traitement, le microprocesseur peut
videmment assurer les fonctionnalits demandes un automate.
Il est en effet possible de faire correspondre au jeu d'instructions de l'automate, un jeu
de sous-routines crites dans le langage du microprocesseur et qui donnent lieu aux
traitements dsirs. Ce jeu de sous-routines constitue ce que l'on appelle le logiciel systme de
l'automate; il est stock dans une mmoire dite "systme".
27
CONTROLE
DONNEES
Alarme
Cellule 1
BUS
Processeur
Vers PC
progr.
MEM
W. Dog
Fonct.
Spc.
Rseau
cellule
Entres
logiques
Rseau
terrain
Ext.
BUS
ADRESSES
Entres
analog.
Sorties
logiques
PROCESSUS
Sorties
analog.
28
29
Figure 2.8. Exemple d'une carte processeur d'un automate haut de gamme
2.4.3. MEMOIRES
Les automates actuels utilisent essentiellement des mmoires semi-conducteurs.
Comme on sait, ce type de mmoire pose le problme de la perte d'information en cas de
coupure d'alimentation. Cela a conduit au dveloppement de deux grandes familles de
mmoires : les mmoires vives (RAM), permettant la lecture et l'criture mais "volatiles", et
les mmoires mortes (ROM), n'autorisant que la lecture mais non volatiles.
Dans les automates, on a des exigences diffrentes pour la mmoire de donnes et la
mmoire de programme.
30
Mmoire de donnes
C'est clairement la place ici, de mmoires de type RAM.
Mme dans le cas de mmoires RAM, il est possible de se prmunir contre des coupures
accidentelles d'alimentation en utilisant une technologie spciale (CMOS) trs faible
consommation lectrique du moins, l'tat de repos (5000 fois moins qu'une RAM
classique).
On peut en effet dans ce cas prvoir, au niveau des cartes de mmoire, des microbatteries, des micro-piles voire des condensateurs, susceptibles d'alimenter les circuits
en cas de coupure de l'alimentation principale. Les temps de sauvegarde garantis vont
de quelques jours quelques mois.
Mmoire de programme
La mmoire de programme de l'automate doit pouvoir subir sans dommage des
coupures plus ou moins longues d'alimentation (entretiens, congs, etc.). C'est la
technologie EPROM (erasable PROM) que l'on rencontre le plus frquemment ici. Elle
prsente l'inconvnient que les circuits de mmoire doivent tre programms et effacs
(par exposition aux UV dans un dispositif extrieur l'automate). Il en rsulte des
manipulations particulirement gnantes en phase de mise au point de l'quipement.
La technologie EEPROM (electrically erasable PROM), de dveloppement plus rcent,
commence apparatre chez certains constructeurs. L'effacement se fait ici par voie
lectrique et peut donc tre ralise in situ.
Enfin, signalons qu'une certaine confiance s'est tablie, l'usage, dans les mmoires
RAM gardes et que beaucoup de constructeurs proposent une option de ce type pour la
mmoire programme de leurs automates.
Mmoire systme
Cette mmoire, prsente dans le cas d'automates microprocesseurs, est programme
en usine par le constructeur; elle peut donc sans problme tre ralise en technologie
EPROM voire PROM (c'est--dire programmable une seule fois, sans possibilit
d'effacement).
31
Des entres/sorties logiques, c'est--dire par tout ou rien, sont videmment toujours
prsentes par dfinition.
Pour les automates qui le permettent, on peut aussi trouver des modules
d'entres/sorties analogiques.
Les modules d'entres/sorties industrielles sont des lments particulirement bien
soigns sur tous les automates. Ils seront tudis en dtail au chapitre 3.
32
33
Chapitre 3
INTERFACES INDUSTRIELLES
ET DISPOSITIFS DE SECURITE
3.1. INTRODUCTION
Ce chapitre tudie les problmes de l'interfaage entre un automate programmable et
le processus qu'il contrle. On notera que des problmes d'interfaage se posent pour tout
systme informatique appel tre directement raccord un processus physique. Les
solutions prsentes ci-dessous sont donc tout fait gnrales.
les signaux logiques : il s'agit bien entendu des signaux les plus frquemment rencontrs
dans le domaine des automates programmables. Ils reprsentent l'tat de contacteurs, de
boutons poussoirs, de dtecteurs de prsence, de voyants lumineux, etc.
Ces signaux se prsentent typiquement sous les formes suivantes :
tensions continues : 12, 24, 48 ou 60 V (avec une nette prdominance du 24V)
tensions alternatives : 110, 220 V
contacts libres de potentiel
Dans ce dernier cas, il ne s'agit pas proprement parler d'un signal; l'information binaire
y est en fait reprsente par l'tat ouvert ou ferm d'un contact dont les deux bornes sont
accessibles l'utilisateur.
les signaux analogiques : ils reprsentent lectriquement des grandeurs physiques qui
varient d'une manire continue : vitesses, tempratures, pressions, etc.
Ces signaux se prsentent typiquement sous les formes suivantes :
tensions haut niveau, par exemple - 10 + 10 V
tensions bas niveau, par exemple - 50 + 50 mV
courants, par exemple 0 - 20 mA, 4 - 20 mA
34
adaptation mcanique aux standards industriels de cblage (borniers vis par exemple);
adaptation lectrique aux standards industriels (signaux en courant, en tension, signaux
bas niveaux, hauts niveaux, etc);
protection contre les tensions de mode commun (voir 3.1.3);
attnuation des signaux parasites (bruit capt par les lignes de transmission,
rebondissement des contacts, etc).
Pour les sorties, c'est--dire pour les commandes envoyes au processus, on trouve bien
entendu des fonctions analogues. En plus, il faut prendre garde qu'en cas de panne du
calculateur, des commandes aberrantes ne puissent tre mises, qui prsenteraient un danger
pour la vie du matriel et/ou du personnel.
Il importe encore de signaler, dans cette introduction, que les interfaces et dispositifs
de scurit qui viennent d'tre voqus se rencontrent de manire tout fait courante dans le
contexte des mini-ordinateurs de processus et des automates programmables. Comme on l'a
dit dj dit plus haut, ce n'est pas encore le cas des PC.
35
a.
b.
+
e2
e1
s = e = c + v
s = e2 e 1 = c
v = MC (mode commun)
c.
c
MC
d.
+
36
Lorsque la tension est nulle aux bornes du capteur, les entres positive et ngative de
l'amplificateur vont donc se trouver une tension v par rapport la rfrence de cet
amplificateur. Cette tension commune aux deux entres est prcisment ce que l'on appelle le
mode commun.
Les tensions de mode commun peuvent avoir diffrentes causes :
mode commun induit par des parasites lectromagntiques de forte intensit, par
exemple, ceux provenant de contacteurs, thyristors, postes de soudure, etc.
Les tensions de mode commun induites peuvent atteindre quelques centaines de volts.
Dans cette mme catgorie, on peut ranger les mises sous tension accidentelles des
capteurs ou des conducteurs.
Les tensions de mode commun sont sources potentielles de deux problmes : erreur de
mesure et claquage des circuits.
claquage de circuits : pour des raisons purement lectroniques, les amplificateurs sont
dtruits lorsque (signal + mode commun) dpassent des valeurs de l'ordre de 15 V.
Solutions
37
Dans la pratique, la distinction n'est pas toujours aussi nette et l'on trouve, en gros,
trois types d'organisations prsentes la figure 3.2.
38
Cartes d
entres
Cartes de
sorties
P
L
C
PROCESSUS
Actuateurs
Capteurs
P
L
C
Rem
I/O
PROCESSUS
Actuateurs
Rseau de terrain
Capteurs
b. Entres/sorties dportes
P
L
C
PROCESSUS
Rseau de capteurs/actuateurs
c. Rseau de capteurs/actuateurs
Figure 3.2. Organisation d'entres/sorties
39
(a) - solution toute lectrique avec isolation galvanique ralise par opto-coupleur
(b) - isolation galvanique par relais
(c) - isolation galvanique par transformateur dans le cas de signaux alternatifs.
Remarque :
On rencontre encore des entres logiques dites d'interruption.
En fait leur
conditionnement est analogue celui dcrit ci-dessus, la seule diffrence est qu'elles
aboutissent aux lignes d'interruption du BUS plutt qu'aux lignes de donnes.
40
41
42
43
44
45
Vrf1 = 2 x Vrf2
Phase
Interrupteu
r
ferm
Tension
intgre
Dure
0 Vrf2
K1
Vrf1 Vrf2
K1 + n
EA Vrf2
K2 n
Vrf1 Vrf2
Tc
46
47
a. Principe
c. Multiplexage relais
48
49
50
51
52
53
54
Chapitre 4
LANGAGES DE PROGRAMMATION
4.1. INTRODUCTION
La mise en oeuvre d'un automate programmable comporte trois phases principales :
Comme nous l'avons dit au chapitre 2, tout automate peut rsoudre n'importe quel
problme de logique combinatoire ou squentiel. Il est bien certain cependant que la facilit
d'utilisation d'un automate et ses performances seront directement fonction de la cohrence
qui existera entre les trois phases mentionnes ci-dessus.
Dans le prsent chapitre, nous essayerons de faire le point de la situation en insistant
sur la programmation squentielle qui a donn lieu de nombreuses initiatives de la part des
constructeurs, principalement des constructeurs europens.
4.2.2. PROGRAMMATION
Les langages de programmation relais, logigrammes, ou quations boolennes sont
videmment les prolongements naturels des modes de reprsentation qui prcdent.
Programmer dans ces langages consiste pratiquement reproduire sur la console de
programmation les schmas ou les quations tablis sur concepteur (cfr. fig. 3.2.). C'est, dans
ce cas, la console qui se charge d'tablir la squence d'instructions machines correspondante.
55
I1
I2
I4
O1
Relais
I3
I1
I5
Blocs fonctionnels
&
I2
>=1
I3
I4
&
O1
>=1
I5
O1 = ( I1 . I2 + I3 ) . ( I4 + I5 )
Equation
boolenne
56
4.2.3. EXECUTION
Le mode d'excution qui s'impose dans le contexte parallle considr ici est le mode
d'excution linaire et cyclique puisqu'il s'agit en fait de simuler au mieux le fonctionnement
d'un ensemble de modules fonctionnels travaillant en parallle. Toutes les entres de
l'automate seront ainsi scrutes chaque cycle et toutes ses sorties seront recalcules
chaque cycle.
La figure 4.3. symbolise les trois phases qui viennent d'tre dcrites.
57
LD : Ladder Diagram
IL : Instruction List
ST : Structured Text
58
2me tape : conscutive la pression sur IN 1. Chariot en mouvement vers B (OUT 1 = 1),
seule l'entre IN3 peut modifier la situation.
3me tape : conscutive l'arrive du chariot en B (IN3 = 0). Retour du chariot vers A (OUT
1 = 0, OUT 2 = 1) seule IN 2 peut modifier la situation.
4.3.1. CONCEPTION
Formalisme parallle
Dans le cas extrmement simple de l'exemple, la conception du systme de contrle
pourrait encore s'envisager par la mthode parallle du 4.2.1.
La figure 4.4. montre la solution obtenue dans le formalisme relais.
On peut faire les remarques suivantes :
-
59
O2
I2
O1=1
O1
_
+
_
I3
I1
Conception parallle
I1
I2
O1
I3
I3
O2
O1
O2
I2
Figure 4.4. Utilisation du formalisme combinatoire dans le cas d'un automatisme squentiel
60
GRAFCET
La conception par GRAFCET est manifestement mieux adapte au problme comme le
montre la figure 4.5.
Le GRAFCET, sous le sigle SFC (Sequential Function Chart), a fait l'objet d'une
normalisation (cfr. chapitre 8). C'est pourquoi, dans la suite du texte, nous l'adopterons
comme rfrence.
Les carrs reprsentent les tapes du fonctionnement et les rectangles associs, les
actions prendre lorsque l'tape est active. Le passage d'une tape la suivante est
verrouill par une condition logique appele rceptivit.
Lorsqu'une tape est active et que la rceptivit associe est vraie, on passe
automatiquement l'tape suivante, tandis que la premire est dsactive.
Une prsentation dtaille du GRAFCET sera faite au chapitre 6.
4.3.2. PROGRAMMATION
Il est parfaitement possible de programmer un automate partir d'un GRAFCET dans
n'importe lequel des langages combinatoires prsents ci-dessus.
Considrons par exemple le cas d'un langage relais lmentaire : chaque tape de
l'volution du processus on va associer une variable interne qui vaudra 1 si l'tape est active et
0 dans le cas contraire.
La figure 4.6. montre le rsultat obtenu avec un langage relais.
Il peut sembler premire vue assez lourd mais il a l'avantage de :
61
O2=1
O2
I2
O1=1
O1
I3
+
_
I1
GRAFCET
Graphe de Commande Etape-Transition
Actions
Etape 1 : Arrt en A
I1
Etape 2 : Mouvement
de A vers B
/I2
O1 = 1 ; O2 = 0
Rceptivit : arrive en B
/I3
Etape 3 : Mouvement
de B vers A
O1 = 0 ; O2 = 0
O1 = 0 ; O2 = 1
Rceptivit : retour en A
62
EVOLUTION DU GRAFCET
Etape prcdente
Rceptivit
Mmoire d'tape
I2
M3
M1
M2
Auto-maintien
I1
M1
Etape suivante
I1
M1
M2
M3
I3
M2
M3
M1
M2
/I3
/I2
M3
ACTIONS
M2
O1
M3
O2
63
64
65
66
Chapitre 5
FONCTIONS SPECIALES
5.1. INTRODUCTION
Dans ce chapitre, nous essayerons de donner un aperu des principales fonctions
spciales que l'on peut trouver sur les automates programmables.
Notons que ces fonctions sont, soit ralises par voie logicielle, c'est--dire par le
processeur principal de l'automate programmable, soit par voie matrielle, c'est--dire par un
module spcial greff sur le BUS de l'automate. Nous le spcifierons dans chaque cas
particulier.
5.2.1. TEMPORISATION
La fonction de temporisation permet de dcaler un signal logique par rapport un
autre d'un dlai fix. Ce dcalage peut tre ralis l'enclenchement (figure 5.1.a) ou au
dclenchement (figure 5.1.b).
D'autres variantes se rencontrent encore chez certains
constructeurs que nous ne pourrions toutes dtailler ici.
Sur les automates modernes, la temporisation est une opration purement logicielle
ralise partir d'une horloge interne 100 ms ou, plus rarement, 10 ms.
5.2.2. COMPTAGE
Le comptage et le dcomptage sont galement des fonctions spciales abondamment
utilises en pratique : comptage de pices, mesure de vitesse, positionnement, etc.
La figure 5.2. montre le cas d'un compteur avec prslection: les impulsions d'entres
sont comptes et lorsque le rsultat N atteint une valeur de prslection P dfinie la
programmation, un signal logique de sortie, S, est mis.
Des compteurs logiciels existent dans tous les automates, avec de multiples variantes,
mais ils ne peuvent videmment compter que des impulsions espaces dans le temps d'une
dure significativement suprieure au temps de cycle de l'automate (10 100 ms).
Les comptages plus rapides font appel des cartes spciales qui acceptent alors des
frquences d'entres de plusieurs dizaines de KHz typiquement.
67
TEMPO
T
<T
a. Retard l'enclenchement
b. Retard au dclenchement
COMPTEUR
P
Prslection
t
S
68
5.2.3. DIFFERENTIATEURS
Ce sont des fonctions souvent fort utiles, qui dlivrent des impulsions d'une dure gale
un cycle de l'automate lors du changement d'tat de variables logiques. La figure 5.3. en
illustre le principe ainsi que le symbolisme en langage relais.
t
E
S
largeur = 1 cycle
t
E
relais accrochage.
69
Fonctions de branchement :
elles permettent de sauter, conditionnellement ou inconditionnellement, une srie
d'instructions lors du droulement du programme.
On distingue encore entre sauts avant, sauts arrires, sauts absolus (vers une adresse
donne) ou relatifs (sauts d'un nombre d'instructions donnes).
Boucles de rptition :
elles permettent de rpter un groupe d'instructions un nombre donn de fois.
La figure 5.4. schmatise l'effet de ces diffrentes instructions sur le droulement d'un
programme.
5.4.2. SOUS-ROUTINES
L'instruction de saut vers une sous-routine a pour effet de faire abandonner par le
processeur l'excution de la squence d'instructions en cours au profit d'une squence (la
sous-routine) situe ailleurs dans la mmoire. Cette deuxime squence se termine par une
instruction spciale (RETURN) qui ramne le processeur l'endroit exact o il avait quitt la
squence initiale.
Les sous-routines peuvent tre utilises dans deux optiques diffrentes :
70
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
RET
RET
JSR SR1
SR1
SR2
JSR SR1
JSR SR1
SR1
SR12
SR2
5.4.3. INTERRUPTIONS
Dans ce qui a t vu jusqu'ici, l'automate ne pouvait prendre en considration les
vnements survenant dans le monde extrieur (changement d'tat d'une entre par exemple)
que dans le cadre d'une scrutation cyclique de toutes les sources possibles d'vnements
(c'est--dire des entres). Il tait donc ncessaire d'adopter un temps de cycle infrieur au
temps de raction minimal exig de l'automate pour l'vnement le plus urgent. Si le nombre
de ces entres urgentes est faible vis--vis du nombre total des entres, cela conduit
invitablement devoir utiliser des automates surpuissants.
Les interruptions constituent, ce gard, une solution beaucoup plus efficace. Les
sources d'interruptions possibles sont connectes individuellement ou par l'intermdiaire d'un
circuit OU des lignes spciales du BUS, les lignes d'interruption.
Le processeur scrute automatiquement (c.--d. que l'utilisateur ne doit rien prvoir
dans son programme) ces lignes la fin de chaque instruction (donc toutes les quelques
71
5.4.4. REMARQUE
Il est important de noter qu'avec la plupart des fonctions examines ci-dessus, on rompt
la cohrence entre modes de reprsentation des automatismes et modes d'excution des
programmes (cfr. chapitre 4).
D'autre part, si ces fonctions peuvent encore s'intgrer de manire plus ou moins
plausible (du moins sur le plan formel) dans un langage de type liste d'instructions, elles
apparaissent par contre comme particulirement inadaptes aux langages graphiques de type
parallle.
Il n'empche que les fonctions d'organisation du cycle, manies par des programmeurs
avertis, permettent souvent de raliser de substantiels gains en place mmoire et/ou en temps
de cycle.
arithmtiques : +, , x, :
logiques (sur mots) : AND, OR, XOR, ...
de test : =, >, <
de conversion de code : BCD BIN, BIN BCD
etc...
Ces oprations s'intgrent plus ou moins harmonieusement dans les diffrents langages
de programmation dcrits au chapitre 4.
La figure 5.5. donne quelques exemples.
72
Littral structur
R3 := R1 + R2
Bloc fonctionnel
R1
R3
+
R2
Langage contacts
+
R1
R2
R3
73
comparer, diffrents stades de l'volution d'un automatisme, les tats d'un groupe
d'entre avec des valeurs de rfrences et dtecter ainsi d'ventuelles anomalies;
etc.
74
a. Table de donnes
IN
IN REG
R200
START
R000
CLEAR
POINTER
PTR1
OUT
END
R050
OUT REG
R210
b. Edition de texte
Done Flag
WRITE
TXT ADDR.
TXT LENGTH
c. Registre FIFO
IN
Data n
IN REG
R200
START
R000
IN
Data n
CLEAR
.
.
FIFO
Data 1
OUT
OUT
END
R050
OUT REG
R210
5.7. REGULATION
Dans ce paragraphe, nous traiterons le cas du rgulateur PID tant donn son
importance particulire : c'est en effet lui qui ouvre aux automates l'accs l'autre grand
domaine du contrle de processus, la rgulation.
75
Consigne
s
Commande
e
Rgulateur
PID
Mesure
PROCESSUS
e=sm
1
de
c = K e +
edt + Td
Ti
dt
(1)
76
T
c n = K e n +
Ti
e
j= 0
Td
(en en1 )
T
(2)
La commande c ne sera plus calcule qu' des instants bien prcis, tn = n x T, multiples
d'une priode d'chantillonnage T, qui devient un nouveau paramtre choisir. Entre ces
instants, la commande est maintenue constante.
Au lieu d'un signal c continu, on obtiendra donc un signal en escalier. Il est clair qu'en
choisissant une priode d'chantillonnage T suffisamment petite par rapport la dynamique
du processus, l'approximation sera tout fait satisfaisante.
Remarquons d'ailleurs que dans le domaine continu, les dynamiques sont en gnral
beaucoup plus lentes que dans le domaine logique que l'on a considr jusqu'ici. C'est ainsi
que les priodes d'chantillonnage ncessaires pour les rgulateurs sont rarement infrieures
la seconde (contre 20 ms pour les automates logiques).
Il rsulte de ceci que la programmation d'un PID n'est pas une chose aise et qu'elle ne
sera en gnral pas la porte de l'utilisateur. Certains constructeurs ont ralis eux-mmes
cette programmation et fournissent le listing correspondant leurs clients qui n'ont, ds lors,
plus qu' le recopier. Il est bien clair cependant que cette solution est de porte trs limite et
ne devrait s'utiliser que dans des cas tout fait occasionnels de rgulation.
Pour des problmes de rgulation plus importants, il est ncessaire de disposer de
rgulateurs PID prprogramms en langage informatique plutt qu'en langage automate. De
plus, pour viter de charger exagrment le processeur logique principal, il est prfrable de
recourir des solutions multiprocesseurs avec un ou plusieurs processeurs spcialement
rservs la rgulation.
77
n'entre pas dans le cadre de cet ouvrage et nous renvoyons donc le lecteur la littrature
spcialise.
En ce qui concerne la configuration du rgulateur, elle se fait gnralement l'aide la
console de programmation et d'un logiciel de dialogue spcifique.
Il s'agit en fait de choisir, parmi toutes les options prvues par le constructeur, celles
qui sont ncessaires l'application considre.
Pour fixer les ides, la figure 5.8. montre la structure fonctionnelle de principe du
rgulateur PID propos par SIEMENS et la figure 5.9, sa structure fonctionnelle dtaille.
L'utilisateur raisonne exclusivement sur cette reprsentation fonctionnelle tant la
configuration qu' l'exploitation. Ainsi, les diffrentes options prvues par la constructeur
seront-elles choisies en positionnant les "slecteurs" S1 S20 de la figure 5.9. (en ralit, il
s'agit du positionnement de bits internes exploits par l'algorithme de calcul PID).
Sans essayer d'entrer dans tous les dtails, on remarquera que ces slecteurs
permettent :
Les "relais" RL1 RL5, quant eux, sont utiliss lorsque le rgulateur est en service
pour des commutations de mode tel le passage automatique/manuel (RL4). Ces "relais"
peuvent tre actionns, soit partir de la console, soit partir du programme principal
(logique) de l'automate.
Enfin, on remarquera encore des cercles comprenant l'inscription MP1 MP12. Il
s'agit de "points de mesure" situs aux endroits importants de la structure et qui peuvent tre
exploits en phase de test voire mme en service normal. Ils peuvent en effet tre "branchs"
sur les dtecteurs de seuils existant dans la structure (S17 et S18) ou sur des canaux
analogiques de sortie (S19 et S20).
78
79
80
5.8.2. PROGRAMMATION
Les instructions voques ci-dessus peuvent tre ranges en instructions de
dplacement, instructions d'organisation des mouvements et instructions de gestion des
paramtres.
81
a.
b.
c.
a. Structure
b. Asservissement de position
c. Limitation d'acclration et de dclration
82
a.
b.
en fonctionnement automatique :
- la visualisation des paramtres et du programme
- l'observation des dplacements : position et vitesse
83
84
Chapitre 6
GRAFCET ou SFC
GRAFCET
SFC
:
:
85
le deuxime niveau ajoute aux exigences fonctionnelles les prcisions indispensables aux
conditions de fonctionnement des matriels, grce aux spcifications technologiques et
oprationnelles.
86
Par contre, il importe que les scurits de fonctionnement prvues soient incorpores
dans les spcifications fonctionnelles, dans la mesure o elles ne dpendent pas directement
de la technologie de ces capteurs ou actionneurs.
Niveau 2 - Spcifications technologiques
Les spcifications technologiques prcisent la faon dont l'automatisme devra
physiquement s'insrer dans l'ensemble que constitue le systme automatis et son
environnement. Ce sont les prcisions apporter en complment des spcifications
fonctionnelles pour que l'on puisse concevoir un automatisme pilotant rellement la partie
oprative.
C'est ce niveau seulement que doivent intervenir les renseignements sur la nature
exacte des capteurs et actionneurs employs, leurs caractristiques et les contraintes qui
peuvent en dcouler. A ces spcifications d'interface peuvent galement s'ajouter des
spcifications d'environnement de l'automatisme: temprature, humidit, poussires,
anti-dflagrance, tensions d'alimentation, etc.
Spcifications oprationnelles
Les spcifications oprationnelles ont trait au suivi de fonctionnement de
l'automatisme au cours de son existence. Il s'agit l des considrations concernant
l'quipement une fois ralis et mis en exploitation : fiabilit, absence de pannes dangereuses,
disponibilit, possibilits de modification de l'quipement en fonction des transformations de
la partie oprative, facilit de maintenance, dialogue homme - machine,
Ces considrations, primordiales pour l'exploitant du processus automatiser en raison
de leurs rpercussions sur le plan conomique, sont souvent sous-estimes dans les cahiers
des charges. Parfois difficiles exprimer de faon quantitative, elles n'en ont pas moins
d'incidence sur la manire de raliser l'quipement.
Avant d'introduire ces concepts et leur reprsentation nous allons montrer leur
importance ainsi que leur signification pratique partir d'un exemple simplifi.
On se propose d'tudier l'automatisation d'une presse destine la fabrication de pices
partir de poudres comprimes.
87
la matrice tant en haut de sa course, le poinon infrieur qui y demeure engag, dlimite
au-dessus de lui un espace suffisant pour recevoir la matire comprimer. Le poinon
suprieur est alors dans sa position la plus haute ce qui dgage la partie suprieure de la
matrice et permet l'introduction de la matire.
la matrice descend alors jusqu' ce que le poinon infrieur affleure, ce qui libre la pice
qui vient d'tre comprime. Cette pice peut ensuite tre vacue.
Ces actions ne pourront tre obtenues que si la partie commande met les ordres
convenables au moment voulu.
Les moments voulus seront dtermins d'aprs les compte rendus ou informations
provenant de la partie oprative.
Etude de la partie commande - GRAFCET de niveau 1
Considrons la presse arrte dans l'attente d'une nouvelle charge de matire. La
matrice et le poinon sont immobiles et la descente de ce dernier ne sera commande par
l'automate qu'aprs la rception de l'information "matire en place". Cependant, cette mme
information, si elle est renouvele par erreur pendant la remonte du poinon, n'aura aucun
effet sur le comportement de la partie commande. Nous dirons que l'automate tait "rceptif"
dans le premier cas pour l'information "matire en place" et qu'il ne l'tait plus dans le second.
Nous dirons que la partie commande demeure dans une "tape" tant que son
comportement est constant. Elle reste dans cette "tape" jusqu' ce que les informations pour
lesquelles elle est "rceptive" provoquent le franchissement d'une "transition" conduisant
une nouvelle tape o la partie commande adoptera alors un nouveau comportement.
88
chaque transition, les informations permettant leur franchissement, sous forme d'une
condition logique appele rceptivit.
89
;
;
;
;
;
;
;
;
;
;
;
;
action
rceptivit
action
rceptivit
action
rceptivit
action
rceptivit
action
rceptivit
action
rceptivit
:
:
:
:
:
:
:
:
:
:
:
:
cet exemple tant simplifi la procdure d'arrt d'urgence, les modes de marche ainsi que
les scurits ne sont pas traits.
la mise en place de la matire est assure manuellement par l'oprateur. Un voyant V est
allum pendant toute la dure de la mise en place. Celle-ci termine l'oprateur autorise
la poursuite des oprations en appuyant sur un bouton-poussoir d.
l'vacuation de la pice est obtenue au moyen d'un jet d'air maintenu pendant une
seconde. Ce jet d'air est command par une lectrovanne E.
90
91
ORDRES
vers le milieu extrieur et l'oprateur
V
:
voyant "Prt"
commande des actionneurs
a+
:
descente poinon
a
:
remonte poinon
b
:
descente matrice
b+
:
remonte matrice
E
:
vacuation
lancement de temporisations
LT1 :
lancement temporisation d'vacuation
INFORMATIONS
droulement du cycle
d
:
autorisation de dpart cycle
fin de course des actionneurs
a1
:
position basse du poinon
a0
:
position haute du poinon
b0
:
position basse de la matrice
b1
:
position haute de la matrice
fin de temporisation
ft1
:
fin de temporisation d'vacuation
On peut alors tablir, pour la partie commande, le GRAFCET de niveau 2 montr la
figure 6.3.c.
92
a. Choix technologiques
c. GRAFCET niveau 2
93
6.2.1. ETAPE
Une ETAPE correspond une situation dans laquelle le comportement de tout ou
partie du systme par rapport ses entres et ses sorties est invariant.
L'ETAPE se reprsente par un carr ou un rectangle repr numriquement, le repre
tant plac la partie suprieure (figure 6.4.a.)
En addition ce repre, un nom symbolique peut tre adjoint, reprsentatif de la
fonction principale de l'tape (ex: ATTENTE, FIN, SYNCHRONISATION, etc.) (figure 6.4.b.)
Une tape est soit active soit inactive et un instant donn la situation du systme
automatis est entirement dfinie par l'ensemble des tapes actives. On prcise pour chaque
tape les actions effectuer caractristiques de cette situation. Ces actions ne sont effectives
que lorsque l'tape est active.
Il est commode de montrer les tapes actives un instant bien prcis en plaant un
point ou un repre quelconque dans la partie infrieure des symboles correspondants (figure
6.4.c.).
Au niveau des spcifications fonctionnelles, on ne dfinit pas les actionneurs ni les
capteurs, mais uniquement les actions effectuer et leur enchanement.
Les actions effectuer lorsque l'tape est active sont dcrites de faon littrale ou
symbolique l'intrieur d'un ou plusieurs rectangles de dimensions quelconques relis la
partie droite de l'tape (figure 6.4.d.)
De plus l'excution de ces actions peut tre soumise d'autres conditions logiques,
fonction de variables d'entre, de variables auxiliaires ou de l'tat actif ou inactif d'autres
tapes.
Dans l'exemple de la figure 6.4.e., lorsque l'tape 27 est active, il faut :
-
Au niveau des spcifications technologiques (niveau 2), on devra prciser la faon dont
les actions sont ralises compte tenu du matriel dfini pour les capteurs et les actionneurs.
Pour ce faire, on utilisera l'un ou l'autre des langages de programmation fourni par le
constructeur (relais, liste d'instructions, ...).
94
13
14
FIN
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
6.2.2. TRANSITIONS
Les TRANSITIONS indiquent les possibilits d'volution entre tapes. On associe
chaque transition une condition logique appele RECEPTIVITE qui permet de distinguer,
parmi toutes les informations disponibles, uniquement celles qui sont susceptibles un
instant donn de faire voluer la partie commande.
La RECEPTIVITE, crite sous forme de proposition logique, est une fonction
combinatoire d'informations extrieures (directives de l'oprateur, tats de capteurs, de
compteurs, de temporisateurs, etc.), de variables auxiliaires ou de l'tat actif ou inactif
d'autres tapes (figure 6.5.a.)
Ces rceptivits peuvent s'exprimer sous des formes diverses :
Ex :
95
Les rceptivits peuvent aussi faire intervenir des changements d'tat de variables.
La notation a reprsente le front "montant" de la variable a (passage de l'tat logique
"0" l'tat logique "1") et la notation y reprsente le front "descendant" de la variable y
(passage de l'tat logique "1" l'tat logique "0") (figure 6.5.b.)
Pour faire intervenir le temps dans une rceptivit, il suffit d'indiquer aprs le repre t
son origine et sa dure, l'origine sera l'instant du dbut de la dernire activation d'une tape
antrieure.
Ex : la notation t/8/l0s signifie 10 secondes coules depuis la dernire activation de l'tape 8.
Nota : Une rceptivit toujours vraie est crite = 1.
5
a
a. Etats logiques
9
y
t/8/5s
b. Changements d'tat
t/8/10s
10
c. Dpendant du temps
96
97
a. Etape initiale
98
99
a. Choix conditionnel
b. Exclusivit et priorits
c. Saut d'tapes
100
101
102
Remarquons, enfin, que la prsence de ces variables d'tape tenues jour par le
systme constituent une facilit pour l'utilisateur mais qu'elles ne sont pas strictement
indispensables la construction d'un GRAFCET. En effet, le programmeur pourrait trs bien
grer lui-mme des informations quivalentes par le biais de variables internes et de
temporisation.
A titre informatif, on donne, dans le tableau qui suit, les solutions adoptes par
diffrents constructeurs.
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
Lgende :
* confirmer dans une phase de configuration
103
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
Qualificatif
Norme
CEI
1131
Explication
Hors
norme
Disponibilit
chez les constructeurs
A-B
Telem
Isagraf
Cadep
a
Non mmoris
Positionn (mmoris)
Temporis
P1
Impulsion (activation)
P0
Impulsion (dsactivation)
SL
SD
temps
DS
Mmoris et et temporis
Temporis et mmoris
104
L (Limit dans le temps) : l'action dmarre avec l'activation de l'tape et s'arrte aprs un
dlai fix ou la dsactivation de l'tape
P1 (Impulsion l'activation) : l'action est effectue une fois lors de l'activation de l'tape.
Tous ces types d'action peuvent tre recrs partir du type originel (N). Ainsi, la
figure 6.12. montre comment on peut raliser une action impulsionnelle moyennant
l'introduction d'une tape supplmentaire.
S'il est vrai que l'utilisation des actions particulires dcrites ci-dessus est de nature
allger le dessin d'un GRAFCET, par contre elle en rend la lecture beaucoup plus difficile car
certaines informations relatives l'volution du systme n'y apparaissent plus que de manire
implicite. Il peut en rsulter d'assez srieuses difficults pour la mise au point et la
maintenance des programmes.
105
106
a
n1
=1
n
n2
107
108
109
A1
R1
A2
R2
A3
R3
A4
R4
A5
GRAFCET STRUCTURE
A1
100
X6
R1
MACROETAPE
101
R2
X103
8
A4
102
A3
R3
R4
9
A2
A5
103
=1
110
A1
R1
100
A2
R2
6
101
A4
A5
A3
111
M1
5
A1
IN
1
A2
R1
R2
2
A3
=1
R3
8
A4
R4
OUT
AUCUNE ACTION
PERMISE
A5
VISUALISATION DYNAMIQUE
indpendance vis--vis de la numrotation des tapes. Ce point prend tout son sens si l'on
sait que certains diteurs permettent de renumroter automatiquement les tapes d'un
GRAFCET. Ceci est videmment catastrophique si les variables d'tape du GRAFCET en
question sont utilises dans d'autres GRAFCET.
112
facilit d'introduire des fonctions de diagnostic. En effet, le sous-GRAFCET peut trs bien
renvoyer un compte-rendu circonstanci de son activit, par exemple, "OK 100" si tout
s'est bien pass; "NOK 100" s'il a dtect un problme. Le GRAFCET principal peut alors
ragir de manire adquate.
A1
DEM100
10
DEM10
OK100
NOK100
101
8
A2
18
R2
102
A3
9
R3
103
Squence
normale
Squence
d'exception
/R3 . t/102/1s
OK100
=1
104
NOK100
=1
6.5.1. SYNCHRONISATION
Synchronisation explicite
113
R1
5
R2
R5
6
R3
4
9
R9
10
R6
7
R7
8
=1
11
R11
114
La figure 6.19. montre ce que l'on entend par synchronisation horizontale. Les quatre
activits voques au paragraphe prcdent sont dcrites par quatre GRAFCET
graphiquement indpendants.
La rceptivit R1 assure le lancement simultan des trois premires activits. La
quatrime est verrouille par la rceptivit X4 . X8 . X10 qui ne peut tre vraie que si les trois
premires activits sont termines (tapes 4, 8 et 10 actives). La fin de la quatrime activit
(tape 20 active) remet le systme dans les conditions initiales par le truchement des
rceptivits X20.
100
200
R1
300
R1
5
R2
R1
R5
R3
400
11
R9
10
R6
X4.X8.X10
R11
20
X20
=1
7
X20
R7
8
X20
115
Dans des cas complexes, la synchronisation horizontale peut devenir difficile suivre
tant donn l'intervention possible, dans chaque GRAFCET, de variables d'tape provenant
d'un ou plusieurs autres GRAFCET.
A cet gard, la synchronisation verticale est beaucoup plus claire comme le montre la
figure 6.20. On y retrouve les quatre GRAFCET de l'exemple prcdent plus, cette fois, un
cinquime GRAFCET de synchronisation. On y a, en outre, introduit le principe "clientserveur" expliqu au paragraphe 6.4.4.
C'est ce GRAFCET qui contrle l'excution des diffrentes activits.
L'intrt de la prsente solution est que les interactions entre GRAFCET ne se font
qu'entre les GRAFCET infrieurs et le GRAFCET de synchronisation.
116
500
R1
DEM100
DEM200
DEM300
501
OK100.OK200.OK300
DEM400
502
OK400
503
=1
100
200
DEM100
300
DEM200
5
R2
DEM300
R5
R3
400
11
R9
10
R6
DEM400
R11
20
OK300
OK400
7
OK100
R7
8
OK200
117
118
10
20
Dmarrage
Dmarrage
Chargement et
dmarrage wagonnet
11
Point WA atteint
12
Point WB atteint
1
SYN
Attente
Chargement et
dmarrage wagonnet
21
22
Attente
=1
/X12
Dchargement et
retour
13
Point WA atteint
14
Retour vers A
Point A atteint
WAGONNET A
Dchargement et
retour
23
Point WB atteint
24
Retour vers B
Point B atteint
WAGONNET B
119
1
X13 + X23
2
X14 + X24
10
20
Dmarrage
11
Dmarrage
21
Point WA atteint
12
Point WB atteint
22
Attente
X1
X1./X12
13
23
Point WA atteint
14
Point WB atteint
24
Point A atteint
WAGONNET A
Point B atteint
WAGONNET B
120
utilisation de bits d'tapes : l'activit d'une tape est reprsente par l'tat d'un bit
interne. C'est ce qui avait t prsent au paragraphe 4.3.2. Nous verrons ci-aprs que
plusieurs variantes existent qui peuvent videmment tre programmes avec n'importe
quel langage d'automate et pas seulement avec le langage relais.
utilisation de pointeurs de phase : l'activit d'une tape est dans ce cas reprsente par la
valeur d'un mot. Si le mot vaut n, cela signifie que l'tape n est active. Cette mthode
implique videmment de nombreuses oprations sur mots.
Lors du choix d'une mthode de transposition, il convient d'tre attentif aux points
suivants :
facilit de mise au point : en phase de mise au point, il faut tre en mesure de faire
voluer un GRAFCET mme si toutes les conditions ncessaires ne sont pas runies. Ceci
implique de pouvoir forcer des rceptivits et des tapes. A cet gard, la mthode du
pointeur de phase est certainement la plus sre car elle garantit intrinsquement qu'il n'y
aura jamais qu'une seule tape active la fois dans une branche de GRAFCET. Les
mthodes bases sur les bits d'tape requirent beaucoup plus de vigilance de la part du
programmeur.
facilit de diagnostic : ici aussi la mthode du pointeur de phase s'avre trs commode. Il
suffit en effet de visualiser dynamiquement la valeur des pointeurs de phase des
diffrentes branches du GRAFCET pour connatre, tout moment, le numro des tapes
actives.
performances : pour une mthode donne, les performances dpendent fortement du type
d'automate utilis et du nombre d'tapes du GRAFCET. Il est donc difficile de dgager
des rgles gnrales. On peut cependant s'attendre ce que la mthode du pointeur de
phase soit la plus dfavorable puisqu'elle utilise des oprations sur mots.
Pour une tude systmatique de cet aspect des choses, le lecteur consultera avec profit
[FORET, 1996].
121
Il faut se souvenir(cf. 2.3.6.) que les sorties calcules durant un cycle d'automate sont
en fait inscrites dans une table image et ne sont effectivement envoyes vers les interfaces de
sortie qu'en fin de cycle.
Si, ds lors, une tape est active et dsactive au cours d'un mme cycle de l'automate,
les actions ventuellement associes cette tape n'auront aucun effet sur le processus. Le
cas se prsente, par exemple, si l'on veut raliser une action impulsionnelle par le moyen
dcrit au paragraphe 6.3.2. (figure 6.12.)
Il est assez facile de rsoudre ce problme en obligeant les tapes rester actives
durant au moins un cycle de l'automate. Nous verrons au paragraphe 6.6.3. quelques artifices
de programmation qui permettent d'arriver ce rsultat.
122
R1
A1
A1
A2 . /A11
A2
A3
=1
A11
a.
R1
A1
A1
A2 . /A11
A2
A3
=1
A11
b.
R1
A1
A1
A2 . /A11
A2
A3
=1
A11
c.
123
R1
A1
A1
A2 . /A11
A2
A3
=1
A11
a.
R1
A1
A1
A2 . /A11
A2
A3
=1
A11
b.
R1
A1
A1
A2 . /A11
A2
A3
=1
A11
c.
Figure 6.25. Branches parallles interactives Scrutation dans l'ordre 1 2 3
124
R1
A1
A1
A2 . /A11
A2
A3
=1
A11
a.
R1
A1
A1
A2 . /A11
A2
A3
=1
A11
b.
R1
A1
A1
A2 . /A11
A2
A3
=1
A11
c.
Figure 6.26. Branches parallles interactives Scrutation dans l'ordre 3 2 1
125
Problmes de synchronisation
Un problme tout fait semblable au prcdent se pose lorsque l'on utilise des
variables d'tape pour synchroniser des GRAFCET se droulant en parallle ou pour assurer
la protection de ressources communes.
Nous reprendrons, ici, le cas du GRAFCET de synchronisation expos au paragraphe
6.5.2. (figure 6.27.). Supposons qu'on vienne d'arriver dans la situation indique la figure
6.27.a. Supposons aussi que l'ordre de scrutation des GRAFCET soit 1, 2, 3. Au cycle
d'automate qui suit, le GRAFCET 1 commence par passer l'tape 13 puisque la rceptivit
X1 est vraie, le GRAFCET 2, scrut en second, trouve aussi une rceptivit vraie puisque X1
est toujours vraie et que /X12 est devenue vraie. Enfin le GRAFCET 3, scrut en dernier,
passe l'tape 2 mais il est trop tard, les deux chariots sont en route vers la voie commune !
Dans le cas prsent, il est assez facile de contourner la difficult. Il suffit, en effet,
lorsqu'un des GRAFCET prend le contrle de la ressource commune, qu'il fasse lui-mme et
dans le mme temps voluer le GRAFCET de synchronisation.
En d'autres termes, les instructions qui assurent la transition 1 2 du GRAFCET
devront tre crites deux fois : une fois aprs celles qui assurent la transition 12 13 du
GRAFCET 1 et une fois aprs celles qui assurent la transition 22 23 du GRAFCET 2. De
cette manire, on s'affranchit compltement de l'ordre de scrutation des GRAFCET, du moins
en ce qui concerne la protection de la ressource commune.
126
1
X13 + X23
2
X14 + X24
10
20
Dmarrage
Dmarrage
11
21
Point WA atteint
Point WB atteint
12
22
Attente
X1
X1./X12
13
23
Point WA atteint
Point WB atteint
14
24
Point A atteint
Point B atteint
WAGONNET A
WAGONNET B
127
1
X13 + X23
2
X14 + X24
10
20
Dmarrage
11
Dmarrage
21
Point WA atteint
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
128
M2
M3
M4
a.
R
A
M2
M3
M4
AU
M2
b.
M3
M4
c.
Figure 6.28. Intrt de regrouper les quations relatives aux actions
129
Dans cette solution, les conditions de transition pour toutes les tapes sont calcules en
dbut de programme et mmorise dans des bits internes. Ces bits internes sont ensuite
utiliss en tant que rceptivits dans la description de l'volution du GRAFCET.
Ainsi, si une tape est active, on est assure qu'elle ne pourrait tre dsactive dans le
mme cycle d'automate. En effet, la rceptivit qui la verrouille est ncessairement fausse
puisque, au moment o celle-ci a t calcule, l'tape n'tait pas active par hypothse.
La prsente mthode offre aussi l'avantage de pouvoir "forcer" facilement l'volution
d'un GRAFCET en phase de mise au point. Au lieu de devoir "forcer" toutes les variables
intervenant dans une rceptivit, il suffira en effet de "forcer" le bit de transition.
La figure 6.29. donne un exemple de la mthode programme en langage IL normalis.
130
Exemple de GRAFCET
10
R1
20
R2
30
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
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
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
131
b.
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 :
132
c.
133
a. Programmation en langage IL
Pointeur de phase MW1
ET10 :
LD
NE
JMPC
LD
JMPCN
LD
ST
JMP
ET20 :
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
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 :
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 :
134
Chapitre 7
GEMMA
Guide d'Etude des Modes de Marches et d'Arrts
Ce chapitre est quasi intgralement repris du document original de l'ADEPA
(Association pour le Dveloppement de la Production Automatise France) 1981.
7.1. INTRODUCTION
Le GEMMA est un outil-mthode permettant de mieux dfinir les Modes de
Marches et dArrts dun systme industriel automatis.
Il est constitu pour l'essentiel d'un Guide Graphique qui est rempli progressivement
lors de la conception du systme.
On commence par recenser les Modes ou Etats de fonctionnement du systme en
utilisant des critres clairement dfinis, indpendants la fois du type de systme tudi et de
la technologie de commande.
On tablit ensuite les liaisons possibles entre ces Modes ou Etats , en explicitant
les conditions d'volution.
Le document ainsi tabli matrialise l'analyse dtaille des Modes de Marches et
d'Arrts du systme: le GEMMA est un outil d'aide l'analyse.
Il reste alors en dduire le GRAFCET complt afin de terminer la dfinition des
spcifications de la Partie Commande, y compris le pupitre et les capteurs supplmentaires
ventuellement ncessaires : le GEMMA est un outil daide la synthse du cahier des
charges. Enfin, ce document accompagne la vie du systme: le GEMMA est un outil d'aide la
conduite de la machine, sa maintenance ainsi qu' son volution.
Chapitre 7 GEMMA
135
Chapitre 7 GEMMA
136
7.2.1. CONCEPT N 1 : LES MODES DE MARCHES SONT VUS PAR UNE PARTIE
COMMANDE EN ORDRE DE MARCHE
Tout systme peut tre dcompos fonctionnellement en 2 parties qui cooprent : la
partie oprative et la partie commande.
On entendra ici par "partie oprative", tout ce qui n'est pas l'automatisme en cours
d'tude (que l'on appellera "partie commande"). La partie oprative peut donc inclure, outre
les mcanismes ou dispositifs divers du systme, tout ce qui relve de l'environnement du
systme (oprateurs humains ou autres parties commande).
Les Modes de Marches ou d'Arrts concernent le systme, c'est--dire l'ensemble
"Partie oprative" + "Partie commande", mais tels qu'ils sont vus par la partie commande.
Nous nous limitons volontairement cette hypothse d'une description vue d'une partie
commande en ordre de marche, comme tant de loin la plus frquente et surtout la moins
complexe aborder. Ceci revient carter les cas des parties commande scurit passive ou
tolrant des pannes, ainsi que les interventions humaines directement sur la partie oprative
sans que, par un capteur, la commande en soit informe.
Par consquent, ceci suppose que la partie commande est en ordre de marche, avec tous
ses organes convenablement aliments, mme si la partie oprative est hors nergie, ou en
dfaut, ou l'arrt.
Le Guide graphique GEMMA est donc constitu de 2 zones (figure 7.1.) :
Chapitre 7 GEMMA
137
La mise sous nergie et dans un tat initial de la partie commande permet de franchir
la frontire entre les 2 zones. On trouve alors la partie oprative (PO) hors ou sous nergie.
On peut franchir la frontire dans l'autre sens par coupure d'nergie sur PC.
Chapitre 7 GEMMA
138
1 - Famille (F)
On groupe dans cette famille tous les Modes ou Etats qui sont indispensables
l'obtention de la valeur ajoute, ou, autrement dit, tous ceux sans lesquels on ne sait pas
techniquement ou fonctionnellement obtenir la valeur ajoute pour laquelle la machine est
prvue.
Ces modes sont regroups dans le guide graphique dans une zone F "Procdures de
Fonctionnement".
Notons que l'on ne "produit" pas forcment dans tous les modes de cette famille : ils
peuvent tre prparatoires la production, ou servir aux rglages ou aux tests par exemple.
Ils n'en demeurent pas moins indispensables : on ne sait pas faire du moulage en coquille sans
prchauffer l'outillage (marche de prparation), ni effectuer des oprations d'usinage sans
rglages ni contrles priodiques.
2 - Famille (A)
Une machine automatique fonctionne rarement 24 heures sur 24 : il est ncessaire de
l'arrter de temps autre, pour des raisons extrieures au systme, tout simplement parce
que la journe est finie, ou bien par manque d'approvisionnement, par exemple.
L'exprience montre qu'il est souvent dlicat de concevoir les quipements
automatiques pour qu'ils arrtent correctement le processus qu'ils contrlent.
On classera dans cette famille tous les Modes conduisant (ou traduisant) un tat
d'arrt du systme pour des raisons extrieures. Ils sont regroups dans une zone A
"procdures d'Arrt" du guide graphique.
Notons qu'on peut produire en tant dans une procdure d'arrt, si cet arrt est
demand la fin d'une opration, par exemple.
3 - Famille (D)
Il est rare qu'un Systme fonctionne sans incident pendant toute sa vie : il est
indispensable de prvoir les dfaillances.
On regroupera dans cette famille tous les modes conduisant (ou traduisant) un tat
d'arrt du systme pour des raisons intrieures au systme, autrement dit, cause de
dfaillances de la partie oprative. Ces modes sont reprsents dans une zone D "procdures
en Dfaillance" du guide graphique.
On a cart d'emble les cas de dfaillance de la PC, pour lesquels on considre qu'on
ne peut rien dire, dans la majorit des cas.
Chapitre 7 GEMMA
139
L'tat F1, < Production normale >, est celui pour lequel la machine a t conue.
Reprsent par un grand rectangle renforc, il se trouve bien entendu dans l'intersection
des zones "procdures de fonctionnement" et "en production".
L'tat A2, < Arrt demand en fin de cycle > est reprsent par un rectangle dans
l'intersection des zones "procdures d'arrt" et "en production". En effet, dans cet tat, la
machine continue encore de produire, bien que l'arrt soit demand.
L'tat Al, < Arrt dans l'tat initial >, est reprsent par un rectangle dans la zone
"procdures d'arrt" et hors de la zone "production", puisque la machine est maintenant
arrte.
Chapitre 7 GEMMA
140
Chapitre 7 GEMMA
141
a.
b.
Chapitre 7 GEMMA
142
Chapitre 7 GEMMA
143
Chapitre 7 GEMMA
144
Chapitre 7 GEMMA
145
Chapitre 7 GEMMA
146
Utilisation du GRAFCET :
Dans cet exemple assez particulier, la production tant assure uniquement par la
lecture d'un programme, le GRAFCET n'a pas t utilis. Nous verrons dans l'exemple suivant
les rles respectifs du GRAFCET et du GEMMA. Cette application a t choisie comme
premier exemple introductif pour faire comprendre plus rapidement l'intrt du GEMMA dans
une premire approche.
Utilisation du GEMMA :
Afin de faire tout de suite dcouvrir l'objectif poursuivi, nous prsentons ici directement
le GEMMA final (voir page suivante).
A partir du guide graphique prsent plus haut, ce GEMMA a t en fait obtenu en
deux temps :
1. Slection des modes de marches et d'arrts, en utilisant les rectangles tats et en
dfinissant les liaisons.
2. Recherche des conditions d'volution entre tats, en parallle avec la dfinition du
pupitre de commande.
Pour ce premier exemple, contentons-nous d'expliquer les choix effectus, sans suivre
dans le dtail la mthode d'obtention.
L'tat F1, < Production normale >, est la mise en oeuvre du programme, pour
droulement de l'essai. Cet tat F1 est atteint depuis l'tat initial A1, par la frappe du mot
"excution" sur le clavier du pupitre (voir figure ci-dessous), la traverse de l'tat F2 qui
permet une mise l'heure, puis la mise sur "auto" du slecteur de marche et l'action sur le
bouton "marche".
A tout moment, l'arrt de la machine peut tre provoqu manuellement par passage
dans les tats A3 et A4, en agissant sur le bouton "arrt" du pupitre.
Chapitre 7 GEMMA
147
Chapitre 7 GEMMA
148
de procder des vrifications de comportement par des essais prolongs avec consignes
fixes V, C et ; dans ce cas, la marche de vrification est productive puisqu'elle essaie la
transmission : elle est donc situe dans le rectangle "en production".
Chapitre 7 GEMMA
149
La machine :
Sous des formes varies, ce type de machine se rencontre souvent dans l'industrie, pour
remplir automatiquement toutes sortes de contenants : flacons, bidons, botiers mcaniques
tels que botes de vitesses, des rducteurs
Les contenants sont prsents sous un poste de remplissage, puis sous un poste de
bouchage.
Pour la machine ci-dessus :
Chapitre 7 GEMMA
150
Les capteurs
Ces capteurs permettent la <Production normale> et interviennent dans le GRAFCET
de BASE ci-dessous. Chaque vrin est muni d'un capteur fin de course.
Exemple : pour le vrin A, capteurs a11 et a1, a11 tant actionn l'tat repos de la machine.
Le vrin E est quip d'un capteur chute de pression e1, dtectant l'arrt du vrin en
bute en un point quelconque de sa course. La vanne D et le moteur F ne comportent pas de
capteurs de position, car ils sont difficiles implanter.
GRAFCET de Base
C'est le GRAFCET dcrivant la <Production normale>.
Remarque : ce GRAFCET est incomplet; il sera complt aprs la rflexion GEMMA qui
conduira entre autres prciser la situation initiale et le rebouclage.
Chapitre 7 GEMMA
151
La case A1, < Arrt dans l'tat Initial >, reprsente l'tat de la machine dfini par le
croquis (page 150).
F1 -
De la case A1, lorsqu'on met la machine en route, on passe la case Fl, <Production
normale>, c'est--dire "Remplissage et bouchage automatiques" selon GRAFCET cidessus.
A2 -
L'arrt de production peut tre demand en tout point du cycle. Le cycle en cours se
termine, tat dcrit case A2.
F2 -
Lorsque la machine est vide, elle doit tre mise en route progressivement, chaque poste
dmarrant lorsque le premier bidon se prsente en position : ceci est la < Marche de
prparation > de la case F2.
F3 -
D3 -
Point dlicat de la machine, le poste "Bouchage" est parfois dfaillant. Il peut tre alors
dcid de produire tout de mme, en bouchant manuellement les bidons au fur et
mesure de leur remplissage automatique : c'est l'objet de la case D3 : < Production tout
de mme >.
D1 -
En cas d'arrt d'urgence, la case D1, < Arrt d'urgence >, est atteinte : elle prvoit un
arrt de tous les mouvements en cours, et la fermeture de la vanne D pour arrter tout
coulement de liquide.
A5 -
Aprs arrt d'urgence, nettoyage et vrification sont souvent ncessaires : c'est l'objet
de la case A5 < prparation pour remise en route aprs dfaillance >.
A6 -
Aprs toute dfaillance ou toute vrification, une remise l'tat initial est ncessaire :
case A6.
F4 -
F5 -
Pour vrifications et mises au point, une commande semi-automatique (un seul cycle
la fois) est ncessaire pour chaque poste et pour l'ensemble case F5, < Marche de
vrification dans l'ordre >.
Chapitre 7 GEMMA
152
Chapitre 7 GEMMA
153
Chapitre 7 GEMMA
154
Sur le pupitre de commande, un slecteur principal permet d choisir entre les options
"auto", " auto" et "manuel".
A l'option "automatique" correspondent :
2 boutons "marche" et "arrt" dont l'action est mise en mmoire (signal M),
un slecteur li au poste 3 : "en service" ou "hors service" = HS3,
un slecteur AA d'Autorisation du vrin A, pour permettre la vidange machine.
Ces boutons, et les capteurs CP1, CP2 et CP3, permettent d'explorer les tats A1, F1. F2, F3,
A2 et D3, comme montr sur le GEMMA ci-dessous.
Sur le GRAFCET complt, est mnage la possibilit de sauter les tapes avec actions
des postes 2 et 3 dans le cas d'absence de bidons ( CP 2 , CP 3 ), afin de satisfaire aux besoins de
mise en route progressive F2, et de vidange progressive F3 si signal AA .
Les tapes avec actions du poste 3 sont galement sautes HS3 (poste 3 Hors Service), car
nous nous trouvons alors en D3, production tout de mme sans le poste 3.
A l'option "semi-automatique" correspond F5, < marche de vrification dans l'ordre >,
qui permet en appuyant sur le bouton m, l'exploration du cycle d'un seul poste, 1 ou 2 ou 3, en
fonction de la position du slecteur "semi-automatique" en c ou d ou e.
Sur le GRAFCET complt, les reprises d'tapes adquates sont prvues aux postes 2
et 3 pour drouler cette marche. Pour le poste 1, le GRAFCET est dcrit compltement, mais
avec saut des tapes agissantes des postes 2 et 3. C'est afin que cette marche semi-auto se
droule sans prcaution particulire que les tapes initiales du GRAFCET sont 13 23 et 37
A l'option "manuel" correspondent les tats F4, A5 et A6, qui exigent la commande
spare des mouvements (par action directe) sur les distributeurs ou par action sur boutons
s'il en est prvu.
Enfin, le bouton d'Arrt d'Urgence AU permet de passer en D, depuis tous tats.
Chapitre 7 GEMMA
155
Chapitre 7 GEMMA
156
II
paralllement
III
mise en uvre du guide graphique GEMMA pour la slection des
Modes de Marches et d'Arrts avec mise en vidence des liaisons entre
ces modes
IV
dfinition l'aide du GEMMA des conditions d'volution entre les
paralllement tats de Marches et d'Arrts
dfinition des fonctions du pupitre de commande
tablissement du GRAFCET complt
V
Choix d'une technologie de commande : lectrique, lectronique ou
pneumatique, cble ou programme
VI
Conception du schma ou du programme de commande dans la
technologie choisie
Chapitre 7 GEMMA
157
Avec ses rectangles-tats, le guide graphique constitue une "check-list" des diffrents
types de Modes de Marches et d'Arrts ncessaires en automatisation industrielle courante.
Pour une machine donne, il est donc important d'examiner le cas de chaque "rectangle-tat" :
si le mode propos est retenu, il sera prcis en "langage-machine" dans le
"rectangle-tat"; au besoin, plusieurs variantes de ce mode seront distingues;
si le mode propos n'est pas ncessaire pour la machine, une croix sera porte dans
le "rectangle-tat", pour bien signifier qu'il n'est pas retenu.
2. Rechercher les volutions d'un tat l'autre
Deux tats essentiels, dfinis ds le dbut de l'tude, se retrouvent sur toutes les
machines :
l'tat A1, dit <tat initial>, ou "tat repos" de la machine (1)
l'tat F1, mode de <production normale>, pour lequel la machine a t conue (1)
En parlant de chacun des deux tats essentiels, A1 et F1, il est intressant de
rechercher les volutions vers d'autres tats, dont la ncessit est moins vidente au premier
abord.
etc.
En pratique, on mettra en vidence des boucles passant par les tats A1 ou F1, et
appartenant l'une des deux familles :
- les boucles "dmarrage arrt normal"
- les boucles "dmarrage dfaillance retour l'tat initial"
Le guide graphique GEMMA permet donc une slection des Modes de Marche et
d'Arrts pour une machine donne; la mthode consiste examiner le cas de chacun des tats
proposs, en recherchant les volutions d'un tat dans l'autre, en particulier partir des deux
tats essentiels sur toute machine, l'tat initial A1 et l'tat de production normale F1.
(1)
Chapitre 7 GEMMA
158
Cette slection tant acheve et mise au net sur le guide graphique GEMMA, il y a lieu
de procder au 2e temps de l'exploitation du GEMMA : la recherche des conditions d'volution
entre les Modes de Marche et d'Arrts, explique aux pages suivantes.
Chapitre 7 GEMMA
159
Enfin, avec ces lments, le GRAFCET de base peut alors tre complt de faon
donner une description prcise de l'ensemble du fonctionnement de la partie commande.
7.4.4. CONCLUSION
Comme montr dans les exemples introductifs, on peut apercevoir les consquences de
l'intervention du GEMMA dans la squence d'tude de la machine :
pupitre, capteurs supplmentaires, GRAFCET complt, dcoulant de la rflexion
GEMMA sont mieux prvus;
la machine est mieux conue, donc sa ralisation et sa mise en route se font avec
moins de ttonnements et de modifications;
comme le GRAFCET, le GEMMA suivra ensuite la machine, servant aux dpannages
ou modifications.
Remarque : unicit du Mode
Le GEMMA est conu pour une partie commande unique pilotant une partie oprative
unique. Autrement dit, on considre le systme globalement, ce qui implique qu' tout instant
on est dans un mode et un seul ou, ce qui revient au mme, dans un "rectangle-tat" et un
seul. Les consquences de cette unicit sont expliques la fin du chapitre.
(1) La tche de l'oprateur, chaque cycle, peut tre, par exemple, de charger la pice ou de la dcharger, de
nettoyer l'outillage, de vrifier la pice avant ou aprs oprations, etc.
Chapitre 7 GEMMA
160
a.
b.
7.5. PROGRAMMATION
Le GEMMA d'un systme ayant t obtenu, on dispose alors des lments ncessaires
pour tablir le cahier des charges dfinitif de la partie commande et en particulier son
GRAFCET.
L'objet de ce paragraphe est de montrer comment intgrer les prcisions obtenus sur
les Modes de Marches et d'Arrts, dans le GRAFCET d'ensemble de la partie commande.
On appelle GRAFCET COMPLETE, le GRAFCET d'un automatisme intgrant
l'ensemble des modes de marche, par opposition au GRAFCET de BASE qui dcrit seulement
le comportement du systme en mode Fl <Production Normale>.
Pour aboutir au GRAFCET' COMPLT, on peut envisager 2 types de mthodes :
1 - Enrichissement du GRAFCET de BASE.
2 - Structuration en "TACHES".
Chapitre 7 GEMMA
161
Chapitre 7 GEMMA
162
Chapitre 7 GEMMA
163
Chapitre 7 GEMMA
164
La figure suivante donne alors une vue schmatise des GRAFCETS des tches T100,
T200, T300 (de niveau infrieur) :
Chapitre 7 GEMMA
165
Chapitre 7 GEMMA
166
SY 21 : initialisation du GRAFCET
SY22 : dsactivation du GRAFCET
SY23 : fige le GRAFCET et annule les actions
Possibilit de forcer les variables d'tape X :
ES
SY23
EQUIVALENT A
/AU
1
A1
R1
2
R2
3
A2
/AU
/AU .R2
3
A3
R3
/AU
/AU . R1
A2
A1
A3
/AU .R3
Chapitre 7 GEMMA
167
ES
SY22
ES
X100
S
EQUIVALENT A
1
1
R1
/AU . R1
AU
2
R2
/AU . R2
AU
3
R3
/AU . R3
100
AU
100
R100
101
R100
101
R101
102
R101
102
R102
R102
Procdure d'urgence
Chapitre 7 GEMMA
168
Chapitre 7 GEMMA
169
Exemple : une machine-transfert linaire est forme par la runion de trois systmes :
- un systme A d'approvisionnement,
- un systme B : machine proprement dite,
- un systme C de dchargement.
Chacun des systmes a son GEMMA : A et C peuvent tre arrts en dfaillance (tats
D1 ou D2). Si B continue fonctionner avec un chargement/dchargement la main, GEMMA
B peut tre en D3, <production tout de mme>.
On pourra mettre pour la condition d'entre du GEMMA B ou Fl, <production
normale> que GEMMA A et C soient galement en Fl.
Coordination "VERTICALE"
On fait alors un "GEMMA de GEMMA". C'est alors un ensemble hirarchis : les
systmes ne communiquent plus directement entre eux, mais via un GEMMA de niveau
suprieur (figure 7.14.).
Chapitre 7 GEMMA
170
Chapitre 8
NORMALISATION DES LANGAGES
DE PROGRAMMATION
On a dj fait abondamment tat dans ce qui prcde des travaux de normalisation
relatifs aux automates programmables (norme CEI 1131) et plus spcialement aux langages
de programmation (norme CEI 1131-3). Dans ce chapitre, nous entrerons un peu plus dans le
dtail de la norme CEI 1131-3.
langages graphiques
le langage contacts sous le sigle LD (Ladder Diagram)
le langage en blocs fonctionnels sous le sigle FBD (Function Block Diagram).
langages littraux
le langage liste d'instruction sous le sigle IL (Instruction List)
le langage littral structur sous le sigle ST (Structured Text).
Par ailleurs, c'est le GRAFCET, normalis sous le sigle SFC (Sequential Function
Chart), qui constitue l'outil de base pour la structuration des commandes de nature
squentielle. La prsentation qui en a t faite au chapitre 6 est dj largement inspire de la
norme et nous n'y reviendrons donc plus ici.
Par contre, ct des langages de programmation proprement dits, la norme s'intresse
aussi des notions plus pratiques telles que
-
Il est bien certain que leur normalisation est tout aussi importante pour la portabilit
des programmes que celle des langages de programmation eux-mmes.
Nous commencerons ce chapitre par un aperu de ces aspects de la norme dans la
mesure o ils sont communs tous les langages.
171
172
173
sorties. Contrairement au cas de la fonction, les sorties d'un bloc fonctionnel pourront donc
tre diffrentes pour un mme tat de ses entres.
Pour cette raison, si un bloc fonctionnel est utilis en diffrents endroits d'un
programme, il faudra crer autant de copies (on parle d'instances) du bloc, chaque copie
comportant un identificateur (le nom de l'instance) et une structure de donnes capable de
contenir ses variables internes et ses sorties.
Les temporisateurs et les compteurs sont des exemples simples mais frquents utiliss
de blocs fonctionnels. La figure 8.3 montre la mise en oeuvre d'un temporisateur dans les
diffrents langages normaliss.
programmes : un programme est dfini comme un ensemble logique de tous les
lments et constructions des langages de programmation ncessaires pour le traitement des
signaux destins commander une machine ou un processus.
La dclaration et l'utilisation de programmes sont assez semblables celles des blocs
fonctionnels except que les programmes ne peuvent tre instancis que dans des ressources
alors que les blocs fonctionnels le sont dans des programmes ou dans d'autres blocs
fonctionnels.
De plus, des chemins d'accs peuvent tre associs des programmes (cf 8.2.1.)
permettant donc ceux-ci d'utiliser des services de communication dans le cas d'une mise en
rseau.
LD
EN
SIN
B
FBD
B
IL
ST
SIN
LD
SIN
ST
B
A
A : = SIN (B)
174
LD
EN
OK
Tempo 1
TON
INPUT
IN
t#2s
PT
ET
OUTPUT
Tempo 1
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
Utilisation
OUTPUT : = Tempo1.Q
175
176
177
178
179
libells : la figure 8.10. donne quelques exemples de libells relatifs aux variables, aux
constantes et aux commentaires; la figure 8.11. au temps et la date.
180
181
182
183
184
185
186
187
188
a.
b.
189
Nom
AND
OR
XOR
NOT
Arithmtique
ADD
MUL
SUB
DIV
MOD
EXPT
MOVE
Numrique
Symbole
ventuel
Explication
&
>=1
=2k+1
+
*
/
**
:=
ABS
SQRT
LN
LOG
EXP
SIN
COS
ASIN
ACOS
ATAN
logarithme naturel
logarithme en base 10
>
>=
=
<=
<
<>
Comparaison
GT
GE
EQ
LE
LT
NE
Conversion de type
*_TO_**
Dcalage
SHL
SHR
ROR
ROL
dcalage gauche
dcalage droite
rotation droite
rotation gauche
Slection
SEL
MAX
MIN
LIMIT
MUX
slection binaire
slection de maximum
slection de minimum
limiteur
multiplexeur
Chane de caractres
LEN
LEFT
RIGHT
MID
CONCAT
INSERT
DELETE
REPLACE
FIND
190
Type
Nom
Explication
Bistables
SR
RS
SEMA
Forc dominant
Rinitialis dominant
Smaphore
Dtecteur de front
R-TRIG
F-TRIG
Front montant
Front descendant
Compteurs
CTU
CTD
CTUD
Compteur
Dcompteur
Compteur/Dcompteur
Temporisateurs
TP
TON
TOF
RTC
Impulsion
Temporisation l'enclenchement
Temporisation au dclenchement
Horloge temps rel (donne la date et
l'heure du jour)
191
Chapitre 9
OUTIL D'AIDE AU DEVELOPPEMENT
DES PROGRAMMES
192
matrielle et chantier sont excutes manuellement en plate-forme et sur le site d'aprs les
schmas de principe et de ralisation obtenues en conception dtaille.
Tests unitaires : Les modules logiciels ainsi raliss sont tests individuellement puis
globalement sur des automates de tests, suivant le cahier de tests unitaires tabli lors de la
conception dtaille. Il en va de mme pour les modules matriels et de chantier raliss
tester individuellement suivant les cahiers de tests unitaires correspondants.
Intgration et essais en plate-forme : Aprs intgration des modules logiciels dans le
matriel cible ralise conformment aux cahiers d'intgration tabli en conception gnrale,
la phase d'essais en plate-forme consiste valider le systme d'automatisme dans un
environnement provisoire.
Mise en route : Cette phase finale d'intgration et de mise en route sur le site
comprend les essais et la mise en service des diffrents organes de puissance et de commande
associe ainsi que la mise en service globale de l'installation.
193
194
195
9.2. PROGRAMMATION
9.2.1. STRUCTURATION DES PROGRAMMES ET DES DONNEES
Au paragraphe 6.4., on a dj expliqu l'importance de la structuration au niveau du
dveloppement, de la mise au point et de la rutilisabilit des programmes. Tout logiciel
d'automate doit ainsi pouvoir tre dcompos en une hirarchie de modules reprsentant des
entits de traitement cohrentes, que ce soit d'un point de vue fonctionnel (dcomposition
d'une fonction complexe en sous-fonctions plus simples) ou d'un point de vue topologique
(commande de sous-ensembles du processus) ou des deux la fois.
Ces modules doivent pouvoir tre manipuls sparment mais doivent aussi pouvoir tre
archivs et, restaurs globalement, avec toutes leurs liaisons, sous un nom gnrique
d'application.
196
Variables symboliques
Commentaires
menus droulants et aide en ligne qui vitent de devoir mmoriser une multitude de
commandes d'dition
Cependant, ces mmes utilisateurs souhaitent aussi conserver les cts positifs des
anciennes consoles de programmation spcialises, savoir la vrification immdiate de la
197
syntaxe, voire mme la possibilit de programmer ON-LINE, avec toutes les scurits que cela
implique (cf. paragraphe 9.2.5.)
198
points d'arrt : le programmeur place des points d'arrt des endroits du programme qui
l'intressent particulirement. Arriv ces points, l'automate s'arrte, permettant
l'utilisateur d'analyser son aise l'tat des variables.
pas pas : le programme s'excute ici instruction par instruction sous le contrle du
programmeur.
9.3.4. SIMULATION
La possibilit de forcer les entres et d'observer les sorties sans que celles-ci n'agissent
sur le processus (inhibition) constitue dj une manire de test en simulation.
Certains systmes de dveloppement permettent de faire ce genre de test compltement
OFF-LINE, c'est--dire sans que la console ne soit raccorde l'automate. Dans la foule, la
convivialit des manipulations et des observations a t amliore. On retrouve, par exemple,
l'cran l'image raliste de voyants lumineux (pour les sorties) et de boutons poussoirs (pour
les entres) sur lesquels il suffit de cliquer avec la souris pour en changer l'tat logique
(ISAGRAF).
Remarquons cependant que la procdure dcrite ici diffre totalement des techniques
de test qui seront prsentes dans le tome 2 des prsentes notes. Dans ce dernier cas, en effet,
199
la partie oprative (c'est--dire le processus) est mule par un PC avec sa dynamique propre
et tout se passe ds lors comme si l'automate travaillait effectivement sur le processus.
Dans le cas prsent, c'est l'utilisateur lui-mme qui doit reproduire les ractions du
processus en actionnant les entres au vu de l'tat des sorties.
On comprend bien qu'on ne puisse aller fort loin en complexit avec la mthode de simulation
prsente dans ce paragraphe.
Dfinitions communes
Dfinitions globales
Dfinitions locales pour chaque programme
Variables globales
Variables locales pour chaque programme
Paramtres de l'application
Cblage des E/S
Listes de variables
Tables de conversion
Rfrences croises - reprsentation condense
Rfrences croises - reprsentation dtaille
Rsum des dclarations
Carte d'adressage "rseau" des variables
200