Académique Documents
Professionnel Documents
Culture Documents
Automatismes Industriels
2019-2020 nicolas.neanne@univ-tln.fr 1
LP SARII – Parcours AS UE21 - Automatisme
Plan du Cours :
I / Les Automates III / API Wago et plateforme
Programmables Industriels logicielle CoDeSys
1 – Présentation 1 – Plateforme logicielle & langages associés
2 – Structure et fonctionnement 2 – Architectures matérielles & Réseaux
3 - Caractéristiques
IV / API Schneider M340 et
II / La Programmation IEC 1131-3 plateforme logicielle Unity
1 – Architectures matérielles & Réseaux
1 – L'adressage des données
2 – Plateforme logicielle & langages associés
2 – Le langage IL
3 – Le langage ST V / API Siemens et plateforme
4 – Le Langage LD logicielle TIA/Step7
5 – Le langage FBD 1 – Architectures matérielles & Réseaux
7 – Le langage SFC 2 – Plateforme logicielle & langages associés
2019-2020 2
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 3
LP SARII – Parcours AS UE21 - Automatisme
⇒ logique programmée
✔ Influences externes :
- poussières,
- température,
- humidité,
- vibrations,
- parasites électromagnétiques, …
2019-2020 4
LP SARII – Parcours AS UE21 - Automatisme
✔ Personnel :
- dépannage possible par des techniciens de formation électromécanique
✔ Matériel :
- Évolutif
- Modulaire
- Implantation aisée
2019-2020 5
LP SARII – Parcours AS UE21 - Automatisme
Définition :
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.
Les API sont utilisés dans divers secteurs d'activités, que l'on peut regrouper en
trois catégories :
2019-2020 6
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 7
LP SARII – Parcours AS UE21 - Automatisme
- L'automatisation des bâtiments (GTB : Gestion Technique des Bâtiments), dont les
objectifs sont :
- L'amélioration du confort (gestion des ascenseurs, régulation de
températures...),
- La sécurité (alarmes anti-intrusion, détection de fumées...)
- La réduction des dépenses énergétiques (gestion automatisée des consignes
de température et d'éclairage...)
2019-2020 8
LP SARII – Parcours AS UE21 - Automatisme
➢Une grandeur analogique (tension, courant...) doit être convertie en grandeur numérique
par une carte d'entrée spécifique pour pouvoir être traitée par le programme automate.
➢Numérique : l'information est contenue dans des mots codés sous forme binaire
ou bien hexadécimale. Il peut s'agir d'une variable interne du programme
(compteur...).
2019-2020 9
LP SARII – Parcours AS UE21 - Automatisme
(9) (3)
S Ana & S TOR Effecteurs
Superviseur (8) API (CPU)
(4)
E Ana E
TOR
Procédé
Pupitres opérateurs
(5)
(6)
Détecteurs /
Conditionneurs Capteurs
(7)
2019-2020 10
LP SARII – Parcours AS UE21 - Automatisme
(1) : l'API transmet les ordres de commandes aux préactionneurs, sous forme de niveaux électriques
TOR (0/24V) ou analogiques (0-10V, +/-10V, 4-20mA, 0-20mA)
(2) : Le préactionneur converti ces ordres en commandes contenant l'énergie nécessaire au pilotage
des actionneurs. Exemples : contacteurs, distributeurs électro-pneumatique, variateurs de vitesse...
(3) : L'actionneur assure la conversion d'énergie pour agir sur le procédé (exemples : moteur
asynchrone, vérin hydraulique, résistance chauffante...).
(4) : l'effecteur se situe entre l'actionneur et le procédé à contrôler (exemples : arbre moteur + pâles
pour un malaxeur mu par un moteur asynchrone, ventouse de saisie pour un vérin destiné au
déplacement de plaques métalliques etc...
(5) : Les paramètres physiques utiles à la commande du procédé (exemples : températures,
pressions, présences...) sont surveillés grâce à des détecteurs (TOR) et des capteurs (analogiques).
(6,7) : Ces informations électriques sont transmises à la P.C - directement reliées aux cartes TOR
pour les détecteurs, parfois par le biais d'un conditionneur (et/ou d'un transmetteur) pour
l'analogique.
(8) : Un réseau local industriel dédié à la supervision permet de lier la P.C et la P.R (et donc
indirectement la P.O). Certains éléments de signalisation peuvent néanmoins se faire par le biais des
cartes d'E/S (voyants, b.p ...).
2019-2020 11
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 12
LP SARII – Parcours AS UE21 - Automatisme
Informations
(capteurs, dialogue)
Entrées
Sorties
Ordres
(pré actionneurs, dialogue)
2019-2020 13
LP SARII – Parcours AS UE21 - Automatisme
Unité de
Traitement
Module d' Module
Entrées de Sorties
RAM
Traitement Interne
La tâche de fond de l’API
Lecture des Entrées Peut être exécutée de façon cyclique
ou périodique
Exécution du Programme
2019-2020 15
LP SARII – Parcours AS UE21 - Automatisme
Interface d'entrée : elle permet de recevoir les informations de la P.O (ou du pupitre)
et de mettre en forme (filtrage, ...) ce signal tout en l'isolant électriquement
(optocouplage) :
Le contact "N.O"
"ferme le 24 V" sur
l'entrée de l'API
lorsqu'il est actif
Le contact "N.F"
"ouvre le 24 V" sur
l'entrée de l'API
lorsqu'il est actif
2019-2020 16
LP SARII – Parcours AS UE21 - Automatisme
+ %IX 0.0 E1
E1
- %IX 0.1 E2
%IX 0.2 E3
+ %IX 0.3 E4
E2
- ... ….
... ...
E3
+
-
E4
+
-
2019-2020 17
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 18
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 19
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 20
LP SARII – Parcours AS UE21 - Automatisme
• Tension :
2019-2020 21
LP SARII – Parcours AS UE21 - Automatisme
• Courant :
2019-2020 22
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 23
LP SARII – Parcours AS UE21 - Automatisme
Exemple de Carte D'E analogiques 0-10V (750-459) :
2019-2020 24
LP SARII – Parcours AS UE21 - Automatisme
Exemple de Carte D'E analogiques 4-20mA (750-454) :
2019-2020 25
LP SARII – Parcours AS UE21 - Automatisme
Cette borne d’entrées analogiques traite des signaux sur une plage de courant standardisée de 0-20 mA ou de4-20 mA
respectivement.
Le signal d’entrée est séparé galvaniquement et le transfert à l’unité centrale se fait avec une résolution de 12 bits.
2019-2020 26
LP SARII – Parcours AS UE21 - Automatisme
S1 %QX 0.0
S1 +
S2 %QX 0.1 -
S3 %QX 0.2
S2
+
-
S4 %QX 0.3
... …. S3 +
-
... ...
S4 +
Variables du Bits de -
programme sorties
2019-2020 27
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 28
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 29
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 30
LP SARII – Parcours AS UE21 - Automatisme
➢Cractéristiques :
2019-2020 31
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 32
LP SARII – Parcours AS UE21 - Automatisme
Les fabricants d'API fournissent des logiciels de programmation plus ou moins fidèles à
cette norme (de plus en plus tout de même).
- Le principe d'adressage des données traitées par l'API, ainsi que les différents formats
de variables éxistants.
2019-2020 33
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 34
LP SARII – Parcours AS UE21 - Automatisme
La direction :
Une entrée est une valeur, provenant de la P.O, qui ne peut être que lue par le programme
chargé dans le contrôleur.
• Notation :
• Exemple :
Une sortie est une donnée à destination de la P.O, dont la valeur peut être fixée par
l'automate. (Remarque : Une sortie peut aussi être lue par le programme)
• Notation :
• Exemple :
Une variable interne est une donnée qui n'est pas physiquement liée à la P.O, mais une
information gérée par le programme chargé dans l'API.
• Notation :
• Exemple :
2019-2020 35
LP SARII – Parcours AS UE21 - Automatisme
Le format :
✔ Un bit est une valeur binaire ou encore booléenne dont la valeur est « VRAIE » (notée TRUE)
ou « FAUSSE » (notée FALSE).
• Notation :
• Exemple :
• Notation :
• Exemple :
2019-2020 36
LP SARII – Parcours AS UE21 - Automatisme
• Notation :
• Exemple :
• Notation :
• Exemple :
2019-2020 37
LP SARII – Parcours AS UE21 - Automatisme
Le numéro d’adresse :
Enfin, la valeur d'adressage dépend du type d'automate utilisé :
- Schneider :
Les données numériques internes sont organisées selon des cases mémoires de 16 bits ; le n° est
donc un numéro de mot. Les bits internes ont des adresses distinctes.
Les données d'E/S ont un adressage physique dépendant de la position de la donnée dans le rack
(cf chapitre correspondant)
- Siemens :
Les données sont organisées selon des cases mémoires de 8 bits ; le n° est donc un numéro
d'octet. Les bits ont une adresse de la forme « n°octet.n°debit »
- Wago :
Les données sont organisées selon des cases mémoires de 16 bits ; le n° est donc un numéro de
mot. Les bits ont une adresse de la forme « n°mot.n°debit »
2019-2020 38
LP SARII – Parcours AS UE21 - Automatisme
Les valeurs numériques peuvent être représentées sous formes décimales, hexadécimales (en
ajoutant 16# devant la valeur) ou binaires (2#...)
➔ exemples : 125 → 125 1A216 → 16#1A2 01102 → 2#0110
En plus du format, on peut définir un type pour les variables internes (liste non exhaustive) :
BOOL : valeur booléenne ('TRUE' ou 'FALSE')
INT : valeur entière signée sur 16 bits
UINT : valeur entière non signée sur 16 bits
DINT : valeur entière signée sur 32 bits
DUINT : valeur entière non signée sur 32 bits
REAL : valeur réelle sur 32 bits
TIME : durée définie en h/mn/s/ms Notation : t # ...h ...m ...s ...ms
DATE : date définie en année/mois/jour Notation : d # ...-...-...
TIME_OF_DAY : heure du jour définie en h/mn/s Notation : tod # ... : ... : ...
DATE_AND_TIME : date & heure Notation : dt # ...-...-... - ... : ... : ...
STRING : chaîne de caractères. Notation : ' Ma Chaine '
2019-2020 39
LP SARII – Parcours AS UE21 - Automatisme
La norme IEC 1131-3 définit 5 langages de programmation : IL, ST, SFC, LD et FDB.
Z = (A . B + C) . D
2019-2020 40
LP SARII – Parcours AS UE21 - Automatisme
Il s'agit d'un langage textuel proche des langages évolués tels que le C. Il est particulièrement
utilisé pour :
•Traiter les valeurs numériques
•Les opérations sur les chaînes de caractères
•Les manipulations de tableaux
Z = (A . B + C) . D
2019-2020 41
LP SARII – Parcours AS UE21 - Automatisme
Structures Algorithmiques
2019-2020 42
LP SARII – Parcours AS UE21 - Automatisme
Énoncé CASE :
2019-2020 43
LP SARII – Parcours AS UE21 - Automatisme
Boucle FOR :
FOR i := 0 TO 9 BY 1 DO
.............. ;
END_FOR;
Boucle WHILE :
.............. ;
END_WHILE;
2019-2020 44
LP SARII – Parcours AS UE21 - Automatisme
Opérateurs Numériques :
Le choix du langage ST s'impose souvent lorsque l'on doit faire des traitements numériques
sur des variables. Les opérations de bases sont :
• Addition :
• Soustraction :
• Multiplication :
• Division :
• Modulo :
2019-2020 45
LP SARII – Parcours AS UE21 - Automatisme
Fonctions de Conversion :
Le choix du langage ST s'impose souvent lorsque l'on doit faire des traitements numériques
sur des variables. Les opérations de bases sont :
• …..
2019-2020 46
LP SARII – Parcours AS UE21 - Automatisme
• Concaténer :
• Rechercher :
• Effacer :
• Obtenir la taille :
• Comparer :
• Remplacer :
2019-2020 47
LP SARII – Parcours AS UE21 - Automatisme
• Type « ARRAY » :
• Déclaration :
• Indexation :
2019-2020 48
LP SARII – Parcours AS UE21 - Automatisme
4 / Langage LD (LaDder ).
Il s'agit d'un langage graphique que l'on pourra par exemple utiliser pour coder les équations
logiques des réceptivités d'un grafcet.
2019-2020 49
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 50
LP SARII – Parcours AS UE21 - Automatisme
➢ Mémoire RS :
A
t
B
t
x
t
➢ Front montant :
A
t
x t
A
t
x t
2019-2020 51
LP SARII – Parcours AS UE21 - Automatisme
x
t
3s
x
t
3s 3s
➢ Temporisation : monostable
A
t
x
t
3s 3s
2019-2020 52
LP SARII – Parcours AS UE21 - Automatisme
➢ Compteur décompteur :
2019-2020 53
LP SARII – Parcours AS UE21 - Automatisme
Il s'agit également d'un langage graphique fonctionnant sur le même principe que LD mais avec
les symboles s'apparentant à ceux que l'on utilise pour les logigrammes.
2019-2020 54
LP SARII – Parcours AS UE21 - Automatisme
Mémoire RS
Comparaisons
Temporisations
opérations logiques
2019-2020 55
LP SARII – Parcours AS UE21 - Automatisme
• Fonction Move :
2019-2020 56
LP SARII – Parcours AS UE21 - Automatisme
• Bloc RTC :
2019-2020 57
LP SARII – Parcours AS UE21 - Automatisme
Il est constitué d'étapes auxquelles sont associées des actions. Les étapes sont séparées par des
réceptivités. Lorsqu'une étape est active les actions associées à l'étape sont activées.
Étape initiale
Lorsque la réceptivité qui suit l'étape active devient vraie,
l'étape en cours se désactive, et l'étape suivante devient
l'étape active.
Réceptivité
Important :
étape
Action
2019-2020 58
LP SARII – Parcours AS UE21 - Automatisme
L Durée Action limitée dans le temps : L'action est activée à l'entrée dans
d'activation : l'étape, puis désactivée automatiquement au bout du temps, spécifié
t#..... (ou à la sortie de l'étape).
D Temps de Action Retardée : L'action est activée avec le retard spécifié après
retard : l'entrée dans l'étape.
t#.....
2019-2020 59
LP SARII – Parcours AS UE21 - Automatisme
Les réceptivité sont des valeurs booléennes, qui peuvent apparaître directement sur le
grafcet (langage ST). Elles peuvent prendre la forme :
Note 1 : il est impossible de réaliser une affectation (:=) dans une réceptivité.
Note 2 : il sera également possible d'utiliser les langages LD et FBD pour coder les
réceptivités ; dans ce cas chaque réceptivité sera programmée dans une section spécifique.
2019-2020 60
LP SARII – Parcours AS UE21 - Automatisme
Divergence
Convergence
2019-2020 61
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 62
LP SARII – Parcours AS UE21 - Automatisme
Divergence
Convergence
2019-2020 63
LP SARII – Parcours AS UE21 - Automatisme
✔ Convergence en ET : Synchronisation.
La convergence se fait généralement sur des étapes vides (sans action), avec une réceptivité aval
toujours vraie, ce qui permet de synchroniser les différents cycles parallèles (le premier cycle
terminé attend les autres ; dès que tous les cycles sont terminés, la convergence est réalisée
grâce à la réceptivité 'TRUE').
2019-2020 64
LP SARII – Parcours AS UE21 - Automatisme
Ce logiciel obéit aux spécification de la norme CEI 61131-3, et permet donc d'utiliser les
5 langages définis par cette norme.
2019-2020 65
LP SARII – Parcours AS UE21 - Automatisme
Ce langage, utilisé dans CoDeSys, n'est pas défini par la norme CEI, mais sera utilisé dans
l'environnement de programmation CODeSys. Il reprend les éléments utilisés en FBD, mais les
symboles peuvent être placés librement sur le schéma (et non pas ligne par ligne comme en FBD).
De plus, la plupart des opérateurs définis en ST sont également utilisables (opérations numériques
etc...).
2019-2020 66
LP SARII – Parcours AS UE21 - Automatisme
Déclaration de variables :
Un programme doit réaliser des calculs et utilise donc des variables. Ces variables doivent être
déclarées en en-tête de celui-ci.
- une variable d'entrée s'il s'agit d'une variable que le programme utilise (valeur calculée par un
autre sous-programme, état d'un capteur...);
- une variable de sortie s'il s'agit d'une variable que le programme modifie (affectation d'une
sortie, résultat d'un calcul...)
- D'une variable interne, si cette variable est uniquement utlisée pour faire un calcul
intermédiaire.
2019-2020 67
LP SARII – Parcours AS UE21 - Automatisme
Exemples de déclaration :
2019-2020 68
LP SARII – Parcours AS UE21 - Automatisme
➢ Organisation du projet :
Le Projet CoDeSys peut contenir différents
"Modules". Il contient au minimum le programme
PLC_PRG (programme principal), qui peut
éventuellement appelé :
2019-2020 69
LP SARII – Parcours AS UE21 - Automatisme
➔ Bloc Fonctionnel G2 :
2019-2020 70
LP SARII – Parcours AS UE21 - Automatisme
➢ Structures "objets" :
Des structures analogues à celles utilisées dans les langages orientés "objet" sont utilisables
dans CoDeSys pour échanger des variables entre différents modules.
Dans le cas du SFC, pour chaque étape, les 2 variables suivantes sont automatiquement créées
lorsque la bibliothèque "iec_sfc.lib" est incluse au projet :
2019-2020 71
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 72
LP SARII – Parcours AS UE21 - Automatisme
➢ Variables "drapeau" :
Ce sont des variables utilisables dans les programmes et blocs programmés en SFC, définis dans la
bibliothèque "iec_sfc.lib", et qui permettent d'agir sur un grafcet. En voici quelques unes (consulter
l'aide pour une liste exhaustive) :
• SFCReset (BOOL) → Réini alisa on du grafcet (retour à l'étape ini ale et arrêt de l’exécu on)
● SFCInit (BOOL) → Retour à l'étape ini ale
● SFCPause (BOOL) → Figeage du grafcet
● SFCError → Dépassement du temps maximal affecté à une étape
● SFCCurrentStep (STRING) → Nom de l'étape SFC en cours
●SFCTip, SFCTipMode (BOOL) → Lorsque SFCTipMOde est 'TRUE', le grafcet passe en mode pas à
pas, la validation des réceptivités sont alors validées avec SFCTip.
2019-2020 73
LP SARII – Parcours AS UE21 - Automatisme
➢ Ressources :
L'onglet ressources du projet permet de définir les principales caractéristiques logicielles et matérielles
Choix de la CPU
2019-2020 74
LP SARII – Parcours AS UE21 - Automatisme
En plus des appels de programme, on peut définir des tâches dans le projet, qui permettront de
déclencher l’exécution de certains programme de façon automatique :
- de façon cyclique ou périodique, c'est à dire à intervalle de temps réguliers (utile par exemple
pour les fonctions de régulation)
- de façon événementielle, c'est à dire lorsqu'un événement particulié est rencontré (par
exemple le passage à '1' d'un booléen)
2019-2020 75
LP SARII – Parcours AS UE21 - Automatisme
Présentation du contrôleur WAGO 750-849 :
Ports Ethernet pour le chargement des programmes, la supervision...
Bornes pour
l'alimentation 24Vcc
2019-2020 76
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 77
LP SARII – Parcours AS UE21 - Automatisme
➢ Particularités :
Les contrôleurs Wago 750-xxx sont des API modulaires pouvant gérer un nombre relativement
important d'entrées sorties (cf fiche tech. précédente).
Leur plan mémoire est organisé sous forme de mots (les numéros d'adresse seront par
conséquent des numéros mot ; les données binaires seront rangées à l'intérieur de ces mot →
un numéro de bit sera donc compris entre 0 et 15).
Ces contrôleurs ont été aussi bien pensés pour l'industrie que pour la GTB, ce qui fait que l'on
retrouve aussi bien des borne pouvant gérer des bus de communication pour ces deux
secteurs :
2019-2020 78
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 79
LP SARII – Parcours AS UE21 - Automatisme
On pourra donc évidemment mettre en œuvre ces protocoles en choisissant les CPU
et coupleurs adaptées.
2019-2020 80
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 81
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 82
LP SARII – Parcours AS UE21 - Automatisme
Interfaces de communication
Cartes d'E/S
2019-2020 83
LP SARII – Parcours AS UE21 - Automatisme
2 / La tâche FAST : Il s'agit d'une tâche dite rapide, qui va être appelée
périodiquement, selon une durée à définir. L'appel de cette tâche correspond à une
interruption (au sens µC) de la tâche maître.
2019-2020 84
LP SARII – Parcours AS UE21 - Automatisme
Langages de Programmation :
On retrouve les 5 langages CEI danss Unity : IL, ST, FBD, LD et SFC.
2019-2020 85
LP SARII – Parcours AS UE21 - Automatisme
La fonction "Read_Var" peut être utilisée pour lire émettre une requête de lecture Modbus :
2019-2020 86
LP SARII – Parcours AS UE21 - Automatisme
S7 315-F 2PN/DP
Port Profibus DP
Gamme S7-300
Port ProfiNet
Fonctions de sécurité
2019-2020 87
LP SARII – Parcours AS UE21 - Automatisme
Du point de vue des communications, Les API Siemens sont orientés vers les protocoles :
✔Asi pour les capteurs/actionneurs
✔ProfiBUS et ProfiNet pour les autres niveaux
2019-2020 88
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 89
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 90
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 91
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 92
LP SARII – Parcours AS UE21 - Automatisme
FB.. (Functions Blocs) : Ce sont des programmes appelés « explicitement », par des OB ou
d'autres FB. Ces blocs possèdent une mémoire associée (DB), qui permet de les instancier (un
FB peut donc être appelé plusieurs fois).
FC.. (Functions) : Ce sont des fonctions (appelés « explicitement ») par des OB, FB ou d'autres
FC. Ces fonctions ne possèdent pas de bloc mémoire (DB) associé, et ne peuvent donc pas
retenir de valeur entre deux appels.
DB.. (Data Blocs) : Données associées à un FB ; contient l'ensemble des variables utilisées par le
bloc.
SFC, SFB (System Function / System Bloc funtion) : Fonctions et Blocs insérés automatiquement
par le système lors de la compilation.
2019-2020 93
LP SARII – Parcours AS UE21 - Automatisme
On retrouve certains langages CEI sous Step7, cependant les noms utilisés diffèrent de la norme :
FBD → LOG
SFC → GRAPH
➢Langages de Programmation :
LD → CONT
ST → SCL
2019-2020 94
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 95
LP SARII – Parcours AS UE21 - Automatisme
2019-2020 96