InnerControl
CurrentModeControl
PowerSystems.CurrentModeControl — Typemutable 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, such as latitude and longitude.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 — Methodget_ext(value::CurrentModeControl) -> Dict{String, Any}
Get CurrentModeControl ext.
PowerSystems.get_kffv — Methodget_kffv(value::CurrentModeControl) -> Float64
Get CurrentModeControl kffv.
PowerSystems.get_kic — Methodget_kic(value::CurrentModeControl) -> Float64
Get CurrentModeControl kic.
PowerSystems.get_kpc — Methodget_kpc(value::CurrentModeControl) -> Float64
Get CurrentModeControl kpc.
PowerSystems.get_n_states — Methodget_n_states(value::CurrentModeControl) -> Int64
Get CurrentModeControl n_states.
PowerSystems.get_states — Methodget_states(value::CurrentModeControl) -> Vector{Symbol}
Get CurrentModeControl states.
PowerSystems.set_ext! — Methodset_ext!(value::CurrentModeControl, val) -> Any
Set CurrentModeControl ext.
PowerSystems.set_kffv! — Methodset_kffv!(value::CurrentModeControl, val) -> Any
Set CurrentModeControl kffv.
PowerSystems.set_kic! — Methodset_kic!(value::CurrentModeControl, val) -> Any
Set CurrentModeControl kic.
PowerSystems.set_kpc! — Methodset_kpc!(value::CurrentModeControl, val) -> Any
Set CurrentModeControl kpc.
RECurrentControlB
PowerSystems.RECurrentControlB — Typemutable 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, such as latitude and longitude.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 — Methodget_I_max(value::RECurrentControlB) -> Float64
Get RECurrentControlB I_max.
PowerSystems.get_Iqinj_lim — Methodget_Iqinj_lim(
value::RECurrentControlB
) -> @NamedTuple{min::Float64, max::Float64}
Get RECurrentControlB Iqinj_lim.
PowerSystems.get_K_qv — Methodget_K_qv(value::RECurrentControlB) -> Float64
Get RECurrentControlB K_qv.
PowerSystems.get_K_vi — Methodget_K_vi(value::RECurrentControlB) -> Float64
Get RECurrentControlB K_vi.
PowerSystems.get_K_vp — Methodget_K_vp(value::RECurrentControlB) -> Float64
Get RECurrentControlB K_vp.
PowerSystems.get_PQ_Flag — Methodget_PQ_Flag(value::RECurrentControlB) -> Int64
Get RECurrentControlB PQ_Flag.
PowerSystems.get_Q_Flag — Methodget_Q_Flag(value::RECurrentControlB) -> Int64
Get RECurrentControlB Q_Flag.
PowerSystems.get_T_iq — Methodget_T_iq(value::RECurrentControlB) -> Float64
Get RECurrentControlB T_iq.
PowerSystems.get_T_rv — Methodget_T_rv(value::RECurrentControlB) -> Float64
Get RECurrentControlB T_rv.
PowerSystems.get_V_ref0 — Methodget_V_ref0(value::RECurrentControlB) -> Float64
Get RECurrentControlB V_ref0.
PowerSystems.get_Vdip_lim — Methodget_Vdip_lim(
value::RECurrentControlB
) -> @NamedTuple{min::Float64, max::Float64}
Get RECurrentControlB Vdip_lim.
PowerSystems.get_dbd_pnts — Methodget_dbd_pnts(
value::RECurrentControlB
) -> Tuple{Float64, Float64}
Get RECurrentControlB dbd_pnts.
PowerSystems.get_ext — Methodget_ext(value::RECurrentControlB) -> Dict{String, Any}
Get RECurrentControlB ext.
PowerSystems.get_n_states — Methodget_n_states(value::RECurrentControlB) -> Int64
Get RECurrentControlB n_states.
PowerSystems.get_states — Methodget_states(value::RECurrentControlB) -> Vector{Symbol}
Get RECurrentControlB states.
PowerSystems.set_I_max! — Methodset_I_max!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB I_max.
PowerSystems.set_Iqinj_lim! — Methodset_Iqinj_lim!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB Iqinj_lim.
PowerSystems.set_K_qv! — Methodset_K_qv!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB K_qv.
PowerSystems.set_K_vi! — Methodset_K_vi!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB K_vi.
PowerSystems.set_K_vp! — Methodset_K_vp!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB K_vp.
PowerSystems.set_PQ_Flag! — Methodset_PQ_Flag!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB PQ_Flag.
PowerSystems.set_Q_Flag! — Methodset_Q_Flag!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB Q_Flag.
PowerSystems.set_T_iq! — Methodset_T_iq!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB T_iq.
PowerSystems.set_T_rv! — Methodset_T_rv!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB T_rv.
PowerSystems.set_V_ref0! — Methodset_V_ref0!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB V_ref0.
PowerSystems.set_Vdip_lim! — Methodset_Vdip_lim!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB Vdip_lim.
PowerSystems.set_dbd_pnts! — Methodset_dbd_pnts!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB dbd_pnts.
PowerSystems.set_ext! — Methodset_ext!(value::RECurrentControlB, val) -> Any
Set RECurrentControlB ext.
VoltageModeControl
PowerSystems.VoltageModeControl — Typemutable 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, such as latitude and longitude.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
PowerSystems.get_ext — Methodget_ext(value::VoltageModeControl) -> Dict{String, Any}
Get VoltageModeControl ext.
PowerSystems.get_kad — Methodget_kad(value::VoltageModeControl) -> Float64
Get VoltageModeControl kad.
PowerSystems.get_kffi — Methodget_kffi(value::VoltageModeControl) -> Float64
Get VoltageModeControl kffi.
PowerSystems.get_kffv — Methodget_kffv(value::VoltageModeControl) -> Float64
Get VoltageModeControl kffv.
PowerSystems.get_kic — Methodget_kic(value::VoltageModeControl) -> Float64
Get VoltageModeControl kic.
PowerSystems.get_kiv — Methodget_kiv(value::VoltageModeControl) -> Float64
Get VoltageModeControl kiv.
PowerSystems.get_kpc — Methodget_kpc(value::VoltageModeControl) -> Float64
Get VoltageModeControl kpc.
PowerSystems.get_kpv — Methodget_kpv(value::VoltageModeControl) -> Float64
Get VoltageModeControl kpv.
PowerSystems.get_lv — Methodget_lv(value::VoltageModeControl) -> Float64
Get VoltageModeControl lv.
PowerSystems.get_n_states — Methodget_n_states(value::VoltageModeControl) -> Int64
Get VoltageModeControl n_states.
PowerSystems.get_rv — Methodget_rv(value::VoltageModeControl) -> Float64
Get VoltageModeControl rv.
PowerSystems.get_states — Methodget_states(value::VoltageModeControl) -> Vector{Symbol}
Get VoltageModeControl states.
PowerSystems.get_ωad — Methodget_ωad(value::VoltageModeControl) -> Float64
Get VoltageModeControl ωad.
PowerSystems.set_ext! — Methodset_ext!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl ext.
PowerSystems.set_kad! — Methodset_kad!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl kad.
PowerSystems.set_kffi! — Methodset_kffi!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl kffi.
PowerSystems.set_kffv! — Methodset_kffv!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl kffv.
PowerSystems.set_kic! — Methodset_kic!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl kic.
PowerSystems.set_kiv! — Methodset_kiv!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl kiv.
PowerSystems.set_kpc! — Methodset_kpc!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl kpc.
PowerSystems.set_kpv! — Methodset_kpv!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl kpv.
PowerSystems.set_lv! — Methodset_lv!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl lv.
PowerSystems.set_rv! — Methodset_rv!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl rv.
PowerSystems.set_ωad! — Methodset_ωad!(value::VoltageModeControl, val) -> Any
Set VoltageModeControl ωad.