Ir para conteúdo principal

Modbus TCP no VOOL LMC

Leitura das correntes e tensões da alimentação do LMC via Modbus TCP: ativação através do suporte, definições de ligação, mapa completo de registos, escrita do limite de corrente e resolução de problemas.

J
Escrito por Juhan Harm

O VOOL LMC tem um servidor Modbus TCP para integrações locais. Um sistema de gestão de edifícios (BMS), um sistema de gestão de energia (EMS), o Home Assistant ou qualquer outro cliente Modbus pode ler as correntes e tensões da alimentação principal por fase e — com acesso de escrita — definir o limite de corrente da ligação à rede usado pela gestão de carga. Disponível a partir do software LMC v6.4.0.

Esta interface é independente da interface Modbus do próprio carregador (consulte o manual Modbus do carregador). O mapa do LMC não fornece medições individuais dos carregadores, contadores de energia nem registos de início/paragem dos carregadores — para isso, utilize a interface do carregador.

Primeiros passos

O Modbus TCP está desativado no LMC por predefinição e é ativado pelo suporte VOOL. Peça ao suporte VOOL através do chat, indicando o número de série do LMC e se precisa apenas de acesso de leitura (monitorização) ou também de escrita. O acesso de escrita também está desativado por predefinição e é ativado pelo suporte. A ativação e as definições de porta não podem ser alteradas através do próprio Modbus.

  1. Combine a ativação com o suporte — número de série do LMC, só leitura ou leitura/escrita.

  2. Confirme os dados da ligação local. Obtenha o endereço IPv4 local do LMC junto do instalador ou do administrador de rede (ou na lista de dispositivos ligados do router). Utilize a ligação Ethernet ou Wi-Fi; se ambas estiverem ligadas, confirme qual o endereço que serve o Modbus — o servidor escuta num endereço de cada vez.

  3. Configure o seu cliente Modbus com as definições abaixo e leia a primeira medição.

Definição

Valor

Protocolo

Modbus TCP — o LMC é o servidor, o seu sistema é o cliente

Endereço do servidor

O endereço IPv4 local do LMC

Porta TCP

502 por predefinição (utilize a porta confirmada pelo suporte)

Unit ID / ID do dispositivo

Utilize 1 se o cliente exigir um valor. O LMC ignora-o — não seleciona um carregador a jusante.

Formato numérico

Float32, dois registos por valor, palavra mais significativa e byte mais significativo primeiro (ABCD, “big-endian, sem troca de palavras”)

Convenção de endereços

Endereços decimais com base zero (consulte “Endereços e codificação”)

O Modbus TCP não tem autenticação nem encriptação. Qualquer sistema que alcance a porta pode ler a interface. Restrinja o acesso a sistemas de confiança e nunca exponha a porta à internet. O acesso de escrita aplica-se a todos os registos graváveis — incluindo os comandos de dispositivo e de lista — e não pode ser limitado à definição do limite de corrente.

A sua primeira medição

Leia a corrente na fase L1: função 03 (Read Holding Registers), endereço inicial 600 (decimal, base zero), quantidade 2 registos, descodificar como float32 ABCD. Unidade: amperes.

Exemplo: se os dois registos devolverem 0x41A4 e 0x0000, o valor é 20,5 A. Combine os dois registos num único float de 32 bits — não trate nenhum registo como um valor separado e não aplique fator de escala.

Registos de medição (só leitura)

Leia com FC03 (holding registers) ou FC04 (input registers) nos mesmos endereços com base zero.

Registos

Medição

Unidade

Posição numa leitura de 26 registos

600–601

Corrente da alimentação L1

A

0–1

602–603

Corrente da alimentação L2

A

2–3

604–605

Corrente da alimentação L3

A

4–5

606–619

Reservado — a leitura devolve zero

—

6–19 (ignorar)

620–621

Tensão da alimentação L1

V

20–21

622–623

Tensão da alimentação L2

V

22–23

624–625

Tensão da alimentação L3

V

24–25

Leia tudo de uma vez com início 600 e quantidade 26. Ou leia apenas as correntes (início 600, quantidade 6) ou apenas as tensões (início 620, quantidade 6). A coluna “posição” conta a partir de zero dentro da matriz devolvida — não é o endereço do registo.

O que significa “corrente da alimentação”: é a corrente total por fase calculada pelo LMC. Com o contador (TC) na ligação principal, o valor vem do contador. Se o contador medir apenas as outras cargas do edifício, o LMC soma as correntes dos carregadores. Por isso, a configuração de medição feita pelo instalador é importante ao comparar leituras com outro sistema. Uma leitura zero ou inalterada, por si só, não prova que o contador está a funcionar.

Definir o limite de corrente da ligação à rede (acesso de escrita)

Requer acesso de escrita ativado pelo suporte VOOL. Um limite de corrente errado pode permitir cargas acima da capacidade da instalação e fazer disparar as proteções. Utilize apenas limites confirmados pelo instalador e nunca exceda a capacidade nominal da instalação.

O limite de corrente da ligação à rede é o orçamento de corrente por fase com que a gestão de carga trabalha. Aplica-se a toda a ligação à rede, incluindo as outras cargas do edifício — não é a corrente de um carregador individual.

Registos

Definição

Unidade

Formato / acesso

104–105

Limite de corrente da ligação à rede

A

Float32 / leitura-escrita

  1. Leia o valor atual — FC03, início 104, quantidade 2. Guarde-o caso precise de o repor.

  2. Escreva o limite acordado como um único float32 com FC16 (Write Multiple Registers), dois registos num único pedido. Exemplo para 32 A: registo 104 = 0x4200, registo 105 = 0x0000.

  3. Leia novamente e confirme e, em seguida, observe a instalação. Uma resposta de escrita, por si só, não prova que a alteração foi aplicada.

As alterações de configuração são permanentes e afetam a gestão de carga durante o funcionamento.

Endereços e codificação

Todos os endereços aqui indicados são endereços de protocolo decimais com base zero. A quantidade é o número de registos de 16 bits, não o número de valores — cada valor numérico ocupa dois registos consecutivos. Os clientes usam convenções diferentes; para a leitura da corrente L1, introduza:

Convenção do cliente

Introduza

Endereço / offset com base zero

600

Número de registo com base um (registo 1 = endereço 0)

601

Referência holding register (40001 = endereço 0)

40601

Não envie 40601 como endereço de protocolo.

  • As medições e definições estão em unidades físicas, sem escala.

  • Interruptores: float32 0.0 = desligado, 1.0 = ligado (qualquer valor diferente de zero é tratado como ligado).

  • Modos: o valor inteiro documentado, codificado como float32, p. ex. 1.0.

  • Valores comuns: 0.0 = 0x0000 0x0000; 1.0 = 0x3F80 0x0000; 20.5 = 0x41A4 0x0000; 32.0 = 0x4200 0x0000.

  • Os comandos de lista usam inteiros brutos — ver abaixo.

Regras dos pedidos

Função

Utilização

03 — Read Holding Registers

Qualquer região legível

04 — Read Input Registers

Apenas medições (600–625)

16 (0x10) — Write Multiple Registers

Valores graváveis e blocos de comando

A FC06 (Write Single Register) não é suportada e devolve a exceção 02 — utilize FC16 mesmo para um único valor. Não são usadas coils.

Região legível (inclusive)

Conteúdo

Funções

104–111

Limite da rede, modos de funcionamento, definição da antena

FC03

240–283

Afinação da gestão de carga

FC03

600–625

Medições e zeros reservados

FC03, FC04

  • Cada leitura tem de ficar dentro de uma única região. Leituras fora delas — incluindo registos de comando — devolvem a exceção 02.

  • Escreva os valores numéricos a partir do primeiro registo e escreva ambos os registos. Valores graváveis consecutivos podem ser combinados num pedido, mas não através de um intervalo não mapeado.

  • Escreva os blocos de comando exatamente no endereço inicial e com a quantidade indicados.

  • A interface não impõe os intervalos de colocação em serviço indicados neste artigo — valide os valores no seu cliente e utilize números finitos.

  • Uma resposta de escrita normal apenas confirma a receção do pedido. Leia novamente as definições e verifique se os comandos foram concluídos antes de tentar de novo.

Resolução de problemas

Sintoma

O que verificar

Ligação recusada ou tempo esgotado

Confirme com o suporte que o Modbus está ativado; verifique o endereço IPv4 local e a porta do LMC, a acessibilidade e as regras de firewall. Se Ethernet e Wi-Fi estiverem ambos ligados, confirme qual o endereço que está à escuta. O Modbus não atravessa sub-redes nem VLAN.

A leitura devolve a exceção 02

Verifique a convenção de endereços, a quantidade e os limites das regiões. A FC04 só lê 600–625. Os registos de comando não podem ser lidos.

A escrita devolve a exceção 02

Confirme o acesso de escrita com o suporte. Utilize FC16, um endereço gravável e um valor ou bloco completo. A FC06 é rejeitada.

Números implausivelmente grandes ou pequenos

Descodifique como float32 ABCD, dois registos por valor, sem escala. Verifique se o endereço não está desfasado de um.

Medições a zero ou inalteradas

Verifique as posições na resposta e o intervalo reservado. Peça ao suporte que verifique o contador e a configuração de medição.

A escrita é bem-sucedida, mas o valor não muda

Leia novamente, verifique a codificação e os valores permitidos. A confirmação, por si só, não garante que a alteração foi aplicada.

A integração funcionou e depois parou

O IP local do LMC pode ter mudado após uma troca de router ou uma atualização — defina um IP estático ou uma reserva DHCP para o LMC (e para os carregadores). Uma atualização de software ou o reinício do serviço também terminam a sessão; não repita automaticamente um comando de atualização após um tempo esgotado.

Exceções: 01 Illegal Function — função não reconhecida. 02 Illegal Data Address — falhas de validação do mapa de registos e escrita desativada. 03 Illegal Data Value — quantidade de protocolo inválida (p. ex. uma escrita FC16 fora de 1–123 registos); não significa que o intervalo de uma definição foi verificado.

Definições avançadas (acesso de escrita — acorde os valores com o suporte VOOL)

Estas definições alteram o comportamento da gestão de carga ou a configuração do hardware. Todas são valores float32 de leitura-escrita. Os intervalos são limites de colocação em serviço, não definições recomendadas — leia os valores instalados antes de alterar o que quer que seja.

Modos de funcionamento e antena

Registos

Definição

Valores

106–107

Modo de medição da alimentação

0 = contador na ligação principal, incluindo os carregadores; 1 = contador mede as outras cargas do edifício, o LMC soma as correntes dos carregadores

108–109

Modo de gestão de carga

0 = partilha por prioridade; 1 = partilha de potência igual

110–111

Usar antena Wi-Fi externa

0 = desligado; 1 = ligado. Requer hardware e antena compatíveis; tem efeito após o reinício do LMC

Afinação da gestão de carga

Registos

Definição

Unidade

Intervalo / valores

240–241

Limitação da taxa de referência ativada (rampa de corrente)

—

0 = desligado; 1 = ligado

242–243

Taxa da limitação de referência

A/s

0–32

244–245

Limiar de corrente para concluir a rampa de arranque

A

0–32

246–247

Partilha de potência igual: passo de corrente inicial

A

0.01–32

248–249

Partilha de potência igual: passo de corrente predefinido

A

0.01–32

250–251

Partilha de potência igual: limiar mínimo de corrente igual

A

0–32

252–253

Partilha de potência igual: atraso antes de desativar o carregamento do carregador

s

0–86400

254–255

Partilha de potência igual: atraso antes de permitir o carregamento do carregador

s

0–86400

256–257

Gestão de carga por fase ativada

—

0 = desligado; 1 = ligado

258–259

Atraso da comutação de fase

s

0–30

260–261

Limiar de corrente da comutação de fase

A

0–1000

262–263

Limiar de desequilíbrio da comutação de fase

%

0–100

264–265

Suspensão por sobrecarga de fase ativada

—

0 = desligado; 1 = ligado

266–267

Forçar carregamento monofásico durante a gestão de sobrecarga de fase

—

0 = desligado; 1 = ligado

268–269

Tempo de desligamento por sobrecarga de fase

s

0–86400

270–271

Prevenção de suspensão ativada

—

0 = desligado; 1 = ligado

272–273

Limiar de corrente da fase de suspensão 1

A

0–32

274–275

Tempo de retenção da fase de suspensão 1

s

0–600

276–277

Limiar de corrente da fase de suspensão 2

A

0–32

278–279

Tempo de retenção da fase de suspensão 2

s

0–600

280–281

Limiar de corrente da fase de suspensão 3

A

0–32

282–283

Tempo de retenção da fase de suspensão 3

s

0–600

Comandos de dispositivo e de lista (só escrita)

Os comandos exigem acesso de escrita, não podem ser lidos (exceção 02) e podem interromper o funcionamento ou alterar a configuração da instalação — utilize-os apenas no âmbito de um procedimento de assistência ou colocação em serviço acordado.

Comandos de dispositivo

FC16, exatamente dois registos no endereço inicial. Escrever float32 1.0 (0x3F80 0x0000) — ou qualquer valor diferente de zero — aciona o comando; 0.0 não faz nada.

Registos

Comando

Efeito

4–5

Atualizar o software do LMC

Inicia a atualização de software predefinida. A conclusão não é comunicada via Modbus.

12–13

Reiniciar o serviço do LMC

Reinicia a aplicação do controlador e termina a ligação Modbus.

Lista de carregadores

Escreva exatamente 7 registos a partir de 8900 num único pedido FC16. Inteiros sem sinal brutos, não float32. A lista não pode ser lida via Modbus.

Registo

Campo

Codificação / utilização

8900

Subcomando

1 = adicionar; 2 = remover; 3 = atualizar; 4 = limpar

8901–8903

Número de série do carregador

6 bytes, byte mais significativo primeiro em cada registo. Série 112233445566 → 0x1122, 0x3344, 0x5566

8904

ID do multiponto

0–255, apenas o byte menos significativo — o ponto ao qual o carregador está atribuído

8905

Flags

O bit 0 ativa o OCPP 1.6 para o carregador (use 1); mantenha os restantes bits a zero

8906

Reservado

Escreva 0

Remover utiliza apenas o número de série (escreva zero nos outros campos). Limpar repõe a lista predefinida e ignora os dados. Um subcomando desconhecido é confirmado, mas ignorado.

Lista de multipontos

Um multiponto é um ponto de ligação com o seu próprio limite de corrente. Escreva exatamente 4 registos a partir de 8920 num único pedido FC16, como inteiros sem sinal brutos. A lista não pode ser lida via Modbus.

Registo

Campo

Codificação / utilização

8920

Subcomando

1 = adicionar; 2 = remover; 3 = atualizar; 4 = limpar

8921

ID do multiponto

1–255. O ponto 0 é a ligação à rede e não pode ser alterado com estes comandos

8922

Limite de corrente

Amperes inteiros, uint16 (0–65535), dentro da capacidade acordada da instalação

8923

ID do multiponto principal

Escreva 0 (sem ponto principal) — este comando não suporta pontos principais diferentes de zero

Remover utiliza apenas o ID do multiponto. Remova os carregadores atribuídos e os pontos subordinados antes de remover um ponto. Limpar repõe as predefinições. Confirme a configuração resultante com o suporte.

Contactar o suporte

Para ativação, acesso de escrita ou ajuda com a integração, contacte o suporte VOOL através do chat e indique o número de série do LMC. Ao comunicar um problema, indique também o software cliente, o IP local e a porta do LMC, o código de função, o endereço inicial, a quantidade, a resposta ou exceção, a hora em que ocorreu e, se souber, a versão de software do LMC.

Este artigo abrange a interface Modbus do LMC introduzida no software LMC v6.4.0. Peça ao suporte que confirme as funções disponíveis no software instalado antes de colocar em serviço uma integração avançada.

Isto respondeu à sua pergunta?