Modbus RTU e Modbus TCP: diferenças, topologia RS-485 e integração por Ethernet e fibra

Modbus RTU e Modbus TCP são duas formas de transportar o mesmo protocolo Modbus: o RTU trafega em linha serial (quase sempre RS-485), em quadro binário protegido por CRC-16; o TCP trafega em Ethernet, encapsulado em TCP/IP na porta 502, com o cabeçalho MBAP no lugar do endereço de escravo e do CRC. As funções, os registradores e o modelo de dados são idênticos — muda o meio físico, o enquadramento e quem garante a integridade da mensagem.

A seguir: o que cada variante faz por baixo, o cálculo do tempo de varredura, como levar o Modbus TCP por Ethernet e fibra e os erros que derrubam a comunicação. Os valores vêm das especificações da Modbus Organization (modbus.org).

O que é Modbus: o protocolo por trás das duas variantes

O Modbus foi publicado pela Modicon em 1979; hoje a especificação é aberta e mantida pela Modbus Organization. Um equipamento pede e outro responde, sempre com um código de função e um bloco de dados. O conjunto código de função + dados é chamado de PDU (Protocol Data Unit) e tem no máximo 253 bytes. O que muda entre RTU e TCP é o que vai em volta do PDU — o ADU (Application Data Unit).

Modelo de dados: as quatro tabelas

Tabela Tamanho Acesso Uso típico
Coils (bobinas) 1 bit leitura e escrita saída digital, comando liga/desliga
Discrete Inputs 1 bit só leitura entrada digital, estado de contato
Input Registers 16 bits só leitura medição: tensão, corrente, temperatura
Holding Registers 16 bits leitura e escrita parâmetros, setpoints, configuração

Valores de 32 bits ocupam dois registradores, e a ordem das palavras fica a critério do fabricante — causa comum de leitura “absurda” no supervisório.

Códigos de função mais usados

Código Função Limite por requisição
01 (0x01) Read Coils até 2.000 bits
02 (0x02) Read Discrete Inputs até 2.000 bits
03 (0x03) Read Holding Registers até 125 registradores
04 (0x04) Read Input Registers até 125 registradores
05 (0x05) Write Single Coil 1 bit
06 (0x06) Write Single Register 1 registrador
15 (0x0F) Write Multiple Coils até 1.968 bits
16 (0x10) Write Multiple Registers até 123 registradores

Se não consegue atender, o equipamento devolve o código de função + 0x80 e um código de exceção: 01 função ilegal, 02 endereço ilegal, 03 valor ilegal, 04 falha no dispositivo; gateways usam 0A e 0B (destino inalcançável ou sem resposta).

Modbus RTU: como funciona a comunicação serial

O quadro RTU

O ADU do RTU é: endereço do escravo (1 byte) + PDU (até 253 bytes) + CRC-16 (2 bytes, byte menos significativo primeiro) — no máximo 256 bytes. Não há caractere de início nem de fim: as mensagens são separadas por um silêncio de pelo menos 3,5 tempos de caractere, e dentro de um quadro o intervalo entre caracteres não pode passar de 1,5 tempo de caractere. Acima de 19.200 bps a especificação fixa esses tempos em 750 µs e 1,750 ms. Por isso conversores USB/serial com latência alta “picam” o quadro e o escravo o descarta.

Endereços válidos vão de 1 a 247; o endereço 0 é broadcast (todos executam, ninguém responde) e 248–255 são reservados. Cada caractere tem 11 bits: partida, 8 de dados, paridade e parada. Sem paridade, a especificação pede 2 bits de parada para manter os 11 bits — muitos equipamentos aceitam 1, e essa diferença basta para dar erro intermitente. O padrão da especificação é 19.200 bps com paridade par; 9.600 bps também é obrigatório.

Topologia Modbus RTU em RS-485

A topologia correta é barramento linear (daisy chain): o par trançado passa de equipamento em equipamento, com derivações curtas. Estrela e anel não funcionam bem em RS-485, porque cada ponta solta reflete o sinal. A especificação Modbus serial define:

  • até 32 dispositivos por segmento sem repetidor (carga unitária padrão RS-485);
  • até 1.000 m de tronco a 9.600 bps com cabo AWG 26 ou mais grosso — a distância cai quando a taxa sobe;
  • derivações de no máximo 20 m;
  • terminação nas duas extremidades: 150 Ω (0,5 W), ou 120 Ω em série com 1 nF quando há polarização da linha — na prática se usa o valor da impedância do cabo, normalmente 120 Ω;
  • polarização (pull-up no D1 e pull-down no D0) com resistores entre 450 Ω e 650 Ω, em um único ponto da rede, para que a linha não flutue quando ninguém transmite;
  • um terceiro condutor de referência comum (Common) ligando todos os equipamentos — o RS-485 “de dois fios” na verdade precisa dele.

Modbus TCP: o protocolo sobre Ethernet

O cabeçalho MBAP

No Modbus TCP o PDU é precedido do MBAP Header, de 7 bytes, e o ADU chega a 260 bytes:

Campo Bytes Função
Transaction Identifier 2 casa cada resposta com sua requisição — permite várias perguntas em andamento
Protocol Identifier 2 sempre 0 para Modbus
Length 2 número de bytes que seguem (Unit ID + PDU)
Unit Identifier 1 endereço do escravo serial atrás de um gateway; em servidor TCP direto, normalmente 0xFF ou ignorado

Não há CRC: a integridade fica com o FCS do quadro Ethernet e com o checksum do TCP. A porta registrada é a 502. A terminologia também muda — cliente (quem pergunta: SCADA, CLP, IHM) e servidor (quem responde: medidor, inversor, remota de I/O). Um servidor pode atender vários clientes ao mesmo tempo, até o limite de conexões do equipamento.

O Modbus TCP clássico não tem autenticação nem criptografia: qualquer host que alcance a porta 502 pode ler e escrever. A Modbus Organization publicou a variante Modbus/TCP Security, com TLS e certificados, na porta 802 — ainda pouco suportada nos equipamentos de campo. Por isso, segmentação de rede é indispensável (ver adiante).

Modbus TCP não é “Modbus RTU over TCP”

Muitos conversores oferecem o modo RTU over TCP: o quadro RTU inteiro, com endereço e CRC, é jogado dentro de um socket TCP, sem MBAP. Não é Modbus TCP e os dois não conversam entre si. Se o supervisório está em “Modbus TCP” e o conversor em “RTU over TCP” (ou o contrário), a conexão abre e nenhuma resposta é válida.

Modbus RTU vs Modbus TCP: comparação técnica

Critério Modbus RTU Modbus TCP
Meio físico serial RS-485 (ou RS-232 ponto a ponto) Ethernet (cobre ou fibra)
Topologia barramento linear estrela/árvore com switches, anel com redundância
Quem fala um mestre, até 247 escravos (32 por segmento) vários clientes e servidores na mesma rede
Endereçamento endereço 1–247 endereço IP + Unit ID
Integridade CRC-16 no próprio quadro FCS Ethernet + checksum TCP
Tamanho máximo do ADU 256 bytes 260 bytes
Simultaneidade uma transação por vez no barramento transações em paralelo (Transaction ID)
Distância até 1.000 m por segmento a 9.600 bps 100 m por segmento de cobre; quilômetros com fibra
Parâmetros a casar baud rate, paridade, bits de parada, endereço IP, máscara, gateway, porta, Unit ID
Segurança isolamento físico do barramento segmentação, firewall, VLAN; TLS só na variante Security

Exemplo resolvido: tempo de varredura em RTU e em TCP

Um CLP precisa ler 10 holding registers (função 03) de cada um de 20 multimedidores.

Em Modbus RTU a 19.200 bps

  • Tempo de 1 caractere: 11 bits ÷ 19.200 bps = 0,573 ms.
  • Requisição: endereço (1) + função (1) + endereço inicial (2) + quantidade (2) + CRC (2) = 8 bytes.
  • Resposta: endereço (1) + função (1) + contagem (1) + 20 bytes de dados + CRC (2) = 25 bytes.
  • Transmissão: 33 caracteres × 0,573 ms = 18,9 ms. Somando dois silêncios de 3,5 caracteres (4,0 ms): cerca de 23 ms por medidor, antes do tempo de processamento do escravo.
  • 20 medidores: no mínimo 0,46 s por ciclo; com o tempo de resposta real de cada equipamento (consulte o manual) o ciclo passa facilmente de 1 s. A 9.600 bps, o tempo de linha dobra.

Em Modbus TCP a 100 Mbps

A requisição tem 12 bytes (7 de MBAP + 5 de PDU) e a resposta 29; cada quadro leva poucos microssegundos no fio. Como o cliente pode perguntar aos 20 servidores em paralelo, o ciclo fica perto do tempo de resposta do equipamento mais lento, não da soma de todos.

Conclusão prática: RTU atende bem medição de energia e utilidades com atualização de segundos; com muitos pontos, atualização rápida ou vários sistemas lendo o mesmo equipamento, o Modbus TCP resolve sem trocar o mapa de registradores.

Levando o Modbus TCP pela rede: Ethernet, fibra e gateways

Distância: 100 m no cobre, quilômetros na fibra

Um segmento Ethernet de par trançado (100BASE-TX ou 1000BASE-T, IEEE 802.3) é limitado a 100 m, e cabo metálico longo entre prédios ainda traz diferença de potencial de terra e surtos. A solução é fibra óptica, imune à interferência de inversores e motores. Há dois caminhos:

  • Conversor de mídia RJ45 ↔ fibra em cada ponta, quando só um enlace precisa ser estendido. Veja os conversores de mídia para fibra multimodo e monomodo.
  • Switch industrial com portas SFP, quando o painel tem vários equipamentos Modbus TCP: o switch concentra CLP, IHM e medidores e sobe por fibra até a sala de controle. Na linha IRD.Net há switches industriais gerenciáveis com portas SFP, faixa de operação de −40 °C a 75 °C e entrada de alimentação Vcc redundante.

Dentro do painel, para ligar CLP, IHM e gateway sem configuração, um switch industrial não gerenciável para trilho DIN, de 5 ou 8 portas, resolve.

Gateway Modbus RTU ↔ TCP

O gateway recebe a requisição Modbus TCP, usa o Unit Identifier como endereço do escravo serial, gera o quadro RTU e devolve a resposta em MBAP. Precisam bater: a configuração serial, o modo do lado Ethernet (Modbus TCP ou RTU over TCP) e o timeout do cliente, maior que a varredura serial atrás do gateway — senão o SCADA acusa falha num escravo que só estava na fila.

Segmentação e segurança

Como o Modbus TCP aceita escrita de qualquer origem, a rede de automação fica em VLAN própria, com a porta 502 liberada só para os clientes que precisam dela — a série IEC 62443 organiza essa defesa em zonas e conduítes. Acesso remoto sempre por VPN, nunca com a porta 502 exposta na internet.

Erros comuns em redes Modbus

No Modbus RTU

  • Endereço duplicado: dois escravos respondem juntos e o CRC falha nas duas respostas.
  • Paridade ou bits de parada diferentes entre mestre e um único escravo — este fica “mudo” enquanto os outros funcionam.
  • A/B invertidos: cada fabricante rotula de um jeito (A/B, D+/D−, D1/D0). Se não comunica, inverta o par desse equipamento antes de qualquer outra coisa.
  • Terminação no meio do barramento, terminação nas duas pontas e mais em equipamentos internos, ou nenhuma terminação.
  • Polarização ausente ou repetida em vários equipamentos.
  • Polling mais rápido que o tempo de resposta do escravo mais lento.

No Modbus TCP

  • Conflito de IP ou máscara errada: o equipamento responde ao ping de um lado e some do outro.
  • Endereçamento deslocado: o manual fala em “40001” e o cliente espera o endereço de protocolo 0. Teste ±1 antes de concluir que o mapa está errado.
  • Unit ID errado atrás de gateway: exceção 0B ou silêncio.
  • Clientes demais abrindo conexões no mesmo servidor e esgotando o limite do equipamento.

Para aprofundar mapas de registradores, cabeamento RS-485 e diagnóstico de campo, veja também o guia Modbus do blog da LRI. Sobre a camada física do Modbus TCP, o artigo o que é Ethernet e como funciona explica quadros, velocidades e meios.

Perguntas Frequentes

Qual a diferença entre Modbus RTU e TCP?

O Modbus RTU trafega em linha serial RS-485, com endereço de escravo (1 a 247) e CRC-16 no quadro, uma transação por vez. O Modbus TCP trafega em Ethernet, na porta 502, com o cabeçalho MBAP de 7 bytes, sem CRC e com várias transações em paralelo. As funções e os registradores são os mesmos.

Modbus RTU ou TCP: qual usar?

RTU quando há poucos equipamentos no mesmo trajeto, atualização de segundos e cabo serial já instalado. TCP quando há muitos pontos, mais de um sistema lendo os mesmos dados, distâncias que pedem fibra ou integração com SCADA e rede corporativa. Em plantas existentes, o comum é manter o RTU em campo e subir por gateway para TCP.

Qual é a topologia do Modbus RTU?

Barramento linear (daisy chain) em RS-485, com terminação nas duas extremidades, derivações de no máximo 20 m, até 32 dispositivos por segmento e até 1.000 m de tronco a 9.600 bps, conforme a especificação Modbus serial. Estrela e anel devem ser evitados.

Qual a porta do Modbus TCP?

A porta TCP 502. A variante com criptografia, Modbus/TCP Security, usa a porta 802 com TLS.

O Modbus RTU sempre usa RS-485?

Quase sempre, porque o RS-485 permite vários equipamentos no mesmo par e distâncias longas. A especificação também admite RS-232, mas só para ligação ponto a ponto e curta.

Quais são os tipos de Modbus?

Os três definidos pela Modbus Organization são Modbus RTU (serial, binário, CRC), Modbus ASCII (serial, texto, verificação LRC, delimitado por “:” e CR LF) e Modbus TCP (Ethernet, porta 502). O “RTU over TCP” é um modo de conversores, não uma especificação oficial.

Foto de Leandro Roisenberg

Leandro Roisenberg

Engenheiro Eletricista, formado pela Universidade Federal do RGS, em 1991. Mestrado em Ciências da Computação, pela Universidade Federal do RGS, em 1993. Fundador da LRI Automação Industrial em 1992. Vários cursos de especialização em Marketing. Projetos diversos na área de engenharia eletrônica com empresas da China e Taiwan. Experiência internacional em comercialização de tecnologia israelense em cybersecurity (segurança cibernética) desde 2018.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *