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
When creating, saving or exporting, files may be created and their extensions are briefly listed here for better understanding. Some of the files are generated when you login for the first time to the PLC and the boot application is created. The list does not claim to be complete.
File extension |
Description |
---|---|
*.opt |
Project specific options. |
*.bootinfo |
Will be created during boot project creation. When creating a boot project the bootinfo is created. So that this must not be read in completely to find out whether the information is relevant, the checksums are created in a separate file. |
*.bootinfo_guids |
Contains the CRC of the bootinfo. |
*.crc |
Checksum of the boot application. |
*.compileinfo |
Will be created when downloading the project. The compileinfo is loaded when opening the project, when logging in it is checked if it matches the project on the controller, if not the bootinfo-Guids are checked and if they match then the bootinfo is loaded. |
*.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 the application that is started automatically when the controller is switched on or started. For this to happen, the application on the controller must exist as a file. |