normalisation des langages de programmation des automates programmables industriels cei 61131-3 -1-
Post on 04-Apr-2015
158 Views
Preview:
TRANSCRIPT
NORMALISATION DES NORMALISATION DES LANGAGES DE LANGAGES DE PROGRAMMATIONPROGRAMMATION
desdes
AutomatesAutomatesProgrammablesProgrammablesIndustrielsIndustriels CEI 61131-3
-1--1-
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-
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-
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-
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-
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-
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-
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 …
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-
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)
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-
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-
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-
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
Le bloc Le bloc fonctionnelfonctionnel
• Module logiciel ayant :Module logiciel ayant :
- plusieurs variables de sortie possibles,
- une mémoire interne.
-15--15-
Exemples de blocs Exemples de blocs fonctionnelsfonctionnels
- mémoires,
- détection de fronts,
- compteurs, temporisations,
- blocs de communication,
- ...
-16--16-
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
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.)
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
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
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
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
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)
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
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
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
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 ...
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;
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
Langage FBD, exempleLangage FBD, exemple
-29--29-
CMD_EXPLOITATION
AUTOAUTO_MODEMANUMANU_VERIFTEMPS_MAXRETOUR_OKACQUIT
CMD
ALARME
BOOLBOOL
BOOLBOOLBOOL
BOOL
BOOL
BOOL
TIME
Description externe
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
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-
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
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
top related