Funktion 15: Schreiben mehrerer digitaler Ausgänge
Bei der Funktion 15 können gleichzeitig mehrere digitale Ausgänge gesetzt oder zurückgesetzt werden.
In diesem Beispiel werden die ersten 20 digitalen Ausgänge beschrieben. Die digitalen Ausgänge beginnen bei einem Offset von 0x0000. Hier beschreibt der Offset immer ein Bit. Der Offset 0x0003 schreibt ab dem 4. Bit auf das Ausgangsprozessabbild. Die Länge gibt die Anzahl der Bits an und der Byte Count setzt sich aus den zu schreibenden Bytes zusammen.
Beispiel: 20 Bits belegen 3 Byte Count (auf Byte-Grenzen aufrunden).
Die Daten-Bytes enthalten die Werte für die einzelnen Bits. In diesem Beispiel werden die Bit 0 bis 15 auf TRUE gesetzt und Bit 16 bis 23 auf FALSE.
Anfrage (Query)
Byte Name |
Modbus RTU |
Modbus ASCII | ||
---|---|---|---|---|
Start - Rahmen |
- |
- |
":" |
0x3A |
Adresse |
11 |
0x0B |
"0B" |
0x30, 0x42 |
Funktions-Code |
15 |
0x0F |
"0F" |
0x30, 0x46 |
Start-Adresse high |
0 |
0x00 |
"00" |
0x30, 0x30 |
Start-Adresse low |
0 |
0x00 |
"00" |
0x30, 0x30 |
Länge high |
0 |
0x00 |
"00" |
0x30, 0x30 |
Länge low |
20 |
0x14 |
"14" |
0x31, 0x34 |
Byte Count |
3 |
0x03 |
"03" |
0x30, 0x33 |
Daten 1 Bit 0..7 |
255 |
0xFF |
"FF" |
0x46, 0x46 |
Daten 2 Bit 8..15 |
255 |
0xFF |
"FF" |
0x46, 0x46 |
Daten 3 Bit 16..23 |
0 |
0x00 |
"00" |
0x30, 0x30 |
Error Check, LRC/CRC |
|
0x01, 0x95 |
"D1" |
0x44, 0x31 |
Ende - Rahmen |
|
t1-t2-t3 |
CRLF |
0x0D, 0x0A |
Antwort (Response)
Der Buskoppler/Feldbus Box antwortet mit dem gleichen Telegramm.
Byte Name |
Modbus RTU |
Modbus ASCII | ||
---|---|---|---|---|
Start - Rahmen |
- |
- |
":" |
0x3A |
Adresse |
11 |
0x0B |
"0B" |
0x30, 0x42 |
Funktions-Code |
15 |
0x0F |
"0F" |
0x30, 0x46 |
Start-Adresse high |
0 |
0x00 |
"00" |
0x30, 0x30 |
Start-Adresse low |
0 |
0x00 |
"00" |
0x30, 0x30 |
Länge high |
0 |
0x00 |
"00" |
0x30, 0x30 |
Länge low |
20 |
0x14 |
"14" |
0x31, 0x34 |
Error Check, LRC/CRC |
|
0xDA, 0xB0 |
"D2" |
0x44, 0x32 |
Ende - Rahmen |
|
t1-t2-t3 |
CRLF |
0x0D, 0x0A |