Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens SIMATIC S7-1200 Systemhandbuch Seite 649

Automatisierungssystem
Vorschau ausblenden Andere Handbücher für SIMATIC S7-1200:
Inhaltsverzeichnis

Werbung

● Es wird empfohlen, alle Ausführungen von MB_MASTER für einen bestimmten Port aus
● Nachdem eine Masteranweisung eine Übertragung ausgelöst hat, muss diese Instanz mit
Parameter REQ
0 = Keine Anforderung; 1 = Anforderung, Daten an den Modbus-Slave zu senden
Sie können diesen Eingang über einen pegel- oder flankengesteuerten Kontakt steuern.
Immer wenn dieser Eingang aktiviert wird, wird eine Zustandsmaschine gestartet, um
sicherzustellen, dass eine andere Anweisung MB_MASTER, die denselben Instanz-DB
verwendet, erst dann eine Anforderung abgeben kann, wenn die aktuelle Anforderung
abgearbeitet ist. Alle anderen Eingangszustände werden erfasst und intern für die aktuelle
Anforderung gespeichert, bis die Antwort empfangen oder ein Fehler erkannt wird.
Wird dieselbe Instanz von MB_MASTER erneut mit dem REQ-Eingang = 1 ausgeführt, bevor
die aktuelle Anforderung abgearbeitet ist, werden keine nachfolgenden Übertragungen
durchgeführt. Wenn die Anforderung jedoch abgearbeitet ist, wird zu dem Zeitpunkt, zu dem
MB_MASTER erneut mit REQ-Eingang = 1 ausgeführt wird, eine neue Anforderung
abgegeben.
Über die Parameter DATA_ADDR und MODE wählen Sie den Modbus-Funktionstyp aus.
DATA_ADDR (Modbus-Anfangsadresse im Slave): Gibt die Anfangsadresse der Daten an,
auf die im Modbus-Slave zugegriffen werden soll.
Die Anweisung MB_MASTER nutzt statt eines Funktionscodeeingangs einen Eingang
MODE. Die Kombination aus MODE und Modbus-Adresse legt den Funktionscode fest, der
in der eigentlichen Modbus-Meldung verwendet wird. Die folgende Tabelle zeigt die
Entsprechung zwischen dem Parameter MODE, dem Modbus-Funktionscode und dem
Modbus-Adressbereich.
S7-1200 Automatisierungssystem
Systemhandbuch, 11/2011, A5E02486681-05
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.
aktiviertem Eingang EN fortlaufend ausgeführt werden, bis der Zustand DONE = 1 oder
ERROR = 1 ausgegeben wird. Eine bestimmte MB_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
Master-Anweisung mit aktiviertem Eingang REQ zur aktiven Instanz. Dies verhindert,
dass eine einzige Modbus-Master-Anweisung ein Monopol inne hat oder den Zugriff auf
den Port sperrt. Wenn die ursprüngliche aktive Instanz nicht während des von der
statischen Variablen "Blocked_Proc_Timeout" angegebenen Zeitraums aktiviert wird,
löscht die nächste Ausführung durch diese Instanz (ohne gesetzten Eingang REQ) den
aktiven Zustand. Falls (REQ gesetzt ist), dann löst diese Ausführung eine neue Master-
Anforderung aus, als wenn keine andere Instanz aktiv wäre.
105BKommunikationsprozessor
12.5 Modbus-Kommunikation
649

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis