université henri poincaré nancy 1 esstindreamteam.esstin.free.fr/cours/3a/info...

23
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

Upload: lamphuc

Post on 15-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 2: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 3: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 4: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 5: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 6: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 7: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 8: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 9: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 10: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 11: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 12: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 13: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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)

Page 14: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 15: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 16: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 17: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 18: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 19: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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.

Page 20: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 21: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 22: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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

Page 23: Université Henri Poincaré Nancy 1 ESSTINdreamteam.esstin.free.fr/COURS/3A/Info Indus/CoursIIPart3V3.pdf · Dans un premier temps, on représente seulement le fonctionnement logique

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