创建OPC UA信息模型

时间:2018-05-08 13:50:49

标签: opc opc-ua

创建OPC-UA服务器的前提条件是创建相应的信息模型。我查看了OPC UA组(锅炉)GitRep处提供的样本。从头开始创建信息模型似乎是一项非常重要的任务。创建这样一个模型的最佳方法是什么?你推荐有用的工具吗?

2 个答案:

答案 0 :(得分:0)

我知道这是一个古老的问题,但是对于以后阅读该书的人来说,我也会回答同样的问题

存在最佳方法,并且诞生于OPC UA标准之前。它是域驱动设计。与工程师交谈,以了解将要建模的机器/工厂/过程的组成和技术解决方案。定义一个领域模型,其中包含领域术语,这些领域术语为组件建模,每个组件都具有其属性(例如名称,序列号)和变量(例如温度)。定义组件之间的层次结构,但要记住这是一个“静态”模型:当您为Web应用程序设计域模型时,您知道一个实体可能具有零个或一个关联的另一个实体/ VO实例,或者一个-太多。在OPC UA信息模型中,关联的基数是固定的,这很合理,仅因为机械手或管道在运行时不会更改其结构....但是,如果这样做,则应该可以通知所有客户端变化

您的信息模型将具有数据,但是每个组件也可以发出事件。事件会通知某些状态已更改,即使该状态未表示在数据模型中也是如此。警报是您需要管理的事件的示例。 OPC UA已定义了特定类型的事件的“警报和条件”标准(条件类似于警报,但不表示故障状态)。现在,您必须选择哪些组件可以是“事件源”,哪些组件可以通知从其本身或从其根目录的组件的子树中发出的事件

与领域专家一起验证您的模型,不要指望他们会理解,可能是机械,化学,电气工程师,所以我建议您抽象化建模部分并提出特定领域的问题,例如“是正确地说汽车有车轮吗?”

答案 1 :(得分:0)

有一些用于创建OPC UA信息模型的商业和开源工具。基本上,您需要一个NodeSet2.xml文件,该文件可以加载到许多不同的OPC UA实现中。

要创建这样的NodeSet2.xml文件,可以使用多种工具。这里是一个简短列表。

图形工具:

文本工具:

  • 您始终可以随时手动编写NodeSet2.xml文件。不建议这样做。
  • 使用OPC基金会的开源UA-ModelCompiler。在这里,您将编写简单的Model.xml文件,这些文件将转换为NodeSet2.xml文件。

具有最多功能的工具是UA-ModelCompiler,因为OPC Foundation使用它来创建主要规格和配套规格的NodeSet2.xml文件。

我还在这里编写了有关如何使用UA-ModelCompiler创建自定义信息模型的教程: https://opcua.rocks/custom-information-models/