SF_GuardLocking_2 block
Function block
This function block is used to support function "interlocking guard with guard locking device" (safety gate monitoring) in an application.
This function block is a safety-related function block for monitoring protective equipment with a 4-stage interlocking device.
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 |
S_GuardLock |
SAFEBOOL |
SAFEFALSE |
Variable. Status of the mechanical guard locking. SAFEFALSE: Protective equipment is open. SAFETRUE: Protective equipment is closed. |
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 |
Optional. see General parameters |
OUT |
ResetRequest |
BOOL |
FALSE |
Optional. see General parameters |
OUT |
Error |
BOOL |
FALSE |
|
OUT |
DiagCode |
WORD |
16#0000 |
Function description
Operating process
1. |
External |
Requirement to set the hazardous area to a safe state - Not part of this function block |
2. |
Input |
Feedback of the respective hazardous area: Area is in safe state (via S_SafetyActive) |
3. |
Input |
Operator request to unlock the protective equipment (via UnlockRequest) |
4. |
Output |
Enable signal to open the protective equipment (via S_UnlockGuard) |
5. |
Input |
Protective equipment unlocked (via S_GuardLock). The protective equipment can now be opened. (S_GuardLocked = SAFEFALSE) |
|
|
Protective equipment opened by operator. |
6. |
Input |
Monitoring of the protective equipment status via S_Guard - Message when the protective device is closed. |
7. |
Input |
Operator feedback for restarting the hazardous area(reset) |
8. |
Output |
Lock guard (S_UnlockGuard) |
9. |
Input |
Check the locking mechanism of the protective equipment (S_GuardLock) |
10. |
Output |
Danger zone can be operated in again (S_GuardLocked = SAFETRUE) |
11. |
External |
Renewed operation in the danger zone |
Resetting the protective equipment's guard locking device
The protective equipment's guard locking device is not permitted to be reset until it has been detected that the hazard has been eliminated from the area protected by the protective equipment. The elimination of hazard (e.g. bringing the machine or system to standstill) is determined in the safety application. The function block evaluates this safe state via input parameter S_SafetyActive.
The function block only sets output parameter S_UnlockGuard to SAFETRUE when signal SAFETRUE is present on S_SafetyActive and the function block detects a rising edge on input parameter UnlockRequest (request to reset). This output parameter controls the coil on the guard locking device mechanism used to unlatch the guard locking device on the protective equipment. In order to maintain the unlatched state, input parameter UnlockRequest must indicate a static TRUE signal after a rising edge.
Opening the protective equipment
After the guard locking device has been reset, the protective equipment can be opened. If the protective equipment is connected properly to the function block, the function block evaluates the opened state of the protective equipment using input parameter SF_Guard. If the protective equipment properly connected to the function block is open, the function block sets enable output S_GuardLocked to SAFEFALSE (safe state).
The hazard elimination detected in the safety application must continue to exist in the open state of the protective equipment (S_SafetyActive = SAFETRUE). Otherwise, the function block will change to an error state. The safe state on enable outputS_GuardLocked is maintained.
Closing the protective equipment
The protective equipment properly connected to the function block can be closed at any time.
Function block input parameter
S_Guard
evaluates the closed state of the protective equipment properly connected to the function block.
If
UnlockRequest
is still active (
TRUE
) after the protective equipment is closed, the protective equipment can then be opened again. Otherwise (
UnlockRequest
=
FALSE
), the function block requests the latching of the protective equipment's guard locking device (
S_UnlockGuard
=
SAFEFALSE
).
Latching the protective equipment's guard locking device
If the protective equipment is closed and the reset of the guard locking device is no longer being requested on input parameter UnlockRequest (i.e. request to latch), then output parameter S_UnlockGuard is set to SAFEFALSE. This output parameter must be used to control the coil on the guard locking device to latch the guard locking device. Input parameter S_GuardLock evaluates the state of the protective equipment properly connected to the function block.
If unlatched protective equipment is latched in the safety application, the function block can optionally (see Start interlock) ensure within the safe control system that enable output S_GuardLocked is not set to SAFETRUE solely by this latching. Additional manual intervention on function block input parameter Reset is required for this (see Start interlock).
S_GuardLock must indicate state SAFETRUE in the state of the function block in which the protective equipment's guard locking device is latched. If the function block detects SAFEFALSE on S_GuardLock in this state, however, then enable output S_GuardLocked is set to SAFEFALSE (safe state). This state is maintained and output as a fault by the function block.
Additional information
Typical timing diagrams
1) Start
2) Normal operation
3) 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_GuardLock and S_Guard are not TRUE, although no request was made to open the door. 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_GuardLock and S_Guard were previously FALSE and are 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 and S_GuardLock = 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 8433. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C440 |
Unlock request error |
Delay time for unlocking exceeded. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = TRUE Error = TRUE |
C041 |
Reset error 4 |
Static reset detected in status C440. 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 and S_GuardLock = 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 Unlocked |
Interlock is released and the protective equipment is open. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = TRUE ResetRequest = FALSE Error = FALSE |
8832 |
Guard Closed but Unlocked |
Interlock is released, but the protective equipment is closed. Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = TRUE ResetRequest = FALSE Error = FALSE |
8010 |
Wait for unlocked |
S_UnlockGuard is TRUE and the confirmation signal S_GuardLock is still TRUE (waiting for confirmation <FALSE>) Ready = TRUE S_GuardLocked = SAFEFALSE S_UnlockGuard = SAFETRUE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |