IndustryHub
APPRENDRE / NORMES / IEC

IEC 61131

IEC 61131

Automates Programmables Industriels

IEC 61131 est la norme internationale pour les automates programmables industriels. La Partie 3 standardise les 5 langages de programmation utilises en automatisation industrielle (LD, FBD, SFC, ST, IL), permettant la portabilite du code entre plateformes PLC et un vocabulaire commun pour les ingenieurs en automatisation du monde entier.

Structure du document

IEC 61131-1

Informations generales

Definitions, domaine d'application, classification des PLC.

IEC 61131-2

Exigences relatives au materiel et tests

Exigences materiel : environnement, CEM, mecanique, securite electrique.

IEC 61131-3

Langages de programmation

LA partie celebre. Definit 5 langages de programmation (Schema a Contacts LD, Schema Fonctionnel en Blocs FBD, Grafcet SFC, Texte Structure ST, Liste d'Instructions IL — obsolete depuis 2013). Plus types de donnees, UOP (Unites d'Organisation de Programme), taches.

IEC 61131-4

Guides d'utilisation

Selection et application des PLC (informatif).

IEC 61131-5

Communications

Concepts de messagerie inter-PLC (largement supplante par OPC UA en pratique).

IEC 61131-6

Securite fonctionnelle

Aspects relatifs a la securite lors de l'utilisation de PLC dans des applications de securite (liens avec IEC 61508).

IEC 61131-7

Programmation par logique floue

Niche : standardisation de la logique floue. Rarement utilise.

IEC 61131-8

Lignes directrices pour l'application et la mise en oeuvre des langages de programmation

Bonnes pratiques pour l'utilisation des langages IEC 61131-3.

IEC 61131-9

Interface de communication numerique monofil (IO-Link)

Standardise IO-Link, le protocole dominant pour capteurs/actionneurs intelligents dans les usines modernes.

IEC 61131-10

Format PLCopen XML pour les programmes

PLCopenXML : schema XML standard pour stocker les programmes IEC 61131-3. Permet l'echange de programmes independamment du fournisseur.

Concepts clés

Les 5 langages
Schema a Contacts (LD) : ressemble aux schemas de relais electriques, intuitif pour les electriciens. Schema Fonctionnel en Blocs (FBD) : ressemble a des blocs electroniques cables ensemble, intuitif pour les ingenieurs de process. Grafcet (SFC) : automates d'etat / GRAFCET. Texte Structure (ST) : ressemble a Pascal, intuitif pour les programmeurs. Liste d'Instructions (IL) : type assembleur, obsolete depuis 2013.
Unite d'Organisation de Programme(UOP)
Unite de code reutilisable. Trois types : Programme (niveau superieur, possede un etat memoire), Bloc Fonctionnel (base sur les instances, possede un etat memoire), Fonction (sans etat, comme une fonction mathematique). La composabilite est integree dans le langage.
Types de donnees standard
BOOL, BYTE, WORD, DWORD, LWORD, SINT/INT/DINT/LINT, USINT/UINT/UDINT/ULINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME, STRING. Types derives (ARRAY, STRUCT, enumerations, alias de types) pour la structuration en genie industriel.
Taches et modele d'execution
Taches cycliques (toutes les N ms), taches evenementielles, deroulement libre. PLC multi-taches avec niveaux de priorite. Comportement defini en cas de preemption.
PLCopen
Association industrielle (fournisseurs + integrateurs) qui publie des lignes directrices pratiques et des bibliotheques de reference sur la base d'IEC 61131-3. Remarquable : PLCopen Motion Control (PLCopen MC) a standardise les blocs fonctionnels pour la commande de servomoteurs, utilises par tous les controleurs de mouvement modernes.
Portee des variables
VAR / VAR_INPUT / VAR_OUTPUT / VAR_IN_OUT / VAR_GLOBAL / VAR_EXTERNAL. Typage strict, declarations explicites. Favorise un code discipline par rapport aux habitudes non structurees de la programmation PLC des origines.

Notes & guidance

Pourquoi la standardisation des langages PLC a pris 20 ans

L’automatisation industrielle des annees 1970-80 etait une Tour de Babel : chaque fournisseur de PLC (Modicon, Allen-Bradley, Siemens, Mitsubishi, Omron, Telemecanique…) avait son propre langage de programmation, son propre environnement de developpement, ses propres concepts d’adressage memoire. Un ingenieur forme sur Siemens ne pouvait pas travailler sur un PLC Allen-Bradley sans plusieurs mois de reconversion.

IEC 61131-3 (1993, revision majeure 2013) a mis fin a cela. Les 5 langages qu’elle definit sont desormais supportes par tous les grands fournisseurs de PLC sous une forme ou une autre. Les ingenieurs peuvent passer d’une plateforme a l’autre en conservant leur vocabulaire. Les modeles de code sont portables en principe (en pratique, les extensions proprietaires creent encore de la dependance fournisseur).

Pourquoi 5 langages et non un seul ?

Chacun s’adresse a une tradition d’ingenierie differente :

Electriciens                   Ingenieurs de process        Programmeurs
                                                                        
        \                              /                             /
         \                            /                             /
          \                          /                             /
          [LD]  schema a relais   [FBD]  schema en blocs      [ST]  style Pascal
                                                                        
                           Ingenieurs de process          
                                                                        
                               [SFC]  automate d'etat      
                                                                        
                           (IL etait de type assembleur, obsolete 2013)

Un programme industriel moderne MELANGE typiquement :

  • ST pour la logique a forte composante mathematique (calcul PID, alarmes, gestion de recettes)
  • FBD pour le cablage des boucles de regulation (assemblage de blocs PID + filtre + mise a l’echelle)
  • LD pour les interverrouillages critiques pour la securite (les auditeurs et les electriciens peuvent le lire sans formation)
  • SFC pour les sequences de lots et les procedures de demarrage

Ce code multilangage est la pratique normale d’IEC 61131-3, et non un signe de confusion.

Ce qui est portable en pratique (et ce qui ne l’est pas)

Portable : types de donnees, algorithmes de base, blocs fonctionnels simples, blocs fonctionnels motion standard (PLCopen MC).

Non portable :

  • Adressage des E/S (chaque fournisseur a son propre schema)
  • Configuration materielle (PROFINET vs EtherCAT vs EthernetIP)
  • Integration IHM / SCADA (proprietaire)
  • Fonctionnalites de diagnostic (blocs d’extension specifiques au fournisseur)
  • Caracteristiques de performance (garanties de temps de cycle)

Cela signifie que l’import/export PLCopenXML (Partie 10) couvre environ 70% d’un projet d’automatisation ; le reste necessite encore une configuration specifique au fournisseur. Pour une base de code entierement independante du fournisseur, CODESYS est le leader pratique — son runtime est license par environ 50 fabricants de PLC (Beckhoff, WAGO, Lenze, ABB, etc.) et offre une portabilite multiplateforme veritable.

Variante securite : IEC 61131-6 + IEC 61508

Les PLC standard NE sont PAS certifies pour la securite. Pour les fonctions de securite, il faut un PLC de securite (Pilz PNOZ, HIMA HIMax, Siemens S7-1500F, Allen-Bradley GuardLogix, Beckhoff TwinSAFE) qui combine :

  • La programmation IEC 61131-3 pour la logique standard
  • Un langage de securite dedie pour la logique de securite (avec contraintes, ensemble limite de blocs fonctionnels)
  • Un runtime certifie IEC 61508 (capable SIL 2 ou SIL 3)
  • Redondance materielle + couverture de diagnostic en interne

Les PLC de securite modernes se programment en IEC 61131-3 avec des extensions de securite, de sorte que l’experience de l’ingenieur est unifiee. Mais le code de securite est certifie separement au niveau de la chaine d’outils (certification TUV / exida de l’IDE + runtime + plateforme materielle).

L’avenir : IEC 61131-3 face a la programmation orientee objet

L’Edition 3 (2013) a ajoute des fonctionnalites orientees objet : METHODES sur les blocs fonctionnels, INTERFACES, HERITAGE. Cela a rapproche la programmation PLC des pratiques modernes du genie logiciel, mais l’adoption est inegale :

  • Beckhoff TwinCAT 3 : support POO complet, largement utilise
  • CODESYS : support POO complet
  • Siemens TIA Portal : POO partielle (s’ameliore a chaque version)
  • Rockwell Studio 5000 : limitee

Pour les nouveaux projets, l’utilisation prudente de la POO (eviter la complexite de l’heritage mais utiliser les methodes + interfaces pour la testabilite) est desormais une bonne pratique reconnue. L’ancien code PLC “tout en etat global” est de plus en plus considere comme du code patrimonial.

Industries concernées

  • Fabrication discrete (automobile, electronique, emballage)
  • Industries de process avec commande par PLC (souvent hybride avec DCS)
  • Automatisation des batiments
  • Gestion de l'energie
  • Eau et traitement des eaux usees (souvent commande par PLC)
  • Construction de machines (tout CNC, robot, machine d'emballage)

Pour aller plus loin