blockIEEE_TGOV1
Extends from Controls.BaseClasses.BaseControllerFramework (Base framework for all controllers such as AVR, PSS, etc.).
Information
The class implements a model of a simple steam turbine governor according to the IEEE technical report PES-TR1 Jan 2013.
The type implemented is the TGOV1, described in the chapter 2.2 of the same IEEE technical report PES-TR1 Jan 2013.
If fixInitialControlledVariable = true, an initial equation is added to ensure that the mechanical power output PMechPu is equal to its start value PMechPuStart. In order to fulfill this condition, the initial value of the reference signal should be free, so that the Modelica tool can back-compute it automatically. For this purpose, the PowerGrids.Controls.FreeOffset block should be used to generate the reference signal to be connected to the VrefPu input.
In case the condition PMechPu = PMechPuStart cannot be fulfilled without violating the controller saturations, then an alternative initial condition is enforced, which prescribes the saturation block input so as to obtain a certain degree of oversaturation oversaturationPu. This allows to back-compute a unique initial value of the reference signal, which is of course dependent on oversaturationPu and hence somewhat arbitrary.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| SI.PerUnit | VMax | 1 | Maximum gate limit in p.u. |
| SI.PerUnit | VMin | 0 | Minimum gate limit in p.u. |
| SI.PerUnit | R | 0.05 | Controller Droop |
| SI.PerUnit | Dt | 0 | Frictional losses factor |
| SI.Time | T1 | 0.5 | Governor time constant |
| SI.Time | T2 | 3 | Turbine derivative time constant |
| SI.Time | T3 | 10 | Turbine delay time constant |
| SI.PerUnit | PMechPuStart | 1 | Required start value of PmechPu when fixInitialControlledVariable = true |
| SI.PerUnit | oversaturationPu | 0.1 | abs(u-usat)/(Vmax-Vmin) in case of saturated initial condition |
| Real | delta | (firstOrderLim.yMax - firstOrderLim.yMin)*oversaturationPu | Actuator saturation margin |
| Initialization | |||
| Boolean | fixInitialControlledVariableDefault (from BaseControllerFramework) | if (systemPowerGrids.initOpt == Types.Choices.InitializationOption.globalSteadyStateFixedPowerFlow or systemPowerGrids.initOpt == Types.Choices.InitializationOption.localSteadyStateFixedPowerFlow) then true else false | = true adds extra initial equation to fix controlled variable |
| Boolean | fixInitialControlledVariable (from BaseControllerFramework) | fixInitialControlledVariableDefault | = true adds extra initial equation to fix controlled variable |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.RealInput | RefLPu | Reference frequency/load input [pu] | |
| Modelica.Blocks.Interfaces.RealInput | omegaPu | Frequency [pu] | |
| Modelica.Blocks.Interfaces.RealOutput | PMechPu | Mechanical turbine power [pu] |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| System | systemPowerGrids (from BaseControllerFramework) | Reference to system object for system-level defaults | |
| Modelica.Blocks.Math.Feedback | errPu | ||
| Modelica.Blocks.Math.Feedback | deltaOmegaPu | ||
| Modelica.Blocks.Sources.Constant | omegaRefPu | ||
| Modelica.Blocks.Math.Gain | gainDt | ||
| Modelica.Blocks.Math.Gain | gainDivR | ||
| PowerGrids.Controls.FirstOrderWithNonWindupLimiter | firstOrderLim | ||
| PowerGrids.Controls.LeadLag | leadLag | ||
| Modelica.Blocks.Math.Feedback | sumPMechPu |