Professional Documents
Culture Documents
Terry A. Shetler
Chief Electrical Engineer
Woodward Governor Company
Ft. Collins, Colorado
ABSTRACT
Complexity
The demand for more fuel efficient engines with
low emissions is leading to even more complex controls.
For example, acceleration scheduling may be a function
of three or more parameters including corrected speed,
which in itself involves division and extracting the
square root. It may be necessary to correct nonlinearities in the engine, fuel system, or sensors, or
to compensate non-linear dynamic characteristics of the
engine. There may be interactive control laws which
require a form of multi-variable control, as in multiple
extraction steam turbines or in variable geometry gas
turbines. The above examples illustrate the need for
powerful computing capability in the controller.
Both analog and digital controls require signal
conditioning circuitry to process signals to and from
the controlled plant. In addition, digital controls
require analog to digital (A/D) and digital to analog
(D/A) conversion circuitry. The important difference
between the two types of controls is in the computation
section. The analog control uses operational amplifiers, diodes, and other discrete parts for computation
while the digital control uses a microprocessor,
memory, and associated peripheral parts. With digital
controls, we only need to add lines of code (software)
as computational requirements increase. However, with
analog technology the amount of hardware required
increases directly with the increase in computational
requirements.
SIGNALS
COMPUTATION*
CONDITIONING
ING *
FIGURE lA
SIGNALS TO
ED
PLANT
ANALOG CONTROLS
COMPUTATION
OPERATIONAL
AMPLIFIERS
DIGITAL CONTROLS
COMPUTATION
ANALOG
TO
DIGITAL
CONVERSION
MICROPROCESSOR
DIGITAL
TO
ANALOG
CONVERSION
LOGIC GATES
MEMORY
Programmability
Programmable digital controls allows standard
hardware to be built and simply reprogrammed as necessary for different applications. In addition, many
users desire the capability of doing their own programming. When changes occur in the field (as they
inevitably do), it is much easier to change the application program in a digital control than it is to add
circuitry to an analog control.
There is also a significant difference in
calibration and tuning between analog and digital
controls. Analog controls are usually characterized
by dozens of potentiometers and circuitry which can
drift with time and temperature. While both techniques
require analog circuits to do the input/output signal
conditioning, there is no drift problem with digital
controls once the conversion is made from analog to
digital, and calibration and tuning can be done using
a keyboard and cathode ray tube (CRT). This affords
considerable accuracy since exact values can be keyed
in (rather than "tweaking" a pot) by simply plugging
in a CRT terminal to the serial data port. There is
no need for connecting a signal generator, counter,
voltmeter, etc. to the control with the attendant
safety and damage possibilities. There is no need to
"poke" around in the digital control at all; it can
even be out of sight, behind a panel, when it is
programmed and calibrated.
FIGURE 1B
If we assume equivalent generic failure rates
(high quality parts in all cases), using fewer parts
will generally lead to higher system reliability.
Therefore, if digital techniques use fewer parts,
digital controls will exhibit a longer MTBF (mean time
between failure). It should also be noted that, while
software flaws do not directly contribute to the system
failure rate, new programs will usually contain errors
which must be found and corrected. Overall, as the
control complexity increases, the reliability advantage
of digital controls increases.
Control Availability/Integrity
Presumably then, a control system would be
selected which involves the minimum amount of hardware.
However, the failure rate for even this minimum hardware may be unacceptably high for a given application,
which can easily occur when the cost of a single shutdown exceeds the cost of a control system. For these
applications it may be necessary to construct a "fault
tolerant" control system, one that can develop a fault
and continue to operate the plant safely. The usual
approach to the design of such a system is the use of
circuit redundancy.
Both analog and digital controls can, of course,
employ redundancy to the point of duplicating the
entire control. The problem then becomes one of :
1) correctly identifying faults, and 2) smoothly transferring to the back-up controller. This is called
fault coverage and, as will be shown, can be accomplished more easily using digital controls.
Fault coverage in the sensors and input/output
(I/O) conditioning circuitry is a simple task with
either analog or digital controls, although the digital
control can do much more sophisticated checking. For
example, both analog and digital controls can easily
make out of range" checks of input signals. Either
kind of control can easily switch to redundant or
alternate sensors in the event of a fault. But if we
also desire to determine whether a signal from the
turbine is "reasonable" with respect to other engine
parameters, we find it very difficult using analog
techniques but trivial using a digital controller.
Fault coverage in the computational section is
quite another matter. Detection of failures in an
analog PID loop is very difficult since a channel which
is not in control tends to wander off, making comparison
checks invalid. This tendency also makes it difficult
to smoothly transfer to a back-up control channel.
Digital controls have traditionally used self
test routines including watch dog timers, parity checks
in memory, and computation of standard algorithms to
detect faults. A major flaw in self testing is that
it does not function if the microprocessor stops executing, which can result from any number of faults in
Data Communication
Many users of controls desire to have various
engine parameters gathered and collected automatically
for logging and health monitoring purposes. Also, it
is often useful to have this information made available
for plant supervision computers. Since many engine
parameters are already available in the fuel control,
it makes sense to communicate this data to other equipment rather than duplicating the sensors. With digital
controls, we only need to add software to send the data
over a serial data link. Data communication is beyond
the capability of analog controls without extensive
additional hardware.
ARCHITECTURES AVAILABLE
Digital controls can be configured in several
different ways to cater to different reliability or
availability requirements. When control systems are
studied for reliability (MTBF), provided conservative
design techniques are used along with high quality
parts, the sensors are usually found to have the
It makes sense, then, to
highest failure rates.
duplicate (or triplicate) the sensors along with the
conditioning circuits. This is true in both analog
and digital systems. If we now put the signal conditioning together with a single microprocessor and
memory (called a kernel), we can have a fairly reliable controller roughly equivalent to today's analog
systems.
SIMPLEX
SENSOR
KERNEL
A
FIGURE 3
PI-OUTPUTS
OPTIONAL
DUPLEX
SENSOR
CPU. MEMORY
SIMPLEX
ACTUATION
SIMPLEX
SENSORS
SIMPLEX
ACTUATION
SELF
TEST
FIGURE 2
1 0.1 INPUTS 1-
-
--HOUTPUTS1 - --KERNEL
A
DUPLEX
SENSORS
VOTER A
DUPLEX
OUTPUT
ACTUATION
)
KERNEL
VOTER B
(VOTER C
-TIPI
INPUTS
KERNEL .4
C -PIOUTPUTS
FIGURE 4
3
THE HARDWARE
A single channel including a kernel togethe L'ith
the associated signal conditioning and power supplies
is housed in a standard 19 inch (483 mm) rack. The
kernel is contained on six plug-in modules which include
the microprocessor, memory, monitor and interlock
circuits, clock, communication circuits, and serial
(RS232) data port. The rest of the rack, 12 spaces,
is dedicated to input/output signal conditioning
modules.
The microprocessor is a Z8001, a 16 bit device
chosen for its computational power and availability in
mil-spec versions. The microprocessor module also
contains enough memory to hold the operating system so
that it can be run independently of the other modules
for testing purposes. The clock is running the microprocessor at 6 MHz. In redundant architectures, the
clocks are tightly synchronized with one another to
insure that application program steps are executed
simultaneously. This is central to the fault tolerant
design philosophy of doing direct bit-for-bit comparison
of the computations. These computation results are
sent to voter registers which note any differences and
set an error latch. Special design techniques are used
to insure that the voter circuits are fault tolerant
and are able to detect even subtle faults such as the
"malicious liar". This could occur when, for example,
kernel A of a triplex systems fails in such a way as to
COVERAGE
FIGURE 5A
FIGURE 5B
4
SOFTWARE
The operating system software is designed to
efficiently support the real-time operating requirements of the controller. This means that the microprocessor must have sufficient throughput to assure
jitter-free execution of the application code. In
addition, for duplex and triplex architectures the
operating system must provide for cross-channel data
exchange and synchronization. It must also schedule
execution of the application code according to the
pre-determined rate structure. The fastest rate
group is on the order of 10 milliseconds with subsequent groups each running at one half the previous
group rate. The rate at which particular control loops
or processes are run is selected in the application
code. For example, a speed loop may be serviced every
10 milliseconds while an ambient temperature bias may
be re-calculated every 80 milliseconds.
The most visible portion of the software is the
menu driven application programming system. This
translation/editing system interacts with the programmer by prompting him with a hierarchy of menus and
submenus. The programmer can specify the particular
parameters in each menu and thereby configure the
controller to meet customer specifications. The
translator takes these responses, puts them in a
compact form and loads them into the control for
execution by the operating system. The translator
resides in a Hewlett Packard 9826 desk top minicomputer which is portable for field use.
The menu system is a tree of menus and sub-menus
which the designer may call up at will. The top level
is the master menu which provides three options: Edit,
Load, or Service. "Edit" allows the user to create or
alter an application program, "Load" allows the user
to load the program into the controller, and "Service"
enables service routines for trouble shooting.
The menu system of programming was chosen over
other methods for several important reasons. Although
assembly language programming is appropriate in some
smaller projects, it would be an overwhelming task to
put together an application program in such a manner
for a control of this size and complexity. Also,
programming in assembly language requires an intimate
knowledge of the microprocessor and access to sophisticated debugging equipment. It is very time
consuming and requires extensive practice to gain
expertise. The quantities of any particular control
are usually very low and the programming time needs to
be minimized. Even with a well commented assembly
language program it is difficult to follow the tracks
of the original programmer, making maintenance
(engineering changes) very difficult, if not impossible
High level language programming, especially
Pascal based languages, solve the maintenance problem
for the most part since they are designed to be self
documenting. However, writing efficient high level
language programs also requires programming expertise.
It is preferable for control engineers without such
expertise to be able to put together an efficient
application program directly from the control system
block diagram. In addition, standard high level
languages are designed for specific tasks on computers
rather than real time control of engines and turbines.
The use of a menu system is very much like
answering a questionnaire. At any point, the possible
choices of answers are available and, if these aren't
sufficient, the designer can ask for "Help" and the
menu system will respond with explanatory text.
(3)
(4)
(4)
(4)
(28)
(28)
(2)
EDIT MENU
(FILENAME)
Valid Data
1.
2.
3.
4.
5.
6.
7.
8.
Controllers
Sequencers
Field wiring and I/O management
DCS kernel hardware configuration
Alter menu defaults
Return to previous level
Quit
Help
>Bus Characteristics
-Numerical Value
-Real Variable Name
>Function Names
-Length Less Than * Characters
-Must Begin With Alpha Character
BUS NAME:
1.
2.
3.
4.
5.
FOR BUS:
LIQFUEL. N1LOOP
CHANNEL:
1:
2:
3:
4:
5:
6:
7:
8:
9:
FUOCTION
OUTPUT NAME
COMPUTE
COMPARISON
COMPARISON
COMPARISON
RAMP
MONITOR
MONITOR
COMPUTE
PID
:
:
TIES
N1SW1
NISW2
NSW3
N1REF
T _IAMB
N1MPU
AMB
N1
LIQFUEL
>Insert
>Delete
>Modify
>Help
>Return
>Quit
N1LOOP
N2LOOP
N3LOOP
EGT
CDP
LIQFUEL
Valid Data
>Function
-Compute
-Comparison
-Ramp
-Monitor
-PID
>Output
COMPARISON:
SUMMARY
N1MPU
INPUT 1 NAME:
INPUT 2 NAME:
3000
HYSTERESIS IN PERCENT:
1.0
N1
R4
*6
kza
n1mvu
nlref
3.8
0.1
n1ontrcV