如何解决我可以使用 OPC UA 中的路径读取值吗?
考虑这个 OPC UA 树(来自位于 opc.tcp://opcuaserver.com:48010
的公开服务器):
据我所知,可以使用节点 ID(唯一标识节点)从 OPC UA 服务器读取值:
const dataValue = await session.read({
nodeId: "ns=3;s=AirConditioner_1.Temperature",attributeId: AttributeIds.Value
});
console.log(" Temperature = ",dataValue.toString());
我可以通过提供路径以编程方式读取值吗?如果是,如何?也许可以通过几个步骤完成?
const dataValue = await session.somehowReadTheValueFromPath(
"Views.AirConditionerView.AirConditioner_1.Temperature.Value"
);
console.log(" Temperature = ",dataValue.toString());
我已经看到了一些关于 makeBrowsePath
和 translateBrowsePath
的提及,但对我来说都是新的,我无法理解如何使用它们。
示例使用 node-opcua 客户端。如果您能用 Node.js 以外的语言提供建议,我也将不胜感激!
解决方法
TranslateBrowsePathToNodeIds通常在针对类型定义进行编程时使用,其中您知道 BrowseNames 的路径是什么,因为它们是由路径中每个节点的类型定义定义的。
您需要了解每个 BrowsePath 组件之间的引用类型以及每个组件的 BrowseName 的命名空间索引。没有服务可以将通用外观路径(例如您的第二个示例中的路径)转换为 NodeId。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。