加速IEC 61131-3的推广应用 要全面高水平实施IEC 61131-3还有一个相当艰苦过程。特别是它对控制领域的影响并不限于PLC,它还适用于DCS、PC控制,运动控制,甚至SCADA系统,因此推广应用IEC 61131-3就不是几个人、几个厂商、甚至几个国家的事情,必须有一个不以赢利为目的国际组织进行全面规划,积极推广。值得庆幸的是致力于工业控制编程标准化的国际组织PLCopen,以自己的有效活动表明它足以堪当此重任。 PLCopen目前拥有分布于21个国家的100多个单元会员,下设5个技术委员会[8]:TC1重点在于与IEC合作共同发展、提高和完善IEC61131-3,目前具体工作是发行的第2版修订文本。TC2重点在于定义功能块的程序库,协调功能块的约定。目前正在组织对运动控制的功能块进行定义,创立可重复使用、独立于硬件的运动控制行规(profile)。TC3重点是制定编程语言一致性的测试标准。我们知道,IEC61131-3标准仅给出了一致性的基本规则,并不提供实际编程系统的导则。所以关于编程系统的一致性测试实际上就是检验不同的编程系统是否真正具有开放性的问题。TC4重点是通信,负责制订通信接口及应用交换格式等。TC5则着重于安全软件导则,重点在于如何运用IEC 61508(有关系统安全的功能安全)支持安全编程技术。 一致性的实质在于建立一套测试方法和程序,这样才能推动标准的真正贯彻。PLCopen把一致性划分为3个等级:基本级,可重复使用级,以及全兼容级。符合基本级,可解决小系统的可移植性;符合可重复使用级和全兼容级,可解决功能块程序库的可移植性。目前,指令表(IL)、结构文本(ST)和顺序功能图(SFC)的基本级定义已完成;有关指令表、结构文本和顺序功能图的测试软件已投入使用;有25个编程软件包已通过一致性认证。梯形图(LD)和功能块图(FBD)的基本级一致性定义正在制定中,相应测试软件正在准备中。由于要全部满足IEC 61131-3标准的要求实属不易,所以标准中在许多方面允许部分实现标准,这就给制造厂商相当大的自由度。也正因为如此,如果能在IL、ST、SFC、LD和FBD五个方面均达到可重复使用级,则该编程系统即达到了全兼容级。 IEC 61131-3的修订和发展 IEC 61131-3第二版已于2000年下半年进行了表决,现已公布施行。第二版对第一版作了少许修改,目的主要在于提高程序组织单元(如用IEC 61131-3的编程语言写的程序,函数,功能块)的可读性和有用性。主要改动如下[7]: (1)将直接量(literal value)的类型作为该量的一部分来表示,以方便该量的应用,达到一目了然的效果。例如用UINT #345表示无符号整型数,正好对应有符号整型数INT #345。 (2)在第1版中,函数(不是功能块)不允许存在由于其执行而产生的副作用。第2版中放松了这一要求,只要在函数的定义中说明所产生的副作用并非有害即可。 (3)对结构化文本(ST)这一种编程语言的句法做了改进,使函数和功能块的多输出连接可以具有一种等效于功能块图(FBD)的多输出连接的灵活性。 (4)第2版中规定了一种新的字符串数据类型WSTRING,以适应在ISO/IEC 10646标准中定义的宽字符(即双字节)的字符串。 计划中的IEC 61131-3的第3次修改版将与IEC 61499相协调,在保持IEC 61131-3原有优点的同时,消除它两个最大的缺陷。智能式传感器和执行器本身就具有执行控制功能的能力,如果IEC 61131-3能支持分布式系统体系结构的编程,那么只要开发出相应的软件工具,就能组成灵活性极强的现场总线控制系统。IEC技术委员会(TC65)启动了IEC 61499 工业过程测量和控制系统用功能块项目,目的之一就在于对IEC 61131-3进行适当的扩展。这主要是: ★给出如何使PLC具有表达61499设备特性的能力。 ★引入有关61499如何使61131-3增加附加价值的阐述,而61131-3又如何增加61499的附加价值的阐述。 目前61131-3第三版的修订内容已公布了32项[9],主要有: 在61131-3中增加新的定义“交叉可复用性”(cross-reusability),而不在61131-3中开发COMPLIANCE CLASSES or PROFILE(一致级或行规)。 61499和61131-3形式句法和语法的关系。 用服务接口功能块( SIFB,Service-interface function block)提供对过程数据的存取,取代原来的与硬件相关的语言特性,如I/O地 址的直接表示。 取消VAR_GLOBAL结构,用相应的服务接口功能块代替,以提供对系统的全局变量的存取。 用服务接口功能块替代VAR_ ACCESS结构。 用61499的设备/资源模型取代CONFIGURATION结构。 引入61499的应用模型和在资源上的子部 分的映射。 引入执行控制图编程语言元素。 61499功能块算法采用61131-3语言编程。 设计将现有的61131-3的算法嵌入61499的 分散式功能块的方法。还有一些与61499无直接关系的修改。 IEC 61499—IEC 61131-3的发展和补充 早在1990年初,IEC技术委员会(TC65)还在制定61131-3编程语言的时候就认为,为了细化和发展功能块方法,有必要制定一个功能块应用的公共模型。并将此项目命名为IEC 61499《工业过程测量和控制系统用功能块》,把制定这个标准的工作交给其下属的第六工作组(TC65/WG6)。目的就在于对IEC 61131-3进行适当的扩展。 目前,IEC 61499的前两个部分已作为PAS(公众可利用规范Publicly AvailIable Specification)公布。如果能取得工业界的积极响应和支持,在2003年就可能以正式标准颁布[10]。应注意的是,61499不是一个独立的标准,为实现分布式工业过程测控系统我们至少还需要: ★通信行规 它定义标准的通信功能块及其标准开放性通信的映射服务,就如在现场总线国际标准所规定的那样。 ★标准编程语言 诸如IEC 61131-3规范的基本功能块类型中的算法。 ★在特定范畴中(如过程控制功能块)应用的标准功能块类型及其导则。 61499-1是针对通过通信网络互连的模块化分布系统的体系结构标准。它定义了为精确描述分布式控制系统的功能块和应用程序的体系结构、模型及其文本语法。其系统模型包括与被控过程(或机械)的接口,与通信网络的接口,以及隐含的分布式应用程序。 61499-2是工程任务支持(Engineering Task Support),进一步描述创建和管理基于功能块概念的工程系统所必须的概念(如资源和设备类型的功能描述方法),分布式工业过程测控系统的规范及软件工具间信息交换方式等,为设计、实现和维护分布式工业过程测控系统提供工程指导。61499-2把可扩展标志语言XML定义为61499的的文件交换格式。这意味着61499功能块设计可以通过因特网传递,并用下一代网页浏览器直接在网页上浏览。这必将给最终用户带来极大的利益。在IEC 61499-1中,规定了系统模型包括与被控过程(或机械)的接口,与通信网络的接口,以及隐含的分布式应用程序(见图4)。由图可见,一组互连的设备(仪表,器件等)彼此之间通过一个或多个网络通信,这些网络也可以构成多级递阶的方式进行通信。应用程序可常驻在一个设备中(如应用程序C),也可常驻在多个设备中(如应用程序A和B)。例如,一个应用程序可以包括一个或多 个控制回路,其中输入采挥由一个设备执行,控制运算由口力一个设备执行,输出变换由第3个设备完成。 IEC 61499还给出应用程序的模型它由若干个可能分散在多个设备中的功能块互连而成。与集中系统不同的是,分散系统的程序执行不再按扫描方式,或是以多任务多进程的方式进行,它要求在指定数据传输与控制算法之间的关系时具有明确的显性机制。为了满足这个要求,IEC 61499增加了一个显性事件接口,以及执行IEC 61131-3功能块的控制算法的控制功能。 完成执行控制功能的一个重要手段便是IEC 61499中定义的执行控制图的表示方法。它其实是IEC 61131-3中顺序功能图的一种简化的、事件驱动版本。IEC 61499提供了服务接口功能块(Service-interface function block,SIFB),SIFB作为指定所有分散于独立硬件实体中操作系统资源之间的相互关系的显性模型,提供了I/O事件与服务功能块,以及服务原语(primitives)的顺序之间一一对应的映像。这个映像符合IEC/ISO开放统互连的体系结构所定义的指定服务(specifying service)的标准方式。这样,任意已完整定义的服务集合便可直接在SIFB中映像。 IEC 61499提供了一种消除硬件依赖性的自然途径:用SIFB表达硬件接口,这样硬件的依赖性便可限制在该SIFB的组态参数上。按照IEC 61499的模型,PLC可表示为其内有多个资源的装置,只不过用了互连的事件驱动功能块,来替代IEC 61131-3中配置模型内相互间存在适当连接的程序任务。如此构建模型,便使所有与硬件的依赖性荡然无存。 可以把一个资源内的功能块当作大规模分散的应用程序的一个组成部分。由于一个IEC 61499的应用程序是许多互连的功能块的一种简单组合,所以只要将这些功能块赋予多个硬件装置内的不同资源,而不是把所有的控制功能全部限制在一个单一的集中装置中,那么我们便可方便地实现了应用程序的分散化。请记住,IEC 61499功能块中的控制算法还是用IEC 61131-3的语言来编程的,所以IEC 61131-3依然发挥重要作用。唯一有所变化的是,在系统配置时我们采取了封装的、可反复使用的和分散的机制。可以预计,IEC 61499的软件工具将促使IEC 61131-3的应用无痛地融入分布式智能系统之中。 结论 ① IEC 61131-3已获得国际工控界的广泛承认和支持。 ② IEC 61131-3正在加速推广应用,不但成为PLC的编程标准,而且成为DCS、PC控制、SCADA、运动控制等事实上的标准。 ③ 为适应现场总线和工业以太网的高速发展,IEC 61131-3和IEC 61499结合,使分布式PLC有了真正实现的路径。 参考文献 [1] R.W.Lewis Programming Industrial Control System usingIEC 1131-3 [2] 罗伯特·杉布,王蔚庭 IEC 61131-3国际标准简介国内外机电一体化技No. 1,2001,P55 [3] 彭瑜 IEC 61131-3的现状和发展世界仪表和自动化 No.2,p.14-18,2002年和No.3,p.56-58,2002年 [4] Karl-Heinz John等 IEC 61131-3:工业自动化系统的程序编制中国机电一体化技术应用协会出版,2002年 [5] Eelco van der Wal EC1131-3:a standard programming resource Industrial Computing July,1999 [6] 罗伯特·杉布,王蔚庭 IEC 61131-3软件:一种先进的工业控制编程系统国内外机电一体化技术 No. 2,2001,P53 [7]J.H.Christensen The Future of IEC 61131-3 Industrial Computing March,1999,P20 [8]Eelco van der Wal IEC 61131-3软件:正在改变着工业控制领域的现状、结构根据、活动和程序库21世纪制造业自动化高级技术论坛,2001年6月北京 [9] Items for IEC 61131-3,3rd Ed. www.holobloc.com/stds/iec/sc65bwg7tf3/comments/pt3e3.htm [10] 杨磊,徐蓉萍 IEC 61499—工业控制技术发展的新阶段计算机测量与控制 2002年10月,p.721-724 |