Солнечные · SunSpec · Modbus · KNX · Карта регистров · 10 мин чтения

Карта регистров SunSpec Modbus: AC мощность, SOC батареи и энергия для разных брендов солнечных инверторов

SunSpec определяет стандартную карту регистров Modbus для солнечных инверторов, что позволяет использовать одну конфигурацию шлюза KNX Modbus для работы с разными брендами. Понимание того, какие регистры содержат AC мощность, состояние заряда батареи и общую энергию, а также знание различий в портах и Unit ID для каждого бренда — основа любой интеграции солнечных инверторов с KNX.

SunSpec Alliance и стандартная карта регистров

SunSpec Alliance — это консорциум производителей солнечной отрасли, определяющий стандартные карты регистров Modbus. Любой инвертор с маркировкой SunSpec-compliant использует одни и те же адреса регистров для основных измерений, независимо от бренда. Эта стандартизация значительно упрощает настройку шлюза KNX Modbus при интеграции нескольких брендов инверторов на одном объекте.

Базовая модель SunSpec начинается с Modbus holding register 40001 (1-базовая адресация Modbus) или адреса регистра 40000 (0-базовая). Этот блок содержит название производителя, строку модели и версию прошивки в виде ASCII-текста — полезно для проверки правильности подключения устройства при вводе в эксплуатацию.

Модель SunSpec 103 — ключевые регистры трехфазного инвертора

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=Standby

Справочник портов и Unit ID по брендам

Хотя SunSpec стандартизирует адреса регистров, порт Modbus TCP и Unit ID различаются в зависимости от бренда. Использование неправильного порта или Unit ID — самая частая причина неудачной настройки шлюза KNX. Таблица ниже охватывает наиболее распространенные бренды, устанавливаемые в Германии, Нидерландах и Бенилюксе.

Бренд / МодельTCP портUnit IDПримечания
SolarEdge HD-Wave15021Включить в приложении SE: Communication → Modbus TCP
KOSTAL PLENTICORE150271Modbus TCP включен по умолчанию
Fronius GEN24 Plus5021Включение: Настройки → Modbus → TCP
GoodWe ES / ET502247ID устройства по умолчанию 247 — в некоторых версиях прошивки используется 1
SMA Sunny Boy Storage5023Включение через SMA Sunny Portal → Modbus
Sungrow SH series5021Включение в приложении iSolarCloud или локальном веб-интерфейсе
Huawei SUN200066070Требуется Smart Dongle — НЕ порт 502
Шлюз Enphase IQ880 (HTTP/JSON)Н/ДEnphase использует HTTP API Envoy, а не Modbus

Важное примечание по Huawei SUN2000: Huawei SUN2000 использует порт 6607 (не стандартный 502) и ID устройства 0 (не 1). Это самая распространенная ошибка конфигурации при интеграции инверторов Huawei с KNX-шлюзами. Всегда проверяйте с помощью Modbus Poll перед настройкой шлюза.

SunSpec Model 802 — регистры аккумуляторных накопителей

SunSpec Model 802 определяет стандартные регистры для систем аккумуляторного хранения. Не все бренды инверторов реализуют Model 802 — проверьте руководство по инвертору или сканирование моделей SunSpec (начиная с регистра 40001), чтобы подтвердить наличие модели батареи. Если нет, используйте фирменные регистры бренда, описанные ниже.

SunSpec Model 802 — ключевые регистры аккумуляторных накопителей

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 registers

Конфигурация KNX Modbus шлюза

Weinzierl 5010 и MDT SCN-MIG.01 — наиболее часто используемые KNX Modbus TCP шлюзы в европейских KNX-проектах. Оба поддерживают несколько Modbus-устройств и гибкое сопоставление DPT. Настройте каждый инвертор как отдельное Modbus-устройство с его фирменным IP-адресом, портом и ID устройства.

Конфигурация Weinzierl 5010 для инвертора 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

Масштабные коэффициенты — самая распространенная ошибка интеграции

SunSpec определяет регистры масштабного коэффициента, которые должны применяться к сырым значениям регистров. Масштабный коэффициент — это целое число со знаком, представляющее множитель степени 10. Неприменение масштабного коэффициента приводит к ошибкам в 10 или 100 раз в значениях мощности и энергии — введенная в эксплуатацию система будет работать, но передавать неверные данные.

Применение масштабного коэффициента — пример для мощности переменного тока

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

Проверка ввода в эксплуатацию с помощью Modbus Poll

Перед настройкой шлюза KNX проверьте Modbus TCP-соединение инвертора и значения регистров с помощью Modbus Poll (бесплатное ПО для Windows). Этот шаг выявляет ошибки соединения, порта, ID устройства и адреса регистра до того, как они перейдут в конфигурацию шлюза KNX.

Шаги проверки ввода в эксплуатацию с 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

Совет по чтению 32-битных регистров

Для 32-битных регистров (энергия переменного тока, мощность батареи) читайте 2 последовательных регистра хранения. Modbus Poll отображает их отдельно — объедините: (reg_n * 65536) + reg_n+1 для uint32 с прямым порядком байт. Большинство шлюзов KNX обрабатывают это автоматически при настройке как 32-битный тип.

Включение Modbus на инверторах

Большинство инверторов поставляются с отключенным Modbus TCP для безопасности. Включите через приложение производителя или локальный веб-интерфейс перед попыткой подключения. SolarEdge требует установщика в приложении SE installer. Fronius GEN24 включает Modbus в локальном веб-интерфейсе в разделе Settings.

Нужна солнечная панель с интеграцией KNX Modbus, изготовленная по спецификации?

Мы проектируем и изготавливаем низковольтные щиты со шлюзами Modbus TCP, проверенными по SunSpec, отображением DPT KNX для мощности переменного тока и SOC батареи, а также полной документацией по вводу в эксплуатацию, протестированной на вашем объекте.

Запросить расчёт →
Loading...
Back to top