2.6.2
Float-Werte
Der JUMO AQUIS touch S arbeitet bei Float-Werten mit dem IEEE-754-Standard-Format
(32 Bit), allerdings mit dem Unterschied, dass Byte 1 und 2 mit Byte 3 und 4 vertauscht sind.
Single-Float-Format (32 Bit) nach Standard IEEE 754
SEEEEEEE
Byte 1
S - Vorzeichen-Bit
E - Exponent (2er-Komplement)
M - 23 Bit normalisierte Mantisse
Modbus-Float-Format
MMMMMMMM
Byte 3
Beispiel
In diesem Beispiel soll der Wert „IN 7 Grenzwert Alarm 1" an Adresse 0x10C9 des Gerätes ausgelesen
werden. Der Wert soll hier 550.0 (0x44098000 im IEEE-754-Format) sein.
Datenanfrage:
01
Slave
Antwort (Werte im Modbus-Float-Format):
01
Slave
Nach der Übertragung vom Gerät müssen die Bytes des Float-Wertes entsprechend vertauscht werden.
Viele Compiler (z.B. Microsoft Visual C++) legen die Float-Werte in folgender Reihenfolge ab:
Float-Wert
Adresse x
MMMMMMMM
Byte 4
HINWEIS!
Die Reihenfolge der Bytes hängt davon ab, wie Float-Werte in der betreffenden Anwendung gespeichert
werden. Eventuell müssen die Bytes im Schnittstellenprogramm entsprechend vertauscht werden.
EMMMMMMM
Byte 2
Modbus-Adresse x
MMMMMMMM
Byte 4
03
Funktion
Adresse
03
Funktion
Adresse x+1
MMMMMMMM
Byte 3
2 Modbus-Protokollbeschreibung
MMMMMMMM
Byte 3
SEEEEEEE
Byte 1
10 C9
00 02
Wortanzahl
1. Wort
04
80 00
Bytes
gelesen
Adresse x+2
EMMMMMMM
Byte 2
MMMMMMMM
Modbus-Adresse x+1
EMMMMMMM
10 F5
CRC
44 09
Float-Wert
Adresse x+3
SEEEEEEE
Byte 4
Byte 2
20 F5
CRC
Byte 1
15