modelREPCA1

Renewable energy plant controller model A

Extends from BaseClasses.BaseREPC (Base class for the plant controller of the WECC generic renewable models).

Information

The REPCA1 module is used to represent the renewable energy plant controller. It takes as input voltage and reactive power to then generate volt/var control at the plant level. It also generates frequency and active power output to emulate active power control. TThe REPCA1 module provides active reactive power command references to the electrical controller components (REECA1, REECB1, and REECCU1).

The modelling of such devices is based, mainly, on the following reference:

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.TimeTfltr0.02Voltage or reactive power measurement filter time constant
RealKp18Reactive power PI control proportional gain
RealKi5Reactive power PI control integral gain
Modelica.Units.SI.TimeTft0Lead time constant
Modelica.Units.SI.TimeTfv0.075Lag time constant
OpenIPSL.Types.PerUnitVfrz0Voltage below which State s2 is frozen
OpenIPSL.Types.PerUnitRc0.0025Line drop compensation resistance
OpenIPSL.Types.PerUnitXc0.0025Line drop compensation reactance
RealKc0.02Reactive current compensation gain
OpenIPSL.Types.PerUnitemax0.1Upper limit on deadband output
OpenIPSL.Types.PerUnitemin-0.1Lower limit on deadband output
OpenIPSL.Types.PerUnitdbd10Lower threshold for reactive power control deadband (<=0)
OpenIPSL.Types.PerUnitdbd20Upper threshold for reactive power control deadband (>=0)
OpenIPSL.Types.PerUnitQmax0.4360Upper limit on output of V/Q control
OpenIPSL.Types.PerUnitQmin-0.4360Lower limit on output of V/Q control
RealKpg0.1Proportional gain for power control
RealKig0.05Proportional gain for power control
Modelica.Units.SI.TimeTp0.25Real power measurement filter time constant
OpenIPSL.Types.PerUnitfdbd10Deadband for frequency control, lower threshold (<=0)
OpenIPSL.Types.PerUnitfdbd20Deadband for frequency control, upper threshold (>=0)
OpenIPSL.Types.PerUnitfemax999Frequency error upper limit
OpenIPSL.Types.PerUnitfemin-999Frequency error lower limit
OpenIPSL.Types.PerUnitPmax999Upper limit on power reference
OpenIPSL.Types.PerUnitPmin-999Lower limit on power reference
Modelica.Units.SI.TimeTg0.1Power Controller lag time constant
OpenIPSL.Types.PerUnitDdn20Reciprocal of droop for over-frequency conditions
OpenIPSL.Types.PerUnitDup0Reciprocal of droop for under-frequency conditions
RealVrefv_0Regulated bus initial voltage
Power flow data
OpenIPSL.Types.ApparentPowerM_b (from BaseREPC)SysData.S_bMachine base power
Types.ApparentPowerS_b (from pfComponent)SysData.S_bSystem base power
Types.VoltageV_b (from pfComponent)400e3Base voltage of the bus
Types.Frequencyfn (from pfComponent)SysData.fnSystem frequency
Types.ActivePowerP_0 (from pfComponent)1e6Initial active power
Types.ReactivePowerQ_0 (from pfComponent)0Initial reactive power
Types.PerUnitv_0 (from pfComponent)1Initial voltage magnitude
Types.Angleangle_0 (from pfComponent)0Initial voltage angle
BooleandisplayPF (from pfComponent)falseDisplay power flow:
Parameter mask
BooleanenableS_b (from pfComponent)falseEnable S_b in parameter list
BooleanenableV_b (from pfComponent)falseEnable V_b in parameter list
Booleanenablefn (from pfComponent)falseEnable fn in parameter list
BooleanenableP_0 (from pfComponent)falseEnable P_0 in parameter list
BooleanenableQ_0 (from pfComponent)falseEnable Q_0 in parameter list
Booleanenablev_0 (from pfComponent)falseEnable v_0 in parameter list
Booleanenableangle_0 (from pfComponent)falseEnable angle_0 in parameter list
BooleanenabledisplayPF (from pfComponent)falseEnable displayPF in parameter list
Control
Booleanvcflag (from BaseREPC)trueReactive droop (false) or line drop compensation (true)
Booleanrefflag (from BaseREPC)truePlant-level reactive power (false) or voltage control (true)
Booleanfflag (from BaseREPC)trueGovernor response disable (false) or enable (true)

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputQref (from BaseREPC)Reactive Power Reference
Modelica.Blocks.Interfaces.RealInputPlant_pref (from BaseREPC)Active Power Reference
Modelica.Blocks.Interfaces.RealInputFreq (from BaseREPC)Connection Point Frequency
Modelica.Blocks.Interfaces.RealInputFreq_ref (from BaseREPC)Plant Controller Frequency Reference
Modelica.Blocks.Interfaces.RealOutputQext (from BaseREPC)Reactive Power output signal
Modelica.Blocks.Interfaces.RealOutputPref (from BaseREPC)Real Power output signal
Modelica.Blocks.Interfaces.RealInputp0 (from BaseREPC)Initial Active Power
Modelica.Blocks.Interfaces.RealInputq0 (from BaseREPC)Initial Reactive Power
Modelica.Blocks.Interfaces.RealInputv0 (from BaseREPC)Initial Terminal Voltage Magnitude
Modelica.Blocks.Interfaces.RealInputbranch_ir (from BaseREPC)Measured Branch Real Current
Modelica.Blocks.Interfaces.RealInputbranch_ii (from BaseREPC)Measured Branch Imaginary Current
Modelica.Blocks.Interfaces.RealInputregulate_vr (from BaseREPC)Regulated Branch Real Voltage
Modelica.Blocks.Interfaces.RealInputregulate_vi (from BaseREPC)Regulated Branch Imaginary Voltage

Components

TypeNameDefaultDescription
OpenIPSL.Electrical.SystemBaseSysData (from pfComponent)Must add this line in all models
OpenIPSL.Types.PerUnitvoltage_diff
OpenIPSL.Types.PerUnitvreg
OpenIPSL.Types.PerUnitqbranch
OpenIPSL.Types.PerUnitpbranch
BooleanVoltage_dip
Modelica.Blocks.Math.Addadd
Modelica.Blocks.Math.GainDDN
Modelica.Blocks.Math.GainDUP
Modelica.Blocks.Nonlinear.Limiterlimiter
Modelica.Blocks.Nonlinear.Limiterlimiter1
Modelica.Blocks.Math.Addadd1
Modelica.Blocks.Math.Add3add3_1
NonElectrical.Continuous.SimpleLagsimpleLag
Modelica.Blocks.Nonlinear.Limiterlimiter2
Modelica.Blocks.Math.GainKPG
Modelica.Blocks.Continuous.IntegratorKIG
Modelica.Blocks.Math.Addadd2
Modelica.Blocks.Nonlinear.Limiterlimiter3
NonElectrical.Continuous.SimpleLagsimpleLag1
Modelica.Blocks.Logical.SwitchFREQ_FLAG
Modelica.Blocks.Sources.BooleanConstantFREQ_FLAG_logic
Modelica.Blocks.Sources.RealExpressionVreg
Modelica.Blocks.Sources.RealExpressionQbranch
Modelica.Blocks.Sources.RealExpressionPbranch
Modelica.Blocks.Sources.RealExpressionVoltage_diff
Modelica.Blocks.Logical.SwitchVCFLAG
Modelica.Blocks.Math.Addadd3
Modelica.Blocks.Math.GainKC
Modelica.Blocks.Sources.BooleanConstantVCFLAG_logic
NonElectrical.Continuous.SimpleLagsimpleLag2
Modelica.Blocks.Math.Addadd4
Modelica.Blocks.Logical.SwitchREFFLAG
Modelica.Blocks.Sources.BooleanConstantREFFLAG_logic
NonElectrical.Continuous.SimpleLagsimpleLag3
Modelica.Blocks.Math.Addadd5
Modelica.Blocks.Nonlinear.Limiterlimiter4
Modelica.Blocks.Sources.ConstantVREF
NonElectrical.Continuous.LeadLagleadLag
Modelica.Blocks.Nonlinear.DeadZonedeadZone
Modelica.Blocks.Nonlinear.DeadZonedeadZone1
ElectricalController.BaseClasses.PIwithNoVariableLimiterpI_No_Windup_notVariable
Modelica.Blocks.Sources.BooleanExpressionVLogic