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