OPC UA TranslateBrowsePathsToNodeIds()服务

时间:2017-01-29 15:14:29

标签: opc-ua

我知道TranslateBrowsePathsToNodeIds()服务可用于针对类型定义进行编程,并且通过扩展,可以检索节点的组件/属性的NodeIds。

我有两个问题。

1)RelativePath结构的最后一个元素是否需要有效的targetName,即不能为null?

2)是否有任何规定的行为可以在两个不同的分支上成功解析路径,即程序可以在中间路径选择不同的节点并仍然成功地遵循下一个路径序列?

谢谢

1 个答案:

答案 0 :(得分:2)

1)是的,最后一个元素可以有一个 targetName。根据规范:

  

最后一个元素可能有一个空的targetName。在这种情况下,referenceTypeId标识的引用的所有目标都是RelativePath的目标。

     

应为所有其他元素指定targetName。

2)再次,从规范:

  

如果一个节点有多个具有相同BrowseName的目标,则服务器应返回一个NodeId列表。但是,由于本服务的主要目的之一是支持针对类型定义的编程,因此基于起始节点的类型定义的Node的NodeId将作为列表中的第一个NodeId返回。

我意识到你问的是中间重复的浏览名称,但我认为这仍然适用;你最终得到了从通话中返回的多个目标。