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.