1.1 工业自动化控制软件发展历史
国际自动化学会(International Society of Automation, ISA)于1995年发布了用于企业系统与控制系统集成的国际标准ISA-95,为工业自动化系统提供了统一的参考架构。经过20余年的发展,目前几乎所有工业自动化系统都遵循此标准。如图1-1所示,ISA-95标准完整地定义了一套从各类底层传感器和执行器等工业现场设备,一直到顶层企业资源规划系统(Enterprise Resource Planning, ERP)的五层金字塔架构。在其中的控制层,工业自动化系统通常采用可编程逻辑控制器(Programmable Logic Controller, PLC)或者分布式控制系统(Distributed Control System, DCS)作为底层和顶层间的桥梁。一方面,PLC以及DCS通过工业现场总线与传感器和执行器连接,形成从传感器数据、控制逻辑到执行器指令的闭环运行机制;另一方面,PLC和DCS也与上层数据采集与监控系统相连,从而将现场状态实时反馈给在场人员,以便他们进行快速故障诊断。PLC主要应用于机器设备的实时控制和运动控制等领域,而DCS则主要应用在复杂过程控制中。目前,PLC与DCS的边界已经越来越模糊,PLC具备了分布式控制能力,而DCS也可以将PLC作为控制节点。
国际电工委员会(International Electrotechnical Commission, IEC)于1993年发布了IEC 61131-3国际标准,为PLC定义了两种文本编程语言与三种图形编程语言。其中,结构化文本(Structured Text, ST)和指令列表(Instruction List, IL)用于文本编程,梯形图(Ladder Diagram, LD)、功能流程图(Sequential Function Chart, SFC)和功能块图(Function Block Diagram, FBD)用于图形化编程。IEC 61131-3标准也经历了不断的修订,特别是在2013年发布的更新中增加了面向对象编程等特性。另一方面,1992年诞生的PLCOpen组织也在积极地推动IEC 61131-3标准的发展,该组织发布了包括运动控制、安全、可扩展标记语言(eXtensible Markup Language, XML)文件格式和OPC UA兼容等在内的一系列扩展内容,旨在改进PLC的编程方法,提高其效率与开放性。
在过去的20多年间,兼容IEC 61131-3标准的PLC等设备已被工业自动化系统广泛采用。然而,基于IEC 61131-3标准的PLC面对现代大型分布式自动化系统存在以下几个痛点。
● 首先,各大厂商对IEC 61131-3的理解不同,造成虽然各大平台都兼容IEC 61131-3标准但相互之间无法兼容,例如在一个项目内已经部署西门子的PLC,那么其他品牌的P LC很难再被采用,现有的西门子P LC代码无法快速移植到其他平台。
图1-1 ISA-95企业系统与控制系统集成架构
● 其次,IEC 61131-3的顶层软件模型为单台设备,对多设备间的交互以及系统级设计并无涉及,因此将IEC 61131-3用于大型控制系统的设计往往效率低下。
● 最后,基于IEC 61131-3的PLC缺乏动态重构能力,虽然多数现有PLC可以实现在线程序修改,但在应对结构性更改时仍需停机并重新部署整套程序。
为了解决以上问题,IEC 61499标准应运而生。