если бы в прошивке контроллера была корректная реализация библиотеки SysTarget - тогда защита организовывается проще паренной репы. Там есть функции SysTargetGetProcessorId и SysTargetGetSerialNumber. На эмуляторе у меня все работает, а на реальном ПЛК304 - нет, грусть-пичалька.