1 # Copyright (C) 2010 Richard Lincoln
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA, USA
17 from CIM14
.Dynamics
.ExcitationSystems
.ExcitationSystem
import ExcitationSystem
19 class ExcST3A(ExcitationSystem
):
20 """IEEE (1992/2005) ST3A Model Some static systems utilize a field voltage control loop to linearize the exciter control characteristic. This also makes the output independent of supply source variations until supply limitations are reached. These systems utilize a variety of controlled-rectifier designs: full thyristor complements or hybrid bridges in either series or shunt configurations. The power source may consist of only a potential source, either fed from the machine terminals or from internal windings. Some designs may have compound power sources utilizing both machine potential and current. These power sources are represented as phasor combinations of machine terminal current and voltage and are accommodated by suitable parameters in the model Type ST3A.
23 def __init__(self
, kp
=0.0, angp
=0.0, xl
=0.0, tc
=0.0, tb
=0.0, ki
=0.0, vbmax
=0.0, kc
=0.0, vrmax
=0.0, vimax
=0.0, vgmax
=0.0, km
=0.0, vmmax
=0.0, ka
=0.0, tr
=0.0, vrmin
=0.0, kg
=0.0, vimin
=0.0, vmmin
=0.0, tm
=0.0, ta
=0.0, *args
, **kw_args
):
24 """Initialises a new 'ExcST3A' instance.
26 @param kp: Potential source gain (> 0.)
27 @param angp: Phase angle of potential source
28 @param xl: P-bar reactance (>= 0.)
29 @param tc: AVR lead time constant
30 @param tb: AVR lag time constant (>= 0.)
31 @param ki: Current source gain (>= 0.)
32 @param vbmax: Maximum excitation voltage (> 0.)
33 @param kc: Exciter regulation factor (>= 0.)
34 @param vrmax: Maximum AVR output (> 0.)
35 @param vimax: Maximum error (> 0.)
36 @param vgmax: Maximum inner loop feedback voltage (>= 0.)
37 @param km: Inner loop forward gain (> 0.)
38 @param vmmax: Maximum inner loop output (> 0.)
39 @param ka: AVR gain (> 0.)
40 @param tr: Voltage transducer time constant (>= 0.)
41 @param vrmin: Minimum AVR output (< 0.)
42 @param kg: Inner loop feedback gain (>= 0.)
43 @param vimin: Minimum error (< 0.)
44 @param vmmin: Minimum inner loop output (<= 0.)
45 @param tm: Inner loop time constant (> 0.)
46 @param ta: AVR time constant (>= 0.)
48 #: Potential source gain (> 0.)
51 #: Phase angle of potential source
54 #: P-bar reactance (>= 0.)
57 #: AVR lead time constant
60 #: AVR lag time constant (>= 0.)
63 #: Current source gain (>= 0.)
66 #: Maximum excitation voltage (> 0.)
69 #: Exciter regulation factor (>= 0.)
72 #: Maximum AVR output (> 0.)
75 #: Maximum error (> 0.)
78 #: Maximum inner loop feedback voltage (>= 0.)
81 #: Inner loop forward gain (> 0.)
84 #: Maximum inner loop output (> 0.)
90 #: Voltage transducer time constant (>= 0.)
93 #: Minimum AVR output (< 0.)
96 #: Inner loop feedback gain (>= 0.)
99 #: Minimum error (< 0.)
102 #: Minimum inner loop output (<= 0.)
105 #: Inner loop time constant (> 0.)
108 #: AVR time constant (>= 0.)
111 super(ExcST3A
, self
).__init
__(*args
, **kw_args
)
113 _attrs
= ["kp", "angp", "xl", "tc", "tb", "ki", "vbmax", "kc", "vrmax", "vimax", "vgmax", "km", "vmmax", "ka", "tr", "vrmin", "kg", "vimin", "vmmin", "tm", "ta"]
114 _attr_types
= {"kp": float, "angp": float, "xl": float, "tc": float, "tb": float, "ki": float, "vbmax": float, "kc": float, "vrmax": float, "vimax": float, "vgmax": float, "km": float, "vmmax": float, "ka": float, "tr": float, "vrmin": float, "kg": float, "vimin": float, "vmmin": float, "tm": float, "ta": float}
115 _defaults
= {"kp": 0.0, "angp": 0.0, "xl": 0.0, "tc": 0.0, "tb": 0.0, "ki": 0.0, "vbmax": 0.0, "kc": 0.0, "vrmax": 0.0, "vimax": 0.0, "vgmax": 0.0, "km": 0.0, "vmmax": 0.0, "ka": 0.0, "tr": 0.0, "vrmin": 0.0, "kg": 0.0, "vimin": 0.0, "vmmin": 0.0, "tm": 0.0, "ta": 0.0}