Vous êtes sur la page 1sur 88
UE21 : Automatisme LP SARII 2016 - 2017 Automatismes Industriels nicolas.neanne@univ-tln.fr IUT de Toulon –
UE21 : Automatisme
LP SARII
2016 - 2017
Automatismes Industriels
nicolas.neanne@univ-tln.fr
IUT de Toulon – Département GEII
UE21 : Automatisme LP SARII 2016 - 2017 Plan du Cours : III / API
UE21 : Automatisme
LP SARII
2016 - 2017
Plan du Cours :
III / API Wago et plateforme
logicielle CoDeSys
I / Les Automates
Programmables Industriels
1 – Plateforme logicielle & langages associés
2 – Architectures matérielles & Réseaux
1 – Présentation
2 – Structure et fonctionnement
IV / API Schneider M340 et
3 - Caractéristiques
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
logicielle TIA/Step7
5
– Le langage FBD
7
– Le langage SFC
1 – Architectures matérielles & Réseaux
2 – Plateforme logicielle & langages associés
IUT Toulon
2013/2014
2
UE21 : Automatisme LP SARII 2016 - 2017 I / Les Automates Programmables Industriels 1
UE21 : Automatisme
LP SARII
2016 - 2017
I / Les Automates Programmables
Industriels
1 - Introduction
Les automates programmables industriels sont apparus à la fin des années soixante, à la
demande de l'industrie automobile américaine, qui réclamait plus d' adaptabilité de
leurs systèmes de commande.
Les coûts de l'électronique permettant alors de remplacer avantageusement les
technologies alors utilisées.
Avant : utilisation de relais électromagnétiques et de systèmes pneumatiques pour la
réalisation des parties commandes
⇒ logique câblée
Inconvénients : cher, pas de flexibilité, pas de communication possible
IUT Toulon
3
UE21 : Automatisme LP SARII 2016 - 2017 → Solution : utilisation de systèmes à
UE21 : Automatisme
LP SARII
2016 - 2017
→ Solution : utilisation de systèmes à base de microprocesseurs
permettant une modification aisée des automatismes.
⇒ logique programmée
Contraintes du milieu industriel (1) :
✔ Influences externes :
- poussières,
- température,
- humidité,
- vibrations,
- parasites électromagnétiques, …
IUT Toulon
4
UE21 : Automatisme LP SARII 2016 - 2017 Contraintes du milieu industriel (2) : ✔
UE21 : Automatisme
LP SARII
2016 - 2017
Contraintes du milieu industriel (2) :
✔ Personnel :
- dépannage possible par des techniciens de formation
électromécanique
- possibilité de modifier le système en cours de
fonctionnement
✔ Matériel :
- Évolutif
- Modulaire
- Implantation aisée
IUT Toulon
5
UE21 : Automatisme LP SARII 2016 - 2017 Définition : L'Automate Programmable Industriel (API) est
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 - Les systèmes automatisés de production (SAP),
UE21 : Automatisme
LP SARII
2016 - 2017
- Les systèmes automatisés de production (SAP), dont l'objectif est d'apporter de la
valeur ajoutée à une matière première, en respectant certaines contraintes
(financières, normes de sécurité etc
).
- L'industrie automobile, la métallurgie,
- La production d'énergie (centrales nucléaires, thermiques,
hydrauliques
)
- L'industrie agro-alimentaire, pharmaceutique,
- Le génie-chimique, la pétrochimie,
- Les chaînes de conditionnement,
- etc
IUT Toulon
7
UE21 : Automatisme LP SARII 2016 - 2017 - L'automatisation des bâtiments (GTB : Gestion
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 )
- L'automatisation de machines spéciales :
- Engins de chantiers (grues
),
- Tri postal,
- etc
IUT Toulon
8
UE21 : Automatisme LP SARII 2016 - 2017 Nature des informations traitées par l'automate :
UE21 : Automatisme
LP SARII
2016 - 2017
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 …).
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 Architecture des systèmes automatisés : Partie Relation
UE21 : Automatisme
LP SARII
2016 - 2017
Architecture des systèmes automatisés :
Partie Relation
(P.R)
Partie Commande
(P.C)
Partie Opérative
(P.O)
Préactionneurs
Actionneurs
Commande &
signalisation
(2)
(1)
(3)
(9)
S Ana & S TOR
Effecteurs
Superviseur
(8)
API (CPU)
(4)
E Ana
E TOR
Procédé
Pupitres opérateurs
(5)
(6)
Conditionneurs
Détecteurs /
Capteurs
(7)
IUT Toulon
10
UE21 : Automatisme LP SARII 2016 - 2017 (1) : l'API transmet les ordres de
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 Architectures compacte et modulaires : : Automate
UE21 : Automatisme
LP SARII
2016 - 2017
Architectures compacte et modulaires : :
Automate compact Logo (Siemens)
Automates modulaires Télémécanique
IUT Toulon
12
UE21 : Automatisme LP SARII 2016 - 2017 2 - Structure & Fonctionnement d’un API
UE21 : Automatisme
LP SARII
2016 - 2017
2 - Structure & Fonctionnement d’un API
Informations
(capteurs, dialogue)
Entrées
Programme
Traiter les informations entrantes
pour émettre des ordres de sorties en
fonction d’un programme.
Sorties
Ordres
(pré actionneurs, dialogue)
IUT Toulon
13
UE21 : Automatisme LP SARII 2016 - 2017 Le cycle de fonctionnement est organisé en
UE21 : Automatisme
LP SARII
2016 - 2017
Le cycle de fonctionnement est organisé en 4 tâches :
Bus Entrées / Sorties
Unité de
Traitement
Module d'
Entrées
Module
de Sorties
RAM
Tâche TâcheTâcheTâche24 1 : ::3AcquisitionAffectation: Gestion Traitementdesdesdessortiesdonnéesdonnées(émissionen du système (auto-contrôle (exécutionentréedes(mémorisation)ordres)du de l’automate) programme)
IUT Toulon
14
UE21 : Automatisme LP SARII 2016 - 2017 Déroulement d'un Cycle-automate : Traitement Interne Lecture
UE21 : Automatisme
LP SARII
2016 - 2017
Déroulement d'un Cycle-automate :
Traitement Interne
Lecture des Entrées
Exécution du Programme
Ecriture des Sorties
IUT Toulon
15
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Présentation du contrôleur WAGO 750-849 :
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Présentation du contrôleur WAGO 750-849 :
Ports Ethernet pour le chargement
des programmes, la supervision
Bornes pour
l'alimentation 24Vcc
Interface série (configuration)
IUT Toulon
16
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Caractéristiques du contrôleur WAGO 750-849 :
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Caractéristiques du contrôleur WAGO 750-849 :
IUT Toulon
17
UE21 : Automatisme LP SARII 2016 - 2017 Interface d'entrée : elle permet de recevoir
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,
(optocouplage) :
)
ce signal tout en l'isolant électriquement
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
IUT Toulon
2013/2014
18
UE21 : Automatisme LP SARII 2016 - 2017 ➔ Coupleur d'entrées : « du bornier
UE21 : Automatisme
LP SARII
2016 - 2017
➔ Coupleur d'entrées : « du bornier vers la mémoire image »
Bornier d'entrée
Isolation / Filtrage
Mémoire Image
%IX 0.0
E1
+
E1
%IX 0.1
E2
-
%IX 0.2
E3
+
%IX 0.3
E4
E2
-
….
+
E3
-
+
E4
-
Mise à jour de façon ponctuelle, à chaque cycle automate
IUT Toulon
2013/2014
19
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Exemple de Carte D'E TOR (750-400)
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Exemple de Carte D'E TOR (750-400) :
IUT Toulon
20
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Exemple de Carte D'E analogiques avec
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Exemple de Carte D'E analogiques avec conditionneur
pour PT100 (750-461) :
Le signal délivré par la sonde est
converti (montage 3 fils) en valeur
numérique mise à l'échelle au
format INT. La température est
représentée en 100eme de degrés,
sur une plage -200°C / + 200°C.
IUT Toulon
21
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Exemple de Carte D'E analogiques 0-10V
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Exemple de Carte D'E analogiques 0-10V (750-459) :
la gamme de tension [0 V to +10V] est
convertie par un CAN 12 bit, puis mise à
l'échelle ; la gamme numérique obtenue
est [0 ; 32760].
IUT Toulon
22
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Exemple de Carte D'E analogiques 4-20mA
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Exemple de Carte D'E analogiques 4-20mA (750-454) :
IUT Toulon
23
UE21 : Automatisme LP SARII 2016 - 2017 Cette borne d’entrées analogiques traite des signaux
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 Interface de sortie : elle permet de
UE21 : Automatisme
LP SARII
2016 - 2017
Interface de sortie : elle permet de commander les préactionneurs et éléments de
signalisation du S.A.P. tout en assurant l'isolement électrique entre P.C et P.O.
Mémoire Image
des sorties
Isolation / Amplification -
Relayage
Bornier de sorties
S1
%QX 0.0
+
S1
%QX 0.1
-
S2
S3
%QX 0.2
+
S2
-
S4
%QX 0.3
+
….
S3
-
+
S4
Variables du
Bits de sorties
-
programme
Mise à jour de façon ponctuelle, à chaque cycle automate
IUT Toulon
2013/2014
25
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Exemple de Carte De S TOR
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Exemple de Carte De S TOR à Relais (750-513) :
IUT Toulon
26
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Caractéristiques : La tension commutée par
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Caractéristiques :
La tension commutée par une
sortie à Relais peut être une
source continue ou alternative
La fréquence de commutation
admise est relativement faible ( <
1 Hz)
IUT Toulon
27
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Exemple de Carte De S TOR
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Exemple de Carte De S TOR à Transistors (750-501) :
IUT Toulon
28
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Cractéristiques : La tension commutée par
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Cractéristiques :
La tension commutée par
une sortie à transistor es
nécessairement continue
La fréquence de commutation peut être
élevée (plrs kHz)
IUT Toulon
29
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Exemple de Carte De S analogiques
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Exemple de Carte De S analogiques 0/10V (750-513) :
La gamme numérique [0 ; 32760] est
convertie en tension [0;10V] par un CNA
12 bit.
IUT Toulon
30
UE21 : Automatisme LP SARII 2016 - 2017 II / La Programmation IEC 1131-3 La
UE21 : Automatisme
LP SARII
2016 - 2017
II / La Programmation IEC 1131-3
La Norme IEC 1131-3 définit les règles d 'écriture des programmes pour les API.
Les fabricants d'API fournissent des logiciels de programmation plus ou moins fidèles à
cette norme (de plus en plus tout de même).
Cette norme définit entre autres :
- Les langages de programmation utilisés, ainsi que les règles de programmation et de
syntaxe associées ;
- 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 1 / L'adressage des Données. Toute donnée
UE21 : Automatisme
LP SARII
2016 - 2017
1 / L'adressage des Données.
Toute donnée traitée par un programme automate possède :
- Une Direction (Entrée, Sortie, Interne)
- Un format (Bit, Octet, Mot
)
- Un numéro d'adressage (valeur numérique indiquant la position de la
donnée dans le plan mémoire de l'API).
La syntaxe pour toute donnée est la suivante :
% 'Direction' . 'Format' . 'Numéro'
IUT Toulon
32
UE21 : Automatisme LP SARII 2016 - 2017 La direction : Une entrée est une
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
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 4 eme borne de la 1°carte de sorties T.O.R du rack
automate. Son état correspondra à la variable booléenne :
% Q X 0.3
✔ Un octet est une donnée codée sur 8 bits
Notation : %x.B.x
IUT Toulon
34
UE21 : Automatisme LP SARII 2016 - 2017 ✔ Un mot est une donnée codée
UE21 : Automatisme
LP SARII
2016 - 2017
✔ Un mot est une donnée codée sur 16 bit
Notation : %x.W.x
Exemple : Un capteur de température est relié à la 3 eme entrée
analogique du rack automate. La valeur numérique correspondante sera
stockée dans la variable :
% I W 2
✔ Un double mot est une variable codée sur 32 bits
Notation : %x.DW.x
IUT Toulon
35
UE21 : Automatisme LP SARII 2016 - 2017 Les valeurs numériques peuvent être représentées sous
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
1A2 16 → 16#1A2
0110 2 → 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 Le dernier champ d'adressage est constitué: -
UE21 : Automatisme
LP SARII
2016 - 2017
Le dernier champ d'adressage est constitué:
- de 2 chiffres séparés par un point pour les bits, le 1° indique le n° du mot**, le second
la position du bit dans ce mot (0 à 15).
- d'un seul chiffre pour tous les autres types.
Exemple (bit d'entrée) :
%IX0.2
Il s'agit de la 3° entrée (les adresses commencent à 0) T.O.R de l'API.
Exemple (Mot interne) :
%MW42
Il s'agit du mot interne d'adresse 42.
** 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
UE21 : Automatisme
LP SARII
2016 - 2017
La norme IEC 1131-3 définit 5 langages de programmation : IL, ST, SFC, LD et FDB.
2 / Langage IL (Instruction List).
Il s'agit d'un langage textuel proche du langage machine de l'API. Il s'apparente à l'assembleur
d'un microcontrôleur. Ce langage n'est plus trop utilisé à l'heure actuelle.
Exemple : Soit l'équation logique suivante →
Z = (A . B + C) . D
se traduit par le code suivant :
IUT Toulon
38
UE21 : Automatisme LP SARII 2016 - 2017 3 / Langage ST (Structured Text). Il
UE21 : Automatisme
LP SARII
2016 - 2017
3 / Langage ST (Structured Text).
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.
Exemple : Soit l'équation logique suivante →
Z = (A . B + C) . D
se traduit par le code suivant :
IUT Toulon
39
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Comparaison (alternative IF … ELSE …
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Comparaison (alternative IF … ELSE … … END_IF):
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
➢ Énoncé CASE :
IUT Toulon
41
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Boucle FOR : FOR i :=
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Boucle FOR :
FOR i := 0 TO 9 BY 1 DO
;
END_FOR;
➢ Boucle WHILE :
WHILE condition = TRUE DO
;
END_WHILE;
IUT Toulon
42
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Opérations Numériques : Le choix du
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 :
Res := Op1 + Op2 ;
- Soustraction :
Res := Op1 - Op2 ;
- Multiplication :
- Division :
Res := Op1 * Op2 ;
Res := Op1 / Op2 ;
IUT Toulon
43
UE21 : Automatisme LP SARII 2016 - 2017 - modulo : Res := Op1 MOD
UE21 : Automatisme
LP SARII
2016 - 2017
- modulo :
Res := Op1 MOD Op2 ;
- Conversion Entier → Réel :
Nb_Re := INT_TO_REAL ( Nb_ent) ;
- Conversion Réel → Entier :
Nb_ent := REAL_TO_INT ( Nb_Re) ;
- Conversion Mot → Réel :
Nb_Re := WORD_TO_REAL ( Mot) ;
IUT Toulon
44
UE21 : Automatisme LP SARII 2016 - 2017 4 / Langage LD (LaDder ). Il
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.
Le principe est le suivant :
- Les variables d'entrée sont symbolisés par des contacts électriques
(NO ou NF), les variables de sortie par des bobines.
On considère que l'extrémité gauche du réseau constitue la borne + d'une alimentation
(imaginaire) et la partie droite sa borne -
La mise en série, en // de contacts (variables d'E) NO ou NF permet l'alimentation conditionnelle
de la bobine (variable de S), donc
L'implantation d'équation logique.
IUT Toulon
45
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Opérations logiques de Base : ET
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Opérations logiques de Base :
ET :
OU :
NON :
Exemple : Soit l'équation logique suivante →
Z = (A . B + C) . D
Cette équation se traduit en LD par la ligne suivante :
IUT Toulon
46
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Mémoire RS : A t B
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 ➢ Temporisation : retard à l'activation A
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Temporisation : retard à l'activation
A
t
x
t
3s
➢ Temporisation : retard au déclenchement
A
t
x
t
3s
3s
➢ Temporisation : monostable
A
t
x
t
3s
3s
IUT Toulon
48
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Compteur décompteur : Nom Type Rôle
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Compteur décompteur :
Nom
Type
Rôle
CU
BOOL
Entrée de comptage (sur front)
CD
BOOL
Entrée de dé comptage (sur front)
RESET
BOOL
Entrées de remise à zéro
LOAD
BOOL
entrée de préchargement
PV
INT
valeur de préchargement
QU
BOOL
Sortie, passe à 'TRUE' lorsque CV = 0
QD
BOOL
Sortie, passe à 'TRUE' lorsque CV = PV
CV
INT
Valeur courante du compteur
IUT Toulon
49
UE21 : Automatisme LP SARII 2016 - 2017 5 / Langage FBD (Functionnal Bloc Diagram
UE21 : Automatisme
LP SARII
2016 - 2017
5 / Langage FBD (Functionnal Bloc Diagram ).
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.
Exemple : Soit l'équation logique suivante →
Z = (A . B + C) . D
Cette équation se traduit en FBD par le diagramme suivant :
IUT Toulon
50
UE21 : Automatisme LP SARII 2016 - 2017 Mémoire RS Comparaisons Temporisations opérations logiques Compteurs
UE21 : Automatisme
LP SARII
2016 - 2017
Mémoire RS
Comparaisons
Temporisations
opérations logiques
Compteurs
Détection de Fronts
IUT Toulon
51
UE21 : Automatisme LP SARII 2016 - 2017 6 / Langage SFC (Sequential Functional Chart
UE21 : Automatisme
LP SARII
2016 - 2017
6 / Langage SFC (Sequential Functional Chart ).
Il s'agit du langage Grafcet. On l'utilisera pour décrire les différentes tâches séquentielles de
l'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 : Il faut
toujours respecter
l'alternance
Étape/transition !!!
étape
Action
IUT Toulon
52
UE21 : Automatisme LP SARII 2016 - 2017 Les attributs suivants peuvent être associés aux
UE21 : Automatisme
LP SARII
2016 - 2017
Les attributs suivants peuvent être associés aux actions en SFC :
Attribut
Paramètre
Description
N
Aucun
Action Non mémorisée : L'action est activée lorsque l'étape associée
est active, et se désactive automatiquement à la sortie de l'étape.
S, R
Aucun
Action Mémorisée : l'attribut « S » (Set) permet de mémoriser
l'activation de l'action, celle-ci restera active jusqu'à ce que l'attribut
« R » (Reset) soit rencontré dans le grafcet sur la même action.
L
Durée
d'activation :
t#
Action limitée dans le temps : L'action est activée à l'entrée dans
l'étape, puis désactivée automatiquement au bout du temps, spécifié
(ou à la sortie de l'étape).
D Temps de
retard :
Action Retardée : L'action est activée avec le retard spécifié après
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
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 :
- De valeurs booléennes constantes (TRUE ou FALSE)
- De variables booléennes simples
- De combinaisons logiques ( exemple : (a OR b) AND NOT c )
- De comparaison entre des valeurs numériques (exemples : A > 100, A<>B, A=5)
- De combinaisons des éléments précédents
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
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 ✔ Cas particulier d'utilisation de la branche
UE21 : Automatisme
LP SARII
2016 - 2017
✔ Cas particulier d'utilisation de la branche OU : saut d'étapes
✔ Cas particulier d'utilisation de la branche OU : Reprise de séquence
IUT Toulon
56
UE21 : Automatisme LP SARII 2016 - 2017 ✔ Structure ET : Parallélisation. Elle permet
UE21 : Automatisme
LP SARII
2016 - 2017
✔ Structure ET : Parallélisation. Elle permet d'effectuer en simultané plusieurs séquences.
Divergence
Convergence
IUT Toulon
57
UE21 : Automatisme LP SARII 2016 - 2017 ✔ Convergence en ET : Synchronisation. La
UE21 : Automatisme
LP SARII
2016 - 2017
✔ 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').
IUT Toulon
58
UE21 : Automatisme LP SARII 2016 - 2017 III / API Wago 750 et plateforme
UE21 : Automatisme
LP SARII
2016 - 2017
III / API Wago 750 et plateforme
logicielle CoDeSys
1 - Introduction
Le logiciel CoDeSys est une plateforme de développement ouverte, multimatérielle
utilisée entre autres pour programmer les contrôleurs WAGO 750 utilisés en TP - mais
des bibliothèques existent pour une grande variété d'API et de contrôleurs.
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 ➢ Langage CFC (Component Functional Chart). Ce
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Langage CFC (Component Functional Chart).
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
On ne peut pas l'utiliser pour coder les réceptivités.
En revanche, on l'utilisera comme langage de programmation principal qui appellera les
différentes tâches.
En outre, il permet de traiter les données numériques :
IUT Toulon
60
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Déclaration de variables : Un programme
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 peut être :
- 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 : variable interne du
UE21 : Automatisme
LP SARII
2016 - 2017
Exemples de déclaration :
variable interne du programme "prog" de type
booléen, initialisée à '0' et associée à la sortie physique
TOR 4.0.
Variable booléenne interne à "prog" initialisée à '1'.
Variable d'entrée du programme "prog", de type "mot"
et associée à l'entrée analogique 0.
Variable de sortie du programme "prog", de type
'temps', et initialisée à la valeur 1s et 500ms.
IUT Toulon
62
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Organisation du projet : Le Projet
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é :
- des fonctions : une fonction retourne une valeur,
et ne peut mémoriser aucune variable entre deux
appels.
- des programmes : un programme peut posséder
des entrées, des sorties et des variables internes qui
peuvent être mémorisées entre deux appels.
- des blocs fonctionnels : possède les mêmes
caractéristiques qu'un programme mais peut être
appelé plusieurs fois. Chaque appel consiste en une
instanciation du bloc et apparaît comme une
déclaration de variable.
IUT Toulon
63
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Échange de variables entre programmes :
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Échange de variables entre programmes :
➔ Bloc Fonctionnel G1 :
➔ Programme Principal PLC_PRG :
➔ Bloc Fonctionnel G2 :
IUT Toulon
64
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Structures "objets" : Des structures analogues
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 :
• Nom_etape . t → durée d'activité de l'étape (type TIME)
• Nom_etape . x → activité de l'étape (type BOOL)
Pour synchroniser deux grafcets, on pourra donc utiliser :
'PLC_PRG' . 'nom d'instance du bloc' . 'nom de l'étape' . x
Si le programme SFC est un bloc fonctionnel, ou bien :
'nom_du_programme' . 'nom de l'étape' . x
Si le programme SFC est un programme
IUT Toulon
65
UE21 : Automatisme LP SARII 2016 - 2017 IUT Toulon 66
UE21 : Automatisme
LP SARII
2016 - 2017
IUT Toulon
66
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Variables "drapeau" : Ce sont des
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) :
• SFCInit (BOOL) → Réinitialisation du grafcet (retour à l'étape initiale et arrêt de l’exécution)
● SFCReset (BOOL) → Retour à l'étape initiale
● 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.
IUT Toulon
67
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Ressources : L'onglet ressources du projet
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Ressources :
L'onglet ressources du projet permet de définir les principales caractéristiques logicielles et
matérielles du projet :
Définition des modules d'E/S
Choix de la CPU
Organisation du projet en tâches
Ajout de bibliothèques logicielles
IUT Toulon
68
UE21 : Automatisme LP SARII 2016 - 2017 En plus des appels de programme, on
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 ➢ Présentation du contrôleur WAGO 750-849 :
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Présentation du contrôleur WAGO 750-849 :
Ports Ethernet pour le chargement
des programmes, la supervision
Bornes pour
l'alimentation 24Vcc
Interface série (configuration)
IUT Toulon
70
UE21 : Automatisme LP SARII 2016 - 2017 IUT Toulon 71
UE21 : Automatisme
LP SARII
2016 - 2017
IUT Toulon
71
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Particularités : Les contrôleurs Wago 750-xxx
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 :
- Industrie : ASi, Profibus, Modbus, CANopen
- Bâtiment : KNX, LON, Bacnet, DALI
IUT Toulon
72
UE21 : Automatisme LP SARII 2016 - 2017 IV / Programmation des API Schneider M340
UE21 : Automatisme
LP SARII
2016 - 2017
IV / Programmation des API
Schneider M340 sous Unity
➢ Présentation du contrôleur M-340 :
La série M-340 représente le
segment milieu de gamme des API
Schneider, de dernière génération.
Ces API sont adaptés aux
systèmes automatisés de moyenne
taille, et aux grosses installations à
système de contrôle / commande
possédant une architecture
décentralisée.
IUT Toulon
73
UE21 : Automatisme LP SARII 2016 - 2017 Au matériel, l'architecture est modulaire, Schneider propose
UE21 : Automatisme
LP SARII
2016 - 2017
Au matériel, l'architecture est modulaire, Schneider propose différentes cartes d'E/S
adaptées aux besoins industriels (Sorties relayées ou non, cartes analogiques
configurables en 0-10V / 4-20 mA etc
).
Du point de vue communication, Schneider préconise :
- Le bus ASI pour le niveau terrain
- CanOpen pour le niveau Cellule / Machine
- Modbus-TCP pour la supervision
On pourra donc évidemment mettre en œuvre ces protocoles en choisissant les CPU
et coupleurs adaptées.
Le modèle de CPU utilisé en TP : P34 2020 offre :
-
1 port Modbus RTU (RS485) pouvant être configuré en maître ou
esclave
1 port Ethernet, pour les communications Modbus TCP, l'accès au
serveur Web intégré, le chargement des programmes.
-
IUT Toulon
74
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Adressage des données : IUT Toulon
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Adressage des données :
IUT Toulon
75
UE21 : Automatisme LP SARII 2016 - 2017 IUT Toulon 76
UE21 : Automatisme
LP SARII
2016 - 2017
IUT Toulon
76
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Organisation du projet sous Unity :
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Organisation du projet sous Unity :
Interfaces de communication
Cartes d'E/S
Déclaration des variables
IUT Toulon
77
UE21 : Automatisme LP SARII 2016 - 2017 Le programme est organisé en différentes «
UE21 : Automatisme
LP SARII
2016 - 2017
Le programme est organisé en différentes « Sections », réparties en 2 catégories :
- Les tâches. Elles sont au nombre de 2 pour les M-340.
/ La tâche MAST (Master) : Il s'agit de la tâche maître, elle
correspond au programme principal. Elle peut être appelée soit de façon cyclique (cas
courant), soit périodique c'est à dire que sa durée d'éxécution doit être maîtrisée.
La tâche MAST peut comporter plusieurs sous programmes, dans différents langage ;
en revanche elle est la seule à pouvoir contenir du grafcet.
1
/ 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.
2
IUT Toulon
78
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Langages de Programmation : On retrouve
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Langages de Programmation :
On retrouve les 5 langages CEI danss Unity : IL, ST, FBD, LD et SFC.
Un module optionnel d'Unity permet de créer des fonctions en langage C.
IUT Toulon
79
UE21 : Automatisme LP SARII 2016 - 2017 De nombreuses bibliothèques viennent faciliter la programmation,
UE21 : Automatisme
LP SARII
2016 - 2017
De nombreuses bibliothèques viennent faciliter la programmation, notamment pour les
calculs et fonctions d'automatisation courantes. Ci-dessous, le bloc SFCCNTRL
permet d'agir sur un grafcet :
Toutes les caractéristiques de ce bloc sont
dans l'aide d'Unity, à la rubrique :
==> Bibliothèque EF/EFB/DFB ==>
Bibliothèque système ==> Gestion SFC.
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 V / Programmation des API Siemens S7300
UE21 : Automatisme
LP SARII
2016 - 2017
V / Programmation des API
Siemens S7300 sous TIA
➢ Présentation du contrôleur S7315-F 2PN/DP:
Il s'agit d'une CPU placée dans le segment milieu/haut de gamme
des API Siemens. Elle présente la particularité d'intégrer des
fonctions de sécurité, ce qui dispense de l'utilisation d'un automate
de sécurité supplémentaire, pour les process régis par ce type de
norme.
S7 315-F 2PN/DP
Port Profibus DP
Gamme S7-300
Fonctions de sécurité
Port ProfiNet
IUT Toulon
81
UE21 : Automatisme LP SARII 2016 - 2017 Du point de vue des communications, Les
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 ➢ TIA Portal : Configuration matérielle :
UE21 : Automatisme
LP SARII
2016 - 2017
➢ TIA Portal : Configuration matérielle :
Permet de définir le matériel utilisé pour le projet d'automatisation ; il permet de définir des
architecture complètes, incluant plusieurs CPU, entrées sorties déportées, variateurs (etc
leurs connexions réseau :
)
et
IUT Toulon
83
UE21 : Automatisme LP SARII 2016 - 2017 ➢ Adressage des données : Les plans
UE21 : Automatisme
LP SARII
2016 - 2017
➢ Adressage des données :
Les plans mémoire des API Siemens sont organisés en octets. L'adressage des données répond
donc à la syntaxe suivante :
Données booléennes :
% I 4 . 0
I ou E : Entrées ("Eingang")
Q ou A : Sorties ("Ausgang")
M : Internes
n° de l'octet
dans le plan
mémoire
n° du bit à
l'intérieur de
l'octet
% MW20
Données numériques :
I ou E : Entrées
Q ou A : Sorties
M : Internes
W pour les mots
B pour les octets
n° de l'octet dans le
plan mémoire →
adresses de mots
toujours paires
→ Rq : Sur la dernière évolution de l'environnement de programmation "TIA", les dénomination IEC %I et%Q
ont été adoptées.
IUT Toulon
84
UE21 : Automatisme LP SARII 2016 - 2017 Le programme est organisé « Blocs »
UE21 : Automatisme
LP SARII
2016 - 2017
Le programme est organisé « Blocs » :
1 / OB
(Organisation Blocs) :
Ce sont des programmes appelés implicitement, de
façon, cyclique, périodique ou encore sur événements.
OB1 correspond au programme principal, ou encore à
la tâche maître.
Ce bloque est appelé à chaque cycle automate, et sera
chargé de l'appel des éventuels sous-programmes. Il ne
peut pas contenir de grafcet.
Il existe un grand nombre de blocs d'organisation
(traitements périodiques, gestion des alarmes /
défautes etc
)
; les premiers vous sont présentés à la
page suivante (se reporter au manuel pour plus de
détails).
IUT Toulon
85
UE21 : Automatisme LP SARII 2016 - 2017 IUT Toulon 86
UE21 : Automatisme
LP SARII
2016 - 2017
IUT Toulon
86
UE21 : Automatisme LP SARII 2016 - 2017 2 / FB (Functions Blocs) : Ce
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
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