Vous êtes sur la page 1sur 12

FEI, 3ème année Automatique Auto601

Ladder Diagram

1. Introduction
Les circuits électriques constituent l’élément de base dans la conception, la réalisation et la maintenance des
installations électriques. Ils sont décrits par des schémas électriques qui permettent d’identifier les différents
éléments qui leur constituent et de définir toutes les relations fonctionnelles entre ces derniers. Dans la figure
ci-dessous, on montre deux façons de représenter un circuit électrique. La première (à gauche) est plus
proche de la réalité, et montre la disposition physique de chaque élément dans le circuit. La deuxième façon
(à droite) permet, par contre, de simplifier le schéma et de faciliter sa compréhension en mettant l’accent
uniquement sur la façon par laquelle la sortie est obtenue (moteur en marche ou à l’arrêt) en fonction des
entrées disponibles (interrupteur). Cette dernière façon de schématiser les circuits électriques est à la base du
développement du langage Ladder.

L1 L2
L1
M M
L2

Figure 1 : Deux manières de représenter un circuit électrique.

2. Définition
Le langage Ladder ou LD (Ladder Diagram) appelé aussi schéma à contacts est un langage graphique très
employé pour la programmation des automates programmables industriels. Ce langage est basé sur les
schémas électriques à base de relais ou à contacts (schémas électromécaniques). Il tire son nom du mot
échelle en anglais, du fait que les programmes réalisés dans ce langage ressemblent à des échelles. Le
langage Ladder a été normalisé dans la norme CEI 61131-3.

3. Programmation en Ladder
Ecrire un programme en Ladder revient à dessiner un diagramme qui ressemble à un schéma électrique à
base de relais. Ce dernier est constitué de lignes dans lesquelles les blocs de connexions entrées/sorties
doivent avoir une continuité électrique afin que les sorties soient activées. Les valeurs (états logiques 0 ou 1)
des différentes variables utilisées correspondant dans ce cas à la présence ou non d’un potentiel électrique à
chaque nœud de connexion. Le langage Ladder traduit ces circuits électriques sous forme de programmes
graphiques permettant ainsi de simplifier grandement la compréhension et la réalisation du circuit.

Un diagramme en Ladder comprend deux traits verticaux, qui représentent des lignes d’alimentation,
reliés entre eux par des lignes horizontales appelées barreaux ou lignes du diagramme. Pour dessiner un
diagramme complet en Ladder, on adopte les conventions suivantes :

- Les traits verticaux représentent les lignes d’alimentation en tension et qui sont reliés horizontalement
par des barreaux constitués de contacts, de bobines ou de blocs fonctionnels.
- Chaque barreau d’un diagramme représente une opération ou une règle de commande.

1
FEI, 3ème année Automatique Auto601

- Un diagramme en Ladder se lit (s’exécute) de gauche à droite et du haut vers le bas. La lecture de tous
les barreaux définit un cycle d’exécution du programme. La fin du cycle peut être repérée par un barreau
contenant l’instruction END.
- Chaque barreau comporte au moins une entrée et une sortie. Les entrées (contacts) permettent de lire la
valeur d’une variable booléenne. Les sorties (bobines) permettent d’affecter une valeur logique à une
variable booléenne. Une variable quelconque d’un diagramme Ladder peut être externe (état logique
d’une entrée ou d’une sortie) ou interne à la partie commande (temporisation, comptage, variable
intermédiaire, etc).
- Un élément quelconque, entrée ou sortie, peut être présent dans plusieurs barreaux à la fois. Dans ce cas,
l’élément est désigné par le même repère alphanumérique.
- Un barreau peut également comporter des blocs fonctionnels qui permettent de réaliser des opérations
avancées (temporisation, comptage, etc).
- Un barreau peut comporter des instructions qui permettent de réaliser des opérations de contrôle
spéciales telles que les sauts, lancements de subroutines, etc.

Barreau 1 Lire les valeurs des entrées


et les sauvegarder en
mémoire

Barreau 2

Exécuter le programme et
sauvegarder les valeurs des
Barreau 3 sorties en mémoire

END
Mettre à jour les sorties

Figure 2 : Cycle d’exécution dans un diagramme Ladder.

Les entrées (contacts) : ce sont les composants de base d’un diagramme Ladder. Il existe deux types de
contacts, un contact normalement ouvert (NO) et un contact normalement fermé (NC). Le premier est fermé
quand la variable booléenne est à l’état logique 1 et ouvert dans le cas contraire. Le deuxième est ouvert
quand la variable est à 1 et fermé à 0.

Ligne d’alimentation Ligne d’alimentation Contact NO Contact NC


gauche droite

Bobine NO Bobine NC

Figure 3 : Symboles des éléments graphiques de base du Ladder.

2
FEI, 3ème année Automatique Auto601

A Y A

A Y A

A Y A

Figure 4 : Exemples de barreaux en Ladder.

Les sorties (bobines) : on distingue là aussi deux types de sorties ou bobines, une bobine NO et une bobine
NC. Une bobine NO est mise à 1 si elle est soumise à un potentiel entre ses bornes (excitée), et 0 dans le cas
contraire (désexcitée). La bobine NC est mise à 1 si aucun potentiel n’est présent à ses bornes, sinon elle est
mise à l’état 1. Notons qu’une sortie peut être utilisée comme entrée pour d’autres sorties.

4. Fonctions logiques
Les fonctions élémentaires telles que les fonctions logiques sont réalisées dans le langage Ladder en utilisant
différentes combinaisons de connexions de contacts et de bobines, en série et en parallèle, de telle façon à
obtenir la valeur souhaitée en sortie. Des exemples de fonctions logiques réalisées en langage Ladder sont
donnés par les Figures 5 et 6.

A B Y A Y

Y=A.B

Y  AB

A Y A Y

YA

Y  A.B  A  B

Figure 5 : Exemples de fonctions logiques réalisées en Ladder.


3
FEI, 3ème année Automatique Auto601

A B Y A B Y

A B C

Y  AB Y  A.(B  C)

A Y A B Y

B Z Y

YA Z  A.B Y  (A  Y).B

Figure 6 : Exemples de fonctions logiques réalisées en Ladder.

5. Fonctions supplémentaires
Les diagrammes Ladder peuvent comporter d’autres éléments graphiques disposés sous forme de blocs
fonctionnels qui peuvent avoir plusieurs entrées et plusieurs sorties. Ces blocs peuvent désigner des fonctions
de temporisation, de comptage, d’opérations arithmétiques, de comparaison, d’asservissement, etc.

Bloc
Entrées Sorties
Fonc

Figure 7 : Représentation d’un bloc fonctionnel en Ladder.

Fonctions de mémorisation

Ces fonctions mémorisent l’état d’une certaine variable selon le changement d’état de deux entrées Set et
Reset. La variable de sortie est activée si l’entrée Set change de 0 à 1, et n’est désactivée que si l’entrée Reset
est mise à 1. On distingue deux type de fonctions de mémorisation, les fonctions SR dans lesquelles la
priorité est donnée pour l’entrée Set dans le cas où les deux entrées sont mises à 1, et les fonctions RS dans
lesquelles l’entrée Reset est prioritaire par rapport à Set.

4
FEI, 3ème année Automatique Auto601

A Y A
S
B
B R

Figure 8 : Exemple d’une fonction Set/Reset en Ladder.

Fonctions de temporisation

Les fonctions de temporisation sont très utilisées dans la programmation des automates programmables
industriels. Elles permettent de retarder le changement d’état d’une certaine variable par rapport à la mise à 0
ou 1 d’une autre variable. On distingue principalement les temporisations au travail (TON), au repos (TOF)
et les générateurs d’impulsions (TP).

A Y A
TON
5s
(5s) Y

Figure 9 : Exemple d’une temporisation au travail en Ladder.

5s

A Y A
TP
(5s) Y

Figure 10 : Exemple d’un générateur d’impulsions en Ladder.

Fonctions de comptage

Les fonctions de comptage permettent de compter le nombre d’impulsions sur une variable d’entrée et de
changer l’état d’une variable de sortie selon la valeur du comptage. Les compteurs les plus utilisés sont les
compteurs d’incrémentation et les compteurs de décrémentation (décompteurs). Les compteurs (CTU)
comptent le nombre d’impulsions sur l’entrée et active leurs sorties si la valeur de comptage atteint une
certaine valeur prédéfinie. Les décompteurs (CTD) commencent à décompter les impulsions à partir d’une
certaine valeur prédéfinie jusqu’à atteindre la valeur 0 où la sortie se voit activée. La remise à l’état initial du
compteur/décompteur est réalisée en activant une deuxième entrée.

Les compteurs/décompteurs permettent de compter et de décompter le nombre d’impulsions sur deux


entrées différentes et de changer l’état d’une certaine variable en sortie si la valeur de comptage atteint la
valeur du seuil prédéfinie.

5
FEI, 3ème année Automatique Auto601

A Y A
CTU

Reset B
B
(3)
Y

Figure 11 : Exemple d’un comptage en Ladder.

Fonctions arithmétiques

Elles permettent de réaliser des opérations arithmétiques telles que l’addition, la multiplication, la
soustraction et la division. L’exécution de ces opérations est généralement conditionnée par l’activation
d’une certaine variable d’entrée.

A
ADD

B IN1
Y
C IN2

Figure 12 : Exemple d’une opération d’addition en Ladder.

Fonctions de manipulation de données

Ces fonctions réalisent des opérations telles que les comparaison (=,  ,  ,  ,  , etc), le transfert de
données d’une adresse à une autre ou la sélection d’une donnée parmi plusieurs.

Y
CMP>

A IN1
B IN2

Figure 13 : Exemple d’une fonction de comparaison.

A
MOVE

B IN Y

Figure 14 : Exemple d’un transfert de donnée.


6
FEI, 3ème année Automatique Auto601

6. Variables internes
Le langage Ladder permet également de manipuler des variables internes (autres que les variables d’entrée et
de sortie de la partie commande) qui sont équivalents à des relais auxiliaires dans les circuits de commande
électrique. Ces variables sont très utilisées dans les programmes Ladder étant donné qu’elles permettent de
les rendre plus simples à réaliser et à lire.

Variables intermédiaires : ces variables sont semblables aux variables d’entrée et de sortie sauf qu’elles
sont destinées à être utilisées comme des variables de mémorisation.

A B C I

I E Y

Figure 15 : Exemple de l’utilisation d’une variable intermédiaire.

Variables mémorisées : ces deux variables sont mises à 1 et à 0 d’une manière permanente par moyen de
deux entrées différentes appelées Set et Reset, respectivement. Ces variables réalisent donc une fonction
mémoire équivalente à celle fournie par les bascules RS en électronique ou les relais bistables en
électromécanique.

A Y
A
S
B

B Y
Y
R

Figure 16 : Bobines Set er Reset.

Variables de détection de fronts : ces variables permettent de détecter les fronts montants et descendants,
c'est-à-dire les transitions de l’état logique de 0 à 1 et de l’état logique de 1 à 0, respectivement. Ces
variables ne sont activées que pendant un seul cycle d’exécution du programme Ladder.

7
FEI, 3ème année Automatique Auto601

A Y
A
P
Y

A Z
Z
N

Figure 17 : Variables de détection de fronts.

Master Control Relay (MCR) : c’est une variable interne qui permet de contrôler l’exécution de toute une
section (plusieurs lignes) d’un programme Ladder. La section du programme sous contrôle est délimitée par
deux lignes comportant deux bobines d’une même variable MCR. Les différentes sorties contenues dans
cette section ne peuvent donc être activées que si la variable MCR est à l’état 1.

A MCR

B Y

Zone du MCR : Si A=0, les


C D Z sorties Y et Z sont désactivées
quels que soient B, C et D

MCR

Figure 18 : Exemple de l’utilisation d’une variable MCR.

L’instruction JUMP : cette instruction permet, sous certaines conditions, de sauter plusieurs lignes d’un
programme Ladder. La condition du saut est traduite par l’excitation d’une certaine bobine placée dans la
ligne dans laquelle le saut s’effectue.

A J
JMP

B X

Zone du saut : cette portion du


B C Y programme n’est exécutée que
si a=0

J Z
LBL

Figure 19 : Exemple d’un saut en Ladder.


8
FEI, 3ème année Automatique Auto601

Les subroutines : ce sont des portions de programmes qui sont destinés à réaliser des tâches spécifiques et
qui peuvent être évoqués plusieurs fois dans le programme principal. Le lancement d’une subroutine
s’effectue à partir d’une ligne contenant une bobine CALL, si cette dernière est excitée le programme de la
subroutine est exécuté, puis le programme principal reprend à partir de la ligne suivante.

A P D X
Lancement de la
CALL
subroutine
B U E Y
Point de retour après
l’exécution de la
subroutine
B C V
RET

Programme principal Subroutine P

Figure 20 : Exemple de l’utilisation d’une subroutine.

7. Equivalence avec le GRAFCET


Un grafcet peut être converti en Ladder en consacrant une sortie (bobine) pour chacune des étapes du grafcet.
La bobine est alors excitée avec les entrées de l’étape (réceptivités en amont) et désexcitée avec ses sorties
(réceptivités en aval). De plus, il faut tenir compte du fonctionnement séquentiel d’un grafcet, c’est-à-dire
qu’une transition ne peut être franchie que si elle validée et franchissable (réceptivité vraie). Une action
quelconque d’un grafcet peut être représentée par une sortie (bobine) qui est excitée lorsque les différentes
bobines des étapes auxquelles elle est reliée sont excitées. Notons toutefois qu’il est possible de représenter
directement une étape par son action correspondante et d’éviter ainsi de compliquer le diagramme Ladder.
Dans ce qui suit, on donne quelques exemples de conversion d’un grafcet en Ladder sans pour autant ajouter
des sorties pour les étapes du grafcet.

a b X
0

a X

1 X

b END

Figure 21 : Exemples d’un diagramme en Ladder et son équivalent en GRAFCET (a).

9
FEI, 3ème année Automatique Auto601

Y a b X

0
X
a

1 X b X c Y

b
Y
2 Y

END

Y a c X

0
X

a b b X d Y
1 X 2 Y

c d Y

END

Figure 22 : Exemples de diagrammes en Ladder et leurs équivalents en GRAFCET (b).

10
FEI, 3ème année Automatique Auto601

Y Z M

0
M a b W
a

W
1 W 3 X

b c M a c X
2 Y 4 Z
X
d
b W d Y

Y Z

c X d Z

Z Y

END

a Y b c X

0 d Y

a
X

1 X
c X d Y

b c
Y
2 Y

d
END

Figure 23 : Exemples de diagrammes en Ladder et leurs équivalents en GRAFCET (c).

11
FEI, 3ème année Automatique Auto601

Y a b X

0
X
a

1 X b X T Y

b
Y
2 Y

5s/X2
Y T
TON
(5s)

END

X a C M

0
M
a
S
1 c S C
M
CTU
c3
R
2 X c0 X

b
C b X

END

Figure 24 : Exemples de diagrammes en Ladder et leurs équivalents en GRAFCET (d).


12