Release notes for version
This article contains the release notes for logi.CAD 3 version 3.16.2.
Up-to-date informationen within online-version
Please check the online-version (provided under http://help.logicals.com/) whether new pieces of information have been added since this user manual (as PDF/HTML/Word) has been published; e.g. the release notes quote new problems or there are new articles in the troubleshooting- or FAQ-section.
The online-version of the release notes for logi.CAD 3 is available under: https://help.logicals.com/lco3docu/latest/user-documentation/de/release-notes-fuer-version – Use the version picker (above the
table of contents) to switch to the relevant version of
logi.CAD 3.
Release-Notes for previous versions of logi.CAD 3 are provided in the online-version under https://help.logicals.com/lco3docu/latest/user-documentation/en/release-notes-fuer-version only.
General information
About compatibility: |
If you have used a previous version of logi.CAD 3 and you want to use the current version, see "Are my projects upwards and downwards compatible?" for important information.
|
On the Log4j security vulnerability: |
See "Is the IDE affected by the Log4j security vulnerability (December 2021, CVE-2021-44228, Log4Shell)". |
About system libraries: |
|
On version 3.16.2: |
Due to the
problem according to the ID "108185"
logi.cals recommends using the qualified version 3.23.2 instead of the version 3.16.2. |
General information for runtime system and target systems
About t he →runtime system : |
If you are using logi.CAD 3 version 3.16.2, install and use the version 5
.14.0
of the runtime system.
If you are using an older version of the runtime system, it might not be possible to successfully connect to the target system from within logi.CAD 3 (see troubleshooting article "No connection to the target system, but there are error messages)". |
About →Raspberry Pi : |
See the tutorial "Putting Raspberry Pi into operation" which version is recommended by logi.cals for usage. |
New features in logi.CAD 3 version 3.16.2
The new features for V3.16.0 are listed in the article " Release-Notes" for V3.16.0 .
ID |
Component |
New feature |
none |
New features relating to the runtime system and target systems
ID |
Component |
New feature |
none |
Fixed problems in logi.CAD 3 version 3.16.2
The fixed problems for V3.16.0 are listed in the article " Release-Notes" for V3.16.0 .
ID |
Component |
Fixed problem |
||||||||||||
53067 |
Validating the application |
In case of the activated rule "Only identifiers conform to predefined specifications must be used for projects/folders/objects.", an exception is caused when creating a device object. |
||||||||||||
53388 |
Validating the application |
In case of a validation relating to the instance and the activated rule "Illegal elementary data types must not be used", an exception might occur. An internal error occurred during: "Validating object" . |
||||||||||||
53401 |
Building the application |
An exception might occur when building the application for the built-in PLC. |
||||||||||||
54980 |
Validating the application |
An exception occurs when validating a resource containing a missing program type. An internal error occurred during: "Validating object" . Workaround: Specify an existing program type before validating the resource. |
||||||||||||
55306 |
Validating the application |
The rule "C-blocks must only be contained in libraries" does not recognize all forbidden usages of a vendor block. |
||||||||||||
55333 |
Building the application |
A compiler warning might occur when building an application where REAL is converted to another data type. warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion] Additional information:
|
||||||||||||
55486 |
Validating the application |
Vendor functions are not listed in the MRC-report when validating the application. |
||||||||||||
55895 |
System blocks |
The EXPT block and the operator do not work as expected for large values. This is valid for the negative return values exceeding ≤ -2**32.
|
||||||||||||
54218 |
"Instances" view |
The fingerprint for the resource might change when a project is cleaned. |
Known problems in logi.CAD 3 version 3.16.2
ID |
Component |
Known problem |
49494 |
Application navigator, |
When several function blocks have been created in the same ST object, the command "Delete" in the application navigator deletes all function blocks in this ST object without any previous information. |
49498 |
Application navigator |
The command "Go Into" in the application navigator does not behave as expected. |
49514 |
"Values of Variables" view |
An external variable cannot be forced in the "Values of Variables" view, if the corresponding global variable is a program-global variable.
|
49535 |
List of declared variables |
The command "New Variable..." is not using the correct entry for a data type with named values declared within a namespace. |
49539 |
List of declared variables |
The command "New Variable..." uses a non-saved item for a data type. However, the validation is based on the saved item. |
49543 |
List of declared variables |
It might not be possible to correct a missing data type of a variable within the dialog. Or the error icon is not displayed for the variable with a missing data type.
Workaround, if the field Data type in the dialog is disabled: Use the context menu command Edit Type in order to correct the data type. |
50847 |
FBD-editor |
Copying/Pasting the contents on several pages does not work when one of the target pages is missing. |
50924 |
FBD-editor |
It is not possible to create a line fork when connecting a continuation to an input of a second block.
|
50969 |
FBD-editor |
It is not possible to create a new value field with a TIME_OF_DAY or DATE_AND_TIME literal. |
51230 |
LD-editor |
The statusbar of the LD-editor does not contain information on the POU. |
51266 |
Validating the application |
In case of a validation relating to the instance, the rule "The usage of blocks is restricted either completely or only for defined types" is also applied to objects that are not included in the instance context. |
51281 |
Validating the application |
In case of a validation relating to the instance, the rule "Illegal elementary data types must not be used" is also applied to objects that are not included in the instance context. |
51294 |
Creating custom library |
The link to open the validation report does not work when a project is located outside the workspace. |
51303 |
FBD-editor |
It is possible to create a value field by dragging the variable with an invalid data type from the list of the declared variables.
Workaround: none existing |
51364 |
FBD-editor |
The refactoring of a data type has no impact on variables that are declared/used in the FBD-editor. |
If your problem is not listed in this list, check these sections: Troubleshooting and FAQ
Addendum: Known issues from successor versions of logi.CAD 3 version 3.16.2 or after the release
This section was last updated on: 2024-03-29
For problems discovered after the release of logi.CAD 3 version 3.16.2, please refer to the release notes of the successor versions. Both the list of known problems and the list of fixed problems might contain descriptions of problems that are relevant for logi.CAD 3 version 3.16.2.
Issues that require special attention when creating security-relevant applications are also listed below.
ID |
Component |
Known problem |
||||||||||||||||||
53941 |
Namespaces |
It is not possible to use language elements with a same name from the global namespace, if a language element with the same name exists in the current namespace.
Workaround (recommendation if you are developing safety-related applications/libraries): Do not use namespaces. Or define strict naming conventions/guidelines, if you want to use namespaces. |
||||||||||||||||||
55031 |
Building the application, |
Include is missing from CustomImplementation block if a data type is only used as a return value of a function. |
||||||||||||||||||
55214 |
IDE-documentation, |
The block descriptions for certain numeric and time functions do not contain the information about an existing IEC standard deviation.
Additional information:
Workaround: none existing |
||||||||||||||||||
55377 |
Building the application |
It is not possible to build an application when value fields contain specific operations.
Thus, the problem occurs, when an expression such as 2**3 is entered in the value field. |
||||||||||||||||||
55464 |
Building the application, |
The HTML-report does not contain any notice, if the application could not be built due to errors in the application. |
||||||||||||||||||
55190 |
IDE-documentation, |
The block description for the blocks ROL, ROR, SHL and SHL does not contain any information about a deviation from the IEC-standard for negative values of the input N. |
||||||||||||||||||
55194 |
IDE-documentation, |
The block description for the Compare blocks does not contain information that bitstring values are treated like unsigned integer values.
The behavior applies to the following blocks:
Workaround: none existing |
||||||||||||||||||
55198 |
IDE-documentation, |
The block description for some conversion blocks does not contain information about a deviation from the IEC-standard regarding a binary transfer.
This behavior is a deviation from the IEC-standard. The standard defines that the data type conversion is done as a binary transfer. The IDE documentation also contains no information that the blocks deviate from the IEC-standard in this respect. The following blocks are affected:
Example with ST-code for the block behavior
PROGRAM Program1 VAR Var1, Var2, Var3 : WORD; Var4, Var5 : BOOL; END_VAR Var1 := TO_WORD( '1' ); // The result is the hexadecimal value '16#0001' but a binary transfer (according to IEC-standard) would result in the hexadecimal value '16#0031' . Var2 := TO_WORD( 49 ); // The result is the hexadecimal value '16#0031'. Var3 := TO_WORD( 1.0 ); // The result is the hexadecimal value '16#0001' but a binary transfer (according to IEC-standard) would result in a different hexadecimal value. Var4 := TO_BOOL( 2 # 0001 ); // The result is the value 'TRUE' because the last digit is '1'. Var5 := TO_BOOL( 2 # 0010 ); // The result is the value 'TRUE' but a binary transfer (according to IEC-standard) would result in the value "FALSE" because of the last digit '0'. END_PROGRAM Workaround: none existing |
||||||||||||||||||
55202, |
IDE-documentation, |
The block description for the conversion blocks from Convert does not contain information about the behavior in case of errors that are possible according to the IEC-standard. |
||||||||||||||||||
55202, |
IDE-documentation, |
The block description for the TRUNC blocks does not contain information about the behavior in case of values that are not in the common range of values. |
||||||||||||||||||
55218 |
IDE-documentation, |
The block description for the block DIV does not contain any information about the truncation behavior for integers.
Workaround: none existing |
||||||||||||||||||
55456 |
Validating the application |
The description of the model rule configuration does not contain some details for specific changes.
Additional information:
Workaround:
|
||||||||||||||||||
55620 |
FBD-editor |
The network elements might not be evaluated correctly with regard to their processing order if the network contains only function blocks with feedback loops. Additional information: logi.CAD 3 should behave like this (according to the description in the IDE documentation):
Workaround: none existing |
||||||||||||||||||
55921 |
System blocks |
The result of a DIV_TIME block might not be as expected. |
||||||||||||||||||
55951 |
System blocks |
The EXPT block might return an incorrect result. |
||||||||||||||||||
55996 |
ST-editor,
|
The usage of REAL#-0.0 or LREAL#-0.0 might cause compiler warnings when building the application. Example for ST-code
PROGRAM Program1 VAR Var1, Var2 : REAL; END_VAR Var1 := LN(REAL#- 1.0 ); // OK: The cast 'LC_TD_REAL' is not omitted in the C-code. Var2 := LN(REAL#- 0.0 ); // Not OK: The cast 'LC_TD_REAL' is omitted in the C-code. END_PROGRAM Additional information: Observe the additional problem with the ID "56121" that the usage of -0.0 might cause 0.0 in the C-code. Var2 := LN(TO_REAL(- 0.0 )); |
||||||||||||||||||
56105 |
Vendor blocks, |
An empty fingerprint is reported for a vendor block containing the statement extraIncludes. |
||||||||||||||||||
56121 |
ST-editor,
|
The -0.0 specification might become 0.0 in the C-code. Example for ST-code
PROGRAM Program1 VAR Var1, Var2, Var3, Var4, Var5 : REAL; END_VAR Var1 := - 0.0 ; // Result in C-code: (LC_TD_REAL)0.0 - Error: "-" is missing here. Var2 := LN(- 0.0 ); // Result in C-code: (LC_TD_REAL)0.0 - Error: "-" is missing here. Var3 := REAL#- 0.0 ; // Result in C-code: -0.0 - Here "-" is not missing, but the cast 'LC_TD_REAL' is missing; see ID "55996". Var4 := LN(REAL#- 0.0 ); // Result in C-code: -0.0 - Here "-" is not missing, but the cast 'LC_TD_REAL' is missing; see ID "55996". Var5 := LN(TO_REAL(- 0.0 )); // Result in C-code: (LC_TD_REAL)0.0 - Error: "-" is missing here. END_PROGRAM Workaround: none existing |
||||||||||||||||||
56113 |
Test framework |
A program in a namespace cannot be tested. |
||||||||||||||||||
56417 |
PLC,
|
The PLC or runtime system is terminated unexpectedly in case of a certain division. Example ST code
PROGRAM Program1 VAR dintm1 : DINT := DINT#- 1 ; dintVar : DINT; END_VAR dintVar := DIV(DINT#-2_147_483_648, dintm1); END_PROGRAM Workaround: Stop and restart the PLC or the runtime system, remove the error in the ST-code with the division and load the application anew onto the PLC. |
||||||||||||||||||
56573 |
Vendor blocks |
The fingerprint of a vendor block with CustomNameSpace property is not updated correctly.
Additional information:
Workaround: Do not use the CustomNameSpace property. Or, clean the project after each change in the H or C file so that the fingerprint is updated correctly in the new library generation report for the vendor block. |
||||||||||||||||||
56764 |
Vendor blocks |
The fingerprint of a vendor block with implementationName property is not updated correctly. |
||||||||||||||||||
59209 |
Data types, |
A change in the automatically generated C/H file for a data type is not checked. |
||||||||||||||||||
62166 |
IDE Documentation |
The online help, local HTML help, and PDF files might not contain the complete list of blocks with internal error diagnostics.
Additional information: The problem affects the online help prior to October 10th, 2023 but also local HTML helps and PDF files created for this release and/or previous releases. |
||||||||||||||||||
107650 |
Safety-related applications, Building the application |
The SEL_DWORD block cannot be used in safety-related applications. |
||||||||||||||||||
107784 |
Safety-relevant application, information for users, IDE documentation, document "Safety instructions on working with the IDE" |
The document "Safety instructions on working with the IDE" (version 3.0) does not contain a restriction.
Even if the above item is not listed in the section "List of unsupported and restricted elements" of the document in version 2.0, you must not use the specified section when developing safety-relevant applications. |
||||||||||||||||||
108185 |
Building the application, safety-relevant applications |
Wrong C-code is generated, if you call a function block instance declared as an in-out variable. Subsequently, it is possible that memory on the PLC is overwritten. Example
FUNCTION_BLOCK MyFBwithIO VAR_IN_OUT iMyFB1 : MyFB1; (* The function block 'myFB1' is used as type for the function block instance declared as in-out variable. *) END_VAR iMyFB1(); (* Here the function block instance is called. *) END_FUNCTION_BLOCK FUNCTION_BLOCK MyFB1 ... END_FUNCTION_BLOCK Workaround 1: Do not declare a function block instance as an in-out variable. |
||||||||||||||||||
108609 |
IDE documentation, data types |
The IDE documentation contains wrong information: The lower and upper limit is not correctly specified for the data type BOOL.
Workaround: none existing |
Checksum for components of logi.CAD 3 version 3.16.2
Component |
Version |
Checksum |
Description |
logi.CAD 3 IDE |
version 3.16.2 |
305ff77e4845eb7910f29c42f2f134ea |
checksum of configuration\com.logicals\application.md5 (in relation to the i nstallation folder of logi.CAD 3) |
system library Standard |
version 3.2.8.1 |
9b96615a7ba362044256a304576886c2 |
checksum of index.md5, contained in plugins\com.logicals.library.lc3lib_3.16.2\libautoinstall\com.logicals.lc3.library.standard__3.2.8.1.ZIP (in relation to the i nstallation folder of logi.CAD 3) |