InnerControl
CurrentModeControl
PowerSystems.CurrentModeControl — Type
mutable struct CurrentModeControl <: InnerControl
kpc::Float64
kic::Float64
kffv::Float64
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
endParameters of an inner loop proportional integral (PI) current control based on "Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters."
Arguments
kpc::Float64: Current controller proportional gain, validation range:(0, nothing)kic::Float64: Current controller integral gain, validation range:(0, nothing)kffv::Float64: Gain to enable feed-forward gain of voltage, validation range:(0, nothing)ext::Dict{String, Any}: (default:Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation.states::Vector{Symbol}: (Do not modify.) The states of the CurrentModeControl model are:
γd_ic: d-axis integrator state of the PI current controller,
γq_ic: q-axis integrator state of the PI current controllern_states::Int: (Do not modify.) CurrentControl has 2 states
PowerSystems.get_ext — Method
PowerSystems.get_kffv — Method
PowerSystems.get_kic — Method
PowerSystems.get_kpc — Method
PowerSystems.get_n_states — Method
PowerSystems.get_states — Method
PowerSystems.set_ext! — Method
PowerSystems.set_kffv! — Method
PowerSystems.set_kic! — Method
PowerSystems.set_kpc! — Method
RECurrentControlB
PowerSystems.RECurrentControlB — Type
mutable struct RECurrentControlB <: InnerControl
Q_Flag::Int
PQ_Flag::Int
Vdip_lim::MinMax
T_rv::Float64
dbd_pnts::Tuple{Float64, Float64}
K_qv::Float64
Iqinj_lim::MinMax
V_ref0::Float64
K_vp::Float64
K_vi::Float64
T_iq::Float64
I_max::Float64
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
endParameters of the Inner Control part of the REECB model in PSS/E
Arguments
Q_Flag::Int: Q Flag used for I_qinj, validation range:(0, 1)PQ_Flag::Int: PQ Flag used for the Current Limit Logic, validation range:(0, 1)Vdip_lim::MinMax: Limits for Voltage Dip Logic(Vdip, Vup)T_rv::Float64: Voltage Filter Time Constant, validation range:(0, nothing)dbd_pnts::Tuple{Float64, Float64}: Voltage error deadband thresholds(dbd1, dbd2)K_qv::Float64: Reactive current injection gain during over and undervoltage conditions, validation range:(0, nothing)Iqinj_lim::MinMax: Limits for Iqinj(I_qh1, I_ql1)V_ref0::Float64: User defined reference. If 0,PowerSimulationsDynamics.jlinitializes to initial terminal voltage, validation range:(0, nothing)K_vp::Float64: Voltage regulator proportional gain (used when QFlag = 1), validation range:(0, nothing)K_vi::Float64: Voltage regulator integral gain (used when QFlag = 1), validation range:(0, nothing)T_iq::Float64: Time constant for low-pass filter for state q_V when QFlag = 0, validation range:(0, nothing)I_max::Float64: Maximum limit on total converter current, validation range:(0, nothing)ext::Dict{String, Any}: (default:Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation.states::Vector{Symbol}: (Do not modify.) The states of the RECurrentControlB depends on the Flagsn_states::Int: (Do not modify.) The states of the RECurrentControlB depends on the Flags
PowerSystems.get_I_max — Method
PowerSystems.get_Iqinj_lim — Method
get_Iqinj_lim(
value::RECurrentControlB
) -> @NamedTuple{min::Float64, max::Float64}
Get RECurrentControlB Iqinj_lim.
PowerSystems.get_K_qv — Method
PowerSystems.get_K_vi — Method
PowerSystems.get_K_vp — Method
PowerSystems.get_PQ_Flag — Method
PowerSystems.get_Q_Flag — Method
PowerSystems.get_T_iq — Method
PowerSystems.get_T_rv — Method
PowerSystems.get_V_ref0 — Method
PowerSystems.get_Vdip_lim — Method
get_Vdip_lim(
value::RECurrentControlB
) -> @NamedTuple{min::Float64, max::Float64}
Get RECurrentControlB Vdip_lim.
PowerSystems.get_dbd_pnts — Method
get_dbd_pnts(
value::RECurrentControlB
) -> Tuple{Float64, Float64}
Get RECurrentControlB dbd_pnts.
PowerSystems.get_ext — Method
PowerSystems.get_n_states — Method
PowerSystems.get_states — Method
PowerSystems.set_I_max! — Method
PowerSystems.set_Iqinj_lim! — Method
PowerSystems.set_K_qv! — Method
PowerSystems.set_K_vi! — Method
PowerSystems.set_K_vp! — Method
PowerSystems.set_PQ_Flag! — Method
PowerSystems.set_Q_Flag! — Method
PowerSystems.set_T_iq! — Method
PowerSystems.set_T_rv! — Method
PowerSystems.set_V_ref0! — Method
PowerSystems.set_Vdip_lim! — Method
PowerSystems.set_dbd_pnts! — Method
PowerSystems.set_ext! — Method
VoltageModeControl
PowerSystems.VoltageModeControl — Type
mutable struct VoltageModeControl <: InnerControl
kpv::Float64
kiv::Float64
kffv::Float64
rv::Float64
lv::Float64
kpc::Float64
kic::Float64
kffi::Float64
ωad::Float64
kad::Float64
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
endParameters of an inner loop current control PID using virtual impedance based on "A Virtual Synchronous Machine implementation for distributed control of power converters in SmartGrids."
Arguments
kpv::Float64: voltage controller proportional gain, validation range:(0, nothing)kiv::Float64: voltage controller integral gain, validation range:(0, nothing)kffv::Float64: Binary variable to enable feed-forward gain of voltage, validation range:(0, nothing)rv::Float64: virtual resistance, validation range:(0, nothing)lv::Float64: virtual inductance, validation range:(0, nothing)kpc::Float64: current controller proportional gain, validation range:(0, nothing)kic::Float64: current controller integral gain, validation range:(0, nothing)kffi::Float64: Binary variable to enable feed-forward gain of current, validation range:(0, nothing)ωad::Float64: active damping filter cutoff frequency (rad/sec), validation range:(0, nothing)kad::Float64: active damping gain, validation range:(0, nothing)ext::Dict{String, Any}: (default:Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation.states::Vector{Symbol}: (Do not modify.) The states of the VoltageModeControl model are:
ξd_ic: d-axis integrator state of the PI voltage controller,
ξq_ic: q-axis integrator state of the PI voltage controller,
γd_ic: d-axis integrator state of the PI current controller,
γq_ic: q-axis integrator state of the PI current controller,
ϕd_ic: d-axis low-pass filter of active damping,
ϕq_ic: q-axis low-pass filter of active dampingn_states::Int: (Do not modify.) VoltageModeControl has 6 states