Entenda o que é Modbus, diferenças entre RTU e TCP, coils, registers, function codes, endereçamento, gateways, polling, integração com SCADA e segurança.

Confira!

Modbus é um protocolo de comunicação industrial criado para permitir a troca de dados entre controladores, instrumentos, medidores, inversores, relés, gateways, sistemas supervisórios e outros dispositivos. Sua simplicidade contribuiu para uma ampla adoção em automação predial, industrial, elétrica e de utilidades.

O protocolo pode operar em redes seriais, principalmente como Modbus RTU, ou sobre Ethernet e TCP/IP, como Modbus TCP. Embora compartilhem o mesmo modelo básico de dados e funções, as duas variantes possuem diferenças de enquadramento, endereçamento, topologia, diagnóstico e desempenho.

Modbus foi desenvolvido em uma época na qual redes industriais eram isoladas e a cibersegurança não era um requisito central. Por isso, autenticação, criptografia e autorização não fazem parte do protocolo clássico. A proteção depende da arquitetura de rede, dos gateways, dos ativos, das regras de acesso e do monitoramento.

O que é Modbus

Modbus é um protocolo de aplicação utilizado para ler e escrever dados em dispositivos industriais. A comunicação se baseia em solicitações e respostas.

Um cliente solicita uma operação, como leitura de registradores, e o servidor responde com os valores ou com um código de exceção.

Em terminologia histórica, também são utilizados os termos mestre e escravo. Documentações mais recentes preferem cliente e servidor.

Onde o Modbus é utilizado

Aplicações comuns incluem:

  • medidores de energia;
  • CLPs e controladores;
  • inversores de frequência;
  • relés e dispositivos de proteção;
  • sensores e transmissores;
  • sistemas HVAC;
  • geradores e UPS;
  • sistemas de utilidades;
  • gateways de protocolo;
  • SCADA e sistemas supervisórios;
  • monitoramento de painéis e equipamentos.

O protocolo transporta dados. A semântica de cada registrador depende do mapa fornecido pelo fabricante.

Modelo de dados do Modbus

O modelo clássico divide os dados em quatro áreas.

ÁreaTipoAcesso típico
Coilsbitsleitura e escrita
Discrete Inputsbitssomente leitura
Input Registerspalavras de 16 bitssomente leitura
Holding Registerspalavras de 16 bitsleitura e escrita

Essa organização é lógica. O equipamento pode mapear internamente os dados de maneira diferente.

Coils e entradas discretas

Coils representam valores binários que podem ser lidos ou comandados, como ligar, desligar ou habilitar uma função.

Discrete Inputs representam estados binários de leitura, como contato aberto, fechado, alarme ativo ou condição de falha.

A nomenclatura não significa que todos os bits estão conectados diretamente a uma saída ou entrada física. O fabricante pode utilizar esses espaços para variáveis internas.

Input Registers e Holding Registers

Input Registers normalmente contêm medições e valores de leitura. Holding Registers podem armazenar ajustes, comandos e parâmetros.

Cada registrador possui 16 bits. Valores maiores podem ocupar dois ou mais registradores.

Podem ser representados:

  • inteiros com ou sem sinal;
  • valores de 32 ou 64 bits;
  • ponto flutuante;
  • strings;
  • flags;
  • timestamps;
  • valores escalonados.

A interpretação depende do mapa de registradores.

O problema do endereçamento

Documentações podem apresentar endereços como 40001, 30001 ou simplesmente offset zero. Essa diferença gera erros frequentes.

O projeto deve distinguir:

  • número de referência mostrado no manual;
  • offset enviado na mensagem;
  • área de dados;
  • função utilizada;
  • base zero ou base um adotada pelo software.

Um registrador descrito como 40001 pode corresponder ao offset 0 dos Holding Registers. O comportamento precisa ser confirmado no manual do fabricante e em teste.

Principais function codes

Function codes indicam a operação solicitada.

CódigoOperação comum
01ler coils
02ler discrete inputs
03ler holding registers
04ler input registers
05escrever uma coil
06escrever um holding register
15escrever múltiplas coils
16escrever múltiplos registers

Outras funções existem, mas o suporte varia entre dispositivos.

Respostas de exceção

Quando o servidor não consegue executar a solicitação, pode responder com código de exceção.

Exemplos:

  • função não suportada;
  • endereço inválido;
  • valor inválido;
  • falha no dispositivo;
  • dispositivo ocupado;
  • gateway sem resposta do equipamento remoto.

Essas respostas devem ser registradas e tratadas pelo sistema supervisório.

Modbus RTU

Modbus RTU é utilizado principalmente em comunicação serial, frequentemente sobre RS-485.

Características:

  • comunicação binária compacta;
  • identificação de dispositivo por endereço;
  • detecção de erro por CRC;
  • topologia de barramento;
  • necessidade de parâmetros seriais iguais;
  • temporização importante para delimitar quadros.

Os parâmetros incluem baud rate, bits de dados, paridade e bits de parada.

Topologia RS-485

Uma rede RS-485 deve ser projetada como barramento, com derivações curtas e terminação adequada nas extremidades.

Aspectos importantes:

  • polaridade dos pares;
  • continuidade da blindagem conforme projeto;
  • aterramento e equipotencialização;
  • resistores de terminação;
  • resistores de polarização quando necessários;
  • comprimento e velocidade;
  • quantidade de dispositivos;
  • isolamento galvânico;
  • proteção contra surtos;
  • interferência eletromagnética.

Topologias em estrela sem repetidores apropriados podem causar reflexões e comunicação intermitente.

Modbus ASCII

Modbus ASCII utiliza caracteres ASCII e verificação LRC. Possui menor eficiência que RTU e é menos comum em projetos novos.

Pode existir em equipamentos legados. O levantamento deve confirmar a variante, porque Modbus ASCII e RTU não são intercambiáveis sem conversão.

Modbus TCP

Modbus TCP transporta mensagens Modbus sobre TCP/IP. Utiliza normalmente a porta TCP 502.

A mensagem inclui um cabeçalho MBAP, que contém identificador de transação, protocolo, comprimento e Unit Identifier.

Vantagens:

  • integração com Ethernet;
  • comunicação simultânea com vários dispositivos;
  • roteamento conforme arquitetura;
  • diagnóstico por ferramentas IP;
  • maior flexibilidade de topologia.

O uso de TCP/IP não adiciona autenticação ou criptografia ao protocolo clássico.

Modbus exige projeto do meio físico, do mapa de dados e da segurança.

Endereçamento, polling, gateways, funções de escrita, segmentação e integração com o SCADA precisam ser documentados e testados.

Conhecer a solução de Redes Industriais

Unit Identifier em Modbus TCP

Em comunicação direta com um servidor Modbus TCP, o Unit Identifier pode ter uso limitado. Em gateways Modbus TCP para serial, ele pode identificar o dispositivo da rede RTU atrás do gateway.

A configuração deve ser documentada para evitar colisões e leituras do equipamento errado.

Modbus RTU versus Modbus TCP

AspectoModbus RTUModbus TCP
Meio comumserial RS-485Ethernet e IP
Identificaçãoendereço do dispositivoendereço IP e Unit Identifier
VerificaçãoCRCmecanismos de Ethernet/TCP, sem CRC Modbus clássico
Concorrêncianormalmente um mestre por barramentovários clientes conforme capacidade do servidor
Velocidadelimitada pela serialmaior capacidade de rede
Topologiabarramentoestrela, anel ou outra topologia Ethernet
Segurança nativanãonão no Modbus TCP clássico
Diagnósticoparâmetros físicos e seriaisrede, TCP, aplicação e servidor

A escolha depende do equipamento, distância, ambiente, legado e requisitos de integração.

Gateways Modbus

Gateways conectam redes ou protocolos diferentes. Um gateway pode converter Modbus TCP para Modbus RTU, concentrar vários dispositivos ou publicar dados em MQTT e OPC UA.

O projeto precisa definir:

  • mapeamento de endereços;
  • Unit Identifier;
  • tempo de polling;
  • timeout;
  • tentativas;
  • comportamento de exceção;
  • quantidade de clientes;
  • cache;
  • atualização dos dados;
  • diagnóstico;
  • segurança.

O gateway pode se tornar ponto único de falha e gargalo.

Polling e desempenho

Sistemas supervisórios consultam dispositivos em ciclos. O tempo total depende de:

  • quantidade de dispositivos;
  • quantidade de registradores;
  • baud rate;
  • latência;
  • timeout;
  • tentativas;
  • tempo de processamento;
  • qualidade do enlace;
  • quantidade de clientes.

Ler registradores contíguos em blocos pode ser mais eficiente que realizar muitas solicitações individuais. Entretanto, o limite de cada dispositivo e a organização do mapa precisam ser respeitados.

Banda morta e atualização

Modbus normalmente responde quando consultado. A banda morta e a taxa de atualização são implementadas no SCADA, gateway ou aplicação.

O projeto deve definir:

  • frequência de polling;
  • prioridade de pontos;
  • timeout;
  • qualidade do dado;
  • idade máxima;
  • comportamento quando o dispositivo não responde;
  • retenção do último valor;
  • indicação de dado inválido.

Integração com SCADA

A integração exige mais que cadastrar endereços.

Cada ponto deve possuir:

  • nome padronizado;
  • equipamento de origem;
  • endereço;
  • função;
  • tipo de dado;
  • ordem de bytes e palavras;
  • escala;
  • unidade;
  • limites;
  • qualidade;
  • intervalo de atualização;
  • permissão de escrita;
  • descrição operacional.

Uma lista de pontos incompleta gera valores invertidos, escalas erradas e comandos indevidos.

Endianness e ordem de palavras

O protocolo define registradores de 16 bits, mas valores de 32 ou 64 bits podem ser organizados de diferentes formas.

Um fabricante pode utilizar:

  • high word first;
  • low word first;
  • bytes em ordem diferente;
  • formatos proprietários.

A ordem deve ser confirmada por documentação e teste com valores conhecidos.

Escrita e comandos

Funções de escrita podem alterar parâmetros ou comandar equipamentos. A aplicação precisa limitar quem pode utilizá-las.

Controles recomendados:

  • separar pontos de leitura e escrita;
  • utilizar perfis de acesso;
  • registrar operador e comando;
  • validar faixa de valores;
  • exigir confirmação em comandos críticos;
  • aplicar intertravamentos locais;
  • bloquear escrita quando não necessária;
  • testar comportamento de repetição;
  • documentar resposta e confirmação.

A segurança operacional não pode depender apenas do SCADA.

Segurança do Modbus

Modbus RTU e Modbus TCP clássicos não possuem autenticação, confidencialidade ou integridade criptográfica. Qualquer dispositivo com acesso ao caminho pode tentar ler ou escrever funções permitidas.

A proteção deve ser arquitetural:

  • segmentação de rede;
  • restrição por origem e destino;
  • firewall industrial;
  • bloqueio de função de escrita quando possível;
  • acesso remoto por jump server;
  • hardening de gateways;
  • monitoramento passivo;
  • inventário;
  • controle físico;
  • logs de comandos;
  • atualização dos ativos.

Modbus Security

Existe uma especificação de Modbus Security que adiciona TLS e certificados ao transporte. O suporte depende dos dispositivos e aplicações.

Não se deve presumir que um equipamento identificado como Modbus TCP suporta Modbus Security. A interoperabilidade precisa ser verificada.

Em redes legadas, controles compensatórios continuam essenciais.

Segmentação e firewall

A porta TCP 502 não deve ser liberada entre redes inteiras sem necessidade. Regras devem limitar:

  • cliente autorizado;
  • servidor específico;
  • direção;
  • zona;
  • janela de manutenção;
  • funções quando a tecnologia permitir inspeção.

Dispositivos de campo não devem ser acessíveis diretamente pela internet ou pela rede corporativa.

Monitoramento

Indicadores importantes:

  • dispositivos sem resposta;
  • aumento de timeout;
  • códigos de exceção;
  • novos clientes;
  • solicitações de escrita;
  • varredura de endereços;
  • volume anormal;
  • conexão na porta 502 fora do padrão;
  • alterações de configuração;
  • reinicialização de gateways.

O monitoramento passivo reduz risco de interferência em dispositivos sensíveis.

Projeto e documentação

Um projeto Modbus pode produzir:

  • arquitetura da rede;
  • diagrama serial e Ethernet;
  • lista de dispositivos;
  • parâmetros de comunicação;
  • mapa de endereços;
  • lista de pontos;
  • matriz de leitura e escrita;
  • definição de polling;
  • configuração de gateways;
  • regras de firewall;
  • plano de endereçamento IP;
  • critérios de qualidade do dado;
  • roteiro de testes;
  • documentação as-built.

Testes e comissionamento

Os testes devem verificar:

  • parâmetros seriais;
  • endereço de cada dispositivo;
  • terminação e polaridade;
  • leitura de cada área;
  • escala e unidade;
  • ordem de bytes e palavras;
  • códigos de exceção;
  • timeout e perda de comunicação;
  • recuperação;
  • gateway;
  • clientes simultâneos;
  • comandos autorizados;
  • bloqueio de escrita indevida;
  • regras de firewall;
  • integração com SCADA.

A integração Modbus precisa ser validada até o ponto apresentado ao operador.

Escala, unidade, endianness, qualidade, escrita, exceções, timeout e segurança devem ser testados entre dispositivo, gateway e SCADA.

Conhecer o serviço de Integração de Sistemas

Diagnóstico de falhas

Sem resposta

Verificar alimentação, meio físico, endereço, baud rate, paridade, porta TCP, rota, firewall e timeout.

Resposta com valores incorretos

Verificar área, offset, base zero ou um, tipo de dado, escala e endianness.

Comunicação intermitente em RS-485

Verificar terminação, topologia, blindagem, aterramento, derivações, interferência e colisões.

Gateway responde, mas dispositivo não

Verificar Unit Identifier, parâmetros seriais, fila, timeout e endereço do equipamento remoto.

Leitura funciona e escrita falha

Verificar função suportada, permissões, faixa de valor, modo local/remoto e intertravamentos.

Erros comuns

Confundir 40001 com offset 40001

A referência do manual pode não ser o valor enviado na mensagem.

Não documentar endianness

Valores de 32 bits podem aparecer invertidos ou incoerentes.

Colocar RS-485 em estrela

A topologia inadequada pode gerar reflexões e falhas intermitentes.

Liberar TCP 502 para toda a rede

A ausência de autenticação nativa amplia o risco de leitura e escrita indevidas.

Polling excessivo

Consultas muito frequentes podem sobrecarregar dispositivos e gateways.

Não testar comandos

Escrita precisa ser validada com segurança e evidência.

Conclusão

Modbus permanece relevante por sua simplicidade e ampla disponibilidade em equipamentos industriais. Essa mesma simplicidade exige disciplina de engenharia para endereçamento, mapa de dados, polling, integração e segurança.

Projetos confiáveis documentam cada ponto, limitam funções de escrita, segmentam a rede, monitoram anomalias e testam a comunicação ponta a ponta. Assim, Modbus RTU e TCP podem ser integrados ao SCADA sem transformar o protocolo legado em um caminho não controlado para o processo.

Referências técnicas

[1] MODBUS ORGANIZATION. Modbus Application Protocol Specification V1.1b3.

[2] MODBUS ORGANIZATION. Modbus over Serial Line Specification and Implementation Guide V1.02.

[3] MODBUS ORGANIZATION. Modbus Messaging on TCP/IP Implementation Guide.

[4] NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY. NIST SP 800-82 Rev. 3 — Guide to Operational Technology Security.

[5] ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. ABNT IEC/TS 62443-1-1:2023 — Segurança para sistemas de automação e controle industriais.

Perguntas frequentes
O que é Modbus?

É um protocolo industrial de solicitação e resposta utilizado para ler e escrever dados em controladores, medidores, relés, inversores, gateways e outros dispositivos.

Qual a diferença entre Modbus RTU e Modbus TCP?

Modbus RTU opera principalmente em comunicação serial, como RS-485. Modbus TCP transporta as mensagens sobre Ethernet e TCP/IP.

O que são Holding Registers?

São registradores de 16 bits normalmente utilizados para valores que podem ser lidos e escritos, como parâmetros e comandos.

Por que endereços como 40001 causam confusão?

Porque o manual pode usar um número de referência, enquanto a mensagem utiliza um offset iniciado em zero. A conversão depende do software e do fabricante.

Modbus possui segurança nativa?

O Modbus clássico não possui autenticação ou criptografia. A proteção depende de segmentação, firewall, controle de acesso, hardening e monitoramento.

Qual porta o Modbus TCP utiliza?

Normalmente TCP 502. A porta deve ser liberada somente entre clientes e servidores autorizados.

O que é Unit Identifier?

É um campo do Modbus TCP que pode ser utilizado por gateways para identificar dispositivos Modbus RTU atrás deles.

Como calcular o tempo de polling?

É necessário considerar quantidade de dispositivos, registradores, velocidade, timeout, tentativas e tempo de processamento. O valor deve ser validado em teste.

Como interpretar valores de 32 bits?

É preciso conhecer o tipo de dado e a ordem de bytes e palavras adotada pelo fabricante.

Como testar uma rede Modbus?

Devem ser verificados meio físico, parâmetros, endereços, funções, escala, endianness, timeout, exceções, escrita, gateways, firewall e integração com SCADA.

Materiais técnicos complementares

Soluções

Serviços de engenharia

Materiais técnicos complementares