Documentație

citiți și controlați cFos Charging Manager prin Modbus

În plus față de HTTP și MQTT, cFos Charging Manager oferă, de asemenea, un API Modbus. Aceasta este modelată după SunSpec. Puteți specifica un port TCP sau un parametru de port COM și un ID Modbus la "SunSpec address settings" (Setări adresă SunSpec) în configurarea Charging Manager. Acest lucru face ca cFos Charging Manager să asculte portul TCP sau portul COM sub parametrii specificați și ID-ul Modbus și ID-ul Modbus + 1. Valorile, parametrii, stegulețele și variabilele generale ale Charging Manager sunt disponibile sub ID-ul Modbus. Dispozitivele configurate în Charging Manager (wallbox-uri și contoare) pot fi interogate sub ID + 1. Ca funcție Modbus, puteți utiliza 3 și 4 pentru citire și 6 și 16 pentru scriere. Atenție: Pe Raspberry, porturile TCP sub 1024 sunt rezervate pentru programele cu drepturi de administrator. Prin urmare, este mai bine să selectați un număr de port mai mare, de exemplu 1502.

Specificația SunSpec Modbus prevede că intervalul de adrese Modbus începe cu un identificator "SunS" și apoi conține așa-numitele modele SunSpec. Fiecare model are un număr de identificare a modelului la offset 0 și o specificație a lungimii registrelor rămase aparținând modelului la offset 1. Valorile modelului urmează apoi de la offset 2. Important: Ar trebui să scanați intervalul de adrese SunSpec și să estimați întotdeauna lungimea la offset 1. Nu presupuneți lungimi fixe sau adrese de registre fixe, deoarece este foarte probabil ca în timp să adăugăm alte valori la modele. Modelul 1 (Comun) este întotdeauna primul, cu detalii despre producător, numere de versiune etc. Vă rugăm să descărcați specificațiile SunSpec Modbus de la SunSpec Alliance pentru informații detaliate. Intervalul de adrese SunSpec pentru cFos Charging Manager începe cu adresa 40000.

Managerul de încărcare cFos afișează inițial următoarele valori ca Model 213 (contor trifazat, flotant) sub ID-ul Modbus după modelul Common:
Consumul de rețea
Total consumatori
Total generatoare
Excedent PV
Puterea utilizată a wallbox-ului
Puterea disponibilă a wallbox-ului
Puterea de avarie

Urmează modelul "personalizat" 60000 cu parametrii de setare ai cFos Charging Manager: 8 valori float urmează în prezent după model și lungime: Curent total maxim, rezervă, suprasolicitare, curent total maxim al wallbox-ului în mA pe fază, dezechilibru maxim de fază (în mA), gestionare sarcină activă (1 = activă, 0 = inactivă), dezechilibru incl. consumatori (1 = activă, 0 = inactivă), gestionare sarcină activă (1 = activă, 0 = inactivă), gestionare sarcină inactivă (1 = activă, 0 = inactivă), dezechilibru sarcină incl. consumatori (1 = activă, 0 = inactivă). Sarcină (1 = activ, 0 = inactiv), curent total maxim în procente. Aceștia sunt parametrii globali ai Charging Manager care pot fi setați și în interfața utilizatorului. Modificările aduse acestor valori sunt salvate (cu o întârziere maximă de 150 de secunde). Curentul total în procente poate fi utilizat, de exemplu, pentru a ajusta în mod dinamic puterea de încărcare la cererea operatorului de rețea.

Acesta este urmat de modelul "personalizat" 60001. 32 de registre (16 biți) urmează modelul și lungimea. Acestea pot conține valorile 0 și 1 și pot citi sau scrie până la 32 de indicatori Charging Manager. Starea acestor stegulețe poate fi apoi interogată în formule folosind CM._flag1 până la CM._flag32 și utilizată pentru calcule.

Aceasta este urmată de modelul "personalizat" 60002, urmat de variabilele posibile ale Charging Manager după model și lungime. Există 22 de registre disponibile pentru fiecare variabilă. Primele 20 de registre sunt un șir Modbus pentru numele variabilei (numele prea lungi sunt trunchiate). Următoarele 2 registre conțin valoarea flotantă curentă a variabilei. Dacă scrieți valoarea flotantă a unei variabile Charging Manager, ștergeți orice formulă existentă și setați variabila la o valoare fixă.

Sub Modbus ID + 1, contoarele și wallbox-urile configurate în Charging Manager sunt afișate după cum urmează. Wallbox-urile se schimbă ca SunSpec model 113 extins cu 2 registre de 16 biți. Decalajul 62 conține starea wallbox-ului (1=în așteptare, 2=conectat, 3=încărcare, 4=încărcare cu ventilație, 5=eroare), iar decalajul 63 conține ID-ul dispozitivului. 1 = E1, 2 = E2, etc. Contoarele sunt afișate cu modelul 213 extins cu 2 registre de 16 biți. Offset 126 conține rolul contorului (0=afișare, 1=consum, 2=generare, 3=consum de rețea, 4=consum de mașină electrică, 5=înmagazinare acasă, 6=înmagazinare toate), offset 127 conține ID-ul dispozitivului (-1 pentru M1, -2 pentru M2 etc.). În cazul în care contorul este un dispozitiv de stocare (rolul 5 sau 6), modelul 213 este urmat de modelul 124, care este extins cu un registru pe 16 biți. Offsetul 26 conține din nou ID-ul dispozitivului. Pentru a afișa dispozitivele cu ID Modbus + 1, trebuie să activați "Publish device information via Modbus" (Publicarea informațiilor despre dispozitiv prin Modbus) în setările dispozitivului.

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 valori pentru modelul 213:
Offset 0: 213
Offset 1: Lungime
Offset 2: Curenți totali L1-L3 (A)
Offset 4: Curent L1 (A)
Offset 6: Curent L2 (A)
Offset 8: Curent L3 (A)
Offset 10: Tensiune (V)
Offset 12: Tensiune L1 (V)
Offset 14: Tensiune L2 (V)
Offset 16: Tensiune L3 (V)
Offset 26: 50 Hz
Offset 28: Putere (W)
Offset 30: Putere L1 (W)
Offset 32: Putere L2 (W)
Offset 34: Putere L3 (W)
Offset 36: Putere aparentă (VA)
Offset 38: Putere aparentă L1 (VA)
Offset 40: Putere aparentă L2 (VA)
Offset 42: Putere aparentă L3 (VA)
Offset 44: Putere reactivă (VAr)
Offset 60: Export, putere activă (Wh)
Offset 68: Import, putere activă (Wh)
Offset 126: Rol (pentru Modbus ID + 1)
Offset 127: ID dispozitiv (pentru Modbus ID + 1)

Lista valorilor pentru modelul 113:
Offset 0: 113
Offset 1: Lungime
Offset 2: Curenți totali L1-L3 (A)
Offset 4: Curent L1 (A)
Offset 6: Curent L2 (A)
Offset 8: Curent L3 (A)
Offset 16: Tensiune L1 (V)
Offset 18: Tensiune L2 (V)
Offset 20: Tensiune L3 (V)
Offset 22: Putere (W)
Offset 24: 50 Hz
Offset 26: Putere aparentă (VA)
Offset 32: Import, putere activă (Wh)
Offset 62: Stare (pentru Modbus ID + 1)
Offset 63: ID dispozitiv (pentru Modbus ID + 1)

Lista de valori pentru modelul 124:
Offset 0: 124
Offset 1: Lungime
Offset 2: Puterea maximă de încărcare/descărcare (W)
Offset 3: Procent din limita de putere de încărcare curentă
Offset 4: Procent din limita de putere de descărcare curentă
Offset 8: Starea de încărcare în procente
Offset 18: Factor de scalare pentru offset 2
Offset 19: Factorul de scalare pentru offset 3 și 4
Offset 26: ID-ul dispozitivului (pentru Modbus ID + 1)

Lista valorilor pentru modelul 60000:
Toate valorile în float, acces de citire/scriere, determină actualizarea flash-ului, adică nu se modifică des pentru a evita deteriorarea.adică nu modificați des pentru a evita deteriorarea.
Offset 0: 60000 (unt16, numai pentru citire)
Offset 1: Length (uint16, numai pentru citire)
Offset 2: Max. Total current (mA)
Offset 4: Power Reserve (mA)
Offset 6: Overdraw (mA)
Offset 8: Max Wallbox total current (mA)
Offset 10: Max. Dezechilibru de fază (mA)
Offset 12: 1 = Managementul sarcinii activ, 0 = inactiv
Offset 14: 1 = Adăugarea consumului casnic la dezechilibru, 0 = inactiv
Offset 16: Procent din curentul total maxim, nu este salvat, poate fi modificat frecvent.

Lista de valori pentru modelul 60001:
Toate valorile 0 sau 1, int16, acces de citire/scriere, nu sunt salvate, pot fi modificate frecvent.
Offset 0: 60001 (uint16, numai pentru citire)
Offset 1: Length (uint16, numai pentru citire)
Offset 2: CM._flag1
...
Offset 33: CM._flag32

Lista de valori pentru modelul 60002:
Toate valorile sunt float, cu acces de citire/scriere, nu sunt salvate, pot fi modificate frecvent. Offset 0: 60002 (uint16, read-only)
Offset 1: Length (uint16, read-only)
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
...