> 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/serial-connect.md).

# Serial Connect

## 📥 Entradas

Este bloque de función no tiene entradas.

## 📤 Salidas

* `ConnId`\
  Identificador único de la conexión serie abierta. Utilice este valor para referenciar la conexión desde otros bloques.
* `Connected?`\
  Indicador booleano que muestra si la conexión serie está activa actualmente.

## 🕹️ Controles

* `Port`\
  Nombre del puerto COM al que conectar (por ejemplo COM3).
* `Baud`\
  Velocidad de comunicación (por ejemplo 115200).
* `Read timeout (s)`\
  Tiempo en segundos que se espera para operaciones de lectura.
* `Line delimiter`\
  Seleccione el final de línea usado por su dispositivo (LF / CRLF / CR).
* `AutoReconnect`\
  Interruptor que habilita la reconexión automática cuando la conexión se pierde.
* `Reconnect interval (s)`\
  Intervalo entre intentos de reconexión cuando `AutoReconnect` está habilitado.
* `Idle disconnect (s)`\
  Tiempo de inactividad tras el cual la conexión se cerrará automáticamente para liberar el puerto.

## 🎨 Características

* Gestión automática de la conexión: abre una conexión con los parámetros configurados y mantiene `ConnId` disponible para otros bloques.
* Reconexión automática: opcionalmente reintenta cuando el dispositivo deja de estar disponible.
* Desconexión por inactividad: cierra el puerto cuando no se usa para evitar bloquear el dispositivo para otras aplicaciones.
* Configuración clara y simple: seleccione la convención de fin de línea y ajuste los timeouts para que coincidan con el dispositivo conectado.

## 📝 Instrucciones de uso

1. Ajuste `Port` y `Baud` para que coincidan con su dispositivo.
2. Configure `Read timeout (s)` y `Line delimiter` según el protocolo de su dispositivo.
3. Active `AutoReconnect` y configure `Reconnect interval (s)` si desea que el bloque se recupere automáticamente de desconexiones.
4. Ajuste `Idle disconnect (s)` para que el bloque cierre el puerto cuando no se esté usando.
5. Ejecute el escenario. El bloque abrirá la conexión y emitirá `ConnId` y `Connected?`. Use `ConnId` en otros bloques de comunicación que acepten una referencia de conexión.

## 📊 Evaluación

Al evaluarse, el bloque garantiza que exista una conexión serie con la configuración actual. Si cambian los ajustes, la conexión anterior se libera y se crea una nueva. Las salidas reflejan el id de conexión activo y si la conexión está establecida en ese momento.

## 💡 Consejos y trucos

* Use `Led Output` para reflejar visualmente el estado de `Connected?` en su UI.
* Use `String Input` o `Number Input` y `String Merge` para construir comandos a enviar por el enlace serie.
* Use `Data Write Global` / `Data Read Global` para compartir `ConnId` o resultados serie con otras partes del escenario sin cableado directo.
* Envíe los datos serie a `Data to JSON` o `CSV Export` para registrar la comunicación y analizarla luego.
* Reenvíe datos parseados a sistemas remotos con `MQTT Publish` o `REST API - Post` para integración en la nube o monitorización.
* Use `Debug Input` para inspeccionar mensajes mientras desarrolla su flujo serie.
* Combine con `Send Mail` para disparar alertas por correo cuando la conexión se caiga o lleguen mensajes específicos.

## 🛠️ Solución de problemas

* Si `Connected?` permanece en false: verifique que el puerto y la velocidad (`Port`, `Baud`) coincidan con el dispositivo; compruebe los drivers y el Administrador de dispositivos del sistema operativo.
* Si no puede abrir el puerto: asegúrese de que ninguna otra aplicación esté usando el mismo puerto COM. Cierre otros programas o habilite la desconexión por inactividad en esos sistemas.
* Si las líneas aparecen truncadas o unidas: pruebe otro ajuste de `Line delimiter` o aumente `Read timeout (s)`.
* Si hay desconexiones frecuentes: active `AutoReconnect` y aumente `Reconnect interval (s)` para dar tiempo al dispositivo a recuperarse.
* Si aparecen caracteres inesperados: confirme la velocidad y la paridad con la documentación del dispositivo y ajuste en consecuencia.
