这样做,PLC设计者就可以将程序放心交给甲方
大家都知道,很多品牌PLC的程序都可以通过软件解密,那么一旦解密后程序就非常透明的显示在了别人的眼中,而将设备卖给别人又将PLC程序整个锁死的话又不切实际,甲方会无法维护;而保密和维权更是中国市场经久不衰的话题,其实德国的工程师从来不会给自己的程序整体加密,而是使用其他方式,既不影响发生故障时的诊断,又可以保护自己的核心机密。今天给大家介绍一下这些方式,供大家参考。
西门子安全PLC作为西门子主打安全功能的一款产品,它的性能毋庸置疑,而且安全PLC的程序块加密后无法破解;可以很好的保护核心。而博途PLC作为西门子的最新产品,其版权保护也是它的主要功能之一,KNOWHOW功能是软硬件双重加密,不加密的块可以正常监控,没有密码的话甚至无法下载到其他PLC;因此使用博途的KNOWHOW功能既可以将程序交给甲方方便维护,又可以保护自己的核心程序不被窃取。
二、采用高级语言编写部分重要的工艺程序
西门子除了最基础的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)做好严格的测试,以避免保护程序的不完善引起的误动作而带来的不必要的麻烦,同时也能降低售后服务的的费用。
三、使用通讯功能
在实际应用中,往往会遇到一些系统间需要数据交换的问题(多个PLC之间,PLC与第三方仪表之间),无论是西门子产品之间还是西门子产品与第三方产品之间,建议使用通讯的方案来代替模拟量或开关量之间的信号互连的方案。对于前者,仿制者只能看见一条硬件的通讯线,至于有多少数据是如何通过通讯交换的,仿制者必须要花精力研究具体的用户程序才能搞清楚;而对于后者,开发者是省心省力了,仿制者也是一目了然,尽收眼底。
对于一些变频器或者伺服电机等的程序设计,一般有多种方式,可以线路直接控制还可以通讯控制,那么使用通讯的方式的话会使得程序增加了仿制的难度,比如说PLC对于伺服驱动器的控制有多种,简单一些的可以是脉冲直接控制或者模拟量控制,这种方式就容易仿制,如果换成通讯控制,则会使得程序复杂很多,加上仿制者如果对报文不熟悉,很难去仿制。
有时候控制系统会由多个子控制系统构成,由此形成多CPU加人机界面的网络,西门子S7-200产品常见的是PPI网络,S7-300400产品常见的是MPI网络,通常是人机界面与CPU之间的数据交换,而我们也可在CPU的用户程序中添加一些无须组态的S7基本通讯功能(S7-200可用NETRNETW指令,S7-300400可以用X_PUTX_GET指令),定时或不定时地在CPU之间进行少量数据交换,通过这些数据实现子系统控制逻辑的互锁。对于这样的系统,仿制者要分析某一子系统的程序也不是件十分容易事情。
四、采用面板类型的人机界面
尽量在自动化系统中使用面板类型的人机界面来代替单一的按钮指示灯,很多人机界面没有源程序的话只有备份和恢复功能,完全可以实现维护功能还保密了HMI这一层的程序,而对于一个PLC系统而言,即使拥有了源程序但是缺失了HMI部分的标记也是很难仿制的。
而且开发者可以在面板的画面上加上明显的厂家标识和联系方式等信息,仿制者就不能原样照抄。
如果就使得如果仿制者想要复制程序的话,就必须重新编写操作面板的程序甚至于PLC的程序,而开发者则可利用面板和PLC数据接口的一些特殊功能区(如西门子面板的区域指针,或VB脚本)来控制PLC的程序执行。这样的PLC程序在没有HMI源程序的情况下只能靠猜测和在线监视来获取PLC内部变量的变化逻辑,费时费力,极大的增加了仿制抄袭的难度。
五、采用非标准的人机界面
德国工程师都愿意使用这种方式。
在中国,大多数工程师都愿意使用WINCC,INTOUCH或者组态王等等,但其实除了这些软件,还有一种更加高大上的编写方式,那就是利用VB自己写程序,而对于软件与PLC的接口,大家可以选择LIBNODAVE或者其他库等,这种方式写出来的人机界面有着很多好处,首先没有版权问题,因为VB软件是免费的,而且对于WINDOW系统的升级来说只需要简单的添加几个文件即可实现,不像WINCC那样,如果window升级了,需要大量修改文件。一般人都无法修改,更别提仿制了;没有很好的计算机编程功底的话就不敢轻易修改,而仅仅有计算机功底又没有PLC或者工艺基础的话也是无法更改的。我曾经利用S7-300做过这么一套系统,但我的目的不是保密,而是甲方要求,坐出来的系统完全按照自己的风格,很是舒服。
最好,告诫大家一下,不要过分消费中国工业市场的诚信,合理的利用PLC技术达到保护核心机密,而不是过分利用它达到其他目的。中国工业市场的诚信问题需要所有人的努力才有机会改善。
想找一份PLC的相关工作,该向哪些方向去寻找?
回答个关于找工作的问题,跟下面这位朋友一样有疑问的人,可能很多。
以下所有内容,仅仅是我的认识,不一定对,写出来仅供大家参考。
先说一下与PLC相关工作的有哪些,大致分为以下几类:
1、工厂里的维护人员
PLC应用非常广泛,几乎工厂都会用到。这些工厂里的PLC自然也需要维护,所以工厂电工、维修人员就能接触到PLC。
工厂里对电工、维护人员技术要求比较低,找这类工作也比较相对容易,用不着你特意准备什么,招聘网站投简历就行。
门槛低工资就不会高,正常情况下就是城市的平均工资。
除了工资低之外,最大的弊端是,以后不会有太好的发展,好点的出路也就是部门主任、科长之类的职位。
所以刚大学毕业去工厂两年,熟悉一下电气设备,长长见识,多了解设备那些地方容易出现故障。
没有好的机遇,就要毫不犹豫的离开,否则你会发现每天的工作,就是昨天的重复。
现在在工厂里上班,自己又很想从事PLC工作,我的建议是立马出来,去专门的自动化公司,哪怕从事基础工作,也比在工厂里成长快。
2、专业的自动化公司
专业自动化公司是为其他行业,提供自动化解决方案,把客户的工艺要求转换成可执行的程序。
这类公司才是真正从事PLC编程或者电气工程师正规的公司,开头的提问应该是怎么进入这些公司。
这里所说的自动化公司,也包括集团公司下面的自控技术部,虽然不是独立公司,但性质都是一样,不同的是独立公司服务市场,自控技术部门服务本集团公司。
目前我就职的也是这类公司,根据个人观察,这样的公司核心竞争力就是技术,客户愿不愿把项目交给公司,也主要从技术能力上判断。
既然技术是核心,那掌握技术的工程师自然地位高、待遇好。
职场跟菜市场差不多,都遵循一分钱一分货。自动化公司待遇好,对工程师的技术要求就高,所以就出现投了无数简历,最后毫无音讯。
3、提供工控产品的公司
西门子、三菱、AB、欧姆龙这些工控产品的生产公司,也是我们求职的目标公司。
对应的职位是PLC(工控产品)技术支持,我们遇到问题打400电话求助的就是这些人。
除了技术支持,这些公司一般都有自己的项目部门,项目部门就与专业的自动化公司一样了,都是从市场上拿项目,技术人员完成。
以上两种职位(技术支持、项目工程师)门槛都特别高,没有些技术功底面试通过的可能性不大,这些公司适合打拼了几年,专业能力强,但是发展遇到瓶颈的技术工程师。利用公司的大平台,突破职业生涯瓶颈。
如果你有一个较高的学历,可以关注一下这些公司每年招聘的实习生。
本人没有在这类公司的求职经历,前景如何不做判断,有朋友了解,欢迎在留言处分享。
与PLC相关的工作类型,大致有以上三种,这种分法并不标准,只是便于大家记忆。
比如汽车、医药、冶金、生物等其他行业的公司,一般会有自动化部门,在这些行业的自控部门工作,一样是从事PLC的相关工作。
找工作最怕的是像无头苍蝇一样乱撞,有了上面大致的三个方向。
相关问答
plc编程师怎么报名?
需要去PLC培训机构报名。因为PLC编程需要一定的技能和知识,需要通过专门的培训才能掌握。而只有通过PLC培训机构的正规学习,才能获得完整的PLC编程技能和证书...
没经验,PLC编程的工作怎么找?
首先,为什么想要做自动化,你要想清楚,是不是你的兴趣所在,还是只是受到别人高薪的影响其次,这个行业入门容易,精通难,如果只是能看懂图纸,编PLC程序,也...首...
全国十大plc培训机构?
1.龙丰自动化培训中心2.程控教育3.深控PLC培训中心4.八方汇5.富川工程师学院6.技成培训网7.电子科技大学职业技能培训学校8.长沙湖湘职业技术培训学院...
plc编程属于哪个学科?
是电气设计及自动化专业的主要课程。可编程逻辑控制器,它使用一类可编程存储器进行内部存储程序,执行逻辑运算、顺序控制、计时、计数和算术运算以及其他面向...
做PLC编程的算不算程序员?
程序员是一门职称,从事编程工作的人员可以考取程序员职称,做Plc编程工作的是一种工作岗位,编程工作社会上通常称其为堡马,搬砖等等这是社会上对它的俗称,其...
西门子PLC编程软件是什么?-ZOL问答
软件S7-300PLC(SIMATICManager)S7-1200(TIAPortalV11)S7-200(V4.0STEP7...新版本编程软件STEP7-Micro/WIN...
plc程序怎么申请专利?
一、plc程序如何申请专利步骤1、plc程序如何⑷必须是适于工业上的应用,每个单位的条件政策都是不一的。在按照规定据实扣除的基础上,plc程序步骤需要注意的是...
家用电脑能直接给PLC编程吗?
当然可以,所做工作如下:1.先弄清楚PLC的厂家和PLC的型号2.找到该PLC的相关手册3.在手册中弄明白该PLC用什么样的编程电缆连接(不同型号的PLC需要不同的编程电...
为什么plc项目不是一个人开发?
1.PLC项目不是一个人开发。2.因为PLC项目涉及到多个方面的知识和技能,包括硬件设计、软件编程、电气控制等,一个人难以独立完成所有的工作。3.此外,PLC项目...
本人想购置一笔记本用于CAD和PLC编程,求推荐!!-ZOL问答
具体型号我也不知道,不过你要用cad画电路图,运行PLC编程软件的话,I3的本子就足够了3条回答:【推荐答案】戴尔联想都可以别的过滤有钱的话弄苹果,一般的话4500以...