前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >创建与导入用户自定义OpcUa信息模型

创建与导入用户自定义OpcUa信息模型

作者头像
剑指工控
发布2021-11-09 15:23:49
发布2021-11-09 15:23:49
2K0
举报
文章被收录于专栏:剑指工控剑指工控

JZGKCHINA

工控技术分享平台

尊重原创 勿抄袭

勿私放其他平台

引言

理想中,每个行业都应该有自己行业的标准模型,比如:塑料行业有euromap标准,包装行业有packml标准。

如果您所处的行业有现行标准,但是手中没有现成的模型可用,或者业主要求按照每一种固有格式(业主固有标准模型)提供数据,就可以使用此方法创建模型,即用户自定义数据结构进行建模。

创建过程分为四个步骤:

  • 信息模型
  • 创建模型
  • 数据引用
  • 测试

1、OpcUa 自定义信息模型

本章节将对 OpcUa 信息模型进行详细阐述,介绍了信息模型的概念,如何创建用户的信息模型以及在贝加莱控制器内如何实现。

本章节中所用的工具来自于https://www.unified-automation.com/,其中 Client 为 UaExpert v1.5.1,模型工具为 UaModeler 1.6.3。

1.1 信息模型

信息模型是面向对象分析的基础,它的基本思想是描述三个内容:对象、对象属性和对象之间的关系;

对于OpcUa来讲,就是对象、对象模型、变量、变量类型、视图、方法、引用、数据类型他们之间的结构层级及关系。

1.1.1 贝加莱控制器信息模型

在贝加莱控制器对于过程变量及方法的标准发布,默认上是集成了两种信息模型,为:

  1. 由贝加莱定义的B&R信息模型(Namespace http://br-automation.com/OpcUa/PLC/PV/),如图 11所示:

图 11 B&R信息模型(V2)

  1. 由PLCopen定义的IEC 61131信息模型(Namespace http://PLCopen.org/OpcUa/IEC61131-3/),如图 12所示:

图 12 IEC 61131信息模型

1.1.2 Others informationmode samples

位于 AS 安装路径 ..\BRAutomation\AS49\Samples\ 下具备相关的 Sample 例程;

图 13相关Samples

其中具备信息模型的案例如表2.1所示,为 (EUROMAP 标准, 2020)。

表2.1 OpcUa Samples

名称

内容

OpcUa_OPC40077

EUROMAP77:用于IMM与MES的接口

OpcUa_OPC40082_1

EUROMAP82.1:用于IMM与TCD的接口

OpcUa_OPC40082_2

EUROMAP82.2:用于IMM与HRD的接口

OpcUa_OPC40082_3

EUROMAP82.3:用于IMM与LSR的接口

OpcUa_OPC40084_3

EUROMAP84:挤出机的接口

1.2 创建模型

1.2.1 发布OpcUa

首先在 CPU 配置内使能 OPC-UA System,同时将其 Information models - PV选项调整至 2.00,如图 14所示:

图 14修改模型为V2

创建好测试用程序及方法,对OpcUa变量即方法进行发布;

如有需要,也可以对发布的节点的属性做出修改,如图 15所示,对OpcUa变量的显示名称、属性做出了修改,同时使能了Client端对当前节点的索引名、显示名及描述进行修改的属性,即可以在Client端写入、修改当前节点的索引名、显示名及描述项;

图 15 发布OpcUa变量及方法

完成上述操作后,需要对当前工程进行全编译,如图 16所示。

图 16 Rebuild

1.2.2 收集原始对象

在当前工程的 ..\Temp\Transfer\<Configuration Name>\<CPU Type>\FilesToTransfer\AddonsData\OPCUA\NodeSet\Vendor\ 路径下,找到 plc.uanodeset 文件,如图 17所示,将其拷贝;

图 17 Rebuild

为工程便利,创建一个新的文件夹作为新模型的工程所在路径,同时将刚才拷贝的 plc.uanodeset 文件后缀名修改为 .xml,如图 18所示。

图 18 添加B&R PLC模型

同时当前工程的 ..\Temp\Objects\<Configuration Name>\<CPU Type>\ 路径下找到与 OpcUaMap 表同名的文件夹,如图 18所示,其中标签A 与标签A同名,标签B 与 标签B同名。

图 19 OpcUaMap表路径

进入该文件夹后,找到后缀名为 .uar 的文件,如图 110所示文件;将其复制至上述操作中所新创建的文件夹内,同时将其后缀名也修改为 .xml,如图 111所示。

图 110 OpcUaMap表

图 111 修改 OpcUaMap表后缀

1.2.3 创建自定义模型工程并导入B&R模型

使用 UaModeler 工具来进行模型的创建与节点数据的关联。

打开 UaModeler 工具,创建一个新的工程,如图 112所示,此处为方便处理,选择将 UaModeler 工程路径选为 1.2.2 中所创建的文件夹。

图 112 创建UaModeler工程

选择 modeling-v1_0 ,同时修改生成对象保存的路径,建议选择与 UaModeler 工程同路径下,如图 113所示。

图 113 选择对象类型

选择基本模型,点击画面中 Find another model 按钮,在弹出的文件选择窗体中,将筛选类型选为 *.xml,选则 plc.xml 文件,如图 114所示。

图 114 导入 PLC 模型

此处可以对自定义信息模型的信息做最终修改,例如可以对自定义模型的生成文件名、模型名称、模型文件保存的路径,以及最重要的 Namespace URI 进行修改,如图 115所示。

修改好所需信息后,点击 Finish 即可。

图 115 自定义模型信息

点击 Finish 之后,可能会弹出如图 116、图 117所示的模型转换与模型编辑的提示窗体,点击窗体内的 OK 按钮即可。

图 116 模型格式转换提示

图 117 模型编辑提示

完成上述操作后,即可得到如图 118所示界面,即存在自定义模型(空模型)与 PLC 模型的工程,此时可以查看到 PLC 对象节点。

图 118 导入PLC模型结果

接下来,导入 B&R/PLC/PV 模型,点中工程中 Models 项,在点击鼠标右键弹出的窗体中,选择 Add Existing Model 项,通过此方法导入 PV 对象,如图 119所示。

图 119 导入外部模型

在弹出窗体中,将筛选项改为 *.xml ,找到 OpcUaMap.xml 文件,导入后,将窗体内 NamespaceIndex 的值改为 4

图 120 导入 PV 模型

导入 PV 对象后,可能会弹出如图 121、图 122所示的提示窗体,点击 OK 即可。

图 121 模型提示

图 122 格式转换提示

导入 PV 对象成功后,则可以在 UaModeler 信息模型窗体内观察到已经导入的 PV 对象的结果,如图 123所示,能够看到当前模型即当前 AS 工程内所发布的 OpcUa 过程变量及方法。

图 123 PV对象

1.2.4 创建自定义模型

在 UaModeler 信息模型窗体内,可对当前的信息模型进行自定义编辑,例如添加节点、添加文件夹等操作;

本例中直接在 Object 文件夹下进行添加了节点;如图 124所示操作。

图 124 添加实例

添加节点后,对此节点的相关属性进行修改,例如此节点的类型、命名空间、节点名称等;此处添加了一个名为HeseriDemo Object ,并使其归属为自定义的命名空间,如图 125所示。

创建好节点后点击右下角 OK 按钮,使当前操作生效。

图 125 对象节点

在 Addition Attributes 页签中还可编辑节点的索引名称、显示名称、描述信息等内容;同样的方式,对该节点下添加其它节点,并使其类型为 Variable,如图 126所示。

图 126 添加变量节点

添加好变量节点后,可以定义当前变量节点的节点类型,由于是变量节点,此处选择 DataItem Type,如图 127所示;

在其数据类型定义处按 AS 工程内对应选择当前变量节点的数据类型,如图 128所示。

若该节点不是变量节点,请按实际需求选择对应的节点类型即可。

图 127 节点类型

图 128 变量数据类型

关于 IEC 数据类型与 OPC UA 数据类型的相互关系如图 129所示;其 AS 帮助页面所对应的GUID 为 :8f58503d-a2d1-4286-9094-e60a15bbf66d

图 129 数据类型对照参考

同样的方式,完成对方法节点的添加,以及输入、输出参数的配置,如图 130所示。

图 130 添加方法节点

若该节点存在其它构件,则可在当前节点的 Instance 页签内,点击 Select optional compments ,在弹出窗体中勾选需要的附加的构件即可,如图 131所示则为变量节点的构件。

图 131 变量节点构件

1.3 数据引用

数据引用即为将数据源由B&R信息模型映射至自定义信息模型的相关节点上,本处只对变量节点和方法节点的数据引用做出了说明,对于其它节点由于B&R暂未支持,遂此处不做讨论。

1.3.1 变量引用

选中自定义模型中的变量节点,在其 References 页签内,引用类型选择 BrHasValueAttribute 类型,如图 132所示。

图 132 变量节点引用类型

Target 中选择当前变量所连接的B&R模型中的数据源,如图 133所示。

图 133 变量节点引用数据源

1.3.2 方法引用

选中自定义模型中的方法节点,在其 References 页签内,引用类型选择 BrHasImplementation 类型,如图 134所示。

图 134 方法节点引用类型

Target 中选择当前变量所连接的B&R模型中的数据源,如图 135所示。

图 135 方法节点引用数据源

1.3.3 模型导出

自定义模型编辑好后保存并发布当前模型,如图 136所示。

图 136 发布模型

模型发布成功后,将自定义模型以 xml 格式导出,如图 137所示。

图 137 模型导出xml

1.3.4 AS工程导入模型

在 AS 工程内导入 UaModeler 中导出的 xml 格式的自定义模型,并将其后缀名重命名为 .uanodeset

打开此文件,修改其中的 http://opcfoundation.org/UA/、http://opcfoundation.org/UA/DI/、http://PLCopen.org/OpcUa/IEC61131-3/ URI 所对应的时间,之后编译、下载即可,其AS 帮助页面的GUID为:5780262d-a9d1-4408-9830-7881cf1447e6。

如图 138所示。

图 138 模型导入AS工程

1.4 测试

打开 OpcUa Client 测试工具,如UaExpert,对自定义模型进行测试,可见自定义模型的节点参数及其命名空间,如图 139、图 140所示。

图 139 Client测试

图 140 命名空间对应项

作者介绍:

Heseri君

4年工作经验。曾就职于东北制药集团,负责自动化技术管理工作。工作期间,曾参与国家级项目——大宗原料药及医药中间体智能制造新模式,对贝加莱APROL和AS软件有一定研究。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、OpcUa 自定义信息模型
    • 1.1 信息模型
      • 1.1.1 贝加莱控制器信息模型
      • 1.1.2 Others informationmode samples
    • 1.2 创建模型
      • 1.2.1 发布OpcUa
      • 1.2.2 收集原始对象
      • 1.2.3 创建自定义模型工程并导入B&R模型
      • 1.2.4 创建自定义模型
    • 1.3 数据引用
      • 1.3.1 变量引用
      • 1.3.2 方法引用
      • 1.3.3 模型导出
      • 1.3.4 AS工程导入模型
    • 1.4 测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档