Vous êtes sur la page 1sur 50

Chapitre 3 Programmation en Ladder

Bibliographie :
❶ Michel BERTRAND « Automates programmables industriels

❷ Les A.P.I. « Architecture et applications des automates


programmables »
❸ Henri Nussbaumer : Informatique Industriels III
« Automates programmables
commande et réglage
Capteurs »
❹ L. A. Bryan, E.A. Bryan « Programmable Controllers –
Theory and Implementation » Second Edition

❺ Doc Schneider
M. DERRHI & O. KAMACH
Programmation en Langage Ladder

1
ENSA de Tanger
Chapitre 3 Programmation en Ladder

Introduction
Langage graphique basé sur deux éléments : contacts et bobines

Schéma électrique Langage Ladder

Automates : exemple Allen Bradely, Télémécanique TSX


MICRO 37xx V1.0 n’utilisent pas G7

Transcription G7 en Ladder (Langage à contact)

Un programme écrit en Langage Ladder se compose d’une suite de


réseaux exécutés séquentiellement.

2
ENSA de Tanger
Programmation en Ladder

Structure d’un réseau :

Un programme en Ladder est composé d’une


suite de réseau (Rung)
chaque réseau est composé principalement de 4
zones :
zone de saisie d’étiquette (ou label) %Li (0
≤ i ≤ 999)
zone de saisie de commentaires (222
caractères maxi)
zone de test (colonne 1 à 10) : contacts,
blocs fonctions, blocs comparaisons.
zone d’action (dernière colonne) : bobines,
blocs opérations
ENSA de Tanger 3
Programmation en Ladder
Structure d’un réseau :

ENSA de Tanger 4
Programmation Ladder
Désignation Eléments Symboles
Eléments de test Contact à fermeture

Contact à ouverture

Contact front montant


P
Contact front descendant
N
Eléments de liaison Connexion horizontale

Connexion verticale

Eléments d’action Bobine directe

Bobine inverse

Bobine d’enclenchement
S
Bobine de déclenchement
R
Saut conditionnel (Jump) %Li
Bobine dièse
#
Bobine appel à un sous
programme (Call) C
ENSA de Tanger
5
Programmation Ladder
Désignation Eléments Symboles
Eléments d’action Retour de sous programme <return>
Arrêt programme <halt>

6
ENSA de Tanger
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


Contact passant quand
liaison l’objet bit qui le pilote
Connexion verticale
est à l’état 1
Eléments Bobine directe
d’action
Bobine inverse

Bobine d’enclenchement

Bobine de déclenchement

Saut conditionnel (Jump)

Bobine dièse

Bobine appel à un sous


programme (Call)

ENSA de Tanger 7
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale
Contact passant quand
Eléments Bobine directe l’objet bit qui le pilote
est à l’état 0
d’action
Bobine inverse

Bobine d’enclenchement

Bobine de déclenchement

Saut conditionnel (Jump)

Bobine dièse

Bobine appel à un sous


programme (Call)

ENSA de Tanger 8
SN : Contacts

ENSA de Tanger 9
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant


P
Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale

Eléments Bobine directe


d’action
Bobine inverse Front montant :
détection du passage du
Bobine d’enclenchement 0 à 1 de l’objet bit qui
le pilote
Bobine de déclenchement

Saut conditionnel (Jump)

Bobine dièse

Bobine appel à un sous


programme (Call)

ENSA de Tanger 1
0
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant


N
Eléments de Connexion horizontale
liaison
Connexion verticale

Eléments Bobine directe


d’action
Bobine inverse

Bobine d’enclenchement Front descendant :


détection du passage du
Bobine de déclenchement 1 à 0 de l’objet bit qui
le pilote
Saut conditionnel (Jump)

Bobine dièse

Bobine appel à un sous


programme (Call)

ENSA de Tanger 11
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale

Eléments Bobine directe


d’action
Bobine inverse

Bobine d’enclenchement

Bobine de déclenchement Permet de relier en


série les éléments de
Saut conditionnel (Jump) test et d’action entre
les deux barre potentiel
Bobine dièse

Bobine appel à un sous


programme (Call)

ENSA de Tanger 12
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale

Eléments Bobine directe


d’action
Bobine inverse

Bobine d’enclenchement

Bobine de déclenchement
Permet de relier en
Saut conditionnel (Jump) parallèle les éléments
graphiques de test et
Bobine dièse d’action.

Bobine appel à un sous


programme (Call)
ENSA de Tanger 13
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale

Eléments Bobine directe


d’action
Bobine inverse

Bobine d’enclenchement

Bobine de déclenchement

Saut conditionnel (Jump)

Bobine dièse L’objet bit associé prend


la valeur du résultat de
Bobine appel à un sous la zone de test
programme (Call)

ENSA de Tanger 14
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale

Eléments Bobine directe


d’action
Bobine inverse

Bobine d’enclenchement

Bobine de déclenchement

Saut conditionnel (Jump)


L’objet bit associé prend
Bobine dièse la valeur inverse du
résultat de la zone de
Bobine appel à un sous test
programme (Call)

ENSA de Tanger 15
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale

Eléments Bobine directe


d’action
Bobine inverse

Bobine d’enclenchement
S
Bobine de déclenchement

Saut conditionnel (Jump)


L’objet bit associé est
Bobine dièse mis à 1 lorsque le
résultat de la zone de
Bobine appel à un sous test est à 1
programme (Call)

ENSA de Tanger 16
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison L’objet bit associé est
Connexion verticale mis à 0 lorsque le
résultat de la zone de
Bobine directe test est à 1
Eléments
d’action
Bobine inverse

Bobine d’enclenchement

Bobine de déclenchement
R
Saut conditionnel (Jump)

Bobine dièse

Bobine appel à un sous


programme (Call)

ENSA de Tanger 17
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale
Permet un branchement
à un réseau étiqueté
Eléments Bobine directe
amont ou aval.
d’action
Bobine inverse

Bobine d’enclenchement

Bobine de déclenchement

Saut conditionnel (Jump)


%Li
Bobine dièse

Bobine appel à un sous


programme (Call)

ENSA de Tanger 18
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale

Eléments Bobine directe


Permet la programmation
d’action des réceptivités associées
Bobine inverse
aux transitions.
Bobine d’enclenchement

Bobine de déclenchement

Saut conditionnel (Jump)

Bobine dièse
#
Bobine appel à un sous
programme (Call)

ENSA de Tanger 19
Programmation Ladder
Désignation Eléments Symboles Fonctions
Eléments de Contact à fermeture
test
Contact à ouverture

Contact front montant

Contact front descendant

Eléments de Connexion horizontale


liaison
Connexion verticale

Eléments Bobine directe


d’action
Bobine inverse
Permet un branchement en
Bobine d’enclenchement début de sous programme
lorsque le résultat de la
Bobine de déclenchement zone de test est à 1.

Saut conditionnel (Jump)

Bobine dièse

Bobine appel à un sous


programme (Call) C
ENSA de Tanger 20
Programmation Ladder
Désignation Eléments Symboles Fonction
Eléments d’action Retour de sous <return>
programme

Arrêt programme <halt>


Permet au retour au
module appelant lorsque le
résultat de la zone de test
est à 1.

ENSA de Tanger 21
Programmation Ladder
Désignation Eléments Symboles Fonction
Eléments d’action Retour de sous <return>
programme Provoque l’arrêt de
l’exécution du programme
lorsque le résultat de la
zone de test est à 1.
Arrêt programme <halt>

ENSA de Tanger 22
Logique en Ladder
+ A B Y -
ET (A, B)

A Y
OU (A, B)
B

A Y
Complément (Y)

A B Y
XOR (A, B)
A B

ENSA de Tanger 23
Logique en Ladder
+ A B Y -
ET (A, B)

Y
A B

Table de vérité « ET »
A B Y
0 0 0
0 1 0
1 0 0
1 1 1

ENSA de Tanger 24
Logique en Ladder
ET (A, B)

A Y
B

Table de vérité « ET »

A B Y
0 0
0 1
1 0
1 1

ENSA de Tanger 25
Logique en Ladder
ET (A, B)

B Y
A

Table de vérité « ET »

A B Y
0 0 0
0 1 0
1 0 0
1 1 1

ENSA de Tanger 26
Logique en Ladder
ET (A, B)

B Y
A

Logigramme Langage Littéral (ST) Langage List


A
& Y Y := A and B; LD A
AND B
B ST Y

ENSA de Tanger 27
Logique en Ladder
A Y
OU (A, B)
B

ENSA de Tanger 28
Logique en Ladder
A Y
OU (A, B)
B

ENSA de Tanger 29
Logique en Ladder
A Y
OU (A, B)
B

B Table de vérité « OU »

A B Y
0 0 0
0 1 1
1 0 1
1 1 1

ENSA de Tanger 30
Logique en Ladder
A Y
OU (A, B)
B

B
Logigramme Langage Littéral (ST) Langage List
A

>
=
Y Y := A OR B; LD
OR
A
B
B ST Y

ENSA de Tanger 31
Logique en Ladder
A Y
Complément (Y)

Si A = 1 alors Y = 0
Si A = 0 alors Y = 1

Logigramme Langage Littéral Langage List

A Y LDN A
1 Y := NOT A;
ST Y

ENSA de Tanger 32
Logique en Ladder
A B Y
XOR (A, B)
A B

A
0

B
0

ENSA de Tanger 33
Logique en Ladder
A B Y
XOR (A, B)
A B

A
1

B
1

ENSA de Tanger 34
Logique en Ladder
A B Y
XOR (A, B)
A B

A
0

B
1

ENSA de Tanger 35
Logique en Ladder
A B Y
XOR (A, B)
A B

A
1

1
B

0
Langage List
Logigramme ? Langage Littéral LD A
XOR B
Y := A XOR B;
ST Y

ENSA de Tanger 36
Bloc Fonction
Les blocs fonctions sont des fonctions prédéfinis dans l’automate
Les blocs fonctions sont caractérisés par :

une représentation graphique


un nom et numéro d’ordre

des entrées qui le


commande

des sorties qui


indiquent sont état

des paramètres internes


qui permettent de l’adapter
à l’application

ENSA de Tanger 37
Exemple Bloc Fonction
Bloc fonction temporisateur

Le temporisateur possède 3 mode de fonctionnement :


o TON : permet de gérer des retards à l’enclenchement
o TOF : permet de gérer des retards au déclenchement
o TP : permet d’élaborer une impulsion de durée précise
(monostable)

La configuration consiste à déterminer les paramètres suivants :

mode : TON, TOF, TP;


TB (base de temps) : 1mn, 1s, 100ms ou 10ms
%TMi.P (valeur de présélection) de 0 à 9999
MODIF : Y (yes) ou N (Non)

ENSA de Tanger 38
Exemple Bloc Fonction
Bloc fonction temporisateur :TON

%IN

%Q

%TMi.P

%TMi.V

Retard à l’enclenchement ou retardé à l’action : TON

ENSA de Tanger 39
Exemple Bloc Fonction
Bloc fonction temporisateur : TOF

%IN

%Q

%TMi.P

%TMi.V

Retard au déclenchement ou retardé au relâchement : Mode TOF

ENSA de Tanger 40
Exemple Bloc Fonction
Bloc fonction temporisateur : TP

%IN

%Q

%TMi.P

%TMi.V

Impulsion, monostable : Mode TP

ENSA de Tanger 41
Exemple Bloc Fonction
Bloc fonction compteur

R : Remise à zéro (Reset)


S : Présélection
CU : comptage
CD : décomptage

%Ci.P : valeur de présélection


%Ci.E (Empty) = 1 lorsqu’en décomptage %Ci.V passe de 0 à 9999
%Ci.F (Full) = 1 lorsqu'en comptage, %Ci.V passe 9999 à 0
%Ci.D = 1 lorsque %Ci.V = %Ci.P

ENSA de Tanger 42
Exemple Bloc Fonction
Bloc fonction compteur

%Ci.P = 4

CU

1 2 3 4

%Ci.V

%Ci.D

Diagramme de principe d’un compteur à accumulation


ENSA de Tanger 43
Exemple Bloc Fonction
Bloc comparaison

Permet la comparaison de 2 opérandes. Suivant le résultat


la sortie correspondante passe à 1.
Si EN = 0, les sorties sont mises à 0
opérateur : <, <=, =, >=, <>.
2 blocs : vertical et horizontal

Sortie « Supérieure (>) » = 1


si %MW5 (Op1) > %MW6 (Op 2)
Sortie « Egale(=) » = 1
si %MW5 = %MW6
Sortie « inférieur (<)» = 1
si %MW5 < %MW6
Sortie « différent (<>)» = 1
si %MW5 <> %MW6

Comparaison verticale
ENSA de Tanger 44
Exemple Bloc Fonction
Bloc comparaison
Permet la comparaison de 2 opérandes. Suivant le résultat
la sortie correspondante passe à 1.
opérateur : <, <=, =, >=, <>.
2 blocs : vertical et horizontal

%I1.0
%Q1.0
%MW5<>100

%Q1.2
%MW10<%KW1

Comparaison horizontale
ENSA de Tanger 45
Exemple Bloc Fonction
Bloc opération
Les blocs opération se positionnent dans la zone d’action.
Ils permettent la saisie d’opération diverses :
Opération arithmétique
Opération logique (AND, OR, XOR, NOT, SHL,..)
opération de conversion (BCD_TO_INT, INT_TO_BCD, INT_TO_REAL
%I1.0
%MW0:=%I1.6:21

%I1.2
P INC%MW1

%I1.3
%MW1>50 %MW2:X8:=%IW1.3:X6
%I1.4
%M0:8:=%I1.0:8
ENSA de Tanger 46
Principe d’exécution d’un réseau
LD
Un réseau à contact (appelé aussi Rung) est scruté selon les règles
suivantes :

Règle 1 : La scrutation commence dans le coin haut gauche du


réseau

Règle 2 : Le réseau est évalué ligne par ligne de haut en bas

Règle 3 : La ligne est évaluée de la gauche vers la droite

Règle 4 : Su une liaison de convergence est rencontrée, la ligne entre la liaison


de divergence et la liaison de convergence est évaluée avant de
terminer la ligne en cours.

ENSA de Tanger 47
Principe d’exécution d’un réseau
LD

1
%I1.0 %I1.1 %I1.2 3 %Q2.0 5

%I1.3

%I1.4 %I1.5 4

ENSA de Tanger 48
Exemple d’application
On choisit un API extrêmement simple ne comprenant que 3
bornes d’entrée et 4 bornes de sorties.
Le module d’entrée possède 3 borne E1, E2, E3 ainsi qu’une borne
Commune CE.
Les dispositifs de commande (appelés dispositifs d’entrée) sont
raccordés d’une part individuellement à une borne (E1, E2 ou E3)
et d’autre part à une source d’alimentation de 24V, elle-même
reliée à la borne CE.

111 S1
L1
E1
101 UT
E2 112 S2 L2
102
E3 113S3 L3
103

114 S4
104
CE CS

120V
ENSA de Tanger 49
Exemple d’application

1. Écrire un programme en LD permettant d’allumer et éteindre


une lampe L2 lorsqu’on appuie sur un bouton poussoir BP1.

2. Ecrire un programme en LD tel que le bouton poussoir doit


alimenter la lampe L2, mais cette fois la lampe doit s’éteindre
lorsqu’on appuie sur le bouton.

3. Le bouton poussoir doit alimenter trois lampe L1, L2 et L3 de


sorte que L1 et L2 s’allumer et que L3 s’éteigne lorsqu’on appuie
sur le bouton.

4. On désire le même mode de fonctionnement que dans 3, sauf que


la lampe L1 doit s’allumer 5 secondes après la fermeture du bouton
Poussoir.

ENSA de Tanger 50

Vous aimerez peut-être aussi