I – INTRODUCTION
Un Automate Programmable Industriel est une machine
électronique, programmable par un personnel non informaticien et
destinée à piloter en ambiance industrielle et en temps réel des
procédés automatiques.
Les automates programmables industriels ou A.P.I. comme on les
appelle le plus souvent ou encore Programmable Logic Controller
(PLC en anglais), sont apparus aux Etats-Unis vers 1969 où ils
répondaient aux besoins des industries de l’automobile de
développer des chaînes de fabrication automatisées qui pourraient
suivre l’évolution des technologies et des modèles fabriqués.
L’A.P.I. s’est ainsi substitué aux armoires à relais en raison de sa
souplesse, mais aussi parce que dans les automatismes de
commande complexe, les coûts de câblage et de mise au point
Les A.P.I. offrent de nombreux avantages par rapport aux dispositifs
de commande câblés, comme :
La fiabilité.
La simplicité de mise en œuvre (pas de langage de programmation
complexe) .
La souplesse d’adaptation (système évolutif et modulaire) .
La maintenance et le dépannage possible par des techniciens de
formation électromécanique.
L’Intégration dans un système de production (implantation aisée).
Les A.P.I. ont subit des améliorations tous les 4 à 7 ans au fur et à
mesure de l’apparition des composants électroniques tels que les
microprocesseurs et les microcontrôleur
On utilise les API dans tous les secteurs
industriels pour la commande des machines
(convoyage, emballage...) ou des chaînes de
production (automobile, agroalimentaire ...) ou
il peut également assurer des fonctions de
régulation de processus (métallurgie, chimie ...).
Il est de plus en plus utilisé dans le domaine du
bâtiment (tertiaire et industriel) pour le contrôle
du chauffage, de l'éclairage, de la sécurité ou
des alarmes.
Les informations traitées par un API peuvent être de type :
➢ Tout ou rien (T.O.R.) ou logique : l'information ne peut
prendre que deux états (0 ou 1 …). C'est le type d'information
délivrée par un détecteur, un bouton poussoir …
➢ Analogique : l'information est continue et peut prendre une
valeur comprise dans une plage bien déterminée. C'est le type
d'information délivrée par un capteur (pression, température …)
➢ Numérique : l'information est contenue dans des mots codés
sous forme binaire. C'est le type d'information délivrée par un
ordinateur ou un module intelligent.
Les automates peuvent être de type compact ou
modulaire.
Les automates type compact ou micro
automates intègrent le processeur,
l'alimentation, les interfaces d’entrées / sorties.
Selon les modèles et les fabricants, ils peuvent
réaliser certaines fonctions supplémentaires
(comptage rapide, E/S analogiques ...) et
recevoir des extensions en nombre limité.
Exemples : LOGO de Siemens, ZELIO de
Schneider, S7-200 de Siemens... Ces automates
sont de fonctionnement simple et sont
généralement destinés à la commande de petits
automatismes.
Pour les automates type modulaire, le
processeur, l'alimentation et les interfaces
d'entrées / sorties résident dans des unités
séparées (modules) et sont fixées sur un ou
plusieurs racks contenant le "fond de panier"
(bus plus connecteurs).
La figure 4 représente un A.P.I. avec divers périphériques
et auxiliaires qui représentent son environnement.
L’A.P.I est constitué
principalement de trois parties :
Une unité centrale qui est le
cerveau qui se trouve derrière
toute prise de décision logique
Des coupleurs d’entrées/sorties
qui assurent la liaison entre
l’unité centrale et le monde
extérieur (capteurs, pré
actionneurs, etc…)
Des coupleurs de
périphériques. Ces éléments
communiquent par un bus
appelé Bus d’entrées/sorties.
L’UC est caractérisé par son processeur et sa mémoire centrale .Le rôle
de l’UC est d’exécuter les programmes qui se trouvent dans la
mémoire.
a- Le processeur : Il gère le fonctionnement de l’automate
programmable et exécute les instructions du programme au rythme de
son horloge. Il réalise toutes les fonctions logiques, arithmétiques et de
traitement numérique (transfert, comptage, temporisation ...). Les
processeurs sont actuellement réalisés par des microprocesseurs. Au
début de l’apparition des API, les processeurs étaient des processeurs
câblés (réalisés par des circuits logiques séparés) ou des processeurs
microprogrammés (qui utilisait la logique programmable).
b- la mémoire centrale La mémoire d’un automate comporte une zone
programme (ou mémoire programmes ou utilisateurs), une zone
données (ou mémoire données) et une zone réservée au moniteur ou
système d’exploitation qui est le logiciel de gestion de l’A.P.I .
Les coupleurs d’entrées/sorties, appelés aussi interfaces
d’entrées/sorties, sont des cartes électroniques qui assurent
la liaison entre l’UC de l’automate programmable et la Partie
Opérative (le processus via les capteurs et les pré-
actionneurs).
Les coupleurs d’entrées reçoivent les signaux des capteurs et
des commandes de l’opérateur (via le pupitre de commande)
qu’ils traitent pour les rendre compatibles avec les
caractéristiques internes de l’A.P.I.
Les coupleurs de sorties reçoivent les signaux de l’UC. Ils les
amplifient et les rendent compatibles avec les pré-
actionneurs commandés et les contrôles du pupitre de
commande. Pour la plupart des A.P.I.,
Ils sont divers. Les principaux sont les suivants :
Mémoire de masse
Imprimantes
Ces périphériques sont en général reliés sur la console de
programmation et rarement directement sur l’automate. Leurs
interfaces sont classiques en informatique, ils gèrent une
transmission soit série soit parallèle de type : • RS 232C
• USB
Autres automates (superviseurs) Leurs liaisons sont de deux types
:
• Soit par des ports d’E/S de l’automate.
• Soit par une interface spécialisée appelée module ou cartes de
communication (Ethernet ...) assurant une transmission
normalisée à travers des bus de terrain.
a. Branchement des Entrées TOR: L'alimentation électrique pour
les capteurs /détecteurs peut être fournie par l'automate (en
général 24V continu) ou par une source extérieure. L’automate
dispose généralement d’un commun à toutes les entrées. Il est
possible de câbler à l'automate, des contacts classiques, mais
aussi des capteurs électroniques deux ou trois fils
Le principe de raccordement consiste à envoyer un signal
électrique vers le pré-actionneur connecté à la sortie choisie de
l'automate dés que l'ordre est émis). L'alimentation électrique
est fournie par une source extérieure à l'automate
programmable. Les sorties comportent généralement un
commun pour 3 ou 4 sorties. Cela permet d’alimenter des pré
actionneurs de tensions différentes, sans pour autant effectuer
un relayage. Les sorties de l’automate peuvent être à Triac, à
Transistor ou à relais.
La console de programmation est l’outil privilégié de la communication ‘ Homme–
Machine’ pour le développement, la mise au point et, éventuellement,
l’exploitation des applications. Le premier rôle de la console est de transformer le
langage de programmation en instructions exécutables par l’automate. Elle
permet lors de la mise au point du programme :
• La simulation pas à pas.
• La détection d’erreur de syntaxe.
• L’introduction, la correction et la modification des programmes (Editeur de
textes).
Elle permet sur beaucoup de systèmes la programmation définitive sur EPROM.
Pour assurer ces différentes tâches, la console de programmation peut être
connectée à l’A.P.I. (fonctionnement en ligne) ou non (fonctionnement autonome).
La console possède son propre processeur et sa propre mémoire, c’est
l’équivalent d’un micro-ordinateur. La plupart des consoles actuelles sont
d’ailleurs des micro-ordinateurs de commerce (PC équipés du logiciel
constructeur spécifique).
Lorsque l’on a affaire à un ordinateur l’exécution du programme se fait
en général ligne par ligne et d’une façon asynchrone. Une des
caractéristiques de l’automate est de fonctionner différemment c.à.d de
façon cyclique. En effet avant d’exécuter quoi que ce soit, l’automate lit
entièrement son programme ; et une fois l’exécution terminée
recommence les mêmes opérations. On définit alors la notion de cycle
et de temps de cycle (entre 1ms et 30ms environ). Il existe plusieurs
types de cycle mais le plus répondu est le celui représenté ci-contre. Ce
cycle comprend 5 phases :
• Phase 1 : Lecture ou Acquisition des entrées: Prise en compte des
informations des modules d’entrées et écriture de leur valeur dans RAM
(zone DONNEE).
• Phase 2 : Exécution de le programme ou Traitement des données :
Lecture du programme (située dans la RAM programme) par l’unité de
traitement, lecture des variables (RAM données), traitement et écriture
des variables (internes, sorties … ) dans la RAM données.
• Phase 3 : Traitement de toute demande de communication
• Phase 4 : Exécution du test d’auto--diagnostic (Gestion du système
Autocontrôle de l’automate)
• Phase 5 : Ecriture des sorties : Lecture des variables de sorties dans la
RAM données et transfert vers le module de sorties.
Un API est programmé à l'aide de langages spécialisés, fournis par son constructeur
et utilisables au travers d'une interface (un logiciel sur PC, un pupitre...).
Ces langages peuvent être classés en 5 grandes familles Norme IEC 61131-3 Les
quatres langages sont :
SFC (« Sequential Function Chart ») : issu du langage GRAFCET, ce langage, de haut
niveau, permet la programmation aisée de tous les procédés séquentiels ;
FBD (« Function Block Diagram », ou schéma par blocs) : ce langage permet de
programmer GRAPHIQUEMENT à l’aide de blocs, représentant des variables, des
opérateurs ou des fonctions. Il permet de manipuler tous les types de variables ;
LD (« Ladder Diagram », ou schéma à relais) : ce langage graphique est
essentiellement dédié à la programmation d’équations booléennes (true/false) ;
ST (« Structured Text » ou texte structuré) : ce langage est un langage textuel de
haut niveau. Il permet la programmation de tout type d’algorithme plus ou moins
complexe ; IL (« Instruction List », ou liste d’instructions) : ce langage textuel de bas
niveau est un langage à une instruction par ligne. Il peut être comparé au langage
assembleur.
Les APIs traitent plusieurs types de variables et utilisent des
adresses spécifiques ou références pour chacune d’elles :
variables bit ou (T.O.R.) sous forme d’entrées, sorties ou bit
internes appelé mémento par certain APIs.
variables analogique : sous forme d’entrées, sorties ou internes
variables Numérique: sous forme d’octet,
• 24 entrées TOR de mots,• double mots ou
8 entrées analogiques
référencées de I1 à I24 référencées de AI1 à AI8
mots flottants.
Exemples d’adressage: • 16 sorties TOR • 2 sorties analogiques
référencées de Q1 à Q16 référencées de AQ1 à AQ2
Références de l’automate LOGO! :
LOGO met à la disposition du programmeur
• 24 mémentos numériques • 6 mémentos analogiques
référencés de M1 à M24 référencés de AM1 à AM6
(version maxi): avec le M8 est le mémento
de démarrage
• 8 bits de registre à
décalage référencés de S1 à
Entrées : %
Ix.y.z Sorties : %
Ox.y.z Exemple
:
% I0.0.5 : %
I0.5 % O0.3.4 :
%O3.4
Le (Ladder Diagram) est une représentation graphique d’équations booléennes
combinant des contacts (en entrée) et des relais (en sortie).
Il permet la manipulation de données booléennes, à l’aide de symboles
graphiques organisés dans un diagramme comme les éléments d’un schéma
électrique à contacts.
Les diagrammes LD sont limités à gauche et à droite par des barres
d’alimentation
Ce langage utilise les symboles du logigramme. Il peut être
facilement traduit en langage machine. les symboles les plus
utilises sont:
.
C’est un langage graphique qui permet de tracer directement
le schéma Grafcet de l’automatisme considéré. Dans ce cas,
pour plus de facilité, on construit un Grafcet niveau 3 qui est
le même que le niveau 2, mais les variables d’E/S du niveau 2
sont remplacés par les adresses de l'automate (appelés
références).
C’est un langage littéral qui utilise le langage d’assemblage,
largement utilisé dans le domaine informatique. Très peu
utilisé par les automaticiens.
En complément aux possibilités de représentation, les langages
de programmation permettent l’utilisation de blocs fonctions et
de blocs opérations. Ces blocs sont des fonctions
préprogrammées, paramétrables, utilisables directement par le
programmeur. Exemple de blocs fonctions : Temporisateur,
Compteur