PV Inverters¶
DERSim emulates single-phase, split-phase, and three-phase photovoltaic inverters with full SunSpec 700-series compliance. The DC-side I-V curve is sampled each tick from the array's irradiance and cell temperature, so MPPT-tracking inverters exercise the curve realistically — including partial-shading scenarios where the curve develops a secondary maximum.
Starting a PV inverter¶
Three phase variants are bundled. Pick the matching one with
-d / --device_type:
./sim --device_type PV-3Phase # three-phase, alias 'PV'
./sim --device_type PV-2Phase # split-phase (residential US)
./sim --device_type PV-1Phase # single-phase (residential EU / RoW)
The default sizing is a 10 kW array; nameplate ratings come from
the bundled profile and can be overridden via a JSON nameplate file
(-f). See Simulation Inputs — JSON nameplate format
for the full point-by-point reference.
DC-side physics¶
The DC-side model is irradiance-driven:
- I-V curve — EN50530-style curve parameterised by
714.Prt[0].DCW(Pmp at standard conditions) and714.Prt[0].DCV(Vmp). The curve is sampled each tick from the active irradiance + cell temperature. - MPP tracking — the simulator's internal inverter walks the curve to find Pmp; external MPPT-aware test harnesses see a realistic operating point that responds to irradiance changes on the DC IV curve view.
- Cell temperature — first-order thermal model. Rises above ambient with sustained MPP operation, reduces open-circuit voltage at high temperature.
- Irradiance — driven from the bundled
irradiance.csvor any custom CSV via--dc_profile(see Simulation Inputs — DC source profile).
Profile variants¶
The bundled 10kW-3Phase.json profile sets a residential array. A
500kW-3Phase.json profile is also bundled for commercial /
utility-scale tests. Either can be selected via -f:
./sim -f profiles/10kW-3Phase.json
./sim -f profiles/500kW-3Phase.json
For custom nameplates (different rated kW, different SunSpec register set, different initial energy registers), copy a bundled profile and modify it — see Simulation Inputs — JSON nameplate format.
SunSpec model exposure¶
PV inverters populate the same general DER SunSpec model set every other device type uses:
| Model | Purpose | Notes |
|---|---|---|
1 |
Common | Manufacturer, model, serial number |
701 |
Nameplate + live AC measurements | W, Var, VA, V, A, Hz, PF, plus energy registers |
702 |
Settings + ratings | WMax, VAMax, VAR limits |
703 |
Enter Service | Service state, voltage / frequency thresholds |
704 |
Fixed Power Factor | PF setpoint when fixed-PF mode is active |
705 |
Volt-Var | Curve points |
706 |
Volt-Watt | Curve points |
711 |
Frequency-Droop | Deadband + slope |
712 |
Watt-Var | Curve points |
714 |
DC-side input | One port with PrtTyp = 0 (PV) — DC voltage, current, power, energy |
The DC-side I-V curve is available as JSON via /api/dersim/dc-iv
for programmatic MPPT-validation harnesses; see
DC I-V curve.
Grid-support modes¶
Every grid-support mode that applies to a generic DER applies to the PV inverter without modification — see the Power Simulation chapters for the individual mode references:
- Power Factor — fixed PF mode (Model 704)
- Volt-Var — V → Q curve (Model 705)
- Volt-Watt — V → P curve (Model 706)
- Watt-Var — W → Q curve (Model 712)
- Frequency-Droop — Hz → P curve (Model 711)
Dashboard view¶
The dashboard's overview page renders the live AC delivery, PV operating point, and IV curve all on one page. The Analytics view adds time-series plotting across a configurable window — useful for replaying an irradiance event and seeing how the inverter responded.
Cross-references¶
- SunSpec Modbus Server — register access
- IEEE 2030.5 Client — CSIP DERControl schedules applied to the inverter
- REST + WebSocket API — REST control surface
- Simulation Inputs — irradiance
- grid environment + nameplate JSON
- DC I-V curve — MPPT-validation tooling