Kommunikationsprozessor und Modbus-TCP
13.9 Modbus RTU-Kommunikation in älteren Systemen (nur CM/CB 1241)
Zeitsteuerung des Modbus-Signals
MB_SLAVE muss regelmäßig ausgeführt werden, um jede Anforderung des Modbus-Masters zu
empfangen und entsprechend zu antworten. Die Häufigkeit der Ausführung von MB_SLAVE
richtet sich nach dem vom Modbus-Master vorgegebenen Timeout-Wert für die Antwort. Dies
ist in der nachstehenden Abbildung dargestellt.
Der Timeout-Zeitraum für die Antwort RESP_TO ist die Zeitdauer, die ein Modbus-Master auf den
Beginn einer Antwort von einem Modbus-Slave wartet. Dieser Zeitraum wird nicht vom Modbus-
Protokoll definiert, sondern von einem Parameter des jeweiligen Modbus-Masters. Die
Häufigkeit der Ausführung (die Zeit zwischen einer Ausführung und der nächsten Ausführung)
von MB_SLAVE muss sich nach den jeweiligen Parametern des Modbus-Masters richten. Sie
sollten MB_SLAVE mindestens zweimal während des Timeout-Zeitraums für die Antwort des
Modbus-Masters ausführen.
Variablen des Modbus-Slave
Diese Tabelle zeigt die öffentlichen statischen Variablen im Instanz-Datenbaustein von
MB_SLAVE, die in Ihrem Programm verwendet werden können.
Tabelle
Variablen des Modbus-Slave
13-165
Variable
Request_Count
Slave_Message_Count
Bad_CRC_Count
Broadcast_Count
Exception_Count
Success_Count
HR_Start_Offset
Extended_Addressing
Ihr Programm kann in die Variablen HR_Start_Offset und Extended_Addressing Werte schreiben
und die Modbus-Slave-Operationen steuern. Die anderen Variablen können gelesen werden,
um den Modbus-Zustand zu überwachen.
1178
Datentyp
Beschreibung
Word
Die Anzahl aller von diesem Slave empfangenen Anforderungen
Word
Die Anzahl der für diesen spezifischen Slave empfangenen Anforderungen
Word
Die Anzahl der empfangenen Anforderungen, die einen CRC-Fehler aufweisen
Word
Die Anzahl der empfangenen Broadcast-Anforderungen
Word
Modbus-spezifische Fehler, die eine zurückgegebene Ausnahme erfordern
Word
Die Anzahl der für diesen spezifischen Slave empfangenen Anforderungen ohne
Protokollfehler
Word
Gibt die Anfangsadresse des Modbus-Halteregisters an (Standard = 0)
Bool
Konfiguriert die Slave-Adressierung als einzelnes oder doppeltes Byte
(0 = einzelne Byte-Adresse, 1 = doppelte Byte-Adresse, Standard = 0)
S7-1200 Automatisierungssystem
Systemhandbuch, V4.5 05/2021, A5E02486681-AO