西门子安全PLC作为西门子主打安全功用的一款产品,它的性能毋庸置疑,并且安全PLC的程序块加密后无法破解;能够很好得保护中心。而博途PLC作为西门子的***新产品,其版权保护也是它的主要功用之一,KNOWHOW功用是软硬件两层加密,不加密的块能够正常监控,没有密码的话甚至无法下载到其他PLC;因而运用博途的KNOWHOW功用既能够将程序交给甲方方便保护,又能够保护自己的中心程序不被盗取。
Part.2选用高档言语编写部分重要的工艺程序
西门子除了***基础的LAD梯形图编程,FBD功用块编程和STL语句表编程还有许多其他的办法,比如说PCS7的CFC,SFC; 除此之外还有SCL,S7-GRAPH等等。关于这些言语,一般的工控人员很难悉数通晓,因而拷贝难度大大提升,因而非常要害的工艺程序能够由这些言语编写,也能够很好得保护自己的中心。
(1)编程办法的选用
a)选用模块化的程序结构,选用符号名,参数化来编写子程序块;
b)尽量选用布景数据块和多重布景的数据传递办法;
c)多选用直接寻址的编程办法;
d)复杂体系的操控程序尤其是一些带有顺序操控或配方操控的程序,能够考虑选用数据编程的办法,即经过数据的改变来改变体系的操控逻辑或操控顺序。
用户应该尽量选用以上几种高档层次的编程办法,这样编出来的程序中嵌入体系的保护加密程序,才不简略被发现而拷贝。
(2)主动保护办法
a)运用体系的时钟;
b)运用程序卡或许CPU的ID号和序列号;
c)运用EEPROM的反写入功用,及一些需求设置的内存保持功用;
d)运用体系提供的累时器功用;
e)在用户程序的数据块中设置密码;
f)软件上设置逻辑圈套;
g)能够反向运用自己在编程时犯的过错。
(3)被动保护办法
a)在内存容量运用答应的条件下,不要删除被认为是无用的程序;
b)在数据块里留下开发者的标识,以便于将来遭到侵权时能够取证。
(4)运用反盗取技能的注意事项
a)在用户程序中嵌入保护程序要显得自然一些,不能很突兀的加出一段程序来,代码要尽量精简,变量符号名应与被嵌入程序段的变量保持一致;
b)往往一种保护加密手法是不够的,应该多种办法并用,并且这些保护程序一旦激活后对体系形成的后果也应该尽量不同,形成所谓的“地雷效应”,从而增加程序被盗取的难度,时刻与成本,短时刻内让抄袭者束手无策;
c)保护好程序的原代码,假如需求交给程序的,在不影响用户对设备保护的前提下,应对交给的程序做适当的技能处理,如删除部分符号名,选用上载的程序或数据块;
d)做好严厉的测试,以防止保护程序的不完善引起的误动作而带来的不必要的费事,同时也能降低售后服务的的费用。
Part.3运用通讯功用
在实践运用中,往往会遇到一些体系间需求数据交换的问题(多个PLC之间,PLC与第三方外表之间),无论是西门子产品之间还是西门子产品与第三方产品之间,主张运用通讯的计划来替代模拟量或开关量之间的信号互连的计划。关于前者,拷贝者只能看见一条硬件的通讯线,至于有多少数据是如何经过通讯交换的,拷贝者必须要花精力研究具体的用户程序才能搞清楚;而关于后者,开发者是省心省力了,拷贝者也是一望而知,尽收眼底。
关于一些变频器或许伺服电机等的程序设计,一般有多种办法,能够线路直接操控还能够通讯操控,那么运用通讯的办法的话会使得程序增加了拷贝的难度,比如说PLC关于伺服驱动器的操控有多种,简略一些的能够是脉冲直接操控或许模拟量操控,这种办法就简略拷贝,假如换成通讯操控,则会使得程序复杂许多,加上拷贝者假如对报文不熟悉,很难去拷贝。
有时候操控体系会由多个子操控体系构成,由此形成多CPU加人机界面的网络,西门子S7-200产品常见的是PPI网络,S7-300400产品常见的是MPI网络,通常是人机界面与CPU之间的数据交换,而我们也可在CPU的用户程序中增加一些无需组态的S7基本通讯功用(S7-200可用NETRNETW指令,S7-300400能够用X_PUTX_GET指令),守时或不守时地在CPU之间进行少数数据交换,经过这些数据完成子体系操控逻辑的互锁。关于这样的体系,拷贝者要剖析某一子体系的程序也不是件非常简略事情。
Part.4选用面板类型的人机界面
尽量在自动化体系中运用面板类型的人机界面来替代单一的按钮指示灯,许多人机界面没有源程序的话只有备份和康复功用,彻底能够完成保护功用还保密了HMI这一层的程序,而关于一个PLC体系而言,即使具有了源程序但是缺失了HMI部分的符号也是很难拷贝的。
并且开发者能够在面板的画面上加上显着的厂家标识和联系办法等信息,拷贝者就不能原样照抄。
假如就使得假如拷贝者想要复制程序的话,就必须从头编写操作面板的程序甚至于PLC的程序,而开发者则可运用面板和PLC数据接口的一些特别功用区(如西门子面板的区域指针,或VB脚本)来操控PLC的程序执行。这样的PLC程序在没有HMI源程序的情况下只能靠猜想和在线监督来获取PLC内部变量的改变逻辑,费时吃力,极大的增加了拷贝抄袭的难度。
Part.5选用非标准的人机界面
德国工程师都乐意运用这种办法。
在中国,大多数工程师都乐意运用WINCC,INTOUCH或许组态王等等,但其实除了这些软件,还有一种更加巨大上的编写办法,那就是运用VB自己写程序,而关于软件与PLC的接口,大家能够选择LIBNODAVE或许其他库等,这种办法写出来的人机界面有着许多好处,首先没有版权问题,因为VB软件是免费的,并且关于WINDOW体系的升级来说只需求简略的增加几个文件即可完成,不像WINCC那样,假如window升级了,需求很多修正文件。一般人都无法修正,更别提拷贝了;没有很好的计算机编程功底的话就不敢容易修正,而仅仅有计算机功底又没有PLC或许工艺基础的话也是无法更改的。作者曾经运用S7-300做过这么一套体系,但我的意图不是保密,而是甲方要求,做出来的体系彻底按照自己的风格,很是舒服。