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
.PowerSystemStabilizers
.PowerSystemStabilizer
import PowerSystemStabilizer
19 class PssIEEE2B(PowerSystemStabilizer
):
20 """IEEE (2005) PSS2B Model This stabilizer model is designed to represent a variety of dual-input stabilizers, which normally use combinations of power and speed or frequency to derive the stabilizing signal.
23 def __init__(self
, t11
=0.0, vsi1max
=0.0, t3
=0.0, tw3
=0.0, vstmax
=0.0, t2
=0.0, n
=0, vsi1min
=0.0, t9
=0.0, ks2
=0.0, vstmin
=0.0, j1
=0, tw1
=0.0, tb
=0.0, t7
=0.0, vsi2max
=0.0, t6
=0.0, t1
=0.0, m
=0, vsi2min
=0.0, a
=0.0, t4
=0.0, tw4
=0.0, ks4
=0.0, ta
=0.0, ks3
=0.0, t10
=0.0, tw2
=0.0, j2
=0, ks1
=0.0, t8
=0.0, *args
, **kw_args
):
24 """Initialises a new 'PssIEEE2B' instance.
26 @param t11: Lead/lag time constant
27 @param vsi1max: Input signal #1 max limit
28 @param t3: Lead/lag time constant
29 @param tw3: First washout on signal #2
30 @param vstmax: Stabilizer output max limit
31 @param t2: Lead/lag time constant
32 @param n: Order of ramp tracking filter
33 @param vsi1min: Input signal #1 min limit
34 @param t9: Lag of ramp tracking filter
35 @param ks2: Gain on signal #2
36 @param vstmin: Stabilizer output min limit
37 @param j1: Input signal #1 code 1 shaft speed 2 frequency of bus voltage 3 generator electrical power 4 generator accelerating power 5 amplitude of bus voltage 6 derivative of bus voltage amplitude
38 @param tw1: First washout on signal #1
39 @param tb: Lag time constant
40 @param t7: Time constant on signal #2
41 @param vsi2max: Input signal #2 max limit
42 @param t6: Time constant on signal #1
43 @param t1: Lead/lag time constant
44 @param m: Denominator order of ramp tracking filter
45 @param vsi2min: Input signal #2 min limit
46 @param a: Numerator constant
47 @param t4: Lead/lag time constant
48 @param tw4: Second washout on signal #2
49 @param ks4: Gain on signal #2 input after ramp-tracking filter
50 @param ta: Lead constant
51 @param ks3: Gain on signal #2 input before ramp-tracking filter
52 @param t10: Lead/lag time constant
53 @param tw2: Second washout on signal #1
54 @param j2: Input signal #2 code 1 shaft speed 2 frequency of bus voltage 3 generator electrical power 4 generator accelerating power 5 amplitude of bus voltage 6 derivative of bus voltage amplitude
55 @param ks1: Stabilizer gain
56 @param t8: Lead of ramp tracking filter
58 #: Lead/lag time constant
61 #: Input signal #1 max limit
62 self
.vsi1max
= vsi1max
64 #: Lead/lag time constant
67 #: First washout on signal #2
70 #: Stabilizer output max limit
73 #: Lead/lag time constant
76 #: Order of ramp tracking filter
79 #: Input signal #1 min limit
80 self
.vsi1min
= vsi1min
82 #: Lag of ramp tracking filter
88 #: Stabilizer output min limit
91 #: Input signal #1 code 1 shaft speed 2 frequency of bus voltage 3 generator electrical power 4 generator accelerating power 5 amplitude of bus voltage 6 derivative of bus voltage amplitude
94 #: First washout on signal #1
100 #: Time constant on signal #2
103 #: Input signal #2 max limit
104 self
.vsi2max
= vsi2max
106 #: Time constant on signal #1
109 #: Lead/lag time constant
112 #: Denominator order of ramp tracking filter
115 #: Input signal #2 min limit
116 self
.vsi2min
= vsi2min
118 #: Numerator constant
121 #: Lead/lag time constant
124 #: Second washout on signal #2
127 #: Gain on signal #2 input after ramp-tracking filter
133 #: Gain on signal #2 input before ramp-tracking filter
136 #: Lead/lag time constant
139 #: Second washout on signal #1
142 #: Input signal #2 code 1 shaft speed 2 frequency of bus voltage 3 generator electrical power 4 generator accelerating power 5 amplitude of bus voltage 6 derivative of bus voltage amplitude
148 #: Lead of ramp tracking filter
151 super(PssIEEE2B
, self
).__init
__(*args
, **kw_args
)
153 _attrs
= ["t11", "vsi1max", "t3", "tw3", "vstmax", "t2", "n", "vsi1min", "t9", "ks2", "vstmin", "j1", "tw1", "tb", "t7", "vsi2max", "t6", "t1", "m", "vsi2min", "a", "t4", "tw4", "ks4", "ta", "ks3", "t10", "tw2", "j2", "ks1", "t8"]
154 _attr_types
= {"t11": float, "vsi1max": float, "t3": float, "tw3": float, "vstmax": float, "t2": float, "n": int, "vsi1min": float, "t9": float, "ks2": float, "vstmin": float, "j1": int, "tw1": float, "tb": float, "t7": float, "vsi2max": float, "t6": float, "t1": float, "m": int, "vsi2min": float, "a": float, "t4": float, "tw4": float, "ks4": float, "ta": float, "ks3": float, "t10": float, "tw2": float, "j2": int, "ks1": float, "t8": float}
155 _defaults
= {"t11": 0.0, "vsi1max": 0.0, "t3": 0.0, "tw3": 0.0, "vstmax": 0.0, "t2": 0.0, "n": 0, "vsi1min": 0.0, "t9": 0.0, "ks2": 0.0, "vstmin": 0.0, "j1": 0, "tw1": 0.0, "tb": 0.0, "t7": 0.0, "vsi2max": 0.0, "t6": 0.0, "t1": 0.0, "m": 0, "vsi2min": 0.0, "a": 0.0, "t4": 0.0, "tw4": 0.0, "ks4": 0.0, "ta": 0.0, "ks3": 0.0, "t10": 0.0, "tw2": 0.0, "j2": 0, "ks1": 0.0, "t8": 0.0}