InnerControl

CurrentModeControl

PowerSystems.CurrentModeControlType
mutable 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 PI current control using based on Purba, Dhople, Jafarpour, Bullo and Johnson. "Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters." 2017 IEEE 18th Workshop on Control and Modeling for Power Electronics (COMPEL): 1-7.

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}
  • states::Vector{Symbol}: 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: CurrentControl has 2 states
source

RECurrentControlB

PowerSystems.RECurrentControlBType
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
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, PSID 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}
  • states::Vector{Symbol}: The states of the RECurrentControlB depends on the Flags
  • n_states::Int: The states of the RECurrentControlB depends on the Flags
source

VoltageModeControl

PowerSystems.VoltageModeControlType
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
end

Parameters of an inner loop current control PID using virtual impedance based on D'Arco, Suul and Fosso. "A Virtual Synchronous Machine implementation for distributed control of power converters in SmartGrids." Electric Power Systems Research 122 (2015) 180–197.

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}
  • states::Vector{Symbol}: 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: VoltageModeControl has 6 states
source