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, double timeoutMilliseconds);
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 is
30000
(30 seconds).
Returns
-
IEnumerable<RemoteChildVariableValue>
-
The list of variables of interest, expressed as a pair of the
RemoteChildVariableValue
class.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 ChildrenRemoteRead failed:
and an expected error code for the API.
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());
}