Integração do Medidor de Energia Modbus TCP para Monitoramento Local
Integração do Medidor de Energia Modbus TCP para Monitoramento Local
O Modbus TCP permite que uma aplicação local leia medições elétricas diretamente de um medidor de energia Wi-Fi IAMMETER.
É adequado para:
- sistemas PLC e SCADA;
- Home Assistant e Node-RED;
- Sistemas Locais de Gerenciamento de Energia (EMS);
- Sistemas de Gerenciamento de Edifícios (BMS);
- monitoramento e automação de um segundo;
- aplicações que devem operar sem o IAMMETER-Cloud.
Medidor de energia IAMMETER
│
│ Wi-Fi / LAN
│ Modbus TCP
▼
Home Assistant, Node-RED, PLC, SCADA ou EMS personalizado
O cliente inicia cada solicitação. O medidor retorna valores de registros para tensão, corrente, potência ativa, energia importada, energia exportada, fator de potência, frequência e outras medições suportadas.
Modbus TCP é uma interface de polling local. Se o medidor deve publicar dados em um broker, use MQTT. Se deve enviar dados para um servidor do cliente, veja Receber Dados do IAMMETER no Seu Próprio Servidor.
1. Por que Usar Modbus TCP?
Comparado ao polling em nuvem ou envios periódicos do medidor, o Modbus TCP oferece:
- acesso direto pela rede local;
- sem dependência do IAMMETER-Cloud para o fluxo de dados;
- uma interface padrão baseada em registros;
- polling de um segundo para aplicações suportadas;
- valores de potência ativa com sinal para monitoramento bidirecional de energia;
- compatibilidade com ferramentas comuns de automação e industriais.
Os usos típicos incluem:
- controlar uma carga a partir da potência da rede em tempo real;
- ler a produção solar, troca com a rede ou carga do circuito localmente;
- adicionar um medidor de energia ao Home Assistant;
- coletar medições no Node-RED;
- integrar dados de eletricidade em um PLC, SCADA, EMS ou BMS.
2. Medidores IAMMETER Suportados
Os modelos atuais de medidores de energia IAMMETER suportam os modos disponíveis de Home Assistant e integração aberta, incluindo Modbus TCP. O descontinuado WEM3162 não é considerado neste guia.
A principal diferença entre os modelos é o número e a finalidade dos canais de medição:
- medidores de canal único expõem o bloco de registros da Fase A;
- medidores de dois canais ou split-phase usam os blocos de canais aplicáveis;
- medidores trifásicos expõem os blocos das Fases A, B e C;
- medidores suportados também podem expor totais e medições reativas opcionais.
Sempre valide a resposta dos registros em relação ao modelo exato e firmware usado no projeto.
WEM3046T e WEM3046TE
WEM3046T e WEM3046TE medem a saída secundária de 5 A de um transformador de corrente externo.
Os valores de corrente, potência e energia do lado primário devem, portanto, usar a relação do TC externo aplicável. Este requisito de escalonamento é causado pelo design de entrada de TC de 5 A do medidor; não é um comportamento específico do Modbus TCP ou da plataforma.
Mantenha o processamento da relação do TC documentado e testado sempre que esses modelos forem integrados.
3. Parâmetros de Conexão
O exemplo oficial do Modbus Poll do IAMMETER usa:
| Parâmetro | Valor de exemplo |
|---|---|
| Conexão | Modbus TCP/IP |
| Host | Endereço IP local do medidor |
| Porta TCP | 502 |
| ID do Dispositivo / Unit ID | 1 |
| Código de função | 03 — Ler Registros Holding |
| Timeout de resposta | 1000 ms no exemplo |

Use o endereço IP LAN do medidor como host. Reservar o endereço no roteador pode evitar que uma integração seja interrompida após uma alteração de endereço DHCP.
Os valores acima são os parâmetros mostrados no exemplo oficial. Confirme o firmware real e a configuração do local antes de codificá-los em software de produção.
4. Teste Rápido com Modbus Poll
Para confirmar a conectividade antes de configurar uma plataforma completa:
- conecte o computador e o medidor IAMMETER à mesma LAN;
- encontre o endereço IP local do medidor;
- crie uma conexão Modbus TCP/IP na porta
502; - defina o Device ID como
1; - selecione o Código de Função
03; - solicite registros holding começando no endereço
0; - compare os valores brutos retornados com as regras de escalonamento abaixo.

A captura de tela usa uma taxa de varredura de exibição de 500 ms para teste. Para uso normal, a documentação do IAMMETER recomenda polling de um segundo, em vez de tratar a configuração mais rápida do cliente como o intervalo de produção suportado.
Se a conexão falhar, verifique:
- se o medidor e o cliente estão na mesma rede acessível;
- o endereço IP do medidor;
- a porta TCP 502 e as regras de firewall;
- o Device ID e o código de função;
- se outra aplicação já está controlando o fluxo de polling pretendido;
- a versão do firmware do medidor.
5. Tipos de Dados dos Registros e Escalonamento
O IAMMETER usa registros holding de 16 bits.
Valores de 16 bits
Tensão, corrente, fator de potência e frequência usam um registro:
| Medição | Tipo bruto | Conversão |
|---|---|---|
| Tensão | Unsigned 16-bit | V = raw / 100 |
| Corrente | Unsigned 16-bit | A = raw / 100 |
| Fator de potência | Unsigned 16-bit | PF = raw / 1000 |
| Frequência | Unsigned 16-bit | Hz = raw / 100 |
Valores de 32 bits
Potência ativa, energia acumulada e valores reativos usam dois registros consecutivos.
O exemplo oficial do Modbus Poll exibe a palavra de 16 bits de ordem alta primeiro. Combine as palavras como:
raw32 = (register[n] << 16) | register[n + 1]
Interprete a potência ativa e reativa como valores signed de 32 bits. Interprete os contadores de pulso de energia acumulada como valores unsigned de 32 bits.
| Medição | Tipo bruto | Conversão |
|---|---|---|
| Potência ativa | Signed 32-bit | W = raw32 |
| Energia importada/forward | Unsigned 32-bit | kWh = raw32 / 800 |
| Energia exportada/reverse | Unsigned 32-bit | kWh = raw32 / 800 |
| Potência reativa | Signed 32-bit | var = raw32 |
| Energia reativa indutiva/capacitiva | Unsigned 32-bit | kvarh = raw32 / 1000 |
A potência ativa com sinal permite que uma integração distinga direções opostas de potência. Confirme a convenção de sinal em relação à orientação do TC e à fiação da aplicação durante a comissionamento.
6. Mapa de Registros Modbus Principal
Os endereços de registro abaixo são deslocamentos decimais. O cliente deve usar o Código de Função 03.
Fase A
| Endereço | Tamanho | Medição | Conversão |
|---|---|---|---|
| 0 | 1 | Tensão | Unsigned, /100 V |
| 1 | 1 | Corrente | Unsigned, /100 A |
| 2 | 2 | Potência ativa | Signed, W |
| 4 | 2 | Energia importada/forward | Unsigned, /800 kWh |
| 6 | 2 | Energia exportada/reverse | Unsigned, /800 kWh |
| 8 | 1 | Fator de potência | Unsigned, /1000 |
| 9 | 1 | Identificador do modelo no mapa legado | Não use como único catálogo atual do modelo |
Fase B
| Endereço | Tamanho | Medição | Conversão |
|---|---|---|---|
| 10 | 1 | Tensão | Unsigned, /100 V |
| 11 | 1 | Corrente | Unsigned, /100 A |
| 12 | 2 | Potência ativa | Signed, W |
| 14 | 2 | Energia importada/forward | Unsigned, /800 kWh |
| 16 | 2 | Energia exportada/reverse | Unsigned, /800 kWh |
| 18 | 1 | Fator de potência | Unsigned, /1000 |
| 19 | 1 | Reservado | Não usado |
Fase C
| Endereço | Tamanho | Medição | Conversão |
|---|---|---|---|
| 20 | 1 | Tensão | Unsigned, /100 V |
| 21 | 1 | Corrente | Unsigned, /100 A |
| 22 | 2 | Potência ativa | Signed, W |
| 24 | 2 | Energia importada/forward | Unsigned, /800 kWh |
| 26 | 2 | Energia exportada/reverse | Unsigned, /800 kWh |
| 28 | 1 | Fator de potência | Unsigned, /1000 |
| 29 | 1 | Reservado | Não usado |
Frequência e totais
| Endereço | Tamanho | Medição | Conversão |
|---|---|---|---|
| 30 | 1 | Frequência | Unsigned, /100 Hz |
| 31 | 1 | Reservado | Não usado |
| 32 | 2 | Potência ativa total | Signed, W |
| 34 | 2 | Energia total importada/forward | Unsigned, /800 kWh |
| 36 | 2 | Energia total exportada/reverse | Unsigned, /800 kWh |
Os registros totais são mais relevantes para medidores multicanal. Para uma integração de canal único, use os valores aplicáveis da Fase A e valide quaisquer totais retornados.
7. Registros Reativos Opcionais
Os registros reativos estão disponíveis apenas quando a medição reativa é suportada e ativada pelo medidor e firmware aplicáveis.
| Endereço | Tamanho | Medição | Conversão |
|---|---|---|---|
| 38 | 2 | Potência reativa da Fase A | Signed, var |
| 40 | 2 | Energia reativa indutiva da Fase A | Unsigned, /1000 kvarh |
| 42 | 2 | Energia reativa capacitiva da Fase A | Unsigned, /1000 kvarh |
| 44 | 2 | Potência reativa da Fase B | Signed, var |
| 46 | 2 | Energia reativa indutiva da Fase B | Unsigned, /1000 kvarh |
| 48 | 2 | Energia reativa capacitiva da Fase B | Unsigned, /1000 kvarh |
| 50 | 2 | Potência reativa da Fase C | Signed, var |
| 52 | 2 | Energia reativa indutiva da Fase C | Unsigned, /1000 kvarh |
| 54 | 2 | Energia reativa capacitiva da Fase C | Unsigned, /1000 kvarh |
Não assuma que esses valores estão ativos em todas as instalações. Confirme o modelo, firmware e configuração de medição reativa.
8. Registros de Informações do Dispositivo
| Endereço | Tamanho | Descrição |
|---|---|---|
| 56 | 8 | Número de série do dispositivo |
| 64 | 1 | Tempo de operação em segundos |
Trate números de série e outros identificadores de dispositivo como dados operacionais. Evite publicar valores não sanitizados em capturas de tela, logs ou exemplos públicos.
9. Exemplos de Integração
Home Assistant
Modbus TCP é a opção do IAMMETER Home Assistant para usuários que precisam de leituras locais rápidas e automação.
Use o guia de integração do IAMMETER Home Assistant como a entrada principal para HA. Ele separa a configuração do lado do medidor da configuração do Home Assistant e fornece links para os métodos atuais de implementação Modbus.
Vídeo:
Node-RED
O Node-RED pode fazer polling dos registros holding, normalizar os valores brutos e rotear as medições para fluxos de automação, bancos de dados ou dashboards.
PLC, SCADA, EMS e BMS
Para uma integração industrial ou comercial:
- documente a versão do mapa de registros usada;
- aplique a conversão signed/unsigned correta;
- valide a ordem de bytes e palavras;
- confirme a orientação do TC e a relação do TC;
- defina o comportamento de timeout e retry;
- monitore a última consulta bem-sucedida;
- evite taxas de polling não suportadas;
- teste a interrupção e recuperação da rede.
Software personalizado
Um cliente Modbus TCP personalizado deve separar:
- lógica de conexão e retry;
- leituras de registros;
- decodificação de 16 e 32 bits;
- mapeamento de modelo do medidor e canal;
- normalização da relação do TC quando necessário;
- lógica de armazenamento e aplicação.
10. Modbus TCP ou Outra Interface IAMMETER?
| Requisito | Interface recomendada |
|---|---|
| Polling local de um segundo | Modbus TCP |
| Recuperação JSON simples pela LAN | API HTTP Local |
| Publicar dados para múltiplos consumidores | MQTT |
| Envio do medidor para um serviço web do cliente | HTTP/HTTPS |
| Envio do medidor para um servidor socket personalizado | TCP/TLS |
| Comparação de plataformas prontas | Guia de integração de código aberto |
Guias relacionados:
- APIs Locais e Interfaces Abertas do IAMMETER
- Plataformas de Monitoramento de Energia de Código Aberto
- Desenvolva Seu Próprio Sistema de Monitoramento de Energia
- Usar IAMMETER Sem Internet ou Nuvem
11. Firmware
O Modbus TCP não é mais uma atualização experimental descrita apenas pelo processo de lançamento original de 2022. Para uma instalação atual, use o firmware mais recente disponível para o modelo do medidor:
Registre a versão do firmware usada para validar o mapa de registros e o comportamento de polling.
12. Informações de Lançamento Legado
Este artigo foi originalmente publicado quando o suporte a Modbus TCP foi introduzido através de uma atualização de firmware.
As instruções mais antigas referiam-se ao firmware 75.68 como pré-requisito de atualização e pediam aos usuários que solicitassem uma atualização através do sistema de feedback. Esse processo é mantido aqui apenas como contexto histórico e não deve ser usado para uma nova instalação.
Recurso de lançamento original:
Última atualização: 16 de julho de 2026