This page is available in French only. Use your browser’s translation, or read it in French.

Decision guides

IEC 61131-3 : les langages des automates expliqués aux non-automaticiens

Les automates programmables industriels utilisent des langages normalisés depuis 1993. Cinq langages, une seule norme, et un vocabulaire qui déroute quiconque ne vient pas de l'automatisme. Voici de quoi comprendre une conversation avec un intégrateur.

4 min2 parties

Lors d’une réunion de projet sur la modernisation d’une ligne de production, l’intégrateur parle de « blocs fonctionnels en ST avec un SFC pour le séquencement, et du Ladder pour les sécurités ». Le directeur industriel acquiesce ; le directeur informatique, lui, ne sait pas de quoi il s’agit. La norme IEC 61131-3, publiée pour la première fois en 1993, définit les langages de programmation des automates industriels. Elle est omniprésente dans l’industrie, et largement méconnue en dehors. Ce guide n’en fait pas un automaticien du lecteur ; il lui donne de quoi comprendre les choix et poser les bonnes questions.

Cinq langages, un seul automate

La norme définit cinq langages. Deux sont graphiques, deux sont textuels, un est un outil de structuration des séquences. Tous s’exécutent sur le même matériel.

Ladder Diagram (LD) — le schéma électrique

Le Ladder ressemble à un schéma de circuit électrique lu de gauche à droite : des contacts (entrées) activent des bobines (sorties) selon des conditions logiques. C’est le langage historique, celui que lisent naturellement les électriciens et les techniciens de maintenance. Il convient bien aux logiques combinatoires simples : si cette condition et cette condition, alors cette sortie.

Function Block Diagram (FBD) — les boîtes connectées

Le FBD représente le programme comme un assemblage de boîtes (blocs fonctionnels) reliées par des lignes. Chaque boîte a des entrées et des sorties, et réalise une fonction : un PID, un compteur, un temporisateur, un calcul. Il convient aux boucles de régulation et aux traitements continus, où l’on pense en flux de signaux.

Structured Text (ST) — le langage textuel

Le Structured Text ressemble à Pascal ou à un langage de programmation classique : variables typées, structures de contrôle (IF, CASE, FOR, WHILE), affectations, appels de fonctions. C’est le langage le plus expressif de la norme, celui qui permet les calculs complexes et les traitements de données. Il est de plus en plus utilisé, notamment par les ingénieurs formés à l’informatique.

Instruction List (IL) — l’assembleur

L’Instruction List est un langage textuel bas niveau, proche de l’assembleur : une instruction par ligne, un accumulateur. Il est historique, peu lisible, et en déclin. La troisième édition de la norme le marque comme déprécié. Il reste présent dans les bases de code anciennes.

Sequential Function Chart (SFC) — les étapes et les transitions

Le SFC n’est pas un langage de programmation au même titre que les quatre autres ; c’est un outil de structuration. Il décrit un processus comme une suite d’étapes (états) reliées par des transitions (conditions de passage). Chaque étape contient des actions écrites dans l’un des quatre autres langages. Il convient aux processus séquentiels : démarrage d’une machine, cycle de lavage, procédure de mise en sécurité.

Langages IEC 61131-3 Ladder (LD) Graphique · Logique Électriciens, maintenance FBD Graphique · Régulation Ingénieurs process Structured Text Textuel · Calcul Informaticiens, ingénieurs Instruction List Textuel · Bas niveau Déprécié (héritage) Sequential Function Chart (SFC) Structuration · Étapes et transitions Processus séquentiels, démarrages, sécurités Tous s’exécutent sur le même automate. Un programme peut combiner plusieurs langages.
Les cinq langages de la norme IEC 61131-3, par nature et usage principal.

Ce que cela change pour un décideur

Le choix du langage n’est pas anodin. Il détermine qui peut maintenir le programme, combien de personnes dans l’équipe ou sur le marché savent le lire, et dans quelle mesure le programme est portable d’un automate à un autre.

Un programme en Ladder est lisible par tout technicien de maintenance formé en électrotechnique. Un programme en Structured Text exige des compétences de programmation. Un SFC bien construit documente le processus autant qu’il le pilote. Le choix dépend du métier de l’équipe qui maintient, pas seulement de celui qui développe.

Mise en garde

La portabilité promise par la norme a ses limites. Les fabricants d’automates ajoutent des extensions propriétaires (types de données, bibliothèques, fonctions de communication) qui rendent un programme difficile à transférer d’une marque à une autre sans adaptation. Vérifier, avant de s’engager, quelles parties du programme utilisent des fonctions standards et lesquelles dépendent du fournisseur.

Notre expertise en industrie et automates aide les industriels à évaluer la maintenabilité et la portabilité de leurs programmes d’automatisme. Pour les enjeux de modernisation plus larges, voir notre offre IA en entreprise.

Pour approfondir : IA d’entreprise

Questions fréquentes

Qu'est-ce qu'un automate programmable industriel ?

C'est un ordinateur industriel durci, conçu pour piloter des machines ou des processus en temps réel. Il lit des capteurs (température, pression, position), exécute un programme logique, et commande des actionneurs (vannes, moteurs, vérins). On le trouve dans les usines, les stations de traitement d'eau, les bâtiments, les infrastructures de transport.

Pourquoi plusieurs langages pour un même automate ?

Parce que les métiers et les habitudes diffèrent. Un électricien lit un schéma Ladder comme un schéma électrique. Un informaticien préfère le Structured Text, proche d'un langage de programmation. Un ingénieur process se retrouve dans le Sequential Function Chart, qui décrit des étapes et des transitions.

Peut-on mélanger les langages dans un même programme ?

Oui, la norme le prévoit. Un programme peut appeler un bloc écrit dans un langage différent. En pratique, un projet utilise un ou deux langages principaux et réserve les autres à des cas particuliers.

La norme IEC 61131-3 est-elle obligatoire ?

Non, c'est une norme volontaire. Mais elle est si largement adoptée que la quasi-totalité des automates du marché la supportent. Un programme écrit selon la norme est en principe portable d'un automate à un autre, même si des extensions propriétaires limitent parfois cette portabilité.

Unité R&D DOSOBERecherche, ingénierie et déploiement en transformation numérique, pour le public et le privé. Qui sommes-nous · Notre méthode

Cette question se pose chez vous ?

Step 1 of 4

You represent…