Gleitkommadatenformat (float), Lange ganzzahl datenformat (uint32) – Basler Electric DECS-250 Benutzerhandbuch

Seite 239

Advertising
background image

9440375990 Rev H

223

Gleitkommadatenformat (Float)

Das Modbus Gleitkommadatenformat verwendet zwei aufeinander folgende Halteregister, um einen
Datenwert zu repräsentieren. Das erste Register beinhaltet die niederwertigsten 16 Bits des folgenden
32-bit Formats:

MSB ist das Vorzeichenbit für den Gleitkommawert (0 = positiv).

Die nächsten 8 Bit sind der Exponent, vorbelastet mit 127 Dezimalstellen.

Die 23 LSB bestehen aus den normalisierten Mantissen. Für das Bit mit dem höchsten Stellenwert
der Mantisse wird stets 1 angenommen, und es wird nicht explizit gespeichert, wobei sich eine
effektive Genauigkeit von 24 Bit ergibt.

Der Wert der Gleitkommazahl wird erhalten, indem die binäre Mantisse mit Zwei multipliziert wird,
potenziert mit dem unvorbelasteten Exponenten. Das angenommene Bit der binären Mantisse hat den
Wert 1,0, wobei die übrigen 23 Bit einen Bruchwert ergeben. Tabelle 21 zeigt das Gleitkommaformat.

Tabelle 21. Gleitkommaformat

Vorzeichen

Exponent + 127

Mantisse

1 Bit

8 Bit

23 Bit

Das Gleitkommaformat ermöglicht Werte im Bereich von etwa 8,43X10

-37

bis 3,38X10

38

. Ein

Gleitkommawert bestehend aus nur Nullen entspricht dem Wert Null. Ein Gleitkommawert bestehend aus
nur Einsen (keine Zahl) entspricht einem Wert 'momentan nicht zutreffend' oder deaktiviert.

Beispiel: Der Wert 95.800 im Gleitkommaformat entspricht einem Hexadezimalwert von 47BB1C00.
Diese Zahl wird aus zwei aufeinander folgenden Halteregistern wie folgt gelesen:

Halteregister

Wert

K (Hi Byte)

hex 1C

K (Lo Byte)

hex 00

K+1 (Hi Byte)

hex 47

K+1 (Lo Byte)

hex BB

Die gleiche Byte Anordnung wird zum Schreiben benötigt.

Lange Ganzzahl Datenformat (Uint32)

Das Modbus Datenformat Lange Ganzzahl verwendet zwei aufeinander folgende Halteregister, um einen
32-bit Datenwert zu repräsentieren. Das erste Register beinhaltet die niederwertigsten 16 Bits und das
zweite Register die höchtswertigen 16-bit.

Beispiel: Der Wert 95.800 im Format Lange Ganzzahl entspricht einem Hexadezimalwert von 0x00017638.
Diese Zahl wird aus zwei aufeinander folgenden Halteregistern wie folgt gelesen:

Halteregister

Wert

K (Hi Byte)

hex 76

K (Lo Byte)

hex 38

K+1 (Hi Byte)

hex 00

K+1 (Lo Byte)

hex 01

Die gleiche Byte Anordnung wird zum Schreiben benötigt.

Ganzzahl Datenformat (Uint16) oder auf Bits abgebildete Variablen im Uint16 Format

Das Modbus Datenformat Ganzzahl verwendet ein einzelnes Halteregister, um einen 16-bit Datenwert zu
repräsentieren.

Beispiel: Der Wert 4660 im Format Ganzzahl entspricht einem Hexadezimalwert von 0x1234. Diese Zahl
wird aus einem Halteregister wie folgt gelesen:

Halteregister

Wert

K (Hi Byte)

hex 12

DECS-250

Modbus™ Kommunikation

Advertising
Dieses Handbuch ist für die folgenden Produkte bezogen werden: