pydynamicestimator.devices.inverter_voltage
Inverter outer voltage-control strategies (the reactive / voltage side).
The voltage controller is the AVR-analogue of the converter: it turns the
reactive-power / voltage setpoints into the voltage-magnitude reference Vcd
that the inner control ladder regulates the capacitor voltage to. It owns the
reactive-power measurement state Qc_tilde and the Qref / Vref
setpoints. See docs/inverter_modernization_design.md §4.
NOTE (Phase 2 boundary, same as the angle source): the strategy owns the
Qc_tilde state but the host writes its measurement-filter equation
d Qc_tilde/dt = omega_f (Qc - Qc_tilde) because Qc comes from the shared
Park-transform loop in Inverter.fgcall.
Attributes
Classes
Abstract base class for inverter outer voltage-control strategies. |
|
Reactive-power / voltage droop: |
Module Contents
- class pydynamicestimator.devices.inverter_voltage.VoltageControl[source]
Bases:
abc.ABCAbstract base class for inverter outer voltage-control strategies.
Must expose the voltage-magnitude reference:
fgcall()returns theVcdvector consumed by the inner control ladder (host-mediated viahost.voltage_command). Reads host params/states/setpoints by attribute.- abstract fgcall(host, dae: pydynamicestimator.system.Dae)[source]
Publish the voltage-magnitude reference on
host.Vcd(read by the inner controller viahost.voltage_command(dae)). The host writes theQc_tildemeasurement-filter equation (Qcis host-computed).- Parameters:
- abstract finit_sequential(host, dae: pydynamicestimator.system.Dae, Qc: numpy.ndarray, Vcd: numpy.ndarray) Dict[str, numpy.ndarray][source]
Resolve the voltage controller’s states/setpoints from the (frame-invariant) reactive power
Qcand the inner controller’s voltage commandVcd. This is where the Q-V gauge lives. The base raises so a new voltage law declares its own resolution.- Parameters:
Qc (numpy.ndarray)
Vcd (numpy.ndarray)
- Return type:
Dict[str, numpy.ndarray]
- class pydynamicestimator.devices.inverter_voltage.QVDroop[source]
Bases:
VoltageControlReactive-power / voltage droop:
Vcd = Vref + Kq (Qref - Qc_tilde).Owns the filtered reactive-power state
Qc_tilde, the droop gainKqand theQref/Vrefsetpoints. Byte-identical to the previously inlined voltage reference.- fgcall(host, dae: pydynamicestimator.system.Dae)[source]
Publish the voltage-magnitude reference on
host.Vcd(read by the inner controller viahost.voltage_command(dae)). The host writes theQc_tildemeasurement-filter equation (Qcis host-computed).- Parameters:
- finit_sequential(host, dae: pydynamicestimator.system.Dae, Qc: numpy.ndarray, Vcd: numpy.ndarray) Dict[str, numpy.ndarray][source]
Resolve the voltage controller’s states/setpoints from the (frame-invariant) reactive power
Qcand the inner controller’s voltage commandVcd. This is where the Q-V gauge lives. The base raises so a new voltage law declares its own resolution.- Parameters:
Qc (numpy.ndarray)
Vcd (numpy.ndarray)
- Return type:
Dict[str, numpy.ndarray]
- pydynamicestimator.devices.inverter_voltage.VOLTAGE_REGISTRY: Dict[str, type]