Automate programmable industriel
Un article de Wikipédia, l'encyclopédie libre.
Cet article est une ébauche à compléter concernant la science, vous pouvez partager vos connaissances en le modifiant. |
On nomme Automate Programmable Industriel (API) 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 Opérative ou PO côté capteur), de consignes et d’un programme informatique.
Sommaire |
[modifier] Présentation
On nomme Automate Programmable Industriel, API (en anglais Programmable Logic Controller, PLC) un dispositif similaire à un ordinateur, utilisé pour automatiser des processus comme la commande des machines sur une chaîne 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, variateur de vitesse, commande d'axes.
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 block-system 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 a jour des sorties. Le temps d'un cycle d'API varient selon la taille du programme, la complexité des calculs et de la puissance de l'API. Le temp de cycle est généralement de l'ordre d'une vingtaine de milliseconde.
Les API se caractérisent par rapport aux ordinateurs par leur fiabilité et leur facilité de maintenance. Les modules peuvent etre 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é par une communication à un pupitre opérateur, une interface graphique (ecran d'affichage ou ecran tactile) ou un PC. Dans se dernier cas, on parle de supervision.
[modifier] Exemples
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 électrique. 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é. Une application industrielle typique pourrait commander plusieurs réservoirs dans un processus tel que le traitement d'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.
[modifier] 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.
- FBD (Function Bloc Diagram), le FBD se présente sous forme diagramme : suite de blocs, reliables entre eux, réalisant des opérations simples, voir très sophistiquées.
Dans la programmation d’un automate, il est possible 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.
[modifier] Ancien
Il est enfin possible de réaliser de petits automates au moyen d'une simple mémoire morte (ROM), sans microprocesseur.
(Ces automates numeriques sont des réseaux logiques cablés et non des automates programmables.)
[modifier] Entrées par 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, électrovalves, 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
[modifier] 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.
[modifier] Usage
Ces automates électroniques présentent trois intérêts :
- ils ont une fiabilité extrême
- ils répondent instantanément (pas d'algorithme)
- leur prix de revient est très faible, surtout comparé à une solution à base de microprocesseur
En contrepartie, la complexité de leur programmation (ainsi que leur coût) monte presque exponentiellement avec leur nombre d'états, et 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 feux de circulation automatique ou tout autre type d'activité exigeant du réflexe plutôt que de la réflexion.
[modifier] Différentes marques et modèles
- CoDeSys outil de programmation IEC 61131
- ISaGRAF IEC 61131 and IEC 61499 Software
- STRATON
- Advantech automation controllers incorporating ADAM-5000 PC-based and SoftLogic Controllers, ADAM-8000 Programmable Logic Controllers, UNO Fanless Embedded PC, WebLink Web-enabled Gateways, and WebOIT Web-enabled Operator Interfaces
- Télémecanique Modicon (marques de Schneider Electric) Twido, Modicon TSX Micro, Modicon Premium - TSX 57, TSX 47, TSX 37 - Modicon Quantum, Modicon Atrium, Modicon Momentum, Modicon 984, Telemecanique Preventa XPS MC, XPS MP
- Crouzet (marque de Schneider Electric) Millenium II+
- Siemens SIMATIC S5 & S7
- Phoenix Contact RFC450/430 ETH, ILC 350 ETH, ILC 200-Serie, S-MAX
- Allen Bradley (Rockwell Automation) (ControlLogix, CompactLogix, FlexLogix, GuardPLC, Micrologix, PLC5, SLC500)
- [1]
- ABB
- Beck IPC GmbH
- Beckhoff Gamme BC et BX, et aussi PLC virtuels (real time) sur PC industriels.
- BoschRexroth
- Bernecker&Rainer
- Eckelmann
- ELAU AG PacDrive MAx-4 sowie C200, C400, C600 und P600
- Festo
- Foxboro
- GE Fanuc 90-70, 90-30, VersaMax
- HIMA A1, H41, H51
- Honeywell FSC
- KEBA Kemro K2
- Matsushita FP-Serie FP0/FP-Sigma/FP-M/FP1/FP2/FP10SH
- Mayr Systeme primo-motion control Serie
- Mitsubishi MELSEC F1, F2, FX1N, FX2N, AxN, AxS, QnA, QnAS, System Q
- Moeller PS4, PS416, X-System
- Omron CPM1A, CPM2A, CPM2C, CQM1, CJ1
- SAMSON, TROVIS 5171
- SAIA-Burgess, PCDx
- VIPA Art of Automation
- MULTIPROG
- UNITRONICS M90, M91
[modifier] Voir aussi
- Automaticien
- Automatisme (organe)
- Automatique
- Grafcet
- PROFINET
- réseaux de terrain répandus