Вопрос: в контроллер загружен проект и создано загрузочное приложение. Как защитить его от копирования? (при условии, что исходники проекты никому не передаются)
Комментарий: приведенная ниже информация актуальна для контроллеров, программируемых в CODESYS V3.5 SP11 Patch 5 или выше.
Обратите внимание, что проект загружается в контроллер в скомпилированном виде - таким образом, "вытащить" из него исходные коды невозможно.
Исходники проекта могут находиться в контроллере исключительно в том случае, если они были загружены владельцем исходников в CODESYS с помощью команды Файл - Загрузка исходного кода.
Ответ: для гарантированной защиты проекта от копирования рекомендуется выполнить все перечисленные ниже пункты:
1. В конфигураторе установить пароль на вход в конфигуратор, отличающийся от стандартного (owen).
2. Установить пароль на доступ к контроллеру из среды CODESYS (см. видео) - чтобы нельзя было воспользоваться функцией Backup&Restore или скачать файлы проекта через Device - Файлы.
Альтернативный вариант - использовать ФБ PlcOperationControl из библиотеки Component Manager: он позволяет из кода программы запретить выполнение заданных действий (например, выгрузку файлов).
См. видео и описание:
https://help.codesys.com/webapp/_cds...rsion=3.5.10.0
PlcControl.png
3. Использовать в программе привязку к серийному номеру конкретного контроллера (в дереве проекта узел Info - папка Информация об устройстве - канал SERIAL) - и, например, при несовпадении заданного и считанного номеров не выполнять никаких действий. Привязка к серийному номеру делает бессмысленным копирование файлов проекта, даже если пароли, установленные в п. 1 и 2, были скомпрометированы.