Autom Cours 2020 Part1 Gris

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 88

M2102 Automatisme S2

M2102 : Automatismes
Partie 1

neanne@univ-tln.fr Bureau E009

IUT de Toulon – Département GEII


M2102 Automatisme S2

Partie 1:
I / Architecture des Systèmes Automatisés
1 – Introduction
2 – Structure des SA
3 – Système-exemple 1 : Tracker solaire

II / Les Automates Programmables Industriels


1 – Présentation
2 – Structure et fonctionnement
3 - Caractéristiques

III / La Programmation IEC 1131-3


1 – Les types de données
2 - Langage IL
3 – Langage ST
4 - Langage SFC
5 – Langage LD
6 – Langage FBD
7 – L'environnement de programmation CoDeSys
IUT Toulon, GEII 2
M2102 Automatisme S2

I / Architecture des Systèmes


Automatisés :
1 - Introduction

Un système automatisé gère de manière autonome un ou des cycles de travail


préétabli qui se décomposent en cycles ou séquences.

Il permet de remplacer l'intervention de l'homme pour certaines tâches pénibles,


répétitives ou dangereuses.

IUT Toulon, GEII Ch1 : Architecture des S.A 3


M2102 Automatisme S2

Les systèmes automatisés peuvent être classés en différentes catégories:

- 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...).

Les secteurs d'activité représentatifs des SAP sont :

- 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, GEII Ch1 : Architecture des S.A 4


M2102 Automatisme S2

 Objectifs des SAP:

Contraintes

Matière
Matière d'oeuvre
d'oeuvre Système +
Automatisé Valeur
ajoutée

Optimisation du rapport qualité / coût

IUT Toulon, GEII Ch1 : Architecture des S.A 5


M2102 Automatisme S2

- L'automatisation 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, GEII Ch1 : Architecture des S.A 6


M2102 Automatisme S2

2 - Structure.
Tout système automatisé peut être décomposé en 3 parties :
 Partie opérative (P.O) :
Procédé à automatiser.

Outil de description : Schémas électriques, pneumatiques ....

 Partie commande (P.C) :


Commande les actionneurs en fonction du cycle à dérouler et des informations en
provenance des capteurs.
Outil de description : GRAFCET (Graphe de commande Étape Transition)

 Partie Relation (P.R) :


Permet à l'utilisateur d'interagir avec le système.

IUT Toulon, GEII Ch1 : Architecture des S.A 7


M2102 Automatisme S2

Architecture des systèmes automatisés :


Partie Relation Partie Commande Partie Opérative
(P.R) (P.C) (P.O)

Commande & Préactionneurs Actionneurs


(2)
signalisation
(9) (1) (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)

IUT Toulon, GEII Ch1 : Architecture des S.A 8


M2102 Automatisme S2

(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 ...).

IUT Toulon, GEII Ch1 : Architecture des S.A 9


M2102 Automatisme S2

3 – Système-Exemple 1 : Le Tracker Solaire

Le Tracker solaire est une unité de production d'énergié


électrique utilisant un panneau photovoltaïque dont le
positionnement est automatisé afin de maximiser la
récupération d'énergie par les panneaux au cours de la
jounée et/ou de l'année.
Celle-ci est stockée dans des batteries tampon;
l'automatisme permet le positionnement automatique du
panneau ainsi que la gestion des charges des batteries.
Optimisation du
rendement journalier

É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.

A terme, les PR, PO et PC comporteront les sous ensembles suivants :


Partie Relation Partie Commande Partie Opérative
(P.R) (P.C) (P.O)
Relais 24Vdc Moteur à CC
Boutons poussoirs
(2)
(3)
(9) (1)
Support rotatif
S .TOR : Wago 750-534

Écran tactile (Wago Ethernet API : (4)


Webpanel)
Panneaux solaires PV
Wago 750-841
+ Batteries
E Ana E TOR (5)
750-432 750-483

(6) Détecteurs Fin de


course
Capteur de position
(7)
potentiométriques

IUT Toulon, GEII Ch1 : Architecture des S.A 11


M2102 Automatisme S2

détecteurs

Capteur

Actionneur

Retour
Préactionneurs
IUT Toulon, GEII Ch1 : Architecture des S.A 12
M2102 Automatisme S2

Référence : Désignation : Rôle : Catégorie :


KA1 à KA4 Relais de commande Alimenter le Moteur à courant Préactionneur
continu en fonction des ordres de
commande délivrés par l'API afin
de permettre sa mise en rotation
dans le sens souhaité.
S0, S1, S2 Boutons poussoirs Fournir les ordres de commande Commande &
au système Signalisation
FC1, FC2 Détecteurs de fin de Indique à l'API l'arrivée du support Détecteur
course rotatif en butée EST (FC1) ou
OUEST (FC2).
P1 Capteur de position Délivre une tension Capteur
angulaire proportionnelle au déplacement
potentiométrique de du panneau
MCC Moteur à courant Déplace le support rotatif du Actionneur
continu panneau solaire

IUT Toulon, GEII Ch1 : Architecture des S.A 13


M2102 Automatisme S2

II / 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, GEII Ch2 : Les API 14
M2102 Automatisme S2

→ 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, GEII Ch2 : Les API 15


M2102 Automatisme S2

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, GEII Ch2 : Les API 16


M2102 Automatisme S2

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.

IUT Toulon, GEII Ch2 : Les API 17


M2102 Automatisme S2

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...), ou bien d'une grandeur délivrée par un Codeur.

IUT Toulon, GEII Ch2 : Les API 18


M2102 Automatisme S2

Architectures compactes
et modulaires :

Crouzet Millenium
Schneider M340

Siemens 1200

Siemens 1500

Schneider Zelio
Wago 750
Automates modulaires Automates compacts

IUT Toulon, GEII Ch2 : Les API 19


M2102 Automatisme S2

2 - Structure & Fonctionnement d’un API


Informations
(capteurs, dialogue)
Entrées
Traiter les informations
Programme entrantes pour émettre des
ordres de sorties en fonction
d’un programme.

Sorties
Ordres
(pré actionneurs, dialogue)

IUT Toulon, GEII Ch2 : Les API 20


M2102 Automatisme S2

Le cycle de fonctionnement est organisé en 4 tâches :

Bus Entrées / Sorties

Unité de
Traitement Module
Module d'
de
Entrées
Sorties
RAM

Tâche 1 : Gestion du système (auto-contrôle de l’automate)


Tâche 2 : Acquisition des données en entrée (mémorisation)
Tâche 3 : Traitement des données (exécution du programme)
Tâche 4 : Affectation des sorties (émission des ordres)
IUT Toulon, GEII Ch2 : Les API 21
M2102 Automatisme S2

Déroulement d'un Cycle-automate :

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

Écriture des Sorties

IUT Toulon, GEII Ch2 : Les API 22


M2102 Automatisme S2

Quelques Applications :

IUT Toulon, GEII Ch2 : Les API 23


M2102 Automatisme S2

 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, GEII Ch2 : Les API 24


M2102 Automatisme S2

 Caractéristiques du contrôleur WAGO 750-849 :

IUT Toulon, GEII Ch2 : Les API 25


M2102 Automatisme S2

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

IUT Toulon, GEII Ch2 : Les API 26


M2102 Automatisme S2

 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, GEII Ch2 : Les API 27


M2102 Automatisme S2

 Exemple de Carte D'E TOR (750-400) :

IUT Toulon, GEII Ch2 : Les API 28


M2102 Automatisme S2

 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(valeur entière signée sur
16 bits).

La température est représentée en


100eme de degrés, sur une plage -
200°C / + 200°C.

Exemple :
Pour T =155°C → N=15 550

IUT Toulon, GEII Ch2 : Les API 29


M2102 Automatisme S2

 Exemple de Carte D'E analogiques 0-10V (750-647) :

la gamme de tension [0 V to +10V] est


convertie par un CAN 12 bit, puis mise
à l'échelle de façon à obtenir une
gamme numérique : [0;32760]

Exemple :
Pour Vmes=6,5V → N=6,5/10*32760
→ N=21 294

IUT Toulon, GEII Ch2 : Les API 30


M2102 Automatisme S2

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 Isolation / Amplification - Bornier de sorties


des sorties Relayage
S1 %QX 0.0
S1 +
S2 %QX 0.1 -
S3 %QX 0.2 +
S2
S4 %QX 0.3 -
... …. +
S3
... ... -
Variables Bits de S4 +
du sorties -
programme

Mise à jour de façon ponctuelle, à chaque cycle automate

IUT Toulon, GEII Ch2 : Les API 31


M2102 Automatisme S2

 Exemple de Carte De S TOR à Relais (750-513) :

IUT Toulon, GEII Ch2 : Les API 32


M2102 Automatisme S2

 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, GEII Ch2 : Les API 33


M2102 Automatisme S2

 Exemple de Carte De S TOR à Transistors (750-501)


:

IUT Toulon, GEII Ch2 : Les API 34


M2102 Automatisme S2

 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, GEII Ch2 : Les API 35


M2102 Automatisme S2

 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.

Exemple :
Pour N=25 102 → VOUT= 25102/32760 *
10
→ VOUT= 7,67 V

IUT Toulon, GEII Ch2 : Les API 36


M2102 Automatisme S2

Configuration de la P.C du tracker solaire :

750-849 750-452 750-432 750-531

Référence 750-849 750-452 750-432 750-531

Rôle Traitement du Mesure du détection des fin Contrôle du MCC


programme déplacement de course et des via les relais KM1
d'automatisation angulaire du ordres à KM4
du tracker support rotatif et d'initialisation
de la charge
tension batterie

Type

IUT Toulon, GEII Ch2 : Les API 37


M2102 Automatisme S2

III / 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 existant.

IUT Toulon, GEII Ch3 : Programmation IEC 38


M2102 Automatisme S2

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, GEII Ch3 : Programmation IEC 39


M2102 Automatisme S2

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....

IUT Toulon, GEII Ch3 : Programmation IEC 40


M2102 Automatisme S2

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

 Un octet est une donnée codée sur 8 bits

Notation : %.. B ..

IUT Toulon, GEII Ch3 : Programmation IEC 41


M2102 Automatisme S2

 Un mot est une donnée codée sur 16 bit

Notation : %.. W ..

Exemple : Un capteur de température est relié à la 3eme entrée analogique du rack


automate. La valeur numérique correspondante sera stockée dans la variable :

%IW2

 Un double mot est une variable codée sur 32 bits

Notation : % .. DW ..

IUT Toulon, GEII Ch3 : Programmation IEC 42


M2102 Automatisme S2

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 '

IUT Toulon, GEII Ch3 : Programmation IEC 43


M2102 Automatisme S2

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, GEII Ch3 : Programmation IEC 44


M2102 Automatisme S2

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, GEII Ch3 : Programmation IEC 45


M2102 Automatisme S2

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.

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, GEII Ch3 : Programmation IEC 46


M2102 Automatisme S2

 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, GEII Ch3 : Programmation IEC 47


M2102 Automatisme S2

 Mémoire RS :
A
t
B
t
x
 Front montant : t

A
t
x t
t
 Front descendant :
A
t
x t

IUT Toulon, GEII Ch3 : Programmation IEC 48


M2102 Automatisme S2

 Temporisation : retard à l'activation


A
t
TON
x
3s t

 Temporisation : retard au déclenchement


A
t
TOF
x
3s 3s t

 Temporisation : monostable
A
TP t

x
3s 3s t
IUT Toulon, GEII Ch3 : Programmation IEC 49
M2102 Automatisme S2

 Exemple de programme Ladder :


Une procédure de test permet de vérifier que le moteur de positionnement du tracker
solaire est opérationnel.

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

IUT Toulon, GEII Ch3 : Programmation IEC 50


M2102 Automatisme S2

IUT Toulon, GEII Ch3 : Programmation IEC 51


M2102 Automatisme S2

 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
QD BOOL Sortie, passe à 'TRUE' lorsque CV = 0
QU BOOL Sortie, passe à 'TRUE' lorsque CV = PV
CV INT Valeur courante du compteur
IUT Toulon, GEII Ch3 : Programmation IEC 52
M2102 Automatisme S2

Règle importante : Unicité des sorties

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.

IUT Toulon, GEII Ch3 : Programmation IEC 53


M2102 Automatisme S2

4 / Langage FBD (Functional 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, GEII Ch3 : Programmation IEC 54


M2102 Automatisme S2

La règle de l'unicité des sortie s'applique également en FBD.

Les différentes fonctions standard disponibles en LD sont également


disponibles :

Temporisations Détection de Fronts

Mémoire RS

Compteurs
IUT Toulon, GEII Ch3 : Programmation IEC 55
M2102 Automatisme S2

5 / 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, GEII Ch3 : Programmation IEC 56


M2102 Automatisme S2

 Comparaison (alternative IF … ELSE … … END_IF):

Affectation :
 Incrémentation d'une variable : « := »

CPT := CPT + 1 ;

IUT Toulon, GEII Ch3 : Programmation IEC 57


M2102 Automatisme S2

 Boucle FOR :

FOR i := 0 TO 9 BY 1 DO

.............. ;

END_FOR;

 Boucle WHILE :

WHILE condition = TRUE DO

.............. ;

END_WHILE;

IUT Toulon, GEII Ch3 : Programmation IEC 58


M2102 Automatisme S2

 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, GEII Ch3 : Programmation IEC 59


M2102 Automatisme S2

- modulo :
Res := Op1 MOD Op2 ;

- Conversion En er → Réel :

Nb_Re := INT_TO_REAL ( Nb_ent) ;

- Conversion Réel → En er :

Nb_ent := REAL_TO_INT ( Nb_Re) ;

- Conversion Mot → Réel :

Nb_Re := WORD_TO_REAL ( Mot) ;

IUT Toulon, GEII Ch3 : Programmation IEC 60


M2102 Automatisme S2

 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

IUT Toulon, GEII Ch3 : Programmation IEC 61


M2102 Automatisme S2

6 / Langage SFC (Sequential Functional Chart ).


Il s'agit du langage dérivé de la norme Grafcet. Ses différentes structures sont bien
adaptées aux SAP.

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

IUT Toulon, GEII Ch3 : Programmation IEC 62


M2102 Automatisme S2

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 de variables ( 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, GEII Ch3 : Programmation IEC 63


M2102 Automatisme S2

Le grafcet ci-contre permet d'initialiser le


système "tracker solaire" :

- Suite à un appui sur le B.P d'initialisation


(S0), le panneau est positionné en butée EST
(FC1) en alimentant le moteur dans le sens
positif (Fermeture de KA1 et KA3).

- Une fois arrivé en butée, l'arrêt du moteur


est obtenu en court-circuitant celui-ci
(Fermeture de KA1 et KA2).

- Au bout d'un délai de 2s, le courant moteur


peut être considéré comme nul, la procédure
d’initialisation est terminée.

IUT Toulon, GEII Ch3 : Programmation IEC 64


M2102 Automatisme S2

 Étapes :

L'étape initiale est


matérialisée par un
double rectangle

A chaque étape correspond un nom


unique, auquel seront associées les
variables :

→ "nom.t" : variable de type "TIME"


représentant la durée passée dans l'étape
nom.t : durée passée dans l'étape

→ "nom.x" : variable de type "BOOL"


représentant l'état de l'étape ('TRUE' si
l'étape est en cours, 'FALSE' dans le cas
contraire)

IUT Toulon, GEII Ch3 : Programmation IEC 65


M2102 Automatisme S2

 Réceptivités :  Actions :

Entrées
TOR
Sorties TOR,
activées pendant
la durée de
l'étape (attribut
'N' : normal.

Temporisation

IUT Toulon, GEII Ch3 : Programmation IEC 66


M2102 Automatisme S2

Les attributs suivants peuvent être associés aux actions en SFC :


Attribut Paramètre Description
N Aucun Action Normale : 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 Action limitée dans le temps : L'action est activée à


d'activation : l'entrée dans l'étape, puis désactivée automatiquement au
t#..... bout du temps, spécifié (ou à la sortie de l'étape).

D Temps de Action Retardée : L'action est activée avec le retard


retard : spécifié après l'entrée dans l'étape.
t#.....

IUT Toulon, GEII Ch3 : Programmation IEC 67


M2102 Automatisme S2

Le chronogramme suivant récapitule


tr0
l’exécution des différents types d'action
possibles : tr1 t

tr2 t

t
Init.X
t
Step2.X

Step3.X t

t
A
t
B
t
C
t
D
1s t

IUT Toulon, GEII Ch3 : Programmation IEC 68


M2102 Automatisme S2

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, GEII Ch3 : Programmation IEC 69


M2102 Automatisme S2

 Cas particulier d'utilisation de la branche OU :

saut d'étapes Reprise de séquence


IUT Toulon, GEII Ch3 : Programmation IEC 70
M2102 Automatisme S2

 Exemple de reprise de séquence :


Dans un cycle de fonctionnement du tracker
solaire, on choisit de déplacer le panneau
par pas angulaire, de 15°, toutes les heures.

Ce déplacement se fait jusqu'à atteindre la


butée OUEST (FC2).

Rq : les caractères (* et *) permettent de


commenter un programme. Ici, la réceptivité
entre 'Step3' et 'STep4') sera codée en TP.

IUT Toulon, GEII Ch3 : Programmation IEC 71


M2102 Automatisme S2

Structure ET : Parallélisation. Elle permet d'effectuer en simultané plusieurs


séquences.

Divergence

Convergence

IUT Toulon, GEII Ch3 : Programmation IEC 72


M2102 Automatisme S2

 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.

Cela permet une


exécution des différents
cycles parallélisés
parfaitement
indépendante ; et lorsque
tous ces cycles sont
achevés, le grafcet
reprend sa branche
principale

IUT Toulon, GEII Ch3 : Programmation IEC 73


M2102 Automatisme S2

7 - Plateforme logicielle CoDeSys

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.

Le paramétrage des différentes fonctionnalités matérielles (choix de la CPU et des


cartes d'E/S) sera également effectué sur ce logiciel.

Enfin, il sera possible de réaliser des pages de visualisation qui permettront de


superviser le système grâce à des pages animées par les variables du programme
de l'API (qui pourront le cas échéant êtres converties en pages Web.)

IUT Toulon, GEII Ch3 : Programmation IEC 74


M2102 Automatisme S2

 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, GEII Ch3 : Programmation IEC 75


M2102 Automatisme S2

 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.

IUT Toulon, GEII Ch3 : Programmation IEC 76


M2102 Automatisme S2

En revanche, on l'utilisera comme langage de programmation principal qui appellera les


différentes tâches :

Le numéro figurant sur chaque bloc indique l'ordre d’exécution durant le cycle
automate.

IUT Toulon, GEII Ch3 : Programmation IEC 77


M2102 Automatisme S2

En outre, il permet de traiter les données numériques :

Opérations

Comparaisons

Ainsi que les chaînes de caractères :

IUT Toulon, GEII Ch3 : Programmation IEC 78


M2102 Automatisme S2

 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, GEII Ch3 : Programmation IEC 79


M2102 Automatisme S2

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, GEII Ch3 : Programmation IEC 80


M2102 Automatisme S2

 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, GEII Ch3 : Programmation IEC 81


M2102 Automatisme S2

 Échange de variables entre programmes :

 Bloc Fonctionnel G1 :  Programme Principal PLC_PRG :

 Bloc Fonctionnel G2 :

IUT Toulon, GEII Ch3 : Programmation IEC 82


M2102 Automatisme S2

 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'ac vité de l'étape (type TIME)


• Nom_etape . x → ac vité 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, GEII Ch3 : Programmation IEC 83


M2102 Automatisme S2

Exemple de Synchronisation de grafcets :

IUT Toulon, GEII Ch3 : Programmation IEC 84


M2102 Automatisme S2

 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.

IUT Toulon, GEII Ch3 : Programmation IEC 85


M2102 Automatisme S2

 Actions programmées (langage SFC) :


En outre, il est également possible de programmer des actions exécutée une seule fois à
l'entrée ou à la sortie d'une étape. Ces actions, appelées "actions d'entrée" et "action de
sortie" sont effective pendant un seul cycle automate et peuvent être programmées en LD,
FBD ou ST :

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

 Actions programmées - suite (langage SFC) :


Une action programmée peut également être de type continue, c'est à dire éxécutée
pendant toute la durée de l'étape (comme une action CEI de type 'N').

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

IUT Toulon, GEII Ch3 : Programmation IEC 87


M2102 Automatisme S2

 Actions programmées - suite (langage SFC) :


L'exemple ci-dessous reprend le fonctionnement précédent mais en kangage LD :

Step2.X

Cond t

A t

IUT Toulon, GEII Ch3 : Programmation IEC 88

Vous aimerez peut-être aussi