SF_TwoHandControlType3
Help version 2.0 / Issue date: 2024.04
The following description is valid for the function block SF_TwoHandControlType3_V2_0z, Version 2.0z (where z = 0 to 9).
Short Description
| The safety-related SF_TwoHandControlType3 function block evaluates the switching behavior of a type 3 two-hand control device connected to the Sicherheitssteuerung. This involves evaluating the switching states of both the buttons on the two-hand control device. The S_TwoHandOut output only becomes SAFETRUE if both inputs switch from SAFEFALSE to SAFETRUE within 500 ms, either simultaneously or consecutively (if both buttons on the two-hand control device are pressed after being not actuated before).
Hinweis
The used type 3 two-hand control device must comply with the requirements set out by EN ISO 13851. |
Hinweis
Unlike the type 3 two-hand control device described here, evaluation by the type 2 version takes place without consideration of a specific duration within which both buttons must be actuated. |
|
Block Icon
|  |
Inputs
| Activate
Short description | Value |
State-controlled input for activating the function block. Data type: BOOL Initial value: FALSE |
-
FALSE: Function block inactive.
-
TRUE: Function block activated.
|
Hinweis
While function block activation is taking place (with input Activate = TRUE), both inputs must show the SAFEFALSE state. This means that none of the buttons on the two-hand control device must be actuated. Otherwise, the function block detects this as an error (output Error = TRUE). |
Refer to the topic "Activate" for details.
S_Button1 and S_Button2
Short description | Value |
State-controlled inputs for evaluating the connected two-hand control device.Data type: SAFEBOOL Initial value: SAFEFALSE |
-
SAFEFALSE: Button not pressed
-
SAFETRUE: Button is pressed
|
Refer to the topic "S_Button1 and S_Button2" for details.
|
Outputs
| Ready
Short description | Value |
Output for signaling "Function block activated/not activated".Data type: BOOL |
-
FALSE: Function block is not activated (Activate = FALSE) and all outputs of the function block are switched to FALSE/SAFEFALSE.
-
TRUE: Function block is activated (Activate = TRUE) and the output parameters represent the state of the safety-related function.
|
Refer to the topic "Ready" for details.
S_TwoHandOut
Short description | Value |
Control signal for stopping (stop request) or starting and maintaining machine operation.Data type: SAFEBOOL |
-
SAFEFALSE: S_TwoHandOut switches to SAFEFALSE if
- the function block has not been activated
-
or the buttons have not been actuated or have been actuated incorrectly (i.e., after 500 ms have elapsed)
-
or an error has been detected.
-
SAFETRUE: S_TwoHandOut is SAFETRUE if
- the function block has been activated
-
and the buttons have been actuated correctly
-
and no errors have been detected.
|
Refer to the topic "S_TwoHandOut" for details.
SafetyDemand
Short description | Value |
Output for signaling "safety-related function requested". This output displays whether the safety chain is interrupted and as a result, the attention of the operator is required. Data type: BOOL |
-
FALSE: Safety-related function is not requested.
-
TRUE: The safety-related function is requested.
|
Refer to the topic "SafetyDemand" for details.
Error
Short description | Value |
Output for error message.Data type: BOOL |
-
FALSE: No error is present.
-
TRUE: The function block has detected an error:
- During function block activation (with input Activate = TRUE), either one input at least was in the SAFETRUE state
-
or the time offset when the state of the inputs was switching to SAFETRUE was greater than 500 ms.
The S_TwoHandOut output switches to SAFEFALSE as a result. To leave the error state, both inputs S_Button1 and S_Button2 must show the SAFEFALSE state.
|
Refer to the topic "Error" for details.
DiagCode
Short description | Value |
Output for diagnostic message.Data type: WORD | Diagnostic message of the function block. The possible values are listed and described in the topic "Diagnostic codes". |
Refer to the topic "DiagCode" for details.
|
Detailed information | Signal sequence diagram
This diagram is based on a typical type 3 two-hand control application.
Temporary intermediate states are not illustrated in the signal sequence diagram. Only typical input signal combinations are illustrated. Other signal combinations are possible.
0 | The function block is not yet activated (Activate = FALSE). As a result, all outputs are FALSE or SAFEFALSE. |
1 | Function block activated by Activate = TRUE. At this point, the two buttons are not actuated (S_Button1 and S_Button2 = SAFEFALSE). Both inputs must be SAFEFALSE during activation of the function block, so the Error output remains FALSE. |
2 | Button 2 (on S_Button2) is actuated, which starts the monitoring time. Button 1 is also pressed within the required period of 500 ms. When S_Button1 switches to SAFETRUE, the condition for two-hand control is met and the S_TwoHandOut output becomes SAFETRUE. |
3 | The S_TwoHandOut output becomes SAFEFALSE, as S_Button1 and S_Button2 switch to SAFEFALSE within a short time of each other (buttons are released). |
4 | The button on S_Button1 is now actuated again. The monitoring time begins. |
5 | Monitoring time runs without button 2 having been pressed. Therefore, the S_TwoHandOut output remains in the defined safe state SAFEFALSE and an error is displayed at the Error output as a result of the TRUE status. |
6 | Button 1 is released again, which means that the SAFEFALSE state is now present at both inputs. This causes the error message at Error to be reset: Error becomes FALSE. |
7 | The function block is deactivated: Activate switches to FALSE. Button 2 is pressed while the function block is inactive. This change in state does not start the monitoring time, however, as the function block has not been activated. |
8 | Function block is activated again (Activate becomes TRUE again). The signal combination at the inputs (S_Button1 = SAFEFALSE and S_Button2 = SAFETRUE) at the time when the function block is activated again leads to an error message (Error = TRUE, S_TwoHandOut = SAFEFALSE). Both inputs must be SAFEFALSE when the function block is being activated. |
9 | The error message is "reset", as S_Button1 and S_Button2 are now in the SAFEFALSE state (neither button is actuated). |
10 | Both buttons are actuated again (within a period of 500 ms), the condition for two-hand control is fulfilled, and S_TwoHandOut switches to SAFETRUE again. |
Application example
This example shows the connection of a type 3 two-hand control device with the safety-related SF_TwoHandControlType3 function block.
Each of the two buttons has both an N/C and an N/O contact and is connected to safety-related input device PSDI 1 via a two-channel arrangement.
The two resulting signals monitored for antivalence are each assigned to global I/O variables and connected to the function block inputs S_Button1 and S_Button2 for evaluation
Hinweis
The S_TwoHandOut enable output of the SF_TwoHandControlType3 function block is connected to an output terminal of the application, either directly or via other safety-related functions/function blocks. Connect the S_TwoHandOut enable output of the SF_TwoHandControlType3 function block to the S_OutControl input of the EDM function block, for example, thus implementing a two-channel output connection. |
Weitere Infos
For more detailed information, please refer to the description of the corresponding safety-related function block. |
S1 | Button 1 |
S2 | Button 2 |
 | See note above the illustration. |
Function block instantiation
The IEC 61131-3 standard defines function block instantiation. Instantiation means, a function block is defined once and can be used (instantiated) several times. This applies to all standard and safety-related FBs (local POUs as well as firmware and user library FBs).
Why instantiation? A function block has an internal memory where it stores its own processing data (local variables). As a consequence, the output values calculated by the FB depend on the internally stored values. The same input values applied to an FB instance do not necessarily deliver the same results in another FB instance. Therefore, it is necessary to store the internal data of the FB to a separated memory area each time the function block is processed, i.e., for each FB instance. To uniquely identify each FB instance and to clearly separate its memory area, instance names are used. The instance name of a function block has to be declared in the 'Variables' table of the POU where the FB is going to be used.
The following applies:
- Function blocks can be instantiated in other function blocks or in program POUs. Calling FBs in function POUs is not possible.
- Functions are called without instantiation because they do not have an internal memory.
Safety-related and standard (non-safety-related) code is strictly distinguished in PLCnext Engineer. If a Safety PLC is included in your project, the following applies:
- Safety-related FBs can only be instantiated in safety-related POUs but not in standard (non-safety-related) POUs.
- User-defined standard FBs can only be instantiated in standard POUs. They cannot be called in safety-related POUs.
- Particular standard firmware FBs can be instantiated in both safety-related and standard POUs.
Hinweis
When inserting a standard FB into a safety-related SNOLD network, the rules for implicit type conversion (safety-related to standard) apply. |
Example for the instantiation of a safety-related PLCopen function block
The safety-related PLCopen function block 'SF_EmergencyStop_V2_00' was inserted into the project via a library. It is then available in the 'Programming' category of the COMPONENTS area. There is a folder with the same name as the library that provides the FBs for insertion into the safety-related code. The FB is to be called twice in the code of the safety-related program 'S_Main' to evaluate the status of two safety-related emergency stop command devices. For each FB instance, an instance name is declared in the 'Variables' table of the calling program: EStop_M1 and EStop_M2. The FB instances have been inserted into the code worksheet, each instance with different variables connected to its input and output formal parameters.
Additional information is available in the following sections:
|