IUANode.ChildrenRemoteRead(childVariables, timeoutMilliseconds)
Returns a list of all the variables of interest children of the node on which it invokes. The optional argument sets the timeout period.
IEnumerable<RemoteChildVariableValue> ChildrenRemoteRead(IEnumerable<RemoteChildVariable>childVariables, doubletimeoutMilliseconds);
Arguments
- childVariables(IEnumerable<RemoteChildVariable>)
- The list of the variables of interest, expressed as relative paths inside the node on which the API is invoked.
- timeoutMilliseconds(double)
- The timeout period, expressed in milliseconds, after which the API throws an exception.TIP: If not specified, the default value of the argument is30000(30 seconds).
Returns
- IEnumerable<RemoteChildVariableValue>
- The list of variables of interest, expressed as a pair of theRemoteChildVariableValueclass following properties:
- RelativePath(string)
- The path relative to the variable inside the node.
- Value(UAValue)
- The value of the variable.
Example
The following example shows an API that returns a
reads
list that contains the variables of interest contained in the myNode
node. The two variables of interest were added in the myVariables
list: one directly the child of the node (Tag1
) and the other inside a child node (NestedStructure/Tag2
).If the API returns an error or if the set timeout time is reached, the code in the following example generates an error message composed of
and an expected error code for the 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()); }
Provide Feedback