从一份用户调查看PLC编程语言和编程平台的现状和趋势
2019年PLCopen国际组织和美国的automation.com网站联合进行了PLC用户编程偏好的调查。总数为200个响应者绝大部分来自北美和欧洲。调查的结果反映了PLC编程的趋势,以及用户对PLC编程软件供应商的一些想法和意见。这些对我国的自动化领域的发展,特别是以PLC为主要手段开发工业控制系统的工程师们也有一定的参考价值。
一、用户喜欢用哪些编程语言?
图1是用户喜欢用哪些编程语言的调查结果。用得最多的是结构化文本语言,其次是梯形图,再次是功能块图,第四是顺序功能图,其它编程语言位居最后,在其它编程语言中用的最多的是C/C++语言。
从用户这些语言的偏好看,可以得出以下结论:
(1)各种编程语言运用的差距并不大,没有特别多的,即使居第一的结构化文本也不过比居于第五的其它语言多得有限。
(2)明显可见,用户对于面向对象的语言如结构化文本语言和C/C++语言更为青睐。这反映了在智能制造和工业互联网的应用中面向对象的编程语言更能满足用户编程的需求。
(3)许多PLC的编程环境支持用C/C++语言编写功能块。
图1 用户采用PLC编程语言的调查结果
为什么这次调查没有列出指令表(IL)语言呢?
这是因为在2012年更新的IEC 61131-3 V.3编程语言国际标准规范中,虽然还保留了IL语言,但已经有提议将将它从5种编程语言中剔除。随着时间的推移,使用这种类似汇编语言的IL对PLC编程的人越来越少,几乎失去了存在的价值。
这里顺便指出,结构化文本语言ST在国内的普及程度很差。有一个原因是某些在国内应用相当广泛的小型PLC不支持ST编程,影响了它的推广使用。面向对象的编程OOP正在随着智能制造和工业互联网的需求快速地发展,而IEC 61131-3规范的5种编程语言中ST是最容易实现OOP的。因此,这一倾向值得重视。如果我们国家继续沿着按某些自动化公司的PLC产品机型进行工科教育,那么在PLC的开发和应用方向上将永远步少数几个工业发达国家的后尘,很难有翻身的机会。
二、编程的熟练程度
从调查的结果看,熟练掌握梯形图语言和结构化文本语言的比例较高,熟练掌握功能图语言次之,熟练掌握顺序功能图语言的比例较低。而不了解顺序功能图语言的比例最高。
看起来结构化程度很高、而且最适宜表达顺序工艺,工艺与编程对应得最好(也即程序的可读性最好)的顺序功能图语言,在欧美普及程度不算高。这也令人有所不解。
源于法国的这种PLC编程语言获得了一些专业组织青睐,譬如美国OMAC推的PackML就重点选择了SFC作为包装行业的编程语言,符合顺序控制工艺的机械加工和批处理加工的比比皆是,为什么SFC的使用者不多呢?一种可能性是被调查的样本还不够多,或者说被调查的细分行业还不够全。
图2 掌握编程语言的熟练程度
三、对PLC编程软件平台的要求
调查从软件的可靠性、软件的易用性、不同供应商软件平台所编制的应用软件的移植性、I/O配置软件和不同供应商的PLC控制器之间的通信等5个方面征询意见。
结果不出所料,认为软件可靠性好和很好的占大多数,认为软件的易用性中等和好的占大多数,认为应用程序移植性差、较差和中等的占大多数,认为I/O配置软件中等和好的占大多数,认为不同供应商PLC控制器间的通信差和中等的占大多数。
这些调查结果实事求是地反映了当前PLC编程软件和平台的现状,表明不同软件和平台开发出来的应用软件的移植性远远达不到最终用户的要求,这也是单纯基于IEC 61131-3的开发软件和平台难以基本解决的问题,更遑论彻底解决的问题。
看来要解决这一问题需要另辟蹊径,譬如说美国开放流程自动化系列标准OPAS正在开发以IEC 61499为依托的应用程序的移植性,已经取得了实验室的验证,进一步需要进行工业实践的验证。
图3 用户对软件平台的评价
四、流程控制采用PLC呈现增长趋势
这次调查有一个出乎所料的结果就是,PLC在流程控制领域中的应用呈现增长趋势,超过73%的被调查者反映他们采用PLC进行流程控制,而采用DCS在流程控制中的只占27%左右(见图4)。当然,规模巨大的流程控制(如I/O点接近10万点或超过10万点,非DCS系统莫属,在这方面PLC系统还有很长的路要走。
PLC在流程控制中的应用超过DCS,估计原因有几个方面:
一是 PLC的性价比远超DCS,在PLC能满足流程控制的系统要求的时候,选择PLC的投入要显著的少,维护成本也随之下降。
二是 PLC的性能有较大的提升,在一定的成程度上可以替代DCS的功能。
三是 调查样本有可能不够全,参与调查的以流程控制为主的企业不够多。
图4 PLC在流程控制中的应用超过DCS
五、调查中许多用户的想法和留言
编程软件和编程平台的用户在调查中通过额外的留言反映了他们的想法和意见,他们希望PLC的供应商在其编程软件方面能更好地满足用户的需要。下面按有关的题目分门别类的阐述。
应用软件的移植性问题
有用户认为,采用PLCopen的XML规范来解决多个软件供应商的移植性问题,看来不太可能真正付诸实现,或者总是难以适当地正常地运行。 最好是供应商现在能够为编程环境提供开放的脚本语言的接口,在这样的环境下代码转换和自动操作比较容易进行。
关于编程平台的相互交叉兼容性的问题,有用户认为应该引起重视。但另一种意见则认为,一般的PLC供应商和开发商都难以与他们的竞争对手合作,试想将一根以太网网线从罗克韦尔的ControlLogix PLC上接到西门子的S7-400的以太网口,想象得到如果能够真能通信起来,这岂不是滑天下之大稽吗。显然用户对移植性的问题是不抱太大的希望的。不过,希望已经开发的代码能够实现更多的交叉移植性,一直是用户希望解决的事情,但至少到目前为止,这还是没有很好的解决方案。
OPC UA
有用户认为,完全接受OPC UA的支持这种可能性实属异想天开,真正实现的可以说是凤毛麟角。也有用户提出,应该能够定义自己的信息模型和采用其它的标准信息模型(如PackML和其它)。
有一个用户提出很好的建议,PLCopen的IEC 61131-3的OPC UA信息模型应该完全发挥结构化文本语言ST面向对象编程(OOP)的性能。这样用OPC UA通信应该实现起来就简单了,只要一个接口便可以在OPC UA网络中点开一个实例,接着按程序中的一个对象(功能块FB)那样进行处理。这样最终得到一个面向通信的架构和面向对象的编程。不过我们仍然需要状态机进行方法的调用。为什么不这样做呢?
可靠性
有用户认为,现在有些PLC编程平台的集成开发环境IDE往往并不完善,或者有时会出现操作系统蓝屏。显然,可靠性问题出现在现代的集成开发环境内,每个供应商都太忙于将他们的编程环境集成到一个工具中,同时还实现新的喜好性能,而花在提高可靠性方面的投入不够。希望编程平台的开发商要认识到,可靠性和可用性问题常常造成最终用户昂贵的时间损失。
编程特性
关于编程平台的改善,调查中用户提出了改进的意见。如在用ST键入能时自动完成标签命名的全部;能给出有意义的出错信息;文档能易于存取和能搜索;软件开发者应该对客户负责,给予技术支持;在梯形图编程的框架下允许嵌入复杂的编程;能够实现由顺序功能图语言自动自动生成代码;能在编程平台系统中开放像C/Java的编程语言;文本文件的编译采用C语言类型的编程工具的方法,具有版本管理、归档、管理、实用程序库,以及转换为另一种编译程序/另一种版本/另一种语言的能力。还有用户提出,采用现代的编程方法和技术,软件供应商应该有更好的源代码控制(Git)、单元测试等的知识和集成能力。所谓Git是一种在软件开发期间跟踪源代码变化的分布式版本控制系统,专门用来协调编程人员之间的工作,但也可以用来跟踪任意组合的文件的变化。
PLCopen和OPC UA的协同
工业4.0和数字化转型推动着先进的物联网IoT方法,这就是语义信息模型。工业自动化工业已经在支持建立开放的语义模型,这就是为什么PLCopen和OPC基金会建立联合工作组来满足这一需求。其结果包括IEC 61131-3的OPC UA信息模型标准,以及PLCopen和OPC UA合作开发的IEC 61131-3的OPC UA客户端功能块规范和OPC UA服务端功能块规范。现在还只有很少的编程平台能够提供按规范开发的OPC UA的功能块。
六、后记
自从在国内活跃多年的德国KW公司被菲尼克斯收购后,因发展目标调整的关系,从2019年中开始不再发展基于IEC 61131-3的编程平台的客户。于是在国际和国内IEC 61131-3编程平台市场中3S的CodeSys一枝独秀,随之涨价之风盛吹。
国内经过多年的发展,虽然没有真正具有市场竞争力的有关软件产品出现,但毕竟一些DCS和PLC的公司(如浙江中控、、和利时、杭州优稳)都拥有自用的编程平台环境。杭州电子科技大学计算机学院的严义、邬惠峰团队的CASE平台历经十多年的锤炼和提升,在IEC 61131-3的编程平台上增加了PLCopen运动控制规范的功能。与此同时,近年在北京和上海都出现了专门以开发IEC 61131-3的编程平台为目标的公司,规模尽管不大,但由于创业者凭着许多年在这个领域内摸爬滚打的积累的技术,发展的还是有声有色。我们期待在此工业软件方向上会出现商品化产业化的突破。
注:本文由作者为《工控百家谈》独家撰稿,如需转载请与我们联系。作者简介彭瑜,教授级高工,上海工业自动化仪表研究院技术顾问,PLCopen中国组织名誉主席,工信部智能制造标准化体系建设工作组专家,国家智能制造标准化协调推进组专家咨询组专家。
2019学PLC还有前景吗?怎样拿到高薪水?20年资深工程师的心得!
有很多朋友问我;
2019年了,应该学习PLC吗?市场前景怎么样?工资是怎么样的?今天带大家谈一谈自动化行业的那些事;
一 PLC应用的广阔市场空间以及对人才的需求
1、我国工业企业的自动化程度普遍较低,PLC产品有很大的应用空间,如一些基础行业的外围设备仍采用传统的继电器和接触器进行控制。因此,PLC在我国的应用潜力远没有得到充分发挥。也就是说虽然我们的目标是工业4.0,可是现状是大多数工厂还远远没有达到3.0。而实现4.0必须先搞好基础自动化。
2、我国大中型企业普遍采用了先进的自动化系统对生产过程进行控制,但绝大部分小型企业尚未应用自动化系统对生产过程进行控制。随着竞争的日益加剧,越来越多的小型企业将采用经济、实用的自动化产品对生产过程进行控制,以提高企业的经济效益和竞争实力。
3、中国经济在经历了近40多年的高速增长之后,近年来已经略显疲态。在人口红利用尽,人工成本年年高涨的情况下,很多企业的发展正面临前所未有的困境,人手不足薪资高涨企业利润越来越薄。迫使企业必须考虑用自动化设备以及自动化生产线,提高自动化水平降低对人工的依赖,不久的将来工厂流水线的产品生产全部由自动化设备或者机器人替代人工已是大势所趋。所以,大量的掌握PLC编程等技术人自动化人才为企业所急需。
所以说从宏观考虑:
PLC市场还是好的,对于真正的人才也是向往的。
二、PLC人才未来的就业方向和工资待遇是怎么样的?
对于电气人才的工资薪水,其实是有很大争议的;
1 对于一个技术高手,可能在北上广等地的一些知名企业或者跨国企业能拿到30W的年薪,当然这个是技术岗的上限了,再想多的话就需要成为管理人员了。
2 南方的工资高于北方,因为地域的差异,工资水平也是有很大差异的,一般南方比较认可这一行业,北方则偏低。
3 公司差异;几年前,我从一个国内大型钢铁公司辞职后想要找一个新工作,当时面试了很多公司,这些公司的差异很大,加上这些年和全国各地各种各样的电气人员打交道,基本得出一些经验;一般来说,商品附加值越高的公司给员工的工资也越高,但一般也会根据当地平均工资作调整。什么是商品附加值高的公司,比如说药品制造企业,奢侈品制造企业等等,或者是外企。当然一些地方的龙头企业也不错,通常来说就是一百来人的小企业,给电气人员的工资不会太多。
4 如何找到一个合适的电气岗位,和其他岗位一样,不要找常年不停招收电气人员的企业,这种企业一定是以低价劳动力去获取利益的小作坊,这种企业一般都在工科学校附近,有源源不断的劳动力。
三、PLC自习者存在的困境以及如何学习?
1、缺少PLC、触摸屏、伺服电机等设备的练习,没有学习所需的硬件环境,导致理论脱离实际,学习周期长,学习效果不明显。
2、缺少专业人员指导,实际行业应用中也找不到人请教,结果只能是眼高手低,学而不精,说起来头头是道,做起项目无从下手。
3、缺少学习伙伴,工作中遇到的问题得不到及时讨论和解决,长期闭门找车,学习兴趣逐渐散失。
4、缺乏PLC配套周边设备的选型和试用,只能盲人摸象,不得要领。
我和很多朋友讨论过如何学好电气,其实很简单,做过了就会了,有条件就去认真,细心学习;没有条件就去创造条件,千万不可闭门造车。
相关问答
做PLC前景怎么样?
科技引领生活,爱科技的小青年带你在科技的海洋里无限遨游……在当今科技盛行的时代,自动化技术已经逐渐地替代了之前的部分手工业,而作为自动化技术中的一员...
PLC行业的前途如何?
PLC是可编程逻辑控制器的缩写,是一种工业自动化控制设备。PLC行业在中国市场上有着广泛的应用,未来几年内,随着工业自动化程度的不断提高,PLC行业的前景将会...
现在市场上哪种类型的PLC用的比较多?
感谢邀请回答首先从3个方面回答你的问题1.plc不同类型的市场占有率2.不同行业的市场占有率3.目前国内的plc品牌占有率。如下图所示感谢邀请回答首先从3个...
学PLC编程有没有前途?
有做PLC编程有前途。随着工业自动化技术的不断发展和进步,PLC编程技术在工业控制领域的应用越来越广泛。市场对PLC编程人才的需求量较大,不仅包括制造业、电...
plc编程还有前景吗?四川成都plc编程还有前景吗
[回答]四川成都plc编程还有前景吗,四川学PLC编程、plc编程培训、电工培训、PLC电工培训学校有成都万通高级技工学校,开设PLC编程基础知识培训课程,从基础...
plc编程可以实现智能化吗?
PLC实现的是自动化,自动控制!PLC说白了就是一些可以控制的开关,通过编程实现开关的自动开关,对于处理复杂的数据很无力,更不用说实现智能化,但是智能化实现...
现在还有必要学习PLC编程吗?
PLC的应用还是比较广泛的,在工业中占据很大的地位;社会发展离不开工业,科技在发展,目前很多制造企业都要走自动化生产路线,自动化生产离不开PLC,所以还是可...又...
plc编程属于软件还是硬件?
属于硬件编程。硬件编程针对的是硬件的驱动之类的东西,应该说是底层的东西,一般用C、C++和汇编以及hdl语言编写,需要对数字逻辑,数字电路,模拟电路等电子学...
plc课程培训培训的发展趋势如何
[回答]东莞市汇缘教育plc课程培训编程培训学校对讲师有着严格的要求,他们都有着5年以上非标自动化行业工作经验,曾多次带领团队共同完成多个大型项目经验...
plc编程学会要多久?学会plc编程工资高吗?
PLC的品牌和系列都很多,如果是没有基础刚入这个行业,可以先考虑学习三菱或着西门子的,这两个品牌目前在市面上用的还是很广泛的。其实个人觉得学习PLC编程这个...