SF_Equivalent-Baustein
Funktionsbaustein
Dieser Funktionsbaustein unterstützt eine Überwachungsfunktion in Bezug auf die Äquivalenz von 2 sicheren Signaleingängen.
Schnittstelle
I/O |
Bezeichnung |
Datentyp |
Startwert |
Beschreibung |
IN |
Activate |
BOOL |
FALSE |
siehe Allgemeine Parameter |
IN |
S_ChannelA |
SAFEBOOL |
SAFEFALSE |
Variable. Eingang A für logische Verknüpfung. SAFEFALSE: Kontakt A offen SAFETRUE: Kontakt A geschlossen |
IN |
S_ChannelB |
SAFEBOOL |
SAFEFALSE |
Variable. Eingang B für logische Verknüpfung. SAFEFALSE: Kontakt B offen SAFETRUE: Kontakt B geschlossen |
IN |
DiscrepancyTime |
TIME |
#0ms |
Konstante. Maximale Überwachungszeit für Diskrepanzzustand beider Eingänge. |
OUT |
Ready |
BOOL |
FALSE |
siehe Allgemeine Parameter |
OUT |
S_EquivalentOut |
SAFEBOOL |
SAFEFALSE |
Sicherheitstechnischer Ausgang SAFEFALSE: Mindestens ein Eingangssignal = FALSE oder Zustandswechsel außerhalb der Überwachungszeit. SAFETRUE: Beide Eingänge signalisieren "aktiv" und Zustandswechsel innerhalb der Überwachungszeit. |
OUT |
SafetyDemand |
BOOL |
FALSE |
siehe Allgemeine Parameter |
OUT |
Error |
BOOL |
FALSE |
siehe Allgemeine Parameter |
OUT |
DiagCode |
WORD |
16#0000 |
siehe Allgemeine Parameter |
Funktionsbeschreibung
Dieser Funktionsbaustein vergleicht 2 sichere Signaleingänge eines 2-kanalig verschalteten Sensors auf äquivalente Signalzustände. Nachdem einer der Signaleingänge seinen Zustand gewechselt hat, startet die Diskrepanzzeitüberwachung (Eingangsparameter DiscrepancyTime). Innerhalb dieser Zeit überwacht der Funktionsbaustein, ob am weiteren Signaleingang ein Schaltvorgang stattgefunden hat (Schaltfunktion) und ob beide Signaleingänge symmetrisch schalten (Schaltsymmetrie).
Wenn die Signalwechsel an beiden Signaleingängen innerhalb der Diskrepanzzeit erfolgt sind, endet die Diskrepanzzeitüberwachung. Eine Überschreitung der Diskrepanzzeit führt zu einer Fehlermeldung.
Die beiden Signaleingänge sind voneinander abhängig. Deshalb sollten beide Signaleingänge entweder jeweils mit Öffnerkontakten oder mit Schließerkontakten beschaltet werden.
Das Ergebnis des Vergleichs wird am Freigabeausgang S_EquivalentOut des Funktionsbausteins angezeigt. Wenn der Signaleingang A von SAFETRUE auf SAFEFALSE und/oder der Signaleingang B von SAFETRUE auf SAFEFALSE wechselt, wird der Freigabeausgang S_EquivalentOut sofort auf SAFEFALSE gesteuert.
Diskrepanzzeitüberwachung
Innerhalb der Diskrepanzzeit dürfen beide Signaleingänge unterschiedliche Zustände haben. Der Funktionsbaustein detektiert dies nicht als Fehler.
Die Überwachung der Diskrepanzzeit beginnt, wenn der Zustand eines Signaleingangs wechselt. Der Funktionsbaustein detektiert dann einen Fehler, wenn beide Signaleingänge nach Ablauf der Diskrepanzzeit unterschiedliche Zustände haben.
Schaltzustände
Für beide Signaleingänge wird sowohl das Umschalten von SAFEFALSE auf SAFETRUE als auch das Umschalten von SAFETRUE auf SAFEFALSE überwacht. Deshalb müssen die Signaleingänge symmetrisch geschaltet werden.
Zusätzliche Information
Typische Zeitdiagramme
1) Start
2) Normalbetrieb
1) Diskrepanzzeit läuft ab
2) Normalbetrieb
Fehlererkennung
Der Funktionsbaustein überwacht die Diskrepanzzeit zwischen Kanal A und B sowohl beim Schalten auf TRUE als auch beim Schalten auf FALSE.
Fehlerverhalten
S_EquivalentOut wird auf FALSE gesetzt. Error wird auf TRUE gesetzt. DiagCode zeigt die Fehlerzustände an. Reset ist nicht als Eingang, der mit dem Zurücksetzen eines Fehlers gekoppelt ist, definiert. Tritt ein Fehler bei den Eingängen auf, muss ein neuer Satz von Eingängen mit korrektem S_EquivalentOut zum Zurücksetzen des Fehler-Flags führen. (Beispiel: Wenn ein Schalter defekt ist und ersetzt wird, führt eine erneute Verwendung des Schalters zu einer korrekten Ausgabe)
Fehler- und Statusmeldungen
Funktionsbaustein-spezifische Fehlercodes
DiagCode |
Name |
Beschreibung und Ausgangseinstellungen |
C010 |
Error 1 |
Diskrepanzzeit im Zustand 8802 abgelaufen. Ready = TRUE S_EquivalentOut = SAFEFALSE SafetyDemand = FALSE Error = TRUE |
C020 |
Error 2 |
Diskrepanzzeit im Zustand 8804 abgelaufen. Ready = TRUE S_EquivalentOut = SAFEFALSE SafetyDemand = FALSE Error = TRUE |
C030 |
Error 3 |
Diskrepanzzeit im Zustand 8806 abgelaufen. Ready = TRUE S_EquivalentOut = SAFEFALSE SafetyDemand = FALSE Error = TRUE |
Funktionsbaustein-spezifische Statuscodes (kein Fehler)
DiagCode |
Name |
Beschreibung und Ausgangseinstellungen |
0000 |
Idle |
Funktionsbaustein ist nicht aktiv (Ausgangszustand). Ready = FALSE S_EquivalentOut = SAFEFALSE SafetyDemand = FALSE Error = FALSE |
8801 |
Init |
Eine Aktivierung wurde vom Funktionsbaustein erkannt und der Funktionsbaustein ist nun aktiviert. Ready = TRUE S_EquivalentOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
8000 |
Safety Output Enabled |
Die Eingänge schalten im Äquivalenzmodus auf TRUE. Ready = TRUE S_EquivalentOut = SAFETRUE SafetyDemand = FALSE Error = FALSE |
8802 |
Wait for Channel B |
Kanal A wurde auf TRUE geschaltet - Warten auf Kanal B; Diskrepanztimer gestartet. Ready = TRUE S_EquivalentOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
8804 |
Wait for Channel A |
Kanal B wurde auf TRUE geschaltet - Warten auf Kanal A; Diskrepanztimer gestartet. Ready = TRUE S_EquivalentOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
8806 |
From Active Wait |
Ein Kanal wurde auf FALSE geschaltet - Warten bis der zweite Kanal auf FALSE geschaltet wird, Diskrepanztimer gestartet. Ready = TRUE S_EquivalentOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |