我注意到所有OPC标签ID都以开头ns=2;s=
。
可能的NodeId值的一些示例如下:
ns=2;s=AcquisitionTimeRemaining
ns=2;s=Status
ns=2;s=Time
我想知道这个前缀的意义是什么。
有人在论坛上问了这个问题。给出的答案是ns前缀指定NodeId所属的名称空间索引。回答者继续指出:
出于奇怪的历史原因,我们假设ns = 1(如果未明确显示)。Kepware的节点都在ns = 2中,因此必须指定。
我没有使用“ Kepware节点”,并且我的命名空间仍设置为2 ...它将始终为2吗?我找不到有关前缀s代表什么的任何信息。
ns=2
表示名称空间索引2。
s=foo
表示它是一个字符串类型的NodeId,其值为“ foo”。
共有4种类型NodeId
:
数值(值为UInteger)
字符串(值是一个字符串)
Guid(值是Guid / UUID)
不透明(值为ByteString)
此语法是从用于以OPC UA XML编码对NodeId进行编码的语法中借用的:
ns=
出现什么名称空间节点以及有多少个名称空间取决于您连接的服务器。