AXIONB2B
Tech

Le bon langage d’automate dépend d’abord de la machine, pas de la mode

Jean-Baptiste Laroque 8 min de lecture
Programmation des automates : langage choisi selon la machine

La programmation des automates permet à une machine de réagir à ses capteurs et de commander ses actionneurs de manière répétable. Derrière un convoyeur, une station de remplissage ou une régulation de niveau, l’automate programmable industriel suit un cycle précis : il lit les entrées, exécute la logique prévue, puis actualise les sorties. Ce fonctionnement aide à choisir le langage, le logiciel et la méthode de travail adaptés.

L’API transforme les signaux du terrain en actions

Un automate programmable industriel (API), aussi appelé PLC pour Programmable Logic Controller, pilote un procédé en temps réel. Il remplace de nombreux relais câblés : pour modifier une séquence, l’automaticien adapte le programme utilisateur au lieu de refaire toute l’armoire.

Comparaison des langages de programmation des automates LD FBD SFC Grafcet IL et ST
Comparaison des langages de programmation des automates LD FBD SFC Grafcet IL et ST

Un API comprend généralement une CPU, une alimentation et des modules d’entrées-sorties. Les entrées reçoivent les informations d’un bouton-poussoir, d’un capteur de présence, d’un pressostat ou d’une sonde analogique. Les sorties commandent un voyant, une électrovanne, un moteur associé à un variateur, une pompe ou un autre actionneur. Des modules complémentaires peuvent gérer la communication, le comptage rapide ou le mouvement.

Le cycle de scrutation explique la réactivité de l’automate

Le fonctionnement repose sur un cycle de scrutation répété, qui peut durer de une à quelques dizaines de millisecondes. L’automate effectue son diagnostic, acquiert l’état de ses entrées, exécute le programme, puis met à jour les sorties. Cette succession rend le comportement déterministe : à entrées et programme identiques, la commande attendue se reproduit.

La logique doit toutefois être pensée à l’échelle de ce cycle. Un signal très bref peut ne pas être détecté si sa durée est inférieure au temps de scrutation. Un comptage rapide ou une synchronisation de mouvement demande alors des fonctions matérielles ou des tâches adaptées. Le temps réel ne signifie pas une réponse instantanée, mais un délai maîtrisé et compatible avec le procédé.

Les cinq langages de la CEI 61131-3 ne répondent pas au même besoin

La norme CEI 61131-3 définit cinq langages couramment utilisés pour programmer les automates. Un même projet peut les combiner, selon les possibilités du logiciel et du constructeur. Le meilleur choix n’est donc pas le langage le plus moderne, mais celui qui rend la logique compréhensible pendant un dépannage.

Cycle de scrutation en programmation des automates avec entrées, traitement et sorties
Cycle de scrutation en programmation des automates avec entrées, traitement et sorties
Langage Lisibilité Usage privilégié Point de vigilance
Ladder Diagram (LD) Très visuel pour les électriciens Logique tout ou rien, interverrouillages, commandes moteur Peu adapté aux calculs importants
Function Block Diagram (FBD) Visuel par blocs reliés Régulation, temporisations, traitement de signaux Le schéma devient dense dans les grandes logiques
SFC / Grafcet Très lisible pour les séquences Étapes, transitions, cycles de machine Doit être complété par les actions détaillées
Instruction List (IL) Peu accessible aux débutants Maintenance d’applications historiques Langage textuel bas niveau, moins adapté aux nouveaux projets
Structured Text (ST) Très adapté aux développeurs Calculs, boucles, tableaux, algorithmes Demande une discipline de code rigoureuse

Ladder et FBD : deux lectures graphiques de la logique

Le Ladder Diagram représente le programme sous la forme d’un schéma à contacts et bobines. Il convient à une commande classique avec un bouton Marche, une condition de sécurité, une mémorisation et une sortie moteur. Un technicien de maintenance peut souvent suivre le raisonnement ligne par ligne, ce qui explique l’usage durable du Ladder dans les ateliers.

Le FBD relie des blocs fonctionnels par leurs entrées et leurs sorties. Les temporisateurs, comparateurs, filtres et régulateurs PID se lisent naturellement sous cette forme. Ce langage convient notamment à une installation de traitement des eaux, où une mesure de niveau est comparée à des seuils pour piloter une pompe selon plusieurs temporisations.

SFC, Grafcet et ST : séquencer, puis calculer

Le SFC structure une machine avec des étapes actives, des transitions et des réceptivités. Le Grafcet sert souvent à concevoir la séquence avant son implémentation : attendre une pièce, serrer, usiner, desserrer, puis évacuer. Il faut distinguer le Grafcet, outil de description fonctionnelle, du SFC proposé dans certains environnements pour programmer la séquence.

Le ST convient à une formule, à une boucle sur un tableau de mesures, à une conversion d’unités ou à une logique conditionnelle complexe. Il se rapproche des langages informatiques structurés. Utilisé seul sur une machine simple, il peut cependant compliquer le diagnostic pour une équipe habituée aux schémas électriques.

Partir du fonctionnement réel de la machine avant d’écrire une ligne

La programmation d’un automate commence par un cahier des charges opérationnel, pas par le choix d’un langage. Il faut décrire les états de la machine, les conditions de démarrage, les défauts, les temporisations, les modes manuel et automatique, ainsi que le comportement après une coupure ou un arrêt d’urgence.

  1. Recenser les capteurs, les actionneurs et les signaux analogiques.
  2. Établir la liste des entrées-sorties et déclarer des variables explicites.
  3. Décrire les séquences avec un Grafcet ou un tableau d’états.
  4. Découper le programme en fonctions : sécurité, modes, cycle, alarmes et communication.
  5. Simuler, compiler, tester hors ligne, puis valider en conditions réelles.

Une machine n’est pas une suite de conditions isolées. Une variable mal nommée, une mémoire implicite ou un redémarrage mal défini peut entraîner des effets en cascade. Prévoir les états d’attente, les acquittements, les inhibitions et les retours capteurs dès la conception limite les « défauts fantômes », parfois visibles seulement après plusieurs cycles. Cette méthode facilite aussi les modifications ultérieures sans dérégler une fonction voisine.

Donner des noms qui décrivent le procédé

Évitez de programmer directement avec des adresses cryptiques. Une variable telle que Capteur_Niveau_Haut est plus exploitable qu’une référence brute de module. Conservez une table de variables cohérente, ajoutez des commentaires utiles et regroupez les fonctions répétables dans des blocs dédiés. La lisibilité du code réduit le temps de diagnostic lors d’une intervention.

Avant le téléchargement dans l’automate, testez les cas nominaux et les situations dégradées : capteur absent, ordre contradictoire, défaut de communication, coupure d’alimentation et reprise après arrêt. Les tables d’observation, le traçage et le forçage contrôlé facilitent ces vérifications. Les forçages doivent être retirés avant le retour en production.

Choisir logiciel et matériel sans se limiter au prix d’achat

Le logiciel dépend d’abord de la famille d’automates retenue. TIA Portal est associé aux automates Siemens, Studio 5000 aux solutions Rockwell Automation, tandis que CODESYS est utilisé par différents fabricants et plateformes compatibles. Les environnements Schneider Electric disposent également de leurs propres outils. La conformité à la CEI 61131-3 facilite les repères, sans garantir une portabilité parfaite : bibliothèques, fonctions de communication et extensions restent souvent propres au constructeur.

Pour apprendre, un kit de démarrage avec quelques entrées-sorties, un simulateur et une petite maquette est plus formateur qu’un automate surdimensionné. Les kits mentionnés se situent entre 200 et 800 euros, certaines configurations restant sous 500 euros. CODESYS est gratuit dans sa version éditeur, avec des licences matérielles à partir de 29 euros. Factory I/O est proposé à 144 euros par an ou 395 euros en achat définitif pour l’édition Siemens.

Dimensionner pour l’installation et pour son évolution

Comptez les entrées et sorties numériques, les voies analogiques, les communications réseau et les besoins éventuels en sécurité, comptage ou motion. Schneider recommande de prévoir une réserve de 20 % pour de futures extensions d’entrées-sorties. Cette marge évite de remplacer trop tôt une architecture ou de multiplier les contournements difficiles à maintenir.

API, PLC et automate programmable industriel désignent le même type d’équipement. Le softPLC, lui, exécute une logique d’automatisme sur une plateforme informatique. Il peut convenir à certaines architectures, mais son choix doit tenir compte de la robustesse matérielle, de la disponibilité, du temps réel et de la stratégie de maintenance attendus sur le site.

La sécurité et la maintenance font partie du programme

La logique de production ne remplace pas les fonctions de sécurité. Les arrêts d’urgence, les protections de machine et les fonctions critiques relèvent d’une architecture adaptée, souvent avec un automate de sécurité et des équipements conçus pour cette mission. Une sortie standard ne devient pas une fonction de sécurité simplement parce qu’elle est commandée par une condition logicielle.

Archivez le projet réellement chargé dans l’automate avec sa version, sa date et sa documentation. Sauvegardez les paramètres des variateurs, de l’IHM et de la communication, puis contrôlez les droits d’accès. La compétence d’un automaticien ne se limite pas à écrire du Ladder ou du ST. Elle consiste à concevoir une commande testable, à la mettre en service sans surprise et à permettre à la maintenance de la comprendre plusieurs années plus tard.

Jean-Baptiste Laroque
Retour en haut