序二
本书是上海交通大学戴文斌等所著的国内第一本全面阐述分布式控制系统建模语言IEC 61499的技术专著。本书以IEC 61499标准内容为框架,按顺序介绍这个国际标准(同时也是中国的国家标准GB/T 19769—2015)的基本概念、设计范式、工具演示、设计实例;以若干从简单到复杂的工程项目的开发为主要流程,穿插介绍IEC 61499的各知识点、工具功能及开发技巧;并专门开辟描述IEC 61499的集成开发环境和编程平台工具的章节;还结合工业自动化系统的演进趋势(例如施耐德提出的“扁平化信息驱动架构”),讨论IEC 61499与未来技术的协同发展。因此可以说是一本集理念、概念、体系架构、设计范式、实现和具体实施于一体的工程科学技术著作。凡是希望用较短的时间深入了解IEC 61499的内涵,并开始进入这一新兴方向的工业自动化和相关专业的工程技术人员、高等学校的教师、研究生和高年级学生,都可以从中获得很多知识、技巧和方法。
为了帮助读者在阅读本书之前对IEC 61499有个比较概括的了解,以下我愿意将这个对未来的工业自动化、智能制造和分布式工业控制系统的发展有着积极和重要意义的国际标准的作用做一个概述。
1.IEC 61499的历史责任
在1969年PLC问世和1975年第一套DCS推出之后,经过几年的实践,敏锐且具有前瞻眼光的自动化工程师发现,由于缺乏一种能完整规范控制系统配置和组态的语言标准,也由于控制系统的硬件与软件过于紧密的耦合,不同自动化制造商的产品互不兼容,由此产生了一个难以逾越的巨大壁垒。如果能开发出一种自动化语言,使控制系统的硬件与软件解耦,一定会给最终用户带来各种利益,诸如应用程序的可移植性、系统的互操作性、工厂生产的灵活性,以及可实现自动化控制系统投入现场调试前的验证。
经过几十年的不懈努力,自动化领域的学者和工程师们做了许多工作,产出了不少成果,而这些成果的顶端应该就是国际标准IEC 61131-3和IEC 61499的发布、推广和在工业实践中的扩展和发展。其中大部分的成果如今已经融合到自动化软件产品和平台中。
尽管有了巨大的进步,但是现状离尽善尽美还有相当大的距离。而要克服这些障碍,最需要做的就是要充分认识到国际标准的应用开发需要市场的推动,并将此付诸实践。为什么这样说?我们不妨回顾一下IEC 61131-3和IEC 61499推广应用的发展过程。
IEC 61131-3作为工业控制自动化编程语言的国际标准,从1993年发布历经十多年的努力,才逐渐获得全世界工业界的广泛认可和接受。作为IEC 61131-3的补充和扩展,IEC 61499在2005年发布,历经十几年的锤炼,目前正进入工业应用发展的启动阶段。这一标准自2005年发布至2014年这9年期间,并没有获得工业界的广泛接受,即使是在学术界做了大量的研究和开发,发表了数量不菲的论文和专著之后,情况也没有大的改观。这当然是因为标准的制定及其实现和实施之间,不可避免会存在一个滞后的开发周期;更重要的原因是技术上的成熟度和市场力量的推动还没有达到足够的火候。这种状况直到近几年才开始发生了大的改变。
进入21世纪的第2个10年之后,工业界对于全开放控制系统的呼吁和诉求也日益强烈,以至于在2016年由最终用户倡议并积极组织开展下一代开放自动化系统OPA的标准化活动。这一标准化活动的鲜明特色除了充分吸收和继承工业标准的已有成果,以及对一切利益攸关者都持开放态度外,它从一开始就十分注重结合实际的验证工作,其开放流程自动化标准的制定必须经得起测试床的测试和工业装置中试的检验和验证。OPA的一个目标就是要大幅提升控制设计软件平台,而不再采用目前DCS运用的专用的功能块和软件工具。经过反复研究和讨论得出的结论是IEC 61499可以达到这个目标。不过当时只有少数工业控制软件实现或部分实现了IEC 61499标准。这就使人们有理由怀疑:这个技术成熟吗?有哪些实践能够最大化地实现最终用户的应用程序及组态信息的可移植性?同样在2016年,在意大利发起了面向中小型制造业的Daedalus项目,该项目积极开拓和尝试将IEC 61499分布式智能控制系统用于离散制造。显然这两个项目在未来开放自动化的方向上形成了互补的局面,虽它们各有侧重和所长,但其理论和实践的基础都是IEC 61499。
随着工业市场对智能制造、工业互联网、分布式系统、开放自动化等的需求日益迫切,IEC 61499这颗多年来只在学术界才有人重视的明珠,终于引起了工业界的关注。早期IEC 61499的开发由于技术上的约束难以广泛采用的局面正逐步好转,随着技术的进展,使得基于IEC 61499的软件平台,在原理和实际应用中解决了不同供应商之间软件对硬件的可重构性、互操作性和可移植性的问题,从而为软件与硬件的解耦奠定了基础。同时,通过适当地调配和组合基于时间扫描的机制和基于事件的机制,可以使自动化系统方便地采用来自IT领域的最佳实践,易于与企业的管理系统对接。而且为了让传统的PLC和DCS系统继续在开放自动化系统中发挥作用,相关组织也正在开发与IEC 61499兼容的包装软件(Wrappers)。像OPAF和NAMUR这样的最终用户组织,正在推进改变现有专用的硬件与软件捆绑在一起的控制系统的范式。作为跨国的工业自动化主要供应商之一的施耐德电气热衷于基于IEC 61499的开发平台,谋求在开放自动化系统领域重塑工业自动化系统的格局,这一趋势也表明IEC 61499的工业应用正在进入关键的发展阶段。
2.IEC61499的应用现状、前景和潜力
IEC 61131-3已经为工业界广泛接受,这一现实无可辩驳。不过可能是因为它开发较早,没有反映软件工程之后发展的成果,在概念上没有支持重新配置(Reconfiguration)和分布式控制。IEC 61131-3的局限性还表现在它的软件模型是面向单个设备的,其顶层就是设备(Device),以今天的视角审视,它缺乏系统的概念。
随着智能制造的发展,未来的自动化系统把可重构性、互操作性、可移植性和分布式作为高层次要求的必要条件。显然,IEC 61131-3难以满足当今复杂工业系统的新要求。为了克服这些局限,国际电工技术委员会(IEC)从2000年启动了开发IEC 61499标准的工作,历经多年发布了标准的4个部分,但在发布第二版时(因已经出版了不少诠释该标准的技术书籍和论文)撤回了IEC 61499-3,所以现在只有第1部分:分布式和嵌入式控制和自动化的开放架构,第2部分:软件工具,第4部分:功能块符合要求的行规,基本上用成熟的技术赋能各个领域的智能自动化。据悉,主要作为系统级的建模规范的IEC 61499-5正在准备中。
关于IEC 61499的开放架构,以下描述精辟而概括:“IEC 61499基于工程师熟悉的框图,将功能块(FB)从IEC 61131-3中的子程序结构扩展到分布式计算系统中的功能单位,通常作为系统级可执行建模语言使用。其核心是事件触发的功能块网络,功能块为逻辑代码提供统一接口封装,功能块之间通过事件和数据接口相互连接。”
IEC 61499具有以下主要特性。
● 建立在现有的领域标准的基础上。
● 现代的事件驱动、面向对象的开发语言。
● 硬件抽象。
● 通过连接功能块以图形化的方式对控制算法进行建模。
● 直接支持分布式系统的实时通信。
● 不同供应商的设备可互操作。
● 自动管理资源之间低层级可变化绑定。
● 基本支持重新组态。
IEC 61499第一个工业实现是ISAGRAF,但它并不是这一国际标准的全面实现。它没有实现IEC 61499的全部规范,而是由于市场驱动的原因,在实现IEC 61499标准时采取了有选择的优先目标,将主要的注意力集中在扩展其工具链的系统级工程能力,而不是达到较低级别的代码的移植性(通过运用XML作为程序的表达)。因此,这一工具链在对大型复杂的应用程序进行分布式部署时具有显著的能力,但语法及其表达却是专用的,并不能在此级别与其他的IEC 61499工具软件兼容。与传统的IEC 61131-3运行环境兼容也影响了ISAGRAF,它决定采用时间执行模型,而不是采用IEC 61499标准的事件驱动的执行模型。
自发布之后的2005~2014年这9年期间,这一标准并没有获得工业界的广泛接受。比较多的意见集中在IEC 61499的几个目标上,例如可移植性、可重构性和自动化系统的互操作性并没有被完全证实,这其中看来确实存在若干误解。值得钦佩的是,在较为艰难的发展过程中,IEC 61499标准制定的牵头人(也是IEC 61131-3国际工业控制编程语言标准制定的主导人员)James H. Christensen创立了Holobloc公司,无偿提供IEC 61499的开发包;还有Eclipse基金会的4DIAC开源项目,培育了对IEC 61499进一步的开发应用。在奥地利注册的NXTcontrol公司坚持了十几年,在4DIAC开源的基础上为IEC 61499的应用开发平台和产业化做了不少有效的工作,该公司2009年就与三菱电机的德国分支合作,在三菱的PLC中装载了基于IEC 61499的软件。他们在欧美工业市场应用上辛勤耕耘,给埃克森美孚的有关技术管理人员留下了深刻印象。他们还吸引了施耐德电气的眼光,后者在2017年收购了这家很有潜力的小公司。
据分析,施耐德电气之所以青睐NXTcontrol是因为他们在IEC 61499实际的工业应用领域积累了许多经验。为了开发基于IEC 61499的软件产品,他们接触到了这一标准的长处、短处和不能容忍的问题,也有了相应的解决方案。NXTControl面对的客户主要是OEM和集成商,他们在楼宇自动化及能源管理领域有很多的应用案例。而施耐德电气在2016年发布了有远见的自动化组态工具Prometheus,这一工程平台软件的功能与NXTcontrol的产品十分相似。将这两个软件整合,即创建出了一种使软件独立于硬件的工程平台,这或许是其主要的价值所在。如今施耐德电气已正式推出了EAE(EcoStruxure Automation Expert),开启了较为广泛的IEC 61499的工业应用。
2020年,美国的CPLANE.ai公司和埃克森美孚合作开展了开放流程自动化系统的自动编排试验项目,其中试验装置模拟了一个化学混合和加热过程,涉及几个装置:反应罐批处理装置、热交换器、产品存储罐和一个冷水机;控制系统基础设施包括14个单独的计算设备,其中13个是DCN分布式控制节点,另一个是单独的ACP高级计算平台。DCN运行工业过程的控制回路,而ACP内装有人机界面(HMI)应用程序以及施耐德电气的IEC 61499工程设计工具EAE。这些计算设备是由不同微处理器(英特尔X86和ARM)的异构组合,它们具有不同制造商提供的不同配置的RAM和存储空间。将这些设备安排在两个不同地域,大约一半的计算设备在纽约,另一半在加利福尼亚,以表示真正的分布式拓扑。试验的目标是通过CPLANE.ai的Industrial Orchestrator正确自动安装和部署模拟化工厂控制系统所需的所有软件。试验得到了相当满意的结果,在大约10min内完成了“启动阶段”操作,工程效率之高实在超乎想象。因为按照以往的经验,手动安装一个类似的系统通常需要2~3名工程师花费几天或一周的时间。
通过采用现有的OPAF标准和一些现有的自动化产品,并用最先进的云编排技术予以集成组合,证明这些技术有足够的能力部署和管理开放流程自动化控制系统,包括从初始设计到整合分布在不同地域的多个目标控制器硬件,以至于有专家评论说,这是最接近完成开放流程自动化目标的成功试验。
以上描述的IEC 61499近些年的实际进展,给予关注和从事这个方向的科学家和工程师巨大的鼓舞。那么,IEC 61499还能怎么向前发展和扩充?下面谈谈我个人的意见。
IEC 61499定义了分布式信息和控制的高级系统设计和建模的语言。运用IEC 61499可以对诸如以下的多种应用加以封装:功能性,基于图形组件的设计,事件驱动的执行,跨多个自动化和控制任务执行的分布式自动化应用程序,以及边缘计算设备等。通过创建多方位的利益格局促使IT/OT系统的融合,改善软件应用的投资回报率(这是源于软件的,可不依赖于硬件平台运行),以及从根本上缩短新产品上市时间的工程设计技术。
IEC 61499可加速促进IT/OT系统融合的原因在于:①IEC 61499的思维方式和工作流程与IT一致。在解决问题的工作和思维方式上,IT采用自顶向下的方法,惯于从总体需求出发,然后划分为若干的子部件,且针对子部件提出和开发解决方案。这种解决问题的思路,不仅能了解问题的所在,而且也很好地给出了解决问题的方法。②IEC 61499不定义构成其功能块的编程语言以及分布式模块之间的通信协议,编程语言和通信协议可以自由选择,其开放性达到了目前IT界开放性的高度。因此,目前OT领域与IT领域的多种编程语言和通信协议都可以通过统一的模块和接口描述无缝对接,从而满足OT与IT融合的新型边缘计算的工程应用。③近年来在工业自动化领域出现的一个重要趋势是,OT产品和从业公司都会主动考虑用户对IT系统的需求,并且提出OT与IT整合一致、相互融合的解决方案。IEC 61499是满足这一趋势的基础标准和正确起点。
此外,IEC 61499可以为智能制造工程提供灵活性和敏捷性。IEC 61499采用事件驱动的执行模型,使分布式的控制逻辑得以实现,在执行过程中,通信是自动构建的,不需要专门处理。符合IEC 61499的软件工具通过配置、编程和数据管理的集成手段和工具,将工程设计的成本大大降低。这表现为系统的所有功能(包括控制、信息处理、通信和过程接口)现在有可能不依赖于特定的硬件和操作系统,也就是将应用程序与硬件和操作系统解耦,这将改变多年来控制硬件与软件一直紧紧捆绑在一起的状态。软硬件捆绑有可能导致软件升级时相应的部分或者全部硬件也不得不更换。运用IEC 61499的机理,当控制系统需要升级的时候,软件和硬件的成本很低,而效率却很高。这种高级别的灵活性和敏捷性为智能制造的工程提供了基础。
开发基于IEC 61499的集成开发环境是推广和实践的重要抓手。开发出基于IEC 61499的集成开发环境后,使用一个软件工具就可以为所有的控制任务提供解决方案。通信的路径是自动生成的,面向对象的工程设计可以通过预先设计好的软件对象功能块来完成。编程语言与IEC 61499和成熟的IEC 61131-3标准完全一致。这意味着工程软件工具可在现有的已经安装的基础上将新的产品与老的设备加以集成。
我还愿意指出,IEC 61499最有潜力的重要属性是它属于一类可执行的系统级建模语言,这主要是因为符合IEC 61499规范的应用程序本身可以按基于模型的系统工程MBSE建立,不必再通过模型的转换就可以直接部署执行。这无疑比旨在建立“工业自动化的联合国”的OPC UA,通过OPC的信息模型与各种类别的自动化场景结合的伙伴信息模型(或称配套信息模型)来实现MBSE来得直接和简洁。
在结束本篇序言时,我郑重地呼吁:从现在起到未来的5~10年间,工业自动化格局一定会发生很大的变化。其中IEC 61499潜在的巨大影响绝不能低估。考虑到相当多的国外公司还处在观望或刚起步的阶段,这对于国产自动化工程软件应该是一个难得的机遇。我国从事工业自动化专业的工程技术人员和学者应该毫不犹豫地抓住这个难得的机遇。
运用IEC 61499开发控制工程的软件平台的技术在我国还刚刚兴起。上海交通大学自动化系的团队长期耕耘于这一方向,取得了很好的科研成果;上海某科技公司已经能够提供基于IEC 61131-3+IEC 61499+HMI的运行时(runtime)环境……只要在产业化的方向上进一步努力积累,找到具体落实的举措,我国工业自动化领域出现具有发展前途、又有自主知识产权的工程软件平台指日可待,而各个细分行业的管控一体化标准体系也都是很有发展前途的应用场景,非常适合结合行业的需求,运用基于IEC 61131-3和IEC 61499的集成开发环境和平台软件。
彭瑜
PLCOpen中国区名誉主席、教授级高工
2021年5月30日