SF_TwoHandControlTypeIII block
Function block
This function block is used to support function "2-hand switching type III" in an application.
Interface
I/O |
Name |
Data type |
Initial value |
Description |
IN |
Activate |
BOOL |
FALSE |
|
IN |
S_Button1 |
SAFEBOOL |
SAFEFALSE |
Variable. Input from button 1 (for category 3 or 4: two antivalent contacts). SAFEFALSE: Button 1 released. SAFETRUE: Button 1 pressed. |
IN |
S_Button2 |
SAFEBOOL |
SAFEFALSE |
Variable. Input from button 2 (for category 3 or 4: two antivalent contacts). SAFEFALSE: Button 2 released. SAFETRUE: Button 2 pressed. |
OUT |
Ready |
BOOL |
FALSE |
|
OUT |
S_TwoHandOut |
SAFEBOOL |
SAFEFALSE |
Safety-related output signal. SAFEFALSE: No correct two-hand control. SAFETRUE: Inputs S_Button1 and S_Button2 change from SAFEFALSE to SAFETRUE within 500 ms and no error has occurred. The two-hand control was performed correctly. |
OUT |
SafetyDemand |
BOOL |
FALSE |
Optional. see General parameters |
OUT |
Error |
BOOL |
FALSE |
|
OUT |
DiagCode |
WORD |
16#0000 |
Function description
This function block is a safety-related function block for monitoring a type III 2-hand control device.
This function block evaluates the state of 2 buttons on a 2-hand control device. One of the buttons controls input parameter S_Button1; the other button controls input parameter S_Button2. The function block output signal outputs the results of the evaluation.
The function block uses an internal timer to monitor whether safe input S_Button2 changes from SAFEFALSE to SAFETRUE within 500 ms after safe input S_Button1 previously changed from SAFEFALSE to SAFETRUE.
Input parameter states
The state to which function block enable output S_TwoHandOut is set depends on the state of the input parameters.
When enabling the function block:
When the function block is enabled, both input parameters S_Button1 and S_Button2 must indicate state SAFEFALSE. If at least one of these input parameters indicates state SAFETRUE, the function block will detect an error. In this case, the function block outputs an error message to output parameter DiagCode.To generate signal SAFETRUE on the enable output:
If the function block is enabled (Activate = TRUE) and does not detect an error, the function block enable output is set to SAFETRUE if input parameters S_Button1 and S_Button2 change from SAFEFALSE to SAFETRUE successively or simultaneously. The function block monitors whether the signal change on both input parameters takes place synchronously within 500 ms. The function block detects an asynchronous signal change as a fault.To generate signal SAFEFALSE on the enable output:
The function block enable output is set to SAFEFALSE if one or both input parameters S_Button1 and S_Button2 change from SAFETRUE to SAFEFALSE. In addition, the enable output remains set to SAFEFALSE if one of the signals on S_Button1 and S_Button2 changes to SAFETRUE and the other signal did not change to SAFETRUE within the synchronization monitoring time.To regenerate signal SAFETRUE on the enable output:
The enable output can only be set again to SAFETRUE if both input parameters S_Button1 and S_Button2 initially indicate state SAFEFALSE. To achieve this, both input parameters S_Button1 and S_Button2 must change to state SAFETRUE successively or simultaneously. The function block monitors whether the signal change on both input parameters takes place synchronously within 500 ms. The function block detects an asynchronous signal change as a fault.
Connecting the buttons on the 2-hand control device
The buttons on the 2-hand control device must be connected to the safe control system being used over 1 or 2 channels.
Applications with a 2-hand control device with 2 buttons (1-channel each)
If a 2-hand control device with 2 buttons (1 channel each) is used, the signals must individually be connected to a safe input device. One of these signals must be connected to function block input parameter S_Button1. The second signal is connected to the second input parameter S_Button2 of the function block.
Note
A 1-channel configuration of the button for Cat. 3 is only permitted if the safety chain of the connected button on the 2-hand control device complies with safety-related requirements up to Cat. 3 over 1 channel.
The following components of the safety chain must be taken into account in each case:
The safe input device of the safe control system, including the device configuration (line control), used in the 2-hand control device
The connection and wiring between the safe input device and the button on the 2-hand control device
The entire 2-hand control device.
For further necessary measures, see the device-specific user documentation for the devices used in the safety chain.
Applications with a 2-hand control device with 2 buttons (2-channel each)
If a 2-hand control device with 2 buttons (2 channels each) is used, the 4 signals must individually be connected to one or more safe input device(s).
Outside of the function block, each of the button signals must be checked for dual-channel capability (e.g. via safe devices or other function blocks such as SF_Antivalent). This test must produce a resulting signal for each of the 2 buttons. The resulting signal of a button should be connected with input parameter S_Button1. The signal from the other button resulting from the test should be connected to input parameter S_Button2.
Additional information
1) Wait
2) Error
3) Normal operation
Error detection
After activating the function block, any button set to TRUE is recognized as an invalid input setting and results in an error. The function block detects when the deviation of the input signals exceeds 500 ms.
Error behavior
In the event of an error, output S_TwoHandOut is set to SAFEFALSE and remains in this safe state. The error state is ended when both buttons are released (set to FALSE ).
Error and status messages
Function block specific error codes
DiagCode |
Name |
Description and output settings |
C010 |
Error 1 B1 |
S_Button1 was SAFETRUEwhen the function block was enabled and S_Button2 was SAFEFALSE. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = FALSE Error = TRUE |
C020 |
Error 1 B2 |
S_Button2 was SAFETRUEwhen the function block was enabled and S_Button1 was SAFEFALSE. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = FALSE Error = TRUE |
C030 |
Error 1 B1&B2 |
S_Button1 and S_Button2 were SAFETRUE when the function block was enabled. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = FALSE Error = TRUE |
C040 |
Error 2 B1 |
S_Button1 was SAFEFALSE and S_Button2 was SAFETRUE after 500 ms in state 8804. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
C050 |
Error 2 B2 |
S_Button1 was SAFETRUE and S_Button2 was SAFEFALSE after 500 ms in state 8804. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = FALSE Error = TRUE |
C060 |
Error 2 B1&B2 |
S_Button1 and S_Button2 were SAFETRUE after 500 ms in state 8804 or 8806. This state is only possible if the states of inputs(S_Button1 and S_Button2) change simultaneously from divergent to converged (both TRUE) in the same cycle when the timer expires (500 ms). Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = 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_TwoHandOut = SAFEFALSE SafetyDemand = FALSE Error = FALSE |
8000 |
Buttons actuated |
Both buttons pressed correctly. The safety-related output is enabled. Ready = TRUE S_TwoHandOut = SAFETRUE SafetyDemand = FALSE Error = FALSE |
8801 |
Init |
Function block is active in state Init. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = FALSE Error = FALSE |
8802 |
Buttons released |
No button is pressed. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
8804 |
Button 1 actuated |
Only button 1 is pressed. Start monitoring timer. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
8806 |
Button 2 actuated |
Only button 2 is pressed. Start monitoring timer. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
8808 |
Button 2 released |
The safety-related output was enabled and is disabled again. SAFEFALSE at S_Button1 as well as S_Button2 was not reached after disabling the safety-related output. In this state, S_Button1 is SAFETRUE and S_Button2 is SAFEFALSE after the safety-related output has been disabled. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
880A |
Button 1 released |
The safety-related output was enabled and is disabled again. SAFEFALSE at S_Button1 as well as S_Button2 was not reached after disabling the safety-related output. In this state, S_Button1 is SAFEFALSE and S_Button2 is SAFETRUE after the safety-related output has been disabled. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
880C |
Locked off |
The safety-related output was enabled and is disabled again. SAFEFALSE at S_Button1 as well as S_Button2 was not reached after disabling the safety-related output. In this state, S_Button1 and S_Button2 are SAFETRUE after the safety-related output has been disabled. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |
880E |
Locked on |
Buttons actuated incorrectly. Waiting for both buttons to be released. Ready = TRUE S_TwoHandOut = SAFEFALSE SafetyDemand = TRUE Error = FALSE |