Regeln für die Modbus-Slave-Kommunikation
● Modbus_Comm_Load muss ausgeführt werden, um einen Port zu konfigurieren, damit
die Anweisung Modbus_Slave über diesen Port kommunizieren kann.
● Wenn ein Port als Slave auf einen Modbus-Master reagieren soll, darf dieser Port nicht
mit der Anweisung Modbus_Master programmiert werden.
● Nur eine Instanz von Modbus_Slave kann mit einem bestimmten Port verwendet werden,
andernfalls kann unerwartetes Verhalten auftreten.
● Die Modbus-Anweisungen nutzen keine Kommunikations-Alarmereignisse zum Steuern
des Kommunikationsprozesses. Ihr Programm muss den Kommunikationsprozess durch
Abfrage der Anweisung Modbus_Slave auf abgeschlossene Sende- und
Empfangsvorgänge steuern.
● Die Anweisung Modbus_Slave muss regelmäßig mit einer Häufigkeit ausgeführt werden,
die eine zeitnahe Antwort auf eingehende Anforderungen eines Modbus-Masters
ermöglicht. Es wird empfohlen, Modbus_Slave in jedem Zyklus aus einem
Programmzyklus-OB auszuführen. Modbus_Slave kann aus einem Weckalarm-OB
ausgeführt werden, doch ist dies nicht empfehlenswert, weil übermäßige
Zeitverzögerungen im Interruptprogramm die Ausführung anderer Interruptprogramme
temporär blockieren können.
Zeitsteuerung des Modbus-Signals
Modbus_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
Modbus_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 der 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 der Anweisung
Modbus_Comm_Load. Da sowohl das Empfangen als auch das Senden eines Telegramms
mehrere, mindestens aber je drei Aufrufe der Anweisung Modbus_Slave erfordert, sollten
Sie Modbus_Slave mindestens zwölfmal während des Timeout-Zeitraums für die Antwort
des Modbus-Masters ausführen, damit das Empfangen und Senden von Daten durch den
Modbus-Slave doppelt so oft ausgeführt wird, wie durch den Timeout-Zeitraum vorgegeben.
CM PtP - Konfigurationen für Punkt-zu-Punkt-Kopplungen
Funktionshandbuch, 12/2017, A5E37509393-AC
Programmieren - Kommunikation über Anweisungen
5.4 Anweisungen
145