跳到主要内容

Nodes 节点

s.Nodes() 是 Lazy Load 节点访问器, 让你像操作本地对象一样访问远程节点; 同时 Session 上一组 Browse 方法直接走 NodeId 字符串.

子页跳转

三种访问节点的方式

// 方式 1: NodeId 字符串直接访问 (最直白, 最省 RPC)
auto dv = s.Read("ns=2;s=Temperature");

// 方式 2: Lazy Load 索引器 (像本地对象, 探索式)
auto dv = s.Nodes()["ns=2;s=Temperature"].Value();
auto t = s.Nodes().Server()["ServerStatus"]["CurrentTime"].Value();

// 方式 3: 路径解析
auto node = s.Resolve("/Objects/Server/ServerStatus/CurrentTime");
auto dv = node.Value();

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

选择指南

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

下一步