ACK_OP: Fehlersichere Quittierung (STEP 7 Safety V20) - Safety

Anweisungen STEP 7 Safety V20

ft:publication_title
Anweisungen STEP 7 Safety V20
Product
Safety
Version
V20
Publication date
10/2024
Language
de-DE
ACK_OP: Fehlersichere Quittierung (STEP 7 Safety V20)

Beschreibung (S7-300, S7-400)

Diese Anweisung ermöglicht eine fehlersichere Quittierung von einem Bedien- und Beobachtungssystem aus. Damit kann z. B. die Wiedereingliederung von F‑Peripherie über das Bedien- und Beobachtungssystem gesteuert werden. Eine Quittierung besteht aus zwei Schritten:

  • Wechsel des Durchgangs IN für genau einen Zyklus auf den Wert 6

  • Wechsel des Durchgangs IN für genau einen Zyklus auf den Wert 9 innerhalb einer Minute

Die Anweisung wertet aus, ob nach einem Wechsel des Durchgangs IN auf den Wert 6 nach frühestens 1 Sekunde oder spätestens einer Minute ein Wechsel auf den Wert 9 erfolgt ist. Dann wird der Ausgang OUT (Ausgang für Quittierung) für einen Zyklus auf 1 gesetzt.

Wird ein ungültiger Wert eingegeben oder erfolgt der Wechsel auf den Wert 9 nicht innerhalb von einer Minute oder vor Ablauf einer Sekunde, wird der Durchgang IN auf 0 zurückgesetzt, und die beiden obigen Schritte müssen erneut durchgeführt werden.

Während der Zeit, in der der Wechsel von 6 auf den Wert 9 erfolgen muss, wird der Ausgang Q auf 1 gesetzt. Sonst hat Q den Wert 0.

Jedem Aufruf der Anweisung "Fehlersichere Quittierung" muss ein Datenbereich zugeordnet werden, in dem die Anweisungsdaten gespeichert werden. Dazu wird beim Einfügen der Anweisung im Programm automatisch der Dialog "Aufrufoptionen" geöffnet, in dem Sie einen Datenbaustein (Einzelinstanz) (z. B. ACK_OP_DB_1) oder eine Multiinstanz (z. B. ACK_OP_Instance_1) für die Anweisung "Fehlersichere Quittierung" erstellen können. Nach dem Erstellen finden Sie den neuen Datenbaustein in der Projektnavigation im Ordner "STEP 7 Safety" unter "Programmbausteine > Systembausteine" oder die Multiinstanz als lokale Variable im Abschnitt "Static" der Schnittstelle des Bausteins. Weitere Informationen dazu finden Sie in der Hilfe zu STEP 7.

Hinweis

Sie müssen für jeden Aufruf des ACK_OP einen separaten Datenbereich verwenden. Jeder Aufruf darf in einem Zyklus der F-Ablaufgruppe nur einmal bearbeitet werden.

Bei Nichtbeachtung ist das unter "Beschreibung" beschriebene Verhalten nicht mehr sichergestellt.

Die Beschaltung des Freigabeeingangs "EN" bzw. des Freigabeausgangs "ENO" ist nicht möglich. Somit wird die Anweisung (unabhängig vom Signalzustand am Freigabeeingang "EN") immer ausgeführt.

Warnung

Die beiden Quittierungsschritte dürfen nicht durch eine einzige Bedienung ausgelöst werden, z. B., indem Sie die Quittierungsschritte inklusive der Zeitbedingungen programmieren und durch eine einzige Funktionstaste auslösen.

Durch die beiden separaten Quittierungsschritte wird auch eine fehlerhafte Auslösung einer Quittierung z. B. durch Ihr nicht fehlersicheres Bedien- und Beobachtungssystem verhindert. (S013)

Warnung

Falls Sie miteinander vernetzte Bedien‑ und Beobachtungssysteme und F‑CPUs haben, die die Anweisung ACK_OP zur fehlersicheren Quittierung nutzen, müssen Sie sich vor Ausführung der beiden Quittierungsschritte davon überzeugen, dass tatsächlich die beabsichtigte F‑CPU angesprochen wird.

  • Hinterlegen Sie in jeder F‑CPU in einem DB Ihres Standard‑Anwenderprogramms eine netzweit* eindeutige Bezeichnung für die F‑CPU.

  • Richten Sie auf Ihrem Bedien‑ und Beobachtungssystem ein Textfeld ein, aus dem Sie vor Ausführung der beiden Quittierungsschritte die Bezeichnung der F‑CPU online aus dem DB auslesen können.

  • Optional:

    Richten Sie auf Ihrem Bedien‑ und Beobachtungssystem ein Textfeld ein, in dem die Bezeichnung der F‑CPU zusätzlich fest hinterlegt ist. Dann können Sie durch einen einfachen Vergleich der online ausgelesenen Bezeichnung der F‑CPU mit der fest hinterlegten Bezeichnung feststellen, ob die beabsichtigte F‑CPU angesprochen wird. (S014)

* Ein Netz besteht aus einem oder mehreren Subnetzen. "Netzweit" bedeutet, über Subnetz-Grenzen hinweg.

Hinweis

Sie dürfen den Ausgang Q über Bedien- und Beobachtungssysteme auslesen oder ggf. in Ihrem Standard-Anwenderprogramm auswerten.

Sie können den Durchgang IN mit einem für jeden Aufruf der Anweisung ACK_OP eigenen Merkerwort bzw. DBW eines DBs des Standard-Anwenderprogramms versorgen.

Hinweis

Die Projektierung Ihres Bedien- und Beobachtungssystem hat keinen Einfluss auf die F-Gesamtsignatur.

Beschreibung (S7-1200, S7-1500)

Diese Anweisung ermöglicht eine fehlersichere Quittierung von einem Bedien- und Beobachtungssystem aus. Damit kann z. B. die Wiedereingliederung von F‑Peripherie über das Bedien- und Beobachtungssystem gesteuert werden. Eine Quittierung besteht aus zwei Schritten:

  • Wechsel des Durchgangs IN für genau einen Zyklus auf den Wert 6

  • Wechsel des Durchgangs IN für genau einen Zyklus auf den Wert am Eingang ACK_ID innerhalb einer Minute

Die Anweisung wertet aus, ob nach einem Wechsel des Durchgangs IN auf den Wert 6 nach frühestens 1 Sekunde oder spätestens einer Minute ein Wechsel auf den Wert am Eingang ACK_ID erfolgt ist. Dann wird der Ausgang OUT (Ausgang für Quittierung) für einen Zyklus auf 1 gesetzt.

Wird ein ungültiger Wert eingegeben oder erfolgt der Wechsel auf den Wert am Eingang ACK_ID nicht innerhalb von einer Minute oder vor Ablauf einer Sekunde, wird der Durchgang IN auf 0 zurückgesetzt, und die beiden obigen Schritte müssen erneut durchgeführt werden.

Während der Zeit, in der der Wechsel von 6 auf den Wert am Eingang ACK_ID erfolgen muss, wird der Ausgang Q auf 1 gesetzt. Sonst hat Q den Wert 0.

Jedem Aufruf der Anweisung "Fehlersichere Quittierung" muss ein Datenbereich zugeordnet werden, in dem die Anweisungsdaten gespeichert werden. Dazu wird beim Einfügen der Anweisung im Programm automatisch der Dialog "Aufrufoptionen" geöffnet, in dem Sie einen Datenbaustein (Einzelinstanz) (z. B. ACK_OP_DB_1) oder eine Multiinstanz (z. B. ACK_OP_Instance_1) für die Anweisung "Fehlersichere Quittierung" erstellen können. Nach dem Erstellen finden Sie den neuen Datenbaustein in der Projektnavigation im Ordner "STEP 7 Safety" unter "Programmbausteine > Systembausteine" oder die Multiinstanz als lokale Variable im Abschnitt "Static" der Schnittstelle des Bausteins. Weitere Informationen dazu finden Sie in der Hilfe zu STEP 7.

Hinweis

Sie müssen für jeden Aufruf des ACK_OP einen separaten Datenbereich verwenden. Jeder Aufruf darf in einem Zyklus der F-Ablaufgruppe nur einmal bearbeitet werden.

Bei Nichtbeachtung ist das unter "Beschreibung" beschriebene Verhalten nicht mehr sichergestellt.

Die Beschaltung des Freigabeeingangs "EN" bzw. des Freigabeausgangs "ENO" ist nicht möglich. Somit wird die Anweisung (unabhängig vom Signalzustand am Freigabeeingang "EN") immer ausgeführt.

Warnung

Die beiden Quittierungsschritte dürfen nicht durch eine einzige Bedienung ausgelöst werden, z. B., indem Sie die Quittierungsschritte inklusive der Zeitbedingungen programmieren und durch eine einzige Funktionstaste auslösen.

Durch die beiden separaten Quittierungsschritte wird auch eine fehlerhafte Auslösung einer Quittierung z. B. durch Ihr nicht fehlersicheres Bedien- und Beobachtungssystem verhindert. (S013)

Warnung

Falls Sie miteinander vernetzte Bedien‑ und Beobachtungssysteme und F‑CPUs haben, die die Anweisung ACK_OP zur fehlersicheren Quittierung nutzen, müssen Sie sich vor Ausführung der beiden Quittierungsschritte davon überzeugen, dass tatsächlich die beabsichtigte F‑CPU angesprochen wird.

Alternative 1:

  • Der Wert für die jeweilige Kennung der Quittierung (Eingang ACK_ID; Datentyp: INT) ist im Bereich von 9...30000 frei wählbar, muss jedoch netzweit* für alle Instanzen der Anweisung ACK_OP eindeutig sein.
    Sie müssen den Eingang ACK_ID beim Aufruf der Anweisung mit konstanten Werten versorgen. Direkte Zugriffe auf die Variable ACK_ID im zugehörigen Instanz-DB sind weder lesend noch schreibend zulässig!

Alternative 2:

  • Hinterlegen Sie in jeder F‑CPU in einem DB Ihres Standard‑Anwenderprogramms eine netzweit* eindeutige Bezeichnung für die F‑CPU.

  • Richten Sie auf Ihrem Bedien‑ und Beobachtungssystem ein Textfeld ein, aus dem Sie vor Ausführung der beiden Quittierungsschritte die Bezeichnung der F‑CPU online aus dem DB auslesen können.

  • Optional:

    Richten Sie auf Ihrem Bedien‑ und Beobachtungssystem ein Textfeld ein, in dem die Bezeichnung der F‑CPU zusätzlich fest hinterlegt ist. Dann können Sie durch einen einfachen Vergleich der online ausgelesenen Bezeichnung der F‑CPU mit der fest hinterlegten Bezeichnung feststellen, ob die beabsichtigte F‑CPU angesprochen wird. (S047)

* Ein Netz besteht aus einem oder mehreren Subnetzen. "Netzweit" bedeutet, über Subnetz-Grenzen hinweg.

Hinweis

Sie dürfen den Ausgang Q über Bedien- und Beobachtungssysteme auslesen oder ggf. in Ihrem Standard-Anwenderprogramm auswerten.

Sie müssen für jeden Aufruf der Anweisung ACK_OP den Durchgang IN mit einem eigenen Merkerwort bzw. DBW eines DBs des Standard-Anwenderprogramms versorgen.

Hinweis

Die Versorgung des Durchgangs IN der Anweisung ACK_OP sowie die Projektierung Ihres Bedien- und Beobachtungssystems haben keinen Einfluss auf die F-Gesamtsignatur, die F-SW-Gesamtsignatur bzw. die Signatur des Bausteins, der die Anweisung ACK_OP aufruft.

Änderungen der Versorgung des Durchgangs IN bzw. der Projektierung Ihres Bedien- und Beobachtungssystem führen deshalb nicht zu einer geänderten F-Gesamtsignatur/F-SW-Gesamtsignatur/Signatur des aufrufenden Bausteins.

Parameter (S7-300, S7-400)

Die folgende Tabelle zeigt die Parameter der Anweisung:

Parameter

Deklaration

Datentyp

Beschreibung

IN

InOut

INT

Eingangsgröße vom Bedien- und Beobachtungssystem

OUT

Output

BOOL

Ausgang für Quittierung

Q

Output

BOOL

Status der Zeit

Parameter (S7-1200, S7-1500)

Die folgende Tabelle zeigt die Parameter der Anweisung:

Parameter

Deklaration

Datentyp

Beschreibung

ACK_ID

Input

INT

Kennung der Quittierung (9 ... 30000)

IN

InOut

INT

Eingangsgröße vom Bedien- und Beobachtungssystem

OUT

Output

BOOL

Ausgang für Quittierung

Q

Output

BOOL

Status der Zeit

Anweisungsversionen

Für diese Anweisung stehen mehrere Versionen zur Verfügung:

Version

S7-300/400

S7-1200 G1

S7-1200 G2

S7-1500

Funktion

1.0

x

Bei der Migration von Projekten, die mit S7 Distributed Safety V5.4 SP5 erstellt wurden, wird automatisch die Version 1.0 der Anweisung verwendet.

Wenn Sie ein migriertes Sicherheitsprogramm mit STEP 7 Safety Advanced erstmalig übersetzen wollen, empfehlen wir Ihnen, zuvor die Version der Anweisung auf die höchste verfügbare Version umzustellen.

1.1

x

o

Diese Versionen sind funktional identisch zur Version 1.0 für F-CPUs S7-300/400.

Für F-CPUs S7-1200/1500 müssen Sie zusätzlich den Eingang ACK_ID berücksichtigen.

1.2

x

o

o

1.3

x

x

x

x

Beim Anlegen einer neuen F-CPU mit STEP 7 Safety ist automatisch die höchste für die angelegte F-CPU verfügbare Version voreingestellt.

Weitere Informationen zur Verwendung von Anweisungsversionen erhalten Sie in der Hilfe zu STEP 7 unter "Anweisungsversionen verwenden".

Zeitliche Unschärfe, die durch den Aktualisierungszeitpunkt und die Toleranz der in der Anweisung verwendeten Zeitbasis entsteht

Beachten Sie dazu das Kapitel "Zeitliche Unschärfe bei Anweisungen mit Zeitverarbeitung".

Beispiel

Ein Beispiel für die Anwendung der Anweisung erhalten Sie unter Realisierung einer Anwenderquittierung im Sicherheitsprogramm der F-CPU eines DP-Masters oder IO-Controllers.