0% ont trouvé ce document utile (0 vote)
7 vues20 pages

Programmation des Automates Programmables

Le document présente un plan de cours sur les langages de programmation des automates programmables industriels, en se concentrant sur la norme IEC 61131-3 et ses langages associés, tels que Ladder et Instruction List. Il aborde les aspects de la programmation, les terminaux utilisés, ainsi que des exemples et des comparaisons entre différents langages. Enfin, il inclut des exercices pratiques pour traduire entre les langages Ladder et LIST.

Transféré par

Yaakoub Ayari
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues20 pages

Programmation des Automates Programmables

Le document présente un plan de cours sur les langages de programmation des automates programmables industriels, en se concentrant sur la norme IEC 61131-3 et ses langages associés, tels que Ladder et Instruction List. Il aborde les aspects de la programmation, les terminaux utilisés, ainsi que des exemples et des comparaisons entre différents langages. Enfin, il inclut des exercices pratiques pour traduire entre les langages Ladder et LIST.

Transféré par

Yaakoub Ayari
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Plan du cours

 Chapitre V: Langages de programmation des


Automates Programmables Industriels

1. Aspect programmation: fonctions de programmation,


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.

Aspect programmation

 La programmation englobe les fonctions suivantes:

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

1
Aspect programmation
Terminaux de programmation (1)

Pupitre opérateur

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

Aspect programmation
Terminaux de programmation (2)

Console de programmation

 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é.

2
Aspect programmation
Terminaux de programmation (3)

Interface graphique

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

Norme IEC 61131-3


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

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

 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 (2)

 Adressage:

– Pourcent: %
– Préfixe:
 I: entrée, Q: sortie,
 M: variable interne, K: constante
– Taille:
 X, aucun: 1 bit (booléen),
 B: byte (8 bits), W: word ou mot (16 bits), D: double word ou double mot (32
bits).
 F: flottant
 S: chaîne de caractères.

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

 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


Langages de programmation: exemples

IL LD
C  a.b

FBD ST

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

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


inspiré de la schématique électrique, ne nécessite pas d’apprendre
un langage de programmation.

 FBD: visuel et facile à lire. Les blocs fonctionnels sont fournis par
une bibliothèque ou personnalisés par l’utilisateur. L’utilisation de
blocs validés permet la réduction du nombre d’erreurs. Il Peut
devenir lourd si les équations sont complexes.

 ST: langage haut niveau, nécessite une formation en programmation


Pascal. Ce langage facilite la mise en œuvre d’algorithmes complexes. Pas
toujours disponible.

Norme IEC 61131-3


Langages de programmation: comparaison (2)

 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: langage haut niveau. Il permet la programmation


aisée de tous les procédés séquentiels. Il ne peut pas
être mis en œuvre et interprété par tout le monde
(nécessite des pré requis théoriques sur le GRAFCET).

6
Norme IEC 61131-3
Logiciels multi langages

STEP7
(Siemens)

PL7
(Schneider)

Langage LADDER
Pré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.

7
Langage LADDER
Règles d’écriture

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

8
Langage LADDER
Contacts 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).

Langage LADDER
Contacts actifs sur front

 Contact actif sur front montant: Il est ouvert I


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


I
fermé au repos, mais il s’ouvre (aucun passage
de courant) sur un front descendant de la variable
booléenne (I).

9
Langage LADDER
Bobines

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

Langage LADDER
Bobines à 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.

10
Langage LADDER
Exemple bobine Set/Reset

2 conditions disjointes

Langage LADDER
Analogie avec une bascule RS

11
Langage LADDER
Exemple commande marche/arrêt

0
1
1
0 m a/ M

1
0 a m/

Langage LADDER
Saut

Si (I) est vraie, alors saut à la


section étiquetée "LBL« , sinon
exécuter les rungs suivants (2, 3,
…)

12
Langage LADDER
Sous-programme (sub-routine)

Si (I) est vraie, alors


Quand le sous on exécute
programme est le sous-programme.
terminé, retour
à l’instruction
suivante.

Langage LADDER
Autres opérations

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


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

Opérandes

13
Langage LIST
Présentation générale

 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 LIST
Instructions de test

14
Langage LIST
Instructions d’action

Langage LIST
Exemple d’écriture

15
Langage LIST
Analogie LIST – LADDER (1)

Langage LIST
Analogie LIST – LADDER (2)

16
Langage LIST
Exercice (1): traduire du LADDER au LIST

Langage LIST
Exercice (2): traduire du LIST au LADDER

(1) (2)

17
Exercice (2): exemple 1

Exercice (2): exemple 2

18
Langage LIST
Exercice (3): traduire LADDER au LIST

19
39

20

Vous aimerez peut-être aussi