Solar · SunSpec · Modbus · KNX · Mapa de registros · 10 min de lectura

Mapa de registros SunSpec Modbus: Potencia CA, SOC de batería y energía en todas las marcas solares

SunSpec define un diseño estándar de registros Modbus para inversores solares, permitiendo que una única configuración de puerta de enlace KNX Modbus funcione en múltiples marcas. Saber qué registros contienen la potencia CA, el estado de carga de la batería y los totales de energía – y conocer las diferencias de puerto e ID de unidad específicas de cada marca – es la base de cualquier integración solar KNX.

SunSpec Alliance y el mapa de registros estándar

La SunSpec Alliance es un consorcio de fabricantes de la industria solar que define mapas de registros Modbus estándar. Cualquier inversor etiquetado como compatible con SunSpec utiliza las mismas direcciones de registro para las mediciones principales, independientemente de la marca. Esta estandarización simplifica drásticamente la configuración de la puerta de enlace KNX Modbus al integrar múltiples marcas de inversores en el mismo sitio.

El modelo base SunSpec comienza en el registro de retención Modbus 40001 (direccionamiento Modbus basado en 1) o en la dirección de registro 40000 (basado en 0). Este bloque contiene el nombre del fabricante, la cadena del modelo y la versión del firmware como texto ASCII — útil para verificar que el dispositivo correcto esté conectado durante la puesta en marcha.

Modelo SunSpec 103 — registros clave del inversor trifásico

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

Referencia de puerto e ID de unidad específica de la marca

Si bien SunSpec estandariza las direcciones de registro, el puerto TCP Modbus y el ID de unidad varían según la marca. El uso del puerto o ID de unidad incorrectos es la causa más común de fallo en la puesta en marcha de la puerta de enlace KNX. La siguiente tabla cubre las marcas más comunes instaladas en Alemania, Países Bajos y Benelux.

Marca / ModeloPuerto TCPID de unidadNotas
SolarEdge HD-Wave15021Habilitar en la aplicación SE: Comunicación → Modbus TCP
KOSTAL PLENTICORE150271Modbus TCP habilitado por defecto
Fronius GEN24 Plus5021Habilitar: Configuración → Modbus → TCP
GoodWe ES / ET502247ID de unidad predeterminado 247 — algunas versiones de FW usan 1
SMA Sunny Boy Storage5023Habilitar a través de SMA Sunny Portal → Modbus
Sungrow SH series5021Habilitar en la aplicación iSolarCloud o interfaz web local
Huawei SUN200066070Requiere Smart Dongle — NO puerto 502
Enphase IQ8 gateway80 (HTTP/JSON)N/AEnphase utiliza Envoy HTTP API, no Modbus

Huawei SUN2000 nota crítica: El Huawei SUN2000 utiliza el puerto 6607 (no el estándar 502) y el ID de unidad 0 (no 1). Este es el error de configuración más común al integrar inversores Huawei con pasarelas KNX. Verifique siempre con Modbus Poll antes de configurar la pasarela.

SunSpec Modelo 802 — registros de almacenamiento de batería

SunSpec Modelo 802 define registros estándar para sistemas de almacenamiento de batería. No todas las marcas de inversores implementan el Modelo 802 — consulte el manual del inversor o el escaneo de modelo SunSpec (comenzando en el registro 40001) para confirmar si el modelo de batería está presente. Si no, utilice los registros propietarios de la marca documentados a continuación.

SunSpec Modelo 802 — registros clave de almacenamiento de batería

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

Configuración de pasarela KNX Modbus

Weinzierl 5010 y MDT SCN-MIG.01 son las pasarelas KNX Modbus TCP más utilizadas en proyectos KNX europeos. Ambas admiten múltiples dispositivos Modbus y mapeo DPT flexible. Configure cada inversor como un dispositivo Modbus separado con su dirección IP, puerto e ID de unidad específicos de la marca.

Configuración de Weinzierl 5010 para inversor 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

Factores de escala – el error de integración más común

SunSpec define registros de factor de escala que deben aplicarse a los valores brutos de los registros. El factor de escala es un entero con signo que representa un multiplicador de potencia de 10. No aplicar el factor de escala causa errores de 10x o 100x en los valores de potencia y energía – un sistema puesto en servicio parecerá funcionar pero reportará datos incorrectos.

Aplicación del factor de escala – ejemplo de potencia CA

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

Verificación de puesta en servicio con Modbus Poll

Antes de configurar la pasarela KNX, verifique la conexión Modbus TCP del inversor y los valores de los registros usando Modbus Poll (software gratuito para Windows). Este paso detecta errores de conexión, puerto, ID de unidad y dirección de registro antes de que se propaguen a la configuración de la pasarela KNX.

Pasos de verificación de puesta en marcha de 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

Consejo de lectura de registro uint32

Para registros de 32 bits (energía CA, potencia de batería), lea 2 registros holding consecutivos. Modbus Poll los muestra por separado — combine: (reg_n * 65536) + reg_n+1 para uint32 big-endian. La mayoría de las puertas de enlace KNX lo manejan automáticamente cuando se configuran como tipo de 32 bits.

Habilitación de Modbus en inversores

La mayoría de los inversores se envían con Modbus TCP deshabilitado por seguridad. Habilítelo a través de la aplicación del fabricante o la interfaz web local antes de intentar la conexión. SolarEdge requiere el inicio de sesión del instalador en la aplicación SE installer. Fronius GEN24 habilita Modbus en la interfaz web local en Configuración.

¿Necesita un panel solar con integración KNX Modbus construido a medida?

Diseñamos y fabricamos cuadros de baja tensión con pasarelas Modbus TCP verificadas por SunSpec, mapeo DPT KNX para potencia CA y SOC de batería, y documentación de puesta en marcha completa entregada probada en su sitio.

Solicitar presupuesto →
Loading...
Back to top