Exciter Model: REEC_A and REECA1

 

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
Pflag Power Flag (1 - multiply Pref signal by gen speed wg, 0 - do not multiply)
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.
Iqfrz Value at which Iqinj is held for Thld seconds following a voltage dip if Thld > 0
Thld Time delay for which the state of the reactive current injection is held after voltage_dip returns to zero.
Thld2 Time delay for which the active current limit (Ipmax) is held after voltage_dip returns to zero for Thld2 seconds at its value during the voltage dip.
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
Vref1 User-define reference/bias on the inner-loop voltage control (default value is zero)
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
vq1 VDL1: Voltage Point1
lq1 VDL1: Iqmax Point1
vq2 VDL1: Voltage Point2
lq2 VDL1: Iqmax Point2
vq3 VDL1: Voltage Point3
lq3 VDL1: Iqmax Point3
vq4 VDL1: Voltage Point4
lq4 VDL1: Iqmax Point4
vp1 VDL2: Voltage Point1
lp1 VDL2: Ipmax Point1
vp2 VDL2: Voltage Point2
lp2 VDL2: Ipmax Point2
vp3 VDL2: Voltage Point3
lp3 VDL2: Ipmax Point3
vp4 VDL2: Voltage Point4
lp4 VDL2: Ipmax Point4
MVABase MVABase

 

Current Limit Logic Psuedo Code

The following pseudo-code describes how the values for Ipmax, Ipmin, Iqmax, and Iqmin are updated.

  Voltage_Thld2TimerActive = special boolean related to timer

  local_V = StateVtfilter // Vt State 1

 

  if VDL1 table is empty then Iqmax = 1E10

  else Iqmax = lookup from VL1 table using local_V

 

  if not Voltage_Thld2TimerActive then begin

   if VDL2 table is empty then Ipmax = 1E10

   else Ipmax = lookup from VDL2 table using local_V

  end

 

  if PQFlag = 0 then begin // Q priority [default]

    If Imax < Iqmax Then Iqmax = IMax

      Iqmin = -Iqmax

    if not Voltage_Thld2TimerActive then begin

      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

    end

    Ipmin = 0

  end

  else Begin // P priority

    if not Voltage_Thld2TimerActive then begin

      if IMax < Ipmax Then Ipmax = Imax

    end

    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