O protocolo Modbus RTU é como uma “linguagem comum” entre dispositivos industriais, permitindo uma “comunicação” suave entre dispositivos como medidores de energia elétrica e sensores de diferentes marcas.
Demonstração da aplicação do protocolo de comunicação Modbus
Este artigo irá guiá-lo através da aplicação do Modbus RTU em medidores de energia da maneira mais simples e compreensível. Mesmo se você for um novato sem formação técnica, poderá compreender facilmente os pontos principais deste importante protocolo de comunicação industrial.

O que é o protocolo Modbus RTU?
Modbus RTU é um protocolo de comunicação serial desenvolvido originalmente pela Modicon (agora parte da Schneider Electric) em 1979 para seus CLPs (Controladores Lógicos Programáveis).
Hoje, tornou-se um dos protocolos mais utilizados em automação industrial, apoiado por mais de 400 fabricantes em todo o mundo.
Por que é chamado de "RTU"? RTU é uma abreviatura de “Unidade Terminal Remota”, indicando que este protocolo é usado principalmente para comunicação entre dispositivos remotos. É como um “sistema de mensagens de texto” entre equipamentos elétricos, trocando dados através de um simples mecanismo de solicitação e resposta.
Como funciona o Modbus RTU?
O Modbus RTU usa uma arquitetura de comunicação mestre{0}}escravo, como um professor e alunos em uma sala de aula.
- Mestre: O “professor”, normalmente um computador, CLP ou concentrador, é responsável por iniciar perguntas e comandos.
- Escravo: O “aluno”, como um medidor ou sensor de eletricidade, só pode responder às perguntas do professor e não pode falar de forma independente. (Em aplicações de medidores de eletricidade...)

Formato de mensagem Modbus RTU
"Modelo SMS" entre dispositivos
As mensagens de comunicação Modbus RTU são como mensagens de texto cuidadosamente elaboradas, com requisitos de formato fixo.
Uma mensagem Modbus RTU completa contém as seguintes partes:
| Código de endereço | Código de Função | Campo de dados | Verifique o código |
|---|---|---|---|
| 8 bits | 8 bits | N × 8 bits | 16 bits |
- Código de endereço (1 byte): Equivalente a um “número de telefone do destinatário”, identificando o endereço do medidor de energia alvo (1-247), com 0 para endereço de transmissão.
- Código de Função (1 byte): Equivalente a um “tipo de mensagem de texto”, instruindo o medidor de energia sobre a operação a realizar (por exemplo, leitura de dados, escrita de dados, etc.).
- Campo de dados (N bytes): As informações específicas a serem transmitidas, como endereço de registro, valor dos dados, etc.
- Soma de verificação CRC (2 bytes): equivalente a um "código anti-falsificação", usado para verificar erros durante a transmissão.
Uma mensagem típica para leitura de dados totais de energia ativa positiva de um medidor de energia UBS é a seguinte:
[Endereço 00][Código de função 03][Endereço inicial 00 0C][Comprimento de leitura 00 02][CRC Checksum 05 D9]
Isto equivale a dizer: "Todos os medidores, por favor leiam os dados do registro 000C, começando pelo registro 1."
Após receber a mensagem, o medidor nº 1 responderá com:
[Endereço 01][Código de função 03][Comprimento dos dados 04][Dados 00 00 00 00][Soma de verificação CRC FA 33]
Isso significa: "O medidor nº 1 respondeu: O valor total positivo dos dados de energia ativa lido é 00 00 00 00 (hexadecimal)" (Observação: este medidor nº 1 é um medidor novo e não utilizado). A imagem abaixo é uma demonstração de teste:

O "livro de dados" em um medidor de eletricidade: registro explicado
No protocolo Modbus RTU, todos os dados de um medidor de energia elétrica são armazenados em uma "planilha"-o registro. Os registros são divididos principalmente em quatro tipos:
| Tipo de registro | Permissão de leitura/gravação | Códigos de Função | Conteúdo Armazenado Típico |
|---|---|---|---|
| Registro de bobina | Ler/Escrever | 01, 05 | Status do relé, controle do interruptor |
| Registro de entrada discreta | Somente leitura- | 02 | Entrada digital (por exemplo, sinais de alarme) |
| Registro de entrada | Somente leitura- | 04 | Dados de medição-em tempo real (tensão, corrente etc.) |
| Registro de retenção | Ler/Escrever | 03, 06 | Parâmetros do dispositivo, energia acumulada, etc. |
Nas aplicações de medidores de energia elétrica, os registros mais comuns são:
Registro de entrada
(Código de função 04H): Armazena dados medidos-em tempo real, como tensão, corrente e potência.
Registro de retenção
(Código de Função 03H): Armazena o consumo acumulado de eletricidade, parâmetros do dispositivo, etc.
Tabela de informações de endereço de registro Modbus do medidor de energia UBS
O endereço de transmissão do protocolo Modbus é 0x00. Para informações detalhadas de endereço de registro do protocolo Modbus para medidores de energia UBS, consulte a tabela abaixo:
| Registrar (Hex) | Nome da variável | Atributo (Unidade / R/W) | Tipo de dados | Contar | Observações |
|---|---|---|---|---|---|
| 0x0000 | Tensão CC | Unidade: V, R/W: RO | S16 | 1 | Faixa: -9999~9999; Lendo=Valor Efetivo × 10^(Vírgula Decimal) |
| 0x0001 | Ponto decimal de tensão | Unidade: Nenhum, R/W: RO | U16 | 1 | Valor fixo: 0 |
| 0x0002 | Valor atual CC | Unidade: A, R/W: RO | S16 | 1 | Faixa: -9999 ~ 9999 |
| 0x0003 | Ponto decimal atual | Unidade: Nenhum, R/W: RO | U16 | 1 | Valor fixo: 1 |
| 0x0008 | Valor de potência | Unidade: kW, R/W: RO | S16 | 1 | Faixa: -9999 ~ 9999 |
| 0x0009 | Ponto decimal de potência | Unidade: Nenhum, R/W: RO | U16 | 1 | Valor fixo: 1 |
| 0x000C | Energia ativa total direta | Unidade: 0,001 kWh, R/W: RO | U32 | 2 | Byte alto primeiro, byte baixo por último; Exemplo: Se os dados forem lidos=5000, ponto decimal=2 → Valor real=5000 × 10^(2-3)=500.0 |
| 0x203C | Tensão do Canal 1 | Unidade: 0,0001V, R/W: RO | I32 | 2 | Byte alto primeiro, byte baixo por último |
| 0x203E | Tensão do Canal 2 | Unidade: 0,0001V, R/W: RO | I32 | 2 | Sempre 0 |
| 0x2040 | Canal 1 atual | Unidade: 0,0001A, R/W: RO | I32 | 2 | Byte alto primeiro, byte baixo por último |
| 0x2042 | Canal 2 atual | Unidade: 0,0001A, R/W: RO | I32 | 2 | Sempre 0 |
| 0x2044 | Potência do Canal 1 | Unidade: 0,0001kW, R/W: RO | I32 | 2 | Byte alto primeiro, byte baixo por último |
| 0x2046 | Potência do Canal 2 | Unidade: 0,0001kW, R/W: RO | I32 | 2 | Sempre 0 |
| 0x9A00 | Energia total ativa direta | Unidade: kWh, R/W: RO | flutuador | 2 | |
| 0xA001/0x8900 | Endereço do dispositivo | Unidade: Nenhum, R/W: RW | U16 | 1 | Faixa: 0~247 |
Demonstração de leitura de mensagens do medidor de energia UBS
Usando o software do computador host do medidor de energia UBS, leia os seguintes dados do medidor de energia inteligente DJZ1226 DC: energia ativa positiva total, tensão, corrente, potência e endereço do medidor.

Conforme mostrado no diagrama acima, o conteúdo detalhado da mensagem enviada e recebida pelo computador host é o seguinte:
13:25:30.229 Energia ativa positiva total(000C0002) ...
13:25:30.256 ▼Enviar:00 03 00 0C 00 02 05 D9
13:25:30.344 ▲Receber:01 03 04 00 00 00 00 FA 33
13:25:30,359 Tensão CC (00000002) ...
13:25:30.424 ▼Enviar:00 03 00 00 00 02 C5 DA
13:25:30.428 ▲Receber:01 03 04 00 17 00 03 0A 36
13:25:30.494 Corrente CC (00020002) ...
13:25:30.522 ▼Enviar:00 03 00 02 00 02 64 1A
13:25:30.610 ▲Receber:01 03 04 00 30 00 02 7B FD
13:25:30.621 Potência(00080002) ...
13:25:30.682 ▼Enviar:00 03 00 08 00 02 44 18
13:25:30.690 ▲Receber:01 03 04 00 01 00 02 2A 32
13:25:30.702 Endereço de comunicação 2(A0010001) ...
13:25:30.779 ▼Enviar:00 03 A0 01 00 01 F6 1B
13:25:30.783 ▲Receber:01 03 02 00 01 79 84
13:25:30.795 Fim da leitura dos dados.
Problemas comuns e técnicas de solução de problemas
Embora o protocolo Modbus RTU seja relativamente simples, vários problemas ainda podem surgir em aplicações práticas. A seguir estão falhas e soluções comuns na comunicação do medidor de eletricidade:
Nenhuma resposta de comunicação
● Verifique as conexões físicas:
▪ A fiação RS-485 está correta (linhas A/B invertidas)?
▪ Os resistores de terminação são compatíveis (geralmente, conecte resistores de 120Ω em cada extremidade do barramento)?
▪ A distância de comunicação excedeu o limite (RS-485 teoricamente pode atingir 1200 metros, mas as distâncias reais são afetadas por fatores ambientais).
● Verifique as configurações dos parâmetros:
▪ A taxa de transmissão, os bits de dados, os bits de parada e as configurações de paridade são consistentes com o medidor de eletricidade?
▪ O endereço do dispositivo está definido corretamente (sem endereços duplicados)?
Comunicação Intermitente
● Verifique se há interferência na linha:
▪ Use cabo blindado de par trançado e certifique-se de que a blindagem esteja aterrada em uma extremidade.
▪ Evite passar o cabo paralelo a cabos de alta-tensão.
● Testando dispositivos individuais:
▪ Conecte cada medidor de eletricidade individualmente para solucionar problemas de dispositivos defeituosos.
▪ Use o software de computador host dedicado da UBS Electronics (como o AMS) para se comunicar diretamente com o medidor de eletricidade e identificar o problema.
Erros de dados
● Verificando a verificação CRC:
▪ Verifique se os códigos CRC enviados e recebidos são consistentes.
▪ Confirme a ordem dos bytes dos dados (Modbus RTU geralmente é little{0}}endian).
● Verificando Mapeamento de Registro:
▪ Confirmar se os endereços de registro utilizados estão de acordo com o manual do medidor de energia elétrica.
▪ Observe o deslocamento do endereço do registrador.
Se você precisar usar o software de computador host UBS (protocolo Modbus RTU) mencionado neste artigo, entre em contato com a pessoa responsável pelo pedido do medidor de eletricidade UBS e obtenha mais suporte técnico pós{0}}venda.




