CoMMUNICATION D'AUTOMATES
EN MILIEU INDUSTRIEL
par le groupe ressource de la MAFPEN Grenoble
f'#JLe groupe ressource STI de la MAFPEN de GRENOBLE a mené un travail sur le réseau UNITELWAY de "TELEMECANIQUE".
Cette étude porte sur :
0 la communication en milieu industriel entre automates programmables (deux ou
plus), de type TSX 17-20 (échanges de tables),
0 l'affichage de 16 défauts ou messages sur le terminal de dialogue opérateur de type
XBT,
0 la mise en œuvre de la régulation PID (soft) sur l'automate programmable TSX
17-20.
C'est le résultat du travail de cette équipe que nous publions ici.
1- COMMUNICATION D'AUTOMATES EN MILIEU INDUSTRIEL
Dans les applications industrielles lorsque deux automates, ou plus, dialoguent ensemble, une règle est de séparer le programme de communication du traitement séquentiel de chaque automate.
Le traitement s'effectuera en deux temps :
- 1er temps communication : échanges de tables de mots entre les différents automates - 2ème temps : traitement séquentiel de chaque automate.
Nous allons dans l'article qui suit traiter un exemple de dialogue entre deux automates.
11- Présentation partielle du réseau:
ACCS
-SCG116 TSXmaître •1--TSX esclave -Maître adresse 0à configurer dans le boîtier SCA62 par
interrupteurs.
SCA62 SCA62 SCA62
Œ]F=====~II
II
---Réseau de commwùcation UNITEL W AY
Esclave ADO = 1 et ADl = 2 Configuration par logiciel de l'adresse UTW 1 (64
+
1 = 65) sur le bus(~Groupe Ressource "STI"- MAFPEN -GRENOBLE. Responsable M. Paul BASTIDE- Tél. : (04) 75 93 53 76
aptep-info N°69 - octobre 1996
12- Principe de l'échange de tables : Lecture requête 36 Maître Esclave W2S W62 [20 octets] 10 mots 1 i -Réception à partir deW2S 1 t -Réception 4mots CWB~W3S CW9 ~ W36 1 - - - 1
... L
- - - - - partir de W62 de CW10 ~ W37 .___ _ _ _ _ _, 4mots CW8=
H'0768 Type segmentCW9
=
62 (début table de mots de l'esclave (serveur))CWI 0
=
4 (nombre de mots à lire)Ecriture de table requête 36
Maître Esclave CW16~WO CW17~W1 CW1B~W2 WlO
1---W3 24 octets Wll émission CW16=
H'0768' 9mots 18 octetsCW17
=
10 (adresse du premier mot à écrire)CW18 = 9 (nombre de mots à écrire)
W3 à Wll
=
9 mots à écrire (18 octets)13- Programmation de la tâche maître :
LABELlO SY1 SYO IW3,0,9 BO IW3,0,3
1
Lancement de la configuration SCG 116 (maitre)LABEL20 R Bl CPL T,M:HOlOO S LOCAL ... - ... T,C:H0040 T,R:H 0
cwo
...,
_____
~ T,L: 10 I T,S: ~---~ 0: TXT.R=
H'OOFE' LABEL30 LABEL40Bloc texte code requête 40 configuration du SCG116 CWO H'5002' CWI j..::.H:...:'0~--1 CW2 H'9600' CW3 H'OOlO' CW4 L.:H':.:...::.O _ _
BO IW3,0,9 IW3,0,4 IW3,0,B IW3,0,.B
=
module non configuréIW3,0,4
=
défaut général00,7 LABELSO BO LABEL60 CW8[3]~W3~
rc;OPERAlE~
aptep-info N°69- octobre 1996
19
IW3,0,9
=
coupleur en autotest Tant que le bilan de configuration n'est pas bon on saute à la fin du programmeTemps lancement requêtes BIO TXTl
Bll TXT2
LABEL80 LABEL90 T,L:6 T,S: BlO B9
r:::
OPERATE ~1---...
CW16[3]--> ~1
LABEL lOO 10,21 Bll TXTl,DH
TXTl BlO T,M:H0165 S LOCAL ._;E;;._ _ _ _ ....,....,.---( T,C:H0737 T,R:H 0wo
~---~
LABEL llO T,L:24 T,S:Code requête 36 : lecture d'une table de mots
TXTl,M-+ 01 @ SCG116
65
=
64+
1 @de l'esclave 20 octets de réservés pour la table de réception à partir deW25
6 octets pour la table d'émission
10,21 reset du bloc texte
Positionnement des mots reçus (décalage d'un octet)
Chargement de la table
écriture d'un table de mots
Code requête 37 : écriture d'une table de mots
TXTl,M-+ 01 @ SCG116
65 = 64
+
1@ de l'esclave 24 octets pour la table d'émission10,21 reset du bloc texte
Fin de programme de
2- AFFICHAGE DE 16 DEFAUTS OU MESSAGES SUR TERMINAL DE DIALOGUE DE TYPE XBT
Cet exercice consiste à afficher 16 défauts ou messages sur le terminal de dialogue XBT avec une approche industrielle dans la façon d'élaborer le programme.
LABELlO SYO SYl LABEL20 BIOl LABEL30 BIOl WS,O
ws,o
BIOl Bl02 LABEL40 BIOl Bl02st
Ml TB:ls M,P: 1 MODIF:Y R BIOlaptep-info N°69 - octobre 1996
21
Initialisation SYO/SYI Chargement du mot 401(adresse de l'afficheur) pour l'affichage du message sur XBT
Traitement de l'affichage toute les 2 secondes
BIOl
JL.fl_
CWS -+ valeur du premier message à afficher
W6-+ pointeur (compteur) du N° de bit en cours de
test
(de 0 à 15), utilisé pour déterminer le N° de message.
WS-+ décalage circulaire à
droite bits d'états des messages à afficher.
Remise à zéro du compteur Transfert des bits de demande d'affichage
Si tous les bits WS
=
0 affichage sur l' XBT du message O.LABELSO LABEL60 BIOl BIOl T,C:H0714 0 T,R:H
t---=;..awo
T,L:4t---... ,...,_...;;..aT,S:
...
""-'
LABEL70 B61Front d'émission du bloc texte
Bloc texte code requête 14 écriture d'un mot
wo
[]QI]
AdrcascWl
C:JN"
Prise en compte des messages à afficher.
Ce même type de programme peut être étendu et servir de gestion de 96 défauts ou messages en suivant la même procédure de gestion.
3- REGULATION PID SUR AUTOMATE TSX 17-20 31- Principe d•une boucle PID sue automate TSX 17-20:
r-- - - -- - . Mesure ' PID 1---r--1 .... Sortie ain Temps d'intégration Temps de dérivation
L'algorithme de régulation PID inclus dans le système d'exploitation travaille à partir de données et de valeurs de réglage définies par l'utilisateur dans des variables réservées :
-mots système (SW) pour la sélection de la fonctionnalité «régulation PID », -mots constants (CW) pour la configuration et les valeurs fixes (gains, temps ... ) - mots internes (W) pour les mots de travail
- bits internes (B) pour les commandes.
Le fonctionnement de la boucle de régulation comprend trois phases distinctes : -l'acquisition des mesures provenant des capteurs
- l'exécution de l'algorithme de régulation du PID -l'envoi des commandes aux actionneurs
L'acquisition du signal de mesure de la grandeur physique à régler s'effectue à l'aide d'un module d'entrées analogiques (CAN) TSX AEG 4110 (tension) ou TSXAEG 4111 (courant).
L'algorithme PID élabore le signal à partir:
-de la mesure échantillonnée par le module d'entrée
-de la valeur de consigne fixée soit par l'opérateur soit par le programme utilisateur, - des valeurs des différents paramètres de réglage.
Le signal de commande envoyé vers le processus à régler est transmis soit à 1 'aide de sorties analogiques (CNA), soit à l'aide de sorties TOR.
32- Algorithme PID :
Un correcteur PID élabore à partir d'un écart entre une valeur de consigne et une mesure, et des paramètres de réglage (gain, temps d'intégrale et temps de dérivée), une valeur de sortie calculée selon la formule:
S(t)
=
K [ E(t) + lffi JE(t)dt + Td (dE/dt)]8, = K [ E,.
+
L1r!fi
!
EK+
Tdl6.r (E,.-8,..1)]k-<1 S --+ valeur de sortie E --+ valeur de 1' écart K --+ gain proportionnel Ti --+ temps d'intégrale Td --+temps de dérivée ~r --+ période d'échantillonnage
TI s'agit d'un correcteur PID à structure mixte avec bande morte, dérivée sur l'écart et dispositif d'anti-saturation de l'action intégrale.
A la valeur de sortie calculée par le correcteur vient s'ajouter le cas échéant une valeur fixe (décalage d'offset) permettant notamment de compenser l'écart de statisme dans le cas de régulateurs sans intégrale.
La sortie est limitée, si nécessaire, aux valeurs Mini et Maxi imposées par 1 'utilisateur.
Le dispositif d'anti saturation intégrale permet d'éviter de saturer la sortie lors de périodes transitoires importantes (moment où l'écart mesure-consigne est important).
La bande morte sur 1' écart (dispositif optionnel) permet de ne faire réagir le correcteur PID que sur des écarts significatifs évitant ainsi d'actionner intempestivement l'organe de commande.
aptep-info N°69- octobre 1996
,..- - - 1 ' Bande Correcteur PID l - - - --Désaturation action intégrale
Pour obtenir des explications plus complètes se référer au document : TSX 17 Régulation de Télémécanique réf. : TSX DM 17 PPC F.
33- Exemple :
Maintien du
ru
veau constant dans une cuve en, agissant sur le débit de sortie :Cette régulation de
ru
veau s'effectue avec les conditions suivantes :- la mesure de
ru
veau provient d'un capteur de pression dans l'échelle 4-20 mA pour une variation de 0 à 100%,- le débit de sortie est commandé par une servo vanne fonctionnant également en 4-20 mA - la régulation est en service en permanence,
-en cas d'arrêt de l'automate, la sortie est maintenue en état,
- la vanne tout ou rien située sur 1' entrée de la cuve se ferme si le
ru
veau dépasse le seuil de 90 %, -en cas de détection de rupture du capteur, la vanne de sortie doit s'ouvrir à 100%- la consigne, fixée par défaut à 60 %, pourra être modifiée par incrémentationldécrémentation grâce à deux commandes TOR
311- Configuration matérielle :
-Un automate TSX 17-20 équipé d'une cartouche TSX P17 20 FC1/FD1
-La sortie TOR 00,1 est affectée à la commande de la vanne d'entrée TOR
-L'entrée TOR 10,1 est utilisée pour sélectionner le mode de marche AUTO/MANU du régulateur - Les entrées TOR 10,2 et 10,3, permettent de modifier la valeur de la consigne en mode AUTO et la
valeur de la sortie en mode MANU.
-Un module d'entrées analogiques TSX AEG 4111 pour l'acquisition de la mesure de tùveau -Un module de sortie analogiques TSX ASG 2001 pour la commande de la vanne
312- Traitement proposé:
La boucle PID est affectée à la régulation de
ru
veau. Sur une reprise secteur on sélectionne le fonctionnement PL7-2 régulation et le comportement des sorties sur arrêt automate (maintien dans l'état).Le bit de« seuil haut de mesure» du mot d'état est utilisé pour commander la fermeture de la vanne d'entrée.
Les coefficients de la boucle PID seront initialisés à : -Kp=2,5
- Ti = 8 secondes -Td=O
Ces valeurs pourront être modifiées lors du phase de réglage ultérieurement 313- Confaguration des entrées/sorties:
-En Ml module = 27 LOC (TSX AEG 4111 sur l'emplacement 1) -En M2 module= 21 LOC (TSX ASG 2001 sur l'emplacement 2) 314- Initialisation des constantes affectées à la régulation:
Constantes communes CW126
CW127
=
1 Seul le bloc PIDO est validé2 Configuration matérielle : UC
+
AEG+
ASG Constantes du bloc PIDOCW97 = CW98 CW99 = CWlOO CWlOl = CW102 = CW103 CW104 = CW105 = CW106 = CW107 CW108 = CW109 CWllO
=
CWlll = CW112 CW113=
CW114=
CW115=
CW116=
CW117 = CW118 CW119 = CW120=
CW121=
CW122 = CW123 = CW124=
CW125=
600 Consigne par défaut= 60 % 250 Gain=2,5
80 Ti = 8 secondes 0 Td=O
900 Seuil haut de mesure = 90 % 0 Seuil bas de mesure = 0 % 1000 Seuil haut écart = 100 % -1000 Seuil bas écart = 100 %
1000 Sortie maximum = 100 % 0 Sortie minimum= 0 %
0 Non utilisé (période de modulation) 0 Bande morte = 0
0 Bias dur la sortie = 0 1000 Pas de limitation de gradient 1000 Valeur de repli de la sortie
H'OOOO' Action directe 1 mesure brute 1 sortie analogique 0 Valeur du niveau à 0% d'échelle
100 Valeur du niveau à lOO% d'échelle M'%' Unité de la mesure
M'
'
Unité de la mesure M'NI' Nom de la boucleM'V' Nom de la boucle M'BA' Nom de la boucle M'LL' Nom de la boucle M'ON' Nom de la boucle
0 Mesure provenant de la voie 0 du module ASG 0 Sortie sur la voie 0 du module ASG
0 Non significatif
4 Période de traitement = 400 ms
aptep-info N°69 - octobre 1996
315- Programmation de la tâche maître : LABELlO SYl
1
SW43,0~---~~~~
LABEL20 LABEL30 101~---~·~1---~
11,0 LABEL40 LABEL 50 10,2 Le bit SW43,0 provoque l'initialisation de la boucle et notwlunentpourlesparamètres qui possèdent une valeur de repli en zone constante.
Configuration du module
AEG4111
Mode de marche
AUTO/MANUEL
Lecture consigne PIDO , valeur de repli CW97
Incrémentation ou
LABEL60
Limitation
LABEL70
Foi
10[2]OPERAtt~
--+WlO~
Ecriture consigne desortie
LABEL80
~OPERAtt~
WWO? [l]--+
~ Lecture des statuts · (mot d'état PIDO)LABEL90 W7,0