Utilisation de la fonction élémentaire EF SEND_REQ pour la gestion des modules de la série 7 avec des registres étendus et des registres messages
(Traduction du document original anglais)
Présentation
Certains modules de la série 7 ont un mode de fonctionnement spécifique pour la gestion des voies analogiques et pour la gestion de leur configuration interne. Ils disposent de deux zones de mémoires internes appelées respectivement « registres étendus » et « registres messages ».
La première permet la gestion des voies analogiques et la seconde la gestion des modes de configuration des modules.
ATTENTION
FONCTIONNEMENT INATTENDU DE L'EQUIPEMENT
La lecture ou l'écriture d'un registre étendu peut demander plusieurs tâches MAST ; pour limiter le nombre de cycles, il est recommandé d'augmenter la période de réalisation de ces tâches.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
Gestion sous PL7-3
Le logiciel PL7-3 permettait, par l'utilisation des fonctionnalités « envoi de bloc texte, lecture/écriture explicite » de communiquer avec les zones registres étendus et registres messages de ces modules Série 7.
Le tableau ci-dessous décrit les différentes fonctions PL7-3 de dialogue avec les registres étendus et messages :
Instruction
Signification
READEXT
Lecture des registres étendus d'un module Série 7 et stockage dans un mot interne automate.
WRITEEXT
Ecriture des registres étendus d'un module Série 7 à partir d'un mot interne automate.
TXT CPL
Bloc texte de type coupleur permettant l'envoi de mots internes automate et la réception de données pour la configuration, la lecture de données et le diagnostic d'un module Série 7.
NOTE : pour toute information complémentaire sur l'utilisation des instructions de lecture/écriture explicite et sur l'envoi de blocs texte (procédure de transfert d'une configuration, par exemple), consultez la documentation TSX Série 7.
Gestion sous Control Expert
Le coupleur TSX ESY 007 permet, par l'utilisation de la fonction élémentaire SEND_REQ, de reproduire le mode de fonctionnement des instructions PL7-3 de gestion des modules Série 7 à registres étendus et messages.
Avec le coupleur TSX ESY 007, la fonction élémentaire SEND_REQ s'utilise de la manière suivante :
SEND_REQ(ADDR('r.m.SYS'),C,%MWx:x,%MWy:4,%MWz:z); avec
Illustration
Envoi d'une requête d'identification
if RE (%M0) then
%mw13:= 0;
SEND_REQ(ADDR('0.4.SYS'),16#0F,%MW0:1,%MW10:4,%MW100:24);
end_if;
Illustration
Envoi d'une requête de lecture d'objet
if RE (%M0) then
%mw13:= 8;
%MW0: = 16#0696;
%MW1: = 16#0101;
%MW2: = 16#00FF;
%MW3: = 16#0001;
SEND_REQ(ADDR('0.4.SYS'),16#82,%MW0:4,%MW10:4,%MW100:24);
end_if;
La table contenant les données à envoyer au coupleur (%MW0:4 dans l'illustration ci-dessus) contient une suite d'octets représentant la requête à émettre. Le contenu et la longueur de cette table dépend du type de requête à envoyer.
La table de gestion de l'échange avec le coupleur (%MW10:4 dans l'illustration ci-dessus) est une table de 4 mots contenant les informations suivantes :
Numéro du mot
Poids fort du mot
Poids faible du mot
Données système
1
Numéro d'échange
Bit d'activité
2
Réponse requête
Résultat communication
Données utilisateur
3
Timeout à appliquer à la requête
4
Longueur de la requête à émettre, puis longueur reçue en réponse
La table de réception (%MW100:24 dans l'illustration ci-dessus) contient la requête de réponse envoyée par le module TSX ESY 007. Le contenu et la longueur de cette table dépendent du type de requête envoyée.
Lecture des registres étendus
Pour reproduire l'utilisation de l'instruction READEXT à l'aide du coupleur TSX ESY 007, les paramètres de la fonction élémentaire SEND_REQ sont les suivants :
Paramètre
Signification
Valeurs (hexadécimal)
ADDR(‘r.m.SYS’)
codage de l'adresse du coupleur TSX ESY 007
C
code requête
82
%MWx:4
table contenant les données à émettre
0696,FFii,00FF,0001 avec ii l'adresse du module Série 7 destinataire (rack*8 + module = 0 à 127)
%MWy:4
table de gestion de l'échange
xxxx,xxxx (résultat échange), 000A (timeout pour l'échange), 0008 (longueur pour l'émission sauf pour les modules DEM24xx avec le code requête 1 qui nécessite une longueur de 12)
%MWz:20
table de réception de la réponse
uniquement si réponse
Les tables de gestion et de réception contiennent les données suivantes si l'échange s'est bien passé :
Illustration
if RE (%M1) then
%mw13:= 8;
%MW0: = 16#0696;
%MW1: = 16#FF01;
%MW2: = 16#00FF;
%MW3: = 16#0001;
SEND_REQ(ADDR('0.4.SYS'),16#82,%MW0:4,%MW10:4,%MW100:20);
end_if;
NOTE : l'utilisation de l'EF SEND_REQ pour reproduire une instruction READEXT n'est possible que sur les modules suivants : TSX AEM 821, TSX AEM 1212, TSX AEM 1601, TSX AEM 1602 et TSX AEM 1613.
Ecriture des registres étendus
Pour reproduire l'utilisation de l'instruction WRITEEXT à l'aide du coupleur TSX ESY 007, les paramètres de la fonction élémentaire SEND_REQ sont les suivants :
Paramètre
Signification
Valeurs (hexadécimal)
ADDR(‘r.m.SYS’)
codage de l'adresse du coupleur TSX ESY 007
C
code requête
83
%MWx:20
table contenant les données à émettre
0696,FEii,00FF,0001,jj...jj avec ii l'adresse du module Série 7 destinataire (rack*8 + module = 0 à 127) et jj...jj les données des 8 registres du module TSX ASR 800
%MWy:4
table de gestion de l'échange
xxxx,xxxx (résultat échange), 000A (timeout pour l'échange), 0018 (longueur pour l'émission)
%MWz:4
table de réception de la réponse
uniquement si réponse
Les tables de gestion et de réception contiennent les données suivantes si l'échange s'est bien passé :
Illustration
if RE (%M2) then
%mw13:= 16#28;
%MW0: = 16#0696;
%MW1: = 16#FE01;
%MW2: = 16#00FF;
%MW3: = 16#0001;
%MW4: = 16#1234;
...
SEND_REQ(ADDR('0.4.SYS'),16#83,%MW0:20,%MW10:4,%MW100:4);
end_if;
NOTE : l'utilisation de la fonction élémentaire SEND_REQ pour reproduire une instruction WRITEEXT n'est possible que sur le module TSX ASR 800.
Lecture des registres messages
Pour reproduire l'utilisation de l'envoi d'un bloc texte pour la lecture de données à l'aide du coupleur TSX ESY 007, les paramètres de la fonction élémentaire SEND_REQ sont les suivants :
Paramètre
Signification
Valeurs (hexadécimal)
ADDR(‘r.m.SYS’)
codage de l'adresse du coupleur TSX ESY 007
C
code requête
82
%MWx:4
table contenant les données à émettre
0696,jjii,00FF,00kk, nn...nn avec ii l'adresse du module Série 7 destinataire (rack*8 + module = 0 à 127), jj le code requête (1=lecture données, 3=lecture seuil 0, 5=lecture seuil 1, 41=lecture configuration, 47=lecture chaîne par défaut, 4A=lecture nom application, F=lecture version, F7=lecture paramètres) et kk la longueur des données à lire en octets (voir tableau ci-dessous)
%MWy:4
table de gestion de l'échange
xxxx,xxxx (résultat échange), 000A (timeout pour l'échange), 0008 (longueur pour l'émission)
%MWz:zz
table de réception de la réponse
uniquement si réponse
Les tables de gestion et de réception contiennent les données suivantes si l'échange s'est bien passé :
Module TSX Série 7
Code Requête (Hexa.)
Longueur (Décimal)
Signification
AEM 411/412/413
41
4 à 36 octets
Lecture configuration
47
6 octets
Lecture chaîne de caractères par défaut
4 A
1 à 20 octets
Lecture nom application
F
27 octets
Lecture version
AEM 811/821
1
16 octets
Lecture 8 voies ANA
3
16 octets
Lecture seuil 0
5
16 octets
Lecture seuil 1
41
4 à 68 octets
Lecture configuration
47
10 octets
Lecture chaîne de caractères par défaut
4 A
1 à 20 octets
Lecture nom application
F
27 octets
Lecture version
AEM 1212
1
26 octets
Lecture 12 voies ANA + Soudure froide
41
74 octets
Lecture configuration
47
10 octets
Lecture chaîne de caractères par défaut
4 A
1 à 20 octets
Lecture nom application
F
27 octets
Lecture version
AEM 1601/1602
1
32 octets
Lecture 16 voies ANA
41
34 octets
Lecture configuration
47
12 octets
Lecture chaîne de caractères par défaut
4 A
1 à 20 octets
Lecture nom application
F
27 octets
Lecture version
AEM 1613
1
32 octets
Lecture 16 voies ANA
3
32 octets
Lecture seuil 0
5
32 octets
Lecture seuil 1
41
98 octets
Lecture configuration
47
12 octets
Lecture chaîne de caractères par défaut
4 A
1 à 20 octets
Lecture nom application
F
27 octets
Lecture version
CCM 100
41
16/18 ou 6 à 92 octets
Lecture configuration
47
4 octets
Lecture chaîne de caractères par défaut
4 A
1 à 20 octets
Lecture nom application
F
27 octets
Lecture version
CTM 100/DTM 100
41
16 ou 6 à 108 octets
Lecture configuration
47
4 octets
Lecture chaîne de caractères par défaut
4 A
1 à 20 octets
Lecture nom application
F
27 octets
Lecture version
F7
2 octets
Lecture paramètres avant PWF
DEM 24xx
1
1 à 234 octets
Lecture des consignes
41
18 octets
Lecture configuration
47
12 octets
Lecture chaîne de caractères par défaut
4 A
1 à 20 octets
Lecture nom application
F
27 octets
Lecture version
Ecriture des registres messages
Pour reproduire l'utilisation de l'envoi d'un bloc texte pour l'écriture de données à l'aide du coupleur TSX ESY 007, les paramètres de la fonction élémentaire SEND_REQ sont les suivants :
Paramètre
Signification
Valeurs (hexadécimal)
ADDR(‘r.m.SYS’)
codage de l'adresse du coupleur TSX ESY 007
C
code requête
83
%MWx:xx
table contenant les données à émettre
0696,jjii,00FF,00kk, nn...nn avec ii l'adresse du module Série 7 destinataire (rack*8 + module = 0 à 127), jj le code requête (2=écriture seuil 0 ou temps, 4=écriture seuil 1, 40=écriture configuration, 49=écriture nom application) et kk la quantité de données en octets en fonction de la requête (voir tableau ci-dessous) et nn...nn les données à émettre
%MWy:4
table de gestion de l'échange
xxxx,xxxx (résultat échange), 000A (timeout pour l'échange), 00mm (longueur pour l'émission avec mm=kk+8)
%MWz:4
table de réception de la réponse
uniquement si réponse
Les tables de gestion et de réception contiennent les données suivantes si l'échange s'est bien passé :
Module TSX Série 7
Code Requête (Hexa.)
Longueur (Décimal)
Signification
AEM 411/412/413
40
4 à 36 octets
Ecriture configuration
49
1 à 20 octets
Ecriture nom application
AEM 811/821
2
16 octets
Ecriture seuil 0
4
16 octets
Ecriture seuil 1
40
4 à 68 octets
Ecriture configuration
49
1 à 20 octets
Ecriture nom application
AEM 1212
40
74 octets
Ecriture configuration
49
1 à 20 octets
Ecriture nom application
AEM 1601/1602
40
34 octets
Ecriture configuration
49
1 à 20 octets
Ecriture nom application
AEM 1613
2
32 octets
Ecriture seuil 0
4
32 octets
Ecriture seuil 1
40
98 octets
Ecriture configuration
49
1 à 20 octets
Ecriture nom application
CCM 100
40
16/18 ou 6 à 92 octets
Ecriture configuration
49
1 à 20 octets
Ecriture nom application
CTM 100/DTM 100
40
16 ou 6 à 108 octets
Ecriture configuration
49
1 à 20 octets
Ecriture nom application
DEM 24xx
2
8 octets
Ecriture
40
18 octets
Ecriture configuration
49
1 à 20 octets
Ecriture nom application
Gestion des erreurs
En cas d'erreur d'exécution de l'échange entre la fonction élémentaire SEND_REQ et le module TSX ESY 007, un code requête erreur (16#FD) est retourné dans le deuxième mot de la table de gestion de l'échange.
Un retour 16#FD peut avoir les significations suivantes :