Skip to main content

SF_Equivalent

Anwendbare Sicherheits-Standards

SF_Equivalent ist ein zertifizierter PLCopen-Baustein. Detaillierte Informationen zu angewendeten Normen findet der Anwender bei "PLCopen - Technical Committee 5 - Safety Software"

Wichtig

Die in den Normen aufgeführten Anforderungen müssen vom Anwender erfüllt werden.

Interface-Beschreibung

Dieser Baustein verknüpft zwei äquivalente SAFEBOOL-Eingänge (beide NO oder NC) zu einem SAFEBOOL-Ausgang unter Diskrepanzzeit-Überwachung. Da dieser Baustein keine Restart-Anlaufsperre besitzt, sollte er nicht stand-alone verwendet werden. Es ist erforderlich, den Ausgang mit anderen sicherheitsgerichteten Funktionalitäten zu verbinden.

Tabelle 8. VAR_INPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

Activate

BOOL

FALSE

Siehe Allgemeine Eingangsparameter

S_ChannelA

SAFEBOOL

FALSE

Variable

Eingang A für logische Verbindung

FALSE: Kontakt A offen

TRUE: Kontakt A geschlossen

S_ChannelB

SAFEBOOL

FALSE

Variable

Eingang B für logische Verbindung

FALSE: Kontakt B offen

TRUE: Kontakt B geschlossen

DiscrepancyTime

TIME

T#0ms

Konstante

Maximale Überwachungszeit für Diskrepanzzustand beider Eingänge

Der Vorsichtshinweis DiscrepancyTime ist zu beachten!



DiscrepancyTime

Für Entwickler im Extended-Level gilt: Der Eingang DiscrepancyTime muss mit einem konstanten Wert beschaltet werden. Deshalb darf der Wert bei den Aufrufen nicht verändert werden!

Tabelle 9. VAR_OUTPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

Ready

BOOL

FALSE

Siehe Allgemeine Ausgangsparameter

S_EquivalentOut

SAFEBOOL

FALSE

Sicherheitsgerichteter Ausgang

FALSE: Mindestens ein Eingangssignal ist FALSE oder die Zustandsänderung ist außerhalb der Überwachungszeit

TRUE: Beide Eingangssignale sind aktiv und die Zustandsänderung ist innerhalb der Überwachungszeit.

SafetyDemand

BOOL

FALSE

Siehe Allgemeine Ausgangsparameter

Error

BOOL

FALSE

Siehe Allgemeine Ausgangsparameter

DiagCode

WORD

16#0000

Siehe Diagnose-Codes



Tipp

Für bestimmte (niedrigere) Sicherheitsanforderungen kann es zulässig sein, BOOL als Eingänge und SAFEBOOL als Ausgang zu verwenden. Dies muss jedoch über die FMEA der Anwendung bewertet werden. In der Bibliothek sollte zwischen der SAFEBOOL- und BOOL-Version unterschieden werden.

Abbildung 10. Baustein SF_Equivalent
Baustein SF_Equivalent


Funktionale Beschreibung

Dieser Baustein verknüpft zwei äquivalente SAFEBOOL-Eingänge (beide NO oder NC) zu einem SAFEBOOL-Ausgang unter Diskrepanzzeit-Überwachung. Die beiden Kanäle sind voneinander abhängig. Der Ausgang des Bausteins zeigt das Auswertungsergebnis beider Kanäle an.

Wenn sich das Signal eines Kanals von TRUE auf FALSE ändert, schaltet der Ausgang aus Sicherheitsgründen sofort auf FALSE.

Diskrepanzzeit-Überwachung: Die Diskrepanzzeit ist die maximale Zeitspanne, in der beide Eingänge unterschiedliche Zustände haben dürfen, ohne dass der Baustein einen Fehler entdeckt. Die Diskrepanzzeit-Überwachung startet, wenn sich der Zustand eines Eingangs ändert. Der Baustein entdeckt dann einen Fehler, wenn beide Eingänge nach Ablauf der Diskrepanzzeit unterschiedliche Zustände haben.

Beide Eingänge müssen symmetrisch geschalten werden. Das bedeutet, dass das Monitoring für beide Eingänge sowohl für das Umschalten von TRUE auf FALSE als auch für das Umschalten von FALSE auf TRUE durchgeführt wird.

Tabelle 10. Logiktabelle Ein-/Ausgänge

Eingänge

Ausgänge

Activate

S_ChannelA

S_ChannelB

DiscrepancyTime

Ready

S_EquivalentOut

SafetyDemand

Error

DiagCode

FALSE

FALSE

TRUE

nicht gestartet

FALSE

FALSE

FALSE

FALSE

0000

TRUE

FALSE

FALSE

nicht gestartet

TRUE

FALSE

TRUE

FALSE

8801

TRUE

TRUE

FALSE

gestartet

TRUE

FALSE

TRUE

FALSE

8802

TRUE

TRUE

FALSE -> TRUE

gestartet

TRUE

TRUE

FALSE

FALSE

8000

TRUE

TRUE

TRUE

nicht gestartet

TRUE

TRUE

FALSE

FALSE

8000

TRUE

TRUE

TRUE -> FALSE

gestartet

TRUE

FALSE

TRUE

FALSE

8806

TRUE

TRUE -> FALSE

FALSE

gestartet

TRUE

FALSE

TRUE

FALSE

8801

TRUE

FALSE

FALSE

nicht gestartet

TRUE

FALSE

TRUE

FALSE

8801

TRUE

FALSE

FALSE -> TRUE

gestartet

TRUE

FALSE

TRUE

FALSE

8804

TRUE

FALSE -> TRUE

TRUE

gestartet

TRUE

TRUE

FALSE

FALSE

8000



Tipp

In der Logiktabelle steht der Pfeil -> für einen Übergang. TRUE -> FALSE bedeutet, dass sich der Wert der Variablen von TRUE auf FALSE ändert.

Zustandsübergangsdiagramm

Abbildung 11. Zustandsübergangsdiagramm SF_Equivalent
Zustandsübergangsdiagramm SF_Equivalent


Tipp

Der Übergang von jedem Zustand zum Zustand Idle , bedingt durch Activate = FALSE, wird nicht gezeigt. In jedem Fall haben diese Übergänge die höchste Priorität.

Typische Zeitdiagramme

Abbildung 12. Zeitdiagramm 1 SF_Equivalent
Zeitdiagramm 1 SF_Equivalent


Abbildung 13. Zeitdiagramm 2 SF_Equivalent
Zeitdiagramm 2 SF_Equivalent


Fehlererkennung

Der Baustein überwacht die Diskrepanzzeit zwischen Kanal S_ChannelA und Kanal S_ChannelB, sowohl wenn auf TRUE als auch wenn auf FALSE umgeschalten wird.

Fehlerverhalten

Der Ausgang S_EquivalentOut wird auf FALSE gesetzt. Error wird auf TRUE gesetzt. DiagCode zeigt die Fehlerzustände an. Es gibt keinen als Eingang definierten Reset, der mit dem Reset eines Fehlers gekoppelt ist. Sobald ein Set von Eingangswerten mit korrektem S_EquivalentOut anliegt, ist Error wieder FALSE.

Bausteinspezifische Fehler- und Zustandscodes

Tabelle 11. Bausteinspezifische Fehlercodes

DiagCode

Zustandsname

Zustandsbeschreibung und Setzen des Ausgangs

16#C010

Error 1

Diskrepanzzeit abgelaufen in Zustand 16#8802

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = FALSE

Error = TRUE

16#C020

Error 2

Diskrepanzzeit abgelaufen in Zustand 16#8804

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = FALSE

Error = TRUE

16#C030

Error 3

Diskrepanzzeit abgelaufen in Zustand 16#8806

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = FALSE

Error = TRUE



Tabelle 12. Baustein-spezifische Zustand-Codes

DiagCode

Zustandsname

Zustandsbeschreibung und Setzen des Ausgangs

16#0000

Idle

Der Baustein ist nicht aktiv (Grundzustand)

Ready = FALSE

S_EquivalentOut =FALSE

SafetyDemand = FALSE

Error = FALSE

16#8801

Init

Eine Aktivierung wurde durch den Baustein entdeckt und der Baustein ist jetzt aktiviert.

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = TRUE

Error = FALSE

16#8000

Safety Output Enabled

Die Eingänge sind im Äquivalent-Modus auf TRUE geschalten

Ready =TRUE

S_EquivalentOut = TRUE

SafetyDemand = FALSE

Error = FALSE

16#8802

Wait for Channel B

Kanal S_ChannelA ist auf TRUE umgeschalten worden - Warten auf Kanal S_ChannelB; Diskrepanz-Timer gestartet.

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = TRUE

Error = FALSE

16#8804

Wait for Channel A

Kanal S_ChannelB ist auf TRUE umgeschalten worden -Warten auf Kanal S_ChannelA; Diskrepanz-Timer gestartet.

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = TRUE

Error = FALSE

16#8806

From Active Wait

Ein Kanal ist auf FALSE umgeschalten worden; Warten, dass der andere Kanal auf FALSE geschalten wird, Diskrepanz-Timer gestartet.

Ready = TRUE

S_EquivalentOut = FALSE

SafetyDemand = TRUE

Error = FALSE