> 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/twincat-write.md).

# TwinCAT Write

Este bloque de función escribe un valor en una variable de PLC TwinCAT utilizando una conexión PLC existente. Úsalo para enviar valores numéricos, booleanos o de texto desde tu escenario al PLC y recibir un indicador simple de éxito.

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

* `Connection` — Objeto de conexión al PLC (proporcionado por un bloque de configuración de comunicación como TwinCAT Connect).
* `Value` — El valor que se escribirá en la variable del PLC (número, texto, booleano, o valor estructurado según la variable del PLC).

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

* `Success` — Booleano que indica si la operación de escritura fue exitosa.

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

* `Variable Name` — Ingresa el nombre/dirección exacta de la variable del PLC a la que quieres escribir (tal como está definida en tu proyecto TwinCAT).

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

Cuando se ejecuta este bloque:

1. Lee las entradas proporcionadas `Connection` y `Value` y el control `Variable Name`.
2. Valida que exista un nombre de variable, una conexión válida y un valor.
3. Intenta escribir el valor proporcionado en la variable del PLC especificada a través de la conexión suministrada.
4. Emite `Success` como True cuando la escritura se completa; en caso contrario, emite False y registra un mensaje de error para la resolución de problemas.

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

* Operación simple de escritura de una sola variable con un resultado booleano claro.
* Flexible en tipos de entrada: acepta valores genéricos para trabajar con fuentes numéricas, textuales y booleanas.
* Reporte de errores: informa cuando falta la conexión, el nombre de la variable o el valor, o cuando la escritura falla.

## 📝 Instrucciones de uso <a href="#usage" id="usage"></a>

1. Añade un bloque de conexión PLC como `TwinCAT Connect` y configúralo.
2. Conecta la salida de la conexión al input `Connection` de este bloque.
3. Proporciona el valor a escribir usando un bloque de entrada apropiado (por ejemplo `Number Input` o `String Input`) al input `Value`.
4. Ingresa el nombre de la variable del PLC en el control `Variable Name`.
5. Ejecuta el escenario y verifica la salida `Success` para confirmar la escritura.

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

* Usa `TwinCAT Connect` para crear y suministrar la entrada `Connection`.
* Usa `Number Input`, `String Input` o `Logic Input` para preparar la entrada `Value` según el tipo de la variable en el PLC.
* Después de escribir, verifica el resultado leyendo la misma variable con `TwinCAT Read`.
* Si no estás seguro del tipo de valor, pasa los datos por `Data Type Converter` antes de escribir para asegurar la compatibilidad de tipos.
* Añade un `Debug Input` o una comprobación `Is None` aguas arriba para detectar valores faltantes o inválidos y evitar escrituras fallidas.
* Registra escrituras exitosas o fallidas usando `CSV Export` o `MQTT Publish` para auditoría o monitoreo remoto.

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

* Si `Success` es False: verifica que `Variable Name` sea exactamente como está definida en el PLC (incluyendo namespaces/rutas).
* Asegúrate de que la `Connection` proporcionada esté activa y correctamente configurada (revisa el estado de `TwinCAT Connect`).
* Confirma que el tipo de valor coincide con el tipo de la variable en el PLC; convierte los tipos aguas arriba si es necesario.
* Revisa los logs que muestra el bloque para mensajes de error descriptivos que te orienten sobre las acciones correctivas.
