You are on page 1of 97

Document Number: AGC-400

Automatic Generation Control


Program Description
____________________________________________

January 19, 2010


This manual describes the theory of operation of the Automatic Generation Control
program for Windows SCADA.

Survalent Technology Corporation


Mississauga, Ontario
Copyright © 2004 – 2010 Survalent Technology Corporation
All rights reserved

AGC-400 Automatic Generation Control Program Description

Survalent Technology Corporation


2600 Argentia Road
Mississauga, Ontario
L5N 5V4

TEL (905) 826 5000

FAX (905) 826 7144

This program and its documentation are trade secrets of Survalent


Technology Corporation. They are subject to license terms that
prohibit disclosure or transfer of the program or documentation,
whether in original or modified form, to any third party, or the use
thereof for any purpose other than that stated in the license. Any
transfer or unauthorized use of the program or documentation by
a licensee or sublicensee will constitute a breach of confidence
and of the license agreement.

The content of this manual has been carefully checked for accuracy. However, if you find
any errors, please notify Survalent Technology Corporation.

Program Description Contents i


Automatic Generation Control
Revisions

Date Description
January 29, 2004 Initial version
January 19, 2010 Corrected CPS1 calculation. Added enhanced features: sign convention
selection, a meter correction factor in ACE equations, new WECC ACE
equation with ATEC, and the option to continue calculations while deactivated.

Program Description Contents ii


Automatic Generation Control
Contents

1 Introduction 1-1

1.1 Overview of Survalent AGC .................................................................................................... 1-2


1.2 Sign Conventions .................................................................................................................... 1-3
1.3 Other Documents .................................................................................................................... 1-4
1.4 Abbreviations .......................................................................................................................... 1-4

2 Program Organization 2-1

2.1 Introduction............................................................................................................................. 2-1


2.2 AGC Program ......................................................................................................................... 2-3
2.3 Commands From Control Panel ............................................................................................... 2-5

Program Description Contents iii


Automatic Generation Control
3 AGC Routine 3-1

3.1 Introduction ............................................................................................................................. 3-1


3.2 Feed Forward Bias ................................................................................................................... 3-2
3.3 ACE Component for Jointly Owned Units ................................................................................ 3-3
3.3.1 Internal Joint Unit .............................................................................................................. 3-3
3.3.2 External Joint Unit ............................................................................................................. 3-4
3.4 Area Control Error (ACE) ........................................................................................................ 3-4
3.4.1 Area Control Modes ........................................................................................................... 3-4
3.4.2 ACE Calculation ................................................................................................................ 3-6
3.4.2.1 Tie Line Bias ..................................................................................................................... 3-6
3.4.2.2 Constant Net Interchange ................................................................................................... 3-7
3.4.2.3 Constant Frequency ........................................................................................................... 3-7
3.4.2.4 Tie Line Bias with ATEC ................................................................................................... 3-7
3.4.2.5 Reference Frequency.......................................................................................................... 3-7
3.4.3 ACE Filter ......................................................................................................................... 3-8
3.4.4 Bad Telemetry ................................................................................................................. 3-10
3.4.4.1 Invalid Measurements ...................................................................................................... 3-10
3.4.4.2 Frequency Limit Checks .................................................................................................. 3-10
3.4.4.3 Bad Telemetered MW for Joint Units ............................................................................... 3-10
3.5 Inadvertent Interchange .......................................................................................................... 3-11
3.5.1 Inadvertent Interchange .................................................................................................... 3-11
3.5.2 Primary Inadvertent Interchange, On- and Off-Peak ......................................................... 3-11
3.5.3 Actual Inadvertent Interchange, On- and Off-Peak ........................................................... 3-12
3.5.4 On- and Off-Peak Periods ................................................................................................ 3-12
3.6 Main AGC Function ............................................................................................................... 3-12
3.6.1 Functional Description ..................................................................................................... 3-12
3.6.2 Load Allocation ............................................................................................................... 3-16
3.6.2.1 Mode 0 – Manual ............................................................................................................. 3-16
3.6.2.2 Mode 1 – Full Control ...................................................................................................... 3-17
3.6.2.3 Mode 2 – Base Load and Regulating ................................................................................ 3-17
3.6.2.4 Mode 3 – Base Load ........................................................................................................ 3-18
3.6.2.5 Mode 4 – Ramp ............................................................................................................... 3-18
3.6.2.6 Rate Limiting Changes in UDES ...................................................................................... 3-19
3.6.3 Changing Unit Control Mode ........................................................................................... 3-20
3.6.4 Unit Control Loop ............................................................................................................ 3-20
3.6.4.1 Permissive Control ........................................................................................................... 3-21
3.6.4.2 Short Term Rate Limiting ................................................................................................ 3-22
3.6.4.3 Long Term Rate Limiting................................................................................................. 3-22
3.6.4.4 Unit Not Tracking ............................................................................................................ 3-23
3.6.5 Control Status .................................................................................................................. 3-24
3.6.5.1 Suspending Unit Control Due to Bad Telemetry ............................................................... 3-24
3.6.6 Control Performance Indicators ........................................................................................ 3-25
3.6.7 Scheduling Economic Dispatch ........................................................................................ 3-25
3.7 Computation of Actual Shares of Joint Units .......................................................................... 3-26

Program Description Contents iv


Automatic Generation Control
4 Economic Dispatch 4-1

4.1 Introduction............................................................................................................................. 4-1


4.2 Method of Calculation ............................................................................................................. 4-2
4.3 Program Description ................................................................................................................ 4-3
4.3.1 Dispatch Calculation Subroutine ....................................................................................... 4-4
4.3.2 Generation Calculation Subroutine .................................................................................... 4-5
4.4 Program Features .................................................................................................................... 4-7
4.5 Constraints .............................................................................................................................. 4-8
4.6 Joint Unit Representation......................................................................................................... 4-8
4.7 Input Data ............................................................................................................................... 4-8
4.7.1 Real Time Data ................................................................................................................. 4-9
4.7.2 Operator Inputs ................................................................................................................. 4-9
4.7.3 Unit Data .......................................................................................................................... 4-9
4.8 Outputs ..................................................................................................................................4-10

5 Reserves and Performance Criteria 5-1

5.1 Reserves .................................................................................................................................. 5-1


5.1.1 Reserves Categories .......................................................................................................... 5-2
5.1.2 Reserves Calculation ......................................................................................................... 5-2
5.1.3 Alarm Limits on Reserves ................................................................................................. 5-3
5.2 Performance Criteria ............................................................................................................... 5-3
5.2.1 NERC A1 and A2 ............................................................................................................. 5-3
5.2.2 NERC CPS1 ..................................................................................................................... 5-4
5.2.3 NERC CPS2 ..................................................................................................................... 5-4

6 AGC Control Output Program 6-1

6.1 Introduction............................................................................................................................. 6-1


6.2 Program Description ................................................................................................................ 6-2
6.2.1 Short Pulse Control ........................................................................................................... 6-2
6.2.2 Long Pulse Control ........................................................................................................... 6-3
6.2.3 Setpoint Control ................................................................................................................ 6-3

7 Interchange Scheduling 7-1

7.1 Introduction............................................................................................................................. 7-1


7.2 Interchange Processing ............................................................................................................ 7-2
7.2.1 Manual Payback of Inadvertent Interchange ...................................................................... 7-3

Program Description Contents v


Automatic Generation Control
8 Database 8-1

8.1 Introduction ............................................................................................................................. 8-1


8.2 Contents of the MMDB ............................................................................................................ 8-2
8.3 MMDB Status Words ............................................................................................................. 8-11
8.4 AGC Database Report ............................................................................................................ 8-14

9 Monitoring AGC 9-1

Program Description Contents vi


Automatic Generation Control
1 Introduction

This document describes the theory of operation of the Survalent Automatic Generation Control System for
the Windows SCADA system.

Automatic Generation Control (AGC) is a feedback control system that regulates the power output of
electric generators within your control area so as to maintain scheduled system frequency and/or power
interchange within pre-determined limits.

Section 1.1 gives you an overview of the features of the Survalent AGC system.
Chapter 2 describes the overall program organization of the Survalent AGC system.
The remaining chapters describe the details of each major component:
Chapter 3 describes the AGC routine.
Chapter 4 describes the economic dispatch calculation (EDC).
Chapter 5 describes the reserves and performance criteria calculations.
Chapter 6 describes the control output program (AGCTL).
Chapter 7 describes the interchange schedule handler.
Chapter 8 describes the shared memory-resident database used by all of the AGC programs.

Program Description IntroductionIntroduction 1-1


Automatic Generation Control
Chapter 9 outlines the use of the Survalent ScanMon utility to monitor the operation of AGC.

1.1 Overview of Survalent AGC


Survalent AGC is a feedback control system that regulates the power output of electric generators to
maintain a specified system frequency and/or scheduled interchange.

The area control error (ACE) is calculated based on the operational mode selected by the dispatcher:
 Constant Net Interchange
 Constant Frequency
 Tie Line Bias (using the ACE equation described by NERC)
 Tie Line Bias with Automatic Time Error Correction (using the WECC ACE equation)

The AGC program contains two control loops:

Unit Control loop


This is an inner loop that maintains the desired generator power output by means of setpoints or
raise/lower pulses. The rate-limiting logic recognizes that thermal units can exceed limits for short
periods of time.

Load Allocation loop


This is an outer loop that alters the desired generator power output in response to ACE, subject to
bandwidth restrictions of the inner loop. A non-linear filter is applied to ACE to minimize unnecessary
control action.

The load allocation algorithm computes two components of load distribution:

Economic
where each generator is assigned a base load plus an economic participation factor that allows ACE
correction to be distributed economically.

Regulating
an additional component used because regulating capacities are not always in proportion to economic
participation factors (i.e. fast response units, which are desirable for regulation, are not always the
most economic ones). This includes an emergency assist factor for those generators that are not
normally used for regulation.

The AGC system includes an Economic Dispatch Calculation program that dispatches the required
system generation in a manner that minimizes the cost of production. For each dispatchable generator, the
program calculates an optimum base load and a set of participation factors for regulation. These outputs
are used by the closed-loop control algorithms of the AGC program.

The dispatch calculation is an implementation of the classical Lagrangian multipliers technique, where the
solution specifies that all dispatchable generators are to be operated at the same incremental cost of
generation. Each generator may be assigned up to three sets of economic parameters, consisting of fuel
rate curves, rate limits and high and low economic limits. Each fuel rate curve is represented as a set of

Program Description IntroductionIntroduction 1-2


Automatic Generation Control
piecewise linear segments that are allowed to be discontinuous. The dispatcher selects the appropriate
economic parameter set to match the fuel that the generator is currently burning.

A Reserves Monitor function calculates spinning, non-spinning and total reserves in generating capacity.

An Interchange Scheduling application allows the dispatcher to define and review scheduled power
interchange transactions. The AGC program takes these scheduled interchanges into account when
computing the area control error. For each transaction, the dispatcher enters a company name, the
amount of interchange, start and stop dates and times, ramp in and out rates, and price. At the transaction
start time, the transaction handler ramps in the transaction amount. The amount that is ramped in at any
given time is shown for each transaction on the Interchange display.

Both the AGC and Economic Dispatch programs contain support for jointly owned units:

Internal joint units


These are units that your company operates and for which up to four other companies (co-owners)
request desired shares of generation. Such requests may be telemetered via RTU or data link (such
as ICCP).

External joint units


These are units that are operated by other companies, to which you telemeter your desired share of
generation.

Other features of the AGC system include:

Hydro-electric generating units are supported via a lead/lag filter in the unit control loop that compensates
for governor/water column dynamics.

Since the AGC system supports a “scheduled frequency deviation” value, it is possible to perform either
manual or automatic time error correction.

Outputs of the AGC program include calculated values that satisfy the requirements for reporting both
NERC A1/A2 and CPS1/CPS2 performance criteria.

Automatic time error correction and automatic payback of inadvertent interchange can be
accomplished using the WECC calculation of ACE, which incorporates a factor derived from the
accumulated on-peak and off-peak primary inadvertent interchange in the previous hour.

The AGC system’s database is created and maintained by editors integrated into SCADA Explorer. This
allows you to set up and tune the system.

There is no “control panel” provided for operating the AGC system. You create your own custom control
panel using the WorldView user interface. This provides your operators with a familiar interface subject to
the controls and other features that you have designed into your SCADA system. In this document,
reference will be made to some of the typical features such a control panel should include. A suggested
approach to creating such a control panel is described in AGC-401, AGC Database Guide.

1.2 Sign Conventions


The Survalent AGC program has traditionally followed these sign conventions:

Program Description IntroductionIntroduction 1-3


Automatic Generation Control
 Interchange power entering the system is defined as positive.
 Interchange power leaving the system is defined as negative.
 A positive value of area control error (ACE) indicates a need to increase your generation.

However, to conform to the sign convention used by NERC in their discussions of AGC, you may
optionally configure your AGC system to follow that convention instead, i.e.:
 Interchange power entering the system is defined as negative.
 Interchange power leaving the system is defined as positive.
 A positive value of area control error (ACE) indicates a need to decrease your generation.

For the purposes of this Program Description, the STC sign convention will be assumed.

1.3 Other Documents


This document is one of a four-volume set of manuals available for the Survalent Automatic Generation
Control subsystem. The complete set is listed in the table below:

Table 1.3-1 AGC Document List


Document Number Title
AGC-400 Automatic Generation Control Program Description
AGC-401 Automatic Generation Control Database Guide
AGC-402 Automatic Generation Control Tuning Guide
AGC-403 Interchange Scheduling User’s Guide

The Automatic Generation Control Database Guide describes the editing facilities that are available to you
to define the Automatic Generation Control database.

The Automatic Generation Control Tuning Guide describes how to tune the Automatic Generation Control
system.

The Interchange Scheduling User’s Guide describes how to use the interchange scheduling feature of the
Automatic Generation Control system.

1.4 Abbreviations
The following is a brief list of abbreviations used in all four documents of the Automatic Generation Control
documentation set.
ACE Area Control Error
AGC Automatic Generation Control
EDC Economic Dispatch Calculation
FFB Feed Forward Bias
ICCP Inter Control Center Communication Protocol

Program Description IntroductionIntroduction 1-4


Automatic Generation Control
MMDB Main Memory Database
NERC North American Electric Reliability Council
WECC Western Electricity Coordinating Council

Program Description IntroductionIntroduction 1-5


Automatic Generation Control
2 Program Organization

2.1 Introduction

The Survalent AGC system consists of the following programs:

AGC program
This program, called AGC, is responsible for:
 Initialization of internal AGC database
 The AGC function itself
 Reserves and performance criteria calculation
 Execution of scheduled interchanges
 Transcription of data in the internal database to and from the SCADA point database.

The overall program is described in section 2.2, AGC Program. Details of the AGC function itself are
described in chapter 3, AGC Routine. Details of the reserves and performance criteria calculations are

Program Description Program Organization 2-1


Automatic Generation Control
described in chapter 5, Reserves and Performance Criteria. Details of the interchange scheduling
function are described in chapter 7, Interchange Scheduling.

Economic Dispatch Calculation program


This program, called EDC, is responsible for performing economic dispatch calculations to obtain, for
load-following units, a set of base loads and economic participation factors. The EDC program is
triggered by the AGC program a specified intervals, or on operator request.

This program is described in chapter 4, Economic Dispatch.

AGC Control Output program


This program, called AGCTL, executes controls specified by the AGC program. Depending on the type
of signal required, the program issues either set-points or raise/lower pulses. Any RTU that supports
such controls can be used. The control outputs from this RTU are sent in turn to the generator’s
controller.

This program is described in chapter 6, AGC Control Output Program.

Interchange Schedule application


This is a standalone user interface application that allows the dispatcher to define and review
interchange schedules. Execution of the schedules is a function of the AGC program.

This application is described in the AGC-403, Interchange Scheduling User’s Guide.

The AGC programs rely on the SCADA database for certain input and output data. Some of this data
resides in database points, and some is found in AGC database files, which you edit using SCADA
Explorer. If you need additional information about using SCADA Explorer, see DB-400, Windows SCADA
Database Editing Overview.

The AGC database files are found in the SCADA Explorer tree, under Automatic Generation Control, in the
branch labeled Applications. The creation of the required database is described in the AGC-401,
Automatic Generation Control Database Guide. The database files are:

AGC System Data


This table contains system data variables in the form of SCADA database points. You can use these to
create your own custom AGC control page. The file also contains a set of system tuning parameters
that the programs use during operation. You may create additional records in this file if you need to
perform Automatic Generation Control in more than one control area.

AGC Generator Units


This table defines the generating units. Each record includes the data for one generator, including unit
characteristics, the corresponding database points, unit-specific tuning parameters, and 3 sets of unit-
specific economic parameters.

AGC Tie Lines


This table defines the data specific to each tie line.

A block diagram of the overall system is shown in Figure 2-1.

Program Description Program Organization 2-2


Automatic Generation Control
Figure 2-1 AGC System Block Diagram for one Control Area
Pulse
System Data file and
(one record) Setpoint
Controls
Generator Unit Data file
(one record per generator)
Tie Line Data file
(one record per tie)
Interchange Schedule file
(one record per transaction)

AGC EDC AGCTL

AGC Economic AGC


Program Dispatch Control
Program Output
Program
SCADA
Point
Database

MMDB
In-Memory AGC Database

2.2 AGC Program


The AGC, AGCTL and EDC programs all share data in an in-memory shared common area called the
main memory database, MMDB. This data resides in a Windows dynamic link library (DLL). The contents
of the MMDB are described in chapter 8, Database.

At startup, the AGC program initializes the contents of the MMDB from the contents of:
 The AGC System Data record
 The Generator Unit Data file
 Tie Line Data file
 Interchange Schedule data file
 SCADA Point database

Program Description Program Organization 2-3


Automatic Generation Control
These files are edited using SCADA Explorer, as described in detail in the Automatic Generation Control
Database Guide. If a parameter in the file is represented by a point name, the value of the point is loaded
into the MMDB.

After startup, the AGC program proceeds into a never-ending loop that is executed at every AGC cycle.
Inside the loop, the program performs steps in the following order:
 Check for messages from other programs, and process them if there are any.
The messages that the AGC program receives are commands from the control panel, which is
described in the Custom AGC Control Panel chapter of the Automatic Generation Control
Database Guide. For diagnostic purposes, AGC may also receive commands from the ScanMon
program described in chapter 9, Monitoring AGC.
The commands received from the control panel are described in section 2.3, Commands From
Control Panel. The AGC program logs every received command on the event logger(s).
 Process the interchange schedule file.
This is described in chapter 7, Interchange Scheduling.
 Update MMDB data from SCADA.
This consists of transcribing the values of SCADA database points into the MMDB. The points that
correspond to MMDB variables are identified in the AGC System Data, Generator Unit Data and
Tie Line Data database tables.
 Perform the AGC function.
This is described in detail in chapter 3, AGC Routine. Note that the AGC program does not itself
issue controls. It leaves instructions to issue controls in the MMDB. These instructions are acted
upon by the AGC Control Output program, AGCTL.
 Perform the reserves calculation.
This is described in chapter 5, Reserves and Performance Criteria.
 Perform calculations that satisfy the reporting requirements of NERC performance criteria A1, A2,
CPS1 and CPS2.
This is described in chapter 5, Reserves and Performance Criteria.
 Transcribe data from the MMDB back into SCADA database points.
The data transcribed from the MMDB consists of outputs of both the AGC and EDC programs. The
points that receive values from the MMDB are identified in the AGC System Data, Generator Unit
Data and Tie Line Data files, and are generally different points from those whose values are
transcribed into the MMDB.
 Wait for the current AGC cycle time to expire and then go back to the top of the loop.

The function of the AGC program is illustrated in Figure 2-2.

Program Description Program Organization 2-4


Automatic Generation Control
Figure 2-2 AGC Program

AGC Program

Initialize and load MMDB

Loop
Process messages, if any AGC Routine
Process interchange schedule file
Update MMDB from SCADA Calculate feed forward bias amount
Call AGC routine Calculate ACE component for joint units
Calculate feed forward bias Calculate total ACE
Calculate reserves Perform AGC
Calculate ACE component for joint units Compute actual shares for joint units
Calculate NERC performance criteria Return to AGC Program
Calculate total ACE
Update SCADA from MMDB
Perform AGC
Wait for next AGC cycle
Compute actual shares for joint units
Endloop

2.3 Commands From Control Panel


The AGC program receives the following commands from your custom control panel:

Activate AGC
This causes the AGC program to resume its AGC function after having been deactivated. It does not
re-initialize the contents of the MMDB.

Deactivate AGC
This causes the AGC program to suspend its AGC function. Transcription of data to and from the
MMDB continues, as does execution of the interchange schedule (although no AGC controls are
calculated, the total scheduled interchange is computed from the scheduled transactions). As a user-
selectable option, all AGC calculations may be allowed to continue, and only the issuing of generator
controls being suspended.

Re-initialize AGC
This causes the AGC program to restart by re-initializing the entire contents of the MMDB. The
dispatcher or engineer should use this function after having made changes to system or unit data in
the AGC System Data or Generator Unit files.

Although the Re-initialize AGC function updates everything in the MMDB, special functions are available to
allow you to perform a “bumpless” update by updating only the feed forward bias, economic data or tuning

Program Description Program Organization 2-5


Automatic Generation Control
data (in the latter case, the update may not be perfectly smooth, depending on what you change). These
functions are described below.

Update Feed Forward Bias


This causes the AGC program to update the feed forward bias parameters in the MMDB from
corresponding database points (identified in the AGC System Data file). The dispatcher can use this
function after having made changes to the feed forward bias parameter points via the control panel.
Feed forward bias is described in section 3.2, Feed Forward Bias.

Update Economic Parameters


This causes the AGC program to update just the economic parameter data in the MMDB from the
economic parameters in the Unit Data file. This function can be used by the dispatcher or engineer
after making changes in the unit economic parameters, or after changing the economic parameter set
number for one or more units.

Update Tuning Data


This causes the AGC program to update just the tuning data in the MMDB from the AGC System Data
and Generator Unit files. The engineer can use this function after making changes to either of these
sets of tuning parameters.

Run Economic Dispatch


This causes the AGC program to immediately trigger the economic dispatch calculation, which is
performed by another program called EDC. The EDC program is described in chapter 4, Economic
Dispatch.

Normally, the EDC program is triggered periodically by the AGC program at an interval specified in the
System Tuning parameters.

Program Description Program Organization 2-6


Automatic Generation Control
3 AGC Routine

3.1 Introduction
This chapter describes the operation of the AGC routine that is called by the main AGC program on every
AGC cycle.

The AGC routine performs five logical steps in the order outlined below:
 Calculate feed forward bias
 Calculate ACE component for jointly owned units
 Calculate total area control error (ACE)
 Perform AGC function
 Compute actual shares for internal joint units

These are discussed individually below.

Program Description AGC Routine AGC Routine 3-1


Automatic Generation Control
3.2 Feed Forward Bias
If the system is subject to predictable changes in load, the dispatcher can use the feed forward bias
feature to cause AGC to actually expect the load change and thereby significantly improve its response to
the load change. What feed forward bias does is to create a component of area control error (ACE) that
increases and decreases linearly with time based on dispatcher inputs. The dispatcher defines the
following quantities:
Start time of bias HH:MM
Peak time of bias HH:MM
End time of bias HH:MM
Peak value of bias +/- MW

The shape of the anticipated load change that this defines is triangular, as illustrated in Figure 3-1. If the
load change is positive, the peak value of bias is positive. If the load change is negative, the peak value
of bias is negative. Whenever a change is made to the feed forward
bias parameters, the dispatcher must notify AGC by selecting the The feed forward logic does not
“Update Feed Forward Bias” item in the AGC Control Menu. See support starting and ending
the Custom AGC Control Panel chapter in the Automatic times that span midnight.
Generation Control Database Guide.

Figure 3-1 Feed Forward Bias

Feed forward
ts Starting time
bias MW
tp Peak time
(FFBAMW)
te Ending time
Pp Peak value of bias

Pp

ts tp te time

Program Description AGC Routine AGC Routine 3-2


Automatic Generation Control
At every cycle, the AGC program checks to see if the system time is within the start and end times for
feed forward bias. If so, and if the dispatcher has enabled the feature, the logic will calculate the
appropriate value for the parameter FFBAMW, to include in ACE on that control cycle.

Provided the dispatcher’s prediction is correct the area control error will, as the load changes, be less
than it would be without this bias.

3.3 ACE Component for Jointly Owned Units


The Survalent AGC system supports generation units that are jointly owned by up to five companies,
including yours. Jointly owned units are termed “joint” units, as opposed to “owner” units, which are
owned entirely by your company, the owner.

If a joint unit is controlled by your AGC system on behalf of yourself and the other owners, the unit is
inside your control area and is referred to as an internal joint unit. Each other company’s desired share of
such a unit is represented by a database point whose value may be either telemetered to your system
(via ICCP, for example) or manually set by the dispatcher based on a telephone call.

If a joint unit is controlled by one of the other companies’ AGC systems, it is outside your control area and
is referred to as an external joint unit. In this case, your system should telemeter your desired share of the
unit’s output to that other AGC system (or, you can phone the other dispatcher to request your share).

The AGC program handles joint units, both internal and external, by treating the power shares that flow
across your AGC boundary as adjustments to your actual net interchange. The summation of telemetered
tie flows between you and your neighbors includes components attributable to the jointly owned units.
These must be removed to obtain your “true” net interchange. The net adjustment is stored in a variable
named ACECAP, whose value is simply added to ACE.

As explained below, the treatment of power shares that cross your AGC boundary is different for an
internal joint unit as opposed to an external joint unit.

3.3.1 Internal Joint Unit


If you operate an internal joint unit, the other companies send requests for their power shares to you.
These power shares flow out of your control area and are therefore treated as negative components of
your actual net interchange. Since your control area is considered to be lossless right up to your AGC
boundary, no transmission loss factors for delivery of power from internal joint units to the AGC boundary
are applied.

The contribution to ACECAP from internal joint units is computed as the negative of the sum of actual
power shares of all companies (other than yourself) of all internal joint units that are online.

In the case of an internal joint unit operating in Base Load or Ramp mode, your desired share of the unit
is rate limited against a prorated long term rate limit. In addition, the total desired unit output is rate limited
according to the physical response rate limit for the unit. Therefore, the actual shares are generally not
equal to the desired shares.

The AGC program divides the actual power of each jointly owned unit within your control area into
calculated actual shares for each participating company and stores these values into database points,
from which they may be transmitted to the companies by any convenient method.

Program Description AGC Routine AGC Routine 3-3


Automatic Generation Control
3.3.2 External Joint Unit
In the case of an external joint unit, your AGC system requests power shares from another company.
Therefore, the power shares that flow into your AGC control area are treated as positive components of
actual net interchange.

The amount of power received at the boundary by you, the owner, is determined by the AGC logic in
terms of power at the bus bar of the unit. Unlike the case for an internal unit, the transmission of power
from the bus bar of the unit to your AGC boundary is not considered to be lossless. The loss incurred in
delivering your share to your boundary is represented by a percentage loss factor for the unit, ULFECi
(where i is the unit in question). The power received at the AGC boundary is given by:

Preceived  owner _ actual _ share _ at _ busbar  1  ULFECi  0.01

The owner_actual_share_at_busbar is telemetered to your system by the company that operates the joint
unit.

The sum of Preceived for each online external joint unit is added to variable ACECAP.

In the case of an external joint unit operating in Full Control or Base Load and Regulating mode, your
desired share of the unit is rate limited to lie within the long term rate limit for the unit and is limit checked
against prorated high and low regulating limits. In addition, the total desired generation from the unit is
checked against physical high and low regulating limits.

3.4 Area Control Error (ACE)

3.4.1 Area Control Modes


The calculation of ACE depends on the current area control mode, which may be one of:
 Constant frequency mode
 Constant net interchange mode
 Tie line bias mode (NERC equation for ACE)
 Tie line bias mode with automatic time error correction (WECC equation for ACE)

These calculations are described in detail in section 3.4.2. For a schematic illustration of the ACE
calculation, see Figure 3-2.

The feed forward bias component, FFBAMW, is included in ACE regardless of the area control mode
selected by the dispatcher. This was discussed in section 3.2, Feed Forward Bias.

The contribution of jointly owned units, contained in variable ACECAP, is not included in ACE in constant
frequency mode, since this mode is used only when your system is operating with all tie lines open. See
section 3.3, ACE Component for Jointly Owned Units.

The ACE calculation logic assumes that values of FFBAMW and ACECAP have already been computed
by other phases of the AGC routine for the present AGC cycle. Similarly, the scheduled net interchange,
SNI, is also assumed to have been calculated (by the interchange schedule handler of the AGC
program).

Program Description AGC Routine AGC Routine 3-4


Automatic Generation Control
The ACE calculation logic computes the value of actual net interchange, ANI, by summing all filtered tie
line megawatt values.

Three components of ACE are then calculated:


 The constant net interchange mode component, ACECNI, which is the value of ACE independent of
system frequency.
 The constant frequency mode component, ACECF, which is the value of ACE independent of
interchange considerations.
 The component for automatic time error correction (ATEC), called ACETEC, which is computed from
the accumulated Primary Inadvertent Interchange (described in more detail in section 3.5.2).

Once these components have been computed, the value of ACE is determined according to the selected
area control mode. See paragraph 3.4.2, ACE Calculation, for the details of the calculation.

The main AGC function operates using a filtered value of area control error, called FACE. The logic for
calculating FACE is described in paragraph 3.4.3, ACE Filter.

The ACE calculation changes when there are invalid measurements for tie line MW or joint unit MW
values, or if the system frequency deviates excessively from the scheduled frequency (normally 60 Hz).
These modifications are described in paragraph 3.4.4, Bad Telemetry.

Program Description AGC Routine AGC Routine 3-5


Automatic Generation Control
Figure 3-2 ACE Calculation

scheduled measured
FEED WITHIN FFB COMPUTE FEED frequency - + frequency
FORWARD BIAS
ENABLED
Yes
TIME RANGE
Yes
FORWARD BIAS deviation  deviation
from 60 Hz. from 60 Hz.

FFBAMW = 0 FFBAMW = 0
No No FFBAMW  0

-10 B x f

 (1 - .01 x ULFEC


k
) x UMW(k)
k = ext ACECF
FFBAMW CLOSED FOR TLB & CF
AREA CONTROL
MODES AND
FREQUENCY
MEASUREMENT VALID

+ +
+
-
ACECAP
+
  
- +
CLOSED FOR TLB & CNI AREA ACE
CONTROL MODES AND ALL TIE MW
MEASUREMENT VALID AND ALL
INTERNAL JOINT UNIT MW
MEASUREMENTS VALID NON-LINEAR
ACE
5 ACECNI FILTER
  ASICU
j,k
k=int j=2

FACE

_
ACTUAL + SCHEDULED
 FTIEMW  NET A
NET INTERCHANGE
INTERCHANGE

3.4.2 ACE Calculation


The dispatcher can select one of four methods for calculating area control error (ACE). In the traditional
case a positive value of ACE calls for an increase in generation, however when observing the NERC sign
convention (see section 1.2, Sign Conventions), a positive value of ACE indicates a need to reduce
generation.

3.4.2.1 Tie Line Bias


When the area control mode is set to tie line bias, ACE is calculated as described by NERC:

ACE  ( ANI  SNI )  ACECAP  FFBAMW  (10  B  FDEV )  I ME

where:
ANI = actual net interchange
SNI = scheduled net interchange
ACECAP = the contribution from joint units
FFBAMW = the amount of feed-forward bias, if any
B = preset frequency bias in MW/0.1Hz (a positive number)

Program Description AGC Routine AGC Routine 3-6


Automatic Generation Control
FDEV = actual frequency deviation - scheduled frequency deviation
IME = a manually-entered meter correction factor, normally near zero, that accounts (typically)
for known errors in calibration of tie line flows.

3.4.2.2 Constant Net Interchange


In this area control mode, ACE is calculated as:

ACE  ( ANI  SNI )  ACECAP  FFBAMW  I ME

where the terms are defined as in 3.4.2.1.

3.4.2.3 Constant Frequency


In constant frequency mode, ACE is calculated as:
The constant frequency mode
should only be selected when all
ACE  FFBAMW  (10  B  FDEV ) tie lines are open.

where the terms not defined above are:


B = preset frequency bias in MW/0.1Hz (a positive number)
FDEV = actual frequency deviation - scheduled frequency deviation

Note that since this mode is used when there are no tie line flows, there is no meter correction term.

3.4.2.4 Tie Line Bias with ATEC


This mode computes ACE in accordance with the equation described by WECC:

on / offpeak
II primary
ACE  ( ANI  SNI )  ACECAP  FFBAMW  (10  B  FDEV )  I ME 
(1  Y ) H

This is identical to the equation for tie line bias mode described above, except for the addition of the final
“WECC Automatic Time Error Correction” term.

In this ATEC term:

Y = B/BS, where B is the frequency bias as above, and Bs is the total frequency bias of the
interconnection (the group of interconnected control areas that yours is a member of).
This is also in MW/0.1Hz (note that Bs >> B)
H = correction time period, in hours
IIprimary = the primary II, accumulated separately for on-peak and off-peak hours, using the
method described in section 3.5.2, Primary Inadvertent Interchange.

3.4.2.5 Reference Frequency


The actual frequency deviation that is used in the frequency component of ACE is computed as the
difference between the measured frequency and the reference frequency. This reference frequency is a
system tuning parameter, which you can set to either 60 Hz or 50 Hz.

Program Description AGC Routine AGC Routine 3-7


Automatic Generation Control
3.4.3 ACE Filter
In a power system, the value of ACE will necessarily contain a significant amount of random noise. The
source of the noise is partly a result of the measurement and calculation methods, but the dominant
contributor is the truly random nature of loads inside and outside your control area. In mathematical
terms, much of this random noise lies within a portion of the frequency spectrum that is higher than the
bandwidth of the AGC system.

In down to earth terms, consider the following example. Suppose we experience a sudden increase in
load. If AGC responds to this, it takes some time to generate a raise pulse to the generating unit, and still
more time for the units to respond. If the random load component has disappeared by this time, or
perhaps even reversed direction, then the AGC corrections will do nothing to help and can potentially
degrade the system performance. Allowing too much random noise to affect AGC causes too many
pulses to be sent to the generating units, resulting in excessive wear on equipment and possible loss of
dispatcher and/or plant operator confidence.

The simplest type of noise filter would consist of a time lag acting on ACE. A lag acts as a low-pass
frequency filter. It allows low frequency changes (i.e. sustained changes) to pass through, while blocking
high frequency noise (i.e. short duration changes). However, lags slow down the response of AGC to all
disturbances, thus degrading control system performance.

The next simplest type of filter is a deadband threshold acting on ACE. Small values of ACE are blocked
while larger values pass through unchanged. A deadband, although simple, suffers two major drawbacks
in this application. The deadband will allow a small ACE value to exist indefinitely without correction, and
the deadband becomes less effective in periods such as morning load pickup when the long term average
value of ACE is not expected to be zero. The ACE filter in the Survalent AGC program addresses each of
these problems by implementing a more intelligent deadband.

Operation of the ACE filter is best understood with the aid of Figure 3-3. From ACE, we calculate the
quantity ACEMWH, which is defined as the integral of ACE over a certain long-term period of interest.
Note that the units of the integral of ACE are energy, in MWH. In fact, ACEMWH is an approximation to
the inadvertent interchange accumulated within the latest time period of interest. The period of interest is
defined as twice the constant FK4. FK4 is adjustable, but is generally set to 450 seconds (so the nominal
period of interest is 15 minutes). ACEMWH may also be interpreted as the long-term trend in ACE, either
positive or negative.

The filtered value of ACE is called FACE, and is calculated as follows. The magnitude of ACE is applied
to a simple deadband whose threshold is the constant FK1. If ACE is greater than FK1, then FACE is set
equal to ACE.

If ACE is not greater than FK1, then we compare the magnitude of ACEMWH against the deadband
threshold FK2. If ACEMWH is less than, or equal to FK2, then both ACE and its long-term trend are small
and we block control (i.e. set FACE to zero). But if ACEMWH is greater than FK2, then the inadvertent
interchange is significant enough that we may want to act on it.

However, we may still wish to not allow ACE to pass through in this case. We do not want to add any lag
or phase shift to the signal. Therefore, the strategy of the filter is to apply selective rectification to ACE. If
the sign of ACE is the same as the sign of ACEMWH, then allowing ACE to pass through will act to
reduce ACEMWH. If the signs are different, then passing ACE through would increase the magnitude of
ACEMWH, so we block it.

Program Description AGC Routine AGC Routine 3-8


Automatic Generation Control
Figure 3-3 ACE Filter Logic

enter with
ACE &
ACEMWH

YES
| ACE | > FK1

NO

NO
| ACEMWH | > FK2

YES

NO
ACE * ACEMWH > 0

YES

FACE = 0 FACE = FK3 * ACE FACE = ACE

EXIT
WITH
FACE

For this purpose, blocking ACE consists of setting FACE to zero. Passing it through consists of setting
FACE equal to ACE times FK3. This additional constant, FK3, controls how aggressively we attempt to
force ACEMWH to zero. Normally, we set FK3 to 1.0 so that the strength of ACE is the same both above
and below the FK1 deadband. However, FK3 may be increased or decreased to speed up or slow down
the return of ACEMWH to zero, respectively.

Note that the value of ACEMWH used above is not exactly the same thing as the inadvertent interchange.
The difference is that ACEMWH considers only a relatively brief period of history, and the reason for
using ACEMWH is to prevent AGC from attempting to correct relatively old errors.

To calculate ACEMWH, we first lag ACE by FK4 seconds to get the quantity ACEL1. We further lag
ACEL1 by FK4 seconds to get the quantity ACEL2. ACEMWH is then computed as the integral of ACEL2.

At startup, ACE filter initialization consists of setting the following variables to zero: ACEL1, ACEL2 and
ACEMWH. The filter constants FK1, FK2, FK3 and FK4, along with the parameter EFFCYC are all
adjustable System Tuning parameters, found in the AGC System Data file. They can be edited using
SCADA Explorer. See the Automatic Generation Control Database Guide.

The primary goal of the ACE filter is to reduce control effort (i.e. the number of pulses sent to the
generating units). This corresponds to reducing the number of times we develop a non-zero value of
FACE. To help you tune the ACE filter, the AGC program computes a quantity, called EFFORT, which
represents an approximation to the fraction of time that FACE is non-zero (and therefore the fraction of
time that controls are issued). The variable EFFORT is computed by generating values of 1 or 0
depending on whether FACE is non-zero or zero, respectively, and passing these 1s and 0s through a
time lag (with a time constant of “EFFCYC” AGC cycles). The Automatic Generation Control Tuning
Guide (AGC-402) describes how to use this variable to tune the ACE filter.

Program Description AGC Routine AGC Routine 3-9


Automatic Generation Control
3.4.4 Bad Telemetry

3.4.4.1 Invalid Measurements


When an invalid frequency deviation, tie line or joint unit MW measurement is encountered, the AGC
program cannot use this data, however it does not deactivate itself immediately. Each time an invalid
measurement is encountered, one of three bad data counters is incremented and the outputs ACECF or
ACECNI and ACECAP are set to zero (depending on the selected area control mode). These counters
are:
 IBFC for the system frequency measurement
 IBTC for the tie line measurements
 IBICU for the joint unit MW measurements

AGC deactivates itself if:


 the value of IBTC exceeds a maximum counter value, IBTCMX, or
 the value of IBFC exceeds a maximum value, IBFCMX, or
 the value of IBICU exceeds a maximum value, MXBICU

These maximum values are System Tuning parameters, editable using SCADA Explorer. See AGC-401,
Automatic Generation Control Database Guide.

3.4.4.2 Frequency Limit Checks


When operating in either the constant frequency or tie line bias modes, AGC deactivates itself if the
measured frequency falls outside the range of LOFREQ to HIFREQ Hz. An alarm is issued when this
condition occurs. The dispatcher is required to re-activate AGC via the AGC Control menu, once a more
reasonable value for frequency is available. See chapter 8, Custom AGC Control Panel, in AGC-401,
Automatic Generation Control Database Guide.

The LOFREQ and HIFREQ limit values are adjustable System Tuning parameters, editable using SCADA
Explorer. See the AGC System Tuning section in the Automatic Generation Control Database Guide.

The dispatcher is provided with the ability to deactivate the frequency trip logic of the AGC program
should he/she desire to operate outside the range given by LOFREQ and HIFREQ. See the Frequency
Trip Enabled section in the Automatic Generation Control Database Guide.

3.4.4.3 Bad Telemetered MW for Joint Units


The presence of a bad telemetered MW value for a joint unit must be handled in two respects by AGC:
 The calculated values of ASICUj,i (actual shares) for a joint unit will be in error in the presence of a
bad internal joint unit MW value.
 Since the values of ASICUj,i (actual shares) for an internal joint unit, and UMW i for an external unit,
contribute to the calculation of ACECAP, and therefore ACE, a bad MW value for a joint unit will
result in an incorrect value of ACE.

When we have a bad MW value for a joint unit, and the unit is online, the AGC program sets the values of
ACECNI and ACECAP to zero and increments the counter, IBICU. The tie line checks are skipped when

Program Description AGC Routine AGC Routine3-10


Automatic Generation Control
this happens. This continues each AGC cycle so long as any joint unit MW value is bad. Whenever the
value of IBICU reaches a limiting value of MXBICU, the AGC program will deactivate itself. Any time all
joint unit MW values are good for units that are marked as online, the value of IBICU is reset to zero, and
(if we do not have a bad tie line MW value) ACECAP and ACECNI resume normal calculation.

In the joint unit actual shares calculation, if a bad MW value is encountered, all actual shares (ASICUj,I)
for the unit are set to a large negative number (-1000 MW) to indicate to the requesting company that the
value is invalid and should not be used. When the MW value returns to a valid state, the normal path of
calculating ASICUj,i for the unit is followed and the ASICUj,i values will return to positive numbers.

3.5 Inadvertent Interchange


Inadvertent interchange is flow through your tie lines other than the scheduled amount. At any given
moment, it may represent power generated in excess of your load (power flows out of your control area)
or insufficient to meet your load (power flows into your control area).

3.5.1 Inadvertent Interchange


The AGC program accumulates a value for Inadvertent Interchange (II) on every AGC cycle by simply
integrating the value of ACE over time. This value is reset to zero when AGC is re-initialized; it gives you
an appreciation for the long-term performance of your generation control. This simple value of II is
accumulated continuously, regardless of the area control mode (mainly for compatibility with earlier
installations of the AGC program that did not support ATEC and the Primary II accumulations discussed
below).

3.5.2 Primary Inadvertent Interchange, On- and Off-Peak


To support the ATEC term in the ACE equation described in section 3.4.2.4 (Tie Line Bias with ATEC)
two accumulated Primary Inadvertent Interchange values are maintained when the control area mode is
Tie Line Bias with ATEC. The separate on-peak and off-peak values are accumulated according to the
WECC formula:

 10 *  * TE 
1  Y  *  II total 
on / off  Peak on / off  Peak
updated II  previous II primary 
 
primary
60

where:
IItotal is the area’s total Actual Inadvertent Interchange (MWh), on-peak or off-peak, accumulated
during the last operating hour (see 3.5.3).

ΔTE is the hourly change in system time error, including any manual adjustments and the time
error correction:

ΔTE = TEend hour – TEbegin hour – TDadj – ( t * δF )

where:
TEend hour = Time Error (in seconds) at the end of the hour
TEbegin hour = Time Error (in seconds) at the beginning of the hour
TDadj = any operator adjustment introduced to the time error

Program Description AGC Routine AGC Routine3-11


Automatic Generation Control
t is the number of minutes of time error correction that occurred during the hour
δF is the scheduled frequency offset, used for time error correction (±0.02 Hz or 0 Hz)

This accumulated value of primary II includes contributions from both the previous hour’s inadvertent
interchange, and correction of the time error. The value of TE (time error) is maintained by the AGC
program on each cycle by comparing the reference frequency against the actual frequency during that
cycle, and is displayed to the operator in a database point. This point may be manually adjusted by the
operator to make manual adjustment to the time error. In addition, a database point is provided to allow
the user to enter the scheduled frequency offset, δF.

3.5.3 Actual Inadvertent Interchange, On- and Off-Peak


Two values for on-peak and off-peak Actual Inadvertent Interchange are maintained by the program, by
accumulating the difference between actual and scheduled interchange. The actual II values for the
current hour (so far) and the total values for the previous hour are retained by the program, and can be
displayed to the operator in database points.

During each on-peak or off-peak period, the corresponding value for the last hour’s actual II is used in the
calculation above for Primary II. This value, in turn, is used in the ATEC term of the ACE equation
described in section 3.4.2.4, to implement automatic “payback” of previous inadvertent interchange, and
automatic correction of the time error.

3.5.4 On- and Off-Peak Periods


The determination of on-peak or off-peak times is made according to a schedule specified by the user.
Refer to AGC-401, Automatic Generation Control Database Guide for information on how to enter the
schedule of peak hours (including the designation of certain days as off-peak holidays).

3.6 Main AGC Function

3.6.1 Functional Description


The AGC program must instruct the generating units of the system to adjust their load in such a way that
the filtered area control error (FACE) is reduced to zero. FACE does not, however, indicate how the
overall generation change is to be achieved. This is the job of the following two functions of the AGC
program:
 Load Allocation logic
 Unit Control Loop logic

Figure 3-4 shows a schematic overview of the main AGC logic, with FACE as the primary input signal,
and the determination of the raise/lower pulses or setpoint signals for each unit as the output.

The load allocation logic allows the load to be carried by each unit to be assigned according to one of five
modes (individually selectable for each unit):
 Mode 0 – Manual Mode
 Mode 1 – Full Control Mode
 Mode 2 – Base Load and Regulating Mode

Program Description AGC Routine AGC Routine3-12


Automatic Generation Control
 Mode 3 – Base Load Mode
 Mode 4 – Ramp Mode

The unit control loop logic exerts closed-loop feedback control over the power output of each generator.
The control loop logic for each unit implements an integral-action controller, with the load reference point
of the generating unit (i.e. the governor speed motor) being driven at a rate that is essentially proportional
to the magnitude of the unit control error UCEi:

UCE  UDESi  UMWi


where:
UDESi = unit i desired power from load allocation logic
UMWi = measured unit i actual power

Program Description AGC Routine AGC Routine3-13


Automatic Generation Control
Figure 3-4 Unit Control

Program Description AGC Routine AGC Routine3-14


Automatic Generation Control
 UMW
MODE 1- 4 UNITS

+ UEHLRL USER
+ SUMDIF UEPFUP +
DESIRED
  OR 
UEPFDN
- + UELLRL
+
RATE LIMIT URHLT
MODE 1 UNITS
 UEBP ONLY
UDES TO
MODE 1 UNITS UERATE FOR
+ UEBP FROM EDC IF THE UNIT
URLLT
 UEP OTHER
MODE 1 UNIT
MODE 2- 4 UNITS
MODE 1
FROM YES
UNITS
DISPATCHER IF
UEP MODE 2 UNIT
NO
EXTERNAL
JOINT UNIT
D

1
+
REGULATING + RATE LIMIT UNIT
FACE GAIN FACTOR  UDES MODE
RF TO : K10 * KFR 1 OR 2
+

2
OTHER
MODE 1 OR 2
UNITS UEBP * (1 + BLRR)
A MODE 1 AND 2
UNITS
EMERGENCY
ASSIST OTHER
UEBP * (1 - BLRR)
DEADBAND MODE 1 OR 2
UNITS

EMERGENCY
ASSIST
FACTOR
AF

DESIRED SHARES OF
EXTERNAL JOINT
COMPANIES

2 3 4 5

+ + + +

5
CDES = DSICU
2

CDES
URHL
UDES = UDES + CDES UDES
B  C
URLL
UDES
YES
UEHLT
USER DESIRED INTERNAL
JOINT UNIT
UELLT
NO

UDES
RATE LIMIT
UDES
TOWARD
UEBP
UDES

UEBP FROM E UEBP FROM


RAMP LOGIC
DISPATCHER
IF MODE 4 UNIT
IF MODE 3 UNIT

UNIT RAMP
BASE POINT PARAMETERS

MODE 3 & 4 UNITS

Program Description AGC Routine AGC Routine3-15


Automatic Generation Control
In practice, the control output is not a continuous rate signal (e.g. a voltage) to the load reference motor
but is an equivalent stream of pulses, with the pulse duration increasing discretely as unit control error
increases. Each pulse increments the position of the load reference by a certain amount, hence
producing the sampled data equivalent of a continuous acting integral controller. The exception to this is
where set-point control is employed on the unit, in which case a continuous output signal is provided.

3.6.2 Load Allocation


The load allocation logic determines the value of desired generation, UDES, for each unit at every AGC
cycle. Paragraphs 3.6.2.2 to 3.6.2.5 describe the derivation of
the desired value for each unit for the four controllable modes, Non-controllable units should be
1 through 4. Rate limiting changes in the value of UDES for assigned to Manual mode only,
each unit is dependent on the unit’s control mode and is whereas controllable units may be
described in paragraph 3.6.2.6, Rate Limiting Changes in assigned to any of the five modes.
UDES.

Only those units in Full Control mode will have economic participation factors UEPFUPi and UPEFDNi,
calculated for them by the EDC program and used in the AGC program.

Units in the other modes have zero economic participation factors set for them by the EDC program. The
EDC program also calculates “rubber” high and low limits for each unit in Full Control mode. These are
stored in MMDB variables UEHLRLi and UELLRLi respectively. These are used by the AGC program to
limit the UEPi value for each unit, and thereby ensure that the economic component does not exceed the
long-term rate-limited value to be allowed.

The EDC program calculates two sets of economic participation factors each time it executes as follows:
UEPFUPi = Unit economic participation factor for increasing load changes since the last run of EDC
UEPFDNi = Unit economic participation factor for decreasing load changes since the last run of EDC

The AGC program performs a check to see which set of economic participation factors should be used
during any particular control cycle. The check is based on the sum of the base points for Mode 1 – 4
units, the output of Mode 1 – 4 units, and the filtered value of ACE. The test consists of:
 Calculate the sum of the actual unit powers for Mode 1 through 4 units, plus FACE:

SUMP1 = Σ(UMW i of Mode 1-4 units) + FACE (where Σ represents the “sum of”)
 Calculate the sum of the base points for Mode 1 units and economic path components, UEPi, for
Mode 2-4 units:

SUMB1 = Σ (UEBPi of Mode 1 units) + Σ (UEPi of Mode 2-4 units)


 Calculate the difference :
SUMDIF = SUMP1 – SUMB1

If SUMDIF is positive, use the factors for increasing load. If SUMDIF is negative, use the factors for
decreasing load.

3.6.2.1 Mode 0 – Manual


In this mode, no allocation is made and the AGC program exerts no control over the unit, even though the
control status of the unit may be such that it is able to receive and respond to control pulses.

Program Description AGC Routine AGC Routine3-16


Automatic Generation Control
3.6.2.2 Mode 1 – Full Control
Mode 1 allocates unit power according to the economic loading rule formulated by the EDC program.

The economic scheduled power is computed as follows:


 Enter with the value of SUMDIF (see above)
 Allocate a portion of SUMDIF to each unit according to the following rules:

UEPi  UEBPi  UEPFi  SUMDIF  (1)

UELLRLi  UEPi  UEHLRLi (2)


where UEPFi is the value of UEPFUPi or UEPFDNi as appropriate according to the sign of
SUMDIF, and UELLRLi and UEHLRLi are the “rubber” low and high limits, respectively, as
developed by the EDC program when it last executed (see paragraph 3.6.2, above).

Note that the economic participation factors always, by definition, sum to either zero or unity. If a unit hits
its economic high or low limit, and hence is unable to satisfy rule (1), a new EDC is requested by AGC to
update the UEBPi, UEPFUPi and UEPFDNi values.

While the allocation of (1) will eventually neutralize the value of FACE, it is usually desirable to allocate
short-term unit loading changes to each Mode 1 unit to cancel FACE in different proportions from that
given by the economic participation factor, UEPFi. The Full Control mode allocation therefore adds a
regulating component of loading onto the economically allocated loading of each unit as follows:

UDESi  UEPi  GAIN  RFi  FACE 


where:
UDESi = desired unit output
UEPi = unit economic path component
GAIN = regulating path forward gain
RFi = unit regulating factor
FACE = filtered ACE

The system gain variable, GAIN, is calculated as the sum of all regulating factors for units that are
controllable in each AGC cycle, divided into the sum of the regulating factors for all units marked as
existing and equipped for AGC. The value of GAIN is limited to a maximum of 3.0 to avoid any control
instability problems that might result when several units capable of being controlled are removed from
control. Each unit’s regulating factor, RFi, should be set in proportion to its regulating abilities. Note that
the regulating factors do not necessarily sum to unity.

The regulating contribution is augmented by an “assist action” component whenever the magnitude of
ACE exceeds a field-tunable threshold, K01.

3.6.2.3 Mode 2 – Base Load and Regulating


In Base Load and Regulating mode, the unit is allowed to contribute to system regulating action (within
limits defined by the “base load regulating range”, BLRR), but the economic loading is determined by a
base point, UEBPi, specified by the dispatcher. Economic participation factors for the unit are set to zero
in this mode.

Program Description AGC Routine AGC Routine3-17


Automatic Generation Control
A unit in Base Load and Regulating mode may vary its output within the range:

1  BLRR   UEPBi  UDESi  1  BLRR  UEBPi


according to the regulation rule:

UDESi  UEBPi  GAIN  RFi  FACE 

The regulating contribution is augmented by an “assist action” component whenever the magnitude of
ACE exceeds a field-tunable threshold, K01.

3.6.2.4 Mode 3 – Base Load


In Base Load mode, the unit is controlled in a base load manner and responds to neither economic
loading rules nor regulating requirements. Instead, the unit’s output is controlled in a rate limited manner
to the base load value, entered by the dispatcher as UEBPi, and is then held constant at that value. A unit
in Base Load mode is always controlled in a mandatory manner without regard to the sign of ACE in
relation to that of its unit control error.

3.6.2.5 Mode 4 – Ramp


In Ramp mode, the unit is controlled in the same manner as in Base Load mode except that special logic
adjusts the unit’s base load value from one AGC cycle to the next, in accordance with ramp parameters
specified by the dispatcher. A unit in Ramp mode is always controlled in a mandatory manner without
regard to the sign of ACE in relation to that of its unit control error.

The dispatcher specifies the following ramp parameters for a unit:


 Ramp start time, in hours and minutes
 Ramp duration, in minutes
 Ramp destination MW
 Unit base load value, UEBPi, to be used until the ramp start time

Until the ramp start time is reached, the unit is controlled as though it was in Base Load mode, using the
dispatcher-entered value of UEBPi. At the time that the ramp is started, the AGC program computes the
following delta MW for the ramp:
RMPMW  UEBPi 
RMPDEL 
RMPTM  60 DELT 
where DELT is the control cycle period of the AGC program. Thereafter, until the ramp stop time is
reached, the value of UEBPi is adjusted at each AGC cycle as follows:

UEBPi (t )  UEBPi (t  1)  RMPDEL

Subject to the ability of the unit to move at the rate implied by RMPDEL, the unit will be at the desired
destination value, RMPMW, at the end of the specified ramp time interval, RMPTM. If the unit cannot
move this fast, its output will eventually arrive there automatically subject to its ability to generate
RMPMW megawatts.

Program Description AGC Routine AGC Routine3-18


Automatic Generation Control
Once the unit reaches the desired destination value, no further AGC action is taken on the unit and its
output remains constant at RMPMW.

At the end of the time corresponding to the


specified ramp duration time, the unit’s base point Unlike the feed forward bias function (section
(but not necessarily its output) will be equal to 3.2), whose schedule cannot span midnight, the
RMPMW. At that time, the program will ramp logic for a unit in Ramp mode may have its
automatically place the unit into the Base Load specified ramp duration carry over midnight.
mode of operation.

3.6.2.6 Rate Limiting Changes in UDES


Although the rate limiting logic described later in paragraphs 3.6.4.2, Short Term Rate Limiting, and
3.6.4.3, Long Term Rate Limiting, will prohibit a unit from moving faster than the short-term rate limit for
brief periods and the long-term rate indefinitely, regardless of how radically UDESi may change, it is
important to rate limit changes in UDESi for other reasons:
 We should not ask the unit to respond faster than it is capable of.
 Since UDESi is used in the “unit not following” logic, allowing values of UDESi that cannot be
achieved from cycle to cycle will result in unit-not-following alarms.
 Units that have their base points set by the dispatcher must be rate limited to the long term rate in
achieving the specified output level.

The desired value of generation for a unit is determined as the sum of three components:
UDESi = Economic + Regulating + Assist

For units in Base Load or Ramp mode, the Regulating and Assist components do not apply. For units in
Full Control or Base Load and Regulating mode, all three terms apply.

The economic component is the variable UEPi, and in fact, in the case of units in Mode 2, 3 or 4, is
identical to UDESi. Thus we rate limit UDESi for units in these modes by rate limiting changes in UEPi to
the prorated long term rate UERATEi for each unit. If the dispatcher or plant operator specifies a new
base point, say 10 MW larger than the old one, UEPi is allowed to increment upward toward the new
value each AGC cycle but not faster than the rate limit UERATEi.

In the case of a unit in Full Control mode, the base point is determined by the EDC program, and the
economic component, UEPi, is determined as a function of that base point and the economic participation
factor applied to the change in generation requirement since the last execution of EDC. EDC respects the
long-term rate limit, UERATEi, for the unit when determining the base point. However, the participation
factor does not. Therefore, the economic component,
UEPi, can, in the presence of a large value of ACE, We do not rate limit UEPi to the fast
change faster than the short-term response rate limit for rate for either Full Control or Base
the unit. Load and Regulating mode

In the case of Full Control or Base Load and Regulating mode, we compute a new value of UDESi
comprised of the three components, each cycle. We then check this new value against the value for the
last cycle. If the change is greater than that allowed by KFR * K10, we limit the new value to be the old
plus the allowable change for one cycle. If K10 (a system-wide constant) were 3, and the fast response
rate for the unit, KFRi, were 3.0 MW/minute, the allowable change each cycle would be 3 * 3.0 DELT/60 =
0.6 MW/cycle. If K10 were set to unity, the allowable movement would be 0.2 MW/cycle.

Program Description AGC Routine AGC Routine3-19


Automatic Generation Control
Because we want rapid response to system load changes (i.e. achieve unit pulsing quickly), we want the
value of UDESi for units in Full Control or Base Load and Regulating mode to be able to change more
rapidly than that implied by the short-term rate, KFRi. Hence, the need for the multiplier, K10. With K10
set to unity, we would be several cycles building up the unit quantity, UCEACCi, which is used to
determine when a pulse will be sent. The slower the buildup of UCEACCi, the slower will be the response
of the unit to changes in system load.

3.6.3 Changing Unit Control Mode


The control mode for each unit is entered by the dispatcher from his console, and may be changed at any
time. Whenever a unit is placed in Base Load and Regulating, Base Load or Ramp mode, the dispatcher
should verify or update the value of the unit loading base point, UEBPi.

3.6.4 Unit Control Loop


The basic action of the unit control loop, when using Raise/Lower pulses, is to sense the unit control error
and to send raise or lower pulses to the unit as dictated by the error. An ideal scheme would be to set
pulse strength proportional to unit control error. This is not feasible with digital contact outputs, however.
A satisfactory practical approximation would be as shown in Figure 3-5.

Figure 3-5 Pulse Strength – Ideal vs Approximate

Pulse
Strength

ideal

practical
approximation

unit control error

The scheme of Figure 3-5 has the disadvantage that a small but persistent value of UCEi would not cause
control action. This is overcome by accumulating the value of unit control error in UCEACCi, and
transmitting a pulse whenever the value of UCEACCi exceeds a threshold, K07i, for the unit. A further
check is made on the magnitude of unit control error, UCEi, to determine if a long pulse should be sent. If

Program Description AGC Routine AGC Routine3-20


Automatic Generation Control
the magnitude is greater or equal to a tunable threshold for the unit, K09I, a long pulse rather than a short
pulse is issued. The pulse strength rule is illustrated in Figure 3-6.

The use of the accumulator, UCEACCi, to recognize small values of UCEi prevents small unit errors from
persisting indefinitely, and also provides a degree of filtering of small random components in the UCEi
signal.

The values of the thresholds K07i and K09i, and of the pulse strengths, are field adjustable to allow
optimal tuning of each unit.

Figure 3-6 Pulse Strength Selection

Pulse
Strength

long raise

short raise

short lower

long lower

3.6.4.1 Permissive Control


Permissive control logic is included in the unit control loop to prevent a unit in Full Control or Base Load
and Regulating mode from being moved in a direction that would increase the magnitude of FACE if the
value of FACE already exceeds a threshold, K05. Allowing mandatory control action only when FACE is
below K05 improves the system’s control behavior during conditions when load must be shifted from one
unit to another, when the units have different response rate characteristics.

Consider, for example, the transfer of load from a fast-responding unit to a slower-responding unit,
initiated by stepping down the UDESi value of the fast unit and stepping up the UDESi value of the slow
unit. Without this permissive control feature, the fast unit would unload before the slow unit could pick up
the corresponding load, and a positive value of ACE would develop. The permissive control logic allows
pulses only when UCEi and ACE have the same sign, and hence would slow down the response of the
faster unit to match that of the other. It would not, however, limit the ability of the fast responding unit to
move quickly in response to a large ACE signal of opposite sign to UCEi.

Program Description AGC Routine AGC Routine3-21


Automatic Generation Control
3.6.4.2 Short Term Rate Limiting
Rate limiting logic is used to prevent the unit control loops from asking the units to exceed their inherent
response rate capabilities. This logic recognizes that thermal units can respond very rapidly for a short
period (over a limited range) before being limited to their relatively slow sustained response rates. The
program detects the actual unit response rate, SUMPi, and passes it through a T4 seconds lag to get the
quantity SUM4i, whose absolute value is then compared with the sustained rate limit value K08i. This T4
seconds lag allows the actual rate to exceed K08i for an appropriate limited period. K08i has units of
MW/second and may be computed as K08i = T3 * URRATEi / 60. The T3 multiplier is required because it
appears in the numerator of the expression for SUMPi (see below).

Blocking of pulses will occur due to either of the following conditions:


 The absolute value of SUM4i exceeds K08i and the sign of SUM4i is the same as that of UCEi.
 The absolute value of SUMPi exceeds T3*KFRi/60 and the sign of SUMPi is the same as UCEi.

The unit’s detected rate, SUMPi, and lagged rate, SUM4i, are obtained by solving the Laplace transfer
functions below in a digital manner:

SUMPi  UMWi   T 3 
 1  T 3

SUM 4 i  SUMPi   1 1  T 4


 
The values of K08i, T3 and T4 are field adjustable.

3.6.4.3 Long Term Rate Limiting


Logic is included to supplement that described in paragraph 3.5.4.2, Long Term Rate Limiting, to prevent
the unit from moving at the fast response rate, KFRi, for too long when we encounter large reverse
changes in the value of UDESi for the unit.

Pulsing is blocked any time the absolute value of SUM4i exceeds K08i, as explained in paragraph 3.6.4.3,
Long Term Rate Limiting. If the unit had been moving in one direction long enough and fast enough to
cause SUM4i to exceed K08i, and a reverse change in UDESi would cause the unit to move in the
opposite direction, pulsing will be allowed almost immediately. Almost immediate pulsing will occur
because the sign of UCEi will quickly become opposite to that of SUM4i and pulsing is allowed even
though the absolute value of SUM4i exceeds K08i. SUM4i will then build from, say, a number smaller than
–K08i to +K08i before pulsing would be blocked once again. This will allow the unit to move at the fast
rate KFRi for approximately twice as long as we want to allow.

This is a problem that is overcome by employing two additional lagged rates of SUMP i, S4Pi and S4Ni,
which are computed as follows:

S 4 Pi  SUMPi   1 
 1  T 4

S 4 N i  SUMPi   1 
 1  T 4  

Program Description AGC Routine AGC Routine3-22


Automatic Generation Control
S4Pi is set to zero any time either of the following occurs:
 If S4Pi becomes negative.
 If UCEi is less than or equal to –KDi.

S4Ni is set to zero any time either of the following occurs:


 If S4Ni becomes positive.
 If UCEi is greater than or equal to +KDi.

The reason for the test against KDi is simple: we do not wish to reset either S4Pi or S4Ni due to noise on
the UMW i signal for the unit.

Once the reverse change in UDESi causes the unit to move fast and long enough to build the absolute
value of S4Pi or S4Ni to exceed K08i, pulsing is blocked. Eventually the absolute value of SUM4i will build
to exceed K08i. Until that time we would have had blocking due to either S4Pi or S4Ni. At the time the
absolute value of SUM4i reaches or exceeds K08i, the appropriate value of S4Pi or S4Ni will be set to
SUM4i.

3.6.4.4 Unit Not Tracking


“Unit not tracking” logic is used to warn the dispatcher when a unit is not responding to the control
signals. This logic uses a simple model of the expected unit response, and compares the output of the
model with the actual. A significant discrepancy between the two is taken as a fair indication that the unit
is failing to respond to control action. The expected unit power, SUM1i, is modeled by the Laplace
transfer function:

SUM1i  UDESi   1 
 1  T1
Since this single time constant model is only an approximation to the actual unit response, small and
short-lived discrepancies between SUM1i and UMW i do not indicate a failure to respond. The tracking
failure indication is therefore based on SUM2i, where:

ERR = 0 if absolute value of (UMW i – SUM1i) < KDi


otherwise

ERR  UMWi  SUM1i

and

SUM 2 i  ERR   1 
 1  T 2
SUM2i can build up to a significant value only if the discrepancy between UMW i and SUM1i exceeds KDi
and persists for a time determined by T2. A “not tracking” alarm is generated when SUM2i exceeds K06.

The values of T1, T2, KD, and K06 are field adjustable.

Program Description AGC Routine AGC Routine3-23


Automatic Generation Control
Should a unit be found to not follow AGC commands, it will be removed from control by the AGC
program. The dispatcher should investigate and correct the problem causing the unit to not follow. The
unit can be placed back on control by the dispatcher only. The AGC program does not merely suspend
control when a unit not following is detected.

3.6.5 Control Status


Before any unit can be controlled in one of the four controllable modes, it must be online and set up to
respond to control signals. The ability of a unit to respond to the control signals that will be generated by
the AGC program is first indicated by the unit’s Unit Control Status. Note the distinction between control
status and control mode:

Unit control status


Indicates the readiness of the unit to be acted upon by the AGC program:
 On AGC
 Off AGC

Unit control mode


Indicates the rule by which the AGC program controls the unit:
 Manual Mode
 Full Control Mode
 Base Load and Regulating Mode
 Base Load Mode
 Ramp Mode

A change in unit control status does not change a unit’s control mode. Hence a unit operating in Full
Control mode may be switched from “on AGC” to “off AGC” status without having to alter its mode setting.

The dispatcher may also change control mode without changing control status. Note that when the
dispatcher sets a unit to Manual mode, the unit’s control status remains “on AGC” even though the AGC
program will not issue any controls to it.

3.6.5.1 Suspending Unit Control Due to Bad Telemetry


At each control cycle, a check is made on each controllable unit to see if its telemetered MW value is
valid. When the value is found to be valid, a counter for the unit, IBUC, is reset to zero. Each time the MW
value is found to be invalid, the counter is incremented by 1. A check is made to see if IBUC exceeds an
allowable maximum counter value, IBUCMX. If so, the unit is suspended from control, and will remain
suspended until the unit MW telemetry returns to a valid condition. If the unit is in Full Control mode, the
unsuspension by AGC will cause EDC to execute. This covers the case where EDC may have executed
while the unit was under suspension.

The value of IBUCMX is the same for all units and is field adjustable.

Program Description AGC Routine AGC Routine3-24


Automatic Generation Control
3.6.6 Control Performance Indicators
The dispatcher must order the startup and loading of units with recognition of the need for adequate
regulating capacity. To assist the dispatcher in this, the AGC program calculates three performance
indicators for units on control and not suspended.

REGUP
The amount of regulating capacity available in the upward direction from units in Full Control or Base
Load and Regulating modes:
REGUPi   URHLTi  UMWi 
(where Σ represents the “sum of”)

REGDN
The amount of regulating capacity available in the downward direction from units in Full Control or
Base Load and Regulating modes:
REGDNi   UMWi  URLLTi 

RMWMW
The total regulating gain, in MW, of regulating power for units in Full Control or Base Load and
Regulating modes that will be ordered in response to a 1 MW ACE signal:
RMWMWi  GAIN   RFi

A low value of any of these quantities indicates that more regulating capacity is needed. Alarm limits can
be placed on the points that receive these calculated values so as to alert the dispatcher that these
quantities may be less than the requirements.

3.6.7 Scheduling Economic Dispatch


It is the responsibility of the AGC program to detect the need to execute the EDC program on other than a
scheduled basis. Normally, EDC is scheduled to run every EDCSCH minutes. The special cases calling
for execution of EDC are:
 The value of SUMDIF exceeds K04 MW.
 The absolute value of FACE exceeds K10 MW.
 A unit enters or leaves the Full Control mode.
 The control status of a unit changes.
 A unit in Full Control mode becomes unsuspended by AGC.

Whenever the AGC program determines that the EDC program should be executed, it sets bit 11 of the
system status word ISSWA.

Because it may take many control cycles to move unit outputs to the calculated base points, it is
necessary to conditionally inhibit requests for EDC execution for cases (a) and (b) above. This is done in
the following way. When EDC executes successfully, it sets bit 8 of the system status word ISSWB. AGC
examines this bit each time it executes. If the bit is found set, AGC clears it and zeroes a counter,
IEDCNT. If the bit is found to be zero, the counter is incremented by one each AGC cycle. So long as the

Program Description AGC Routine AGC Routine3-25


Automatic Generation Control
value of the counter is less than MINCYC AGC cycles, EDC requests will be inhibited for cases (a) and
(b). MINCYC is usually set to 30, which corresponds to 2 minutes if the AGC cycle is 4 seconds, but can
be changed via the AGC System Tuning parameters.

If EDC dispatches all units in Full Control mode to economic high limits or all of them to economic low
limits, it sets bit 5 of ISSWB. While this bit is set, AGC requests for EDC execution for cases (a) and (b)
are inhibited.

3.7 Computation of Actual Shares of Joint Units


Upon completion of the main AGC logic, the control signals for all controllable units are determined in
terms of either a raise/lower pulse or a setpoint for each unit.

For external joint units, the signal is a setpoint and corresponds to the desired MW output at the bus bar
of the joint unit. This signal is transmitted directly to the control center computer of the company operating
the unit. Aside from the fact that this signal is reduced by the external loss factor and input to the joint unit
component of ACE (see section 3.3, ACE Component for Jointly Owned Units), no post-AGC operations
are imposed on the signal.

This is not the case for an internal joint unit with joint companies other than the owner requesting a
portion of the output of the unit at the bus bar.

Each non-owner joint company having a percentage entitlement of an internal joint unit telemeters a
requested “Desired Share – Internal Joint Unit”, DSICUj,i, for each company “j” for internal joint unit “i”.
The AGC main logic calculates a DSICU1,i for the owner prior to the set-point or pulsing logic. Then, all
DSICUj,i values for a unit are summed together to obtain the total value of desired output of the unit,
UDESi, which is then subjected to physical regulating high and low regulating limits and used by the rate-
limiting, not-tracking and pulsing or set-point logic modules.

Control action is then exerted on the unit. The value of output, UMW i, for the present control cycle is then
apportioned to each joint company and sent as a value, ASICUj,i, to each company that lodged a request
on the unit. The determination of ASICUj,i for each unit and joint company is described below.

The values of ASICUj,i for each joint company is calculated as a function of:

DSICUj,i
The desired share of internal joint unit, for each company “j”

UCEi
The value of unit control error

UMWi
The telemetered value of the unit’s output in MW

TOL1
An adjustable tolerance value of UCEi to determine which of two paths should be used to calculate
the value of ASICUj,i for each joint company

Program Description AGC Routine AGC Routine3-26


Automatic Generation Control
TOL2
An adjustable tolerance value for the total change in DSICUj,i for all companies, used to determine
which path should be used to calculate the value of ASICUj,i for each joint company. The purpose of
TOL2 is to check for conditions where changes in DSICUj,i from several companies offset each other
when summed together, which would result in very little movement of the output of the generator unit
through AGC action.

First, a test is performed to see if the absolute value of UCEi is within TOL1, a small tolerance consistent
with normal AGC action. If so, the value of ASICUj,i for each company is set to:

 DSICU j ,i 
ASICU j ,i     UMWi
  DSICU j ,i 
where Σ represents the sum of the DSICU of all the companies. The following internal program variables
are computed:

ASOj,i = ASICUj,i
DSOj,i = DSICUj,i
UMOi = UMW i

The foregoing is designated as “Path A” and is the normal path.

If a joint company lodges a significant change in its desired share, DSICUj,i of the unit, and the unit’s
output has not had time to change accordingly, then Path A would unfairly readjust the shares of other
companies which did not change their DSICUj,i values. Another path, “Path B”, takes care of this situation.

When a company lodges a significant change in DSICUj,i, a significant absolute value of UCEi develops.
Testing the absolute value of UCEi against the tolerance TOL1 determines if Path B is to be used. If Path
B is entered, the values of ASOj,i, DSOj,i and UMOi from the last pass through Path A are used.

In Path B, the change in DSICUj,i from DSOj,i is determined for each company. This is denoted as ∆DSj,i.
This ∆DSj,i is then summed for all companies, j, and the absolute value of the sum is tested against
another tolerance value, TOL2. The purpose of this test is to determine if the summation of changes in
DSICUj,i essentially offset each other, and therefore would not result in a significant change in output of
the unit through control action. If the sum is less than TOL2, we branch into Path A and continue as
normal. Otherwise, we proceed into Path B.

In Path B, we calculate ASICUj,i for each company as follows:

 DS j ,i 
ASICU j ,i  ASO j ,i   
  DS j , i  UMWi  UMOi  
The foregoing is designed to treat all If the unit is placed in Manual mode, the dispatcher
companies fairly.
or plant operator must assume the responsibility to
manually move the unit to match the total desired
Should an internal joint unit have a bad
share requested by the joint companies.
telemetered MW value, the calculated values
of ASICU for the unit will be erroneous. In this
case, we set the ASICUj,i values for the unit to a large negative value (-1000 MW) and also set the value
of UMOi for the unit to –1000 MW. The large negative values of ASICUj,i indicate to the requesting

Program Description AGC Routine AGC Routine3-27


Automatic Generation Control
companies that the value is bad and should not be used. When the value of UMW i for the unit returns to a
valid state, UMOi will be negative. The logic checks for this condition, and forces the calculation through
the normal Path A to calculate correct values for ASICUj,i and set UMOi to UMW i.

Program Description AGC Routine AGC Routine3-28


Automatic Generation Control
4 Economic Dispatch

4.1 Introduction
Economic Dispatch Calculation (EDC) is a program that dispatches the system generation required to
supply a given load. For each generating unit under economic dispatch, the EDC program calculates the
optimum economic megawatt base points and economic participation factors.

The dispatch calculation is based on the principle of operating all dispatchable generators at the same
incremental cost of generation (“lambda”, λ), and uses an iterative procedure.

Transmission losses within the owner system are not considered since the owner system is considered to
be lossless for purposes of dispatch. Penalty factors are supported, however.

Program Description Economic Dispatch 4-1


Automatic Generation Control
4.2 Method of Calculation
The coordination equations to be solved by the EDC program are:

UF  C  df i  IM i   PFi  
 i
 dp 
i
i

for all dispatchable units i, where:


Ci = Fuel cost for the ith unit
dfi/dpi = Incremental heat rate for the ith unit
IMi = Incremental maintenance cost for the ith unit
th
UFi = Unit adjustment factor for the i unit. Used to bias unit fuel cost.
PFi = Penalty factor for the ith unit. Used to bias entire unit cost.
λ (LAMBDA) = Incremental cost of supplying power to the owner’s load area.

In addition to the coordination equations, the following power balance equation must be satisfied for all
units on control:

Σ (base points of dispatched generation)


= Σ (actual generation of dispatched units)
+ Σ (rate-limited difference between base points and current generation of units in ramp,
base load or base load and regulating mode)
+ DG

where Σ(x) represents the sum of the x values

DG is normally FACE, but is limited to the maximum MW that all units on control may move during the
interval between EDC executions. DG always has the same sign as FACE.

The EDC program consists of an inner loop and an outer loop. The inner loop is a binary search routine
for solving the coordination equations in order to obtain base points for a fixed value of LAMBDA (λ).
During this solution, it is necessary to recognize the high and low economic limits and the program-
calculated high and low rate limits as shown in Figure 4-1.

Once a set of base points have been determined by the inner loop, the outer loop checks whether the
power balance equation is satisfied. If not, LAMBDA (λ) is adjusted upward or downward, and the inner
loop is re-entered to compute a new set of base points.

This procedure continues until:


 Both the coordination equations and the power balance equation are satisfied to within a specified
tolerance, or
 Either the coordination equations or the power balance equation do not converge because of
numerical or physical problems.

In case (b), an alarm is raised and the base points and participation factors are left unchanged from the
previous run.

Program Description Economic Dispatch 4-2


Automatic Generation Control
Figure 4-1 Limits Used by the Economic Dispatch Program
Generator
output
(MW) High economic limit

present generator output

Base points
limited to Base points
this range are always
during the limited to
present (t) (max. response rate) this range.
execution of
the EDC
routine.

t = N minutes

low economic limit


time

If a valid solution is obtained, the program then computes the economic participation factors for those
units that are to follow load. The economic participation factors for units that do not follow load are set to
zero.

Economic participation factors are calculated assuming that the slope of the LAMBDA versus generation
curve is constant over a short range. The load is increased by a percentage, and a new dispatch is made.
The economic participation factors to be used when load is above the sum of the base points are then
calculated as follows:

(Change _ In _ Unit _ Generation ) j


UEPFUPj 
(Change _ In _ System _ Load )

The load is then decreased by the same percentage below its original value, and another new dispatch is
made. The economic participation factors to be used when load is below the sum of the base points are
calculated in the same way as the increasing ones.

4.3 Program Description

Whenever the EDC program is triggered, it performs four dispatch calculations:


 one to establish base points for units in control mode 1 (full control)

Program Description Economic Dispatch 4-3


Automatic Generation Control
 two more times to calculate economic participation factors for increasing and decreasing load, again
for units in mode 1 (full control)
 a fourth time for an evaluation pass, to establish recommended generation for units that are online
and which have evaluation pass enabled for them

The EDC program uses the same dispatch calculation subroutine in all four cases. This subroutine is
described in paragraph 4.3.1, Dispatch Calculation Subroutine.

4.3.1 Dispatch Calculation Subroutine


In the dispatch calculation, an auto-ranging binary search method of solution for LAMBDA (λ) is used
because of its relative immunity to convergence problems compared with other methods such as Gauss-
Seidel.

The binary search method operates by dividing the search region into two, deciding which half the desired
result is in, then dividing that half into two, and so on until a solution is obtained. The procedure is
illustrated in Figure 4-2.

The calculation starts with a value of DESGEN = sum of all generation from telemetry, and an initial value
of LAMBDA = LAMBDA1, (which is usually the value from the last EDC). Using the initial value of
LAMBDA, the total generation is calculated. This is either higher or lower than the desired value. The
value of the difference is multiplied by an estimate of the slope of the curve to give a LAMBDA step size.
LAMBDA is then increased or decreased by the step size, depending on whether the error is negative or
positive, and the total generation is re-calculated. When the difference between the calculated generation
and desired generation changes sign, the search range has been defined. In Figure 4-2, this range is
LAMBDA3 to LAMBDA2.

Now the binary search proper begins. The new LAMBDA estimate is set to the middle of the search range
and the step size is set to ¼ of the search range. Generation is calculated at this value of LAMBDA and
compared with desired generation. The difference must be within the tolerance for a converged solution.
If the solution has not converged, a new LAMBDA estimate is formed by adding or subtracting the step
size to or from LAMBDA, depending on whether the error is negative or positive. The step size is halved
and the program goes back to compute the total generation at the new operating point.

This procedure is repeated until the solution converges or until the iteration limit is reached. The solution
is considered to have converged when the error (MW n – DESGEN) is less than a specified fraction of
DESGEN. This fraction, ERRTPW, is adjustable via the AGC System Tuning parameters (see the
Automatic Generation Control Database Guide). If the solution fails to converge, an alarm is raised.

Program Description Economic Dispatch 4-4


Automatic Generation Control
Figure 4-2 Determination of Search Range for Lambda







MW
MW1 MW2 DESGEN MW3

The last step performed by the dispatch calculation subroutine is to determine whether or not all of the
generators on control are at limits, and to set a flag if they are all at high limits or all at low limits.

This binary search algorithm will always work for the economic dispatch calculation when
given a realistic set of conditions. Cases can be found for which the Gauss-Seidel method
would be unsuccessful, including the case where the heat rate curve has discontinuities.
These discontinuities, which the Survalent AGC system supports, would cause the Gauss-
Seidel method to fail since it uses the slope of the LAMBDA versus generation curve to
choose its next value, and the slope at a discontinuity is infinite.

4.3.2 Generation Calculation Subroutine


For every candidate value of incremental cost LAMBDA, the economic dispatch calculation subroutine
must determine the power generated by each unit when that unit operates at that value of LAMBDA. This
is done by a generation calculation subroutine which takes a unit number and a value of LAMBDA as
input as arguments.

Using the fuel cost for the unit, the generation calculation subroutine converts the incremental cost to an
incremental fuel rate DI. It then uses this value to locate the operating point on the incremental fuel rate
curve (see Figure 4-3):
DI  IPi 1
PNEW  MWi 1   MWi  MWi 1 
IPi  IPi 1
The generation calculation subroutine correctly handles discontinuous heat rate curves. The system
incremental cost may fall in the gap between two curve segments. In this case, unit output is held at that
MW value until LAMBDA reaches the upper curve segment. See Figure 4-4.

Program Description Economic Dispatch 4-5


Automatic Generation Control
Figure 4-3 Continuous Incremental Fuel Rate Curve
incremental
fuel rate

IP
i

DI

IPi-1

MW i-1 Pnew MW i MW

Program Description Economic Dispatch 4-6


Automatic Generation Control
Figure 4-4 Discontinuous Incremental Fuel Rate Curve

Incremental
fuel rate

10250 10500
9750

9250 10000

9000
9500
8750
8500

20 40 60 80 100 120 140 160 MW

4.4 Program Features


Significant features of the EDC program are summarized below:

 Joint unit generation is treated by the program identically with owner (non-joint) unit generation, with
the exceptions noted in section 4.6, Joint Unit Representation.
 The system operator can enable an “evaluation pass” for one or more units. The results of the
evaluation pass dispatch are not passed to the AGC program but are merely made available for
output to the dispatcher. This helps the dispatcher to determine desired base points for units that are
in manual or base load mode of operation.
 Each generator unit can be represented by three dispatcher-selected incremental heat rate curves.
 Each generator unit can be represented by three complete sets of economic parameters – fuel cost,
unit adjustment factor, high and low limits, etc.
 Economic participation factors are computed for both upward and downward changes about the value
of system load that is used in the calculation of the economic base points of the online EDC.

The AGC program uses the upward participation factors when the load is above the sum of the base
points, and it uses the downward ones when the load is below the sum of the base points. Whether the
load is actually increasing or decreasing is immaterial.

Program Description Economic Dispatch 4-7


Automatic Generation Control
4.5 Constraints
The following constraints are respected by the EDC program in all four dispatch calculations:
 The sum of the desired base points will equal the sum of actual generation, plus the difference
between the old base points and the current generation for units on Base Load or Base Load and
Regulating control, plus DG as defined in section 4.2, Method of Calculation.
 Calculated base points will not violate high and low economic limits.
 Units already operating outside their economic limits will have their base points calculated so as to
move the units within economic limits.
 Units will not be dispatched to violate their response rate limits.

The EDC program does not observe any spinning reserve constraints. A reserves calculation routine in
the AGC program computes reserves at every AGC cycle. Alarm limits may be placed on these computed
reserve values to warn the dispatcher when reserves are inadequate. In such cases, the dispatcher must
take action independently of the EDC program.

4.6 Joint Unit Representation


When you describe a joint unit in the Generator Unit Data table, you must enter the data for the entire
unit. Allowance is made in both the AGC and EDC programs for the fact that the owner is entitled to only
a share of such a unit.

The EDC program, in particular:


 Prorates the following unit parameters so as to use just the owner’s share:
o Unit economic high limit
o Unit economic low limit
o Unit response rate
o MW part of heat rate curve
 Obtains the actual generation of an internal joint unit i from element [1,i] of array ASICUj,i. This is the
owner’s share of the unit’s actual output, as calculated by the AGC program. (Elements [2,i] to [5,i] of
ASICUj,i are the other companies’ shares of the unit’s actual output.)

With only these two exceptions, the dispatch calculation treats joint units in the same way as
owner units.

Base points and recommended base points for joint units are stored “as is”. That is, the arrays UEBPi and
UBPEPMi show just the owner’s share of them. Similarly, the rate-limited high and low limits (UEHLRLi
and UELLRLi) that are calculated by the EDC program are also just the owner’s share of them.

4.7 Input Data


The input data required by the Economic Dispatch program are described below. All of them are variables
in the MMDB, which are initialized from AGC data files and SCADA database points by the AGC program.

Program Description Economic Dispatch 4-8


Automatic Generation Control
4.7.1 Real Time Data
Real-time values used by EDC are:
 The present MW output of each controlled and non-controlled generating unit.
 The last value of LAMBDA that was calculated for online EDC. At startup, the AGC program initializes
this variable from its corresponding SCADA database point. After each EDC calculation, the value of
LAMBDA is written back to the database point, both for display to the dispatchers and for use at the
next restart.

4.7.2 Operator Inputs


By manually setting values into the corresponding database points, the operator supplies these values to
the EDC program:
 Control status and control mode of each generator unit.
 Economic parameter set number for each unit. This number specifies, among other things, which of
three possible incremental fuel rate curves to use for that unit. Having multiple pre-defined fuel rate
curves is very convenient if you frequently switch fuels and each fuel or fuel-mix requires a different
model.
 Flags indicating which units are to be included in the “evaluation-pass” mode of dispatch.
 A flag enabling or disabling the evaluation pass mode dispatch.

4.7.3 Unit Data


Up to three economic data sets for each thermal generating unit may be defined, which may correspond
to three fuel types for each unit. Each data set consists of the following:
 An incremental heat rate curve. Each curve consists of six straight line segments defined by
seven points. In the example below, the cells in the HEATR row are seven heat rates, in
BTU/MWH, at seven MW values (given by the cells in the HEATMW row).

HEATR 8500 8750 9250 9500 10000 10250 10500


HEATRP - 9000 0 9750 0 0 -
HEATMW 20 40 60 80 100 120 150

Each of the six straight line segments defined by the seven points must have positive (non-zero)
slopes. A discontinuity may be represented by
specifying a second heat rate value (in HEATRP) A zero value in a HEATRP cell means
for the same amount of generation (HEATMW). In that there is no discontinuity there.
the example above, which is illustrated by Figure Since you can’t have a discontinuity at
4-4, there is a discontinuity in the heat rate curve either end of the curve, the first and last
at both 40 MW and 80 MW. cells of HEATRP are not used.
 Fuel cost for each fuel type for each unit.

In addition, each unit has these additional parameters specified:


 The maximum ramp rate (MW/minute) for each controlled generating unit. Figure 4-1 illustrates the
various limits used by the economic dispatch subroutine.
 The net high and low economic limits (MW) for each controlled generating unit. See Figure 4-1.

Program Description Economic Dispatch 4-9


Automatic Generation Control
 Unit adjustment factor.
 Unit incremental maintenance cost.
 The approximate time (nominally 4 minutes) until the next scheduled running of the EDC routine. As
shown in Figure 4-1, this value is used to limit the amount by which each base point is allowed to
move during the period covered by each execution of EDC. The purpose of this is to prevent
undesirable oscillations of the base points.

4.8 Outputs
Output data from the EDC program consists of:
 The base points for all online thermal generating units on full AGC control (Mode 1).
 The recommended base points for all units with evaluation pass enabled.
 The economic participation factors for all online generating units that are to participate in load
following (i.e. units in Full Control mode).
 The rate-limited high and low limits (see Figure 4-1) presently being used in the computation of the
base points for each controlled generating unit.
 The latest value of the incremental cost of received power (i.e., LAMBDA, λ) based on system actual
generation at time of dispatch. Note that this value has no meaning when all units on control are at
limits.
 The total generation from dispatched units.
 Flag indicating all units at limits.
 Flag indicating non-convergence.

Program Description Economic Dispatch 4-10


Automatic Generation Control
5 Reserves and Performance Criteria

5.1 Reserves
The reserves calculation routine is called by the AGC program at every AGC cycle. Calculated reserve
values are stored in analog database points on which you can place alarm limits, so that the dispatcher
can be warned when reserves are below requirements.

If you want, you can instruct the reserves calculation routine to adjust the alarm limits on spinning and
operating reserves for you as a function of system load. This is done via points specified in the following
three fields of the AGC System Data file:
 Spinning Reserve Required %
 Operating Reserve Required %
 Additional Operating Reserve Required MW

Program Description Reserves and Performance Criteria 5-1


Automatic Generation Control
See the AGC System Data chapter in the Automatic Generation Control Database Guide for a description
of these fields. How the reserves calculation routine uses these points to set limits is described in
paragraph 5.1.3, Alarm Limits on Reserves.

5.1.1 Reserves Categories


Each unit can be assigned one of the following reserve contribution categories:

Table 5.1-1 Reserve Categories


Category Code Meaning
0 The unit cannot contribute to reserves
1 The unit can contribute to non-spinning reserves
2 The unit can contribute to spinning reserves only
(i.e. if the unit is not online, it cannot contribute)
3 The unit can contribute to either spinning or non-spinning reserves

5.1.2 Reserves Calculation


The reserves calculation is performed as follows:

1. Calculate the spinning reserve of each normal owner unit that is synchronized to the system and
to be counted toward reserves (according to the reserve category for the unit). This is the smaller
of the following:
o Unit regulating high limit - Unit actual output
o Unit AGC response rate limit multiplied by 10 minutes.

2. Calculate the spinning reserve of each internal joint unit synchronized to the system and to be
counted toward reserves (according to the reserve category of the unit). This is the smaller of the
following:
o Unit regulating high limit * owner share of unit - owner share of unit actual output
o Unit AGC response rate limit * owner share of unit * 10 minutes

3. Calculate the spinning reserve of each external joint unit synchronized to the system and to be
counted toward reserves (according to the reserve category of the unit). This is the smaller of the
following:
o “Physical” unit regulating high limit * owner percent entitlement - owner’s share of the unit’s
actual output at the bus bar as received by data link.
o “Physical” unit AGC response rate limit * owner percent entitlement * 10 minutes.

Spinning reserve contributions from external joint units are then diminished by the transmission
loss factors (ULFECi) of the respective units.

4. Calculate the system spinning reserve by summing the unit spinning reserves determined in (1),
(2) and (3), and adding in the value of foreign spinning reserve.

5. Determine the non-spinning reserve contribution of each unit that is not synchronized to the
system and to be counted toward non-spinning reserve (according to the reserve category of that

Program Description Reserves and Performance Criteria 5-2


Automatic Generation Control
unit). This is the unit maximum contribution to non-spinning reserve UNONLi, which is manually
entered by the dispatcher.

6. Calculate the system non-spinning reserve by summing the unit values from step (5) and adding
the value of foreign non-spinning reserve as entered by the dispatcher.

7. Calculate the system operating reserve by adding the values of system spinning reserves and
system non-spinning reserves from steps (4) and (6).

5.1.3 Alarm Limits on Reserves


If you enter a non-zero value for the % required spinning reserve, AGC updates the lower pre-emergency
alarms limit on the spinning reserve point every 5 minutes as follows:

Lower limit on required spinning reserve


= 0.01 * % required spinning reserve * system load

If you enter a non-zero value for the % required operating reserve, AGC updates the lower pre-
emergency alarms limit on the operating reserve point every 5 minutes as follows:

Lower limit on required operating reserve


= (0.01 * % required operating * system load) + additional operating reserve required (MW)

5.2 Performance Criteria

5.2.1 NERC A1 and A2


To satisfy the NERC A1 and A2 reporting requirements of performance criteria, the AGC program
calculates the following quantities, each of which is transcribed to a database point:

Seconds since last ACE zero-crossing


The purpose of this quantity, when transcribed to an analog database point, is to give the dispatcher
a warning when the end of a 10-minute interval with no ACE zero-crossing is approaching. You can
set up the warning by specifying an alarm limit on the point. An alarm limit of 540, for example, will
cause an alarm to be generated whenever the system goes into the last minute of a 10-minute
interval with no ACE zero-crossing

Intervals with no ACE zero-crossings


This is the number of 10-minute intervals in which
there was no ACE zero-crossing. You can use the The AGC program does not reset the value
point that receives this quantity to report the of this point to zero. You may reset it to
number of 10-minute intervals in which your zero using the appropriate CALCED reset
system did not meet the NERC A1 performance function, depending on whether you report
criterion. on a daily or a monthly basis.

Average value of ACE for this 10-minute interval


This is the average value of ACE during the current 10-minute interval.

Program Description Reserves and Performance Criteria 5-3


Automatic Generation Control
Average value of ACE for the last 10-minute interval
This is the average value of ACE during the last complete 10-minute interval. The purpose of this
quantity is to allow you to report all intervals in which your system did not meet the NERC A2
performance criterion.

5.2.2 NERC CPS1


Every minute, the AGC program computes the one-minute average values for ACE and the frequency
error (where frequency error means deviation from scheduled frequency, not the reference frequency).
On each cycle, it updates a database point using the previous minute’s averages, according to the
equation:

100  2  KCPS1 ACE  FrequencyE rror

where KCPS1 is field programmable, typically derived from the targeted frequency bound for your
control area (ε1). The resulting value of CPS1 is expressed in percent.

When either the ACE or frequency error term is zero, the value of CPS1 will be 200%. It will be higher if
ACE is working to correct frequency error, but will be lower if ACE is aggravating the frequency error.

The AGC program also computes this month’s and last The monthly averages exclude minutes
month’s averages and stores these in other database during which AGC was either not running
points. Last month’s average can be collected in a or was deactivated (unless you have
historical dataset. configured the option to continue all
calculations while AGC is deactivated).
The constant KCPS1 and the database points used are
specified in the AGC System Data file. See the Automatic Generation Control Database Guide.

Compliance reporting may consist of exporting and averaging these averages over your reporting interval,
and dividing by a constant that is derived from the targeted frequency bound.

5.2.3 NERC CPS2


The calculation of CPS2 is essentially an extension of the A2 calculation (see paragraph 5.2.1, NERC A1
and A2. The main difference is in the exclusion of each 10-minute interval in which, for part of the interval,
AGC was either deactivated or simply not running. (If you have enabled the option to continue AGC
calculations even while deactivated, the CPS2 calculation will continue.)

The AGC program’s CPS2 calculation includes maintenance of monthly counts of:
 valid 10-minute intervals (intervals during which AGC was running and not deactivated)
 valid 10-minute intervals that contain violations based on a user-defined limit (L10)

Using these, the AGC program maintains both the current month’s and last month’s CPS2 values as
follows:

valid _ periods _ without _ violations _ in _ month


CPS 2  100 
total _ valid _ periods _ in _ month

Program Description Reserves and Performance Criteria 5-4


Automatic Generation Control
For the purposes of CPS2, a violation is a 10-minute interval during which the absolute value of the
average of ACE is greater than L10. The value of L10 is a tuning parameter specified in the AGC System
Data file, as are the database points used for CPS2. See the Automatic Generation Control Database
Guide.

Program Description Reserves and Performance Criteria 5-5


Automatic Generation Control
6 AGC Control Output Program

6.1 Introduction

This chapter describes the program that issues AGC controls to the RTUs on behalf of the AGC program.
This program is called AGCTL.

The AGC program indicates what controls it wants issued via the following MMDB variables:

IURLP
This is an integer array of dimension MXUNT (the number of generator units). Each element i of this
array contains a code that specifies one of the following controls for unit i:

Program Description AGC Control Output Program 6-1


Automatic Generation Control
Table 6.1-1 Control Codes
Control Code Meaning
0 No control
1 Short raise pulse
2 Long raise pulse
3 Short lower pulse
4 Long lower pulse
8 Setpoint decrease
9 Setpoint increase

USET
This is a real-number array, also of dimension MXUNT. If the control code in IURLPi is 8 or 9, the desired
setpoint is contained in USETi.

6.2 Program Description


The AGC control output program is named AGCTL.

At every AGC cycle, AGCTL checks the control code contained in each element of IURLP. For each
control code that is non-zero, AGCTL performs the following:

6.2.1 Short Pulse Control


If the control code is 1 or 3, AGCTL obtains the short pulse width, SPW i, from the MMDB and loads it into
the unit’s pulse width point. Then, if the control code is 1 (short raise), AGCTL issues a control to the RTU
using the 0-Control address of the unit’s control point. If the control code is 3 (short lower), AGCTL issues
a control using the 1-Control address of the unit’s control point.

In either case, AGCTL waits for a checkback response from the scan task, and then immediately goes on
to check the control code for the next unit. AGCTL does not check for any results of the control. (The
AGC program contains separate logic to check that the unit is following.)

If the checkback response indicates success, then AGCTL sets the control code to zero. If the checkback
response indicates failure, then AGCTL does not immediately retry the control. Instead, it leaves the
control code unchanged for another attempt at the next AGC cycle. If, in the meantime, the AGC program
changes its mind and decides that it wants a long pulse instead, that’s fine. The AGCTL program will
execute whatever control code it finds in IURLPi on the next cycle.

If the checkback is successful, and logging of controls is enabled for the unit (via a database point defined
in the AGC Generator Unit database file), then AGCTL logs the control by means of a zero-priority alarm.

The short pulse width for each unit is a tuning parameter defined in the AGC Generator Unit file. All of the
points for each generator are also defined in this file See the Automatic Generation Control Database
Guide.

Note that although AGCTL waits for a checkback response from the scan task, this does not mean that
you cannot use controls to which the RTU does not issue response messages. (These are the most
bandwidth-efficient type of controls to use for this purpose.) The checkback response message from the
scan task simply means that the scan task has done its job with the RTU and encountered no errors.

Program Description AGC Control Output Program 6-2


Automatic Generation Control
Whether the control involved select-before-operate (which requires two checkback messages from the
RTU), or a direct operate control (with only one checkback from the RTU), or a direct operate with no
response at all from the RTU, is a detail that you determine when you define the control point’s control
address, but it is a detail that AGCTL does not need to be concerned about.

6.2.2 Long Pulse Control


If the control code is 2 or 4, AGCTL obtains the long pulse width, LPW i from the MMDB and loads it into
the unit’s pulse width point. Then, AGCTL performs the same steps as for short pulse control. If the
control code is 2 (long raise), AGCTL issues a control to the RTU using the 0-Control address of the unit’s
control point. If the control code is 4 (long lower) AGCTL issues a control using the 1- Control address of
the unit’s control point.

The long pulse width for each unit is a tuning parameter defined in the AGC Generator Unit database file.
See the Automatic Generation Control Database Guide.

6.2.3 Setpoint Control


If the control code is 8 or 9, AGCTL obtains the desired setpoint from MMDB variable USETi, and issues
a setpoint control to the RTU using the control address of the unit’s control point.

As in case of pulse controls, AGCTL waits for a checkback response from the scan task, and then
immediately goes on to check the control code for the next unit. AGCTL does not check for any results of
the control (the AGC program contains separate logic to check that the unit is following).

Program Description AGC Control Output Program 6-3


Automatic Generation Control
7 Interchange Scheduling

7.1 Introduction

Scheduled interchanges are defined by the dispatcher via the Interchange Transaction application.
Running this user-interface application will produce the AGC Interchange Scheduling display, shown in
Figure 7-1. The Interchange Scheduling User’s Guide describes how to use this display.

Each scheduled interchange is specified in terms of:


 start date and time
 end date and time
 interchange amount, in MW (observing the selected sign convention for flows, see section 1.2)
 interchange ramp-in and ramp-out rate, in MW/min

Program Description Interchange Scheduling 7-1


Automatic Generation Control
Figure 7-1 Interchange Scheduling Display

7.2 Interchange Processing


The routine that processes the scheduled interchanges is called by the AGC program at every AGC
cycle. The output of the routine is a total net scheduled interchange, which is stored in MMDB variable
SNI, and is transcribed to a SCADA database point identified in the AGC System Data file (see the AGC
System Data chapter in the Automatic Generation Control Database Guide).

The SNI quantity is used as a component of the ACE calculation in the tie line bias modes (with or without
ATEC) and the constant net interchange mode. (See paragraphs 3.4.2.1 Tie Line Bias, 3.4.2.2 Constant

Program Description Interchange Scheduling 7-2


Automatic Generation Control
Net Interchange, and 3.4.2.4 Tie Line Bias with ATEC for the actual calculation.) Interchange is not
included in ACE in constant frequency mode, since in that mode all tie lines should be open and no
interchange is possible.

As soon as a scheduled interchange transaction becomes due, the interchange handler routine begins to
ramp toward the full transaction amount at the specified ramp-in rate. The ramp is performed by
incrementing a current amount value for the transaction. (If the full scheduled amount is negative, the
current amount is decremented toward that negative value.) It is the sum of these current amount values
for all overlapping transactions scheduled that forms the SNI quantity (scheduled net interchange). When
the current amount reaches the full scheduled amount, that transaction is fully ramped in.

When an interchange transaction’s end time is due, the interchange handler ramps the transaction out by
decrementing (or incrementing, for a negative amount) its current amount value at its ramp-out rate. As
the current amount ramps toward zero, the transaction‘s contribution to SNI also goes to zero. When the
current amount is zero, the transaction is fully ramped out.

7.2.1 Manual Payback of Inadvertent Interchange


Selected interchange transactions may be designated at “payback” transactions, by setting the Payback
indicator when the transaction is created. These transactions are processed by the interchange handler in
exactly the same way as described above, with the following additions:
 The sum of the current amounts of any payback transactions is contained in the MMDB quantity
NETPYBK, which is also displayed to the operators by a database point defined in the AGC System
Data editor.
 The current amount in NETPYBK is deducted from the current hour’s accumulated Actual Inadvertent
Interchange, either the on-peak or off-peak value, according to whether the present time is in the on-
peak or off-peak period.

Such transactions may be scheduled in order to manually pay back inadvertent interchange that had
accumulated prior to making use of the automatic payback capability of the Tie Line Bias with ATEC
control area mode.

Program Description Interchange Scheduling 7-3


Automatic Generation Control
8 Database

8.1 Introduction

The AGC database consists of the following:


 AGC System Data file
 AGC Tie Line file
 AGC Generator Unit file
 Interchange Schedules file
 Two in-memory shared common areas:
o PNTCOM
o MMDB

The contents of the AGC data files listed above are edited using SCADA Explorer, via the AGC editors
described in the Automatic Generation Control Database Guide.

Program Description Database 8-1


Automatic Generation Control
Many of the parameters in the AGC data files are specified as database points. The PNTCOM shared
common area is used to store the point IDs of all such points. The point IDs are loaded into the common
area by the AGC program at startup and again at each re-initialization.

MMDB stands for Main Memory Data Base, and is a shared common area that contains common
operating variables used by all of the AGC processes (AGC, AGCTL and EDC). In this document, the
description of the AGC functions are in terms of the variables in the MMDB common area, and hence, for
reference, a list of the contents of the MMDB is provided in section 8.2, Contents of the MMDB, and
section 8.3, MMDB Status Words.

Section 8.4, AGC Database Report, describes a report program that you can use to obtain a report of the
current data contained in the MMDB.

Most of the database points specified in the AGC editors have their values transcribed either into or out of
variables in the MMDB. The MMDB variables associated with these database points are identified in the
editing descriptions contained in the Automatic Generation Control Database Guide.

The common data memory areas PNTCOM and MMDB, along with some internal shared data, are
implemented as a Windows dynamically-linked library named MMDB.DLL. This file must be present on
disk along with the AGC program files, although it does not contain any valid data until run-time.

8.2 Contents of the MMDB


This section presents an alphabetically ordered list of all of the variables contained in the MMDB. For
each variable, the list shows the:
 Name
 Data type
 Dimension
 Description

Compile-time system sizing parameters used to dimension arrays are shown in the table below:

Table 8.2-1 System Sizing Parameters


Parameter Value Description
MXUNT 100 Maximum number of generating units
MXTIE 15 Maximum number of tie lines
MXCMP 4 Maximum number of joint ownership companies
(excluding yourself)

Program Description Database 8-2


Automatic Generation Control
Table 8.2-2 MMDB Variables
Name Type Description
(and size, if an array)
ACE Real Area control error, in MW.
ACECAP Real Value of scheduled interchange modification, in MW, to
account for transfer of power from joint units across your AGC
boundary.
ACECF Real Constant frequency component of ACE, in MW.
ACECNI Real Constant net interchange component of ACE, in MW.
ACEL1 Real ACE lagged by time constant of FK4 seconds.
ACEL2 Real ACEL1 lagged by time constant of FK4 seconds.
ACEMWH Real Lagged inadvertent error. This is the integral of ACE lagged
by 2*FK4 seconds.
ACETEC Real ATEC component of ACE
AF Real, Unit emergency assist factor.
Dim. (MXUNT)
AINADV Real Digital integration of ACE since the last initialization of AGC.
ANI Real Actual net interchange, in MW.
ARI Real Additional requested interchange, in MW.
ASICU Real, Actual share, internal joint unit, in MW.
Dim. (MXCMP+1,MXUNT)
ASO Real, Actual share at last pass through Path-A in computation of
Dim. (MXCMP+1,MXUNT) actual shares, in MW.
ATCPS Integer
AVGACE Real Average ACE this 10-minute interval.
BFREQ Real Frequency bias, in MW/0.1Hz
BLRR Real Base load and regulating range which applies to all units in
mode 2. BLRR has a value in the range zero to unity.
BS Real Inteconnect’s total frequency bias
BTUO Real, Unit fuel consumption at the lowest MW point on the
Dim. (MXUNT) incremental cost curve, in 1000BTU/hr.
CALCD Integer
CPS1 Real CPS1 performance value last minute.
CPS1M Real Average CPS1 this month.
CPS1ML Real Average CPS1 last month.
CPS2M Real Average CPS2 this month.
CPS2ML Real Average CPS2 last month.
CUETPE Real, User percent entitlement of an external joint unit. Derived from
Dim. (MXUNT) UCTEPE.
CUITPE Real, User percent entitlement of an internal joint unit. Derived from
Dim. (MXUNT) UCTEPE.
DELDS Real, Delta desired share since last pass through Path-A of
Dim. (MXCMP+1,MXUNT) computation of actual shares.
DELDSS Real Sum of deltas of desired shares since last pass through
computation of actual shares.
DELEDC Real Fraction by which system load is increased or decreased
during computation of participation factors.
DELT Real AGC cycle period, in seconds.
DELTF Real Frequency deviation from 60 Hz, in Hz.
DGEDC Real Sum of base points of controlled units, in MW, as calculated
during last execution of EDC.

Program Description Database 8-3


Automatic Generation Control
Name Type Description
(and size, if an array)
DSECU Real, Desired share of external joint unit, in MW.
Dim. (MXUNT)
DSICU Real, Desired share of internal joint unit, in MW.
Dim. (MXCMP+1,MXUNT)
DSO Real, Desired share of internal joint unit at last pass through Path-A
Dim. (MXCMP+1,MXUNT) of computation of actual shares, in MW.
EDCFLG Byte, EDC alarm status flags.
Dim. (2,MXUNT)
EDCSCH Integer EDC scheduling time, in seconds.
EFFCYC Integer Number of AGC cycles over which the value of EFFORT is
computed.
EFFORT Real A number between zero and unity which provides an
indication of how often ACE is being passed through as
FACE. The smaller the value, the greater the filtering of ACE.
Used in tuning the ACE filter. See the Automatic Generation
Control Tuning Guide.
ERRTPW Real Fraction of desired generation to be used as convergence
criterion in EDC calculation.
FACE Real Filtered area control error, in MW.
FCOST Integer, Fuel cost, in cents/1000BTU.
Dim. (MXUNT)
FFBAMW Real Feed forward bias actual MW.
FFBETH Integer Feed forward bias end hour.
FFBETM Integer Feed forward bias end minute.
FFBPTH Integer Feed forward bias peak hour.
FFBPTM Integer Feed forward bias peak minute.
FFBPV Real Feed forward bias peak value, in MW.
FFBSTH Integer Feed forward bias start hour.
FFBSTM Integer Feed forward bias start minute.
FK1 Real Primary ACE filter bandwidth, in MW. If ACE is outside this
bandwidth, FACE is set equal to ACE.
FK2 Real Lagged inadvertent bandwidth. If ACEMWH is within the
bandwidth of FK2, and ACE is not outside bandwidth FK1,
FACE is set to zero. If outside, and ACE and ACEMWH have
opposite signs, FACE is set to FK3*ACE.
FK3 Real ACE filter gain applied to ACE when ACE is same sign as
ACEMWH and ACEMWH is outside bandwidth of FK2.
FK4 Real Time constant of lag, in seconds, to be applied to ACE and
ACEL1. To lag ACEMWH by 15 minutes, FK4 should be set to
(15*60)/2 = 450 seconds.
FORNSR Integer Foreign non-spinning reserve, in MW.
FORSR Integer Foreign spinning reserve, in MW.
FTIEMW Real, Filtered tie line power, in MW.
Dim. (MXTIE)
GAIN Real Overall system regulating gain constant.
GAINMX Real Maximum allowed value of GAIN (set to 3).
HEATMW Integer, MW part of heat rate curve. See HEATR.
Dim. (MXUNT,7)
HEATR Integer, Incremental heat rate curve, in BTU/MWH.
Dim. (MXUNT,7)

Program Description Database 8-4


Automatic Generation Control
Name Type Description
(and size, if an array)
HEATRP Integer, Additional beginning heat rate points to represent
Dim. (MXUNT,5) discontinuities in heat rate curve.
HIFREQ Real Upper limit of frequency beyond which AGC will deactivate
itself, in Hz.
IACML Integer Area control mode in effect at last AGC cycle.
IBFC Integer Count of consecutive AGC cycles where a bad frequency
deviation telemetry value exists.
IBFCMX Integer Value of IBFC at which AGC deactivates itself.
IBTC Integer Count of consecutive AGC cycles where a bad tie line
telemetry value exists.
IBTCMX Integer Value of IBTC at which AGC deactivates itself.
IBUC Integer, Count of consecutive AGC cycles where the unit telemetry is
Dim. (MXUNT) bad.
IBUCMX Integer Value of IBUC at which AGC suspends control of the unit.
IEDCNT Integer Number of AGC cycles elapsed since last execution of EDC.

IFCUE Integer External joint unit status code.


0 = not external joint unit
1 = external joint unit, not online
2 = external joint unit, online
IFCUI Integer Internal joint unit status code.
0 = not external joint unit
1 = external joint unit, not online
2 = external joint unit, online
IFLEH Integer Flag for unit outside UEHLT.
IFLEL
Integer Flag for unit outside UELLT.
IFLPRH Integer Flag for unit desired generation outside physical regulating
high limit for an internal joint unit.
IFLPRL Integer Flag for unit desired generation outside physical regulating
low limit for an internal joint unit.
IFLRH Integer Flag for unit outside URHLT.
IFLRL Integer Flag for unit outside URLLT.
IFLTSC Integer Flag indicating AGC has been re-initialized. Used in check of
tie line status change since last AGC cycle.
IFRMP Integer Unit ramp active flag for mode 4 units.
IFTRK Integer Unit tracking flag.
IIOFF Real This hours’ actual II, if off-peak
IION Real This hour’s actuall II, if on-peak
IME Real Meter Correction Factor for ACE equation
ISSWA Integer System status word A.
See Table 1.3-1 for bit definitions.
ISSWB Integer System status word B.
See Table 8.3-2 for bit definitions.
ITSW Integer, Tie line status word.
Dim. (MXTIE) See Table 8.3-3 for bit definitions.
IUMWF Integer, Flag for bad UMW value this cycle.
Dim. (MXUNT)
IUMWL
Integer, Flag for bad UMW value this cycle.
Dim. (MXUNT)

Program Description Database 8-5


Automatic Generation Control
Name Type Description
(and size, if an array)
IURLP Integer, Unit control code set by AGC program, used by AGCTL
Dim. (MXUNT) program:
0 = no control
1 = short raise pulse
2 = long raise pulse
3 = short lower pulse
4 = long lower pulse
8 = setpoint decrease
9 = setpoint increase
IUSWA Integer, Unit status word A.
Dim. (MXUNT) See Table 8.3-4 for bit definitions.
IUSWB Integer, Unit status word B.
Dim. (MXUNT) See Table 8.3-5 for bit definitions.
IUSWC Integer, Unit status word C.
Dim. (MXUNT) See Table 8.3-6 for bit definitions.
IVTL Integer, Status of tie line (open or closed) at last AGC cycle. Used in
Dim. (MXTIE) check for tie line status change since last cycle.
K01 Real Level of ACE to start emergency assist, in MW
K02 Real Level of ACE to raise excessive ACE alarm, in MW
K04 Real Level of SUMDIF needed to initiate EDC for mode 1 units.
K05 Real Threshold of ACE for permissive mode, in MW.
K06 Real, Unit tracking alarm level.
Dim. (MXUNT)
K07 Real, Primary sub-loop tuning parameter.
Dim. (MXUNT)
K08 Real, Parameter used in control signal logic that limits generator
Dim. (MXUNT) movement to the long term MW/min rate (URRATEi). Should
be set as a function of T3i and URRATEi for each unit.
K09 Real, UCEi level for long pulse issue, in MW.
Dim. (MXUNT)
K10 Real Multiplier applied to KFRi in rate limiting the value of UDESi for
units in either mode 1 or 2.
KCPS1 Real Constant used to calculate CPS1 performance figure.
KD Real, Unit-not-tracking MW deadband.
Dim. (MXUNT)
KFR Real, Unit fast response rate in MW/min.
Dim. (MXUNT)
KSP Real, Threshold for limiting pulses on SUMP. KSPi=KFRi*T3i/60.
Dim. (MXUNT)
LAMBDA Real System incremental cost, in $/MWH.
LAMEPM Real System incremental cost during evaluation pass EDC, in
$/MWH.
LAMLIM Integer Maximum number of iterations allowed on LAMBDA in EDC.
LASTXN Real Number of seconds since the last ACE zero-crossing.
LAVACE Real Average value of ACE during the previous 10-minute interval.
LCPS2 Real Constant used to calculate CPS2 performance figure ( = L10 )
LOFREQ Real Lower limit of frequency beyond which AGC will deactivate
itself, in Hz.
LMAX Real Limit for ATEC term in ACE equation
LPW Real Long pulse width (milliseconds).
LstIIoff Real Last off-peak hour’s actual II

Program Description Database 8-6


Automatic Generation Control
Name Type Description
(and size, if an array)
LstIIon Real Last on-peak hours’ actual II
MINCYC Integer Minimum number of AGC cycles which must elapse since the
last execution of EDC before AGC can request EDC again.
Should be set to a period of about one half of the scheduling
interval of EDC.
MODE Integer, Unit control mode this AGC cycle.
Dim. (MXUNT)
MODL Integer, Unit control mode last AGC cycle.
Dim. (MXUNT)
MXBICU Integer Maximum allowed AGC cycles with one or more bad joint unit
MW values at which AGC deactivates itself.
N10MIN Integer Number of valid 10-minute intervals so far this month (i.e.
number of complete 10-minute intervals in which AGC was
running and active).
N10VIO Integer Number of valid 10-minute intervals so far this month with
CPS2 violations (i.e. number of complete 10-minute intervals
in which AGC was running and active, and in which the
absolute value of average ACE exceeded L10).
NETPYBK Real Net amount of all "payback" transactions in progress, in MW.
NMONTH Integer Number of valid AGC intervals so far this month (i.e. AGC
running and active).
NOXING Real Number of 10-minute intervals with no ACE zero-crossings to
date.
NSRACT Integer Actual non-spinning reserve, in MW.
ONCD Integer, Unit “on control” flag. From bit 8 of IUSWA.
Dim. (MXUNT)
ONCL Integer, Value of ONCD last AGC cycle.
Dim. (MXUNT)
ONL Integer, Unit online flag. From bit 7 of IUSWA.
Dim. (MXUNT)
ONLL Integer, Value of ONL last AGC cycle.
Dim. (MXUNT)
ONS Integer, Unit suspended flag.
Dim. (MXUNT)
ORACT Integer Actual operating reserve, in MW.
OROVEC Integer Additional operating reserve requirement, in MW. This is a
quantity that accounts for an obligation of the owner to provide
a certain amount of operating reserve for an entity within the
owner’s control area, and adds to the owner’s operating
reserve requirement, as specified in ORRQPC.
ORRQPC Integer Operating reserve requirement, in % of system load, exclusive
of OROVEC.
PBINT Real Payback Interval for ATEC, in hours
PENFAC Real, Unit penalty factor.
Dim. (MXUNT)
REGDN Real Downward regulating capacity, in MW.
REGUP Real Upward regulating capacity, in MW.
RF Real, Unit regulating factor.
Dim. (MXUNT)
RMPDEL Real, Unit ramp increment for each cycle, in MW.
Dim. (MXUNT)

Program Description Database 8-7


Automatic Generation Control
Name Type Description
(and size, if an array)
RMPMW Real, Unit ramp destination, in MW.
Dim. (MXUNT)
RMPSTH Integer, Unit ramp start hour.
Dim. (MXUNT)
RMPSTM Integer, Unit ramp start minute.
Dim. (MXNT)
RMPTM Integer, Unit ramp duration, in minutes.
Dim. (MXUNT)
RMWMW Real Total regulating gain.
PriIIoff Real Primary II, off-peak
PriIIon Real Primary II, on-peak
S4N Real, Negative-going value of SUM4 for unit.
Dim. (MXUNT)
S4P Real, Positive-going value of SUM4 for unit.
Dim. (MXUNT)
SFREQ Real Scheduled frequency deviation, in Hz.
SIGNC Integer Sign Convention, 1 = STC, -1 = NERC
SLOAD Real System load, in MW. Used by reserves calculation routine.
SNI Real Scheduled net interchange, in MW.
SPW Real, Short pulse width (milliseconds).
Dim. (MXUNT)
SRACT Integer Actual spinning reserve, in MW.
SRRQPC Integer Spinning reserve requirement, in % of system load.
SUM1 Real, Expected value of unit output, in MW. Used in unit tracking
Dim. (MXUNT) logic.
SUM2 Real, Lagged error between expected and actual unit output, in MW.
Dim. (MXUNT) Used in unit tracking logic.
SUM3 Real, Detected rate of change of unit output. Used in unit rate
Dim. (MXUNT) limiting logic.
SUM4 Real, Lagged detected rate of change of unit output. Used in unit
Dim. (MXUNT) rate limiting logic.
SUM5 Real, Integrator for lag component of hydraulic unit lead/lag
Dim. (MXUNT) compensation filter.
SUMB1 Real Summation of economic basepoints for mode 1-4 units.
SUMDIF Real Difference between SUMP1 and DGEDC, in MW. Used to
determine which set of economic participation factors (upward
or downward) are to be used by AGC.
SUMP1 Real Sum of actual unit MW for all mode 1-4 units plus FACE.
T1 Real, First time constant for tracking logic.
Dim. (MXUNT)
T2 Real, Second time constant for tracking logic.
Dim. (MXUNT)
T3 Real, First time constant for unit AGC rate limiting logic.
Dim. (MXUNT)
T4 Real, Second time constant for unit AGC rate limiting logic.
Dim. (MXUNT)
T5 Real, Lead time constant for hydraulic unit lead/lag compensation.
Dim. (MXUNT)
T6 Real, Lag time constant for hydraulic unit lead/lag compensation.
Dim. (MXUNT)

Program Description Database 8-8


Automatic Generation Control
Name Type Description
(and size, if an array)
TCPS1M Real*8 Total accumulation of CPS1 for every minute so far this
(double precision) month.
TERR Real Total accumulated time error
TOL1 Real, First tunable tolerance value for actual shares logic.
Dim. (MXUNT)
TOL2 Real, Second tunable tolerance value for actual shares logic.
Dim. (MXUNT)
TOLD Real, A value of “OLD” time used in the mode 4 ramp logic to detect
Dim. (MXUNT) if we are extending the ramp past midnight.
UADJF Real, Unit adjustment factor.
Dim. (MXUNT)
UBPEPM Real, Unit base point, in MW, calculated in evaluation pass mode of
Dim. (MXUNT) EDC.
UBPO Real, Has two temporary uses:
Dim. (MXUNT) 1. Temp. value of base point used in the ramp mode logic.
2. Last cycle’s value of UDESi for units in mode 1 or 2. Used
in rate limiting UDESi to K10*KFRi.
UCE Real, Unit control error.
Dim. (MXUNT)
UCEACC Real, Unit control error accumulator.
Dim. (MXUNT)
UCTEPE Real, User percent entitlement of joint unit.
Dim. (MXUNT)
UDES Real, Unit desired power, in MW.
Dim. (MXUNT)
UEBP Real, Unit base point, in MW (calculated by EDC or entered by
Dim. (MXUNT) dispatcher).
UEHL Real, Unit economic high limit, in MW.
Dim. (MXUNT)
UEHLRL Real, Unit rate-limited high limit, in MW, calculated by EDC.
Dim. (MXUNT)
UEHLT Real, Prorated economic high limit, in MW, calculated by AGC.
Dim. (MXUNT)
UELL Real, Unit economic low limit, in MW.
Dim. (MXUNT)
UELLRL Real, Unit rate-limited low limit, in MW, calculated by EDC.
Dim. (MXUNT)
UELLT Real, Prorated economic low limit, in MW, calculated by AGC.
Dim. (MXUNT)
UEP Real, Unit desired MW determined by economic path of AGC.
Dim. (MXUNT)
UEPFDN Real, Unit economic participation factor for increasing load,
Dim. (MXUNT) calculated by EDC.
UEPFUP Real, Unit economic participation factor for decreasing load,
Dim. (MXUNT) calculated by EDC.
UERATE Real, Prorated unit long term response rate limit in MW/min. Equal
Dim. (MXUNT) to URRATE for owner units.
ULFEC Real, Current unit loss factor for external joint unit.
Dim. (MXUNT)
ULFFP Real, Off-peak unit loss factor for external joint unit.
Dim. (MXUNT)

Program Description Database 8-9


Automatic Generation Control
Name Type Description
(and size, if an array)
ULFNP Real, On-peak unit loss factor for external joint unit.
Dim. (MXUNT)
UMAX Integer, Maximum unit capability, in MW.
Dim. (MXUNT)
UMO Real, Value of UMW i for internal joint unit during last pass through
Dim. (MXUNT) Path-A of actual shares calculation.
UMW Real, Unit generation. For external joint units, this is the owner’s
Dim. (MXUNT) share at the bus bar. For owner units, and joint external units,
this is the telemetered power, UMW i. For joint internal units,
this is the owner’s share of unit output, ASICU1,i.
UNONL Integer, Unit maximum non-spinning reserve contribution, in MW.
Dim. (MXUNT)
URHL Real, Unit regulating high limit, in MW.
Dim. (MXUNT)
URHLT Real, Prorated unit regulating high limit, in MW. Equal to URHL for
Dim. (MXUNT) non-joint units.
URLL Real, Unit regulating low limit, in MW.
Dim. (MXUNT)
URLLT Real, Prorated unit regulating low limit, in MW. Equal to URLL for
Dim. (MXUNT) non-joint units.
URRATE Real, Unit response rate, in MW/MIN.
Dim. (MXUNT)
USET Real, Setpoint, in MW, calculated by AGC.
Dim. (MXUNT)
VMAIT Integer, This is the incremental maintenance cost for operating the
Dim. (MXUNT) unit. It is the slope of the maintenance cost input-output curve
which has UCML as its vertical axis intercept. Since VMAIT is
the derivative of that I/O curve, and has the units of
cents/MWH, it has the same engineering units as the unit
incremental cost curve, and is in fact, added to that curve for
purposes of economic dispatch.

Program Description Database 8-10


Automatic Generation Control
8.3 MMDB Status Words
This section presents the bit-level details of the status words contained in the MMDB.

Table 8.3-1 System Status Word “A” (ISSWA)


Bit Function Description
0–1 Area Control Status 0 = AGC deactivated by SCADA
1 = AGC deactivated by itself
2 = AGC recognizes activation
3 = AGC activated by SCADA
2–3 Area Control Mode 0 = Unused
(see also ISSWB, bit 13) 1 = Tie Line Bias (with or without ATEC)
2 = Constant Net Interchange
3 = Constant Frequency
4 Feed Forward Bias Status 0 = Inactive
1 = Active
5 Emergency Assist Status 0 = Inactive
1 = Active
6 Excessive ACE Status 0 = Within limits
1 = Excessive
7 Frequency Measurement 0 = Value Ok
Status 1 = Value invalid
8 Reinitialization Flag 0 = Initialization complete
1 = Initialization required
9 Unit Parameter Change Flag 0 = Change recognized
1 = Change
10 Other Data Change Flag 0 = Change recognized
1 = Change
11 EDC Execution Request 0 = Execution complete
1 = Execution required
12 Ext Joint Unit Loss Factor 0 = Use off-peak values
1 = Use on-peak values
13 Feed Forward Bias 0 = Disabled
Enable/Disable 1 = Enabled
14 EDC Evaluation Pass 0 = Disabled
Enable/Disable 1 = Enabled
15 ACE Filter Enable/Disable 0 = Disabled
1 = Enabled

Program Description Database 8-11


Automatic Generation Control
Table 8.3-2 System Status Word “B” (ISSWB)
Bit Function Description
0 Joint Unit Parameter Change 0 = Change recognized
1 = Change occurred
1 FFB Parameter Change 0 = Change recognized
1 = Change occurred
2 Unused
3 Frequency Trip Enable/Disable 0 = Enabled
1 = Disabled
4 System Reboot Flag 0 = Not initialized
1 = Reinitialized after reboot
5 All Mode 1 Units Dispatched to Limit 0 = Not all
1 = Yes
6–7 Unused
8 EDC executed 0 = Recognized by AGC
1 = EDC executed
9 – 10 Unused
11 Calculations while AGC deactivated 0 = stop calculations
1 = continue calculations
12 ACE equation used for CPS1 0 = omit ATEC term
calculation 1 = include ATEC term
13 ACE equation used for AGC in 0 = omit ATEC term
Tie Line Bias mode 1 = include ATEC term
14 On Test (system tuning) 0 = No
1 = Yes
15 AGC read tuning data 0 = No
1 = Yes

Table 8.3-3 Tie Line Status Word (ITSW)


Bit Function Description
0 Tie Exists 0 = Does not exist
1 = Tie exists
1 Tie Breaker Status 0 = Open
1 = Closed
2–4 Unused
5 Tie MW Data Validity 0 = Valid
1 = Invalid
6 – 15 Unused

Program Description Database 8-12


Automatic Generation Control
Table 8.3-4 Unit Status Word “A” (IUSWA)
Bit Function Description
0 Unit Exists 0 = Unit does not exist
1 = Unit exists
1 Unit equipped for AGC 0 = Cannot be controlled
1 = Equipped
2 Ownership 0 = Owner
1 = Joint
3 Internal/External Joint 0 = Internal
1 = External
4 Type of AGC Signal 0 = Set-point
1 = Raise/Lower pulses
5 Unit MW Validity 0 = Value Ok
1 = Invalid
6 Unused
7 Unit Online Status 0 = Offline
1 = Online
8 Unit Control Status 0 = Off AGC
1 = On AGC
9 - 11 Unit Control Mode 0 = Manual
1 = Full Control
2 = Base Load + Regulating
3 = Base Load
4 = Ramp
12 Unit Control Suspended Status 0 = AGC active
1 = AGC suspended
13 Unused
14 Unit Within Ramp Time 0 = Outside
1 = Inside
15 EDC Evaluation Pass 0 = Disabled
1 = Enabled

Program Description Database 8-13


Automatic Generation Control
Table 8.3-5 Unit Status Word “B” (IUSWB)
Bit Function Description
0 Unit Type 0 = Thermal
1 = Hydraulic
1–2 Unused
3–4 Reserve Contribution Category 0 = Cannot contribute
1 = Non-spinning only
2 = Spinning only
3 = Both spinning and non-spinning
5–8 Unused
9 – 10 Unit Economic Limit Status 0 = Within economic limits
1 = Below economic low limit
2 = Above economic high limit
11 – 12 Unit Regulating Limit Status 0 = Within regulating limits
1 = Below regulating low limit
2 = Above regulating high limit
13 Unit Following Status 0 = Unit not following
1 = Unit following
14 – 15 Unused

Table 8.3-6 Unit Status Word “C” (IUSWC)


Bit Function Description
0 Unit Parameter Change 0 = Change recognized
1 = Change occurred
1 Unused
2 Rate of change limiting 0 = enabled
1 = disabled
3 Logging of controls 0 = don’t log controls
1 = log controls
4 – 11 Unused
12 – 14 Economic Parameter Set Number Only values 1 – 3 are legal. Any
other values result in use of set #1.
15 Unused

8.4 AGC Database Report


The AGC database report program may be used at any time to display the current contents of the MMDB.
The report can be obtained by running the program AgcReport,
which is usually located in the folder where your SCADA Server Regardless of the sign
applications are installed. convention you have chosen,
the MMDB data displayed
You can run it from a command prompt, or you can navigate to the here always uses the
program and double-click on the icon. The report will appear in the traditional “STC” convention.
form of a list of all the MMDB variables, as shown in Figure 8-1. The
report contains the following sections:
 Real-time system data from SCADA

Program Description Database 8-14


Automatic Generation Control
 Operator inputs
 System Status Word A
 System Status Word B
 System Parameters
 Computed Results
 System Tuning Data
 Other System Stuff
 Database Buffer Area
 Internal AGC Program Data
 Tie Line Data
 Unit Data

In the example of Figure 8-1, there are two tie lines and three generator units defined in the system.

Because the size of the report might overflow your Command Prompt window’s buffer (making it
impossible for you to scroll back to review the results), the program will prompt you to type the Enter key
after the system and Tie Line data, prior to displaying each unit’s data. Similarly, the program will prompt
you at the end, before it exits (which could close the window). This allows you to control the flow of data,
and to look for the information in the report that is of interest to you.

Figure 8-1 AGC Database Report


AGC IN-MEMORY DATABASE, AREA 1
(observes STC Legacy sign conventions)

----------------------------------------------------------
REAL-TIME SYSTEM DATA FROM SCADA

Scheduled net interchange = 0.00 SNI


System load = 200.16 SLOAD
Actual frequency = 59.99 USFREQ
Actual frequency deviation = -0.01 DELTF
Foreign spinning reserve = 1 FORSR
Foreign non-spinning reserve = 50 FORNSR

----------------------------------------------------------
OPERATOR INPUTS

Additional operating reserve reqd = 2 OROVEC


Operating reserve required % = 10 ORRQPC
Spinning reserve required % = 10 SRRQPC
Scheduled frequency deviation = 0.00 SFREQ

----------------------------------------------------------
SYSTEM STATUS WORD A

Area Control Status = 2 AGC recognizes user activation


Area Control Mode = 1 Tie line bias
Feedforward Bias = 0 Inactive
Emergency Assist Action = 0 Inactive
Excessive ACE = 0 Within limits

Program Description Database 8-15


Automatic Generation Control
Frequency Measurement = 0 Ok
Reinitialization Flag = 1 Reinitialize
Unit Parameter Change = 1 Change
Other Data Change = 1 Change
AGC Says Execute EDC = 0 EDC executed
Ext Joint Unit Loss Fac = 1 Use on-peak values
Feedforward Bias = 0 Disabled
EDC Evaluation Pass = 0 Disabled
ACE Filter = 1 Enabled

----------------------------------------------------------
SYSTEM STATUS WORD B

Joint Unit Parameter Change = 0 Recognized by AGC


FFB Parameter Change = 0 Recognized by AGC
RESMON DB Parameter Change = 0 Recognized by RESMON
Frequency Trip = 0 Trip logic active
System Reboot Flag = 0 Not reinitialized
All Mode 1 Units Dispatched to Limit = 0 Not all
Print AGC Messages = 0 No print
Print EDC Messages = 0 No print
EDC Just Ran = 0 Recognized by AGC
Continue AGC calc. while deactivated = 1 Enabled
ACE equation for Tie Line Bias mode = 1 WECC + ATEC
Include ATEC in CPS calculations = 1 Enabled
On-Test Flag (System Tuning) = 0 Off-test
AGC Read Tuning Data = 0 Finished read

----------------------------------------------------------
SYSTEM PARAMETERS

FFWD Bias Start Time = 13:20


FFWD Bias End Time = 13:30
FFWD Bias Peak Time = 13:25
FFWD Bias Peak Value = 7.00 FFBPV
Frequency Bias = 1.00 BFREQ

----------------------------------------------------------
COMPUTED RESULTS

System incremental cost = 7.41 LAMBDA


System incremental cost (eval mode) = 0.00 LAMEPM
EDC base point = 200.18 DGEDC
Seconds since last ACE 0-xing = 8.00 LASTXN
10-min intervals w no ACE 0-xings = 0.00 NOXING
Average ACE this 10-min interval = 0.14 AVGACE
Average ACE last 10-min interval = 0.10 LAVACE

----------------------------------------------------------
SYSTEM TUNING DATA

Primary ACE filter bandwidth = 1.00 FK1


Lagged inadvertent bandwidth = 0.10 FK2
ACE filter gain when ACE & ACEMWH = 1.00 FK3
Lag time constant for ACE & ACEL1 = 450.00 FK4
FACE level to start emerg assist = 8.00 K01
Level of alarm for excessive ACE = 5.00 K02
Level of SUMDIF to initiate EDC = 7.00 K04
FACE thresh for permissive mode = 4.00 K05
Multiplier for rate limiting UDES = 1.00 K10

Program Description Database 8-16


Automatic Generation Control
AGC control cycle = 4.00 DELT
Baseload and regulating range = 0.25 BLRR
Bad frequency cycles to deact AGC = 5 IBFCMX
Bad tie-line cycles to deact AGC = 5 IBTCMX
Bad unit MW cycles to deact AGC = 5 IBUCMX
Bad int JOINT cycles to deact AGC = 5 MXBICU
# AGC cycles in calc of effort = 12 EFFCYC
Min cycles to request EDC again = 16 MINCYC
System regulating gain constant = 1.00 GAIN
Max allowed system gain = 3.00 GAINMX
Upper freq to deacticate AGC = 60.50 HIFREQ
Lower freq to deacticate AGC = 59.50 LOFREQ
EDC scheduling time (seconds) = 240 EDCSCH
Fract of des gen for EDC convrg = 0.00 ERRTPW
Iterations on lambda (EDC) = 300 LAMLIM
Frac inc/dec load in particip fac = 0.02 DELEDC
Meter correction factor = 0.01 IME

----------------------------------------------------------
OTHER SYSTEM STUFF

Area control error = 0.14 ACE


Constant frequency ACE component = 0.07 ACECF
Constant net interchange ACE comp. = 0.06 ACECNI
ATEC ACE component = 0.03 ACETEC
Filtered area control error = 0.00 FACE
Net actual interchange = 0.06 ANI
FFB actual = 0.00 FFBAMW
Upward regulating capacity = 239.90 REGUP
Downward regulating capacity = 110.10 REGDN
Total regulating gain = 3.00 RMWMW
Actual operating reserve = 227 ORACT
Actual spinning reserve = 177 SRACT
Actual non-spinning reserve = 50 NSRACT

----------------------------------------------------------
INTERNAL AGC PROGRAM DATA

ACE lagged by FK4 seconds = 0.100 ACEL1


ACEL1 lagged by FK4 seconds = 0.072 ACEL2
Lagged inadvertent error = 0.021 ACEMWH
ACE filtering criterion = 0.29 EFFORT
Scheduled interchange = 0.00 ACECAP
Integral of ACE since initialization = -0.039 AINADV
Sum of EBP for mode 1-4 units = 200.18 SUMB1
Sum of actual unit MW + FACE = 200.10 SUMP1
Difference between SUMP1 and DGEDC = -0.08 SUMDIF
AGC intervals since last EDC = 6 IEDCNT

----------------------------------------------------------
TIE LINE DATA

Tie # 1

Tie exists = 1 Exists


Tie closed/open = 1 Closed
MW/MWH agreement = 0 Good
Tie MW data validity = 0 Valid
Tie line MW = 0.00 FTIEMW

Program Description Database 8-17


Automatic Generation Control
Tie # 2

Tie exists = 1 Exists


Tie closed/open = 1 Closed
MW/MWH agreement = 0 Good
Tie MW data validity = 0 Valid
Tie line MW = 0.06 FTIEMW

----------------------------------------------------------
UNIT DATA
Press ENTER to view next unit data.

Unit # 1

Unit exists = 1 Exists


Unit equipped for AGC = 1 Equipped
OWNER or JOINT unit = 0 OWNER unit
Internal/external JOINT = 0 Internal
Type of AGC signal = 1 Raise-lower
Unit MW validity = 0 Value Ok
Online-offline status = 1 Online
On-off AGC = 1 On AGC
Unit control mode = 1 Full control
Unit control suspended status = 0 AGC activated
Unit within ramp time = 0 Outside
EDC evaluation pass = 0 Do not

Unit type = 0 Thermal


Reserves category = 3 Spinning & non-spinnin
Economic limit state = 0 Within limits
Regulating limit state = 0 Within limits
Unit following status = 1 Following

Unit parameter change flag = 1 Parameter changed


Rate limit enable-disable = 0 Enabled
Log controls = 0 No
Unit economic parameter set = 2

Unit MW = 66.30 UMW


Unit ramp start time = 0: 0
Unit ramp destination MW = 0.00 RMPMW
Unit ramp time = 0 RMPTM
Unit base point = 66.66 UEBP
Unit econ particip factor, inc load = 0.33 UEPFUP
Unit econ particip factor, dec load = 0.33 UEPFDN
Unit penalty factor = 1.00 PENFAC
Unit base point (eval mode) = 0.00 UBPEPM
Unit desired power = 65.02 UDES
Unit setpoint = 0.00 USET
Unit control error = -1.28 UCE
Unit raise-lower code = 4 IURLP
Unit control error accumulator = 0.00 UCEACC
MW obtained by economic path of AGC = 65.70 UEP
Rate-limited high limit calc by EDC = 86.40 UEHLRL
Rate-limited low limit calc by EDC = 46.40 UELLRL

Current economic data

Program Description Database 8-18


Automatic Generation Control
Incremental maintenance cost = 0 VMAIT
Fuel cost = 75 FCOST
Unit adjustment factor = 0.00 UADJF
Unit maximum capability = 100.20 UMAX
Unit response rate = 5.00 URRATE
Pro-rated unit response rate = 5.00 UERATE
Unit economic high limit = 160.00 UEHL
Unit economic low limit = 40.00 UELL
Unit regulating high limit = 150.00 URHL
Unit regulating low limit = 30.00 URLL
Pro-rated unit regulating high limit= 150.00 URHLT
Pro-rated unit regulating low limit = 30.00 URLLT
Unit max non-spinning reserve % = 10 UNONL

Heat rate curve

HEATR: 9652 9667 9942 10217 10364 11022 11050


HEATRP: 0 0 0 0 0
HEATMW: 40 55 70 85 100 150 140

Unit tuning data

Unit not tracking logic threshold = 50.00 K06


Tuning parameter for short pulse = 0.10 K07
MW/min rate control parameter = 3.00 K08
UCE level for long pulse = 0.30 K09
Unit tracking logic deadband = 5.00 KD
Fast rate of change limit = 10.00 KFR
1st tracking logic time constant = 100.00 T1
2nd tracking logic time constant = 100.00 T2
1st rate limiting time constant = 10.00 T3
2nd rate limiting time constant = 10.00 T4
Lead TC for lead-lag compensation = 0.00 T5
Lag TC for lead-lag compensation = 0.00 T6
Emerg assist regulating factor = 1.00 AF
Unit regulating factor = 1.00 RF
1st tunable value for post asicu = 1.00 TOL1
2nd tunable value for post asicu = 2.00 TOL2
Lead-lag compensation integrator = 0.00 SUM5
Short pulse width (ms) = 250.00 SPW
Long pulse width (ms) = 750.00 LPW

Joint unit data

User % entitlement in joint unit = 0.00 UCTEPE


Ext joint loss factor, on-peak = 0.00 ULFFP
Ext joint loss factor, off-peak = 0.00 ULFNP
Ext joint loss factor, current = 0.00 ULFEC
User % entitlement, external unit = 0.00 CUETPE
User % entitlement, internal unit = 0.00 CUITPE
Desired share, ext joint unit = 0.00 DSECU
Desired share, internal joint unit (DSICU)
OWN CO #1 CO #2 CO #3 CO #4
0.00 0.00 0.00 0.00 0.00
Actual share, internal joint unit (ASICU)
OWN CO #1 CO #2 CO #3 CO #4
0.00 0.00 0.00 0.00 0.00
Press ENTER to view next unit data.

Program Description Database 8-19


Automatic Generation Control
Unit # 2

Unit exists = 1 Exists


Unit equipped for AGC = 1 Equipped
OWNER or JOINT unit = 0 OWNER unit
Internal/external JOINT = 0 Internal
Type of AGC signal = 1 Raise-lower
Unit MW validity = 0 Value Ok
Online-offline status = 1 Online
On-off AGC = 1 On AGC
Unit control mode = 1 Full control
Unit control suspended status = 0 AGC activated
Unit within ramp time = 0 Outside
EDC evaluation pass = 0 Do not

Unit type = 0 Thermal


Reserves category = 3 Spinning & non-spinning
Economic limit state = 0 Within limits
Regulating limit state = 0 Within limits
Unit following status = 1 Following

Unit parameter change flag = 1 Parameter changed


Rate limit enable-disable = 0 Enabled
Log controls = 0 No
Unit economic parameter set = 1

Unit MW = 73.40 UMW


Unit ramp start time = 0: 0
Unit ramp destination MW = 0.00 RMPMW
Unit ramp time = 0 RMPTM
Unit base point = 73.95 UEBP
Unit econ particip factor, inc load = 0.34 UEPFUP
Unit econ particip factor, dec load = 0.34 UEPFDN
Unit penalty factor = 1.00 PENFAC
Unit base point (eval mode) = 0.00 UBPEPM
Unit desired power = 73.15 UDES
Unit setpoint = 0.00 USET
Unit control error = -0.25 UCE
Unit raise-lower code = 3 IURLP
Unit control error accumulator = 0.00 UCEACC
MW obtained by economic path of AGC = 73.15 UEP
Rate-limited high limit calc by EDC = 113.60 UEHLRL
Rate-limited low limit calc by EDC = 40.00 UELLRL

Current economic data

Incremental maintenance cost = 0 VMAIT


Fuel cost = 74 FCOST
Unit adjustment factor = 0.00 UADJF
Unit maximum capability = 160.00 UMAX
Unit response rate = 10.00 URRATE
Pro-rated unit response rate = 10.00 UERATE
Unit economic high limit = 160.00 UEHL
Unit economic low limit = 40.00 UELL
Unit regulating high limit = 150.00 URHL
Unit regulating low limit = 30.00 URLL
Pro-rated unit regulating high limit= 150.00 URHLT
Pro-rated unit regulating low limit = 30.00 URLLT
Unit max non-spinning reserve % = 10 UNONL

Program Description Database 8-20


Automatic Generation Control
Heat rate curve

HEATR: 9652 9667 9942 10217 10364 11022 11050


HEATRP: 0 0 0 0 0
HEATMW: 40 55 70 85 100 115 140

Unit tuning data

Unit not tracking logic threshold = 10.00 K06


Tuning parameter for short pulse = 0.10 K07
MW/min rate control parameter = 3.00 K08
UCE level for long pulse = 0.30 K09
Unit tracking logic deadband = 5.00 KD
Fast rate of change limit = 10.00 KFR
1st tracking logic time constant = 100.00 T1
2nd tracking logic time constant = 100.00 T2
1st rate limiting time constant = 10.00 T3
2nd rate limiting time constant = 10.00 T4
Lead TC for lead-lag compensation = 0.00 T5
Lag TC for lead-lag compensation = 0.00 T6
Emerg assist regulating factor = 1.00 AF
Unit regulating factor = 1.00 RF
1st tunable value for post asicu = 1.00 TOL1
2nd tunable value for post asicu = 2.00 TOL2
Lead-lag compensation integrator = 0.00 SUM5
Short pulse width (ms) = 250.00 SPW
Long pulse width (ms) = 750.00 LPW

Joint unit data

User % entitlement in joint unit = 0.00 UCTEPE


Ext joint loss factor, on-peak = 0.00 ULFFP
Ext joint loss factor, off-peak = 0.00 ULFNP
Ext joint loss factor, current = 0.00 ULFEC
User % entitlement, external unit = 0.00 CUETPE
User % entitlement, internal unit = 0.00 CUITPE
Desired share, ext joint unit = 0.00 DSECU
Desired share, internal joint unit (DSICU)
OWN CO #1 CO #2 CO #3 CO #4
0.00 0.00 0.00 0.00 0.00
Actual share, internal joint unit (ASICU)
OWN CO #1 CO #2 CO #3 CO #4
0.00 0.00 0.00 0.00 0.00
Press ENTER to view next unit data.

Unit # 3

Unit exists = 1 Exists


Unit equipped for AGC = 1 Equipped
OWNER or JOINT unit = 0 OWNER unit
Internal/external JOINT = 0 Internal
Type of AGC signal = 0 Setpoint
Unit MW validity = 0 Value Ok
Online-offline status = 1 Online
On-off AGC = 1 On AGC
Unit control mode = 1 Full control
Unit control suspended status = 0 AGC activated
Unit within ramp time = 0 Outside
EDC evaluation pass = 0 Do not

Program Description Database 8-21


Automatic Generation Control
Unit type = 0 Thermal
Reserves category = 3 Spinning & non-spinning
Economic limit state = 0 Within limits
Regulating limit state = 0 Within limits
Unit following status = 1 Following

Unit parameter change flag = 1 Parameter changed


Rate limit enable-disable = 0 Enabled
Log controls = 0 No
Unit economic parameter set = 3

Unit MW = 58.83 UMW


Unit ramp start time = 0: 0
Unit ramp destination MW = 0.00 RMPMW
Unit ramp time = 0 RMPTM
Unit base point = 59.57 UEBP
Unit econ particip factor, inc load = 0.33 UEPFUP
Unit econ particip factor, dec load = 0.33 UEPFDN
Unit penalty factor = 1.00 PENFAC
Unit base point (eval mode) = 0.00 UBPEPM
Unit desired power = 58.16 UDES
Unit setpoint = 58.16 USET
Unit control error = -0.66 UCE
Unit raise-lower code = 0 IURLP
Unit control error accumulator = 0.00 UCEACC
MW obtained by economic path of AGC = 58.37 UEP
Rate-limited high limit calc by EDC = 78.75 UEHLRL
Rate-limited low limit calc by EDC = 39.00 UELLRL

Current economic data

Incremental maintenance cost = 0 VMAIT


Fuel cost = 76 FCOST
Unit adjustment factor = 0.00 UADJF
Unit maximum capability = 100.00 UMAX
Unit response rate = 5.00 URRATE
Pro-rated unit response rate = 5.00 UERATE
Unit economic high limit = 150.00 UEHL
Unit economic low limit = 39.00 UELL
Unit regulating high limit = 140.00 URHL
Unit regulating low limit = 30.00 URLL
Pro-rated unit regulating high limit= 140.00 URHLT
Pro-rated unit regulating low limit = 30.00 URLLT
Unit max non-spinning reserve % = 10 UNONL

Heat rate curve

HEATR: 9652 9667 9942 10217 10364 11022 11050


HEATRP: 0 0 0 0 0
HEATMW: 40 55 70 85 100 150 140

Unit tuning data

Unit not tracking logic threshold = 50.00 K06


Tuning parameter for short pulse = 0.00 K07
MW/min rate control parameter = 3.00 K08
UCE level for long pulse = 0.00 K09
Unit tracking logic deadband = 5.00 KD
Fast rate of change limit = 10.00 KFR

Program Description Database 8-22


Automatic Generation Control
1st tracking logic time constant = 100.00 T1
2nd tracking logic time constant = 100.00 T2
1st rate limiting time constant = 10.00 T3
2nd rate limiting time constant = 10.00 T4
Lead TC for lead-lag compensation = 10.00 T5
Lag TC for lead-lag compensation = 10.00 T6
Emerg assist regulating factor = 1.00 AF
Unit regulating factor = 1.00 RF
1st tunable value for post asicu = 0.00 TOL1
2nd tunable value for post asicu = 0.00 TOL2
Lead-lag compensation integrator = 0.00 SUM5
Short pulse width (ms) = 200.00 SPW
Long pulse width (ms) = 1000.00 LPW

Joint unit data

User % entitlement in joint unit = 0.00 UCTEPE


Ext joint loss factor, on-peak = 0.00 ULFFP
Ext joint loss factor, off-peak = 0.00 ULFNP
Ext joint loss factor, current = 0.00 ULFEC
User % entitlement, external unit = 0.00 CUETPE
User % entitlement, internal unit = 0.00 CUITPE
Desired share, ext joint unit = 0.00 DSECU
Desired share, internal joint unit (DSICU)
OWN CO #1 CO #2 CO #3 CO #4
0.00 0.00 0.00 0.00 0.00
Actual share, internal joint unit (ASICU)
OWN CO #1 CO #2 CO #3 CO #4
0.00 0.00 0.00 0.00 0.00
Press ENTER to quit.

>

Program Description Database 8-23


Automatic Generation Control
9 Monitoring AGC

Your SCADA system includes a client program called ScanMon that allows you to monitor various
programs in the system. ScanMon is discussed in detail in Survalent SCADA System Manager’s Guide
for Windows (document number SM-400).

Once ScanMon is connected to the AGC program, it will periodically log information to help you
understand how the program is operating. This subject is discussed more fully in AGC-402, AGC Tuning
Guide.

Program Description Monitoring AGC 9-1


Automatic Generation Control

You might also like