OutputCurrentLimiter
HybridOutputCurrentLimiter
PowerSystems.HybridOutputCurrentLimiter
— Typemutable struct HybridOutputCurrentLimiter <: OutputCurrentLimiter
I_max::Float64
rv::Float64
lv::Float64
ext::Dict{String, Any}
end
Parameters of Hybrid Current Controller Limiter. Regulates the magnitude of the inverter output current, but with a closed loop feedback regulated by a virtual impedance which provides ant-windup. Described in: Novel Hybrid Current Limiter for Grid-Forming Inverter Control During Unbalanced Faults by Baeckland and Seo, 2023
Arguments
I_max::Float64
: Maximum limit on current controller input current (device base), validation range:(0, nothing)
rv::Float64
: Real part of the virtual impedance, validation range:(0, nothing)
lv::Float64
: Imaginary part of the virtual impedance, validation range:(0, nothing)
ext::Dict{String, Any}
: (default:Dict{String, Any}()
)
PowerSystems.get_I_max
— Methodget_I_max(value::HybridOutputCurrentLimiter) -> Float64
Get HybridOutputCurrentLimiter
I_max
.
PowerSystems.get_ext
— Methodget_ext(
value::HybridOutputCurrentLimiter
) -> Dict{String, Any}
Get HybridOutputCurrentLimiter
ext
.
PowerSystems.get_lv
— Methodget_lv(value::HybridOutputCurrentLimiter) -> Float64
Get HybridOutputCurrentLimiter
lv
.
PowerSystems.get_rv
— Methodget_rv(value::HybridOutputCurrentLimiter) -> Float64
Get HybridOutputCurrentLimiter
rv
.
PowerSystems.set_I_max!
— Methodset_I_max!(value::HybridOutputCurrentLimiter, val) -> Any
Set HybridOutputCurrentLimiter
I_max
.
PowerSystems.set_ext!
— Methodset_ext!(value::HybridOutputCurrentLimiter, val) -> Any
Set HybridOutputCurrentLimiter
ext
.
PowerSystems.set_lv!
— Methodset_lv!(value::HybridOutputCurrentLimiter, val) -> Any
Set HybridOutputCurrentLimiter
lv
.
PowerSystems.set_rv!
— Methodset_rv!(value::HybridOutputCurrentLimiter, val) -> Any
Set HybridOutputCurrentLimiter
rv
.
InstantaneousOutputCurrentLimiter
PowerSystems.InstantaneousOutputCurrentLimiter
— Typemutable struct InstantaneousOutputCurrentLimiter <: OutputCurrentLimiter
Id_max::Float64
Iq_max::Float64
ext::Dict{String, Any}
end
Parameters of Instantaneous (Square) Current Controller Limiter. Regulates inverter output current on the d and q axis separately
Arguments
Id_max::Float64
: Maximum limit on d-axis current controller input current in pu (DEVICE_BASE
), validation range:(0, nothing)
Iq_max::Float64
: Maximum limit on d-axis current controller input current in pu (DEVICE_BASE
), 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.
PowerSystems.get_Id_max
— Methodget_Id_max(
value::InstantaneousOutputCurrentLimiter
) -> Float64
Get InstantaneousOutputCurrentLimiter
Id_max
.
PowerSystems.get_Iq_max
— Methodget_Iq_max(
value::InstantaneousOutputCurrentLimiter
) -> Float64
Get InstantaneousOutputCurrentLimiter
Iq_max
.
PowerSystems.get_ext
— Methodget_ext(
value::InstantaneousOutputCurrentLimiter
) -> Dict{String, Any}
Get InstantaneousOutputCurrentLimiter
ext
.
PowerSystems.set_Id_max!
— Methodset_Id_max!(
value::InstantaneousOutputCurrentLimiter,
val
) -> Any
Set InstantaneousOutputCurrentLimiter
Id_max
.
PowerSystems.set_Iq_max!
— Methodset_Iq_max!(
value::InstantaneousOutputCurrentLimiter,
val
) -> Any
Set InstantaneousOutputCurrentLimiter
Iq_max
.
PowerSystems.set_ext!
— Methodset_ext!(
value::InstantaneousOutputCurrentLimiter,
val
) -> Any
Set InstantaneousOutputCurrentLimiter
ext
.
MagnitudeOutputCurrentLimiter
PowerSystems.MagnitudeOutputCurrentLimiter
— Typemutable struct MagnitudeOutputCurrentLimiter <: OutputCurrentLimiter
I_max::Float64
ext::Dict{String, Any}
end
Parameters of Magnitude (Circular) Current Controller Limiter. Regulates only the magnitude of the inverter output current
Arguments
I_max::Float64
: Maximum limit on current controller input current in pu (DEVICE_BASE
), 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.
PowerSystems.get_I_max
— Methodget_I_max(value::MagnitudeOutputCurrentLimiter) -> Float64
Get MagnitudeOutputCurrentLimiter
I_max
.
PowerSystems.get_ext
— Methodget_ext(
value::MagnitudeOutputCurrentLimiter
) -> Dict{String, Any}
Get MagnitudeOutputCurrentLimiter
ext
.
PowerSystems.set_I_max!
— Methodset_I_max!(value::MagnitudeOutputCurrentLimiter, val) -> Any
Set MagnitudeOutputCurrentLimiter
I_max
.
PowerSystems.set_ext!
— Methodset_ext!(value::MagnitudeOutputCurrentLimiter, val) -> Any
Set MagnitudeOutputCurrentLimiter
ext
.
PriorityOutputCurrentLimiter
PowerSystems.PriorityOutputCurrentLimiter
— Typemutable struct PriorityOutputCurrentLimiter <: OutputCurrentLimiter
I_max::Float64
ϕ_I::Float64
ext::Dict{String, Any}
end
Parameters of Priority-Based Current Controller Limiter. Regulates the magnitude of the inverter output current and prioritizes a specific angle for the resultant current signal
Arguments
I_max::Float64
: Maximum limit on current controller input current in pu (DEVICE_BASE
), validation range:(0, nothing)
ϕ_I::Float64
: Pre-defined angle (measured against the d-axis) for Iref once limit Imax is hit, validation range:(-1.571, 1.571)
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.
PowerSystems.get_I_max
— Methodget_I_max(value::PriorityOutputCurrentLimiter) -> Float64
Get PriorityOutputCurrentLimiter
I_max
.
PowerSystems.get_ext
— Methodget_ext(
value::PriorityOutputCurrentLimiter
) -> Dict{String, Any}
Get PriorityOutputCurrentLimiter
ext
.
PowerSystems.get_ϕ_I
— Methodget_ϕ_I(value::PriorityOutputCurrentLimiter) -> Float64
Get PriorityOutputCurrentLimiter
ϕ_I
.
PowerSystems.set_I_max!
— Methodset_I_max!(value::PriorityOutputCurrentLimiter, val) -> Any
Set PriorityOutputCurrentLimiter
I_max
.
PowerSystems.set_ext!
— Methodset_ext!(value::PriorityOutputCurrentLimiter, val) -> Any
Set PriorityOutputCurrentLimiter
ext
.
PowerSystems.set_ϕ_I!
— Methodset_ϕ_I!(value::PriorityOutputCurrentLimiter, val) -> Any
Set PriorityOutputCurrentLimiter
ϕ_I
.
SaturationOutputCurrentLimiter
PowerSystems.SaturationOutputCurrentLimiter
— Typemutable struct SaturationOutputCurrentLimiter <: OutputCurrentLimiter
I_max::Float64
kw::Float64
ext::Dict{String, Any}
end
Parameters of Saturation Current Controller Limiter. Regulates the magnitude of the inverter output current, and applies a closed loop feedback regulated by a static gain which provides ant-windup
Arguments
I_max::Float64
: Maximum limit on current controller input current (device base), validation range:(0, nothing)
kw::Float64
: Defined feedback gain, validation range:(0, nothing)
ext::Dict{String, Any}
: (default:Dict{String, Any}()
)
PowerSystems.get_I_max
— Methodget_I_max(value::SaturationOutputCurrentLimiter) -> Float64
Get SaturationOutputCurrentLimiter
I_max
.
PowerSystems.get_ext
— Methodget_ext(
value::SaturationOutputCurrentLimiter
) -> Dict{String, Any}
Get SaturationOutputCurrentLimiter
ext
.
PowerSystems.get_kw
— Methodget_kw(value::SaturationOutputCurrentLimiter) -> Float64
Get SaturationOutputCurrentLimiter
kw
.
PowerSystems.set_I_max!
— Methodset_I_max!(
value::SaturationOutputCurrentLimiter,
val
) -> Any
Set SaturationOutputCurrentLimiter
I_max
.
PowerSystems.set_ext!
— Methodset_ext!(value::SaturationOutputCurrentLimiter, val) -> Any
Set SaturationOutputCurrentLimiter
ext
.
PowerSystems.set_kw!
— Methodset_kw!(value::SaturationOutputCurrentLimiter, val) -> Any
Set SaturationOutputCurrentLimiter
kw
.