> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/input-output/communication/opc-ua-read.md).

# OPC UA Read

Esta función lee un valor desde una dirección de un servidor OPC UA y devuelve el valor actual para su uso en otras partes de su escenario. Está pensada para lecturas síncronas y sencillas cuando ya dispone de una conexión de cliente activa.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

* `Client` — toma de entrada que acepta una conexión de cliente OPC UA activa.
* `Node Address` — toma de entrada que acepta la dirección/identificador de la variable a leer en el servidor.

## 📤 Salidas <a href="#outputs" id="outputs"></a>

* `Value` — toma de salida que proporciona el valor actual leído desde la dirección OPC UA indicada.

## 🕹️ Controles <a href="#controls" id="controls"></a>

* Este bloque no muestra widgets adicionales en el propio bloque. Las dos tomas de entrada (`Client` y `Node Address`) funcionan como controles: proporcione un cliente conectado y la dirección a leer.

## 🎯 Características <a href="#features" id="features"></a>

* Lectura síncrona simple de una única dirección OPC UA al evaluarse.
* Interfaz mínima: solo requiere un cliente activo y la dirección del nodo.
* Devuelve el valor recuperado directamente a través de la salida `Value` para procesamiento posterior.
* Registra errores para ayudar a diagnosticar problemas de conectividad o de dirección.

## ⚙️ Mecanismo de ejecución <a href="#running-mechanism" id="running-mechanism"></a>

Cuando el bloque se ejecuta, espera un cliente OPC UA activo en la entrada `Client` y un identificador de variable válido del servidor en la entrada `Node Address`. El bloque solicita el valor actual de esa dirección y lo entrega en la salida `Value` para que otros bloques puedan consumirlo o registrarlo.

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Para obtener un `Client` utilizable, primero use el bloque `OPC UA Client` y conecte su salida `Client` a la entrada `Client` de este bloque.
* Para inspeccionar o depurar resultados de lectura, conecte la salida `Value` de este bloque a `Debug Input` o a `CSV Export` para registrar valores a lo largo del tiempo.
* Use `Data Write Global` / `Data Read Global` para compartir valores leídos entre distintas partes del escenario.
* Envíe valores leídos a sistemas externos conectando a bloques como `MQTT Publish` o `REST API - Post`.
* Si va a leer muchas direcciones con regularidad, considere agrupar o secuenciar lecturas con bloques lógicos (por ejemplo, bloques de control de flujo o de lotes) para mantener el escenario organizado.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* No se devuelve ningún valor / error sobre el cliente: asegúrese de que la entrada `Client` sea un cliente OPC UA conectado (use el bloque `OPC UA Client`).
* Dirección inválida o valor inesperado: verifique el formato y el identificador exacto de `Node Address` en su servidor OPC UA.
* Errores de permisos o seguridad: compruebe los derechos de acceso del servidor y las políticas de seguridad del cliente; asegúrese de que las credenciales y la configuración del servidor sean correctas.
* Conectividad intermitente: problemas de red o carga del servidor pueden causar fallos de lectura — supervise los registros y vuelva a intentar según sea necesario.
* Para mayor visibilidad durante el desarrollo, conecte la salida `Value` a `Debug Input` para ver resultados crudos y facilitar el diagnóstico.
