Vous êtes sur la page 1sur 6

Automate programmable industriel

Pour les articles homonymes, voir API et APS (ho-


monymie).

Cet article est une ébauche concernant la


science et l’électronique.
Vous pouvez partager vos connaissances en l’améliorant
(comment ?) selon les recommandations des projets cor-
respondants.
Consultez la liste des tâches à accomplir en page de dis-
cussion.

Automate de Allen-Bradley installé dans une armoire

Deux automates programmables Industriels & leurs périphé-


riques, montés en volant, pour test et analyse

Un automate programmable industriel, ou 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 (par-
tie opérative ou PO côté actionneur) à partir de données
d’entrées (capteurs) (partie commande ou PC côté cap-
teur), de consignes et d’un programme informatique.
Lorsqu'un automate programmable remplit une fonction
de sécurité, il est alors appelé automate programmable
de sécurité ou APS.

1 Présentation
Automate dans une armoire électrique
On nomme Automate Programmable Industriel, API
(en anglais Programmable Logic Controller, PLC) un
type particulier d'ordinateur, robuste et réactif, ayant des tèmes de manutention automatique. Là où les systèmes
entrées et des sorties physiques, utilisé pour automatiser automatisés plus anciens employaient des centaines ou
des processus comme la commande des machines sur une des milliers de relais et de cames, un simple automate
ligne de montage dans une usine, ou le pilotage de sys- suffit. On nomme automaticiens les programmeurs de ces

1
2 3 PROGRAMMATION

Automates Programmables Industriels. • par leur réactivité aux indications fournies par
les capteurs (dispositifs anti-collision, alarmes di-
verses) ;
2 Constitution • par leur facilité de maintenance (bien que les ordi-
nateurs industriels atteignent également un très bon
L'API est structuré autour d'une unité de calcul ou degré de fiabilité). Les modules peuvent être chan-
processeur (en anglais Central Processing Unit, CPU), gés très facilement et le redémarrage des API est très
d'une alimentation par des sources de tension alternative rapide.
(AC) ou continue (DC), et de modules dépendant des be-
soins de l'application, tels que : L'absence d'Interface Homme-machine (IHM) perma-
nent pour visualiser l'action et le fonctionnement du pro-
gramme sur la partie opérative font que les automates
• Des cartes d'entrées - sorties (en anglais Input - Out-
sont souvent reliés à un pupitre opérateur, une interface
put, I/O) numériques (tout ou rien) pour des signaux
graphique (écran d'affichage ou écran tactile) ou un PC.
à 2 états ou analogiques pour des signaux à évolution
Dans ce dernier cas, on parle de supervision. Le PC peut
continue
d'ailleurs être utilisé seul en regroupant les fonctions de
• Cartes d'entrées pour brancher des capteurs, l'API et de la supervision, grâce à l'utilisation d'un softplc.
boutons poussoirs, etc. En automatisme industriel, on parle aussi beaucoup
• Cartes de sorties pour brancher des d'automates de télégestion. Dans ce cas, on vient, via
actionneurs, voyants, vannes, etc. Internet, modifier ou visualiser à distance les données
ou le programme des automates de gestion des ins-
• Des modules de communication obéissant à di- tallations commandées : chaudières collectives, stations
vers protocoles Modbus, Modbus Plus, Profibus, d'épuration, etc. Cela se fait par le biais de modem-
InterBus, DeviceNet, LonWorks, Ethernet, FIPIO, routeurs souvent associés à un logiciel assurant une liai-
FIPWAY, RS232, RS-485, AS-i, CANopen, son sécurisée (VPN). En général, si API et PC coexistent
pour dialoguer avec d'autres automates, des en- dans un atelier, les API fonctionnent au plus près des pro-
trées/sorties déportées, des supervisions ou autres cessus physiques et prennent en charge les questions de
interfaces homme-machine (IHM, en anglais sécurité, les PC s’occupant plutôt de supervision et des
Human Machine Interface, HMI), etc. rapports extérieurs. Les PC peuvent ainsi fixer au mieux
les consignes aux API, qui donnent les ordres détaillés,
• Des modules spécifiques aux métiers, tels que comp- traitent les urgences, et rendent compte de l'état des pro-
tage rapide, pesage, etc. cessus.
• Des modules d'interface pour la commande de mou-
vement, dits modules Motion, tels que démarreurs
progressifs, variateurs de vitesse, commande d'axes.
3 Programmation
• Des modules locaux de dialogue homme-machine Les programmes des API sont traités selon un cycle pré-
tels qu'un pupitre (tactile ou avec clavier), un termi- cis, le plus souvent[1] :
nal de maintenance, reliés à l'automate via un réseau
industriel propriétaire ou non et affichant des mes- 1. diagnostic (auto-test)
sages ou une représentation du procédé.
2. acquisition de toutes les entrées (recopie dans une
mémoire image)
D'autres automates, plus anciens, étaient constitués d'une
simple mémoire dont l'adresse d'entrée était constituée 3. traitement du programme
d'une concaténation de données d'entrée (senseurs, hor- 4. mise à jour des sorties.
loge) et de l'état précédent. Beaucoup moins onéreux, ils
se prêtaient en revanche mal à une augmentation rapide Le temps d'un cycle d'API varie selon la taille du
du nombre d'états. Ils sont restés très utilisés pour des au- programme, la complexité des calculs, le nombre
tomatisations simples du style Antiblockiersystem (ABS) d'entrées/sorties, la puissance de l'API, et les besoins du
ou feux de signalisation aux carrefours. procédé piloté. Il varie de une à quelques dizaines de mil-
Les API se caractérisent par rapport aux ordinateurs lisecondes et est protégé par un chien de garde, au cas
par exemple où l'algorithme exécuterait indéfiniment une
• par leur robustesse : conçus pour pouvoir travailler même boucle de programme.
en milieu hostile, ils utilisent des circuits durcis et Lecture des capteurs et commande des actionneurs sont
sont prévus pour résister aux vibrations, aux tempé- réalisés par scrutation, la gestion d'interruptions pouvant
ratures des ateliers etc. être victime d'un effet d'avalanche en cas d'incident.
3

3.1 Différents langages de programmation • C/C++ : Proview, Ignition ; Pascal : Visual PLC.
Grâce à leur flexibilité, ces logiciels sont utilisés sur
Il existe différents langages de programmation définis par les chaînes de fabrication automobile et sur les trains
la CEI 61131-3 : de laminoirs.

• IL (Instruction List), le langage List est très proche Toutefois, la popularité de ces langages ne doit pas mas-
du langage assembleur on travaille au plus près du quer leurs faiblesses en termes de sécurité des processus.
processeur en utilisant l'unité arithmétique et lo-
gique, ses registres et ses accumulateurs
• ST (Structured Text), Ce langage structuré res- 4 Usage
semble aux langages de haut niveau utilisés pour les
ordinateurs 4.1 Exemples
• LD (Ladder Diagram), le langage Ladder (échelle en
• Un API peut gérer un ou plusieurs ascenseurs.
anglais) ressemble aux schémas électriques et per-
met de transformer rapidement une ancienne appli- • Un API doté d'un programme simple peut main-
cation faite de relais électromécaniques en un pro- tenir un niveau de liquide dans un réservoir entre
gramme. Cette façon de programmer exploite une deux niveaux (un mini et un maxi), en ouvrant
approche visuelle du problème longtemps appré- et fermant une vanne. Un programme légèrement
ciée en industrie, mais qui s’appuie sur une logique plus complexe pourrait impliquer une mesure de ni-
de moins en moins adaptée mais toujours utilisée veau (comme entrée) et un contrôleur d'écoulement
(2013). On parle également de langage à contacts (comme résultat) permettant à l'eau de couler à
ou de schéma à contacts pour désigner ce langage un taux commandé. Un automatisme industriel ty-
Ladder. pique pourrait commander plusieurs réservoirs dans
• Boîtes fonctionnelles (FBD), le FBD se présente un processus tel que le traitement des eaux usées.
sous forme diagramme : suite de blocs, connectables Chaque réservoir pourrait être observé pour une va-
entre eux, réalisant des opérations, simples ou très riété de conditions telles que : être ni trop plein ou ni
sophistiquées. trop vide, avoir le pH dans une certaine fourchette,
une température adéquate....
Dans la programmation d’un automate, il est possible • Un API peut également piloter un réacteur et com-
également de choisir de programmer en SFC, dérivé du mander en conséquence entrées de réactifs, de cata-
grafcet. À chaque action élémentaire est associé un pro- lyseurs ou de solvants, sorties de produits, réchauf-
gramme écrit en IL, ST, LD ou FBD. Le grafcet, très fement ou refroidissement etc.
populaire en France, est un outil graphique de définition
de l'automatisme séquentiel, en un nombre fini d'étapes, • Un API peut piloter un chariot automatique.
séparées par des conditions de transition. Il utilise une
représentation graphique claire, permettant par exemple Les automates sont largement utilisés dans l'industrie,
au réalisateur de montrer au donneur d'ordre comment il tant manufacturière (fabrication d'objets finis ou de sous-
a compris le cahier des charges. Langage universel, in- ensembles) que de processus (élaboration de matières
dépendant (dans un premier temps) de la réalisation pra- premières). On en trouve aussi beaucoup dans la ges-
tique, il peut se “câbler” par séquenceurs, être programmétion de bâtiments, la logistique et le conditionnement,
sur automate voire sur ordinateur. De plus, il permet : tel celui des colis de la vente par correspondance. Ils
conviennent parfaitement pour tout type d'activité exi-
• de hiérarchiser les séquences ; geant du réflexe plutôt que des calculs élaborés. Pour des
systèmes exigeant une grande sécurité (ferroviaire, ma-
• de coordonner au sein d'un cycle des séquences in- chineries d'ascenseur, accès à des machines dangereuses),
terdépendantes se déroulant simultanément ; on utilise des automates de sécurité (APIS) dont l'unité
• d'appliquer des conditions de validité sécurisant le centrale est doublée et les procédures de test renforcées.
cycle de pilotage ; Pour la gestion des feux de circulation d'un carrefour,
ce sont toutefois des automates particuliers et totalement
• enfin, d'exploiter la méthode GEMMA, méthode sé- différents, qui sont utilisés et dédiés à cette tâche. Il s’agit
curisant la gestion des modes de marche et d'arrêt. de contrôleurs de carrefours, qui doivent respecter des
normes de sécurités particulières au domaine.
Dans le cas des automates programmables logiciels
(softplc), il existe également différents langages de pro-
grammation non définis par la CEI 61131-3 qui étendent 4.2 Avantages et inconvénients
considérablement les possibilités de configuration, par
exemple : Les API présentent de nombreux intérêts :
4 7 VOIR AUSSI

• Les éléments qui les composent sont particuliè- • L'unité de commande elle-même : elle peut être re-
rement robustes (absence de mécanique tournante dondée (doublée voir triplée) afin de garantir son
pour le refroidissement et le stockage des données, fonctionnement.
matériaux renforcés) leur permettant de fonction-
ner dans des environnements particulièrement hos- • Son alimentation.
tiles (poussière environnante, perturbations électro-
magnétiques, vibrations des supports, variations de 4.3.1 Exemples
température...)
• Les automates gérant la signalisation tricolore rou-
• Ils possèdent des circuits électroniques optimi- tière : une défaillance d'un élément, ou de la carte
sés pour s’interfacer avec les entrées et les sor- CPU provoque automatiquement l'affichage d'un
ties physiques du système, les envois et récep- jaune clignotant (agrément SETRA)
tions de signaux se font très rapidement avec
l'environnement. Avec de plus une exécution sé- • Une carte d'entrée spécialisée pour les capteurs de
quentielle cyclique sans modification de mémoire, contrôle d'ouverture de porte d'une machine.
ils permettent d'assurer un temps d'exécution mi-
nimal, respectant un déterminisme temporel et lo-
gique, garantissant un temps réel effectif (le système 5 Automate logiciel
réagit forcément dans le délai fixé).
Une variante à l'automate programmable matériel
En contrepartie, ils sont plus chers que des solutions consiste en un automate logiciel, donc sans matériel lié à
informatiques classiques à base de microcontrôleurs par proprement parler, mais réutilisant les mêmes concepts et
exemple mais restent à l'heure actuelle les seules plate- langages du monde de l'automatisme. Certains langages
formes d'exécution considérées comme fiables en milieu supplémentaires, plus orientés informatiques et donc
industriel (avec les ordinateurs industriels). Le prix est moins accessibles à un électricien, peuvent également
notamment dépendant du nombre d'entrées/sorties néces- figurer (comme évoqué ci-dessus).
saires, de la mémoire dont on veut disposer pour réa- On parle parfois de SoftPlc. Afin de garantir un trai-
liser le programme, de la présence ou non de modules tement dans les temps, la plateforme matérielle utilisée
métier. De plus ils nécessitent la maîtrise de langages pour exécuter le moteur d'automatisme doit fonctionner
spécifiques conformes à la norme CEI 61131-3 qui re- sur un Système d'exploitation temps réel.
prennent dans leur forme la logique d'exécution interne
de l'automate. Ces langages apparaissent toutefois à beau- Il peut également exister des simulateurs d'automates pro-
coup d'utilisateurs plus accessibles et plus visuels que les grammables, mais dans ce cas il s’agit juste de pouvoir
langages informatiques classiques. tester une programmation pour des essais, sans lire de
capteurs et piloter de vrais actionneurs. Ce type de lo-
giciel peut s’exécuter sur un système d'exploitation clas-
sique non temps-réel.
4.3 Automate de sécurité

Au delà des application classique, un automate peut avoir


des caractéristiques dites “de sécurité". Elles lui per- 6 Notes et références
mettent, soit d'avoir une garantie de fonctionnement,
même après la ruine d'un élément, soit de garantir un [1] http://www.geea.org/IMG/pdf/LES_AUTOMATES_
fonctionnement qui générera des actions toujours plus PROGRAMMABLES_INDUSTRIELS_pour_GEEA.
contraignantes en cas de ruine d'un élément, garantissant pdf, consulté le 5/02/2012
la sécurité des personnes et des biens.
Ces caractéristiques peuvent porter sur :
7 Voir aussi
• Les entrées : les capteurs sont contrôlés en perma-
nence, et ne peuvent indiquer que des états logiques • Ace PLC
sûrs. Un écrasement du câble créant un court-circuit • Apprendre les bases (How To)
générant potentiellement un “1” permanent n'est pas
permis. • Automaticien

• Les sorties : une commande d'un actionneur, ou • Automatisme (organe)


l'actionneur lui même peut être contrôlé ou redon- • Automatique
dé afin de garantir sa mise en service ou son arrêt,
même en cas de défaillance d'un élément. • CoDeSys
5

• Automgen

• Grafcet
• PLCopen

• PROFINET
• SERCOS III

• Ethernet Powerlink
• réseaux de terrain répandus

• Fipio et Fip
• Profibus
• ModBus
• ModBus Plus
• CANopen
• InterBus
• DeviceNet
• AS-i
• LonWorks
• Sercos
• Ethernet/IP (Industrial Protocol) (en)

• Portail de l’électricité et de l’électronique


6 8 SOURCES, CONTRIBUTEURS ET LICENCES DU TEXTE ET DE L’IMAGE

8 Sources, contributeurs et licences du texte et de l’image


8.1 Texte
• Automate programmable industriel Source : https://fr.wikipedia.org/wiki/Automate_programmable_industriel?oldid=131010044
Contributeurs : Jloriaux, Pulsar, BTH, MedBot, Phe-bot, Vev, Foxandpotatoes, Carlb, Poulpy, T~frwiki, Elektordi, Leag, Piku, Pmx, Bbullot,
Padawane, MisterMatt Bot, Stéphane33, Zetud, ArséniureDeGallium, Gzen92, MagnetiK, Scls19fr, Coyau, Chimere000, RobotQuistnix,
Jerome66, Litlok, Crouchineki, Loveless, Nix 35, Guilvey, Djiboun, Shawn, Oxo, Silex6, Pautard, Sequajectrof, Xofc, Tuxplc, Akzo, Play-
time, Grouk, AntonyB, Liquid-aim-bot, Puppet-Master, Guérin Nicolas, Nilou17, PieRRoBoT, Atr, Gfombell, NicoV, Epok, Thijs !bot,
Jarfe, A2, Benjamin bradu, Phd0, Rémih, FrankSansC, JAnDbot, Zedh, .anacondabot, StArkAzz, Nono64, Sebleouf, Gilles.bge, Sale-
bot, TXiKiBoT, VolkovBot, Simla, Fluti, SieBot, OKBot, Brunad64, IAutoms, Mavati, Garfieldairlines, Vlaam, Dhatier, Lilyu, GeMyNy,
PipepBot, DumZiBoT, Elmschrat, Factotum~frwiki, Mk13, Alphos, Michbeie, Sardur, BOTarate, Pfelicite, PhantomT1412, Denreq, Wi-
kiCleanerBot, SilvonenBot, ZetudBot, Luckas-bot, Big 08, Mabifixem, JJ-Stern, Seb be, TaBOT-zerem, ArthurBot, Xqbot, Jerome.follut,
RibotBOT, JackBot, Coyote du 57, Botozor, RedBot, BluesyPete, EmausBot, WikitanvirBot, Lf69100, ElphiBot, Bcag, Herber, Wikiherge,
Arbautjc, Addbot, Do not follow, LuaBot, Rémi Coubraz et Anonyme : 91

8.2 Images
• Fichier:Automate_siemens_codeur_analyseur_de_trame.JPG Source : https://upload.wikimedia.org/wikipedia/commons/2/2c/
Automate_siemens_codeur_analyseur_de_trame.JPG Licence : CC-BY-SA-3.0 Contributeurs : Travail personnel Artiste d’origine :
User:Vev
• Fichier:BMA_Automation_Allen_Bradley_PLC_3.JPG Source : https://upload.wikimedia.org/wikipedia/commons/2/25/BMA_
Automation_Allen_Bradley_PLC_3.JPG Licence : CC BY-SA 3.0 Contributeurs : Travail personnel Artiste d’origine : Elmschrat
Coaching-Blog
• Fichier:Disambig_colour.svg Source : https://upload.wikimedia.org/wikipedia/commons/3/3e/Disambig_colour.svg Licence : Public do-
main Contributeurs : Travail personnel Artiste d’origine : Bub’s
• Fichier:Nuvola_apps_kcmprocessor.png Source : https://upload.wikimedia.org/wikipedia/commons/5/50/Nuvola_apps_
kcmprocessor.png Licence : LGPL Contributeurs : http://icon-king.com Artiste d’origine : David Vignoni / ICON KING
• Fichier:Nuvola_apps_ksim.png Source : https://upload.wikimedia.org/wikipedia/commons/8/8d/Nuvola_apps_ksim.png Licence : LG-
PL Contributeurs : http://icon-king.com Artiste d’origine : David Vignoni / ICON KING
• Fichier:PLC_Control_Panel.png Source : https://upload.wikimedia.org/wikipedia/commons/4/42/PLC_Control_Panel.png Licence :
Public domain Contributeurs : Transféré de en.wikipedia à Commons. Artiste d’origine : Dailynetworks sur Wikipedia anglais
• Fichier:Science-symbol-2.svg Source : https://upload.wikimedia.org/wikipedia/commons/7/75/Science-symbol-2.svg Licence : CC BY
3.0 Contributeurs : en:Image:Science-symbol2.png Artiste d’origine : en:User:AllyUnion, User:Stannered

8.3 Licence du contenu


• Creative Commons Attribution-Share Alike 3.0