Les Automates Programmables
Industriels (API)
PLC : programmable logic controller
1
Historique
A la fin des années 60, Un fabricant américain
de voitures décide de remplacer les systèmes
de commande à base de logique cablée (relais
électrique) par une logique programmée.
Ambiance industrielle
bruit électrique
poussière
température
humidité 2
Cahier des charges
Solution pour un coût acceptable
utilisable par le personnel en place
programmation facile
Supporter l’ambiance industrielle
Adaptation aux nombreuses variétés E/S
Simplicité de mise en œuvre
3
Introduction
L’automate programmable au cœur du
système automatisé de production
4
Architecture interne
RAM: Random Access Memory
ROM RAM ROM: Read Only Memory
MEMOIRE MEMOIRE E2PROM: Electrically Erasable
PROGRAMME DONNEES Programmable Read Only Memory
BUS INTERNE
CLOCK
UNITE DE TRAITEMENT
RESEAUX, Code barre
POSITIONNEMENT
COMPTAGE RAPIDE
CARTES METIERS
CARTES SORTIES
CARTE ENTREES
ALIMENTATION
REGULATION
TOR, ANA,
TOR, ANA
VISION
AXES
5
Structure interne d’un automate
PC registre = mémoire tampon
Communication Données et Périphériques
Mémoire internes
programme (Timers/Compteurs)
Energie
électrique
Alimentation
Interface Interface
d’entrées de sortie
Registre d’entrées
Registre de sortie
Optocoupleurs
Transistors/relais
Optocoupleurs
ENTREES SORTIES
CPU
Entrées Sorties
6
Le cycle de l’automate Process
Lecture des
!
Mise à jour Le contenu du
Entrées Des Sorties registre change
pendant le cycle
Mémoire
programme
Interface et données Interface
d’Entrée de Sortie
Registre de sortie
Registre d’entrée
Transistors/relais
Optocoupleurs
Optocoupleurs
Central Unit
ENTREES Entrées Sorties
SORTIES
7
Le cycle de l’automate
Registre Registre
Entrées Sorties
IMAGE
IMAGE
CPU
(mP)
lecture des
entrées
t t+Dt
mise à jour
des sorties
exécution des
t
instructions Temps de cycle
Sorties(t+Dt) = fonction( Entrées(t) , Sorties(t) )
Ordre de grandeur du temps de cycle : entre 1 et 100 ms
8
9
Structure d’un système automatisé
Energie Energie
Réseau
Autres automates
Supervision Commande Pré-
Actionneurs
actionneurs
Automate
Interface Programmable
Homme-
Machine Informations Interface
Capteurs
Utilisateur
Partie commande Partie opérative
10
Structure d’un système automatisé
Energie Actionneurs
Energie
Actionneur
Autres électrique :
systèmes
Commande Pré-
Moteur
Actionneurs
actionneurs
PartieActionneur
Interface Commande
pneumatique
Homme-
Machine ou hydraulique :
Informations Interface
vérin Capteurs
Utilisateur
Partie commande Partie opérative
11
Structure d’un système automatisé
Energie Energie
Pré-actionneurs
Variateur de vitesse
Autres
systèmes
pour moteur
Commande Pré-
Actionneurs
actionneurs
Partie
Interface Commande
Homme- Distributeur électropneumatique
Machine InformationsInterface
ou électrohydraulique
Capteurs
Utilisateur
Partie commande Partie opérative
12
Structure d’un système automatisé
Energie Capteurs Energie
Autres
systèmes Commande Pré-
Détecteur
Actionneurs
actionneurs
Détecteur inductif Détecteur optique de contact
Partie
Commande
Interface
Homme-
Machine Informations Interface
Capteurs
Codeur optique
Utilisateur (position arbre moteur) Caméra
Partie commande Partie opérative
13
Structure d’un système automatisé
Energie Energie
Interface Homme-Machine
Autres
systèmes Commande Pré-
Actionneurs
actionneurs
Boutons et voyants
Partie
Interface Commande
Homme-
Machine Informations Interface
Ecran tactile Capteurs
Utilisateur
Partie commande Partie opérative
14
Qui peut concurrencer l’automate ?
Peu d’éléments à produire
On recherche :
- Un faible coût de développement
- Un développement rapide et aisé
Automate Programmable Industriel
Beaucoup d’éléments à produire (ex : ABS d’une voiture)
On recherche :
- Un faible coût unitaire du composant
Microcontrôleur
15
L’automate programmable
Entrées/Sorties logiques
Entrée/Sorties analogiques
Sorties PWM
Commande d’axe
Extensions Compteurs rapides
Régulation
Communication (CAN, Ethernet…)
Sorties logiques
Sorties logiques Actionneurs
Variables internes
IHM
Unité Entrées logiques Capteurs
Entrées logiques Centrale
Version « compacte »
développement
PC 16
Extensions déportées
Entrées/Sorties logiques
Entrées/Sorties analogiques
Sorties PWM
Commande d’axe
Compteurs rapides
Coupleur réseau (CAN, Ethernet…)
Régulation
Variables internes
Sorties logiques
Sorties logiques Actionneurs
IHM Unité
Centrale Entrées logiques Capteurs
Entrées logiques
Version « réseau de terrain »
développement
PC 17
Architecture réseau
Entreprise Network
engineer operator Supervisor
station station Station gateway
Control Bus
(e.g. Ethernet)
PLC
COM1
COM 2
Control Station
COM1
COM1
COM 2
CPU
PLC PLC
CPU
CPU
I/O
with Field Bus gateway
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
direct I/O
Field Bus (proprietary) Field Bus (standard)
COM
COM
COM
COM
COM
CPU
CPU
CPU
I/O
I/O
I/O
I/O
I/O
I/O
I/O
directly connected
I/O
Field Stations FB
gateway Field Devices
small PLC
local intelligence
Sensor Bus (e.g. ASI)
18
19
Aspect programmation
FONCTIONS DES
ATELIERS LOGICIEL
•gestion des projets
•configuration API
•édition, compilation
•Transfert console <> API
•Mise au point dynamique
Console de poche pour la maintenance 20
Les langages IEC1131
Function Block Diagram (FBD)
Sequential Flow Chart (SFC)
AUTO CALC1
DI CALC PUMP
START STEP
V IN1 OUT >=1 DO
V T1
MAN_ON
ACT IN2 N ACTION D1 D1_READY
STEP A
D ACTION D2 D2_READY
T2
Ladder Diagram (LD) STEP B
N ACTION D3 D3_READY
D ACTION D4 D4_READY
CALC1
T3
AUTO CALC PUMP
IN1 OUT
ACT
IN2
Structured Text (ST)
MAN_ON VAR CONSTANT X : REAL := 53.8 ;
Z : REAL; END_VAR
VAR aFB, bFB : FB_type; END_VAR
Instruction List (IL) bFB(A:=1, B:=‘OK’);
A: LD %IX1 (* PUSH BUTTON *) Z := X - INT_TO_REAL (bFB.OUT1);
IF Z>57.0 THEN aFB(A:=0, B:=“ERR”);
ANDN %MX5 (* NOT INHIBITED *)
ELSE aFB(A:=1, B:=“Z is OK”);
ST %QX2 (* FAN ON *) END_IF 21
Comparaison des langages
LANGAGE AVANTAGES INCONVENIENTS
LD facile à lire et à comprendre par la suppose une programmation bien
majorité des électriciens structurée
langage de base de tout PLC
FBD Très visuel et facile à lire Peut devenir très lourd lorsque les
équations se compliquent
ST Langage de haut niveau (langage Pas toujours disponible dans les
pascal) ateliers logiciels
Pour faire de l’algorithmique
IL langage de base de tout PLC type très lourd et difficile à suivre si le
assembleur programme est complexe
Pas visuel.
SFC Description du fonctionnement Peu flexible
(séquentiel) de l ’automatisme.
Gestion des modes de marches
Pas toujours accepté dans
l’industrie… 22
Exemple Exemple
Isagraf Siemens
Multi-langages, multi-programmes !
23
Exemple
Schneider
24
Avantages des API
évolutivité très favorable au évolution. très utilisé
en reconstruction d’armoire.
fonctions assure les fonctions Conduites,
Dialogue, Communication et Sûreté.
taille des gamme importante d’automate
applications
vitesse temps de cycle de quelque ms
modularité haute modularité. présentation en rack
25
développement très facile avec des outils de
d’une application programmation de plus en plus puissant
et documentation
architecture de centralisée ou décentralisée avec
commande l’apparition d’une offre importante en
choix de réseaux , bus de terrain, blocs
E/S déportées.
mise en oeuvre mise au point rendu plus facile avec
l’apparition des outils de simulation de
PO
maintenance échange standards et aide au
diagnostique intégrée
portabilité d’une norme IEC 1131
application
26
Exemple (tendance micro)
FPO by MATSUSHITA AUTOMATION CONTROLS
vitesse de 0,9 ms/pas - scrutation cyclique
(possibilité en scrutation périodique)
programmation en langage LD et FDB et GRAFCET
EEPROM programme 5,4Ko (2720 pas) ou 10Ko (5000
pas)
chien de garde - mise en réseau possible avec
adaptateur - programmable en IEC 1131
E/S 6/4 8/6 8/8 16/16 et bientôt 128 – Analogique
disponible
capture d’impulsion
interruption périodique programmable de 0,5 ms à 30 s
90x25x60 mm et moins de 100g !
27
Etat du marché
% API
Micro: 15 to 128 I/O points 32%
Medium: 128 - 512 I/O points 29%
Large: > 512 I/O points 20%
Nano: < 15 I/O points 7%
Software PLC & cartes spé. 14%
28
Source: Control Engineering, Reed Research, 2002-09
29
RAM
MEMOIRE
DONNEES
Traitement : définitions
BUS INTERNE
Acquisition
des entrées
COMPTAGE RAPIDE
CARTE ENTREES
écriture en mémoire de
TOR, ANA,
l'état des informations
présentes sur les entrées
(réalise une image du
monde extérieur)
30
Traitement
du programme
exécution du
programme
application, écrit
par l'utilisateur.
31
RAM
MEMOIRE
Mise à jour DONNEES
des sorties
S
BUS INTERNE
écriture des bits ou
des mots de
sorties associés
aux modules TOR
CARTES SORTIES
et métier selon
TOR, ANA
l'état défini par le
programme
application.
32
L’ensemble constitue une tâche
Acquisition Traitement Mise à jour
des entrées du programme des sorties
E T S
Temps de cycle
TC= TE+TT+TS
33
Exemple
Capteur Cartes Entrées 7 0
I 124 I 124.X
I 124.5 Q124.1
7 0 Cartes Sorties Actionneur
Q124.X Q 124
34
Ce type de fonctionnement consiste à enchaîner les cycles
les uns après les autres.
E T S E T S E T S
T-1 T T+1
fonctionnement mono-tâche asynchrone
(ou cyclique ) 35
Dans ce mode de fonctionnement, l'acquisition des entrées, le traitement du
programme et la mise à jour des sorties s'effectue de façon périodique te ms
selon un temps défini par configuration API .
T-1 T T+1
E T S E T S E T S
te te te
fonctionnement mono-tâche synchrone
(périodique) 36
Retard dans le traitement de l’événement
Les deux modes de traitements (cyclique ou périodique) sont appelé
différé. Dans le pire des cas, il peut s ’écouler à peu prés 2 fois le temps
de cycle moyen avant que l’UT réagisse à l’apparition d’un événement
ACQUISITION
EVENEMENT
E T S E T S E T S
T-1 T T+1
2. Tc ACTION CONSECUTIVE A
L’EVENEMENT
37
Les interruptions 4) ACTION CONSECUTIVE
A L’EVENEMENT
Tc’
ETS 3) EXECUTION DU TRAITEMENT
EVENEMENTIEL (Tc’ petit)
1) EVENEMENT
2) INTERRUPTION DU
TRAITEMENT MAITRE
5) REPRISE DU
TRAITEMENT
E T S E T S E T S
T-1 T T+1
38
Les interruptions
Les traitements événementiels permettent
donc de prendre en compte des Ces tâches sont
événements de commande et de les traiter prioritaires. Le
le plus rapidement possible traitement, qu'elles
doivent assurer, est
Des instructions du langage nécessairement court
utilisées dans le programme afin de ne pas
application, permettent de masquer perturber l'exécution
ou démasquer ces traitements des autres tâches.
événementiels.
La configuration permet de choisir les voies des modules d'entrées qui
sont rafraîchies en début de traitement et les voies de sorties qui sont
mises à jour en fin de traitement. Les données associées à la voie qui a
déclenché l'interruption sont rafraîchies automatiquement.
39
Traitement multitâches
EVENEMENTS
PERIODIQUE La tâche rapide
permet d'effectuer
des traitements
courts avec une
INTERRUPTION
priorité plus élevée
AUXILIAIREs
que dans la tâche
MAITRE
TACHEs
RAPIDE
TACHE
TACHE
TACHE
maître
Le traitement est
nécessairement court
afin de ne pas
perturber l'exécution
des autres tâches
- PRIORITE +
40
La durée d'exécution de la tâche maître, en fonctionnement Chien de
cyclique ou périodique, est contrôlée par l'automate (chien
de garde) et ne doit pas dépasser la valeur définie en garde
configuration
Dans le cas de débordement, l'application est déclarée en
défaut, ce qui provoque l'arrêt immédiat de l'automate
! STOP CPU
T-1 T
E T S E T DEF. CPU, erreur prog.
Chien de garde
41
Un contact est associé au
watchdog (chien de garde)
42