modelBESSCurrentSource
WECC BESS with electrical control model type C, generator/converter model type A and plant control type A
Extends from Dynawo.Electrical.BESS.WECC.BaseClasses.BaseBESSCurrentSource (Partial base model for WECC BESS with electrical control model type C, generator/converter model type A), Dynawo.Electrical.Controls.WECC.Parameters.REPC.ParamsREPC, Dynawo.Electrical.Wind.WECC.BaseClasses.BasePCS (Base model of the Power Collection System to be extended in the WECC models of power plants).
Information
The power collection system and measurement nodes are not specified in the WECC standard. Thus, we decided to make it flexible in the model.
With ConverterLVControl switch, you decide whether the inverter is controlling P,Q,U in low voltage or medium voltage.
With PPCLocal switch, you decide whether the plant controller is controlling P, Q, U at the model terminal or at a node outside the model.
Depending on PPCLocal and ConverterLVControl's values, the impedances of the group transformer (RLvTrPu, XLvTrPu) and of the main transformer (BMvHvPu ,GMvHvPu, RMvHvPu, XMvHvPu) won't be applied to the same block model. The following diagram explains it :
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Types.ApparentPowerModule | SNom (from ParamsREEC) | Nominal apparent power in MVA | |
| Types.CurrentModulePu | Id0Pu (from ParamsREEC) | Start value of d-component current at injector terminal in pu (generator convention) (base SNom, UNom) | |
| Types.CurrentModulePu | Iq0Pu (from ParamsREEC) | Start value of q-component current at injector terminal in pu (generator convention) (base SNom, UNom) | |
| Types.PerUnit | PF0 (from ParamsREEC) | Start value of power factor | |
| Types.ActivePowerPu | PConv0Pu (from ParamsREEC) | Start value of active power at converter terminal in pu (generator convention) (base SNom) | |
| Types.ReactivePowerPu | QConv0Pu (from ParamsREEC) | Start value of reactive power at converter terminal in pu (generator convention) (base SNom) | |
| Types.VoltageModulePu | UInj0Pu (from ParamsREEC) | Start value of voltage magnitude at injector terminal in pu (base UNom) | |
| Types.ComplexPerUnit | s0Pu (from ParamsREEC) | Start value of complex apparent power at terminal in pu (base SnRef) (receptor convention) | |
| Types.ComplexVoltagePu | u0Pu (from ParamsREEC) | Start value of complex voltage at terminal in pu (base UNom) | |
| Types.VoltageModulePu | UConv0Pu (from ParamsREEC) | Start value of voltage module at converter terminal in pu (base UNom) | |
| Types.ComplexPerUnit | uConv0Pu (from ParamsREEC) | Start value of complex voltage at converter terminal in pu (base UNom) | |
| Types.ComplexCurrentPu | i0Pu (from BaseBESSCurrentSource) | Start value of complex current at terminal in pu (base UNom, SnRef) (receptor convention) | |
| Types.ComplexPerUnit | iConv0Pu (from BaseBESSCurrentSource) | Start value of complex current at converter terminal in pu (base UNom, SNom) (generator convention) | |
| Types.ActivePowerPu | PInj0Pu (from BaseBESSCurrentSource) | Start value of active power at injector terminal in pu (generator convention) (base SNom) | |
| Types.ReactivePowerPu | QInj0Pu (from BaseBESSCurrentSource) | Start value of reactive power at injector terminal in pu (generator convention) (base SNom) | |
| Types.PerUnit | SOC0Pu (from BaseBESSCurrentSource) | Initial state of charge in pu (base SNom) | |
| Types.ComplexPerUnit | uInj0Pu (from BaseBESSCurrentSource) | Start value of complex voltage at injector in pu (base UNom) | |
| Types.Angle | UPhaseConv0 (from BaseBESSCurrentSource) | Value of voltage phase angle at converter terminal in rad | |
| Types.PerUnit | RPu (from ParamsLvTfo) | if ConverterLVControl then 1e-5 else RLvTrPu | Serial resistance between injector output and LvTfo in pu (base UNom, SNom). Including source resistance for voltage source. |
| Types.PerUnit | XPu (from ParamsLvTfo) | if ConverterLVControl then 1e-5 else XLvTrPu | Serial reactance between injector output and LvTfo in pu (base UNom, SNom). Including source resistance for voltage source. |
| Types.PerUnit | BPcsPu (from ParamsPCS) | if PPCLocal then BMvHvPu else 1e-5 | Shunt susceptance between converter terminal and model's output terminal in pu (base UNom, SNom) |
| Types.PerUnit | GPcsPu (from ParamsPCS) | if PPCLocal then GMvHvPu else 1e-5 | Shunt conductance between converter terminal and model's output terminal in pu (base UNom, SNom) |
| Types.PerUnit | RPcsPu (from ParamsPCS) | if PPCLocal and ConverterLVControl then RLvTrPu + RMvHvPu elseif PPCLocal and not ConverterLVControl then RMvHvPu elseif not PPCLocal and ConverterLVControl then RLvTrPu else 1e-5 | Serial resistance between converter terminal and model's output terminal in pu (base UNom, SNom) |
| Types.PerUnit | XPcsPu (from ParamsPCS) | if PPCLocal and ConverterLVControl then XLvTrPu + XMvHvPu elseif PPCLocal and not ConverterLVControl then XMvHvPu elseif not PPCLocal and ConverterLVControl then XLvTrPu else 1e-5 | Serial reactance between converter terminal and model's output terminal in pu (base UNom, SNom) |
| Types.ComplexCurrentPu | iControl0Pu (from BasePCS) | if PPCLocal then i0Pu else iPcc0Pu | Initial complex current to be controlled by the PPC coming either from the external bus or from the model's output terminal in pu (base UNom, SnRef) (receptor convention) |
| Types.ComplexCurrentPu | iPcc0Pu (from BasePCS) | ComplexMath.conj(Complex(PPcc0Pu, QPcc0Pu)/uPcc0Pu) | Start value of complex current at external PCC in pu (used when PPCLocal = false, meaning the PCS is defined outside of the model) in pu (base UNom, SnRef) (receptor convention) |
| Types.ActivePowerPu | P0Pu (from BasePCS) | Start value of active power at converter terminal in pu (base SnRef) (receptor convention) | |
| Types.ActivePowerPu | PControl0Pu (from BasePCS) | if PPCLocal then -P0Pu*SystemBase.SnRef/SNom else -PPcc0Pu*SystemBase.SnRef/SNom | Initial active power at the point controlled by the PPC (either model's output terminal or external PCC) in pu (base SNom) (generator convention) |
| Types.ReactivePowerPu | Q0Pu (from BasePCS) | Start value of reactive power at converter terminal in pu (base SnRef) (receptor convention) | |
| Types.ReactivePowerPu | QControl0Pu (from BasePCS) | if PPCLocal then -Q0Pu*SystemBase.SnRef/SNom else -QPcc0Pu*SystemBase.SnRef/SNom | Initial reactive power at the point controlled by the PPC (either model's output terminal or external PCC) in pu (base SNom) (generator convention) |
| Types.VoltageModulePu | U0Pu (from BasePCS) | Start value of voltage magnitude at converter terminal in pu (base UNom) | |
| Types.VoltageModulePu | UControl0Pu (from BasePCS) | Initial voltage amplitude at the point controlled by the PPC (either model's output terminal or external PCC) in pu (base UNom) | |
| Types.ComplexVoltagePu | uControl0Pu (from BasePCS) | if PPCLocal then u0Pu else uPcc0Pu | Initial complex voltage to be controlled by the PPC coming either from the external bus or from the model's output terminal in pu (base UNom) |
| Types.VoltageModulePu | UPcc0Pu (from BasePCS) | 1 | Start value of voltage magnitude at regulated bus in pu (base UNom) |
| PLL | |||
| Types.PerUnit | KiPLL (from ParamsPLL) | PLL integrator gain | |
| Types.PerUnit | KpPLL (from ParamsPLL) | PLL proportional gain | |
| Types.AngularVelocityPu | OmegaMaxPu (from ParamsPLL) | Upper frequency limit in pu (base omegaNom) | |
| Types.AngularVelocityPu | OmegaMinPu (from ParamsPLL) | Lower frequency limit in pu (base omegaNom) | |
| Electrical Control › REEC | |||
| Boolean | PfFlag (from ParamsREEC) | Power factor flag: Q control (0) or pf control(1) | |
| Boolean | PQFlag (from ParamsREEC) | Q/P priority: Q priority (0) or P priority (1) | |
| Boolean | QFlag (from ParamsREEC) | Q control flag: const. pf or Q ctrl (0) or voltage/Q (1) | |
| Boolean | VFlag (from ParamsREEC) | Voltage control flag: voltage control (0) or Q ctrl (1) | |
| Types.VoltageModulePu | Dbd1Pu (from ParamsREEC) | Overvoltage deadband for reactive current injection in pu (base UNom) (typical: -0.1..0) | |
| Types.VoltageModulePu | Dbd2Pu (from ParamsREEC) | Undervoltage deadband for reactive current injection in pu (base UNom) (typical: 0..0.1) | |
| Types.PerUnit | DPMaxPu (from ParamsREEC) | Active power upper rate limit in pu/s (base SNom) (typical: > 0.1, set to 99 to disable) | |
| Types.PerUnit | DPMinPu (from ParamsREEC) | Active power lower rate limit in pu/s (base SNom) (typical: < -0.1, set to -99 to disable) | |
| Types.CurrentModulePu | IMaxPu (from ParamsREEC) | Maximal apparent current magnitude in pu (base UNom, SNom) (typical: 1..2) | |
| Types.PerUnit | Iqh1Pu (from ParamsREEC) | Maximum reactive current injection (typical: 1..1.1) in pu (base UNom, SNom) | |
| Types.PerUnit | Iql1Pu (from ParamsREEC) | Minimum reactive current injection (typical: -1.1..-1) in pu (base UNom, SNom) | |
| Types.PerUnit | Kqi (from ParamsREEC) | Integrator gain local reactive power PI controller | |
| Types.PerUnit | Kqp (from ParamsREEC) | Proportional gain local reactive power PI controller | |
| Types.PerUnit | Kqv (from ParamsREEC) | K-Factor, reactive current injection gain (typical: 0..10) | |
| Types.PerUnit | Kvi (from ParamsREEC) | Integrator gain local voltage PI controller | |
| Types.PerUnit | Kvp (from ParamsREEC) | Proportional gain local voltage PI controller | |
| Types.ActivePowerPu | PMaxREECPu (from ParamsREEC) | Active power upper limit in REEC in pu (base SNom) (typical: 1) | |
| Types.ActivePowerPu | PMinREECPu (from ParamsREEC) | Active power lower limit in REEC in pu (base SNom) (typical: 0) | |
| Types.ReactivePowerPu | QMaxREECPu (from ParamsREEC) | Reactive power upper limit, when vFlag == 1 in REEC in pu (base SNom) | |
| Types.ReactivePowerPu | QMinREECPu (from ParamsREEC) | Reactive power lower limit, when vFlag == 1 in REEC in pu (base SNom) | |
| Types.Time | tIq (from ParamsREEC) | Filter time constant reactive current in s(typical: 0.01..0.02) | |
| Types.Time | tRv (from ParamsREEC) | Filter time constant terminal voltage in s(typical: 0.01..0.02) | |
| Types.Time | tpREEC (from ParamsREEC) | Active power filter time constant in REEC in s (typical: 0.1..0.2) | |
| Types.Time | tPord (from ParamsREEC) | Filter time constant inverter active power in s | |
| Types.VoltageModulePu | VDipPu (from ParamsREEC) | Low voltage condition trigger voltage for FRT in pu (base UNom) (typical: 0..0.9) | |
| Types.VoltageModulePu | VMaxPu (from ParamsREEC) | Maximum voltage at inverter terminal in pu (base UNom) (typical: 1.05..1.15) | |
| Types.VoltageModulePu | VMinPu (from ParamsREEC) | Minimum voltage at inverter terminal in pu (base UNom) (typical: 0.85..0.95) | |
| Types.VoltageModulePu | VRef0Pu (from ParamsREEC) | Reference voltage for reactive current injection in pu (base UNom) (typical: 0.95..1.05) | |
| Types.VoltageModulePu | VUpPu (from ParamsREEC) | High voltage condition trigger voltage for FRT in pu (base UNom) (typical: 1.1..1.3) | |
| Electrical Control › REECc | |||
| Types.PerUnit | SOCMaxPu (from ParamsREECc) | Maximum allowable state of charge in pu (base SNom) (typical: 0.8..1) | |
| Types.PerUnit | SOCMinPu (from ParamsREECc) | Minimum allowable state of charge in pu (base SNom) (typical: 0..0.2) | |
| Types.Time | tBattery (from ParamsREECc) | Time it takes for the battery to discharge when putting out 1 pu power, in s (typically set to 9999 since most batteries are large as compared to the typical simulation time in a stability study) | |
| Types.PerUnit | VDLIp11 (from ParamsREECc) | ||
| Types.PerUnit | VDLIp12 (from ParamsREECc) | ||
| Types.PerUnit | VDLIp21 (from ParamsREECc) | ||
| Types.PerUnit | VDLIp22 (from ParamsREECc) | ||
| Types.PerUnit | VDLIp31 (from ParamsREECc) | ||
| Types.PerUnit | VDLIp32 (from ParamsREECc) | ||
| Types.PerUnit | VDLIp41 (from ParamsREECc) | ||
| Types.PerUnit | VDLIp42 (from ParamsREECc) | ||
| Types.PerUnit | VDLIq11 (from ParamsREECc) | ||
| Types.PerUnit | VDLIq12 (from ParamsREECc) | ||
| Types.PerUnit | VDLIq21 (from ParamsREECc) | ||
| Types.PerUnit | VDLIq22 (from ParamsREECc) | ||
| Types.PerUnit | VDLIq31 (from ParamsREECc) | ||
| Types.PerUnit | VDLIq32 (from ParamsREECc) | ||
| Types.PerUnit | VDLIq41 (from ParamsREECc) | ||
| Types.PerUnit | VDLIq42 (from ParamsREECc) | ||
| Types.PerUnit[:,:] | VDLIpPoints (from ParamsREECc) | [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 ParamsREECc) | [VDLIq11, VDLIq12; VDLIq21, VDLIq22; VDLIq31, VDLIq32; VDLIq41, VDLIq42] | Pair of points for voltage-dependent reactive current limitation piecewise linear curve [u1,y1; u2,y2;...] |
| Generator Converter › REGC | |||
| Types.PerUnit | IqrMaxPu (from ParamsREGC) | Maximum rate-of-change of reactive current after fault in pu (base UNom, SNom) (typical: 1..999) | |
| Types.PerUnit | IqrMinPu (from ParamsREGC) | Minimum rate-of-change of reactive current after fault in pu (base UNom, SNom) (typical: -999..-1) | |
| Types.PerUnit | RrpwrPu (from ParamsREGC) | Active current (or power if RateFlag = true) recovery rate in pu/s (base UNom, SNom) (typical: 1..20) | |
| Types.Time | tFilterGC (from ParamsREGC) | Filter time constant of terminal voltage in s(Cannot be set to zero, typical: 0.02..0.05) | |
| Generator Converter › REGCa | |||
| Types.Time | tG (from ParamsREGCa) | Emulated delay in converter controls in s(Cannot be zero, typical: 0.02..0.05) | |
| Types.PerUnit | brkpt (from ParamsREGCa) | LVPL breakpoint in pu (base UNom) | |
| Types.PerUnit | lvpl1 (from ParamsREGCa) | LVPL gain breakpoint in pu | |
| Boolean | Lvplsw (from ParamsREGCa) | Low voltage power logic switch: 1-enabled/0-disabled | |
| Types.PerUnit | zerox (from ParamsREGCa) | LVPL zero crossing in pu (base UNom) | |
| Plant Control | |||
| Boolean | FreqFlag (from ParamsREPC) | Governor response disable (0) or enable (1) | |
| Boolean | RefFlag (from ParamsREPC) | Plant level reactive power (0) or voltage control (1) | |
| Boolean | VCompFlag (from ParamsREPC) | Reactive droop (0) or line drop compensation (1) if RefFlag true | |
| Types.PerUnit | DbdPu (from ParamsREPC) | Reactive power (RefFlag = 0) or voltage (RefFlag = 1) deadband in pu (base SNom or UNom) (typical: 0..0.1) | |
| Types.PerUnit | DDn (from ParamsREPC) | Down regulation droop (typical: 20..33.3) | |
| Types.PerUnit | DUp (from ParamsREPC) | Up regulation droop (typical: 0) | |
| Types.PerUnit | EMaxPu (from ParamsREPC) | Maximum Volt/VAR error in pu (base UNom or SNom) | |
| Types.PerUnit | EMinPu (from ParamsREPC) | Minimum Volt/VAR error in pu (base UNom or SNom) | |
| Types.PerUnit | FDbd1Pu (from ParamsREPC) | Overfrequency deadband for governor response in pu (base omegaNom) (typical: 0.004) | |
| Types.PerUnit | FDbd2Pu (from ParamsREPC) | Underfrequency deadband for governor response in pu (base omegaNom)^ (typical: 0.004) | |
| Types.PerUnit | FEMaxPu (from ParamsREPC) | Maximum frequency error in droop regulator in pu (base omegaNom) | |
| Types.PerUnit | FEMinPu (from ParamsREPC) | Minimum frequency error in droop regulator in pu (base omegaNom) | |
| Types.PerUnit | Kc (from ParamsREPC) | Reactive droop when VCompFlag = 0 | |
| Types.PerUnit | Ki (from ParamsREPC) | Volt/VAR regulator integral gain | |
| Types.PerUnit | Kig (from ParamsREPC) | Droop regulator integral gain | |
| Types.PerUnit | Kp (from ParamsREPC) | Volt/VAR regulator proportional gain | |
| Types.PerUnit | Kpg (from ParamsREPC) | Droop regulator proportional gain | |
| Types.ActivePowerPu | PMaxREPCPu (from ParamsREPC) | Maximum plant level active power command in REPC in pu (base SNom) | |
| Types.ActivePowerPu | PMinREPCPu (from ParamsREPC) | Minimum plant level active power command in REPC in pu (base SNom) | |
| Types.ReactivePowerPu | QMaxREPCPu (from ParamsREPC) | Maximum plant level reactive power command in REPC in pu (base SNom) | |
| Types.ReactivePowerPu | QMinREPCPu (from ParamsREPC) | Minimum plant level reactive power command in REPC in pu (base SNom) | |
| Types.Time | tFilterPC (from ParamsREPC) | Voltage and reactive power filter time constant in s (typical: 0.01..0.02) | |
| Types.Time | tFt (from ParamsREPC) | Plant controller Q output lead time constant in s | |
| Types.Time | tFv (from ParamsREPC) | Plant controller Q output lag time constant in s (typical: 0.15..5) | |
| Types.Time | tLag (from ParamsREPC) | Plant controller P output lag time constant in s(typical: 0.15..5) | |
| Types.Time | tpREPC (from ParamsREPC) | Active power filter time constant in REPC in s (typical: 0.01..0.02) | |
| Types.VoltageModulePu | VFrz (from ParamsREPC) | Voltage for freezing Volt/VAR regulator integrator (typical: 0..0.9) | |
| LV transformer | |||
| Types.PerUnit | RLvTrPu (from ParamsLvTfo) | Serial resistance of LV transformer in pu (base UNom, SNom). Including source resistance for voltage source. | |
| Types.PerUnit | XLvTrPu (from ParamsLvTfo) | Serial reactance of LV transformer in pu (base UNom, SNom). Including source reactance for voltage source. | |
| Boolean | ConverterLVControl (from ParamsLvTfo) | If true, the converter is controlling at its output (LV side of its transformer), if false, after its transformer (MV side) | |
| MV network + MV/HV transformer | |||
| Types.PerUnit | BMvHvPu (from ParamsPCS) | 0 | Shunt susceptance of internal MV network + MV/HV transformer in pu (base UNom, SNom) |
| Types.PerUnit | GMvHvPu (from ParamsPCS) | 0 | Shunt conductance of internal MV network + MV/HV transformer in pu (base UNom, SNom) |
| Types.PerUnit | RMvHvPu (from ParamsPCS) | 0 | Serial resistance of internal MV network + MV/HV transformer in pu (base UNom, SNom) |
| Types.PerUnit | XMvHvPu (from ParamsPCS) | 0 | Serial reactance of internal MV network + MV/HV transformer in pu (base UNom, SNom) |
| Types.PerUnit | rTfoPu (from ParamsPCS) | 1 | Transformation ratio in pu: UWT_terminal/UWTG_terminal in no load conditions |
| Boolean | PPCLocal (from ParamsPCS) | If true, the Power Park Control is controlling at model's output terminal, if false, at a remote terminal using external measurements | |
| Operating point | |||
| Types.ActivePowerPu | PPcc0Pu (from BasePCS) | 0 | Initial active power at the external bus controlled by the PPC (used when PPCLocal = false, meaning the PCS is defined outside of the model) in pu (base UNom, SnRef) (receptor convention) |
| Types.ReactivePowerPu | QPcc0Pu (from BasePCS) | 0 | Initial reactive power at the external bus controlled by the PPC (used when PPCLocal = false, meaning the PCS is defined outside of the model) in pu (base UNom, SnRef) (receptor convention) |
| Types.ComplexVoltagePu | uPcc0Pu (from BasePCS) | Initial voltage module at the external bus controlled by the PPC (used when PPCLocal = false, meaning the PCS is defined outside of the model) in pu (base UNom) | |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.RealInput | omegaRefPu (from BaseBESSCurrentSource) | ||
| Modelica.Blocks.Interfaces.RealInput | PAuxPu (from BaseBESSCurrentSource) | Auxiliary input in pu (base SNom) (generator convention) | |
| Modelica.Blocks.Interfaces.RealInput | PFaRef (from BaseBESSCurrentSource) | Power factor angle reference in rad | |
| Dynawo.Connectors.ACPower | terminal (from BasePCS) | ||
| Modelica.Blocks.Interfaces.RealInput | PPccPu (from BasePCS) | Active power setpoint at regulated bus in pu (receptor convention) (base SnRef) (used only when PPCLocal = false) | |
| Modelica.Blocks.Interfaces.RealInput | QPccPu (from BasePCS) | Reactive power setpoint at regulated bus in pu (receptor convention) (base SnRef) (used only when PPCLocal = false) | |
| Modelica.ComplexBlocks.Interfaces.ComplexInput | uPccPu (from BasePCS) | Complex voltage at PPC regulated bus in pu (base UNom) | |
| Modelica.Blocks.Interfaces.RealOutput | UControlPu (from BasePCS) | Voltage amplitude at the point controlled by the PPC (either model's output terminal or external PCC) in pu (base UNom) | |
| Modelica.Blocks.Interfaces.RealInput | PRefPu | Active power reference in pu (generator convention) (base SNom) | |
| Modelica.Blocks.Interfaces.RealInput | QRefPu | Reactive power reference in pu (generator convention) (base SNom) | |
| Modelica.Blocks.Interfaces.RealInput | URefPu | Voltage setpoint for plant level control in pu (base UNom) |