Marcio Cunha

Cómo integrar PLCs industriales a Home Assistant vía Modbus

Aprenda a conectar controladores lógicos programables a Home Assistant usando Modbus TCP, mapeando registros de retención y manejando tiempos de espera.

Marcio Cunha•3 min
También disponible en:PortuguêsEnglish
Resumen
  • El protocolo Modbus TCP actúa como un puente universal entre sistemas heredados de planta y plataformas de automatización del hogar.
  • El mapeo correcto de registros de retención requiere prestar atención a los desplazamientos de dirección y tipos de datos de 16 o 32 bits.
  • Ajustar los tiempos de espera de comunicación evita que caídas puntuales de red bloqueen el ciclo de lectura de sensores y actuadores.
  • Las herramientas de diagnóstico ayudan a verificar la integridad del bus físico antes de culpar al software de supervisión por fallas.
  • La integración exitosa transforma datos brutos de máquinas industriales en paneles visuales amigables y automatizaciones inteligentes.

Qué es Modbus y por qué conecta la industria con Home Assistant

Muchas personas imaginan que la automatización industrial y la automatización del hogar viven en universos completamente separados, pero en la práctica comparten desafíos de comunicación similares. El protocolo Modbus, creado en la década de 1970, sigue siendo la columna vertebral de miles de fábricas y plantas de tratamiento. Funciona en una arquitectura simple de maestro-esclavo, donde el sistema principal solicita información y los dispositivos de campo responden. Cuando llevamos este escenario a nuestro entorno, el controlador de automatización del hogar asume el papel de maestro, hablando directamente con el PLC (Controlador Lógico Programable), que es la computadora robusta responsable de comandar motores, válvulas y cintas transportadoras en la planta.

Integrar estos mundos le permite llevar datos confiables de temperatura, presión y estado de la máquina directamente a una interfaz moderna y unificada. Sin embargo, el equipo industrial está diseñado para entornos de fábrica ruidosos y redes locales aisladas, lo que requiere una configuración de red cuidadosa para evitar cuellos de botella. Si su infraestructura de red sufre interferencias físicas, vale la pena entender cómo rastrear interferencias para garantizar que el tráfico Modbus TCP fluya sin retrasos no deseados entre los dispositivos de la red local.

Comprendiendo los registros de retención y el mapa de memoria

Para hablar con un PLC, debe comprender cómo organiza sus datos internamente a través de tablas de memoria. Modbus divide esta información en cuatro tipos principales, pero el enfoque absoluto en la integración con sistemas abiertos recae en los registros de retención. En la práctica, un registro de retención es una casilla de memoria de 16 bits que puede almacenar tanto valores analógicos —como la velocidad actual de un motor— como parámetros de configuración y funcionamiento de la máquina. Cada variable tiene una dirección numérica específica definida por el programador del PLC durante el proceso de automatización original.

El gran secreto para un mapeo sin errores radica en la documentación del fabricante del equipo o en la lista de variables generada por el ingeniero de automatización. Muchos fabricantes comienzan a contar las direcciones desde cero, mientras que otros usan la convención tradicional que comienza en cuatro mil. Además, variables más grandes, como números de punto flotante o contadores de 32 bits, ocupan dos registros consecutivos. Esto significa que debe prestar mucha atención al orden de los bytes, asegurando que el sistema interprete la parte alta y baja de la información en la secuencia correcta, evitando lecturas completamente distorsionadas en la pantalla de su panel.

Configurando el archivo YAML para lectura vía Modbus TCP

La comunicación de red TCP/IP requiere que su sistema de supervisión sepa exactamente qué dirección IP llamar y qué puerto escuchar, siendo el puerto quinientos dos el estándar. Dentro de la plataforma de automatización del hogar, esta integración se declara directamente en el archivo de configuración principal a través de bloques estructurados. El proceso requiere paciencia, ya que cada sensor debe tener su tipo de valor, dirección de registro y factor de escala debidamente informados para que el valor bruto devuelto se convierta en unidades reales, como grados Celsius o litros por minuto.

Para ensuciarse las manos con seguridad y organizar las llamadas de red sin sobrecargar el procesamiento del controlador, es importante mantener una rutina rigurosa de pruebas y validación. Si suele automatizar tareas de mantenimiento o escaneos periódicos en servidores y PLCs, vale la pena consultar las pautas sobre cómo configurar el programador Cron en Linux sin errores para comprender la importancia de intervalos consistentes en scripts de monitoreo. A continuación, vea un ejemplo práctico de estructura YAML utilizada para leer sensores de temperatura directamente desde un registro industrial:

modbus:
  - name: industrial_plc
    type: tcp
    host: 192.168.1.50
    port: 502
    sensors:
      - name: " }