IEC61131-3推动了PLC软件的巨大进步
IEC61131-3推动PLC在软件方面的进步,体现在:
编程的标准化,促进了工控编程从语言到工具性平台的开放;同时为工控程序在不同硬件平台间的移植创造了前提条件。
为控制系统创立统一的工程应用软环境,打下坚实基础。从应用工程程序设计的管理,到提供逻辑和顺序控制、过程控制、批量控制、运动控制、传动、人机界面等统一的设计平台,以至于将调试、投运和投产后的维护等,统统纳入统一的工程平台。
应用程序的自动生成工具和仿真工具。
为适应工业4.0和智能制造的软件需求,IEC61131-3的第3版将面向对象的编程OOP纳入标准。
之前已开发了许多为PLC控制系统工程设计、编程和运行,以至于管理的工具性软件。其中包括PLC编程软件包、人机界面和SCADA软件包、程序调试仿真软件,以及自动化维护软件等等。尽管这些软件都是为具体的工程服务的,但是,即使在对同一对象进行控制设计和监控,它们却都互不关联。不同的控制需求(如逻辑和顺序控制、运动控制、过程控制等)要用不同的开发软件;在不同的工作阶段(如编程组态、仿真调试、维护管理等)又要用不同的软件。而且往往在使用不同的软件时必需自行定义标签变量(tags),而定义变量的规则又往往存在较大的随意性,导致对同一物理对象的相同控制变量不能做到统一的、一致的命名。缺乏公用的数据库和统一的变量命名规则,造成在使用不同软件时不得不进行繁琐的变量转换,重复劳动导致人力资源成本高、效率低下。
编程语言标准的推广工作也是一项十分重要的工作,必须在一个非赢利的国际组织的全面规划和安排下,积极推广,才能使标准深入到各种应用中,充分发挥其开功能。PLCopen就是这样一个矢志不移的国际组织。
其最主要的成果之一就是构筑工控编程软件包的开发环境;同时,还在这些编程系统的基础上进一步发展为统一工程平台,作了许多基础性的开创工作;开展了编程系统符合IEC标准的认证工作;制定了运动控制功能库,在IEC的开发环境里加入了运动控制技术,将PLC和运动控制的功能组合在控制软件的编制中;为实现IEC61131-3编程与其它环节间的数据交换,规范了XML格式作为数据交换的接口,2019年这个规范被IEC进一步开发为IEC61131-10,对PLC程序的交互采用形式化描述的方法,使符合标准的平台不但在编程语言保持一致,而且在标准语言基础上编制的程序也可能跨平台实现共享,这样便完成了对PLC编程语言层面的关注上升为对描述层面的关注;定义了在IEC61131-3的开发环境下涉及安全的规范;公布了《PLC性能的基准测试方法》,通过所定义的测试概要,以一种客观的方式,为寻求评估不同PLC平台真实性能提供了规范化的方法。
近些年来PLCopen又陆续推出若干技术文档,如《代码编制指南》(coding Guideline),《创建符合PLCopen标准的程序库》(Creating PLCopen Compliant Libraries),《用SFC进行结构化》(Structuring with SFC -does & donts),《面向对象编程指南》(Guidelines for Object Oriented Programming)等。
在《面相对象编程指南》中展示了如何将“经典”程序转换为面向对象程序的方法,指出:当以面向对象的方式设计应用程序和库时,要区分模块和命令。模块代表自动化应用程序的一部分,包括它们的软件功能,也可以根据需要分层嵌套。例如机器的角色、传感器或组件组合可以用“模块”在代码中表示。每个模块都实现一个通用的IModule接口。一些模块还实现了一个更专门的接口。例如,提供轴功能的模块正在实现一个IAxis接口。命令表示模块的具体操作。它被分配给一个模块或一组实现相同接口的模块。每个命令将实现一个通用的iccommand接口,并将遵循符合PLCopen功能块的设计准则。与轴相关的命令提供一个IAxis类型的输入,以获取它们将操作的相关轴实例的引用。有了这种结构,就有可能将模块和命令在面向对象编程时和谐地结合在一起。
长期以来PLCopen国际组织还注重于许多guojibiaozhun化组织和基金会(譬如ISA、OPC基金会等)合作,开发了基础性的规范,以建立一种开放标准的生态系统。这些工作都为为智能制造和工业4.0的应用和发展,做了好些先导性的探索和准备,从而打下了坚实的基础。譬如与OPC基金会合作开发的:IEC61131-3的信息模型(2010.5发布),IEC61131-3 的OPC UA Client FB客户端功能块(2015.3发布),IEC61131-3的OPC UA Server FB服务端功能块(2015.3发布)。这些规范经美国ISA属下的OMAC的二次开发,已经成功的应用于专为包装行业系列标准PackML中,大大简化了包装机械与上位生产管理系统的通信。此外,PLCopen还积极与参与美国开放集团(The Open Group)经管的开放流程自动化论坛OPAF,为新一代的开放自动化系统制定系列标准O-PAS做出了应有的努力(图2)。新一代开放自动化系统的显著特征是彻底摆脱了原有DCS和PLC硬件和软件捆绑的枷锁,采用行之有效的工业自动化领域的guojibiaozhun和IT领域的实际上的标准和规范,构建具有互操作性、内生信息安全、软硬解耦的分布式控制系统。
工业互联网、工业物联网、工业4.0和智慧工厂的应用,如今正在快速推进和实现。
开放的PLCopen规范和标准改善了自动化控制系统的设备可互操作性;运用基于IEC61131-3的OPC UA Server FB服务端功能块,将简化了由传智能感器、控制器与企业管理系统和生产调度执行系统通信,与云端通信以及与互联网通信。
图2 开放自动化趋势正在重塑DCS和PLC
在配合工业4.0的参考架构模型(RAMI4.0)方面,PLCopen认为它此前开发的各种规范都很适配RAMI4.0的要求,需要做的是开发PLCopen相关技术功能如何在资产管理壳AAS实现。例如在图3中表述的机械装置AAS,其中运用PLC控制的子模型固件,就是在应用PLCopen制定的各种规范的基础上由系统集成商按照机械装置的技术要求和工艺要求编制的应用程序。目前在欧洲工业界普遍接受AAS是工业资产的一种标准化的数字孪生的理念。为了能够存取AAS中的这些功能,并能提供给在控制器中运行的应用程序使用,PLCopen定义了一组功能块。这样,程序编制人员便可以用一种协调的方式存取相关的信息。此外,PLCopen正在编写一份文件,通过PLCopen OPC UA组态文件展示PLCopen和PackML的集成。遵循应用程序开发的基本规则,以一种协调的方式与机器进行接口,并基于OMAC PackML状态机、模式和Packtags(PackML定义的交换数据的标签)集成生产线中的机器,由于采用标准化的方式集成,操作将变得很容易,有手到擒来的功效。通过结合OPC UA浏览功能,用户甚至可以搜索新的功能,并更容易地将它们添加为新的应用程序的基础(图4)。
图3 PLCopen正在开发PLCoen相关技术功能的AAS实现
图4 通过PLCopen OPC UA组态文件展示PLCopen和PackML的集成