SF_EnableSwitch block
Function block
The function block evaluates the signals from a 3-position enable switch.
Interface
I/O |
Name |
Data type |
Initial value |
Description |
IN |
Activate |
BOOL |
FALSE |
|
IN |
S_SafetyActive |
SAFEBOOL |
SAFEFALSE |
|
IN |
S_EnableSwitchCh1 |
SAFEBOOL |
SAFEFALSE |
Variable. Signal from contacts E1 and E2 of the connected enabling switch. SAFEFALSE: Connected switches are open. SAFETRUE: Connected switches are closed. |
IN |
S_EnableSwitchCh2 |
SAFEBOOL |
SAFEFALSE |
Variable. Signal from contacts E3 and E4 of the connected enabling switch. SAFEFALSE: Connected switches are open. SAFETRUE: Connected switches are closed. |
IN |
S_AutoReset |
SAFEBOOL |
SAFEFALSE |
|
IN |
Reset |
BOOL |
FALSE |
|
OUT |
Ready |
BOOL |
FALSE |
|
OUT |
S_EnableSwitchOut |
SAFEBOOL |
SAFEFALSE |
Safety-related output: Indicates the suspension of the protective equipment. SAFEFALSE: Disables the fuse override. SAFETRUE: Enables the fuse override. |
OUT |
SafetyDemand |
BOOL |
FALSE |
|
OUT |
ResetRequest |
BOOL |
FALSE |
|
OUT |
Error |
BOOL |
FALSE |
|
OUT |
DiagCode |
WORD |
16#0000 |
Function description
Function block SF_EnableSwitch supports the lifting of technical protective measures using a hand-operated 3-position enable switch if the corresponding operating mode (e.g. limiting the speed, energy or area of movement) is selected and active. The corresponding operating mode must be selected outside the function block.
The function block evaluates the signals from a 3-position enable switch.
Enable switch requirements
The 3-position enable switch being used must support the following signal level for its 3 switch positions:
Your enable switch must meet the criteria of the CAT/SIL required by your application.
Connecting conditions
The resulting signal from normally open contacts E1 and E2 must be connected to input parameter S_EnableSwitchCh1. The resulting signal from positively driven normally closed contacts E3 and E4 must be connected to input parameter S_EnableSwitchCh2. The function block can detect the switch position of the enable switch as well as its switching direction using this defined order of signals from the contacts (switch position 1 → switch position 2 / switch position 3 → switch position 2). The function block is only permitted to enable the lifting of the technical protective measure after changing from switch position 1 to switch position 2. The function block is not permitted to lift the technical protective measure in other switching directions or switch positions.
General requirements
Note
An appropriate switching device must be used as the enabling switch.
According to the risk analysis, the appropriate safe operating mode must be selected in the safety application. In this operating mode, automatic operation must be absolutely prohibited using suitable means.
The safe operating mode is typically specified using an operating mode selector switch with function blocks SF_ModeSelector and SF_SafetyRequest.
Function block SF_EnableSwitch processes the confirmation feedback from the selected safe operating mode using input parameter S_SafetyActive. If the safe operating mode is safely implemented without confirmation in an application, a static SAFETRUE signal is connected on input parameter S_SafetyActive.
Start interlock
Case 1: |
If the function block detects a selected safe operating mode on S_SafetyActive, then input parameters S_EnableSwitchCh1 and S_EnableSwitchCh2 must indicate the signals for switch position 1 (enable switch not actuated). Otherwise (switch position 2/3), the function block outputs an error message and enable output S_EnableSwitchOut remains in the safe state (SAFEFALSE). |
Case 2: |
If the function block detects the signals for switch position 2 on S_EnableSwitchCh1 and S_EnableSwitchCh2 even though the enable switch is set to switch position 3 (defective enable switch), then the function block outputs an error message and enable output S_EnableSwitchOut remains in the safe state (SAFEFALSE). |
Even if the source of the error no longer exists in these two error cases, the start interlock remains intact if this behavior has been specified on input parameter S_AutoReset. The start interlock only becomes inactive after additional manual intervention (rising edge) on input parameter Reset if the input signal combination is permitted for this.
After enabling the function block and/or cold restarting the safety controller, S_EnableSwitchOut is only set to SAFETRUE if S_SafetyActive indicates state SAFETRUE and the function block detects the signal sequence from switch position 1 to switch position 2 on S_EnableSwitchCh1 and S_EnableSwitchCh2.
When cold restarting the safety controller and/or enabling the function block, the signal combination for switch position 1 (enable switch not actuated) must be present on S_EnableSwitchCh1 and S_EnableSwitchCh2 on feedback from the selected safe operating mode (S_SafetyActive = SAFETRUE). Otherwise, the function block outputs an error message and remains in the safe state (S_EnableSwitchOut = SAFEFALSE).
For additional information about the start interlock, see Start interlock.
Additional information
Typical timing diagrams
S_AutoReset = FALSE
1) Start
2) Normal operation
3) Error
4) Position 3
S_AutoReset = TRUE
1) Start
2) Normal operation
3) Error
4) Position 3
Error detection
The following conditions force a transition to the error state:
Invalid static reset signal in the process.
Invalid switch settings.
Error behavior
In the event of an error, safe output S_EnableSwitchOut is set to SAFEFALSE and remains in this safe state.
Unlike other function blocks, a reset-error state can be exited by the state Reset = FALSE or signal S_SafetyActive = SAFEFALSE.
After the error has been eliminated, the enable switch must be in the output position specified in the process before the enable switch can set output S_EnableSwitchOut to SAFETRUE. If S_AutoReset = SAFEFALSE, a rising trigger is required for Reset.
Error and status messages
Function block specific error codes
DiagCode |
Name |
Description and output settings |
C001 |
Reset error 1 |
Static reset signal detected in C020 status. Ready = TRUE S_EnableSwitchOut = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C011 |
Reset error 2 |
Static reset signal detected in status C040. Ready = TRUE S_AntivalentOut = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C010 |
Operation error 1 |
Enable switch not in position 1 while enabling S_SafetyActive. Ready = TRUE S_AntivalentOut = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C020 |
Operation error 2 |
Enable switch in position 1 according to C010. Ready = TRUE S_AntivalentOut = SAFEFALSE SafetyDemand = FALSE ResetRequest = TRUE Error = TRUE |
C030 |
Operation error 3 |
Release switch in position 2 to position 3. Ready = TRUE S_AntivalentOut = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = TRUE |
C040 |
Operation error 4 |
Enable switch not in position 2 after C030. Ready = TRUE S_AntivalentOut = SAFEFALSE SafetyDemand = FALSE ResetRequest = TRUE Error = TRUE |
Function block specific codes (no error)
DiagCode |
Name |
Description and output settings |
0000 |
Idle |
The function block is not active (initial state). Ready = FALSE S_EnableSwitchOut = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |
8002 |
Basic operation mode |
Safe operating mode is not active. Ready = TRUE S_AntivalentOut = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |
8004 |
Safe operation mode |
Safe operating mode is active. Ready = TRUE S_AntivalentOut = SAFEFALSE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |
8802 |
Position 1 |
The safe operating mode is active, and the enable switch is in position 1. Ready = TRUE S_AntivalentOut = SAFEFALSE SafetyDemand = TRUE ResetRequest = FALSE Error = FALSE |
8804 |
Position 3 |
The safe operating mode is active, and the enable switch is in position 3. Ready = TRUE S_AntivalentOut = SAFEFALSE SafetyDemand = TRUE ResetRequest = FALSE Error = FALSE |
8000 |
Position 2 |
The safe operating mode is active, and the enable switch is in position 2. Ready = TRUE S_AntivalentOut = SAFETRUE SafetyDemand = FALSE ResetRequest = FALSE Error = FALSE |