Fixing website and API documentation links
[PyCIM.git] / CIM14 / IEC61970 / Dynamics / ExcitationSystems / ExcAC7B.py
blobb7e220e87edc215332001d99e7e0092e32d5bf6d
1 # Copyright (C) 2010-2011 Richard Lincoln
3 # Permission is hereby granted, free of charge, to any person obtaining a copy
4 # of this software and associated documentation files (the "Software"), to
5 # deal in the Software without restriction, including without limitation the
6 # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7 # sell copies of the Software, and to permit persons to whom the Software is
8 # furnished to do so, subject to the following conditions:
10 # The above copyright notice and this permission notice shall be included in
11 # all copies or substantial portions of the Software.
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19 # IN THE SOFTWARE.
21 from CIM14.IEC61970.Dynamics.ExcitationSystems.ExcitationSystem import ExcitationSystem
23 class ExcAC7B(ExcitationSystem):
24 """IEEE (2005) AC7B Model These excitation systems consist of an ac alternator with either stationary or rotating rectifiers to produce the dc field requirements. Upgrades to earlier ac excitation systems, which replace only the controls but retain the ac alternator and diode rectifier bridge, have resulted in this new model. Some of the features of this excitation system include a high bandwidth inner loop regulating generator field voltage or exciter current (<i>KF</i>2, <i>KF</i>1), a fast exciter current limit, <i>VFEMAX</i>, to protect the field of the ac alternator, and the PID generator voltage regulator (AVR). An alternative rate feedback loop (<i>KF</i>, <i>TF</i>) is provided for stabilization if the AVR does not include a derivative term. If a PSS control is supplied, the Type PSS2B or PSS3B models are appropriate.
25 """
27 def __init__(self, kir=0.0, kpr=0.0, vfemax=0.0, te=0.0, vemin=0.0, ke=0.0, kp=0.0, kd=0.0, kdr=0.0, kf3=0.0, e1=0.0, tdr=0.0, se2=0.0, kf1=0.0, e2=0.0, kc=0.0, vamin=0.0, se1=0.0, vrmin=0.0, tf=0.0, vrmax=0.0, kf2=0.0, kl=0.0, kpa=0.0, kia=0.0, tr=0.0, vamax=0.0, *args, **kw_args):
28 """Initialises a new 'ExcAC7B' instance.
30 @param kir: Regulator integral gain (&gt;= 0.)
31 @param kpr: Regulator proportional gain (&gt; 0. if kir = 0.)
32 @param vfemax: Exciter field current limit parameter
33 @param te: Exciter time constant, sec. (&gt; 0.)
34 @param vemin: Minimum exciter ouput voltage (&lt;= 0.)
35 @param ke: Exciter field resistance constant
36 @param kp: Exciter field voltage source gain (&gt; 0.)
37 @param kd: Exciter internal reactance (&gt;= 0.)
38 @param kdr: Regulator derivative gain (&gt;= 0.)
39 @param kf3: Rate feedback gain (&gt;= 0.)
40 @param e1: Field voltage value 1 (&gt; 0.)
41 @param tdr: Derivative gain washout time constant (&gt;= 0.)
42 @param se2: Saturation factor at e2 (&gt;= 0.)
43 @param kf1: Field voltage feedback gain (&gt;= 0.)
44 @param e2: Field voltage value 2. (&gt; 0.)
45 @param kc: Rectifier regulation factor (&gt;= 0.)
46 @param vamin: Minimum amplifier output (&lt; 0.)
47 @param se1: Saturation factor at e1 (&gt;= 0.)
48 @param vrmin: Minimum regulator output (&lt; 0.)
49 @param tf: Rate feedback time constant (&gt; 0.)
50 @param vrmax: Maximum regulator output (&gt; 0.)
51 @param kf2: Exciter field current feedback gain (&gt;= 0.)
52 @param kl: Exciter field voltage lower limit parameter
53 @param kpa: Amplifier proportional gain (&gt; 0. if kia = 0.)
54 @param kia: Amplifier integral gain (&gt;= 0.)
55 @param tr: Filter time constant (&gt;= 0.)
56 @param vamax: Maximum amplifier output (&gt; 0.)
57 """
58 #: Regulator integral gain (&gt;= 0.)
59 self.kir = kir
61 #: Regulator proportional gain (&gt; 0. if kir = 0.)
62 self.kpr = kpr
64 #: Exciter field current limit parameter
65 self.vfemax = vfemax
67 #: Exciter time constant, sec. (&gt; 0.)
68 self.te = te
70 #: Minimum exciter ouput voltage (&lt;= 0.)
71 self.vemin = vemin
73 #: Exciter field resistance constant
74 self.ke = ke
76 #: Exciter field voltage source gain (&gt; 0.)
77 self.kp = kp
79 #: Exciter internal reactance (&gt;= 0.)
80 self.kd = kd
82 #: Regulator derivative gain (&gt;= 0.)
83 self.kdr = kdr
85 #: Rate feedback gain (&gt;= 0.)
86 self.kf3 = kf3
88 #: Field voltage value 1 (&gt; 0.)
89 self.e1 = e1
91 #: Derivative gain washout time constant (&gt;= 0.)
92 self.tdr = tdr
94 #: Saturation factor at e2 (&gt;= 0.)
95 self.se2 = se2
97 #: Field voltage feedback gain (&gt;= 0.)
98 self.kf1 = kf1
100 #: Field voltage value 2. (&gt; 0.)
101 self.e2 = e2
103 #: Rectifier regulation factor (&gt;= 0.)
104 self.kc = kc
106 #: Minimum amplifier output (&lt; 0.)
107 self.vamin = vamin
109 #: Saturation factor at e1 (&gt;= 0.)
110 self.se1 = se1
112 #: Minimum regulator output (&lt; 0.)
113 self.vrmin = vrmin
115 #: Rate feedback time constant (&gt; 0.)
116 self.tf = tf
118 #: Maximum regulator output (&gt; 0.)
119 self.vrmax = vrmax
121 #: Exciter field current feedback gain (&gt;= 0.)
122 self.kf2 = kf2
124 #: Exciter field voltage lower limit parameter
125 self.kl = kl
127 #: Amplifier proportional gain (&gt; 0. if kia = 0.)
128 self.kpa = kpa
130 #: Amplifier integral gain (&gt;= 0.)
131 self.kia = kia
133 #: Filter time constant (&gt;= 0.)
134 self.tr = tr
136 #: Maximum amplifier output (&gt; 0.)
137 self.vamax = vamax
139 super(ExcAC7B, self).__init__(*args, **kw_args)
141 _attrs = ["kir", "kpr", "vfemax", "te", "vemin", "ke", "kp", "kd", "kdr", "kf3", "e1", "tdr", "se2", "kf1", "e2", "kc", "vamin", "se1", "vrmin", "tf", "vrmax", "kf2", "kl", "kpa", "kia", "tr", "vamax"]
142 _attr_types = {"kir": float, "kpr": float, "vfemax": float, "te": float, "vemin": float, "ke": float, "kp": float, "kd": float, "kdr": float, "kf3": float, "e1": float, "tdr": float, "se2": float, "kf1": float, "e2": float, "kc": float, "vamin": float, "se1": float, "vrmin": float, "tf": float, "vrmax": float, "kf2": float, "kl": float, "kpa": float, "kia": float, "tr": float, "vamax": float}
143 _defaults = {"kir": 0.0, "kpr": 0.0, "vfemax": 0.0, "te": 0.0, "vemin": 0.0, "ke": 0.0, "kp": 0.0, "kd": 0.0, "kdr": 0.0, "kf3": 0.0, "e1": 0.0, "tdr": 0.0, "se2": 0.0, "kf1": 0.0, "e2": 0.0, "kc": 0.0, "vamin": 0.0, "se1": 0.0, "vrmin": 0.0, "tf": 0.0, "vrmax": 0.0, "kf2": 0.0, "kl": 0.0, "kpa": 0.0, "kia": 0.0, "tr": 0.0, "vamax": 0.0}
144 _enums = {}
145 _refs = []
146 _many_refs = []