Télécharger Imprimer la page

JUMO LOGOSCREEN Mode D'emploi page 21

Masquer les pouces Voir aussi pour LOGOSCREEN:

Publicité

6.1 Format des données
Valeurs
entières
Valeurs
flottantes
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 : consultation de la valeur entière à l'adresse 0x0000
lorsque le contenu à cette adresse est 12 (0x000C).
Demande : 010300000001840A (CRC16 = 0x0A84)
Réponse : 010302000CB841 (CRC16 = 41B8)
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 : consultation de la valeur flottante à l'adresse 0x0035
lorsque le contenu à cette adresse est 550.0
(0x44098000 au format IEEE-754).
Demande : 010300350002D405 (CRC16 = 05D4)
Réponse : 0103048000440920F5 (CRC16 = F520)
Après avoir reçu une valeur flottante envoyée par l'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
Déterminez le mode de stockage des valeurs flottantes dans votre application.
Le cas échéant, après la consultation de l'enregistreur, il faudra échanger les
octets dans votre programme d'interface.
EMMMMMMM
MMMMMMMM
octet 2
MMMMMMMM
SEEEEEEE
octet 4
Adresse x+2
EMMMMMMM
octet 3
6 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
19

Publicité

loading