Marcio Cunha

Como integrar PLCs industriais ao Home Assistant via Modbus

Aprenda a conectar controladores lógicos programáveis ao Home Assistant usando o protocolo Modbus TCP, mapeando registradores e tratando timeouts.

Marcio Cunha•3 min
Também disponível em:EnglishEspañol
Resumo
  • O protocolo Modbus TCP atua como ponte universal entre sistemas legados de chão de fábrica e plataformas de automação residencial.
  • O mapeamento correto de registradores holding exige atenção aos deslocamentos de endereço e ao tipo de dado de 16 ou 32 bits.
  • Ajustar tempos limite de comunicação evita que quedas pontuais de rede travem o ciclo de leitura dos sensores e atuadores.
  • Ferramentas de diagnóstico ajudam a verificar a integridade do barramento físico antes de culpar o software de supervisão.
  • A integração bem-sucedida transforma dados brutos de máquinas industriais em painéis visuais amigáveis e automações inteligentes.

O que é o Modbus e por que ele conecta a indústria ao Home Assistant

Muitas pessoas imaginam que a automação industrial e a automação residencial vivem em universos completamente separados, mas na prática elas compartilham desafios parecidos de comunicação. O protocolo Modbus, criado na década de 1970, continua sendo a espinha dorsal de milhares de fábricas e estações de tratamento. Ele funciona em uma arquitetura simples do tipo mestre-escravo, onde o sistema principal solicita informações e os dispositivos de campo respondem. Quando trazemos esse cenário para a nossa casa, o controlador de automação residencial assume o papel de mestre, conversando diretamente com o CLP (Controlador Lógico Programável), que é o computador robusto responsável por comandar motores, válvulas e esteiras no chão de fábrica.

Integrar esses mundos permite que você traga dados confiáveis de temperatura, pressão e estado de máquinas diretamente para uma interface moderna e unificada. No entanto, o equipamento industrial foi projetado para ambientes industriais ruidosos e redes locais isoladas, exigindo cuidado na configuração da rede para evitar gargalos. Se a sua infraestrutura de rede sofre com interferências físicas, vale a pena entender como rastrear interferência e canais para garantir que o tráfego Modbus TCP trafegue sem atrasos indesejados entre os dispositivos da rede local.

Entendendo os registradores holding e o mapa de memória

Para conversar com um CLP, você precisa compreender como ele organiza seus dados internamente através de tabelas de memória. O Modbus divide essas informações em quatro tipos principais, mas o foco absoluto na integração com sistemas abertos recai sobre os registradores holding. Na prática, um registrador holding é uma caixinha de memória de 16 bits que pode armazenar tanto valores analógicos — como a velocidade atual de um motor — quanto configurações e parâmetros de funcionamento da máquina. Cada variável possui um endereço numérico específico que o programador do CLP definiu durante a automação original do processo.

O grande segredo para um mapeamento sem erros reside na documentação do fabricante do equipamento ou na lista de variáveis gerada pelo engenheiro de automação. Muitos fabricantes iniciam a contagem dos endereços a partir do número zero, enquanto outros utilizam a convenção tradicional que começa no número quatro mil. Além disso, variáveis maiores, como números de ponto flutuante ou contadores de 32 bits, ocupam dois registradores consecutivos. Isso significa que você precisa prestar muita atenção à ordem dos bytes, garantindo que o sistema interprete a parte alta e a parte baixa da informação na sequência correta, evitando leituras completamente distorcidas na tela do seu painel.

Configurando o arquivo YAML para leitura via Modbus TCP

A comunicação via rede TCP/IP exige que o seu sistema de supervisão saiba exatamente qual endereço IP chamar e qual porta escutar, sendo a porta padrão a de número quinhentos e dois. Dentro da plataforma de automação residencial, essa integração é declarada diretamente no arquivo de configuração principal através de blocos estruturados. O processo exige paciência, pois cada sensor precisa ter seu tipo de dado, endereço de registrador e fator de escala devidamente informados para que o valor bruto retorne convertido em unidades reais, como graus Celsius ou litros por minuto.

Para colocar a mão na massa com segurança e organizar as chamadas de rede sem sobrecarregar o processamento do controlador, é importante manter uma rotina rigorosa de testes e validação. Se você costuma automatizar tarefas de manutenção ou varreduras periódicas em servidores e CLPs, vale a pena consultar orientações sobre como configurar o agendador Cron no Linux sem errar para entender a importância de intervalos consistentes em scripts de monitoramento. Abaixo, veja um exemplo prático de estrutura YAML utilizada para ler sensores de temperatura diretamente de um registrador industrial:

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