modelREECa

WECC Electrical Control type A

Extends from Dynawo.Electrical.Controls.WECC.REEC.BaseClasses.BaseREEC (WECC Electrical Control REEC common), Dynawo.Electrical.Controls.WECC.Parameters.REEC.ParamsREECa (REEC type A parameters).

Information

This block contains the electrical inverter control of the generic WECC Wind (or PV) model according to (in case page cannot be found, copy link in browser):
https://www.wecc.org/Reliability/WECC%20Wind%20Plant%20Dynamic%20Modeling%20Guidelines.pdf

Following control modes can be activated:

  • Local coordinated V/Q control: QFlag = true, VFlag = true
  • Only plant level control active: QFlag = false, VFlag = false
  • If plant level control not connected: local power factor control: PfFlag = true, otherwise PfFlag = false.
  • Active power can be dependent or independent on drive train speed by setting PFlag to false (independent from drive train speed) or true. If PFlag is set to false, the model behaves as a Wind turbine generator type 4B, where the drive train is neglected by setting the speed to constant 1
  • The block calculates the Id and Iq setpoint values for the generator control based on the selected control algorithm.

    Parameters

    TypeNameDefaultDescription
    Types.ApparentPowerModuleSNom (from ParamsREEC)Nominal apparent power in MVA
    Types.CurrentModulePuId0Pu (from ParamsREEC)Start value of d-component current at injector terminal in pu (generator convention) (base SNom, UNom)
    Types.CurrentModulePuIq0Pu (from ParamsREEC)Start value of q-component current at injector terminal in pu (generator convention) (base SNom, UNom)
    Types.PerUnitPF0 (from ParamsREEC)Start value of power factor
    Types.ActivePowerPuPConv0Pu (from ParamsREEC)Start value of active power at converter terminal in pu (generator convention) (base SNom)
    Types.ReactivePowerPuQConv0Pu (from ParamsREEC)Start value of reactive power at converter terminal in pu (generator convention) (base SNom)
    Types.VoltageModulePuUInj0Pu (from ParamsREEC)Start value of voltage magnitude at injector terminal in pu (base UNom)
    Types.ComplexPerUnits0Pu (from ParamsREEC)Start value of complex apparent power at terminal in pu (base SnRef) (receptor convention)
    Types.ComplexVoltagePuu0Pu (from ParamsREEC)Start value of complex voltage at terminal in pu (base UNom)
    Types.VoltageModulePuUConv0Pu (from ParamsREEC)Start value of voltage module at converter terminal in pu (base UNom)
    Types.ComplexPerUnituConv0Pu (from ParamsREEC)Start value of complex voltage at converter terminal in pu (base UNom)
    Types.AngularVelocityPuomegaRefWTGQ0Pu (from ParamsREECa)Start value of reference angular frequency of torque control in pu (base omegaNom)
    Electrical Control › REEC
    BooleanPfFlag (from ParamsREEC)Power factor flag: Q control (0) or pf control(1)
    BooleanPQFlag (from ParamsREEC)Q/P priority: Q priority (0) or P priority (1)
    BooleanQFlag (from ParamsREEC)Q control flag: const. pf or Q ctrl (0) or voltage/Q (1)
    BooleanVFlag (from ParamsREEC)Voltage control flag: voltage control (0) or Q ctrl (1)
    Types.VoltageModulePuDbd1Pu (from ParamsREEC)Overvoltage deadband for reactive current injection in pu (base UNom) (typical: -0.1..0)
    Types.VoltageModulePuDbd2Pu (from ParamsREEC)Undervoltage deadband for reactive current injection in pu (base UNom) (typical: 0..0.1)
    Types.PerUnitDPMaxPu (from ParamsREEC)Active power upper rate limit in pu/s (base SNom) (typical: > 0.1, set to 99 to disable)
    Types.PerUnitDPMinPu (from ParamsREEC)Active power lower rate limit in pu/s (base SNom) (typical: < -0.1, set to -99 to disable)
    Types.CurrentModulePuIMaxPu (from ParamsREEC)Maximal apparent current magnitude in pu (base UNom, SNom) (typical: 1..2)
    Types.PerUnitIqh1Pu (from ParamsREEC)Maximum reactive current injection (typical: 1..1.1) in pu (base UNom, SNom)
    Types.PerUnitIql1Pu (from ParamsREEC)Minimum reactive current injection (typical: -1.1..-1) in pu (base UNom, SNom)
    Types.PerUnitKqi (from ParamsREEC)Integrator gain local reactive power PI controller
    Types.PerUnitKqp (from ParamsREEC)Proportional gain local reactive power PI controller
    Types.PerUnitKqv (from ParamsREEC)K-Factor, reactive current injection gain (typical: 0..10)
    Types.PerUnitKvi (from ParamsREEC)Integrator gain local voltage PI controller
    Types.PerUnitKvp (from ParamsREEC)Proportional gain local voltage PI controller
    Types.ActivePowerPuPMaxREECPu (from ParamsREEC)Active power upper limit in REEC in pu (base SNom) (typical: 1)
    Types.ActivePowerPuPMinREECPu (from ParamsREEC)Active power lower limit in REEC in pu (base SNom) (typical: 0)
    Types.ReactivePowerPuQMaxREECPu (from ParamsREEC)Reactive power upper limit, when vFlag == 1 in REEC in pu (base SNom)
    Types.ReactivePowerPuQMinREECPu (from ParamsREEC)Reactive power lower limit, when vFlag == 1 in REEC in pu (base SNom)
    Types.TimetIq (from ParamsREEC)Filter time constant reactive current in s(typical: 0.01..0.02)
    Types.TimetRv (from ParamsREEC)Filter time constant terminal voltage in s(typical: 0.01..0.02)
    Types.TimetpREEC (from ParamsREEC)Active power filter time constant in REEC in s (typical: 0.1..0.2)
    Types.TimetPord (from ParamsREEC)Filter time constant inverter active power in s
    Types.VoltageModulePuVDipPu (from ParamsREEC)Low voltage condition trigger voltage for FRT in pu (base UNom) (typical: 0..0.9)
    Types.VoltageModulePuVMaxPu (from ParamsREEC)Maximum voltage at inverter terminal in pu (base UNom) (typical: 1.05..1.15)
    Types.VoltageModulePuVMinPu (from ParamsREEC)Minimum voltage at inverter terminal in pu (base UNom) (typical: 0.85..0.95)
    Types.VoltageModulePuVRef0Pu (from ParamsREEC)Reference voltage for reactive current injection in pu (base UNom) (typical: 0.95..1.05)
    Types.VoltageModulePuVUpPu (from ParamsREEC)High voltage condition trigger voltage for FRT in pu (base UNom) (typical: 1.1..1.3)
    Electrical Control › REECa
    Types.PerUnitVDLIp11 (from ParamsREECa)
    Types.PerUnitVDLIp12 (from ParamsREECa)
    Types.PerUnitVDLIp21 (from ParamsREECa)
    Types.PerUnitVDLIp22 (from ParamsREECa)
    Types.PerUnitVDLIp31 (from ParamsREECa)
    Types.PerUnitVDLIp32 (from ParamsREECa)
    Types.PerUnitVDLIp41 (from ParamsREECa)
    Types.PerUnitVDLIp42 (from ParamsREECa)
    Types.PerUnitVDLIq11 (from ParamsREECa)
    Types.PerUnitVDLIq12 (from ParamsREECa)
    Types.PerUnitVDLIq21 (from ParamsREECa)
    Types.PerUnitVDLIq22 (from ParamsREECa)
    Types.PerUnitVDLIq31 (from ParamsREECa)
    Types.PerUnitVDLIq32 (from ParamsREECa)
    Types.PerUnitVDLIq41 (from ParamsREECa)
    Types.PerUnitVDLIq42 (from ParamsREECa)
    Types.PerUnit[:,:]VDLIpPoints (from ParamsREECa)[VDLIp11, VDLIp12; VDLIp21, VDLIp22; VDLIp31, VDLIp32; VDLIp41, VDLIp42]Pair of points for voltage-dependent active current limitation piecewise linear curve [u1,y1; u2,y2;...]
    Types.PerUnit[:,:]VDLIqPoints (from ParamsREECa)[VDLIq11, VDLIq12; VDLIq21, VDLIq22; VDLIq31, VDLIq32; VDLIq41, VDLIq42]Pair of points for voltage-dependent reactive current limitation piecewise linear curve [u1,y1; u2,y2;...]
    Types.TimetHoldIpMax (from ParamsREECa)Time delay for which the active current limit (ipMaxPu) is held after voltage dip in s
    Types.TimetHoldIq (from ParamsREECa)Absolute value of tHoldIq defines seconds to hold current injection after voltage dip ended. tHoldIq > 0 for constant, 0 for no injection after voltage dip, tHoldIq < 0 for voltage-dependent injection (typical: -1 .. 1 s)
    Types.PerUnitIqFrzPu (from ParamsREECa)Constant reactive current injection value in pu (base UNom, SNom) (typical: -0.1 .. 0.1 pu)
    BooleanPFlag (from ParamsREECa)Power reference flag: const. Pref (0) or consider generator speed (1)
    Types.VoltageModulePuVRef1Pu (from ParamsREECa)User-defined reference/bias on the inner-loop voltage control in pu (base UNom) (typical: 0 pu)

    Connectors

    TypeNameDefaultDescription
    Modelica.Blocks.Interfaces.RealInputPFaRef (from BaseREEC)Power factor angle reference in rad
    Modelica.Blocks.Interfaces.RealInputPConvPu (from BaseREEC)Active power at converter terminal in pu (base SNom) (generator convention)
    Modelica.Blocks.Interfaces.RealInputPConvRefPu (from BaseREEC)Active power setpoint at converter terminal in pu (base SNom) (generator convention)
    Modelica.Blocks.Interfaces.RealInputQConvPu (from BaseREEC)Reactive power at converter terminal in pu (base SNom) (generator convention)
    Modelica.Blocks.Interfaces.RealInputQConvRefPu (from BaseREEC)Reactive power setpoint at converter terminal in pu (base SNom) (generator convention)
    Modelica.Blocks.Interfaces.RealInputUPu (from BaseREEC)Voltage magnitude at converter terminal in pu (base UNom)
    Modelica.Blocks.Interfaces.RealOutputidCmdPu (from BaseREEC)idCmdPu setpoint for generator control in pu (base SNom, UNom)
    Modelica.Blocks.Interfaces.RealOutputiqCmdPu (from BaseREEC)iqCmdPu setpoint for generator control in pu (base SNom, UNom)
    Modelica.Blocks.Interfaces.RealOutputUFilteredPu (from BaseREEC)Filtered voltage module at converter terminal in pu (base UNom)
    Modelica.Blocks.Interfaces.BooleanOutputfrtOn (from BaseREEC)Boolean signal for iq ramp after fault: true if FRT detected, false otherwise
    Modelica.Blocks.Interfaces.RealInputomegaGPuGenerator frequency from drive train control in pu (base omegaNom)
    Modelica.Blocks.Interfaces.RealOutputipMaxPup-axis maximum current in pu (base UNom, SNom)
    Modelica.Blocks.Interfaces.RealOutputipMinPup-axis minimum current in pu (base UNom, SNom)
    Modelica.Blocks.Interfaces.RealOutputiqMaxPuq-axis maximum current in pu (base UNom, SNom)
    Modelica.Blocks.Interfaces.RealOutputiqMinPuq-axis minimum current in pu (base UNom, SNom)
    Modelica.Blocks.Interfaces.RealOutputPOrdPuActive power order in pu (base SNom) (generator convention)

    Components

    TypeNameDefaultDescription
    Modelica.Blocks.Sources.BooleanConstantQFlag0 (from BaseREEC)
    Modelica.Blocks.Sources.BooleanConstantVFlag0 (from BaseREEC)
    Modelica.Blocks.Sources.BooleanConstantPfFlag0 (from BaseREEC)
    Modelica.Blocks.Nonlinear.Limiterlimiter (from BaseREEC)
    Modelica.Blocks.Math.Divisiondivision (from BaseREEC)
    Modelica.Blocks.Continuous.FirstOrderfirstOrder (from BaseREEC)
    Modelica.Blocks.Math.Addadd1 (from BaseREEC)
    Modelica.Blocks.Logical.Switchswitch (from BaseREEC)
    Modelica.Blocks.Continuous.FirstOrderfirstOrder1 (from BaseREEC)
    Modelica.Blocks.Math.Productproduct (from BaseREEC)
    Modelica.Blocks.Logical.Switchswitch1 (from BaseREEC)
    Modelica.Blocks.Nonlinear.Limiterlimiter2 (from BaseREEC)
    Modelica.Blocks.Logical.Switchswitch2 (from BaseREEC)
    Modelica.Blocks.Math.Divisiondivision1 (from BaseREEC)
    Dynawo.NonElectrical.Blocks.Continuous.LimPIDFreezelimPIDFreeze (from BaseREEC)
    Dynawo.Electrical.Controls.WECC.BaseControls.VoltageCheckvoltageCheck (from BaseREEC)
    Dynawo.NonElectrical.Blocks.NonLinear.VariableLimitervariableLimiter (from BaseREEC)
    Dynawo.NonElectrical.Blocks.NonLinear.VariableLimitervariableLimiter1 (from BaseREEC)
    Dynawo.NonElectrical.Blocks.Continuous.RateLimFirstOrderFreezerateLimFirstOrderFreeze1 (from BaseREEC)
    Modelica.Blocks.Sources.BooleanExpressionFRTOn (from BaseREEC)
    Modelica.Blocks.Sources.BooleanExpressionFRTOn1 (from BaseREEC)
    Modelica.Blocks.Sources.BooleanExpressionFRTOn3 (from BaseREEC)
    Modelica.Blocks.Sources.RealExpressionUFilteredPu2 (from BaseREEC)
    Modelica.Blocks.Sources.RealExpressionUFilteredPu3 (from BaseREEC)
    Modelica.Blocks.Sources.Constantconstant2 (from BaseREEC)
    Modelica.Blocks.Sources.ConstantVRefConst (from BaseREEC)
    Modelica.Blocks.Nonlinear.DeadZonedeadZone (from BaseREEC)
    Modelica.Blocks.Math.Gaingain (from BaseREEC)
    Modelica.Blocks.Math.Tantan (from BaseREEC)
    Modelica.Blocks.Nonlinear.SlewRateLimiterslewRateLimiter (from BaseREEC)
    Dynawo.NonElectrical.Blocks.Continuous.RateLimFirstOrderFreezerateLimFirstOrderFreeze (from BaseREEC)
    Modelica.Blocks.Nonlinear.Limiterlimiter3 (from BaseREEC)
    Modelica.Blocks.Sources.BooleanExpressionFRTOn2 (from BaseREEC)
    Modelica.Blocks.Math.Addadd (from BaseREEC)
    NonElectrical.Blocks.Continuous.VarLimPIDFreezevarLimPIDFreeze (from BaseREEC)
    Modelica.Blocks.Math.Maxmax1 (from BaseREEC)
    Modelica.Blocks.Sources.RealExpressionUFilteredPu5
    Modelica.Blocks.Sources.RealExpressionIqMax
    Modelica.Blocks.Sources.RealExpressionIqMin
    Modelica.Blocks.Sources.BooleanExpressionFRTOn4
    Modelica.Blocks.Sources.BooleanExpressionFRTOn5
    Modelica.Blocks.Sources.ConstantVRefConst1
    Modelica.Blocks.Sources.BooleanConstantPFlagConst
    Modelica.Blocks.Logical.Switchswitch3
    Modelica.Blocks.Math.Addadd2
    Modelica.Blocks.Math.Productproduct2
    Modelica.Blocks.Tables.CombiTable1DsIpmaxFromUPu
    Modelica.Blocks.Tables.CombiTable1DsIqmaxFromUPu
    Modelica.Blocks.Nonlinear.Limiterlimiter1
    Dynawo.Electrical.Controls.WECC.BaseControls.IqInjectionLogiciqInjectionLogic
    Dynawo.Electrical.Controls.WECC.BaseControls.CurrentLimitsCalculationAcurrentLimitsCalculation1