34
NORMALISATION DES NORMALISATION DES LANGAGES DE LANGAGES DE PROGRAMMATION PROGRAMMATION des des Automates Automates Programmables Programmables Industriels Industriels CEI 61131-3 - - 1- 1-

NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

  • Upload
    bena

  • View
    63

  • Download
    3

Embed Size (px)

DESCRIPTION

NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels. CEI 61131-3. -1-. Plan de la présentation. Présentation générale de la norme Les objectifs de la norme CEI 61131 Les notions de base et les concepts importants les éléments communs aux différents langages - PowerPoint PPT Presentation

Citation preview

Page 1: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

NORMALISATION DES NORMALISATION DES LANGAGES DE LANGAGES DE PROGRAMMATIONPROGRAMMATION

desdes

AutomatesAutomatesProgrammablesProgrammablesIndustrielsIndustriels CEI 61131-3

-1--1-

Page 2: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Plan de la présentationPlan de la présentation

• Présentation générale de la norme

• Les objectifs de la norme CEI 61131

• Les notions de base et les concepts importants

• les éléments communs aux différents langages

• Les langages de programmation

Quelques exemples d ’utilisation

• Conclusions

-2--2-

Page 3: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les différentes parties deLes différentes parties dela normela norme

• Les outils de programmation et Les outils de programmation et de mise au pointde mise au point

• Les équipements de testLes équipements de test

• les interfaces homme - machineles interfaces homme - machine

Elles s ’appliquent aux Elles s ’appliquent aux automates programmables et automates programmables et aux périphériques associés tels aux périphériques associés tels que :que :

-3--3-

Page 4: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les cinq parties de la CEI Les cinq parties de la CEI 6113161131

• 1ère partie :

• 2ème partie :

• 3ème partie :

• 4ème partie :

• 5ème partie :

IInnffoorrmmaatitioonnss ggéénnéérraalleess

Spécifications et essais des Spécifications et essais des équipementséquipements

Langages de programmationLangages de programmation

Guide pour l ’utilisateurGuide pour l ’utilisateur

CommunicationsCommunications

-4--4-

Page 5: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les premières références Les premières références internationalesinternationales

CEI 61131-1 et -2 : octobre 1992CEI 61131-1 et -2 : octobre 1992

CEI 61131-3 : mars 1993CEI 61131-3 : mars 1993

CEI/TR3 61131-4 : mars 1995CEI/TR3 61131-4 : mars 1995

CEI 62231-5 : août 1999CEI 62231-5 : août 1999version préliminaire avant publicationversion préliminaire avant publication

Voir http://www.iec.ch -5--5-

Page 6: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les premières références Les premières références européenneseuropéennes

NF EN 61131-1 : septembre 1994NF EN 61131-1 : septembre 1994

NF EN 61131-2 : octobre 1996NF EN 61131-2 : octobre 1996

NF EN 61131-3 : novembre 1993NF EN 61131-3 : novembre 1993

Voir http://www.afnor.fr

Elles comportent en plus des CEI une annexe normativeElles comportent en plus des CEI une annexe normative(correspondances normes européennes et internationales)(correspondances normes européennes et internationales)

-6--6-

Page 7: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les objectifs de la normeLes objectifs de la norme(trois premières parties)(trois premières parties)

• Donner les Donner les définitionsdéfinitions et identifier les et identifier les principales principales caractéristiquescaractéristiques permettant de sélectionner et permettant de sélectionner et d ’utiliser les A.P.d ’utiliser les A.P.

• Spécifier les Spécifier les prescriptionsprescriptions électriques, électriques, mécaniques et fonctionnelles ainsi que les mécaniques et fonctionnelles ainsi que les méthodes de test et les procédures à suivre pour méthodes de test et les procédures à suivre pour vérifier la conformité avec ces prescriptionsvérifier la conformité avec ces prescriptions

• Spécifier la syntaxe, la sémantique et la Spécifier la syntaxe, la sémantique et la représentation des représentation des langages de programmationlangages de programmation devant être utilisés pour les A.P. devant être utilisés pour les A.P.

-7--7-

Page 8: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Quelques définitionsQuelques définitions

• pour les langages :pour les langages :

- un délimiteur,- un délimiteur,

- un double mot, un mot long,- un double mot, un mot long,

- une instance,- une instance,

- une variable globale,- une variable globale,

- un libellé,- un libellé,

- une donnée non volatiles,- une donnée non volatiles,

- un champ d ’application ...- un champ d ’application ... -8--8-

• Pour une configuration d ’A.P. :Pour une configuration d ’A.P. :

- (procédure d ’) arrêt de sécurité,- (procédure d ’) arrêt de sécurité,

- reprise à froid, à chaud et immédiate …- reprise à froid, à chaud et immédiate …

Page 9: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Structure fonctionnelle de base d ’une Structure fonctionnelle de base d ’une configuration d ’A.P.configuration d ’A.P.

Fonctions de

communication

Fonction detraitement

des données

Fonctions d'interfaceavec les capteurs/actionneurs

Fonctalimentation

Machine

Périphériques Opérateur

Concepteurde programmed'application

Alimentationprincipale

Fonctionsd'interfaceHomme-Machine

Fonctions :programmation,mise au point

et test

Fonctionsdu système

d'exploitation

Fonctionsde l'application

Fonctionsde stockagedes données

Exécution desprogrammesd'application

-9--9-

Page 10: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Partie 3 : langages de Partie 3 : langages de programmationprogrammationNotions de baseNotions de base

• MODULES LOGICIELSMODULES LOGICIELS (Program organization units)

-10--10-

• LES LANGAGES DE PROGRAMMATIONLES LANGAGES DE PROGRAMMATION (dans lesquels les modules peuvent être écrits)

- le PROGRAMME (Program)

- le BLOC FONCTIONNEL (Function Block)

- la FONCTION (Function)

Page 11: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

La fonctionLa fonction

• Module logiciel ayant :Module logiciel ayant :

- plusieurs variables d ’entrée possibles,

- une seule variable de sortie,

- pas de mémoire interne,

- parfois une entrée EN (validation) et une sortie ENO (pas d ’erreur). -11--11-

Page 12: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Exemples de fonctionsExemples de fonctions

- fonctions de conversion de type,

- fonctions arithmétiques,

- fonctions sur chaînes de bits,

- fonctions sur chaînes de caractères,

- fonctions de sélection et comparaison,

- ... -12--12-

Page 13: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Exemple de déclaration de Exemple de déclaration de fonctionfonction

EN

ABC

BOOL ENO BOOL

INTINTINTINT

F1

D

Spécification externe de F1

-13--13-

Page 14: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Spécification du corps de F1

ADD

EN

AB

ENO

MUL

EN

C

F1_ENF1_OKENO

D

-14--14-

Exemple de déclaration de Exemple de déclaration de fonctionfonction

Page 15: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Le bloc Le bloc fonctionnelfonctionnel

• Module logiciel ayant :Module logiciel ayant :

- plusieurs variables de sortie possibles,

- une mémoire interne.

-15--15-

Page 16: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Exemples de blocs Exemples de blocs fonctionnelsfonctionnels

- mémoires,

- détection de fronts,

- compteurs, temporisations,

- blocs de communication,

- ...

-16--16-

Page 17: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Exemple de bloc fonctionnel Exemple de bloc fonctionnel standardstandard

-17--17-

S1

R

BOOL BOOL

SR

Q1

BOOL

R &

S1 >=1 Q1

Corps du B.F. SR

Page 18: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Bloc fonctionnel Bloc fonctionnel instanciéinstancié

-18--18-

S1

R

BOOL BOOL

SR

Q1

BOOL

S1

R

%IX1.0

SR

Q1

%IX1.2

%QX3.0

MEM_DEF

S1

R

SR

Q1

M2_DEF

%IX1.2

%IX2.0

%QX3.4

Il est possible de créer plusieurs instances d ’un Il est possible de créer plusieurs instances d ’un même B.F.même B.F.(dans un programme ou un autre B.F.)(dans un programme ou un autre B.F.)

Page 19: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Le programmeLe programme

• Module logiciel construit à l ’aide Module logiciel construit à l ’aide de :de :

- fonctions,

- et blocs fonctionnels.

-19--19-

Les programmes ne peuvent être instanciés que dans des Les programmes ne peuvent être instanciés que dans des RESSOURCESRESSOURCES

Des Des VARIABLESVARIABLES GLOBALESGLOBALES pourront être déclarées pourront être déclarées

Page 20: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

RESSOURCE Station_1

TACHEmaître_1

TACHErapide_1

-20--20-

La configuration La configuration logiciellelogicielle

RESSOURCE Station_2

TACHEmaître_2

TACHEinterrup_2

PRG_F2 PRG_H2

PRG F PRG H

maître_2interrup_2

x1

x2

y1FB_C FB_E

W%QW5

FB_C2 FB_E2

y2

z2

maître_2

Chemins d'accèsDEFAUTBETAALPHA

CONFIGURATION Unité_1CONFIGURATION Unité_1

PRG_F1

PRG F

maître_1

x1

x2

y1

PRG_G1

PRG G

rapide_1

FB_A FB_B

FB_A1 FB_B1

z1

maître_1

Page 21: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les éléments Les éléments communs aux communs aux différents langagesdifférents langages

• Les identificateursLes identificateurs

• Les mots clésLes mots clés

• Les commentairesLes commentaires

• Les libellésLes libellés : : numériques, de chaînes de caractères, de datation et de numériques, de chaînes de caractères, de datation et de

temps,temps,

• Les types de donnéesLes types de données

• Les variablesLes variables -21--21-

ARRET_TECHN, RETOUR_OK

FUNCTION,

END_FUNCTION_BLOCK

(*production normale*)

+234, 16#E0, ‘ ARRET ’,

TIME#2.7s

Page 22: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les types de données, Les types de données, exemplesexemples

-22--22-

BOOL Booléen 1 bitBYTE Chaîne de bits de longueur 8 8 bitsWORD Mot 16 bitsDWORD Mot double 32 bitsLWORD Mot long 64 bitsINT Entier 16 bitsUINT Entier non signé 16 bitsUDINT Entier double non signé 32 bits

Page 23: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les variables à un seul Les variables à un seul élémentélément

-22bis--22bis-

PREFIXE SIGNIFICATIONI Emplacement d'entréeQ Emplacement de sortieM Emplacement de mémoireX Taille d'un seul bit

Aucun Taille d'un seul bitB Taille d'un octet (8 bits)W Taille d'un mot (16 bits)D Taille d'un double mot (32 bits)L Taille d'un mot long (64 bits)

Page 24: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Représentation des variablesReprésentation des variablesà un seul élémentà un seul élément

-23--23-

La représentation directe d'une variable à un seul élément est assurée par l ’enchaînement : du signe "%", d'un préfixe d'emplacement, d'un préfixe de taille, et d'un ou plusieurs entiers non signés séparés par le symbole "."

Exemples : %I2.0, %Q3.2, %MD25Exemples : %I2.0, %Q3.2, %MD25

Page 25: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les langages de Les langages de programmationprogrammation

• Les langages littéraux :Les langages littéraux :

- IL liste d ’instructions,IL liste d ’instructions,

- ST langage littéral structuré.- ST langage littéral structuré.

-24--24-

• Les langages graphiques :Les langages graphiques :

- LD langage à contacts,

- FBD langage à blocs fonctionnels.

• Le langage SFCLe langage SFC

Page 26: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Le langage ILLe langage IL

-25--25-

Etiquette Opérateur Opérande Commentaire

MV1 : LD %IX1 (*Etiquette non oblig.*)

AND N %MX5

ST %QX2 (*Marche ventilateur*)

Des fonctions et des blocs fonctionnels peuvent être Des fonctions et des blocs fonctionnels peuvent être lancés en I Llancés en I L

Page 27: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Le langage littéral structuré ST utilise :Le langage littéral structuré ST utilise :

- des expressions- des expressions

- et des énoncés- et des énoncés

Le langage STLe langage ST

-26--26-

(E<F) AND NOT (E<F) AND NOT CC

les énoncés d ’affectation,

les énoncés de sélection,

les énoncés d ’itération,

les énoncés de commande.de fonctions et B.F.

C := C + 1 ;C := C + 1 ;

IF ... THEN … ELSE …, IF ... THEN … ELSE …, CASECASEFOR … TO …, WHILE … FOR … TO …, WHILE … REPEAT ...REPEAT ...

Page 28: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Exemple d ’un énoncé de commandeExemple d ’un énoncé de commande

Le langage ST Le langage ST

-27--27-

S1

R

%IX1.0

SR

Q1

%IX1.2

%QX3.0

MEM_DEF (*déclaration*)VAR MEM_DEF : SR; END VAR(*exécution*)MEM_DEF (S1 := %IX1.0, R := %IX1.2);(*affectation*)%QX3.0 := MEM_DEF.Q1;

Page 29: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Les langages graphiques LD et Les langages graphiques LD et FBDFBD

-28--28-

a

b c

d>=1 da

b &

c

Langage LDLangage LD Langage Langage FBDFBD

Page 30: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Langage FBD, exempleLangage FBD, exemple

-29--29-

CMD_EXPLOITATION

AUTOAUTO_MODEMANUMANU_VERIFTEMPS_MAXRETOUR_OKACQUIT

CMD

ALARME

BOOLBOOL

BOOLBOOLBOOL

BOOL

BOOL

BOOL

TIME

Description externe

Page 31: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Langage FBD, exempleLangage FBD, exemple

-30--30-

AUTO

AUTO_MODE

MANU

MANU_VERIF

TEMPS_MAX

ACQUIT

RETOUR_OK

&>=1

&TON

IN

PT

Q

ET

CMD_TMR

& SR

S1

R

Q1

ALARM_FF

ALARME

CMD

Description interne

Page 32: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Le langage SFCLe langage SFC

Il est destiné à être utilisé pour la Il est destiné à être utilisé pour la structurationstructurationde l ’organisation interne d ’un module de l ’organisation interne d ’un module logiciellogiciel

dans le but d ’assurer :

des fonctions de commande séquentielle

-31--31-

Page 33: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

Le langage SFC, remarquesLe langage SFC, remarques

-32--32-

Le parallélisme interprété est exclu

E6

E7 E8

*a bt67 t68

ACTION_4

%IX1%MX3

S8.X

%QX17&

LTC

DS1

R

%MX10SR

Q1

MEM_1

ACTION_4

%QX17 := %IX1 & %MX3 & S8.X ;MEM_1 (S1 := (C<D)) ;%MX10 := MEM1_Q ;

S5

S5

Tous les langages peuvent être utilisés dans les blocs d ’actions

Page 34: NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels

CONCLUSIONCONCLUSIONSSLa norme CEI 61131-3 répond à une attente des utilisateurs concernant les langages de programmation des API :

- harmonisation des vocabulaires utilisés,

- notions et concepts de base s’appuyant sur une norme,

- syntaxe et sémantique des langages les plus indépendants possibles d’un constructeur d’API donné,

- facilité de mise en œuvre de principes tels que structuration et modularité des programmes,

- Possibilité de définir ses propres blocs fonctionnels « utilisateur »

-33--33-

Nécessité d ’une spécification structurée en amont de la phase de codage