Power system stabilizers#

The stabilizer strategy is plugged onto a machine with the pss keyword, for example pss = "PSSKundur". It reads the speed deviation and produces the stabilizing signal \(V_s\), which the AVR sums into its voltage error.

pss =

Class

Description

"PSSKundur"

PSSKundur

Single-input (speed) power system stabilizer: gain, washout, and two lead-lag stages (Kundur, Power System Stability and Control, 1994).

"PSSSEA"

PSSSEA

Speed-input PSS of the 14-generator South East Australian benchmark (Gibbard and Vowles 2014, Fig. 23 and eqs. (7)-(10)).

PSS block diagram

Speed-input stabilizer: gain, washout and lead-lag stages.#

class hermess.devices.pss.PSSKundur[source]

Single-input (speed) power system stabilizer: gain, washout, and two lead-lag stages (Kundur, Power System Stability and Control, 1994).

Selected on a machine line with pss = "PSSKundur".

Model. Transfer function \(V_s = K_{stab} \frac{s T_w}{1 + s T_w} \frac{1 + s T_1}{1 + s T_2} \frac{1 + s T_3}{1 + s T_4} \, \Delta\omega\) with \(\Delta\omega = \omega - \omega_{net}\), realized as three lag-pole states plus feedthrough:

\[\begin{split}u &= K_{stab} \, \Delta\omega \\ T_w \, \dot{v}_w &= u - v_w, \qquad w = u - v_w \\ T_2 \, \dot{v}_{l1} &= w - v_{l1}, \qquad y_1 = \Bigl(1 - \frac{T_1}{T_2}\Bigr) v_{l1} + \frac{T_1}{T_2} w \\ T_4 \, \dot{v}_{l2} &= y_1 - v_{l2}, \qquad 0 = -V_s + \Bigl(1 - \frac{T_3}{T_4}\Bigr) v_{l2} + \frac{T_3}{T_4} y_1\end{split}\]

The washout blocks DC, so at equilibrium \(v_w = v_{l1} = v_{l2} = V_s = 0\) and the PSS does not shift the operating point. The output \(V_s\) has direct feedthrough on \(\Delta\omega\) and is therefore a device-private algebraic variable, summed into the AVR voltage error via Synchronous.pss_signal. This model has no output limit (compare PSSSEA).

Symbols.

Code

Symbol

Meaning

Default

K_stab

\(K_{stab}\)

stabilizer gain

10

Tw

\(T_w\)

washout time constant [s]

10

T1

\(T_1\)

lead-lag 1 lead time constant [s]

0.05

T2

\(T_2\)

lead-lag 1 lag time constant [s]

0.02

T3

\(T_3\)

lead-lag 2 lead time constant [s]

0.05

T4

\(T_4\)

lead-lag 2 lag time constant [s]

0.02

vw

\(v_w\)

washout low-pass state [p.u.]

vl1

\(v_{l1}\)

lead-lag 1 lag state [p.u.]

vl2

\(v_{l2}\)

lead-lag 2 lag state [p.u.]

Vs

\(V_s\)

stabilizing signal to the AVR (private algebraic) [p.u.]

class hermess.devices.pss.PSSSEA[source]

Speed-input PSS of the 14-generator South East Australian benchmark (Gibbard and Vowles 2014, Fig. 23 and eqs. (7)-(10)).

Selected on a machine line with pss = "PSSSEA".

Model. Transfer function

\[V_s = \mathrm{sgn} \cdot K_{stab} \cdot \frac{s T_w}{1 + s T_w} \cdot \prod_{i=1}^{4} \frac{1 + s T_{z,i}}{1 + s T_{p,i}} \cdot \frac{1 + a_q s + b_q s^2}{(1 + s T_{p5})(1 + s T_{p6})} \cdot (\omega - \omega_{net})\]

with overall gain \(K_{stab} = D_e K_c\) (\(D_e\) = 20 p.u. damping gain on machine MVA base, \(K_c\) from Tables 17-20). The four first-order sections cover the real zero/pole chains of eqs. (7)-(9); the quadratic section carries the complex-zero pair of eqs. (8) and (10). Unused first-order slots are exactly unity with \(T_{z,i} = T_{p,i}\); an unused quadratic section is exactly unity with \(a_q = T_{p5} + T_{p6}\), \(b_q = T_{p5} T_{p6}\). \(\mathrm{sgn} = -1\) for a hydro machine operating in pumping mode.

Realization: washout and first-order sections as lag state plus feedthrough (as in PSSKundur; \(T_{p,i} > 0\) required); the quadratic section in controllable canonical form with feedthrough \(c = b_q/(T_{p5} T_{p6})\):

\[\begin{split}\dot{v}_{q1} &= v_{q2}, \qquad T_{p5} T_{p6} \, \dot{v}_{q2} = -v_{q1} - (T_{p5} + T_{p6}) v_{q2} + u \\ y &= c \, u + (1 - c) \, v_{q1} + \bigl(a_q - c \,(T_{p5} + T_{p6})\bigr) v_{q2}\end{split}\]

The output is hard-clipped at the published limit \(\pm V_s^{max}\) (always active, not gated by incl_lim); the operating point sits at \(V_s = 0\) with unit slope, so the small-signal behavior is unchanged.

Symbols.

Code

Symbol

Meaning

Default

K_stab

\(K_{stab}\)

overall gain (\(D_e K_c\), machine base)

10

Tw

\(T_w\)

washout time constant [s]

7.5

Tz1 / Tp1

\(T_{z,1}, T_{p,1}\)

section 1 lead / lag time constants [s]

1e-3

Tz2 / Tp2

\(T_{z,2}, T_{p,2}\)

section 2 lead / lag time constants [s]

1e-3

Tz3 / Tp3

\(T_{z,3}, T_{p,3}\)

section 3 lead / lag time constants [s]

1e-3

Tz4 / Tp4

\(T_{z,4}, T_{p,4}\)

section 4 lead / lag time constants [s]

1e-3

a_q

\(a_q\)

quadratic numerator s-coefficient

2e-4

b_q

\(b_q\)

quadratic numerator s^2-coefficient

1e-8

Tp5 / Tp6

\(T_{p5}, T_{p6}\)

quadratic denominator time constants [s]

1e-4

sgn

\(\mathrm{sgn}\)

output sign (-1 when pumping)

1

Vs_max

\(V_s^{max}\)

output limit (hard clip, always active)

0.1

vw

\(v_w\)

washout low-pass state [p.u.]

v1 / v2 / v3 / v4

\(v_1 \dots v_4\)

first-order section lag states [p.u.]

vq1 / vq2

\(v_{q1}, v_{q2}\)

quadratic section states [p.u.]

Vs

\(V_s\)

stabilizing signal to the AVR (private algebraic) [p.u.]