lp sarii –parcours as ue21 -automatisme automatismes...
TRANSCRIPT
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
1 – Présentation
2 – Structure et fonctionnement
3 - Caractéristiques
II / La Programmation IEC 1131-31 – L'adressage des données
2 – Le langage IL
3 – Le langage ST
4 – Le Langage LD
5 – Le langage FBD
7 – Le langage SFC
Plan du Cours :
III / API Wago et plateforme logicielle CoDeSys1 – Plateforme logicielle & langages associés2 – Architectures matérielles & Réseaux
IV / API Schneider M340 et plateforme logicielle Unity1 – Architectures matérielles & Réseaux2 – Plateforme logicielle & langages associés
V / API Siemens et plateforme logicielle TIA/Step71 – Architectures matérielles & Réseaux2 – Plateforme logicielle & langages associés
I / Les Automates Programmables Industriels
2
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
I / Les Automates Programmables Industriels
1 - Introduction
Les automates programmables industriels sont apparus à la fin des années soixante, à lademande de l'industrie automobile américaine, qui réclamait plus d' adaptabilité deleurs 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 laréalisation des parties commandes
⇒ logique câbléeInconvénients : cher, pas de flexibilité, pas de communication possible
3
UE21 - AutomatismeLP SARII – Parcours AS
Contraintes du milieu industriel (1) :
✔ Influences externes :
- poussières,
- température,
- humidité,
- vibrations,
- parasites électromagnétiques, …
→ Solution : utilisation de systèmes à base de microprocesseurspermettant une modification aisée des automatismes.
⇒ logique programmée
2019-2020 4
UE21 - AutomatismeLP SARII – Parcours AS
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
2019-2020 5
UE21 - AutomatismeLP SARII – Parcours AS
L'Automate Programmable Industriel (API) est un appareil électroniqueprogrammable, adapté à l'environnement industriel, qui réalise des fonctionsd'automatisme pour assurer la commande de préactionneurs et d'actionneurs àpartir d'informations logique, analogique ou numérique.
Définition :
Les API sont utilisés dans divers secteurs d'activités, que l'on peut regrouper en trois catégories :
2019-2020 6
UE21 - AutomatismeLP SARII – Parcours AS
- 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 ...
2019-2020 7
UE21 - AutomatismeLP SARII – Parcours AS
- L'automatisation des bâtiments (GTB : Gestion Technique des Bâtiments), dont lesobjectifs 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...)
- Engins de chantiers (grues...),
- Tri postal,
- etc...
- L'automatisation de machines spéciales :
2019-2020 8
UE21 - AutomatismeLP SARII – Parcours AS
Nature des informations traitées par l'automate :
➢Analogique : l'information est continue et peut prendre une valeur comprisedans une plage bien déterminée. C'est le type d'information délivrée par uncapteur (pression, température …).
➢Une grandeur analogique (tension, courant...) doit être convertie en grandeur numériquepar 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 binaireou bien hexadécimale. Il peut s'agir d'une variable interne du programme(compteur...).
➢Tout ou rien (T.O.R.) : l'information ne peut prendre que deux états (vrai/faux, 0 ou1 …). C'est le type d'information délivrée par un détecteur, un bouton poussoir …
2019-2020 9
UE21 - AutomatismeLP SARII – Parcours AS
Partie Commande(P.C)
API (CPU)
Préactionneurs
Conditionneurs
E Ana E TOR
S Ana & S TOR
Partie Relation(P.R)
Architecture des systèmes automatisés :
Partie Opérative(P.O)
Actionneurs
Effecteurs
Détecteurs /Capteurs
Procédé
Superviseur
Pupitres opérateurs
Commande & signalisation(2)
(3)
(4)
(5)(6)
(7)
(8)
(9)
2019-2020 10
UE21 - AutomatismeLP SARII – Parcours AS
(1) : l'API transmet les ordres de commandes aux préactionneurs, sous forme de niveaux électriques TOR (0/24V) ou analogiques (0-10V, +/-10V, 4-20mA, 0-20mA)
(2) : Le préactionneur converti ces ordres en commandes contenant l'énergie nécessaire au pilotage des actionneurs. Exemples : contacteurs, distributeurs électro-pneumatique, variateurs de vitesse...
(3) : L'actionneur assure la conversion d'énergie pour agir sur le procédé (exemples : moteur asynchrone, vérin hydraulique, résistance chauffante...).
(4) : l'effecteur se situe entre l'actionneur et le procédé à contrôler (exemples : arbre moteur + pâles pour un malaxeur mu par un moteur asynchrone, ventouse de saisie pour un vérin destiné au déplacement de plaques métalliques etc...
(5) : Les paramètres physiques utiles à la commande du procédé (exemples : températures, pressions, présences...) sont surveillés grâce à des détecteurs (TOR) et des capteurs (analogiques).
(6,7) : Ces informations électriques sont transmises à la P.C - directement reliées aux cartes TOR pour les détecteurs, parfois par le biais d'un conditionneur (et/ou d'un transmetteur) pour l'analogique.
(8) : Un réseau local industriel dédié à la supervision permet de lier la P.C et la P.R (et donc indirectement la P.O). Certains éléments de signalisation peuvent néanmoins se faire par le biais des cartes d'E/S (voyants, b.p ...).
2019-2020 11
UE21 - AutomatismeLP SARII – Parcours AS
Architectures compacte et modulaires : :
Automates modulaires Télémécanique
Automate compact Millenieum(Crouzet)
2019-2020 12
UE21 - AutomatismeLP SARII – Parcours AS
Informations
(capteurs, dialogue)
Entrées
Sorties
Ordres
(pré actionneurs, dialogue)
Programme
Traiter les informations entrantes pour émettre des ordres de sorties en
fonction d’un programme.
2019-2020
2 - Structure & Fonctionnement d’un API
13
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
Le cycle de fonctionnement est organisé en 4 tâches :
Bus Entrées / Sorties
Unité de Traitement
RAM
Module d' Entrées
Module de Sorties
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)
14
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
Déroulement d'un Cycle-automate :
Traitement Interne
Lecture des Entrées
Exécution du Programme
Ecriture des Sorties
La tâche de fond de l’API
Peut être exécutée de façon cyclique ou périodique
Attente fin période
Si la tâche est périodique
15
UE21 - AutomatismeLP SARII – Parcours AS
Interface d'entrée : elle permet de recevoir les informations de la P.O (ou du pupitre) et de mettre en forme (filtrage, ...) ce signal tout en l'isolant électriquement(optocouplage) :
Le contact "N.O" "ferme le 24 V" sur l'entrée de l'API lorsqu'il est actif
Le contact "N.F" "ouvre le 24 V" sur l'entrée de l'API lorsqu'il est actif
2019-2020 16
UE21 - AutomatismeLP SARII – Parcours AS
➔ Coupleur d'entrées : « du bornier vers la mémoire image »
Mise à jour de façon ponctuelle, à chaque cycle automate
+
-
+
-
+
-
+
-
E1
E2
E3
E4
Bornier d'entrée Isolation / Filtrage Mémoire Image
%IX 0.0 E1
%IX 0.1 E2
%IX 0.2 E3
%IX 0.3 E4
... ….
... ...
2019-2020 17
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
➢Polarité des entrées TOR:
18
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020 19
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
Exemple de Carte D'E TOR (Schneider) :
20
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
Entrées analogiques : les différents types de mesure
• Tension :
21
UE21 - AutomatismeLP SARII – Parcours AS
• Courant :
2019-2020 22
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
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.
23
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
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].
24
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
Exemple de Carte D'E analogiques 4-20mA (750-454) :
25
UE21 - AutomatismeLP SARII – Parcours AS
Cette borne d’entrées analogiques traite des signaux sur une plage de courant standardisée de 0-20 mA ou de4-20 mArespectivement.Le signal d’entrée est séparé galvaniquement et le transfert à l’unité centrale se fait avec une résolution de 12 bits.
2019-2020 26
UE21 - AutomatismeLP SARII – Parcours AS
+-
+-
+-
+-
S1
S2
S3
S4
Bornier de sortiesIsolation / Amplification - RelayageMémoire Image des sorties
S1 %QX 0.0
S2 %QX 0.1
S3 %QX 0.2
S4 %QX 0.3
... ….
... ...
Variables du programme
Bits de sorties
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.
Mise à jour de façon ponctuelle, à chaque cycle automate
2019-2020 27
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
Exemple de Carte De S TOR à Relais (750-513) :
28
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020 29
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
Exemple de Carte De S TOR à Transistors (750-501) :
30
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
➢Cractéristiques :
31
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
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.
32
UE21 - AutomatismeLP SARII – Parcours AS
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.
2019-2020
II / La Programmation IEC 1131-3
33
UE21 - AutomatismeLP SARII – Parcours AS
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'
2019-2020
1 / L'adressage des Données.
34
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
La direction :
Une entrée est une valeur, provenant de la P.O, qui ne peut être que lue par le programme chargé dans le contrôleur.
• Notation :
• Exemple :
Une sortie est une donnée à destination de la P.O, dont la valeur peut être fixée par l'automate. (Remarque : Une sortie peut aussi être lue par le programme)
• Notation :
• Exemple :
Une variable interne est une donnée qui n'est pas physiquement liée à la P.O, mais une information gérée par le programme chargé dans l'API.
• Notation :
• Exemple :
35
UE21 - AutomatismeLP SARII – Parcours AS
✔ Un bit est une valeur binaire ou encore booléenne dont la valeur est « VRAIE » (notée TRUE) ou « FAUSSE » (notée FALSE).
• Notation :
• Exemple :
✔ Un octet est une donnée codée sur 8 bits
• Notation :
• Exemple :
Le format :
2019-2020 36
UE21 - AutomatismeLP SARII – Parcours AS
✔ Un mot est une donnée codée sur 16 bit
• Notation :
• Exemple :
✔ Un double mot est une variable codée sur 32 bits
• Notation :
• Exemple :
2019-2020 37
UE21 - AutomatismeLP SARII – Parcours AS
Enfin, la valeur d'adressage dépend du type d'automate utilisé :
- Schneider :
Les données numériques internes sont organisées selon des cases mémoires de 16 bits ; le n° estdonc un numéro de mot. Les bits internes ont des adresses distinctes.
Les données d'E/S ont un adressage physique dépendant de la position de la donnée dans le rack(cf chapitre correspondant)
- Siemens :
Les données sont organisées selon des cases mémoires de 8 bits ; le n° est donc un numérod'octet. Les bits ont une adresse de la forme « n°octet.n°debit »
- Wago :
Les données sont organisées selon des cases mémoires de 16 bits ; le n° est donc un numéro demot. Les bits ont une adresse de la forme « n°mot.n°debit »
Le numéro d’adresse :
2019-2020 38
UE21 - AutomatismeLP SARII – Parcours AS
Les valeurs numériques peuvent être représentées sous formes décimales, hexadécimales (en ajoutant 16# devant la valeur) ou binaires (2#...)
➔exemples : 125 → 125 1A216 → 16#1A2 01102 → 2#0110
En plus du format, on peut définir un type pour les variables internes (liste non exhaustive) :
BOOL : valeur booléenne ('TRUE' ou 'FALSE')
INT : valeur entière signée sur 16 bits
UINT : valeur entière non signée sur 16 bits
DINT : valeur entière signée sur 32 bits
DUINT : valeur entière non signée sur 32 bits
REAL : valeur réelle sur 32 bits
TIME : durée définie en h/mn/s/ms Notation : t # ...h ...m ...s ...ms
DATE : date définie en année/mois/jour Notation : d # ...-...-...
TIME_OF_DAY : heure du jour définie en h/mn/s Notation : tod # ... : ... : ...
DATE_AND_TIME : date & heure Notation : dt # ...-...-... - ... : ... : ...
STRING : chaîne de caractères. Notation : ' Ma Chaine '
2019-2020 39
UE21 - AutomatismeLP SARII – Parcours AS
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 :
La norme IEC 1131-3 définit 5 langages de programmation : IL, ST, SFC, LD et FDB.
2019-2020 40
UE21 - AutomatismeLP SARII – Parcours AS
3 / Langage ST (Structured Text).
Il s'agit d'un langage textuel proche des langages évolués tels que le C. Il est particulièrement utilisé pour :•Traiter les valeurs numériques•Les opérations sur les chaînes de caractères•Les manipulations de tableaux
Exemple : Soit l'équation logique suivante →
... se traduit par le code suivant :
Z = (A . B + C) . D
2019-2020 41
UE21 - AutomatismeLP SARII – Parcours AS
Comparaison (alternative IF … ELSE … … END_IF):
2019-2020
Structures Algorithmiques
42
UE21 - AutomatismeLP SARII – Parcours AS
Énoncé CASE :
2019-2020 43
UE21 - AutomatismeLP SARII – Parcours AS
Boucle FOR :
Boucle WHILE :
FOR i := 0 TO 9 BY 1 DO
.............. ;
END_FOR;
WHILE condition = TRUE DO
.............. ;
END_WHILE;
2019-2020 44
UE21 - AutomatismeLP SARII – Parcours AS
Opérateurs Numériques :
Le choix du langage ST s'impose souvent lorsque l'on doit faire des traitements numériques sur des variables. Les opérations de bases sont :
• Addition :
• Soustraction :
• Multiplication :
• Division :
• Modulo :
2019-2020 45
UE21 - AutomatismeLP SARII – Parcours AS
Fonctions de Conversion :
Le choix du langage ST s'impose souvent lorsque l'on doit faire des traitements numériques sur des variables. Les opérations de bases sont :
• Entier vers réel :
• Réel vers mot :
• Temps vers entier :
• Date vers date et heure :
• …..
2019-2020 46
UE21 - AutomatismeLP SARII – Parcours AS
Fonctions sur chaînes de caractères :
• Concaténer :
• Rechercher :
• Effacer :
• Obtenir la taille :
• Comparer :
• Remplacer :
2019-2020 47
UE21 - AutomatismeLP SARII – Parcours AS
Manipulation des tableaux :
• Type « ARRAY » :
• Déclaration :
• Indexation :
2019-2020 48
UE21 - AutomatismeLP SARII – Parcours AS
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), doncL'implantation d'équation logique.
2019-2020 49
UE21 - AutomatismeLP SARII – Parcours AS
➢ Opérations logiques de Base :
ET : OU : NON :
Exemple : Soit l'équation logique suivante →
Cette équation se traduit en LD par la ligne suivante :
Z = (A . B + C) . D
2019-2020 50
UE21 - AutomatismeLP SARII – Parcours AS
➢ Mémoire RS :
➢ Front montant :
t
t
t
A
B
x
t
t
t
A
x
t
tx
A
2019-2020 51
UE21 - AutomatismeLP SARII – Parcours AS
➢ Temporisation : retard à l'activation
➢ Temporisation : retard au déclenchement
➢ Temporisation : monostable
t
t
A
x
3s
t
t
A
x
3s
t
t
A
x
3s
3s
3s
2019-2020 52
UE21 - AutomatismeLP SARII – Parcours AS
➢ 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
2019-2020 53
UE21 - AutomatismeLP SARII – Parcours AS
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 →
Cette équation se traduit en FBD par le diagramme suivant :
Z = (A . B + C) . D
2019-2020 54
UE21 - AutomatismeLP SARII – Parcours AS
Mémoire RS
opérations logiques
Compteurs
Comparaisons
Détection de Fronts
Temporisations
2019-2020 55
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
• Fonction Move :
56
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
• Bloc RTC :
57
UE21 - AutomatismeLP SARII – Parcours AS
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.
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é
étape
Action
Étape initiale
Important :
2019-2020 58
UE21 - AutomatismeLP SARII – Parcours AS
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 :t#.....
Action Retardée : L'action est activée avec le retard spécifié après l'entrée dans l'étape.
2019-2020 59
UE21 - AutomatismeLP SARII – Parcours AS
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.
2019-2020 60
UE21 - AutomatismeLP SARII – Parcours AS
✔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
2019-2020 61
UE21 - AutomatismeLP SARII – Parcours AS
✔ Cas particulier d'utilisation de la branche OU : saut d'étapes
✔ Cas particulier d'utilisation de la branche OU : Reprise de séquence
2019-2020 62
UE21 - AutomatismeLP SARII – Parcours AS
✔Structure ET : Parallélisation. Elle permet d'effectuer en simultané plusieurs séquences.
Divergence
Convergence
2019-2020 63
UE21 - AutomatismeLP SARII – Parcours AS
✔ Convergence en ET : Synchronisation.
La convergence se fait généralement sur des étapes vides (sans action), avec une réceptivité avaltoujours vraie, ce qui permet de synchroniser les différents cycles parallèles (le premier cycleterminé attend les autres ; dès que tous les cycles sont terminés, la convergence est réaliséegrâce à la réceptivité 'TRUE').
2019-2020 64
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
III / API Wago 750 et plateforme logicielle CoDeSys
1 - Introduction
Le logiciel CoDeSys est une plateforme de développement ouverte, multimatérielleutilisé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.
65
UE21 - AutomatismeLP SARII – Parcours AS
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 :
2019-2020 66
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
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.
67
UE21 - AutomatismeLP SARII – Parcours AS
variable interne du programme "prog" de type booléen, initialisée à '0' et associée à la sortie physique TOR 4.0.
Variable de sortie du programme "prog", de type 'temps', et initialisée à la valeur 1s et 500ms.
Variable booléenne interne à "prog" initialisée à '1'.
Exemples de déclaration :
Variable d'entrée du programme "prog", de type "mot" et associée à l'entrée analogique 0.
2019-2020 68
UE21 - AutomatismeLP SARII – Parcours AS
➢ 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.
2019-2020 69
UE21 - AutomatismeLP SARII – Parcours AS
➢ Échange de variables entre programmes :
➔Programme Principal PLC_PRG :
➔ Bloc Fonctionnel G2 :
➔ Bloc Fonctionnel G1 :
2019-2020 70
UE21 - AutomatismeLP SARII – Parcours AS
➢ 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
2019-2020 71
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020 72
UE21 - AutomatismeLP SARII – Parcours AS
➢ Variables "drapeau" :
Ce sont des variables utilisables dans les programmes et blocs programmés en SFC, définis dans la bibliothèque "iec_sfc.lib", et qui permettent d'agir sur un grafcet. En voici quelques unes (consulter l'aide pour une liste exhaustive) :
• SFCReset (BOOL) → Réini�alisa�on du grafcet (retour à l'étape ini�ale et arrêt de l’exécu�on)
● SFCInit (BOOL) → Retour à l'étape ini�ale
● SFCPause (BOOL) → Figeage du grafcet
● SFCError → Dépassement du temps maximal affecté à une étape
● SFCCurrentStep (STRING) → Nom de l'étape SFC en cours
● SFCTip, SFCTipMode (BOOL) → Lorsque SFCTipMOde est 'TRUE', le grafcet passe en mode pas à pas, la validation des réceptivités sont alors validées avec SFCTip.
2019-2020 73
UE21 - AutomatismeLP SARII – Parcours AS
➢ 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
2019-2020 74
UE21 - AutomatismeLP SARII – Parcours AS
En plus des appels de programme, on peut définir des tâches dans le projet, qui permettront dedéclencher l’exécution de certains programme de façon automatique :- de façon cyclique ou périodique, c'est à dire à intervalle de temps réguliers (utile par exemple pour les fonctions de régulation)- de façon événementielle, c'est à dire lorsqu'un événement particulié est rencontré (par exemple le passage à '1' d'un booléen)
2019-2020 75
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
Présentation du contrôleur WAGO 750-849 :
Ports Ethernet pour le chargement des programmes, la supervision...
Interface série (configuration)
Bornes pourl'alimentation 24Vcc
76
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020 77
UE21 - AutomatismeLP SARII – Parcours AS
➢ 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...
2019-2020 78
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
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.
79
UE21 - AutomatismeLP SARII – Parcours AS
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.
2019-2020 80
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
➢Adressage des données :
81
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020 82
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
Organisation du projet sous Unity :
Interfaces de communication
Cartes d'E/S
Déclaration des variables
83
UE21 - AutomatismeLP SARII – Parcours AS
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.
1 / La tâche MAST (Master) : Il s'agit de la tâche maître, elle correspond auprogramme 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.
2 / La tâche FAST : Il s'agit d'une tâche dite rapide, qui va être appelée périodiquement, selon une durée à définir. L'appel de cette tâche correspond à une interruption (au sens µC) de la tâche maître.
2019-2020 84
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
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.
85
UE21 - AutomatismeLP SARII – Parcours AS
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
2019-2020 86
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
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
Port ProfiNetFonctions de sécurité
Gamme S7-300
87
UE21 - AutomatismeLP SARII – Parcours AS
Du point de vue des communications, Les API Siemens sont orientés vers les protocoles :
✔Asi pour les capteurs/actionneurs
✔ProfiBUS et ProfiNet pour les autres niveaux
2019-2020 88
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
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...) et leurs connexions réseau :
89
UE21 - AutomatismeLP SARII – Parcours AS
I: EntréesQ : SortiesM : Internes
n° de l'octet dans le plan mémoire
n° du bit à l'intérieur de l'octet
% I 4 . 0
2019-2020
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 :
I : EntréesQ : SortiesM : Internes
W pour les motsB pour les octets
n° de l'octet dans le
plan mémoire → adresses de mots toujours paires
% MW20
Données booléennes :
Données numériques :
90
UE21 - AutomatismeLP SARII – Parcours AS
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éfauts etc...) ; les premiers vous sont présentés à la page suivante (se reporter au manuel pour plus de détails).
2019-2020 91
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020 92
UE21 - AutomatismeLP SARII – Parcours AS
FB.. (Functions Blocs) : Ce sont des programmes appelés « explicitement », par des OB ou d'autres FB. Ces blocs possèdent une mémoire associée (DB), qui permet de les instancier (un FB peut donc être appelé plusieurs fois).
FC.. (Functions) : Ce sont des fonctions (appelés « explicitement ») par des OB, FB ou d'autres FC. Ces fonctions ne possèdent pas de bloc mémoire (DB) associé, et ne peuvent donc pas retenir de valeur entre deux appels.
DB.. (Data Blocs) : Données associées à un FB ; contient l'ensemble des variables utilisées par le bloc.
SFC, SFB (System Function / System Bloc funtion) : Fonctions et Blocs insérés automatiquement par le système lors de la compilation.
2019-2020 93
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020
➢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
94
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020 95
UE21 - AutomatismeLP SARII – Parcours AS
2019-2020 96