Description du protocole Modbus
3.6.2
Valeurs de type flottant
Le Versatronic travaille pour les valeurs de type flottant avec le format de la norme
IEEE 754 (32 bits), à la différence toutefois que les octets 1 et 2 sont échangés avec les
octets 3 et 4.
Réponse (valeurs au format flottant Modbus) :
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
Format flottant Modbus
Format flottant simple (32 bits) suivant la norme IEEE 754
Adresse Modbus x
MMMMMMMM
Octet 3
Exemple
Dans cet exemple, la valeur "IN 7 Valeur limite Alarme 1" doit être lue à l'adresse 0x10C9
de l'appareil. La valeur doit être égale à 550.0 (0x44098000 dans le format IEEE 754).
Demande de données :
01
Esclave
Réponse (valeurs au format flottant Modbus) :
01
Esclave
Après le transfert depuis l'appareil, il faut échanger les octets de la valeur de type flottant.
De nombreux compilateurs (par ex. Microsoft Visual C++) manipulent les valeurs de type
flottant dans l'ordre suivant :
Valeur flottante
Adresse x
MMMMMMMM
Octet 4
REMARQUE !
L'ordre des octets dépend de la façon dont les valeurs de type flottant sont
stockées dans l'application utilisée. Le cas échéant, il faut échanger les
octets dans le programme de l'interface.
417102397 Rev. 1-10.2019
EMMMMMMM
Octet 2
MMMMMMMM
Octet 4
03
10 C9
Fonction
Adresse Mot 1
03
04
Fonction
Octets lus
Adresse x+1
MMMMMMMM
Octet 3
MMMMMMMM
Octet 3
Adresse Modbus x+1
SEEEEEEE
Octet 1
00 02
Nombre de mots
80 00
44 09
Valeur flottante
Adresse x+2
EMMMMMMM
Octet 2
24
MMMMMMMM
Octet 4
EMMMMMMM
Octet 2
10 F5
CRC
20 F5
CRC
Adresse x+3
SEEEEEEE
Octet 1