
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
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| id | Read | ||||
| l | Read | ||||
| argramod | Read and write | ||||
| argrasag | %ARtg/%dV | Read and write | |||
| argraswell | %ARtg/%dV | Read and write | |||
| modena | Read and write | ||||
| filtms | Secs | Read and write | |||
| dbvmin | % VRef | Read and write | |||
| dbvmax | % VRef | Read and write | |||
| blkznv | % VRef | Read and write | |||
| hysblkznv | % VRef | Read and write | |||
| blkzntmms | mSecs | Read and write | |||
| holdtmms | mSecs | Read and write | |||
| argra_sf | Read | ||||
| vrefpct_sf | Read |
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
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).
Connect the inverter and the ModbusCloud Gateway to the same LAN segment, ensuring no firewall blocks port 502 between them.
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.
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.
Knowledge base articles for this device

SunSpec Modbus: one register map for many inverters
SunSpec Modbus is the open register map SMA, Fronius, SolarEdge and Kostal share. The layout, int+SF vs float, the TCP port per brand and reading a mixed fleet.
Fronius Modbus: read a Symo GEN24 over Modbus TCP
Fronius Modbus explained: enable Modbus TCP on the Symo GEN24 on port 502, choose between int+SF and float, read the right SunSpec registers and scale them correctly. Practical guide for solar installers.
SMA Modbus: reading a Sunny Boy over Modbus TCP (installers)
SMA Modbus explained: enable the Modbus TCP server on port 502, choose between the SMA profile (unit ID 3) and SunSpec (unit ID 126), read the right registers, and handle the NaN values at night. Practical guide for installers.
Want to see how it works?








