Autom Cours 2020 Part1 Gris
Autom Cours 2020 Part1 Gris
Autom Cours 2020 Part1 Gris
M2102 : Automatismes
Partie 1
Partie 1:
I / Architecture des Systèmes Automatisés
1 – Introduction
2 – Structure des SA
3 – Système-exemple 1 : Tracker solaire
Contraintes
Matière
Matière d'oeuvre
d'oeuvre Système +
Automatisé Valeur
ajoutée
2 - Structure.
Tout système automatisé peut être décomposé en 3 parties :
Partie opérative (P.O) :
Procédé à automatiser.
(1) : l'API transmet les ordres de commandes aux préactionneurs, sous forme de niveaux électriques
« Tout ou Rien » (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 ...).
Énergie Énergie
Tracker Solaire Électrique
Solaire
Consommable
IUT Toulon, GEII Ch1 : Architecture des S.A 10
M2102 Automatisme S2
Ce système sera repris pour illustrer certains ascpects du cours. Un schéma structurel partiel
est donné en page suivante.
détecteurs
Capteur
Actionneur
Retour
Préactionneurs
IUT Toulon, GEII Ch1 : Architecture des S.A 12
M2102 Automatisme S2
⇒ logique programmée
Influences externes :
- poussières,
- température,
- humidité,
- vibrations,
- parasites électromagnétiques, …
- Évolutif
- Modulaire
- Implantation aisée
Définition :
Architectures compactes
et modulaires :
Crouzet Millenium
Schneider M340
Siemens 1200
Siemens 1500
Schneider Zelio
Wago 750
Automates modulaires Automates compacts
Sorties
Ordres
(pré actionneurs, dialogue)
Unité de
Traitement Module
Module d'
de
Entrées
Sorties
RAM
Traitement Interne
Temps de Cycle :
Il est de l'ordre de
Lecture des Entrées
qq ms à qq dizaines
de ms selon la
puissance de l'API et
la taille du Exécution du Programme
programme
Quelques Applications :
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 +
-
Exemple :
Pour T =155°C → N=15 550
Exemple :
Pour Vmes=6,5V → N=6,5/10*32760
→ N=21 294
Caractéristiques :
La fréquence de commutation
admise est relativement faible (
< 1 Hz)
Cractéristiques :
La tension commutée
par une sortie à
transistor es
nécessairement
continue
Exemple :
Pour N=25 102 → VOUT= 25102/32760 *
10
→ VOUT= 7,67 V
Type
- Le principe d'adressage des données traitées par l'API, ainsi que les différents
formats de variables existant.
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...
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...
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....
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 ..
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 : %.. B ..
Notation : %.. W ..
%IW2
Notation : % .. DW ..
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 relatif à l'adressage, on peut définir un type pour les variables d'un programme
(liste non exhaustive) :
INT : valeur entière signée sur 16 bits
DINT : valeur entière 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 '
** 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.
La norme IEC 1131-3 définit 5 langages de programmation : IL, ST, SFC, LD et FDB.
Z = (A . B + C) . D
3 / Langage LD (LaDder ).
Il s'agit d'un langage graphique. On pourra l'utiliser comme langage à part entière ou bien
pour coder les équations logiques des réceptivités d'un grafcet.
Mémoire RS :
A
t
B
t
x
Front montant : t
A
t
x t
t
Front descendant :
A
t
x t
Temporisation : monostable
A
TP t
x
3s 3s t
IUT Toulon, GEII Ch3 : Programmation IEC 49
M2102 Automatisme S2
Pour cela, deux B.P permettent de d'initialiser un déplacement jusqu'en butée, soit vers
l'EST (Bouton poussoir S1 et fin de course FC1), soit vers l'OUEST (Bouton poussoir S2 et fin
de course FC2), tout en évitant tout court-circuit au niveau des contacts KA1 à KA4.
Un déplacement vers l'Est est obtenu lorsque le moteur est alimenté avec une tension
positive ; Un déplacement vers l'Ouest est obtenu lorsque le moteur est alimenté avec une
tension négative
Compteur décompteur :
Dans une application d'automatisme, on doit veiller à ce que chacune des sorties ne
reçoive pas d'ordre contradictoire du programme.
Cela implique que chaque sortie ne doit être représentée dans un programme LD, que
par une seule bobine, ou une seule paire de bobines R/S.
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.
Mémoire RS
Compteurs
IUT Toulon, GEII Ch3 : Programmation IEC 55
M2102 Automatisme S2
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 :
Affectation :
Incrémentation d'une variable : « := »
CPT := CPT + 1 ;
Boucle FOR :
FOR i := 0 TO 9 BY 1 DO
.............. ;
END_FOR;
Boucle WHILE :
.............. ;
END_WHILE;
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 :
- modulo :
Res := Op1 MOD Op2 ;
- Conversion En er → Réel :
- Conversion Réel → En er :
Exemple d'utilisation :
Dans le système "tracker solaire", on utilisera un sous-programme en langage ST afin de
calculer la position angulaire du panneau à partir du mot délivré par la carte d'entrée
analogique :
- La carte délivre une valeur %IW0 comprise entre 0 et 32760 pour une tension variant
de 0 à 10V.
- Le potentiomètre délivre une tension variant de 2V à 8V lorsque la position évolue de -
60° à +60°.
Pos
Pos = a x %IW0 + b
%IW0
Il es basé sur la décomposition d'une tâche en étapes, auxquelles dont associées des
actions à réaliser, et séparées par des transitions.
Lorsqu'une étape est active les actions associées à
Étape initiale
l'étape sont activées.
Lorsque la réceptivité avale 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
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.
Étapes :
Réceptivités : Actions :
Entrées
TOR
Sorties TOR,
activées pendant
la durée de
l'étape (attribut
'N' : normal.
Temporisation
tr2 t
t
Init.X
t
Step2.X
Step3.X t
t
A
t
B
t
C
t
D
1s t
Divergence
Convergence
Divergence
Convergence
Convergence en ET : Synchronisation.
Une branche en ET converge généralement au moyen d'étapes vides (sans actions) qui
terminent chacune des branche parallèles ; avec une réceptivités en aval de la
convergence toujours vraie.
Ressources :
L'onglet ressources du projet permet de définir les principales caractéristiques logicielles et
matérielles du projet :
Choix de la CPU
Organisation du projet en tâches
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).
Le numéro figurant sur chaque bloc indique l'ordre d’exécution durant le cycle
automate.
Opérations
Comparaisons
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.
Exemples de déclaration :
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é :
Bloc Fonctionnel G2 :
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 :
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éini alisa on du grafcet (retour à l'étape ini ale et arrêt de
l’exécution)
SFCReset (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.
Action de sortie
Action d'entrée
Step2.X
t
Exemple de programmation d'action d'entrée en
Action
d'entrée
langage ST
Action de t
sortie
t
IUT Toulon, GEII Ch3 : Programmation IEC 86
M2102 Automatisme S2
Cela permet de coder les actions dans le langage de son choix. On peut utiliser cette
méthode pour créer des actions condistionnelles :
Step2.X
Cond t
A t
Step2.X
Cond t
A t