更智能、更高效的PLC编程

本文来自于《控制工程中文版》(CONTROL ENGINEERING China )2016年8月刊杂志,原标题为:更智能、更高效的PLC编程

在实际应用中,PLC编程人员更倾向于使用哪些编程语言?根据美国CONTROL ENGINEERING和Automation Direct公司联合进行的调查研究表明:梯形图仍然是最简单、最受欢迎的PLC编程方法,虽然可能并不是最有效的方式。

尽管IEC 61131-3编程语言标准,已经颁布了将近25年左右,但是在北美地区,由于对其范围以及特性的有限认知,使其没能成为一种必须遵循的标准。最近,一份美国CONTROL ENGINEERING对读者所做的调查研究显示:对大多数可编程逻辑控制器(PLC)来讲,梯形图仍然是最受欢迎的编程方法。这项受Automation Direct公司的委托所进行的客户研究调查显示:如果更多使用其它类型的标准语言,编程人员可以节约时间和费用。在不同品牌的PLC之间进行代码移植,尚有一定的困难,这可能是需要注意的事项。

1
有限的应用

在收到的有效调查问卷中,超过585份的调查对象满足调查要求,包括对采购的影响和决定权,同时还负责硬件定义或PLC编程方面的工作。调查结果显示,在北美地区,对这个标准的认知度以及接受程度比较低,也就意味着很少情况下,会规定工程应用需要满足该标准。

调查对象的工作职责,最常见的是系统或产品设计,控制或仪表工程,以及系统集成或咨询。这三项总计占所有调查对象的60%。另外30%参与调查人员的职责包括过程工艺、产品、或生产制造工程,运营或维护,或其它工程。大约10%的调查对象为总经理或公司管理层,这部分人员更多的是参与定义,但并不会直接编写程序。

超过60%的调查对象,受雇公司的规模超过100人,有些达到1000个甚至更多。大概有40%的调查对象的受雇公司,雇员人数要少于100人。

根据公司类型的不同,在所有回复的调查对象中比例最高的是PLC的最终用户,达到40%。几乎半数的调查对象为系统集成人员、原始设备制造商(OEM)、或机器制造人员,调查对象遍及整个美国。

2
PLC编程的全球性标准

IEC 61131-3标准,已经颁布了将近25年,包括一系列的编程语言。IEC将其作为PLC编程语言的国际标准进行推广。PLCopen作为一个非盈利的行业组织,致力于IEC61131-3的推广,提供该标准的大量信息和技术支持。

PLCopen组织认为, IEC 61131-3是“唯一可用于工业控制编程的全球性标准。通过标准化编程接口,它能够协调工业控制的设计和运行”。该组织声称,这是一个具有通用结构的标准编程接口。

IEC 61131-3标准包括顺序功能图(SFC)语言的定义,可用于组织程序内部的结构。同时,它增加了四种相互联系的编程语言,包括两种图形化的编程语言:梯形图逻辑(LD)和功能块图(FBD);两种基于文本的语言,指令集(IL)和结构化文本(ST)。利用逻辑元素、定义好的数据类型、任务结构和调度,以及执行控制,理论上每个程序都可以实现结构化设计,增加程序的复用性,减少错误,增加编程和用户的使用效率。

PLCopen组织和技术界一起,致力于扩充该标准。经过一系列的努力,其成果包括增加了很多功能,包括运动控制、安全、OPC统一架构通讯(来自于OPC基金的OPC UA)、XML可扩展标记语言模式、复用水平的定义以及一致性水平。

那么,采购人员和编程人员对IEC 61131-3的熟悉程度如何呢?

当美国CONTROL ENGINEERING杂志就此向读者作调查时,41%的调查对象说,他们并不熟悉,44%的人只是有一些了解(见图1)。尽管在欧洲或者世界上的其它地区,该标准可能具有更大的接受度,但是在美国,似乎并没有这么大的影响(仅从这次的调查结果而言)。对于在美国的很多调查对象来讲,满足该标准并不是优先选项或者需求,因为尽管经过了20多年的发展,在美国的绝大多数的编程人员,仅仅对该标准有些许的了解。

图1:你对IEC 61131-3编程标准的熟悉程度如何?一项针对美国控制工程师的调查显示,41%的被调查对象对此知之甚少。本文图片和表格来源:Automation Direct公司。

超过40%的调查对象表示对该标准并不熟悉,这些人高度集中在据称是PLC编程人员的调查对象上。在所有自称实际编写程序的人中,仅有15%的人员声称对该标准十分熟悉。

3
为何要使PLC支持标准?

在所有的调查对象中,那些使用或定义PLC的人员中,以及自称熟悉IEC 61131-3标准的人员,在调查中被问到的下一个问题是为何要使用它?答案显示:使用的原因并不是因为北美的工业自动化市场将其作为强制性的需求。最经常被提及的原因是PLC产品自带编程语言(约占39%)。25%的最终用户使用了IEC 61131-3编程语言,其中一部分要归功于美国的公司需要将这些设备发往欧洲或亚洲。

低于10%的应用需要IEC 61131-3的特性。更多不做具体PLC编程的调查对象说,使用该标准是因为规定,暗示其中一部分选择是由硬件的选择来推动的。

4
工程师的编程偏好

当545个调查对象被问到,哪些语言或特性特别重要时,得到了如下的结果:梯形图是最重要的编程语言,功能图则紧随其后。在关于功能块的问题中,大多数人回答,他们会在梯形图中使用功能块图。创建客户定制功能块图并将其嵌入到梯形图逻辑中,被认为是PLC编程的一个重要特性。

美国控制工程师对PLC编程语言的偏好


不出所料,结构化文本语言,超过了其它类型的基于文本的编程方法。然而,非常有意思的一点是,指令集和语句列表的使用都超过了C语言或Basic语言。显然,调查对象使用PC来创建C或Basic编码,并将其下载到他们的PLC中,尽管几乎所有的硬件和软件都支持该功能。使用微软的.Net以及其它基于PC的编程技术的编程人员,则会提供一份不同的重要事项的列表。

“用户建议编码的互操作性,虽然看起来很美,但是实际上有时候执行起来比较困难。”

5
互操作性的实施难度

IEC-61131-3的目的之一,就是为客户提供开发算法和软件代码的能力,以便可以在某供应商的编程环境下使用 IEC-61131-3语言,然后只做很少甚至不做任何改变,就可以移植到另外一个供应商的编程环境。在研讨会以及内部的调查研究中发现,用户所建议的代码互操作性,看起来很美,但是实际上执行起来比较困难。

软件的输出和导入功能,并不是特别容易实现,在很多情况下,互操作性真正实现的程度,值得怀疑。用户发现,当在不同供应商控制平台移植程序时,必须重新设计编程。在某些情况下,移植功能虽然减少了部分重写工作,但是并不能完全消除。某种程度上,供应商应对此负责,因为并不是所有的供应商都遵循该标准以满足可移植性的需求。

也许最终用户所需的可移植性水平,超过供应商所愿意提供的,主要原因在于这将会促使不同供应商之间的合作,从而会泄露大量的PLC硬件和编程软件的设计细节,也许这是一个并不现实的目标。

尽管被调查对象将梯形图作为最重要的语言(85%),但被调查对象还强烈推荐功能块编程(见图2),并将其作为PLC的第二种编程语言(51%)。

在IEC 61131-3所规定的其它三种编程逻辑——顺序功能图、指令集、结构化文本,提及率都没有超过13%。IEC 61131-3对美国PLC的市场并没有太大的影响。在北美地区的编程人员,看起来并不太需要这个功能,因为在很多情况下,梯形图和功能块图就能满足需求。当这三者方法中的一个成为更好的技术选择时,对于大多数被调查对象而言,不熟悉可能成为其应用的障碍。

图2:排除梯形图编程,编程方法第二梯队的选择有四个:功能块则位列被强烈推荐的编程语言的第二名。

6
更有效的编程方式

在另外一个类似的调查中,Automation Direct公司让现有的PLC用户投票,在IEC 61131-3的知识储备、应用和接受程度上所得的结果,和CONTROL ENGINEERING的调查结果非常类似。超过75%的用户,对该标准不太熟悉。大多数被调查用户的PLC的设计或编程,并没有遵循IEC 61131-3的要求。梯形图编程最通用;功能块图则紧随其后。

PLC的应用场合,经常需要先进的编程语言和技术。尽管梯形图仍然是最简单和最受欢迎的方法,但它可能并不是最有效的编程方式,有时也不能提供某些更复杂语言所能提供的先进功能。功能块图,是美国编程人员和PLC的规范制编制人员选择的第二种语言,该语言还有一个好处:形式各异,比如嵌入到梯形图中、独立的功能块图编程、以及客户定制的功能块图。

IEC 61131-3标准,已经颁布了将近20年左右,功能仍在不断增加。在欧洲和世界其它地方,它已经成为一个标准;在北美地区,对该标准的接受度貌似也在不断增加。

PLC的应用场合,经常需要先进的编程语言和技术。尽管梯形图仍然是最简单和最受欢迎的方法,但它可能并不是最有效的编程方式,有时也不能提供某些更复杂语言所能提供的先进功能。

某些美国的OEM制造商、机器制造商和系统集成商将产品或系统发往世界各地。大多数美国的用户能够完全接受其价值定位。对大多数PLC编程人员来讲,在该标准被广泛应用之前,在自动化领域,梯形图和功能块编程还会持续发挥作用。

作者:Jeff Payne

(0)

相关推荐