Académique Documents
Professionnel Documents
Culture Documents
Automatismes Industriels
nicolas.neanne@univ-tln.fr
Plan du Cours :
III / API Wago et plateforme
I / Les Automates logicielle CoDeSys
1 – Plateforme logicielle & langages associés
Programmables Industriels 2 – Architectures matérielles & Réseaux
1 – Présentation
2 – Structure et fonctionnement
3 - Caractéristiques IV / API Schneider M340 et
plateforme logicielle Unity
II / La Programmation IEC 1131-3 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
4 – Le Langage LD
V / API Siemens et plateforme
5 – Le langage FBD logicielle TIA/Step7
7 – Le langage SFC 1 – Architectures matérielles & Réseaux
2 – Plateforme logicielle & langages associés
IUT Toulon 3
UE21 : Automatisme LP SARII 2016 - 2017
⇒ logique programmée
✔ Influences externes :
- poussières,
- température,
- humidité,
- vibrations,
- parasites électromagnétiques, …
IUT Toulon 4
UE21 : Automatisme LP SARII 2016 - 2017
- Évolutif
- Modulaire
- Implantation aisée
IUT Toulon 5
UE21 : Automatisme LP SARII 2016 - 2017
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 :
IUT Toulon 6
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 7
UE21 : Automatisme LP SARII 2016 - 2017
- 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...)
IUT Toulon 8
UE21 : Automatisme LP SARII 2016 - 2017
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...).
IUT Toulon 9
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 10
UE21 : Automatisme LP SARII 2016 - 2017
(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 ...).
IUT Toulon 11
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 12
UE21 : Automatisme LP SARII 2016 - 2017
Sorties
Ordres
(pré actionneurs, dialogue)
IUT Toulon 13
UE21 : Automatisme LP SARII 2016 - 2017
Unité de
Traitement
Module d' Module
Entrées de Sorties
RAM
IUT Toulon 14
UE21 : Automatisme LP SARII 2016 - 2017
Traitement Interne
Exécution du Programme
IUT Toulon 15
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 16
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 17
UE21 : Automatisme LP SARII 2016 - 2017
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
+ %IX 0.0 E1
E1
- %IX 0.1 E2
%IX 0.2 E3
+ %IX 0.3 E4
E2
- ... ….
... ...
E3
+
-
E4
+
-
IUT Toulon 20
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 21
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 22
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 23
UE21 : Automatisme LP SARII 2016 - 2017
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.
IUT Toulon 24
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 26
UE21 : Automatisme LP SARII 2016 - 2017
➢ Caractéristiques :
La fréquence de commutation
admise est relativement faible ( <
1 Hz)
IUT Toulon 27
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 28
UE21 : Automatisme LP SARII 2016 - 2017
➢ Cractéristiques :
IUT Toulon 29
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 30
UE21 : Automatisme LP SARII 2016 - 2017
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.
IUT Toulon 31
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 32
UE21 : Automatisme LP SARII 2016 - 2017
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 : %I.x.x
Exemple : capteur, détecteur, bouton poussoir etc...
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 : %Q.x.x
Exemple : voyant lumineux, commande d'un contacteur etc...
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.
Exemples : valeur d'un compteur, d'une temporisation, étape d'un grafcet …
Notation : %M.x.x
IUT Toulon 33
UE21 : Automatisme LP SARII 2016 - 2017
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 : %x.X.x.x
Exemple : Un voyant lumineux est relié à la 4eme borne de la 1°carte de sorties T.O.R du rack
automate. Son état correspondra à la variable booléenne :
% Q X 0.3
Notation : %x.B.x
IUT Toulon 34
UE21 : Automatisme LP SARII 2016 - 2017
Notation : %x.W.x
%IW2
Notation : %x.DW.x
IUT Toulon 35
UE21 : Automatisme LP SARII 2016 - 2017
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 '
IUT Toulon 36
UE21 : Automatisme LP SARII 2016 - 2017
** Cela dépend en réalité de la composition -16 bits ou 8 bits - du plan mémoire de l'API.
Dans le 1er cas (Wago 750, Schneider) il s'agira d'un n° de mot ; dans le 2°cas (Siemens) d'un
n° d'octet.
IUT Toulon 37
UE21 : Automatisme LP SARII 2016 - 2017
La norme IEC 1131-3 définit 5 langages de programmation : IL, ST, SFC, LD et FDB.
Z = (A . B + C) . D
IUT Toulon 38
UE21 : Automatisme LP SARII 2016 - 2017
Il s'agit d'un langage textuel proche des langages évolués tels que le C. Il s'avère indispensable
dès lors que l'on a besoin de faire des traitements numériques par exemple.
Z = (A . B + C) . D
... se traduit par le code suivant :
IUT Toulon 39
UE21 : Automatisme LP SARII 2016 - 2017
Affectation :
➢ Incrémentation d'une variable : « := »
CPT := CPT + 1 ;
IUT Toulon 40
UE21 : Automatisme LP SARII 2016 - 2017
➢ Énoncé CASE :
IUT Toulon 41
UE21 : Automatisme LP SARII 2016 - 2017
➢ Boucle FOR :
FOR i := 0 TO 9 BY 1 DO
.............. ;
END_FOR;
➢ Boucle WHILE :
.............. ;
END_WHILE;
IUT Toulon 42
UE21 : Automatisme LP SARII 2016 - 2017
➢ Opérations Numériques :
Le choix du langage ST s'impose dès lors que l'on doit faire des traitements numériques sur
des variables. Les opérations de bases sont :
- Addition :
- Division :
Res := Op1 * Op2 ;
IUT Toulon 43
UE21 : Automatisme LP SARII 2016 - 2017
- modulo :
Res := Op1 MOD Op2 ;
IUT Toulon 44
UE21 : Automatisme LP SARII 2016 - 2017
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.
IUT Toulon 45
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 46
UE21 : Automatisme LP SARII 2016 - 2017
➢ Mémoire RS :
A
t
B
t
x
t
➢ Front montant :
A
t
x t
t
A
t
x t
IUT Toulon 47
UE21 : Automatisme LP SARII 2016 - 2017
x
3s t
x
3s t
3s
➢ Temporisation : monostable
A
t
x
3s 3s t
IUT Toulon 48
UE21 : Automatisme LP SARII 2016 - 2017
➢ Compteur décompteur :
IUT Toulon 49
UE21 : Automatisme LP SARII 2016 - 2017
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.
IUT Toulon 50
UE21 : Automatisme LP SARII 2016 - 2017
Mémoire RS
Comparaisons
Temporisations
opérations logiques
IUT Toulon 51
UE21 : Automatisme LP SARII 2016 - 2017
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 : Il faut
toujours respecter étape
l'alternance
Étape/transition !!! Action
IUT Toulon 52
UE21 : Automatisme LP SARII 2016 - 2017
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#.....
IUT Toulon 53
UE21 : Automatisme LP SARII 2016 - 2017
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.
IUT Toulon 54
UE21 : Automatisme LP SARII 2016 - 2017
✔Structure OU : Alternative. Elle permet d'effectuer un choix entre plusieurs séquences.
Notez bien la structure de la divergence et de la convergence.
Divergence
Convergence
IUT Toulon 55
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 56
UE21 : Automatisme LP SARII 2016 - 2017
Divergence
Convergence
IUT Toulon 57
UE21 : Automatisme LP SARII 2016 - 2017
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').
IUT Toulon 58
UE21 : Automatisme LP SARII 2016 - 2017
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.
IUT Toulon 59
UE21 : Automatisme LP SARII 2016 - 2017
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...).
IUT Toulon 60
UE21 : Automatisme LP SARII 2016 - 2017
➢ 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.
IUT Toulon 61
UE21 : Automatisme LP SARII 2016 - 2017
Exemples de déclaration :
IUT Toulon 62
UE21 : Automatisme LP SARII 2016 - 2017
➢ 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é :
IUT Toulon 63
UE21 : Automatisme LP SARII 2016 - 2017
➔ Bloc Fonctionnel G2 :
IUT Toulon 64
UE21 : Automatisme LP SARII 2016 - 2017
➢ 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 :
IUT Toulon 65
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 66
UE21 : Automatisme LP SARII 2016 - 2017
➢ 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) :
IUT Toulon 67
UE21 : Automatisme LP SARII 2016 - 2017
➢ Ressources :
Choix de la CPU
IUT Toulon 68
UE21 : Automatisme LP SARII 2016 - 2017
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)
IUT Toulon 69
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 70
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 71
UE21 : Automatisme LP SARII 2016 - 2017
➢ 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 :
IUT Toulon 72
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 73
UE21 : Automatisme LP SARII 2016 - 2017
On pourra donc évidemment mettre en œuvre ces protocoles en choisissant les CPU
et coupleurs adaptées.
IUT Toulon 74
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 75
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 76
UE21 : Automatisme LP SARII 2016 - 2017
Interfaces de communication
Cartes d'E/S
IUT Toulon 77
UE21 : Automatisme LP SARII 2016 - 2017
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.
IUT Toulon 78
UE21 : Automatisme LP SARII 2016 - 2017
➢ Langages de Programmation :
On retrouve les 5 langages CEI danss Unity : IL, ST, FBD, LD et SFC.
IUT Toulon 79
UE21 : Automatisme LP SARII 2016 - 2017
La fonction "Read_Var" peut être utilisée pour lire émettre une requête de lecture
Modbus :
les caractéristiques de cette fonction sont
dans l'aide d'Unity, à la rubrique :
==> Bibliothèque EF/EFB/DFB ==>
Communications
IUT Toulon 80
UE21 : Automatisme LP SARII 2016 - 2017
S7 315-F 2PN/DP
Port Profibus DP
Gamme S7-300
Port ProfiNet
Fonctions de sécurité
IUT Toulon 81
UE21 : Automatisme LP SARII 2016 - 2017
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
IUT Toulon 82
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 83
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 84
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 85
UE21 : Automatisme LP SARII 2016 - 2017
IUT Toulon 86
UE21 : Automatisme LP SARII 2016 - 2017
2 / 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).
3 / 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.
4 / DB.. (Data Blocs) : Données associées à un FB ; contient l'ensemble des variables utilisées par
le bloc.
5 / SFC, SFB (System Function / System Bloc funtion) : Fonctions et Blocs insérés
automatiquement par le système lors de la compilation.
IUT Toulon 87
UE21 : Automatisme LP SARII 2016 - 2017
➢ Langages de Programmation :
On retrouve certains langages CEI sous Step7, cependant les noms utilisés diffèrent de la
norme :
FBD → LOG
SFC → GRAPH
LD → CONT
ST → SCL
IUT Toulon 88