如何使用 OPC UA 命名空间?

Posted

技术标签:

【中文标题】如何使用 OPC UA 命名空间?【英文标题】:How are OPC UA namespace used? 【发布时间】:2021-07-18 12:41:37 【问题描述】:

我是 OPC UA 的新手,希望您能帮助我解决一些看似基本但我无法完全掌握的内容。

我正在opc.tcp://opcuaserver.com:48010 探索一个公开可用的 OPC UA 服务器。

这是它公开的节点树:

我试图弄清楚这里分配命名空间背后的逻辑是什么。

Path Node Id Comment
Objects i=85 (I understand ns=0 is the default one and is omitted)
Objects/Demo ns=2;s=Demo
Objects/BuildingAutomation ns=3;s=BuildingAutomation Why is it in a different namespace while it's under same parent?
Objects/BuildingAutomation/ControllerConfigurations ns=3;s=ControllerConfigurations BuildingAutomation is not part of the prefix?
Objects/BuildingAutomation/AirConditioner_1 ns=3;s=AirConditioner_1 Why doesn't it have BuildingAutomation in the prefix?
Objects/BuildingAutomation/AirConditioner_1/Temperature ns=3;s=AirConditioner_1.Temperature Why does it have AirConditioner_1 in the prefix?

是不是我们看到多棵树(每棵树都有自己的命名空间)合并在这里?这些树是从哪里来的?命名空间是如何分配的?

不带前缀(例如ControllerConfigurations )与带前缀(例如AirConditioner_1.Temperature)的节点 ID 背后的逻辑是什么(因为两者似乎都是属性?)

【问题讨论】:

【参考方案1】:

Here is a great explanation.

每个命名空间都是不同的模型(数据树):

命名空间 0 由 OPC 基金会定义,包含您无法修改的 OPC 核心节点。

命名空间 1 特定于您的服务器,可以包含服务器信息,例如证书和打开的连接。

Namespace 2 ... n 是您的业务对象所在的位置。

【讨论】:

以上是关于如何使用 OPC UA 命名空间?的主要内容,如果未能解决你的问题,请参考以下文章

如何将文件从 OPC UA 客户端传输到 OPC UA 服务器

如何使用 open62541 一次使用 OPC-UA 编写多个节点?

如何将 OPC-UA 数据与 Kafka 连接?

如何使用 opc ua 从 PLC 读取信号?

西门子plc之间如何建立opc ua通讯

如何获取 .Net C# 上的 OPC UA 服务器列表?