Blocks for safe logic
Blocks for safe logic are used to develop safety-relevant applications .
For developing safety-related applications, you must use a logi.CAD 3 version that has been qualified for this purpose. See the documentation "Safety instructions on working with the IDE" for the appropriate information and valid safety instructions.
Base variant
The blocks for safe logic are particular system blocks that are highlighted as safe logic, if they are provided with a safe value as follows:
At least one block input (including the input EN) gets a safe value.
A safe value is the value of a →variable declared based on a safe data type. Expressions according to ST (including operands in ST and operators in ST) can be used to evaluate safe values – as long as no variable is used that provides a non-safe value.
Compare: A non-safe value is the value of a variable declared based on another →data type or an expression with such a variable.For all other block inputs, one of the following conditions applies:
The input is unconnected, i.e. not connected to any other FBD-element.
The input gets a safe value (see above).
The input gets a constant value from a value field containing a →literal. Expressions according to ST (incl. operands in ST and operators in ST) can be used to evaluate the constant value – as long as no variable is used that provides a non-safe value.
Example: The system block OR is such a block for safe logic:
Explanation::
The left call is highlighted as safe logic because the 2nd function block input gets a safe value and all other inputs are not connected.
The right call is not highlighted as safe logic because the 1st function block input gets a non-safe value.
Special variant
The system block AND is a block for safe logic that is highlighted as safe logic, if it is provided with a safe value as follows:
At least one block input (but excluding the input EN) gets a safe value (see above).
For the input EN , one of the following conditions applies:
The input EN is unconnected, i.e. not connected to any other FBD-element.
The input EN gets a safe value (see above).
The input EN gets a constant value from a value field containing a literal. Expressions according to ST (incl. operands in ST and operators in ST) can be used to evaluate the constant value – as long as no variable is used that provides a non-safe value.
The other block inputs are not relevant for the identification of the safe logic. This means that these inputs can also get a non-safe value.
Here the behavior of the system block AND (based on the above example):
Explanation:
The left call is highlighted as safe logic because the 2nd function block input gets a safe value and the input EN is not connected.
The right call is also highlighted as safe logic. The same conditions as for the left call apply. Here the 1st block input is supplied with a non-safe value but this is not relevant for highlighting the safe logic in the case of the AND block.
List of blocks (base variant)
Be sure to use the documentation "Safety instructions on working with the IDE" to determine whether there are conditions for using the following blocks when developing safety-related applications, e.g. whether actions are required from the system integrator for the block to actually be supported.
The following blocks are provided as blocks for safe logic as of logi.CAD 3 version 3.20.0:
Page:ABS block
Page:ACOS block
Page:ADD block
Page:ADD_TIME block
Page:ASIN block
Page:ATAN block
Page:ATAN2 block
Page:BCD_TO_DINT block
Page:BCD_TO_INT block
Page:BCD_TO_LINT block
Page:BCD_TO_SINT block
Page:BCD_TO_UDINT block
Page:BCD_TO_UINT block
Page:BCD_TO_ULINT block
Page:BCD_TO_USINT block
Page:CEIL block
Page:CONCAT_DT block
Page:COS block
Page:CTD block
Page:CTD_DINT block
Page:CTD_INT block
Page:CTD_LINT block
Page:CTD_UDINT block
Page:CTD_UINT block
Page:CTD_ULINT block
Page:CTU block
Page:CTU_DINT block
Page:CTU_INT block
Page:CTU_LINT block
Page:CTU_UDINT block
Page:CTU_UINT block
Page:CTU_ULINT block
Page:CTUD block
Page:CTUD_DINT block
Page:CTUD_INT block
Page:CTUD_LINT block
Page:CTUD_UDINT block
Page:CTUD_UINT block
Page:CTUD_ULINT block
Page:DIV block
Page:DIV_TIME block
Page:DT_TO_DATE block
Page:EQ-Baustein
Page:EXP block
Page:EXPT block
Page:F_TRIG block
Page:FLOOR block
Page:GE block
Page:GT-Baustein
Page:IS_VALID block
Page:LE block
Page:LIMIT block
Page:LN block
Page:LOG block
Page:LT-Baustein
Page:MAX block
Page:MIN block
Page:MOD block
Page:MOVE block
Page:MUL block
Page:MUL_TIME block
Page:MUX_BYTE block
Page:MUX_DINT block
Page:MUX_DWORD block
Page:MUX_INT block
Page:MUX_SINT block
Page:MUX_UDINT block
Page:MUX_UINT block
Page:MUX_USINT block
Page:MUX_WORD block
Page:NE-Baustein
Page:NOT block
Page:OR block
Page:R_TRIG block
Page:ROL-Baustein
Page:ROR-Baustein
Page:ROUND block
Page:RS block
Page:SEL-Baustein
Page:SEL_BOOL block
Page:SEL_BYTE block
Page:SEL_DATE block
Page:SEL_DINT block
Page:SEL_DT block
Page:SEL_DWORD block
Page:SEL_INT block
Page:SEL_LINT block
Page:SEL_LREAL block
Page:SEL_LWORD block
Page:SEL_REAL block
Page:SEL_SINT block
Page:SEL_TIME block
Page:SEL_TOD block
Page:SEL_UDINT block
Page:SEL_UINT-Baustein
Page:SEL_ULINT block
Page:SEL_USINT block
Page:SEL_WORD block
Page:SHL-Baustein
Page:SHR-Baustein
Page:SIN block
Page:SPLIT_DT-Baustein
Page:SQRT block
Page:SR block
Page:SUB block
Page:SUB_DT_DT block
Page:SUB_TIME block
Page:TAN block
Page:TO_BCD_BYTE block
Page:TO_BCD_DWORD block
Page:TO_BCD_LWORD block
Page:TO_BCD_WORD block
Page:TO_BIG_ENDIAN block
Page:TO_BOOL-Baustein
Page:TO_BYTE block
Page:TO_DINT block
Page:TO_DWORD block
Page:TO_INT block
Page:TO_LINT-Baustein
Page:TO_LREAL block
Page:TO_LWORD block
Page:TO_REAL block
Page:TO_SINT block
Page:TO_TIME block
Page:TO_UDINT block
Page:TO_UINT block
Page:TO_ULINT block
Page:TO_USINT block
Page:TO_WORD block
Page:TOF block
Page:TON block
Page:TP block
Page:TRUNC block
Page:TRUNC_DINT block
Page:TRUNC_INT block
Page:TRUNC_LINT block
Page:TRUNC_SINT block
Page:TRUNC_UDINT block
Page:TRUNC_UINT block
Page:TRUNC_ULINT block
Page:TRUNC_USINT block
Page:XOR block
List of blocks (special variant)
The following blocks are provided as blocks for safe logic (special variant) as of logi.CAD 3 version 3.20.0:
Page:AND block