UA_ReadList

Descripción general

Tipo:

Bloque de funciones

Disponible desde:

V1.0.0.0

Descripción funcional

El bloque de funciones UA_ReadList se utiliza para leer valores de múltiples nodos mediante una lista de controladores de nodos.

NOTA: Para evitar una respuesta incoherente, no modifique los parámetros mientras se esté ejecutando el bloque de funciones (Busy = TRUE).
 ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO
No modifique los parámetros de entrada mientras la salida Busy sea igual a TRUE.
Si no se siguen estas instrucciones, pueden producirse lesiones graves, muerte o daños en el equipo.
NOTA: ByteString se representa como ARRAY OF BYTE unidimensional en el cliente. Si ByteString se declara en el servidor, utilice un búfer del tipo ARRAY OF BYTE y NodeDataType UATypeByte.
NOTA: El bloque de funciones no admite la función MaxAge especificada por el protocolo OPC UA.

Interfaz

Input

Tipo de datos

Descripción

Execute

BOOL

El bloque de funciones se ejecuta en un flanco ascendente.

Consulte también Comportamiento de los bloques de funciones con la entrada Execute.

Timeout

TIME

Tiempo máximo para responder.

Rango de valores: de 2 s a 60 s

Si el valor se encuentra fuera del rango, se aplicará el límite superior o inferior.

Valor predeterminado: GPL.Timeout

ConnectionHdl

DWORD

Controlador de conexiones.

NodeHdlCount

UINT

Número de controladores de nodos en la matriz NodeHdls.

Rango de valores: 1..GPL.MAX_ELEMENTS_NODELIST]

NodeHdls

ARRAY [1..GPL.MAX_ELEMENTS_NODELIST] OF DWORD

Matriz que contiene los controladores de nodos.

NodeAddInfos

ARRAY [1..GPL.MAX_ELEMENTS_NODELIST] OF UANodeAdditionalInfo

Matriz que contiene información adicional sobre el nodo, como el rango de índices y atributos.

Entrada/salida

Tipo de datos

Descripción

Variables

ARRAY [1..GPL.MAX_ELEMENTS_NODELIST] OF ST_Variable

Matriz que contiene información acerca de las variables que se van a leer y las áreas de memoria correspondientes.

NOTA: No procese las variables hasta que el bloque de funciones indique Done.

Salida

Tipo de datos

Descripción

Done

BOOL

Indica que la ejecución del bloque de funciones se ha llevado a cabo correctamente.

Busy

BOOL

Indica que la ejecución del bloque de funciones está en curso.

Error

BOOL

Indica que se ha detectado un error durante la ejecución.

NOTA: Aunque Error indique FALSE, compruebe los ErrorIDs correspondientes antes de procesar los índices de espacios de nombres.

ErrorID

ET_Result

Proporciona información de diagnóstico adicional en forma de valor numérico.

Se incluye un resultado individual para cada URI de espacio de nombres especificado.

NodeErrorIDs

ARRAY [1..GPL.MAX_ELEMENTS_ NODELIST] OF ET_Result

Contiene un valor de error para cada elemento de la matriz NodeHdls.

TimeStamps

ARRAY [1..GPL.MAX_ELEMENTS_NODELIST] OF DATE_AND_TIME

Contiene una marca de tiempo para cada elemento válido de la matriz NodeHdls.

Ejemplo

En el siguiente ejemplo se muestra cómo leer elementos desde una matriz publicada por el servidor OPC UA.

Las entradas Variables.pbyBuffer y Variables.udiBufferSize describen la memoria asignada dentro de la aplicación del controlador donde se escriben los elementos leídos.

La entrada NodeAddInfos describe los elementos que se leerán desde el servidor OPC UA.

NOTA: En el caso de una matriz de cadena, el tamaño del búfer deberá coincidir con el número de bytes devueltos por el servidor OPC UA, que dependerá de la definición de tipo de datos del servidor y la información adicional proporcionada sobre el nodo. Para cualquier otro tipo de datos, el tamaño de búfer debe ser al menos equivalente al número de bytes recibidos.