Documentação

ler e controlar o cFos Charging Manager via Modbus

Para além de HTTP e MQTT, o cFos Charging Manager também fornece uma API Modbus. Esta é modelada de acordo com o SunSpec. Pode especificar uma porta TCP ou um parâmetro de porta COM e um ID Modbus em "SunSpec address settings" (Definições de endereço SunSpec) na configuração do gestor de carregamento. Isto faz com que o gestor de carregamento cFos ouça a porta TCP ou a porta COM sob os parâmetros especificados e o Modbus ID e Modbus ID + 1. Os valores, parâmetros, sinalizadores e variáveis gerais do gestor de carregamento estão disponíveis sob o Modbus ID. Os aparelhos configurados no gestor de carregamento (Wallboxes e contadores) podem ser consultados sob o ID + 1. Como função Modbus, pode utilizar 3 e 4 para ler e 6 e 16 para escrever. Atenção: No Raspberry, as portas TCP inferiores a 1024 estão reservadas aos programas com direitos de administrador. Por isso, é preferível selecionar um número de porta superior, por exemplo, 1502.

A especificação SunSpec Modbus indica que a gama de endereços Modbus começa com um identificador "SunS" e contém depois os chamados modelos SunSpec. Cada modelo tem um número de identificação de modelo no offset 0 e uma especificação de comprimento dos restantes registos pertencentes ao modelo no offset 1. Os valores do modelo seguem a partir do offset 2. Importante: Deve analisar o intervalo de endereços SunSpec e estimar sempre o comprimento no desvio 1. Não assuma comprimentos fixos ou endereços de registo fixos, uma vez que é muito provável que acrescentemos mais valores aos modelos ao longo do tempo. O Modelo 1 (Comum) vem sempre em primeiro lugar, com pormenores sobre o fabricante, números de versão, etc. Para obter informações pormenorizadas, descarregue as especificações SunSpec Modbus da SunSpec Alliance. A gama de endereços SunSpec para o Gestor de Carga cFos começa com o endereço 40000.

O Gestor de Carga cFos apresenta inicialmente os seguintes valores como Modelo 213 (contador trifásico, flutuante) sob o ID Modbus depois do modelo Common:
Consumo da rede
Total de consumidores
Total de produtores
Excedente fotovoltaico
Potência da Wallbox utilizada
Potência da Wallbox disponível
Potência de falha

Segue-se o modelo "personalizado" 60000 com parâmetros de configuração do cFos Charging Manager: Após o modelo e o comprimento, existem atualmente 8 valores flutuantes: Corrente total máxima, reserva, consumo excessivo, corrente total máxima da Wallbox em mA por fase, desequilíbrio máximo de fase (em mA), gestão de carga ativa (1 = ativa, 0 = inativa), desequilíbrio incl. consumidores (1 = ativa, 0 = inativa), gestão de carga ativa (1 = ativa, 0 = inativa), desequilíbrio de carga incl. consumidores (1 = ativa, 0 = inativa). Carga (1 = ativa, 0 = inativa), corrente total máxima em percentagem. Estes são os parâmetros globais do gestor de carregamento que também podem ser definidos na IU. As alterações a estes valores são guardadas (com um atraso máximo de 150 segundos). A corrente total em percentagem pode ser utilizada, por exemplo, para ajustar dinamicamente a potência de carregamento a pedido do operador da rede.

Segue-se o modelo "personalizado" 60001. 32 registos (16 bits) seguem o modelo e o comprimento. Estes podem conter os valores 0 e 1 e ler ou escrever até 32 flags do gestor de carregamento. O estado destas bandeiras pode ser consultado em fórmulas utilizando CM._flag1 a CM._flag32 e utilizado para cálculos.

Segue-se o modelo "personalizado" 60002, seguido das variáveis possíveis do gestor de carregamento após o modelo e o comprimento. Há 22 registos disponíveis para cada variável. Os primeiros 20 registos são uma cadeia Modbus para o nome da variável (os nomes demasiado longos são truncados). Os 2 registos seguintes contêm o valor flutuante atual da variável. Se escrever o valor de flutuação de uma variável do gestor de carregamento, elimina qualquer fórmula existente e define a variável para um valor fixo.

Em Modbus ID + 1, os contadores e as Wallboxes configurados no Charging Manager são apresentados da seguinte forma. As Wallboxes são trocadas como SunSpec modelo 113, com 2 registos de 16 bits. O offset 62 contém o estado da Wallbox (1=espera, 2=ligada, 3=carregamento, 4=carregamento com ventilação, 5=erro) e o offset 63 contém a ID do aparelho. 1 = E1, 2 = E2, etc. Os contadores são apresentados com o modelo 213 ampliado por 2 registos de 16 bits. O desvio 126 contém a função do contador (0=exibição, 1=consumo, 2=geração, 3=consumo na rede, 4=consumo no carro elétrico, 5=armazenamento em casa, 6=armazenamento de tudo), o desvio 127 contém o ID do dispositivo (-1 para M1, -2 para M2, etc.). Se o contador for um dispositivo de armazenamento (papel 5 ou 6), o modelo 213 é seguido pelo modelo 124, que é ampliado por um registo de 16 bits. O offset 26 contém novamente o ID do dispositivo. Para visualizar os aparelhos com Modbus ID + 1, é necessário ativar "Publicar informação do aparelho via Modbus" nas definições do aparelho.

Aufstellung Start-Addressen der Modelle:
Modbus ID:
Model: 1, Addr: 40002
Model: 213, Addr: 40070, Netzbezugszähler
Model: 213, Addr: 40196, Summe Verbraucher
Model: 213, Addr: 40322, Sume Erzeuger
Model: 213, Addr: 40448, PV Überschuss
Model: 213, Addr: 40574, Genutzte Wallboxleistung
Model: 213, Addr: 40700, Verfügbare Wallboxleistung
Model: 213, Addr: 40826, Fehler-Leistung
Model: 60000, Addr: 40952
Model: 60001, Addr: 40970
Model: 60002, Addr: 41004
Die konkreten Start-Addressen können bei späteren Versionen des cFos Charging Managers variieren, daher sollte der Register-Bereich, wie oben beschrieben, gescannt werden.
Modbus ID + 1:
Modelle und Startadressen hängen von den eingeblendeten Geräten ab.

Lista de valores para o modelo 213:
Offset 0: 213
Offset 1: Comprimento
Offset 2: Correntes totais L1-L3 (A)
Offset 4: Corrente L1 (A)
Offset 6: Corrente L2 (A)
Offset 8: Corrente L3 (A)
Offset 10: Tensão (V)
Offset 12: Tensão L1 (V)
Offset 14: Tensão L2 (V)
Offset 16: Tensão L3 (V)
Offset 26: 50 Hz
Offset 28: Potência (W)
Offset 30: Potência L1 (W)
Offset 32: Potência L2 (W)
Offset 34: Potência L3 (W)
Offset 36: Potência aparente (VA)
Offset 38: Potência aparente L1 (VA)
Offset 40: Potência aparente L2 (VA)
Offset 42: Potência aparente L3 (VA)
Offset 44: Potência reactiva (VAr)
Offset 60: Exportação, potência ativa (Wh)
Offset 68: Importação, potência ativa (Wh)
Offset 126: Função (para Modbus ID + 1)
Offset 127: ID do dispositivo (para Modbus ID + 1)

Lista de valores para o modelo 113:
Offset 0: 113
Offset 1: Comprimento
Offset 2: Correntes totais L1-L3 (A)
Offset 4: Corrente L1 (A)
Offset 6: Corrente L2 (A)
Offset 8: Corrente L3 (A)
Offset 16: Tensão L1 (V)
Offset 18: Tensão L2 (V)
Offset 20: Tensão L3 (V)
Offset 22: Potência (W)
Offset 24: 50 Hz
Offset 26: Potência aparente (VA)
Offset 32: Importação, potência ativa (Wh)
Offset 62: Estado (para Modbus ID + 1)
Offset 63: ID do dispositivo (para Modbus ID + 1)

Lista de valores para o modelo 124:
Offset 0: 124
Offset 1: Comprimento
Offset 2: Potência máxima de carregamento/descarregamento (W)
Offset 3: Percentagem do limite de potência de carregamento atual
Offset 4: Percentagem do limite de potência de descarregamento atual
Offset 8: Estado de carregamento em percentagem
Offset 18: Fator de escala para o offset 2
Offset 19: Fator de escala para os desvios 3 e 4
Desvio 26: ID do dispositivo (para Modbus ID + 1)

Lista de valores para o modelo 60000:
Todos os valores em float, acesso de leitura/escrita, faz com que o flash seja atualizado, ou seja, não altere frequentemente para evitar danos.ou seja, não alterar com frequência para evitar danos.
Offset 0: 60000 (unt16, só de leitura)
Offset 1: Comprimento (uint16, só de leitura)
Offset 2: Max. Corrente total (mA)
Offset 4: Reserva de potência (mA)
Offset 6: Consumo excessivo (mA)
Offset 8: Corrente total máx. da Wallbox (mA)
Offset 10: Desequilíbrio máx. Desequilíbrio de fase (mA)
Offset 12: 1 = Gestão de carga ativa, 0 = inativa
Offset 14: 1 = Adicionar consumo doméstico ao desequilíbrio, 0 = inativa
Offset 16: Percentagem da corrente total máxima, não é guardada, pode ser alterada frequentemente.

Lista de valores para o modelo 60001:
Todos os valores 0 ou 1, int16, acesso de leitura/escrita, não são guardados, podem ser alterados frequentemente.
Offset 0: 60001 (uint16, só de leitura)
Offset 1: Length (uint16, só de leitura)
Offset 2: CM._flag1
...
Offset 33: CM._flag32

Lista de valores para o modelo 60002:
Todos os valores são flutuantes, acesso de leitura/escrita, não são guardados, podem ser alterados frequentemente. Offset 0: 60002 (uint16, só de leitura)
Offset 1: Length (uint16, só de leitura)
Offset 2..22: Name Charging Manager Variable 1
Offset 23..24: Value Charging Manager Variable 1
Offset 25..45: Name Charging Manager Variable 2
Offset 46..47: Value Charging Manager Variable 2
...