vignette|Deux automates programmables industriels Siemens & leurs périphériques, montés en volant, pour test et analyse.
Un automate programmable industriel, ou API (en anglais , ), est un système électronique numérique programmable destiné au contrôle de procédés industriels par traitement séquentiel. Il envoie des instructions à des préactionneurs (partie active ou PA côté actionneur) à partir d'entrées (signaux entrant provenant de capteurs) (partie contrôle ou PC côté capteur), de consignes et d’un programme informatique.
Lorsqu'un automate programmable est orienté sur la Sécurité, il est alors appelé automate programmable de sécurité ou APS.
Présentation vignette|Automate de Allen-Bradley installé dans une armoire. vignette|Automate dans une armoire électrique. On nomme automate programmable industriel (API) un type particulier d'ordinateurs, robuste et réactif, équipés de prises en entrée et en sortie, utilisés pour automatiser des procédés, notamment pour contrôler / réguler des machines sur une chaine de montage, dans une usine, ou pour contrôler des systèmes de manutention automatique. Là où les systèmes automatisés plus anciens employaient des centaines ou des milliers de relais et de cames, un simple automate suffit. On nomme automaticiens les programmeurs de ces API.
Constitution L'API est structuré autour d'un système de calcul ou processeur (en anglais Central Processing Unit, CPU), d'une alimentation par des courants alternatifs (AC) ou continus (DC), et de modules dépendant des besoins du procédé, notamment : Des cartes d'entrées - sorties (en anglais Input - Output, I/O) numériques (tout ou rien) pour des signaux à deux états ou analogiques pour des signaux à évolution continue Cartes d'entrées pour brancher des capteurs, boutons poussoirs, etc. Cartes de sorties pour brancher des actionneurs, voyants, vannes, etc. Des modules de communication obéissant à divers protocoles Modbus, Modbus Plus, Profibus, InterBus, DeviceNet, LonWorks, Ethernet, FIPIO, FIPWAY, RS232, RS-485, AS-i, CANopen, pour dialoguer avec d'autres automates, des entrées/sorties déportées, des supervisions ou autres interfaces homme-machine (IHM, en anglais Human Machine Interface, HMI), etc. Des modules spécifiques aux métiers, tels que comptage rapide, pesage, etc. Des modules d'interface pour la commande de mouvement, dits modules Motion, tels que démarreurs progressifs, variateurs de vitesse, commande d'axes. Des modules locaux de dialogue homme-machine tels qu'un pupitre (tactile ou avec clavier), un terminal de maintenance, reliés à l'automate via un réseau industriel propriétaire ou non et affichant des messages ou une représentation du procédé.
D'autres automates, plus anciens, étaient constitués d'une simple mémoire dont l'adresse d'entrée était constituée d'une concaténation de données d'entrée (senseurs, horloge) et de l'état précédent. Beaucoup moins onéreux, ils se prêtaient en revanche mal à une augmentation rapide du nombre d'états. Ils sont restés très utilisés pour des automatisations simples du style système anti-blocage des roues (ABS) ou feux de signalisation aux carrefours.
Par rapport aux ordinateurs, les API se caractérisent par : leur robustesse : conçus pour pouvoir travailler en milieu hostile, ils utilisent des circuits durcis et sont prévus pour résister aux vibrations, aux températures des ateliers, etc ; leur réactivité aux indications fournies par les capteurs (dispositifs anticollision, alarmes diverses) ; leur facilité de maintenance (bien que les ordinateurs industriels atteignent également un très bon degré de fiabilité). Les modules peuvent être changés très facilement et le redémarrage des API est très rapide.
L'absence d'Interface Homme-machine (IHM) permanente pour visualiser l'action et le fonctionnement du programme sur la partie opérative font que les automates sont souvent reliés à un pupitre opérateur, une interface graphique (écran d'affichage ou écran tactile) ou un PC. Dans ce dernier cas, on parle de supervision. Le PC peut d'ailleurs être utilisé seul en regroupant les fonctions de l'API et de la supervision, grâce à l'utilisation d'un softPLC.
En automatisme industriel, on parle aussi beaucoup d'automates de télégestion. Dans ce cas, on vient, via Internet, modifier ou visualiser à distance les données ou le programme des automates de gestion des installations commandées: chaudières collectives, stations d'épuration, etc. Cela se fait par le biais de modem-routeurs souvent associés à un logiciel assurant une liaison sécurisée (VPN).
En général, si API et PC coexistent dans un atelier, les API fonctionnent au plus près des processus physiques et prennent en charge les questions de sécurité, les PC s'occupant plutôt de supervision et des rapports extérieurs. Les PC peuvent ainsi fixer au mieux les consignes aux API, qui donnent les ordres détaillés, traitent les urgences, et rendent compte de l'état des processus.
Programmation Les programmes des API sont traités selon un cycle précis, le plus souventhttp://www.geea.org/IMG/pdf/LES_AUTOMATES_PROGRAMMABLES_INDUSTRIELS_pour_GEEA.pdf, consulté le 5/02/2012. : Diagnostic (auto-test) ; Acquisition de toutes les entrées (recopie dans une mémoire image) ; Traitements du programme ; Mise à jour des sorties.
Le temps d'un cycle d'API varie selon la taille du programme, la complexité des calculs, le nombre d'entrées/sorties, la puissance de l'API, et les besoins du procédé piloté. Il varie de une à quelques dizaines de millisecondes et est protégé par un chien de garde, au cas par exemple où l'algorithme exécuterait indéfiniment une même boucle de programme.
Lecture des capteurs et commande des actionneurs sont réalisés par scrutation, la gestion d'interruptions pouvant être victime d'un effet d'avalanche en cas d'incident.
Différents langages de programmation Il existe différents langages de programmation définis par la CEI 61131-3 : IL (Instruction List), le langage List est très proche du langage assembleur on travaille au plus près du processeur en utilisant l'unité arithmétique et logique, ses registres et ses accumulateurs ST (Structured Text), Ce langage structuré ressemble aux langages de haut niveau utilisés pour les ordinateurs LD (Ladder Diagram), le langage Ladder (échelle en anglais) ressemble aux schémas électriques et permet de transformer rapidement une ancienne application faite de relais électromécaniques en un programme. Cette façon de programmer exploite une approche visuelle du problème longtemps appréciée en industrie, mais qui s'appuie sur une logique de moins en moins adaptée mais toujours utilisée (2013). On parle également de langage à contacts ou de schéma à contacts pour désigner ce langage Ladder. Boîtes fonctionnelles (FBD), le FBD se présente sous forme diagramme : suite de blocs, connectables entre eux, réalisant des opérations, simples ou très sophistiquées.
Dans la programmation d’un automate, il est possible également de choisir de programmer en SFC, dérivé du grafcet. À chaque action élémentaire est associé un programme écrit en IL, ST, LD ou FBD. Le grafcet, très populaire en France, est un outil graphique de définition de l'automatisme séquentiel, en un nombre fini d'étapes, séparées par des conditions de transition. Il utilise une représentation graphique claire, permettant par exemple au réalisateur de montrer au donneur d'ordre comment il a compris le cahier des charges. Langage universel, indépendant (dans un premier temps) de la réalisation pratique, il peut se "câbler" par séquenceurs, être programmé sur automate voire sur ordinateur. De plus, il permet : de hiérarchiser les séquences ; de coordonner au sein d'un cycle des séquences interdépendantes se déroulant simultanément ; d'appliquer des conditions de validité sécurisant le cycle de pilotage ; enfin, d'exploiter la méthode GEMMA, méthode sécurisant la gestion des modes de marche et d'arrêt.
Dans le cas des automates programmables logiciels (softplc), il existe également différents langages de programmation non définis par la CEI 61131-3 qui étendent considérablement les possibilités de configuration, par exemple: C/C++ : Proview; Pascal : Visual PLC. Grâce à leur flexibilité, ces logiciels sont utilisés sur les chaînes de fabrication automobile et sur les trains de laminoirs.
Toutefois, la popularité de ces langages ne doit pas masquer leurs faiblesses en matière de sécurité des processus.
Usage Exemples Un API peut gérer un ou plusieurs ascenseurs. Un API doté d'un programme simple peut maintenir un niveau de liquide dans un réservoir entre deux niveaux (un mini et un maxi), en ouvrant et fermant une vanne. Un programme légèrement plus complexe pourrait impliquer une mesure de niveau (comme entrée) et un contrôleur d'écoulement (comme résultat) permettant à l'eau de couler à un taux commandé. Un automatisme industriel typique pourrait commander plusieurs réservoirs dans un processus tel que le traitement des eaux usées. Chaque réservoir pourrait être observé pour une variété de conditions telles que : être ni trop plein ou ni trop vide, avoir le pH dans une certaine fourchette, une température adéquate... Un API peut également piloter un réacteur et commander en conséquence entrées de réactifs, de catalyseurs ou de solvants, sorties de produits, réchauffement ou refroidissement, etc. Un API peut piloter un chariot automatique.
Les automates sont largement utilisés dans l'industrie, tant manufacturière (fabrication d'objets finis ou de sous-ensembles) que de processus (élaboration de matières premières). On en trouve aussi beaucoup dans la gestion de bâtiments, la logistique et le conditionnement, tel celui des colis de la vente par correspondance. Ils conviennent parfaitement pour tout type d'activité exigeant du réflexe plutôt que des calculs élaborés. Pour des systèmes exigeant une grande sécurité (ferroviaire, machineries d'ascenseur, accès à des machines dangereuses), on utilise des automates de sécurité (APIS) dont l'unité centrale est doublée et les procédures de test renforcées. Pour la gestion des feux de circulation d'un carrefour, ce sont toutefois des automates particuliers et totalement différents, qui sont utilisés et destinés à cette tâche. Il s'agit de contrôleurs de carrefours, qui doivent respecter des normes de sécurité particulières au domaine.
Avantages et inconvénients Les API présentent de nombreux intérêts : Les éléments qui les composent sont particulièrement robustes (absence de mécanique tournante pour le refroidissement et le stockage des données, matériaux renforcés) leur permettant de fonctionner dans des environnements particulièrement hostiles (poussière environnante, perturbations électromagnétiques, vibrations des supports, variations de température...) Ils possèdent des circuits électroniques optimisés pour s'interfacer avec les entrées et les sorties physiques du système, les envois et réceptions de signaux se font très rapidement avec l'environnement. Avec de plus une exécution séquentielle cyclique sans modification de mémoire, ils permettent d'assurer un temps d'exécution minimal, respectant un déterminisme temporel et logique, garantissant un temps réel effectif (le système réagit forcément dans le délai fixé).