Beschreibung
Diese Anweisung realisiert eine 1oo2 (2v2)-Auswertung von zwei einkanaligen Gebern kombiniert mit einer Diskrepanzanalyse.
Der Ausgang Q wird auf 1 gesetzt, wenn die Signalzustände der beiden Eingänge IN1 und IN2 gleich 1 sind und kein Diskrepanzfehler DISC_FLT gespeichert ist. Ist der Signalzustand eines oder beider Eingänge 0, wird der Ausgang Q auf 0 gesetzt.
Sobald die Signalzustände der beiden Eingänge IN1 und IN2 unterschiedlich sind, wird die Diskrepanzzeit DISCTIME gestartet. Sind die Signalzustände der beiden Eingänge auch nach Ablauf der Diskrepanzzeit unterschiedlich, wird ein Diskrepanzfehler erkannt und DISC_FLT auf 1 gesetzt (Wiederanlaufsperre).
Wird zwischen den Eingängen IN1 und IN2 keine Diskrepanz mehr erkannt, erfolgt die Quittierung des Diskrepanzfehlers abhängig von der Parametrierung von ACK_NEC:
-
Bei ACK_NEC = 0 erfolgt eine automatische Quittierung.
-
Bei ACK_NEC = 1 können Sie den Diskrepanzfehler nur durch eine steigende Flanke am Eingang ACK quittieren.
Durch den Ausgang ACK_REQ = 1 wird signalisiert, dass zur Quittierung des Diskrepanzfehlers (Aufheben der Wiederanlaufsperre) eine Anwenderquittierung am Eingang ACK erforderlich ist. Die Anweisung setzt ACK_REQ = 1, sobald keine Diskrepanz mehr erkannt wird. Nach erfolgter Quittierung oder wenn vor einer Quittierung die Signalzustände der beiden Eingänge IN1 und IN2 erneut diskrepant werden, setzt die Anweisung ACK_REQ auf 0 zurück.
Der Ausgang Q kann nie auf 1 gesetzt werden, wenn die Diskrepanzzeit auf Werte < 0 oder > 60 s eingestellt ist. In diesem Fall wird ebenfalls der Ausgang DISC_FLT auf 1 gesetzt (Wiederanlaufsperre). Das Aufrufintervall des Sicherheitsprogramms (z. B. OB 35) muss kleiner sein als die eingestellte Diskrepanzzeit.
Jedem Aufruf der Anweisung "1oo2 (2v2)-Auswertung mit Diskrepanzanalyse" 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. EV1oo2DI_DB_1) oder eine Multiinstanz (z. B. EV1oo2DI_Instance_1) für die Anweisung "1oo2 (2v2)-Auswertung mit Diskrepanzanalyse" 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.
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 Parametrierung der Variablen ACK_NEC mit dem Wert "0" ist nur dann erlaubt, wenn ein automatischer Wiederanlauf des betreffenden Prozesses anderweitig ausgeschlossen wird. (S033) |
|
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung:
|
Parameter |
Deklaration |
Datentyp |
Beschreibung |
|---|---|---|---|
|
IN1 |
Input |
BOOL |
Geber 1 |
|
IN2 |
Input |
BOOL |
Geber 2 |
|
DISCTIME |
Input |
TIME |
Diskrepanzzeit (0 ... 60 s) |
|
ACK_NEC |
Input |
BOOL |
1 = Quittierung erforderlich für Diskrepanzfehler |
|
ACK |
Input |
BOOL |
Quittierung des Diskrepanzfehlers |
|
Q |
Output |
BOOL |
Ausgang |
|
ACK_REQ |
Output |
BOOL |
1 = Quittierung erforderlich |
|
DISC_FLT |
Output |
BOOL |
1 = Diskrepanzfehler |
|
DIAG |
Output |
BYTE |
Nicht fehlersichere Serviceinformation |
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. |
|
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".
Ansteuerung der Eingänge IN1 und IN2
Die beiden Eingänge IN1 und IN2 müssen so angesteuert werden, dass ihr sicherer Zustand 0 ist.
Beispiel mit QBAD- bzw. QBAD_I_xx-Signal
Bei antivalenten Signalen müssen Sie den Eingang (IN1 bzw. IN2), dem Sie das Gebersignal mit dem sicheren Zustand 1 zuordnen, mit dem QBAD-Signal der zugehörigen F‑Peripherie bzw. QBAD_I_xx-Signal des zugehörigen Kanals (bei F-CPUs S7-300/400) verodern und das Ergebnis negieren. Damit liegt am Eingang IN1 bzw. IN2 Signalzustand 0 an, wenn Ersatzwerte ausgegeben werden.
Beispiel mit Wertstatus
Bei antivalenten Signalen müssen Sie den Eingang (IN1 bzw. IN2), dem Sie das Gebersignal mit dem sicheren Zustand 1 zuordnen, negieren und mit dem Wertstatus des zugehörigen Kanals verunden. Damit liegt am Eingang IN1 bzw. IN2 Signalzustand 0 an, wenn Ersatzwerte ausgegeben werden.
Zeitdiagramme EV1oo2DI
Bei Parametrierung ACK_NEC = 1:
Anlaufverhalten
|
Hinweis Wenn die Geber an den Eingängen IN1 und IN2 unterschiedlicher F‑Peripherie zugeordnet sind, kann es nach einem Anlauf des F‑Systems aufgrund eines unterschiedlichen Anlaufverhaltens der F‑Peripherie zu einer unterschiedlich langen Ersatzwertausgabe kommen. Sind die Signalzustände der beiden Eingänge IN1 und IN2 auch nach Ablauf der Diskrepanzzeit DISCTIME diskrepant, wird nach dem Anlauf des F‑Systems ein Diskrepanzfehler erkannt. Bei ACK_NEC = 1 müssen Sie den Diskrepanzfehler durch eine steigende Flanke am Eingang ACK quittieren. |
Ausgang DIAG
Am Ausgang DIAG wird eine nicht fehlersichere Information über aufgetretene Fehler für Servicezwecke zur Verfügung gestellt. Sie können diese über Bedien- und Beobachtungssysteme auslesen oder ggf. in Ihrem Standard-Anwenderprogramm auswerten. Die DIAG-Bits bleiben gespeichert, bis Sie am Eingang ACK quittieren.
Aufbau von DIAG
|
Bit Nr. |
Belegung |
Mögliche Fehlerursachen |
Abhilfemaßnahmen |
|---|---|---|---|
|
Bit 0 |
Diskrepanzfehler oder falsche Diskrepanzzeit eingestellt |
Sensor defekt |
Sensoren prüfen |
|
Verdrahtungsfehler |
Verdrahtung der Sensoren prüfen |
||
|
Geber sind auf unterschiedlicher F‑Peripherie verdrahtet und F‑Peripheriefehler, Kanalfehler oder Kommunikationsfehler oder Passivierung über PASS_ON auf einer F‑Peripherie |
Abhilfe siehe Abschnitt "Aufbau von DIAG", Bits 0 bis 6 unter DIAG |
||
|
Diskrepanzzeit zu niedrig eingestellt |
ggf. höhere Diskrepanzzeit einstellen |
||
|
Diskrepanzzeit < 0 s oder > 60 s eingestellt |
Diskrepanzzeit im Bereich von 0 s bis 60 s einstellen |
||
|
Bit 1 |
bei Diskrepanzfehler: letzter Signalzustandswechsel war am Eingang IN1 |
— |
— |
|
Bit 2 |
bei Diskrepanzfehler: letzter Signalzustandswechsel war am Eingang IN2 |
— |
— |
|
Bit 3 |
Reserve |
— |
— |
|
Bit 4 |
Reserve |
— |
— |
|
Bit 5 |
bei Diskrepanzfehler: Eingang ACK hat permanent Signalzustand 1 |
Quittiertaster defekt |
Quittiertaster austauschen |
|
Verdrahtungsfehler |
Verdrahtung des Quittiertasters prüfen |
||
|
Bit 6 |
Quittierung erforderlich |
— |
— |
|
Bit 7 |
Zustand von Ausgang Q |
— |
— |
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
Das folgende Beispiel zeigt die Funktionsweise der Anweisung: