hermess.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.
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 hermess.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: hermess.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:
dae (hermess.system.Dae)
- abstract finit_sequential(host, dae: hermess.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; each voltage law declares its own resolution.- Parameters:
dae (hermess.system.Dae)
Qc (numpy.ndarray)
Vcd (numpy.ndarray)
- Return type:
Dict[str, numpy.ndarray]
- class hermess.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.- fgcall(host, dae: hermess.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:
dae (hermess.system.Dae)
- finit_sequential(host, dae: hermess.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; each voltage law declares its own resolution.- Parameters:
dae (hermess.system.Dae)
Qc (numpy.ndarray)
Vcd (numpy.ndarray)
- Return type:
Dict[str, numpy.ndarray]
- hermess.devices.inverter_voltage.VOLTAGE_REGISTRY: Dict[str, type]