Для защиты проекта:
1. В свойствах модуля CPU в группе параметров Configuration, поставить галочку на параметре Memory protect с указанием адреса входного сигнала, что позволит открывать или закрывать доступ к памяти контроллера с помощью только Вам известного внешнего бинарного сигнала ( и тем самым запрещать или разрешать загрузку проекта в PLC и модификацию его в online режиме).
2.В системных словах %SW94 и %SW95 храниться код последней модификации проекта. Если программно сравнивать этот код с "эталонным" кодом последнего корректного изменения, то по несоответствию их можно предпринимать какие-либо действия в самой программе или из SCADA системы.
3. Для M340 в системных словах %SW146 и %SW147 храниться уникальный код SD карточки вставленной в CPU.
Если при запуске цикла проверять этот код с таким же кодом, сохраненным в проекте, то можно защититься и от подмены SD карточки. При отсутствии какой либо карточки %SW146 и %SW147 равны нулю.
Разумеется, что при этом все секции программы должны быть защищены как "No read write". (устанавливается в настройках каждой программной секции).
Для того, чтобы установки начали действовать, в свойствах проекта Project Properties в закладке Protection необходимо установить главный пароль на защиту программных секций.