modelREECa

WECC Electrical Control type A

Extends from Dynawo.Electrical.Controls.WECC.REEC.BaseClasses.BaseREEC (WECC Electrical Control REEC common).

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 powerfactor 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.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 powerfactor
    Types.ActivePowerPuPInj0Pu (from ParamsREEC)Start value of active power at injector terminal in pu (generator convention) (base SNom)
    Types.ReactivePowerPuQInj0Pu (from ParamsREEC)Start value of reactive power at injector terminal in pu (generator convention) (base SNom)
    Types.VoltageModulePuUInj0Pu (from ParamsREEC)Start value of voltage magnitude at injector terminal in pu (base UNom)
    Electrical Control
    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.ActivePowerPuPMaxPu (from ParamsREEC)Active power upper limit in pu (base SNom) (typical: 1)
    Types.ActivePowerPuPMinPu (from ParamsREEC)Active power lower limit in pu (base SNom) (typical: 0)
    Types.ReactivePowerPuQMaxPu (from ParamsREEC)Reactive power upper limit, when vFlag == 1 in pu (base SNom)
    Types.ReactivePowerPuQMinPu (from ParamsREEC)Reactive power lower limit, when vFlag == 1 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.TimetP (from ParamsREEC)Filter time constant active power 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)
    Types.PerUnitVDLIp11
    Types.PerUnitVDLIp12
    Types.PerUnitVDLIp21
    Types.PerUnitVDLIp22
    Types.PerUnitVDLIp31
    Types.PerUnitVDLIp32
    Types.PerUnitVDLIp41
    Types.PerUnitVDLIp42
    Types.PerUnitVDLIq11
    Types.PerUnitVDLIq12
    Types.PerUnitVDLIq21
    Types.PerUnitVDLIq22
    Types.PerUnitVDLIq31
    Types.PerUnitVDLIq32
    Types.PerUnitVDLIq41
    Types.PerUnitVDLIq42
    Types.PerUnit[:,:]VDLIpPoints[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[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.TimetHoldIpMaxTime delay for which the active current limit (ipMaxPu) is held after voltage dip in s
    Types.TimetHoldIqAbsolute 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.PerUnitIqFrzPuConstant reactive current injection value in pu (base UNom, SNom) (typical: -0.1 .. 0.1 pu)
    BooleanPFlagPower reference flag: const. Pref (0) or consider generator speed (1)
    Types.VoltageModulePuVRef1PuUser-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.RealInputPInjPu (from BaseREEC)Active power at injector terminal in pu (generator convention) (base SNom)
    Modelica.Blocks.Interfaces.RealInputPInjRefPu (from BaseREEC)Active power setpoint at injector terminal in pu (generator convention) (base SNom)
    Modelica.Blocks.Interfaces.RealInputQInjPu (from BaseREEC)Reactive power at injector terminal in pu (generator convention) (base SNom)
    Modelica.Blocks.Interfaces.RealInputQInjRefPu (from BaseREEC)Reactive power setpoint at injector terminal in pu (generator convention) (base SNom)
    Modelica.Blocks.Interfaces.RealInputUPu (from BaseREEC)Voltage magnitude at injector 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 injector 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)

    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.Continuous.VarLimPIDFreezevarLimPIDFreeze (from BaseREEC)
    Modelica.Blocks.Nonlinear.VariableLimitervariableLimiter (from BaseREEC)
    Modelica.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.Math.Maxmax1 (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)
    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