使用OPC UA 封装IEC61499模型

29 篇文章 18 订阅
29 篇文章 10 订阅

          OPC UA是工业自动化领域的一项重要的通信协议。它是一种基于信息模型的通信协议。当一个信息系统中都采用了OPC UA通信协议之后,组件之间能够以模型中的对象,变量,方法和事件来相互交换信息。它将是工业4,0 技术的重要组成部分。

           IEC61499是分布式控制系统建模标准,它的核心是基于事件的功能块。是被人们看好的一项开放自动化领域的技术标准。

        这两项技术貌似并不相干,解决的问题也各有不同。但是它们也有相似的地方,它们都是一种建模的方法,OPC UA 侧重于信息交换的信息模型,关注设备之间的互联互通,而IEC61499 侧重于分布式控制测量系统执行组件的建模。关注程序的执行。所以也称为分布式自动化的可执行建模语言。它们之间的互补性非常大。另一方面,它们都是基于面向对象的思想,许多的方法,概念和术语具有相似性。

    目前阶段,IEC61499 运行时已经增加了对OPC UA 信息服务器功能的支持。施耐德的IEC61499 PAC 中也包含的OPC UA 服务器。但是它们大多数停留在为IEC61499 运行时提供一个OPC UA 接口,使外部设备能够访问到IEC 61499 功能块应用的内部参数。国内外专家也对利用OPC UA信息模型构建IEC61499 模型的课题做了研究(可见文章结尾的链接)。

           本文从信息模型的角度做一些对比和介绍,并探讨两项标准深度融合的可能性已经会产生何种结果。

OPC UA 与IEC61499的比较

        OPC UA和IEC61499 都是一种建模方式。我们在这里对这两项技术做一些对比:

表-1

OPC UA

IEC61499

建模的能力

是否面向对象思想

是否支持分布式部署

侧重点

信息模型

可执行模型

建模难度

容易

普及程度

逐步普及

不普及

        从上面的对比来看,OPC UA的适应性更强,建模的能力更加灵活。OPC UA也更加普及,但是OPC UA 是一种Client/Server 架构的通信协议。它对服务器内部程序的编排,特别是分布式系统程序编排的支持相对比较弱。而IEC61499 正巧弥补了OPC UA 的不足。

   IEC61499 的模型相对比较简单,完全能够使用OPC UA来构建,反过来,以IEC61499 的模型来构建OPC UA 信息模型要简单的多。

          OPC UA 与IEC61499 深度融合的另一个优点也许是可以使用IEC61499 图形化的建模方法来构建OPC UA 的信息模型。使设计者集中地建立模型,而不是纠结细节。使用类似uaModeler 这样的工具要设置的参数太多。

IEC61499 功能块的封装

        单从IEC61488 的外部封装来看,IEC61499功能块包括了事件的输入,事件的输出,数据的输入和数据的输出。它们完全可以使用OPC UA 信息模型来构建功能块。下图是一个简单Inv功能块的OPC UA 模型封装示意图。

          从图中看出,IEC61499 功能块中的事件使用了condition 来建模。为什么不之间使用EVENT 呢?这是因为OPCUA 模型中的Event类型在地址空间是不可见的。而condition 类型事件类型派生出来的对象类型,

IEC 61499 应用程序的OPC UA 模型

        IEC614999 的应用是功能块网络。功能块网络是功能块实例通过连接(connection)构成的。在OPC UA信息模型中,connection 对应于reference。我们可以使用hasConnection来作为功能块的连连接。

例如下面是一个最简单的IEC61499 功能块网络

 对应的OPC UA 模型:

IEC61499系统的OPC UA 信息模型

IEC-61499 构建的系统是一个分布式控制系统,它的模型如下:

        IEC61499的模型中,应用是整体开发,分段部署到分布式的设备上运行的。在上图中,Application1 的gong功能块网络被部署到了系统的Device1~Device4 的设备上的。

   从IEC61499 分布式系统的特点出发,为IEC611499 构建OPC UA 的信息模型的方式会有多种方法。

  构建IEC61499分布式系统的OPC UA模型

为IEC61499构建OPC UA 模型.

         这种方式为IEC61499 系统构建了整体的信息模型,OPC UA能够访问IEC614499 系统的所有参数。IEC61499 OPC UA服务器实现网关的作用。OPC UA 客户端软件通过OPC UA 访问IEC61499的所有参数,并将它们转换成为IEC61499 的命令。

表-2

IEC61499

OPC UA 服务

Request Create FB

AddNodes

Request Create Connection

AddReferences

Request  Start/Stop

Call(method)

Create Watch

CreateSubsccrriiption

Delete Watch

DeleteSubscription

        这种方法的优点是对系统构建一个整体的模型。而且保证了IEC611499 的运行时没有任何的改变。设备之间的通信协议仍然是采用IEC614499 的协议。OPC UA Server 与IEC 61499 之间采用了IEC61499 profile 中规定的管理命令方式。不过在笔者看来,一个集中的网关软件并不符合分布式系统的要求,并且增加了网络的带宽和复杂性。

     另一个问题是,对于自动化系统运维而言,他们喜欢直接访问IEC61499 的信息模型,还是将它们提取出来做成设备的模型更合适?当然,这是容易做到的。

构建IEC61499控制器的OPC UA 模型

        另一种封装IEC61499 的方法是针对每个设备建立OPC UA信息模型。每一个设备中都构建一个OPC UA 服务器,·并且能够将IEC61499 的模型部署到设备中,如下图所示:

IEC614499 功能块应用的部署

        IEC61499 开发环境中同样可以输出模型的文本描述文件,它们是XML 格式的文档。要将它们自动转换成为opcua 信息模型。当然你也可以使用OPC UA 的方法来构建。

       可以增加一套IEC61499 Engineering  的工具软件(前一阶段我曾经做过这方面的工作),实现这种转换工作。从OPC UA 信息模型的角度,IEC61499 Engineering 是Client类型的程序。

        可以采取OPC UA 的服务机制(Service)来实现IEC61499 功能块的远程部署。OPC UA中Service 定义了应用层数据通信。Service 是Client 端访问服务器端信息模型的方法。在(UA Part4)对Service 进行了抽象定义。表-2 中罗列了IEC61499 管理命令与UA service 之间的对比。

        另一方面,IEC61499 标准并没有对功能块之间的通信协议做出具体的规定。通过SIFB选择不同的通信协议。与OPC UA 融合之后,可以统一规范成OPC UA协议。因此使用OPC UA 信息模型之后,弥补了IEC61499 标准中的不足。

使用IEC-61499 图形化方式构建OPC UA 信息模型

        使用OPC UA 的建模工具(比如uaModeler)来构建OPC UA 是比较繁琐的工作,因此人们也不断地设计各种便捷的建模方法,比如图形化工具(uaModler 那种小圆圈的图形方式感觉不太能掌控)。笔者看来,对于底层设备而言,直接使用IEC61499 的图形方式也是不错的选择。

IEC-61499 OPC UA Nodeset

        目前还没有提出IEC-61499 的NodeSets 出现,也许在不远的将来,会有研究机构和公司提出OPC UA for IEC61499 的信息模型,它们大概会建立在OPC UA For Device (DI) 的基础上,和OPC UA For PLCOpen 类似。有兴趣者可以研究一下PLCopen 的NodeSets。

结束语

        使用OPC UA 封装IEC61499 模型,有利于IEC61499 更进一步完善和开放性。给系统集成带来了更大的灵活性。同时也加强了OPC UA 信息模型中可执行模型的能力,促进OPC UA 在分布式系统中的应用。OPC UA与IEC61499 相互融合是一个十分有意义的研究课题。

   本人对这两项技术都研究不够深入,上述文章中难免出现一些错误,仅供读者参考。

本文在撰写过程中学习了下面两篇文章,并且受到很大的启发,在此表示感谢。

OPC UA Information Model and a Wrapper for IEC 61499 Runtimes

2Modelling Industrial Cyber-Physical Systems using IEC 61499 and OPC UA

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值