Ido*_*dov 4 opc opc-ua node-opcua
我正在尝试构建OPC UA客户端应用程序。
我希望能够在OPC树中唯一标识一个UA节点。
我知道在OPC DA中,标准节点ID是带有“。”的字符串。作为我可以用来识别节点的分度符。
在OPC UA中,节点ID不必是字符串,但是我仍然希望能够构建映射到特定节点的唯一字符串。
我正在考虑将其基于节点名称。例如:Demo.MyNode.MyValue。
但恐怕节点名称可能包含诸如“。”之类的字符。这会使我的ID不唯一。
有没有可以用作分隔符的字符?
有没有更好的方法将节点ID表示为字符串(包括其路径)?
OPC-UA为每个节点提供了唯一的“ BrowsePath”概念,客户端可以选择存储BrowsePaths而不是NodeIds,然后在启动时调用TranslateBrowsePathsToNodeIds服务。
实际上,我认为这可能是预期的行为,因为在重启后,即使实际上是这样,也不要求服务器对任何给定节点使用相同的NodeId。
我错误地认为NodeId可以更改。规范说:“服务器应保留节点的NodeId,即,它在重新引导时不会生成新的NodeId。”
我现在认为最好存储NodeId,并且仅使用BrowsePaths来帮助针对类型定义进行编程。
| 归档时间: |
|
| 查看次数: |
3254 次 |
| 最近记录: |