Vous êtes sur la page 1sur 206

UNIVERSITE DE LIEGE

Facult des Sciences Appliques

LES AUTOMATES PROGRAMMABLES


Tome I
Caractristiques et mthodologie
de programmation

Dr. Ir. H. LECOCQ


Professeur

Dernires mises jour 2005

Table des matires

Chapitre 1
INTRODUCTION ..................................................................................................................... 1
1.1.

CONTEXTE INDUSTRIEL .........................................................................................................................1

1.2.

LES NOUVELLES REGLES DE PRODUCTION.........................................................................................2

1.3.

ARCHITECTURE INFORMATIQUE INTEGREE ........................................................................................6

1.4.

LES AUTOMATES PROGRAMMABLES ................................................................................................10


1.4.1.
Historique.............................................................................................................................11
1.4.2.
Impact des PC ...................................................................................................................13
1.4.3.
Normalisation......................................................................................................................13
1.4.4.
Tendances du march .....................................................................................................15

Chapitre 2
STRUCTURE DES AUTOMATES PROGRAMMABLES ..................................................... 17
2.1.

ROLE D'UN AUTOMATE.......................................................................................................................17

2.2.

PRINCIPE DE LA LOGIQUE PROGRAMMEE......................................................................................17


2.2.1.
Logique cble .................................................................................................................18
2.2.2.
Logique programme ......................................................................................................18

2.3.

PRINCIPE DE L'AUTOMATE PROGRAMMABLE .................................................................................21


2.3.1.
Unit logique ......................................................................................................................21
2.3.2.
Accumulateur logique .....................................................................................................21
2.3.3.
Unit de commande ........................................................................................................21
2.3.4.
Format des instructions .....................................................................................................23
2.3.5.
Organisation du cycle d'un automate ..........................................................................24
2.3.6.
Langage et console de programmation ......................................................................26

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.

LES AUTOMATES PROGRAMMABLES VIRTUELS (SOFT PLC)..............................................................33

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.

PRINCIPES D'ORGANISATION ...........................................................................................................38


3.2.1.
Solution intgre................................................................................................................38

3.2.2.
3.2.3.

Priphries dportes .......................................................................................................38


Rseaux de capteurs et actuateurs...............................................................................38

3.3.

CONDITIONNEMENT DES ENTREES/SORTIES LOGIQUES .................................................................40


3.3.1.
Entres logiques .................................................................................................................40
3.3.2.
Sorties logiques...................................................................................................................40
3.3.3.
Mesures de scurit ..........................................................................................................43

3.4.

CONDITIONNEMENT DES ENTREES/SORTIES ANALOGIQUES.........................................................43


3.4.1.
Principe des convertisseurs ..............................................................................................43
3.4.2.
Entres analogiques..........................................................................................................47
3.4.3.
Sorties analogiques ...........................................................................................................50
3.4.4.
Mesures de scurit ..........................................................................................................50

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.

PROBLEMES DE NATURE COMBINATOIRE ........................................................................................55


4.2.1.
Mode de reprsentation ..................................................................................................55
4.2.2.
Programmation ..................................................................................................................55
4.2.3.
Excution ............................................................................................................................57

4.3.

PROBLEMES DE NATURE SEQUENTIELLE ............................................................................................59


4.3.1.
Conception ........................................................................................................................59
4.3.2.
Programmation ..................................................................................................................61

4.4.

LANGAGES SEQUENTIELS ..................................................................................................................64


4.4.1.
Extension du langage combinatoire..............................................................................64
4.4.2.
Langage GRAFCET ............................................................................................................64

4.5.

EXECUTION SEQUENTIELLE.................................................................................................................65

Chapitre 5
FONCTIONS SPECIALES..................................................................................................... 67
5.1.

INTRODUCTION ..................................................................................................................................67

5.2.

EXTENSION DE LA LOGIQUE DE BASE ...............................................................................................67


5.2.1.
Temporisation .....................................................................................................................67
5.2.2.
Comptage..........................................................................................................................67
5.2.3.
Diffrentiateurs ...................................................................................................................69

5.3.

FONCTIONS DE SEQUENCEMENT .....................................................................................................69

5.4.

FONCTIONS D'ORGANISATION DU CYCLE......................................................................................69


5.4.1.
Branchements et rptitions............................................................................................70
5.4.2.
Sous-routines.......................................................................................................................70
5.4.3.
Interruptions ........................................................................................................................71
5.4.4.
Remarque ...........................................................................................................................72

5.5.

OPERATIONS SUR MOTS .....................................................................................................................72

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.

Oprations matricielles .....................................................................................................73


Edition de texte..................................................................................................................74
Pile FIFO (First In First Out)..................................................................................................74

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.

COMMANDE D'AXE ...........................................................................................................................79


5.8.1.
Principe de fonctionnement ...........................................................................................81
5.8.2.
Programmation ..................................................................................................................81
5.8.3.
Terminal d'exploitation......................................................................................................83

Chapitre 6
GRAFCET ou SFC .................................................................................................................. 85
6.1.

PRINCIPES GENERAUX .......................................................................................................................85


6.1.1.
Historique.............................................................................................................................85
6.1.2.
Approche progressive du cahier des charges de la partie commande ................86
6.1.3.
Exemple introductif ...........................................................................................................87

6.2.

ELEMENTS DE BASE DU GRAFCET ......................................................................................................94


6.2.1.
Etape ...................................................................................................................................94
6.2.2.
Transitions ............................................................................................................................95
6.2.3.
Liaisons orientes ...............................................................................................................96
6.2.4.
Rgles d'volution .............................................................................................................97
6.2.5.
Reprsentation des squences multiples......................................................................99

6.3.

ELEMENTS COMPLEMENTAIRES DU GRAFCET ...............................................................................103


6.3.1.
Variables d'tape ............................................................................................................103
6.3.2.
Types d'action ..................................................................................................................104
6.3.3.
Nature des actions ..........................................................................................................107

6.4.

STRUCTURATION D'UN GRAFCET ....................................................................................................107


6.4.1.
Utilisation des outils standards du GRAFCET................................................................109
6.4.2.
Utilisation d'actions GRAFCET ........................................................................................111
6.4.3.
Syntaxes spcifiques .......................................................................................................111
6.4.4.
Utilisation du principe "client-serveur"...........................................................................112

6.5.

SYNCHRONISATION ET PROTECTION .............................................................................................113


6.5.1.
Synchronisation ................................................................................................................113
6.5.2.
Protection de ressources communes...........................................................................116

6.6.

TRANSPOSITION DU GRAFCET DANS UN LANGAGE AUTOMATE ................................................121


6.6.1.
Principes de la transposition ..........................................................................................121
6.6.2.
Difficults potentielles .....................................................................................................122
6.6.3.
Organisation des programmes .....................................................................................126
6.6.4.
Principales mthodes de transposition ........................................................................130

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.

LES CONCEPTS DE BASE...................................................................................................................136

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.

LES ETATS DE MARCHES ET D'ARRETS ..............................................................................................141


7.3.1.
Un "rectangle-tat" type ................................................................................................141
7.3.2.
Utilisation d'un "rectangle-tat".....................................................................................141
7.3.3.
Les tats "f " .......................................................................................................................142
7.3.4.
Les tats "a "......................................................................................................................143
7.3.5.
Les tats "d "......................................................................................................................143
7.3.6.
Exemples d'utilisation du gemma .................................................................................146

7.4.

METHODE DE MISE EN UVRE........................................................................................................157


7.4.1.
Utilisation du GEMMA pour l'tude d'une machine de production automatise157
7.4.2.
Slection des Modes de Marches et d'Arrts .............................................................157
7.4.3.
Conditions d'volution entre Modes de Marches et d'Arrts ..................................159
7.4.4.
Conclusion ........................................................................................................................160
7.4.5.
Cas particulier : machines ncessitant l'intervention d'un oprateur chaque
cycle ..................................................................................................................................160

7.5.

PROGRAMMATION ..........................................................................................................................161
7.5.1.
Enrichissement du GRAFCET de BASE...........................................................................161
7.5.2.
Dcoupage en tches...................................................................................................163

7.6.

TRAITEMENT DES ARRETS D'URGENCE ............................................................................................166


7.6.1.
Problmes .........................................................................................................................166
7.6.2.
Solutions pragmatiques ..................................................................................................166

7.7.

LIMITES ET EXTENSIONS POSSIBLES...................................................................................................169


7.7.1.
Unicit du mode : pourquoi ? .......................................................................................169
7.7.2.
Comment utiliser le GEMMA lorsqu'il n'y a plus unicit du mode ? ........................169

Chapitre 8
NORMALISATION DES LANGAGES DE PROGRAMMATION....................................... 171
8.1.

CONCEPTS DE BASE .........................................................................................................................171

8.2.

MODELE LOGICIEL D'UN AUTOMATE PROGRAMMABLE .............................................................172


8.2.1.
Elments de configuration.............................................................................................172
8.2.2.
Units d'organisation de programmes.........................................................................172
8.2.3.
Donnes et variables ......................................................................................................175
8.2.4.
Textes et libells ...............................................................................................................180

8.3.

LE LANGAGE A LISTE D'INSTRUCTIONS IL........................................................................................182

8.4.

LE LANGAGE LITTTERAL STRUCTURE ST............................................................................................183

8.5.

LES LANGAGES GRAPHIQUES .........................................................................................................185


8.5.1.
Langages contacts LD ................................................................................................187
8.5.2.
Langage en blocs fonctionnels FBD.............................................................................189

8.6.

FONCTIONS ET BLOCS FONCTIONNELS STANDARDS ...................................................................189


8.6.1.
Fonctions standards ........................................................................................................190
8.6.2.
Blocs fonctionnels standards .........................................................................................191

IV

Chapitre 9
OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES ....................................... 192
9.1.

CONCEPT D'ATELIER DE GENIE LOGICIEL......................................................................................192


9.1.1.
Cycle de vie d'un systme automatis .......................................................................192
9.1.2.
Le poste de travail de l'automaticien..........................................................................194
9.1.3.
Etat des ralisations.........................................................................................................195

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.

AIDE A LA MISE AU POINT DES PROGRAMMES .............................................................................198


9.3.1.
Visualisation dynamique.................................................................................................198
9.3.2.
Modes d'excution .........................................................................................................199
9.3.3.
Forage de variables......................................................................................................199
9.3.4.
Simulation..........................................................................................................................199

9.4.

GENERATION DU DOSSIER TECHNIQUE..........................................................................................200

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Chapitre 1
INTRODUCTION

1.1. CONTEXTE INDUSTRIEL


Du point de vue de la gestion et de l'automatisation, on classe gnralement les
entreprises industrielles en deux grandes catgories : les entreprises de procds continus
(process industries) et les entreprises manufacturires (manufacturing industries).
Dans les premires, la production est dcrite en termes de dbits de matires. C'est
typiquement le cas des usines physico-chimiques et ptrochimiques. Le processus de
production y est gnralement caractris par une squence de ractions physico-chimiques se
droulant de manire continue ou quasi-continue. Il est clair que, dans ce type d'entreprise, la
production est strictement fige, tant du point de vue de la nature des produits que du point
de vue de l'outil de production.
Dans les secondes, qualifies de discontinues ou de discrtes, on fabrique des "objets"
dnombrables qui peuvent videmment tre de complexit trs diverse. Les industries
mcaniques, lectriques et lectroniques appartiennent cette catgorie. Le processus de
production se prsente en gnral ici comme une succession d'oprations de mise en forme et
d'assemblage ralises manuellement ou l'aide de machines.
La suite de l'expos sera principalement consacre cette seconde catgorie
d'entreprises. Bien entendu, certaines des notions qui seront prsentes ci-aprs sont
galement applicables la premire catgorie.
C'est l'volution du march qui explique les problmes rencontrs actuellement par les
entreprises manufacturires, surtout par celles qui s'adressent au grand public. Il y a peu de
temps encore, le march se caractrisait par le fait que le producteur tait roi. Il y avait peu
de concurrence et peu de produits. Le consommateur n'tait pas difficile et achetait ce qui
tait disponible.
Qu'on se rappelle la Ford T du dbut du sicle qui fut produite un million
d'exemplaires par an pendant seize ans ! C'est pour ce genre de production que Taylor avait
dvelopp sa philosophie : spcialisation des quipements et spcialisation du personnel qui
on ne demandait que des travaux lmentaires et rptitifs.
Actuellement, le march se caractrise plutt par le fait que le client est devenu roi.
La concurrence s'est considrablement accrue et mondialise, rendant le consommateur plus
difficile et beaucoup plus critique, notamment au niveau de la qualit des produits. Le cycle
de vie des produits s'est galement considrablement raccourci : trois quatre ans pour une
automobile, parfois beaucoup moins pour un ordinateur. En termes de production, cela
signifie une grande varit de produits cycle de vie trs court et en petites sries. Cette
situation peut tre rsume par le diagramme de la figure 1.1.
Des 30 % reprsents par la production manufacturire dans l'activit industrielle
globale, 40 % concernent une production par lot et seulement 15% une production de masse.
Des 40 % de production par lot, 75 % concernent des lots de moins de 50 pices !

Chapitre 1 INTRODUCTION

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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 %

Taille des lots < 50


PRODUCTION PAR LOTS

75 %

Figure 1.1. Position et structure de la production manufacturire

1.2. LES NOUVELLES REGLES DE PRODUCTION


Les nouvelles rgles de production qui rpondent la question peuvent tre rsumes,
de manire image, par cinq zros : zro dfaut, zro panne, zro stock, zro dlai et zro
papier. La signification des quatre premiers zros est claire; le cinquime indique la volont
de supprimer la paperasse qui alourdit trop souvent le travail du personnel et est cause de
nombreuses erreurs. Idalement, on devrait d'ailleurs encore y ajouter deux zros : zro
accident et zro problme social.
Plus techniquement, ces nouvelles rgles de production relvent d'une philosophie
appele "Juste--Temps" (Just-in-Time ou JIT en anglais) aussi connue sous le nom de
"production flux tendus" [Branger, 1987].
Il s'agit d'un principe d'organisation industrielle, apparu au dbut des annes 80, qui
prconise d'acheter ou de produire seulement ce dont on a besoin, quand on en a besoin.
Ceci devant tre respect aussi bien au niveau des produits finis (ne fabriquer que ce qui est
command) qu'au niveau des pices constitutives de ces produits.
Le premier rsultat en est videmment une rduction drastique des stocks, et partant,
une diminution sensible des charges financires de l'entreprise. Il ne s'agit cependant pas l
du but principal recherch. En ralit, la rduction des stocks n'est que l'amorce d'une
raction en chane qui conduit des bouleversements en profondeur du fonctionnement de
l'entreprise.
En effet, pour produire sans stock tout en garantissant des dlais de livraison normaux,
il est ncessaire d'avoir des temps de fabrication trs courts, une grande flexibilit pour
pouvoir suivre la demande (en varit et en quantit) et une haute fiabilit de production afin
d'viter les alas.

Chapitre 1 INTRODUCTION

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Au niveau de l'organisation de la production, cela implique :

la division de l'usine en cellules permettant l'enchanement rapide des oprations


concernant une mme pice ou un mme produit de manire viter les stockages
intermdiaires;

la limitation des dplacements acclrant le travail et facilitant le suivi de production;

la flexibilit des cellules en question : changement rapide d'outils et de programmes de


fabrication;

le contrle et la matrise de la qualit chaque tape de la fabrication afin de ne pas


enrayer le processus;

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;

la polyvalence et l'augmentation de la qualification des oprateurs qui deviennent


responsables de la quantit et de la qualit des pices ou produits fabriqus, voire mme
du bon fonctionnement des machines;

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.

Remarquons que, jusqu' prsent, il n'a encore t question ni d'automatisation ni


d'informatisation. C'est qu'en effet la philosophie du Juste--Temps concerne avant tout
l'organisation de la production.
Il faut en effet considrer la production comme une chane dont les maillons doivent
tous tre de mme rsistance : il ne sert en effet rien, globalement, de renforcer l'extrme
certains maillons, s'il en est d'autres qui demeurent fragiles.
Une saine dmarche consistera donc analyser les flux de matires et d'informations
associs au processus de production, les rationaliser et les simplifier au maximum dans
l'optique du Juste--Temps.
Ce n'est qu'alors, et alors seulement, que l'opportunit
d'automatiser ou d'informatiser telle ou telle partie du processus apparatra clairement.
En l'occurrence, l'automatisation permettra d'acclrer la fabrication et/ou de garantir
la constance de la qualit. Pour les raisons qui ont t exposes ci-dessus, l'automatisation
devra tre flexible. Cette flexibilit doit se traduire au niveau de la structure des machines
qui seront aussi polyvalentes et adaptatives que possible, avec une gestion d'outils et une
alimentation en pices compltement automatises.
A cet gard, le robot apparat
videmment comma la machine flexible par excellence.
Cette flexibilit doit aussi se retrouver au niveau du systme de commande des
machines dont les modes de fonctionnement devront pouvoir tre facilement modifis. Ce
dernier point ne pose plus actuellement de rel problme dans la mesure o pratiquement
toutes les nouvelles machines de production sont commandes par des dispositifs base de
microprocesseurs, avec programme enregistr. De plus, des portes de communication existent
presque toujours qui permettent de tlcharger et de modifier les programmes partir
d'autres ordinateurs.

Chapitre 1 INTRODUCTION

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

L'informatisation, quant elle, a pour but d'amliorer la manipulation des


informations relatives au processus de production.
Ces informations concernent non
seulement la fabrication proprement dite mais aussi la conception des produits, la gestion
technique, financire et administrative de l'usine, le management, le marketing, ...
Ces diffrentes facettes de la production ont dj fait, de longue date, l'objet de
dveloppements informatiques spcifiques. Cependant, dans la plupart des cas, ceux-ci ont
t mens indpendamment les uns des autres. Il en rsulte que d'importants flux
d'informations continuent de circuler par la voie manuelle (papiers, plans, rencodage, etc.)
tandis que des informations similaires se retrouvent dans des bases de donnes diffrentes,
avec tous les risques d'incohrence que cela comporte.
Les nouvelles rgles de production voques dans ce paragraphe (et en particulier le
"zro papier") conduisent tout naturellement prconiser l'intgration des moyens
informatiques d'une entreprise.
Le terme intgration recouvre ici non seulement
l'interconnexion physique des ordinateurs par des rseaux de communication mais aussi, et
surtout, leur interconnexion logique.
On entend par l que le systme informatique distribu initial apparat l'utilisateur
comme un systme informatique centralis et homogne; les effets recherchs tant
essentiellement l'unicit et la disponibilit des informations. En d'autres termes, l'intgration
offre chacun l'accs direct l'information voulue, au moment voulu et l'endroit voulu.
Dans ce contexte d'automatisation et d'informatisation de la production on trouve, dans
la littrature, un nombre impressionnant de nouvelles expressions et de nouveaux sigles.
Nous tenterons ici d'expliciter les plus courants d'entre eux. Bien entendu, ceci sera fait sous
toutes rserves tant donn qu'aucune normalisation n'est encore disponible.
N.B. : Plusieurs de ces dfinitions sont tires de [Branger, 1987]
AGV

(Automated Guided Vehicle)


Voir VGA

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

(Computer Aided Design)


Voir CAO

CAM (Computer Aided Manufacturing)


Voir FAO
CAO

(Conception Assiste par Ordinateur)


Voir CAD
Programme d'aide la conception de pices ou d'assemblages comprenant des fonctions
de calculs, de manipulations gomtriques (en 2 ou 3 dimensions) et de dessin.

Chapitre 1 INTRODUCTION

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

(Computer Integrated Manufacturing)


Voir PRODUCTIQUE
Production intgralement informatise. Concept cl de l'usine du futur o toutes les
tches de la commande des produits leur expdition, en incluant la conception, la
fabrication, le stockage, la manutention, ainsi que le contrle qualit et la maintenance
des machines sont gres et contrles par un systme informatique intgr compos
d'ordinateurs interconnects par rseau de communication.

CNC (Computer Numerical Control)


Voir MOCN
DAO (Dessin Assist par Ordinateur)
Programme de dessin remplaant la planche dessin traditionnelle par une planche
dessin lectronique constitu d'un cran d'ordinateur.
FAO

(Fabrication Assiste par Ordinateur)


Voir CAM
Programme qui assure la conversion directe des plans (crs par la CAO ou la DAO) en
tches de fabrication pour machines-outils diriges par ordinateur. La FAO permet en
gnral aussi de simuler le travail des machines-outils.

FMS (Flexible Manufacturing System)


Voir CELLULE FLEXIBLE
GPAO (Gestion de Production Assiste par Ordinateur)
Voir PPS
Programme assurant la planification de la production et des approvisionnements d'une
usine partir des donnes commerciales (prvisions de vente, commandes fermes), des
niveaux de stocks et d'informations concernant la structure des produits et leur
mthode de fabrication.
MAGASIN AUTOMATISE
Dispositif de stockage automatis pilot par ordinateur. L'ordinateur gre le contenu
du magasin, les emplacements physiques, les dplacements des chariots automatiss
qui effectuent les entres, les sorties et les mouvements des conteneurs ou palettes
dans le magasin.
MOCN (Machine-Outil Commande Numrique)
Voir CNC
Machine-outil dont l'enchanement des tches, y compris les changements d'outils, est
programm et s'effectue sous le contrle d'un ordinateur. La MOCN peut donc

Chapitre 1 INTRODUCTION

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

fonctionner sans l'intervention permanente d'un oprateur, dont le rle se limite au


chargement et au dchargement de la machine. Les MOCN sont le plus frquemment
des tours, des fraiseuses, des perceuses, des scies et autres machines de dcoupe.
PPS (Introduction Planning System)
Voir GPAO
PRODUCTIQUE
Voir CIM.
Le terme "PRODUCTIQUE" est pratiquement l'quivalent franais du terme CIM.
Tout au plus pourrait-on trouver au CIM une connotation informatique dominante
tandis que la PRODUCTIQUE serait plutt centre sur le processus de production
proprement dit.
VGA

(Vhicule Guid Automatis)


Voir AGV
Vhicule sur roues, sans conducteur, command distance. Le guidage se fait
gnralement par un rseau de fils implants dans le sol. Les VGA sont utiliss pour
transporter des pices ou des composants dans une usine.

1.3. ARCHITECTURE INFORMATIQUE INTEGREE


La figure 1.2 montre une architecture informatique intgre conforme aux ides
actuellement en vigueur.
Une usine est gnralement divise en ateliers responsables de la fabrication d'un
produit ou d'une gamme de produits de mme famille. L'atelier, son tour, est compos de
cellules de production qui regroupent des machines fortement interactives.
Les machines de production modernes (CNC, robots, etc) sont pratiquement toutes
commandes par des dispositifs microprocesseurs nots gnriquement UCP (unit de
commande programmable) sur la figure 1.2. Ces units commandent les machines par
l'intermdiaire d'actuateurs (contacteurs, vannes, etc.) sur base d'informations fournies par
des capteurs (dtecteurs de fin de course, codeurs de position, thermocouples, etc). A noter
que les units en question sont souvent incluses dans les machines, parfois l'insu des
utilisateurs d'ailleurs.
Les units de commande peuvent changer entre elles des informations par leurs
entres/sorties. Celles-ci sont cependant destines, avant tout, tre relies des capteurs et
des actuateurs. Les communications que l'on peut raliser par ce moyen sont donc assez
limites; on les rserve des fonctions vitales de protection et de synchronisation.
La supervision et la gestion de la cellule ncessite des changes d'informations bien
plus labors qui ne peuvent se concevoir que par l'intermdiaire de rseaux de
communication. Ceci ne pose en principe aucun problme technique puisque les units de
commande sont base de microprocesseurs et que les informations changer sont donc de
nature informatique.

Chapitre 1 INTRODUCTION

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

UCP : unit de commande programmable


Figure 1.2. Le concept CIM d'automatisation et d'informatisation de la production
C'est galement par rseau que des communications pourront tre tablies avec les
ordinateurs de gestion d'atelier et, un niveau fonctionnel plus lev, avec le bureau d'tudes
et le dpartement de gestion de production.
Plutt que d'utiliser un seul rseau pour toutes ces communications, la tendance est
actuellement de hirarchiser les rseaux comme cela est montr la figure 1.2. Les raisons
sont d'ordre technique et conomique. Il est bien clair, en effet, que, selon le niveau o l'on se
situe, les performances demandes au systme de communication seront sensiblement
diffrentes, tant en ce qui concerne le dbit d'information qu'en ce qui concerne l'immunit aux
parasites industriels.

Chapitre 1 INTRODUCTION

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

C'est ainsi que l'on distingue en gros cinq niveaux :

le niveau processus : c'est un niveau, apparu assez rcemment, o l'on se propose de


remplacer le cblage fil fil, traditionnellement utilis pour le raccordement des capteurs
et actuateurs aux entres et sorties des contrleurs, par une liaison de type srie (paire
tlphonique, fibre optique, ...). Le but est essentiellement, ici, de rduire le volume du
cblage qui reprsente toujours un poste main d'oeuvre important, l'installation comme
la maintenance.
Ce type de rseau, appel FIELDBUS ou BUS de terrain, fait actuellement l'objet de
travaux de standardisation.

le niveau cellule : ce niveau, on utilise des systmes de communication simples et


robustes, parfois limits des liaisons point point (cfr cellule de droite de la figure 1.2).
Par ailleurs, dans le cadre restreint d'une cellule, les units programmables sont souvent
de mme type et l'on peut alors utiliser les rseaux proposs par les constructeurs des
units eux-mmes.
Si ces solutions ne conviennent pas, il faudra alors recourir aux rseaux "ouverts"
normalement prvus pour le niveau atelier.

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 usine : tout comme le prcdent, ce niveau va devoir mettre en communication


des systmes informatiques htrognes.
On se trouve cependant ici dans un
environnement bureautique beaucoup moins svre que celui d'un atelier, si bien que des
rseaux du type ETHERNET s'y trouveront tout fait leur place.
Des efforts sont galement mens, ce niveau, pour arriver, au dpart d'ETHERNET,
un standard international : il s'agit du protocole TOP (Technical Office Protocol).

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

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

1.4. LES AUTOMATES PROGRAMMABLES


Comme annonc au paragraphe prcdent, les machines de productions modernes sont
pratiquement toutes commandes par des systmes programmables (les UCP de la figure 1.2).
Cela signifie que le fonctionnement de ce type de machine est compltement rgi par un
programme constitu d'une suite d'instructions stockes dans une mmoire. Ces instructions
sont excutes squentiellement par un processeur central unique qui a accs tous les
capteurs et actuateurs de la machine.
L'intrt des systmes programmables est double :

la simplicit d'abord car, avec un mme matriel de commande, il devient possible de


traiter une varit d'applications qui, autrement, auraient chaque fois requis des
matriels diffrents;

la flexibilit ensuite car le changement du mode de fonctionnement de la machine


commande s'obtient par simple modification du programme enregistr en mmoire.

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.

Les rgulateurs PID programmables constituent un autre exemple d'UCP abondamment


utilises dans l'industrie mais, cette fois, dans le domaine des processus continus.
Les restrictions progressives de gnralit expliques ci-dessus sont obtenues en
interposant des couches logicielles de plus en plus "paisses" entre le microprocesseur de base
et le programmeur d'application comme cela est symbolis la figure 1.3.
L'effet recherch est videmment une rduction concomitante de la difficult de
programmation et, partant, du niveau de qualification requis pour le dveloppement, le test et
la maintenance des programmes. Ainsi, la programmation d'un micro-ordinateur fera en
principe appel des spcialistes en informatique industrielle.
Par contre, ce sont
normalement les automaticiens d'usine qui programmeront les automates programmables.

Chapitre 1 INTRODUCTION

10

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 1.3. Les diffrents types d'units de commande programmables

1.4.1. HISTORIQUE

Chapitre 1 INTRODUCTION

11

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

1.4.2. IMPACT DES PC


Le monde des automates programmables n'a pas t long tirer profit des possibilits
nouvelles offertes par l'avnement des micro-ordinateurs de type PC.
D'un ct, en effet, les PC, par l'intermdiaire des rseaux de communications voqus
ci-dessus, permettent de raliser des systmes de supervision d'automates programmables
trs sophistiqus (synoptiques couleur, animations, historiques, etc) des prix tout fait
abordables. Certains constructeurs d'automates ont dvelopp leurs propres logiciels de
supervision. D'autres se sont rallis des logiciels "ouverts" conus par des tiers pour
diffrentes marques d'automates.
D'un autre ct, les PC et leurs formidables capacits de traitement sont de plus en
plus utiliss, actuellement comme support de programmation, en remplacement des anciennes
consoles spcialises. Graphismes, documentation, archivage, tests dynamiques, etc, autant
de possibilits nouvelles qui accroissent significativement le confort du programmeur.
La mixit des langages est un corollaire particulirement spectaculaire de cette
volution : sur certains automates, il est maintenant possible d'utiliser conjointement, dans un
mme programme, diffrents langages de programmation (relais, littral, fonctionnel) avec
traduction automatique des uns vers les autres; de quoi satisfaire les desiderata de chacun.
La figure 1.4. en montre un exemple concret.
On a mme vu apparatre des "ateliers de gnie logiciel" universels, offrant toutes les
facilits numres ci-dessus mais sans rfrence un type particulier d'automate.
Ce n'est que lorsque le dveloppement de l'application est termin que, par le jeu d'un
postprocesseur appropri, le programme est traduit dans le langage de l'automate cible.
Une traduction en sens inverse existe galement pour la mise au point et les tests.
Avec de tels ateliers logiciels, il devient donc en principe possible d'utiliser une varit
d'automates de marques diffrentes au travers d'une mthodologie unique de programmation.

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

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a. Relais

b. Blocs fonctionnels

c. Liste d'instructions

Figure 1.4. Exemple de mixit des langages de programmation

Chapitre 1 INTRODUCTION

14

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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 :

CEI 1131-1 (1992) : informations gnrales


CEI 1131-2 (1992) : spcifications et essais des quipements
CEI 1131-3 (1993) : langages de programmation
CEI 1131-4 ( l'tude) : recommandations l'utilisateur
CEI 1131-5 ( l'tude) : spcification service de messagerie

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.

1.4.4. TENDANCES DU MARCHE


Au dbut des annes 80, on dnombrait sur le march belge pas moins de 130 modles
d'automates proposs par une vingtaine de constructeurs [LECOCQ et al., 1983]
Le march s'est depuis lors fortement dcant et il ne reste plus gure actuellement
qu'une demi-douzaine de constructeurs en prsence. C'est qu'en effet l'utilisateur, dans le
choix d'un automate, privilgie de plus en plus aujourd'hui la "solidit" du constructeur et la
qualit de sa reprsentation locale (service aprs-vente notamment).
A ct de ces constructeurs d'automates patents, la normalisation mentionne au
paragraphe prcdent ouvre le march du contrle industriel de nouveaux acteurs.
En premier lieu, elle conforte la position des dveloppeurs d'ateliers logiciels ouverts,
qui disposent maintenant d'une base de travail solide universellement reconnue. La
diffrence est essentielle car, auparavant, ces dveloppeurs devaient inventer eux-mmes une
mthodologie de programmation et essayer de la faire accepter par leurs clients potentiels,
avec tous les risques que cela supposait pour ces derniers en cas de disparition des
concepteurs de l'atelier.
Par ailleurs, si la cible principale de ces ateliers logiciels reste bien entendu les
automates classiques, rien n'empche cependant ces ateliers de gnrer du code pour des
calculateurs universels, transformant ceux-ci en vritables automates.
S'il s'agit de calculateurs industriels, ils disposeront d'emble de la priphrie
industrielle ncessaire la liaison avec le processus.

Chapitre 1 INTRODUCTION

15

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Dans le cas contraire, on pourra s'appuyer sur la normalisation en matire de


communication et piloter des blocs d'entres/sorties dportes d'automates par le truchement
de rseaux ouverts (FIP ou PROFIBUS par exemple).
L'intrt de cette solution est que les calculateurs universels sont gnralement
pourvus d'une priphrie standard (disques, crans, etc.) et d'excutifs temps rel multitches.
Ceci permet d'associer harmonieusement des fonctions d'automatismes classiques et des
fonctions plus spcifiques programmes en langages informatiques comme cela est ncessaire
dans beaucoup d'applications pratiques.

Chapitre 1 INTRODUCTION

16

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Loi de commande logique

OPERATEUR
Figure 2.1. Le contrle logique d'un processus

2.2. PRINCIPE DE LA LOGIQUE PROGRAMMEE

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

17

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

2.2.1. LOGIQUE CABLEE


En logique cble, la loi de contrle voque ci-dessus est ralise en interconnectant
judicieusement des oprateurs matriels ralisant des fonctions logiques de base. Suivant la
technologie adopte, il peut s'agir d'oprateurs fluidiques (interconnects par tuyauteries), de
relais lectromagntiques ou de relais statiques (interconnects par fil).
Comme on sait, le nombre de types d'oprateurs ncessaires pour raliser l'ensemble
des fonctions logiques possibles peut tre trs rduit. Par exemple, les familles d'oprateurs
suivantes : [AND, OR, NOT], [porte NAND], [porte NOR], [relais normalement ouvert, relais
normalement ferm] permettent, chacune, de raliser n'importe quelle fonction logique.
Bien entendu, la disposition d'oprateurs supplmentaires (bistables, compteurs, etc.),
si elle n'est pas thoriquement ncessaire, est de nature simplifier considrablement la
ralisation d'une fonction logique donne.
Pour fixer les ides, on considre, la figure 2.2., l'exemple d'une fonction logique
combinatoire suppose ralise de manire cble l'aide d'oprateurs AND, OR, NOT et de
relais lectromagntiques.
En extrapolant cet exemple, on peut aisment comprendre les problmes poss par la
logique cble :
le volume de matriel est directement proportionnel la complexit de la fonction
ralise;
la fonction en question est physiquement inscrite dans le cblage et donc
particulirement difficile modifier, que ce soit en phase de mise au point ou lors
d'extensions ultrieures du processus.
Par contre, la logique cble prsente un certain nombre d'avantages par rapport la
logique programme dfinie ci-aprs.
En particulier, la vitesse de traitement ne dpend pas de la complexit du problme puisque
tous les lments logiques travaillent en parallle. Pour les relais statiques, cette vitesse peut
d'ailleurs tre trs leve.
D'autre part, les relais lectromagntiques permettent d'attaquer les tages de puissances
(contacteurs par exemple) sans changer de technologie.

2.2.2. LOGIQUE PROGRAMMEE


L'ide de la logique programme est de n'utiliser qu'un seul jeu d'oprateurs de base
(qui portera le nom d'unit logique). Pour raliser une fonction logique donne, telle celle
prsente la figure 2.2., on emploiera ce jeu unique pour calculer successivement les
diffrents termes de la fonction et les combiner de manire arriver ainsi, de proche en
proche, au rsultat cherch.
On travaille donc en quelque sorte ici par "balayage". Il est clair que si ce balayage est
rpt une cadence suffisamment rapide par rapport la dynamique des signaux (et c'est
videmment une condition sine qua non), on aura l'impression d'un fonctionnement parallle
semblable celui de la logique cble.

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

18

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

En pratique, on essaye gnralement d'avoir des cadences de rptition du mme ordre


de grandeur que les temps de basculement des relais (de quelques ms quelques dizaines de
ms).
La manire dont le balayage en question doit tre effectu est dcrite par une suite
d'instructions stockes dans une mmoire et constituant ce que l'on appelle un programme.

Exemple de fonction logique combinatoire


O1 = ( I1 . I2 + I3 ) . ( I4 + I5 )
O1 := (( NOT I1 AND I2) OR I3) AND ( I4 OR I5)
Solution lectronique:
Oprateurs disponibles
x

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

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

19

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Exemple de fonction logique combinatoire


O1 = ( /I1 . I2 + I3 ) . ( I4 + I5 )
O1 := (( NOT I1 AND I2) OR I3) AND ( I4 OR I5)
Solution relais
Oprateurs disponibles

Relais normalement
ouvert

Ralisation de la fonction
I1

I2

I4

I3

I5

O1

-V

+V

Reprsentation symbolique
I1

I2

I4

I3

I5

O1

Figure 2.2. Logique cble

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

20

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

2.3. PRINCIPE DE L'AUTOMATE PROGRAMMABLE


La figure 2.3. montre comment les choses peuvent tre organises.

2.3.1. UNITE LOGIQUE


L'unit logique comporte les 3 oprateurs de base dcrits plus haut. Il lui est associ
une mmoire de donnes, constitue d'une batterie de bistables, appels bits, qui sera utilise
pour la ralisation de fonctions logiques squentielles ainsi que pour la mmorisation de
rsultats intermdiaires dont nous verrons la ncessit dans l'exemple ci-aprs.
Une srie de slecteurs symbolise la possibilit de mettre en communication les
oprateurs de l'unit logique avec les entres, les sorties et la mmoire de donnes. Bien
entendu, dans la ralit, tout se passe de manire lectronique.

2.3.2. ACCUMULATEUR LOGIQUE


On remarque aussi la prsence d'un accumulateur (ACCU) qui est une cellule de
mmoire particulire intervenant de manire privilgie dans les oprations de l'unit logique.
En effet, d'une part l'accumulateur constitue une oprande oblige pour les oprateurs AND et
OR et, d'autre part, le rsultat des oprations est systmatiquement obtenu dans cet
accumulateur.
Comme nous le comprendrons mieux ci-aprs, cette manire de faire conduit un
codage trs conomique (en place mmoire) des instructions puisque, des trois oprandes
intervenant normalement dans une opration (deux entres et une sortie), une seule doit tre
explicitement indique.

2.3.3. UNITE DE COMMANDE


La figure 2.3. montre encore comment le fonctionnement de l'ensemble est gr par
l'unit de commande de l'automate sous le contrle des instructions stockes dans la mmoire
de programme.
Les instructions sont amenes l'une aprs l'autre dans le registre d'instruction. Elles
sont dcodes et, en fonction des oprations qu'elles indiquent, l'unit de commande engendre
la squence d'ordres ncessaires leur excution.
Dans le symbolisme de la figure 2.3., ces ordres consistent en fait positionner les
diffrents slecteurs. L'excution squentielle et cyclique des instructions du programme est
figure par la prsence d'un contacteur rotatif. Ds que l'excution d'une instruction est
termine, l'unit de commande donne l'ordre au contacteur rotatif d'avancer d'un pas, afin de
slectionner l'instruction suivante et ainsi de suite, indfiniment.
On peut dj, ce stade, pressentir tout l'intrt de la logique programme par rapport
la logique cble :

le matriel est compltement banalis; la spcialisation chaque


application
particulire, se fait au niveau logiciel c'est--dire au niveau du programme enregistr
dans la mmoire. Il en rsulte une extrme souplesse pour la mise en oeuvre et les
modifications du systme, et une simplification apprciable de sa maintenance.

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

21

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

ENTREES

NOT

I1
I2
I3
I4
I5

M1
M2
M3

AND

OR

SORTIES
O1
O2
O3
O4
O5

ACCU
Mn
NOT
UNITE
LOGIQUE

Position des slecteurs

Avance
d'un pas

Instruction 1
Instruction 2
Instruction 3
Instruction 4

Dcodeur
Registre d'instruction

PROCESSEUR

Instruction m

Figure 2.3. Principe de l'automate programmable

la liaison entre le volume de matriel et la complexit des


fonctions ralises est
infiniment moindre que dans le cas cbl, puisqu'elle n'affecte plus ici que les interfaces
d'entres/sorties et la taille de la mmoire.

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

22

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

2.3.4. FORMAT DES INSTRUCTIONS


D'une manire gnrale, une instruction doit fournir l'unit de commande toutes les
indications ncessaires sur la nature de l'opration effectuer et sur l'oprande explicite qui y
intervient.
Il est clair qu'il s'agit l d'un contenu informatif dpassant largement le simple tout ou
rien. Pour le reprsenter dans la mmoire, il sera ds lors ncessaire d'utiliser un ensemble
de bits formant un mot. La mmoire de programme sera donc organise en mot comme
montr la figure 2.3.
La figure 2.4. montre l'exemple d'un format d'instruction utilisant des mots de 16 bits.
On y trouve un champ de 5 bits, destin prciser l'opration effectuer (code opratoire),
l'autre de 11 bits, destin contenir l'adresse de l'oprande.
Avec ce format, on peut donc coder un maximum de 25 = 32 oprations et on peut
adresser un maximum de 211 = 2048 (2 K) oprandes.
En pratique, on rserve souvent un bit du code opratoire pour indiquer si l'oprande doit tre
inverse ou non avant traitement. De mme, on considre souvent un sous-champ dans
l'adresse de l'oprande o l'on code le type de l'oprande considre. On a prvu, ici, deux bits
qui permettent de distinguer :
% I : les entres
% Q : les sorties
% M : les mmoires
On peut ainsi adresser 29 = 512 oprandes de chaque type. Remarquons que, si l'on
n'avait pas adopt une structure avec accumulateur pour le processeur de l'automate, il aurait
fallu, en principe, multiplier par 3 le champ d'adresse !
Sur la figure 2.4., on a galement indiqu le codage d'un jeu d'instructions plausibles
pour notre automate.
A ct des instructions relatives aux oprations logiques proprement dites (AND, OR),
on a d aussi prvoir une instruction pour charger une oprande (entre ou mmoire) dans
l'accumulateur (LD) et, rciproquement, une instruction (ST) pour ranger le contenu de
l'accumulateur une adresse donne (sortie ou mmoire).
Enfin, l'instruction RET, placer obligatoirement en bout de programme, indique
l'unit de commande du processeur que la squence d'instructions du programme a t
compltement balaye et qu'il y a lieu de relancer le cycle la premire instruction.
La figure 2.5. montre le programme correspondant la fonction logique de la figure 2.2.
Les commentaires associs aux instructions expliquent la dmarche suivie et mettent
clairement en vidence la notion de balayage voque ci-avant.
Remarquons qu'aprs l'instruction 3, on a t oblig de sauver temporairement la valeur de
l'accumulateur de manire pouvoir utiliser celui-ci pour le calcul du OR entre % 14 et % 15.

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

23

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

AND avec l'accumulateur

OR

OR avec l'accumulateur

LD

Charger l'oprande dans l'ACCU

ST

Placer l'ACCU dans l'oprande

RET

Boucler la premire instruction

Figure 2.4. Exemple de format d'instruction

2.3.5. ORGANISATION DU CYCLE D'UN AUTOMATE


La dynamique d'un processus tant ce qu'elle est, rien n'empche certaines entres de
changer d'tat en plein milieu du cycle de calcul de l'automate. Il pourrait donc arriver que les
premires instructions du programme aient travaill avec des entres dans un certain tat et
que les dernires instructions travaillent avec des entres dans un autre tat. On comprend
que cela pose un problme de cohrence qui, dans certains cas, pourrait fausser les rsultats et
donc se rvler dangereux pour le matriel et le personnel.
Rciproquement, on notera qu'au cours d'un cycle de l'automate et selon la manire
dont les calculs sont organiss, les variables, et les sorties en particulier, peuvent prendre des
tats intermdiaires diffrents des tats finals dsirs. Il serait videmment risqu de laisser
passer ces transitoires vers le processus.
Sur base des considrations qui prcdent, on organise gnralement le cycle de
l'automate comme montr la figure 2.6. Les cartes d'entres sont scrutes en tout dbut de
cycle et leur tat est plac dans une table image des entres. Toute rfrence une entre
dans le programme est alors transforme automatiquement (c'est--dire de manire

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

24

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

Exemple de fonction logique combinatoire


O1 := (( NOT I1 AND I2) OR I3) AND ( I4 OR I5)
I1

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

mettre I1 invers dans l'ACCU


ET entre ACCU et I2 (rsultat dans ACCU)
OU entre ACCU et I3 (rsultat dans ACCU)
sauver ACCU dans mmoire M1
mettre I4 dans ACCU
OU entre ACCU et I5 (rsultat dans ACCU)
ET entre ACCU et M1(rsultat dans ACCU)
mettre la valeur de l'ACCU dans la sortie O1
boucler sur l'instruction n 1
Figure 2.5. Exemple de programme

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

25

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

2.3.6. LANGAGE ET CONSOLE DE PROGRAMMATION


Les configurations de 1 et 0 prsentes la figure 2.4. constituent ce que l'on appelle le
langage machine car c'est le seul que comprenne le processeur d'un automate.
Il ne saurait videmment tre question d'obliger un automaticien programmer dans
un tel langage du fait de la longueur des instructions et de leur aspect hermtique.
Il est donc indispensable de mettre la disposition de l'utilisateur un langage de
programmation beaucoup plus fonctionnel pour dcrire l'automate la loi de contrle qu'il
veut voir excuter.
Dans l'exemple de programme de la figure 2.5., on a en fait dj utilis un langage de
programmation, le langage liste d'instructions : les oprations ralises et les adresses des
oprandes y apparaissent en clair. Ce langage reste cependant encore fort voisin du langage
machine et nous verrons, au chapitre 4, des langages plus conformes aux modes de
raisonnement des automaticiens. Ceci implique videmment la ncessit d'une traduction du
langage de programmation vers le langage machine pralablement toute excution.

Lecture des cartes


d'entres et mise
jour de la table image
des entres

TRAITEMENTS

Envoi de la table
image des sorties vers
les cartes de sorties

Figure 2.6. Organisation du cycle d'un automate

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

26

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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. TECHNOLOGIE DE REALISATION


2.4.1. BUS D'ECHANGE
Dans l'exemple du paragraphe 2.3.4, on a pu constater que les changes d'informations
entre les diffrents lments de l'automate (entres, sorties, mmoires) transitent toujours par
le processeur. De plus, du fait du fonctionnement squentiel du systme, il n'y a jamais qu'un
lment la fois qui est en communication avec le processeur.
Il est ds lors tout fait possible d'utiliser un chemin commun et une procdure
commune pour ces changes. Le chemin en question, appel BUS, est constitu de lignes
d'adresses, de lignes de donnes et de lignes de contrle. Ces lignes vhiculent des signaux
binaires.
L'automate programmable se prsente donc finalement comme montr la figure 2.7.,
sous la forme d'une collection de modules fonctionnels greffs sur le BUS. On reconnatra l,
la structure typique d'un ordinateur.
Nous passerons maintenant rapidement en revue les principaux modules que l'on peut
rencontrer en pratique.

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".

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

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.

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 2.7. Structure d'un automate programmable

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

28

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Pour excuter un programme de logique, le microprocesseur analysera successivement


chaque instruction logique et, selon le code opratoire trouv, lancera la sous-routine qui
convient.
On comprend qu'il s'agit d'une procdure assez lourde, encore aggrave par le fait qu'un
microprocesseur est prvu pour travailler de prfrence sur des mots. L'accs au bit, bien que
toujours possible, est plus ou moins malais selon le type de microprocesseur, ce qui allonge
les sous-routines systmes.
Si malgr ce sombre tableau, les microprocesseurs sont abondamment utiliss par les
constructeurs d'automates, c'est pour les trois raisons principales suivantes :
Les vitesses de traitement atteintes par les microprocesseurs modernes sont telles que
le problme des performances ne se pose pas vraiment en pratique courante (ce n'tait
pas le cas avec les microprocesseurs de la premire gnration).
Ceci est d'ailleurs d'autant plus vrai que la tendance est actuellement la
dcentralisation des systmes de contrle, mettant en oeuvre des rseaux de petites
units de traitement de prfrence de grosses units centralises.
Le dveloppement prodigieux des microprocesseurs et des circuits associs rend les
solutions microprocesseur de trs loin les plus faciles raliser et, partant, les plus
conomiques.
L'emploi de microprocesseurs ouvre la porte toute espce d'extension du jeu
d'instructions des automates programmables : crer une nouvelle instruction revient
simplement ajouter la sous-routine correspondante au logiciel systme.
Il n'empche que, dans les automates de haut de gamme, on recourt systmatiquement
des solutions multiprocesseurs comme cela est symbolis la figure 2.8.
On y retrouve en fait un processeur "cbl" ultrarapide sous forme d'un circuit ASIC
(Application Specific Integrated Circuit) pour les traitements purement logiques. Un
microprocesseur plus standard est utilis pour les fonctionnalits additionnelles courantes
(arithmtiques notamment). Le cas chant, un troisime processeur prendra en charge les
communications vers la console et/ou des rseaux informatiques.

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

29

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

30

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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).

2.4.4. MODULES D'ENTREES/SORTIES INDUSTRIELLES


Il s'agit de modules ralisant l'interface entre les signaux de processus (en provenance
des capteurs ou destination des actionneurs) et les signaux du BUS interne de l'automate.
L'interface ralise trois fonctions principales :
le dcouplage mcanique (bornier) entre le cblage processus et le cblage interne de
l'automate;
le dcouplage lectrique entre les signaux de processus et l'lectronique de l'automate, avec
toutes les adaptations, conversions et protections ncessaires;
la synchronisation des transferts conformment aux procdures d'change du BUS de
l'automate.

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

31

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

2.4.5. FONCTIONS SPECIALES


Ds lors que les processeurs des automates comportent des microprocesseurs, ces derniers
sont en principe capables de prendre en charge toute espce de fonction spciale. L'utilisation
de modules spars vise alors soulager le processeur principal de traitements requrant des
temps de calcul importants et qui pourraient poser des problmes d'excution en temps rel.
C'est ainsi qu'on trouve des modules de rgulation PID, de commande d'axe, de comptage
rapide, ...
Ceci ne fait que renforcer le caractre multiprocesseur des automates dj voqu au
paragraphe 2.4.2. On trouve mme des modules greffer sur le bus des automates qui
constituent de vritables PC tournant sous Windows ! Notons que, rciproquement, on trouve
des cartes automates pouvant tre intgres dans des PC.

2.4.6. MODULE DE COUPLAGE


On classera dans cette rubrique les modules qui permettent de connecter l'automate
d'autres systmes de traitement et qui travaillent donc dans un contexte de signaux
d'entres/sorties informatiques plutt qu'industriels.
Console de programmation et de test
Il s'agit de coupleurs qui servent pour la liaison l'automate des consoles de
programmation et de test.
Extension du BUS
Les coupleurs sont utiliss pour tendre le BUS de l'automate dans le cas de
configuration multi-chssis. Notons que les extensions possibles sont toujours trs
limites en longueur (quelques mtres maximum).
Communications
Il s'agit de coupleurs permettant d'tablir des communications distance par lignes
sries : paires tlphoniques, coaxes, fibres optiques, ...
Ils sont tudis en dtail dans l'ouvrage "Rseaux locaux industriels".
Dcentralisation des entres/sorties
Les coupleurs dont question ici servent dcentraliser des chssis d'entres/sorties
industrielles. Les liaisons sont de type srie, comme dans le cas prcdent, ce qui
permet des dcentralisations relativement importantes (de l'ordre du kilomtre sans

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

32

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

amplification). Cette possibilit de dcentralisation permet, dans de nombreux cas, de


rduire substantiellement le volume de cblage entre le processus et l'automate.

2.4.7. MODULES DE SURVEILLANCE ET DE CONTROLE


Il s'agit de modules chargs de surveiller et de contrler le bon fonctionnement du
matriel aussi bien que du logiciel. La fonction la plus communment rencontre est celle dite
du "chien de garde" (watch dog) qui contrle le cycle de l'automate.
Le principe consiste obliger l'automate envoyer chaque cycle une impulsion au
systme de surveillance. Celui-ci vrifie simplement que le temps entre deux impulsions ne
dpasse pas une limite fixe priori. Seront ainsi dtects, soit, une panne de processeur, soit
un bouclage intempestif au sein du programme.
Le "watch dog" ainsi que d'autres fonctions de surveillance classique seront examins
au chapitre 3.

2.5. LES AUTOMATES PROGRAMMABLES VIRTUELS (Soft PLC)


Le dveloppement foudroyant de la puissance des PC et l'apparition de systmes
d'exploitation multitches (Windows NT et suivant) ont permis d'introduire la notion de "Soft
PLC".
Il s'agit en fait, d'une tche s'excutant sous Windows et qui simule trs exactement le
fonctionnement d'un automate programmable. On affecte une priorit leve la tche en
question de manire obtenir un temps de cycle aussi constant que possible pour cet
automate virtuel. Ce temps est de l'ordre de quelques dizaines de ms.
La mise en uvre des programmes (langages, tests, etc.) est galement en tout point
semblable celle des automates classiques.
Bien entendu, il n'existe pas, pour les PC, de cartes d'entres/sorties industrielles du
type dcrit au chapitre 3. Le problme peut cependant tre contourn en faisant usage de
rseaux de terrain (voir tome 2) qui proposent pratiquement tous des coupleurs pour PC.
Toute la priphrie industrielle dcentralise devient ainsi disponible (voir 3.2.2.).
Un dernier point faible subsiste cependant : les dispositifs de scurit tels que dcrits
au chapitre 3 (surveillance du cycle, raction aux coupures d'alimentation, ) ne sont pas
encore courants sur les PC.
Il n'empche que, pour des besoins didactiques ou mme pour des applications
industrielles non critiques, le Soft PLC constitue une alternative trs intressante sur le plan
conomique.

Chapitre 2 STRUCTURE DES AUTOMATES PROGRAMMABLES

33

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

3.1.1. TYPES DE SIGNAUX


Au niveau d'un processus industriel, les signaux de mesure et de commande peuvent
tre rangs en deux grandes catgories : les signaux logiques, encore appels digitaux ou "tout
ou rien", et les signaux analogiques.

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





Dans ce dernier cas, on repasse gnralement en tension l'entre de l'automate l'aide


d'une rsistance de prcision. Les transmissions en courant sont favorables du point de
vue de l'immunit aux parasites. De plus, la limitation 20 mA empche la formation
d'arc lectrique en cas de court circuit et prvient ainsi les risques d'explosion en
environnement dangereux.
Enfin, la gamme 4 - 20 mA a encore l'avantage de permettre la dtection aise d'une
coupure des conducteurs. En effet, dans ce cas, le courant est nul et sort donc de la
gamme normale.

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

34

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Pour terminer, on signalera encore que la plupart des automates programmables


possdent des entres analogiques spcialement adaptes aux capteurs usuels de
temprature : thermocouples standards et sondes Pt 100.

3.1.2. ROLE DES INTERFACES INDUSTRIELLES


Pour les entres, l'interface doit raliser les fonctions suivantes :

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.

Ceci suppose la prsence de dispositifs permettant au minimum


de dtecter de manire prcoce les anomalies de fonctionnement du calculateur;
de placer les commandes dans un tat de scurit dfini l'avance.
Ceux-ci seront prsents au paragraphe 3.5.

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.

3.1.3. TENSIONS DE MODE COMMUN


On prsentera brivement dans ce paragraphe quelques considrations sur les tensions
de mode commun, dans la mesure o tous les lecteurs ne sont pas familiers avec le problme.
Origine
Les tensions de mode commun trouvent leur origine dans les diffrences de potentiels
qui peuvent exister entre les rfrences de tension des capteurs et les rfrences de tension
des systmes de traitement auxquels ils sont raccords.
La figure 3.1.a prsente l'exemple du raccordement d'un capteur par un seul fil, avec
retour par la masse.
Si une diffrence de potentiel existe entre les masses ( v sur la figure 3.1.a), le signal
reu sera videmment biais :
s = e = c + v

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

35

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a.

b.
+

e2

e1

s = e = c + v

s = e2 e 1 = c
v = MC (mode commun)

c.

c
MC

d.
+

Figure 3.1. Tension de mode commun


a. Raccordement unifilaire
b. Raccordement diffrentiel
c. Exemple de capteur diffrentiel sur cellule d'lectrolyse
d. Principe de l'isolation galvanique
Pour viter ce risque, on travaille gnralement en diffrentiel comme montr la
figure 3.1.b.

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

36

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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 :

existence de courants de circulation dans le sol qui, en fonction de la distance, peuvent


donner lieu des chutes ohmiques non ngligeables, quelques volts typiquement.
Ces
courants de circulation rsultent gnralement de l'emploi, volontaire ou involontaire, de
la terre comme circuit de retour.

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.

capteurs diffrentiels : c'est un cas o, par sa disposition mme, le capteur se trouve un


certain potentiel par rapport la terre. La figure 3.1.c prsente l'exemple typique de la
mesure de tension aux bornes d'une cellule d'lectrolyse.
Problmes

Les tensions de mode commun sont sources potentielles de deux problmes : erreur de
mesure et claquage des circuits.

erreur de mesure : le travail en diffrentiel limine bien entendu la propagation directe du


mode commun la sortie de l'amplificateur. L'impdance des entres vis--vis de la masse
de l'amplificateur, si grande soit-elle, n'est cependant jamais infinie. Un courant de fuite
existera donc toujours et, par suite, une chute ohmique proportionnelle au mode commun.
La valeur de cet effet rsiduel est une caractristique importante des amplificateurs, elle
s'exprime en terme de taux de rjection du mode commun. Une valeur typique sera, par
exemple, 120 dB de 0 60 Hz. [Source : Computer Products, inc.]

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

S'il n'y a aucun risque de claquage, la solution consiste simplement choisir un


amplificateur ayant un taux de rjection adquat.
Si des risques de claquage existent, il est indispensable de procder une isolation
galvanique entre le capteur et l'amplificateur. Ceci implique l'interposition, dans la chane,
d'un couplage non-lectrique. Nous verrons ci-aprs des exemples de couplages optiques,
magntiques ou par relais.

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

37

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

3.2. PRINCIPES D'ORGANISATION


L'accs l'automate d'un signal de mesure en provenance du processus (ou
inversement, l'envoi d'une commande vers le processus) met en jeu une cascade de trois
lments :

le bornier qui assure un dcouplage mcanique entre le cblage venant du processus et


l'automate;

les circuits de conditionnement de signaux qui ralisent les adaptations, isolations,


filtrages, conversions requis pour arriver finalement des signaux compatibles avec
l'lectronique de l'automate;

l'interface entre ces signaux et le BUS de l'automate.

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.

3.2.1. SOLUTION INTEGREE


Dans ce premier cas (figure 3.2.a), les trois lments dfinis ci-dessus sont regroups
sur une mme carte de circuit imprim, directement greffe sur le BUS de l'automate.
Il s'agit d'une solution que l'on rencontre plutt dans les petits systmes. Elle prsente
l'inconvnient d'amener les signaux bruts du processus au voisinage du BUS et de ncessiter
un cblage point--point entre l'automate et les capteurs/actuateurs.

3.2.2. PERIPHERIES DEPORTEES


Dans cette deuxime optique (figure 3.2.b), l'utilisation de rseaux de terrain (voir tome
2) permet de dcentraliser les cartes d'entres/sorties dans des modules comportant leur
propre BUS et leur propre alimentation.
On peut placer ces modules au voisinage des processus ou parties de processus
contrls, ce qui conduit une rduction substantielle du cblage.

3.2.3. RESEAUX DE CAPTEURS ET ACTUATEURS


Dans cette troisime optique (figure 3.2.c), les capteurs et actuateurs sont directement
greffs sur un rseau de capteurs/actuateurs reli l'automate. Le conditionnement des
signaux se fait au sein mme des capteurs et actuateurs.
La rduction du cblage est videmment maximale dans ce dernier cas. On ne peut
cependant utiliser que des capteurs et actuateurs spcialement conus pour le rseau
considr ce qui rend la solution moins universelle que les prcdentes.

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

38

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Cartes d
entres

Cartes de
sorties

P
L
C

PROCESSUS

Actuateurs

Capteurs

a. Cblage fil fil

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

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

39

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

3.3. CONDITIONNEMENT DES ENTREES/SORTIES LOGIQUES


3.3.1. ENTREES LOGIQUES
La figure 3.3. montre les principaux lments d'un conditionneur d'entre logique
typique :
-

adaptation de niveau en fonction des standards cits au 3.1.1;


protection contre les surtensions;
redressement ventuel dans le cas de signaux alternatifs;
isolation galvanique entre processus et calculateur;
filtrage destin liminer les parasites hautes frquences;
seuils de discrimination des tats logiques 1 et 0;
visualisation de l'tat, indispensable pour les tests et la maintenance.
La figure 3.3. donne aussi quelques exemples de solutions technologiques :

(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.

3.3.2. SORTIES LOGIQUES


La figure 3.4. montre les principaux lments d'un conditionneur de sortie logique
typique :
- visualisation d'tat
- isolation galvanique
- adaptation de niveau et de puissance en fonction des standards dfinis au paragraphe 3.1.1.
En gnral, cette adaptation se fait partir d'une alimentation extrieure.
- protection contre les surcharges (courts-circuits), les surtensions (charges inductives);
absorption de l'nergie de coupure des relais, etc.
La figure 3.4. donne aussi quelques exemples de solutions technologiques:
(a) - sortie relais (contact libre de potentiel) assurant la fois l'isolation et l'adaptation de
puissance
(b) - sortie transistor avec isolation par opto-coupleur
(c) - sortie triac pour les signaux alternatifs.

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

40

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 3.3. Elments caractristiques d'un conditionneur d'entres logiques


a. solution toute lectrique
b. isolation galvanique par relais
c. isolation galvanique par transformateur

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

41

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 3.4. Conditionnement d'une sortie logique


a. Sortie relais
b. Sortie transistor
c. Sortie triac

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

42

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

3.3.3. MESURES DE SECURITE


Dans le cas des sorties relais, on peut imaginer une procdure de sauvegarde trs
simple qui consiste, en cas d'anomalie, couper l'alimentation des relais par un relais de
scurit (RS sur la fig. 3.4). Les commandes logiques qui en rsultent pour le processus
dpendent alors uniquement du type de relais qui a t choisi : normalement ouvert,
normalement ferm ou bistable (si l'on souhaite maintenir l'tat prcdent).
Lors d'un retour la normale (de mme d'ailleurs que lors d'une mise sous tension du
systme), il y a lieu de ne refermer le relais RS qu'aprs avoir procd une initialisation
cohrente des circuits d'interface.
On a donc ainsi le moyen de dfinir, avec une certaine souplesse, une position de repli
statique pour les sorties logiques. Si cela n'est pas suffisant (par exemple, si l'on dsire
pouvoir effectuer une commande manuelle de processus), il faudra alors laborer des solutions
spcifiques chaque cas particulier.
Pour les autres types de sorties logiques, on peut aussi envisager de piloter
l'alimentation de l'opto-coupleur de sortie par un relais de scurit. La position de repli se
limite cependant ici une retombe gnrale des commandes zro.

3.4. CONDITIONNEMENT DES ENTREES/SORTIES ANALOGIQUES


Avant de pouvoir tre manipuls par un systme informatique, les signaux analogiques
doivent tre convertis en signaux digitaux, c'est--dire transforms en nombres contenus dans
des registres. L'opration inverse tant videmment ncessaire pour les sorties analogiques.
Dans ce paragraphe, nous rappellerons d'abord brivement le principe des
convertisseurs, avant de passer au conditionnement proprement dit des entres/sorties
analogiques.

3.4.1. PRINCIPE DES CONVERTISSEURS


Convertisseurs numriques/analogiques
La figure 3.5. montre le principe d'un convertisseur numrique/analogique.
La sortie analogique s'obtient trs directement par sommation pondre de courants
dans un amplificateur oprationnel. Ces courants pondrs sont labors dans un rseau de
rsistances (intgres) de prcision. Leur slection se fait par une batterie d'inverseurs
statiques sous le contrle direct des bits du mot convertir.
Pour obtenir une sortie bipolaire, on dplace le zro de l'amplificateur d'une quantit
quivalente au bit de plus fort poids (1/2 de la gamme) mais de signe oppos. Notons que l'on
s'carte ainsi de la reprsentation des nombres par la mthode du complment 2.
Caractristiques typiques : rsolution 8 12 bits; temps de conversion de l'ordre de
1 s.

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

43

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 3.5. Schma fonctionnel d'un convertisseur numrique analogique


Convertisseurs analogiques/numriques approximations successives
Le principe de ce type de convertisseurs est montr la figure 3.6.
La tension convertir est compare une tension fournie par un gnrateur de
nombres suivi d'un convertisseur numrique/analogique tel que prcdemment dcrit. Le
gnrateur de nombres enclenche successivement les bits du mot, en commenant par celui de
plus fort poids, et ne retient que ceux qui ne provoquent pas de basculement du comparateur.
La conversion est termine lorsque le rsultat de la comparaison est infrieur la moiti du
bit de plus faible poids.
La figure 3.6.b. montre l'exemple d'une squence d'approximations dans le cas d'un
convertisseur hypothtique de 4 bits.
Caractristiques typiques : rsolution de 8 12 bits; temps de conversion quelques
dizaines de s.
Convertisseurs analogiques/numriques double pente
Dans ce type de convertisseur, la tension convertir est intgre pendant un temps
dtermin Ti (cfr. la figure 3.7). La sortie de l'intgrateur est alors ramene 0 par
intgration d'une tension de rfrence de sens oppos. Le temps ncessaire pour ce retour 0
(Tc) est une mesure de la tension d'entre. Il est comptabilis dans un compteur dont l'tat
final peut donc tre pris comme rsultat de la conversion.
Cette manire de faire permet d'atteindre des prcisions leves (au dtriment
videmment du temps de conversion). De plus, l'intgration opre sur l'entre constitue un
filtrage trs efficace. En particulier, si l'on adopte des temps d'intgration proportionnels la
priode du rseau (20 ms ou des multiples), on obtient une excellente rjection de ce dernier.
Caractristiques typiques : rsolution 8 14 bits; temps de conversion quelques
dizaines quelques centaines de ms.

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

44

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 3.6. Schma fonctionnel d'un convertisseur analogique/numrique


approximations successives

Figure 3.7. Principe du convertisseur analogique/numrique double pente

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

45

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Convertisseurs analogiques/numriques quadruple pente


Il s'agit ici d'un perfectionnement du systme prcdent destin compenser les
drives de zro et de gain (dues des diffrences de T, au vieillissement, etc.).
On procde en fait deux conversions successives par la mthode de la double pente: la
premire avec une entre nulle, la seconde avec la tension convertir effectivement. Le
rsultat du premier cycle (qui est l'erreur de drive) est soustrait du rsultat du deuxime
cycle. On arrive ainsi des drives rsiduelles de 1 pp m/C soit cinq fois meilleures que dans
la technique double pente.
La figure 3.8. illustre cette manire de faire.
En pratique, on introduit une deuxime tension de rfrence V rf.2 de manire avoir,
mme pendant le cycle de correction, des variations de la sortie de l'intgrateur largement
suprieures aux seuils de commutation des circuits.
La correction quant elle s'introduit trs directement au niveau des temps
d'intgration en maintenant K constant.

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

Figure 3.8. Principe du convertisseur analogique/numrique quadruple pente

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

46

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

3.4.2. ENTREES ANALOGIQUES


Les convertisseurs analogiques/numriques restent des lments relativement coteux
et encombrants. On ne peut en gnral envisager d'en affecter un chaque entre analogique,
ce qui impose donc d'avoir recours des multiplexeurs.
Le conditionnement des entres analogiques se prsente ds lors comme schmatis
la figure 3.9.
On y distingue, outre la conversion dj dcrite, les fonctions suivantes:
Adaptation d'entre
Il s'agit ce niveau d'uniformiser les signaux autant que faire se peut avant d'aborder
la partie commune du conditionnement. Par exemple, attnuer les entres haut niveau hors
standards, amplifier les entres bas niveau, effectuer la transformation courant/tension,
complter un pont de Wheatstone pour les capteurs variations de rsistance, ...
Isolation galvanique
Le problme est de nouveau ici de se protger contre les tensions de mode commun
existant non seulement entre les signaux d'entre et l'automate mais aussi entre les signaux
d'entre eux-mmes.
Filtrage
Elimination des parasites industriels de frquence suprieure celles du signal utile.
La figure 3.9.b. montre un exemple de solution simultane aux problmes d'adaptation,
isolation, filtrage. Elle est base sur l'utilisation d'un amplificateur d'isolation travaillant par
modulation et dmodulation de phase d'une porteuse haute frquence (50 K Hz). L'isolation y
est obtenue par transformateur (1000 V ou plus).
Ajoutons encore que, comme on peut s'en douter, les amplificateurs d'isolation sont des
lments relativement coteux.
Multiplexage
On utilise essentiellement deux types de multiplexeurs :

multiplexeurs statiques (transistors effet de champ)


Ils sont trs rapides (temps de commutation de l'ordre de la s) mais ne supportent pas de
tensions de mode commun leves (10 V max.). De plus, les tensions rsiduelles des
transistors effet de champ empchent de les utiliser directement pour des entres de
bas niveau. En gnral, les multiplexeurs statiques devront donc tre prcds
d'isolateurs et d'amplificateurs (cfr. figure 3.9.b.).

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

47

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a. Principe

b. Utilisation d'un ampli d'isolation

c. Multiplexage relais

Figure 3.9. Conditionnement des entres analogiques

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

48

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

d. Principe de la capacit basculante

e. Amplificateur gain programmable

Figure 3.9. Conditionnement des entres analogiques (suite)

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

49

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

multiplexeurs relais lectromagntiques


Ils sont videmment plus lents (temps de commutation de quelques dizaines de ms) mais
assurent une isolation galvanique parfaite des voies d'entres entre elles.

Pour isoler le calculateur lui-mme, on peut par exemple placer un amplificateur


d'isolation (unique) juste aprs le multiplexeur (figure 3.9.c.).
Une autre solution, trs souvent utilise en pratique, est base sur le principe de la
capacit basculante. Ce principe est illustr la figure 3.9.d. : dans une position des contacts,
la capacit se charge la valeur de la tension d'entre convertir; dans l'autre position, la
capacit est isole de l'entre et connecte au convertisseur.
Comme le montre aussi la figure 3.9.d., le systme capacit basculante peut tre
agenc de manire raliser la fois l'isolation, le filtrage et le multiplexage. Pour viter
dans ce cas d'ventuels amplificateurs d'adaptation, on prfrera souvent faire prcder le
convertisseur d'un amplificateur unique gain programmable (figure 3.9.e.).

3.4.3. SORTIES ANALOGIQUES


Etant donn le cot peu lev et le faible encombrement des convertisseurs
numriques/analogiques, on en utilise en gnral un par sortie. Hormis cela, les sorties
analogiques posent en principe les mmes problmes d'isolation et d'adaptation que les
entres analogiques.
Il existe cependant assez peu de solutions standards au niveau des interfaces proposes
par les constructeurs d'ordinateurs dans la mesure o les problmes en question sont souvent
pris en compte dans le contexte plus gnral de la scurit des commandes analogiques.

3.4.4. MESURES DE SECURITE


Le problme de la scurit des commandes analogiques en cas de panne du calculateur
se pose de manire beaucoup plus aigu que dans le cas des commandes logiques. En effet, il
est en gnral difficile de dfinir ici un tat de scurit statique: une possibilit de commande
manuelle du processus est presque toujours exige et, souvent mme, une rgulation ne fut-ce
qu'lmentaire doit tre maintenue.
Il en rsulte que les sorties analogiques mises par un automate ne seront envoyes au
processus que par l'intermdiaire de stations d'interface comprenant le systme de
commutation ncessaire et une mmoire analogique tampon.
La figure 3.10. montre le principe d'une telle station.
Notons que la commande manuelle impose un minimum de dispositifs de commande,
bien sr, mais aussi de visualisation de l'tat du processus (au moins de la mesure). Ceux-ci
sont souvent inclus dans la station elle-mme.
D'autre part, pour que la commutation des modes de travail puisse s'effectuer sans
choc, il est ncessaire de prvoir une initialisation correcte des systmes en "stand by".

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

50

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 3.10. Principe d'une station d'interface


A cet gard, l'utilisation d'une mmoire de type intgrateur (analogique ou moteur
pas--pas) facilite grandement les choses. En effet, il suffit, dans ce cas, de commuter
tension de sortie nulle.

3.5. DISPOSITIFS DE SECURITE


Toutes les mesures de scurit envisages aux paragraphes prcdents n'ont de sens
que s'il existe par ailleurs des moyens de dtecter les pannes ou anomalies de fonctionnement
d'un automate.
Des solutions plus ou moins sophistiques existent dans ce domaine; nous nous
bornerons ici examiner deux procdures lmentaires mais indispensables dans toutes
applications industrielles : la surveillance de cycle et la surveillance d'alimentation.

3.5.1. SURVEILLANCE DE CYCLE ("WATCH-DOG")


Dans cette procdure, on oblige l'automate envoyer priodiquement une impulsion au
systme de surveillance. Celui-ci vrifie simplement que le temps entre deux impulsions ne
dpasse pas une limite fixe. Cette limite doit videmment tre choisie petite vis--vis de la
dynamique du processus (par exemple : gale la priode d'chantillonnage des algorithmes
de rgulation).

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

51

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 3.11. Principe d'un watch-dog lmentaire

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

52

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Dans le cas o la limite est dpasse, le systme de surveillance met un signal


d'alarme (en gnral ouverture d'un relais) qui peut tre utilis, par exemple, pour provoquer
les commutations prvues au paragraphe 3.3.3.
La figure 3.11. montre un exemple de ralisation.
Il utilise un monostable rarmable dont la priode correspond la limite de temps
impose. Ce monostable est suivi d'un bistable qui mmorise le dclenchement du premier et
impose un "acquittement" manuel du dfaut.

3.5.2. SURVEILLANCE D'ALIMENTATION


Le but du systme de surveillance d'alimentation est d'assurer un comportement bien
dtermin du calculateur en cas de coupure (ou microcoupure) du rseau et de remise sous
tension.
Coupure de tension ("power fail")
Le comportement d'un systme informatique devient alatoire ds que l'une de ses
alimentations stabilises s'carte de quelques % de sa valeur nominale. Heureusement ces
alimentations comportent des tampons d'nergie importants, grce au filtrage, et cela peut
tre mis profit pour prendre un minimum de mesures de sauvegarde.
La figure 3.12. montre comment les choses se passent en pratique.
Le systme de surveillance teste en permanence la tension du rseau (donc avant
redressement et stabilisation). Ds qu'une baisse est constate (10 % par exemple), le signal
PWR VALID est mis zro provoquant une interruption de priorit maximum. Le processeur
dispose alors d'un temps T1 (quelques ms, dpendant du tampon d'nergie) pendant lequel il
peut effectuer un certain nombre de sauvetages (registres internes, registres tampons des
interfaces, etc.) pour autant bien entendu, qu'il existe une mmoire RAM non volatile. Cela
tant fait, le processeur s'arrte volontairement, vitant ainsi tout comportement aberrant au
moment de la chute des alimentations rgules.
Remise sous tension ("power restart")
Le systme de surveillance d'alimentation dtecte le rtablissement des alimentations
continues et, aprs un dlai de scurit T2 (cfr. figure 3.12.), le signal PWR VALID est
ractiv, provoquant une nouvelle interruption.
La sous-routine d'interruption
correspondante restaure le contexte du processeur au moment de la coupure d'alimentation et
reprend les traitements interrompus.
Bien entendu, tout autre scnario peut tre envisag sur la base des deux interruptions
engendres par le systme de surveillance d'alimentation.

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

53

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 3.12. Exemple de squences de coupure et de rtablissement du rseau

Chapitre 3 INTERFACES INDUSTRIELLES ET DISPOSITIFS DE SECURITE

54

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Chapitre 4
LANGAGES DE PROGRAMMATION

4.1. INTRODUCTION
La mise en oeuvre d'un automate programmable comporte trois phases principales :

la conception du systme de contrle, qui se fait l'aide d'outils mthodologiques et de


modes de reprsentation propres l'automaticien;

la programmation de l'automate, qui consiste transposer le systme de contrle obtenu


dans le langage de programmation propre l'automate;

l'excution du programme, enfin, prise en charge par un logiciel interne l'automate,


l'excutif, qui, comme nous le verrons ci-aprs, peut tre plus ou moins labor.

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. PROBLEMES DE NATURE COMBINATOIRE


Il s'agit de problmes o tous les signaux provenant du processus (ou en tout cas une
majorit d'entre eux) sont susceptibles de provoquer, n'importe quel moment, une raction
de l'automate. Le cas typique tant celui d'une surveillance de conditions d'alarme
(dpassement de niveau, surchauffe de moteurs, ...).

4.2.1. MODE DE REPRESENTATION


Le formalisme relais, logigrammes ou quation boolennes, convient tout fait
bien la reprsentation de ce genre d'automatisme. Il suppose en effet que l'on a affaire des
modules fonctionnels travaillant en parallle et de manire instantane (cfr. figure 4.1.)

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.

Chapitre 4 LANGAGES DE PROGRAMMATION

55

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 4.1. Modes de reprsentation parallles


La figure 4.2. montre un exemple de programmation en langage relais.
Dans ce contexte, le langage de programmation par liste d'instructions dcrit au 2.3.5.
apparat comme beaucoup moins cohrent avec la mthode de conception "parallle" envisage
ici. En effet, il faudra que le programmeur "srialise" lui-mme la fonction logique raliser
en tenant compte de la manire squentielle selon laquelle travaille effectivement le
processeur de l'automate (prsence d'un accumulateur notamment). Le listing d'un
programme n'aura ds lors plus l'aspect fonctionnel du cas prcdent. En tout tat de cause, il
ne sera plus comprhensible qu'accompagn du schma dont il est issu, ce qui complique les
problmes de documentation et d'archivage.

Chapitre 4 LANGAGES DE PROGRAMMATION

56

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 4.2. Exemple de programmation en langage relais


Source : ALLEN-BRADLEY

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.

Chapitre 4 LANGAGES DE PROGRAMMATION

57

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

LD : Ladder Diagram

FBD : Function Block Diagram

IL : Instruction List

ST : Structured Text

SFC : Sequential Function Chart

Figure 4.3 Cohrence entre les mthodes de conception


de programmation et d'excution d'un automatisme

Chapitre 4 LANGAGES DE PROGRAMMATION

58

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

4.3. PROBLEMES DE NATURE SEQUENTIELLE


Il arrive souvent, dans l'industrie, que les processus contrler aient une nature
squentielle marque. C'est le cas notamment de tous les processus comportant des
dplacements d'outils, des transports de matire, etc. Du point de vue du systme de contrle,
ces processus se caractrisent par le fait qu' un moment donn, seuls un nombre limit de
signaux provenant du processus doivent tre pris en considration et que seules un nombre
limit de commandes sont susceptibles d'tre appliques au processus.
Pour fixer les ides, nous adopterons l'exemple trs simple prsent la figure 4.4.
Un chariot initialement dans la position A (fin de course IN 2 ouvert) est mis en
mouvement (contact OUT 1) vers la position B par action sur le bouton poussoir IN 1. Arriv
en B (fin de course IN 3 ouvert) le chariot est renvoy vers A (contact OUT 2).
On peut distinguer trois tapes dans le droulement de ce processus :
1re tape :

chariot en position de dpart, moteur arrt (OUT 1 = OUT 2 = 0).


On voit bien que, dans cette tape, seule l'entre IN 1 peut faire voluer la
situation et seule la sortie OUT1 peut tre active.

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 :
-

la squence caractristique du processus n'apparat absolument pas dans ces modes de


reprsentation. Il s'ensuit des problmes de conception, de mise au point et simplement
de documentation qui ne font videmment que crotre avec la complexit du processus.

la scrutation cyclique systmatique des entres laquelle conduit la mthode parallle,


est fondamentalement inutile, puisque dans les diffrentes tapes dcrites ci-dessus, il n'y
a jamais qu'une entre la fois susceptible de faire voluer la situation.
De mme le calcul cyclique systmatique des sorties est en principe superflu puisque ces
sorties ne peuvent en fait varier que lorsqu'on passe d'une tape la suivante.

Chapitre 4 LANGAGES DE PROGRAMMATION

59

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Automatismes squentiels : exemple


O2=1

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

Chapitre 4 LANGAGES DE PROGRAMMATION

60

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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 :

mettre clairement en vidence la squence ralise;

systmatiser la conception du systme : les conditions d'activation et de dsactivation des


variables d'tape se construisent en effet toutes de la mme faon;

ce qui facilite les tests de mise au point.


Bien entendu, cette manire de faire ne trouve vraiment tout son intrt que dans des
cas plus complexes que celui de l'exemple.
Le caractre dtourn de la dmarche qui vient d'tre suivie apparat clairement sur la
figure 4.3. Le mode de reprsentation squentiel de dpart a d tre transpos en un mode de
reprsentation parallle pour pouvoir tre programm et donner lieu finalement une
excution fondamentalement squentielle !
Notons galement que cette excution squentielle peut entraner des conditions de
courses assez pernicieuses dans le calcul des variables, si bien que la transposition d'un
GRAFCET ne sera en gnral pas aussi simple que ce qui est prsent ici. Nous y reviendrons
au paragraphe 6.6. lorsque les rgles d'volution du GRAFCET auront t expliques en
dtail.

Chapitre 4 LANGAGES DE PROGRAMMATION

61

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

O2=1

O2
I2

O1=1

O1
I3

+
_

I1

GRAFCET
Graphe de Commande Etape-Transition

Actions

Etape 1 : Arrt en A

Rceptivit : bouton poussoir

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

Figure 4.5. Mode de reprsentation squentiel

Chapitre 4 LANGAGES DE PROGRAMMATION

62

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 4.6. Principe de la transposition du GRAFCET en langage combinatoire

Chapitre 4 LANGAGES DE PROGRAMMATION

63

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

4.4. LANGAGES SEQUENTIELS


Etant donn l'importance pratique des problmes squentiels, les constructeurs
d'automates ont prvu un certain nombre d'outils de programmation squentielle destins
faciliter la tche de l'utilisateur.

4.4.1. EXTENSION DU LANGAGE COMBINATOIRE


Relais accrochage (LATCH) : ce sont des relais qui reproduisent le fonctionnement de
bistables type SR (SET/RESET). Le bistable est enclench lorsque son entre SET vaut 1. Il
reste dans cet tat mme si cette entre repasse 0. Pour le dclencher, il faut que l'entre
RESET soit mise 1.
L'emploi de relais accrochage dans la transposition du GRAFCET vite de devoir
utiliser des auto-verrouillages (cfr. figure 4.6.).

4.4.2. LANGAGE GRAFCET


S'appuyant sur la puissance de traitement des micro-ordinateurs PC, de plus en plus de
constructeurs offrent, actuellement, des langages de programmation graphiques qui consistent
reproduire, sur un cran, le dessin mme d'un GRAFCET.
La figure 4.7. en donne un exemple concret.
A l'excution, les tapes actives apparatront en surbrillance par exemple, permettant
de suivre aisment l'volution dynamique du systme.

Figure 4.7. Exemple de langage de programmation en GRAFCET


Source : ALLEN-BRADLEY

Chapitre 4 LANGAGES DE PROGRAMMATION

64

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

4.5. EXECUTION SEQUENTIELLE


A partir du langage GRAFCET voqu ci-dessus, deux prolongements sont possibles au
niveau de l'excution.
Le premier consiste oprer la traduction du GRAFCET dans un langage "parallle"
traditionnel automatisant donc, en quelque sorte, la procdure dcrite au 4.3.2. Cette
manire de faire dbouche sur une excution cyclique "aveugle" avec les inconvnients
dnoncs au paragraphe 4.3.1. C'est celle que l'on trouve gnralement dans les ateliers
logiciels multi-automates (cf. chapitre 9). Notons que la traduction est, dans ce cas,
bidirectionnelle c'est--dire que l'utilisateur travaille exclusivement au niveau du GRAFCET
que ce soit pour l'dition ou pour le test des programmes.
Le deuxime consiste adapter l'excution la nature squentielle du problme. Au
lieu de balayer cycliquement et systmatiquement tout le programme, c'est--dire de scruter
toutes les entres et de recalculer toutes les sorties, le processeur ne va plus faire ici que de
vrifier les conditions logiques qui intressent l'volution du systme, c'est--dire les
rceptivits, et, le cas chant, dterminer les actions correspondant une nouvelle tape
active.
Cette dernire optique, que l'on trouve dans les langages GRAFCET proposs par les
constructeurs d'automates, a des consquences importantes sur les performances en temps de
rponse des automates. Il est en effet possible d'avoir de trs grands programmes en mmoire
tout en conservant des temps de raction entres/sorties extrmement courts.
En pratique, on trouvera gnralement, dans un automatisme, plusieurs squences se
droulant en parallle et, en plus, on aura un certain nombre de fonctions combinatoires
raliser, ne fut-ce que pour le traitement des alarmes.
On en arrive ainsi au mode d'excution schmatis la fig. 4.8.
L'automatisme a t dcompos en sa partie combinatoire et en ses diffrentes
squences parallles.
La partie combinatoire est place dans une premire branche qui sera excute
linairement et cycliquement comme dans un automate classique.
Les squences seront places chacune dans une srie d'autres branches rserves cet
effet (le nombre total de branches possibles est une caractristique de l'automate).
La branche combinatoire cyclique comporte galement un programme appel
schduleur charg de grer l'volution des diffrentes branches squentielles. Il s'agit en
l'occurrence de tester dans chaque branche la condition logique verrouillant l'tape en cours
et, le cas chant, d'excuter l'tape suivante. Le schduleur doit donc, entre autres,
mmoriser l'tat d'avancement des diffrentes squences.
Il est clair, comme le montre la figure 4.3, qu'avec le mode d'excution squentielle qui
vient d'tre dcrit, on atteint une parfaite cohrence entre la conception, la programmation et
l'excution d'un automatisme.

Chapitre 4 LANGAGES DE PROGRAMMATION

65

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 4.8. Principe de l'excution squentielle

Chapitre 4 LANGAGES DE PROGRAMMATION

66

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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. EXTENSION DE LA LOGIQUE DE BASE


Il s'agit d'extensions mettant la disposition de l'utilisateur des fonctions couramment
rencontres dans les automatismes, ce qui lui vite de devoir chaque fois les reprogrammer
partir des instructions logiques lmentaires.

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.

Chapitre 5 FONCTIONS SPECIALES

67

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

TEMPO
T

<T

a. Retard l'enclenchement

b. Retard au dclenchement

Figure 5.1 Fonction de temporisation

COMPTEUR
P

Prslection

t
S

Figure 5.2 Fonction de comptage

Chapitre 5 FONCTIONS SPECIALES

68

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 5.3. Principe des diffrentiateurs

5.3. FONCTIONS DE SEQUENCEMENT


Ces fonctions sont mentionnes ici pour mmoire. Elles ont t dcrites en dtail au
paragraphe 4.4.1 :

relais accrochage.

5.4. FONCTIONS D'ORGANISATION DU CYCLE


Il s'agit de fonctions qui permettent l'utilisateur d'intervenir sur le droulement du
cycle de l'automate.

Chapitre 5 FONCTIONS SPECIALES

69

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

5.4.1. BRANCHEMENTS ET REPETITIONS

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 :

pour conomiser de la place mmoire :


Si la mme squence d'instructions se reproduit plusieurs fois dans un programme, on a
intrt en faire une sous-routine qui ne devra ds lors plus tre prsente qu'une seule
fois dans la mmoire (cfr. figure 5.4.e).

pour structurer les programmes :


Lorsque les problmes d'automatisme deviennent trop complexes, on est naturellement
amen les dcomposer en sous-ensembles plus simples, correspondant par exemple des
entits technologiques (machines ou parties cohrentes de machine), que l'on n'a plus
alors qu' coordonner.

Il est intressant de pouvoir reproduire cette structuration hirarchique dans l'criture


du programme.
On trouvera ainsi un module d'organisation qui dfinira les interactions entre les
modules du niveau hirarchique infrieur. Chacun de ces derniers pouvant son tour tre
dcompos et ainsi de suite.
Chaque module aura donc une mission fonctionnelle bien dfinie. En organisant
judicieusement la dcomposition, on peut mme arriver ce que les programmes
correspondant aux diffrents modules aient une taille qui permette d'en saisir d'un seul coup
d'oeil tout le contenu informatif (une page de listing par exemple).
La manire dont les sous-routines permettent de structurer un programme est
schmatis la figure 5.4.f.

Chapitre 5 FONCTIONS SPECIALES

70

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

e. Sous-routines (conomie mmoire)

Figure 5.4. Instructions pour le contrle du cycle

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

Chapitre 5 FONCTIONS SPECIALES

71

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

microsecondes !). S'il dtecte une demande d'interruption, il interrompt l'excution du


programme et, toujours automatiquement, sauve, dans une partie de la mmoire prvue cet
effet, toutes les informations ncessaires la reprise ultrieure du programme (par exemple :
adresse de l'instruction, valeur de l'accumulateur, etc.). Il entreprend alors l'excution d'un
programme particulier, prvu par l'utilisateur, et qui ralise le traitement d'urgence dsir.
Celui-ci termin, le processeur reprend l'excution du programme interrompu.
Le besoin des interruptions s'est surtout fait sentir pour les automates
microprocesseurs dont le temps de cycle est quand mme relativement lent.

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.

5.5. OPERATIONS SUR MOTS


Avec les fonctions prsentes ci-aprs, on quitte le domaine de la logique pure pour
aborder des traitements couramment rencontrs dans les ordinateurs. Ils portent non plus
sur des bits mais sur des mots dans lesquels on peut coder des nombres, des caractres
alphanumriques (code ASCII), etc.
On trouve ainsi des oprations :
-

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.

Chapitre 5 FONCTIONS SPECIALES

72

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Littral structur

R3 := R1 + R2

Bloc fonctionnel

R1

R3
+

R2

Langage contacts

+
R1
R2

R3

Figure 5.5. Exemple de programmation de fonctions extra logiques

5.6. MANIPULATION DE DONNEES


Il s'agit ici d'opration portant galement sur des mots ou des groupes de mots qui
relvent de la gestion de donnes, plutt que du calcul. Nous donnerons ci-dessous quelques
exemples typiques.

5.6.1. GESTION DE TABLES DE VALEUR


Des registres de donnes conscutifs peuvent tre organiss en table. L'accs aux
donnes (en entres et en sorties) se fait sur l'intermdiaire d'un pointeur qui ralise en fait
un adressage index par rapport au dbut de la table.
La figure 5.6.a. donne l'exemple de la dfinition d'une table de donnes et du pointeur
associ. On peut par exemple s'en servir pour raliser un gnrateur de fonction : la valeur du
pointeur constituant l'abscisse et la valeur pointe l'ordonne.

5.6.2. OPERATIONS MATRICIELLES


Il s'agit d'instructions permettant de travailler sur des blocs de variables binaires
contiges (entres, mmoires) :

transferts de bloc bloc


comparaison de deux blocs
AND, OR, XOR de bloc bloc
etc.
Des programmes trs compacts peuvent ainsi tre raliss pour, par exemple :

surveiller les changements d'tat d'un groupe d'entres;

Chapitre 5 FONCTIONS SPECIALES

73

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

5.6.3. EDITION DE TEXTE


Cette opration consiste sortir sur une imprimante (ou sur un cran) un texte, c.--d.
une suite de caractres alphanumriques (un caractre est cod sur un byte), stock dans une
table de donnes.
Notons que cette dition comporte la gestion d'une porte de communication srie que
nous tudierons plus en dtail dans l'ouvrage "Rseaux locaux industriels". Elle demande un
certain temps qui dpend de la longueur du message et de la vitesse d'impression de
l'imprimante.
C'est pourquoi la fonction dition comporte un signal de retour (cfr figure 5.6.b.)
indiquant si le message a t compltement trait. On ne peut envoyer d'autres messages
tant que ce signal n'est pas prsent.

5.6.4. Pile FIFO (First In First Out)


Il s'agit d'une table gre de manire particulire : les donnes qui y sont introduites
vont automatiquement s'empiler dans le "fond" de la table. En sortie, c'est toujours le dernier
lment de la table qui est prlev tandis que les autres descendent tous d'un cran dans la
table (cfr figure 5.6.c).
Le FIFO permet de raliser un tampon entre un processus de "production"
d'informations et un processus de "consommation" d'informations qui ne sont pas synchrones.
Un cas d'utilisation typique est celui de l'dition de messages d'alarme. Des rafales d'alarmes
peuvent en effet se produire dans un temps trs court de manire telle que l'imprimante sera
en gnral incapable de "suivre".
Pour viter de perdre des messages, on les empilera dans un FIFO dont ils seront
extraits au rythme propre de l'imprimante. Il faut videmment doter le FIFO d'une capacit
suffisante pour pouvoir absorber les pointes de charge sans saturer.

Chapitre 5 FONCTIONS SPECIALES

74

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 5.6. Exemples d'oprations de manipulation de donnes

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.

Chapitre 5 FONCTIONS SPECIALES

75

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

5.7.1. RAPPEL DE L'ALGORITHME PID


Le problme gnral de la rgulation se prsente comme il est montr la figure 5.7.

Consigne
s

Commande
e

Rgulateur
PID

Mesure
PROCESSUS

e=sm

Figure 5.7. Principe d'une boucle de rgulation


Le rgulateur a pour mission de garder aussi petit que possible, dynamiquement et
statiquement, l'cart entre la mesure d'une grandeur (vitesse, temprature, ...) et une valeur
de consigne fixe par l'oprateur. Pour cela, il labore une commande approprie qui est
applique au processus (courant d'un moteur, position d'une vanne, ...)
L'algorithme PID permet de rpondre la question dans la plupart des cas courants.
Le signal de commande (c) est obtenu partir de l'cart (e) entre mesure et consigne par la
formule suivante :

1
de

c = K e +
edt + Td
Ti
dt

(1)

On y distingue trois termes :

un terme proportionnel l'erreur


un terme intgral qui a pour but d'annuler l'erreur en rgime
un terme driv, c.--d. proportionnel aux variations de l'erreur, qui ralise une certaine
anticipation.

Dans ce contexte, la mise en oeuvre du rgulateur consiste fixer la valeur des


paramtres K, Ti, Td.
Notons que la dtermination de ces paramtres n'est pas vidente, des livres entiers lui
sont consacrs ! Un des principaux problmes qui se pose tant de garantir la stabilit du
systme boucl rgulateur-processus.
L'algorithme de type continu prsent ci-dessus n'est pas directement ralisable dans
des systmes digitaux tels que les ordinateurs ou les automates, car ceux-ci ne peuvent
travailler que de manire discontinue.

Chapitre 5 FONCTIONS SPECIALES

76

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

On utilisera ds lors une approximation discontinue de l'algorithme de la forme


suivante :

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).

5.7.2. PROGRAMMATION DE L'ALGORITHME


Avec les automates qui possdent les oprations sur mots (cfr. 5.5), il est en principe
possible de programmer l'algorithme PID en langage automate.
Il faut cependant noter que sur l'quation de base (2) se greffent un nombre plus ou moins
important de fonctions de "service" destines :

permettre un passage automatique/manuel;


contrler la valeur du terme intgral en mode manuel pour viter les chocs lors du
passage en automatique;
mettre les rgulateurs en cascade;
contrler la valeur de la mesure et de l'cart mesure - consigne par rapport des seuils
d'alarme et, le cas chant, mettre les signaux d'alarme;
...

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.

5.7.3. MISE EN OEUVRE


La mise en oeuvre d'un rgulateur PID prprogramm comprend deux phases : la
configuration du rgulateur et le choix des paramtres de rgulation. Ce dernier aspect

Chapitre 5 FONCTIONS SPECIALES

77

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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 :

de choisir le mode d'action du rgulateur : continu, tout ou rien, pas--pas ("incrmental");


les traitements effectus sur la mesure : contrle de plausibilit, moyenne, linarisation
("polygone");
les traitements effectus sur la consigne : gnrateur de rampe, filtrage ("lissage").

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).

Chapitre 5 FONCTIONS SPECIALES

78

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 5.8. Structure de principe du rgulateur PID


(Source SIEMENS)

5.8. COMMANDE D'AXE


Le positionnement d'un mobile le long d'un axe est une fonction trs souvent rencontre
en automatisation de la production : machines de dcoupe, d'assemblage, d'emballage, lignes
de transfert, systmes de manutention, ...
La position est gnralement mesure par un codeur incrmental qui engendre des
trains d'impulsions trop rapides pour pouvoir tre directement saisis par un automate. Le
recours une carte de comptage rapide est donc normalement ncessaire.
Cependant, la commande d'axe est une fonction assez facile standardiser si bien que
la plupart des constructeurs d'automates proposent des processeurs de commande d'axe
reprenant non seulement l'acquisition des impulsions du codeur, mais aussi le contrle et
l'enchanement de mouvements usuels.
Pour fixer les ides, on considrera l'exemple du produit TELEMECANIQUE.

Chapitre 5 FONCTIONS SPECIALES

79

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 5.9. Structure dtaille du rgulateur PID


(Source SIEMENS)

Chapitre 5 FONCTIONS SPECIALES

80

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

5.8.1. PRINCIPE DE FONCTIONNEMENT


La figure 5.10. schmatise le fonctionnement du module de commande d'axe. On
remarque que ce module ne prend en charge que l'asservissement de position tandis que
l'asservissement de vitesse est assur par un dispositif extrieur, le "variateur", qui ralise
aussi les amplifications de puissance ncessaires.
Les caractristiques de la boucle d'asservissement sont dtermines par le gain de
position KP et le coefficient d'anticipation de vitesse KV. Ces coefficients doivent tre ajusts
par l'utilisateur dans chaque cas particulier (figure 5.10.b).
Des limitations d'acclration et de dclration peuvent tre introduites dans la
boucle. Elles sont modifiables par programme (figure 5.10.c).
Le module de commande d'axe est, d'autre part, dot d'un jeu d'instructions simple et
complet, orient application, qui permet de dcrire des trajectoires, de les enchaner et
d'assurer la coordination avec le processeur principal de l'automate.

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.

dplacement (figure 5.11.a.)


dplacement jusqu' une position avec arrt (code GP9) ou sans arrt (code GP1).
Dans ce dernier cas, le programme passe l'instruction suivante lorsque la position
est atteinte. Les positions peuvent tre absolues ou indexes.
Dans chacun de ces cas, les valeurs peuvent tre :
- immdiates (contenues dans l'instruction)
- obtenues par apprentissage (cfr. 5.8.3.)
- communiques en temps rel par le programme principal de l'automate.
dplacement jusqu' l'arrive d'un vnement suivi ou non d'un arrt.

organisation des mouvements (figure 5.11.b.)


appel des sous-programmes
saut conditionnel ou inconditionnel
attente d'vnement
temporisation

gestion des paramtres


Elle permet des oprations de calcul et l'affectation de nouvelles valeurs aux positions,
aux compteurs internes et aux paramtres caractristiques des contrles.

Chapitre 5 FONCTIONS SPECIALES

81

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a.

b.

c.

Figure 5.10. Principe d'une commande d'axe

a. Structure
b. Asservissement de position
c. Limitation d'acclration et de dclration

Chapitre 5 FONCTIONS SPECIALES

82

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a.

b.

Figure 5.11. Programmation d'une commande d'axe


a. Dplacements
b. Organisation des mouvements

5.8.3. TERMINAL D'EXPLOITATION


Des terminaux d'exploitation spcifiques sont souvent adjoints aux cartes de commande
d'axe (cfr. figure 5.12).
Ils ont pour objet :

la slection des modes de marche

en mode de mise au point :


- la modification des paramtres
- l'apprentissage de positions et la prise d'origine
- le test des programmes (instruction par instruction, ...)

en fonctionnement automatique :
- la visualisation des paramtres et du programme
- l'observation des dplacements : position et vitesse

Chapitre 5 FONCTIONS SPECIALES

83

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 5.12. Commande d'axe. Exemple de terminal d'exploitation

Chapitre 5 FONCTIONS SPECIALES

84

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Chapitre 6
GRAFCET ou SFC
GRAFCET
SFC

:
:

Graphe de Commande Etape-Transition


Sequential Function Chart

6.1. PRINCIPES GENERAUX


6.1.1. HISTORIQUE
Au dpart, le GRAFCET a t conu comme un outil mthodologique de description du
cahier des charges de la partie commande d'un systme automatis.
Il rsulte de travaux entrepris ds 1975 sous l'gide de l'AFCET (Association Franaise
pour la Cyberntique Economique et Technique) par un groupe d'industriels et de chercheurs.
L'ADEPA (Agence nationale pour le DEveloppement de la Production Automatise)
s'est ensuite attache sa promotion tout en lui confrant une forme susceptible d'aboutir
des normes nationales et internationales.
De fait, le GRAFCET a t normalis en France en 1982, mais il a fallu attendre 1988
pour le voir reconnatre sur le plan international par la norme 848 dicte par la CEI
(Commission Electrotechnique Internationale). Pour l'occasion, il a d'ailleurs t rebaptis
SFC (Sequential Function Chart)
Entre temps, l'outil mthodologique de description, le GRAFCET ou SFC est devenu un
vritable langage de programmation. Comme tel, il est repris dans la rcente norme CEI
1131-3 (1993) relative aux langages de programmation pour automates programmables.
On peut dire que le GRAFCET, en tant qu'outil de description fonctionnelle, a t
unanimement adopt par les industriels, du moins en Europe occidentale.
Par contre, curieusement, son utilisation comme langage de programmation n'a
rencontr, jusqu'ici, qu'un succs mitig. Il y a sans doute plusieurs raisons ces rticences :

la normalisation encore trop rcente

le manque de convivialit des premiers diteurs de GRAFCET.


Ce problme devrait s'attnuer avec le remplacement gnralis des consoles de
programmation par des PC sous WINDOWS. Il n'empche que la taille relativement
rduite des crans standards actuels (14") reste un obstacle srieux une programmation
graphique confortable.

l'absence de normalisation au niveau de la smantique du GRAFCET, c'est--dire au


niveau de son implantation effective dans les automates.
Chaque constructeur dveloppe ds lors sa propre philosophie, laquelle n'est en gnral
pas connue de l'utilisateur. Il peut en rsulter des ambiguts conduisant des ractions

Chapitre 6 GRAFCET ou SFC

85

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

imprvisibles et potentiellement dangereuses du systme dans des situations limites


(paralllisme et synchronisation notamment).
Le rsultat est que l'norme majorit des programmeurs recourt la traduction manuelle
du GRAFCET en langage automate (cf. figure 4.3.).
Nous examinerons au paragraphe 6.6. les diffrentes mthodes couramment utilises.
Remarque
L'essentiel des notions prsentes ci-aprs sont tires de la brochure de l'ADEPA
consacre au GRAFCET, de la norme CEI 1131-3 et de [BOSSY - 1979].

6.1.2. APPROCHE PROGRESSIVE DU CAHIER DES CHARGES DE LA PARTIE


COMMANDE
L'automaticien charg de la conception et de la ralisation de la partie commande doit
rechercher dans le cahier des charges une description claire, prcise, sans ambiguts ni
omission, du rle et des performances de l 'quipement raliser.
Pour y parvenir, il est souhaitable de diviser la description en deux niveaux successifs
et complmentaires :

le premier niveau dcrit le comportement de la partie commande vis--vis de la partie


oprative : c'est le rle des spcifications fonctionnelles permettant au concepteur de
comprendre ce que l'automatisme doit faire, face aux diffrentes situations pouvant se
prsenter.

le deuxime niveau ajoute aux exigences fonctionnelles les prcisions indispensables aux
conditions de fonctionnement des matriels, grce aux spcifications technologiques et
oprationnelles.

En sriant les problmes, fonctionnels d'un ct, technologiques de l'autre, cette


approche vite au lecteur de se sentir submerg d'emble sous une foule de dtails plus
nuisibles qu'utiles.
Niveau 1 - Spcifications fonctionnelles
Les spcifications fonctionnelles caractrisent les ractions de l'automatisme face aux
informations issues de la partie oprative, dans le but de faire comprendre au concepteur quel
devra tre le rle de la partie commande construire. Elles doivent donc dfinir de faon claire
et prcise les diffrentes fonctions, informations et commandes impliques dans
l'automatisation de la partie oprative, sans prjuger en aucune faon des technologies.
En consquence, ni la nature ni les caractristiques des diffrents capteurs ou
actionneurs utiliss n'ont leur place dans ces spcifications. Peu importe, ce niveau, que l'on
effectue un dplacement l'aide d'un vrin hydraulique ou pneumatique, ou encore d'un
moteur lectrique. Ce qu'il faut savoir c'est dans quelles circonstances ce dplacement doit
s'effectuer.

Chapitre 6 GRAFCET ou SFC

86

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

6.1.3. EXEMPLE INTRODUCTIF


Le GRAFCET est un outil de description du cahier des charges de la partie commande
du systme automatis utilisable tant au niveau 1 qu'au niveau 2.
Le fonctionnement de l'automatisme peut tre reprsent graphiquement par un
ensemble :

d'ETAPES auxquelles sont associes des ACTIONS

de TRANSITIONS auxquelles sont associes des RECEPTIVITES

de LIAISONS ORIENTEES reliant les tapes aux transitions


et les transitions aux tapes

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.

Chapitre 6 GRAFCET ou SFC

87

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Dcoupage Partie Oprative - Partie Commande


La partie oprative reprsente schmatiquement la figure 6.1. se compose
-

d'un poinon infrieur fixe C


d'un poinon suprieur A et d'une matrice B mobiles
d'un sous-ensemble de mise en place de la matire
d'un sous-ensemble d'vacuation de la pice comprime

Fonctionnement gnral du systme


Le cycle de travail est le suivant :

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.

quand la matire pulvrulente est en place, le poinon suprieur descend, comprime la


matire en pntrant dans la matrice puis remonte en position haute.

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.

enfin la matrice reprend sa place et un nouveau cycle peut alors commencer.

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.

Chapitre 6 GRAFCET ou SFC

88

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 6.1. Exemple d'une presse de compression de poudres

Nous pouvons maintenant reprsenter le fonctionnement d'une partie commande


comme une succession alterne d'tapes et de transitions.
En consquence nous associerons :

chaque tape, les actions effectuer

chaque transition, les informations permettant leur franchissement, sous forme d'une
condition logique appele rceptivit.

Chapitre 6 GRAFCET ou SFC

89

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

De cette manire le fonctionnement de la partie commande ncessaire la presse sera


dcrit ainsi:
Etape 1
Transition 1-2
Etape 2
Transition 2-3
Etape 3
Transition 3-4
Etape 4
Transition 4-5
Etape 5
Transition 5-6
Etape 6
Transition 6-1

;
;
;
;
;
;
;
;
;
;
;
;

action
rceptivit
action
rceptivit
action
rceptivit
action
rceptivit
action
rceptivit
action
rceptivit

:
:
:
:
:
:
:
:
:
:
:
:

mise en place de la matire


matire en place et dpart cycle
descente du poinon
fin de compression
remonte du poinon
poinon en haut
descente matrice
matrice en bas
vacuation de la pice comprime
pice vacue
remonte matrice
matrice en haut

Il s'avre plus commode de reprsenter ce fonctionnement sous forme graphique d'o le


GRAFCET de la figure 6.2., illustr des fins de comprhension des tats correspondants de
la partie oprative.
Aux actions ci-dessus, strictement ncessaires au fonctionnement de la presse,
pourraient s'ajouter d'autres actions vers le monde extrieur telles l'allumage de voyants, etc..
(par exemple "appel de l'oprateur pour vacuer la pice" dans l'tape 5).
Enfin notons que nous avons attribu un rle particulier l'une des tapes: l'tape
initiale. Le choix de cette tape est impos par des considrations fonctionnelles lies la
partie oprative.
GRAFCET de niveau 2
Le GRAFCET que nous venons d'tablir est un GRAFCET de niveau 1 car il ne prend
en compte que l'aspect fonctionnel sans aucune implication technologique : par exemple nous
ne savons pas comment physiquement donner l'ordre de descente au poinon, ni comment on
s'assure que la pice est vacue.
Il convient maintenant de prciser les choix technologiques des actionneurs et des
capteurs (figure 6.3.a.) :

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.

les mouvements du poinon suprieur et de la matrice sont effectus au moyen de vrins


hydrauliques double-effet. Les positions haute et basse du poinon et de la matrice sont
contrles l'aide de capteurs de fin de course (respectivement: a0 et a1, b1 et b0).

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.

Chapitre 6 GRAFCET ou SFC

90

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 6.2. GRAFCET de niveau 1 de la presse


La liste ci-aprs rappelle les variables introduites ainsi que leur signification
respective. Il est commode en pratique de les prsenter sous forme d'un tableau des
informations et des actions de la partie commande (figure 6.3.b.).

Chapitre 6 GRAFCET ou SFC

91

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

Chapitre 6 GRAFCET ou SFC

92

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a. Choix technologiques

c. GRAFCET niveau 2

b. Mise en vidence des variables

Figure 6.3. GRAFCET de niveau 2 de la presse

Chapitre 6 GRAFCET ou SFC

93

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

6.2. ELEMENTS DE BASE DU GRAFCET


L'exemple simplifi prcdent a permis de prsenter de manire intuitive les trois
concepts fondamentaux du GRAFCET : tape - transition - liaisons orientes. Nous allons
maintenant en donner des dfinitions plus prcises.

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 :
-

allumer L1 si DEF est prsent


allumer L4 si PP est absent
fermer la trappe n 2 si l'tape 15 est active ( X 15 = 1 )
lancer une temporisation de 10 secondes
etc.

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, ...).

Chapitre 6 GRAFCET ou SFC

94

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 6.4. Etapes du GRAFCET

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 :

position droite d'un mobile


fin de course de trappe ouverte actionn
temprature > 300C
valeur du compteur C 10 > valeur de consigne
on a appuy 3 fois sur le bouton M, etc.

Chapitre 6 GRAFCET ou SFC

95

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

6.2.3. LIAISONS ORIENTEES


Les liaisons indiquent les voies d'volution de l'tat du GRAFCET. Les liaisons sont
horizontales ou verticales sauf dans des cas isols o des traits obliques apporteraient de la
clart au diagramme. L'essentiel est d'adopter une reprsentation qui contribue au mieux la
clart du fonctionnement (Cf. norme NFZ 67-010).
Le sens gnral de parcours est du haut vers le bas. L'arrive et le dpart sur une tape
sont reprsents verticalement, l'arrive tant la partie suprieure. Si dans des cas trs
particuliers, l'arrive devait tre faite la partie infrieure une flche serait obligatoire.
Des flches doivent tre utilises chaque fois qu'une meilleure comprhension pourra
en rsulter et chaque fois que l'orientation fixe n'est pas respecte. Pour viter toute
ambigut, il est prfrable d'viter les croisements continus des lignes de liaison.

5
a

a. Etats logiques

9
y

t/8/5s

b. Changements d'tat

t/8/10s

10

c. Dpendant du temps

Figure 6.5. Transitions et rceptivits

Chapitre 6 GRAFCET ou SFC

96

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

6.2.4. REGLES D'EVOLUTION


Le caractre actif ou inactif de chacune des tapes devant voluer, les trois concepts
prcdents ne peuvent suffire dfinir un GRAFCET. Il est en plus ncessaire de fixer un
ensemble de rgles d'volution.
Rgle 1
L'INITIALISATION prcise les tapes actives au dbut du fonctionnement. Elles sont
actives inconditionnellement et repres sur le GRAFCET en doublant les cts des symboles
correspondants (figure 6.6.a.)
Rgle 2
Une TRANSITION est soit valide, soit non valide Elle est valide lorsque TOUTES
les tapes immdiatement prcdentes sont actives. Elle ne peut tre franchie que :
- lorsqu'elle est valide,
- ET que la rceptivit associe la transition est vraie.
La TRANSITION est alors obligatoirement franchie (figure 6.6.b.)
Rgle 3
Le franchissement d'une TRANSITION entrane l'activation de TOUTES les tapes
immdiatement suivantes et la dsactivation de TOUTES les tapes immdiatement
prcdentes.
Exemple : Cas de transition entre plusieurs tapes (figure 6.6.c.)
Lorsque plusieurs tapes sont relies une mme transition on convient, pour des
raisons pratiques, de reprsenter le regroupement de liaisons par deux traits parallles (cf.
normes NFZ 67.010 - ISO 1028).
Rgle 4
Plusieurs transitions simultanment franchissables sont simultanment franchies.
Rgle 5
Si au cours du fonctionnement une mme tape doit tre dsactive et active
simultanment, elle reste active.
Note importante :
La dure de franchissement d'une transition ne peut jamais tre rigoureusement nulle,
mme si, thoriquement (rgles 3 et 4) elle peut tre rendue aussi petite que l'on veut. Il en est
de mme de la dure d'activation d'une tape. En outre, la rgle 5 se rencontre trs rarement
dans la pratique. Ces rgles ont t ainsi formules pour des raisons de cohrence thorique
interne au GRAFCET.

Chapitre 6 GRAFCET ou SFC

97

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a. Etape initiale

b. Franchissement d'une transition

c. Transition entre plusieurs tapes

Figure 6.6. Rgles d'volution du GRAFCET

Chapitre 6 GRAFCET ou SFC

98

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

6.2.5. REPRESENTATION DES SEQUENCES MULTIPLES


Les aiguillages :
Choix conditionnel entre plusieurs squences
Un GRAFCET est gnralement constitu de plusieurs squences, c'est--dire de
plusieurs suites d'tapes excuter les unes aprs les autres et il est souvent ncessaire
d'effectuer une slection exclusive d'une parmi ces squences.
La figure 6.7.a. en donne un exemple.
Dans l'aiguillage form par le choix de la squence raliser, les diffrentes transitions
correspondant aux rceptivits x, y et z tant simultanment valides par la mme tape 5
pourraient, d'aprs la rgle 4 de simultanit, tre franchies simultanment. En pratique, on
est souvent amen rendre ces rceptivits exclusives. On peut galement introduire des
priorits (figure 6.7.b.)
Saut d'tapes et reprise de squence
Le saut conditionnel est un aiguillage particulier permettant de sauter une ou
plusieurs tapes lorsque les actions raliser deviennent inutiles, tandis que la reprise de
squence permet au contraire de reprendre une ou plusieurs fois la mme squence tant
qu'une condition fixe n'est pas obtenue (figure 6.7.c.)
Squences simultanes :
Un GRAFCET peut comporter plusieurs squences s'excutant simultanment mais
dont les volutions des tapes actives dans chaque branche restent indpendantes
Pour reprsenter ces fonctionnements simultans, une transition UNIQUE et deux
traits parallles indiquent le dbut et la fin des squences, c'est--dire l'activation simultane
des branches ainsi ralises et leur attente rciproque vers une squence commune (figure
6.8.).
A partir de l'tape 22, la rceptivit p provoque l'activation simultane des tapes 23
et 26. Ces deux squences 23-24-25 et 26-27-28-29 volueront alors de faon totalement
indpendante et ce n'est que :
- lorsque les tapes de fin de branche 25 et 29 tant actives,
- lorsque la rceptivit tant vraie (q.r =1),
que la transition sera franchie.
L'tape 30 devient alors active et les tapes 25 et 29 inactives.
Note : les conditions particulires chaque branche peuvent tre notes entre
parenthses au-dessus des traits parallles de regroupement.
La figure 6.9. donne l'exemple concret d'une unit de perage - taraudage.

Chapitre 6 GRAFCET ou SFC

99

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a. Choix conditionnel

b. Exclusivit et priorits

c. Saut d'tapes

Figure 6.7. Aiguillages dans un GRAFCET

Chapitre 6 GRAFCET ou SFC

100

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 6.8. Squences simultanes dans un GRAFCET

Chapitre 6 GRAFCET ou SFC

101

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 6.9. Exemple de squences simultanes : GRAFCET de niveau 1


d'une unit de perage-taraudage

Chapitre 6 GRAFCET ou SFC

102

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

6.3. ELEMENTS COMPLEMENTAIRES DU GRAFCET


6.3.1. VARIABLES D'ETAPE
Deux variables sont gnralement associes aux tapes :

la variable d'activit : il s'agit d'une variable boolenne gre automatiquement par le


systme et qui vaut 1 lorsque l'tape est active. Nous verrons quel usage on peut en faire
aux paragraphes 6.4. et 6.5.
Dans la norme CEI 1131-3, elle est dsigne par
nom_tape . X

la variable de dure d'activit : il s'agit d'une variable de type "temps" gre


automatiquement par le systme et qui indique depuis combien de temps l'tape est
active. Dans la norme CEI 1131-3, elle est dsigne par
nom_tape . T
Elle peut tre utilise pour faire intervenir le temps dans une rceptivit, par exemple :
(nom_tape . T > T # 10s)
Notons que, chez beaucoup de constructeurs, cette variable de dure n'est pas disponible
d'emble. C'est au niveau de la configuration du systme qu'il faut dclarer pour quelles
tapes bien prcises, on souhaite qu'une telle variable soit dfinie. Ceci videmment dans
le but d'conomiser du temps de calcul et de la place en mmoire.

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

Chapitre 6 GRAFCET ou SFC

103

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

6.3.2. TYPES D'ACTION


Au paragraphe 6.2.1., on a implicitement suppos que les actions associes aux tapes
taient effectues et maintenues durant toute la priode d'activit de l'tape.
Ce type d'action, qualifi de "non mmoris est suffisant pour dcrire n'importe quel
automatisme. Cependant, de nouveau pour simplifier la tche du programmeur, les
constructeurs d'abord, la norme CEI 1131-3 ensuite, ont introduit une srie d'autres types
d'action rpondant des besoins frquemment rencontrs en pratique.
La liste en est donne la figure 6.10.

Qualificatif
Norme
CEI
1131

Explication

Hors
norme

Disponibilit
chez les constructeurs
A-B

Telem

Isagraf

Cadep
a

Par dfaut - Non mmoris

Non mmoris

Positionn (mmoris)

Remise zro prioritaire

Limit dans le temps

Temporis

P1

Impulsion (activation)

P0

Impulsion (dsactivation)

SL

Mmoris et limit dans le

SD

temps

DS

Mmoris et et temporis

Temporis et mmoris

Fig. 6.10. Les diffrents types d'action

Chapitre 6 GRAFCET ou SFC

104

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

La figure 6.11. permet de mieux comprendre le sens des diffrents qualificatifs :

Pas de qualificatif ou N (Non mmoris) : l'action commence l'activation de l'tape et se


termine la dsactivation de celle-ci. C'est le mode de fonctionnement originel du
GRAFCET.

S (Positionn - mmoris) : l'action commence l'activation de l'tape et se poursuit mme


aprs la dsactivation de celle-ci; elle doit tre explicitement arrte dans une tape
ultrieure du GRAFCET contenant l'action en question affecte du qualificatif "R"

R (Remise zro prioritaire) : arrte l'action qualifie "R" ds l'activation de l'tape


laquelle elle est associe

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

D (Temporis) : l'action dmarre avec un retard dtermin par rapport l'activation de


l'tape, pour autant que l'tape soit toujours active ce moment.

P1 (Impulsion l'activation) : l'action est effectue une fois lors de l'activation de l'tape.

P0 (Impulsion la dsactivation) : l'action est effectue une fois lors de la dsactivation de


l'tape.

SL (Mmoris et limit dans le temps) : l'action dmarre l'activation de l'tape et s'arrte


aprs un dlai fix ou une remise zro prioritaire ("R") et, cela, indpendamment de
l'volution de l'tape elle-mme

SD (Mmoris et temporis) : l'action dmarre avec un retard dtermin par rapport


l'activation de l'tape et s'arrte aprs une remise zro prioritaire et, cela,
indpendamment de l'volution de l'tape elle-mme

DS (Temporis et mmoris) : l'action dmarre avec un retard dtermin par rapport


l'activation de l'tape pour autant que celle-ci soit toujours active ce moment (c'est ce qui
diffrencie ce cas du prcdent); l'action s'arrte aprs une remise zro prioritaire

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.

Chapitre 6 GRAFCET ou SFC

105

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 6.11. Les diffrents types d'action. Explication.


(Source : ALLEN-BRADLEY)

Chapitre 6 GRAFCET ou SFC

106

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a
n1

=1

n
n2

a. Avec les outils de base


du GRAFCET

b. Avec les outils prvus


par CEI 1131

Figure 6.12. Action impulsionnelle A

6.3.3. NATURE DES ACTIONS


Le plus souvent, une action consiste changer l'tat d'une ou plusieurs variables
boolennes (sorties, bits internes). En fait, la norme CEI 1131-3 donne une dfinition
beaucoup plus large de l'action : il peut s'agir d'un ensemble d'instructions logiques,
arithmtiques ou autres, crites dans un quelconque des langages de l'automate.
Ces instructions seront excutes chaque cycle de l'automate pendant toute la dure
de l'action, cette dure dpendant elle-mme de l'activation de l'tape associe et du type
assign l'action (cf. 6.3.2.).
Une action peut mme tre constitue d'un autre GRAFCET. Celui-ci est lanc
(activation de ses tapes initiales) au dmarrage de l'action et tu (dsactivation de toutes ses
tapes) lorsque l'action est arrte. La dure de l'action tant rgie par les rgles du
paragraphe 6.3.2.
La figure 6.13. extraite de la norme, donne quelques exemples d'actions.

6.4. STRUCTURATION D'UN GRAFCET


Pour conserver au GRAFCET tout son potentiel de clart, il est indispensable de
pouvoir le structurer. On entend par l que, dans le graphisme, on doit pouvoir utiliser des
tapes qui reprsentent elles-mmes des GRAFCET complets (on parle de macro-tapes). Si
cette possibilit n'existait pas le GRAFCET d'un automatisme quelque peu complexe
s'talerait, en effet, sur des mtres carrs de papier et serait pratiquement inexploitable.
La structuration permettra donc d'aborder la conception d'un automatisme de haut en
bas. On pourra partir d'un GRAFCET reprsentant les objectifs globaux du systme. Chaque
tape sera ensuite dcompose en GRAFCET plus dtaills et ainsi de suite jusqu' arriver
aux actions lmentaires sur le processus.

Chapitre 6 GRAFCET ou SFC

107

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Chapitre 6 GRAFCET ou SFC

108

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 6.13. Exemples de dclarations d'actions selon la norme CEI 1131


Les avantages de cette dmarche toute cartsienne sont importants :

existence de plusieurs niveaux de description de l'automatisme, les niveaux suprieurs


tant facilement comprhensibles mme par des non-spcialistes.
Le GRAFCET structur pourra donc constituer un outil de dialogue entre les diffrents
mtiers impliqus dans l'automatisation de la production (mcaniciens, lectriciens,
automaticiens), de mme d'ailleurs qu'entre ces mtiers et la direction.

possibilit de rpartir les travaux de programmation entre plusieurs quipes, chacune


pouvant se situer avec prcision dans l'ensemble.

simplification des oprations de test et de maintenance qui pourront rapidement se


circonscrire au sous-ensemble fonctionnel de la structure qui est en dfaut.
Pour pousser fond ce dernier avantage, on imposera qu' chacun des niveaux de la
dcomposition, les sous-GRAFCET obtenus tiennent sur une page de papier (ou sur
l'cran de la console), de manire pouvoir en saisir toute la logique d'un seul coup d'oeil.

6.4.1. UTILISATION DES OUTILS STANDARDS DU GRAFCET


La figure 6.14.
montre comment on peut crer des macro-tapes en utilisant les
variables d'tape X dfinies au paragraphe 6.3.1. L'activation de l'tape 6 du GRAFCET
principal lance l'excution du sous-GRAFCET, en attente de la rceptivit X6. L'volution du
GRAFCET principal est alors suspendue (rceptivit X103) jusqu' ce que le sous-GRAFCET
ait termin son cycle (activation de l'tape 103).

Chapitre 6 GRAFCET ou SFC

109

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Structuration d'un GRAFCET : utilisation d'outils standards


GRAFCET INITIAL

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

Figure 6.14. MACRO-ETAPES Utilisation de variables d'tape

Chapitre 6 GRAFCET ou SFC

110

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

6.4.2. UTILISATION D'ACTIONS GRAFCET


La norme CEI 1131-3 ne dfinit pas la notion de macro-tape. Les actions "GRAFCET"
qui ont t prsentes au paragraphe 6.3.3. peuvent cependant tre utilises dans un optique
de structuration fort semblable, comme cela est reprsent la figure 6.15.

A1
R1

100

A2
R2

6
101

A4

A5

A3

Figure 6.15. Structuration l'aide d'actions GRAFCET

6.4.3. SYNTAXES SPECIFIQUES


Dans les langages GRAFCET proposs par les constructeurs, on trouve en gnral des
syntaxes spcifiques pour la dfinition de macro-tapes. La figure 6.16. donne l'exemple du
langage TELEMECANIQUE.

Chapitre 6 GRAFCET ou SFC

111

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Structuration du GRAFCET : MACRO-ETAPES

M1
5

A1

IN
1

A2

R1
R2
2

A3

=1
R3
8

A4
R4

OUT

AUCUNE ACTION
PERMISE

A5

VISUALISATION DYNAMIQUE

Au moins une tape active en M1

Etape de sortie de M1 active

Figure 6.16. MACRO-ETAPES Syntaxe spcicifique (TELEMECANIQUE)

6.4.4. UTILISATION DU PRINCIPE "CLIENT-SERVEUR"


Le principe consiste ici utiliser une action du GRAFCET principal pour lancer le sousGRAFCET (cf. figure 6.17.). En quelque sorte, le GRAFCET principal fait une demande
service ("Dem 100" sur la figure) ou sous-GRAFCET. Une fois sa tche acheve, ce dernier
met un compte-rendu d'activit, galement sous forme d'action ("OK 100" sur la figure) qui
permet de poursuivre la squence principale.
Les avantages de cette manire de faire sont les suivantes :

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.

Chapitre 6 GRAFCET ou SFC

112

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

facilit de tester sparment le sous-GRAFCET : il suffit en effet de forcer la variable


"Dem 100".

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

Figure 6.17. Structuration du GRAFCET Principe du "client-serveur"

6.5. SYNCHRONISATION ET PROTECTION


On a vu, au paragraphe 6.2.5. que le mode de reprsentation GRAFCET autorisait le
lancement d'activits se droulant en parallle, de manire compltement indpendante. Il est
videmment parfois ncessaire de resynchroniser de telles activits de mme qu'il faut pouvoir
protger des ressources communes contre des accs simultans.

6.5.1. SYNCHRONISATION

Synchronisation explicite

Un premier mode de synchronisation a dj t prsent au paragraphe 6.2.5 :


regroupement des branches parallles sur une double barre horizontale avec une rceptivit
unique. Il est rappel sur le GRAFCET imaginaire de la figure 6.18.

Chapitre 6 GRAFCET ou SFC

113

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Synchronisation d'activits parallles : mthode explicite

R1

5
R2

R5
6

R3
4

9
R9
10
R6

7
R7
8

=1
11
R11

Figure 6.18. Synchronisation explicite


On y remarque trois branches parallles reprsentant des activits indpendantes
lances en mme temps (rceptivit R1) et une activit, en l'occurrence rduite l'tape 11,
qui ne peut se drouler que lorsque les trois activits prcdentes sont termines.
Ce mode de synchronisation s'applique dans des cas simples ou bien dans des cas o les
activits parallles sont si troitement lies qu'une reprsentation graphique explicite de leurs
interactions est indispensable.
Dans des cas plus complexes ou lorsque les activits parallles ne sont que faiblement
couples, on prfre en gnral, pour des raisons videntes de clart, considrer des
GRAFCET graphiquement indpendants et oprer une synchronisation implicite par variables
d'tape.

Chapitre 6 GRAFCET ou SFC

114

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Synchronisation implicite horizontale

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.

Synchronisation d'activits parallles : mthode implicite


SYNCHRONISATION HORIZONTALE

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

Figure 6.19. Synchronisation horizontale

Chapitre 6 GRAFCET ou SFC

115

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Synchronisation implicite verticale

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.

6.5.2. PROTECTION DE RESSOURCES COMMUNES


La protection de ressources communes est un autre problme qui se pose typiquement
lorsque l'on a affaire des activits se droulant en parallle. Les ressources communes
doivent tre dment verrouilles de manire viter des accs simultans non dsirs.
La figure 6.21. prsente l'exemple du chargement d'un haut fourneau par deux
wagonnets travaillant indpendamment. En l'occurrence, la ressource protger est
constitue d'un tronon de rail commun : il faut imprativement viter que les deux wagonnets
ne s'y engagent en mme temps. A cet effet, on prvoit, juste avant le tronon commun, deux
positions, WA et WB, o l'on peut arrter l'un des wagonnets si l'autre se trouve dans la zone
commune.

Chapitre 6 GRAFCET ou SFC

116

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Synchronisation d'activits parallles : mthode implicite


SYNCHRONISATION VERTICALE

500
R1
DEM100
DEM200
DEM300

501

OK100.OK200.OK300
DEM400

502

Dmarrer les activits 100, 200, 300


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

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

Figure 6.20. Synchronisation verticale

Chapitre 6 GRAFCET ou SFC

117

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 6.21. Exemple de ressource commune : chargement d'un haut fourneau


Le GRAFCET permet de grer trs lgamment les conflits d'accs comme cela est
montr la figure 6.22. On y trouve deux branches quasi identiques correspondant au
fonctionnement des deux wagonnets. L'tat libre ou occup de la ressource commune y est
reprsent par l'tat actif ou inactif de l'tape n 1.
Supposons que la ressource soit libre (tape 1 active) et que le wagonnet A arrive le
premier sa position d'attente WA. Par simple application des rgles d'volution du
GRAFCET (tapes 1 et 12 actives), on passe l'tape 13 et le wagonnet A peut aller se
dcharger dans le haut fourneau. Ce faisant, l'tape 1 a videmment t dsactive.
Si, pendant ce temps, le wagonnet B se prsente la position d'attente WB, il va s'y
trouver bloqu (tape 22) puisque l'tape 1 n'est plus active. Il ne pourra continuer son
chemin que lorsque l'tape 1 sera redevenue active c'est--dire, lorsque le wagonnet A sera
repass par sa position d'attente WA et, donc, que la voie sera libre.
Le mme raisonnement peut videmment tre fait en commenant par le wagonnet B.
Un dernier problme reste rsoudre : celui o les deux wagonnets atteignent simultanment
leur position d'attente (tapes 12 et 22 actives). La solution adopte dans l'exemple consiste
donner la priorit l'un des wagonnets. En introduisant la rceptivit /X12 dans la branche
de droite du GRAFCET, c'est le wagonnet A que l'on privilgie ainsi. En effet, l'tape 23 ne
pourrait tre active si l'tape 12 est inactive.
Sur la figure 6.23., le mme principe a t exploit mais, cette fois, au travers d'un
GRAFCET de synchronisation: le tronon commun est libre si l'tape 1 est active et occup si
l'tape 2 est active. Remarquons que le rle jou par l'tape 1 dans le mcanisme de
protection dcrit ci-dessus est tout fait similaire au rle du "smaphore" utilis par les
informaticiens en programmation multitche temps rel.

Chapitre 6 GRAFCET ou SFC

118

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 6.22. Mcanisme de protection de la ressource commune Mthode explicite

Chapitre 6 GRAFCET ou SFC

119

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 6.23. Mcanisme de protection de la ressource commune


Utilisation d'un graphe de synchronisation

Chapitre 6 GRAFCET ou SFC

120

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

6.6. TRANSPOSITION DU GRAFCET DANS UN LANGAGE


AUTOMATE
6.6.1. PRINCIPES DE LA TRANSPOSITION
Plusieurs mthodes de transposition du GRAFCET sont envisageables. On peut, en
gros, les classer en deux catgories :

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 d'dition et lisibilit du programme : celles-ci dpendent essentiellement de


l'adquation entre le langage de programmation utilis et la mthode de transposition
considre. Ainsi un langage de type ST se prtera parfaitement la mthode du
pointeur de phase tandis qu'un langage IL, qui gre assez pniblement les oprations sur
mots, s'accommodera mieux d'une mthode base sur les bits d'tape.

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].

Chapitre 6 GRAFCET ou SFC

121

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

6.6.2. DIFFICULTES POTENTIELLES


Dans ce paragraphe, on attirera l'attention sur certains problmes qui peuvent
apparatre en pratique. Ceux-ci rsultent, pour l'essentiel, du fait que les instructions
dcrivant le GRAFCET sont excutes de manire squentielle et cyclique.

Dure d'activation minimale d'une tape

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.

Problmes de paralllisme d'volution

Considrons, la figure 6.24., trois branches de GRAFCET senses voluer en parallle


mais avec certaines interactions. Plaons-nous d'abord dans le cas d'un GRAFCET idal.
La figure 6.24.a montre l'tat du GRAFCET un instant donn. Si la rceptivit R1
devient vraie, les rgles d'volution du GRAFCET l'amnent l'tat 6.24.c. aprs un passage
fugitif par l'tat 6.24.b. (cf. la remarque faite la fin du paragraphe 6.2.4.).
Prenons maintenant le cas rel d'une excution squentielle et supposons que la
scrutation soit effectue dans l'ordre 1, 2, 3 (figure 6.25.). Aprs un cycle de l'automate, on se
retrouve dans la situation 6.25.b. Aprs un second cycle, on atteint la situation stable et
correcte de la figure 6.25.c.
Supposons maintenant que la scrutation se fasse dans l'ordre 3, 2, 1 (figure 6.26).
Aprs un cycle de l'automate, on se retrouvera dans la situation 6.26.b. A1 est devenu vrai
mais trop tard pour tre vu par les branches 2 et 3.
Le cycle suivant conduit la situation de la figure 6.26.c. A2 est devenu vrai mais trop
tard pour tre vu par la branche 3. Entre temps, A11 est devenu vrai, si bien que la
rceptivit A 2 A 1 1 est fausse et que la branche 3 ne peut plus voluer. Le GRAFCET est
donc stabilis mais dans un tat incorrect.
A notre connaissance, il n'y a pas de solution radicale au problme. C'est l'utilisateur
de dtecter les situations potentiellement critiques et prendre les mesures ncessaires pour
viter les risques de dysfonctionnement.
On notera que ce problme est galement sous-jacent lorsque l'on utilise les langages
GRAFCET proposs par les constructeurs. La diffrence est que ces derniers ne donnent que
rarement des indications sur la manire dont les GRAFCET sont scruts. Il est de ce fait plus
difficile pour l'utilisateur de grer les situations critiques.

Chapitre 6 GRAFCET ou SFC

122

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.24. Branches parallles interactives Cas idal

Chapitre 6 GRAFCET ou SFC

123

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Chapitre 6 GRAFCET ou SFC

124

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Chapitre 6 GRAFCET ou SFC

125

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

6.6.3. ORGANISATION DES PROGRAMMES


D'une manire gnrale, on prfre sparer la partie du programme relative
l'volution du GRAFCET et la partie relative au calcul des actions. Celle-ci sera videmment
excute en second, afin de reflter l'tat le plus rcent du GRAFCET.
Cette manire de faire permet de regrouper, en une seule quation, toutes les
conditions qui affectent une mme sortie. Ceci est videmment de nature faciliter la mise au
point du programme. De mme, cela permet d'introduire plus facilement les diffrents types
d'actions dcrites au paragraphe 6.3.2..
La figure 6.28.a. montre le cas d'une action mmorise. Au lieu de devoir redfinir
l'action A chacune des tapes 2 4, il suffira d'crire l'quation de sortie unique de la figure
6.28.b.
De plus, avec cette organisation, il sera aussi plus facile de contrler le comportement
des sorties dans des situations particulires telles que l'arrt d'urgence. La figure 6.28.c.
correspond au cas d'une remise zro de la sortie A en cas d'arrt d'urgence. Dans l'hypothse
de la figure 6.28.a., il aurait fallu introduire la condition d'arrt d'urgence chacune des
tapes 2, 3 et 4.

Chapitre 6 GRAFCET ou SFC

126

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 6.27. GRAFCET de synchronisation


a. Etat initial

Chapitre 6 GRAFCET ou SFC

127

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 6.27. GRAFCET de synchronisation


b. Evolution (fautive) dans le cas d'une scrutation dans l'ordre 1 2 - 3

Chapitre 6 GRAFCET ou SFC

128

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Chapitre 6 GRAFCET ou SFC

129

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

6.6.4. PRINCIPALES METHODES DE TRANSPOSITION


L'organisation dcrite ci-dessus tant admise, diffrentes approches sont alors
envisageables pour grer l'volution du GRAFCET. Nous prsentons ci-dessous quelques
exemples utiliss dans la pratique mais qui ne sont certainement pas exhaustifs.
a.

Calcul pralable des conditions de transition

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.

Chapitre 6 GRAFCET ou SFC

130

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Exemple de GRAFCET

10
R1
20
R2
30

Calcul des conditions de transition


LD
AND
ST
LD
AND
ST

M10
R1
M11
M20
R2
M21

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

Calcul de l'volution
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

Calcul des actions

Figure 6.29. Calcul pralable des conditions de transition

Chapitre 6 GRAFCET ou SFC

131

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

b.

Utilisation de sauts conditionnels

Si le langage automate comporte des instructions de sauts conditionnels, on peut les


utiliser pour essayer d'viter les calculs inutiles. Comme le montre l'exemple de la figure
6.30., on saute d'tape en tape dans le GRAFCET jusqu' tomber sur une tape active. Dans
ce cas, on calcule la rceptivit associe; si elle est vraie, on fait voluer le GRAFCET. Qu'elle
soit vraie ou fausse, on saute ensuite directement la partie du programme qui calcule les
sorties, ce qui garantit que, si une nouvelle tape est active, elle le restera au moins pendant
un cycle de l'automate.
Cette mthode est moins favorable que la prcdente en ce qui concerne le forage des
rceptivits car il faudra en effet ici forcer de manire adquate toutes les variables qui
interviennent dans R1.
On pourrait videmment envisager un calcul pralable des rceptivits avec
mmorisation dans des bits internes mais dans ce cas, videmment, on perdrait une grande
partie de l'intrt des sauts conditionnels, surtout si les rceptivits sont des expressions
complexes.

ET10 :

LDN
JMPC
LD
S
R
JMP

M10
ET20
R1
M20
M10
ACTION

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

ET20 :

LDN
JMPC
LD
S
R
JMP

M20
ET30
R2
M30
M20
ACTION

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

ACTION :

calcul des actions

Figure 6.30. Utilisation de sauts conditionnels

Chapitre 6 GRAFCET ou SFC

132

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

c.

Utilisation d'un pointeur de phase

Pour les automates disposant d'instructions de sauts conditionnels et de calcul sur


mots, on peut encore procder d'une autre manire. Il faut commencer par s'assurer que les
GRAFCET dcrivant l'automatisme ne comportent pas de branches parallles. Si c'est le cas,
on les remplacera par autant de GRAFCET simples, synchroniss comme expliqu au
paragraphe 6.5.
A chaque GRAFCET, on associera alors un mot de donne, appel pointeur de phase,
dont la valeur courante indiquera le numro de l'tape active. Les conditions de transition
comporteront donc une comparaison entre le numro de l'tape active et la valeur courante du
pointeur de phase. En cas d'volution, c'est le numro de la nouvelle tape active qui
deviendra la valeur courante du pointeur de phase.
Cette mthode est certainement plus gourmande en temps de calcul que la prcdente,
par exemple, puisqu'elle implique des oprations sur mots. Par contre, elle prsente des
avantages intressants qui ont dj t voqus au paragraphe 6.6.1.
D'une part, elle garantit de manire intrinsque qu'il n'y aura jamais qu'une seule
tape active la fois dans un GRAFCET. Ceci peut s'avrer utile en phase de test lorsque l'on
procde des forages d'tapes et/ou de rceptivits. Dans les autres mthodes, bases sur les
bits, il faut en effet tre trs vigilant lors de tels forages pour garder le GRAFCET dans un
tat cohrent.
D'autre part, elle permet de suivre trs facilement l'volution d'un GRAFCET : par
simple consultation de la valeur de son pointeur de phase, on connat le numro de l'tape
active.
Une remarque analogue celle du cas prcdent peut tre faite propos du forage des
rceptivits, avec les mmes conclusions.
La figure 6.31. montre la transposition du GRAFCET de l'exemple en utilisant un
pointeur de phase d'abord en langage IL puis en langage ST. Ce dernier est manifestement
mieux adapt au problme.

Chapitre 6 GRAFCET ou SFC

133

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

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 :

Figure 6.31. Illustration de la mthode du pointeur de phase

Chapitre 6 GRAFCET ou SFC

134

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

7.1.1. LE BESOIN D'OUTILS-METHODES


L'automatisation de la production exige la ralisation de machines automatiques de
plus en plus complexes mais en mme temps offrant plus de scurit et une plus grande
souplesse d'emploi.
Par ailleurs, un systme automatis est un carrefour : pour le concevoir, le raliser, le
mettre au point, le rparer, le faire voluer, des hommes ayant des comptences et des
motivations diverses doivent se comprendre.
Par consquent, le Dveloppement de la Production Automatise passe par la cration,
la promotion et la pratique d'outils-mthodes utilisant des concepts clairement dfinis et
facilitant la conception, la ralisation et l'exploitation des machines automatiques.

Chapitre 7 GEMMA

135

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Ressenti d'abord au niveau de la description du fonctionnement, ce besoin


d'outils-mthodes a donn naissance au GRAFCET. Des outils-mthodes complmentaires se
rvlent maintenant ncessaires.

7.1.2. LE BESOIN D'UN VOCABULAIRE PRECIS


Dans le domaine des Modes de Marches et d'Arrts, le vocabulaire pratiqu est
imprcis et parfois mme contradictoire : il conduit des incomprhensions graves.
Par exemple, trs utiliss des praticiens les termes "MARCHE AUTOMATIQUE,
SEMI-AUTOMATIQUE, MANUELLE" recouvrent des notions toutes relatives : selon son
exprience et son environnement, chaque technique, chaque Socit et chaque individu leurs
donnent des significations diffrentes. Ainsi, une Marche semi-automatique sera souvent
considre comme une Marche automatique pour des systmes moins complexes.
Par ailleurs, la liste des termes utiliss pour dnommer les Modes de Marches s'allonge
sans pour autant apporter d'ide unificatrice.
Quelques termes utiliss, titre d'exemple : Marche "pas pas", Marche "coup par
coup", Marche "d'intervention", Marche "rglage", Marche "cycle par cycle", ... Arrt
"d'urgence", Arrt "figeage", Arrt "fin de mouvement", Arrt " l'tape" ...
Par consquent, pour que toutes les personnes concernes se comprennent, il est
indispensable de dfinir un vocabulaire prcis en le rattachant a des critres fondamentaux,
indpendants du genre de l'quipement et de la technologie de ralisation.

7.1.3. LE BESOIN D'UNE APPROCHE GUIDEE


Le plus souvent lors de l'tude d'un systme automatis, les besoins en Modes de
Marches et d'Arrts sont peu ou mal exprims. Aprs ralisation du systme, c'est alors au
prix de modifications et ttonnements coteux qu'il faut rpondre ces besoins essentiels.
Le concepteur a donc besoin d'une approche guide et systmatique, du genre
"check-list", pour tout prvoir ds l'tude et envisager les consquences, tant pour la partie
oprative que pour la partie commande du systme raliser.
Le GRAFCET permet une expression prcise de certains Modes de Marches et d'Arrts.
Seul, il ne permet cependant pas l'approche systmatique et globale ncessaire.
Pour les Modes de Marches et d'Arrts, le GEMMA rpond ces besoins : c'est un
outil-mthode qui dfinit un vocabulaire prcis, en proposant une approche guide
systmatique pour le concepteur : le guide graphique GEMMA.

7.2. LES CONCEPTS DE BASE


Le GEMMA constitue une mthode d'approche des Modes de Marches et d'Arrts,
fonde sur quelques concepts de base matrialiss par un Guide graphique.
La dmarche propose comporte 2 temps :
1. le recensement des diffrents modes envisags, et la mise en vidence des enchanements
qui les relient;

Chapitre 7 GEMMA

136

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

2. la dtermination des conditions de passage d'un mode l'autre.


Commenons par dcouvrir les concepts de base du GEMMA.

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.) :

Figure 7.1. Les 2 zones du GEMMA


une zone correspondant l'tat inoprant de la partie commande (PC) elle ne figure
que pour la forme;
une zone permettant de dcrire ce qui se passe lorsque la partie commande (PC)
fonctionne normalement c'est la zone qui couvre la quasi-totalit du guide graphique.

Chapitre 7 GEMMA

137

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

7.2.2. CONCEPT N 2 : LE CRITERE "PRODUCTION"


Un systme industriel automatis est conu fondamentalement pour produire une
certaine valeur ajoute. C'est la justification principale de la construction du systme.
Cette production de valeur ajoute peut tre trs varie : modification des produits,
contrle, manutention, stockage, et cependant, l'exprience montre qu'on peut toujours la
caractriser pour un systme donn de faon prcise et unique.
Ce sera donc notre premier critre : on dira que le systme est "en production" si la
valeur ajoute pour laquelle le systme a t conu est obtenue, on dira que le systme est
"hors production" dans le cas contraire (figure 7.2.).

Figure 7.2. Le critre "production"

7.2.3. CONCEPT N 3 : LES 3 GRANDES FAMILLES DE MODES DE MARCHES


ET D'ARRETS
On peut classer en 3 grandes familles les Modes de Marches et d'Arrts d'un systme
automatis :

Figure 7.3. Les 3 grandes familles de modes de marches et d'arrts

Chapitre 7 GEMMA

138

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

7.2.4. LES "RECTANGLES-ETATS"


Sur le guide graphique GEMMA (voir 7.3.), chaque Mode de Marche ou d'Arrt dsir
peut tre dcrit dans l'un des "rectangles-tats" prvus cette fin (figure 7.4.).

Chapitre 7 GEMMA

139

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

La position d'un rectangle-tat sur le guide graphique dfinit :


son appartenance l'une des 3 familles, procdure de fonctionnement, d'arrt ou de
dfaillance;
le fait qu'il soit "en" ou "hors production".
Le rectangle-tat porte une dsignation de Marche ou d'Arrt utilisant un vocabulaire
ne pouvant prter confusion : c'est dessein qu'ont t cartes, pour ces dnominations
gnrales, les expressions communment utilises pour dnommer les Modes de Marches ou
d'Arrts, qui sont souvent comprises diffremment de chacun.
Par contre, ces expressions usites pourront tre employes dans le "langage machine",
prcisant dans le cadre des "rectangles-tats" les Modes de Marches ou d'Arrts pour une
machine dtermine. Par exemple, dans le "rectangle-tat" < Production normale >, on
trouvera la prcision : "moulage semi-automatique".
Citons des exemples :

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.

Figure 7.4. Les rectangles-tats

Chapitre 7 GEMMA

140

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

7.3. LES ETATS DE MARCHES ET D'ARRETS


Le Guide graphique GEMMA (voir ci-dessous) porte les "rectangles-tats" dans lesquels
seront exprims les diffrents tats de Marches et d'Arrts pris par la machine.
En pratique, pour une machine donne, on ne choisira parmi les tats proposs par le
guide que ceux qui sont ncessaires, et on prcisera le nom de chacun des tats retenus,
l'intrieur du "rectangle-tat" correspondant.
Pour effectuer ce choix, il est ncessaire de bien comprendre la signification de chacun
des tats de Marches et d'Arrts proposs par le guide graphique : c'est l'objet de ce chapitre.

7.3.1. UN "RECTANGLE-TAT" TYPE


F2 est le repre du "rectangle-tat", F signifie que l'tat propos fait partie des
procdures de Fonctionnement. (A pour procdures d'Arrt, et D pour procdures en
Dfaillance) (figure 7.5).
< Marche de prparation > est la dnomination gnrale de l'tat propos. Les <>
indiquent l'emploi du "langage gnral".
Les principales possibilits de liaisons d'tat tat sont suggres.

Figure 7.5. Exemple de rectangle-tat < Marche de prparation >

7.3.2. UTILISATION D'UN "RECTANGLE-TAT"


I - L'tat est retenu pour la machine. Il est prcis dans le "langage machine" (en
criture cursive sur la figure).
Les liaisons retenues sont indiques en traits forts (figure 7.6.a).
Le "langage gnral" est celui propos par le guide graphique : il s'applique toutes les
machines et systmes automatiss. Le "langage machine" est celui qui est communment
pratiqu pour la machine particulire que l'on considre.
"Langage gnral" et "langage machine" se compltent dans chaque "rectangle-tat",
pour obtenir une dfinition prcise et claire pour tous, des Modes de Marches et d'Arrts.
II - Les conditions d'volution entre tats sont indiques sur les liaisons (figure 7.6.b).

Chapitre 7 GEMMA

141

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Dans le cas prsent, temprature de 300.

a.

b.

Figure 7.6. Utilisation d'un rectangle-tat

7.3.3. LES TATS "F "


Ce sont les tats de marches situs dans la zone "procdures de fonctionnement" du
guide graphique GEMMA.
F1 < Production normale >
Dans cet tat, la machine produit normalement : c'est l'tat pour lequel elle a t
conue. C'est ce titre que le "rectangle-tat" a un cadre particulirement renforc. On peut
souvent faire correspondre cet tat un GRAFCET que l'on appelle GRAFCET de base.
Remarque : cet tat ne correspond pas ncessairement une marche automatique.
F2 < Marche de prparation >
Cet tat est utilis pour les machines ncessitant une prparation pralable la
production normale : prchauffage de l'outillage, remplissage de la machine, mises en routes
diverses, etc.
F3 < Marche de clture >
C'est l'tat ncessaire pour certaines machines devant tre vides, nettoyes, etc., en
fin de journe ou en fin de srie.
F4 < Marche de vrification dans le dsordre>
Cet tat permet de vrifier certaines fonctions ou certains mouvements sur la machine,
sans respecter l'ordre du cycle.
F5 < Marche de vrification dans l'ordre >
Dans cet tat, le cycle de production peut tre explor au rythme voulu par la personne
effectuant la vrification, la machine pouvant produire ou ne pas produire.

Chapitre 7 GEMMA

142

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

F6 < Marche de test >


Les machines de contrle, de mesure, de tri..., comportent des capteurs qui doivent tre
rgls ou talonns priodiquement : la < Marche de test > F6 permet ces oprations de
rglage ou d'talonnage.

7.3.4. LES TATS "A "


Situs dans la zone "procdures d'Arrt de la partie oprative", ces tats correspondent
des arrts normaux ou des marches conduisant des arrts normaux.
A1 <Arrt dans l'tat initial >
C'est l'tat "repos" de la machine. Il correspond en gnral la situation initiale du
GRAFCET : c'est pourquoi, comme une tape initiale, ce "rectangle-tat" est entour d'un
double cadre.
Pour une tude plus facile de l'automatisme, il est recommand de reprsenter la machine
dans cet tat initial.
A2 <Arrt demand en fin de cycle >
Lorsque l'arrt est demand, la machine continue de produire jusqu' la fin du cycle. A2
est donc un tat transitoire vers l'tat A1.
A3 < Arrt demand dans tat dtermin >
La machine continue de produire jusqu' un arrt en une position autre que la fin de
cycle : c'est un tat transitoire vers A4.
A4 < Arrt obtenu >
La machine est alors arrte en une autre position que la fin de cycle.
A5 < Prparation pour remise en route aprs dfaillance >
C'est dans cet tat que l'on procde a toutes les oprations (dgagements, nettoyages,..)
ncessaires une remise en route aprs dfaillance.
A6 < Mise P.O. dans tat initial>
La machine tant en A6, on remet manuellement ou automatiquement la Partie
Oprative en position pour un redmarrage dans l'tat initial.
A7 < Mise P.O. dans tat dtermin >
La machine tant en A7, on remet la P.O. en position pour un redmarrage dans une
position autre que l'tat initial.

7.3.5. LES TATS "D "


Ce sont les tats de Marches et d'Arrts situs dans la zone "procdures ou
Dfaillances" de la partie oprative.

Chapitre 7 GEMMA

143

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

D1 <Arrt d'urgence >


C'est l'tat pris lors d'un arrt d'urgence: on y prvoit non seulement les arrts, mais
aussi les cycles de dgagements, les procdures et prcautions ncessaires pour viter ou
limiter les consquences dues la dfaillance.
D2 < Diagnostic et/ou traitement de dfaillance >
C'est dans cet tat que la machine peut tre examine aprs dfaillance et qu'il peut
tre apport un traitement permettant le redmarrage.
D3 < Production tout de mme >
Il est parfois ncessaire de continuer la production mme aprs dfaillance de la
machine : on aura alors une "production dgrade", ou une "production force", ou une
production aide par des oprateurs non prvus en < Production normale >.
Le tableau de la page suivante donne la structure complte du GEMMA.

Chapitre 7 GEMMA

144

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Chapitre 7 GEMMA

145

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

7.3.6. EXEMPLES D'UTILISATION DU GEMMA


On trouvera ci-aprs deux exemples d'utilisation du GEMMA d'aprs des documents du
CETIM (Centre Technique des Industries Mcaniques France).

1er exemple introductif : banc d'essai pour transmissions cardan


La machine :
Entirement automatique, ce banc d'essai est conu pour simuler le travail de
transmissions cardan pour vhicules. La transmission cardan est monte sur une armature
articule permettant de lui donner l'angle souhait grce l'action d'un vrin hydraulique.
Un moteur fait tourner la transmission la vitesse V souhaite, et un frein permet de la
solliciter avec le couple C voulu.
Les trois facteurs ainsi matriss pour tester la transmission cardan sont donc :
l'angle ;
la vitesse V ;
le couple C.
Dune trs longue dure, les essais tournent 24 h sur 24, selon un programme
prenregistr, donnant tous moments les valeurs de la vitesse V, du couple C, et de l'angle
pris par la transmission au long d'un parcours type : dmarrages, virages, arrts, etc.
Priodiquement, le programme demande une dpose et un contrle de la transmission avant
d'autoriser la poursuite des essais.

Banc d'essai d'une transmission cardan

Chapitre 7 GEMMA

146

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

Le pupitre de commande comporte un clavier et un cran,


afin de permettre l'criture des programmes sur cassette.

Chapitre 7 GEMMA

147

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Chapitre 7 GEMMA

148

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Lorsque le programme demande l'opration de dpose et de contrle de la transmission,


un signal "fin de srie essais" nous conduit en A2, puis en A4 lorsque l'arrt est obtenu. Aprs
contrle et remontage, il suffit d'agir sur le bouton "marche", le slecteur de marche tant en
"auto" pour repartir en F1 avec la srie suivante dessais dans le programme.
Lorsque les essais sont termins, un signal "Fin essais" nous conduit en A2, puis en A1,
la cassette tant termine.
Lorsque la machine s'carte de plus de 10 % des valeurs demandes par le programme
pour V, C ou , nous passons en D3, < Production tout de mme >. Les essais continuent, mais
dfaut et heure sont affichs sur l'cran. Lorsqu'un oprateur survient, il peut alors arrter la
machine vers A3 ou acquitter et revenir en F1.
Atteinte par la slection "manuel", la < Marche de vrification > F4 permet au choix :

de vrifier le fonctionnement des asservissements de V, C et , par affichage des


performances mini et maxi, l'aide des potentiomtres prvus au pupitre ;

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".

On remarquera que, partir du guide graphique, le rectangle tat F4 a t obtenu par


le regroupement des rectangles-tats F4 et F5 dorigine. De telles adaptations du guide
graphique donnent souvent la souplesse ncessaire pour lappliquer des exemples trs
diffrents.
S'il y a action sur le bouton d'arrt d'urgence (AU) ou s'il y a dpassement de V ou C
maximum autoriss pour la transmission essaye, nous passons en D1 < Arrt d'Urgence > ce
qui provoque la coupure dnergie de la PO et le freinage. En D2, l'heure et la raison de l'arrt
sont affiches. Lorsqu'un oprateur survient, il peut alors agir sur le bouton "arrt" pour
passer en A5, remettre les consignes zro et, par action sur le bouton acquittement, passer
en A7 pour redmarrer depuis A4.
Au travers de cet exemple, ltudiant peut commencer percevoir les objectifs et
rsultats du GEMMA. La mthode de mise en uvre sera plus explicite dans les pages
suivantes.

Chapitre 7 GEMMA

149

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

2e exemple introductif : machine remplir et boucher

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 :

le poste de remplissage comporte un doseur volumtrique rglable, m par le vrin C, et


une vanne de fermeture D, monostable;

le poste de bouchage comporte un transfert de bouchon par vrin G, un moteur


pneumatique F pour tourner le bouchon visser, et un vrin d'avance E. Le vrin E
avance jusqu'au bouchon prsent, recule avec ce bouchon pendant le retrait de G, puis
avance nouveau avec rotation du moteur F, pour visser le bouchon.

Chapitre 7 GEMMA

150

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Dfinition des Modes de Marches et d'Arrts


Le guide graphique GEMMA ci-dessous permet la dtermination des tats de marches
et d'arrts ncessaires cette machine :
A1 -

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 -

La < Marche de clture> de la case F3 permet l'opration inverse, c'est--dire l'arrt


progressif de la machine avec vidange des bidons.

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 -

Pour le rglage du doseur, la vrification du distributeur de bouchons.... une commande


spare des mouvements est prvue : case 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

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Chapitre 7 GEMMA

153

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Conditions d'volution entre Modes de Marches et d'Arrts


Ces conditions d'volution sont maintenant portes sur le GEMMA, le faisant voluer
comme montr ci-dessous.
En dterminant ces conditions d'volution nous prenons conscience :
1 - de la ncessit de capteurs complmentaires dtectant la prsence de bidons sous chacun
des postes : CP1. CP2, CP3 permettront la mise en route progressive demande en F2 et la
vidange progressive demande en F3.
2 - des besoins au niveau du pupitre de commande : boutons fournissant les conditions
d'volution donnes par l'oprateur.
3 - de complter le GRAFCET de base avec les proccupations de Marches et d'Arrts.
GRAFCET complt
Le GRAFCET de base est ici complt par les besoins en Modes de Marches et d'Arrts
exprims par le GEMMA.

Chapitre 7 GEMMA

154

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Chapitre 7 GEMMA

156

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

7.4. METHODE DE MISE EN UVRE


Comme nous l'avons montr, le GEMMA est non seulement une mthode systmatique
pour slectionner les Modes de Marches et d'Arrts lors de la conception d'une machine
automatique, mais aussi un moyen pratique pour les prsenter et les exploiter.
Les deux exemples introductifs que nous avons explors nous permettent de dgager
les rgles pratiques pour l'emploi du GEMMA dans la conception d'un quipement automatis.

7.4.1. UTILISATION DU GEMMA POUR L'ETUDE D'UNE MACHINE DE


PRODUCTION AUTOMATISEE
Comme nous l'avons montr, la pratique courante de l'tude des machines de
Production Automatise n'aborde pas mthodiquement la slection des Modes de Marches et
d'Arrts, ce qui entrane souvent des modifications longues et coteuses de la machine aprs
ralisation. En mettant en uvre le GEMMA dans l'tude, les Modes de Marches et d'Arrts
sont prvus ds la conception et intgrs dans la ralisation.
Voici une squence d'tude typique.
I
paralllement

tude du processus d'action


dfinition du cycle de production (GRAFCET fonctionnel)

II
paralllement

dfinition de la partie oprative et des capteurs


tablissement du GRAFCET oprationnel de base

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

7.4.2. SELECTION DES MODES DE MARCHES ET D'ARRETS


La partie oprative de la machine tant dfinie, ainsi que le GRAFCET du cycle de
production normale, le guide graphique GEMMA est mis en uvre, dans un premier temps,
pour slectionner et prciser les Modes de Marches et d'Arrts ncessaires.
Deux proccupations simultanes permettent d'aboutir facilement :
1. Envisager tous les "rectangles-tats" proposs par le GEMMA

Chapitre 7 GEMMA

157

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

On pourra commencer par dmarrer la machine, c'est--dire passer de A1 F1, en


se posant la question : une <marche de prparation> F2 est-elle ncessaire ?

On arrtera alors la machine, au choix :


- en fin de cycle circuit F1 A2 A1
- dans une autre position circuit F1 A3 A4

On examinera les cas de dfaillance,


- avec <Arrt d'urgence>, D1
- avec <Production tout de mme>, D3

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.

Sur le guide graphique GEMMA,


- le "rectangle-tat" A1 <Arrt dans l'tat initial> comporte un double cadre

(1)

pour montrer sa correspondance avec


la situation initiale du GRAFCET
- le "rectangle-tat" F1 <Production normale> a un cadre particulirement renforc pour mettre en vidence
l'importance de cet tat sur toute machine

Chapitre 7 GEMMA

158

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

7.4.3. CONDITIONS D'EVOLUTION ENTRE MODES DE MARCHES ET D'ARRETS


Ainsi personnalis avec les Modes de Marche et d'Arrts retenus pour la machine, le
GEMMA est alors utilis pour prciser les informations ncessaires pour passer d'un tat
l'autre : c'est la mise en vidence de ces conditions de passage qui permet alors de concevoir le
pupitre de commande (actions de l'oprateur), de prvoir ventuellement des capteurs
supplmentaires sur la machine, de complter le GRAFCET, etc.
On peut passer d'un tat l'autre de 2 manires (figure 7.7.) :
1 - avec une condition d'volution : elle est porte sur la liaison oriente entre tats; la
condition peut tre lie l'action sur un bouton du pupitre de commande, ou
l'actionnement d'un capteur situ sur la machine.
2 - sans condition explicite : dans certaines volutions entre tats, l'criture d'une condition
n'apporterait aucune information utile : c'est le cas lorsque celle-ci est vidente (exemple,
passage de A2 A1 ci-dessous), ou parce que l'tat atteint dpend de l'intervenant.
Avec les conditions d'volution provenant de l'oprateur, apparaissent les besoins en
boutons : le pupitre de commande peut alors tre dfini : boutons 2 ou 3 positions, bistables
ou monostables, etc.
Aux conditions d'volution ne provenant pas de l'oprateur doivent correspondre des
capteurs sur la machine : dtecteurs de dfauts, dtecteurs de prsence pice, etc., dont le
besoin est ainsi mis en vidence.

Figure 7.7. Evolution entre modes de marches et d'arrts

Chapitre 7 GEMMA

159

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

7.4.5. CAS PARTICULIER : MACHINES NECESSITANT L'INTERVENTION D'UN


OPERATEUR A CHAQUE CYCLE
Communment appeles "semi-automatiques", ces machines doivent tre servies par
un oprateur chaque cycle. De faon ne pas astreindre l'oprateur suivre la cadence de la
machine, il est prfrable de le rendre matre de cette cadence avec un bouton qui lui permet
de dclencher chaque cycle lorsque sa tche est acheve.(1)
L'intervention de l'oprateur peut tre traduite sur un GEMMA, de deux manires,
selon la machine :
1. Action "Dpart Cycle" extrieure F1
A chaque cycle, la machine part de l'tat initial A1 et, par la condition DCY, signal
"Dpart Cycle" donn par l'oprateur, passe dans l'tat F1. Lorsque le cycle est termin, la
machine reprend l'tat A1 sans intervention de l'oprateur. Cette mthode convient lorsque
tout peut tre arrt sur la machine, mme lors d'une courte pause (figure 7.8.a).
2. Action "Dpart Cycle" intrieure F1
La machine est mise en route via l'tat F2 et est alors prte produire dans l'tat F1.
DCY est ici intgr dans le GRAFCET de production normale : pour produire, la machine
attendra l'action de l'opration en restant en F1. Cette mthode convient lorsqu'il faut laisser
se continuer des actions (moteur, chauffage) lors des pauses courtes (figure 7.8.b).

(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

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a.

b.

Figure 7.8. Intervention d'un oprateur chaque cycle

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".

7.5.1. ENRICHISSEMENT DU GRAFCET DE BASE


C'est la mthode utilise dans l'exemple introductif de la machine remplir et
boucher (cf. 7.3.6.). A partir du GRAFCET de BASE correspondant au rectangle-tat Fl <
Production Normale >, on examine ce qu'il faut rajouter pour que les autres modes puissent
tre assurs. Ceci revient souvent ajouter des "branches" ou "squences" exclusives les unes
des autres, o les conditions d'aiguillages sont les conditions de passage d'un rectangle-tat
un autre.
EXEMPLE
Considrons un Systme dot d'une <marche de clture> F3 constitue d'une squence
d'ouverture d'un magasin pour rapprovisionnement.
Nous trouvons les lments suivants (figure 7.9.)

Chapitre 7 GEMMA

161

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

a) Extrait du "GRACET de BASE"

b) Extrait du GEMMA du Systme

c) Extrait du GRAFCET COMPLETE


(obtenu par adjonction d'une branche au GRAFCET de BASE)

Figure 7.9. Exemple d'enrichissement du GRAFCET de base

Chapitre 7 GEMMA

162

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

7.5.2. DECOUPAGE EN TACHES


Il arrive frquemment qu'un ou plusieurs rectangles-tats autres que Fl <Production
normale> exigent la mise en oeuvre de cycles assez complexes justifiant pour chacun d'eux une
tude spare.
Il peut tre alors intressant de structurer chacun de ces modes, y compris Fl
<Production normale> en tches autonomes, dont on tudiera ensuite les conditions de
coordination.
Le GRAFCET permet facilement de reprsenter une telle structuration en tches.
Une fois que chacun des rectangles-tats intresss est dcrit par GRAFCET sous
forme de tche autonome (tche de prparation, tche de clture, tche de test...) il convient
d'examiner attentivement les conditions de coordination entre tches.
Pour cela, on peut recourir 2 types de mthodes :
- coordination "horizontale"
- coordination "verticale" ou "hirarchise"
A - Coordination HORIZONTALE
Ce procd est intressant lorsque aucune tche n'est prminente et que chacune peut
en lancer une autre.
Reprenons l'exemple donn plus haut o l'on trouve une <marche de clture> F3 que
l'on structure en tche F3. Le GRAFCET de base correspondant Fl est galement structur
en tches (figure 7.10.).
Cet exemple montre qu'on peut facilement enchaner les tches selon le schma
apparaissant sur le GEMMA.
Ce procd est cependant rserver lorsqu'il y a peu de tches et que les liaisons entre
elles sont assez limites. De plus, il est souhaitable qu' tout instant une tche et une seule
soit "en cours d'excution".
Ceci est le cas pour un systme rgi par un GEMMA unique, puisqu'il y a tout instant
unicit du mode.

Chapitre 7 GEMMA

163

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 7.10. Coordination horizontale


B - Coordination VERTICALE ou HIERARCHISEE
Reprenons l'exemple dj voqu plus haut et dotons le systme d'une <marche de
prparation> F2 correspondant une squence de fermeture du magasin aprs
rapprovisionnement. il a de plus un mode A1, <arrt dans un tat initial>. Il peut avoir
d'autres rectangles-tats, mais nous ne considrerons que A1, F1, F2, F3.
La partie correspondante du GEMMA est montre ci-dessous :

Chapitre 7 GEMMA

164

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Il est alors ais d'en dduire la partie correspondante du GRAFCET de niveau


suprieur :

La figure suivante donne alors une vue schmatise des GRAFCETS des tches T100,
T200, T300 (de niveau infrieur) :

Chapitre 7 GEMMA

165

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

7.6. TRAITEMENT DES ARRETS D'URGENCE


7.6.1. PROBLEMES
On sait qu'un des intrts du GRAFCET est de n'indiquer chaque situation que les
seules circonstances qui la font voluer.
L'ARRET D'URGENCE devant toujours faire voluer la situation de la partie
commande, on devrait en toute rigueur le faire apparatre chaque tape du GRAFCET. Ds
que le cas trait devient un peu important le GRAFCET devient compltement illisible. Il en
dcoule qu'il est malais de considrer l'arrt d'urgence AU comme une information d'entre
comme les autres. C'est de plus contraire l'esprit mme de l'urgence accordant cet arrt
une sorte de "Super Priorit". Pourtant il est intressant (mais ce n'est pas toujours possible)
de pouvoir formaliser le comportement attendu d'un systme lors de l'apparition de l'information AU. Deux approches sont gnralement envisages :
figeage du GRAFCET et annulation des actions;
lancement d'une procdure d'urgence qui peut videmment dpendre du moment o
l'arrt d'urgence se produit.
Dans le cas du figeage du GRAFCET, la commande des actionneurs doit tre
particulirement bien tudie selon le type de raction souhaite en cas d'arrt d'urgence. Par
exemple :
Pour des distributeurs commandant des vrins :
commande monostable, si 1'on dsire un retour dans une position donne.
commande bistable, si l'on dsire un arrt en fin de mouvement,
distributeurs 3 positions, si l'on dsire un arrt sur place...
Pour des contacteurs commandant des moteurs :
commande monostable.
cblage incluant des "surcourses" en scurit...
De plus, le problme de la reprise aprs arrt d'urgence est un problme
particulirement dlicat.

7.6.2. SOLUTIONS PRAGMATIQUES


Pour viter la programmation explicite du comportement en cas d'arrt d'urgence, les
constructeurs offrent des fonctions spciales.
Si elles allgent considrablement la
programmation, ces fonctions restreignent videmment les possibilits ce qui a t prvu
par le constructeur.
Nous donnerons ci-dessous quelques exemples d'origine TELEMECANIQUE.
Les fonctions en question sont mises en oeuvre par l'intermdiaire de bits "systme".
- Bit SY21 : sa mise 1 provoque l'initialisation du GRAFCET (activation des tapes
initiales)

Chapitre 7 GEMMA

166

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

- Bit SY22 : sa mise 1 provoque la remise zro gnrale du GRAFCET


- Bit SY23 : sa mise 1 provoque le figeage du GRAFCET et l'inhibition de toutes les
actions
De plus, les tapes du GRAFCET peuvent tre actives volont dans la partie
combinatoire du traitement en forant 1 les variables d'tape Xi correspondantes. On a ainsi
le moyen de relancer le GRAFCET partir d'un tat quelconque dfini par le programmeur.
La figure 7.11. montre un exemple d'utilisation du bit SY23 et son quivalent
GRAFCET.
La figure 7.12. montre comment on peut lancer une squence d'urgence en jouant sur le
bit SY22 et sur le positionnement des variables d'tape.

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

Figure 7.11. Traitement de l'arrt d'urgence Figeage du GRAFCET

Chapitre 7 GEMMA

167

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

Figure 7.12. Traitement de l'arrt d'urgence Lancement d'une squence d'urgence

Chapitre 7 GEMMA

168

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

7.7. LIMITES ET EXTENSIONS POSSIBLES


Rappelons tout d'abord que 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-ETAT et un seul.

7.7.1. UNICITE DU MODE : POURQUOI ?


Elle permet de considrer indpendamment les unes des autres les tches (ou actions)
associes aux diffrents modes sans risque d'interfrence fcheuse. En effet, si plusieurs
tches taient actives au mme moment, il pourrait se trouver des cas o les ordres mis
seraient contradictoires.
Il est donc non seulement souhaitable de respecter cette contrainte mais recommand
de placer tous les "verrous" ncessaires pour que seules les volutions respectant l'unicit du
rectangle-tat actif soient possibles.
Cette contrainte devient gnante lorsque le systme prend une dimension telle qu'il est
difficile de le considrer comme un tout ou bien lorsque ses parties peuvent tre dotes d'une
certaine autonomie, l'une pouvant tre l'arrt et les autres en marche par exemple. On peut
cependant conserver l'approche GEMMA condition d'ajouter un niveau supplmentaire
comme indiqu ci-aprs.

7.7.2. COMMENT UTILISER LE GEMMA LORSQU'IL N'Y A PLUS UNICITE DU


MODE ?
La restriction prcdente n'tant plus satisfaite, on peut conseiller d'utiliser un
GEMMA par systme ou sous-systme pouvant tre considr comme ayant tout instant un
mode (ou rectangle-tat) actif et un seul.
On a alors le schma suivant (figure 7.13.) :

Figure 7.13. Dcomposition du systme en plusieurs GEMMA mode unique


Il faut alors assurer la coordination entre ces GEMMA afin d'viter les risques voqus
plus haut. L encore deux possibilits s'offrent.
Coordination "HORIZONTALE"
On crit sur les conditions de transition entre rectangles-tats de chacun des GEMMA,
les rectangles-tats o peuvent tre les autres GEMMA.

Chapitre 7 GEMMA

169

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.).

Figure 7.14. Utilisation d'un GEMMA "chef d'orchestre"

Chapitre 7 GEMMA

170

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

8.1. CONCEPTS DE BASE


La norme n'a pas essay de bouleverser les habitudes des automaticiens en imposant
un langage de programmation unique. En fait, elle reprend les principaux types de langages
dj existants et autorise mme leur cohabitation en sein d'une application.
Quatre langages ont ainsi t normaliss :

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
-

les lments de configuration


les units d'organisation des programmes
les types de donnes
les variables
l'utilisation de caractres imprims

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.

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

171

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

8.2. MODELE LOGICIEL D'UN AUTOMATE PROGRAMMABLE


La figure 8.1. montre le modle logiciel d'un automate programmable tel qu'il apparat
au stade de la configuration du systme dans la norme CEI 1131. On peut y distinguer des
lments dits de configuration (ressources, variables globales et directement reprsentes,
chemins d'accs, tches) et des units d'organisation des programmes (programmes, blocs
fonctionnels).

8.2.1. ELEMENTS DE CONFIGURATION


ressource : il s'agit d'une entit de traitement de l'automate comportant ses interfaces
homme-machine et capteurs-actionneurs propres. La notion de "ressource" prend tout son sens
dans les automates multiprocesseurs. Pour les autres, la configuration se rduit une seule
ressource.
variables globales : il s'agit des variables symboliques accessibles par toutes les
ressources du systme.
variables "directement reprsentes" : il s'agit de variables spcifies directement par
leur adresse physique; elles sont, de ce fait, galement accessibles par toutes les ressources.
Les deux types de variables prcites constituent un moyen d'change d'information entre
ressources.
chemins d'accs : ils spcifient les variables symboliques auxquelles peuvent accder
les services de communication dans le cas d'utilisation de rseaux de communication.
tches : il s'agit d'lments de commande d'excution capables de lancer soit de faon
priodique, soit sur activation d'une variable, l'excution d'un ensemble d'units
d'organisation de programmes (cf. 8.2.2.) telles que programmes et blocs fonctionnels. Des
priorits peuvent tre accordes aux tches.
Ces possibilits existent dj dans beaucoup d'automates o l'on peut dclarer des
tches rapides, des tches lentes, des sous-routines d'interruption, etc

8.2.2. UNITES D'ORGANISATION DE PROGRAMMES


Les units d'organisation de programmes correspondant la notion d'"objet" en
informatique classique. Elles encapsulent des donnes et les procdures de traitement
associes dans des "botes noires" auxquelles on ne peut accder que par des interfaces
(entres et sorties) limites et bien dfinies. Ce concept d'"objet" est essentiel pour la
structuration, la rutilisation et la qualit des logiciels.
La norme dfinit trois types d'units d'organisation : les fonctions, les blocs
fonctionnels et les programmes. Celles-ci peuvent tre fournies par le constructeur et/ou tre
programmes par l'utilisateur. La norme donne des directives trs prcises pour la
constitution de ces units d'organisation. Notons qu'elles peuvent tre utilises avec n'importe
lequel des langages normaliss mentionns ci-dessus et, cela, quel que soit par ailleurs le
langage utilis pour les programmes.

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

172

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 8.1. Modle logiciel d'un automate programmable


fonctions : une fonction est une unit d'organisation de programme comportant une ou
plusieurs entres mais une seule sortie. De plus la valeur de cette sortie doit correspondre de
manire univoque la valeur des entres. En d'autres termes, cela signifie que la valeur d'une
fonction ne peut pas dpendre d'tats internes inaccessibles l'utilisateur.
Les fonctions arithmtiques, numriques, de conversion de type, de comparaison ... sont
des exemples typiques.
La figure 8.2. montre la mise en oeuvre de la fonction A = sin(B) dans les diffrents
langages normaliss. Rappelons que, dans le langage IL, toutes les instructions font
implicitement rfrence un accumulateur.
blocs fonctionnels : un bloc fonctionnel est une unit d'organisation de programme
comportant une ou plusieurs entres et une ou plusieurs sorties. De plus, un bloc fonctionnel
peut comporter des variables internes, caches l'utilisateur, qui peuvent influencer les

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

173

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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)

Figure 8.2. Programmation d'une fonction SINUS


dans les diffrents langages normaliss

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

174

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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

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

Utilisation

OUTPUT : = Tempo1.Q

Figure 8.3. Programmation d'un bloc fonctionnel de temporisation


dans les diffrents langages normaliss

8.2.3. DONNEES ET VARIABLES


En ce qui concerne les donnes et variables, la norme prvoit pratiquement les mmes
possibilits que pour les langages informatiques volus. Le dbut de chaque dclaration
d'unit d'organisation de programme (fonction, blocs fonctionnels, programmes) doit comporter
une partie de dclaration qui spcifie le type, le champ d'application, la valeur initiale et, si
ncessaire, l'emplacement physique ou logique des variables utilises dans l'unit
d'organisation.
Que le lecteur se rassure cependant tout de suite, les systmes de
dveloppement fournissent, en gnral, un support convivial pour ces dclarations qui se
rduisent alors pratiquement un jeu de questions/rponses.
type de donnes : le tableau de la figure 8.4 reprend les types lmentaires de donnes
prvus par la norme. A partir de ces types lmentaires, on peut dfinir des types drivs tels
que des tableaux (ensemble de donnes de mme type) et des structures (ensemble de
donnes de type diffrent). La figure 8.5. en donne quelques exemples. De mme, la figure 8.6.
montre comment on peut spcifier la valeur initiale par dfaut pour un type de donnes.

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

175

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 8.4. Types de donnes lmentaires

Figure 8.5. Dclaration de types de donnes drivs

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

176

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 8.6. Dclaration de valeurs initiales par dfaut


nature des variables : la figure 8.7 prsente les mots cls qui interviennent dans la
dclaration des variables. Ils en prcisent le champ d'application, par exemple VAR pour une
variable interne l'unit d'organisation, VAR_GLOBAL pour une variable accessible par
toutes les ressources du systme. Le mot cl RETAIN dclare la variable non "volatile" c'est-dire que la variable doit tre sauvegarde en cas de coupure d'alimentation.
Enfin, le mot cl AT permet de faire rfrence des adresses physiques d'entre/sortie
ou de mmoire interne. Ces dernires sont qualifies de variables directement reprsentes et
ont une syntaxe particulire montre la figure 8.8.
La figure 8.9., enfin, donne toute une srie d'exemples de dclaration de variable. On
notera, la rubrique n 3, comment le mot cl AT permet de faire correspondre une variable
symbolique et une adresse physique.

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

177

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 8.7. Mots cls pour la dclaration de variables

Figure 8.8. Variables directement reprsentes

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

178

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 8.9. Exemple de dclaration de variables

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

179

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

8.2.4. TEXTES ET LIBELLES


Dans son souci d'assurer la portabilit des programmes, la norme CEI 1131-3 va mme
jusqu' spcifier les jeux de caractres utiliser et la forme des libells de donnes et de
variables.

jeux de caractres : ceux-ci doivent tre conformes la norme ISO/IEC 646.

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.

Figure 8.10. Libells et commentaires

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

180

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 8.11. Libells de temps et de date

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

181

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

8.3. LE LANGAGE A LISTE D'INSTRUCTIONS IL


Les oprateurs du langage IL normaliss sont repris au tableau de la figure 8.12. Le
modificateur N provoque l'inversion logique de l'oprande qui suit. Le modificateur C indique
que l'opration considre n'est effectue que si le rsultat logique courant est VRAI.

Figure 8.12. Oprateurs de base du langage instructions IL

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

182

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

8.4. LE LANGAGE LITTTERAL STRUCTURE ST


La figure 8.13. prsente les oprateurs du langage ST tandis que la figure 8.14. dcrit
les noncs disponibles dans ce langage.

Figure 8.13. Oprateurs de base du langage littral structur ST

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

183

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 8.14. Enoncs du langage littral structur ST

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

184

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

8.5. LES LANGAGES GRAPHIQUES


Dans ce paragraphe, on commence par prsenter des conventions valables pour tous les
langages graphiques :

reprsentation des lignes et des blocs : figure 8.15.


lments de commande d'excution graphiques : figure 8.16.

Figure 8.15. Langages graphiques Elments communs

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

185

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 8.16. Langages graphiques Elments de commande d'excution

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

186

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

8.5.1. LANGAGES A CONTACTS LD


La figure 8.17. prsente les symboles normaliss des contacts et la figure 8.18. ceux des
bobinages.

Figure 8.17. Langage contacts LD Symboles des contacts

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

187

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Figure 8.18. Langage contacts LD Symboles des contacts

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

188

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

8.5.2. LANGAGE EN BLOCS FONCTIONNELS FBD


La programmation en langage FBD consiste relier graphiquement entre eux des blocs
symbolisant les fonctions souhaites. La forme graphique gnrale de ces blocs est montre
la figure 8.19.a. L'inversion logique de signaux boolens d'entre ou de sortie peut tre
indique par un petit cercle comme montr la figure 8.19.b.
Cela tant, toute unit d'organisation de programme du type fonction ou bloc
fonctionnel (voir 8.6.) peut tre utilise dans le langage FBD.

a.

b.

Figure 8.19. Langage blocs fonctionnels FBD


a. Forme graphique gnrale
b. Inversion de signaux boolens

8.6. FONCTIONS ET BLOCS FONCTIONNELS STANDARDS


La norme CEI 1131-3 dfinit un nombre dj assez important d'units d'organisation
standards du type fonction et bloc fonctionnel. A ct des oprations lmentaires faisant
l'objet d'une symbolique propre, les diffrents langages dcrits aux paragraphes prcdents
peuvent utiliser ces units d'organisation standards par l'intermdiaire d'une syntaxe
approprie qui a t voque au paragraphe 8.2.2.
Il serait impossible de les passer toutes en revue ici et nous nous contenterons donc
d'une simple numration.

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

189

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

8.6.1. FONCTIONS STANDARDS


Type

Nom

Logique sur bit

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_**

conversion du type * vers le type **

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

longueur d'une chane


caractres le plus gauche
caractres le plus droite
caractres intermdiaires

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

190

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

8.6.2. BLOCS FONCTIONNELS STANDARDS

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)

Chapitre 8 NORMALISATION DES LANGAGES DE PROGRAMMATION

191

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Chapitre 9
OUTIL D'AIDE AU DEVELOPPEMENT
DES PROGRAMMES

9.1. CONCEPT D'ATELIER DE GENIE LOGICIEL


9.1.1. CYCLE DE VIE D'UN SYSTEME AUTOMATISE
Le dveloppement d'un systme automatis comprend gnralement une srie de
phases successives allant de la spcification la mise en route suivant un modle en "V"
proche de celui normalis par l'AFCIQ (Association Franaise pour la Qualit) pour les
informaticiens et appel "cycle de vie" (figure 9.1.).
L'originalit du triple V prsent ici est de prendre en compte l'intgration des cycles
parallles de ralisation de trois mtiers : le programmeur, l'lectricien et le cbleur.
Spcification gnrale : Premire phase du cycle de vie d'une application automatise,
elle consiste tablir le cahier des charges fonctionnel partir des documents contractuels
fournis par le client.
Spcification dtaille : Les fonctions nonces dans le cahier des charges fonctionnel
sont dtailles ici et dcomposes en fonctions lmentaires suivant diffrentes mthodes,
graphiques pour la plupart, afin de produire un document de spcifications externes.
Conception gnrale : Cette phase consiste implanter les diffrentes fonctions et
structures correspondantes sur un matriel cible en ralisant des architectures matrielle et
logicielle.
L'architecture matrielle dcrit l'ensemble des quipements utiliss, leur
positionnement gographique dans l'usine ainsi que leur logique de connexion.
Par
quipement, elle dcrit aussi la configuration des diffrents composants d'automatismes
utiliss et des automates programmables en particulier.
Conception dtaille : A ce stade de dveloppement, le projet d'automatisation fait
intervenir trois mtiers en parallle : celui de l'automaticien devant concevoir, raliser et
tester les diffrents modules logiciels identifis plus haut, celui de l'lectricien devant
concevoir, raliser et tester les quipements, celui de l'installateur devant concevoir, raliser
et tester les raccordements inter-quipements du site.
La conception dtaille d'un logiciel pour automates programmables se fait en
dcrivant chaque tche identifie en conception gnrale l'aide des diffrents langages
disponibles.
La conception dtaille d'un quipement lectrique et des cblages
correspondants est ralise l'aide des diffrents logiciels de schmatique existants sur le
march, intgrables de prfrence cette dmarche de dveloppement afin d'en assurer sa
cohrence.
Ralisation : La ralisation logicielle consiste lancer la compilation du programme
source de conception pour obtenir un programme objet automate. Les phases de ralisation

Chapitre 9 OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES

192

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

Figure 9.1. Cycle de vie d'un systme automatis (Source : GRAL)

Chapitre 9 OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES

193

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

9.1.2. LE POSTE DE TRAVAIL DE L'AUTOMATICIEN


Dans le contexte gnral prsent ci-dessus, la notion de Poste de Travail de
l'Automaticien (PTA), apparue en France en 1984, vise mettre la disposition des
concepteurs et des mainteneurs d'applications automatises un environnement de
dveloppement et de maintenance informatique unique et cohrent.
C'est ainsi que le PTA devrait intgrer, autour d'une base de donnes commune, les
outils, aujourd'hui disperss, de programmation des automates, de simulation, de schmatique
lectrique, d'aide au diagnostic et de supervision. (cf. figure 9.2.)
De plus, les applications automatises dveloppes sur le PTA devraient pouvoir
tourner sur n'importe quel quipement programmable, automate ou ordinateur de processus.

Figure 9.2. Poste de Travail de l'Automaticien (PTA)

Chapitre 9 OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES

194

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

9.1.3. ETAT DES REALISATIONS


A l'heure actuelle, on est encore fort loign de l'intgration prne au paragraphe
prcdent. Force est cependant de reconnatre que la plupart des constructeurs d'automates
ont dploy, ces dernires annes, des efforts considrables pour amliorer l'environnement de
programmation offert aux utilisateurs. Il est vrai qu'ils ont t singulirement aids dans cet
effort par le dveloppement des micro-ordinateurs et des systmes d'exploitation conviviaux
tels que WINDOWS.
Malheureusement, ces environnements de programmation sont
totalement incompatibles d'un constructeur l'autre.
A ct de cela, et malgr un succs commercial mitig, des maisons de logiciel
indpendantes continuent de dvelopper des ateliers logiciels dont le principal atout rside
prcisment dans l'universalit.
Ces ateliers permettent en effet de structurer, de
programmer et mme de tester une application indpendamment de l'automate cible.
Il s'agit videmment d'une universalit toute relative qui se limite assez logiquement
aux automates dominants du march. D'autre part, pour atteindre cette universalit, les
concepteurs ont forcment d se restreindre, sur le plan fonctionnel, au commun
dnominateur des automates cibles prvus.
C'est pourquoi, fort pragmatiquement, les ateliers logiciels universels offrent la
possibilit d'intgrer dans une application, des sous-ensembles programms dans les langages
spcifiques de l'automate cible de manire avoir accs aux fonctions spciales prvues par le
constructeur.
Le recours ces fonctions spciales est souvent indispensable dans la mesure o elles
touchent au contrle de l'excution (interruptions, traitement des erreurs, ...), aux
communications, la gestion de messages, etc.
Leur utilisation entrane videmment la perte de portabilit de l'application. De plus,
elle oblige l'automaticien acqurir une matrise approfondie de l'automate cible puisque ces
fonctions spciales sont souvent aussi les plus compliques mettre en oeuvre !
La normalisation prsente au chapitre 8 est videmment de nature conforter la
position des dveloppeurs d'ateliers logiciels sur le march, en leur offrant une base de travail
universellement reconnue. De plus, comme on l'a vu, la norme aborde aussi les aspects du
contrle de l'excution des programmes et des communications ce qui, plus ou moins long
terme, devrait rsoudre le problme des "fonctions spciales".
De toute vidence, il serait assez difficile, ce stade, de prdire l'volution des choses.
Nous croyons cependant qu' ct des constructeurs d'automates, il y a place pour des
"constructeurs" indpendants d'ateliers logiciels, de mme d'ailleurs, et cela est dj admis
depuis longtemps, qu'il y a place pour des dveloppeurs indpendants de superviseurs. Il
s'agit en effet de "mtiers" certes complmentaires mais qui font appel des comptences trs
sensiblement diffrentes.
L'exemple de l'informatique classique avec le succs incontestable des plates-formes de
dveloppement universelles WINDOWS et UNIX devrait nous inciter un certain optimisme.
Dans la suite de ce chapitre, nous prsenterons, de manire gnrique, les services de
base que l'on est en droit d'attendre aujourd'hui d'un systme moderne de dveloppement de
programmes pour automates.

Chapitre 9 OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES

195

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

9.2.2. MIXITE DES LANGAGES


La plupart des systmes de dveloppement offrent maintenant le choix l'utilisateur
entre plusieurs langages de programmation, langages qui peuvent d'ailleurs tre mlangs au
sein d'une mme application.
Le langage relais est toujours prsent, dans la mesure o c'est pratiquement le seul
en usage aux Etats-Unis. Notons que les fonctions spciales (temporisations, oprations
arithmtiques, etc.) s'introduisent dans ce langage sous forme de blocs fonctionnels, si bien
que le langage relais n'est pas trs loign, en pratique, d'un langage blocs fonctionnels.
L'important, en l'occurrence, est la nature graphique trs visuelle et concrte de ces
langages. Ils facilitent sans conteste la comprhension du fonctionnement d'un automatisme
mme par du personnel peu qualifi.
Par contre, leur dition s'avre en gnral
particulirement fastidieuse.
En Europe, les langages littraux, plus abstraits mais infiniment plus compacts, sont
assez largement entrs dans les moeurs, principalement le langage en liste d'instructions.
(type IL).
Enfin, en ce qui concerne le langage GRAFCET ou SFC, on a dj discut, au
paragraphe 6.1.1., de sa pntration encore relativement rduite dans l'industrie. Soulignons
nanmoins que les constructeurs amricains eux-mmes commencent le proposer, en tant
qu'outil de structuration gnrale des programmes, le corps de ceux-ci continuant d'tre crit
en langage relais.
Sur un plan strictement pratique cependant, c'est assurment le langage littral
structur (type ST) qui s'associe le plus harmonieusement au GRAFCET pour la description
des rceptivits et des actions. Sa compacit permet en effet d'introduire les quations
correspondantes directement dans le graphisme du GRAFCET et, de plus, sa proximit du
langage parl amliore grandement la lisibilit du GRAFCET. Le GRAFCET de niveau 2
peut, de ce fait, devenir pratiquement identique au GRAFCET de niveau 1 !

Chapitre 9 OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES

196

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

9.2.3. VARIABLES SYMBOLIQUES ET COMMENTAIRES

Variables symboliques

La majorit des systmes de dveloppement actuels permettent au programmeur


d'attacher des mnmoniques, c'est--dire des noms symboliques rappelant leur fonction, aux
entres, sorties et variables internes de l'automate. Il peut alors utiliser ces mnmoniques
dans l'criture des quations en lieu et place des adresses physiques des variables. On
comprend aisment que ceci est de nature amliorer la lisibilit des programmes.
Il faut cependant prendre garde qu'en gnral c'est l'adresse physique qui reste
prioritaire. Ainsi, si, aprs avoir crit un programme l'aide de mnmoniques, on affecte un
mnmonique donn une autre adresse physique, ( la suite d'une modification du cblage
par exemple), le programme effectif ne sera absolument pas modifi !
En d'autres termes, le mnmonique doit tre compris comme tant une sorte de
commentaire associ une variable physique et non un substitut de celle-ci.
Si, ds lors, on veut introduire une meilleure indpendance entre programmes et
adresses physiques, il est conseill de crer, dans les bits internes de l'automate, une table
image des entres et une table image des sorties. Les programmes seront alors crits sur base
de ces bits internes ou de mnmoniques associs. En cas de modification de cblage, il suffira
alors d'ajuster quelques instructions au niveau de la copie des tables images, le reste du
programme demeurant inchang.

Commentaires

Une documentation fournie est videmment indispensable pour la mise au point et la


maintenance des programmes. Les systmes de dveloppement doivent donc, au minimum,
permettre d'associer un commentaire chaque instruction de programme. De plus, il est
souhaitable de pouvoir inclure dans le logiciel des notices explicatives dcrivant les
fonctionnalits des diffrents modules de programme.
Toutes ces informations doivent obligatoirement faire partie intgrante de l'application,
c'est--dire tre archives sous le nom gnrique de celle-ci.

9.2.4. FACILITES D'EDITION


De plus en plus habitus la convivialit de l'environnement WINDOWS, les
utilisateurs attendent maintenant des systmes de dveloppement pour automates, des
facilits d'dition telles que, par exemple :

menus droulants et aide en ligne qui vitent de devoir mmoriser une multitude de
commandes d'dition

multi-fentrage et fonction copier/coller trs utiles en l'occurrence, car les programmes


d'automates sont souvent rptitifs du fait que les possibilits d'indexation des variables
sont fort limites voire inexistantes.

Cependant, ces mmes utilisateurs souhaitent aussi conserver les cts positifs des
anciennes consoles de programmation spcialises, savoir la vrification immdiate de la

Chapitre 9 OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES

197

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

syntaxe, voire mme la possibilit de programmer ON-LINE, avec toutes les scurits que cela
implique (cf. paragraphe 9.2.5.)

9.2.5. PROGRAMMATION ON-LINE


Depuis toujours, la possibilit de programmer ON-LINE, c'est--dire avec excution
immdiate des instructions au fur et mesure de leur criture, a constitu une des originalits
les plus marquantes des automates programmables dans le contexte informatique gnral.
Elle est commode en phase de mise au point d'une application. Elle peut s'avrer
indispensable pour modifier ou tendre des programmes contrlant des quipements qui ne
peuvent tre arrts sous peine d'tre endommags (certains fours par exemple).
Il est clair qu'il s'agit l d'une pratique extrmement dangereuse qui doit tre rserv
du personnel particulirement averti.
Elle pose galement un problme au niveau de la gestion des commentaires. En effet,
comme l'automate ne possde normalement pas de mmoire de masse propre et que la
mmoire centrale reste malgr tout un lment coteux, il n'est pas pensable, l'heure
actuelle, d'y stocker les commentaires en mme temps que les programmes.
Ces
commentaires vont donc rester physiquement localiss sur la console. Lors de la connexion de
la console avec l'automate, les commentaires seront virtuellement remis en relation avec les
programmes de manire transparente pour l'utilisateur. Ce dernier devra cependant veiller
travailler avec la mme version de l'application dans la console et dans l'automate sous peine
de perdre la cohrence entre commentaires et programmes.

9.3. AIDE A LA MISE AU POINT DES PROGRAMMES


Des outils plus ou moins labors d'aide la mise au point des programmes sont prvus
dans tous les systmes de dveloppement. Des aides ON-LINE doivent toujours exister.
Certains constructeurs ont aussi prvu des tests OFF-LINE par simulation.

9.3.1. VISUALISATION DYNAMIQUE


C'est l'outil de base des tests ON-LINE. Il permet de suivre dynamiquement le
droulement d'un programme ou d'un ensemble de variables prdtermin.
Programme : ce mode de visualisation est particulirement bien adapt aux langages
de type graphique (SFC, LD, FBD). Dans un langage contacts par exemple, les relais
passants seront indiqus en surbrillance. De mme, dans le cas d'un GRAFCET, les tapes
actives seront marques par une coloration particulire.
La visualisation dynamique des programmes est aussi possible en langage liste
d'instructions, car chaque ligne de programme ne contient qu'une variable. On peut donc sans
problme afficher la valeur courante de la variable sur la mme ligne.
Table des variables : avec ce type d'outil, il est possible de constituer sur l'cran de la
console une table de variables relatives, par exemple, un sous-ensemble du processus et d'en
suivre dynamiquement l'volution. Plusieurs tables peuvent tre ainsi constitues et
mmorises. L'utilisateur peut les rappeler sa guise.

Chapitre 9 OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES

198

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

Histogramme de variables : enfin, certains systmes de dveloppement offrent mme la


possibilit de tracer sur l'cran des histogrammes relatifs un groupe dtermin de variables.

9.3.2. MODES D'EXECUTION


Pour faciliter l'analyse des phnomnes, il est en gnral possible d'interrompre le
droulement cyclique des programmes. Ceci peut se faire de plusieurs manires :

fonctionnement cycle cycle : l'automate s'arrte aprs chaque cycle de scrutation

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.3. FORAGE DE VARIABLES


La plupart des systmes de dveloppement offre encore l'utilisateur la possibilit de
fixer manuellement l'tat de certaines variables.
Le forage des sorties, par exemple, va permettre de tester le cblage et le
fonctionnement des actuateurs avant mme que les programmes de l'automate ne soient
oprationnels.
Le forage des entres, quant lui, permettra de tester les programmes mme si tous
les capteurs ne sont pas encore installs.
Dans le cas d'une programmation en langage GRAFCET, il peut tre utile de pouvoir
forcer l'volution du graphe de manire pallier l'absence momentane de certains signaux
intervenant dans les rceptivits.
Comme la programmation ON-LINE, le forage ON-LINE est un outil manier avec
beaucoup de prcaution car il peut amener le systme dans des tats incohrents
potentiellement dangereux. C'est pourquoi certains constructeurs ont prvu de pouvoir
inhiber les sorties de l'automate lors des forages destins la mise au point des programmes.

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,

Chapitre 9 OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES

199

LES AUTOMATES PROGRAMMABLES Tome 1 - Caractristique et mthodologie de programmation

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.

9.4. GENERATION DU DOSSIER TECHNIQUE


De gros efforts ont t consentis, dans les systmes de dveloppement, pour
automatiser autant que faire se peut la gnration du dossier technique d'un projet.
Au dpart d'une table des matires standard, l'utilisateur peut personnaliser le dossier
en rarrangeant l'ordre des rubriques et en liminant celles qui ne lui sont pas ncessaires.
De mme, la mise en page et la police de caractres peuvent tre adaptes au got de
chacun. Enfin, un cartouche spcifique peut tre dfini.
A titre d'exemple, on reproduit ci-dessous, la table des matires standard de l'atelier
logiciel ISAGRAF qui est certainement, ce jour, un des plus complets du march.
Descripteur du projet
Arbre hirarchique (liens entre les programmes)
Code source pour chaque programme
Fichier "agenda" pour chaque programme

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

Historique des modifications

Chapitre 9 OUTIL D'AIDE AU DEVELOPPEMENT DES PROGRAMMES

200