Apprendre à programmer

Langage Ladder : Guide et Exercices Corrigés

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.

Concepts de Base du Langage Ladder
Composants du Langage Ladder
  1. Rung (Barreau) : Chaque barreau représente une instruction ou une série d’instructions qui seront exécutées séquentiellement.
  2. Contacts : Représentent les conditions d’entrée (normalement ouvert ou normalement fermé).
  3. Bobines : Représentent les sorties qui peuvent être activées ou désactivées en fonction des conditions des contacts.
  4. Timers et Compteurs : Utilisés pour des fonctions temporisées et de comptage.
  5. 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

  1. Bouton Start (S) : Contact normalement ouvert.
  2. Bouton Stop (T) : Contact normalement fermé.
  3. Moteur (M) : Bobine qui contrôle le moteur.

L’Étape 2 : Dessiner le Diagramme Ladder

|---[ S ]---[ T ]---( M )---|
          |       |
          |---[ M ]---|

Étape 3 : Explication du Fonctionnement

  1. Initialisation : Au départ, le bouton Start (S) est relâché et le bouton Stop (T) est fermé.
  2. Activation du Moteur : Lorsque S est pressé, le contact normalement ouvert se ferme, ce qui active la bobine M et démarre le moteur.
  3. 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é.
  4. 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 :

  • Rouge pendant 10 secondes
  • Vert pendant 8 secondes
  • Jaune pendant 2 secondes

Solution et Explication

Étape 1 : Définir les Composants

  1. Feu Rouge (R) : Bobine pour le feu rouge.
  2. Feu Vert (V) : Bobine pour le feu vert.
  3. Feu Jaune (J) : Bobine pour le feu jaune.
  4. Timer T1 : Temporisateur pour la phase rouge.
  5. Timer T2 : Temporisateur pour la phase verte.
  6. Timer T3 : Temporisateur pour la phase jaune.

L’Étape 2 : Dessiner le Diagramme Ladder

|---[ T3.DN ]--------------------( R )---|  // Phase Rouge
|          |---[ T1.DN ]-----------------|  
|          |---[ T1.DN ]---[ T3.DN ]----( T1 ) 10s---| // Timer pour 10s

|---[ T1.DN ]---[ T2.DN ]--------( V )---|  // Phase Verte
|          |---[ T2.DN ]-----------------|  
|          |---[ T1.DN ]---[ T3.DN ]----( T2 ) 8s---|  // Timer pour 8s

|---[ T2.DN ]---[ T3.DN ]--------( J )---|  // Phase Jaune
|          |---[ T3.DN ]-----------------|  
|          |---[ T2.DN ]---[ T1.DN ]----( T3 ) 2s---|  // Timer pour 2s

Étape 3 : Explication du Fonctionnement

  1. Phase Rouge : Le feu rouge (R) est allumé pendant 10 secondes.
  2. Phase Verte : Après 10 secondes, le feu vert (V) s’allume pendant 8 secondes.
  3. Phase Jaune : Après 8 secondes, le feu jaune (J) s’allume pendant 2 secondes.
  4. 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

  1. Niveau Bas (LB) : Capteur de niveau bas, normalement ouvert.
  2. Niveau Haut (LH) : Capteur de niveau haut, normalement fermé.
  3. 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

  1. Détection du Niveau Bas : Lorsque le niveau d’eau est bas, le capteur LB se ferme, activant la pompe (P).
  2. Maintien de la Pompe : Le contact auxiliaire de la pompe maintient la pompe en marche même si LB s’ouvre.
  3. 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

  1. Bouton Start (S) : Contact normalement ouvert.
  2. Bouton Stop (T) : Contact normalement fermé.
  3. Capteur de Fin de Course (F) : Contact normalement fermé.
  4. 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

  1. Démarrage du Convoyeur : Lorsque S est pressé, le contact normalement ouvert se ferme, activant le convoyeur (C).
  2. Maintien du Convoyeur : Le contact auxiliaire de C maintient le convoyeur en marche même après que S est relâché.
  3. 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.

Schéma de principe

[Button Start] ---| |------( ) [Conveyor 1]
[Timer 1 Start] ----[Delay 10s]------( ) [Conveyor 2]
[Object Detected] ---| |------( ) [Conveyor 3]
[Object at End] ---| |------(Stop All Conveyors)

Solution

  1. Initialisation et démarrage :
  • Lorsqu’on appuie sur le bouton de démarrage, le convoyeur 1 est activé.
  • On utilise une bobine pour maintenir l’état du bouton une fois pressé.
   |--[ ]----[ ]----(Conveyor_1)
   |  Button          Conveyor_1
  1. Démarrage du convoyeur 2 après 10 secondes :
  • On utilise un temporisateur pour introduire un délai de 10 secondes avant d’activer le convoyeur 2.
   |--[ ]----[Timer 1 Start]----( )
   |  Conveyor_1                Timer_1
   |--[Timer 1 Done]----[ ]----(Conveyor_2)
   |                      Conveyor_2
  1. Activation du convoyeur 3 à la détection d’un objet :
  • Le convoyeur 3 démarre lorsque le capteur détecte un objet.
   |--[Object Detected]----(Conveyor_3)
  1. Arrêt de tous les convoyeurs à la détection de l’objet au bout :
  • Si un objet est détecté au bout du convoyeur 3, tous les convoyeurs s’arrêtent.
   |--[Object at End]----( ) [Stop All Conveyors]

Exercice 2 : Contrôle d’un Système de Feux de Circulation

Objectif : Programmer un système de feux de circulation à une intersection.

Schéma de principe

[Timer Green] ---[Delay 30s]------( ) [Orange Light]
[Timer Orange] ---[Delay 5s]------( ) [Red Light]
[Emergency Button] ---| |------(Stop All Lights)

Solution

  1. Cycle des feux :
  • 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)
  1. 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

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

Schéma de principe

[Object Detected] ---| |------( ) [Move to Packaging]
[In Position] ---| |------( ) [Start Packaging]
[Packaged] ---| |------( ) [Move to Exit]

Solution

  1. Détection de l’objet et déplacement :
  • L’objet est détecté et déplacé sous la tête d’emballage.
   |--[Object Detected]----(Move to Packaging)
  1. Démarrage de l’emballage :
  • L’emballage commence lorsque l’objet est en position.
   |--[In Position]----(Start Packaging)
  1. Déplacement de l’objet emballé :
  • L’objet emballé est ensuite transporté hors de la zone d’emballage.
   |--[Packaged]----(Move to Exit)

Exercice 5 : Ascenseur à Multiple Étages

Objectif : Développer un programme pour contrôler un ascenseur desservant plusieurs étages.

Schéma de principe

[Call Floor 1] ---| |------( ) [Move to Floor 1]
[Call Floor 2] ---| |------( ) [Move to Floor 2]
[At Floor 1] ---| |------( ) [Open Door]

Solution

  1. Réponse aux appels :
  • 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)
  1. 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)
  1. 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.

Autres articles

Exercices de Programmation Corrigés sur le Microprocesseur...
Le microprocesseur Motorola 6809 est un processeur 8 bits très...
Read more
Programmation ISO (ou G-code) : Guide
La programmation ISO (ou G-code) est un langage standard utilisé...
Read more
Exercices Corrigés Programmation ISO en tournage CNC
Voici une série d'exercices corrigés sur la programmation ISO en...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *