VOOL LMC ma serwer Modbus TCP do integracji lokalnych. System zarządzania budynkiem (BMS), system zarządzania energią (EMS), Home Assistant lub dowolny inny klient Modbus może odczytywać prądy i napięcia przyłącza na każdej fazie, a — przy dostępie do zapisu — ustawiać limit prądu przyłącza używany przez zarządzanie obciążeniem. Dostępne od oprogramowania LMC v6.4.0.
Jest to interfejs niezależny od interfejsu Modbus samej ładowarki (zob. instrukcję Modbus ładowarki). Mapa rejestrów LMC nie udostępnia pomiarów poszczególnych ładowarek, liczników energii ani rejestrów start/stop ładowarek — do tego służy interfejs ładowarki.
Pierwsze kroki
Modbus TCP jest domyślnie wyłączony w LMC i włącza go pomoc techniczna VOOL. Napisz do pomocy technicznej VOOL na czacie, podaj numer seryjny LMC i określ, czy potrzebujesz dostępu tylko do odczytu (monitorowanie), czy także do zapisu. Dostęp do zapisu jest również domyślnie wyłączony i włącza go pomoc techniczna. Aktywacji i ustawień portu nie można zmienić przez sam Modbus.
Uzgodnij aktywację z pomocą techniczną — numer seryjny LMC, tylko odczyt czy odczyt/zapis.
Potwierdź dane połączenia lokalnego. Lokalny adres IPv4 LMC uzyskasz od instalatora lub administratora sieci (albo z listy podłączonych urządzeń w routerze). Użyj połączenia Ethernet lub Wi-Fi; jeśli podłączone są oba, sprawdź, który adres obsługuje Modbus — serwer nasłuchuje jednocześnie tylko na jednym adresie.
Skonfiguruj klienta Modbus zgodnie z poniższymi ustawieniami i odczytaj pierwszy pomiar.
Ustawienie | Wartość |
Protokół | Modbus TCP — LMC jest serwerem, Twój system jest klientem |
Adres serwera | Lokalny adres IPv4 LMC |
Port TCP | Domyślnie 502 (użyj portu potwierdzonego przez pomoc techniczną) |
Unit ID / ID urządzenia | Użyj 1, jeśli klient wymaga wartości. LMC ją ignoruje — nie wybiera ona podrzędnej ładowarki. |
Format liczb | Float32, dwa rejestry na wartość, najpierw starsze słowo i starszy bajt (ABCD, „big-endian, bez zamiany słów”) |
Konwencja adresów | Adresy dziesiętne liczone od zera (zob. „Adresy i kodowanie”) |
Modbus TCP nie ma uwierzytelniania ani szyfrowania. Każde urządzenie, które ma dostęp do portu, może odczytywać interfejs. Ogranicz dostęp do zaufanych systemów i nigdy nie udostępniaj portu w internecie. Dostęp do zapisu dotyczy wszystkich rejestrów zapisywalnych — w tym poleceń urządzenia i list — i nie można go ograniczyć tylko do ustawienia limitu prądu.
Pierwszy pomiar
Odczytaj prąd na fazie L1: funkcja 03 (Read Holding Registers), adres początkowy 600 (dziesiętnie, od zera), liczba rejestrów 2, dekodowanie jako float32 ABCD. Jednostka: ampery.
Przykład: jeśli dwa rejestry zwracają 0x41A4 i 0x0000, wartość wynosi 20,5 A. Połącz oba rejestry w jedną 32-bitową liczbę zmiennoprzecinkową — nie traktuj żadnego rejestru jako osobnej wartości i nie stosuj współczynnika skalowania.
Rejestry pomiarowe (tylko odczyt)
Odczyt funkcją FC03 (holding registers) lub FC04 (input registers) pod tymi samymi adresami liczonymi od zera.
Rejestry | Pomiar | Jednostka | Pozycja w odczycie 26 rejestrów |
600–601 | Prąd przyłącza L1 | A | 0–1 |
602–603 | Prąd przyłącza L2 | A | 2–3 |
604–605 | Prąd przyłącza L3 | A | 4–5 |
606–619 | Zarezerwowane — odczyt zwraca zero | — | 6–19 (pomiń) |
620–621 | Napięcie przyłącza L1 | V | 20–21 |
622–623 | Napięcie przyłącza L2 | V | 22–23 |
624–625 | Napięcie przyłącza L3 | V | 24–25 |
Odczytaj wszystko naraz: start 600, liczba 26. Możesz też odczytać tylko prądy (start 600, liczba 6) lub tylko napięcia (start 620, liczba 6). Kolumna „pozycja” liczy od zera w zwróconej tablicy — nie jest to adres rejestru.
Co oznacza „prąd przyłącza”: to obliczony przez LMC całkowity prąd na fazę. Gdy licznik (przekładniki prądowe) jest na przyłączu głównym, wartość pochodzi z licznika. Jeśli licznik mierzy tylko pozostałe odbiory budynku, LMC dodaje prądy ładowarek. Konfiguracja pomiaru wykonana przez instalatora ma więc znaczenie przy porównywaniu odczytów z innym systemem. Sam odczyt zerowy lub niezmienny nie dowodzi, że licznik działa.
Ustawianie limitu prądu przyłącza (dostęp do zapisu)
Wymaga dostępu do zapisu włączonego przez pomoc techniczną VOOL. Nieprawidłowy limit prądu może dopuścić obciążenie przekraczające możliwości instalacji i spowodować zadziałanie zabezpieczeń. Używaj tylko limitów potwierdzonych przez instalatora i nigdy nie przekraczaj znamionowej mocy instalacji.
Limit prądu przyłącza to budżet prądu na fazę, z którym pracuje zarządzanie obciążeniem. Dotyczy całego przyłącza, w tym pozostałych odbiorów budynku — nie jest to prąd pojedynczej ładowarki.
Rejestry | Ustawienie | Jednostka | Format / dostęp |
104–105 | Limit prądu przyłącza | A | Float32 / odczyt-zapis |
Odczytaj obecną wartość — FC03, start 104, liczba 2. Zachowaj ją na wypadek konieczności przywrócenia.
Zapisz uzgodniony limit jako jedną wartość float32 funkcją FC16 (Write Multiple Registers), dwa rejestry w jednym żądaniu. Przykład dla 32 A: rejestr 104 =
0x4200, rejestr 105 =0x0000.Odczytaj ponownie i potwierdź, a następnie obserwuj instalację. Sama odpowiedź na zapis nie dowodzi, że zmiana zaczęła obowiązywać.
Zmiany konfiguracji są trwałe i wpływają na zarządzanie obciążeniem podczas pracy.
Adresy i kodowanie
Wszystkie adresy w tym artykule to dziesiętne adresy protokołu liczone od zera. Liczba (quantity) oznacza liczbę 16-bitowych rejestrów, a nie wartości — każda wartość liczbowa zajmuje dwa kolejne rejestry. Klienci stosują różne konwencje; przy odczycie prądu L1 wpisz:
Konwencja klienta | Wpisz |
Adres / przesunięcie liczone od zera | 600 |
Numer rejestru liczony od jedynki (rejestr 1 = adres 0) | 601 |
Odwołanie do holding register (40001 = adres 0) | 40601 |
Nie wysyłaj 40601 jako adresu protokołu.
Pomiary i ustawienia są w jednostkach fizycznych, bez skalowania.
Przełączniki: float32 0.0 = wyłączone, 1.0 = włączone (każda wartość niezerowa jest traktowana jako włączona).
Tryby: udokumentowana wartość całkowita zakodowana jako float32, np. 1.0.
Typowe wartości: 0.0 =
0x0000 0x0000; 1.0 =0x3F80 0x0000; 20.5 =0x41A4 0x0000; 32.0 =0x4200 0x0000.Polecenia list używają surowych liczb całkowitych — zob. niżej.
Zasady żądań
Funkcja | Zastosowanie |
03 — Read Holding Registers | Dowolny obszar do odczytu |
04 — Read Input Registers | Tylko pomiary (600–625) |
16 (0x10) — Write Multiple Registers | Wartości zapisywalne i bloki poleceń |
Funkcja FC06 (Write Single Register) nie jest obsługiwana i zwraca wyjątek 02 — używaj FC16 nawet dla pojedynczej wartości. Cewki (coils) nie są używane.
Obszar do odczytu (włącznie) | Zawartość | Funkcje |
104–111 | Limit przyłącza, tryby pracy, ustawienie anteny | FC03 |
240–283 | Dostrajanie zarządzania obciążeniem | FC03 |
600–625 | Pomiary i zarezerwowane zera | FC03, FC04 |
Każdy odczyt musi mieścić się w jednym obszarze. Odczyty poza nimi — w tym rejestrów poleceń — zwracają wyjątek 02.
Wartości liczbowe zapisuj od ich pierwszego rejestru i zapisuj oba rejestry. Kolejne wartości zapisywalne można połączyć w jednym żądaniu, ale nie przez niezmapowaną lukę.
Bloki poleceń zapisuj dokładnie od ich adresu początkowego i z dokładną liczbą rejestrów.
Interfejs nie wymusza zakresów uruchomieniowych podanych w tym artykule — sprawdzaj wartości w swoim kliencie i używaj liczb skończonych.
Zwykła odpowiedź na zapis jedynie potwierdza przyjęcie żądania. Odczytaj ustawienia ponownie i sprawdź, czy polecenia zostały wykonane, zanim ponowisz próbę.
Rozwiązywanie problemów
Objaw | Co sprawdzić |
Połączenie odrzucone lub przekroczony czas | Potwierdź z pomocą techniczną, że Modbus jest włączony; sprawdź lokalny adres IPv4 i port LMC, osiągalność oraz reguły zapory. Jeśli podłączone są zarówno Ethernet, jak i Wi-Fi, sprawdź, który adres nasłuchuje. Modbus nie przechodzi między podsieciami ani sieciami VLAN. |
Odczyt zwraca wyjątek 02 | Sprawdź konwencję adresów, liczbę rejestrów i granice obszarów. FC04 odczytuje tylko 600–625. Rejestrów poleceń nie można odczytać. |
Zapis zwraca wyjątek 02 | Potwierdź dostęp do zapisu z pomocą techniczną. Użyj FC16, zapisywalnego adresu i pełnej wartości lub bloku. FC06 jest odrzucana. |
Nieprawdopodobnie duże lub małe liczby | Dekoduj jako float32 ABCD, dwa rejestry na wartość, bez skalowania. Sprawdź, czy adres nie jest przesunięty o jeden. |
Pomiary zerowe lub niezmienne | Sprawdź pozycje w odpowiedzi i zakres zarezerwowany. Poproś pomoc techniczną o sprawdzenie licznika i konfiguracji pomiaru. |
Zapis się udaje, ale wartość się nie zmienia | Odczytaj ponownie, sprawdź kodowanie i dozwolone wartości. Samo potwierdzenie nie gwarantuje, że zmiana została zastosowana. |
Integracja działała, a potem przestała | Lokalny adres IP LMC mógł się zmienić po wymianie routera lub aktualizacji — ustaw dla LMC (i ładowarek) statyczny adres IP lub rezerwację DHCP. Aktualizacja oprogramowania lub restart usługi również zrywa sesję; nie powtarzaj automatycznie polecenia aktualizacji po przekroczeniu czasu. |
Wyjątki: 01 Illegal Function — nierozpoznana funkcja. 02 Illegal Data Address — błędy walidacji mapy rejestrów i wyłączony zapis. 03 Illegal Data Value — nieprawidłowa liczba rejestrów w protokole (np. zapis FC16 poza zakresem 1–123 rejestrów); nie oznacza, że sprawdzono zakres ustawienia.
Ustawienia zaawansowane (dostęp do zapisu — wartości uzgodnij z pomocą techniczną VOOL)
Zmieniają one działanie zarządzania obciążeniem lub konfigurację sprzętu. Wszystkie są wartościami float32 do odczytu i zapisu. Zakresy to limity uruchomieniowe, a nie zalecane ustawienia — przed jakąkolwiek zmianą odczytaj zainstalowane wartości.
Tryby pracy i antena
Rejestry | Ustawienie | Wartości |
106–107 | Tryb pomiaru przyłącza | 0 = licznik na przyłączu głównym, łącznie z ładowarkami; 1 = licznik mierzy pozostałe odbiory budynku, LMC dodaje prądy ładowarek |
108–109 | Tryb zarządzania obciążeniem | 0 = podział priorytetowy; 1 = równy podział mocy |
110–111 | Użyj zewnętrznej anteny Wi-Fi | 0 = wył.; 1 = wł. Wymaga kompatybilnego sprzętu i anteny; działa po ponownym uruchomieniu LMC |
Dostrajanie zarządzania obciążeniem
Rejestry | Ustawienie | Jednostka | Zakres / wartości |
240–241 | Ograniczenie szybkości zmian włączone (narastanie prądu) | — | 0 = wył.; 1 = wł. |
242–243 | Szybkość ograniczenia zmian | A/s | 0–32 |
244–245 | Próg prądu zakończenia narastania przy starcie | A | 0–32 |
246–247 | Równy podział mocy: początkowy krok prądu | A | 0.01–32 |
248–249 | Równy podział mocy: domyślny krok prądu | A | 0.01–32 |
250–251 | Równy podział mocy: minimalny próg równego prądu | A | 0–32 |
252–253 | Równy podział mocy: opóźnienie przed wyłączeniem ładowania ładowarki | s | 0–86400 |
254–255 | Równy podział mocy: opóźnienie przed zezwoleniem na ładowanie ładowarki | s | 0–86400 |
256–257 | Zarządzanie obciążeniem faz włączone | — | 0 = wył.; 1 = wł. |
258–259 | Opóźnienie przełączania faz | s | 0–30 |
260–261 | Próg prądu przełączania faz | A | 0–1000 |
262–263 | Próg asymetrii przełączania faz | % | 0–100 |
264–265 | Wstrzymywanie przy przeciążeniu fazy włączone | — | 0 = wył.; 1 = wł. |
266–267 | Wymuś ładowanie jednofazowe podczas obsługi przeciążenia fazy | — | 0 = wył.; 1 = wł. |
268–269 | Czas wyłączenia przy przeciążeniu fazy | s | 0–86400 |
270–271 | Unikanie wstrzymania włączone | — | 0 = wył.; 1 = wł. |
272–273 | Próg prądu etapu wstrzymania 1 | A | 0–32 |
274–275 | Czas podtrzymania etapu wstrzymania 1 | s | 0–600 |
276–277 | Próg prądu etapu wstrzymania 2 | A | 0–32 |
278–279 | Czas podtrzymania etapu wstrzymania 2 | s | 0–600 |
280–281 | Próg prądu etapu wstrzymania 3 | A | 0–32 |
282–283 | Czas podtrzymania etapu wstrzymania 3 | s | 0–600 |
Polecenia urządzenia i list (tylko zapis)
Polecenia wymagają dostępu do zapisu, nie można ich odczytać (wyjątek 02) i mogą przerwać pracę lub zmienić konfigurację instalacji — używaj ich tylko w ramach uzgodnionej procedury serwisowej lub uruchomieniowej.
Polecenia urządzenia
FC16, dokładnie dwa rejestry od adresu początkowego. Zapis wartości float32 1.0 (0x3F80 0x0000) — lub dowolnej wartości niezerowej — uruchamia polecenie; 0.0 nic nie robi.
Rejestry | Polecenie | Działanie |
4–5 | Aktualizuj oprogramowanie LMC | Uruchamia domyślną aktualizację oprogramowania. Zakończenie nie jest raportowane przez Modbus. |
12–13 | Uruchom ponownie usługę LMC | Ponownie uruchamia aplikację sterownika i zrywa połączenie Modbus. |
Lista ładowarek
Zapisz dokładnie 7 rejestrów od adresu 8900 w jednym żądaniu FC16. Surowe liczby całkowite bez znaku, nie float32. Listy nie można odczytać przez Modbus.
Rejestr | Pole | Kodowanie / użycie |
8900 | Podpolecenie | 1 = dodaj; 2 = usuń; 3 = aktualizuj; 4 = wyczyść |
8901–8903 | Numer seryjny ładowarki | 6 bajtów, w każdym rejestrze najpierw starszy bajt. Numer 112233445566 → 0x1122, 0x3344, 0x5566 |
8904 | ID punktu (multipoint) | 0–255, tylko młodszy bajt — punkt, do którego przypisana jest ładowarka |
8905 | Flagi | Bit 0 włącza OCPP 1.6 dla ładowarki (użyj 1); pozostałe bity ustaw na zero |
8906 | Zarezerwowane | Zapisz 0 |
Usuwanie wykorzystuje tylko numer seryjny (w pozostałych polach zapisz zero). Czyszczenie przywraca listę domyślną i ignoruje dane. Nieznane podpolecenie jest potwierdzane, ale ignorowane.
Lista punktów (multipoint)
Punkt (multipoint) to punkt przyłączenia z własnym limitem prądu. Zapisz dokładnie 4 rejestry od adresu 8920 w jednym żądaniu FC16, jako surowe liczby całkowite bez znaku. Listy nie można odczytać przez Modbus.
Rejestr | Pole | Kodowanie / użycie |
8920 | Podpolecenie | 1 = dodaj; 2 = usuń; 3 = aktualizuj; 4 = wyczyść |
8921 | ID punktu (multipoint) | 1–255. Punkt 0 to przyłącze sieciowe i nie można go zmienić tymi poleceniami |
8922 | Limit prądu | Pełne ampery, uint16 (0–65535), w granicach uzgodnionej mocy instalacji |
8923 | ID punktu nadrzędnego | Zapisz 0 (brak nadrzędnego) — to polecenie nie obsługuje niezerowych punktów nadrzędnych |
Usuwanie wykorzystuje tylko ID punktu. Przed usunięciem punktu usuń przypisane ładowarki i punkty podrzędne. Czyszczenie przywraca ustawienia domyślne. Potwierdź wynikową konfigurację z pomocą techniczną.
Kontakt z pomocą techniczną
W sprawie aktywacji, dostępu do zapisu lub pomocy przy integracji napisz do pomocy technicznej VOOL na czacie i podaj numer seryjny LMC. Zgłaszając problem, podaj też oprogramowanie klienta, lokalny adres IP i port LMC, kod funkcji, adres początkowy, liczbę rejestrów, odpowiedź lub wyjątek, czas wystąpienia oraz — jeśli znasz — wersję oprogramowania LMC.
Ten artykuł opisuje interfejs Modbus LMC wprowadzony w oprogramowaniu LMC v6.4.0. Przed uruchomieniem zaawansowanej integracji poproś pomoc techniczną o potwierdzenie funkcji dostępnych w zainstalowanym oprogramowaniu.
