IEC 61131-3 Édition 4
La Fin de l'Instruction List
La révision de mai 2025 de la norme de programmation PLC supprime IL, ajoute les Properties OOP, la synchronisation Mutex/Semaphore, les chaînes UTF-8 et ASSERT. Voici ce que tout automaticien doit savoir.
Qu'est-ce qui a changé dans l'Édition 4 ?
L'IEC 61131-3:2025 (Édition 4) est la mise à jour la plus significative de la norme des langages de programmation PLC depuis 2013. Publiée en mai 2025 par le Comité Technique TC 65 / SC 65B de l'IEC, elle modernise la norme pour refléter la manière dont le logiciel d'automatisation industrielle est réellement développé aujourd'hui.
Le changement phare : l'Instruction List (IL) — le langage PLC de type assembleur datant des années 1990 — a été officiellement supprimé de la norme. Il avait été déprécié dans l'Édition 3 (2013) et a maintenant totalement disparu. Le comité IEC a conclu qu'« un langage de type assembleur n'est plus adapté aux environnements de développement modernes ».
Mais la suppression d'IL n'est qu'une partie d'une modernisation plus large. L'Édition 4 introduit également les Properties orientées objet, des primitives de concurrence (Mutex/Semaphore), le support des chaînes UTF-8, une fonction ASSERT de développement et des conversions de types étendues.
Ce qui a été supprimé
Fonctionnalités officiellement retirées de la norme
Instruction List (IL)
L'intégralité de la spécification du langage IL (Chapitre 7.2) a été supprimée. IL était un langage de type assembleur propice au code illisible et difficile à maintenir. Les fabricants peuvent encore le supporter, mais il ne fait plus partie de la norme IEC. Migrez vers le Structured Text (ST).
Littéraux octaux
La notation octale (ex: 8#267) a été éliminée. Utilisez la notation décimale ou hexadécimale à la place.
TRUNC non typé
La fonction générique TRUNC(x) a disparu. Utilisez les versions explicitement typées comme TRUNC_DINT(x) ou TRUNC_LINT(x) pour une troncature sûre et non ambiguë.
Fonctions BCD (dépréciées)
Les fonctions Binary-Coded Decimal (IS_VALID_BCD, BCD_TO_*, *_TO_BCD) sont marquées comme dépréciées et seront probablement supprimées dans la prochaine édition.
Ce qui a été ajouté
Nouvelles fonctionnalités qui modernisent la programmation PLC
Properties (GET/SET)
Les Classes, Function Blocks et Interfaces supportent désormais les déclarations PROPERTY_GET et PROPERTY_SET — de véritables méthodes getter/setter avec spécificateurs d'accès (PUBLIC, PRIVATE, PROTECTED, INTERNAL). La POO PLC se rapproche de l'ingénierie logicielle moderne.
Mutex & Semaphore
Le nouveau Chapitre 6.9 introduit le contrôle de concurrence. MUTEX fournit LOCK/UNLOCK/TRYLOCK pour les sections critiques. SEMA fournit ACQUIRE/RELEASE/TRY_ACQUIRE pour l'accès compté aux ressources. Essentiel pour les automates multi-cœurs et la gestion de tâches concurrentes.
USTRING & UCHAR (UTF-8)
Les types natifs chaîne et caractère UTF-8 rejoignent les STRING (ASCII) et WSTRING (UTF-16) existants. Les littéraux utilisent la syntaxe U#'texte'. Les nouvelles fonctions LEN_MAX et LEN_CODE_UNIT gèrent l'encodage à longueur variable. Support complet de l'internationalisation pour IHM et journalisation.
Fonction ASSERT
Une fonction de validation au développement qui vérifie des expressions booléennes et déclenche des diagnostics définis par le fabricant en cas d'échec. Désactivée en production — aucun surcoût d'exécution. Pensez aux assertions de tests unitaires pour le code PLC.
Conversions de types étendues
Nouvelles conversions explicites (LWORD_TO_BOOL, DWORD_TO_BOOL, WORD_TO_BOOL, BYTE_TO_BOOL) et conversions chaîne-vers-tableau (STRING/WSTRING/USTRING vers ARRAY_OF_BYTE). Les conversions implicites STRING_TO_WSTRING et CHAR_TO_WCHAR sont désormais standardisées.
Codes caractères hexadécimaux dans les chaînes
La nouvelle syntaxe ${HH} permet d'insérer des caractères par code hexadécimal dans les littéraux de chaîne. Permet les tabulations, symboles Unicode et caractères spéciaux directement dans votre code PLC.
Migrer de l'IL vers le Structured Text
Si votre base de code utilise encore l'Instruction List, c'est le moment de migrer. Le code IL est généralement 3 à 5 fois plus long que le Structured Text équivalent, plus difficile à lire, et de moins en moins supporté par les outils modernes et les assistants de code IA.
T-IA Connect peut accélérer votre migration IL vers ST. Notre IA comprend les deux langages et peut traduire les blocs IL en Structured Text propre et optimisé tout en préservant votre logique et vos noms de variables. Combiné avec le serveur MCP, vous pouvez réinjecter le code migré directement dans TIA Portal.
Exporter les blocs IL
Utilisez les outils d'export de T-IA Connect pour extraire votre code source IL existant des projets TIA Portal (V17-V21).
Traduction assistée par IA
Soumettez le code IL à n'importe quel modèle IA compatible MCP. L'IA traduit en Structured Text idiomatique, gérant temporisateurs, compteurs, labels de saut et patterns d'accumulateur.
Import & Compilation
Importez le SCL généré dans TIA Portal via les outils create_scl_block ou import_scl_source de T-IA Connect. Compilez et vérifiez en une seule étape.
Ce que cela signifie pour les utilisateurs Siemens TIA Portal
Siemens n'a pas supprimé IL/STL de TIA Portal — et ne le fera probablement pas avant des années. Mais le message est clair. Les nouveaux outils Siemens (SIMATIC AX, TIA Portal V21 Source Documents) se concentrent exclusivement sur le Structured Text. La norme IEC ne reconnaît désormais plus que quatre langages : ST, LD, FBD et SFC.
Pour les nouveaux projets, il n'y a plus aucune raison d'utiliser IL. Pour les projets existants avec du code IL, planifiez votre migration maintenant pendant que l'outillage et le support IA sont matures. Le serveur MCP de T-IA Connect avec ses 60+ outils rend cette transition gérable — même pour les grandes bases de code.
Chronologie des éditions IEC 61131-3
Édition 1 (1993)
Première publication. Définit 5 langages : IL, ST, LD, FBD, SFC.
Édition 2 (2003)
Révision de maintenance. Clarifications et corrections mineures.
Édition 3 (2013)
Mise à jour majeure. POO (classes, interfaces, héritage), espaces de noms, références. IL déprécié.
Édition 4 (2025)
IL supprimé. Properties, Mutex/Semaphore, UTF-8 (USTRING), ASSERT, conversions étendues ajoutés.
Questions Fréquentes
L'Instruction List a-t-il complètement disparu de l'IEC 61131-3 ?
Oui. IL a été déprécié dans l'Édition 3 (2013) et entièrement supprimé dans l'Édition 4 (2025). Il ne fait plus partie de la norme internationale. Cependant, les fabricants d'automates comme Siemens peuvent continuer à supporter IL/STL dans leurs outils — ce n'est simplement plus standardisé.
Dois-je réécrire tout mon code IL immédiatement ?
Non. Les programmes IL existants continueront de fonctionner dans TIA Portal et les autres environnements qui le supportent encore. Mais pour les nouveaux développements, le Structured Text est désormais le seul langage textuel standardisé. Planifiez votre migration progressivement — l'IA de T-IA Connect peut aider à traduire bloc par bloc.
À quoi servent Mutex et Semaphore en programmation PLC ?
Le Mutex (exclusion mutuelle) protège les sections critiques de code pour qu'une seule tâche puisse les exécuter à la fois — empêchant la corruption de données dans les programmes multi-tâches. Le Semaphore permet un accès compté aux ressources partagées (ex: limiter les connexions simultanées). Ce sont des concepts standard en IT qui sont désormais formalisés pour les automates.
Comment T-IA Connect aide-t-il avec la transition IEC 61131-3:2025 ?
T-IA Connect génère du Structured Text conforme IEC 61131-3 grâce à l'IA. Notre serveur MCP peut exporter les blocs IL existants, les traduire en ST via n'importe quel modèle IA, et réimporter le code propre dans TIA Portal. Nous supportons V17 à V21, vous pouvez donc moderniser sans mettre à jour votre version TIA Portal.