Format de données à virgule flottante (float) – Basler Electric DGC-2020HD Modbus Protocol Manuel d'utilisation

Page 15

Advertising
background image

9469370991 Rev A

9

DGC-2020HD Protocole Modbus

General Information

Types de données mappées sur plus de 2 registres

o Chaînes d'au moins 4 caractères (String)

Format de données à virgule flottante (Float)

Le format de données à virgule flottante Modbus utilise deux registres propriétaires consécutifs pour
représenter une valeur de données. Le premier registre contient les 16 bits de poids faible du format
32 bits suivant :

MSB représente le bit-signe de la valeur de virgule flottante (0 = positif).

Les 8 bits suivants représentent l'exposant décalé de 127 décimales.

Les 23 LSB comportent la mantisse standardisée. Il est toujours supposé que le bit le plus
important de la mantisse est « 1 », lequel n'est pas explicitement enregistré, entraînant une
précision effective de 24 bits.

La valeur du nombre de virgule flottante est obtenue en multipliant la mantisse binaire par deux à la
puissance de l'exposant non décalé. Le bit supposé de la mantisse binaire à une valeur de « 1.0 » et les
23 bits suivants donnent une valeur fractionnelle. Le Tableau 4 illustre le format de virgule flottante.

Tableau 4. Format des données à virgule flottante

Signe

Exposant + 127

Mantisse

1 bit

8 bits

23 bits

Le format à virgule flottante autorise des valeurs d'environ 8,43X10^

-37

à 3,38X10^

38

. Une valeur à virgule

flottante ne comportant que des zéros correspond à la valeur zéro. La valeur à virgule flottante ne
comportant que des 1 (pas un nombre) indique une valeur actuellement non applicable ou désactivée.

Exemple : La valeur 95 800 représentée au format à virgule flottante correspond à la valeur hexadécimale
47BB1C00. Cette valeur effectue une lecture à partir de deux registres propriétaires consécutifs comme
suit :

Registre propriétaire
K (octet Hi)

hex 1C

Valeur

K (octet Lo)

hex 00

K+1 (octet Hi)

hex 47

K+1 (octet Lo)

hex BB

Les mêmes alignements d'octets sont obligatoires pour l'écriture.

Format de données à entier long (Uint32, Int32 et IP Address)

Le format de données à entier long Modbus utilise deux registres propriétaires consécutifs pour
représenter une valeur de données 32 bits. Le premier registre contient les 16 bits de poids faible et le
second, les 16 bits de poids fort.

Exemple : La valeur 95 800 représentée au format à entier long correspond à la valeur hexadécimale
0x00017638. Cette valeur effectue une lecture à partir de deux registres propriétaires consécutifs comme
suit :

Registre propriétaire
K (octet Hi)

hex 76

Valeur

K (octet Lo)

hex 38

K+1 (octet Hi)

hex 00

K+1 (octet Lo)

hex 01

Les mêmes alignements d'octets sont obligatoires pour l'écriture.

Format de données à entier (Uint16) ou variables mappées par bit au format Uint16

Le format de données à entier Modbus utilise un seul registre propriétaire pour représenter une valeur de
données 16 bits.

Advertising