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.
Combine a ativação com o suporte — número de série do LMC, só leitura ou leitura/escrita.
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.
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 |
Leia o valor atual — FC03, início 104, quantidade 2. Guarde-o caso precise de o repor.
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.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.
