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