Funktion 4: READ INPUT REGISTERS
Die Funktion READ INPUT REGISTERS ließt die analogen Eingänge aus.
In diesem Beispiel werden die ersten zwei analogen Eingänge des Slaves mit der Nummer 11 gelesen. Die analogen Ausgänge beginnen bei einem Offset von 0x0000. Die Länge bezeichnet die Anzahl der zu lesenden Worte. Eine KL3002 hat 2 Worte Eingangsdaten, daher ist die einzugebende Länge bei "Anzahl low" zwei.
Anfrage (Query)
Byte Name |
Modbus RTU |
Modbus ASCII | ||
---|---|---|---|---|
Start - Rahmen |
- |
- |
":" |
0x3A |
Adresse |
11 |
0x0B |
"0B" |
0x30, 0x42 |
Funktions-Code |
4 |
0x04 |
"04" |
0x30, 0x34 |
Start-Adresse high |
0 |
0x00 |
"00" |
0x30, 0x30 |
Start-Adresse low |
0 |
0x00 |
"00" |
0x30, 0x30 |
Anzahl high |
0 |
0x00 |
"00" |
0x30, 0x30 |
Anzahl low |
2 |
0x02 |
"02" |
0x30, 0x32 |
Error Check, LRC/CRC |
|
0x71, 0x61 |
"EF" |
0x45, 0x46 |
Ende - Rahmen |
|
t1-t2-t3 |
CRLF |
0x0D, 0x0A |
Der Feldbus-Koppler-Box antwortet mit dem Byte Count 4, d.h. 4 Byte Daten kommen zurück. Die Anfrage waren 2 analog Kanäle, die jetzt auf 2 Worte aufgeteilt werden. Im analogen Eingangsprozessabbild hat der 1. Kanal einen Wert von 0x0038 und der 2. Kanal 0x3F1B.
Antwort (Response)
Byte Name |
Modbus RTU |
Modbus ASCII | ||
---|---|---|---|---|
Start - Rahmen |
- |
- |
":" |
0x3A |
Adresse |
11 |
0x0B |
"0B" |
0x30, 0x42 |
Funktions-Code |
4 |
0x04 |
"04" |
0x30, 0x34 |
Byte Count |
4 |
0x04 |
"04" |
0x30, 0x34 |
Daten 1 High-Byte |
0 |
0x00 |
"00" |
0x30, 0x30 |
Daten 1 Low-Byte |
56 |
0x38 |
"38" |
0x33, 0x38 |
Daten 2 High-Byte |
63 |
0x3F |
"3F" |
0x33, 0x46 |
Daten 2 Low-Byte |
11 |
0x0B |
"0B" |
0x30, 0x42 |
Error Check, LRC/CRC |
|
0x80, 0x7E |
"6A" |
0x36, 0x41 |
Ende - Rahmen |
|
t1-t2-t3 |
CRLF |
0x0D, 0x0A |