- 开发解决方案
- 使用 C# 开发项目
- 应用程序示例
- 对象和变量引用
IUANode.ChildrenRemoteRead(childVariables, timeoutMilliseconds)
返回一个列表,其中包含调用此方法的节点的所关注子节点的所有变量。可选参数将设置超时时段。
IEnumerable<RemoteChildVariableValue> ChildrenRemoteRead(IEnumerable<RemoteChildVariable>childVariables, doubletimeoutMilliseconds);
参数
- childVariables(IEnumerable<RemoteChildVariable>)
- 所关注变量的列表,以调用 API 的节点内的相对路径表示。
- timeoutMilliseconds(double)
- 超时时段(以毫秒为单位表示),在此之后 API 将引发异常。小贴士: 如果未指定,则参数的默认值为30000(30 秒)。
返回
- IEnumerable<RemoteChildVariableValue>
- 所关注变量的列表,以RemoteChildVariableValue类的一对属性表示。
- RelativePath(string)
- 相对于节点内变量的路径。
- Value(UAValue)
- 变量的值。
示例
以下示例所示的 API 可返回一个
reads
列表,该列表中包含 myNode
节点中包括的所关注变量。将所关注的两个变量添加到 myVariables
列表中:一个变量为节点的直接子节点 (Tag1
),另一个变量位于子节点内部 (NestedStructure/Tag2
)。如果 API 返回错误或达到设置的超时时间,以下示例中的代码将生成由
组成的错误消息以及 API 的预期错误代码。ChildrenRemoteRead failed:
var myVariables = new List<RemoteChildVariable>() { new RemoteChildVariable("Tag1"), new RemoteChildVariable("NestedStructure/Tag2") }; var myNode = Project.Current.Get("CommDrivers/Driver1/Station1/Tags/TagStructure1"); try { var reads = myNode.ChildrenRemoteRead(myVariables); } catch (Exception ex) { Log.Error("ChildrenRemoteRead failed: " + ex.ToString()); }
提供反馈