Le langage Ladder reste l’un des langages les plus utilisés pour programmer les automates industriels. Inspiré des schémas électriques à relais, il permet de représenter visuellement les conditions, les sécurités, les temporisations, les compteurs et les séquences de fonctionnement d’une machine.
Ce guide propose une progression complète pour comprendre la logique Ladder, lire un programme automate et construire ses premiers réseaux. Les notions fondamentales sont expliquées à partir de contacts normalement ouverts ou fermés, bobines, mémoires, temporisateurs TON et TOF, compteurs CTU, auto-maintien et verrouillages.
Une série de 20 exercices Ladder corrigés, classés du niveau débutant au niveau expert, permet ensuite de travailler sur des situations concrètes : commande d’une lampe, démarrage moteur, convoyeur, remplissage de cuve, porte automatique, vérin pneumatique, tri de pièces, alternance de pompes et gestion des alarmes. Chaque solution est accompagnée d’un schéma logique et d’une explication du fonctionnement.
Langage Ladder : schémas et 20 exercices corrigés par niveau
Le langage Ladder, également connu sous le nom de diagramme à contacts, est un langage de programmation utilisé principalement pour les automates programmables industriels (API ou PLC en anglais). Ce langage graphique est largement utilisé en automatisation industrielle pour concevoir, documenter et programmer des systèmes de contrôle et des processus automatisés. Le langage Ladder tire son nom de sa ressemblance avec une échelle (ladder en anglais), où les barreaux de l’échelle représentent les différentes instructions et les montants les chemins d’alimentation électrique.
⚙️ Schéma d’apprentissage du langage Ladder
Une progression visuelle pour passer des premiers contacts logiques
à la programmation complète d’un automatisme industriel.
1
Comprendre les symboles
Identifier les contacts, les bobines et les états logiques utilisés
dans un programme automate.
Contact NOContact NFBobine
2
Construire une logique
Combiner plusieurs conditions avec des contacts en série ou en parallèle.
Fonction ETFonction OUNégation
3
Ajouter les fonctions
Programmer des mémoires, des temporisations et des comptages industriels.
Auto-maintienTON / TOFCTU
4
Créer une séquence
Organiser plusieurs étapes successives pilotées par des capteurs
et des conditions de transition.
ÉtapesTransitionsActionneurs
5
Sécuriser la machine
Intégrer les arrêts, défauts, verrouillages et acquittements nécessaires.
DéfautsAlarmesInterverrouillage
Exemple schématisé : commande marche-arrêt d’un moteur
Lecture du schéma : un appui sur le bouton Marche active la bobine du moteur. Le contact auxiliaire du moteur se ferme ensuite et maintient la commande active. Le bouton Arrêt ouvre le circuit logique et interrompt immédiatement le fonctionnement.
Concepts de Base du Langage Ladder
Composants du Langage Ladder
Rung (Barreau) : Chaque barreau représente une instruction ou une série d’instructions qui seront exécutées séquentiellement.
Contacts : Représentent les conditions d’entrée (normalement ouvert ou normalement fermé).
Bobines : Représentent les sorties qui peuvent être activées ou désactivées en fonction des conditions des contacts.
Timers et Compteurs : Utilisés pour des fonctions temporisées et de comptage.
Fonctions Spéciales : Incluent des opérations mathématiques, des comparateurs, des bascules, etc.
Exemple de Programme Simple
Prenons un exemple simple pour allumer une lampe (L) lorsqu’un interrupteur (S1) est activé.
|---[ S1 ]---( L )---|
Dans ce programme, S1 est un contact normalement ouvert et L est une bobine représentant la lampe. Lorsque S1 est activé, le circuit est fermé, et la lampe s’allume.
Exercice Corrigé en Langage Ladder
Exercice : Contrôle d’un Moteur avec un Bouton Start/Stop
Énoncé : Écrire un programme Ladder pour contrôler un moteur. Le moteur doit démarrer lorsque le bouton Start (S) est pressé et s’arrêter lorsque le bouton Stop (T) est pressé.
Solution et Explication
Étape 1 : Définir les Conditions
Bouton Start (S) : Contact normalement ouvert.
Bouton Stop (T) : Contact normalement fermé.
Moteur (M) : Bobine qui contrôle le moteur.
L’Étape 2 : Dessiner le Diagramme Ladder
|---[ S ]---[ T ]---( M )---|
| |
|---[ M ]---|
Étape 3 : Explication du Fonctionnement
Initialisation : Au départ, le bouton Start (S) est relâché et le bouton Stop (T) est fermé.
Activation du Moteur : Lorsque S est pressé, le contact normalement ouvert se ferme, ce qui active la bobine M et démarre le moteur.
Maintien du Moteur : Le contact auxiliaire de M (représenté par la branche parallèle en bas) se ferme, maintenant le moteur en marche même après que S est relâché.
Arrêt du Moteur : Lorsque T est pressé, le contact normalement fermé s’ouvre, coupant le courant à la bobine M, et le moteur s’arrête.
Analyse et Dépannage
Cas 1 : Le Moteur ne Démarre pas
Vérifier le Contact S : Assurez-vous que le bouton Start (S) fonctionne correctement et ferme le circuit lorsqu’il est pressé.
Vérifier le Contact T : Assurez-vous que le bouton Stop (T) est normalement fermé et ne coupe pas le circuit lorsqu’il n’est pas pressé.
Cas 2 : Le Moteur ne s’Arrête pas
Vérifier le Contact T : Assurez-vous que le bouton Stop (T) s’ouvre correctement lorsqu’il est pressé.
Vérifier le Contact Auxiliaire de M : Assurez-vous que le contact auxiliaire de M ne reste pas fermé en permanence.
Exemples Pratiques d’Utilisation du Langage Ladder
1. Contrôle de Feux de Circulation
Énoncé : Programmer un système de feux de circulation simple avec les phases suivantes :
Phase Rouge : Le feu rouge (R) est allumé pendant 10 secondes.
Phase Verte : Après 10 secondes, le feu vert (V) s’allume pendant 8 secondes.
Phase Jaune : Après 8 secondes, le feu jaune (J) s’allume pendant 2 secondes.
Cycle Continu : Le cycle se répète continuellement.
2. Contrôle d’un Système de Pompage d’Eau
Énoncé : Programmer un système de pompage d’eau avec les conditions suivantes :
La pompe doit démarrer lorsque le niveau d’eau est bas.
La pompe doit s’arrêter lorsque le niveau d’eau est haut.
Solution et Explication
Étape 1 : Définir les Composants
Niveau Bas (LB) : Capteur de niveau bas, normalement ouvert.
Niveau Haut (LH) : Capteur de niveau haut, normalement fermé.
Pompe (P) : Bobine pour contrôler la pompe.
L’Étape 2 : Dessiner le Diagramme Ladder
|---[ LB ]---[ LH ]---( P )---| // Contrôle de la Pompe
| |
|---[ P ]---| // Contact auxiliaire pour maintien
Étape 3 : Explication du Fonctionnement
Détection du Niveau Bas : Lorsque le niveau d’eau est bas, le capteur LB se ferme, activant la pompe (P).
Maintien de la Pompe : Le contact auxiliaire de la pompe maintient la pompe en marche même si LB s’ouvre.
Détection du Niveau Haut : Lorsque le niveau d’eau atteint un niveau haut, le capteur LH s’ouvre, arrêtant la pompe (P).
3. Système de Transport par Convoyeur
Énoncé : Programmer un convoyeur qui doit fonctionner selon les conditions suivantes :
Le convoyeur démarre lorsqu’un bouton Start (S) est pressé.
Le convoyeur s’arrête lorsqu’un bouton Stop (T) est pressé ou lorsqu’un capteur de fin de course (F) est activé.
Solution et Explication
Étape 1 : Définir les Composants
Bouton Start (S) : Contact normalement ouvert.
Bouton Stop (T) : Contact normalement fermé.
Capteur de Fin de Course (F) : Contact normalement fermé.
Convoyeur (C) : Bobine pour contrôler le convoyeur.
L’Étape 2 : Dessiner le Diagramme Ladder
|---[ S ]---[ T ]---[ F ]---( C )---| // Contrôle du Convoyeur
| |
|---[ C ]---| // Contact auxiliaire pour maintien
Étape 3 : Explication du Fonctionnement
Démarrage du Convoyeur : Lorsque S est pressé, le contact normalement ouvert se ferme, activant le convoyeur (C).
Maintien du Convoyeur : Le contact auxiliaire de C maintient le convoyeur en marche même après que S est relâché.
Arrêt du Convoyeur : Le convoyeur s’arrête si T est pressé ou si F est activé, ouvrant le circuit.
Voici quelques idées d’exercices avancés en langage Ladder, conçus pour approfondir la maîtrise de ce langage de programmation utilisé dans l’automatisation industrielle :
Exercice 1 : Gestion d’un Système de Transport par Convoyeur
Objectif : Créer un programme en langage Ladder pour contrôler un système de transport à trois convoyeurs. Le système doit respecter les règles suivantes :
Le convoyeur 1 démarre en appuyant sur un bouton.
Le convoyeur 2 démarre après que le convoyeur 1 ait fonctionné pendant 10 secondes.
Le convoyeur 3 démarre dès que le convoyeur 2 détecte un objet.
Si un objet est détecté par un capteur au bout du convoyeur 3, tous les convoyeurs s’arrêtent.
Critères de réussite :
Utilisation des temporisateurs (TIM) et compteurs (CNT) pour gérer les délais.
Utilisation des contacts et des bobines pour les capteurs et les relais.
Exercice 2 : Contrôle d’un Système de Feux de Circulation
Objectif : Programmer un système de feux de circulation à une intersection.
Les feux doivent suivre un cycle prédéfini (rouge, vert, orange).
Un bouton d’urgence peut être utilisé pour basculer immédiatement tous les feux au rouge en cas de besoin.
Un capteur de présence doit détecter les véhicules la nuit pour réduire les cycles de feu vert si aucun véhicule n’est présent.
Critères de réussite :
Gestion des cycles avec temporisateurs.
Utilisation d’un système de priorités pour le bouton d’urgence.
Implémentation de la logique avec les capteurs pour la détection de nuit.
Exercice 3 : Automatisation d’une Station de Pompage
Objectif : Créer un programme pour une station de pompage qui régule le niveau d’eau dans un réservoir.
Le programme doit activer une pompe lorsque le niveau d’eau descend en dessous d’un certain seuil.
La pompe doit s’arrêter lorsque le réservoir est plein.
Si un deuxième réservoir est installé, le système doit être capable de gérer les deux réservoirs de manière indépendante ou synchronisée.
Critères de réussite :
Utilisation des entrées analogiques pour la lecture des niveaux d’eau.
Gestion des priorités entre les réservoirs en cas de pompage simultané.
Intégration de la redondance pour la sécurité (alarme en cas de dépassement de niveau).
Exercice 4 : Système d’Emballage Automatisé
Objectif : Programmer un système de contrôle pour une machine d’emballage qui effectue les tâches suivantes :
L’objet est détecté par un capteur d’entrée.
L’objet est transporté sous une tête d’emballage.
La machine applique l’emballage lorsque l’objet est en position.
L’objet est ensuite transporté hors de la zone d’emballage.
Critères de réussite :
Gestion précise du positionnement de l’objet avec des capteurs.
Synchronisation des différentes étapes avec des temporisations et des conditions.
Implémentation d’un système d’arrêt d’urgence en cas de détection d’anomalie.
Exercice 5 : Ascenseur à Multiple Étages
Objectif : Développer un programme pour contrôler un ascenseur desservant plusieurs étages.
Les utilisateurs peuvent appeler l’ascenseur depuis chaque étage.
L’ascenseur doit répondre aux appels dans l’ordre d’arrivée, sauf en cas de priorité pour un étage spécifique.
Ajouter une fonctionnalité de sécurité pour empêcher la surutilisation ou l’arrêt entre deux étages.
Critères de réussite :
Gestion des priorités et des files d’attente des appels.
Programmation des séquences d’arrêt et de démarrage pour chaque étage.
Implémentation des capteurs pour la détection des portes ouvertes/fermées et de la position de l’ascenseur.
Ces exercices peuvent être adaptés en fonction des besoins spécifiques ou des équipements disponibles. Chaque exercice vise à renforcer la compréhension des principes fondamentaux et avancés du langage Ladder.
Exercice 1 : Gestion d’un Système de Transport par Convoyeur
Objectif : Créer un programme en langage Ladder pour contrôler un système de transport à trois convoyeurs.
Les feux suivent un cycle de 30 secondes de vert, 5 secondes d’orange, puis passent au rouge.
|--[Timer Green Start]----[Delay 30s]----(Orange Light)
|--[Timer Orange Start]----[Delay 5s]----(Red Light)
Bouton d’urgence :
Un bouton d’urgence permet de passer immédiatement au rouge.
|--[Emergency Button]----( ) [Stop All Lights]
Exercice 3 : Automatisation d’une Station de Pompage
Objectif : Créer un programme pour une station de pompage régulant le niveau d’eau dans un réservoir.
Schéma de principe
[Low Water Level] ---| |------( ) [Start Pump]
[High Water Level] ---| |------( ) [Stop Pump]
Solution
Démarrage et arrêt de la pompe :
La pompe démarre lorsque le niveau d’eau est bas et s’arrête lorsque le réservoir est plein.
|--[Low Water Level]----(Start Pump)
|--[High Water Level]----(Stop Pump)
Gestion de deux réservoirs :
Si un deuxième réservoir est ajouté, le programme peut être étendu pour gérer chaque réservoir individuellement.
|--[Low Water Level Tank 1]----(Start Pump 1)
|--[High Water Level Tank 1]----(Stop Pump 1)
|--[Low Water Level Tank 2]----(Start Pump 2)
|--[High Water Level Tank 2]----(Stop Pump 2)
Exercice 4 : Système d’Emballage Automatisé
Objectif : Programmer un système de contrôle pour une machine d’emballage.
L’ascenseur répond aux appels selon l’ordre d’arrivée.
|--[Call Floor 1]----(Move to Floor 1)
|--[Call Floor 2]----(Move to Floor 2)
Gestion des priorités :
Si un appel prioritaire est reçu, l’ascenseur répond en conséquence.
|--[Priority Call Floor 1]----(Move to Floor 1 Immediately)
Séquence d’arrêt et ouverture des portes :
Une fois l’étage atteint, l’ascenseur s’arrête et les portes s’ouvrent.
|--[At Floor 1]----(Open Door)
Ces exercices, avec les solutions et les schémas Ladder correspondants, vous permettront de renforcer vos compétences en programmation Ladder pour des applications complexes en automatisation industrielle.
⚙️ 20 exercices corrigés en langage Ladder
Une progression complète pour apprendre à programmer un automate industriel :
contacts, bobines, auto-maintien, temporisateurs, compteurs, séquences,
sécurités, alarmes et automatismes complets.
20exercices
4niveaux
20schémas
100 %corrigés
| | Contact normalement ouvert
|/| Contact normalement fermé
( ) Bobine de sortie
TON / CTU Temporisateur / compteur
01 Niveau débutant : comprendre les contacts et les bobines
Ces premiers exercices permettent de traduire une condition logique simple
en barreau Ladder.
Exercice 1 — Commander une lampe avec un interrupteur Débutant
📘 Énoncé
Une lampe doit s’allumer lorsque l’interrupteur S1 est actionné
et s’éteindre lorsque celui-ci est relâché.
Contact NOBobine
🔌 Entrées et sorties
Adresse
Désignation
I0.0
Interrupteur S1
Q0.0
Lampe L1
✅ Solution Ladder
|—-[ I0.0 S1 ]——————–( Q0.0 L1 )—-|
S1 ouvert
Lampe éteinte
S1 fermé
Lampe allumée
Le contact I0.0 devient vrai lorsque l’interrupteur est actionné.
Le courant logique atteint alors la bobine Q0.0.
Exercice 2 — Allumer une lampe avec deux conditions Débutant
📘 Énoncé
La lampe L1 doit s’allumer uniquement lorsque les deux boutons
S1 et S2 sont appuyés simultanément.
Fonction ETContacts en série
🔌 Affectation
Adresse
Équipement
I0.0
Bouton S1
I0.1
Bouton S2
Q0.0
Lampe L1
✅ Solution Ladder
|—-[ I0.0 S1 ]—-[ I0.1 S2 ]—-( Q0.0 L1 )—-|
Les contacts sont placés en série. La bobine est activée seulement
si S1 ET S2 sont vrais.
Exercice 3 — Commander une lampe depuis deux boutons Débutant
📘 Énoncé
La lampe doit s’allumer si le bouton S1 ou le bouton S2 est appuyé.
La présence doit conserver la priorité : une nouvelle détection pendant la fermeture doit interrompre cette dernière et provoquer une réouverture.
04 Niveau expert : automatismes industriels complets
Ces cas mobilisent des modes de marche, des alarmes, des priorités,
des mémoires d’étape et des stratégies de sécurité.
Exercice 16 — Deux pompes avec alternance Expert
📘 Énoncé
Deux pompes remplissent une cuve. Elles doivent fonctionner
alternativement afin d’équilibrer leurs heures de service.
En niveau très bas, les deux pompes peuvent fonctionner ensemble.
Un capteur identifie les pièces métalliques. Après un délai
correspondant au temps de transport, un vérin doit éjecter
la pièce pendant une seconde.
✅ Solution avec mémorisation et retard
Mémorisation pièce métallique |—-[ P I0.1 METAL ]——————–( S M0.1 PIECE_METAL )—-| Temps de déplacement |—-[ M0.1 PIECE_METAL ]—————-[ TON T1, 3 s ]———–| Commande d’éjection |—-[ T1.Q ]—————————-[ TP T2, 1 s ]————| |—-[ T2.Q ]—————————-( Q0.1 VERIN_EJECTEUR )—| Fin de traitement |—-[ F T2.Q ]————————–( R M0.1 PIECE_METAL )—-|
Le temps T1 doit être réglé selon la vitesse du convoyeur et la
distance séparant le capteur du poste d’éjection.
Exercice 18 — Cycle automatique d’un vérin pneumatique Expert
📘 Énoncé
Après démarrage, un vérin avance jusqu’au capteur avant,
reste sorti deux secondes, puis revient jusqu’au capteur arrière.
✅ Séquence complète
Repos arrière
Avance
Maintien 2 s
Retour
Fin cycle
Départ du cycle |—-[ P I0.0 START ]—-[ I0.1 CAPTEUR_ARRIERE ]—-( S M0.0 AVANCE )—-| Sortie du vérin |—-[ M0.0 AVANCE ]—-[/ I0.2 CAPTEUR_AVANT ]——( Q0.0 EV_AVANCE )—| Arrivée en position avant |—-[ I0.2 CAPTEUR_AVANT ]—————————( R M0.0 AVANCE )—-| |—-[ I0.2 CAPTEUR_AVANT ]—————————( S M0.1 ATTENTE )—| Maintien |—-[ M0.1 ATTENTE ]—————-[ TON T1, 2 s ]———————-| Retour |—-[ T1.Q ]—————————————–( S M0.2 RETOUR )—-| |—-[ T1.Q ]—————————————–( R M0.1 ATTENTE )—| |—-[ M0.2 RETOUR ]—-[/ I0.1 CAPTEUR_ARRIERE ]—-( Q0.1 EV_RETOUR )—| Fin |—-[ I0.1 CAPTEUR_ARRIERE ]————————-( R M0.2 RETOUR )—-|
Exercice 19 — Gestion automatique et manuelle d’une machine Expert +
📘 Énoncé
La machine possède un sélecteur Manuel/Automatique. En mode manuel,
l’opérateur commande directement le moteur. En automatique,
le moteur suit la séquence de production.
Les commandes manuelle et automatique sont regroupées avant la chaîne commune de sécurité. Le mode manuel ne doit jamais contourner un arrêt d’urgence ou un défaut critique.
Exercice 20 — Ligne automatisée avec défaut et acquittement Expert final
📘 Énoncé
Une ligne comprend un convoyeur, un moteur et une pompe. Tout défaut
doit arrêter la ligne, mémoriser l’alarme et allumer un voyant rouge.
Le redémarrage reste interdit jusqu’à disparition du défaut et
acquittement par l’opérateur.
🎓 Question de validation : pourquoi l’acquittement seul ne doit-il pas effacer l’alarme si le défaut physique est encore présent ?
Réponse : parce que le programme doit vérifier simultanément la disparition de toutes les causes de défaut avant de rétablir l’autorisation générale.
⚠️ Convention pédagogique : les adresses et instructions utilisées ici sont génériques. Leur écriture exacte peut varier selon l’automate et le logiciel de programmation : Siemens TIA Portal, Schneider EcoStruxure, Rockwell Studio 5000, CODESYS ou Omron Sysmac Studio.