IUANode.ChildrenRemoteRead(childVariables, timeoutMilliseconds)
Devuelve una lista de todas las variables de los elementos secundarios de interés del nodo en el que se invoca. El argumento opcional establece el período de tiempo de espera.
IEnumerable<RemoteChildVariableValue> ChildrenRemoteRead(IEnumerable<RemoteChildVariable>childVariables, doubletimeoutMilliseconds);
Argumentos
- childVariables(IEnumerable<RemoteChildVariable>)
- Lista de las variables de interés, expresadas como rutas relativas dentro del nodo en el que se invoca la API.
- timeoutMilliseconds(doble)
- El período de tiempo de espera, expresado en milisegundos, después del cual la API lanza una excepción.CONSEJO: Si no se especifica, el valor predeterminado del argumento es30000(30 segundos).
Retornos
- IEnumerable<RemoteChildVariableValue>
- La lista de variables de interés, expresadas como un par de propiedades de la claseRemoteChildVariableValue.
- RelativePath(string)
- Ruta relativa a la variable dentro del nodo.
- Value(UAValue)
- El valor de la variable.
Ejemplo
El siguiente ejemplo muestra una API que devuelve una lista de
reads
que contiene las variables de interés contenidas en el nodo myNode
. Las dos variables de interés se agregaron en la lista de myVariables
: una directamente en el elemento secundario del nodo (Tag1
) y la otra dentro de un nodo secundario (NestedStructure/Tag2
).Si la API devuelve un error o si se alcanza el tiempo de espera establecido, el código del siguiente ejemplo genera un mensaje de error compuesto por
y un código de error esperado para la 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()); }
Entregue su opinión