04 72 14 18 00
0 Devis
Nos configurateurs

À retenir

IEC 61131-3:2025 définit :

  • ST – Structured Text, langage textuel ;

  • LD – Ladder Diagram, langage graphique ;

  • FBD – Function Block Diagram, langage graphique ;

  • SFC – Sequential Function Chart, utilisé pour structurer l’organisation séquentielle des programmes et blocs fonctionnels.

Le langage historique IL – Instruction List ne fait plus partie de la suite de langages définie dans l’édition 2025.

Qu’est-ce que la norme IEC 61131-3 ?

IEC 61131 est une famille de normes consacrée aux contrôleurs programmables.

La partie 3 porte spécifiquement sur les langages de programmation.

Elle fournit des règles communes concernant notamment :

  • les langages utilisés pour écrire la logique de contrôle ;

  • les types de données ;

  • les variables ;

  • les fonctions ;

  • les blocs fonctionnels ;

  • les programmes ;

  • l’organisation de l’application ;

  • les éléments utilisés pour structurer l’exécution.

L’intérêt de cette normalisation est de fournir un vocabulaire et des principes communs à différents environnements d’automatisation.

IEC 61131-3 ne signifie toutefois pas qu’un projet peut être transféré automatiquement et sans adaptation entre n’importe quels automates.

Les bibliothèques constructeurs, les équipements, les bus de terrain, les E/S, les extensions propriétaires et les caractéristiques du runtime restent susceptibles de différer d’une plateforme à l’autre.

IEC ou CEI 61131-3 ?

Les deux désignations correspondent à la même norme internationale.

  • IEC signifie International Electrotechnical Commission.
  • CEI correspond à son appellation française : Commission électrotechnique internationale.

Dans les documentations techniques et les outils d’automatisation, la désignation IEC 61131-3 est aujourd’hui la plus fréquemment utilisée.

IEC 61131-3:2025 : une nouvelle édition

La quatrième édition d’IEC 61131-3 a été publiée en mai 2025. Elle remplace l’édition 2013.

Parmi les évolutions officiellement indiquées figure notamment l’introduction des chaînes UTF-8 et des fonctions associées. L’édition 2025 apporte également une clarification des fonctions ajoutées, supprimées ou devenues obsolètes depuis l’édition précédente.

Une évolution particulièrement visible concerne la présentation des langages : la suite normative actuelle repose sur ST, LD et FBD, complétée par SFC pour structurer l’organisation interne des programmes et blocs fonctionnels.

ST – Structured Text

Structured Text est le langage textuel d’IEC 61131-3.

Sa syntaxe est adaptée aux algorithmes, aux calculs, aux opérations conditionnelles, aux boucles et aux traitements nécessitant une représentation textuelle structurée.

ST est particulièrement pertinent pour :

  • les calculs ;

  • les algorithmes ;

  • les traitements de données ;

  • les boucles ;

  • les conditions complexes ;

  • la manipulation de structures ;

  • les fonctions et blocs fonctionnels complexes.

Il est fréquemment utilisé lorsque la représentation graphique deviendrait trop lourde ou difficile à maintenir.

LD – Ladder Diagram

Ladder Diagram est un langage graphique historiquement proche de la représentation des circuits électriques à relais.

La logique est organisée sous forme de réseaux dans lesquels les conditions et les actions peuvent être représentées graphiquement.

LD reste particulièrement adapté à :

  • la logique booléenne ;

  • les interverrouillages ;

  • les commandes marche/arrêt ;

  • certaines fonctions de diagnostic ;

  • les applications entretenues par des équipes habituées aux schémas électriques.

Son principal avantage réside dans sa lecture visuelle rapide pour certaines logiques discrètes.

FBD – Function Block Diagram

Function Block Diagram représente graphiquement le traitement sous forme de blocs reliés entre eux.

Chaque bloc reçoit des données en entrée et génère des résultats en sortie.

FBD est particulièrement adapté à :

  • l’enchaînement de fonctions ;

  • la régulation ;

  • le traitement de signaux ;

  • les opérations mathématiques ;

  • les blocs technologiques ;

  • les applications où le flux de données doit rester facilement identifiable.

Il permet de construire des applications modulaires en combinant fonctions et blocs fonctionnels.

SFC – Sequential Function Chart

SFC est utilisé pour représenter et structurer les comportements séquentiels.

Il organise l’application autour d’éléments tels que les étapes, transitions et actions.

Cette approche est particulièrement adaptée aux machines dont le fonctionnement suit une succession d’états ou de phases :

  • initialisation ;

  • attente ;

  • chargement ;

  • traitement ;

  • contrôle ;

  • déchargement ;

  • retour en position initiale.

Dans l’édition actuelle d’IEC 61131-3, SFC est présenté comme un ensemble d’éléments graphiques et textuels permettant de structurer l’organisation interne des programmes et des blocs fonctionnels.

Que devient le langage IL – Instruction List ?

Instruction List était un langage textuel historiquement présent dans les précédentes éditions d’IEC 61131-3.

Il avait déjà été identifié comme obsolète avant la publication de la quatrième édition.

Il ne fait plus partie de la suite de langages définie dans IEC 61131-3:2025.

Certains environnements conservent cependant IL pour assurer la maintenance de projets existants.

CODESYS permet ainsi encore d’activer son éditeur IL pour les applications historiques, mais précise que ce langage n’est plus maintenu.

Pour un nouveau projet, il est préférable de privilégier ST, LD, FBD ou SFC selon le type de fonction à développer.

Et CFC ?

CFC, ou Continuous Function Chart, est fréquemment rencontré dans CODESYS.

Il ne doit cependant pas être présenté comme l’un des langages définis par IEC 61131-3:2025.

CODESYS propose CFC comme éditeur graphique complémentaire permettant d’organiser librement des blocs et leurs connexions.

Cette distinction est importante :

FBD appartient à IEC 61131-3.

CFC est une fonctionnalité complémentaire proposée par certains environnements, notamment CODESYS.

Les POU : structurer le logiciel automate

IEC 61131-3 définit des unités d’organisation du programme, généralement appelées POU – Program Organization Units.

Elles permettent de découper une application importante en composants plus faciles à développer, réutiliser et maintenir.

Les principales POU sont :

Program

Un programme constitue une unité principale de l’application et organise une partie de la logique de contrôle.

Function

Une fonction effectue un traitement à partir de ses paramètres et fournit un résultat.

Elle est particulièrement adaptée à des calculs ou traitements réutilisables.

Function Block

Un bloc fonctionnel associe un algorithme à des données propres à son instance.

Plusieurs instances d’un même type de bloc fonctionnel peuvent donc être utilisées dans une application tout en conservant leurs propres états.

Cette notion est importante pour construire des applications modulaires et réutilisables.

Types de données et variables

IEC 61131-3 définit également un cadre pour la gestion des données.

L’utilisation de types permet de préciser la nature d’une variable et de contrôler les opérations qui peuvent lui être appliquées.

Les environnements IEC 61131-3 utilisent notamment des données logiques, numériques, temporelles ou textuelles.

La norme permet également la création de types de données dérivés afin de représenter plus clairement les objets manipulés par l’application.

Une bonne structuration des données améliore la lisibilité du projet et facilite la réutilisation du logiciel.

Quel langage IEC 61131-3 choisir ?

Il n’existe pas un langage systématiquement meilleur que les autres. Le choix dépend principalement de la fonction à développer.

Besoin Langage particulièrement adapté
Calculs et algorithmes ST
Logique booléenne simple LD
Enchaînement graphique de fonctions FBD
Machine séquentielle SFC
Traitements de données complexes ST
Interverrouillages et commandes discrètes LD
Régulation et chaînes fonctionnelles FBD

 

Une même application peut combiner plusieurs représentations lorsque l’environnement de développement le permet.

L’objectif n’est donc pas d’imposer un langage unique à tout le projet, mais de choisir une représentation adaptée à chaque fonction tout en conservant des règles de développement cohérentes.

IEC 61131-3 et programmation orientée objet

Les éditions modernes d’IEC 61131-3 ont également introduit des mécanismes permettant une approche orientée objet.

Ces possibilités permettent notamment de mieux encapsuler certaines fonctions et de construire des architectures logicielles plus modulaires.

Elles peuvent être particulièrement intéressantes pour les constructeurs de machines qui souhaitent développer des composants logiciels réutilisables entre plusieurs équipements ou variantes de machines.

Pour approfondir cette approche, consultez notre guide Programmation orientée objet en automatisme industriel avec CODESYS.

Quels sont les avantages d’IEC 61131-3 ?

L’intérêt principal de la norme est d’apporter un cadre commun au développement logiciel d’automatisation.

Elle facilite notamment :

  • la structuration des applications ;

  • la réutilisation des fonctions et blocs fonctionnels ;

  • l’apprentissage de concepts communs entre différents environnements ;

  • la maintenance du logiciel ;

  • l’organisation de projets importants ;

  • les échanges entre automaticiens utilisant des outils compatibles avec la norme.

Il faut cependant distinguer standardisation du langage et portabilité totale du projet.

Un programme utilisant uniquement des éléments standards peut être plus facile à transférer, mais le matériel, les E/S, les bibliothèques, les bus et les extensions spécifiques restent à prendre en compte lors d’une migration.

IEC 61131-3 et CODESYS

CODESYS Development System est un environnement de développement conçu pour la programmation d’applications d’automatisation selon IEC 61131-3.

Il fournit notamment les éditeurs ST, LD, FBD et SFC ainsi qu’un système de bibliothèques, des fonctions de compilation, de comparaison de projets, de diagnostic et de débogage.

CODESYS conserve également IL pour la maintenance de projets historiques et propose CFC comme éditeur graphique complémentaire.

L’environnement peut programmer de nombreux contrôleurs compatibles et différents runtimes CODESYS, permettant notamment de construire des architectures basées sur automates, PC industriels, Linux ou plateformes embarquées.

Découvrir CODESYS Development System

De la norme au contrôleur industriel

IEC 61131-3 définit le cadre de programmation.

Pour qu’une application fonctionne réellement sur une machine, elle doit ensuite être compilée et exécutée sur un contrôleur ou un runtime compatible.

Dans un projet CODESYS, l’architecture peut par exemple associer :

Le choix de ces éléments dépend des performances attendues, du système d’exploitation, des contraintes temps réel, des E/S et des protocoles industriels nécessaires.

FAQ – IEC 61131-3

Quelle est la version actuelle d’IEC 61131-3 ?

La version actuelle est IEC 61131-3:2025, quatrième édition, publiée en mai 2025.

Quels sont les langages d’IEC 61131-3:2025 ?

L’édition 2025 définit Structured Text (ST), Ladder Diagram (LD) et Function Block Diagram (FBD). Elle définit également SFC comme ensemble d’éléments graphiques et textuels permettant de structurer l’organisation interne des programmes et blocs fonctionnels.

Instruction List fait-il toujours partie d’IEC 61131-3 ?

Non. IL était présent historiquement mais ne fait plus partie de la suite de langages de l’édition 2025. Certains environnements, comme CODESYS, le conservent pour la maintenance des anciens projets.

CFC fait-il partie d’IEC 61131-3 ?

Non. CFC n’est pas l’un des langages de la suite normative actuelle. Il s’agit notamment d’un éditeur graphique complémentaire disponible dans CODESYS.

Quelle différence entre IEC et CEI 61131-3 ?

Il s’agit de la même norme. IEC est l’acronyme international, tandis que CEI correspond au nom français de la Commission électrotechnique internationale.

CODESYS utilise-t-il IEC 61131-3 ?

Oui. CODESYS Development System est un environnement de programmation pour les applications d’automatisation basées sur IEC 61131-3.

Besoin d’utiliser IEC 61131-3 dans un projet d’automatisation ?

IP Systèmes accompagne les industriels, constructeurs de machines et intégrateurs dans leurs projets CODESYS : environnement de développement, runtimes, licences, PC industriels, contrôleurs, E/S et communications industrielles.

Découvrir nos solutions CODESYS