You can protect a project against unintentional changes by means of access and write protection. You can also provide it with read protection (knowledge protection).
Write protection:
The following options are available for providing the entire project with simple write protection:
-
Select the “Open Read-Only” option when opening the project.
-
You set the “Released” status in the “Project Information”.
-
You select the "read-only" option in the properties of the project file in the local file system.
In order to protect only certain objects in a project against changes, or to allow access only to certain users, you can use a user and access rights management (see below). Some target devices similarly support user and rights management. The access of CODESYS to objects and files of the target device can thus be restricted.
However, write protection and access protection do not serve as protection of expertise of the POUs. Both CODESYS itself, automation platform plug-ins and persons with knowledge of the project file format can view or modify POUs created with CODESYS.
Knowledge protection:
Knowledge protection of a project is done by encrypting the project file. Either with a project password, the CODESYS Security Key (dongle), or a certificate. We recommend protection by means of the key or the certificate because in this case no secret needs to be shared between authorized users. The desired type of project encryption is enabled in the project settings.
You can attain knowledge protection of a library by providing it as a target-system-independent
"protected library" (*.compiled-library
, *.compiled-library-v3
). The library file no longer contains source code in this format, but only encrypted
precompile context. The compiler is still able to interpret these data. Whether access
by other CODESYS components or additional plug-ins is possible depends on their functionality and
is to be observed in individual cases. Signing can increase protection even more.
Knowledge protection and copy protection of a boot application can be done by means of a runtime dongle (simple or licensed) or encryption with a certificate. One of these options is enabled in the object properties of the application.