List of unsupported and restricted elements
This article contains information about the possible usage of logi.CAD 3 elements as described in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "Reference documentation") when logi.CAD 3 is used to develop safety-relevant applications . Those logi.CAD 3 elements might be:
a feature (see logi.CAD 3 user documentation, "→Feature"),
a →data type as specified in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "Supported data types (in ST)"),
a functionality of a feature or
a system block or a system data type of the system libraries Standard, System or Arduino as specified in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "System blocks for the application")
Contents of this article:
Unsupported features
The following features of logi.CAD 3 are not supported. Subsequently, do not use any functionality of this feature (as described/listed in the appropriate section describing this feature).
Page:Migration
Moreover, the following of the →debugging/testing/→tracing features as specified in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "Testing, debugging and tracing the application") are not qualified to be used for verification/validation of the safety-relevant application.
Restricted usage of C-blocks
Function blocks implemented in →C (so-called "C-blocks") must be used on the condition that they are only used in →libraries. This condition applies to the following descriptions of the logi.CAD 3 reference documentation:
Unsupported data types
The following data types as specified
in the logi.CAD 3
reference documentation (see
logi.CAD 3
user documentation, "Supported data types (in ST)")
are not supported:
STRING
CHAR
The following data types as specified in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "Supported data types (in ST)") are only supported, if the system integrator has integrated them for developing safety-relevant applications:
REAL
LREAL
Subsequently, contact the system integrator for information on whether the data types REAL and LREAL are supported or not supported.
Unsupported/restricted functionalities of ST
The following functionalities for the →ST -editor as specified in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "Creating application in ST-editor") are not supported:
Page:Actions in ST
Page:Call of method in ST
Page:Declaration of a structured data type with partial address in ST
Page:Initial step in ST
Page:Steps in ST
Page:Transitions in ST
Observe that the following pragmas as specified in the logi.CAD 3 reference documentation
(see logi.CAD 3 user documentation, "Declaration of internal variables in ST") are not supported (the declaration of internal variables is supported, as long as supported elements are used) :
{ instanceParam }
{ noCodeGeneration }
{ @RELATES_TO := ...;}
Observe that the following functionalities of the ST-editor might change other →POUs besides the currently edited POU:
In case of any doubts about which POUs will be changed, do not use these functionalities.
Unsupported/restricted functionalities of FBD
The following functionalities for the →FBD-editor as specified in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "Creating application in FBD-editor") are not supported:
Page:Action blocks in FBD
Page:Transitions in FBD
Observe that the following functionalities of the FBD-editor might change other POUs besides the currently edited POU:
In case of any doubts about which POUs will be changed, do not use these functionalities.
Unsupported system blocks and system data types
The system blocks and system data types are specified
in the logi.CAD 3
reference documentation (see
logi.CAD 3
user documentation, "System blocks for the application" and "System data types for the application" respectively)
.
The unsupported system blocks are grouped into types "string blocks", "enhanced blocks" etc. to make this section more comprehensive.
String blocks
String blocks require logi.CAD 3 string support runtime and/or functions from the file string.h . These blocks have one or more parameters of data type STRING .
The following string blocks are not supported:
Page:CONCAT block
Page:DELETE block
Page:FIND block
Page:INSERT block
Page:LEFT block
Page:LEN block
Page:MID block
Page:REPLACE block
Page:RIGHT block
Page:SEL_CHAR block
Page:SEL_STRING block
Page:TO_STRING-Baustein
Enhanced blocks
Enhanced blocks are enhancements to the blocks defined in the standard IEC 61131-3. These blocks are included in a sublibrary with the suffix Enh , for instance in the sublibrary BitstableEnh .
The following of the enhanced blocks are not supported:
Page:BIT_CLR block
Page:BIT_SET block
Page:BIT_TGL block
Page:BIT_TST block
Page:CHS block
Page:FORCEMRK block
Page:IAND block
Page:IOR block
Page:MAX_HOLD block
Page:MIN_HOLD block
Page:PACK block
Page:RTC block
Page:SAR block
Page:SEMA block
Page:SIGN block
Page:TO_DATE block
Page:TO_DT block
Page:TO_TOD block
Page:UNPACK2 block
Page:UNPACK4 block
Page:UNPACK8 block
Page:uTOF block
Page:uTON block
Page:uTP block
Enhanced 2D array blocks
Enhanced 2D array blocks are enhanced blocks for bulk operations on variable-sized 2D arrays.
The following enhanced 2D array blocks are not supported:
Page:ADD_2D_ARRAY block
Page:DIV_2D_ARRAY block
Page:MAX_2D_ARRAY block
Page:MIN_2D_ARRAY block
Page:MOVE_2D_ARRAY block
Page:MUL_2D_ARRAY block
Page:SEL_2D_ARRAY block
Page:SUB_2D_ARRAY block
Enhanced control blocks
Enhanced control blocks are enhanced blocks providing controller functionality.
The following enhanced control blocks are not supported:
Page:INTEGRATOR block
Page:LIMITER_O block
Page:LIMITER_U block
Enhanced memory blocks
Enhanced memory blocks are enhanced blocks for memory manipulation.
The following enhanced memory blocks are not supported:
Page:ARRAY_LENGTH block
Page:GET_BYTE_REF block
Page:MEMCMP block
Page:MEMCPY block
Page:MEMSET block
Page:SIZEOF block
Enhanced util blocks
Enhanced util blocks are enhanced blocks for testing, debugging and logging purposes.
The following enhanced util blocks are not supported:
Page:Assert block
Page:BLOCKING_WAIT block
Page:GET_EP_TICKS block
Page:SET_EP_TICKS block
Page:Trace block
Blocks providing platform or runtime-system specific functionality
These blocks are included in the system libraries System or Arduino .
The following blocks providing platform or runtime-system specific functionality are not supported:
Page:Arduino functions
Page:ArduinoPinMode block
Page:CAN_close block
Page:CAN_init block
Page:CAN_open block
Page:CAN_recv block
Page:CAN_release block
Page:CAN_send block
Page:CAN_setBitrate block
Page:GPIOReadPin block
Page:GPIOWritePin block
Page:I2C_open block
Page:INET_ATON block
Page:INET_NTOA block
Page:LoadRetainData block
Page:MB_Close block
Page:MB_GetState block
Page:MB_InitRTU block
Page:MB_InitTCP block
Page:MB_ReadBits block
Page:MB_SetDebug block
Page:MB_SetSlave block
Page:MB_WriteBit block
Page:MB_WriteBits block
Page:MQTT_Connect block
Page:MQTT_GetState block
Page:MQTT_Publish block
Page:MQTT_Receive block
Page:MQTT_Subscribe block
Page:RTSCycleInfo block
Page:SaveRetainData block
Page:System_close block
Page:System_delete block
Page:System_ioctl block
Page:System_open block
Page:System_read block
Page:System_write block
Page:TCP_Close block
Page:TCP_Connect block
Page:TCP_Receive block
Page:TCP_Send block
Page:TCP_ServerOpen block
Page:UDP_Close block
Page:UDP_Open block
Page:UDP_Receive block
Page:UDP_Send block
Blocks for mathematical operations
Such blocks require mathematical functions defined in the file math.h .
The following blocks for mathematical operations are only supported, if the system integrator has integrated a math library that is qualified for developing safety-related applications:
Page:ACOS block
Page:ASIN block
Page:ATAN block
Page:ATAN2 block
Page:CEIL block
Page:COS block
Page:COSH block
Page:EXP block
Page:EXPT block
Page:FLOOR block
Page:LN block
Page:LOG block
Page:ROUND block
Page:SIN block
Page:SINH block
Page:SQRT block
Page:TANH 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
Subsequently, contact the system integrator for information on whether these blocks for mathematical operations are supported or not supported.
Standard convert blocks
Such blocks convert a data type into another data type. They are included in the sublibrary Convert .
If the input of the following standard convert block is connected with REAL or LREAL, this connection variant for the standard convert block is only supported, if the system integrator has integrated a math library that is qualified for developing safety-related applications. The other connection variants are supported independently of the fact of whether a qualified math library is available or not.
Example: The connection variant LREAL_TO_INT for the standard convert block TO_INT is only supported, if a qualified math library has been integrated by the system integrator. The connection variant WORD_TO_INT for the convert block TO_INT is supported regardless.
The standard convert blocks with the possible connection of REAL/LREAL that requires
a qualified math library are
:
Page:TO_BYTE block
Page:TO_DINT block
Page:TO_DWORD block
Page:TO_INT block
Page:TO_LINT-Baustein
Page:TO_LWORD block
Page:TO_SINT block
Page:TO_UDINT block
Page:TO_UINT block
Page:TO_ULINT block
Page:TO_USINT-Baustein
Page:TO_WORD block
Subsequently, contact the system integrator for information on whether these standard convert blocks are supported or not supported.
ANY_REAL blocks
Such blocks have one or more parameters of data type REAL . and/or LREAL .
The following blocks ANY_REAL blocks are only supported, if the system integrator has integrated the data types REAL . and LREAL . for developing safety-relevant applications:
Page:SEL_LREAL block
Page:SEL_REAL block
Page:TO_LREAL block
Page:TO_REAL block
S ubsequently, contact the system integrator for information on whether the data types REAL and LREAL as well as the ANY_REAL blocks are supported or not supported.
Other blocks
In addition to the categories mentioned above, the following blocks are not supported:
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:CONCAT_DT block
Page:DT_TO_DATE block
Page:IS_VALID 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
System data types
In logi.CAD 3 , these system data types are usually used in blocks providing platform or runtime-system specific functionality.
The following system data types are not supported:
Page:MB_PARITY data type
Page:MQTT_RC data type
Unsupported/restricted functionalities when creating custom libraries with user blocks
The following functionalities when creating custom libraries with user blocks (see logi.CAD 3 user documentation, "Creating custom library with user blocks") are not supported:
Observe that the creation of a logi.SAFE library or logi.WEB library is not supported. Hence, the following functionalities/descriptions in the context of a logi.SAFE/logi.WEB libraries are also not supported:
Page:Loading and testing the library on the target system (= PiL-test)
Page:Loading the released and deployed library on the target system
Moveover, observe that the following statements/values as specified in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "Declaration of information on creation and references for the library" and "Declaration of the contents of the library" respectively) are not supported:
statement USES -- its purpose: referencing a library (see also in the above list of unsupported functionalities)
values INTERFACE and OBJECT for keyword DEPLOY
As a consequence, only the value SOURCE is supported for DEPLOY.value PRIVATE for keyword VISIBILITY
As a consequence, only the value PUBLIC is supported for VISIBILITY.section INCLUDES ... END_INCLUDES
section BINARY_OBJECTS ... END_BINARY_OBJECTS
section SOURCES ... END_SOURCES
In addition, observe the following, when creating/using a custom library with user blocks for developing safety-relevant applications:
Unsupported functionalities for PLC-specifications
The following functionalities for →PLC-specifications (see logi.CAD 3 user documentation, "PLC-specifications within editor for PLC-object") are not supported:
Moveover, observe that the following statements as specified in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "Declaring more tasks within PLC-object") are not supported:
{ IO }
{ IO := IO-service1, IO-service2, ...}