Apprendre à programmer

Langage Ladder : Guide et Exercices Corrigés

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 NO Contact NF Bobine
2

Construire une logique

Combiner plusieurs conditions avec des contacts en série ou en parallèle.

Fonction ET Fonction OU Négation
3

Ajouter les fonctions

Programmer des mémoires, des temporisations et des comptages industriels.

Auto-maintien TON / TOF CTU
4

Créer une séquence

Organiser plusieurs étapes successives pilotées par des capteurs et des conditions de transition.

Étapes Transitions Actionneurs
5

Sécuriser la machine

Intégrer les arrêts, défauts, verrouillages et acquittements nécessaires.

Défauts Alarmes Interverrouillage

Exemple schématisé : commande marche-arrêt d’un moteur

|—-[/ ARRÊT ]—-+—-[ MARCHE ]—-+——–( MOTEUR )—-| | | | | +—-[ MOTEUR ]—-+
| | Contact ouvert
|/| Contact fermé
( ) Bobine moteur
└──┘ Auto-maintien
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
  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.


⚙️ 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 NO Bobine

🔌 Entrées et sorties

AdresseDésignation
I0.0Interrupteur S1
Q0.0Lampe 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 ET Contacts en série

🔌 Affectation

AdresseÉquipement
I0.0Bouton S1
I0.1Bouton S2
Q0.0Lampe 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é.

Fonction OU Branche parallèle

🎯 Logique recherchée

L1 = S1 OU S2

✅ Solution Ladder

|—-+—-[ I0.0 S1 ]—-+————( Q0.0 L1 )—-| | | | | +—-[ I0.1 S2 ]—-+

Les deux contacts sont disposés en parallèle. Une seule branche conductrice suffit pour alimenter la bobine.

Exercice 4 — Lampe active en absence de défaut Débutant

📘 Énoncé

Une lampe verte doit rester allumée tant qu’aucun défaut thermique n’est détecté.

Contact NF Sécurité

🔌 Affectation

I0.2 : défaut thermique

Q0.1 : lampe verte

✅ Solution Ladder

|—-[/ I0.2 DEFAUT ]—————-( Q0.1 VERT )—-|

Le contact logique normalement fermé laisse passer le courant tant que le bit de défaut vaut 0.

Exercice 5 — Démarrage et arrêt d’un moteur Débutant +

📘 Énoncé

Un appui sur Marche démarre le moteur. Celui-ci reste en marche après relâchement du bouton. Un appui sur Arrêt coupe le moteur.

Auto-maintien Marche-arrêt

🔌 Entrées et sortie

AdresseDésignation
I0.0Bouton Marche
I0.1Bouton Arrêt
Q0.0Contacteur moteur

✅ Solution avec auto-maintien

|—-[/ I0.1 ARRET ]—-+—-[ I0.0 MARCHE ]—-+—-( Q0.0 MOTEUR )—-| | | | | +—-[ Q0.0 MOTEUR ]—-+
Appui Marche
Bobine Q0.0 active
Contact Q0.0 fermé
Maintien moteur
Point important : le contact Arrêt est placé avant la dérivation d’auto-maintien afin de conserver la priorité d’arrêt.

02 Niveau intermédiaire : temporisateurs, compteurs et verrouillages

Ce niveau introduit les fonctions TON, TOF, CTU et les sécurités entre plusieurs actionneurs.

Exercice 6 — Allumage retardé d’une lampe Intermédiaire

📘 Énoncé

Après activation de S1, une lampe doit s’allumer au bout de cinq secondes.

✅ Solution avec temporisateur TON

Réseau 1 |—-[ I0.0 S1 ]—————-[ TON T1, PT = 5 s ]—-|Réseau 2 |—-[ T1.Q ]————————( Q0.0 LAMPE )—-|
S1 activé
T1 compte 5 s
T1.Q = 1
Lampe allumée
Exercice 7 — Ventilateur maintenu après l’arrêt Intermédiaire

📘 Énoncé

Un ventilateur fonctionne avec une machine. Lorsque la machine s’arrête, le ventilateur doit continuer pendant dix secondes.

✅ Solution avec temporisateur TOF

Réseau 1 |—-[ Q0.0 MACHINE ]————[ TOF T1, PT = 10 s ]—-|Réseau 2 |—-[ T1.Q ]——————–( Q0.1 VENTILATEUR )—-|

Le temporisateur TOF maintient sa sortie active pendant dix secondes après disparition de la condition d’entrée.

Exercice 8 — Compter dix pièces Intermédiaire

📘 Énoncé

Un capteur compte les pièces passant sur un convoyeur. Une lampe s’allume lorsque dix pièces ont été détectées.

🔌 Variables

I0.0 : capteur pièce

I0.1 : remise à zéro

Q0.0 : lot terminé

✅ Solution avec compteur CTU

Réseau 1 |—-[ P I0.0 CAPTEUR ]———-[ CTU C1, PV = 10 ]—-| |—-[ I0.1 RESET ]————–[ R C1 ]—————|Réseau 2 |—-[ C1.Q ]——————–( Q0.0 LOT_TERMINE )—-|

Le front montant évite de compter plusieurs fois une pièce qui reste momentanément devant le capteur.

Exercice 9 — Inversion du sens d’un moteur Intermédiaire +

📘 Énoncé

Deux boutons commandent la marche avant et la marche arrière. Les deux contacteurs ne doivent jamais être actifs simultanément.

✅ Solution avec verrouillage croisé

Marche avant |—-[/ I0.2 ARRET ]—-[ I0.0 AVANT ]—-[/ Q0.1 ARRIERE ]—-( Q0.0 AVANT )—-|Marche arrière |—-[/ I0.2 ARRET ]—-[ I0.1 ARRIERE ]–[/ Q0.0 AVANT ]——( Q0.1 ARRIERE )–|
Le verrouillage logiciel doit être complété par un verrouillage électrique et mécanique des contacteurs sur une installation réelle.
Exercice 10 — Remplissage automatique d’une cuve Intermédiaire +

📘 Énoncé

La pompe démarre lorsque le niveau atteint le capteur bas et s’arrête lorsque le liquide atteint le capteur haut.

✅ Solution avec mémoire de remplissage

|—-[/ I0.1 NIVEAU_HAUT ]—-+—-[ I0.0 NIVEAU_BAS ]—-+—-( Q0.0 POMPE )—-| | | | | +—-[ Q0.0 POMPE ]——–+
Niveau bas atteint
Pompe démarrée
Remplissage
Niveau haut atteint
Pompe arrêtée

03 Niveau avancé : créer des séquences automatisées

Les exercices suivants combinent plusieurs étapes, capteurs, actionneurs et conditions de transition.

Exercice 11 — Convoyeur avec arrêt en fin de course Avancé

📘 Énoncé

Le convoyeur démarre par le bouton Marche. Il doit s’arrêter automatiquement lorsqu’une pièce atteint le capteur de sortie.

✅ Solution

|—-[/ I0.1 ARRET ]—-[/ I0.2 FIN_CONVOYEUR ]—-+—-[ I0.0 MARCHE ]—-+—-( Q0.0 CONVOYEUR )—-| | | | | +—-[ Q0.0 CONVOYEUR ]-+

Le capteur de fin est placé dans la chaîne d’autorisation. Son activation rompt immédiatement l’auto-maintien.

Exercice 12 — Démarrage séquentiel de trois moteurs Avancé

📘 Énoncé

M1 démarre immédiatement. M2 démarre cinq secondes plus tard, puis M3 cinq secondes après M2.

✅ Solution séquentielle

R1 : commande générale |—-[/ I0.1 STOP ]—-+—-[ I0.0 START ]—-+—-( M0.0 CYCLE )—-| | | | | +—-[ M0.0 CYCLE ]—-+R2 : moteur 1 |—-[ M0.0 CYCLE ]————————( Q0.0 M1 )—-|R3 : temporisation moteur 2 |—-[ Q0.0 M1 ]—————-[ TON T1, 5 s ]———-| |—-[ T1.Q ]—————————–( Q0.1 M2 )—-|R4 : temporisation moteur 3 |—-[ Q0.1 M2 ]—————-[ TON T2, 5 s ]———-| |—-[ T2.Q ]—————————–( Q0.2 M3 )—-|
Start
M1
Attente 5 s
M2
Attente 5 s
M3
Exercice 13 — Feu tricolore automatique Avancé

📘 Énoncé

Réaliser un cycle : vert pendant huit secondes, orange pendant deux secondes et rouge pendant dix secondes.

✅ Schéma de séquence

Étape VERT
8 s
Étape ORANGE
2 s
Étape ROUGE
10 s
Retour VERT
Initialisation |—-[ PREMIER_CYCLE ]——————–( S M0.0 ETAPE_VERT )—-|Vert |—-[ M0.0 ]—————————–( Q0.0 VERT )————| |—-[ M0.0 ]—————-[ TON T1, 8 s ]———————–| |—-[ T1.Q ]—-( R M0.0 )—-( S M0.1 ETAPE_ORANGE )————|Orange |—-[ M0.1 ]—————————–( Q0.1 ORANGE )———-| |—-[ M0.1 ]—————-[ TON T2, 2 s ]———————–| |—-[ T2.Q ]—-( R M0.1 )—-( S M0.2 ETAPE_ROUGE )————-|Rouge |—-[ M0.2 ]—————————–( Q0.2 ROUGE )———–| |—-[ M0.2 ]—————-[ TON T3, 10 s ]———————-| |—-[ T3.Q ]—-( R M0.2 )—-( S M0.0 ETAPE_VERT )————–|
Exercice 14 — Machine de remplissage de bouteilles Avancé +

📘 Énoncé

Une bouteille arrive sous une vanne. Le convoyeur s’arrête, la vanne s’ouvre pendant quatre secondes, puis le convoyeur repart.

✅ Découpage fonctionnel

Transport
Bouteille détectée
Remplissage 4 s
Évacuation
Transport autorisé |—-[ M0.0 CYCLE ]—-[/ M0.1 REMPLISSAGE ]—-( Q0.0 CONVOYEUR )—-|Détection bouteille |—-[ I0.2 POSITION ]——————–( S M0.1 REMPLISSAGE )—-|Remplissage |—-[ M0.1 REMPLISSAGE ]—————–( Q0.1 VANNE )————| |—-[ M0.1 REMPLISSAGE ]——[ TON T1, 4 s ]———————-|Fin du remplissage |—-[ T1.Q ]—————————–( R M0.1 REMPLISSAGE )—-|
Exercice 15 — Porte automatique avec temporisation Avancé +

📘 Énoncé

Une détection de présence ouvre la porte. Après ouverture complète, la porte reste ouverte cinq secondes avant de se refermer.

✅ Solution simplifiée

Ouverture |—-[ I0.0 PRESENCE ]—-[/ I0.1 FIN_OUVERTURE ]—-[/ Q0.1 FERMER ]—-( Q0.0 OUVRIR )—-|Temporisation porte ouverte |—-[ I0.1 FIN_OUVERTURE ]—————-[ TON T1, 5 s ]——————————-|Fermeture |—-[ T1.Q ]—-[/ I0.2 FIN_FERMETURE ]—-[/ I0.0 PRESENCE ]—-[/ Q0.0 OUVRIR ]—-( Q0.1 FERMER )—-|
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.

✅ Principe de programmation

Demande niveau bas
Choix pompe prioritaire
Pompage
Niveau haut
Permutation priorité
Demande de pompage |—-[ I0.0 NIVEAU_BAS ]—-[/ I0.1 NIVEAU_HAUT ]——–( M0.0 DEMANDE )—-|Pompe 1 prioritaire |—-[ M0.0 DEMANDE ]—-[/ M0.1 ALTERNANCE ]—-[/ I0.4 DEFAUT_P1 ]—-( Q0.0 POMPE_1 )—-|Pompe 2 prioritaire |—-[ M0.0 DEMANDE ]—-[ M0.1 ALTERNANCE ]—–[/ I0.5 DEFAUT_P2 ]—-( Q0.1 POMPE_2 )—-|Niveau très bas : renfort |—-[ I0.2 NIVEAU_TRES_BAS ]—-[/ I0.4 DEFAUT_P1 ]—-( Q0.0 POMPE_1 )—-| |—-[ I0.2 NIVEAU_TRES_BAS ]—-[/ I0.5 DEFAUT_P2 ]—-( Q0.1 POMPE_2 )—-|Permutation en fin de cycle |—-[ P I0.1 NIVEAU_HAUT ]————————( INV M0.1 ALTERNANCE )—-|
Exercice 17 — Convoyeur de tri de pièces Expert

📘 Énoncé

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.

✅ Architecture recommandée

Commande manuelle |—-[ I0.0 MODE_MANUEL ]—-[ I0.2 BP_MOTEUR ]—-[/ I0.5 DEFAUT ]—-( M0.0 CMD_MANU )—-|Commande automatique |—-[ I0.1 MODE_AUTO ]——[ M1.0 ETAPE_PRODUCTION ]—-[/ I0.5 DEFAUT ]—-( M0.1 CMD_AUTO )—-|Regroupement des commandes |—-+—-[ M0.0 CMD_MANU ]—-+—-[/ I0.6 ARRET_URGENCE ]—-( Q0.0 MOTEUR )—-| | | | | +—-[ M0.1 CMD_AUTO ]—-+
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.

✅ Solution générale

Regroupement des défauts |—-+—-[ I0.4 DEFAUT_MOTEUR ]—-+—————-( S M0.5 ALARME_MEMO )—-| | | | | +—-[ I0.5 DEFAUT_POMPE ]—–+ | | | | +—-[ I0.6 ARRET_URGENCE ]—-+Voyant et avertisseur |—-[ M0.5 ALARME_MEMO ]—————————-( Q0.4 VOYANT_ROUGE )—-| |—-[ M0.5 ALARME_MEMO ]—————————-( Q0.5 AVERTISSEUR )—–|Acquittement |—-[ I0.7 ACQUITTEMENT ]—-[/ I0.4 DEFAUT_MOTEUR ]—-[/ I0.5 DEFAUT_POMPE ]—-[/ I0.6 ARRET_URGENCE ]—-( R M0.5 ALARME_MEMO )—-|Autorisation générale |—-[/ M0.5 ALARME_MEMO ]—-[/ I0.6 ARRET_URGENCE ]—-( M0.0 AUTORISATION )—-|Commande de la ligne |—-[ M0.0 AUTORISATION ]—-[ M1.0 CYCLE ]———( Q0.0 CONVOYEUR )—-| |—-[ M0.0 AUTORISATION ]—-[ M1.1 ETAPE_MOTEUR ]–( Q0.1 MOTEUR )——-| |—-[ M0.0 AUTORISATION ]—-[ M1.2 ETAPE_POMPE ]—( Q0.2 POMPE )——–|
Défaut détecté
Alarme mémorisée
Ligne arrêtée
Défaut supprimé
Acquittement
Redémarrage autorisé
🎓 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.
error: Content is protected !!