blockIEEE_AC4A
Extends from Controls.BaseClasses.BaseControllerFramework (Base framework for all controllers such as AVR, PSS, etc.).
Information
The class implements a model of a static exictation system according to the IEEE Std 421.5TM-2005.
The type implemented is the AC4A, described in the chapter 6.4 of the same IEEE Std 421.5TM-2005.
Unlike the aforementioned standard, the output voltage ceiling limitation is fixed to VrMax, while in the standard it depends to the field current IFd.
If fixInitialControlledVariable = true, an initial equation is added to ensure that the machine voltage VcPu is equal to its start value VcPuStart. 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 VcPu = VcPuStart 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 | ViMax | 100 | Input voltage max limit in p.u. |
| SI.PerUnit | ViMin | -100 | Input voltage min limit in p.u. |
| SI.Time | Tc | 3 | Lead time constant |
| SI.Time | Tb | 10 | Lag delay time constant |
| SI.PerUnit | Ka | 200 | Overall equivalent gain |
| SI.Time | Ta | 0.05 | Overall time constant |
| SI.PerUnit | VrMax | 4 | Output voltage max limit in p.u. |
| SI.PerUnit | VrMin | 0 | Output voltage min limit in p.u. |
| SI.PerUnit | VcPuStart | 1 | Required start value of VcPu when fixInitialControlledVariable = true |
| SI.PerUnit | oversaturationPu | 0.1 | abs(u-usat)/(Vmax-Vmin) in case of saturated initial condition |
| Real | delta | (inputLimiter.uMax - inputLimiter.uMin)*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 | VsPu | PSS output p.u | |
| Modelica.Blocks.Interfaces.RealInput | VcPu | Machine terminal voltage p.u. | |
| Modelica.Blocks.Interfaces.RealInput | VrefPu | Voltage reference p.u. | |
| Modelica.Blocks.Interfaces.RealInput | VuelPu | Underexcitation limit p.u. | |
| Modelica.Blocks.Interfaces.RealOutput | efdPu | Exciter output voltage p.u. |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| System | systemPowerGrids (from BaseControllerFramework) | Reference to system object for system-level defaults | |
| Modelica.Blocks.Math.Add3 | addIng | ||
| Modelica.Blocks.Nonlinear.Limiter | inputLimiter | ||
| PowerGrids.Controls.LeadLag | leadLag | ||
| PowerGrids.Controls.FirstOrderWithNonWindupLimiter | firstOrderLim | ||
| Modelica.Blocks.Nonlinear.VariableLimiter | variableLimiter | ||
| Modelica.Blocks.Sources.Constant | largeReal |