- Automate programmable industriel
-
Pour les articles homonymes, voir API.
Un automate programmable industriel (API) est un dispositif électronique programmable destiné à la commande de processus industriels par un traitement séquentiel. Il envoie des ordres vers les préactionneurs (partie opérative ou PO côté actionneur) à partir de données d’entrées (capteurs) (partie commande ou PC côté capteur), de consignes et d’un programme informatique.
Sommaire
Présentation
On nomme Automate Programmable Industriel, API (en anglais Programmable Logic Controller, PLC) un dispositif similaire à un ordinateur, ayant des entrées et des sorties, utilisé pour automatiser des processus comme la commande des machines sur une ligne de montage dans une usine. Là où les systèmes automatisés plus anciens emploieraient des centaines ou des milliers de relais et de cames, un simple automate suffit. On nomme automaticiens les programmeurs de ces Automates Programmables Industriels.
L'API est structuré autour d'une unité de calcul ou processeur (en anglais Central Processing Unit, CPU), d'une alimentation (depuis des tensions AC ou DC) et, de modules suivant les besoins de l'application, tel que:
- Des cartes d'entrées - sorties (en anglais Input - Output, I/O) numériques (Tout ou rien) ou analogiques
- Cartes d'entrées pour brancher des capteurs, boutons poussoirs, ...
- Cartes de sorties pour brancher des actionneurs, voyants, vannes, ...
- Des modules de communication 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)), ...
- Des modules dédiés métiers, tels que de comptage rapide, de pesage...
- 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 de dialogue (homme-machine) tel que le pupitre (tactile ou avec clavier) dialoguant avec l'automate par réseau industriel propriétaire ou non et affichant des messages ou une représentation du procédé.
D'autres, 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 Antiblockiersystem (ABS) ou feux de signalisation aux carrefours.
Les programmes des API sont traités selon un cycle précis : acquisition de toutes les entrées (recopie dans une mémoire image) - traitement des données (calculs) - mise à jour des sorties. Le temps d'un cycle d'API varie selon la taille du programme, la complexité des calculs et de la puissance de l'API. Le temps de cycle est généralement de l'ordre d'une vingtaine de millisecondes et est protégé par un chien de garde.
Les API se caractérisent par rapport aux ordinateurs par leur fiabilité et 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, HMI en anglais) pour visualiser l'action et le fonctionnement du programme sur la partie opérative font que les automates sont très souvent reliés par une communication à un pupitre opérateur, une interface graphique (écran d'affichage ou écran tactile) ou un PC. Dans ce dernier cas, on parle de supervision (dans certains cas, 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'automate communiquant pour les "machines" (Automates de télégestion) : Machines d'emballage, chaudières collectives, stations d'épuration,... Dans ce cas précis, on vient, via Internet, modifier ou visualiser à distance les données ou le programme des automates de gestion de ces "machines". Elle se fait par le biais de modem-routeurs souvent associés à un logiciel assurant une liaison sécurisé (VPN). Exemples de produits permettent l'accès via modem : eWON avec Talk2M[1], Severa[2],...
Exemples
Un automate 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 arrangement légèrement plus complexe pourrait impliquer une balance sous le réservoir (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, d'avoir le pH dans une certaine fourchette.
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 au langage C utilisé pour les ordinateurs
- LD (Ladder Diagram), le langage Ladder (échelle en anglais) ressemble aux schémas électriques, permet de transformer rapidement un ancien programme fait de relais électromécaniques, cette façon de programmer permet une approche visuelle du problème (Le plus fréquent en industrie). On parle également de langage à contacts ou de schéma à contacts pour désigner le langage Ladder.
- Boîtes fonctionnelles (FBD), le FBD se présente sous forme diagramme : suite de blocs, reliables 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, de façon très proche du grafcet. Derrière chaque action est associé un programme écrit en IL, ST, LD ou FBD.
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, Ignition; 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.
Ancien
Il est enfin possible de réaliser de petits automates au moyen d'une simple mémoire morte (ROM), sans microprocesseur.
(Ces automates numériques sont des réseaux logiques câblés et non des automates programmables.)
Entrées tout ou rien
- Si l'on dispose de capteurs ne fournissant que des informations de type 1 ou 0 (« porte fermée » (ou ouverte) ou « évènement attendu », par exemple), la juxtaposition des bits correspondants peut être envoyée à la ROM comme une adresse.
- La valeur de la donnée lue à cette adresse contiendra un 1 pour chaque effecteur à basculer ON (1) ou OFF (0) : relais, moteurs, électrovannes, signaux, etc.
- Lorsque l'action de l'effecteur aura eu pour effet de changer l'un des signaux, le signal d'entrée pointera vers une adresse différente qui pourra par exemple entraîner l'arrêt de cet effecteur, ou le démarrage d'un autre, etc.
- Détails dans algèbre de Boole
Entrées analogiques
On peut, si elles comportent peu de bits, les traiter par un convertisseur analogique-numérique. Dans la pratique, il est rare qu'on ait besoin des bits de poids faible, et la seule chose qui sera prise en compte en entrée est la mise à 1 ou non d'un (ou plusieurs, par sécurité) bit(s) de poids fort.
Usage
Ces automates électroniques présentent des 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 maximal, 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é).
En contrepartie, ils sont beaucoup plus chers que des solutions informatiques classiques mais restent à l'heure actuelle les seules plateformes d'exécution considérées comme fiables en milieu industriel (avec les ordinateurs industriels). De plus ils nécessitent la maîtrise de langages spécifiques conformes à la norme CEI 61131-3 qui reprennent dans leur forme la logique d'exécution interne de l'automate. Le prix est souvent dépendant de la mémoire dont on veut disposer pour réaliser un programme.
On fabrique en général le contenu des ROM avec des programmes spécialisés dès que ce nombre d'états dépasse la dizaine. Une ROM de 2^N mots de N bits peut gérer 2^N états correspondants à p entrées et q sorties, avec p+q=N. Si certains de ces états ne peuvent être rencontrés dans la pratique, on peut simplifier le système d'autant avec un peu de circuiterie à bon marché (mécanisme de chip select).
Ils conviennent parfaitement pour des systèmes de sécurité ferroviaire, des machineries d'ascenseur, des commandes de chaînes de production ou tout autre type d'activité exigeant du réflexe plutôt que de la réflexion.
Pour la gestion des feux de circulation d'un carrefour, ce sont des automates particuliers et totalement différents, qui sont utilisés et dédiés à cette tâche . Il s'agit de contrôleurs de carrefours, qui doivent respecter des normes de sécurités particulières au domaine.
Le Grafcet est un outil graphique de définition pour l'automatisme séquentiel, en tout ou rien. Mais il est également utilisé dans beaucoup de cas combinatoires, dans le cas où il y a une séquence à respecter mais où l'état des capteurs suffirait pour résoudre le problème en combinatoire. Il utilise une représentation graphique. C'est un langage clair, strict mais sans ambiguïté, 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 (peut se "câbler" par séquenceurs, être programmé sur automate voire sur ordinateur).
Notes et références
Voir aussi
- Automaticien
- Automatisme (organe)
- Automatique
- CoDeSys
- Grafcet
- PLCopen
- PROFINET
- SERCOS III
- Ethernet Powerlink
- réseaux de terrain répandus
- Portail de l’électricité et de l’électronique
- Des cartes d'entrées - sorties (en anglais Input - Output, I/O) numériques (Tout ou rien) ou analogiques
Wikimedia Foundation. 2010.