blockIEEE_TGOV1

Simple Steam Turbine Governor - IEEE type 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

TypeNameDefaultDescription
SI.PerUnitVMax1Maximum gate limit in p.u.
SI.PerUnitVMin0Minimum gate limit in p.u.
SI.PerUnitR0.05Controller Droop
SI.PerUnitDt0Frictional losses factor
SI.TimeT10.5Governor time constant
SI.TimeT23Turbine derivative time constant
SI.TimeT310Turbine delay time constant
SI.PerUnitPMechPuStart1Required start value of PmechPu when fixInitialControlledVariable = true
SI.PerUnitoversaturationPu0.1abs(u-usat)/(Vmax-Vmin) in case of saturated initial condition
Realdelta(firstOrderLim.yMax - firstOrderLim.yMin)*oversaturationPuActuator saturation margin
Initialization
BooleanfixInitialControlledVariableDefault (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
BooleanfixInitialControlledVariable (from BaseControllerFramework)fixInitialControlledVariableDefault= true adds extra initial equation to fix controlled variable

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputRefLPuReference frequency/load input [pu]
Modelica.Blocks.Interfaces.RealInputomegaPuFrequency [pu]
Modelica.Blocks.Interfaces.RealOutputPMechPuMechanical turbine power [pu]

Components

TypeNameDefaultDescription
SystemsystemPowerGrids (from BaseControllerFramework)Reference to system object for system-level defaults
Modelica.Blocks.Math.FeedbackerrPu
Modelica.Blocks.Math.FeedbackdeltaOmegaPu
Modelica.Blocks.Sources.ConstantomegaRefPu
Modelica.Blocks.Math.GaingainDt
Modelica.Blocks.Math.GaingainDivR
PowerGrids.Controls.FirstOrderWithNonWindupLimiterfirstOrderLim
PowerGrids.Controls.LeadLagleadLag
Modelica.Blocks.Math.FeedbacksumPMechPu