Université Henri Poincaré Nancy 1 ESSTIN Gérard BLOCH
INFORMATIQUE INDUSTRIELLE ( I. I. )
Partie 3
4 AUTOMATISMES SEQUENTIELS PROGRAMMES........................................................2
4.1 Généralités .................................................................................................................................................................2
4.2 Grafcet........................................................................................................................................................................3
4.3 Les Automates Programmables et le diagramme à échelles................................................................................11 4.3.1 Histoire des AP.....................................................................................................................................................11 4.3.2 Architecture interne..............................................................................................................................................11 4.3.3 Fonctionnement et temps de réponse....................................................................................................................12 4.3.4 Des relais au diagramme en échelle .....................................................................................................................13
4.4 Aperçu sur la norme IEC 1131-3...........................................................................................................................15 4.4.1 Eléments communs...............................................................................................................................................16 4.4.2 Langages de programmation ................................................................................................................................17
4.5 Logiciels pour les systèmes de production ............................................................................................................20 4.5.1 Enterprise Resource Planning (ERP)....................................................................................................................21 4.5.2 Manufacturing Execution System (MES).............................................................................................................21 4.5.3 Supervision...........................................................................................................................................................23
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 2
4 AUTOMATISMES SEQUENTIELS PROGRAMMES
4.1 GENERALITES
Un automatisme est un dispositif qui permet à des machines ou à des installations de fonctionner avec le minimum d'intervention humaine et qui :
• prend en charge des tâches répétitives ou dangereuses ou pénibles,
• contrôle la sécurité du personnel et des installations,
• permet d'accroître la productivité ou de réaliser des économies de matière ou d'énergie,
• permet d'accroître la flexibilité des installations (produits, rythmes...).
Informations
(Mesures)
Informations
(Commandes)
Sorties(automate)
Entrées(automate)
OpérateurAUTOMATE
MACHINESPARTIE OPERATIVE
Produits Produits
Interface
Informations
(Mesures)
Informations
(Commandes)
Sorties(automate)
Entrées(automate)
OpérateurAUTOMATE
MACHINESPARTIE OPERATIVE
Produits Produits
Interface
Figure 4.1 : Schéma général d'un processus automatisé. La figure 4.1 donne le schéma général d'un processus automatisé. Entre la "partie opérative" (les
machines, les dispositifs physiques de fabrication proprement dits) et la "partie commande" (tout le reste!) sont échangées des informations :
• binaires : état d'un contact fin de course, d'un interrupteur, commande d'un vérin ...,
• analogiques : mesures ou consignes (commandes) de tension, de débit, de température..., numérisées, la conversion (AN : analogique -> numérique, NA : numérique -> analogique) pouvant se faire à des endroits différents selon le matériel. Dans la suite, on suppose la partie opérative fixée et on ne s'intéresse pas à l'élaboration des consignes
analogiques. De façon générale, un automatisme effectue des séquences d'actions répétitives, avec un choix
éventuel entre plusieurs séquences possibles ou évolution simultanée de plusieurs séquences.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 3
4.2 GRAFCET
Le "GRAphe de Commande Etape - Transition" est un mode de représentation et d'analyse d'un automatisme, bien adapté aux systèmes dont l'évolution peut se décomposer en étapes, c'est-à-dire aux systèmes complètement séquentiels ou à la partie séquentielle des systèmes mixtes, comme le sont la quasi totalité des installations de production.
Il est indépendant de la matérialisation technologique (câblée : électromécanique, pneumatique,
électronique ; programmée : Automate Programmable Industriel (API), micro-système). Il permet un choix rationnel des variables d'état et de leur codage. Il traduit de façon cohérente le
cahier des charges et s'adapte aux systèmes présentant un grand nombre de variables.
Notions de base
Action(s)
Action(s)
1
2
A
a.b
B1 B2
Etape
Etape
Transition Réceptivité
Action(s)
Action(s)
1
2
A
a.b
B1 B2
Etape
Etape
Transition Réceptivité
Figure 4.2 : Etape – Transition. Une étape est représentée par un carré numéroté. La présence d'un jeton indique que l'étape est active.
Une étape initiale est représentée par un carré double (en général, situation de repos). Une action associée à une étape est représentée par un rectangle relié au carré correspondant. Une liaison orientée est représentée par une ligne verticale qui relie deux étapes, le sens usuel étant de
haut en bas. Une transition entre deux étapes est représentée par une barre perpendiculaire à la liaison
correspondante et repérée éventuellement par un numéro entre parenthèses à gauche. Une réceptivité associée à une transition est inscrite de façon littérale ou symbolique à droite de la
barre de transition. Elle indique la condition (logique) de passage d'une étape à l'autre.
Niveaux 1 et 2
Dans un premier temps, on représente seulement le fonctionnement logique de l'automate, dans un langage courant, pour un dialogue demandeur-concepteur (niveau 1).
Dans un second temps, on représente l'automatisme en tenant compte des choix technologiques et du
repérage des variables, dont on dresse alors un tableau (niveau 2).
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 4
Exemple
On veut par exemple faire effectuer à deux vérins A et B le cycle suivant : sur impulsion de mise en marche, A sort, puis B sort, puis A rentre, puis B rentre.
0
1
2
3
4
Attente
Mise en marche
Sortie du vérin A
Vérin A sorti
Sortie du vérin B
Vérin B sorti
Rentrée du vérin A
Vérin A rentré
Rentrée du vérin B
Vérin B rentré
Figure 4.3 : Grafcet de niveau 1 d'un cycle à deux vérins.
Dans le cas du vérin simple effet, l'air comprimé n'agit que sur une face du piston (mouvement dans le
sens 1) ; un ressort de rappel assure le mouvement dans le sens inverse. Dans le cas du vérin double effet, l'air comprimé agit sur les deux faces du piston (entrée 1 : sens 1 ; entrée 2 : sens 2).
Air
Ressort1
Air
1
1 Air2
2
Vérin à simple effet Vérin à double effet
Figure 4.4 : Schémas de vérins. On dispose d'une installation représentée à la figure 4.5, avec :
Fins de course a0, a1, b0, b1 (=1 : actionné ; = 0 : non actionné) Vérin A Si le vérin est simple effet, sortie : action A ( rentrée "automatique") Si le vérin est double effet, sortie : action A+, rentrée : action A- Vérin B Si le vérin est simple effet, sortie : action B ( rentrée "automatique") Si le vérin est double effet, sortie : action B+, rentrée : action B- Mise en marche Impulsion m
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 5
a0 a1A
b0
b1
B
Figure 4.5 : Installation à deux vérins. Selon que les vérins A et B utilisés sont à simple ou double effet, à partir d'un même grafcet de niveau
1, on obtient les grafcet de niveau 2 représentés à la figure 4.6.
0
1
2
3
4
m
A
a1
b1
B
a0
b0
A B
0
1
2
3
4
m
A+
a1
b1
a0
b0
B+
A-
B-
Vérins simple effet Vérins double effet
Figure 4.6 : Grafcet de niveau 2.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 6
Séquences simultanées ou parallèles
1 A
a
3 C
4
b
D
2 B
5
c
E
1 A
a
3 C
4
b
D
2 B
5
c
E
Figure 4.7 : Exemple de séquences simultanées.
Le début et la fin de séquences simultanées sont représentées par deux traits parallèles horizontaux :
une seule réceptivité au début, une seule réceptivité à la fin. Sur la figure 4.7, quand l'étape 1 est active et la réceptivité a est vraie, la transition est franchie : l'étape
1 est désactivée et les étapes 2 et 3 sont activées. Lorsque la réceptivité b devient vraie, l'étape 3 est désactivée et l'étape 4 est activée. Quand la réceptivité c devient vraie, les étapes 2 et 4 sont désactivées et l'étape 5 est activée.
Sélection de séquences
1
21
a
22
31
b
32
41
c
42
11
2121
a
2222
3131
b
3232
4141
c
4242
Figure 4.8 : Sélection de séquences.
Un exemple de sélection de séquences est donné à la figure 4.8. On note que chaque branche du
graphe débute par sa propre transition et sa réceptivité associée. On peut donc "entrer" dans une des branches sans entrer dans les autres.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 7
Pour rendre plusieurs séquences exclusives, il faut que les réceptivités associées aux transitions initiales de ces séquences ne puissent être vraies en même temps. Par exemple :
1
2
a
3
a b
Figure 4.9 : Séquences exclusives. A la réunion de plusieurs séquences, chaque séquence se termine par sa propre réceptivité.
b
4
a
5
6
dc
Figure 4.10 : Réunion de séquences.
Cas particuliers
1
2
3
4
c
d
a ba b
1
2
3
4
c
d
a ba ba b
1
2
3
4
a ba b
1
2
3
4
a ba b
Saut d'étapes Reprise de séquence
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 8
Règles d'évolution La syntaxe du grafcet est basée sur l'alternance étape - transition : deux étapes ne doivent jamais être
reliées directement entre elles, deux transitions ne doivent jamais être reliées directement entre elles. L'évolution de l'état d'un automatisme doit satisfaire les principales règles suivantes. Il doit exister une situation initiale, pour laquelle un certain nombres d'étapes, matérialisées par un
double carré, sont actives. Une transition est validée si toutes ses étapes d'entrée sont actives. Elle est franchie, si elle est validée
et si la réceptivité associée est vraie, immédiatement et obligatoirement. Le franchissement d'une transition entraîne la désactivation de toutes les étapes immédiatement
précédentes et l'activation de toutes les étapes immédiatement suivantes.
Actions particulières On distingue la durée d'activité d'une étape et la durée de l'action associée à cette étape.
Action continue
3 A
a
X3
A
Grafcet Chronogramme
Figure 4.11 : Action continue. Dans la figure 4.11, la variable associée à l'étape 3 est nommée X3 et la variable correspondant à
l'action associée est A. L'action commence et se termine en même temps que l'étape.
3
4
A
a
A B
X3
X4
A
B
Grafcet Chronogramme
Figure 4.12 : Action continue.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 9
Action conditionnelle C'est une action continue dont l'exécution est soumise à la réalisation d'une condition. Elle permet la
prise en compte simple de conditions de sécurité.
2 A
a
U (condition)
Action : A = X2 .U
Etape X2
Condition U
Action A
Grafcet Chronogramme
Figure 4.13 : Action conditionnelle.
Action de comptage d'un temps Cette action est notée : T = q sec. Sur la figure 4.14, à l'étape X5 sont associées les actions A, B et
l'initialisation du comptage pendant 5 secondes.
5 A
b
B T=5sec
Figure 4.14 : Action de comptage.
Action temporisée C'est une action conditionnelle dans laquelle le temps intervient comme condition : t/i/q sec où i est le
numéro de l'étape comportant le comptage et q la durée écoulée depuis l'activation de l'étape i.
3 A
a
t/1/2sec
B
t/1/5sec
X3
X1
A
B
2 sec.
5 sec.
Grafcet Chronogramme
Figure 4.15 : Action temporisée.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 10
Réceptivités particulières Réceptivité fonction du temps
T=16 sec3 T=8 sec
4 A
t/3/8sec
t/3/16sec
5 B
X3
X4
X5
8 sec.
16 sec.
Grafcet Chronogramme
Figure 4.16 : Réceptivité fonction du temps.
Réceptivité faisant intervenir un changement d'état Ce type de réceptivité permet de détecter des événements tels qu'une impulsion de fin de course, un
front montant ou descendant d'une variable, d'un bit dans un registre d'état.
5
6
7
A
B
C
a
b
a
X5
b
X6
X7
Grafcet Chronogramme
Figure 4.17 : Réceptivité sur changement d'état.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 11
4.3 LES AUTOMATES PROGRAMMABLES ET LE DIAGRAMME A ECHELLES
Un "Automate Programmable Industriel" (API) ou "Automate Programmable" (AP) (Programmable Logic Controller, PLC) est un appareil mis au point pour remplacer les circuits séquentiels à relais pour le contrôle de machines. Les Automates Programmables sont présents dans quasiment toutes les industries.
4.3.1 Histoire des AP
Les AP ont été introduits à la fin des années 1960, dans le but principal d'éviter les coûts associés au remplacement des systèmes de contrôle par relais. Bedford Associates (Bedford, MA) a proposé le Modular Digital Controller (Modicon) à un grand fabricant automobile américain.
Les systèmes de commande à relais ont une durée de vie limitée, nécessitant des plannings de maintenance stricts. Leur dépannage est compliqué, pour des systèmes impliquant des centaines ou des milliers de relais connectés individuellement (logique câblée). Les AP doivent être programmés facilement par les ingénieurs de production ou de maintenance, doivent avoir une longue durée de vie, être facilement reprogrammables et être adaptés à un environnement industriel difficile. La solution est d'utiliser une technique de programmation largement connue et de remplacer les parties mécaniques par des systèmes statiques.
Dans les années 70, les technologies dominantes pour les AP étaient les séquenceurs et les unités centrales (CPU) à base de microprocesseurs "en tranches". Les AMD 2901 et 2903 étaient les plus populaires. Les microprocesseurs conventionnels n'étaient pas assez rapides.
Les capacités de communication apparurent en 1973. Le premier système était Modbus de Modicon. Les AP pouvaient dés lors échanger des informations avec d'autres AP et être distants des machines à contrôler. Ils pouvaient aussi se connecter au monde analogique (tensions variables). Mais l'absence de standardisation et le changement continuel de la technologie rendaient difficiles les communications entre AP à cause de protocoles et réseaux incompatibles.
Dans les années 80, sont apparus les premiers efforts de standardisation des communications avec MAP (Manufacturing Automation Protocol) de General Motor's. La taille des AP se réduit fortement et leur programmation peut se faire de façon symbolique sur ordinateurs personnels (PC) et non plus dans des environnement matériels et logiciels spécifiques.
Les années 90 ont vu une réduction dans l'introduction de nouveaux protocoles de communication et la modernisation des couches physiques des protocoles existants les plus populaires.
Le standard actuel IEC 1131-3 est une norme internationale qui regroupe 5 types de programmation : diagramme en échelles (LD, Ladder Diagram), liste d'instruction (IL, Instruction List), diagramme en blocs fonctionnels (FBD, Function Block Diagram), grafcet (SFC, Sequential Function Chart) et texte structuré (ST, Structured Text).
Par ailleurs, les éditeurs de logiciels d’informatique industrielle proposent maintenant des "automates logiciels" pour PC sous Windows NT. Cette solution élégante est controversée quant à sa fiabilité.
4.3.2 Architecture interne
Un AP comprend une unité centrale (UC) (Central Processing Unit, CPU), des zones de mémoire et des circuits permettant l'acquisition et l'envoi de données d'entrée/sortie (Input/Output, IO). Plus précisément, il est composé des parties suivantes.
Relais d'entrée (contacts). Connectés au monde extérieur, ils existent physiquement et reçoivent des
signaux venant d'interrupteurs, de capteurs ... Ils sont en fait réalisés à base de transistors. Relais internes (contacts). Ils ne sont pas connectés au monde extérieur et n'existent pas physiquement.
Ce sont de relais simulés par des bits dans des registres. Certains servent seulement pour une tâche particulière, par exemple l'initialisation de données à la mise sous tension.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 12
Compteurs (Counters). N'existant pas physiquement, ce sont des compteurs simulés, programmés pour compter des impulsions (comptage, décomptage, comptage/décomptage). Etant simulés, leur vitesse de comptage est limitée. Des compteurs matériels à haute vitesse sont alors parfois inclus.
"Temporisateurs" (Timers). N'existant pas physiquement, ils sont de nombreux types, avec différents incréments (de 1ms à 1s).
Relais de sortie. Connectés au monde extérieur, ils existent physiquement et envoient des signaux tout ou rien (TOR). Ils sont réalisés avec des transistors, des triacs ou des relais.
Zones de stockage de données. Ce sont des registres utilisés pour le stockage temporaire (opérations mathématiques ou manipulations diverses) ou permanent (en cas de mise hors tension) des données.
4.3.3 Fonctionnement et temps de réponse
Un AP fonctionne en exécutant de façon répétitive le même programme. L'exécution d'un cycle (scan cycle) de programme comprend trois opérations principales.
Test de l’état des entrées
Exécution du programme
Mise à jour des sorties
Etape 1 : Test de l'état des entrées L'AP acquiert l'état de toutes les entrées et le
stocke en mémoire.
Etape 2 : Exécution du programme L'AP exécute le programme une instruction
après l'autre. Les résultats de l'exécution sont stockés pour l'étape suivante.
Etape 3 : Mise à jour des sorties
Toutes les sorties sont mises à jour en fonction des résultats des deux étapes précédentes.
Le temps de réponse total est donc la somme du temps de réponse d'entrée, du temps d'exécution du
programme proprement dit et du temps de réponse de sortie. Ce temps de réponse total doit être compatible avec l'application.
Exec.Prog.
Exec.Prog.
Exec.Prog.IN IN INOUT OUT OUT OUT
Cycle 1 Cycle 2 Cycle 3
1 2 3ON
OFFExec.Prog.
Exec.Prog.
Exec.Prog.IN IN INOUT OUT OUT OUT
Cycle 1 Cycle 2 Cycle 3
1 2 3ON
OFF
Dans le diagramme des temps ci-joint, le
passage à 1 de l'impulsion 1 n'est pris en compte qu'au cycle 2, le passage à 1 de l'impulsion 2 n'est pris en compte qu'au cycle 3, le passage à 1 de l'impulsion 3 n'est jamais pris en compte.
Pour que son passage à 1 soit pris en compte, une
entrée doit donc rester à 1 pendant au moins un temps de réponse total + un temps de réponse d'entrée.
Exec.Prog.IN INOUT OUT
1 IN + 1 Cycle
ON
OFFExec.Prog.IN INOUT OUT
1 IN + 1 Cycle
ON
OFF
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 13
4.3.4 Des relais au diagramme en échelle
Un relais est un contacteur électromagnétique, composé d'une bobine (coil) et d'un contact. Si une tension continue est appliquée, par le circuit de faible puissance (de commande), aux bornes de la bobine, un champ magnétique est généré qui attire le contact et ferme le circuit secondaire, de puissance, permettant d'appliquer une tension alternative à une charge.
CC
Charge
~Contact
Bobine
Interrupteurde commandeCC
Charge
~Contact
Bobine
Interrupteurde commande
Dans un diagramme à échelle (Ladder Diagram, LD) ou schéma à relais, les deux bornes de la tension
de commande (continue) sont figurées par deux barres verticales (bus bars) (le + à gauche, la masse à droite). Le courant (logique) va donc de gauche vers la droite. Les "barreaux" (rung) de l'échelle, et donc les symboles et instructions correspondantes, sont exécutées de haut en bas. L'interrupteur de commande (d'entrée) est figuré par un symbole de contact. La sortie est figurée par un symbole de bobine. La tension de puissance et le dispositif commandé proprement dit ne sont pas figurés.
Symbole de contact Symbole de bobine
Il faut alors préciser où chaque élément est situé, c'est-à-dire les adresses des entrées, des sorties et des
variables internes, spécifiées sous forme numérique ou de mnémoniques. Par exemple, entrée : adresse 0000, sortie : adresse 0500, on obtient alors simplement le schéma ci-joint.
0000 05000000 0500
Il existe différents types de contact et de bobine.
Le courant (logique) passe de gauche à droite Contact
quand la variable associée est à 1
normalement ouvert
quand la variable associée est à 0
normalement fermé
pour une évaluation du diagramme, quand la variable associée passe de 0 à 1 PP
à front montant (transition Positive)
pour une évaluation du diagramme, quand la variable associée passe de 1 à 0 NN
à front descendant (transition Négative)
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 14
La bobine (la variable associée) est mise : Bobine dans l’état correspondant au courant (logique) venant de la gauche. S’il est à 1, la bobine est mise à 1.
(normale)
dans l’état opposé au courant venant de la gauche. S’il est à 1, la bobine est mise à 0.
complémentée
à 1 si le courant venant de la gauche est à 1 et y reste jusqu’à être mise à 0 (RESET). SS
SET
à 0 si le courant venant de la gauche est à 1 et y reste jusqu’à être mise à 1 (SET). RR
RESET
à 1, pour une évaluation du diagramme, quand le courant venant de la gauche passe de 0 à 1. PP
à front montant (transition Positive)
à 1, pour une évaluation du diagramme, quand le courant venant de la gauche passe de 1 à 0. NN
à front descendant (transition Négative)
Il existe par ailleurs des bobines "retentives", utilisées quand l’état des variables associées doit être
sauvegardé en cas de coupure d’alimentation, pour un redémarrage correct. Pour des bobines normale, SET et RESET, les lettres M, SM, RM, respectivement, sont alors incluses dans le symbole.
Le diagramme à échelle est bien adapté pour décrire une logique de commande complexe incluant des
fonctions ET et OU. Par exemple, le diagramme suivant
C1
X1A2A1
B1
C3C2C1C1
X1A2A2A1A1
B1B1
C3C3C2
correspond à l’évaluation logique et l’assignation en texte structuré (ST) : X1 := (A1 OR B1 OR (C1 AND 2C AND C3) ) AND A2 Si les variantes du diagramme à échelle (LD) spécifiques à un fabricant incluaient de nombreuses
extensions particulières (compteurs, timers, bascules, registres à décalage, transfert de données, opérations mathématiques et logiques diverses), il est naturel, dans le cadre de la norme IEC 1131-3, d’inclure directement, dans un diagramme à échelle, des blocs fonctionnels (FB), sous réserve que leurs entrées et sorties soient booléennes.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 15
4.4 APERÇU SUR LA NORME IEC 1131-3
Etablie en 1992, la norme concerne les ressources et méthodes pour le développement d'applications d'informatique industrielle (cf. PLCopen : http://www.plcopen.org).
77 78 79 8180 93 94 9570 82 83 84 85 8786 88 89 90 91 92
NEMA Formation du comité Programmable Controllers (USA)GRAFCET (France)
IEC 848, Function Charts
DIN 40719, Function Charts (Allemagne)NEMA ICS-3-304, Programmable Controllers (USA)
Formation du comité IEC SC65A/WG6DIN 19 239, Programmable Controller (Germany)
IEC 65A(Sec)38, Programmable ControllersMIL-STD-1815 Ada (USA)
IEC SC65A(Sec)49, Langages PCIEC SC65A(Sec)67
IEC 1131-3IEC 64A(Sec)90
Type 3 report
96
Type 2 report
La nécessité d'une normalisation s'est imposée à cause de facteurs divers et liés :
• grande variété de techniques de programmation, • grand nombre de langages de programmation différents, • absence de portabilité logicielle entre les différentes plates-formes, • manque d'outils de programmation additionnels, • inefficacité dans des de multiples projets à cause de l'incompatibilité, • absence d'un forum des utilisateurs pour influencer la technologie des API, • forte dépendance par rapport aux fabricants et distributeurs.
La norme comporte 5 parties, dont les 3 premières constituent des normes internationales (IS) :
présentation générale, matériel, langages de programmation, guide utilisateur, services de messagerie. La première partie rassemble les définitions, fournit un glossaire, donne la liste des normes IEC
connexes et établit les caractéristiques fonctionnelles principales des systèmes à base d'API. La seconde partie établit les exigences électriques, mécaniques et fonctionnelles pour les API et
périphériques associés, les méthodes et procédures de vérification de leur conformité, leurs conditions d'utilisation, de stockage et de transport, les informations à fournir par le constructeur.
La troisième partie établit un modèle logiciel, de communication et de programmation et définit la syntaxe et la sémantique de 5 langages de programmation interconnectés : schéma à contacts ou diagramme en échelle (Ladder Diagram, LD), liste d'instructions (Instruction List, IL), langage en blocs fonctionnels ou logigramme (Function Block Diagram, FBD), texte structuré (Structured Text, ST), Grafcet ou diagramme fonctionnel séquentiel (Sequential Function Chart, SFC). Cette partie est le résultat du travail d'un groupe incluant 7 fabricants (Allen Bradley, USA, Télémécanique, F, Siemens, D, GEC/Eurotherm, UK, Yamatake-Honeywell, J, ABB, S, Philips, NL).
La dernière partie spécifie les services de messagerie, dans une relation client-serveur. Elle est liée à ISO 9506 (Manufacturing Message Specification, MMS) en tant que norme "sœur" et contient la description des fonctions fournies à un système automatisé, telles que vérification des appareils, acquisition de données, gestion des alarmes, gestion des protections et des connections.
La norme IEC1131-3 peut être présentée en deux parties : les éléments communs et les langages de
programmation.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 16
4.4.1 Eléments communs
Typage des données La définition de type de données stricts permet d'éviter des confusions de base. Les types communs
sont : booléen, entier, réel, octet (byte), mot, chaîne de caractères (string), date, "temps du jour"... A partir de ces types, des types supplémentaires peuvent être définis et réutilisés, comme par exemple "entrée analogique".
Variables Des variables littérales symboliques peuvent être associées aux adresses matérielles explicites,
permettant l'indépendance du logiciel par rapport au matériel et la réutilisation du code. La portée des variables est limitée normalement à l'unité de programme dans laquelle elles sont déclarées. Ces "variables locales" peuvent être réutilisées ailleurs, sans conflit, évitant ainsi les "effets de bord". Les variables globales doivent être déclarées en tant que telles. Les constantes (paramètres) peuvent être initialisées à la mise en route ou au "redémarrage à chaud".
Configuration, ressources et tâches Une configuration est l'ensemble du logiciel permettant de résoudre un problème spécifique de
contrôle. Elle est liée au matériel et à son agencement, donc aux ressources de traitement et aux adresses des canaux d'E/S. Plusieurs ressources peuvent être définies dans une configuration, chacune possédant des capacités de traitement. Pour une ressource, une ou plusieurs tâches peuvent être définies, chacune contrôlant l'exécution d'un ensemble de programmes et/ou de blocs fonctionnels, de façon périodique ou sur événement.
Fonctions et blocs fonctionnels Il existe des fonctions standard prédéfinies (ADD,SQRT,SIN,COS,GT,MIN,MAX,AND,OR, et de
nombreuses autres...) et des fonctions définies par l'utilisateur, toutes réutilisables. Par exemple :
FUNCTION SIMPLE_FUN : REAL VAR_INPUT A, B : REAL; C : REAL := 1.0; END_VAR SIMPLE_FUN := A*B/C; END FUNCTION
Les blocs fonctionnels peuvent être considérés comme des circuits intégrés logiciels, dont la fonction
et l'interface d'échange de données sont clairement définis et les données internes et l'algorithme sont cachés. Ils possèdent, contrairement aux fonctions, une mémoire du passé. Ils peuvent être définis par l'utilisateur et réutilisés.
HystérésisQXIN1
XIN2EPS
BOOLREALREALREAL
1
EPSEPS
0
XIN2
Q
F U N C T I O N _ B L O C K H Y S T E R E S I S
V A R _ I N P U T
X I N 1 , X I N 2 : R E A L ;
E P S : R E A L ;
E N D _ V A R
V A R _ O U T P U T
Q : B O O L : = 0
E N D _ V A R
I F Q T H E N
I F X I N 1 < ( X I N 2 - E P S ) T H E N
Q : = 0 ( * X I N 1 d é c r o i s s a n t * )
E N D _ I F ;
E L S I F X I N 1 > ( X I N 2 + E P S ) T H E N
Q : = 1 ; ( * X I N 1 c r o i s s a n t * )
E N D _ I F ;
E N D _ F U N C T I O N _ B L O C K
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 17
Programmes Les programmes sont composés d'un ensemble d'éléments logiciels, écrits dans l'un des 5 langages
normalisés IEC. Typiquement, un programme est un ensemble, un réseau de fonctions et de blocs fonctionnels, qui contiennent, en propre, structure de données et algorithme (encapsulation), et échangent des données. Un API classique contient une seule ressource, qui exécute cycliquement une seule tâche, contrôlant un seul programme. Au contraire, la norme permet les architectures multi-processeurs (traitement distribué) et les programmes guidés par événements.
Global and direct variables
Access path
Executioncontrol path
Variableaccess path
FBTask
Program ProgramFB FB
Task
Program
Task
ProgramFB FB
Task
Resource Resource
Configuration
Communication Function
FunctionBlock
Variable
4.4.2 Langages de programmation
La norme définit la syntaxe et la sémantique de 2 langages textuels, Instruction List (IL) et Structured Text (ST), et de 3 langages graphiques, Ladder Diagram (LD), Function Block Diagram (FBD) et Sequential Function Chart (SFC).
Le Ladder Diagram (LD) est un jeu rationalisé et normalisé des symboles de programmation par
échelle à relais. Il est basé sur le style de programmation bien connu aux USA, voisin de la schématique électrique américaine. Il est bien adapté aux tâches simples, de bas niveau, basées sur un accumulateur, représentant des modèles d'exécution de relais. L'utilisation du SFC (grafcet) à plus haut niveau évite le recours aux versions actuelles du LD, plus puissantes, mais trop complexes.
L'Instruction List (IL) est un langage de bas niveau, similaire à un assembleur et basé sur l'AWL (AnweisungListe) allemande. Une seule opération élémentaire, telle que le stockage d'une valeur dans l'accumulateur, est autorisée par ligne. Ce langage est utile pour les petites applications ou les parties optimisées d'une application, mais n'est pas adapté aux grands programmes.
Le Function Block Diagram (FDB) est un langage graphique, largement utilisé en Europe. Il utilise des éléments de programme apparaissant comme des blocs dont l'interconnexion forme un diagramme analogue aux schémas électroniques. Il est bien adapté aux applications qui nécessitent de faire apparaître les flux d'information entre composants. Il est basé sur les blocs fonctionnels, éléments logiciels réutilisables.
Le Structured Text (ST) est un langage de haut niveau, structuré, voisin du Pascal, qui inclut une large gamme de types de données et des instructions complexes et imbriquées (boucles : REPEAT-UNTIL, WHILE-DO, exécutions conditionnelles : IF-THEN-ELSE, CASE, fonctions : SQRT(),SIN()…).
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 18
La figure suivante donne, sur un exemple très simple, l'équivalence entre les 4 langages.
Instruction List (IL) Structured Text (ST)
Function Block Diagram (FBD) Ladder Diagram (LD)
LD A
ANDN B
ST C
C:= A AND NOT B
A B C
-| |--|/|----------------( )
AND
A C
B
Le Sequential Function Chart (SFC) décrit graphiquement le comportement séquentiel d'un
programme de contrôle. Il est issu des réseaux de Pétri, par le Grafcet (IEC 848). Il structure l'organisation interne d'un programme et aide à décomposer un problème en parties de taille et de complexité raisonnables, tout en gardant une vue d'ensemble. A ce titre, il facilite le diagnostic de fonctionnement et constitue un bon moyen de communication entre équipes. Il est composé d'étapes (steps), associées à des blocs d'action (action blocks) et séparés par des transitions, elles-mêmes associées à des conditions. Les séquences alternatives (OU) et parallèles (ET) sont permises. Chaque élément de programme peut être écrit dans l'un des langages IEC, dont le SFC lui-même (cf. macro-étapes).
Step 1 N FILL
Step 3
Step 2 S Empty
Transition 1
Transition 2
La norme IEC 1131-3 rassemble de nombreuses pratiques courantes et des techniques éprouvées dans
des outils de développement structurés, de haute productivité. Elle fournit un ensemble bien défini de langages liés pour résoudre une gamme étendue de problèmes de contrôle industriel.
Elle améliore la qualité des applications logicielles par une conception bien structurée, l'encapsulation des données et le masquage de l'information. Elle permet l'amélioration de la productivité (réduction des mauvaises interprétations et erreurs et des temps d'apprentissage, mise au point, maintenance et conseil). Elle constitue un noyau pour la réutilisation du code (combinaison de différents composants de différents endroits, compagnies, pays ou projets, réduction des investissements d'application et de la dépendance envers les constructeurs).
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 19
La norme s'applique au cycle de vie logiciel conformément au schéma suivant.
Maintenance
Analyse
Conception
Simulation
Intégration
Mise en route
Intégration avec d'autres automates en utilisantdes types de données et des concepts standards
Décomposition du système en utilisant des Blocs Fonctionnels
Conception en utilisant un des langages IEC (graphique / textuel)
Exécution de programmes hors-lignesur des simulateurs d'API, standards IEC
Présentation standard du système en fonctionnement
Maintenance optimisée pour les différentes générations
Outre les avantages pour les fabricants, la norme fournit aux utilisateur/développeurs les avantages
suivants : • programmation structurée, ascendante ou descendante (Program Organisation Units, POU), • fort typage des données interdisant les erreurs de programmation, • contrôle complet de l'exécution (des différentes parties à différents moments et périodes et en
parallèle), • description de comportement séquentiel complexe, • structures de données pour un échange de données aisé, • sélection de langage flexible (langages graphiques et 2 langages textuels), • développement logiciel indépendant des fabricants.
Les ateliers évolués de programmation IEC offrent un environnement avec multifenêtrage, utilisation
de souris, menus déroulants, une aide hypertexte en ligne et un jeu complet d'outils d'édition et de programmation, notamment graphique, de mise au point et de vérification du logiciel, de génération de code, de documentation, de gestion de bibliothèques, d'archivage, de simulation hors-ligne, de surveillance en ligne et de modification en ligne.
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 20
4.5 LOGICIELS POUR LES SYSTEMES DE PRODUCTION
La pyramide CIM (Computer Integrated Manufacturing, Fabrication Assistée par Ordinateur, FAO) présente les systèmes de production comme une hiérarchie de domaines de plus en plus globaux, auxquels sont associées des ressources informatiques reliées par des réseaux de communication de caractéristiques différentes (longueur, débit, rapidité, sécurité...).
A coté de cette hiérarchie spatiale et informatique, on trouve dans un système de production un certain nombre de fonctions transversales, comme la maintenance, le suivi de la qualité, le diagnostic de fonctionnement, la logistique, la gestion de production, qui sont impliqués dans les différents niveaux CIM.
Terrain
Cellule
AtelierUsine
EtudesDirection
Réseaupublic
MOCN Contrôleur API Robot
Asservissement Convoyeur La figure suivante présente un exemple d'architecture globale de contrôle d'une unité de production,
où le niveau études et direction n'est pas représenté. Elle correspond au domaine de l'informatique industrielle au sens strict.
E/S E/S E/S E/S E/S
APIProcessus 1
APIProcessus i
APIProcessus n
(SNCC)
ServeurredondantServeur
Réseau EthernetTCP / IP
Supervision n°i GPAO GMAO Développement
Bloc E/SdéportéRéseau
de terrain
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 21
4.5.1 Enterprise Resource Planning (ERP)
Le niveau supérieur est de plus en plus représenté par les outils dits d'ERP. Les logiciels d'ERP (Enterprise Resource Planning) sont les successeurs de logiciels de MRP (Manufacturing Resource Planning), visant à la régulation des flux de production. Pour améliorer l'efficacité globale, la réactivité et même les capacités d'anticipation des entreprises, ils intègrent l'ensemble des opérations et fonctions d'une entreprise : comptabilité, finance, gestion commerciale, gestion de la production (GPAO), gestion de la maintenance (GMAO). Ils sont constitués de modules séparés, qui peuvent être mis en œuvre par étapes, partageant les mêmes fichiers, les mêmes bases de données et leurs tables associées. Les communications sont accélérées, avec filtrage de l'information ; les méthodes sont homogénéisées, dans un même site et entre les différents sites. Les principaux producteurs des logiciels d'ERP sont SAP (R/3), Oracle Manufacturing, Baan. Les logiciels d'ERP sont de plus en plus interfacés avec les logiciels de "plus bas niveau" (supervision, modules "métier"). Ils sont liés d'autre part aux logiciels intégrant l'entreprise, ses clients et ses fournisseurs (Supply Chain Management).
AchatsApprovis.
Commercial
Recherche etdéveloppement
Gestion deproduction
Logistique Industrialisation
Finances
Marketing
Ressourceshumaines
Basede
données
4.5.2 Manufacturing Execution System (MES)
Un MES (Manufacturing Execution System), système de pilotage de fabrication assisté par ordinateur, est l'ensemble des éléments qui concourent à l'intégration de l'informatique industrielle (contrôle en temps réel de la fabrication) et de l'informatique de gestion de l'entreprise.
Il apporte aux opérateurs et aux responsables d'entreprise une vue précise et en temps réel de toutes les ressources humaines et matérielles d'une unité de fabrication : matières premières, stocks, plannings des ordres de fabrication, fabrications en cours, produits en attente, produits rejetés, coût instantané des défaillances, disponibilité des personnels qualifiés ou agrémentés... Son objectif est l'amélioration de la fabrication par la mise à disposition à tous les niveaux de l'entreprise (directions des achats, direction commerciale, service qualité, gestion documentaire, logistique, suivi de traçabilité, ...) de toutes les informations nécessaires.
Il s'appuie sur son modèle de procédé et tient compte de la disponibilité des machines, opérateurs, approvisionnements, équipements de stockage et/ou des possibilités d'enlèvement des produits finis. Il ajuste et gère dynamiquement l'affectation et la ventilation des ressources, conformément à l'évolution des conditions de production (informations de fabrication en provenance de l'atelier, commandes).
Il permet aux opérateurs de prendre des décisions sur site basées sur les conditions réelles de l'atelier. Il facilite le "juste-à-temps" et la fabrication flexible. Il permet de garantir que les bonnes opérations sont exécutées dans le bon ordre, avec les bonnes fournitures et les bons équipements, par des opérateurs de formation et de qualification adéquates et enregistre toutes les informations du processus dans une base de données, ce qui facilite les certifications légales et la documentation. Il permet d'obtenir la traçabilité d'un lot de production : caractéristiques et provenance des matières premières, machines et outils de
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 22
production utilisés, conditions de production et réglages utilisés, opérateurs impliqués, incidents de fabrication...
La croissance du marché des logiciels de MES est estimée à 45% par an à partir de 1995.
Systèmes decontrôle commandeAutomatismes E/S Temps Réel
Aideà la conduite
Pilotage et gestionde batch
Supervision
GMAO
Gestiondocumentaire
Gestion delaboratoire
M E SOrdonnancement
Suivi de productionSuivi de traçabilité (procédé, produits)
Suivi de qualité
Manufacturing Ressources Planning (MRP)
Manufacturing Execution System (MES) La figure suivante montre l'agencement des niveaux et de leurs fonctions et logiciels associés.
GRHGCIALGMAOGPAOGQAO
OpérationsMachines
OutilsPersonnelMatière
SimulerPlanifier
LancerSuivreRéagir
Acquisition Pilotage
Fabrication / Transformation
ProcessusMachines
Automates. . .
Codesbarre
Niveau «stratégique» : ERP
Gestion
Niveau «tactique» : MES
Exécution, suivi
Niveau «opérationnel»
Temps réel
GRHGCIALGMAOGPAOGQAO
OpérationsMachines
OutilsPersonnelMatière
SimulerPlanifier
LancerSuivreRéagir
Acquisition Pilotage
Fabrication / Transformation
ProcessusMachines
Automates. . .
Codesbarre
Niveau «stratégique» : ERP
Gestion
Niveau «tactique» : MES
Exécution, suivi
Niveau «opérationnel»
Temps réel
Informatique Industrielle, G. Bloch, ESSTIN, 2007 3 - 23
4.5.3 Supervision
La supervision comprend la surveillance et le suivi du processus de fabrication ou de production, en amenant à un poste central les informations dispersées et en les visualisant sous formes de synoptiques animés.
Le poste central est souvent équipé d'écrans vidéo permettant de visualiser les images acquises par
différentes caméras. La supervision inclut d'autre part des fonctions telles que l'archivage des points de fonctionnement, la gestion et l'archivage des alarmes et des défauts, le calcul de tendances, le SPC (Statistical Process Control)...
Elle permet d'autre part la gestion des recettes, la modification des consignes, le changement et le
paramétrage des algorithmes de régulation et de pilotage, la commutation entre les modes de marche automatique, dégradé, manuel.
Les systèmes de supervision (Supervisory Control and Data Acquisition, SCADA / Human-Machine
Interface, HMI) sont le résultat de développements spécifiques, à partir de Visual Basic ou C++, par exemple, ou/et sont réalisés à partir de progiciels généraux paramétrés pour l'application (communications, interfaces graphiques et animations, utilisant des librairies d'objets graphiques, bases de données, gestion des droits d'accès). Les progiciels de supervision sont très nombreux (Intouch, de Wonderware, PC-Vue, de Arc Informatique, par exemple).