Oumaima BOUANANI
Automates Programmables
Industriels (API)
[Link] 1
Oumaima BOUANANI
Plan
• Les Automates Programmables Industriels
• Les Langages De Programmation Des API
• Traveaux/Application Pratiques
2
Oumaima BOUANANI
Structure d’un système automatisé
3
Oumaima BOUANANI
Qui peut concurrencer l’automate ?
Peu d’éléments à produire
• Un faible coût de développement
• Un développement rapide et aisé
AUTOMATE PROGRAMMABLE INDUSTRIEL
PROGRAMMABLE LOGIC CONTROLLER
Beaucoup d’éléments à produire
(ex : ABS d’une voiture)
Un faible coût unitaire du composant
MICROCONTROLEUR
4
Oumaima BOUANANI
Histoire des API
• Apparition à la fin des années 60s
• Suite à la demande de l'industrie automobile américaine (GM), qui réclamait plus
d'adaptabilité de leurs systèmes de commande
• Les coûts de l'électronique permettant alors de remplacer les technologies de la logique
câblée utilisant principalement les relais.
5
Oumaima BOUANANI
Logique cablée Cher, pas de flexibilité, pas de communication possible
Solution Utilisation de systèmes à base de microprocesseurs permettant une
modification aisée des systèmes automatisés ⇒ logique programmée
Les ordinateurs de l'époque étant chers et Les automates devaient permettre de répondre
non adaptés aux contraintes du monde aux attentes de l'industrie
industriel.
INTEL 8080
1970s personal computer INTEL 8008
MODICON PLC 1969
6
Oumaima BOUANANI
Contraintes du monde industriel
• Poussières,
• Température,
INFLUENCES EXTERNES • Humidité,
• Vibrations,
• Parasites électromagnétiques, …
• Mise en œuvre du matériel aisée (pas de langage de programmation
complexe)
PERSONNEL • Dépannage possible par des techniciens de formation
électromécanique
• Possibilité de modifier le système en cours de fonctionnement
• Évolutif
MATERIEL • Modulaire
• Implantation aisée
L'Automate Programmable Industriel (API) est un appareil électronique programmable, adapté à
l'environnement industriel, qui réalise des fonctions d'automatisme pour assurer la commande de
préactionneurs et d'actionneurs à partir d'informations logique, analogique ou numérique.
7
Oumaima BOUANANI
Domaines d'emploi des automates
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.
8
Oumaima BOUANANI
Nature des informations traitées par l'automate
TOUT OU RIEN (T.O.R.) : l'information ne peut
prendre que deux états (vrai/faux, 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 ou bien
hexadécimale. C'est le type d'information délivrée
par un ordinateur ou un module intelligent.
9
Oumaima BOUANANI
Architecture des automates programmables A.P.I
COMPACT MODULAIRE
On peut distinguer les modules de Dans une configuration modulaire, les
programmation compacts tels que le LOGO de composants tels que le processeur,
siemens, le ZELIO de schneider, le MILLENIUM de l'alimentation et les interfaces d'entrées/sorties
crouzet, des microautomates. sont répartis dans des unités distinctes
(modules) qui sont fixées sur un ou plusieurs
Ils intègrent le processeur, l'alimentation, ainsi racks contenant le "fond de panier" comprenant
que les entrées et les sorties. Selon les modèles le bus et les connecteurs.
et les fabricants, ils peuvent exécuter certaines
fonctions supplémentaires telles que le comptage Ces automates sont souvent utilisés dans des
rapide ou les entrées/sorties analogiques, et systèmes d'automatisation complexes où une
peuvent être étendus en nombre limité. puissance de traitement élevée, une capacité
étendue et une grande flexibilité sont
Ces automates, conçus pour un fonctionnement indispensables.
simple, sont généralement destinés à la
commande de petits systèmes d'automatisation.
10
Oumaima BOUANANI
Architecture des automates programmables A.P.I
COMPACT MODULAIRE
Allen Bradley Compact GuardLogix 5370 Schneider Electric Digital Modicon M580 PLC
11
Oumaima BOUANANI
COMPACT
12
Oumaima BOUANANI
MODULAIRE
13
Oumaima BOUANANI
Architecture des A.P.I (Structure Externe)
14
Architecture des A.P.I (Structure Interne) Oumaima BOUANANI
•Les
Les interfaces
mémoires
L'unité d'entrées/sorties
stockent
centrale, équipée :
le système
d'un d'exploitation (ROMexécute
microprocesseur, ou PROM), le programme
toutes les (EEPROM)
opérations et les
logiques,
LeLebus
données interne
• module
L'interface
système facilite
d'alimentation
d'entrée
pendantlareçoit
communication
garantit
le la
lesnumérique, entre
distribution
informations
fonctionnement du
(RAM). tous lesdernière
d'énergie
système
Cette àcomposants
tous lesest
automatisé de l'automate
modules.
programmable
souvent soutenue ainsi
(S.A.P.)qu'avec
par uneou du
pile
arithmétiques
d'éventuelles et de
extensions. traitement telles que le transfert de données, le comptage et la
unepupitre,
outemporisation. les formate
batterie. La capacité(filtrage, etc.) et
mémoire les isole
peut électriquement
généralement (optocouplage).
être étendue en ajoutant des barrettes
• L'interface
mémoire de type de sortie contrôle divers actionneurs préalables et éléments de signalisation du
PCMCIA.
S.A.P., tout en maintenant un isolement électrique.
15
Oumaima BOUANANI
Architecture des A.P.I (Structure Interne)
• Les API comportent quatre principales parties :
• Une unité de traitement (un processeur CPU);
• Une mémoire ;
• Des modules d'entrées-sorties ;
• Des interfaces d'entrées-sorties ;
• Une alimentation 230 V, 50/60 Hz (AC) - 24 V (DC).
• La structure interne d'un automate programmable industriel (API) est assez voisine de celle d'un système
informatique simple, L'unité centrale est le regroupement du processeur et de la mémoire centrale. Elle commande
l'interprétation et l'exécution des instructions programme. Les instructions sont effectuées les unes après les autres,
séquencées par une horloge.
Deux types de mémoire cohabitent :
• La mémoire Programme où est stocké le langage de programmation. Elle est en général figée, c'est à dire en lecture
seulement. (ROM : mémoire morte)
• La mémoire de données utilisable en lecture-écriture pendant le fonctionnement c'est la RAM (mémoire vive). Elle fait
partie du système entrées-sorties. Elle fige les valeurs (0 ou 1) présentes sur les lignes d'entrées, à chaque prise en
compte cyclique de celle-ci, elle mémorise les valeurs calculées à placer sur les sorties.
16
Architecture des A.P.I (Structure Interne) Oumaima BOUANANI
17
Oumaima BOUANANI
Le processeur
Le processeur, ou unité centrale (UC), a pour rôle principal le traitement des instructions qui constituent le
programme de fonctionnement de l’application (les fonctions logiques ET, OU, les fonctions de
temporisation, de comptage, de calcul PID, etc..). Mais en dehors de cette tâche de base, il réalise
également d’autres fonctions :
• Gestion des entrées/sorties.
• Surveillance et diagnostic de l’automate par une série de tests lancés à la mise sous tension ou
cycliquement en cours de fonctionnement.
• Dialogue avec le terminal de programmation, aussi bien pour l’écriture et la mise au point du
programme qu’en cours d’exploitation pour des réglages ou des vérifications des données.
Un ou plusieurs processeurs exécutent ces fonctions grâce à un micro logiciel préprogrammé dans une
mémoire de commande, ou mémoire système. Cette mémoire morte définit les fonctionnalités de
l’automate. Elle n’est pas accessible à l’utilisateur.
18
Oumaima BOUANANI
Description des éléments d'un API :
La mémoire :
Elle est conçue pour recevoir, gérer, stocker des informations issues des différents secteurs du
système que sont le terminal de programmation (PC ou console) et le processeur, qui lui gère et
exécute le programme. Elle reçoit également des informations en provenance des capteurs.
Il existe dans les automates deux types de mémoires qui remplissent des fonctions différentes :
• la mémoire langage où est stocké le langage de programmation. Elle est en général figée, c'est à
dire en lecture seulement. (ROM : mémoire morte)
• la mémoire travail utilisable en lecture-écriture pendant le fonctionnement c'est la RAM (mémoire
vive). Elle s'efface automatiquement à l'arrêt de l'automate (nécessite une batterie de sauvegarde).
Répartition des zones mémoires :
• Table image des entrées
• Table image des sorties
• Mémoire des bits internes
• Mémoire programme d'application
19
Oumaima BOUANANI
Principales fonctions :
Cartes d'entrées/sorties :
Disponibles en configurations de 4, 8, 16 ou 32, ces cartes peuvent effectuer des fonctions
d'entrée, de sortie ou les deux.
Elles sont largement utilisées et offrent des tensions normalisées telles que 24, 48, 110 ou
230 volts en continu ou alternatif.
Les voies peuvent être indépendantes ou partager des "communs".
Les cartes d'entrées permettent de recueillir des informations provenant de capteurs,
boutons, etc., et de les représenter sous forme de bits d'image de l'état du capteur.
Les cartes de sorties sont disponibles en deux technologies : les sorties à relais
électromagnétiques (bobine plus contact) et les sorties statiques (à base de transistors ou
de triacs).
20
Oumaima BOUANANI
Principales fonctions (supp) :
Cartes de comptage rapide :
Un module de comptage rapide est un composant
d'automatisation qui permet de compter des signaux
d'impulsions à haute fréquence avec une grande
précision et rapidité. Ces modules sont souvent
utilisés dans des environnements industriels où des
mesures précises de la position, de la vitesse, ou du
débit sont nécessaires.
Modicon X80 - module comptage
rapide - 60kHz - 2 voies
21
Oumaima BOUANANI
Principales fonctions :
Les cartes de commande d'axe :
Également connues sous le nom de contrôleurs d'axe
ou cartes de contrôle de mouvement, sont des
dispositifs utilisés dans les systèmes
d'automatisation industrielle pour contrôler les
mouvements précis des moteurs, généralement dans
des applications telles que la robotique, les machines
CNC, et les systèmes de convoyage.
TSXCAY22C V [Link] AXE 2
VOIES N2
22
Oumaima BOUANANI
Principales fonctions :
Cartes d'entrées / sorties analogiques :
Elles permettent de réaliser l'acquisition d'un signal
analogique et sa conversion numérique (CAN)
indispensable pour assurer un traitement par le
microprocesseur. La fonction inverse (sortie
analogique) est également réalisée. Les grandeurs
analogique sont normalisées : 0-10V ou 4-20mA.
Modicon X80 - module M340 - 4
entrées analogiques rapides
23
Oumaima BOUANANI
Principales fonctions :
24
Oumaima BOUANANI
Cycle de fonctionnement d’un API
25
Oumaima BOUANANI
Traitement du programme automate
26
Oumaima BOUANANI
Marché des API dans le Monde
27
Oumaima BOUANANI
Jeu d'instructions
Le processeur peut exécuter un certain nombre d’opérations logiques; l’ensemble des instructions
booléennes des instructions complémentaires de gestion de programme (saut, mémorisation,
adressage ...) constitue un jeu d’instructions.
Chaque automate possède son propre jeux d'instructions. Mais par contre, les constructeurs
proposent tous une interface logicielle de programmation répondant à la norme CEI1131-3. Cette
norme définit cinq langages de programmation utilisables, qui sont :
Les langages graphiques :
• LD : Ladder Diagram ( Diagrammes échelle )
• FBD : Function Block Diagram ( Logigrammes )
• SFC : Sequential Function Chart ( Grafcet)
Les langages textuels :
• IL : Instruction List (Liste d’instructions).
• ST : Structured Text (Texte structuré).
28
Oumaima BOUANANI
Les langages de programmation des API
29
Oumaima BOUANANI
Les langages de programmation des API
30
Oumaima BOUANANI
Les langages de programmation des API
31
Oumaima BOUANANI
Les langages de programmation des API
32
Oumaima BOUANANI
Les langages de programmation des API
33
Comparaison des langages API Oumaima BOUANANI
34
Oumaima BOUANANI
Introduction au langage grafcet
• La création d'une machine automatisée nécessite un dialogue entre le client qui définit le
cahier des charges (qui contient les besoins et les conditions de fonctionnement de la
machine) et le constructeur qui propose des solutions.
• Ce dialogue n'est pas toujours facile : le client ne possède peut-être pas la technique lui
permettant de définir correctement son problème.
• D'autre part, le langage courant ne permet pas de lever toutes les ambiguïtés dues au
fonctionnement de la machine (surtout si des actions doivent se dérouler
simultanément).
• C'est pourquoi l'ADEPA (Agence pour le Développement de la Productique Appliquée à
l'industrie) a créé le GRAFCET.
• Le GRAFCET (GRAphe Fonctionnel de Commande des étapes et Transitions) est l'outil de
représentation graphique d'un cahier des charges.
• Il a été proposé par l'ADEPA (en 1977 et normalisé en 1982 par la NF C03-190).
35
Oumaima BOUANANI
Introduction au langage grafcet
• Outil de modélisation du comportement des SAPs
• Permet de spécifier et concevoir un automatisme séquentiel
• Directement exploitable par des automates programmables industriels (API)
36
Introduction au langage grafcet Oumaima BOUANANI
37
Introduction au langage grafcet Oumaima BOUANANI
38
Introduction au langage grafcet Oumaima BOUANANI
39
Introduction au langage grafcet Oumaima BOUANANI
40
Introduction au langage grafcet Oumaima BOUANANI
41
Introduction au langage grafcet Oumaima BOUANANI
42
Introduction au langage grafcet Oumaima BOUANANI
43
Introduction au langage grafcet Oumaima BOUANANI
44
Introduction au langage grafcet Oumaima BOUANANI
45
Introduction au langage grafcet Oumaima BOUANANI
46
Introduction au langage grafcet Oumaima BOUANANI
47
Introduction au langage grafcet Oumaima BOUANANI
48
Introduction au langage grafcet Oumaima BOUANANI
49
Introduction au langage grafcet Oumaima BOUANANI
50
Introduction au langage grafcet Oumaima BOUANANI
51
Introduction au langage grafcet Oumaima BOUANANI
52
Introduction au langage grafcet Oumaima BOUANANI
53
Introduction au langage grafcet Oumaima BOUANANI
54
Introduction au langage grafcet Oumaima BOUANANI
55
Introduction au langage grafcet Oumaima BOUANANI
56
Introduction au langage grafcet Oumaima BOUANANI
57
Introduction au langage grafcet Oumaima BOUANANI
58
Introduction au langage grafcet Oumaima BOUANANI
59
Introduction au langage grafcet Oumaima BOUANANI
60
Introduction au langage grafcet Oumaima BOUANANI
61
Introduction au langage grafcet Oumaima BOUANANI
62
Introduction au langage grafcet Oumaima BOUANANI
63
Introduction au langage grafcet Oumaima BOUANANI
64
Introduction au langage grafcet Oumaima BOUANANI
65
Introduction au langage grafcet Oumaima BOUANANI
66
Introduction au langage grafcet Oumaima BOUANANI
67
Introduction au langage grafcet Oumaima BOUANANI
68
Introduction au langage grafcet Oumaima BOUANANI
69
Introduction au langage grafcet Oumaima BOUANANI
70
Introduction au langage grafcet Oumaima BOUANANI
71
Introduction au langage grafcet Oumaima BOUANANI
72
Introduction au langage grafcet Oumaima BOUANANI
73
Introduction au langage grafcet Oumaima BOUANANI
74
Introduction au langage grafcet Oumaima BOUANANI
75
Introduction au langage grafcet Oumaima BOUANANI
76
Introduction au langage grafcet Oumaima BOUANANI
77
Introduction au langage grafcet Oumaima BOUANANI
78
Introduction au langage grafcet Oumaima BOUANANI
79
Introduction au langage grafcet Oumaima BOUANANI
80
Introduction au langage grafcet Oumaima BOUANANI
81
Introduction au langage grafcet Oumaima BOUANANI
82
Introduction au langage grafcet Oumaima BOUANANI
83
Introduction au langage grafcet Oumaima BOUANANI
84
Introduction au langage grafcet Oumaima BOUANANI
85
Introduction au langage grafcet Oumaima BOUANANI
86
Introduction au langage grafcet Oumaima BOUANANI
87
Introduction au langage grafcet Oumaima BOUANANI
88
Introduction au langage grafcet Oumaima BOUANANI
89
Introduction au langage grafcet Oumaima BOUANANI
90
Introduction au langage grafcet Oumaima BOUANANI
91
Introduction au langage grafcet Oumaima BOUANANI
92
Introduction au langage grafcet Oumaima BOUANANI
93
Introduction au langage grafcet Oumaima BOUANANI
94
Introduction au langage grafcet Oumaima BOUANANI
95
Introduction au langage grafcet Oumaima BOUANANI
96
Introduction au langage grafcet Oumaima BOUANANI
97
Introduction au langage grafcet Oumaima BOUANANI
98
Introduction au langage grafcet Oumaima BOUANANI
99
Introduction au langage grafcet Oumaima BOUANANI
100
Introduction au langage grafcet Oumaima BOUANANI
101
Introduction au langage grafcet Oumaima BOUANANI
102
Introduction au langage grafcet Oumaima BOUANANI
103
Introduction au langage grafcet Oumaima BOUANANI
104
Introduction au langage grafcet Oumaima BOUANANI
105
Introduction au langage grafcet Oumaima BOUANANI
106
Introduction au langage grafcet Oumaima BOUANANI
107
Introduction au langage grafcet Oumaima BOUANANI
108
Introduction au langage grafcet Oumaima BOUANANI
109
Introduction au langage grafcet Oumaima BOUANANI
110
Applications Oumaima BOUANANI
111
Application Oumaima BOUANANI
112
Application Oumaima BOUANANI
113
Application Oumaima BOUANANI
114
Application Oumaima BOUANANI
115
Application Oumaima BOUANANI
116
Application Oumaima BOUANANI
117
Application Oumaima BOUANANI
118
Application Oumaima BOUANANI
119
Application Oumaima BOUANANI
120
Application Oumaima BOUANANI
121
Application Oumaima BOUANANI
122
Application Oumaima BOUANANI
123
Application Oumaima BOUANANI
124
Application Oumaima BOUANANI
125
Application Oumaima BOUANANI
126
Application Oumaima BOUANANI
127
Application Oumaima BOUANANI
128
Introduction au langage grafcet Oumaima BOUANANI
129
Introduction au langage grafcet Oumaima BOUANANI
130
Introduction au langage grafcet Oumaima BOUANANI
131
Introduction au langage grafcet Oumaima BOUANANI
132
Introduction au langage grafcet Oumaima BOUANANI
133
Introduction au langage grafcet Oumaima BOUANANI
134
Introduction au langage grafcet Oumaima BOUANANI
135
Introduction au langage grafcet Oumaima BOUANANI
136
Introduction au langage grafcet Oumaima BOUANANI
137
Introduction au langage grafcet Oumaima BOUANANI
138
Introduction au langage grafcet Oumaima BOUANANI
139
Introduction au langage grafcet Oumaima BOUANANI
140
Introduction au langage grafcet Oumaima BOUANANI
141
Introduction au langage grafcet Oumaima BOUANANI
142
Introduction au langage grafcet Oumaima BOUANANI
143
Introduction au langage grafcet Oumaima BOUANANI
144
Introduction au langage grafcet Oumaima BOUANANI
145
Introduction au langage grafcet Oumaima BOUANANI
146
Introduction au langage grafcet Oumaima BOUANANI
147
Introduction au langage grafcet Oumaima BOUANANI
148
Introduction au langage grafcet Oumaima BOUANANI
149
Introduction au langage grafcet Oumaima BOUANANI
150
Introduction au langage grafcet Oumaima BOUANANI
151
Introduction au langage grafcet Oumaima BOUANANI
152
Introduction au langage grafcet Oumaima BOUANANI
153
Introduction au langage grafcet Oumaima BOUANANI
154
Introduction au langage grafcet Oumaima BOUANANI
155
Introduction au langage grafcet Oumaima BOUANANI
156
Introduction au langage grafcet Oumaima BOUANANI
157
Introduction au langage grafcet Oumaima BOUANANI
158
Introduction au langage grafcet Oumaima BOUANANI
159
Introduction au langage grafcet Oumaima BOUANANI
160
Introduction au langage grafcet Oumaima BOUANANI
161
Introduction au langage grafcet Oumaima BOUANANI
162
Introduction au langage grafcet Oumaima BOUANANI
163
Introduction au langage grafcet Oumaima BOUANANI
164
Introduction au langage grafcet Oumaima BOUANANI
165
Introduction au langage grafcet Oumaima BOUANANI
166
Introduction au langage grafcet Oumaima BOUANANI
167
Introduction au langage grafcet Oumaima BOUANANI
168
Introduction au langage grafcet Oumaima BOUANANI
169
Introduction au langage grafcet Oumaima BOUANANI
170
Introduction au langage grafcet Oumaima BOUANANI
171
Introduction au langage grafcet Oumaima BOUANANI
172
Introduction au langage grafcet Oumaima BOUANANI
173
Introduction au langage grafcet Oumaima BOUANANI
174
Oumaima BOUANANI
Probleme
175
Oumaima BOUANANI
176
Oumaima BOUANANI
177