RenPlant#
Renewable plant control group.
Common Parameters: u, name
Available models: REPCA1
REPCA1#
REPCA1: renewable energy power plat control model.
The output of the model, Pext
and Qext
, are the increment signals
of active and reactive power for the electrical control model.
Notes for PSS/E DYR parser:
If ICONs M+1 and M+2 are set to 0 when using generator power, an error will be thrown by the parser, saying "<REPCA1> cannot retrieve <bus1> from <ACLine> using <line>: KeyError('Group <ACLine> does not contain device with idx=False')". Manual effort is required to run the converted file. In the REPCA1 sheet, provide the idx of a line that connects to the RenGen bus.
PSS/E enters ICONs M+3 as a string in single quotes. The pair of single quotes need to be removed, or the conversion will fail.
Parameters#
Name |
Symbol |
Description |
Default |
Unit |
Properties |
---|---|---|---|---|---|
idx |
unique device idx |
||||
u |
\(u\) |
connection status |
1 |
bool |
|
name |
device name |
||||
ree |
RenExciter idx |
mandatory |
|||
line |
Idx of line that connect to measured bus |
mandatory |
|||
busr |
Optional remote bus for voltage and freq. measurement |
||||
busf |
BusFreq idx for mode 2 |
||||
VCFlag |
Droop flag; 0-with droop if power factor ctrl, 1-line drop comp. |
bool |
mandatory |
||
RefFlag |
Q/V select; 0-Q control, 1-V control |
bool |
mandatory |
||
Fflag |
Frequency control flag; 0-disable, 1-enable |
bool |
mandatory |
||
PLflag |
Pline ctrl. flag; 0-disable, 1-enable |
True |
bool |
||
Tfltr |
\(T_{fltr}\) |
V or Q filter time const. |
0.020 |
||
Kp |
\(K_p\) |
Q proportional gain |
1 |
||
Ki |
\(K_i\) |
Q integral gain |
0.100 |
||
Tft |
\(T_{ft}\) |
Lead time constant |
1 |
||
Tfv |
\(T_{fv}\) |
Lag time constant |
1 |
||
Vfrz |
\(V_{frz}\) |
Voltage below which s2 is frozen |
0.800 |
||
Rc |
\(R_c\) |
Line drop compensation R |
|||
Xc |
\(X_c\) |
Line drop compensation R |
|||
Kc |
\(K_c\) |
Reactive power compensation gain |
0 |
||
emax |
\(e_{max}\) |
Upper limit on deadband output |
999 |
||
emin |
\(e_{min}\) |
Lower limit on deadband output |
-999 |
||
dbd1 |
\(d_{bd1}\) |
Lower threshold for reactive power control deadband (<=0) |
-0.100 |
||
dbd2 |
\(d_{bd2}\) |
Upper threshold for reactive power control deadband (>=0) |
0.100 |
||
Qmax |
\(Q_{max}\) |
Upper limit on output of V-Q control |
999 |
||
Qmin |
\(Q_{min}\) |
Lower limit on output of V-Q control |
-999 |
||
Kpg |
\(K_{pg}\) |
Proportional gain for power control |
1 |
||
Kig |
\(K_{ig}\) |
Integral gain for power control |
0.100 |
||
Tp |
\(T_p\) |
Time constant for P measurement |
0.020 |
||
fdbd1 |
\(f_{dbd1}\) |
Lower threshold for freq. error deadband |
-0.000 |
p.u. (Hz) |
|
fdbd2 |
\(f_{dbd2}\) |
Upper threshold for freq. error deadband |
0.000 |
p.u. (Hz) |
|
femax |
\(f_{emax}\) |
Upper limit for freq. error |
0.050 |
||
femin |
\(f_{emin}\) |
Lower limit for freq. error |
-0.050 |
||
Pmax |
\(P_{max}\) |
Upper limit on power error (used by PI ctrl.) |
999 |
p.u. (MW) |
power |
Pmin |
\(P_{min}\) |
Lower limit on power error (used by PI ctrl.) |
-999 |
p.u. (MW) |
power |
Tg |
\(T_g\) |
Power controller lag time constant |
0.020 |
||
Ddn |
\(D_{dn}\) |
Reciprocal of droop for over-freq. conditions |
10 |
||
Dup |
\(D_{up}\) |
Reciprocal of droop for under-freq. conditions |
10 |
||
reg |
Retrieved RenGen idx |
||||
bus |
Retrieved bus idx |
||||
bus1 |
Retrieved Line.bus1 idx |
||||
bus2 |
Retrieved Line.bus2 idx |
||||
r |
Retrieved Line.r |
||||
x |
Retrieved Line.x |
Variables#
Name |
Symbol |
Type |
Description |
Unit |
Properties |
---|---|---|---|---|---|
s0_y |
\(s_{0 y}\) |
State |
State in lag transfer function |
v_str |
|
s1_y |
\(s_{1 y}\) |
State |
State in lag transfer function |
v_str |
|
s2_xi |
\(s_{2 \xi}\) |
State |
Integrator output |
v_str |
|
s3_x |
\(s_{3 x}\) |
State |
State in lead-lag |
v_str |
|
s4_y |
\(s_{4 y}\) |
State |
State in lag transfer function |
v_str |
|
s5_xi |
\(s_{5 \xi}\) |
State |
Integrator output |
v_str |
|
s6_y |
\(s_{6 y}\) |
State |
State in lag transfer function |
v_str |
|
Vref |
\(Vref\) |
Algeb |
v_str |
||
Qlinef |
\(Qlinef\) |
Algeb |
v_str |
||
Refsel |
\(Refsel\) |
Algeb |
v_str |
||
dbd_y |
\(dbd_{y}\) |
Algeb |
Deadband type 1 output |
v_str |
|
enf |
\(enf\) |
Algeb |
e Hardlimit output before freeze |
v_str |
|
s2_ys |
\(s_{2 ys}\) |
Algeb |
PI summation before limit |
v_str |
|
s2_y |
\(s_{2 y}\) |
Algeb |
PI output |
v_str |
|
s3_y |
\(s_{3 y}\) |
Algeb |
Output of lead-lag |
v_str |
|
ferr |
\(ferr\) |
Algeb |
Frequency deviation |
p.u. (Hz) |
v_str |
fdbd_y |
\(fdbd_{y}\) |
Algeb |
Deadband type 1 output |
v_str |
|
Plant_pref |
\(Plant_{pref}\) |
Algeb |
Plant P ref |
v_str |
|
Plerr |
\(Plerr\) |
Algeb |
Pline error |
v_str |
|
Perr |
\(Perr\) |
Algeb |
Power error before fe limits |
v_str |
|
s5_ys |
\(s_{5 ys}\) |
Algeb |
PI summation before limit |
v_str |
|
s5_y |
\(s_{5 y}\) |
Algeb |
PI output |
v_str |
|
Pext |
\(Pext\) |
ExtAlgeb |
Pref from RenExciter renamed as Pext |
||
Qext |
\(Qext\) |
ExtAlgeb |
Qref from RenExciter renamed as Qext |
||
v |
\(v\) |
ExtAlgeb |
Bus (or busr, if given) terminal voltage |
||
a |
\(a\) |
ExtAlgeb |
Bus (or busr, if given) phase angle |
||
f |
\(f\) |
ExtAlgeb |
Bus frequency |
p.u. |
|
v1 |
\(v_{1}\) |
ExtAlgeb |
Voltage at Line.bus1 |
||
v2 |
\(v_{2}\) |
ExtAlgeb |
Voltage at Line.bus2 |
||
a1 |
\(a_{1}\) |
ExtAlgeb |
Angle at Line.bus1 |
||
a2 |
\(a_{2}\) |
ExtAlgeb |
Angle at Line.bus2 |
Initialization Equations#
Name |
Symbol |
Type |
Initial Value |
---|---|---|---|
s0_y |
\(s_{0 y}\) |
State |
\(SWVC_{s0} \left(Kc Qline + v\right) + SWVC_{s1} Vcomp\) |
s1_y |
\(s_{1 y}\) |
State |
\(Qline\) |
s2_xi |
\(s_{2 \xi}\) |
State |
\(0.0\) |
s3_x |
\(s_{3 x}\) |
State |
\(s_{2 y}\) |
s4_y |
\(s_{4 y}\) |
State |
\(Pline\) |
s5_xi |
\(s_{5 \xi}\) |
State |
\(0.0\) |
s6_y |
\(s_{6 y}\) |
State |
\(s_{5 y}\) |
Vref |
\(Vref\) |
Algeb |
\(Vref_{0}\) |
Qlinef |
\(Qlinef\) |
Algeb |
\(Qline_{0}\) |
Refsel |
\(Refsel\) |
Algeb |
\(SWRef_{s0} \left(Qlinef - s_{1 y}\right) + SWRef_{s1} \left(Vref - s_{0 y}\right)\) |
dbd_y |
\(dbd_{y}\) |
Algeb |
\(1.0 dbd_{db zl} \left(Refsel - dbd_{1}\right) + 1.0 dbd_{db zu} \left(Refsel - dbd_{2}\right)\) |
enf |
\(enf\) |
Algeb |
\(dbd_{y} eHL_{zi} + eHL_{zl} emin + eHL_{zu} emax\) |
s2_ys |
\(s_{2 ys}\) |
Algeb |
\(Kp eHld\) |
s2_y |
\(s_{2 y}\) |
Algeb |
\(Qmax s_{2 lim zu} + Qmin s_{2 lim zl} + s_{2 lim zi} s_{2 ys}\) |
s3_y |
\(s_{3 y}\) |
Algeb |
\(s_{2 y}\) |
ferr |
\(ferr\) |
Algeb |
\(Freq_{ref} - f\) |
fdbd_y |
\(fdbd_{y}\) |
Algeb |
\(1.0 fdbd_{db zl} \left(- fdbd_{1} + ferr\right) + 1.0 fdbd_{db zu} \left(- fdbd_{2} + ferr\right)\) |
Plant_pref |
\(Plant_{pref}\) |
Algeb |
\(Pline_{0}\) |
Plerr |
\(Plerr\) |
Algeb |
\(Plant_{pref} - s_{4 y}\) |
Perr |
\(Perr\) |
Algeb |
\(Ddn fdbd_{y} fdlt_{0 z1} + Dup fdbd_{y} fdlt_{0 z0} + Plerr SWPL_{s1}\) |
s5_ys |
\(s_{5 ys}\) |
Algeb |
\(Kpg \left(Perr feHL_{zi} + feHL_{zl} femin + feHL_{zu} femax\right)\) |
s5_y |
\(s_{5 y}\) |
Algeb |
\(Pmax s_{5 lim zu} + Pmin s_{5 lim zl} + s_{5 lim zi} s_{5 ys}\) |
Pext |
\(Pext\) |
ExtAlgeb |
|
Qext |
\(Qext\) |
ExtAlgeb |
|
v |
\(v\) |
ExtAlgeb |
|
a |
\(a\) |
ExtAlgeb |
|
f |
\(f\) |
ExtAlgeb |
|
v1 |
\(v_{1}\) |
ExtAlgeb |
|
v2 |
\(v_{2}\) |
ExtAlgeb |
|
a1 |
\(a_{1}\) |
ExtAlgeb |
|
a2 |
\(a_{2}\) |
ExtAlgeb |
Differential Equations#
Name |
Symbol |
Type |
RHS of Equation "T x' = f(x, y)" |
T (LHS) |
---|---|---|---|---|
s0_y |
\(s_{0 y}\) |
State |
\(SWVC_{s0} \left(Kc Qline + v\right) + SWVC_{s1} Vcomp - s_{0 y}\) |
\(T_{fltr}\) |
s1_y |
\(s_{1 y}\) |
State |
\(Qline - s_{1 y}\) |
\(T_{fltr}\) |
s2_xi |
\(s_{2 \xi}\) |
State |
\(Ki \left(eHld + 2 s_{2 y} - 2 s_{2 ys}\right)\) |
|
s3_x |
\(s_{3 x}\) |
State |
\(s_{2 y} - s_{3 x}\) |
\(T_{fv}\) |
s4_y |
\(s_{4 y}\) |
State |
\(Pline - s_{4 y}\) |
\(T_p\) |
s5_xi |
\(s_{5 \xi}\) |
State |
\(Kig \left(Perr feHL_{zi} + feHL_{zl} femin + feHL_{zu} femax + 2 s_{5 y} - 2 s_{5 ys}\right)\) |
|
s6_y |
\(s_{6 y}\) |
State |
\(s_{5 y} - s_{6 y}\) |
\(T_g\) |
Algebraic Equations#
Name |
Symbol |
Type |
RHS of Equation "0 = g(x, y)" |
---|---|---|---|
Vref |
\(Vref\) |
Algeb |
\(- Vref + Vref_{0}\) |
Qlinef |
\(Qlinef\) |
Algeb |
\(Qline_{0} - Qlinef\) |
Refsel |
\(Refsel\) |
Algeb |
\(- Refsel + SWRef_{s0} \left(Qlinef - s_{1 y}\right) + SWRef_{s1} \left(Vref - s_{0 y}\right)\) |
dbd_y |
\(dbd_{y}\) |
Algeb |
\(1.0 dbd_{db zl} \left(Refsel - dbd_{1}\right) + 1.0 dbd_{db zu} \left(Refsel - dbd_{2}\right) - dbd_{y}\) |
enf |
\(enf\) |
Algeb |
\(dbd_{y} eHL_{zi} + eHL_{zl} emin + eHL_{zu} emax - enf\) |
s2_ys |
\(s_{2 ys}\) |
Algeb |
\(Kp eHld + s_{2 \xi} - s_{2 ys}\) |
s2_y |
\(s_{2 y}\) |
Algeb |
\(Qmax s_{2 lim zu} + Qmin s_{2 lim zl} + s_{2 lim zi} s_{2 ys} - s_{2 y}\) |
s3_y |
\(s_{3 y}\) |
Algeb |
\(Tft \left(s_{2 y} - s_{3 x}\right) + Tfv s_{3 x} - Tfv s_{3 y} + s_{3 LT1 z1} s_{3 LT2 z1} \left(- s_{3 x} + s_{3 y}\right)\) |
ferr |
\(ferr\) |
Algeb |
\(Freq_{ref} - f - ferr\) |
fdbd_y |
\(fdbd_{y}\) |
Algeb |
\(1.0 fdbd_{db zl} \left(- fdbd_{1} + ferr\right) + 1.0 fdbd_{db zu} \left(- fdbd_{2} + ferr\right) - fdbd_{y}\) |
Plant_pref |
\(Plant_{pref}\) |
Algeb |
\(- Plant_{pref} + Pline_{0}\) |
Plerr |
\(Plerr\) |
Algeb |
\(Plant_{pref} - Plerr - s_{4 y}\) |
Perr |
\(Perr\) |
Algeb |
\(Ddn fdbd_{y} fdlt_{0 z1} + Dup fdbd_{y} fdlt_{0 z0} - Perr + Plerr SWPL_{s1}\) |
s5_ys |
\(s_{5 ys}\) |
Algeb |
\(Kpg \left(Perr feHL_{zi} + feHL_{zl} femin + feHL_{zu} femax\right) + s_{5 \xi} - s_{5 ys}\) |
s5_y |
\(s_{5 y}\) |
Algeb |
\(Pmax s_{5 lim zu} + Pmin s_{5 lim zl} + s_{5 lim zi} s_{5 ys} - s_{5 y}\) |
Pext |
\(Pext\) |
ExtAlgeb |
\(SWF_{s1} s_{6 y}\) |
Qext |
\(Qext\) |
ExtAlgeb |
\(s_{3 y}\) |
v |
\(v\) |
ExtAlgeb |
\(0\) |
a |
\(a\) |
ExtAlgeb |
\(0\) |
f |
\(f\) |
ExtAlgeb |
\(0\) |
v1 |
\(v_{1}\) |
ExtAlgeb |
\(0\) |
v2 |
\(v_{2}\) |
ExtAlgeb |
\(0\) |
a1 |
\(a_{1}\) |
ExtAlgeb |
\(0\) |
a2 |
\(a_{2}\) |
ExtAlgeb |
\(0\) |
Services#
Name |
Symbol |
Equation |
Type |
---|---|---|---|
Isign |
\(I_{sign}\) |
\(0\) |
CurrentSign |
Iline |
\(I_{line}\) |
\(\frac{Isign \left(v_{1} e^{i a_{1}} - v_{2} e^{i a_{2}}\right)}{r + i x}\) |
VarService |
Iline0 |
\(I_{line0}\) |
\(Iline\) |
ConstService |
Pline |
\(P_{line}\) |
\(Isign v_{1} \operatorname{re}{\left(\operatorname{conj}{\left(\frac{v_{1} e^{i a_{1}} - v_{2} e^{i a_{2}}}{r + i x} \right)} e^{i a_{1}}\right)}\) |
VarService |
Pline0 |
\(P_{line0}\) |
\(Pline\) |
ConstService |
Qline |
\(Q_{line}\) |
\(Isign v_{1} \operatorname{im}{\left(\operatorname{conj}{\left(\frac{v_{1} e^{i a_{1}} - v_{2} e^{i a_{2}}}{r + i x} \right)} e^{i a_{1}}\right)}\) |
VarService |
Qline0 |
\(Q_{line0}\) |
\(Qline\) |
ConstService |
Vcomp |
\(V_{comp}\) |
\(\left|{Iline \left(Rcs + i Xcs\right) - v e^{i a}}\right|\) |
VarService |
Vref0 |
\(V_{ref0}\) |
\(SWVC_{s0} \left(Kc Qline_{0} + v\right) + SWVC_{s1} Vcomp\) |
ConstService |
zf |
\(z_f\) |
\(f_{rz} \operatorname{Indicator}{\left(v < Vfrz \right)}\) |
VarService |
eHld |
\(e_{hld}\) |
\(0\) |
VarHold |
Freq_ref |
\(f_{ref}\) |
\(1.0\) |
ConstService |
Discretes#
Name |
Symbol |
Type |
Info |
---|---|---|---|
SWVC |
\(SW_{VC}\) |
Switcher |
|
SWRef |
\(SW_{Ref}\) |
Switcher |
|
SWF |
\(SW_{F}\) |
Switcher |
|
SWPL |
\(SW_{PL}\) |
Switcher |
|
dbd_db |
\(db_{d^{bd}}\) |
DeadBand |
|
eHL |
\(e_{HL}\) |
Limiter |
Hardlimit on deadband output |
s2_lim |
\(lim_{s_2}\) |
HardLimiter |
|
s3_LT1 |
\(LT_{s_3}\) |
LessThan |
|
s3_LT2 |
\(LT_{s_3}\) |
LessThan |
|
fdbd_db |
\(db_{f^{dbd}}\) |
DeadBand |
|
fdlt0 |
\(f_{dlt0}\) |
LessThan |
frequency deadband output less than zero |
feHL |
\(f_{eHL}\) |
Limiter |
Limiter for power (frequency) error |
s5_lim |
\(lim_{s_5}\) |
HardLimiter |
Blocks#
Name |
Symbol |
Type |
Info |
---|---|---|---|
s0 |
\(s_0\) |
Lag |
V filter |
s1 |
\(s_1\) |
Lag |
|
dbd |
\(d^{bd}\) |
DeadBand1 |
|
s2 |
\(s_2\) |
PITrackAW |
PI controller for eHL output |
s3 |
\(s_3\) |
LeadLag |
|
s4 |
\(s_4\) |
Lag |
Pline filter |
fdbd |
\(f^{dbd}\) |
DeadBand1 |
frequency error deadband |
s5 |
\(s_5\) |
PITrackAW |
PI for fe limiter output |
s6 |
\(s_6\) |
Lag |
Output filter for Pext |
Config Fields in [REPCA1]
Option |
Symbol |
Value |
Info |
Accepted values |
---|---|---|---|---|
allow_adjust |
1 |
allow adjusting upper or lower limits |
(0, 1) |
|
adjust_lower |
0 |
adjust lower limit |
(0, 1) |
|
adjust_upper |
1 |
adjust upper limit |
(0, 1) |
|
kqs |
\(K_{qs}\) |
2 |
Tracking gain for reactive power PI controller |
|
ksg |
\(K_{sg}\) |
2 |
Tracking gain for active power PI controller |
|
freeze |
\(f_{rz}\) |
1 |
Voltage dip freeze flag; 1-enable, 0-disable |