2 Modbus-Protokollbeschreibung
Datentyp Beschreibung
float
2 Wörter als 32-Bit-Fließkommazahl mit Kodierung nach IEEE
754, wobei die korrekte Reihenfolge der Übertragung der 4
Bytes bei der Übertragung beachtet werden muss. In der Kon-
figuration der RS485-Schnittstelle kann die gewünschte Ko-
dierung in der Einstellung „Gleitkommaformat" ausgewählt
werden.
S = Vorzeichenbit
E = Exponent (2er-Komplement)
M = 23 Bit normalisierte Mantisse
Byte 1
SE EEEEEE
7
Byte 1
M MMMMMMM
7
Byte 1
1. Modbus-Register
M MMMMMMM
15
long
Doppelwort (32 Bit) als vorzeichenloser ganzzahliger Wert
Wertebereich: 0 bis 4.294.967.295
string[n]
Zeichenkette für eine Länge von bis zu n Bytes. Die Zeichen-
kodierung der einzelnen Variablen ist den Modbus-Adressta-
bellen im letzten Kapitel dieses Dokuments zu entnehmen.
Als Zeichensatz-Kodierungen treten UTF-8, ISO 8859-1 oder
ASCII-Kodierung auf.
Jedes der n Modbus-Register-Worte enthält 2
aufein ander folgende Bytes der Zeichenkette.
Es ist zu beachten, dass die Zeichenkette als letztes Zeichen
immer ein „\0" (ASCII-Code 0x00) als Ende-Kennung enthal-
ten muss. Außerdem muss die Zeichenkettenlänge insgesamt
eine gerade Byte-Anzahl aufweisen. Um das zu gewährleisten
muss bei ungerader Byte-Anzahl inklusive „/0" ein zusätzli-
ches „/0" angehängt werden.
2.6
Beispiele für die Übertragung von Daten
Zum Auslesen von Ganzzahl-, Float- und Text-Werten wird die Funktion 0x03 oder 0x04 (Einlesen von
n Worten) verwendet.
Datenanfrage
Slave-Adresse
1 Byte
12
IEEE 754 Big Endian
Byte 2
Byte 3
E M MMMMMM
M MMMMMMM
1
0
23
16
15
IEEE 754 Little Endian
Byte 2
Byte 3
E M MMMMMM
M MMMMMMM
0
15
8
0
23
Standard-Modbus-Kodierung
Byte 2
Byte 3
M MMMMMMM
SE EEEEEE
8
7
0
Funktion
0x03 oder 0x04
1 Byte
Byte 4
M MMMMMMM
8
7
Byte 4
SE EEEEEE
16
7
Byte 4
2. Modbus-Register
E M MMMMMM
7
1
0
23
Adresse
erstes Wort
2 Bytes
Zugriff
Mögliche
Funktionscodes
read only 03, 04
read/
03, 04, 16
write
0
1
16
read only 03, 04
read/
03, 04, 16
write
read only 03, 04
read/
03, 04, 06, 16
write
Wortanzahl
2 Bytes
Anzahl
Modbus-
Register
2
2
n/2
Checksumme
CRC
2 Bytes