modelREECB1

Electrical control model for large scale photovoltaic

Extends from OpenIPSL.Electrical.Renewables.PSSE.ElectricalController.BaseClasses.BaseREECB (Base renewable energy electrical controller model B).

Information

The REECB1 component used to represent the electrical controls of photovoltaic generation. The electrical controller actuates on the active and reactive power reference from either the plant controller component or from power flow power reference values (in the case where there is no plant controller), with feedback variables that original from the inverter interface component, specifically terminal voltage and generator power output, and provides real (Ipcmd) and reactive current (Iqcmd) commands to the REGC types module.

For initialization purposes, there are 5 inputs that are derived from the inverter component: initial real and reactive injection currents (IP0 and IQ0), initial terminal voltage (v_0), and initial active and reactive power injections (p_0 and q_0).

In terms of connectivity with other components to form the renewable source, the REECB1 component has five inputs, three of which are connected to the inverter component (for instance REGCA1), and two more that can either be constant values from the power flow initialization or come from the connection to the plant controller. The three REECB1 inputs that take in values from the output of the inverter model are Vt, Pgen, and Qgen while the two inputs that could potentially be constant valued or come from the plant controller are Pref, and Qext.

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

Parameters

TypeNameDefaultDescription
OpenIPSL.Types.PerUnitVdip-99Low voltage threshold to activate reactive current injection logic (0.85 - 0.9)
OpenIPSL.Types.PerUnitVup99Voltage above which reactive current injection logic is activated (>1.1)
OpenIPSL.Types.TimeTrv0Filter time constant for voltage measurement (0.01 - 0.02)
OpenIPSL.Types.PerUnitdbd1-0.05Voltage error dead band lower threshold (-0.1 - 0)
OpenIPSL.Types.PerUnitdbd20.05Voltage error dead band upper threshold (0 - 0.1)
RealKqv0Reactive current injection gain during over and undervoltage conditions (0 - 10)
OpenIPSL.Types.PerUnitIqh11.05Upper limit on reactive current injection Iqinj (1 - 1.1)
OpenIPSL.Types.PerUnitIql1-1.05Lower limit on reactive current injection Iqinj (-1.1 - 1)
OpenIPSL.Types.PerUnitvref01User defined voltage reference (0.95 - 1.05)
OpenIPSL.Types.TimeTp0.05Filter time constant for electrical power (0.01 - 0.1)
OpenIPSL.Types.PerUnitQmax0.4360Upper limits of the limit for reactive power regulator (0.4 - 1.0)
OpenIPSL.Types.PerUnitQmin-0.4360Lower limits of the limit for reactive power regulator (-1.0 - -0.4)
OpenIPSL.Types.PerUnitVmax1.1Maximum limit for voltage control (1.05 - 1.1)
OpenIPSL.Types.PerUnitVmin0.9Lower limits of input signals (0.9 - 0.95)
RealKqp0Reactive power regulator proportional gain (No predefined range)
RealKqi0.1Reactive power regulator integral gain (No predefined range)
RealKvp0Voltage regulator proportional gain (No predefined range)
RealKvi40Voltage regulator integral gain (No predefined range)
OpenIPSL.Types.TimeTiq0.02Time constant on lag delay (0.01 - 0.02)
RealdPmax99Power reference maximum ramp rate (No predefined range)
RealdPmin-99Lower limits of input signals (No predefined range)
OpenIPSL.Types.PerUnitPmax1Maximum power limit
OpenIPSL.Types.PerUnitPmin0Minimum power limit
OpenIPSL.Types.PerUnitImax1.82Maximum limit on total converter current (1.1 - 1.3)
OpenIPSL.Types.TimeTpord0.02Power filter time constant (0.01 - 0.02)
Control
Booleanpfflag (from BaseREECB)trueConstant output value
Booleanvflag (from BaseREECB)trueConstant output value
Booleanqflag (from BaseREECB)trueConstant output value
Booleanpqflag (from BaseREECB)trueConstant output value

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputVt (from BaseREECB)Terminal Voltage Magnitude
Modelica.Blocks.Interfaces.RealInputPe (from BaseREECB)Electrical Power Generation
Modelica.Blocks.Interfaces.RealInputQext (from BaseREECB)Reactive Power Reference
Modelica.Blocks.Interfaces.RealInputQgen (from BaseREECB)Reactive Power Generation
Modelica.Blocks.Interfaces.RealInputPref (from BaseREECB)Active Power Reference
Modelica.Blocks.Interfaces.RealInputip0 (from BaseREECB)Initial Real Current
Modelica.Blocks.Interfaces.RealInputiq0 (from BaseREECB)Initial Reactive Current
Modelica.Blocks.Interfaces.RealOutputIqcmd (from BaseREECB)Command Reactive Current
Modelica.Blocks.Interfaces.RealOutputIpcmd (from BaseREECB)Command Active Current
Modelica.Blocks.Interfaces.RealInputv0 (from BaseREECB)Initial Terminal Voltage Magnitude
Modelica.Blocks.Interfaces.RealInputp0 (from BaseREECB)Initial Active Power
Modelica.Blocks.Interfaces.RealInputq0 (from BaseREECB)Initial Reactive Power

Components

TypeNameDefaultDescription
IntegerVoltage_dip
Modelica.Blocks.Sources.BooleanConstantPfFlag_logic
Modelica.Blocks.Logical.SwitchPfFlagConstant Q (False) or PF (True) local control.
Modelica.Blocks.Nonlinear.Limiterlimiter1
Modelica.Blocks.Math.Addadd1
Modelica.Blocks.Continuous.Integratorintegrator
Modelica.Blocks.Math.Gaingain
Modelica.Blocks.Math.Addadd2
Modelica.Blocks.Sources.RealExpressionfrzState
Modelica.Blocks.Math.Productproduct2
Modelica.Blocks.Nonlinear.Limiterlimiter2
Modelica.Blocks.Sources.BooleanConstantVflag_logic
Modelica.Blocks.Logical.SwitchVFlagConstant Q (False) or PF (True) local control.
Modelica.Blocks.Nonlinear.Limiterlimiter3
Modelica.Blocks.Math.Addadd4
Modelica.Blocks.Sources.RealExpressionVt_filt2
Modelica.Blocks.Math.Gaingain1
Modelica.Blocks.Continuous.Integratorintegrator1
Modelica.Blocks.Math.Addadd5
Modelica.Blocks.Math.Productproduct3
Modelica.Blocks.Sources.RealExpressionfrzState1
Modelica.Blocks.Nonlinear.VariableLimitervariableLimiter2
Modelica.Blocks.Sources.RealExpressionIQMAX_
Modelica.Blocks.Sources.RealExpressionIQMIN_
Modelica.Blocks.Logical.SwitchQFlag
Modelica.Blocks.Sources.BooleanConstantQFLAG
Modelica.Blocks.Math.Addadd6
Modelica.Blocks.Nonlinear.VariableLimitervariableLimiter
Modelica.Blocks.Sources.RealExpressionIQMIN
Modelica.Blocks.Sources.RealExpressionIQMAX
Modelica.Blocks.Math.Addadd7
Modelica.Blocks.Continuous.Integratorintegrator2
Modelica.Blocks.Math.Productproduct4
Modelica.Blocks.Sources.RealExpressionVt_filt1
Modelica.Blocks.Nonlinear.Limiterlimiter4
Modelica.Blocks.Math.Divisiondivision
Modelica.Blocks.Nonlinear.VariableLimitervariableLimiter1
Modelica.Blocks.Sources.RealExpressionIPMAX
Modelica.Blocks.Sources.RealExpressionIPMIN
NonElectrical.Continuous.SimpleLagsimpleLag
Modelica.Blocks.Math.Addadd
Modelica.Blocks.Nonlinear.Limiterlimiter
Modelica.Blocks.Sources.RealExpressionVREF0
Modelica.Blocks.Nonlinear.DeadZonedbd1_dbd2
Modelica.Blocks.Math.Gaingain2
NonElectrical.Continuous.SimpleLagsimpleLag1
Modelica.Blocks.Math.Tantan1
Modelica.Blocks.Math.Productproduct1
Modelica.Blocks.Sources.RealExpressionPFAREF
Modelica.Blocks.Math.Divisiondivision1
Modelica.Blocks.Nonlinear.Limiterlimiter5
Modelica.Blocks.Math.Addadd8
Modelica.Blocks.Nonlinear.Limiterlimiter7
Modelica.Blocks.Continuous.Integratorintegrator3
Modelica.Blocks.Nonlinear.Limiterlimiter8
Modelica.Blocks.Sources.RealExpressionVt_filt3
OpenIPSL.Electrical.Renewables.PSSE.ElectricalController.BaseClasses.CurrentLimitLogicREECBccl
Modelica.Blocks.Sources.BooleanConstantPqflag_logic
Modelica.Blocks.Sources.RealExpressionfrzState2
Modelica.Blocks.Math.Productproduct6
Modelica.Blocks.Sources.RealExpressionVReF0