Introduction à la programmation Ladder
Le Ladder, aussi appelé langage à contacts, est l’un des piliers de la programmation industrielle. Normalisé par la CEI 61131-3, il fait partie des cinq langages standardisés pour les automates programmables. Ce qui le rend si populaire, c’est son côté graphique et sa simplicité : même sans expérience en programmation, on peut rapidement comprendre et utiliser le Ladder.
Avant d’aller plus loin, il faut savoir que les langages de programmation industrielle se divisent en deux grandes catégories : les langages graphiques et les langages textuels. Le Ladder fait partie des langages graphiques et se distingue par sa simplicité de lecture et d’utilisation, contrairement à des langages textuels comme le Langage Structuré (ST)
Comprendre les Fondamentaux du Langage Ladder
Comme évoqué en introduction, la programmation Ladder peut être comparée à un schéma électrique classique utilisé dans l’industrie, d’où son deuxième nom : langage à contact. La plupart des éléments d’un programme Ladder peuvent être assimilés à des composants bien connus en électrotechnique, ce qui le rend intuitif.
- Contacts (entrée) :
- Un contact normalement ouvert (NO) agit comme un bouton-poussoi. Il ferme le circuit lorsque la condition est vraie.
- Un contact normalement fermé (NC) agit comme un arrêt d’urgence. Il coupe le circuit lorsque la condition est vraie.
- Bobines (sortie) :
- Les bobines représentent des charges électriques, comme un moteur, une lampe ou un relais. Elles s’activent lorsque le circuit logique qui les précède est complet.
- Par exemple : Une bobine peut enclencher un contacteur pour démarrer un moteur si les conditions d’entrée sont remplies.
- Logique combinatoire :
- Les différents contacts peuvent être câblés en série/AND (toutes les conditions doivent être vraies, comme plusieurs interrupteurs alignés) ou en parallèle/OR (une seule condition suffit, comme plusieurs interrupteurs reliés sur une même ligne).
- Exemple : Pour démarrer un moteur, on peut avoir deux conditions en parallèle : un bouton ON ou un capteur de présence.
- Comparateurs et temporisateurs :
- En Ladder, on peut intégrer des éléments avancés qui n’existent pas physiquement dans les schémas à contacts classiques, comme des comparateurs (ex. : température > 50 °C) ou des temporisateurs pour retarder une action.
Les éléments de bases de langage ladder
Attention selon les logiciels de programmation utilisé les symboles peuvent varié. Par exemple un front montant sur PL7 de schneider sera symbolysé |P| quand sur codesys il aura une forme de bloc fonctione RTrig
1. Contacts et bobines
Ces éléments sont les bases de la logique Ladder, représentant des entrées et des sorties dans un circuit logique.
Symbole/Instruction | Nom | Explication |
---|---|---|
| | | Contact NO | S’active quand l’entrée est activé |
| / | | Contact NC | S’active quand l’entrée est desactivé |
|P| ou RTrig | Contact front montant | S’active au front montant de l’entrée (passage de 0 à 1) |
|N| ou FTrig | Contact front descendant | S’active au front descendant de l’entrée (passage de 1 à 0) |
Symbole/Instruction | Nom | Explication |
---|---|---|
( ) |
Bobine | Active ou désactive une sortie en fonction des conditions de la logique Ladder. |
(S) |
Bobine Set | Active une sortie et la maintient à « 1 » (ON) même si les conditions redeviennent fausses. |
(R) |
Bobine Reset | Désactive une sortie et la maintient à « 0 » (OFF) même si les conditions redeviennent vraies. |
2. Temporisateurs et Compteurs
Ces instructions permettent de gérer des délais et de compter des événements, très utiles dans des processus nécessitant une gestion temporelle ou un suivi d’impulsions.
Symbole/Instruction | Nom | Explication |
---|---|---|
TIMER |
Temporisateur | Active une temporisation (retard) pour une condition ou une sortie. |
COUNTER |
Compteur | Compte le nombre d’activations (ou impulsions) d’une condition. |
3. Comparateurs et Calculs
Ces instructions servent à comparer des valeurs ou effectuer des opérations mathématiques dans le programme Ladder.
Symbole/Instruction | Nom | Explication |
---|---|---|
>(GT) ,<(LT) ,=(EQ) |
Comparateurs | Utilisés pour comparer deux valeurs (par exemple, dans un registre ou un capteur). |
ADD , SUB , MUL , DIV |
Instructions arithmétiques | Permettent d’effectuer des calculs (addition, soustraction, multiplication, division). |
4. Gestion des Fonctions
Ces instructions permettent de structurer et optimiser le programme en appelant des blocs de code réutilisables.
Symbole/Instruction | Nom | Explication |
---|---|---|
CALL |
Appel de fonction | Permet d’appeler un bloc de fonction défini par l’utilisateur. |
RET |
Retour | Termine l’exécution d’un bloc de fonction appelé. |
5. Sauts et Instructions Diverses
Ces commandes permettent de gérer le flux du programme ou d’insérer des lignes neutres.
Symbole/Instruction | Nom | Explication |
---|---|---|
JMP |
Saut | Permet de sauter à une autre ligne ou section du programme Ladder. |
NOP |
Pas d’opération | Instruction neutre, utilisée pour occuper une ligne sans exécuter de logique. |
Maîtriser la logique de programmation Ladder
La maîtrise de la logique est au cœur de notre apprentissage du langage de programmation ladder. Nous allons maintenant exploré les opérations fondamentales qui nous permettent de créer des programmes.
Les opérations logiques de base constituent notre boîte à outils principale :
- L’opération AND : Utilisée lorsque nous avons besoin que plusieurs conditions soient vraies simultanément
- L’opération OR : Permet d’activer une sortie quand au moins une condition est vraie
- L’opération NOT : Inverse l’état d’une entrée, essentielle pour la gestion des contacts normalement fermés
Prenons l’exemple ci-dessous réalisé comme à mon habitude sur CodeSys qu’on peut traduire par :
IF (I1 AND (NOT I3)) OR I1 THEN Q1 AND Q2. ou plus simplement si I2 est actif et I3 inactif ou que I1 est actif alors on active Q1 et Q2.
Si on reprend l’analogie avec un schéma électrique on peut facilement symbolisé la même logique :
Comme évoqué en Ladder on a aussi d’autre type de fonction plus avancé comme les appels de fonctions, calcul, comparateur ect..
Ces fonctions s’éloigne un peu de la logique d’un schéma électrique.
Ils vont plutôt s’afficher comme des blocs fonction dans l’exemple ci dessous (qui n’a pas de sens particulier) on peut traduire par
SI I1 est actif pendant 10 secondes ET que INT1 est supérieur à INT2 ET Qu’on capte un front montant sur I2 ALORS on multiplie INT4 et INT5 et on rentre la valeur dans INT6 ET on active Q1
Il y a une grande diversité de blocs, contacts et bobines en Ladder. Je vous présente ici les plus courants, mais les possibilités sont vastes et dépendent aussi de l’interface de programmation que vous allez utiliser. Certaines fonctions sont propres à l’interface TIA Portal ou PL7, par exemple. Il faut donc pratiquer pour se perfectionner et aller plus en profondeur dans la connaissance de ce langage.
Ou retrouve t-on la programmation Ladder
Le langage de programmation Ladder est au cœur des systèmes automatisés industriels, et son utilisation dépend fortement des automates programmables industriels (API) sur lesquels il est déployé. Des marques renommées comme Siemens, Schneider Electric, Allen-Bradley, et Mitsubishi dominent le marché avec des environnements logiciels dédiés qui facilitent la conception et le déploiement des programmes Ladder.
Automates et environnements logiciels
- Siemens :
- Automates : S7-1200, S7-1500, S7-300.
- Logiciel : TIA Portal (Totally Integrated Automation).
- Particularité : Siemens propose des fonctionnalités avancées comme l’intégration native des blocs fonctionnels et des diagnostics système, permettant de combiner le Ladder avec des fonctions avancées comme le PID ou la gestion des alarmes.
- Schneider Electric :
- Automates : Modicon M221, M241, M340.
- Logiciel : EcoStruxure Machine Expert (anciennement SoMachine).
- Particularité : Schneider met en avant l’intégration avec les systèmes de commande de mouvement et la simplicité d’utilisation pour des applications industrielles comme les lignes d’emballage.
- Allen-Bradley (Rockwell Automation) :
- Automates : MicroLogix, CompactLogix, ControlLogix.
- Logiciel : RSLogix 500/5000 ou Studio 5000.
- Particularité : Allen-Bradley se distingue par sa grande fiabilité dans les systèmes industriels critiques, avec un fort accent sur les architectures redondantes.
- Automates : FX5U, Q-Series.
- Logiciel : GX Works3.Mitsubishi Electric :Particularité : Très populaire en Asie, Mitsubishi propose un environnement optimisé pour les applications de haute précision et les systèmes robotisés.
Limites de la programmation Ladder et comparaison avec d’autres langages
1. Complexité pour les Processus Avancés
- Limite : Lorsque les systèmes deviennent très complexes (calculs avancés, algorithmes de contrôle dynamique), le Ladder peut rapidement devenir difficile à lire et à maintenir. La représentation graphique des logiques complexes engendre des programmes encombrés et peu intuitifs.
- Comparaison :
- Langage Structuré (ST) : Bien plus adapté pour les calculs mathématiques ou les algorithmes complexes, grâce à sa syntaxe textuelle proche des langages comme C ou Python.
- Blocs de Fonction (FBD) : Préféré pour la conception visuelle des logiques mathématiques ou des systèmes PID.
3. Limitation dans la Gestion de Données
- Limite : Le Ladder n’est pas conçu pour manipuler des structures de données complexes comme les tableaux ou les fichiers, ce qui limite son utilisation dans les systèmes où des échanges de données sophistiqués sont requis.
- Comparaison :
- Langage Structuré (ST) : Prend en charge des structures de données avancées et des opérations comme la manipulation de chaînes ou la gestion de tableaux.
- Script Python intégré (dans certains automates modernes) : Idéal pour manipuler des données complexes et communiquer avec des systèmes externes.
4. Difficulté pour les Architectures Distribuées
- Limite : Le Ladder n’est pas naturellement adapté aux systèmes distribués ou aux architectures nécessitant une communication réseau avancée.
- Comparaison :
- Langages Textuels (ST, Python) : Facilitent la configuration et la gestion des protocoles de communication (Modbus, OPC-UA, MQTT) grâce à leur flexibilité.
- FBD : Souvent utilisé pour configurer des échanges standardisés entre automates.
5. Manque de Portabilité
- Limite : Le Ladder est souvent dépendant de la plateforme logicielle et matérielle utilisée (TIA Portal, RSLogix, EcoStruxure, etc.). Cela limite la portabilité du programme d’un fabricant à un autre.
- Comparaison :
- ST et autres langages IEC 61131-3 : Plus standardisés et compatibles entre les plateformes de différents constructeurs.
- Langages ouverts comme Python : Peuvent fonctionner indépendamment du fabricant, mais nécessitent des passerelles ou des modules d’intégration.
Notre avis sur la programmation Ladder
Le langage Ladder est un outil incontournable en automatisation industrielle, grâce à son approche graphique simple et intuitive. Les contacts, les bobines et les opérations logiques que nous avons explorés en font un langage accessible, idéal pour modéliser des circuits de commande et développer des solutions adaptées à chaque projet.
Cependant, il a ses limites, notamment pour les systèmes très avancés ou les calculs complexes. Dans ces cas, des langages comme le Langage Structuré (ST) ou les Blocs de Fonction (FBD) peuvent prendre le relais, offrant des outils plus adaptés pour manipuler des données, gérer des protocoles réseau ou structurer des architectures complexes.
La clé pour progresser reste la pratique. Testez toujours vos programmes pour garantir leur fiabilité et n’hésitez pas à combiner le Ladder avec d’autres langages selon les besoins.
Contenu