Skip to main content

SF_Antivalent

Tipp

Die Version des hier beschriebenen Bausteins entspricht der neuesten Version des Bausteins in der Versionsliste der Bausteine.

Anwendbare Sicherheits-Standards

SF_Antivalent 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 antivalente SAFEBOOL-Eingänge (NO/NC Paar) 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 19. VAR_INPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

Activate

BOOL

FALSE

siehe Allg. Regeln für sicherheitsgerichtete Funktionsbausteine (General Rules for Safety Related Function Blocks)

S_ChannelNC

SAFEBOOL

FALSE

Variable

NC bedeutet Normally Closed.

Eingang für NC-Verbindung

FALSE: Kontakt NC offen

TRUE: Kontakt NC geschlossen

S_ChannelNO

SAFEBOOL

TRUE

Variable

NO bedeutet Normally Open.

Eingang für NO-Verbindung

FALSE: Kontakt NO offen

TRUE: Kontakt NO 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. Das heißt, der Wert darf bei den Aufrufen nicht verändert werden!

Tabelle 20. VAR_OUTPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

Ready

BOOL

FALSE

Allgemeine Ausgangsparameter

S_AntivalentOut

SAFEBOOL

FALSE

Sicherheitsgerichteter Ausgang

FALSE: Mindestens ein Eingangssignal ist „nicht aktiv“, oder Statusänderung außerhalb der Überwachungszeit

TRUE: Beide Eingangssignale „aktiv“ und Statusänderung innerhalb der Überwachungszeit.

Error

BOOL

FALSE

Allgemeine Ausgangsparameter

DiagCode

WORD

16#0000

Diagnosecodes



Tipp

„Antivalent“ bedeutet, dass sich während des normalen Ablaufs die zwei Eingänge zur selben Zeit in entgegengesetzten Zuständen befinden. Dies wird manchmal auch als „komplementär“ oder „nicht equivalent“ bezeichnet.

Abbildung 54. Baustein SF_Antivalent
Baustein SF_Antivalent


Funktionale Beschreibung

Dieser Baustein verarbeitet zwei antivalente SAFEBOOL-Eingänge zu einem SAFEBOOL-Ausgang unter Diskrepanzzeit-Überwachung. Beide Eingänge sind voneinander abhängig. Der Ausgang des Bausteins zeigt das Auswertungsergebnis beider Kanäle an.

Wenn S_AntivalentOut = TRUE ist und sich einer der sicherheitsbezogenen Eingänge ändert, schaltet der Ausgang sofort auf FALSE.

Diskrepanzzeit-Überwachung: Die Diskrepanzzeit ist die maximale Zeitspanne, in der beide Eingänge den gleichen Zustand haben dürfen (diese bedeutet, dass entweder beide Eingänge auf TRUE oder beide auf FALSE sind), ohne dass der Baustein einen Fehler entdeckt. Die Diskrepanzzeit-Überwachung startet, wenn sich der Zustand eines Eingangs ändert. Der Baustein entdeckt einen Fehler, wenn beide Eingänge nach Ablauf der Diskrepanzzeit den gleichen Wert aufweisen.

Die Eingänge müssen symmetrisch geschalten werden. Dies bedeutet, dass die Überwachung sowohl für das Umschalten der Eingänge auf TRUE als auch für das Umschalten auf FALSE durchgeführt wird.

Tabelle 21. Logiktabelle Ein-/Ausgänge

Eingänge

Ausgänge

Activate

S_ChannelNC

S_ChannelNO

DiscrepancyTime

Ready

S_AntivalentOut

Error

DiagCode

FALSE

FALSE

TRUE

nicht gestartet

FALSE

FALSE

FALSE

16#0000

TRUE

FALSE

TRUE

nicht gestartet

TRUE

FALSE

FALSE

16#8001

TRUE

FALSE -> TRUE

TRUE

gestartet

TRUE

FALSE

FALSE

16#8004

TRUE

TRUE

TRUE -> FALSE

gestartet

TRUE

TRUE

FALSE

16#8000

TRUE

TRUE

FALSE

nicht gestartet

TRUE

TRUE

FALSE

16#8000

TRUE

TRUE

FALSE -> TRUE

gestartet

TRUE

FALSE

FALSE

16#800165

TRUE

TRUE -> FALSE

TRUE

gestartet

TRUE

FALSE

FALSE

16#8001

TRUE

FALSE

TRUE

nicht gestartet

TRUE

FALSE

FALSE

16#8001

TRUE

FALSE

TRUE -> FALSE

gestartet

TRUE

FALSE

FALSE

16#8014

TRUE

FALSE -> TRUE

FALSE

gestartet

TRUE

TRUE

FALSE

16#8000

TRUE

TRUE -> FALSE

FALSE

gestartet

TRUE

FALSE

FALSE

16#8005

TRUE

FALSE

FALSE -> TRUE

gestartet

TRUE

FALSE

FALSE

16#8001



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.

Statusdiagramm

Abbildung 55. Statusdiagramm SF_Antivalent
Statusdiagramm SF_Antivalent


Tipp

Anmerkung: 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 56. Zeitdiagramm1 SF_Antivalent.png
Zeitdiagramm1 SF_Antivalent.png


Abbildung 57. Zeitdiagramm2 SF_Antivalent.png
Zeitdiagramm2 SF_Antivalent.png


Fehlererkennung

Der Baustein überwacht die Diskrepanzzeit zwischen Kanal NO und Kanal NC.

Fehlerverhalten

Der Ausgang S_AntivalentOut 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_AntivalentOut anliegt, ist Error wieder FALSE.

Bausteinspezifische Fehler- und Zustandcodes

Tabelle 22. Bausteinspezifische Fehlercodes

DiagCode

Statusname

Statusbeschreibung und Setzen des Ausgangs

16#C001

Error 1

Diskrepanzzeit abgelaufen in Status 16#8004

Ready = TRUE

S_AntivalentOut = FALSE

Error = TRUE

16#C002

Error 2

Diskrepanzzeit abgelaufen in Status 16#8014

Ready = TRUE

S_AntivalentOut = FALSE

Error = TRUE

16#C003

Error 3

Diskrepanzzeit abgelaufen in Status 16#8005

Ready = TRUE

S_AntivalentOut = FALSE

Error = TRUE



Tabelle 23. Bausteinspezifische Status-Codes

DiagCode

Statusname

Statusbeschreibung und Setzen des Ausgangs

16#0000

Idle

Der Baustein ist nicht aktiv (Grundzustand)

Ready = FALSE

S_AntivalentOut =FALSE

Error = FALSE

16#8001

Init

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

Ready = TRUE

S_AntivalentOut = FALSE

Error = FALSE

16#8000

Safety Output Enabled

Die Einänge sind im Antivalent-Modus auf aktiv geschalten.

Ready =TRUE

S_AntivalentOut = TRUE

Error = FALSE

16#8004

Wait for NO

ChannelNC ist auf TRUE umgeschalten worden - Warten bis ChannelNO auf FALSE umgeschalten wird; Diskrepanz-Timer gestartet.

Ready = TRUE

S_AntivalentOut = FALSE

Error = FALSE

16#8014

Wait for NC

ChannelNO ist auf FALSE umgeschalten worden - Warten bis ChannelNC auf TRUE umgeschalten wird; Diskrepanz-Timer gestartet.

Ready = TRUE

S_AntivalentOut = FALSE

Error = FALSE

16#8005

From Active Wait

Ein Kanal ist auf inaktiv umgeschalten worden; Warten, dass der zweite Kanal auch auf inaktiv geschalten wird.

Ready = TRUE

S_AntivalentOut = FALSE

Error = FALSE