Skip to main content

SF_TestableSafetySensor

Tipp

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

Anwendbare Sicherheits-Standards

SF_TestableSafetySensor 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 dient dem periodischen Testen eines testbaren elektronischen/optischen Sensors oder einer berührungslos wirkenden Schutzeinrichtung (ESPE) vom Typ2. Der Baustein kann auch für externe testbare Sicherheitssensoren (ESPE: Elektro-sensitive Schutzeinrichtung, z. B. Lichtstrahl) verwendet werden. Er überwacht ferner den Status des Sicherheitssensors.

Tabelle 50. VAR_INPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

Activate

BOOL

FALSE

Allgemeine Eingangsparameter

S_OSSD_In

SAFEBOOL

FALSE

Variable

Status des Sensorausgangs, z. B. Lichtgitter.

FALSE: Sicherheitssensor in Testzustand oder Anforderung für sicherheitsgerichtete Antwort.

TRUE: Sensor im Status für normalen Betriebszustand

StartTest

BOOL

FALSE

Variable

Eingang um Sensortest zu starten. Setzt S_TestOut und startet die interne Zeitüberwachungsfunktion des Bausteins.

FALSE: Kein Test angefordert.

TRUE: Test angefordert.

TestTime

TIME

T#10ms

Konstante. Bereich: 0 … 150 ms.

Testzeit für Sicherheitssensor.

Der Vorsichtshinweis 'TestTime' ist zu beachten!

NoExternalTest

BOOL

FALSE

Konstante

Zeigt an, ob externer, manueller Sensortest unterstützt wird.

FALSE: Der externe, manuelle Sensortest wird unterstützt. Nach einem fehlerhaften automatischen Sensortest ist nur nach einer vollständigen manuellen Sensor-Schaltfolge, wieder ein automatischer Test möglich.

TRUE: Der externe, manuelle Sensortest wird nicht unterstützt. Nach einem fehlerhaften automatischen Sensortest ist wieder ein automatischer Test möglich - ohne manueller Sensor-Schaltfolge.

S_StartReset

SAFEBOOL

FALSE

Allgemeine Eingangsparameter

S_AutoReset

SAFEBOOL

FALSE

Allgemeine Eingangsparameter

Reset

BOOL

FALSE

Allgemeine Eingangsparameter



TestTime

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

Tabelle 51. VAR_OUTPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

Ready

BOOL

FALSE

Allgemeine Ausgangsparameter

S_OSSD_Out

SAFEBOOL

TRUE

Sicherheitsgerichteter Ausgang, der den Status des ESPE anzeigt.

FALSE: Der Sensor hat eine Anforderung für sicherheitsgerichtete Aktion, oder Testfehler.

TRUE: Der Sensor hat keine Anforderung für sicherheitsgerichtete Aktion, UND kein Testfehler.

S_TestOut

SAFEBOOL

TRUE

Gekoppelt mit dem Testeingang des Sensors. Obwohl als SAFEBOOL spezifiziert, wird das Signal in der Praxis oft mit einem BOOL-Ausgang verbunden.

FALSE: Testanforderung erteilt

TRUE: Keine Testanforderung

TestPossible

BOOL

FALSE

Rückmeldungs-Signal zum Prozess.

FALSE: Ein automatischer Sensortest ist nicht möglich.

TRUE: Ein automatischer Sensortest ist möglich.

TestExecuted

BOOL

FALSE

Eine positive Signalflanke zeigt die erfolgreiche Ausführung des automatischen Sensortests an.

FALSE:

  • Ein automatischer Sensortest wurde noch nicht durchgeführt.

  • Ein automatischer Sensortest ist aktiv.

  • Ein automatischer Sensortest war fehlerhaft.

TRUE: Ein Sensor-Test wurde erfolgreich durchgeführt.

Error

BOOL

FALSE

Allgemeine Ausgangsparameter

DiagCode

WORD

16#0000

Diagnose-Codes



Tipp

OSSD steht für: Output Signal Switching Device

Abbildung 82. Baustein SF_TestableSafetySensor
Baustein SF_TestableSafetySensor


Funktionale Beschreibung

Type 2 ESPE dient dem periodischen Testen. Es soll einen gefährlichen Fehler (zum Beispiel, Ausfall des Sensors, Antwortzeit überschreitet die spezifierte) entdecken. Das Testsignal soll die Betätigung des Messgeräts simulieren und die Dauer des periodischen Tests soll 150 ms nicht überschreiten. Der Test soll verifizieren, dass jeder Lichtstrahl in der Art und Weise arbeitet, wie es durch den Anwender festgelegt wurde. Wenn der Test durch ein externes, sicherheitsgerichtetes Steuerungssystem (z. B. eine Maschine) initiiert werden soll, sollte die ESPE mit geeigneten Eingabe-Einrichtungen (z. B. Terminal) ausgestattet sein.

Wichtig

Die ESPE muss entsprechend der Produktstandards und der geforderten Kategorien gemäß der Normen ausgewählt werden.

Es muss mit einer separaten Funktionalität überwacht werden, dass der Test innerhalb von angemessenen Intervallen initiiert wird.

Achtung

Die S_StartReset- und S_AutoReset-Eingänge sollen nur aktiviert werden, wenn sichergestellt ist, dass keine Gefährdung entstehen kann, wenn die S-SPS startet.

Prozedur. Testmodus
  1. StartTest = TRUE: STestOut = FALSE. Start der Überwachungszeit

  2. S_TestOut-Signal stoppt den Transmitter (Überwachung von TestTime zum ersten Mal gestartet)

  3. S_OSSD_In wechselt von TRUE nach FALSE (Überwachung von TestTime zum zweiten Mal gestartet)

  4. S_TestOut wechselt von FALSE nach TRUE

  5. Start Transmitter

  6. Sensor S_OSSD_In wechselt von FALSE nach TRUE

  7. Stopp Überwachunszeit

  8. S_OSSD_Out ist während des Testens auf TRUE

. Optionale Anlaufsperren
  • Anlaufsperre nach Aktivierung des Bausteins

  • Anlaufsperre nach Unterbrechung der Schutzeinrichtung

Statusdiagramm

Abbildung 83. Statusdiagramm SF_TestableSafetySensor
Statusdiagramm SF_TestableSafetySensor


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.

Zeitdiagramm

Abbildung 84. Zeitdiagramm SF_TestableSafetySensor
Zeitdiagramm SF_TestableSafetySensor


Fehlererkennung

Die folgenden Bedingungen forcieren einen Übergang in den Fehlerstatus:

  • Testzeitüberschreitung ohne verzögerte Sensorrückmeldung

  • Test ohne Sensorsignal-Rückmeldung

  • Ungültiges statisches Resetsignal im Prozess

  • Plausibilitätsprüfung der Einstellung derÜberwachungszeit

Fehlerverhalten

Bei einem Fehlerereignis wird der Ausgang S_OSSD_Out auf FALSE gesetzt und bleibt in diesem Zustand. Sobald der Fehler behoben wurde und der Sensor in Betrieb ist (S_OSSD_In = TRUE), entfernt ein Reset den Fehlerstatus und setzt den Ausgang S_OSSD_Out auf TRUE.

Wenn S_AutoReset = FALSE, wird eine steigende Triggerflanke an Reset gefordert.

Nach dem Übergang von S_OSSD_In nach TRUE, kann die optionale Anlaufsperre durch eine steigende Flanke am Reset-Eingang wieder gestartet werden.

Nach Aktivierung des Bausteins kann die optionale Anlaufsperre durch eine steigende Triggerflanke am Reset-Eingang wieder gestartet werden.

Bausteinspezifische Fehler- und Zustandcodes

Tabelle 52. Bausteinspezifische Fehlercodes

DiagCode

Statusname

Statusbeschreibung und Setzen des Ausgangs

16#C000

Parameter Error

Ungültiger Wert des Parameters TestTime

Werte zwischen 0 ms und 150 ms sind möglich.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C001

Reset Error 1

Statische Reset-Bedingung wurde nach Bausteinaktivierung entdeckt.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#C002

Reset Error 2

Statische Reset-Bedingung wurde in Status 8003 entdeckt.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C003

Reset Error 3

Statische Reset-Bedingung entdeckt in Status C010

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C004

Reset Error 4

Statische Reset-Bedingung entdeckt in Status C020

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C005

Reset Error 5

Statische Reset-Bedingung entdeckt in Status 8006

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C006

Reset Error 6

Statische Reset-Bedingung entdeckt in Status C000

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C007

Reset Error 7

Statische Reset-Bedingung entdeckt in Status 8013

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = TRUE

Error = TRUE

16#C010

Test Error 1

Testzeit abgelaufen in Status 8020

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted= FALSE

Error = TRUE

16#C020

Test Error 2

Testzeit abgelaufen in Status 8030

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted= FALSE

Error = TRUE



Tabelle 53. Bausteinspezifische Status-Codes

DiagCode

Statusname

Statusbeschreibung und Setzen des Ausgangs

16#0000

Idle

Der Baustein ist nicht aktiv (Grundzustand).

Ready = FALSE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8001

Init

Eine Aktivierung wurde durch den Baustein entdeckt.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8002

ESPE Interrupted 1

Der Baustein hat eine Sicherheitsanforderung entdeckt.

Der Schalter ist noch nicht automatisch getestet worden.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8003

Wait for Reset 1

Warten auf steigende Triggerflanke nach Status 16#8002.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8004

External Function Test

Der automatische Sensortest war fehlerhaft.

Ein externer manueller Sensortest ist notwendig.

Die Unterstützung für den notwendigen, externen manuellen Sensortest wurde am Baustein aktiviert (NoExternalTest = FALSE).

Am Sensor ist eine negative Signalflanke gefordert.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8005

ESPE Interrupted

External Test

Der automatische Sensortest war fehlerhaft.

Ein externer manueller Sensortest ist notwendig.

Die Unterstützung für den notwendigen, externen manuellen Sensortest wurde am Baustein aktiviert (NoExternalTest = FALSE).

Am Sensor ist eine TRUE-Signal gefordert.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8006

End External Test

Der automatische Sensortest war fehlerhaft.

Ein externer manueller Sensortest ist notwendig.

Die Unterstützung für den notwendigen, externen manuellen Sensortest wurde am Baustein aktiviert (NoExternalTest = FALSE).

Der externe manuelle Test ist vollständig.

Der Baustein entdeckte einen vollständigen Sensor-Schaltzyklus (extern kontrolliert).

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8010

ESPE Free No Test

Der Baustein hat keine Sicherheitsanforderung entdeckt.

Der Sensor wurde nicht automatisch getestet.

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = TRUE

TestPossible = TRUE

TestExecuted = FALSE

Error = FALSE

16#8020

Test Request

Der automatische Sensortest ist aktiv. Test Timer ist das erste Mal gestartet. Das Transmitter-Signal wurde durch den Baustein ausgeschaltet.

Das Signal des Empfängers muss dem Signal des Transmitters folgen.

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = FALSE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8030

Test Active

Der automatische Sensortest ist aktiv. Der Test Timer ist das zweite Mal gestartet. Das Transmitter-Signal des Sensors wurde durch den Baustein eingeschalten.

Das Signal des Empfängers muss dem Signal des Transmitters folgen.

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8000

ESPE Free Test ok

Der Baustein hat keine Sicherheitsanforderung entdeckt.

Der Sensor wurde automatisch getestet.

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = TRUE

TestPossible = TRUE

TestExecuted =TRUE

Error = FALSE

16#8012

ESPE Interrupted 2

Der Baustein hat eine Sicherheitsanforderung entdeckt. Der Schalter wurde automatisch getestet.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted =TRUE

Error = FALSE

16#8013

Wait for Reset 2

Warten auf eine steigende Triggerflanke von Reset nach Status 16#8012.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted =TRUE

Error = FALSE