Esclave
3.7
Formats de transmission (valeurs de types entier, flottant, double et
texte)
Pour lire des valeurs de types entier, flottant, double et texte, il faut utiliser la fonction 0x03 ou 0x04 (lec-
ture de n mots).
Demande de données
Adresse de l'es-
clave
1 octet
Les valeurs de type entier sont transmises par Modbus dans le format suivant :
d'abord l'octet de poids fort, puis l'octet de poids faible.
Réponse
Adresse de l'es-
clave
1 octet
3.7.1
Valeurs de type entier
Exemple
Dans cet exemple fictif, il faut lire une valeur de type entier à l'adresse 0x11F1. La valeur sera ici "4"
(valeur du mot = 0x0004).
Demande de données :
01
Esclave
Réponse :
01
Esclave
3.7.2
Valeurs de type flottant
Le protocole Modbus traite les valeurs flottantes conformément au format standard IEEE-754 (32 bits) ;
toutefois il y a une différence : les octets 1 et 2 sont échangés avec les octets 3 et 4.
Format flottant simple (32 bits) suivant la norme IEEE 754
SEEEEEEE
Octet 1
S - Bit de signe
E - Exposant (complément à 2)
M - Mantisse normalisée sur 23 bits
3 Description du protocole Modbus
Fonction
Adresse
Mot 1
Fonction
0x03 ou 0x04
1 octet
Fonction
0x03 ou 0x04
1 octet
03
11 F1
Fonction
Adresse
Mot 1
03
02
Fonction
Octets
lus
EMMMMMMM
Octet 2
Nombre de
CRC
mots
Adresse
Nombre de mots
du premier mot
2 octets
2 octets
Nombre
Valeur du ou des
d'octets lus
mots
1 octet
x octets
00 01
Nombre de
mots
00 04
Valeur de type
entier
MMMMMMMM
Octet 3
Somme de
contrôle CRC
2 octets
Somme de
contrôle
CRC
2 octets
D0 C5
CRC
B9 87
CRC
MMMMMMMM
Octet 4
17