1

我在 KepserverEx 上创建了一个带有几个标签的通道和设备。在配置中,我将节点的地址设置为:

ns=3;s=Channel1.Device1.Start

如果我使用 UeExpert 浏览相同的节点,我会发现 NodeId 为

nsu=KEPServerEX;ns=2;s=Channel1.Device1.Start

这是我需要在我的 C# 客户端中使用的。

为什么ns(命名空间索引)的值和我在Server中定义的不一样?

4

1 回答 1

1

我不了解 KepserverEx,但通常节点的命名空间索引不是静态的,而是在加载/实例化模型时在服务器中动态(重新)定义。对于默认 opc ua 节点集,唯一的静态命名空间索引为 0。

因此,如果您在服务器中仅定义了两个命名空间(+ 默认节点集),则命名空间将具有索引 1 和 2。

如果客户端不知道特定服务器中命名空间的索引,它可以请求命名空间列表,从而为特定命名空间名称解析正确的索引。

于 2019-09-26T10:49:54.070 回答