NOTIFY_8P: Bis zu acht Signalwechsel melden (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
NOTIFY_8P: Bis zu acht Signalwechsel melden

Beschreibung

Die Anweisung "NOTIFY_8P" ist die Erweiterung von "NOTIFY" auf acht Signale.

Eine Meldung wird erzeugt, wenn bei mindestens einem Signal ein Signalwechsel erkannt wurde. Beim Erstaufruf von "NOTIFY_8P" wird stets eine Meldung erzeugt. Für alle acht Signale gibt es eine gemeinsame Meldungsnummer, die am Anzeigegerät in acht Teilmeldungen aufgesplittet wird.

Pro Instanz von "NOTIFY_8P" steht ein Meldespeicher mit 2 Speicherplätzen zur Verfügung. Genaueres zur Zwischenspeicherung von Signalwechseln siehe Abschnitt Einführung in die Erzeugung von PLC-Meldungen mit Anweisungen.

Hinweis

Trotz Meldeverlust werden dem Anzeigegerät die letzten beiden Signalwechsel jedes Signals bekannt gemacht.

Warnung

Aufruf von "NOTIFY_8P"

Bevor Sie "NOTIFY_8P" in einem Automatisierungssystem aufrufen, müssen Sie sicherstellen, dass alle angeschlossenen Anzeigegeräte diesen Baustein kennen. Wenn Sie dies nicht beachten, wird die Kommunikation zwischen dem Automatisierungssystem und den angeschlossenen Anzeigegeräten abgebrochen. Dies hat zur Folge, dass Sie Ihre Anlage mit den angeschlossenen Anzeigegeräten nicht mehr erreichen können.

Parameter

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

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

SIG_i,

1 ≤ i ≤ 8

Input

BOOL

E, A, M, D, L

i-tes zu überwachendes 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_NOTIFY_8P

E, A, M, D, L

Meldungsnummer (nicht erlaubt: 0)
EV_ID wird nur beim Erstaufruf ausgewertet. Danach gilt bei jedem Aufruf von "NOTIFY_8P" 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);
Defaultwert: 64
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

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 "NOTIFY_8P" 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 Datentyps

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

    • Die aktivierte Meldung wird ohne oder ggf. mit der gerade noch möglichen Anzahl von Begleitwerten 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

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 "NOTIFY_8P" 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 "NOTIFY_8P" 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.