- (24) 9 8827-3579
- comercial@tokenengenharia.com.br
- Seg - Sex: 8:00 - 18:00
BANCADA DO ELETRICISTA · TOKEN ENGENHARIA
Conversor de endereço Modbus — do 4xxxx do datasheet ao offset que vai no fio
Vai integrar um inversor, um CLP ou um medidor por Modbus e o registrador não responde? Informe o endereço de documentação: a ferramenta devolve o offset no PDU em decimal e hexadecimal, o tipo de registrador, o Function Code certo e os endereços nas duas bases — na bancada, sem cadastro.
4xxxx → offsetHolding × InputBase 0 × base 1Presets WEG CFWResponsável técnico CREA-RJAtendimento nacional
Resposta rápida
O endereço que aparece no datasheet (40017, 30001) e notação de documentação (Modicon). O que o mestre envia no fio e o offset do PDU, e ele sai sempre de offset = endereço − base do tipo. Para um Holding Register, a base e 40001: 40017 − 40001 = 16, ou 0x0010 em hexadecimal, com Function Code FC03 para leitura. O prefixo do endereço decide o tipo (0xxxx coil, 1xxxx discrete input, 3xxxx input register, 4xxxx holding register) e o Function Code. Nos inversores WEG CFW500 e CFW700, a regra e mais direta ainda: o offset e igual ao número do parâmetro. O resultado e de apoio: o manual do equipamento e do mestre manda.
TOKEN ENGENHARIA
Confiabilidade e Segurança
Calculadora grátis · endereçamento Modbus
Converta o endereço Modbus no offset que vai no fio
Escolha o modo, informe o endereço de documentação (4xxxx, 3xxxx, 1xxxx ou 0xxxx) e a ferramenta devolve o offset no PDU, em decimal e hexadecimal, o tipo de registrador, o Function Code de leitura e de escrita e os endereços nas duas bases — na hora.
Convenção alternativa ativada. Alguns mestres e SCADA pedem base 0. Isso causa erro de um registrador se o equipamento usar Modicon clássico (base 1). Verifique o manual do seu software.
Offset no fio (decimal)
16
Offset no fio (hex)
0x0010
Function Code leitura
FC03
Function Code escrita
FC06 / FC16
Endereço Modicon base 1
40017
Endereço base 0
40016
Holding Register (4xxxx) · offset 16 · endereco Modicon 40017
Holding Register (4xxxx) — FC03
FC = 0x03 (FC03)
Starting Address = 0x0010
Quantity = 0x0001 (1 registro de 16 bits)
Starting Address = 0x0010
Quantity = 0x0001 (1 registro de 16 bits)
-> PDU leitura: [0x03][0x0010][0x0001]
offset = endereco – B
40017 – 40001 = 16
hex: 0x0010
40017 – 40001 = 16
hex: 0x0010
Input Register (3xxxx): muitos inversores e CLPs modernos não implementam o FC04. Se o mestre receber a exceção 0x01, tente FC03 no mesmo offset — e uma não-conformidade comum de fabricantes.
Erro de validação
Endereço inválido
Resultado orientativo a partir do endereço informado. A especificação Modbus define apenas o offset no PDU; a notação de 5 e 6 dígitos e a base 0/1 são convenções de documentação. Confira sempre o manual do equipamento e do mestre antes de comissionar.
Como converter o endereço Modbus na mão
Quase todo problema de comunicação Modbus na partida de um equipamento nasce do mesmo lugar: o datasheet diz um número, o software pede outro, e o mestre acaba lendo o registrador errado sem dar erro de comunicação. Entender a conta por trás da ferramenta resolve isso de vez. O ponto de partida e uma distinção que a especificação Modbus (Modbus Application Protocol Specification V1.1b3, de 2012) deixa clara: o endereço de documentação (a notação 40001, 40017, 30001) e uma convenção histórica da Modicon, enquanto o offset do PDU e o único endereço que existe de fato no protocolo, um número de 0 a 65535 que viaja no barramento.
offset = endereço de documentação − base do tipo
A base depende do tipo de registrador, e o tipo se descobre pelo prefixo do endereço. Um endereço que começa em 4 (40001 a 49999) e um holding register, base 40001. Um que começa em 3 (30001 a 39999) e um input register, base 30001. E assim por diante. O offset que sai dessa subtração e o que vai no campo Starting Address do frame Modbus, normalmente em hexadecimal.
- 40017 (holding register) − 40001 = 16 = 0x0010, lido com FC03.
- 30001 (input register) − 30001 = 0 = 0x0000, lido com FC04.
- 49999 (último holding de 5 dígitos) − 40001 = 9998 = 0x270E.
- 40000 e inválido na notação Modicon: daria offset −1. O menor holding e 40001, que corresponde ao offset 0.
O caminho inverso e igualmente direto: endereço = offset + base do tipo. Se o seu SCADA mostra “offset 16, tipo holding” e você quer saber qual endereço de documentação citar, 16 + 40001 = 40017. O modo “Offset → endereço” da ferramenta faz exatamente essa volta.
Endereço do datasheet : 40017 (holding register)
Base do tipo : 40001
offset = 40017 − 40001 = 16 -> 0x0010 (hex)
Function Code leitura : FC03
Frame no fio : [0x03][0x0010][0x0001]
Esse e exatamente o resultado que aparece no card da ferramenta. O campo Quantity (0x0001) e quantos registradores de 16 bits você quer ler de uma vez; depende da sua aplicação, não do endereço.
Os quatro tipos de registrador Modbus
Antes de calcular o offset e preciso saber que tipo de dado você está acessando, porque o tipo determina a base da conta e o Function Code. O Modbus organiza os dados em quatro tabelas, e o prefixo do endereço de documentação indica qual delas:
- Coil (0xxxx): um bit de saída, que se lê e se escreve — relés, saídas digitais, comandos liga/desliga. Leitura FC01, escrita FC05 (um) ou FC15 (vários).
- Discrete input (1xxxx): um bit de entrada, somente leitura — estados de sensores, fins de curso, contatos. Leitura FC02.
- Input register (3xxxx): uma palavra de 16 bits, somente leitura — medições analógicas, leituras de instrumento. Leitura FC04.
- Holding register (4xxxx): uma palavra de 16 bits, que se lê e se escreve — parâmetros, set-points, registradores de configuração. Leitura FC03, escrita FC06 (um) ou FC16 (vários). E de longe o tipo mais usado.
Repare na economia da especificação: a mesma conta (endereço menos base) vale para os quatro tipos; só muda a base e o Function Code. Por isso a ferramenta detecta o tipo automaticamente pelo prefixo e já mostra o FC correto, sem você precisar decorar a tabela.
| Tipo | Notação (5 díg.) | Base | FC leitura | FC escrita |
|---|---|---|---|---|
| Coil | 00001 a 09999 | 00001 | FC01 | FC05 / FC15 |
| Discrete Input | 10001 a 19999 | 10001 | FC02 | — |
| Input Register | 30001 a 39999 | 30001 | FC04 | — |
| Holding Register | 40001 a 49999 | 40001 | FC03 | FC06 / FC16 |
| Holding (6 díg.) | 400001 a 465536 | 400001 | FC03 | FC06 / FC16 |
O mapa do endereçamento
Quatro tabelas, uma conta só
O Modbus separa os dados em quatro tabelas — coils e discrete inputs (bits) e input e holding registers (palavras de 16 bits). O prefixo do endereço aponta a tabela, a tabela define a base e o Function Code, e a conta do offset e a mesma para as quatro. Quando a malha inteira precisa ser comissionada ou auditada, essa conversão vira serviço: a Token Engenharia configura o mestre, mapeia os pontos e documenta a integração com ART em todo o Brasil.
O prefixo decide a base e o Function Code; o offset sai sempre de endereco menos base.
O erro off-by-one: base 0 contra base 1
Esse e o engano mais comum e mais traiçoeiro do Modbus, porque não gera erro de comunicação: o mestre simplesmente lê o registrador vizinho e devolve um valor que parece pláusível. O padrão Modicon usa base 1: o endereço 40001 corresponde ao offset 0. Mas alguns softwares de SCADA e alguns mestres usam base 0: para eles, 40000 corresponde ao offset 0. Quando o datasheet de um lado e o software do outro não concordam sobre a base, tudo fica deslocado em um registrador.
- Base 1 (padrão Modicon): 40001 → offset 0; 40017 → offset 16.
- Base 0 (software alternativo): 40000 → offset 0; 40016 → offset 16.
O ajuste de base 0 da ferramenta existe para detectar e prevenir esse erro, não para promovê-lo: ative-o apenas se você tiver certeza de que o seu mestre usa base 0, e o aviso em laranja lembra que isso pode causar deslocamento se o equipamento usar Modicon clássico. Na dúvida, o caminho seguro e sempre conferir no manual do mestre qual convenção ele adota.
Como achar o registrador certo de um inversor WEG
Os inversores de frequência WEG das linhas CFW500 e CFW700 têm uma regra de endereçamento que simplifica muito a vida e que foi confirmada nos manuais oficiais de comunicação Modbus RTU: o offset Modbus e igual ao número do parâmetro. O parâmetro P0680 (palavra de estado) fica no offset 680, ou 0x02A8. O P0681 (velocidade do motor) fica no 681. O P0682 (palavra de comando) fica no 682, e o P0683 (referência de velocidade) no 683. Não e preciso converter pela notação Modicon — o próprio manual já indica o offset diretamente.
Use FC03 para ler e FC06 ou FC16 para escrever. Os parâmetros de leitura (estado, velocidade) e os de comando (palavra de comando, referência) seguem a mesma regra de offset; o que muda e o Function Code de acordo com o sentido. O modo “Preset WEG” da ferramenta já aplica essa regra: você digita o número do parâmetro e ela devolve o offset em decimal e hexadecimal pronto para o mestre.
| Parâmetro WEG | Função | Offset | Hex | Acesso |
|---|---|---|---|---|
| P0680 | Palavra de estado | 680 | 0x02A8 | Leitura (FC03) |
| P0681 | Velocidade do motor | 681 | 0x02A9 | Leitura (FC03) |
| P0682 | Palavra de comando | 682 | 0x02AA | Escrita (FC06/FC16) |
| P0683 | Referência de velocidade | 683 | 0x02AB | Escrita (FC06/FC16) |
| P0100 | Tempo de aceleração | 100 | 0x0064 | Leitura / escrita |
Valores confirmados nos manuais oficiais de comunicação Modbus RTU dos inversores WEG CFW500 (doc. 10001316347/03, pág. 25) e CFW700 (doc. 10000832468/01, pág. 18). A linha CFW11 segue regra própria que não foi verificada nesta versão: para o CFW11, confirme no manual de comunicação Modbus RTU do próprio equipamento antes de usar.
Notação de 5 e de 6 dígitos
A notação de 5 dígitos (40001 a 49999) cobre até 9999 registradores por tipo. Quando o equipamento tem mais do que isso, o fabricante passa para a notação de 6 dígitos: o holding register vai de 400001 a 465536, e a base muda de 40001 para 400001. Quem usa a base errada de 5 dígitos num endereço de 6 dígitos erra o offset por uma ordem de grandeza inteira. A ferramenta detecta o comprimento do endereço e aplica a base correta sozinha; se houver ambiguidade, o seletor de formato deixa você forçar 5 ou 6 dígitos.
Uma armadilha frequente: alguns documentos misturam “4x” (sem completar os dígitos) com a notação completa. O “4x” e só uma abreviação para “holding register”, não um endereço — o que importa para a conta e a base do tipo, não a abreviação.
Armadilhas comuns de comissionamento Modbus
- Base 0 contra base 1. O erro de um registrador que não dá erro de comunicação. Confira a convenção do mestre antes de culpar o escravo.
- Input register que não responde no FC04. Muitos equipamentos modernos não implementam o FC04 e colocam tudo em holding register. Se o mestre receber a exceção 0x01, tente FC03 no mesmo offset.
- Confundir 5 e 6 dígitos. Base 40001 num endereço de 6 dígitos (400xxx) erra o offset por dezenas de milhares. Detecte o comprimento.
- Word order (endianness) em valores de 32 bits. Floats e int32 ocupam dois registradores consecutivos; a ordem das palavras (high word primeiro ou low word primeiro) varia por fabricante e não e tratada pela conversão de endereço.
- HMI Schneider Magelis lendo 3xxxx com FC03. E uma não-conformidade aceita pelo escravo; se você encontrar esse comportamento, não e bug da sua configuração.
- Endereço certo, equipamento mudo. Quando o offset está certo e nada responde, o problema costuma estar em paridade, baud rate ou ID de escravo — não no endereço.
Os três modos da ferramenta
A calculadora cobre os três caminhos do dia a dia de quem integra equipamentos por Modbus:
- Endereço → offset: você digita o endereço de documentação (40017, 30001) e a ferramenta detecta o tipo, calcula o offset em decimal e hex e mostra o Function Code. E o caminho mais comum, partindo do datasheet.
- Offset → endereço: você informa o offset e o tipo, e a ferramenta devolve os endereços de documentação nas duas bases. Útil quando o software mostra o offset cru e você quer citar o endereço no relatório.
- Preset WEG: você digita o número do parâmetro do inversor CFW500 ou CFW700 e a ferramenta aplica a regra “offset = número do parâmetro”, já confirmada nos manuais oficiais.
Em todos eles, o painel didático mostra o frame do PDU que vai no fio (Function Code, Starting Address e Quantity), para quem quer entender o protocolo, não só copiar o número. E o resultado vem sempre marcado como orientativo: o manual do equipamento e do mestre e a palavra final.
Quando a integração vira serviço: a Token comissiona com ART
Converter o endereço e uma conta de apoio — e para isso esta ferramenta existe e e gratuita. Mas quando a malha precisa ser integrada, comissionada ou auditada, entra a engenharia: a configuração do mestre RS-485 ou Modbus TCP, a paridade, o baud rate e o ID de escravo, o mapeamento completo dos pontos de cada equipamento, a integração com o supervisório e a documentação das malhas com responsável técnico e ART. A Token Engenharia atua em montagem industrial e eletromecânica em todo o Brasil — da parametrização do inversor ao supervisório em campo, passando pela documentação da rede industrial.
Perguntas frequentes
O que e o offset de um registrador Modbus?
E o número de 0 a 65535 que vai de fato no PDU, no fio, e e o único endereço definido pela especificação Modbus. A notação 40001/40017 e convenção de documentação; o offset sai de endereço menos base do tipo. 40017 − 40001 = 16 (0x0010).
Qual a diferença entre coil, discrete input, input register e holding register?
Coil (0xxxx) e bit de saída le/escreve (FC01, FC05/FC15). Discrete input (1xxxx) e bit só leitura (FC02). Input register (3xxxx) e palavra de 16 bits só leitura (FC04). Holding register (4xxxx) e palavra de 16 bits le/escreve (FC03, FC06/FC16). O prefixo indica o tipo.
O que e o erro off-by-one (base 0 contra base 1)?
Modicon usa base 1: 40001 = offset 0. Alguns softwares usam base 0: 40000 = offset 0. Misturar as duas desloca tudo em um registrador, sem dar erro de comunicação. O ajuste de base 0 da ferramenta serve para detectar e prevenir isso.
Como achar o registrador certo de um inversor WEG CFW500 ou CFW700?
Nesses modelos o offset e igual ao número do parâmetro: P0680 fica no offset 680 (0x02A8). Use FC03 para ler e FC06/FC16 para escrever. Confirmado nos manuais oficiais.
Meu input register 3xxxx não responde no FC04. O que faço?
Muitos equipamentos não implementam o FC04 e colocam tudo em holding register. Se o mestre receber a exceção 0x01, tente FC03 no mesmo offset.
A notação de 5 e de 6 dígitos muda o cálculo?
Muda a base. De 6 dígitos o holding vai de 400001 a 465536, base 400001 (não 40001). A ferramenta detecta o comprimento e aplica a base certa.
Quando a integração Modbus vira serviço de engenharia?
Quando a malha precisa ser comissionada ou auditada: configuração do mestre, paridade, baud rate, ID de escravo, mapeamento dos pontos, integração com o supervisório e documentação com ART. A Token Engenharia executa em todo o Brasil.
Token Engenharia · Atuação nacional
Do endereço convertido à malha comissionada, com ART
A ferramenta da o offset; a Token Engenharia integra, comissiona e documenta a rede industrial. Configuração do mestre Modbus RTU e TCP, mapeamento de pontos, integração com supervisório e laudo das instalações — com responsável técnico e ART em todo o Brasil.