首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OPC UA信息模型

OPC UA信息模型
EN

Stack Overflow用户
提问于 2018-04-19 14:46:05
回答 2查看 2.3K关注 0票数 4

假设我有多台分布式复杂机器。每台机器都包含多个cpmplex设备。每个设备都有自己的OPC服务器来监视设备组件。对于OPC客户端,我想读取OPC服务器的所有数据项。

现在我不知道如何建立信息模型。我设计了一个全局信息模型,它包含了所有的机器、它们的设备和设备的内部组件。从全球的角度来看,这是有意义的。但是,我是否也必须为每个服务器创建一个本地信息模型?或者本地OPC服务器使用全局信息模型,但是服务器只为该服务器相关对象实现(基于全局信息模型)?

更新:

下面是一个示例设置:

在这个示例中,您可以看到三层--机器层、构建层和工厂层。

以下是我对如何建模这样的设置的理解。有一个全面的OPC UA信息模型,它描述了所有类型等,每个OPC UA服务器都知道该信息模型以及所有包含的类型描述。

现在,根据实际的设置,我可以创建一个对象模型。机器层的OPC服务器包含底层系统的所有对象,在本例中是设备。

在构建层有一个OPC客户端,我可以从机器连接到OPC服务器,并且可以从机器内的设备读取所有数据项。

工厂层的OPC UA客户端可以从建筑物连接到OPC UA服务器。构建级别的OPC UA服务器可以提供更多的对象:

来自工厂外部的OPC UA客户端可以看到对象模型的全貌:

但是,我如何通过服务器从工厂外部获取设备数据呢?是否必须再次从建筑层中的机器层创建对象模型?又是在下一个更高的层次,等等?

或者每个层的OPC服务器都知道整个对象模型,比如信息模型吗?

EN

回答 2

Stack Overflow用户

发布于 2018-04-20 08:31:13

OPC UA服务器包括两大类信息:类型和实例。

当我们谈论信息模型时,我们通常会谈到不同类型的定义。例如,所有设备的通用模型(用于设备的OPC UA (DI))或某些设备类型的特定模型(用于分析器设备的OPC UA (ADI)等等)。类型定义了对象的公共结构:例如,当您遇到一个“分光计”类型的对象时,您知道它会有什么样的结构。类型通常是固定的,当它们标准化时,它们不应该改变。如果您定义了自己的类型(可以是标准类型的专门化),那么您当然有更多的灵活性。

现在,如果您希望建立一个完整的生产现场,您将创建实际实例的大纲和安排:例如,“实验室”中的“光谱仪1”和"ProductionHall B“中的”容器13“。当设施的布局发生变化时,该模型通常更具有动态性和可更改性。

由于上述原因,我们通常不对标准模型中的实例进行建模,也不像对信息模型那样多地谈论它们。您可以认为它们或多或少是系统的配置。

现在,正如您已经意识到的,整个系统可能由各种OPC UA服务器组成。每个服务器的功能是不同的,您的选择可能是有限的。在一个理想的世界中,所有服务器都将服务于通过适当的信息模型建模的数据。也就是说,实例将遵循标准类型的结构,或者允许您用自己的类型对它们建模。

另一方面,目前大多数OPC UA服务器只是提供“未建模”数据。这是OPC中的唯一选项,而且大多数实际的OPC UA服务器仍然处于同一级别。希望在未来,我们将看到更多的OPC UA服务器提供在它们中采用信息模型的选择。或者,我们可能会看到“聚合OPC UA服务器”的兴起,它使您能够根据标准或自定义模型重新建模数据。

无论如何,当您创建系统模型时,我建议您集中注意类型信息,然后使用这些类型将其应用于系统的实际布局模型。

要真正回答您的问题,我认为只要在您的系统中创建所需的模型就足够了,因为您目前可能无法将它很好地扩展到实际的OPC UA服务器。但是当然,如果您也可以将模型应用到特定的服务器上,那就更好了。

票数 3
EN

Stack Overflow用户

发布于 2021-09-01 15:19:56

该系统可以使用三种不同的模型进行建模,三种模型之间的链接:

  1. :一种分层的真实世界数据模型,它对现实世界的对象进行建模:例如, 工厂1
  2. 远程终端单元数据模型,它直接对其监视的数据建模,它对应于OPC服务器: 数据1 ##工厂1 ->工厂1 ->机器1 ->设备1-数据2 ##工厂1 ->机器1 RTU 2 ->设备1 RTU 2 ->设备-数据1 ##工厂1 ->大楼2 ->机器1 ->设备-数据2 ##工厂1 ->建筑2 ->机器1 ->设备2-数据3 ##工厂2 ->机器1设备3 RTU 31 ##工厂2 ->大楼1 ->机器1 ->设备1--数据2 ##工厂2 ->建筑1 ->机器1 ->设备2-数据3 ##工厂2 ->大楼1 ->机器1 ->设备3
  3. 一种逻辑远程终端单元数据模型,用于建模一个或多个远程终端单元或其他逻辑远程终端单元: LRU 1区--RTU 1区--RTU 2区--RTU 3

需要执行下列任务:

  1. OPC信息模型是只映射到远程终端单元数据模型
  2. OPC客户端将接收到的数据(从OPC服务器)映射到分层真实世界数据模型。这与OPC数据模型无关,而是特定于应用程序。
  3. 为了从分层真实世界数据模型向其源OPC服务器发出命令,OPC使用链接查找正确的远程终端单元,然后从远程终端单元数据模型中查找数据。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49923964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档