Communication Modbus - Brodie R100-M Manuel D'utilisation

Table des Matières

Publicité

Page 48

COMMUNICATION MODBUS

Généralités
Le ER100-(M) est équipé du protocole de communication Modbus et peut être équipé de différentes
interfaces physiques RS485. Les tableaux ci-dessous montrent les différentes variables qui peuvent être
accessibles via la communication.
Actuellement, les codes de fonctions pris en charge sont :
Code de fonction 3 « Registres de lecture » (références 4X)
Code de fonction 16 « Registres multiples préréglés » (références 4X).
Le tableau ci-dessous présente les adresses PDU Modbus dans leur représentation décimale, puis leur
représentation hexadécimale (0x0000). Lorsque la plage d'adresse PLC est requise (références 4x
généralement utilisées par les PLC), ajoutez la valeur 40001 à l'adresse PDU Modbus. Par exemple,
avec un adressage basé sur PLC, le numéro de série se lit de la manière suivante : 165 + 40001 =
registre 40166.
Les variables avec plusieurs registres utilisent une représentation des données « gros-boutiste ». Cela
signifie que le registre le plus bas maintient le mot le moins important de la variable. Bien que la plupart
des maîtres Modbus prennent en charge les variables sur 2 registres, les variables sur plusieurs registres
nécessitent parfois de calculer manuellement la valeur résultante.
Il est indispensable de toujours lire / écrire les variables avec plusieurs registres en une seule
action !
L'exemple suivant montre comment les données sont représentées et comment ce calcul peut être
réalisé : Pour une valeur totale de 158928, les données de registre suivante ont été reçues par le maître
Modbus :
Adresse PDU 566
Adresse PDU 567
Adresse PDU 568
Si nous interprétons cette valeur comme un entier non signé de 48 bits , sa valeur est :
0x0000.0002.6CD0 = 158928.
Si cette valeur doit être calculée : 0*65536*65536 + 2*65536 + 27856 = 158928.
Variables d'exécution du ER100-(M)
ADRESSE PDU
REGISTRE
VARIABLE
572d
40573
débit
0x23C
566d
40567
total
0x236
560d
40561
accumulated
0x230
total (total
cumulé)
516d
40517
état d'erreur
0x204
Lecture de débit, total ou total cumulé : les valeurs renvoyées sont données, y compris les décimales, et
représentent la valeur réelle. La valeur donnée peut différer de la valeur qui est affichée sur l'écran - cela
est dû au fait que l'écran est limité quant au nombre de décimales et peut avoir une mise à jour plus lente.
Par exemple lorsque deux décimales sont sélectionnées pour le total et que celui-ci s'élève à 123456,78,
l'écran affiche 23456,78 tandis que la communication lit un « total » de 12345678 (notez que les
décimales doivent être adaptées selon le réglage des décimales du total, soit 2 en l'occurrence).
Effacement du total : il est possible d'effacer le compteur de total en écrivant une valeur de 0 dans les
3 registres de total en une seule action d'écriture. L'écriture de toute autre valeur entraînera un message
d'erreur.
Type
uint16 = entier non signé de 16 bits
uint24 = entier non signé de 24 bits (stocké dans unit32, MSB toujours équivalent à 0)
uint32 = entier non signé de 32 bits
uint48 = entier non signé de 48 bits
char = caractère ASCII de 8 bits
= 0x0000
= 0
= 0x0002
= 2
= 0x6CD0
= 27856
REGISTRES
2
3
3
1
BR-ER100_MAN_v0102_13_FR.docx
R/W TYPE
VALEUR / REMARQUES
R
Uint32 0...9999999, Représentation : unité, heure,
décimales en fonction de variables 48, 49, 50
R
uint48 0...9999999999, Représentation : unité,
décimales en fonction de variables 32, 33
R
uint48 0...99999999999999, Représentation : unité,
décimales en fonction de variables 32, 33
R
Uint16 Champ de bits :
0x0001=Erreur d'affichage
0x0002 =Erreur EEPROM
0x0004 =Erreur d'initialisation EEPROM
0x0010=Erreur de configuration E/S
0x0020=Erreur de configuration E/S
0x0040=Erreur de linéarisation (facteur de mesure
calculé hors plage)

Publicité

Table des Matières
loading

Table des Matières