Description du protocole Modbus
3.5
Types de données
Type de
données Description
L'octet de poids faible (low) d'un mot est un nombre entier ;
l'octet de poids fort (high) n'est pas utilisé.
Plages de valeurs :
Byte (octet)
n
n
Mot (16 bits), valeur de type entier
Plages de valeurs :
Word (mot)
n
n
2 mots, valeur à virgule flottante sur 32 bits, avec codage
sui- vant IEEE 754 ; attention : les octets 1 et 2 sont
échangés lors du transfert avec les octets 3 et 4.
S = bit de signe
E = exposant (complément à 2)
M = mantisse normalisée sur 23 bits
Codage suivant la norme IEEE 754
octet 1
SEEEE
EEE
Codage Modbus de variables de type flottant dans le
Versatronic
Adresse du
Float
er
1
octet 3
MMMMMMMM
Lors de la création d'une application propre au client, il faut
vérifier que l'ordre des octets est correct lors du stockage.
De nombreux ordinateurs utilisent le format de stockage
suivant :
Codage dans le compilateur
octet 4
MMMM
MMMM
adresse
x
Mot double (32 bits), valeur de type entier non signé
Uint32
Plage de valeur : 0 à 4.294.967.295
Chaîne de caractères pour max. 20 caractères Unicode,
codés UTF-8 avec max. 3 octets par caractère
Par conséquent la chaîne de caractères est composée au
total de max. 60 octets. Chacun des 30 mots du registre
char[60]
Modbus contient 2 octets consécutifs de la chaîne de
caractères.
Il faut veiller à ce que la chaîne de caractères contienne
toujours en dernier un "\0" (code ASCII 0x00) comme
caractère de fin.
Bit de poids le plus faible d'un mot, valeur de type bit
Bool
0000 0000 0000 0001 = 1 ou TRUE (vrai)
0000 0000 0000 0000 = 0 ou FALSE (faux)
417102397 Rev. 1-10.2019
0 à 255 pour les données non signées
-128 à 127 pour les données signées
0 à 65535 pour les données non signées
-32768 à 32767 pour les données signées
octet 2
octet 3
EMMMMMMM
MMMMMMMM
registre Modbus des variables
octet 4
MMMMMMMM
octet 3
octet 2
octet 1
MMMM
EMMM
SEEEEEEE
MMMM
MMMM
adresse
adresse
adresse x+3
x+1
x+2
Accès
en lecture
seule
lu/ lu
rédiger
en lecture
seule
lu/ lu
rédiger
en lecture
seule
octet 4
MMMM
MMMM
Adresse des
2
e
registre Modbus
lu/ lu
des variables
rédiger
octet 1
octet 2
SEEEE
EMMM
EEE
MMMM
en lecture
seule
lu/ lu
rédiger
en lecture
seule
lu/ lu
rédiger
en lecture
seule
lu/ lu
rédiger
22
Codes
de
fonction
Nombre
possible
registres
s
Modbus
03, 04
1
03, 04, 06,
16
03, 04
1
03, 04, 06,
16
03, 04
2
03, 04, 16
03, 04
2
03, 04, 16
03, 04
30
03, 04, 06,
16
03, 04
1
03, 04, 06,
16