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 |