预言正在实现
1980年美国一个自动化大师指出:在自动化制造商中正在产生一个巨大的壁垒,那就是缺乏一种能完整规范控制系统配置和组态的语言。如果能开发出这样一种自动化的语言,一定会给最终用户带来各种利益,诸如应用程序的可移植性、系统的互操作性、工厂生产的灵活性、以及自动化控制系统投入现场调试前的验证。40年过去了,自动化领域的学者和工程师们为了实现当年的预言做了许多工作。而这些成果的顶端应该就是IEC 61131-3和IEC 61499。其中大部分的成果已经融合到自动化的软件产品和平台中,也有一些开源的实现(如Eclipse Foundation 的4DIAC开源项目)。
进入21世纪的第二个十年之后,工业界对于全开放控制系统的呼吁和诉求也日益强烈,以至于由最终用户倡议,并积极组织开展下一代开放自动化系统OPA的标准化活动。这一标准化活动的鲜明特色,就是充分吸收和继承工业标准的已有成果,以及对一切利益攸关者都持开放态度。另外,从一开始就十分注重结合实际的验证工作,标准的制定必须经得起测试床的测试和工业装置中试的检验和验证。OPA的一个目标就是要大幅提升控制设计软件平台,而不再采用今天DCS运用的专用的功能块和软件工具。埃克森美孚(ExxonMobil)和洛马(Lockheed Martin)曾在2017年指出:看来IEC 61499堪当重任,可能解决这个目标。不过,当前只有少数(区区5个)工业控制软件,实现或部分实现了IEC 6499标准。
那么,这个标准成熟吗?有哪些实践能够最大化地实现最终用户的应用程序及组态信息的可移植性呢?
组合拳满足全开放
IEC 61131-3已经为工业界广泛接受。但由于开发较早,没有反映软件工程之后发展的成果,例如它在概念上没有支持重新配置和分布式控制。而且,它最大的的局限性在于软件模型是面向单个设备的,其顶层就是设备(Device),而没有系统的概念。
随着智能制造的发展,未来的自动化系统把移植性、可配置性、互操作性、重新配置和分布式作为高层次的要求而专门列出。而IEC 61131-3显然不能满足当今复杂工业系统的新要求。为了克服这些局限,IEC从2000年开始开发了IEC 61499标准,历经多年时间发布了标准的4个部分,但在第二版时撤回了第三部分。现在只有三部分,分别是Part 1分布式和嵌入式控制和自动化的开放架构,Part 2 软件工具,part4 一致性行规指南。这三个部分,基本上可以用成熟的技术,来推动各个领域的的智能自动化。据悉,IEC 61499-5标准也在准备中。
关于IEC 61499的开放架构,上海交大戴文斌老师对此有个精辟的概括:“IEC 61499基于工程师熟悉的方框图,将功能块(FB)从IEC 61131-3中的子程序结构扩展到分布式计算系统中的功能单位,通常作为系统级可执行建模语言使用。其核心是事件触发的功能块网络,功能块为逻辑代码提供统一接口封装控制工程网版权所有,功能块之间通过事件和数据接口相互连接。”
IEC 61499具有以下主要的特性:
☆建立在现有的领域标准的基础上
☆面向部件的功能块
☆通过连接功能块,以直觉图形的方式对控制算法建模
☆直接支持分布式
☆不同供应商的设备可进行互动
☆基本支持再组态
IEC 61499第一个工业实现是ISAGRAF,但它并不是实现所有了IEC 61499的规范。由于市场驱动的原因,在实现61499标准时采取了有选择的特性优先目标,将主要的注意力集中在扩展其工具链的系统级工程能力,而不是达到较低级别的代码的移植性(通过运用XML作为程序的表达)。因此,这一工具链在大型复杂的应用程序进行分布式部署时具有显著的能力,但语法及其表达却是专用的,并不能在此级别与其它的IEC 61499的工具软件相兼容。与传统的IEC61131-3运行环境兼容影响了ISAGRAF决定采用时间执行模型,而不是IEC 61499标准的事件驱动的执行模型。
不过这一标准自发布以来,特别是2005年至2014年这九年期间,并没有获得工业界的广泛接受。即使是在学术界做了大量的研究和开发,发表了数量不菲的论文和专著,情况也没有大的改观。比较多的意见集中在IEC 61499的几个目标如移植性、可配置性和自动化系统的互操作性并没有被完全证实。看来确实存在若干误解。
究其原因,一方面是因为标准的制定及其实现和实施之间,肯定会存在一个滞后的开发周期;更重要的原因是技术上的成熟和市场力量的推动还没有大到足够的火候。值得钦佩的是在较为艰难的发展中IEC 61499标准制定的牵头人(也是IEC 61131-3国际工业控制编程语言标准制定的主导人员)James H. Christenson创立了Holobloc Inc,无偿提供IEC 61499的开发包;还有Eclipse Foundation 的4DIAC开源项目,培育了对IEC 61499进一步的开发应用。还有在奥地利注册的NXTcontrol公司坚持了十几年,在4DIAC开源的基础上为IEC 61499的应用开发平台和产业化做了不少有效的工作,2009年就与三菱电机的德国分支合作,在三菱的PLC中装载了61499的软件。这种在欧美工业市场应用上辛勤耕耘,给予埃克森美孚有关技术管理人员深刻印象;甚至还吸引了施耐德的眼光,在2017年收购了这一很有潜力的小公司。在德国、奥地利,经常能见到这一类先知先觉的初创企业,围绕着自动化的利基市场进入深入的探索。
施耐德之所以青睐NXTcontrol,是因为他们为开发应用基于IEC 61499的软件产品,充分运用了61499的长处,规避了可能发生的短处和不能容忍的问题,依据长期积累的许多经验,使基于IEC 61499的软件开发从科学研究走向了实际的工业应用。他们客户主要是OEM、集成商,应用于楼宇自动化/能源管理。而施耐德在2016年发布了自动化组态工具Prometheus ,这一工程平台软件在功能性上与NXTcontrol的产品十分相似。将这两个软件整合,创建一种使软件独立于硬件的工程平台。
今年7月美国一家自动化杂志的主编Lydon曾发表过如下的判断:早期IEC 61499的开发由于技术上的约束,难以被广泛采用。随着技术的进展,基于IEC 61499的软件平台在原则上解决了不同供应商之间软件对硬件的移植性、可配置性和互操作性的问题,从而使软件与硬件解耦。
这意味着,通过适当地调配和组合基于时间扫描的机制和基于事件的机制,自动化系统可以采用来自IT领域的最佳实践,方便地与企业的管理系统接口。而且为了让传统的PLC和DCS系统继续在开放自动化系统中发挥作用,正在开发与IEC 61499兼容的接口软件。像OPAF和NAMUR这样的的最终用户组织,正在推进改变现有专用的硬件与软件捆绑在一起的控制系统的范式。施耐德作为跨国的工业自动化主要供应商热衷于基于IEC 61499的开发平台,谋求在开放自动化系统的方向重塑工业自动化系统的视界,这一趋向表明IEC 61499的工业应用正在进入关键的发展阶段。
实现移植性、互换性、互操作性的实践
按照《What is IEC 61499》文章中的定义,移植性是指一个软件工具能接受和正确解释由另一个软件工具编写的软件部件和系统组态;互操作性是指嵌入式设备能与其它设备一起运行操作,执行并完成分布式应用程序所需要的功能;可配置性是指任意设备及其配备的软件部件能被软件工具与多个供应商提供的设备及其配备软件进行配置。详见图1。
图1 移植性、互操作性和可配置性的图形解释
开放流程自动化OPA有四个关键概念:互操作性、互换性、组态的移植性、应用程序的移植性。在新开发的标准中OPAS V2.0和V2.1(关于组态的移植性)着重于对不同的自动化部件和系统进行控制策略的移植。在OPAS的标准中,所谓的移植性是指从软件供应商购买的应用软件,能按照应用的许可协议在一个公司内部的各种控制系统之间移植。如果经过最终用户的识别、判断和采纳,就可以将他们的知识产权IP以控制策略的形式进行移植。V2.0和V2.1中用到的已有标准包括:IEC 61131-3(用于控制概念)、IEC 61499(用于执行协调)和IEC 61804(用于功能块)。未来的OPASV3.0将着重于应用程序的移植性。
为了验证OPA的关键概念,埃克森美孚在洛马的配合下——奇特的组合——建立了一个系统集成实验室,共有10家公司CONTROL ENGINEERING China版权所有,包括ABB,ANSYS,AspenTech,Inductive Automation,Intel,nxtControl,R Stahl,RTICONTROL ENGINEERING China版权所有,Schneider Electric 和WindRiver等提供了供集成的软件、硬件等部件。目标就是探索关键技术的可行性。利用现有的标准(OPC UA、DDS、IEC 61499等),实验室采用树莓派的部件,然后集成各公司提供的工业用部件。而各种功能,则分布在不同的部件中。图2给出OPA为验证关键概念的测试结果。
图2 OPAF关键技术的验证(来源:ExxonMobil)
图2右上图描述组态的移植性。原系统组态DCN 3使用4DIAC控制软件,硬件采用树莓派。通过组态的移植性操作,可以将DCN 3改用NXTcontrol的控制软件。而图2左下图则描述应用程序的移植性。在实时先进计算平台中的NXTcontrol基于IEC 61499的应用程序PID(虚拟PLC),重新配置到DCN 1(采用Intel的硬件)中,并部署该DCN 1执行基于IEC 61499的PID应用程序。
图2左上图描述OPA系统中的互操作性。图中运行在实时先进计算平台中的ABB的软控制器(虚拟PLC)其I/O使用的是STAHL的远程I/O模块。ABB的软控制器对由NXTcontrol构成的DCN 2机型控制。DCN 2的数据送到装在实时先进计算平台中的HMI 1软件(由Inductive Automation公司提供),而且同处在先进计算平台中的ABB软控制器也与HMI 1软件交换数据。
图2左下图描述OPA系统的互换性。图中用树莓派CPU板构成的DCN 3来取代原来用Intel的CPU模块构成的DCN 3。要注意的是这两个硬件板都联接在实时总线OPC UA上,而且其中都装有基于IEC 61499的控制程序。
以上实验验证了开放流程自动化系统OPA的几个关键技术,之所以能取得符合要求的结果,重要的原因在于基于IEC 61499的软件工具已臻于成熟。
中国公司难得的机遇
总的说来,一些自动化公司已经把IEC 61499标准列为优先考虑的开发事务。这是因为标准着重于开放的解决方案,极大地简化了复杂性CONTROL ENGINEERING China版权所有,并降低了实现分布式控制系统联接性的成本。在传统的集中控制的领域,配置和修改诸如PLC等工业设备的代码受到严格的限制。PLC必须逐个地编程,然后在系统的层次上确认这些PLC可以一起协调地相互配合。控制代码的可复用的程度很差,这是一个很大的问题。
然而在IEC 61499采用事件驱动的执行模型,使分布式的控制逻辑得以实现,执行过程中通信是自动构建无需专门处理。符合IEC 61499的软件工具通过配置、编程和数据管理的集成手段和工具,将工程设计的成本大大降低。这表现为系统的所有功能(包括控制、信息处理、通信和过程接口)现在有可能不依赖于特定的硬件和操作系统,也就是将应用程序与硬件和操作系统解耦,这将改变多少年来控制硬件与软件一直紧紧捆绑在一起的状态。这将突破用户需要更换一部分硬件,软件以至提供业务价值的功能性也随之要更换的局面。这种情形类似于当软件升级时相应的部分或者全部硬件也不得不更换。现在实施的工程不再依赖于任意特定的硬件和拓扑了。符合IEC 61499的解决方案将软件与硬件解耦,彼此独立。当控制系统需要升级的时候控制工程网版权所有,软件和硬件的成本很低,而效率却很高。这种高级别的灵活性和敏捷性为智能制造的工程提供了基础。只需要使用一个软件工具可以解决所有的控制任务。工程软件工具可在现有的已经安装的基础上将新的产品与老的设备加以集成。
使用一个软件工具可以解决所有的控制任务。通信的路径是自动生成的,面向对象的工程设计可以通过预先做好的软件对象功能块来完成。编程语言与IEC 61499和成熟的IEC 61131-3标准完全一致。这意味着工程软件工具可在现有的已经安装的基础上将新的产品与老的设备加以集成。
值得指出的是,现在在圈内人士中已经将IEC 61499称为可执行的系统级建模语言,这主要是因为符合该标准的应用程序本身就是按基于模型的系统工程(MBSE)建立的,而不必再通过模型的转换就可以直接被部署执行。
显然,从现在起到未来的5至10年间,工业自动化格局一定会发生大的变化。其中IEC 61499的潜在巨大影响我们绝不能低估。考虑到相当大部分国外的公司还处在观望或刚起步的阶段,这对于国产自动化工程软件应该是一个难得的机遇。因为运用IEC 61499开发控制工程的软件平台的技术我国还是处在前沿。上海交大自动化系戴文斌团队长期耕耘于这一方向,取得了很好的开发科研成果,而上海乐异自动化科技有限公司已经能够提供基于IEC 61131-3+IEC 61499+HMI的运行时(runtime)环境。当前起点不错,依托工业自动化的OT标准,运用先进的IT软件技术来实现自动化软件的时代跨越,是一个很好的机会。只要在产业化的方向上进一步努力和积累,一个具有发展前途又有自主知识产权的自动化工程软件平台,一定会出现在我国工业自动化软件的舞台上。同时,我们呼吁有更多的公司抓住机会积极参与,形成一支活跃在工业自动化应用和开发的新军力量。