EN_MSG: PLC-Meldungen freigeben (S7-400) - STEP 7

Erweiterte Anweisungen (S7-300, S7-400)

ft:publication_title
Erweiterte Anweisungen (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
EN_MSG: PLC-Meldungen freigeben

Beschreibung

Mit der Anweisung geben Sie gesperrte PLC-Meldungen wieder frei. Die Sperrung können Sie von einem Anzeigegerät aus oder mit "DIS_MSG" vorgenommen haben.

Die freizugebenden Meldungen legen Sie über die Eingangsparameter MODE und MESGN fest. Voraussetzung für den erfolgreichen Start eines Freigabevorgangs mit der Anweisung ist, dass momentan kein weiterer Freigabevorgang von der Anweisung aktiv ist.

Sie starten den Freigabevorgang, indem Sie beim Aufruf den Eingangsparameter REQ mit "1" belegen.

Arbeitsweise

Der Vorgang des Freigebens wird asynchron durchgeführt, d. h. er kann sich über mehrere Aufrufe von der Anweisung erstrecken (siehe auch Unterschied zwischen synchron und asynchron arbeitenden Anweisungen):

  • Beim Erstaufruf (REQ =1) prüft die Anweisung die Eingangsparameter und versucht, die benötigten Systemressourcen zu belegen. Im Gutfall wird in RET_VAL W#16#7001 eingetragen, BUSY wird gesetzt, und das Freigeben wird angestoßen.
    Andernfalls wird in RET_VAL die zugehörige Fehlerinformation eingetragen, und der Auftrag ist abgeschlossen. BUSY darf in diesem Fall nicht ausgewertet werden.

  • Bei eventuellen Zwischenaufrufen wird in RET_VAL W#16#7002 eingetragen (Auftrag wird von der CPU noch bearbeitet), und BUSY wird gesetzt. Ein Zwischenaufruf beeinflusst den laufenden Auftrag nicht.

  • Beim Letztaufruf wird in RET_VAL W#16#0000 eingetragen, falls kein Fehler vorlag. BUSY wird in diesem Fall mit 0 beschrieben. Im Fehlerfall wird in RET_VAL die Fehlerinformation eingetragen, und BUSY darf nicht ausgewertet werden.

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung "EN_MSG":

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

REQ

Input

BOOL

E, A, M, D, L

REQ = 1: Freigeben anstoßen

MODE

Input

BYTE

E, A, M, D, L oder Konstante

Parameter für die Auswahl der freizugebenden Meldungen, siehe folgende Tabelle;

MESGN

Input

DWORD

E, A, M, D, L oder Konstante

Meldungsnummer

Nur relevant für MODE = 6. Damit kann eine Einzelmeldung freigegeben werden.

RET_VAL

Return

INT

E, A, M, D, L

Fehlerinformation (siehe unten);

BUSY

Output

BOOL

E, A, M, D, L

BUSY = 1: Der Vorgang des Freigebens ist noch nicht beendet.

Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".

Parameter MODE

In der folgenden Tabelle sind die zulässigen Werte des Eingangsparameters MODE aufgeführt.

Wert

Bedeutung

0

Alle mit Anweisungen erzeugten PLC-Meldungen der CPU

1

Alle mit Anweisungen erzeugten PLC-Meldungen der CPU, d. h. alle Meldungen von "NOTIFY", "NOTIFY_8P", "ALARM", "ALARM_8P" und "ALARM_8"

6

Einzelmeldung der Klasse "Mit Anweisungen erzeugte PLC-Meldungen"

Parameter RET_VAL

Fehlercode

(W#16#...)

Erläuterung

0000

Das Freigeben wurde ohne Fehler beendet.

7000

Erstaufruf mit REQ = 0: Das Freigeben wurde nicht aktiviert.

7001

Erstaufruf mit REQ = 1: Das Freigeben wurde angestoßen.

7002

Zwischenaufruf: Das Freigeben ist bereits aktiv.

8081

Fehler beim Zugriff auf einen Parameter

8082

MODE hat unzulässigen Wert.

8083

Die Meldungsnummer liegt außerhalb des zulässigen Wertebereichs.

8084

Für die über MODE und ggf. MESGN spezifizierte(n) Meldung(en) liegt keine Anmeldung vor.

80C3

Das Freigeben der über MODE und ggf. MESGN spezifizierten Meldung(en) kann momentan nicht angestoßen werden, da bereits ein anderer Freigabevorgang von EN_MSG aktiv ist.

8xyy

allgemeine Fehlerinformation

Siehe auch: Fehlerauswertung mit dem Ausgangsparameter RET_VAL