Доброго времени суток! Наверно тема поднималась не раз.
Хочу с вами поделиться мыслями.
Например поставлена задача для ПЛК 100.
Будет в цехе работать 50 шт. ПЛК 100 с одинаковой задачей.
Как заказчику передать готовый щит с ПЛК 100 и залитой в него программой, и быть уверенным, что его пряморукие программеры не зальют в остальные 49 шт. ПЛК 100 эту прошивку?
А заказчику надо "посмотреть", как будет работать установка.
Я давно придерживаюсь принципа: Программу, программно, не защитишь.
И, например мы, используем физический ключ. Программу нужно и можно защищать только аппараткой.

В RS232 ПЛК 100 устанавливаем заранее собранный типа "HASP" ключ.
Собран он на ATmega8 например. И он обменивается данными с ПЛК 100.
Для разгрузки СОМ порта контроллера, можно использовать АС3м, чтоб перевести ключ на RS485. И придать ему адрес. В программе контроллера прописывается периодическое обращение к ключу. Если его нет, программа останавливается.

При продаже следующих 49 шт. ПЛК 100, программа в контроллере меняется и он работает без ключа.

Такой "HASP" ключ легко изготовить самому.
Спасибо за внимание.