Functions blocks with VAR_IN_OUT from version < 3.1.0 prevent the building of the application

Symptom: An application cannot be built and loaded onto the PLC. Instead, compiler errors are occurring.

Cause: You are using function blocks with in-out variables (= VAR_IN_OUT) that have been created in a logi.CAD 3 version < 3.1.0.
Additional information: The C-code required for →in-out variables within a function block has changed in logi.CAD 3 version 3.1.0.

Solution:

  • If the function blocks are your custom ST/FBD function blocks in a project, perform the following steps:

    1. Clean the project so that the required C-code is automatically generated based on the ST-/FBD-objects.

    2. Build the application.

    3. Load the application onto the PLC.

  • If the function blocks are ST/FBD function blocks provided within a →library, contact the manufacturer of this library. Ask the manufacturer to install/start the current logi.CAD 3 version, to clean the project containing the library elements and then to create and deploy a new version of the library.
    As additional information on this problem: The function block has been specified by DEPLOY := OBJECT within the →library configuration. Due to this specification, the binary code for the function block is already required when the library is created. When creating the new version of the library, logi.CAD 3 uses the binary code that has automatically been generated when the project has been cleaned.

  • If the function blocks are vendor function blocks (see →vendor block ), contact the manufacturer of the vendor function block. Ask him/her to correct the H-file and the C-file for these vendor function blocks. The documentation "Administrator's Manual" contains information on what kind of corrections must be made within these files.
    images/jira.ow.ks_8080/images/icons/emoticons/information.png If the function blocks are vendor blocks provided within a library, the manufacturer must create and deploy a new version of the library as well.

Take care that there is only a restricted downwards compatibility after the above steps.
This means: The changed C-code for VAR_IN_OUT is valid starting with logi.CAD 3 version 3.1.0. After the C-code has been created/adapted and you import the project in within a logi.CAD 3 version < 3.1.0, compile errors will occur if building and loading the application onto the PLC when using this previous logi.CAD 3 version. In such a case, perform the same steps as described above in the logi.CAD 3 version < 3.1.0. If the affected blocks are provided within a library, the best practice is to install the previous version of this library that contains the previous C-code.

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg logi.cals recommends to install and use the most current versions of logi.CAD 3 and the runtime system so that the latest features and problem fixes according to the release notes are provided in the used version.


Did this article help you? Did you find the requested information in this user documentation?
If not, contact the support team of logi.cals. State your questions or suggestions to improve/enhance the user documentation as detailed as possible.