Mapa rejestrów SunSpec Modbus: Moc AC, SOC baterii i energia w różnych markach fotowoltaicznych
SunSpec definiuje standardowy układ rejestrów Modbus dla falowników fotowoltaicznych, umożliwiając działanie jednej konfiguracji bramki KNX Modbus w wielu markach. Znajomość rejestrów zawierających moc AC, stan naładowania baterii i sumy energii – oraz różnic w portach i identyfikatorach jednostek specyficznych dla marek – jest podstawą każdej integracji fotowoltaicznej z KNX.
SunSpec Alliance i standardowa mapa rejestrów
SunSpec Alliance to konsorcjum producentów z branży solarnej, które definiuje standardowe mapy rejestrów Modbus. Każdy falownik oznaczony jako zgodny z SunSpec używa tych samych adresów rejestrów dla podstawowych pomiarów, niezależnie od marki. Ta standaryzacja znacznie upraszcza konfigurację bramy KNX Modbus podczas integracji wielu marek falowników na jednym obiekcie.
Model bazowy SunSpec zaczyna się od rejestru holdingowego Modbus 40001 (adresowanie Modbus 1-bazowe) lub adresu rejestru 40000 (0-bazowe). Blok ten zawiera nazwę producenta, oznaczenie modelu i wersję oprogramowania układowego jako tekst ASCII – przydatne do weryfikacji, czy podczas uruchomienia podłączone jest właściwe urządzenie.
SunSpec Model 103 – kluczowe rejestry falownika trójfazowego
All registers: Holding Registers (FC3), 1-based addressing
40001-40002: SunSpec ID (0x5375 0x6e53 = "SunS") — verify connectivity
40003: Base model length
40004-40021: Manufacturer name (ASCII, 32 chars)
40022-40037: Model string (ASCII, 32 chars)
SunSpec Model 103 (Three-Phase Inverter):
40083: AC Power (int16, W) — current output power
40085: AC Power Scale Factor (int16, typically -1 or -2)
Apply: actual_W = reg40083 * 10^(reg40085)
40089: AC Frequency (uint16, Hz, scale factor at 40090)
Typical value: 5000 = 50.00 Hz with SF -2
40093-40094: AC Energy (uint32, Wh) — lifetime production
40095: AC Energy Scale Factor (int16)
40101: DC Voltage (uint16, V, scale factor at 40102)
Typical: 3500 with SF -1 = 350.0V
40107: Operating state (uint16):
1=Off, 2=Sleeping, 3=Starting, 4=Running, 5=Throttled
6=ShuttingDown, 7=Fault, 8=StandbyReferencja portu i identyfikatora jednostki specyficzna dla marki
Podczas gdy SunSpec standaryzuje adresy rejestrów, port TCP Modbus i identyfikator jednostki różnią się w zależności od marki. Użycie niewłaściwego portu lub identyfikatora jednostki jest najczęstszą przyczyną nieudanego uruchomienia bramy KNX. Poniższa tabela obejmuje najpopularniejsze marki instalowane w Niemczech, Holandii i Beneluksie.
| Marka / Model | Port TCP | ID jednostki | Uwagi |
|---|---|---|---|
| SolarEdge HD-Wave | 1502 | 1 | Włącz w aplikacji SE: Komunikacja → Modbus TCP |
| KOSTAL PLENTICORE | 1502 | 71 | Modbus TCP domyślnie włączony |
| Fronius GEN24 Plus | 502 | 1 | Włącz: Ustawienia → Modbus → TCP |
| GoodWe ES / ET | 502 | 247 | Domyślny identyfikator urządzenia 247 — niektóre wersje FW używają 1 |
| SMA Sunny Boy Storage | 502 | 3 | Włącz przez SMA Sunny Portal → Modbus |
| Sungrow SH series | 502 | 1 | Włącz w aplikacji iSolarCloud lub lokalnym interfejsie WWW |
| Huawei SUN2000 | 6607 | 0 | Wymaga Smart Dongle — NIE port 502 |
| Enphase IQ8 gateway | 80 (HTTP/JSON) | N/A | Enphase korzysta z Envoy HTTP API, a nie Modbus |
Huawei SUN2000 uwaga krytyczna: Huawei SUN2000 używa portu 6607 (nie standardowego 502) i ID urządzenia 0 (nie 1). Jest to najczęstszy błąd konfiguracji podczas integracji falowników Huawei z bramkami KNX. Zawsze sprawdzaj to za pomocą Modbus Poll przed konfiguracją bramki.
SunSpec Model 802 — rejestry magazynowania baterii
SunSpec Model 802 definiuje standardowe rejestry dla systemów magazynowania baterii. Nie wszystkie marki falowników implementują Model 802 — sprawdź instrukcję falownika lub skan modeli SunSpec (zaczynając od rejestru 40001), aby potwierdzić, czy model baterii jest obecny. Jeśli nie, użyj zastrzeżonych rejestrów marki opisanych poniżej.
SunSpec Model 802 — kluczowe rejestry magazynowania baterii
SunSpec Model 802 (Battery Storage):
40255: Battery SOC (uint16, %) — state of charge 0-100
40258-40259: Battery Power (int32, W)
Positive = charging, Negative = discharging
40261: Battery Voltage (uint16, 0.01V)
40263: Battery Current (int16, 0.01A)
40265: Battery Temperature (int16, 0.1°C)
40267: Battery State (uint16):
1=Disconnected, 2=Initialising, 3=Connected
4=Standby, 5=SOC Protection, 6=Fault, 7=Charging
8=Discharging
Proprietary battery registers (where Model 802 absent):
SolarEdge: reg 0xE140 (battery level %), 0xE18D (battery power W)
Fronius GEN24: reg 40352 (today generation float32 Wh)
reg 40358 (grid power float32 W)
KOSTAL PLENTICORE: register 154 (battery SOC, uint16, 1%)
Configure 2-register reads for int32 values:
In KNX gateway: set data type to 32-bit signed integer
High word first (big-endian) for all SunSpec int32 registersKonfiguracja bramki KNX Modbus
Weinzierl 5010 i MDT SCN-MIG.01 to najczęściej używane bramki KNX Modbus TCP w europejskich projektach KNX. Obie obsługują wiele urządzeń Modbus i elastyczne mapowanie DPT. Skonfiguruj każdy falownik jako osobne urządzenie Modbus z jego specyficznym dla producenta adresem IP, portem i identyfikatorem jednostki.
Konfiguracja Weinzierl 5010 dla falownika SolarEdge
Weinzierl KNX Modbus Gateway 5010 — ETS5/6 plug-in config: Device 1 — SolarEdge HD-Wave: IP: 192.168.1.50 Port: 1502 Unit ID: 1 Protocol: Modbus TCP Poll task 1 — AC Power: Register: 40082 (0-based = 40083 - 1) Type: int16, signed Scale: read register 40084 (SF), apply: value * 10^SF KNX GA: 6/0/1 DPT: 9.001 (2-byte float, kW — divide by 1000 in gateway) Poll interval: 10 seconds Poll task 2 — Battery SOC: Register: 0xE140 (SolarEdge proprietary, 0-based) Type: uint16 KNX GA: 6/0/3 DPT: 5.001 (1-byte %, 0-100) Poll interval: 60 seconds Poll task 3 — AC Energy lifetime: Registers: 40092-40093 (2 registers, uint32) Type: 32-bit unsigned integer, big-endian KNX GA: 6/0/4 DPT: 13.013 (4-byte signed, Wh) Poll interval: 300 seconds
Współczynniki skali – najczęstszy błąd integracji
SunSpec definiuje rejestry współczynników skali, które muszą być zastosowane do surowych wartości rejestrów. Współczynnik skali to liczba całkowita ze znakiem reprezentująca mnożnik potęgi 10. Nieużycie współczynnika skali powoduje błędy 10x lub 100x w wartościach mocy i energii – uruchomiony system będzie działał poprawnie, ale raportował nieprawidłowe dane.
Zastosowanie współczynnika skali – przykład mocy AC
Register 40083 raw value: 3500 (int16) Register 40085 SF value: -1 (int16) Actual AC power = 3500 * 10^(-1) = 350.0 W Without SF: gateway would report 3500W (10x error) With SF correctly applied: 350W (correct) Weinzierl 5010 auto-SF option: Enable "Read Scale Factor register" in poll task config Gateway reads SF register automatically, applies to value Outputs scaled float to KNX DPT 9.001 MDT SCN-MIG.01: Manually enter the SF value as a fixed divisor If SF is always -1 for your inverter: enter divisor 10 Not suitable if SF value changes dynamically Best practice: verify SF value with Modbus Poll tool first Read register 40085 — confirm it returns -1 or -2 Only then configure gateway with that fixed SF Most residential inverters have fixed SF values
Weryfikacja uruchomienia za pomocą Modbus Poll
Przed konfiguracją bramki KNX zweryfikuj połączenie Modbus TCP falownika i wartości rejestrów za pomocą Modbus Poll (darmowe oprogramowanie Windows). Ten krok wychwytuje błędy połączenia, portu, identyfikatora jednostki i adresu rejestru, zanim przenikną one do konfiguracji bramki KNX.
Kroki weryfikacji uruchomienia Modbus Poll
1. Open Modbus Poll → Connection → Connect Mode: Modbus TCP/IP IP: <inverter IP or Smart Dongle IP> Port: <brand-specific port from table above> Slave ID: <brand-specific unit ID> 2. Setup → Read/Write Definition: Function: 03 (Read Holding Registers) Start address: 40000 (0-based = reg 40001) Quantity: 130 (reads registers 40001-40130) Click OK 3. Verify register 40001-40002 contains SunSpec ID: Should read: 21843 and 28243 (0x5375 and 0x6E53) Confirms SunSpec-compliant device at this address 4. Find register 40083 — AC Power raw value Compare with inverter display ± 5W Read register 40085 for scale factor 5. Apply scale factor: raw * 10^SF = actual watts Verify result matches inverter LCD or app display 6. Only configure KNX gateway after confirming: - Correct IP, port, unit ID connects successfully - AC power register matches inverter display - Battery SOC register (40255 or brand-specific) is correct
Wskazówka odczytu rejestru uint32
Dla rejestrów 32-bitowych (energia AC, moc baterii) odczytaj 2 kolejne rejestry holding. Modbus Poll wyświetla je osobno — połącz: (reg_n * 65536) + reg_n+1 dla big-endian uint32. Większość bramek KNX obsługuje to automatycznie, gdy są skonfigurowane jako typ 32-bitowy.
Włączanie Modbus w falownikach
Większość falowników jest dostarczana z wyłączonym Modbus TCP ze względów bezpieczeństwa. Włącz go za pomocą aplikacji producenta lub lokalnego interfejsu WWW przed próbą połączenia. SolarEdge wymaga loginu instalatora w aplikacji SE installer. Fronius GEN24 włącza Modbus w lokalnym interfejsie WWW w Ustawieniach.
Potrzebujesz panelu słonecznego z integracją KNX Modbus wykonanego na zamówienie?
Projektujemy i budujemy niskonapięciowe rozdzielnice z bramkami Modbus TCP zweryfikowanymi przez SunSpec, mapowaniem DPT KNX dla mocy AC i stanu naładowania baterii oraz pełną dokumentacją uruchomieniową dostarczaną przetestowaną na miejscu.
Poproś o wycenę →