如何解决连接到具有字符串标识符的节点
我正在尝试使用 Eclipse Milo 编写一个通用的 OPC-UA 连接器。 当我使用数字 nodeID 时,从节点读取数据已经可以正常工作,例如 ns=0;i=2258。在 milo 中,我可以像这样简单地构造 nodeID,例如:
NodeId nodeIdentifier = new NodeId(Unsigned.ushort(nameSpaceID),uint(nodeID));
它工作正常。
但是当我尝试使用生产节点的字符串标识符连接到注释时,该节点只有一个字符串标识符,如图所示
进程因 StatusCode{name=Bad_NodeIdUnknown,value=0x80340000,quality=bad}
异常而失败。
我像这样创建 nodeIdentifier NodeId nodeIdentifier = NodeId.parse(nodeIDString);
解析后的值如下所示:
ns=1;s=t|023_Messwert
解决方法
首先,您不能因为喜欢就决定使用基于字符串的 NodeId。如果服务器将其作为基于整数的 NodeId 公开,那么这就是您必须使用的,就像使用 ns=0;i=2258
标识的 CurrentTime 节点一样。
只要格式正确,通过 NodeId.parse
解析基于字符串的 NodeId 就可以正常工作。您要解析什么值?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。