▌介绍
PLCopen和OPC基金会之间的合作不仅仅体现在规范制定活动中,合作的结果也将在实际应用中得到 体现。 它们之间的合作融合了两项技术:PLCopen 技术是基于IEC 61131-3 编程标准。
OPC 基金会技术是基于OPC 统一架构,该规范由其基金会成员共同制定且已提交至IEC 以实现标准化。
▌PLCopen 和 IEC 61131-3
著名的编程标准IEC 61131-3制订了几个细则,他们作为信息和数据对其他系统是非常有用的。最先的一些细则展现在软件模型中。例如配置描述了整体的控制对象;资源是执行IEC程序的处理手段;任务控制着一系列程序或功能块的执行;程序通常由函数和功能块组成,可用于数据交换。函数和功能块是基本的构建模块,包括数据结构和算法。
这里的前缀Ctrl是为了避免与OPC UA中的术语产生冲突。例如,PLCopen和OPC UA中对“程序”的定义略有不同。
图1. IEC 61131-3 软件模型
该模型中的数据交换是通过变量来实现的,变量的调用通常是通过其名称进行。为了更好地描述信息内容,变量可以有复杂的结构。变量也被用于带有数据结构的函数和功能块。
▌OPC 基金会和OPC 统一架构
PLCopen/IEC 61131-3中的软件模型也正是用在OPC UA中的信息模型。OPC标准主要用于控制器或设备与HMI、SCADA系统之间的在线数据交换,其中控制器或设备的数据由OPC服务器提供并通过OPC客户端进行采集使用。OPC UA是独立于平台的,并且服务器和客户端可以直接集成到设备和控制器中。OPC UA的安全、访问控制以及可靠性等特性是直接建立在传输机制中。
OPC UA的信息模型为服务器公开对象给客户端提供了一种标准方法。OPC UA中的对象由其他对象、变量和方法构成。OPC UA还允许表达与其他对象之间存在的关系。OPC UA中的对象用来表示IEC61131-3中软件模型的组件,如:程序、任务、资源、功能块以及用于表示数值的变量。
OPC UA服务器提供给客户端的一组对象及相关信息被称为其地址空间。OPC UA 提供了如下功能:浏览包含数据项的分层命名空间,以及读取、写入并监控这些项的数据变化。
图2. OPC UA 客户端/服务器端架构
如果在OPC UA信息模型中表示IEC软件模型,可以如下图3所示,图3中的模型可划分为四层,上面两层与OPC UA相关。第三层描绘了IEC 61131-3与OPC-UA之间的联系。图中给出了IEC软件模型的元素,并在最底层映射到控制架构。
图4描述了一个自定义功能块到OPC UA信息模型的映射。在图4的左侧可见一个命名为“CTU_INT”的计数器功能模块的定义,接下来是输入变量、内部变量和输出变量的定义,再接下来是定义功能的算法或代码。再下面是一段使用同一个功能块的两个实例程序:MyCounter和MyCounter2。
右侧是信息模型,包括了在顶部名字为“CtrlFunctionBlockType”的“Types”。在其下面的左边是输入变量,右边是输出和内部变量。正下面可以看到功能块的两个“实例”。
通过这个信息模型,控制器上的OPC UA服务器可以向客户端提供图中右侧所有关于功能块类型和运行实例的信息。这使透明的通信成为可能。由于信息模型可以在运行时被发现,而且功能块实例可以耦合到客户端准备的一个图形化模板中,PLC和可视化模块的可重用性、工程效率将会提高。
OPC 基金会和PLCopen 国际组织通过技术方面的合作致力于独立于平台和制造商的信息与通信结构规范的实现。OPC UA(OPC 统一架构)和IEC 61131-3 的这种技术结合对实现自动化结构规范化产生了有益作用。
这项工作的目标是提高控制器、可视化模块以及他们之间通讯的可复用性,长远目标是显著提高工程过程效率。
举个例子,可以想象一个场景,一个运行在由不同供应商提供的不同控制平台上的PLC工程,但在外部通过可视化工具或是从MES/ERP的角度来看是完全一样的:这主要得益于OPC UA公共工作组的努力,将IEC61131-3软件模型(包括所有PLC对象和描述)描述到OPC UA命名空间中。
如今在不同的行业领域许多老旧的数据交换协议仍在使用。它们基本无法传输复杂数据并且扩展性非常有限。然而,OPC UA为通用、安全、可靠的网络通信提供了基础,比如提供了可配置的超时、连接中断的监测以及加密通信。若在IEC 61131环境下采用这种通信方式作为标准,将引领许多行业进入一个全新的信息交互模式:如果能制定行业规范,比如数据结构或功能块,那么安全高效的数据交换以及可视化对象的重用性问题将迎刃而解。随着PLCopen和OPC UA的结合,在IEC 61131-3之上一个更高级别的互操作性将会实现标准化。
首先是将IEC 61131-3的软件模型映射到OPC UA的信息模型中,这规范了带有OPC UA服务器技术的控制器将他们的数据结构和功能块公开给HMI等OPC UA客户端的方式。
如今,一个IEC 61131-3控制程序运行在由不同供应商提供的不同控制平台上,通过OPC UA与控制器进行通信并读取过程变量。尽管程序的控制代码相同,但因不同平台在OPC UA服务器命名空间内的表示方式各不相同,所以每次都需要修改可视化程序以适配不同的控制器。然而,客户的需求是相同的控制工程通过OPC UA可以用相同的方式访问。除了可以访问控制器变量的实例以外,更进一步要能访问元数据,比如复杂数据结构如何构造的描述、使用的功能块的类型、以及输入输出参数变量。其他元数据可以是任务数及其周期。整个IEC 61131-3软件模型和控制器程序被映射到OPC UA的命名空间。该命名空间可以由集成到嵌入式控制器的OPC UA服务器提供。
为什么使用OPC UA?通过使用OPC UA,如下问题的将能找到解决办法:
如何找到通信的对端?
如何使得通信对端的数据、元数据以及功能变得可访问?
如何使通信可靠、高性能以及独立于操作系统和编程语言?
如何确保安全(比如身份验证与加密等)?
OPC UA提供了通用、安全且可靠的网络通信的基础,比如提供的可配置的超时和连接中断的监测、加密通信和多种通信协议,这些都是OPC UA的一部分。许多其他组织使用OPC UA作为现代化的、高效的传输层。PLCopen很快认识到了这种可能性,对通信双方交换的内容(不仅是变量,还有函数、控制逻辑的元数据等)进行描述,以适应和兼容OPC UA。
在信息模型的基础工作完成之后,还制定了通信功能块规范,能将控制器直接接入到OPC UA框架下。这意味着巨大简化,因为现在控制程序员经常需要处理相关的分支协议,而这些协议每次都需要修改或扩展以便能支持安全性和更多的数据对象。随着PLCopen和OPC UA的结合,在IEC 61131-3之上一个更高级别的互操作性将会实现标准化。
PLCopen组织简介
自1992年成立至今,PLCopen国际组织契而不舍地以改善自动化的效率为己任,开发发展了涵盖工业控制工程编程、调试、维护、服务的统一平台,运动控制,通信,机械功能安全以及基于IEC 61131-3的XML模式等规范,更重要的是通过在欧洲的实际应用验证和广泛运用,进而推广到包括美国、日本、中国等工业发达国家和新兴发展中国家,乃至全世界。这些都作为在德国工业4.0推进过程中重要的基础工业技术,特别是软件定义制造的方向上一类不可或缺软件规范而载入了工业发展的史册。
仅仅停留于此绝不是PLCopen的风格,这几年来还殚心竭虑地从事如何把涉及PLC、运动控制、安全控制等诸方面的工业硬软资产科学的映射到虚拟世界中去。本文简要的概括了这些积极有效的工作,以期赢得智能制造圈内人士的关注,一起来推动和发展。
PLCopen中国组织成立于2005年。作为PLCopen国际组织的成员,12年来不遗余力的推动上述的各项PLCopen技术和规范在我国的成功而广泛的应用。尤其在近几年以智能制造为核心的《中国制造2025》规划的实施过程中,倡导PLC控制、机器人控制和CNC控制的融合发展,倡导为高等教育的新工科建设和职业教育改革的人才培养提供因应世界发展趋势的理念和技术。正因为多年的耕耘和积累,许多PLCopen中国组织的成员在为我国的PLC,包括机器人控制和CNC控制在内的运动控制等多个方面都作出了积极贡献。
PLCopen中国组织
名誉主席:彭瑜
主席:严义
--------------------------------
地址:北京市西城区德胜门外教场口1号1号楼404
电话:010-62077005
邮箱:plcopen@cameta.org.cn