Funktion 23: Schreiben und Lesen mehrerer analoger Aus- oder Eingänge

Mit der Funktion 23 können mehrere analoge Ausgänge beschrieben und in einem Telegramm mehrere analoge Eingänge gelesen werden. In diesem Beispiel werden die ersten 2 analogen Ausgangsworte beschrieben und die ersten zwei analogen Eingänge gelesen. Die analogen Ausgänge beginnen beim Offset 0x0800 und die Eingänge ab dem Offset 0x0000. Hier beschreibt der Offset immer ein Wort. Der Offset 0x0003 schreibt ab dem 4. Wort auf das Ausgangsprozessabbild. Die Länge gibt die Anzahl der Worte an und der Byte Count setzt sich aus den zu schreibenden Bytes zusammen.
Beispiel: 4 Worte - entsprechen 8 Byte Count.
Die Datenbytes enthalten die Werte für die analogen Ausgänge. In diesem Beispiel sind es zwei Worte, die zu beschreiben sind. Das erste Wort mit dem Wert 0x3FFF und das zweite Wort mit dem Wert 0x7FFF.

Anfrage (Query)

Byte Name

Modbus RTU

Modbus ASCII

Start - Rahmen

":"

0x3A

Adresse

11

0x0B

"0B"

0x30, 0x42

Funktions-Code

23

0x17

"17"

0x31, 0x17

Lesen Start-Adresse high

0

0x00

"00"

0x30, 0x30

Lesen Start-Adresse low

0

0x00

"00"

0x30, 0x30

Lesen Länge high

0

0x00

"00"

0x30, 0x30

Lesen Länge low

2

0x02

"02"

0x30, 0x32

Schreiben Start-Adresse high

8

0x08

"08"

0x30, 0x38

Schreiben Start-Adresse low

0

0x00

"00"

0x30, 0x30

Schreiben Länge high

0

0x00

"00"

0x30, 0x30

Schreiben Länge low

2

0x02

"02"

0x30, 0x32

Byte Count

4

0x04

"04"

0x30, 0x34

Daten 1 high

63

0x3F

"3F"

0x33, 0x46

Daten 1 low

255

0xFF

"FF"

0x46, 0x46

Daten 2 high

127

0x7F

"7F"

0x37, 0x46

Daten 2 low

255

0xFF

"FF"

0x46, 0x46

Error Check, LRC/CRC

 

0x76, 0xD3 

"12"

0x31, 0x32

Ende - Rahmen

 

t1-t2-t3

CRLF

0x0D, 0x0A

Antwort (Response)

Der Buskoppler/Feldbus Box antwortet mit der Start-Adresse und der Länge der übertragenen Bytes im "Byte Count". Es folgen die Dateninformationen. In diesem Beispiel steht im ersten Wort eine 0x0038 (hex) und im zweiten Wort eine 0x3F0B.

Byte Name

Modbus RTU

Modbus ASCII

Start - Rahmen

":"

0x3A

Adresse

11

0x0B

"0B"

0x30, 0x42

Funktions-Code

23

0x17

"17"

0x31, 0x17

Byte Count

4

0x04

"04"

0x30, 0x34

Daten 1 high

0

0x00

"00"

0x30, 0x30

Daten 1 low

56

0x38

"38"

0x33, 0x38

Daten 2 high

63

0x3F

"3F"

0x33, 0x46

Daten 2 low

11

0x0B

"0B"

0x30, 0x42

Error Check, LRC/CRC

 

0xF8, 0xA7 

"E3"

0x45, 0x33

Ende - Rahmen

 

t1-t2-t3

CRLF

0x0D, 0x0A