Exciter Model: REEC_B and REECB1
Following checks and corrections are applied during Validation and AutoCorrection.
- If 0.0 < Tv < 0.5*Mult*TimeStep then Tv = 0, ElseIf 0.5*Mult*TimeStep < Tv < Mult*TimeStep then Tv = Mult*TimeStep
- If 0.0 < Tp < 0.5*Mult*TimeStep then Tp = 0, ElseIf 0.5*Mult*TimeStep < Tp < Mult*TimeStep then Tp = Mult*TimeStep
- If 0.0 < Tiq < 0.5*Mult*TimeStep then Tiq = 0, ElseIf 0.5*Mult*TimeStep < Tiq < Mult*TimeStep then Tiq = Mult*TimeStep
- If 0.0 < Tpord < 0.5*Mult*TimeStep then Tpord = 0, ElseIf 0.5*Mult*TimeStep < Tpord < Mult*TimeStep then Tpord = Mult*TimeStep
- Kpp and Kip can't be both zero. Must be corrected by user.
- If Vmax < Vmin then swap the values
- If Qmax < Qmin then swap the values
- If Pmax < Pmin then swap the values
- If RPmax < RPmin then swap the values
- If Iqh < Iql then swap the values
Mult represents the user-specified value Minimum time constant size as multiple of time step option on the Validation page of the Transient Stability Dialog
TimeStep represents the integration time step being used as described on TimeStep
Following treatment is handled during the transient numerical simulation
- If Q limits > Qmax , then Qmax = Q limits or if Q limits < Qmin , then Qmin = Q limits
- If PIq limits > Vmax , then Vmax = PIq limits or if PIq limits < Vmin, then Vmin = PIq limits
- If Pord > Pmax , then Pmax = Pord or if Pord < Pmin, then Pmin = Pord
Model Equations and/or Block Diagrams
Parameters:
| PfFlag | Power factor flag (1 – power factor control, 0 – Q control, which can be commanded by an external signal) |
| VFlag | Voltage control flag (1 – Q control, 0 – voltage control) |
| QFlag | Reactive power control flag ( 1 – voltage/Q control, 0 – constant pf or Q control) |
| Pqflag | P/Q priority selection on current limit flag. 0 = Q priority; 1 = P priority |
| Vdip | The voltage below which the reactive current injection (Iqinj) logic is activated (i.e. voltage_dip = 1) |
| Vup | The voltage above which the reactive current injection (Iqinj) logic is activated (i.e. voltage_dip = 1) |
| Trv | Filter time constant for voltage measurement |
| dbd1 | Deadband in voltage error when voltage dip logic is activated (for overvoltage – thus overvoltage response can be disabled by setting this to a large number e.g. 999) |
| dbd2 | Deadband in voltage error when voltage dip logic is activated (for undervoltage) |
| kqv | Gain for reactive current injection during voltage dip (and overvoltage) conditions |
| Iqh1 | Maximum limit of reactive current injection (Iqinj) |
| Iql1 | Minimum limit of reactive current injection (Iqinj) |
| Vref0 | The reference voltage from which the voltage error is calculated. This is set by the user. If the user does not specify a value it is initialized by the model to equal to the initial terminal voltage. |
| Tp | Filter time constant for electrical power measurement |
| Qmax | Reactive power limit maximum |
| Qmin | Reactive power limit minimum |
| Vmax | Voltage control maximum |
| Vmin | Voltage control minimum |
| Kqp | Proportional gain on Q control |
| Kqi | Integral gain on Q control |
| Kvp | Proportional gain on V control |
| Kvi | Integral gain on V control |
| Tiq | Time constant on lag delay |
| dPmax | Positive Ramp rate on power reference |
| dPmin | Negative Ramp rate on power reference |
| Pmax | Maximum power reference |
| Pmin | Minimum power reference |
| Tpord | Filter time constant on Pord |
| Imax | Maximum allowable total converter current limit |
| MVABase | MVABase |
Current Limit Logic Psuedo Code
The following pseudo-code describes how the values for Ipmax, Ipmin, Iqmax, and Iqmin are updated.
local_V = StateVtfilter // Vt State 1
Iqmax = Imax
Ipmax = Imax
if PQFlag = 0 then begin // Q priority [default]
Iqmin = -Iqmax
local_I = Sqr(Imax) - Sqr(Iqcmd)
if local_I < 0 then local_I = 0
else local_I = sqrt( local_I )
if local_I < Ipmax Then Ipmax = local_I
Ipmin = 0
end
else Begin// P priority
Ipmin = 0
local_I = Sqr(Imax) - Sqr(Ipcmd)
if local_I < 0 then local_I = 0
else local_I = sqrt( local_I )
if local_I < Iqmax Then Iqmax = local_I
Iqmin = -Iqmax
end