SunSpec SunSpec Model 704 — DER AC Controls Modbus TCP template

SunSpec Model 704 — DER AC Controls

SunSpec Model 704 DER AC Controls is a standardized Modbus TCP information model defined by the SunSpec Alliance for controlling distributed energy resources such as inverters and battery storage systems. Part of the IEEE 1547-2018 aligned 700-series, it exposes power factor setpoints for injection and absorption modes, active power setpoints and percentage limits with reversion timers, reactive power setpoints and ramp rates, and an anti-islanding enable flag. Scale factor registers accompany each control group. The template lets you monitor enable states and remaining reversion times, and write setpoints from the ModbusCloud portal without opening a device web interface.

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

Registers (45)

45 read, 32 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
idRead
lRead
pfwinjenaRead and write
pfwinjenarvrtRead and write
pfwinjrvrttmsSecsRead and write
pfwinjrvrtremSecsRead
pfwabsenaRead and write
pfwabsenarvrtRead and write
pfwabsrvrttmsSecsRead and write
pfwabsrvrtremSecsRead
wmaxlimpctenaRead and write
wmaxlimpctPctRead and write
wmaxlimpctrvrtPctRead and write
wmaxlimpctenarvrtRead and write
wmaxlimpctrvrttmsSecsRead and write
wmaxlimpctrvrtremSecsRead
wsetenaRead and write
wsetmodRead and write
wsetWRead and write
wsetrvrtWRead and write
wsetpctPctRead and write
wsetpctrvrtPctRead and write
wsetenarvrtRead and write
wsetrvrttmsSecsRead and write
wsetrvrtremSecsRead
varsetenaRead and write
varsetmodRead and write
varsetpriRead and write
varsetVarRead and write
varsetrvrtVarRead and write
varsetpctPctRead and write
varsetpctrvrtPctRead and write
varsetenarvrtRead and write
varsetrvrttmsSecsRead and write
varsetrvrtremSecsRead
wrmp%Max/SecRead and write
wrmprefRead and write
varrmp%Max/SecRead and write
antiislenaRead and write
pf_sfRead
wmaxlimpct_sfRead
wset_sfRead
wsetpct_sfRead
varset_sfRead
varsetpct_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

  • Monitor WMaxLimPct and its enable flag to verify active power curtailment is applied at the expected percentage.
  • Track remaining reversion timer registers to confirm setpoints revert correctly after a scheduled control window ends.
  • Alert on WSet or WSetPct changes to detect unauthorized or unintended active power setpoint overwrites across sites.
  • Compare VarSet and VarSetPct enable states across multiple DER units to verify uniform reactive power dispatch.
  • Verify anti-islanding enable flag status after firmware updates to confirm protection has not been silently disabled.

Installation

  1. Enable Modbus TCP on the target DER device under its communication or network settings, and note the assigned IP address and TCP port (default 502 for most SunSpec devices).

  2. Connect the DER device and the ModbusCloud Gateway to the same LAN segment, confirming no firewall rules block TCP port 502 between them.

  3. In the ModbusCloud portal, add your Gateway, create a new device, import this SunSpec Model 704 template, and set the correct Modbus unit ID matching the device configuration.

  4. Spot-check the id register (address 0): a returned value of 704 confirms the model block is correctly located and communication is working.

Things to watch for

Why do WMaxLimPct or WSet have no effect on the device?

Each control group has a dedicated enable register. If WMaxLimPctEna or WSetEna is set to 0, the DER stores the setpoint value but does not apply it. Write 1 to the relevant enable register to activate the control. Once enabled, subsequent setpoint changes take effect without re-writing the enable register.

Reversion timer registers show zero. Is the control stuck?

A reversion timeout of zero means the setpoint persists indefinitely until changed manually. The remaining-time registers will read zero in this state. Set a non-zero value in the RvrtTms register before enabling the control if you want automatic reversion to the fallback setpoint after a fixed period.

The Gateway connects but all register reads return errors or NaN.

SunSpec model blocks are located at a dynamic offset within the holding register space, not at a fixed absolute address. Confirm the absolute base address of the Model 704 block on your specific device by scanning from the SunSpec SunS identifier at register 40001. The addresses in this template are model-relative offsets.

Is it safe to write WSet or VarSet repeatedly from automation scripts?

Writing setpoints outside the device's rated range can trigger protection limits or trip the DER offline. Always verify the device nameplate ratings via the Model 120 registers before writing. Avoid rapid cyclic writes to non-volatile configuration registers, as some implementations store settings to flash memory and excessive writes can cause premature wear.

Want to see how it works?

Electrician working in an open distribution board