SF_GuardLockingSerial block
Function block
This function controls access to a danger zone via an interlocking guard with guard locking device ("four-state interlocking device"). The switch used does not distinguish whether the safety gate is unlocked but not opened, or unlocked and opened. Therefore, it only contains input S_Guard as compared to SF_GuardLocking_2 .
Interface
I/O |
Name |
Data type |
Initial value |
Description |
IN |
Activate |
BOOL |
FALSE |
|
IN |
S_Guard |
SAFEBOOL |
SAFEFALSE |
Variable. Monitors the interlocking protection. Can be connected to GuardOut of function block SF_Guard. SAFEFALSE: Protective equipment open. SAFETRUE: Protective equipment closed and protected area secured. |
IN |
S_SafetyActive |
SAFEBOOL |
SAFEFALSE |
|
IN |
UnlockRequest |
BOOL |
FALSE |
Variable. Operator intervention - Request to unlock protective equipment. SAFEFALSE: No requirement. SAFETRUE: Requirement set. |
IN |
S_StartReset |
SAFEBOOL |
SAFEFALSE |
|
IN |
S_AutoReset |
SAFEBOOL |
SAFEFALSE |
|
IN |
Reset |
BOOL |
FALSE |
Also used to request re-locking the protective equipment. The quality of the signal must be equal to a manual reset device. |
OUT |
Ready |
BOOL |
FALSE |
|
OUT |
S_GuardLocked |
SAFEBOOL |
SAFEFALSE |
Interface to the hazardous area to stop. SAFEFALSE: Not a safe state. SAFETRUE: Safe state. |
OUT |
S_UnlockGuard |
SAFEBOOL |
SAFEFALSE |
Signal for unlocking the protective equipment. SAFEFALSE: Close protective equipment. SAFETRUE: Unlock protective equipment. |
OUT |
SafetyDemand |
BOOL |
FALSE |
|
OUT |
ResetRequest |
BOOL |
FALSE |
|
OUT |
Error |
BOOL |
FALSE |
|
OUT |
DiagCode |
WORD |
16#0000 |
Function description
This function controls guard locking and monitors the position combination of protection and guard locking. This function block can be used with a mechanically interlocked switch.
The operator requests access to the danger zone. The protective equipment can only be unlocked if the danger zone is in a safe state. The protective equipment can be locked when it is closed. The machine can be started when the protective equipment is closed and locked. Unlocked protective equipment is detected to initiate a safety reaction. Inputs S_StartReset and S_AutoReset are only permitted to be enabled if it has been ensured that no hazardous situation can occur when the PES is started.
Operating process
External: Request to bring the danger zone into a safe state - Not part of this function block
Input: Feedback from the applicable danger zone ensuring a safe state (via S_SafetyActive)
Input: Operator request to unlock the protective equipment (via UnlockRequest)
Output: Opening of the protective equipment possible (via S_UnlockGuard)
Input: Protective equipment unlocked (via S_Monitoring). The protective equipment can now be opened. (S_GuardLocked = FALSE)
The operator opens the protective equipment
Input: Feedback from the operator to restart the danger zone (reset)
Output: Lock guard (S_UnlockGuard)
Input: Check whether protective equipment is locked (S_Monitoring)
Output: Danger zone can be operated again (S_GuardLocked = TRUE)
External: Restart operation in potentially explosive atmosphere.
Additional information
Typical timing diagrams
1) Start
2) Normal operation
3) Wait
4) Error
Error detection
Static signals are detected during reset. Errors are detected at the guard switches.
Error behavior
In case of an error, outputs S_GuardLocked and S_UnlockGuard are set to FALSE, output DiagCode shows the corresponding error code and output Error is set to TRUE.
An error must be acknowledged by a rising trigger at the input Reset.
Error and status messages
Function block specific error codes
DiagCode |
Name |
Description and output settings |
C001 |
Reset error 0 |
Static reset detected in status 8x01. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C010 |
Guard error |
S_Guard is not TRUE, although no request to open the door was made. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C011 |
Reset error 1 |
Static reset detected in status C410. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C410 |
Guard return |
S_Guard was previously FALSE and is set to TRUE again (C010). Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = TRUE Error = TRUE |
Cx50 |
Safety lost |
Safety confirmation signal lost. If S_Guard = TRUE, then x = 4 otherwise x = 0 Output signals for x = 4 (C450): Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = TRUE Error = TRUE Output signals for x = 0 (C050): Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C021 |
Reset error 2 |
Static reset detected in status C420. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C420 |
Safety return |
Safety confirmation signal was previously FALSE and reset toTRUE (Cx50). Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = TRUE Error = TRUE |
C031 |
Reset error 3 |
Static reset detected in status 8430. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
Cx40 |
Unlock request error |
Delay time for unlocking exceeded. If S_Guard = TRUE, then x = 4 otherwise x = 0 Output signals for x = 4 (C440): Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = TRUE Error = TRUE Output signals for x = 0 (C040): Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C041 |
Reset error 4 |
Static reset detected in status Cx40. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
Function block-specific status codes (no error)
DiagCode |
Name |
Description and output settings |
0000 |
Idle |
Function block is not active (initial state). Ready = FALSE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |
8000 |
Guard Closed and Locked |
Protective equipment closed and locked. Ready = TRUE S_GuardLocked = SAFETRUE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |
8x01 |
Init |
Function block has been enabled and initiated. If S_Guard = TRUE, then x = 4 otherwise x = 8 Output signals for x = 4 (8401): Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = TRUE Error = FALSE Output signals for x = 8 (8801): Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = TRUE ResetRequest = FALSE Error = FALSE |
8430 |
Wait for reset |
The door / protective equipment is closed and locked and now waiting to be reset by the operator. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = TRUE Error = FALSE |
8812 |
Wait for operator |
Waiting for operator request to open the door / protective equipment (unlocking request). Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = TRUE ResetRequest = FALSE Error = FALSE |
8822 |
Guard opened and/or unlocked |
Protective equipment is unlocked. The door / protective equipment can be closed or open. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = TRUE ResetRequest = FALSE Error = FALSE |
8410 |
Wait for unlocked |
S_UnlockGuard is TRUE and confirmation signal S_GuardLocked is still TRUE (waiting for confirmation <FALSE>) Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = TRUE Error = FALSE |