Release notes for version

This article contains the release notes for logi.CAD 3 version 3.23.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. Recommended, if you are using projects that have been created in a previous version of logi.CAD 3: Clean the imported projects.

  • logi.CAD 3 is not supported for 32-bit Windows systems any longer.

  • For projects that are containing function blocks with in-out variables (= VAR_IN_OUT) and that have been created or imported and cleaned in version 3.1.0 (or a later version), some steps are required after the projects have been imported within versions < 3.1.0. See "Functions blocks with VAR_IN_OUT from version < 3.1.0 prevent the building of the application".

  • For projects created or imported in version 3.0.0 (or a later version), some steps are required after the projects have been imported within versions < 3.0.0. See "Are my projects upwards and downwards compatible?".

  • FBD -objects that have been saved in version 2.5.0 or a following version cannot be opened in versions < 2.5.0 anymore.

On the Log4j security vulnerability:

See "Is the IDE affected by the Log4j security vulnerability (December 2021, CVE-2021-44228, Log4Shell)".

About system libraries:

See "Release notes for system libraries".

About the illustrations in the IDE documentation:

Depending on the configuration of your logi.CAD 3 version, the FBD-editor and its elements might be displayed differently in your logi.CAD 3 version than illustrated in the IDE documentation. This is the case, if logi.cals or the system integrator has changed the styles for the FBD-editor. Subsequently, the illustration in the IDE documentation are symbolic images and the representation in your logi.CAD 3 version takes precedence for the valid representation. In case of doubts, please contact logi.cals or your system integrator.

See "Color and style for FBD-elements determined by data type" for details.

General information for runtime system and target systems

About the →runtime system :

If you are using logi.CAD 3 version 3.23.2, install and use the version 5 .18.0 of the runtime system.
The installation package for the runtime system is included in the delivery range of logi.CAD 3.

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/warning.svg 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)".
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg See the FAQ article "When to update the version of the runtime system on the PLC?", if you need information on how to check whether the runtime system version appropriate for logi.CAD 3 is used on the PLC.

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.23.2

The new features for previous versions are listed in the release notes for the previous versions, e.g. in the release notes for V3.23.0

This section informs you about the latest new features for the versions V3.23.2 and V3.23.1 .

ID

Component

New feature

62558

Safety-relevant application, Building the application

The HTML-report that is generated when the application is built (also called build report) does now contain the information whether a task is defined as IO task. This information is displayed along with the other data for the program structure.

This new information is of particular interest when building safety-related applications.

62386

Safety-relevant applications, FBD-editor

If you are creating safety-relevant applications, keep in mind that calls of blocks are no longer automatically updated when you open the FBD-editor if the interface for the blocks has changed in the interface editor. However, you remain able to update a changed interface yourself by selecting the call and pressing Ctrl+1 or the F5-key.

You can find more details on the update under "Updating existing calls for changed interfaces".

56347

Safety-relevant application

When developing a safety-relevant application, IOs can be accessed by assigning IEC hardware addresses to global variables in the PLC application.

To grant this possibility, the following statements/keywords are now supported:

  • { IO } to access hardware IOs of the target system

  • { IO := IO-service1, IO-service2, ...} to specify one or several IO services for the IO task

  • AT for a global variable to assign a physical address to the symbolic variable

Observe that you need to follow some safety-specific instructions when IOs are accessed. For instance, it is necessary to perform an IO test. See the logi.CAD 3 document "Safety instructions on working with the IDE", article "Warnings/notes for accessing IOs" for all safety-specific instructions relating to accessing IOs.

62945, part 1

Safety-relevant application,
information for users

Elemens have been provided as new features since the logi.CAD 3 version 3.16.2 that has been qualified as a version for developing safety-relevant applications and/or libraries for them.
As the logi.CAD 3 version 3.23.1 is also a qualified version for developing a safety-relevant applications and/or libraries for them, the new features/changes implemented after version 3.16.2 up to version 3.23.1 affect the user when developing safety-relevant applications and/or libraries for them.

The following list contains new features and changes that are relevant to the user when using version 3.23.1 (instead of version 3.16.2) for the purpose of developing safety-relevant applications and/or libraries.
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Observe that the scope of logi.CAD 3 has been enhanced from version 3.16.2 to version 3.23.1 by non-safety-relevant features/changes as well. These features/changes are listed in the release notes for the previous version.

New safety-relevant features for V3.23.1:

  • Function blocks can be declared as global variables,
    Observe its restriction: Function blocks declared as global variables must only be used in 1 task at most.

  • The IDE provides data types for safety signals and blocks for safe logic, in particular the safe convert functions
    Observe: When using a safe convert function, the user must ensure that the input signal to this safe convert function can be interpreted as safety value.

  • The IDE highlights safe logic in the FBD-editor so you can visually distinguish safe logic from non-safe logic.
    Observe: The statements for labeling/highlighting safe logic (= the pragmas { safe } and { safeConsent }) must not be used by the user.

  • Reduced V&V activities for the new supported LVL-workflow when implementing modules in FBD and complying with the recommendations as specified in the document "Safety instructions on working with the IDE", article "Recommendations for LVL-workflow "
    Observe that a qualified user still has to validate the application before it can be used in operation - regardless whether the LVL-workflow is applied or not. See the document "Safety instructions on working with the IDE", article "Warnings/notes on installing, using and starting ", in particular the warning about the appropriate fault avoiding measures.

  • new supported blocks IAND, IOR, SIZEOF, PLCopen blocks

  • The hardware parameterization using the safety parameter editor is supported for developing safety-relevant applications.
    Other features regarding the hardware configuration are still not supported.
    In case of such a hardware parameterization, comply with the warnings as specified in the document "Safety instructions on working with the IDE", article "Warnings/notes for hardware configuration".

  • It is now possible to specifiy one task as designated IO task. That means that the pragma { IO } is supported.
    As a consequence, when checking the generated build report, you must also make sure that only one task is listed as the designated IO task and that the specified IO task is the expected task.
    Also observe that you have to deal with concurrency access issues and it is necessary to perform an IO test before the safety-relevant application is released.

  • Several resources within a configuration are supported when developing safety-relevant applications.

Added safety-relevant restrictions for V3.23.1:

  • External libraries for vendor blocks may only be integrated, if the system integrator has approved their usage.

  • Language elements with partial addresses (in ST) are not supported.

  • The pragma { SIZE := ...} for directly derived data types must only be used for PLCs in little endian format and for data type of ANY_BIT.

  • no support of the feature "Local variants or copies for library elements"

  • no support of the feature "Migration" and "Importing projects from a TC6 XML file" for the restricted LVL-workflow (see above)
    Hence, project elements that are created when using these features must be verified when applying the full FVL-workflow.

  • New particularities to observe when using editors:

      • The list of used namespaces within the FBD-editor does not contain the used namespaces that have been created in the application navigator.

      • Do not use yellow shades when designing non-safe FBD-elements because the color "Yellow" is used for tracking safe signals when developing safety-related application.

      • no automatic update of existing calls for changed interfaces

The document "Safety instructions on working with the IDE" has been updated to reflect the changes to version 3.23.1. See "Safety instructions on working with the IDE" for information on this document (incl. on its release and detailed changes).

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/warning.svg Also check the list provided under "Changes affecting the code generation" for changes that affect the automatically generated C-code (and thus the built application), even if you do not make any changes in the safety-relevant application yourself.

62945, part 2

Safety-relevant application,
information for system integrator

The following list contains new features and changes that are relevant to the system integrator when using version 3.23.1 (instead of version 3.16.2) for the purpose of developing safety-relevant applications and/or libraries.

  • Functions or function blocks can be implemented with a safe-type propagation by using the statements for labeling safe logic (= the pragmas { safe } and { safeConsent }). This implementation is to be done by the integrator.
    The integration manual contains new information on using the safe propagation . It is imperative to observe this information.

  • Do not use the setting lc3.fbdPreserveFunctionOutputs to change the behavior for functions.
    The integration manual section about enhancing a certified logi.CAD 3 has been updated regarding the settings to use and not to use.

  • Due to the implementation of the following features, the integration manual contains new information. These might be basic instructions on the feature, new integration requirements and/or new integration acceptance tests to be performed.

    • supported blocks IAND, IOR, SIZEOF, PLCopen blocks

    • safety parameter editor

    • device topology transformer (DTT)

    • IO access via SHM

    • implementation of an artifact identity mechanism; The calcuation and check of the artifact identity can be implemented by the integrator.

    • qualification of the used compiler/linker toolchain used for the integrator's specific platform

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/warning.svg Also check the changes for the user (see ID "62945, part 1") whether those new features and change might have an additional impact on the integration of logi.CAD 3 into a safety-related system.

As mentioned in the list: The document "Integraton Manual" has been updated to reflect the changes to version 3.23.1. This integration manual is only provided in the package for the qualified version of logi.CAD 3. Contact logi.cals, if you are interested in this package and/or the integration manual.

New features relating to the runtime system and target systems

ID

Component

New feature



none

Fixed problems in logi.CAD 3 version 3.23.2

The fixed problems for previous versions are listed in the release notes for the previous versions, e.g. in the release notes for V3.23.0

This section informs you about the fixed versions for the versions V3.23.2 and V3.23.1 .

ID

Component

Fixed problem

60996

Application navigator

Renaming a program instance may also change the name of the PLC-object.
Fix: The problem for the following scenario does not occur anymore.
Scenario for problem: If you rename a program instance in the application navigator (by pressing the F2-key), the name of the PLC-object (i.e. the .iecplc file) will be changed as well.

61082

Access control

It is possible to delete resources without the appropriate access control rights when using the quick access search bar.
Fix: The problem for the following scenario does not occur anymore.
Scenario for problem: Without the access right Delete application objects, it is not possible to delete an object. However, when using the quick access search bar to delete an object, either an exception is caused or the object is actually deleted.
In the case of the exception, a dialog with the text com.logicals.common.accesscontrol.NoPermissionException is displayed.

61086

Access control

It is possible to rename resources without the appropriate access control rights when using the quick access search bar.
Fix: The problem for the following scenario does not occur anymore.
Scenario for problem: Without the access right Rename application objects, it is not possible to rename an object. However, when using the quick access search bar to rename an object, either an exception is caused or the object is actually renamed.
In the case of the exception, a dialog with the text com.logicals.common.accesscontrol.NoPermissionException is displayed.

61094

Opening help

The local help is not opened for the PLCopen blocks.
Fix: The problem for the following scenario does not occur anymore.
Scenario for problem: When pressing the F1-key for a PLCopen block that has been selected in the editor, the HTML help is not opened for this block although the block description is included in the HTML files.

61158

Access control

It is possible to open the project settings without the appropriate access control rights when using the quick access search bar.
Fix: The problem for the following scenario does not occur anymore.
Scenario for problem: Without the access right Edit project settings, it is not possible to open the project settings. However, when using the quick access search bar to open the project settings, the settings are actually opened.

61162

Access control

The access control configuration of one project with the deactivated feature "Edit access control configuration" can be manipulated after copying files from a different project with activated feature.
Fix: The problem for the following scenario does not occur anymore.
Scenario for problem: Without the access right Edit access control configuration, it is not possible to configure the access rights for the project. However, after copying the files for the access control incl. the files for its artifact identity from a different project with the enabled feature Edit access control configuration, it is again possible to configure the access rights for the first project. Reason: Both projects are using the access control configuration of the second project.

61179

Access control

An exception is caused when selecting the command "Access Rights..." in the application navigator.
Fix: The exception does not occur for the following scenario anymore.
Scenario for problem: When selecting the command Access Rights... for the folder Project blocks in the application navigator, an exception is caused.

61191

Access control, artifact identity

In case of the deactivated feature "Edit application logic", the file for the artifact identity is not created when saving an already changed editor under a different name.
Fix: The problem for the following scenario does not occur anymore.
Scenario for problem: If you have changed the application logic in an editor and then the feature Edit application logic is deactivated, it is not possible to save the editor containing the changed application logic anymore. However, you are able to save the changed application logic under a different name. But if you do so, a message informs you that the file with the artifact identity has not been found.
Additional information: The problem only occurs, if you are using the feature "artifact identity".

61203

Access control

An exception might be caused when importing an existing access rights configuration.
Fix: The problem for the following scenario does not occur anymore.
Scenario for problem: If a project is closed in the workspace and an existing access rights configuration is imported into an opened project, an exception is caused. In this case, the text java.util.NoSuchElementException: No value present is displayed in the error log.

61395

Access control

An exception is caused when creating a project, if the IDE was started with enabled access control and with the -noSplash option.
Fix: The problem does not occur anymore.
Scenario for problem: If you are using logi.CAD 3 with access control enabled, start logi.CAD 3 with the -noSplash option and create a project, an exception is caused and the project is not created correctly. In this case the following message is displayed: java.lang.NullPointerException: Cannot invoke "String.toUpperCase(java.util.Locale)" because "userName" is null

62166

IDE Documentation

The online help, local HTML help, and PDF files might not contain the complete list of blocks with internal error diagnostics.
Fix: The online help was corrected around the middle of October 2023 to provide the full list. The HTML help and PDF files for the current release also contain the full list.
Scenario for Problem: The article "Execution control: EN, ENO" contains a list of blocks with internal error diagnostics. This list might not be complete because blocks after the TO_TOD block might be missing. These missing blocks might be:

  • TO_UDINT block

  • TO_UINT block

  • TO_ULINT block

  • TO_USINT block

  • TO_WORD block

  • UDP_Close block

  • UDP_Open block

  • UDP_Receive block

  • UDP_Send block

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.

62748

FBD-editor, global variables

The list of the declared variables might still display the changed data type although the change for the data type has been undone.
Fix: The problem does not occur anymore.
Scenario for problem: If you drag a variable into the drawing field (e.g. from the list of the declared variables), change the data type of this variable and you undo this change, the list of the declared variables still displays the changed data type. The dialog for the variable shows the correct (i.e. the original) data type.
Additional information: The same problem occurs, if you drag a global variable from the application navigator into the FBD-editor that contains an external variable with the same name but a different data type. Here the data type of the external variable is automatically changed. If you undo the dragging, the list of the declared variables still displays the changed data type.

62759

Application navigator, global-object

Dragging and dropping a global variable with a physical address onto the POU within the application navigator creates a faulty external variable.
Fix: The problem does not occur anymore.
Scenario for problem: The error in the POU occurs when a variable with a physical address is dragged and dropped from the global-object into a FBD-POU within the application navigator. When you open the FBD-POU in the textual FBD-editor, you will see that an external variable with a physical address (as indicated by the keyword "AT") has been created by mistake.

62764

FBD-editor, external and global variables

Information are not transferred to the external variable, if a global variable is dragged into the FBD-editor.
Fix: The problem does not occur anymore.
Scenario for problem: If you drag a global variable from the application navigator into the FBD-editor that contains an external variable with the same name but a different data type, the data type of the global variable is correctly transferred to the external variable. However, other information of the global variable, such as the comment or the description, are not transferred to the external variable as this should be the case according to the IDE documentation.

62769

Global-object, Application navigator

Deleting a global-object causes the PLC-object (containing a reference) to be highlighted as faulty.
Fix: The problem does not occur anymore.
Scenario for problem: When you drag a global-object from below the folder Global variables onto the resource Resource-Global Variables, the PLC-object is enhanced by the necessary reference INCLUDE_GLOBALS. If you then delete the global-object under Global variables, the reference in Resource-Global variables is not removed. As a result, the entire PLC-object is highlighted as faulty in the application navigator.

62893

FBD-editor, IDE documentation

When pasting a value field with a variable for an existing FBD-element, the IDE documentation differs from the implementation.
Fix: The IDE documentation has been corrected so that it describes the actual behavior.
Scenario for problem: The IDE documentation describes the behavior differently than it is actually implemented.
Described is:

If you paste a value field with a variable but there is already a different FBD-element with the name of the variable, the pasted value field is highlighted as faulty.
Example: You paste a value field with the variable Motor1. As there is already a connector named Motor1, the pasted value field Motor1 is highlighted as faulty.

In reality, the existing FBD-element is highlighted as faulty, namely the connector Motor1.

63454

FBD-editor

Overlapping lines prevent the clear determination of the connected FBD-elements.
Fix: The lines for the following scenario do not overlap anymore. Moreover, the lines in the scenario according to "The automatic line routing is ambiguously displaying the logic" do not overlap anymore.
Scenario for problem: With automatic line routing, it is possible that lines from/to different FBD-elements might overlap so you cannot determine which FBD-elements are connected to each other based on the logic.images/download/thumbnails/540901583/63454_Problem-version-1-modificationdate-1702392947986-api-v2.png

107232

FBD-editor, safety-relevant applications

The call of a function block in a value field is incorrectly highlighted as safe logic.
Fix: The problem no longer occurs.
Scenario for problem: If you enter the call of a function block in a value field, the value field is incorrectly displayed with a shade of yellow. Actually, the value field should be displayed with the same background color as the call of the function block itself is displayed.
Example: When entering RS1 in a value field, the value field is incorrectly displayed with a yellow background color while the graphical element for the function block call of RS1 is correctly displayed with a blue background color.
Additional information: The problem is relevant in particular if you are using a version that has been qualified for the developing safety-relevant applications. There, safe logic is highlighted with shades of yellow.

107650

Safety-related applications, Building the application

The SEL_DWORD block cannot be used in safety-related applications.
Fix: The SEL_DWORD block can be used in safety-related applications - when using version 3.23.1.
Scenario for problem: When a safety-releated application is using the SEL_DWORD block and this application is built, an error messages is reported that the fingerprints do not match for SEL_DWORD.
Additional information: The document "Safety instructions on working with the IDE" does not list the SEL_DWORD block as an unsupported block. So it is expected that this block can be used in in safety-related applications.

107660

IDE documentation, PLCopen blocks

Information about particular DiagCode is not included in the HTML help for 3 PLCopen blocks.
Fix: The online help was corrected around the middle of November 2023 to provide the missing information. The HTML help for the following versions (e.g. V3.24.0) also contains this infromation.
Scenario for problem: Information on certain states (= DiagCode) is missing in the HTML help for the following PLCopen blocks:

  • SF_EDM block: The information about C410, C420, C430, C450, C460 is missing. For C010, C020, C070 and C080, the information is missing which states the other EDMs must have.

  • SF_TwoHandControlTypeII block: The information about C010 and C020 is missing.

  • SF_TwoHandControlTypeIII module: The information about C010 and C020 is missing.

Additional information: The information is not included in the HTML help for V3.23.0 and V3.23.1. However, it was added to the online help as of V3.23.1 in the middle of November.

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) included in the local HTML-help does not contain some restrictions.
Fix: The document "Safety instructions on working with the IDE" has been updated and released as version 4.0. This document contains these restrictions and is included in the local HTML help for the current version.
Scenario for problem: The document "Safety instructions on working with the IDE" (version 3.0) included in the local HTML-help does not contain the following information:

  • The section BINARY_LIBRARIES ... END_BINARY_LIBRARIES (when creating custom libraries with user blocks) is not supported.

  • The external libraries for the vendor blocks must only be used and integrated, if the system integrator has approved the usage of such libraries.
    Instead of this restriction about the external libraries, the document contains the restrictions that vendor blocks must only be used, if the system integrator has approved their usage. Moreover, the document specifies that this restriction applies to the entire section "Creating vendor blocks for the application or a library" as specified in the IDE documentation. But this restriction just applies to the chapter "Integrating external libraries for the vendor blocks" that is a part of the section "Creating vendor blocks for the application or a library".

Even if the above items are not listed in the section "List of unsupported and restricted elements" of the document in version 3.0, you must not use the specified section when developing safety-relevant applications. Regarding the external libraries for vendor blocks, contact the system integrator whether these libraries may be used when developing safety-relevant applications.
none existing
Additional information: The problem affects the local HTML help as well as the PDF files created for this version.

108015

Safety parameter editor, IDE documentation

The IDE documentation on the safety parameter editor does not contain information on the valid range for floating point value.
Fix: The online help was corrected around the middle of December 2023 to provide the missing information. The HTML help for the following versions (e.g. V3.23.2, V3.24.0) also contains this information.
Scenario for problem: The article "Viewing or changing the current parameter values" under the section "Hardware parameterization using the safety parameter editor" contains instructions on how to change values in the safety parameter editor. An example for a floating point value is specified, it illustrates the behavior that the safety parameter editor changes the specified value. But there are no generic information on the valid range for floating point values and when such values are changed.
Additional information on the floating-point values: Due to the internal representation of floating-point numbers, the safety parameter editor might round the specified floating point value as follows:

  • If a single-precision floating-point number (also known as float32 value) has more than 7 digits in its fractional part, this value is rounded by the safety parameter editor to have at a maximum of 7 digits in its fractional part.

  • If a double-precision floating-point number (also known as float64 value) has more than 15 digits in its fractional part, this value is rounded by the safety parameter editor to have a maximum of 15 digits in its fractional part.

Moreover, if a specified value cannot be precisely interpreted as a floating-point number, the safety parameter editor corrects the value to the corresponding floating-point number.
Example: The value 3.1415166 is rounded to 3.1415167. The reason is that 3.1415166 is represented as 3.14151668548583984375 as a floating-point number, which is finally rounded to have a 7 digit fraction.
Also observe the following:

  • When you hover over the field for Value, the tooltip informs you about the type of the floating point value. The value is either Float32 or Float64.

  • You are able to specify a floating point value using the exponent notation, such as 3.1415167e2. In this case, the safety parameter editor corrects the specified value to a notation without the exponent. As a consequence, the yellow background color of the changed field is kept and a warning informs you about the change. You have to e.g. press the Enter-key in order to confirm the value that has been entered by the safety parameter editor instead of your specified value.

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.
Fix: The problem according to the following scenario does not occur in logi.CAD 3 version 3.23.2 and version 3.24.0 anymore.
IMPORTANT: If you use such a construct in your project, clean the project via the menu entry "Project→Clean...".
Scenario for problem: If you call a function block instance that has been declared as an in-out variable (= VAR_IN_OUT) as illustrated in the following example, the application can be built. However, wrong C-code is generated. This might cause the problem 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


Changes affecting the code generation

The following changes in logi.CAD 3 version 3.23.2 affect the automatically generated C-code (and thus the built application), even if you do not make any changes in the application yourself. Observe that when you load the application, the changed code will be loaded onto the PLC.

Change

Starting with version

More information on the change

Changed specification -0.0 in the C-code (when -0.0 has been entered in the ST-code) SAFETY

V3.21.0

See ID "56121" in the release notes of the specified version

Inserted cast LC_TD_REAL or LC_TD_LREAL in the automatically generated C-code (when REAL#-0.0 or LREAL#-0.0 has been entered in the ST-code as typed literal)SAFETY

V3.21.0

See ID "55996" in the release notes of the specified version

Changed result when dividing the minimum value for a data type by -1 and for a return value of the same data type SAFETY

V3.22.0

See ID "56417" in the release notes of the specified version

Changed order for statements within an FBD network with a feedback loop (in the default configuration) SAFETY

V3.22.0

See ID "57509" in the release notes of the specified version

Changed order for statements within an FBD network with a feedback loop (in the case of -Dlc3.fbdPreserveFunctionOutputs=TRUE )

V3.22.0

See ID "57550" in the release notes of the specified version

Changed determination of the memory size for the SIZEOF block: new determination by the data type of the input IN, formerly: determination by the transferred element

V3.23.0

See ID "60072" in the release notes of the specified version

Restricted usage for the SIZEOF block, MEMCMP block, MEMCPY block and MEMSET block

V3.23.0

See ID "60072" in the release notes of the specified version

Improvement of a suboptimal definition of the values for true and false; This does not change the generated code but it is possible that a different binary code is generated.

V3.23.0

See ID "60586" in the release notes of the specified version

Changed code generation when calling a function block instance declared as an in-out variable (preventing the overwriting of memory on the PLC) SAFETY


V3.23.2

See ID "108185" in the release notes of the specified version

Note: The flag SAFETY means that the change must be taken into account in particular when developing safety-relevant applications. A change without this flag applies to a functionality/configuration which is not supported for the development of safety-relevant applications.

Known problems in logi.CAD 3 version 3.23.2

ID

Component

Known problem

49494

Application navigator,
ST-object

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.
Scenario for problem: It is possible to create several language elements, such as function blocks, in the same ST-object. When in the application navigator, you are selecting the command Delete for one of these language elements, all language elements in the ST-object are deleted because the entire ST-object is deleted. There is no information before the delete action that other elements will be affected by the delete action.
Additional information: The same problem occurs in case of a moving action. This means: If one element is moved, the other elements within the ST-object are moved as well.
Workaround: Before you delete an element, you might want to check whether there are other elements in the same object. If yes, rather delete the element in the ST-object (i.e. in the ST-editor).

49498

Application navigator

The command "Go Into" in the application navigator does not behave as expected.
Scenario for problem: The command Go into should refocus the view to the currently selected folder. However, if the command is selected in the application navigator (for example, for the folder Project blocks), the view does not display the contents of only this folder, but all projects that are currently open will be displayed in that folder as well. This behavior in the application navigator is not as expected.
Workaround: none available

58528

PLC-object, building the application

Formatting the PLC object might cause an error in the specifications for PARAMS. As a result, it is not possible to load the application onto the PLC.
Scenario for problem: Depending on the used PLC, the PLC object may contain specifications for PARAMS that control the communication with the gateway.

Example of specifications for communication with the gateway
{
TARGET usRTSTarget_Win
PARAMS := '{
(* other data *)
},
"infrastructure" : {
(* other data *)
"parameters" : {
"programmerExec" : "<at:var at:name="PROGRAMMER" />",
"programmerParam" : "<at:var at:name="FILENAME" /> C:\\temp\\RTSCode.upload.dll",
(* other data *)
}
}
}';
END_TARGET
}

If you format the code in the PLC object using the context menu command Source, Format or the keyboard shortcut Ctrl+Shift+F, the path specification after "programmerParam" is reformatted incorrectly, as spaces are inserted before and after the : character. So, the example C:\\tempRTSCode.upload.dll becomes: C : \\tempRTSCode.upload.dll
Due to this incorrect path, it is no longer possible to load the application to the PLC.

59175

Teaming up to create applications, vendor blocks

The automatically generated H-/C-files for vendor blocks are not automatically locked. The editor for them is not opened in a read-only mode.
Scenario for problem: If you open an existing object from within the view Team Monitor, the IDE automatically locks this object. If the IDE cannot lock the object, the editor is opened in read-only mode. This is true for a vendor block itself but not for the H-/C-files that are automatically generated for the vendor block.
Workaround: Lock the H-/C-files yourself by opening the context menu for these files within the project explorer and selecting the command Lock selected files.

59213

"Instances" view, vendor blocks

The fingerprint of the application is not updated in the "Instances" view when changing C-sources.
Scenario for problem: When changing the contents of a C-file of a vendor block and saving this change, the fingerprint of the application is not updated in the Instances view.
Workaround: Clean the project to update the fingerprint in the Instances view.

59774

Building the application

Changed applications for PTK GCC 10.2.x may fail to build.
Scenario for problem: Building the changed application with platform toolkits that use GCC 10.2.x may fail with the following message:

ninja: error: FindFirstFileExA(c/:/prj/bur/saturn/runtime-spdesigner/counter1/src-gen): The filename, directory name, or volume label syntax is incorrect.

Additional information: The problem occurs only if the platform toolkit does not contain the forceRebuild setting or the setting is set to FALSE.
Workaround: Clean the project before building the changed application

59779


FBD-editor, memory consumption

A memory leak occurs when scrolling through extensive FBD-objects..
Scenario for problem: If an FBD-editor with many pages/objects is opened for a longer period of time and the view onto to the contained pages/objects is changed (= you are scrolling through the FBD-editor), the memory consumption might increase considerably. As a result, it is no longer possible to operate the FBD-editor.
Additional information: The display of the FBD-elements occupies memory. This memory is not freed if these FBD-elements are no longer displayed. The more FBD-elements are displayed by scrolling, the more memory is used.
The problem might occur even earlier, if the FBD-editor contains many OLT-fields and data is displayed in these OLT-fields while testing/debugging.
Workaround to free the memory: Close the FBD-editor and reopen it. Or close the IDE itself and restart it.

60255

FBD-editor, "Problems" view

The quick fix to resolve errors in the"Problems" view may not work.
Scenario for problem: The context menu for messages in the Problems view may contain the command Quick Fix to perform a quick correction of the problem. In this case, a quick fix is not available:

  1. You are inserting the call for an ST function block into an FBD-editor.

  2. You insert a new input into the ST function block.
    Result: The call is highlighted as a warning. The warning in the Problems view contains the disabled command Quick Fix.

Workaround: none existing

60268

Test framework

A test suite with a name that is too long cannot be exported to Excel.
Scenario for problem: By using the export wizard, it is possible to export a test suite to Excel. However, if the name of at least one testcase is longer than 30 characters, this export is not possible. In this case, the following messages are displayed in a dialog:

'Exporting test suite to Excel' has encountered a problem.
An internal error occurred during: 'Exporting test suite to Excel'
Cannot invoke 'org.osgi.framework.BundleContext.getBundle()' because the return value of 'com.logicals.lc3.api.common.BundleInformation.getBundleContext()' is null

Workaround: Shorten the name of the test suite.

60476

IDE documentation

The order of 2 illustrations in an article of the IDE documentation is wrong.
Scenario for problem: The article "Inserting a call of a block or value field into existing lines" in the IDE documentation contains 2 illustrations in the last section that are in the wrong order.
Workaround: none existing

60703

Validating the application

Syntax errors might be caused when using the content assist to suppress warnings for rule violations.
Scenario for problem: The IDE documentation contains information to use the content assist when trying to suppress the warning for a rule violation (based on a specified example in the documentation). But when doing this, an error about an unexpected character is caused for the following 2 rules:

  • Namespaces of language elements must match the identifier of the parent namespace folder.

  • Namespace folders need a unique identifier.

Workaround: none existing

60726

IDE

The changed file association is ignored for opening a data type from a library configuration.
Scenario for problem: The user preferences allow to change file associations for data types. However, if you delete the Editor for data types association assigned to the data type .iecst, the graphical enum-editor continues to be opened when opening a data type from a library configuration.
Workaround: none available

60771

Migration

The migration of constants may cause an error in the target project.
Scenario for problem: If you migrate a project of the predecessor product and an FBD-editor contains a value field with the constant "1.0E-6", the graphical FBD-editor cannot be opened for the migrated object with the value field. The reason for this is a syntax error as the value field contains the wrong value _1.0E-6.
Workaround: Correct the error in the textual FBD-editor and save the change.

60776

LD-editor

No emphasis is displayed when reconnecting existing link elements within the LD-editor.
Scenario for problem: The possible logic elements (e.g. contacts and coils) should be emphasized when reconnecting existing link elements to indicate that you can reconnect the link element to one of these logic elements. However, this emphasis is not displayed within the LD-editor.
Workaround: none existing

60783

Access rights

A dialog for saving the changes is displayed by mistake.
Scenario for problem: If you change the content of an FBD-editor without saving yet, then disable the access rights for the group Application and save the change in the FBD-editor despite the disabled features (by using the button Save all), you receive the correct information that the content cannot be saved due to the missing permissions for the access control, but that it can be saved under a different name. If you select No here to not save the content, a dialog will be displayed by mistake offering to save the content of the FBD-editor, not to save the content or to cancel the saving action itself.
Additional information: The same problem may occur if you use a version with team server function.
Workaround: Click on Do not save in the dialog that is opened by mistake to close the FBD-editor and not save the changes.

60825

Interface editor

The preview of the interface editor is not updated correctly when undoing the creation of a value field.
Scenario for problem: When you create a value field within the interface editor (such value fields are also known as internal value fields), it seems that it is not possible to undo this creation. In fact, the created value field is deleted but the preview of the interface editor continues to display the value field. When selecting this value field in the preview, error messages are displayed within the error log.
Workaround: Save the interface editor, close and re-open it.

60829

Interface editor

It may not be possible to undo the creation of a comment field within the interface editor.
Scenario for problem: If you create a comment field within the interface editor and cancel entering the text in the comment field by pressing the ESC-key, it is not possible to undo this creation.
Workaround: Delete the created comment field within the interface editor.

60833

Interface editor

The deletion of elements within the interface editor may need to be undone twice.
Scenario for problem: If you delete a value field, a comment field, or the instance name within the interface editor, and then want to undo this deletion, the deleted element is not restored. You must execute the undo action one more time for the deleted element to be restored.
Workaround: Execute the undo action two times in total.

61171

Teaming up to create applications

The "Team Monitor" view does not determine the status changes on the team server at the expected interval.
Scenario for problem: The upper list under Changed on master of the Team Monitor view shows which changes of the project are available on the team server. If the local files differ from the status of the master, this view should be updated automatically every 30 seconds. However, the list is not updated but it remains empty.
Workaround: Refresh the list yourself by selecting Refresh in the context menu for the list or by pressing the F5-key.

61175

Access control

It is possible to turn a folder into a namespace folder and vice versa without the appropriate access control rights to edit the application logic.
Scenario for problem: Without the access right Edit application logic, it is not possible to edit the application logic. However, it is possible to:

  • turn a folder into a namespace folder by selecting Assign Namespace in the context menu for a folder within the application navigator.

  • remove the namespace assignment and namespaces for objects by selecting Unassign Namespace in the context menu for a namespace folder within the application navigator.

Workaround: none existing

61183

Access control

It is possible to assign a USING instruction for accessing a namespace folder and delete this instruction without the appropriate access control rights to edit the application logic.
Scenario for problem: Without the access right Edit application logic, it is not possible to edit the application logic. However, it is possible to:

  • assign a USING instruction for accessing the objects of a different namespace folder existing in the application navigator.

  • delete such a USING instruction in the application navigator.

Workaround: none existing

61187

Artifact identity

The artifact identity is not created/updated when turning a folder into a namespace folder or assigning a USING instruction for accessing a namespace folder.
Scenario 1 for problem: The file with the artifact identity is not created, if you turn a folder into a namespace folder by selecting Assign Namespace in the context menu for a folder within the application navigator.
Scenario 2 for problem: If there is a file with the artifact identity (see "Workaround") and you assign a USING instruction for accessing a different namespace folder, the file with the artifact identity is not updated.
Additional information: The problems only occur, if you are using the feature "artifact identity". The missing/outdated file with the artifact identity is not reported to the user. The problems become only obvious if the user tries to execute an actions with the namespace folder (e.g. moving the namespace folder is not possible).
Workaround after any action regarding a namespace folder: Locate the file .iecproperties in the namespace folder. Observe that this file is hidden in the project explorer and application navigator by default. Therefore, uncheck the filter for .* resource to display the file in the project explorer. Then open the file .iecproperties in a text editor of the IDE, make a minimal change (e.g. add a blank) and save the change in order to create/update the artifact identity.

62735

List of declared variables

A STRING variable cannot be changed in the dialog.
Scenario for problem: If a STRING variable is declared and you open the dialog for changing the name, data type and initial value of the declared variable (e.g. by double-clicking onto the variable in the list of declared variables), there is no entry for data type in the dialog. Therefore, it is not immediately possible to change the STRING variable. This is because the OK button is not available due to the missing data type.
Workaround: In the dialog, enter the data type STRING including the necessary string length, e.g. STRING[80]). Alternatives: Click onto the field Initial value of the STRING variable once, use the command Edit initial value provided within the context menu or press Ctrl+I.

62839

OLT-field

Special characters within OLT fields are not evaluated as expected when debugging an application.
Scenario for problem: When debugging an application, if you enter special characters, such as umlauts or texts with several lines, using the three-character combination (starting with the dollar sign ($) and followed by 2 hexadecimal digits), the entry is not evaluated as the expected character.
Examples: The entry $0a is not evaluated as a new line. The entry f$FCr is not evaluated as "für".
Additional information: The field Initial value for a STRING variable displays this three-character combination in the list of the declared variables.
Workaround 1: Enter the desired special character directly in the field for the OLT-field by using the keyboard, several lines can be added by pressing Shift + Enter.
Workaround 2: Stop the debugging, and correct the initial value of the variable within the FBD-editor so that it contains the desired special character. Save the changes, create the application and load it onto the PLC.

106944

List of the declared variables

The initial value of declared variables might not be changed.
Scenario for problem: If a variable is declared based on a structured data type, it is not possible to enter or change the initial value for this variable by clicking on the Initial value field in the list of the declared variables. It is also not possible to enter or change the initial value by using the command Edit Initial Value or Ctrl+I.
Workaround: Open the dialog to change the name, data type and initial value of the declared variable (e.g. by double-clicking on the list of the declared variables) and enter or change the initial value in this dialog.

106952

Properties field, FBD-editor

The application cannot be built if the characters * / are contained in a property field in FBD.
Scenario for problem: The application cannot be built if the characters * / are contained in a property field in FBD. In this case, the following messages are displayed:

The application for the PLC (resource "name1", platform toolkit "name2") cannot be created/loaded. Check the views "Error Log" and "Problems" for more information.
An error occurred during compiling or linking the code image (error code: 1).

Workaround: Do not use the characters * / in the string literal on the right side of the assignment operator ":=".

106958

ST-editor

The application cannot be built if the characters */ are contained in a property field in ST.
Scenario for problem: The application cannot be built if the characters */ are contained in a property statement in ST. In this case, the following messages are displayed:

The application for the PLC (resource "name1", platform toolkit "name2") cannot be created/loaded. Check the views "Error Log" and "Problems" for more information.
An error occurred during compiling or linking the code image (error code: 1).

Workaround: Do not use the characters */ in the string literal on the right side of the assignment operator ":=".

107041

Application navigator, global-object

A global-object can be renamed to an invalid name in the application navigator.
Scenario for problem: It is possible to rename a global-object in the application navigator so that the name contains an invalid character (e.g. umlauts) or corresponds to an already used name if the name uses upper/lower case letters differently. As a result, the renamed global-object is correctly reported as faulty.
Additional information: The IDE prevents the creation of a global-object if the name contains an invalid character or corresponds to an already used name (regardless of the use of upper/lower case letters in the name).
Workaround: Rename the faulty global-object so that the object has a unique name (observe that a different use of upper/lower case letters does not make the name unique) and it is also a valid IEC-identifier.

107075

FBD-editor

The call of a block can be enlarged, although this should not be possible.
Scenario for problem: If the setting Fixed Size is checked within the interface editor, it is not possible to make a call of the block larger or smaller according to the IDE documentation. In reality, you can enlarge the call if you adjust the size of several FBD-elements in one go by using the commands Layout and Same Size. Reducing the size is not possible in this way, as mentioned in the IDE documentation.
Workaround: none existing

107259

IDE, device topology transformer (DTT)

Unexpected behavior of features in the case of the missing configuration variable -Dlc3.serverport=50055.
Scenario for problem: The configuration variable -Dlc3.serverport can be used to set the server port for the IDE gRPC server, e.g. for the test framework, for remote-controlling the IDE or for using the device topology transformer. This is usually: 50055
If this configuration variable is not set in your environment or it is used but a different server port than 50055 is set, some features might not work as expected.
For instance, when using the sample reference implementation of the device topology transformer (DTT), the result of comparing the logic inside the DTT code generation process is the dialog Confirm for the generated models. But this dialog will not be displayed in the case of the missing configuration variable -Dlc3.serverport=50055.
Workaround: Define -Dlc3.serverport=50055 as it is instructed in the English documentation "IDE administrator's manual", in the article "Using the device topology transformer to prepare the hardware parameterization by the safety parameter editor".

107327

Global-variables-editor

The global-variables-editor might not display the expected icon for some variables.
Scenario for problem: The IDE documentation for the global-variables-editor contains the information that the icon images/download/thumbnails/414778154/VarUserDT-version-1-modificationdate-1534238223509-api-v22.png is displayed for global variables with a user-defined data type. However, it also possible that a different icon is incorrectly displayed, if the variable is declared on the basis of one of the following data types:

  • data type with named values (enums)

  • directly derived data type

This means that the icon images/download/thumbnails/414778154/VarUserDT-version-1-modificationdate-1534238223509-api-v22.png or images/download/thumbnails/413893074/VarGlobal-version-1-modificationdate-1533808466516-api-v2.png is displayed for such variables in the global-variables-editor. But only the icon images/download/thumbnails/414778154/VarUserDT-version-1-modificationdate-1534238223509-api-v22.png should be used for this.
Workaround: none existing

107348

Building the application

Building an application might lead to linker warnings.
Scenario for problem: Depending on the used toolchain, linker warnings might occur when building an application. The warnings are caused by a discrepancy between extern declarations and the definition of symbols in the C-code. The problem has been observed when using external variables in the ST-code or in the FBD-logic.
Workaround: Ignore the warnings.

107379

FBD-editor

The IDE documentation differs from the implementation in a special case for replacing a block call.
Scenario for problem: The IDE documentation describes special cases when replacing a block call. Example 1 in the section "Behavior when replacing: Instance name is not used" shows that:

  1. the access to a variable of the original block is not automatically updated to the name of the new block.
    The implementation and IDE documentation match here.

  2. the access is highlighted as faulty.
    The implementation and IDE documentation do not match here: Actually, the access is not highlighted as faulty. The reason for this is that the variable of the original block is no longer deleted automatically, as this has been the case in previous versions.

Here is the illustration from the IDE documentation in which the value field with the access SR1.Q1 became faulty after a block SR has been replaced by a block TON:
images/download/thumbnails/413893345/ReplaceBlockInstanceName1c-version-1-modificationdate-1533816454291-api-v2.png
However, this value field will not be highlighted as faulty.
Additional information: The English IDE documentation contains a 2nd image for the example 1 that does not illustrate the replacement from SR by TON, but it repeatedly displays the 1st image with the block SR. The German IDE documentation contains the correct image of the replacement.
Workaround: none existing

107391

ST-Editor, building the application

It might not be possible to build the application due to a called method.
Scenario for problem: If a method of a function block is called and this call is done using a global array function block instance, no errors are reported for the ST syntax. Nevertheless, the application cannot be built. In this case, the following messages are displayed:

The application for the PLC (resource "name1", platform toolkit "name2") cannot be created/loaded. Check the views "Error Log" and "Problems" for more information.
An error occurred during compiling or linking the code image (error code: 1).

After the attempt to build the application, the messages are displayed in the Problems view. Here are the messages for the customer scenario in which the problem occurred:

'LC_VD_GAUC_TESTARRAYGLOBALVAR' undeclared (first use in this function)
expected expression before 'LC_TD_FunctionBlock_APPLICATIONCOREx2EFB_TESTFB'
expected expression before 'LC_TD_FunctionBlock_APPLICATIONCOREx2EFB_TESTFB'
implicit declaration of function 'LC_GV_ACCESS_ARRAY'; did you mean 'LC_GV_ACCESS_FB'? [-Werror=implicit-function-declaration]

Workaround: none existing

107403

Applikation navigator, namespaces

Moving/copying a subfolder into a namespace folder does not update the namespace for the included objects.
Scenario for problem: If you use a namespace folder, the IDE is updating the namespace during actions in the application navigator. This update takes place when moving/copying objects into a namespace folder, but not when moving/copying a subfolder with objects into a namespace folder. After the move/copy action for the subfolder, deviations are reported because the namespace in the objects of the subfolder and the namespace folder do not match.
Workaround: Only move or copy objects into a namespace folder, but not subfolders.

107419

Applikation navigator, namespaces

Objects in nested namespace folders do not have a nested namespace.
Scenario for problem: If you create a namespace folder as a subfolder in an existing namespace folder, the objects in the subfolder are only declared in the namespace of this subfolder. However, the expectation is that the objects are declared in a nested namespace, as nested namespaces for ST-objects and FBD-objects are possible according to the IDE documentation and the IDE-documentation for the namespace folders does not contain any information whether nested namespaces are possible for nested folders.
Example: The namespace folder NS1 contains the subfolder NS2 that is also a namespace folder. The objects in the namespace folder NS2 are declared in the namespace NS2. However, the expectation is that the objects are declared in the nested namespace NS1.NS2.
Workaround: none existing

107430

Global-variables-editor

Undoing/Redoing the delete action for all sections does not work as expected.
Scenario for problem: When you delete all sections in the global-variables-editor, but then you undo and redo this delete action, the sections are not deleted as expected.
Workaround: Save and reopen the global-variables-editor. Now the sections are deleted as expected.

107517

Building the application, ST-editor, FBD-editor

It is not possible to build the application, if a function block variable is assigned to the ANY input of a function block.
Scenario for problem: If you declare a function block instance and you assign the appropriate function block variable to the ANY input of a function block (see the following example in ST), it is not possible to build the application.

Example in ST
PROGRAM MyTest
VAR
rs1 : rs;
END_VAR
SEL(IN0 := rs1); (* The input 'IN0' of 'SEL' is declared with the generic data type 'ANY'. *)
END_PROGRAM

In this case, the following messages are displayed:

Faulty source files. The application for the PLC (resource "name1", platform toolkit "name2") cannot be created/loaded. Check the views "Error Log" and "Problems" for more information.
An unexpected error occurred: File <path>\<project>\src-gen\lcpu___mytest.c is missing.

Additional information: The problem also occurs in the FBD-editor. There, the line between the value field containing the function block variable and the ANY input of the function block is highlighted as faulty. The following error message is reported by mistake for this line:

Safety conflict: The unsafe output cannot be assigned to a safe input.

Workaround: none existing

107558

FBD-editor

The initialization of structure elements is not possible when creating a new structured variable via the content assist.
Scenario for problem: When creating a value field with a new variable via the content assist, it is not possible to enter an initial value for a variable that is declared based on a structured data type. For instance, if you enter Var1: myStruct := (Elem1 := true) (where myStruct is the structured data type and Elem1 one of its structure elements), the message Invalid expression is displayed.
Workaround: Create the variable without the intial value. For instance, enter Var1: myStruct in the content assist. Afterwards go the the list of the delared variables, double-click the created variable to open the dialog to modify its data. In the field Initial value, enter the initial value, e.g. (Elem1 := true) for the above example.

107563

FBD-editor

An exception is caused by a wrong array initialization when creating a new structured variable via the content assist.
Scenario for problem: When creating a value field with a new variable via the content assist, by mistake it is possible to enter an array initial value for a variable that is declared based on a structured data type. For instance, if you enter Var1: myStruct := 1 (where myStruct is the structured data type), the variable is created. When saving the FBD-editor, an exception is caused. In this case, the error log displays this message:

class com.logicals.lc3.api.model.st.pou.impl.ArrayConstantImpl cannot be cast to class com.logicals.lc3.api.model.st.expression.StructureConstant (com.logicals.lc3.api.model.st.pou.impl.ArrayConstantImpl and com.logicals.lc3.api.model.st.expression.StructureConstant are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @9dada78) ...

Workaround: Go the the list of the declared variables and double-click the created variable to open the dialog to modify its data. In the field Initial value, delete the wrong initial value 1 for the above example. Accept the changes in the dialog and save the FBD-editor.

107568

List of the delared variables

An exception is caused when initializating structure elements while creating a new structured variable in the list of the declared variables.
Scenario for problem: It is not possible to create a new variable with an initial value in the list of declared variables, if the variable is declared on the basis of a structured data type. If you enter the data for the variable in the dialog (see the following example), the variable is not created, but an exception condition is caused. In this case, the message Invalid expression is displayed in the error log.
Example for the data of the variable:

  • Name: Var1

  • Data type: myStruct

  • Initial value: (Elem1 := true)

Workaround: First, create the variable without the intial value. Then double-click the created variable to open the dialog again. In the field Initial value, enter the initial value, e.g. (Elem1 := true) for the above example.

107681

FBD-editor

When using the content assist to create new variables, a possible conflict to existing variables of another variable section is not reported. The existing variable is automatically used.
Scenario for problem: It is possibel to create values fields with new variables by using the content assist. For instance, the input L, C : var5 : BOOL := TRUE means that one value field will be created and it is to contain the internal variable (due to the prefix L for the section of the local variables, also known as internal variables) with the name var5 of data type BOOL and the initial value TRUE. Due to the prefix C, the variable is also declared with the keyword CONSTANT.
But in the case that there is already a variable with the same name and data type but this variable has been declared in a different section, this existing variable is automatically entered in the value field. So for instance, if there is an external variable var5 of data type BOOL but no initial value, this external variable is entered in the value field. During the input, there is no message reporting this conflict. Moreover, there is no information that the existing variable has been entered instead of the internal, constant variable var5 (with the specified data type and initial value) and that this new variable has not been created at all.
Additional information 1: The IDE documentation does not specify the behavior for the above problem
Additional information 2: In the case that there is already a variable with the same name but a different data type, this conflict is reported and it is not possible to declare the new variable. A similar behavior has been expected for the above problem, even if the IDE documentation does not specify the behavior.
Workaround: none existing

107713

Access control

An exception might be caused when importing an existing access rights configuration.
Scenario for problem: If an existing access rights configuration is imported into a closed project, an exception is caused. In this case, the text java.util.NoSuchElementException: No value present is displayed in the error log.
Workaround: Import the access rights configuration into the opened project,

107764

FBD-editor, Cleaning the project

FBD-elements are highlighted as faulty in the opened FBD-editor, if the corresponding C-file has been opened while cleaning the project.
Scenario for problem: If you have opened an FBD-editor and the corresponding C-file while the project is being cleaned, the lines and the connected block calls are highlighted as faulty in the opened FBD-editor. If you move the mouse pointer onto the error icon of the call, these messages are displayed for each block and block input: Could not resolve reference to 'name'. A variable with this name does not exist.
Additional information: Usually, C files are not displayed in the views with the resources (e.g. the project explorer). However, C files can be displayed in the project exporer, if you deactivate the src-gen folder filter for the view. In this case, it is also easy to open the editor for a C file from within the project explorer.
Workaround: Close and reopen the FBD-editor

107789

Global-variables-editor

The sort order might not be as expected, when moving multiple global variables or sections in the global-variables-editor.
Scenario for problem: When you are moving multiple global variables or sections in the global-variables-editor, the variables or section might not be sorted as expected.
Workaround: none existing

108006

Safety-relevant applications, integration manual

The integration manual does not contain information that some time tests depend on the timer frequency of the target system and how to proceed if the target system uses a different timer frequency than 1 kHz or 10 kHz.
Scenario for problem: The integration manual contains information on the qualification of a compiler. For this qualification of a compiler, integration acceptance tests must be executed with the compiler that has to be qualified. These integrations acceptance tests are provided in the file com.logicals.product.lc3.testprojects-IntegrationAcceptanceTestCompilerQualification_3.23.1.zip that is included in the delivery package of the qualified version 3.23.1. The subfolder Time of the folder tests_compilerqualification contains 2 folders with tests that depend on the timer frequency of the target system:

  • tests for a target system with 1 kHz

  • tests for a target system with 10 kHz

As the expected values of the tests depend on the timer frequency of the target system, these tests might fail, if the target system uses a different timer frequency than 1 kHz or 10 kHz.
Additional information: See " Properties and restrictions specific to the target system ", if you need general infomation how the used target system influence the usage of the IDE. In particular, the section about duration and time literals are of relevance for the timer frequency.
Workaround: Copy the existing tests and adapt the expected values in the copies to the values that the target system can represent. Also see the file Readme.md that is included in subfolder Time of the folder tests_compilerqualification.

108037

Test framework

An exception occurs during the SiL/PiL test for a library block.
Scenario for problem: If you execute a SiL/PiL test for a library block, this test is executed but an exceptions occurs. In this case, the error log displays the following message: java.lang.NullPointerException: Cannot invoke "String.indexOf(int)" because "fullPath" is null
Additional information: A test suite for a library block can be created by using the context menu command New.., Other... and Block Test Suite in the category for the test framework.
Workaround: none existing

108088

List of the declared variables

The initial value of declared variables might not be changed.
Scenario for problem: If a reference variable is declared or a variable is declared based on a function block, it is not possible to enter or change the initial value for this variable by clicking on the Initial value field in the list of the declared variables. It is also not possible to enter or change the initial value by using the command Edit Initial Value or Ctrl+I.
Workaround: Open the dialog to change the name, data type and initial value of the declared variable (e.g. by double-clicking on the list of the declared variables) and enter or change the initial value in this dialog.

108128

Test framework

Specific notations for duration literals, date and time literals and time of day literals are not supported when defining intial values for outputs in the test case.
Scenario for problem: When defining an initial value for outputs in the test case, it is not possible to use the following notations:

  • T# – example for such an initial value: T#14ms

  • DATE# – example for such an initial value: DATE#1984-06-25

  • TIME_OF_DAY# – example for such an initial value: TIME_OF_DAY#15:36:55.36

If you use this notations, the tests will be failing because the intial values are not considered as expected.

Workaround: Use this notation to define the initial value in the test case:

  • TIME# – example for such an initial value: TIME#14ms

  • D# – example for such an initial value: D#1984-06-25

  • TOD# – example for such an initial value: TOD#15:36:55.36

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg If your problem is not listed in this list, check these sections: Troubleshooting and FAQ

Addendum: Known issues after the release of logi.CAD 3 version 3.23.2

This section was last updated on: 2024-03-29

For issues discovered after the release of logi.CAD 3 version 3.23.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.23.2.

Issues that have been reported after the successor version has been released are listed below. This list is updated at regular intervals (see the date after the section heading). If you need more up-to-date information, please contact logi.cals .

ID

Known problem

108609

The IDE documentation contains wrong information: The lower and upper limit is not correctly specified for the data type BOOL.
Scenario for problem: The article " Supported data types (in ST) " in the IDE documentation specifies the supported data types, their initial values, lower limits and upper limits. The lower limit and the upper limit for the data type BOOL is not correctly specified in the IDE documentation. Observe that the German and the English language of the IDE documentation contain wrong information.
The following text on the lower limit and upper limit is the correct information for the data type BOOL:

Default initial value (I): 0 or FALSE
Lower limit (L): as default initial value (I)
Upper limit (U): 1 or TRUE

Workaround: none existing

108513

When using ST data types with the SIZE/OFFSET pragma, mapping variables to IEC hardware addresses might produce wrong copy sizes and bit offsets.
Scenario for problem 1: In the ST-editor, when you use a directly derived data type with the optional attribute “SIZE” for the bit size for an array variable, the result for the copy sizes and bit offsets is not as expected.
Scenario for problem 2: When you declare a structured data type in the ST-editor and you specify the optional attribute “OFFSET”, the pragma is ignored by the size calculation and may lead to a calculation of a wrong copy size.
Workaround: Do not use the “SIZE” and “OFFSET” attributes.

Checksum for components of logi.CAD 3 version 3.23.2

This section is being completed for logi.CAD 3 version 3.23.2.

Component

Version

Checksum

Description

logi.CAD 3 IDE

version 3.23.2

9a3ea1a7a09d668a36418f1bcfd24945

checksum of configuration\com.logicals\application.md5 (in relation to the installation folder of logi.CAD 3)

system library Standard

version 3.6.0

639b002d2100561b900f7d214cc1cc7a

checksum of index.md5, contained in plugins\com.logicals.library.lc3lib_3.23.1\libautoinstall\com.logicals.lc3.library.standard__3.6.0.ZIP (in relation to the installation folder of logi.CAD 3)

system library PLCopen Safety

Version 1.1.0

dabd82afac3968502b61f3d8c628b10b

checksum of index.md5, contained in libraries\autoinstall\com.logicals.lc3.library.safety.plcopen__1.1.0.ZIP (in relation to the installation folder of logi.CAD 3)