SunSpec SunSpec Model 128 — Dynamic Reactive Current Modbus TCP template

SunSpec Model 128 — Dynamic Reactive Current

SunSpec Model 128 is a standardised inverter control block that governs dynamic reactive current injection in grid-connected PV and storage inverters. The template reads and writes the full set of 15 registers defined by the SunSpec Alliance specification over Modbus TCP, covering reactive current gradients for voltage sag and swell, deadband boundaries, blocking-zone parameters, filter time constant, and the module enable flag. Applied through the ModbusCloud Gateway, it lets integrators monitor live configuration state and push grid-support setpoints to any SunSpec-compliant inverter from a single portal.

Protocol
Modbus TCP
Connection
Ethernet, Modbus TCP
Registers
15, read and write
Brand
SunSpec
Last updated

Registers (15)

15 read, 11 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
idRead
lRead
argramodRead and write
argrasag%ARtg/%dVRead and write
argraswell%ARtg/%dVRead and write
modenaRead and write
filtmsSecsRead and write
dbvmin% VRefRead and write
dbvmax% VRefRead and write
blkznv% VRefRead and write
hysblkznv% VRefRead and write
blkzntmmsmSecsRead and write
holdtmmsmSecsRead and write
argra_sfRead
vrefpct_sfRead

Loading registers…

Send your device list

If a device is not in the library yet, we build the template for free as soon as we have the register data.

Use cases

  • Verify that the dynamic reactive current function is enabled on each inverter after commissioning a new site.
  • Monitor the sag and swell gradient setpoints across a multi-inverter fleet to confirm uniform grid-support configuration.
  • Alert on unintended changes to the deadband boundaries that could cause the inverter to breach local grid-code requirements.
  • Track the filter time constant setting over time to detect firmware updates or controller resets that silently restore factory defaults.
  • Compare blocking-zone voltage and hold-time parameters across sites to audit compliance with utility interconnection agreements.

Installation

  1. Enable Modbus TCP on the target inverter through its web interface or commissioning tool, under the network or communication section, and note the assigned IP address and port (default 502).

  2. Connect the inverter and the ModbusCloud Gateway to the same LAN segment, ensuring no firewall blocks port 502 between them.

  3. In the ModbusCloud portal, add a new device, import the SunSpec Model 128 template, and set the unit ID to match the inverter's configured Modbus unit ID.

  4. Perform a spot-check by reading register address 0 (id) and confirming the returned value is 128, then read register 5 (modena) to verify the enable state matches your expectation.

Things to watch for

Register address 0 returns an unexpected value. What is wrong?

Model 128 is part of a chained SunSpec block. Its absolute Modbus address depends on where it is placed in the device's model chain, not on address 0 of the device. Use SunSpec auto-discovery or consult the device's allocation table to find the correct base address before reading relative offsets.

The modena flag is set but the inverter injects no reactive current. Why?

The function will not activate if the voltage deviation stays inside the deadband defined by DbVMin and DbVMax. Confirm those boundaries are set to non-zero values appropriate for your grid voltage, and check that the blocking-zone voltage BlkZnV is not masking the response.

Gradient values read back as unexpectedly large or small numbers.

ArGraSag and ArGraSwell are scaled integers. Divide the raw register value by 10 raised to the power of the argra_sf register (a signed int16 that may be negative). Always read argra_sf in the same poll cycle and apply it before interpreting the gradient registers.

Writing a new gradient setpoint had no visible effect on the inverter.

Several SunSpec-compliant inverters treat Model 128 registers as read-only or require a separate activation sequence. Verify that modena (address 5) is set to the ENABLED bit value, that the inverter firmware supports write access to this model, and that no higher-priority control mode is overriding the setting. Writing incorrect gradient values can also push the inverter outside permissible grid-code limits, so validate setpoints before applying them to live plant.

Want to see how it works?

Electrician working in an open distribution board