BANCADA DO ELETRICISTA · TOKEN ENGENHARIA

Calculadora de tempo de scan Modbus RTU — ciclo da rede RS-485, em segundos

Vai comissionar ou depurar uma rede serial? Informe o baud rate, o enquadramento e os escravos: a ferramenta devolve o tempo total de scan, a taxa de atualização e o timeout recomendado para o mestre — com a regra do 3,5T fixo acima de 19.200 bps já aplicada, na bancada, sem cadastro.

Abrir a calculadora

FC03 read holding registersRegra 3,5T fixo > 19.200 bpsMulti-escravo até 16Presets WEG / SiemensCálculo na hora · sem cadastroAtendimento nacional

Resposta rápida

O tempo de scan de uma rede Modbus RTU é a soma das transações de todos os escravos. Cada transação FC03 leva T_transação = 3 × T_3.5 + frame_request + T_slave + frame_response, onde o request tem 8 bytes fixos e o response tem 5 + 2N bytes (N = número de registradores). O caracter no fio leva T_char = bits ÷ baud_rate. Acima de 19.200 bps, o gap 3,5T não é calculado: fica fixo em 1,750 ms pela especificação. Esta ferramenta faz toda a conta nos dois modos — escravo único e rede com até 16 escravos — e ainda recomenda o timeout do mestre.

Token Engenharia

TOKEN ENGENHARIA
Confiabilidade e Segurança

Calculadora grátis · rede Modbus RTU

Calcule o tempo de ciclo da sua rede RS-485

Informe baud rate, enquadramento e os escravos. A ferramenta devolve o tempo total de scan, a taxa de atualização e o timeout recomendado — com a regra do 3,5T fixo já aplicada.

T_char = 0,521 ms · gap 3,5T = 1,823 ms

Valores típicos de campo — confirme no manual de comunicação do dispositivo.

Tempo total de scan da rede
30,7ms

1 escravo · 32,6 scans/s · 10 registradores

0 ms1.000 ms

T_char

0,521ms

Gap 3,5T

1,823ms

Frame request

4,167ms

Frame response

13,021ms

Por transação

30,656ms

Taxa

32,6scan/s

⏱ Timeout recomendado: 100 ms (arredondado p/ segurança)

Resultado orientativo a partir dos dados informados. O atraso real do escravo varia com a carga e o adaptador USB-serial adiciona jitter — confirme em campo e deixe margem no timeout.

Ver a fórmula com os números

Tabela de frames — bytes e tempos
Histórico (salvo neste aparelho)

Falar com a Token sobre rede Modbus

Como calcular o tempo de scan na mão

O Modbus RTU é um protocolo serial síncrono sobre RS-485: o mestre conversa com um escravo de cada vez, em sequência, e o tempo de uma volta completa por todos os escravos é o que chamamos de tempo de scan (ou ciclo) da rede. Para chegar a esse número, a conta parte da menor unidade de tempo — o tempo de um caracter no fio — e vai somando os pedaços de cada transação.

Cada bit ocupa 1 ÷ baud_rate segundos. Um caracter (byte no fio) não é só os 8 bits de dados: ele carrega também um start bit, eventualmente um bit de paridade e um ou dois stop bits. No enquadramento 8-N-1, padrão de fábrica de inversores WEG e CLPs Siemens no Brasil, são 10 bits por caracter. Logo:

T_char = bits_por_caracter ÷ baud_rate

A 19.200 bps com 8-N-1, isso dá T_char = 10 ÷ 19.200 = 0,521 ms. Esse é o tijolo de todo o resto: o tempo de qualquer frame é simplesmente o número de bytes do frame multiplicado por T_char.

A regra do 3,5T — o ponto que a maioria das ferramentas erra

Entre uma mensagem e outra, o Modbus RTU exige um silêncio mínimo no barramento de 3,5 caracteres — é assim que os dispositivos sabem onde um frame termina e outro começa. Esse intervalo é o famoso 3,5T. Até aqui, tudo é proporcional: T_3.5 = 3,5 × T_char. O detalhe que derruba muita rede em campo é a exceção da especificação:

  • Se o baud rate é ≤ 19.200 bps: o gap é calculado, T_3.5 = 3,5 × T_char.
  • Se o baud rate é acima de 19.200 bps: o gap é fixo em 1,750 ms (e o gap de 1,5 caracter, fixo em 0,750 ms).

O motivo é prático. Acima de 19.200 bps, o valor calculado de 3,5 × T_char ficaria tão curto que a maioria dos UARTs e dos schedulers de sistema operacional não conseguiria medi-lo com confiabilidade. A especificação então congela um piso fixo para garantir interoperabilidade. Softwares e bibliotecas que continuam calculando 3,5 × T_char nessa faixa produzem gaps menores do que o permitido — e o sintoma é o pior que existe: falha intermitente de comunicação, daquelas que aparecem uma vez por hora e somem quando você vai investigar. Esta calculadora aplica o valor fixo automaticamente e mostra um aviso quando você ultrapassa a faixa.

Anatomia da transação

O que compõe cada pergunta-e-resposta no fio

Uma leitura FC03 não é só o tempo dos dados. Entre o silêncio que abre a mensagem, o frame de request, o tempo que o escravo leva para processar e montar a resposta, e o frame de response, somam-se três gaps de 3,5 caracteres. É por isso que o ciclo cresce rápido quando há muitos escravos: cada um adiciona uma transação inteira ao tempo total. Quando a rede precisa ser dimensionada, instalada ou auditada de verdade, a Token Engenharia faz o levantamento de campo, a configuração e o relatório técnico da instalação RS-485, com responsável técnico e ART em todo o Brasil.

Cada transação = 3 gaps de 3,5T + request (8 bytes) + atraso do escravo + response (5 + 2N bytes). A soma das transações é o T_scan.

A estrutura do frame FC03 (Read Holding Registers)

A função 03 do Modbus — leitura de registradores de retenção — é de longe a mais usada para ler grandezas de um inversor, um CLP ou um medidor. O frame de pergunta (request) tem tamanho fixo de 8 bytes, não importa quantos registradores você peça. Já a resposta (response) cresce com o número de registradores lidos:

Frame FC03 Composição Tamanho (bytes)
Request endereço + função + reg. inicial + quantidade + CRC-16 8 (fixo)
Response endereço + função + byte count + dados (2 × N) + CRC-16 5 + 2N
Exemplo: 1 registrador response com 2 bytes de dados 7
Exemplo: 10 registradores response com 20 bytes de dados 25
Exemplo: 125 registradores (máx.) response com 250 bytes de dados 255

Com isso, o tempo de cada frame sai direto: T_frame = N_bytes × T_char. A transação completa de um escravo soma os três gaps, o request, o atraso do próprio escravo e o response:

T_transação = 3 × T_3.5 + T_frame_req + T_slave + T_frame_resp

E o ciclo da rede inteira é a soma das transações de todos os M escravos: T_scan = Σ T_transação, para i de 1 até M. A taxa de atualização é simplesmente o inverso: quantas voltas completas a rede consegue dar por segundo.

O atraso do escravo (T_slave): o parâmetro que falta no datasheet

Todos os termos acima saem da matemática — menos um. O T_slave, o tempo que o dispositivo leva entre receber o request e começar a responder, depende do firmware e da carga do equipamento, e raramente vem cravado no manual como um número único. Por isso a ferramenta traz presets de campo para os dispositivos mais comuns no Brasil, e a tabela abaixo serve de referência. Trate esses valores como ponto de partida, não como verdade absoluta:

Dispositivo Faixa típica de T_slave
WEG CFW500 2 a 10 ms
WEG CFW11 3 a 15 ms
Schneider ATV312 5 a 30 ms
Siemens S7-1200 (como escravo) 5 a 20 ms
Medidor de energia (Kron, Salia, Carlo Gavazzi) 20 a 50 ms
CLP genérico simples 10 a 50 ms
Transmissor 4-20 mA com Modbus 15 a 80 ms

Um detalhe que pega muita gente: o T_slave não é constante. Um inversor em frenagem regenerativa, ou um CLP no meio de uma lógica pesada, pode demorar o dobro do valor típico para responder. Por isso o timeout do mestre precisa de margem real, e não só da margem mínima da especificação — é o que a calculadora embute ao recomendar o timeout.

Timeout recomendado para o mestre

O timeout é quanto tempo o mestre espera pela resposta antes de declarar falha de comunicação. Se ele for menor que o pior caso de uma transação, a rede dá falhas espúrias; se for grande demais, a rede demora a perceber um escravo realmente mudo. Uma regra prática equilibrada é:

T_timeout = (T_frame_req + T_slave_máx + T_frame_resp) × 1,5 + 50 ms

O fator 1,5 dá folga ao pior caso, e os 50 ms absorvem o jitter dos adaptadores USB-serial e a latência do scheduler do sistema operacional. Adaptadores baratos com chips CH340 ou PL2303 adicionam de 2 a 20 ms variáveis por transação — em redes com muitos escravos, esse jitter se acumula e estoura timeouts apertados. A própria Modbus.org recomenda 1 segundo como valor conservador a 9.600 bps; para redes bem dimensionadas a 19.200 bps ou mais, algo entre 200 e 500 ms costuma ser suficiente. A ferramenta calcula o número e arredonda para cima, para você cravar com segurança.

Quantos escravos cabem? Dois limites diferentes

Há uma confusão clássica entre dois limites que não têm nada a ver um com o outro. O endereçamento Modbus vai até 247 escravos — esse é o limite do protocolo. Já a camada física RS-485 (TIA/EIA-485) limita 32 cargas unitárias (unit loads) por segmento, e não 32 dispositivos: transceivers de fração de unit load (1/4, 1/8) permitem mais dispositivos no mesmo barramento, e repetidores ampliam o segmento. Mas, na prática, o gargalo que mais aparece não é nenhum desses dois — é o tempo de ciclo. Quanto mais escravos e mais registradores por escravo, maior o scan e menor a taxa de atualização. Uma rede que cabe fisicamente pode ser lenta demais para a aplicação, e é exatamente isso que a calculadora ajuda a antecipar antes de fechar o projeto.

Comprimento de cabo e baud rate: existe um troca-troca

Baud rate alto reduz o tempo de scan, mas cobra o preço no comprimento máximo do barramento. Os valores abaixo são referências de campo — não limites normativos — e dependem de bitola do cabo, terminação, qualidade do conector e nível de ruído:

Baud rate Comprimento orientativo do barramento
9.600 bps até cerca de 1.200 m
19.200 bps até cerca de 600 m
115.200 bps até cerca de 100 m

São aproximações: confirme sempre com o fabricante do cabo e dos dispositivos. A terminação de 120 Ω nas duas pontas do barramento e o aterramento correto da blindagem fazem tanta diferença quanto o próprio comprimento — uma rede curta mal terminada erra mais do que uma rede longa bem feita.

Os dois modos da ferramenta

A calculadora cobre os dois cenários que aparecem no dia a dia de quem monta e mantém redes seriais:

  • Escravo único: você quer o tempo de uma transação isolada — útil para conferir a resposta de um dispositivo específico ou entender o peso de cada termo da fórmula.
  • Rede multi-escravo: você monta a tabela com até 16 escravos heterogêneos — cada um com seu número de registradores e seu T_slave — e a ferramenta soma tudo para dar o ciclo real da rede e a taxa de atualização.

Em ambos, os avisos automáticos sinalizam quando o gap entra em modo fixo (acima de 19.200 bps), quando o ciclo passa de 1 segundo e quando o número total de registradores fica alto a ponto de valer a pena reorganizar a leitura em blocos contíguos.

Erros e armadilhas comuns na rede Modbus RTU

  • Gap 3,5T calculado acima de 19.200 bps. O erro silencioso número um. A biblioteca usa 3,5 × T_char onde deveria usar 1,750 ms fixo, e a rede colhe falhas que ninguém consegue reproduzir sob demanda.
  • Timeout apertado demais. Dimensionar o timeout só pela média da transação, sem margem para o pior caso do T_slave nem para o jitter do USB-serial. Funciona na bancada e falha na planta sob carga.
  • Confundir enquadramento. Configurar o mestre em 8-N-1 e o escravo em 8-N-2 (ou vice-versa) embaralha o tempo de frame e, dependendo da paridade, derruba a comunicação inteira.
  • Ler registradores espalhados em muitos requests. Cada request é uma transação completa, com seus três gaps. Agrupar registradores contíguos em um único request por escravo encurta o ciclo sem mexer no hardware.
  • Tratar a migração de arquitetura como recálculo. Parte de quem busca “scan lento Modbus RTU” na verdade resolve o problema instalando um gateway que lê todos os escravos em paralelo. Esta ferramenta serve a quem mantém e dimensiona a rede serial existente — não substitui a decisão de trocar de arquitetura quando ela é o caminho certo.

Quando o cálculo vira projeto: a Token faz a rede com ART

Calcular o tempo de scan é uma conta de apoio — e por isso esta ferramenta é gratuita e roda na bancada. Mas quando a rede precisa ser dimensionada, instalada ou auditada, entra a engenharia: levantamento dos dispositivos em campo, projeto do barramento RS-485 (topologia, terminação, aterramento da blindagem), configuração de mestre e escravos, e o relatório técnico da instalação. A Token Engenharia atua em montagem eletromecânica, integração CLP/inversor e laudo das instalações elétricas — inclusive o inventário de equipamentos em rede que sustenta um laudo NR-10 — com responsável técnico e ART em todo o Brasil.

Perguntas frequentes

Como calcular o tempo de scan de uma rede Modbus RTU?

Some as transações de todos os escravos. Cada transação FC03 leva 3 × T_3.5 + frame_request + T_slave + frame_response, com o request em 8 bytes fixos e o response em 5 + 2N bytes. O caracter leva T_char = bits ÷ baud_rate. Exemplo: 8 inversores WEG CFW500 a 19.200 bps, 8-N-1, 10 registradores e 8 ms de atraso dão cerca de 245 ms de ciclo, ou aproximadamente 4 scans por segundo.

Por que o gap 3,5T fica fixo acima de 19.200 bps?

Porque o valor calculado (3,5 × T_char) ficaria curto demais para UARTs e schedulers de sistema operacional medirem com confiabilidade. A MODBUS Serial Line Spec V1.02 então fixa o gap em 1,750 ms acima dessa faixa. Quem continua calculando produz gaps menores do que o permitido e colhe falhas intermitentes.

Qual o timeout recomendado para o mestre?

Uma regra prática é (frame_request + T_slave_máx + frame_response) × 1,5 + 50 ms, arredondado para cima. Os 50 ms absorvem o jitter de adaptadores USB-serial e do scheduler. A Modbus.org recomenda 1 s como valor conservador a 9.600 bps; a 19.200 bps ou mais, de 200 a 500 ms costuma bastar.

Quantos escravos cabem em uma rede Modbus RTU?

O endereçamento Modbus vai até 247. A camada física RS-485 limita 32 cargas unitárias (unit loads) por segmento — não 32 dispositivos —, e transceivers de fração de unit load e repetidores ampliam isso. Na prática, o gargalo costuma ser o tempo de ciclo, não o limite físico.

O que muda entre 8-N-1 e 8-N-2?

O número de bits por caracter: 10 em 8-N-1, 11 em 8-N-2 ou com paridade. A spec referencia 8-N-2, mas WEG e Siemens usam 8-N-1 de fábrica no Brasil. A diferença é de cerca de 10% no tempo de frame. Confirme no manual de comunicação.

Por que minha rede dá falha de timeout de vez em quando?

Quase sempre o ciclo de scan está perto ou acima do timeout configurado. Calcule o T_scan: se ele se aproxima do timeout, o mestre desiste antes da resposta. Atraso variável do escravo, jitter de USB-serial e gap 3,5T calculado errado acima de 19.200 bps também provocam falhas. Elevar o baud rate, agrupar registradores ou aumentar o timeout com margem real resolve.

Token EngenhariaToken Engenharia · Atuação nacional

Do cálculo do ciclo ao projeto da rede serial, com ART

A ferramenta calcula o scan; a Token Engenharia projeta, monta e comissiona a rede RS-485. Levantamento de campo, configuração de mestre e escravos, integração CLP/inversor e laudo das instalações — com responsável técnico e ART em todo o Brasil.

Falar com a Token sobre rede Modbus