Anwendungsfall: Zustand einer sicherheitsgerichteten Anlaufsperre über einen Steuerungsneustart hinaus speichern
Ein Paar von SF_RecipeWrite und SF_RecipeRead-Instanzen kann dazu verwendet werden, in einer sicherheitsbezogenen Applikation eine Anlaufsperre nach dem Neustart der Sicherheitssteuerung wiederherzustellen. Das kann für Applikationen sinnvoll sein, in denen grundsätzlich eine Quittierung durch einen Anwender notwendig ist, auch nach einem Abschaltereignis der Sicherheitssteuerung.
Einige sicherheitsbezogene PLCopen-Funktionsbausteine (wie z.B. der SF_ESPE zur Auswertung einer Lichtvorhangs) besitzen einen Eingangs-Formalparameter zum Vorgeben einer Anlaufsperre, die nach dem Einschalten der Sicherheitssteuerung wirksam ist. Für eine aktive Anlaufsperre muss der Wert SAFEFALSE am Formalparameter S_StartReset anliegen.
Wird dieser Eingang über Variable (anstelle eines SAFEFALSE-Literals) gesteuert, so muss sichergestellt sein, dass nach einem Neustart der Sicherheitssteuerung als Folge einer Sicherheitsanforderung am Eingang S_StartReset der Wert SAFEFALSE anliegt und somit eine manuelle Bestätigung erforderlich ist, um den Betrieb zu ermöglichen. Das bedeutet, der Zustand der Anlaufsperre muss den Neustart der Sicherheitssteuerung überdauern. Gleichermaßen muss aber nach einem Neustart ohne vorherige Sicherheitsanforderung der Betrieb auch ohne manuelle Bestätigung möglich sein.
- Das Anlaufverhalten der Applikation kann über den Formalparameter S_StartReset eines PLCopen-Funktionsbausteins gesteuert werden.
- In der sicherheitsbezogenen Applikation wird die Ausführung einer Instanz des SF_RecipeWrite-Bausteins durch den Zustandswechsel eines Freigabesignals gesteuert (an dessen CommandWrite-Eingang). Dies könnte beispielsweise das sicherheitsbezogene Ausgangssignal eines PLCopen-Funktionsbausteins sein. Über dieses Freigabesignal wird der definierte sichere Zustand angefordert. Dieser Zustandswechsel triggert den SF_RecipeWrite-FB, den aktuellen Zustand des Freigabesignals in eine Rezeptur-Datei zu schreiben.Beispiel: Die Anforderung der Sicherheitsfunktion steuert das Freigabesignal eine SF_ESPE-Funktionsbausteins (SF_ESPE_Out) auf SAFEFALSE. Dieser SAFEFALSE-Wert wird in die Rezeptur-Datei geschrieben und somit im Flash-Speicher gespeichert.Anschließend folgt ein Abschaltereignis (Power Down Event) der Sicherheitssteuerung.
- Beim Neustart der sicherheitsbezogenen Applikation stellt eine Instanz des SF_RecipeRead-Bausteins diesen Wert aus der Rezeptur-Datei wieder her. Der gelesene Wert wird dann an den Eingang S_StartReset des entsprechenden PLCopen-Funktionsbausteins angelegt.
Da der Wert den Zustand der Sicherheitsfunktion vor dem Abschaltereignis darstellt, überdauert der Zustand der Anlaufsperre den Neustart der Sicherheitssteuerung.
In einem solchen Anwendungsszenario wird empfohlen, die Validierung der Seriennummer der Sicherheitssteuerung zu aktivieren (RecipeRead.CheckSerialNumber = SAFETRUE).