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