5.3.1.3 Read Input Status (Funktionscode 0x02):
Diese Funktion liest den Status der Eingangsbits im Slave. Broadcast wird dabei nicht
unterstützt. Beim Koppler/Controller ist die Anzahl der Punkte auf 256 begrenzt.
Anfrage:
Die Anfrage bestimmt die Startadresse und die Anzahl der Bits, die gelesen werden
sollen.
Der erste Punkt wird mit 0 adressiert. Bei Modicon startet die Adressierung mit 1
(0x01).
In der folgenden Tabelle ist ein Beispiel für eine Anfrage abgebildet, durch die die Bits
0 bis 7 des Slaves 11 gelesen werden sollen:
Feldname
Start of frame
Slave address
Function code
Starting address high
Starting address low
Number of points high
Number of points low
Error Check (LRC / CRC)
End of frame
Tabelle 5.32: Beispiel Anfrage, Read Input Status
Antwort:
Die aktuellen Werte der abgefragten Bits werden in das Datenfeld gepackt. Eine 1
entspricht dabei dem Zustand ON und eine 0 dem Zustand OFF. Das niederwertigste Bit
des ersten Datenbytes enthält das erste Bit der Anfrage. Die anderen folgen aufsteigend.
Falls die Anzahl der Eingänge kein Vielfaches von 8 ist, werden die restlichen Bits des
letzten Datenbytes mit Nullen aufgefüllt. Falls mehr Bits abgefragt werden als Eingänge
im Knoten vorhanden sind, werden die übrigen Eingangsbits zu Null gesetzt.
Feldname
Start of frame
Slave address
Function code
Byte Count
Data (point 8...0)
Error Check (LRC / CRC)
End of frame
Tabelle 5.33: Beispiel Antwort, Read Input Status
MODBUS / Konfiguration
01.10.99
Beispiel
RTU
-
t1-t2-t3
0x0B
0x0B
0x02
0x02
0x00
0x00
0x00
0x00
0x00
0x00
0x08
0x08
-
0x79
0x66
t1-t2-t3
Beispiel
RTU
-
t1-t2-t3
0x0B
0x0B
0x02
0x02
0x01
0x01
0x12
0x12
-
0x22
0x5D
-
t1-t2-t3
57
ASCII
":"
0x3a
"0B"
0x30, 0x42
"02"
0x30, 0x32
"00"
0x30, 0x30
"00"
0x30, 0x30
"00"
0x30, 0x30
"08"
0x30, 0x38
"EC"
0x45, 0x42
-
0xD, 0xA
ASCII
":"
0x3A
"0B"
0x30, 0x42
"02"
0x30, 0x32
"01"
0x30, 0x31
"12"
0x31, 0x32
"E0"
0x45, 0x30
-
0xD, 0xA