Skip to content

Excitation System (AC1A) ​

IEEE 421.5 Type AC1A excitation system / automatic voltage regulator: a field-controlled alternator exciter feeding the generator field through non-controlled (diode) rectifiers, implemented to the AC1C block diagram, which accepts AC1A data unchanged. Sense the terminal voltage Vt, form the voltage error against the reference, shape it with a lead-lag (1+sTC)/(1+sTB), amplify with the regulator KA/(1+sTA) bounded by [VAMIN, VAMAX], pass the UEL / OEL take-over gates and the exciter field-voltage limit [VRMIN, VRMAX], and drive the rotating exciter 1/(sTE) whose field current VFE = VE*(KE + SE(VE)) + KDIfd carries saturation and armature demagnetization. The output EFD = VEFEX(KCIfd/VE) carries the rectifier regulation drop. Rate feedback KFs/(1+sTF) from VFE, optional PSS / UEL / OEL inputs (UEL / OEL summed or through take-over gates), AC1C's VEMIN / VFEMAX exciter limits, and an optional external Vref override. Pairs with the synchronous machine for bumpless load-flow initialization. Also known as AC1C, ESAC1A and EXAC1.

Category: Control / Excitation

Overview ​

The Type AC1A excitation system is the IEEE Std 421.5 model of a field-controlled alternator-rectifier exciter: a rotating alternator on the generator shaft feeds the field through non-controlled (diode) rectifiers, and the voltage regulator controls the alternator's own field. The regulator's supply does not depend on the generator terminals, so a close-in fault does not collapse the forcing, but the rotating exciter's field time constant makes the response far slower than a static bridge. Brushless exciters are the typical application.

This component implements the block diagram of the newer Type AC1C model (IEEE Std 421.5-2016, Figures 8 and 9). AC1C accepts AC1A data unchanged once its two extra exciter limits sit at their AC1A values (VEMIN = 0, VFEMAX = 99, the defaults). The model senses the machine terminal voltage Vt and the field current Ifd, and outputs the field voltage EFD that wires into the synchronous machine's Efd input. With the load-flow auto-initialization (below) the exciter starts on its operating point, so a study begins in steady state with no excitation transient.

AC1A is also catalogued as AC1C, ESAC1A and EXAC1 in some libraries.

Block diagram ​

IEEE 421.5 Type AC1A (AC1C) block diagram: Vt passes a 1/(1+sTR) transducer to VC; the voltage error VREF - VC - VF plus VS and the location-(a) inputs passes a lead-lag (1+sTC)/(1+sTB) and a KA/(1+sTA) regulator with [VAMIN, VAMAX] limits to give VA; the location-(b) take-over gates and the [VRMIN, VRMAX] limit give VR; VR minus the exciter field current VFE drives the exciter 1/(sTE), held in [VEMIN, (VFEMAX - KDIfd)/(KE + SE(VE))], to give VE; EFD = VE times FEX(KCIfd/VE). VFE = VE*(KE + SE(VE)) + KD*Ifd returns to the exciter junction and, through the rate feedback sKF/(1+sTF), to the voltage error as VF.

Signal flow, block by block (all quantities per-unit, s=d/dt):

  1. Terminal-voltage transducer —
VC=11+sTRVt.
  1. Voltage error —
Verr=Vref−VC−VF+VS+VUEL(a)+VOEL(a),

where the superscript marks a limiter connected at location (a) (see Alternate input locations). Vref is the auto-initialized vref0, unless the optional external Vref input is wired, which overrides it.

  1. Lead-lag — (1+sTC)/(1+sTB); both time constants zero is a pass-through.

  2. Regulator — VA=KA1+sTAVLL, held inside [VAmin,VAmax] by a non-windup limit.

  3. Take-over gates and exciter field-voltage limit — an HV gate max(VA,VUEL) and an LV gate min(⋅,VOEL) (location b), then VR=clamp(⋅,VRmin,VRmax). AC1C calls these limits EFEmin / EFEmax.

  4. Rotating exciter —

TEdVEdt=VR−VFE,VFE=VE(KE+SE(VE))+KDIfd.
  1. Rectifier regulation —
EFD=VEFEX(IN),IN=KCIfdVE.
  1. Rate feedback — VF=sKF1+sTFVFE, taken from the exciter field current and zero in steady state. It is off when KF=0 or TF=0.

The rotating exciter ​

The exciter field current VFE balances the exciter field voltage VR in steady state. Three terms make it up:

  • KEVE, the unsaturated field requirement.
  • VESE(VE), saturation. SE is the two-point quadratic fit through (E1,SE(E1)) and (E2,SE(E2)), evaluated on the exciter output VE. Set both factors to 0 for an unsaturated exciter.
  • KDIfd, armature reaction: the generator's field current loads the alternator and demagnetizes it, so holding the same VE takes more exciter field. A rise in Ifd therefore lowers VE over TE until the regulator catches up.

The integrator is held inside two non-windup limits:

  • VE≥VEmin: the diodes cannot reverse the exciter output, so AC1A uses 0.
  • VE≤(VFEmax−KDIfd)/(KE+SE(VE)), which keeps VFE≤VFEmax. This is AC1C's instantaneous exciter field-current limit. Leave VFEmax=99 (never binds) when an explicit over-excitation limiter model protects the field, so the two do not act together.

With TE=0 the exciter becomes algebraic: VE settles within the time step to the value whose VFE equals VR (capped at VFEmax). Real AC1A data always has TE>0.

Rectifier regulation ​

The diode bridge's commutating reactance drops the output as the field current rises. IEEE Std 421.5 Annex D expresses the drop through the normalized load IN=KCIfd/VE:

ModeRangeFEX
1IN≤0.4331−0.577IN
20.433<IN<0.750.75−IN2
30.75≤IN≤11.732(1−IN)
—IN>10

The drop acts instantly: EFD follows every change in Ifd through FEX, with no time constant. When KC or KD is non-zero an Ifd input port appears; wire it from the machine's field-current output. With both zero the port is hidden and the field current plays no part.

Alternate input locations ​

The PSS input VS always adds at the voltage error. Each limiter input can connect at one of two points; pick it on the Aux Inputs tab after enabling the input:

Input(a)(b)
VUEL (under-excitation limiter)added to the voltage errorHV gate on the regulator output
VOEL (over-excitation limiter)added to the voltage errorLV gate on the regulator output

Location (b) is the AC1A placement and the default; (a) is the AC1C addition, and the placement of the older EXAC1 model. A summation input that is enabled but unwired reads zero; a take-over gate whose input is unwired is a pass-through.

Per-unit convention ​

Field voltage EFD is in the non-reciprocal per-unit system: EFD=1.0 pu produces rated terminal voltage on the air-gap line at no load. The machine's Efd input, Ifd output and Vt output use the same convention, so the exciter and machine plug together without scaling.

External voltage reference (Vref) ​

Enabling External Vref input exposes a Vref port that overrides the auto-initialized set-point. Because the port replaces the set-point, you must wire it when it is enabled: an unconnected Vref reads zero and collapses the reference. For a bumpless start, hold Vref at the auto-computed vref0 (shown on the Initialization tab) through t=0.

Load-flow auto-initialization ​

After the load flow solves, the apply pass back-calculates the set-point and the state seeds so every derivative in the diagram is zero at t=0:

  • Pairing is wire-traced. The initializer follows the EFD wire (through GoTo/From labels) to the unique synchronous machine whose Efd it feeds. Fan-out to several machines, or an intermediate block in the path, skips initialization with a warning.
  • The exciter voltage comes from the rectifier inverse. At rest the machine reports Ifd=EFD0, its field voltage. Each FEX mode inverts in closed form,
VE=EFD+0.577KCIfd,VE=EFD2+(KCIfd)20.75,VE=EFD1.732+KCIfd,

and the initializer keeps the one whose own IN lands in its mode.

  • The set-point balances the loop. With the lead-lag at DC gain 1, the rate feedback washed out and the gates idle,
VR=VA=VFE0=VE0(KE+SE(VE0))+KDIfd0,Vref=Vt+VAKA.

Initialization is skipped when no VE≥0 delivers the machine's field voltage (a negative field voltage, or a negative KC). A warning is raised, and the best-effort seed still proposed, when VA or VR falls outside its limits, when VE0 is below VEmin, or when VFE0 exceeds VFEmax.

These quantities populate VREF, VC(0), VE(0) and IFD(0) on the Initialization tab. On the first time step the model also uses VC(0) and Ifd(0) in place of the not-yet-available Vt and Ifd signals, so the regulator does not kick at t=0.

Wiring ​

  • Vt ← the synchronous machine's Vt output.
  • EFD → the synchronous machine's Efd input.
  • Ifd ← the machine's field-current output (appears when KC != 0 or KD != 0).
  • Optionally VS / VUEL / VOEL ← a stabilizer or limiter model, at the location chosen on the Aux Inputs tab.
  • Optionally Vref ← an external set-point source.

Enable Monitor EFD / VC / VA / VE / VFE on the Monitoring tab to record the field voltage, the sensed voltage, the regulator output, the exciter output and the exciter field current.

When to use something else ​

  • A static (bus-fed thyristor) exciter: use Type ST1A, whose ceiling follows the terminal voltage and which responds almost instantly.
  • A high-initial-response alternator exciter modeled as a fast regulator: use Type AC4A.
  • A rotating DC commutator exciter: use Type DC1A.

Ports ​

NameDirectionValue typeNotes
Vtinputdouble
IfdinputdoubleVisible when `KC != 0
VrefinputdoubleVisible when enable_vref == 1
VSinputdoubleVisible when enable_pss == 1
VUELinputdoubleVisible when enable_uel == 1
VOELinputdoubleVisible when enable_oel == 1
EFDoutputdouble

Parameters ​

Regulator ​

NameLabelTypeDefaultUnitsDescription
TRTRdouble0s (s, ms)Terminal-voltage transducer (sensing) time constant 1/(1+sTR). TR = 0 senses Vt directly.
TCTCdouble0s (s, ms)Lead-lag numerator (lead) time constant of (1+sTC)/(1+sTB). Leave TB = TC = 0 to bypass.
TBTBdouble0s (s, ms)Lead-lag denominator (lag) time constant of (1+sTC)/(1+sTB). With TB = 0 the block is a pure lead 1+sTC (or a pass-through when TC = 0 too).
KAKAdouble400—Voltage-regulator gain (pu exciter field voltage per pu voltage error).
TATAdouble0.02s (s, ms)Voltage-regulator time constant of the KA/(1+sTA) block. TA = 0 makes the regulator a pure gain.
VAMAXVAMAXdouble14.5—Upper non-windup limit on the regulator output VA (pu).
VAMINVAMINdouble-14.5—Lower non-windup limit on the regulator output VA (pu).
KFKFdouble0.03—Rate-feedback gain of the sKF/(1+sTF) stabilizing loop, taken from the exciter field current VFE.
TFTFdouble1s (s, ms)Rate-feedback time constant. The feedback is disabled when KF = 0 or TF = 0.

Exciter ​

NameLabelTypeDefaultUnitsDescription
VRMAXVRMAXdouble6.03—Maximum exciter field voltage (pu): the upper limit on VR after the take-over gates. Called EFEmax in AC1C.
VRMINVRMINdouble-5.43—Minimum exciter field voltage (pu). Called EFEmin in AC1C.
TETEdouble0.8s (s, ms)Exciter field time constant of the 1/(sTE) integrator. TE = 0 makes the exciter algebraic: VE settles within the step so that VFE = VR.
KEKEdouble1—Exciter field proportional constant: the unsaturated slope of the exciter field current VFE against the exciter output VE.
E1E1double4.18—Exciter output voltage VE at the first saturation point (pu).
SE1SE(E1)double0.1—Exciter saturation factor SE(E1) at E1. Set SE1 = SE2 = 0 for an unsaturated exciter.
E2E2double3.14—Exciter output voltage VE at the second saturation point (pu).
SE2SE(E2)double0.03—Exciter saturation factor SE(E2) at E2.
KCKCdouble0.2—Rectifier loading factor, proportional to the commutating reactance. EFD = VE * FEX(KC*Ifd/VE). When KC or KD is non-zero a field-current input Ifd appears.
KDKDdouble0.38—Demagnetizing factor, a function of the exciter alternator reactances: KD*Ifd adds to the exciter field current VFE.
VEMINVEMINdouble0—Lower limit on the exciter output VE (pu). 0 for the diode rectifier of AC1A; an AC1C parameter.
VFEMAXVFEMAXdouble99—Upper limit on the exciter field current VFE (pu), applied as the VE ceiling (VFEMAX - KD*Ifd)/(KE + SE(VE)). 99 (never binds) reproduces AC1A; an AC1C parameter. Leave it at 99 when an OEL model protects the field.

Aux Inputs ​

NameLabelTypeDefaultUnitsDescription
enable_vrefExternal Vref input (Vref)enum (Off / On)0—Expose an external voltage-reference input port Vref. When on, a Vref port appears and OVERRIDES (replaces) the regulator setpoint: the wired signal is used as VREF instead of the internal, auto-initialized vref0. You must wire it - an enabled but unconnected Vref reads 0 and collapses the reference. Leave off to use the auto-computed vref0.
enable_pssPSS input (VS)enum (Off / On)0—Expose the stabilizer input VS for a power system stabilizer. VS is added at the voltage-error summing junction.
enable_uelUEL input (VUEL)enum (Off / On)0—Expose the under-excitation limiter input VUEL. Where it enters is set by UEL location.
uel_locationUEL locationenum (Summation at voltage error (a) / Take-over at regulator output (b))2—Where VUEL enters: added at the voltage-error junction (a), or through an HV (take-over) gate on the regulator output (b), the AC1A placement.
enable_oelOEL input (VOEL)enum (Off / On)0—Expose the over-excitation limiter input VOEL. Where it enters is set by OEL location.
oel_locationOEL locationenum (Summation at voltage error (a) / Take-over at regulator output (b))2—Where VOEL enters: added at the voltage-error junction (a), or through an LV (take-over) gate after the HV gate (b), the AC1A placement.

Monitoring ​

NameLabelTypeDefaultUnitsDescription
measure_efdMonitor EFDenum (Off / On)0—Record the field voltage EFD (pu) as a named observable.
measure_vcMonitor VCenum (Off / On)0—Record the sensed (transduced) terminal voltage VC (pu) as a named observable.
measure_vaMonitor VAenum (Off / On)0—Record the regulator output VA (pu, after its [VAMIN, VAMAX] limit) as a named observable.
measure_veMonitor VEenum (Off / On)0—Record the exciter output voltage VE (pu) as a named observable.
measure_vfeMonitor VFEenum (Off / On)0—Record the exciter field current VFE (pu) as a named observable.

Signal Names ​

NameLabelTypeDefaultUnitsDescription
efd_nameEFD namestring(empty)—Observable name for the field voltage EFD. Blank = skip.
vc_nameVC namestring(empty)—Observable name for the sensed terminal voltage VC. Blank = skip.
va_nameVA namestring(empty)—Observable name for the regulator output VA. Blank = skip.
ve_nameVE namestring(empty)—Observable name for the exciter output voltage VE. Blank = skip.
vfe_nameVFE namestring(empty)—Observable name for the exciter field current VFE. Blank = skip.

Initialization ​

NameLabelTypeDefaultUnitsDescription
vref0VREFdouble1—Voltage-regulator setpoint reference (pu). Normally computed by the load-flow auto-initialization so the regulator starts in balance; set manually only for standalone use. Ignored at run time when the external Vref input is enabled and wired (the port overrides it).
vc_initVC(0)double1—Initial sensed terminal voltage at t = 0 (pu). Seeds the transducer state and stands in for Vt on the first step. Normally set by the load-flow auto-initialization to the machine terminal-voltage magnitude.
ve_initVE(0)double1—Initial exciter output voltage VE at t = 0 (pu): the value whose rectified output VE * FEX(KC*Ifd/VE) is the machine's field voltage. Seeds the exciter integrator; the regulator and rate-feedback states follow from it. Normally set by the load-flow auto-initialization.
ifd_initIFD(0)double1—Initial machine field current at t = 0 (pu, equal to the field voltage at rest). Seeds the exciter field current and stands in for Ifd on the first step. Normally set by the load-flow auto-initialization.

Observables ​

SignalTypeDefault nameEnableDescription
EFDsignalfrom efd_namemeasure_efdField voltage EFD = VEFEX(KCIfd/VE) (pu, non-reciprocal) commanded to the machine's Efd input.
vcsignalfrom vc_namemeasure_vcSensed (transduced) terminal voltage VC (pu) after the 1/(1+sTR) transducer.
vasignalfrom va_namemeasure_vaRegulator output VA (pu) after its [VAMIN, VAMAX] limit, before the take-over gates.
vesignalfrom ve_namemeasure_veExciter output voltage VE (pu): the exciter integrator state, before the rectifier regulation.
vfesignalfrom vfe_namemeasure_vfeExciter field current VFE = VE*(KE + SE(VE)) + KD*Ifd (pu).

Used in samples ​