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
21 from CIM14
.IEC61970
.Dynamics
.PowerSystemStabilizers
.PowerSystemStabilizer
import PowerSystemStabilizer
23 class PssIEEE2B(PowerSystemStabilizer
):
24 """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.
27 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
):
28 """Initialises a new 'PssIEEE2B' instance.
30 @param t11: Lead/lag time constant
31 @param vsi1max: Input signal #1 max limit
32 @param t3: Lead/lag time constant
33 @param tw3: First washout on signal #2
34 @param vstmax: Stabilizer output max limit
35 @param t2: Lead/lag time constant
36 @param n: Order of ramp tracking filter
37 @param vsi1min: Input signal #1 min limit
38 @param t9: Lag of ramp tracking filter
39 @param ks2: Gain on signal #2
40 @param vstmin: Stabilizer output min limit
41 @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
42 @param tw1: First washout on signal #1
43 @param tb: Lag time constant
44 @param t7: Time constant on signal #2
45 @param vsi2max: Input signal #2 max limit
46 @param t6: Time constant on signal #1
47 @param t1: Lead/lag time constant
48 @param m: Denominator order of ramp tracking filter
49 @param vsi2min: Input signal #2 min limit
50 @param a: Numerator constant
51 @param t4: Lead/lag time constant
52 @param tw4: Second washout on signal #2
53 @param ks4: Gain on signal #2 input after ramp-tracking filter
54 @param ta: Lead constant
55 @param ks3: Gain on signal #2 input before ramp-tracking filter
56 @param t10: Lead/lag time constant
57 @param tw2: Second washout on signal #1
58 @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
59 @param ks1: Stabilizer gain
60 @param t8: Lead of ramp tracking filter
62 #: Lead/lag time constant
65 #: Input signal #1 max limit
66 self
.vsi1max
= vsi1max
68 #: Lead/lag time constant
71 #: First washout on signal #2
74 #: Stabilizer output max limit
77 #: Lead/lag time constant
80 #: Order of ramp tracking filter
83 #: Input signal #1 min limit
84 self
.vsi1min
= vsi1min
86 #: Lag of ramp tracking filter
92 #: Stabilizer output min limit
95 #: 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
98 #: First washout on signal #1
104 #: Time constant on signal #2
107 #: Input signal #2 max limit
108 self
.vsi2max
= vsi2max
110 #: Time constant on signal #1
113 #: Lead/lag time constant
116 #: Denominator order of ramp tracking filter
119 #: Input signal #2 min limit
120 self
.vsi2min
= vsi2min
122 #: Numerator constant
125 #: Lead/lag time constant
128 #: Second washout on signal #2
131 #: Gain on signal #2 input after ramp-tracking filter
137 #: Gain on signal #2 input before ramp-tracking filter
140 #: Lead/lag time constant
143 #: Second washout on signal #1
146 #: 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
152 #: Lead of ramp tracking filter
155 super(PssIEEE2B
, self
).__init
__(*args
, **kw_args
)
157 _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"]
158 _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}
159 _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}