SF_SafetyRequest-Baustein
Funktionsbaustein
Dieser Funktionsbaustein wird genutzt, um in einer Applikation die Funktion "Anforderung einer Sicherheitsfunktion" (z. B. sicherer Halt, sichere reduzierte Geschwindigkeit) zu unterstützen.
Schnittstelle
I/O |
Bezeichnung |
Datentyp |
Startwert |
Beschreibung |
IN |
Activate |
BOOL |
FALSE |
siehe Allgemeine Parameter |
IN |
S_OpMode |
SAFEBOOL |
SAFEFALSE |
Variable. Angeforderter Modus eines generischen sicheren Aktors. SAFEFALSE: Sicherer Modus wird angefordert. SAFETRUE:Betriebsmodus wird angefordert. |
IN |
S_Acknowledge |
SAFEBOOL |
SAFEFALSE |
Variable. Bestätigung des generischen Aktors, wenn sich der Aktor im sicheren Zustand befindet. SAFEFALSE: Betriebsmodus (nicht sicherer Zustand). SAFETRUE:Sicherer Modus. |
IN |
MonitoringTime |
TIME |
T#0s |
Konstante. Überwachung der Reaktionszeit zwischen der Sicherheitsfunktionsanforderung (S_OpMode = SAFEFALSE) und der Aktorquittierung (S_Acknowledge wechselt auf SAFETRUE). |
IN |
S_StartReset |
SAFEBOOL |
FALSE |
siehe Allgemeine Parameter |
IN |
Reset |
BOOL |
FALSE |
siehe Allgemeine Parameter Mit Funktionalität zur Quittierung von Fehlerbeseitigung. |
OUT |
Ready |
BOOL |
FALSE |
siehe Allgemeine Parameter |
OUT |
S_SafetyActive |
SAFEBOOL |
SAFEFALSE |
Bestätigung des sicheren Zustands. SAFEFALSE: Nicht sicherer Zustand. SAFETRUE: Sicherer Zustand. |
OUT |
S_SafetyRequest |
SAFEBOOL |
SAFEFALSE |
Anforderung, den Aktor in einen sicheren Zustand zu versetzen. SAFEFALSE: Sicherer Zustand wird angefordert. SAFETRUE: Nicht sicherer Zustand. |
OUT |
SafetyDemand |
BOOL |
FALSE |
siehe Allgemeine Parameter |
OUT |
ResetRequest |
BOOL |
FALSE |
siehe Allgemeine Parameter |
OUT |
Error |
BOOL |
FALSE |
siehe Allgemeine Parameter |
OUT |
DiagCode |
WORD |
16#0000 |
siehe Allgemeine Parameter |
Funktionsbeschreibung
Dieser Funktionsbaustein dient als Schnittstelle zwischen der Sicherheitsapplikation/der Sicherheitssteuerung und der angeschlossenen sicheren Peripherie (z. B. sicherer Antrieb). Die Sicherheitsfunktion der mit dem Funktionsbaustein verschalteten sicheren Peripherie, kann vom Funktionsbaustein aus dem Programm der Sicherheitssteuerung angefordert werden. Der Funktionsbaustein überwacht die Reaktion auf die Anforderung einer Sicherheitsfunktion mittels Rückführsignal der sicheren Peripherie (Eingangsparameter S_Acknowledge).
Der Datenaustausch zur Anforderung einer sicheren Betriebsart und der Rückmeldung der aktuellen Betriebsart erfolgt mittels I/O-Kopplung zwischen der Sicherheitsapplikation und der sicheren Peripherie. Die I/O-Signale werden dabei über Ein- bzw. Ausgänge mit dem Funktionsbaustein verschaltet.
Der Funktionsbaustein gibt den Status der angeschlossenen sicheren Peripherie über einen Binär-Eingangsparameter zur weiteren Verarbeitung in der Sicherheitsapplikation aus.
Hinweis
Es muss beachtet werden, dass der Funktionsbaustein NICHT die Sicherheitsfunktion der angeschlossenen sicheren Peripherie ausführt. Die sichere Peripherie führt die Sicherheitsfunktion selbstständig und unabhängig vom Funktionsbaustein aus. Der Funktionsbaustein fordert lediglich die Sicherheitsfunktion an und bestätigt, dass er von der sicheren Peripherie die Rückmeldung über den aktiven sicheren Zustand erhalten hat.
Es muss durch geeignete Maßnahmen sichergestellt werden, dass von der sicheren Peripherie keine Gefahr ausgeht, wenn die sichere Peripherie die Sicherheitsfunktion ausführt!
Über den Eingang S_OpMode erhält der Funktionsbaustein die Anforderung von der vorgeschalteten Sicherheitsapplikation, dass die angeschlossene sichere Peripherie eine Sicherheitsfunktion ausführen oder nicht ausführen soll. Der Funktionsbaustein leitet diese Anforderung über den Ausgang S_SafetyRequest an die angeschlossene sichere Peripherie weiter.
Wenn die angeschlossene sichere Peripherie die Anforderung erhält eine sichere Betriebsart auszuführen: Ein SAFEFALSE-Signal an S_OpMode steuert S_SafetyRequest auf SAFEFALSE, wenn der Funktionsbaustein aktiv ist. Wenn der Funktionsbaustein innerhalb einer vorgegebenen Zeit (Eingangsparameter MonitoringTime) am Eingang S_Acknowledge die Rückmeldung (SAFETRUE-Signal) von der sicheren Peripherie erhält, dass diese die Sicherheitsfunktion ausführt, dann erzeugt der Funktionsbaustein am Ausgangsparameter S_SafetyActive eine Bestätigung (SAFETRUE-Signal). Im anderen Fall gibt der Funktionsbaustein am Ausgangsparameter DiagCode eine Fehlermeldung aus.
Wenn die angeschlossene sichere Peripherie die Anforderung erhält keine sichere Betriebsart auszuführen:
Ein SAFETRUE-Signal an S_OpMode steuert S_SafetyRequest auf SAFETRUE und S_SafetyActive auf SAFEFALSE, wenn der Funktionsbaustein aktiv ist.
Zusätzliche Information
1) Start
2) Normalbetrieb
3) Fehler
Fehlererkennung
Der Funktionsbaustein erkennt ...
ob der Aktor nicht innerhalb der Überwachungszeit in den sicheren Zustand geht.
ob das Bestätigungssignal während einer aktiven Anfrage verloren geht.
ein statisches Reset-Signal.
Externe Funktionsbaustein-Fehler
Es gibt keine externen Fehler, da keine Fehlerbits/-informationen vom generischen Aktor bereitgestellt werden.
Fehlerverhalten
Im Fehlerfall wird der Ausgang S_SafetyActive auf SAFEFALSE gesetzt.
Ein Fehler muss durch einen steigenden Trigger am Eingang Reset quittiert werden. Um den Funktionsbaustein nach diesem Reset fortzusetzen, muss die Anforderung S_OpMode auf SAFETRUE gesetzt werden oder S_Acknowledge muss SAFETRUE werden.
Fehler- und Statusmeldungen
Funktionsbaustein-spezifische Fehlercodes
DiagCode |
Name |
Beschreibung und Ausgangseinstellungen |
C010 |
Acknowledge Lost |
Bestätigung im sicheren Zustand verloren. Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = TRUE Error = TRUE |
C020 |
MonitoringTime Elapsed |
S_OpMode-Anfrage konnte nicht innerhalb der Überwachungszeit abgeschlossen werden. Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = TRUE Error = TRUE |
C001 |
Reset Error 1 |
Statischer Reset in Status 8401 Init erkannt. Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C014 |
Reset Error 2 |
Im Status C010 Acknowledge Lost erkannt. Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C011 |
Reset Error 3 |
Im Status C020 Monitoring Time Elapsed erkannt. Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
Funktionsbaustein-spezifische Statuscodes (kein Fehler)
DiagCode |
Name |
Beschreibung und Ausgangseinstellungen |
0000 |
Idle |
Funktionsbaustein ist nicht aktiv (Ausgangszustand). Ready = FALSE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |
8000 |
Safe Mode |
Aktuator befindet sich im sicheren Zustand. Ready = TRUE S_SafetyActive = SAFETRUE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |
8401 |
Init |
Der Status wird nach Activate oder nach einem steigenden Trigger bei Reset auf TRUE gesetzt . Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = TRUE Error = FALSE |
8802 |
Operation Mode |
Betriebsmodus ohne Bestätigung des sicheren Modus. Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFETRUE SafetyDemand = TRUE ResetRequest = FALSE Error = FALSE |
8804 |
Wait for Confirmation OpMode |
Betriebsmodus mit Bestätigung des sicheren Modus.. Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFETRUE SafetyDemand = TRUE ResetRequest = FALSE Error = FALSE |
8002 |
Wait for Confirmation |
Warten auf Bestätigung vom Antrieb (Systemschnittstelle). Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |
8004 |
Wait for OpMode |
Fehler wurde entfernt. Allerdings muss S_OpMode auf SAFETRUE gesetzt werden oder S_Acknowledge muss SAFETRUE werden, bevor der Funktionsbaustein fortgesetzt werden kann. Ready = TRUE S_SafetyActive = SAFEFALSE S_SafetyRequest = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |