在项目具体实施的过程中,我们应该从软件开发技巧的角度来考虑PLC控制程序的保护:
1. 编程方式的采用
a) 采用模块化的程序结构,采用符号名,参数化来编写子程序块
b) S7-300/400尽量采用背景数据块和多重背景的数据传递方式
c) 多采用间接寻址的编程方式
d) 复杂系统的控制程序尤其是一些带有顺序控制或配方控制的程序,可以考虑采用数据编程的方式,即通过数据的变化来改变系统的控制逻辑或控制顺序。
用户应该尽量采用以上几种层次的编程方式,这样编出来的程序中嵌入系统的保护加密程序,才不容易被发现和破解
2. 主动保护方法
a) 利用系统的时钟
b) 利用程序卡或者CPU的ID号和序列号
c) 利用EEPROM的反写入功能,及一些需要设置的内存保持功能
d) 利用系统提供的累时器功能
e) 在用户程序的数据块中设置密码
f) 软件上设置逻辑陷阱
g) 可以反向利用自己在编程时犯的错误
3. 被动保护方法
a) 在内存容量利用许可的条件下,不要删除被认为是无用的程序
b) 在数据块里留下开发者的标识,以便于将来遭到侵权时可以取证
4. 应用反破解技术的注意事项
a) 在用户程序中嵌入保护程序要显得自然一些,不能很突兀的加出一段程序来,代码要尽量精简,变量符号名应与被嵌入程序段的变量保持一致
b) 往往一种保护加密手段是不够的,应该多种方法并用,并且这些保护程序一旦激活后对系统造成的后果也应该尽量不同,造成所谓的“地雷效应”,从而增加程序被破解的难度,时间与成本,短时间内让抄袭者束手无策,
c) 保护好程序的原代码,如果需要交付程序的,在不影响用户对设备维护的前提下,应对交付的程序做适当的技术处理,如删除部分符号名,采用上载的程序或数据块
d) 做好严格的测试,以避免保护程序的不完善引起的误动作而带来的不必要的麻烦,同时也能降低售后服务的的费用
运用保护手段的原则
我们虽然掌握了一些加密保护的手段,有一点必须明白,密码和锁的道理是一样的,天下没有打不开的锁,也没有解不开的密码,我们从技术上采取的措施来防止侵权的作用还是十分有限的,因此大家不能把所有的希望都寄托在所谓的加密技术或破解与反破解技术上;除此之外我们还可以通过专利的申请等其他诸如法律手段来保护我们的知识产权;但重要的是我们不能安于现状,而是要勇于创新,不断地利用新技术开发新产品,占领技术新高地,争做行业的领头人,才能使我们的企业立于不败之地。
加密保护技术本身也是一把双刃剑,用好了客户满意,自己的权益又悄悄的得到了保护,用不好不仅不起作用,给售后服务带来许多麻烦,还会得罪客户;好人掌握这种技术是用来保护自己不被侵权,而用心不良的人会利用它去要挟客户。因此本文也于讨论了关于PLC程序加密保护的一些原则性指导性的内容,而没有公布具体的程序代码指令,请读者们谅解。
- 西门子V90电机1FL6064-1AC61-2LA1 2023-10-26
- 西门子V90电机1FL6064-1AC61-2AB1 2023-10-26
- 西门子V90电机1FL6064-1AC61-2AA1 2023-10-26
- 西门子V90电机1FL6062-1AC61-2LB1 2023-10-26
- 西门子V90电机1FL6062-1AC61-2LA1 2023-10-26
- 西门子V90电机1FL6062-1AC61-2AB1 2023-10-26
- 西门子V90电机1FL6062-1AC61-2AA1 2023-10-26
- 西门子V90电机1FL6061-1AC61-2LB1 2023-10-26
- 西门子V90电机1FL6061-1AC61-2LA1 2023-10-26
- 西门子V90电机1FL6061-1AC61-2AB1 2023-10-26