Skip to main content

Object: Project Information

Symbol: _cds_icon_project_information.png

Function: The object contains the properties, meta-information, and project information. With this, you can check the authorship and integrity of the project.

. Call
  • Double-click the object in the device tree

  • Project → Project Information menu

Requirement: CODESYS creates the object when you click Project → Project Information, and the dialog opens.

CODESYS saves the project information directly in the project. For example, when you transfer a project to another system, the Project Information object is also transferred. You do not need a project archive.

For more information, see: Retrieving and Editing Project Information

Tab: File

The tab displays the properties of the project file and their attributes. You cannot edit these attributes. They correspond to the file properties of Windows Explorer.

Tab: Summary

The tab contains the general information and meta-information of the project file. CODESYS uses this information to create keys on the Properties tab. For example, if the name Company_A is specified in Company, then the Company key with the value Company_A is provided on the Properties tab.

Important

If you save your project as a library project, then you should pay attention to the guidelines for library developers.

For a library project, a Company, a Title, and a Version must be specified to install the library.

Company

Name of the company (example: Company_A)

Title

Title of the project (example Automation_A)

Version

Version of the project (example: 0.0.0.1)

Released

standard icon: Activates protection from modification

Result: If you edit the project now, then a dialog prompt opens to confirm whether you really want to change the project. If you reply to this prompt one time by clicking Yes, then no additional prompts appear for more editing actions.

Library Categories

Categories of the library project, according to which you can sort in the Library Repository dialog

If no category is specified, then the category Other is assigned to the library.

The categories originate from one or more external description files in XML format. However, they can also originate from a library project that has already been created.

Requirement: The project is a library project.

_cds_icon_three_dots.png: The Library Categories dialog opens where you can add library categories.

For more information about creating library categories, see: Library Categories

Default namespace

Requirement: The project is a library project.

If you do not define a default namespace here, then the name of the library file is applied automatically as the namespace.

Placeholder

Requirement: The project is a library project.

Placeholder name used for the reference to this library

Example: SysMem

References which function via placeholders are displayed according to the syntax #<placeholder name>.

Important: The name of a placeholder can no longer be changed. Therefore, it is highly recommended to choose a name in which the probability is low that someone else will choose it exactly the same.

Hint: You can integrate referenced libraries via library placeholders. This way you avoid the problems that could occur due to version dependencies or the necessity to use vendor-specific libraries.

Author

Author of the project (example: Arnold Best)

Description

Example: For internal use only

Table 63. Dialog: Library Categories

List of categories

List of the categories that are assigned to the library project

They can originate from several sources.

After you specify all desired categories, click OK to confirm.

Button Add

The From Description File and From Other Library commands appear.

Button Remove

CODESYS removes the selected category.

Command: From Description File

The Select Description File dialog opens for you select a description file (*.libcat.xml). The file contains command categories. When you click Open, CODESYS accepts the categories.

Command: From Other Library

The Select Library dialog opens, where you select a library with command categories to be accepted. When you click Open, CODESYS accepts the categories.

Button: OK

CODESYS provides the categories as project information and displays it in the Library Categories field.



Tab: Properties

On this tab, you can define keys that you can control externally from user-specific programs.

Important

If you have opened a library project, then note the description of the relevant keys in the guidelines for library developers: "Library Development Summary".

If you have opened a symbol library as a project, then the key VisuSymbolLibrary = TRUE have to be defined. It identifies the library as a symbol library.

Key

Name of the key

Specify any string of text for the new key, or select an existing key from the Properties table.

Type

Data type of the key

Possible types: Text, Date, Number, Boolean, Version

Value

Value of the key in permitted format:

  • Text: Any string

  • Date:Minimum entry for the date: 1.1

    Example: Friday, January 1, 2016 00:00:00

  • Number: Integer in Integer32 format with or without a sign

    Example: -32500

  • Boolean: True or False, capitalization irrelevant

  • Version: Maximum of four figures

    Examples: 1.1, 1.0.1.0

Add

Adds the new defined key to the Properties table

Edit

Saves the change made for the key selected in the Properties table

Remove

Removes the key selected in the Properties table

Properties

List of the properties that are defined as keys

CODESYS creates keys automatically for the information in the Summary tab.

Click a key to edit it in the input fields above the list.

Tab: Statistics

The dialog provides statistical information about the number of objects of the individual type or use in the project.

Tab: Licensing

The dialog is for the license protection of libraries.

Caution

You can protect only "compiled libraries" in this way.

Table 64. Variables

Activate dongle licensing

standard icon: The library requires a dongle with a license to use it.

Firm code

License information that must be supplied from the dongle for using the library later

Product code

Activation URL

Activation mail



Tab: Signing

This tab is displayed only for existing libraries whose signing has been created with this tab. This tab is no longer visible for newly generated libraries.

For more information, see: Retrieving and Editing Project Information

When a certificate-signed library is created (possible as of CODESYSV33.5 SP15) and library compatibility with CODESYS < V33.5 SP15 is not set, the settings on this tab are disabled. In this case, the signing is done by means of a certificate that has to be assigned to the user profile in the Security Screen.

One method, which is not recommended but may be necessary in some case for compatibility with versions < 3.5 SP15 , is the less secure signing of a library by means of a vendor-specific, one-time key in this dialog. Requirement: This key is available as a "private key" file (*.libpk) with an associated token. The user of the library also has to obtain this key in order to be able to check whether the last signing was actually performed by the library vendor.

Activate signing

standard icon: CODESYS signs the library project with a single-use, vendor-specific key.

Private key file

Location of the private key file *.libpk (example: D:\for lib developers only\mycomp_libkey.libpk).

Public key token

Example: 427A5701DA3CF3CF

Requirement: A private key file is specified, and CODESYS has read and entered the token.

Create Private Key File

CODESYS creates a new private key file.

Options for creating blocks for accessing project information

Automatically generate 'Project Information' POUs

Note: The functions that are created with this option can be used only if the runtime supports the WSTRING data type. If this is not the case, then you can use the functions that were created automatically for the with the individual items of the project information, at least in the application for accessing properties. These functions are not registered in the runtime.

standard icon: CODESYS creates POUs of the FUNCTION type in the POUs view, allowing programmatic access to the project properties in the application. The function blocks GetCompany, GetTitle and GetVersion are created for the properties Company, Title and Version.

The following function blocks are available for user-defined properties:

  • GetBooleanProperty: BOOL (TRUE/FALSE)

  • GetNumberProperty: DINT (numeric value)

  • GetTextProperty: WSTRING (string)

  • GetTextProperty2: POINTER TO WSTRING (unlimited length)

  • GetVersionProperty: VERSION (version number as string)

Note: Do not activate this option for standard libraries, because this can cause problems on smaller systems due to the additional memory requirements.

Note: If a library also contains this project information POU, then you should use the operator __POOL to make sure that this POU is accessed.

Automatically generate 'Library Information' POUs

standard icon: CODESYS creates POUs of the FUNCTION type in the POUs view, allowing programmatic access to the project properties in the application.

For the Version and Released properties, the following functions are created: GetLibVersion (version number as string), GetLibVersionNumber (version number as numeric value), and IsLibReleased (TRUE/FALSE).

Note: These functions are not registered in the runtime. The option is available as an fallback solution is the runtime does not support the WSTRING data type, therefore not permitting you to use the functions created with the Automatically generate 'Project Information' POUs option.

Enforce project compatibility to

standard icon: When you save a library with the Save Project as command, the selected format is saved. When the Save Project as command is executed again, the saved selection is then selected by default.

If you have activated this option and add an object which requires a newer storage format, then a dialog opens. In the dialog, you need to explicitly confirm or cancel the update.

  • If you click Yes, then all changes in the project are saved without data loss. However, in the future the project can no longer be opened with the originally set storage format. The new format is defined as the new enforced storage format.

  • If you click No, then the project remains compatible with the set storage format, but not all changes may be saved.

Tip

The Enforce project compatibility to option is useful for the development of compatible libraries. At the same time, this makes it possible to use the latest version of the programming system.

. Effects if this option is activated:
  • The request to update the storage format is suppressed.

  • Newer features which need to be saved in the project cannot be used. For the strict development of libraries, which only contain textual objects (such as POUs, DUTs, and interfaces), this is not a constraint.

  • The compiler version can be freely selected, but patch versions cannot be selected.

  • If the latest compiler version is currently selected, then an older compiler version can be selected.