Plan du cours - classes2010-2011.e-monsite.com

18
Plan du cours Chapitre V: Langages de programmation des Automates Programmables Industriels 1. Aspect programmation: fonctions des ateliers logiciels, terminaux de programmation. 2. Norme IEC 61131-3: objectifs et utilités, éléments définis par la norme, langages de programmation: exemples, comparaison, logiciels multi langages. 3. Langage Ladder (LD): symboles, exemples. 4. Langage Instruction List (IL): jeu d’instructions, exemples. 132 Aspect programmation Fonctions des ateliers logiciels La programmation englobe les fonctions suivantes: La gestion des projets (planification, ordonnancement, pilotage, estimation des coûts, maîtrise des risques, contrôle qualité, etc.) La configuration (matérielle et logicielle) des automates, L’édition et la compilation des programmes, Les transferts (automates <> PC/console), Mise au point et réglages dynamiques. 133

Transcript of Plan du cours - classes2010-2011.e-monsite.com

Page 1: Plan du cours - classes2010-2011.e-monsite.com

Plan du cours

� Chapitre V: Langages de programmation des Automates Programmables Industriels

1. Aspect programmation: fonctions des ateliers logiciels,

terminaux de programmation.

2. Norme IEC 61131-3: objectifs et utilités, éléments définis

par la norme, langages de programmation: exemples,

comparaison, logiciels multi langages.

3. Langage Ladder (LD): symboles, exemples.

4. Langage Instruction List (IL): jeu d’instructions, exemples.132

Aspect programmationFonctions des ateliers logiciels

� La programmation englobe les fonctions suivantes:

� La gestion des projets (planification, ordonnancement, pilotage,

estimation des coûts, maîtrise des risques, contrôle qualité, etc.)

� La configuration (matérielle et logicielle) des automates,

� L’édition et la compilation des programmes,

� Les transferts (automates <> PC/console),

� Mise au point et réglages dynamiques.

133

Page 2: Plan du cours - classes2010-2011.e-monsite.com

Aspect programmationTerminaux de programmation (1)

�Généralement, utilisé pour des

opérations de maintenance.

� Contient un ensemble de menus,

offrant plusieurs fonctionnalités.

� Permet d’effectuer un certain

nombre d’opérations: forçage d’une

sortie, visualisation, paramétrage, test,

etc.

Pupitre opérateur

134

Aspect programmationTerminaux de programmation (2)

� Permet d’écrire et de mettre en œuvre des

programmes relativement simples.

� Contient un clavier alphanumérique, avec les

principales instructions de programmation et un

petit écran de visualisation.

� Le menu permet d’accéder à diverses

fonctionnalités: transfert du programme,

initialisation des variables internes, RUN/STOP,

configuration des blocs prédéfinis, etc.

� Connexion par câble ou sans fil.

� Présente l’avantage de la portabilité.

Console de programmation

135

Page 3: Plan du cours - classes2010-2011.e-monsite.com

Aspect programmationTerminaux de programmation (3)

� Peut être un écran tactile ou un PC.

� L’écran tactile contient une représentation

graphique de la partie opérative, permettant

un suivi et une commande du système en

temps réel.

� Le PC permet une programmation

conviviale, hors site (mode déconnecté).

� Communication par liaisons série

(RS232/485/USB) ou par bus de terrain.

Interface graphique

136

Norme IEC 61131-3Objectifs et utilités

� Dans le monde industriel, il est fréquent d’utiliser simultanément des

automates de différents fabricants, conséquences:

� Coûts et temps de formation élevés,

� Temps et efforts de programmation importants,

� Documentation difficile du projet.

� Nécessité d’une norme uniformisant la structure logicielle et les

langages de programmation pour tous les constructeurs.

137

Page 4: Plan du cours - classes2010-2011.e-monsite.com

� Types de données standard:

– BOOL: 1 bit.

– BYTE: 8 bits (0 � 255).

– WORD: 16 bits (0 � 65535).

– DWORD: 32 bits (0 � 4294967295).

– SINT: 8 bits (-128 � 127).

.

.

.

Norme IEC 61131-3Éléments définis par la norme (1)

138

� Adressage:

– Pourcent: %

– Préfixe:

� I: entrée,

� Q: sortie,

� M: variable interne.

– Taille:

� X, aucun: 1 bit,

� B: byte (8 bits),

� W: word ou mot (16 bits),

� D: double word ou double mot (32 bits).

Norme IEC 61131-3Éléments définis par la norme (2)

139

Page 5: Plan du cours - classes2010-2011.e-monsite.com

� Langages de programmation:

� 2 langages textuels:

- Liste d’instructions (IL),

- Texte structuré (ST).

� 3 langages graphiques:

- Plan contact/Diagramme ladder (LD),

- Blocks fonctionnels (FBD),

- GRAFCET (SFC).

Norme IEC 61131-3Éléments définis par la norme (3)

140

IL

FBD ST

LD

Norme IEC 61131-3Langages de programmation: exemples

baC .=

141

Page 6: Plan du cours - classes2010-2011.e-monsite.com

� LD: langage de base de tous les API, facile à lire et à

comprendre par les électromécaniciens, ayant une

connaissance de la schématique électrique, sans

forcément apprendre le langage de programmation.

� FBD: visuel et facile à lire. Peut devenir lourd si les

équations sont complexes.

� ST: langage haut niveau, formation en programmation

Pascal requise, pas toujours disponible.

Norme IEC 61131-3Langages de programmation: comparaison (1)

142

� IL: langage de type assembleur. Convenable pour des

programmes simples, mais s’avère lourd et difficile à

développer, si le programme est complexe.

� SFC: utilisé pour la description séquentielle du

fonctionnement des automatismes et pour la gestion des

modes de marches et d’arrêt (GEMMA). Il ne peut pas

être lu et interprété par tout le monde (nécessite des pré

requis théoriques sur le GRAFCET).

Norme IEC 61131-3Langages de programmation: comparaison (2)

143

Page 7: Plan du cours - classes2010-2011.e-monsite.com

Norme IEC 61131-3Logiciels multi langages

PL7

(Schneider)

STEP7

(Siemens)

144

Langage LADDERPrésentation générale

� Ladder = échelle en anglais.

� Schéma électrique d’une

alimentation en tension,

représentée par deux barres

verticales, reliées horizontalement par des " rungs" (réseaux)

parcourus par courant.

145

Page 8: Plan du cours - classes2010-2011.e-monsite.com

� Le programme se lit de haut en bas: chaque "rung" représente une instruction du programme.

� Sur chaque "rung", l'évaluation des valeurs se fait de gauche à droite (il est interdit d’inverser le sens de l’écriture).

Langage LADDERRègles d’écriture

146

Langage LADDERÉléments fondamentaux

� Contacts (ou interrupteurs): représentent les

données d’entrée de l’instruction. Positionnés dans la

partie gauche du rung.

� Bobines (ou relais): représentent les données de

sortie de l’instruction, c.-à-d., le résultats de l’opération.

Positionnées à l’extrémité droite du rung (une seule par

rung).

� Blocs fonctionnels: permettent de réaliser des

fonctions avancées (temporisation, comptage, etc.).

Positionnés à l’extrémité droite du rung (un seul par

rung).

147

Page 9: Plan du cours - classes2010-2011.e-monsite.com

Langage LADDERContacts NO/NF

� Contact normalement ouvert (NO): Il est

ouvert au repos, mais il se ferme (passage de

courant) lorsque la variable booléenne (I) est vraie

(I = 1).

� Contact normalement fermé (NF/NC): Il est

fermé au repos, mais il s’ouvre (aucun passage

de courant) lorsque la variable booléenne (I) est

vraie (I = 1).

148

Langage LADDERContacts actifs sur front

� Contact actif sur front montant: Il est ouvert

au repos, mais se ferme (passage de courant) sur

un front montant de la variable booléenne (I).

� Contact actif sur front descendant: Il est

fermé au repos, mais il s’ouvre (aucun passage

de courant) sur un front descendant de la variable

booléenne (I).

I

I

149

Page 10: Plan du cours - classes2010-2011.e-monsite.com

Langage LADDERBobines

� Bobine directe: la variable booléenne

associée est vraie (X =1), si la bobine est

alimentée.

� Bobine inversée: la variable booléenne

associée est fausse (X = 0), si la bobine

est alimentée.

150

Langage LADDERBobines à actions Set/Reset

� Bobine à action Set (Latch): si elle est

alimentée, elle assigne la valeur X =1.

� Bobine à action Reset (Unlatch): si

elle est alimentée, elle assigne la valeur

X = 0.

151

Page 11: Plan du cours - classes2010-2011.e-monsite.com

Langage LADDERExemple bobine Set/Reset

2 conditions disjointes

152

Langage LADDERAnalogie avec une bascule RS

153

Page 12: Plan du cours - classes2010-2011.e-monsite.com

Langage LADDERExemple commande marche/arrêt

ma/

a m/

1

1

0

0

M10

154

Langage LADDERSaut

Si (I) est vraie, alors saut à la

section étiquetée "LBL« , sinon

exécuter les rungs suivants (2, 3,

…)

155

Page 13: Plan du cours - classes2010-2011.e-monsite.com

Langage LADDERSous-programme (sub-routine)

Si (I) est vraie, alors

on exécute

le sous-programme.

Quand le sous

programme est

terminé, retour

à l’instruction

suivante.

156

Langage LADDERAutres opérations

Opérandes

� La fonction "Instruction" permet de réaliser des fonctions logiques,

mathématiques, gestion de la mémoire, communication entre API sur

réseaux…

157

Page 14: Plan du cours - classes2010-2011.e-monsite.com

� Chaque instruction commence dans une nouvelle ligne. Elle est

constituée par:

– Un opérateur,

– Si nécessaire, un modificateur (complément, parenthèse,…),

– Une opérande.

Label ou N° de ligne Opérateur Opérande

Modificateur Commentaire

Langage LISTPrésentation générale

158

Langage LISTInstructions de test

159

Page 15: Plan du cours - classes2010-2011.e-monsite.com

Langage LISTInstructions d’action

160

Langage LISTExemple d’écriture

161

2

Page 16: Plan du cours - classes2010-2011.e-monsite.com

Langage LISTAnalogie LIST – LADDER (1)

162

Langage LISTAnalogie LIST – LADDER (2)

163

Page 17: Plan du cours - classes2010-2011.e-monsite.com

Langage LISTExercice (1): traduire du LADDER au LIST

164

Langage LISTExercice (2): traduire du LIST au LADDER

)

(1) (2)

(

165

Page 18: Plan du cours - classes2010-2011.e-monsite.com

Langage LISTExercice (3): traduire LADDER au LIST

166