Exemple 2 - Echange d'un esclave vers le système d'un esclave
(Traduction du document original anglais)
Présentation
L'esclave à l'adresse Ad1 = 7 lit une table de 5 mots, à l'aide de la fonction SEND_REQ, au niveau de l'automate esclave à l'adresse Ad0 = 9.
Emission
L'automate émetteur génère une requête correspondant au code 16#0036 (lecture d'objets) :
SEND_REQ(ADDR('0.0.1.7'), 16#0036, %MW200:6, %MW220:4, %MW210:6)
Paramètres de la requête :
Paramètres
Description
ADDR('0.0.1.7')
  • 0 : rack
  • 0 : module
  • 1 : voie 1
  • 7 : adresse émetteur Ad1
16 #0036
requête de données non sollicitée
%MW200 = 16#FE 00
adresse de l'esclave destinataire (Ad0 = 9)
%MW201 = 16#FE 05
%MW202 = 16#00 09
%MW203 = 16#07 68
  • type d'objet = 07 (entier 16 bits)
  • segment = 68 (mots internes)
%MW204 = 50
au format décimal, origine de la table de mots à lire
%MW223 = 12
émission de 6 mots (12 octets)
NOTE : Une fois la fonction exécutée, le mot longueur dans le compte-rendu vaut :
%MW223 = 11 (réception de 11 octets = 10 (5 mots) + 1 (type d'objet)).
Table de réception
Table des mots lus :
Octet 1
Octet 0
%MW210 =
Octet de poids faible du premier mot
07 : type d'objets lus
%MW211 =
Octet de poids faible du deuxième mot
Octet de poids fort du premier mot
%MW212 =
Octet de poids faible du troisième mot
Octet de poids fort du deuxième mot
%MW213 =
Octet de poids faible du quatrième mot
Octet de poids fort du troisième mot
%MW214 =
Octet de poids faible du cinquième mot
Octet de poids fort du quatrième mot
%MW215 =
Non significatif
Octet de poids fort du cinquième mot
L'octet de poids faible du premier mot lu contient le type d'objets lus. Par conséquent, la table de réception est décalée de 1 octet.
Il faut donc prévoir un mot supplémentaire dans la table de réception. Le traitement des données nécessite un algorithme de traitement de ce décalage. Pour les automates Premium, cet algorithme est assuré par la fonction ROR1_ARB.