0

考虑这个 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 以外的其他语言提供建议,我也将不胜感激!

4

1 回答 1

1

TranslateBrowsePathToNodeIds通常用于针对类型定义进行编程时,您知道 BrowseNames 的路径是什么,因为它们是由路径中每个节点的类型定义定义的。

您需要了解每个 BrowsePath 组件之间的引用类型以及每个组件的 BrowseName 的命名空间索引。没有服务可以将通用外观路径(例如第二个示例中的路径)转换为 NodeId。

于 2021-04-25T15:06:36.463 回答