跳到主要内容

Nodes 节点

ua.nodes 是 Lazy Load 节点访问器, 让你像操作本地对象一样访问远程节点; 同时 OpcUaSession 上一组 browse 方法直接走 NodeId 字符串.

子页跳转

三种访问节点的方式

// 方式 1: NodeId 字符串直接访问 (最直白, 最省 RPC)
try (OpcUaDataValue dv = ua.read("ns=2;s=Temperature")) {
// ...
}

// 方式 2: Lazy Load 索引器 (像本地对象, 探索式)
try (OpcUaDataValue dv = ua.nodes.get("ns=2;s=Temperature").getValue()) {
// ...
}
try (OpcUaDataValue t = ua.nodes.server().get("ServerStatus").get("CurrentTime").getValue()) {
// ...
}

// 方式 3: 路径解析
OpcUaNode node = ua.resolve("/Objects/Server/ServerStatus/CurrentTime");
try (OpcUaDataValue dv = node.getValue()) {
// ...
}

三种方式底层都走相同 RPC, 选你觉得最自然的就行.

选择指南

场景推荐
已知精确 NodeId (生产代码)方式 1 字符串
标准 ns=0 节点方式 2 + WellKnownNodes
浏览树 / 一次性脚本方式 2 索引器
100+ 路径批量初始化translateBrowsePaths
长期运行高频访问registerNodes 加速

下一步