ALARM: PLC-Meldungen mit Quittierungsanzeige erzeugen (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
ALARM: PLC-Meldungen mit Quittierungsanzeige erzeugen

Beschreibung

Die Anweisung überwacht ein Signal.

  • Standardbetrieb (d. h. das Quittierungsgetriggerte Melden ist ausgeschaltet): Der Baustein generiert sowohl bei steigender Flanke (kommendes Ereignis) als auch bei fallender Flanke (gehendes Ereignis) eine Meldung, an die Sie bis zu zehn Begleitwerte anhängen können.

  • Quittierungsgetriggertes Melden eingeschaltet: Der Baustein erzeugt nach generierter Kommend-Meldung für das Signal so lange keine weiteren Meldungen, bis Sie diese Kommend-Meldung an einem Anzeigegerät quittiert haben.

    Siehe auch: Einführung in die Erzeugung von PLC-Meldungen mit Anweisungen.

Die Meldung wird an alle dafür angemeldeten Teilnehmer gesendet.

Beim Erstaufruf wird eine Meldung mit dem aktuellen Signalzustand gesendet.

Der Ausgang ACK_UP wird rückgesetzt, wenn eine steigende Flanke vorliegt. Er wird gesetzt, wenn Ihre Quittierung des gekommenen Ereignisses von einem angemeldeten Anzeigegerät eingetroffen ist.

Analog gilt für den Ausgang ACK_DN: Er wird rückgesetzt, wenn eine fallende Flanke vorliegt. Er wird gesetzt, wenn Ihre Quittierung des gegangenen Ereignisses von einem angemeldeten Anzeigegerät eingetroffen ist. Nach dem Eintreffen Ihrer Quittierung von einem angemeldeten Anzeigegerät wird die Quittierinformation an alle dafür angemeldeten Teilnehmer weitergeleitet.

Pro Instanz der Anweisung "ALARM" steht ein Meldespeicher mit zwei Speicherplätzen zur Verfügung. Genaueres zur Zwischenspeicherung von Signalwechseln siehe im Abschnitt "Signalwechselerfassung" bei der Einführung in die Erzeugung von PLC-Meldungen mit Anweisungen.

Die Anweisung "ALARM" entspricht der Norm IEC 1131-5.

Parameter

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

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

EN_R

Input

BOOL

E, A, M, D, L

Steuerparameter enabled to receive, der bewirkt, dass die Ausgänge ACK_UP und ACK_DN beim Bausteinaufruf aktualisiert werden (EN_R=1) bzw. nicht aktualisiert werden (EN_R=0). Bei EN_R=0 bleiben die Ausgangsparameter ACK_UP und ACK_DN unverändert.

SIG

Input

BOOL

E, A, M, D, L

Das zu überwachende Signal

ID

Input

WORD

E, A, M, D, L oder Konstante

Datenkanal für Meldungen: W#16#EEEE
ID wird nur beim Erstaufruf ausgewertet.

EV_ID

Input

C_ALARM

E, A, M, D, L

Meldungsnummer (nicht erlaubt: 0)

EV_ID wird nur beim Erstaufruf ausgewertet. Danach gilt bei jedem Aufruf von "ALARM"mit dem zugehörigen Instanz-DB die beim Erstaufruf verwendete Meldungsnummer.
Die Meldungsnummer wird automatisch vergeben. Dadurch ist die Konsistenz der Meldungsnummern gewährleistet. Die Meldungsnummer muss innerhalb Ihres Anwenderprogramms eindeutig sein.

SEVERITY

Input

WORD

E, A, M, D, L oder Konstante

Gewicht des Ereignisses

Mögliche Werte: 0 bis 127 (Wert 0 bedeutet höchstes Gewicht)
Dieser Parameter ist für die Bearbeitung der Meldung nicht relevant.

DONE

Output

BOOL

E, A, M, D, L

Zustandsparameter DONE:

Meldungsgenerierung abgeschlossen.

ERROR

Output

BOOL

E, A, M, D, L

Zustandsparameter ERROR
ERROR=TRUE bedeutet, dass bei der Bearbeitung ein Fehler aufgetreten ist. Genaueres siehe Parameter STATUS.

STATUS

Output

WORD

E, A, M, D, L

Zustandsparameter STATUS: Anzeige einer Fehlerinformation

ACK_DN

Output

BOOL

E, A, M, D, L

Gegangenes Ereignis wurde auf einem Anzeigegerät quittiert.
Initialisierungszustand: 1

ACK_UP

Output

BOOL

E, A, M, D, L

Gekommenes Ereignis wurde auf einem Anzeigegerät quittiert.
Initialisierungszustand: 1

SD_i,

1≤i ≤10

InOut

ANY

E, A, M, D, T, Z

i-ter Begleitwert

Zulässig sind nur die Datentypen BOOL (nicht erlaubt: Bitfeld), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME.

Hinweis: Wenn der ANY-Pointer auf einen DB zugreift, ist der DB immer zu spezifizieren. (z.B.: P# DB10.DBX5.0 Byte 10)

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

Parameter ERROR und STATUS

Die folgende Tabelle enthält alle für die Anweisung "ALARM" spezifischen Fehlerinformationen, die über die Parameter ERROR und STATUS ausgegeben werden können.

ERROR

STATUS

(dezimal)

Erläuterung

0

11

Meldungsverlust: Der vorangegangene Signalwechsel bzw. die vorangegangene Meldung konnte nicht gesendet werden und wird durch die aktuelle Meldung ersetzt.

0

22

  • Fehler im Zeiger auf die Begleitwerte SD_i:

    • bezüglich der Datenlänge oder des Datentyp

    • Begleitwerte im Anwenderspeicher nicht erreichbar, z. B. wegen gelöschtem DB oder Bereichslängenfehler

    • Die aktivierte Meldung wird ohne Begleitwerte gesendet.

  • Der von Ihnen gewählte Aktualparameter von SEVERITY liegt oberhalb des zulässigen Bereichs. Die aktivierte Meldung wird mit SEVERITY=127 gesendet.

0

25

Die Kommunikation wurde angestoßen. Die Meldung ist in Bearbeitung.

1

1

Kommunikationsprobleme: Verbindungsabbruch oder keine Anmeldung vorhanden

Bei aktiviertem Quittierungsgetriggerten Melden: temporäre Anzeige, falls keine Anzeigegeräte das Quittierungsgetriggerte Melden beherrschen

1

4

Beim Erstaufruf

  • liegt die angegebene EV_ID außerhalb des zulässigen Bereichs

  • liegt ein formaler Fehler des ANY-Pointers SD_i vor

  • wurde der für die CPU pro ALARM maximal versendbare Speicherbereich überschritten

1

10

Zugriff auf lokalen Anwenderspeicher nicht möglich (z. B. Zugriff auf gelöschten DB)

1

12

Beim Aufruf der Anweisung wurde

  • ein Instanz-DB, der nicht zu ALARM gehört, angegeben

  • kein Instanz-DB, sondern ein Global-DB angegeben

1

18

EV_ID wurde bereits von einem der Anweisungen "NOTIFY", "NOTIFY_8P", "ALARM", "ALARM_8" oder "ALARM_8P" verwendet.

1

20

Zu wenig Arbeitsspeicher vorhanden.

1

21

Die Meldung mit der angegebenen EV_ID ist gesperrt.

Hinweis

Nach dem ersten Aufruf haben die Ausgänge ACK_UP und ACK_DN den Wert "1", und der Vergangenheitswert des Eingangs SIG wird zu "0" angenommen.