4 Datenfluß
Antwort: 1403023230A0F3 (CRC16 = xF3A0)
Float-Werte
Bei Float-Werten wird im Modbus mit dem IEEE-754-Standard-Format (32bit)
gearbeitet, allerdings mit dem Unterschied, dass Byte 1 und 2 mit Byte 3 und
4 vertauscht sind.
Single-float-Format (32bit) nach Standard IEEE 754
SEEEEEEE
S - Vorzeichen-Bit
E - Exponent (2er-Komplement)
M - 23Bit normalisierte Mantisse
Modbus-float-Format
Beispiel
Abfrage des Float-Wertes von Adresse 0x0035, wenn unter dieser Adresse der
Wert 550.0 (0x44098000 im IEEE-754-Format) steht.
Anfrage: 140300350002D6C0 (CRC16 = C0D6)
Antwort: 140304800044096434 (CRC16 = 3464)
Nach der Übertragung vom Gerät müssen die Byte des Float-Wertes entspre-
chend vertauscht werden.
Viele Compiler (z. B. Microsoft Visual C++) legen die Float-Werte in folgender
Reihenfolge ab:
Float-Wert
Bitte ermitteln Sie, wie in Ihrer Anwendung Float-Werte gespeichert werden.
Ggf. müssen die Byte nach der Abfrage vom Bildschirmschreiber in Ihrem
Schnittstellenprogramm entsprechend getauscht werden.
22
All manuals and user guides at all-guides.com
EMMMMMMM
Byte 1
Modbus-Adresse x
MMMMMMMM
MMMMMMMM
Byte 3
Adresse x
Adresse x+1
MMMMMMMM
MMMMMMMM
Byte 4
MMMMMMMM
Byte 2
Byte 3
SEEEEEEE
Byte 4
Byte 1
Adresse x+2
EMMMMMMM
Byte 3
Byte 2
MMMMMMMM
Byte 4
Modbus-Adresse x+1
EMMMMMMM
Byte 2
Adresse x+3
SEEEEEEE
Byte 1