感谢这个平台,从事工控行业近十年,我本专业是物理系的,家乡是东北的一个钢铁工业城市,高考填报志愿的时候就有读自动化的念头,后来因为有一所综合大学的推荐表,学校怕浪费,就让我报考另外一所综合类大学,读了物理系,读了7年后,我发现我的心还是在设备的控制上,当时西门子Offer的工资是最低的,仍然决定加入西门子做一个项目工程师。在西门子冶金部项目执行中心工作,用的是PCS7系列软件,S7-400/TDC系列产品,用的是德国人开发的库,后来从事大项目系统集成工作,有机会考虑一些更深入的东西,再后来从事物流行业,开始自己开发标准块。跳出了西门子的框框,开始接触其他公司的产品。
1: 工艺和工控产品
刚工作最初几年,学习西家的产品,遇到问题,查手册,找资料,西门子内部高手众多,很多德国同事都是在西门子工作了一辈子的人,很多问题都可以内部解决掉。工作5年后开始做系统集成,感觉只要是买正规厂家的产品,工控产品的问题总是能解决的,真正的瓶颈是“ Know How”,就是对工艺和设备动作理解。记得当时西门子收购了奥钢联,西马克自己成立了工控部门,两家公司分开成为竞争对手。经过几年后,现在西门子的冶金部门实际上已经被卖掉了。西马克还在,因为控制离不开机械,没有好的机械,控制做的再好也没有用,那么作为在设备供应商的电控部门工作的人,我们的出路在哪里呢?大家可以思索一下。
2:工控界的面对对象编程。
我一直打算自己开发一套库,为啥有这个想法,起源还是在西门子冶金部,当时我们用的程序块是加密的,德国总部开发的,非常好的一套程序块。设备的控制最后就是控制电机或者阀,大部分的设备动作抽象出来就是一个2D1V(2方向1个速度),再利用模式块,运行条件块,最后看执行机构是什么,一个设备的控制的基础模板出来了,而且这个模板只是针对控制对象的,将控制对象的共性拿出来,是面对对象编程的概念。我觉得很好,因为加密,要授权,离开西门子之后,我在想能不能自己有一套,工作时候好用。
3:PLC Open,ST语言,工控界的Android
上面提到的程序库仍然是基于西门子PLC,因为现在离开西门子了,很多时候遇到客户问能不能换PLC,一套程序库能不能运行在西门子,施耐德,三菱PLC上,这是个问题,我觉得随着CPU速度的提高,程序的执行效率已经不在是关键,通用性的要求越来越高,参考计算机技术的发展,一开始程序员也都是用汇编语言,彼此不兼容,而且部分精力要放在对芯片的理解上,后来C语言出现,解决了兼容性的问题,程序员不要再考虑底层是采用那家的芯片,编译器会正确的翻译成机器代码,程序员将精力全部放在功能的实现上,工控行业现在是不是这个状态?如果能有一个只是针对工艺的,通用的程序库,我们做工控的人就可以把精力放在控制对象功能的实现上。再举一个例子,Google的Android系统,在Android之前,有很多手机系统软件,这是一种社会智力资源的浪费。Google看到了这一点,推出了Android。现在结果大家都知道了。
那种PLC编程语言可以实现工控界的Android,我比较了一下,觉得ST应该最有潜力,西门子最新的1200系列PLC相比200系列可以实现模块化编程,这么便宜的PLC应该大有潜力,但他只支持SCL,这也是我将过去300/400系列STL语言程序库转化成SCL语言的动力。
特此,分享一下部分我完成的工作,一些SCL语言程序库代码,这些主要是针对物流行业的,在300PLC和1200PLC都可以编译通过。也希望有熟悉其他品牌PLC的高手看看能不能用在其他品牌PLC上。
楼主最近还看过