InnerControl
CurrentModeControl
PowerSystems.CurrentModeControl
— Typemutable struct CurrentModeControl <: InnerControl
kpc::Float64
kic::Float64
kffv::Float64
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
end
Parameters 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 controller
n_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
end
Parameters 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.jl
initializes 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
end
Parameters 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 damping
n_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
.