Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens Simatic s7 Handbuch Seite 1272

Automatisierungssystem
Vorschau ausblenden Andere Handbücher für Simatic s7:
Inhaltsverzeichnis

Werbung

Kommunikationsprozessor und Modbus-TCP
13.5 Modbus-Kommunikation
Regeln für die Modbus_Master-Kommunikation
● MB_COMM_LOAD muss ausgeführt werden, um einen Port zu konfigurieren, damit die
Anweisung Modbus_Master mit diesem Port kommunizieren kann.
● Wenn ein Port zum Initiieren von Modbus-Masteranforderungen verwendet werden soll,
darf dieser Port nicht von MB_SLAVE verwendet werden. Eine oder mehrere Instanzen
von Modbus_Master können mit diesem Port verwendet werden, jedoch müssen alle
Ausführungen von Modbus_Master den gleichen Instanz-DB Modbus_Master für den Port
verwenden.
● Die Modbus-Anweisungen nutzen keine Kommunikations-Alarmereignisse zum Steuern
des Kommunikationsprozesses. Ihr Programm muss die Anweisung Modbus_Master auf
abgeschlossene Sende- und Empfangsvorgänge abfragen.
● Es wird empfohlen, die Ausführung von Modbus_Master für einen bestimmten Port immer
aus einem Programmzyklus-OB aufzurufen. Modbus_Master-Anweisungen können nur in
jeweils einem Programmzyklus oder in jeweils einer zyklischen/zeitverzögerten
Ausführungsschicht ausgeführt werden. Sie dürfen nicht in beiden Prioritätsschichten der
Ausführung bearbeitet werden. Die Vorrangunterbrechung einer Modbus_Master-
Anweisung durch eine andere Modbus_Master-Anweisung in einer Ausführungsschicht
mit höherer Priorität führt zu nicht ordnungsgemäßem Betrieb. Die Modbus_Master-
Anweisungen dürfen nicht in Anlauf-, Diagnose- oder Zeitfehlerausführungsschichten
bearbeitet werden.
● Nachdem eine Modbus_Master-Anweisung eine Übertragung ausgelöst hat, muss diese
Instanz mit aktiviertem Eingang EN fortlaufend ausgeführt werden, bis der Zustand
DONE = 1 oder ERROR = 1 ausgegeben wird. Eine bestimmte Modbus_Master-Instanz
wird als aktiv betrachtet, bis eines dieser beiden Ereignisse auftritt. Während die
ursprüngliche Instanz aktiv ist, führt jeder Aufruf einer weiteren Instanz mit aktiviertem
Eingang REQ zu einem Fehler. Wenn die fortlaufende Ausführung der ursprünglichen
Instanz stoppt, bleibt der Anforderungszustand für die von der statischen Variable
"Blocked_Proc_Timeout" angegebene Zeitdauer aktiv. Nach Ablauf dieser Zeitdauer wird
die nächste aufgerufene Modbus_Master-Anweisung mit aktiviertem Eingang REQ zur
aktiven Instanz. Dies verhindert, dass eine einzige Modbus_Master-Anweisung ein
Monopol innehat oder den Zugriff auf den Port sperrt. Wenn die ursprüngliche aktive
Instanz nicht während des von der statischen Variable "Blocked_Proc_Timeout"
angegebenen Zeitraums aktiviert wird, löscht die nächste Ausführung von dieser Instanz
(ohne gesetzten Eingang REQ) den aktiven Zustand. Falls REQ gesetzt ist, löst diese
Ausführung eine neue Modbus_Master-Anforderung aus, so als wenn keine andere
Instanz aktiv wäre.
1272
S7-1200 Automatisierungssystem
Systemhandbuch, V4.2, 09/2016, A5E02486681-AK

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Simatic s7-1200

Inhaltsverzeichnis