7. Datenzugriff mittels Modbus RTU-Protokoll
Anfragen an das ISOMETER® erfolgen mittels Funktionscode 0x03 (mehrere Register le-
sen) oder dem Befehl 0x10 (mehrere Register schreiben). Das ISOMETER® generiert eine
funktionsbezogene Antwort und sendet diese zurück.
7.1 Modbus Register aus ISOMETER® auslesen
Mit dem Funktionscode 0x03 werden die gewünschten Words des Prozessabbilds aus
den „Holding Registers" des ISOMETER®s ausgelesen. Dazu sind die Startadresse und die
Anzahl der auszulesenden Register anzugeben. Bis zu 125 Words (0x7D) können in einer
Abfrage ausgelesen werden.
7.1.1 Befehl des Masters an das
Im nachfolgenden Beispiel fragt der Master vom ISOMETER® mit der Adresse 3 den Inhalt
des Registers 1003 an. Das Register enthält die Kanalbeschreibung von Messkanal 1.
Byte
Name
Byte 0
Modbus-Adresse des ISOMETER®
Byte 1
Funktionscode
Byte 2, 3
Startadresse
Byte 4, 5
Anzahl Register
Byte 6, 7
CRC16 Checksumme
7.1.2 Antwort des ISOMETER®s an den Master
Byte
Name
Byte 0
Modbus-Adresse des ISOMETER®
Byte 1
Funktionscode
Byte 2
Anzahl Datenbytes
Byte 3, 4
Daten
Byte 7, 8
CRC16 Checksumme
isoHV425_D00082_01_M_XXDE/05.2018
ISOMETER®
Beispiel
0x03
0x03
0x03EB
0x0001
0xF598
Beispiel
0x03
0x03
0x02
0x0047
0x81B6
Datenzugriff mittels Modbus RTU-Protokoll
7.2 Modbus-Register schreiben (Parametrierung)
Mit dem Modbus Befehl 0x10 (mehrere Register setzen) können Register im Gerät ver-
ändert werden. Parameter-Register liegen ab Adresse 3000 vor. Der Inhalt der Register
kann der Tabelle auf entnommen werden.
7.2.1 Befehl des Masters an das ISOMETER®
In diesem Beispiel wird in dem ISOMETER® mit Adresse 3, der Inhalt der Register-Adresse
3003 auf 2 gesetzt.
Byte
Name
Byte 0
ISOMETER® Modbus-Adresse
Byte 1
Funktionscode
Byte 2, 3
Startregister
Byte 4, 5
Anzahl der Register
Byte 6
Anzahl Datenbytes
Byte 7, 8
Daten
Byte 9, 10
CRC16 Checksumme
7.2.2 Antwort des ISOMETER®s an den Master
Byte
Name
Byte 0
ISOMETER® Modbus-Adresse
Byte 1
Funktionscode
Byte 2, 3
Startregister
Byte 4, 5
Anzahl der Register
Byte 6, 7
CRC16 Checksumme
Beispiel
0x03
0x10
0x0BBB
0x0001
0x02
0x0002
0x9F7A
Beispiel
0x03
0x10
0x0BBB
0x0001
0x722A
21