Creating and configuring projectsPermalink

What is a project?

  • A project contains the objects which are necessary to create a controller program ("application"):

    • Pure POUs, for example programs, function blocks, functions, and GVLs.

    • Objects that are also required to be able to run the application on a PLC. For example, task configuration, Library Manager, symbol configuration, device configuration, visualizations, and external files.

  • In a project, you can program multiple applications and connect multiple controller devices.

  • CODESYS manages device-specific and application-specific POUs in the “Devices” view ("device tree") and project-wide POUs in the “POUs” view.

  • For the creation of projects, there are templates that already contain certain objects.

  • Basic configurations and information for the project are defined in the “Project Settings” and “Project Information”. For example:

    • Compiler settings

    • User management

    • Author

    • Data about the project file

    There are settings for the version compatibility of the project in the configuration dialogs in the “Project Environment”.

  • You save a project as a file in the file system. As an option, you can pack it together with project-relevant files and information into a project archive. It is also possible to save files in a source code management system such as SVN.

  • Each project contains the information about the CODESYS version with which it was created. When you open it in another version, CODESYS will notify you about possible or necessary updates regarding file format, library versions, etc.

  • You can compare, import/export projects, and create documentation for them.

  • You can protect a project from being changed, or even completely protect it from being read. By using user management, you can selectively control the access to the project and even to individual objects in the project.

Auto generated files

During creation, saving or exporting, files may be generated. Their extensions are listed below for better understanding. Some files are also generated when logging in to the PLC for the first time and when the boot application is created. The list does not claim to be complete.

File extension

Description

*.opt

Project specific options.

*.bootinfo

Generated during boot project creation.

When creating a boot project the bootinfo is created. Checksums are stored separately for faster verification.

*.bootinfo_guids

Contains the CRC of the bootinfo.

*.crc

Checksum of the boot application.

*.compileinfo

Generated when downloading the project.

Used to verify that the controller and project match. If mismatches occur, bootinfo_guids are checked and reloaded if necessary.

*.xml

Contains the symbols exported via symbolconfig symbolfile.

*.precompilecache

The precompile cache is only relevant when loading the project. This is faster if the cache is available.

*.app

Application file. A boot application is executed automatically when the controller starts. The application must exist as a file on the controller.