自1993年IEC 61131-3第一版正式公布后,经过近20年的推广应用和不断完善,已获得了广泛的接受和支持,受到越来越多的自动化制造商和客户的接受,在工业控制领域中产生了重大影响,并且成为可编程控制器PLC、分散型控制系统DCS、工业PC控制IPC、可编程自动化控制器PAC、运动控制、SCADA系统和各类嵌入式控制器的编程系统事实上的国际标准。
工控编程语言对于工业自动化发展的基础作用
DCS、PLC、SCADA系统作为三类重要的工业控制装置,之所以能够在长达数十年的工控市场上长盛不衰,本质上的原因必须从其内部去发掘。其中,软件与硬件发展的相辅相成、相得益彰,应该是重要原因。IEC 61131-3作为工控编程语言国际标准,推动了这些系统在软件方面的进步,主要体现在:
①编程的标准化,促进了工控编程从语言到工具性平台的开放;同时为工控程序在不同硬件平台间的移植创造了前提条件。
②为控制系统创立统一的工程应用软环境打下坚实基础。从应用工程程序设计的管理,到提供逻辑和顺序控制、过程控制、批量控制、运动控制、传动以及人机界面等统一的设计平台,以至于将调试、投运和投产后的维护等,统统纳入统一的工程平台。
③推动应用程序的自动生成工具和仿真工具的发展。
图1 统一的工程环境需要在不同工具软件间交换数据
在IEC 61131-3的基础上,出现了开放式的编程平台,如:加拿大ICS Triplex公司的IsaGraf(现被Rockwell收购),德国KW公司的MULTIPROG、德国3S公司的CoDeSys,法国Copalp公司的Straton,以及奥地利Logicals公司的Logi.CAD(后两家公司在国内尚没有任何商业活动)。
这些软件平台提供的开发环境不具体地依赖于特定的硬件产品。为数众多的PLC、DCS和SCADA生产厂商(包括横河电机、欧姆龙、三菱电机、ABB等)都在这些商品化的基本编程软件系统的基础上,再进行二次开发,并将其高附加值的诀窍和控制算法嵌入其中。例如欧姆龙的CX编程软件是以MultiProg软件平台为基础,再行二次开发的。这种软件的开发方式也为PLC的程序在不同机型之间的移植提供了可能。
图2 为IEC 61131-3定义的XML格式与其他软件工具的关系
我国推广IEC 61131-3的积极进展
这些年来,我国工业自动化设备厂商贯彻IEC 61131-3标准,也采取了积极的态度。国内目前有20家PLC制造厂,许多都引进了基于IEC 61131-3的编程平台(如KW公司的MultiProg,3S的CodeSys),或自行开发了基于IEC 61131-3的编程平台(如浙江优稳和中自的Sunny)。
DCS的民族工业一直有不错的业绩,业务蒸蒸日上。具有代表性的浙江中控、和利时,他们的编程组态平台也支持这一工控编程语言的国际标准;国内SCADA制造厂在他们的系统中采用基于IEC 61131-3的编程平台。值得高兴的是,电力行业输配电SCADA系统中,以南瑞为代表的国产厂商占据了国内市场80%以上的份额。在采油输油和采气输气的SCADA系统中也有不俗表现。近些年来,在机电设备的嵌入式控制器中,采用基于国际标准的编程平台表现出日趋增长的趋向。例如,三一重工的工程机械和南车集团的高速列车的控制器都选用了KW的编程平台。
另外,PLCopen中国组织还分别在郑州和上海建立了两个按照国际IEC 61131-3培训规范的培训中心,开展了多次培训;并在沈阳建立了IEC 61131-3编程语言的认证中心。
图3 OPC UA应用的广泛性足见其强大的可扩可缩功能
PLCopen的重要使命是扩展PLC的软件功能
PLCopen组织除了推广普及以及维护、发展工控编程语言国际标准IEC 61131-3外,一直把扩展其功能作为自己的重要使命。这些功能一般不属于编程语言标准的内容,但为了更好地适应自动化技术的不断发展,巩固标准和规范的引导地位,这些工作不但不可或缺,而且日益显现其重要作用。
迄今为止,PLCopen主要致力于三方面的功能扩展:①制定和推进符合IEC 61131-3的运动控制的规范;②制定和推进适用于IEC 61131-3的XML规范;③制定和推进适用于IEC 61131-3的OPC UA信息模型的规范。
1.基于IEC 61131-3的XML规范
在经济竞争的环境日益严峻,而工业控制软件的开发成本和工程成本日益上升的形势下,希望能在不同的软件开发环境之间交换其程序、函数/功能块库和工程项目的需求越发高涨。考虑到编程仅仅是控制软件完整应用开发套件的一个环节,为规范它与其他环节间的数据交换的接口,有必要提供实现IEC 61131-3编程的数据交换规范。通过为IEC 61131-3规定一种XML的格式倡导一种开发环境,这样就为在此基础上构成统一的工程软件平台提供了前提条件(图1)。
从而为统一的工程平台实现不同控制功能的编程、组态,为统一的工程平台实现设计、调试、运行操作、维护各阶段功能的前后衔接提供基础;还可以利用XML进行不同硬件平台定义的I/O变量和内部变量之间的变换,为控制程序无障碍移植创造前提条件。图2表达了XML格式规范在实现统一过程平台方面的无缝连接的接口作用,从纵向看XML是为开发工具和图形以及逻辑信息的生成软件与使用软件提供接口;从横向看XML又为不同工程项目的开发工具和程序组织单元POU提供输入/输出接口。
图4 OPC UA是一种安全可靠的在线数据传输机制
PLCopen制定XML规范的目的是,基于当今的XML技术,把IEC 61131-3环境下完整工程项目的全部信息用XML的格式予以表达。这些信息包括:文本化编程语言——IL和ST, 图形化编程语言——LD和FBD,结构化编程语言——SFT, 图形信息(如地点、位置和它们之间连接路径),注释,程序组织单元POU——函数、功能块、程序,数据类型,工程项目信息(分层结构),映射信息,以及制造厂商的特定信息。
PLCopen的XML规范规定了:IEC 61131-3全部五种编程语言的交换格式,类似于建模工具(如:UML通用建模语言)那样,规定与图形和逻辑信息的生成程序接口;类似于文件生成程序和管理程序以及版本管理那样,规定与图形和逻辑信息的使用程序的接口;还规定了功能块库的分发格式。
下面以AutomationML为例说明其实际的应用。汽车制造商Daimler联合了ABB、KUKA、Siemens、Rockwell Automation等工业企业,软件和服务商netAllied和Zühlke以及karlsruhe大学和Magdeburg大学,成立了非盈利的AutomationML组织,为的是通过共同定义数字化工厂的一种中间格式——自动化标记语言AutomationML(Automation Markup Language),并进行标准化。制定AutomationML标准的目的是为了降低工程成本和加速工程进度,无缝数据传输,便于保持数据的一致性,便于同类数据的后备,总之是为适合市场需要的创新产品制造商降低市场进入壁垒。
图5 OPC UA的Server/Client的软件接口规范保证通信的复用性
AutomationML是一种免费的开放标准。主要用于制造自动化,包括机器人和物流,但并不局限于此。其创新主要在于:在一个单一的根格式(XML格式)下,将许多重要工程方面所广泛接受的标准综合起来予以应用。
AutomationML综合了多种成功的标准。车间工艺流程(设备)布局方面采用CAEX标准(Computer Aided Engineering Exchange),这是一种基于XML的容许存储分层结构对象信息(如工厂)的中间数据格式。几何结构、机械运动学和运动规划方面采用COLLADA规范,这是Khronos组织定义的一组基于XML的文件策略模式,用以实现三维的应用程序进行自由交换数据;在顺序控制行为方面采用PLCopen组织的IEC 61131-3的XML格式。
2.IEC 61131-3的OPC UA信息模型
PLCopen是以推广和发展工控编程语言国际标准IEC 61131-3及其应用技术为己任的国际组织。众所周知,OPC基金会定义的自动化系统间在线数据交换的标准(OPCDA,OPCA&E,OPC HAD)已在工业控制中成功应用多年。目前又将这些现有标准统一为OPC统一架构OPC UA,并引入先进的面向服务的架构SOA。OPC UA提供的跨操作系统平台的性能,超越了原有OPC仅能运行于基于Windows的PC机系统的局限,使它也可运行于嵌入式系统,以及基于Linux/UNIX的企业信息系统。其应用的广泛性我们可以从图3中一目了然。
图6 IEC 61131-3的软件模型在OPC UA的信息模型的表示
2009年这两个非盈利的国际组织将各自的技术组合成一个独立于制造厂商的信息和通信架构的平台,为实现自动化结构提供了一种全新的选择。建立IEC 61131-3的OPC UA信息模型的目的在于:
① 充分发挥OPC UA可靠、安全的在线交换数据机制,提高各类控制器和控制系统与各种可视化工具和企业信息系统之间信息交换的效率。OPC UA的抽象通信模型不依赖于某一特定的协议映射,并将信息安全、存取控制和可靠性等特性直接纳入其传输机制(图4)。
② 充分利用OPC UA统一清晰的Server/Client的软件接口规范,使现场数据提供者(控制器、控制系统等OPC服务端)与现场数据应用者(人机界面、MES、工程工具等OPC的客户端)之间通信的复用性大为改观,客户端可同时访问多个服务器,通信效率极大增强(图5)。
显然,建立IEC 61131-3的OPC UA信息模型将大大提高控制器和可视化装置(人机界面)、上位信息系统之间通信的复用性。从长期应用的观点看,将明显提高工程流程的效率并显著降低工程的成本。设想:当有某个PLC项目中有许多控制平台由不同供应商提供,如果用一种可视化工具或MES/ERP从这些控制平台的外部来看,它们具有完全一样的IEC 61131-3软件模型(不管所有PLC对象有多少种),而它们的详细描述在OPC UA的命名空间内由OPC UA的公共工作组给出的规则予以实现。
③ 充分利用OPC UA的跨操作系统平台的性能,使不同软件供应商的软件部件都能通过面向应用的服务架构良好集成,为基于IEC 61131-3的编程平台向统一工程平台发展打下坚实基础。
总而言之,PLCopen之所以选择OPC UA,是因为使用OPC的统一架构解决了:①在监控层面如何发现与之通信的对象;②如何使通信对象的数据、复杂数据和功能性是完全可利用的;③如何使通信可靠、可执行而又与操作系统和编程语言无关;④如何确保信息安全(如授权和封装)。PLCopen选择OPC UA,还因为这样实现的数据交换,不仅仅是交换变量,还能够交换函数和控制逻辑的复杂数据。
图7 运用IEC 61131-3的OPC UA信息模型的系统架构
在此之前,在许多不同的行业中已经发展了许多历史形成的数据交换工具,但它们几乎无法传递复杂的数据,且扩展性也有限。现在,OPC UA为我们提供了通用、信息安全且可靠的网络通信的基础,它可以对可配置的暂停和连接中断进行监控,还可以对通信进行加密。在IEC 61131-3的环境下使用这种通信方案,将引导许多行业进入一种全新的信息交换的形式:如果某个行业定义了特殊的行规(例如一种数据结构或一个功能块),那么信息安全的问题、数据交换的效率以及可视化对象的复用等问题无需再花功夫,就自然而然地解决了。这就是说,IEC 61131-3的OPC UA信息模型与网络无关,与通讯有关(只要系统是基于以太网的物理层和MAC层协议);与数据无关,与信息有关(不同系统交换的是符合IEC 61131-3的OPC UA信息模型规范的信息,而不是产生数据的那个系统原有的数据格式)。
PLCopen和OPC UA的联合,在IEC 61131-3的软件模型的顶上附加了标准化的互操作性的层面。首先要做的就是将IEC 61131-3的软件模型映射到OPC UA的信息模型中去。这为如何把控制器与OPC UA的服务器技术整合,从而以数据结构和功能块的形式呈现给OPC UA的客户端的方法和过程予以标准化。
将IEC 61131-3的软件模型表示在OPC UA的信息模型中,形成4个层级(图6)。顶层为OPC UA层,次顶层为OPC UA DA;接下去是IEC 61131-3和OPC UA组合层,这里表示了IEC软件模型的组成成员,它们是再下一层(即控制器)对控制结构的映射。
进一步我们给出如图7所示的运用IEC 61131-3的OPC UA信息模型的系统架构,体现了它的应用前景将会渗透到工业控制系统的方方面面。
获取更多评论