8.1
Format de transmission
Valeurs entières
Valeurs flottantes
3.00/Manuel de référence JUMO mTRON
Avec le protocole MOD-Bus, les valeurs entières sont transmises sous la forme
suivante : d'abord l'octet de poids fort, ensuite l'octet de poids faible.
Exemple : écriture de la valeur entière 1 (= 0x0001) à l'adresse 0x00EB :
010600EB0001383E
Le protocole MOD-Bus traite les valeurs flottantes conformément au format standard
IEEE-754 (32 bits) ; toutefois il y a une différence : l'octet 1 est échangé avec l'octet 3,
l'octet 2 avec l'octet 4.
Format des valeurs flottantes selon la norme IEEE 754 (32 bits)
SEEEEEEE
octet 1
S - Bit de signe
E - Exposant (complément à 2)
M - Mantisse normalisée sur 23 bits
Format des valeurs flottantes avec le protocole MOD-Bus
Adresse MOD-Bus x
MMMMMMMM
octet 3
Exemple :
écriture de la valeur flottante 550.0 (= 0x44098000 dans le format IEEE-754)
à l'adresse 0x00FB : 011000FB00020480004409679E
Avant de transmettre une valeur flottante à un appareil, ou bien après avoir reçu une
valeur flottante envoyée par un appareil, il faut échanger les octets de cette valeur.
De nombreux compilateurs (par ex. Microsoft C++, Turbo C++, Turbo Pascal, Keil C51)
manipulent les valeurs flottantes dans l'ordre suivant :
Valeur flottante
Adresse x
Adresse x+1
MMMMMMMM
MMMMMMMM
octet 4
EMMMMMMM
MMMMMMMM
octet 2
MMMMMMMM
SEEEEEEE
octet 4
Adresse x+2
EMMMMMMM
octet 3
8 Flux des données
MMMMMMMM
octet 3
Adresse MOD-Bus x+1
EMMMMMMM
octet 1
Adresse x+3
SEEEEEEE
octet 2
octet 1
octet 4
octet 2
9–35