OuterControl
The outer control is composed by the ReactivePowerControl and the ActivePowerControl types.
PowerSystems.OuterControl
— Typemutable struct OuterControl{
A <: ActivePowerControl,
R <: ReactivePowerControl
} <: DynamicInverterComponent
active_power::A
reactive_power::R
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
end
Parameters of a Outer-Loop controller using a active power controller and a reactive power droop controller.
Arguments
A <: ActivePowerControl
: Active power controller (typically droop or virtual inertia).R <: ReactivePowerControl
: Reactive power controller (typically droop).ext::Dict{String, Any}
states::Vector{Symbol}
: Vector of states (will depend on the components).n_states::Int
: Number of states (will depend on the components).
Virtual Inertia
PowerSystems.VirtualInertia
— Typemutable struct VirtualInertia <: ActivePowerControl
Ta::Float64
kd::Float64
kω::Float64
P_ref::Float64
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
end
Parameters of a Virtual Inertia with SRF using VSM for active power controller
Arguments
Ta::Float64
: VSM inertia constant, validation range:(0, nothing)
kd::Float64
: VSM damping constant, validation range:(0, nothing)
kω::Float64
: frequency droop gain, validation range:(0, nothing)
P_ref::Float64
: Reference Power Set-point, validation range:(0, nothing)
ext::Dict{String, Any}
states::Vector{Symbol}
: The states of the VirtualInertia model are:
ω_oc: Speed of the rotating reference frame of the virtual synchronous generator model,
θ_oc: Phase angle displacement of the virtual synchronous generator model
n_states::Int
: VirtualInertia has two states
PowerSystems.get_P_ref
— Methodget_P_ref(value::VirtualInertia) -> Float64
Get VirtualInertia
P_ref
.
PowerSystems.get_Ta
— Methodget_Ta(value::VirtualInertia) -> Float64
Get VirtualInertia
Ta
.
PowerSystems.get_ext
— Methodget_ext(value::VirtualInertia) -> Dict{String, Any}
Get VirtualInertia
ext
.
PowerSystems.get_kd
— Methodget_kd(value::VirtualInertia) -> Float64
Get VirtualInertia
kd
.
PowerSystems.get_kω
— Methodget_kω(value::VirtualInertia) -> Float64
Get VirtualInertia
kω
.
PowerSystems.get_n_states
— Methodget_n_states(value::VirtualInertia) -> Int64
Get VirtualInertia
n_states
.
PowerSystems.get_states
— Methodget_states(value::VirtualInertia) -> Vector{Symbol}
Get VirtualInertia
states
.
PowerSystems.set_P_ref!
— Methodset_P_ref!(value::VirtualInertia, val) -> Any
Set VirtualInertia
P_ref
.
PowerSystems.set_Ta!
— Methodset_Ta!(value::VirtualInertia, val) -> Any
Set VirtualInertia
Ta
.
PowerSystems.set_ext!
— Methodset_ext!(value::VirtualInertia, val) -> Any
Set VirtualInertia
ext
.
PowerSystems.set_kd!
— Methodset_kd!(value::VirtualInertia, val) -> Any
Set VirtualInertia
kd
.
PowerSystems.set_kω!
— Methodset_kω!(value::VirtualInertia, val) -> Any
Set VirtualInertia
kω
.
Reactive Power Droop
PowerSystems.ReactivePowerDroop
— Typemutable struct ReactivePowerDroop <: ReactivePowerControl
kq::Float64
ωf::Float64
V_ref::Float64
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
end
Parameters of a Reactive Power droop controller
Arguments
kq::Float64
: frequency droop gain, validation range:(0, nothing)
ωf::Float64
: filter frequency cutoff, validation range:(0, nothing)
V_ref::Float64
: Reference Voltage Set-point, validation range:(0, nothing)
ext::Dict{String, Any}
states::Vector{Symbol}
: The states of the ReactivePowerDroop model are:
q_oc: Filtered reactive output power
n_states::Int
: ReactivePowerDroop has 1 state
PowerSystems.get_V_ref
— Methodget_V_ref(value::ReactivePowerDroop) -> Float64
Get ReactivePowerDroop
V_ref
.
PowerSystems.get_ext
— Methodget_ext(value::ReactivePowerDroop) -> Dict{String, Any}
Get ReactivePowerDroop
ext
.
PowerSystems.get_kq
— Methodget_kq(value::ReactivePowerDroop) -> Float64
Get ReactivePowerDroop
kq
.
PowerSystems.get_n_states
— Methodget_n_states(value::ReactivePowerDroop) -> Int64
Get ReactivePowerDroop
n_states
.
PowerSystems.get_states
— Methodget_states(value::ReactivePowerDroop) -> Vector{Symbol}
Get ReactivePowerDroop
states
.
PowerSystems.get_ωf
— Methodget_ωf(value::ReactivePowerDroop) -> Float64
Get ReactivePowerDroop
ωf
.
PowerSystems.set_V_ref!
— Methodset_V_ref!(value::ReactivePowerDroop, val) -> Any
Set ReactivePowerDroop
V_ref
.
PowerSystems.set_ext!
— Methodset_ext!(value::ReactivePowerDroop, val) -> Any
Set ReactivePowerDroop
ext
.
PowerSystems.set_kq!
— Methodset_kq!(value::ReactivePowerDroop, val) -> Any
Set ReactivePowerDroop
kq
.
PowerSystems.set_ωf!
— Methodset_ωf!(value::ReactivePowerDroop, val) -> Any
Set ReactivePowerDroop
ωf
.