modelREPCa

WECC Plant Control type A

Extends from Dynawo.Electrical.Controls.WECC.Parameters.ParamsREPC.

Information

This block contains the generic WECC PV plant level control model according to (in case page cannot be found, copy link in browser): https://www.wecc.biz/Reliability/WECC%20Solar%20Plant%20Dynamic%20Modeling%20Guidelines.pdf

Plant level active and reactive power/voltage control. Reactive power or voltage control dependent on RefFlag. Frequency dependent active power control is enabled or disabled with FreqFlag. With voltage control (RefFlag = true), voltage at remote bus can be controlled when VcompFlag == true. Therefore, RcPu and XcPu shall be defined as per real impedance between inverter terminal and regulated bus. If measurements from the regulated bus are available, VcompFlag should be set to false and the measurements from regulated bus shall be connected with the input measurement signals (PRegPu, QRegPu, uPu, iPu).

Parameters

TypeNameDefaultDescription
Types.PerUnitRcPuLine drop compensation resistance when VcompFlag = 1 in pu (base SnRef, UNom)
Types.PerUnitXcPuLine drop compensation reactance when VcompFlag = 1 in pu (base SnRef, UNom)
Types.PerUnitPGen0PuStart value of active power at regulated bus in pu (generator convention) (base SNom)
Types.PerUnitQGen0PuStart value of reactive power at regulated bus in pu (generator convention) (base SNom)
Types.PerUnitU0PuStart value of voltage magnitude at regulated bus in pu (base UNom)
Types.ComplexPerUnitu0PuStart value of complex voltage at regulated bus in pu (base UNom)
Types.PerUnitUInj0PuStart value of voltage magnitude at injector terminal in pu (base UNom)
Types.ComplexPerUnitiInj0PuStart value of complex current at regulated bus in pu (generator convention) (base SNom, UNom)
Types.PerUnitPInj0PuStart value of active power at injector terminal in pu (generator convention) (base SNom)
Types.PerUnitQInj0PuStart value of reactive power at injector terminal in pu (generator convention) (base SNom)
Types.PerUnitURef0Puif VCompFlag == true then UInj0Pu else U0Pu + Kc*QGen0PuStart value of voltage setpoint for plant level control, calculated depending on VcompFlag, in pu (base UNom)
Plant Control
BooleanFreqFlag (from ParamsREPC)Governor response disable (0) or enable (1)
BooleanRefFlag (from ParamsREPC)Plant level reactive power (0) or voltage control (1)
BooleanVCompFlag (from ParamsREPC)Reactive droop (0) or line drop compensation (1) if RefFlag true
Types.PerUnitDbdPu (from ParamsREPC)Reactive power (RefFlag = 0) or voltage (RefFlag = 1) deadband in pu (base SNom or UNom) (typical: 0..0.1)
Types.PerUnitDDn (from ParamsREPC)Down regulation droop (typical: 20..33.3)
Types.PerUnitDUp (from ParamsREPC)Up regulation droop (typical: 0)
Types.PerUnitEMaxPu (from ParamsREPC)Maximum Volt/VAR error in pu (base UNom or SNom)
Types.PerUnitEMinPu (from ParamsREPC)Minimum Volt/VAR error in pu (base UNom or SNom)
Types.PerUnitFDbd1Pu (from ParamsREPC)Overfrequency deadband for governor response in pu (base omegaNom) (typical: 0.004)
Types.PerUnitFDbd2Pu (from ParamsREPC)Underfrequency deadband for governor response in pu (base omegaNom)^ (typical: 0.004)
Types.PerUnitFEMaxPu (from ParamsREPC)Maximum frequency error in droop regulator in pu (base omegaNom)
Types.PerUnitFEMinPu (from ParamsREPC)Minimum frequency error in droop regulator in pu (base omegaNom)
Types.PerUnitKc (from ParamsREPC)Reactive droop when VCompFlag = 0
Types.PerUnitKi (from ParamsREPC)Volt/VAR regulator integral gain
Types.PerUnitKig (from ParamsREPC)Droop regulator integral gain
Types.PerUnitKp (from ParamsREPC)Volt/VAR regulator proportional gain
Types.PerUnitKpg (from ParamsREPC)Droop regulator proportional gain
Types.ActivePowerPuPMaxPu (from ParamsREPC)Maximum plant level active power command in pu (base SNom)
Types.ActivePowerPuPMinPu (from ParamsREPC)Minimum plant level active power command in pu (base SNom)
Types.ReactivePowerPuQMaxPu (from ParamsREPC)Maximum plant level reactive power command in pu (base SNom)
Types.ReactivePowerPuQMinPu (from ParamsREPC)Minimum plant level reactive power command in pu (base SNom)
Types.TimetFilterPC (from ParamsREPC)Voltage and reactive power filter time constant in s (typical: 0.01..0.02)
Types.TimetFt (from ParamsREPC)Plant controller Q output lead time constant in s
Types.TimetFv (from ParamsREPC)Plant controller Q output lag time constant in s (typical: 0.15..5)
Types.TimetLag (from ParamsREPC)Plant controller P output lag time constant in s(typical: 0.15..5)
Types.TimetP (from ParamsREPC)Active power filter time constant in s (typical: 0.01..0.02)
Types.VoltageModulePuVFrz (from ParamsREPC)Voltage for freezing Volt/VAR regulator integrator (typical: 0..0.9)

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputPRefPuActive power setpoint at regulated bus in pu (generator convention) (base SNom)
Modelica.Blocks.Interfaces.RealInputQRefPuReactive power setpoint at regulated bus in pu (generator convention) (base SNom)
Modelica.Blocks.Interfaces.RealInputomegaRefPuFrequency setpoint
Modelica.Blocks.Interfaces.RealInputPRegPuActive power at regulated bus in pu (generator convention) (base SNom)
Modelica.Blocks.Interfaces.RealInputQRegPuReactive power at regulated bus in pu (generator convention) (base SNom)
Modelica.Blocks.Interfaces.RealInputURefPuVoltage setpoint for plant level control in pu (base UNom)
Modelica.ComplexBlocks.Interfaces.ComplexInputuPuComplex voltage at regulated bus in pu (base UNom)
Modelica.ComplexBlocks.Interfaces.ComplexInputiPuComplex current at regulated bus in pu (generator convention) (base SnRef, UNom)
Modelica.Blocks.Interfaces.RealInputomegaPuFrequency at regulated bus in pu (base omegaNom)
Modelica.Blocks.Interfaces.RealOutputPInjRefPuActive power setpoint at inverter terminal in pu (generator convention) (base SNom)
Modelica.Blocks.Interfaces.RealOutputQInjRefPuReactive power setpoint at inverter terminal in pu (generator convention) (base SNom)
Modelica.Blocks.Interfaces.BooleanOutputfreezeBoolean to freeze the regulation

Components

TypeNameDefaultDescription
Modelica.Blocks.Logical.Switchswitch
Modelica.Blocks.Sources.BooleanConstantFreqFlag0
Modelica.Blocks.Continuous.FirstOrderfirstOrder
Modelica.Blocks.Sources.ConstantZero
Modelica.Blocks.Nonlinear.LimiterPRefLim
Modelica.Blocks.Continuous.LimPIDlimPID
Modelica.Blocks.Math.Add3add3
Modelica.Blocks.Continuous.FirstOrderfirstOrder1
Modelica.Blocks.Nonlinear.LimiterQVErrLim
Modelica.Blocks.Sources.ConstantZero1
Modelica.Blocks.Sources.BooleanConstantRefFlag0
Modelica.Blocks.Logical.Switchswitch1
Modelica.Blocks.Nonlinear.DeadZonedeadZone
Modelica.Blocks.Continuous.FirstOrderfirstOrder2
Modelica.Blocks.Math.AddQCtrlErr
Modelica.Blocks.Math.AddUCtrlErr
Modelica.Blocks.Continuous.FirstOrderfirstOrder3
Dynawo.Electrical.Controls.WECC.BaseControls.LineDropCompensationlineDropCompensation1
Modelica.Blocks.Logical.Switchswitch2
Modelica.Blocks.Sources.BooleanConstantVCompFlag0
Modelica.Blocks.Math.AddQVCtrlErr
Modelica.Blocks.Math.Gaingain
Modelica.Blocks.Math.AddwCtrlErr
Modelica.Blocks.Nonlinear.DeadZonedeadZone1
Modelica.Blocks.Math.AdddPfreq
Modelica.Blocks.Math.Gaingain1
Modelica.Blocks.Math.Gaingain2
Modelica.Blocks.Nonlinear.Limiterlimiter
Modelica.Blocks.Nonlinear.Limiterlimiter1
Modelica.Blocks.Sources.Constantconst
Dynawo.NonElectrical.Blocks.Continuous.LimPIDFreezelimPIDFreeze
Dynawo.Electrical.Controls.WECC.BaseControls.VoltageCheckvoltageCheck
Dynawo.NonElectrical.Blocks.Continuous.TransferFunctionleadLag