服务器和客户端之间的OPC UA地址不同

时间:2019-09-12 11:43:30

标签: opc-ua kepserverex

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

ns=3;s=Channel1.Device1.Start

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

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

我需要在C#客户端中使用哪个。

为什么 ns (命名空间索引)的值与我在服务器中定义的值不同?

1 个答案:

答案 0 :(得分:0)

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

因此,如果在服务器中仅定义了两个名称空间(+默认节点集),则这些名称空间将带有标记1和2。

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