You are on page 1of 182

Models Unleashed:

Virtual Plant and Model


Predictive Control Applications

A pocket guide

by Gregory K. McMillan
and Robert A. Cameron
Copyright © 2004

ISA–The Instrumentation, Systems and Automation Society


67 Alexander Drive
P.O. Box 12277
Research Triangle Park, NC 27709

All rights reserved.

Printed in the United States of America.


10 9 8 7 6 5 4 3 2

ISBN 1-55617-857-3

No part of this work may be reproduced, stored in a retrieval


system, or transmitted in any form or by any means, elec-
tronic, mechanical, photocopying, recording or otherwise,
without the prior written permission of the publisher.

Library of Congress Cataloging-in-Publication Data

– Data is in Progress –

ISA wishes to acknowledge the cooperation of those manufac-


turers, suppliers, and publishers who granted permission to
reproduce material herein. The Society regrets any omission of
credit that may have occurred and will make such corrections
in future editions.
Notice
The information presented in this publication is for the
general education of the reader. Because neither the author
nor the publisher has any control over the use of the informa-
tion by the reader, both the author and the publisher disclaim
any and all liability of any kind arising out of such use. The
reader is expected to exercise sound professional judgment in
using any of the information presented in a particular applica-
tion.
Additionally, neither the author nor the publisher have
investigated or considered the effect of any patents on the abil-
ity of the reader to use any of the information in a particular
application. The reader is responsible for reviewing any possi-
ble patents that may affect any particular use of the informa-
tion presented.
Any references to commercial products in the work are
cited as examples only. Neither the author nor the publisher
endorses any referenced commercial product. Any trademarks
or tradenames referenced belong to the respective owner of
the mark or name. Neither the author nor the publisher makes
any representation regarding the availability of any referenced
commercial product at any time. The manufacturer's instruc-
tions on use of any commercial product must be followed at
all times, even if in conflict with the information in this publi-
cation.
Preface
The process industry is increasingly recognizing
the value of models and opportunity they offer
to capture and exploit plant knowledge. As
plants are pushed to operate at maximum effi-
ciency, these models can be the ticket to ride
plant constraints for fun and profit. Such mod-
els can be as small as a first-order model
obtained from step tests or as large as a first-prin-
ciple model that is based on mass and energy
balances. This pocket guide is intended to pro-
vide users with a concise presentation of the
concepts, procedures, and examples they will
need to construct and apply both types of mod-
els using “state-of-the-art” software for simula-
tion and model predictive control. The guide
contains details, data, and test results that are
not yet available in the literature. The user need
not have an advanced degree to get the most out
of this guide. Building on the knowledge and
objectives of Advanced Control Unleashed, Models
Unleashed is designed to enable the engineers
closest to the application to exploit their experi-
ence by embedding it in a model and a control
system.

PREFACE xiii
Table of Contents

About the Authors ..................................................... xi

Preface ....................................................................... xiii

Chapter 1.0—Simulation .............................................1

Overview ................................................1
Procedure................................................8
Examples ..............................................24
References.............................................32

Chapter 2.0—Identification .......................................33

Overview ..............................................33
Procedure..............................................50
Examples ..............................................56
References.............................................70

Chapter 3.0—Setup.....................................................71
Overview ..............................................71
Procedure..............................................86
Examples ..............................................88
References.............................................96

TABLE OF CONTENTS ix
Chapter 4.0—Tuning ..................................................99
Overview ..............................................99
Procedure............................................111
Examples ............................................117
References...........................................141

Appendix A – Website (www.isa.org) Contents...143

Appendix B — Condition Number ........................147

Appendix C — Glossary ..........................................151

Appendix D — Modern Myths ...............................155

Appendix E — Spirited Explanation ......................159

x TABLE OF CONTENTS
1.0—Simulation

Overview
Process control deals with change. If process
conditions were constant there would be no
need for a control system. In a plant, the operat-
ing conditions continually fluctuate, primarily
because of changes in raw materials, production
rate, product mix, equipment performance, foul-
ing, catalyst, utilities, and ambient conditions.
Except for production rate changes, most of
these disturbances, as well as their effect on key
process variables, are not measured on line.
Control systems do not eliminate this variabil-
ity, but they can transfer it from a controlled
variable to a less important manipulated vari-
able. Control systems can also move the process
to a more optimum operating point.

Unfortunately, control loops that suffer from


stick-slip, incorrect tuning, and interaction may
actually increase the variability. The feedback
and feedforward settings of most PID controllers
are tuned by a trial-and-error method and thus
reflect more the personal preferences of the

SIMULATION 1
tuner than any knowledge of the process dynam-
ics and objectives. Plants rarely try to decouple
PID controllers, but when they do it is primarily
based on just some estimated steady state gains.

While model predictive control (MPC) cannot


eliminate the stick-slip problem, it can effec-
tively address the issues of tuning and interac-
tion while it simultaneously handles process
limits and optimizes process objectives. An
MPC system’s control actions are derived from
an experimental model that is obtained by rigor-
ous plant testing, which takes into account the
interactions and the response of constraints. If
this model is accurate, MPC requires less tuning
than PID control. Furthermore, the main MPC
tuning parameter is designed to set the amount
of variability that is transferred from the con-
trolled variables to the manipulated variables.
The embedding of this dynamic model enables
MPC to simply trade off between performance
and robustness, maintain an allowable degree of
variability in both the controlled and manipu-
lated variables, decouple interrelated loops, opti-
mize set points, and honor constraints.

2 SIMULATION
MPC uses an experimental dynamic model that
is obtained by making steps in the manipulated
and disturbance variables, identifying either
matrix coefficients directly or the parameters,
such as process gain, time delay, and time lag, so
as to predict a trajectory from previous changes
in the manipulated and disturbance variables.
The models are linear, and the effects are com-
bined by linear superposition. Thus, the knowl-
edge of the future that MPC provides excludes
the effect of nonlinearities and unmeasured
upsets. These unknowns are addressed in the
present by biasing the trajectory by a fraction of
the difference between the predicted and actual
value. The old adage that you can only control
what you know still applies.

A first-principle dynamic model can quantify


nonlinearities and unmeasured process condi-
tions. Until recently, these models required that
hundreds of differential equations be set up and
numerically integrated. However, process flow
diagram (PFD) models that are used for process
design can now be made dynamic by using tech-
nically advanced simulation software. This
guidebook will explore how to develop and

SIMULATION 3
apply dynamic PFD models to improve the
capability of MPC. Consider what opportunities
would open up if the conditions, properties, and
compositions of each stream in the PFD that was
used to design the plant were updated dynami-
cally and displayed. The previously unknown
upsets could become disturbance variables, and
users could add compositions and yields that are
real indicators of product quality and process
performance as controlled variables to the MPC.
The dynamic PFD model could be driven to
explore nonlinearities and new operating regions
as well as step-tested to identify the parameters
for the MPC experimental models. At a mini-
mum, the insight and knowledge users gain from
exploring the dynamics and pathways of vari-
ability would improve the design and justifica-
tion of MPC systems.

Historically, first-principle dynamic models have


been severely limited to a few unit operations
and mostly static estimates of a few physical
properties, such as specific heat, density, and
boiling point. These models were programmed
by setting up, sorting, and numerically
integrating the differential equations for

4 SIMULATION
accumulating energy and material within a
volume. These models typically could only be
run and maintained by the programmer, who
was one of an elite handful of specialists in the
process industry.

Just before the turn of the new century, graphi-


cally configured dynamic PFD models with
extensive physical property packages appeared
that greatly expanded the scope of the potential
applications and the models’ users. Some “state-
of-the-art” software offers users the ability to
switch a steady state PFD model into the
dynamic mode.

Steady state models with comprehensive physi-


cal-property data packages have been used to
design processes since the 1960s. As shown in
figure 1- 1, these models all assume that the accu-
mulation, generation, and consumption of mass
and energy are zero, so the outputs from the vol-
ume can be calculated from the inputs by an
iterative procedure. The boundary could be the
whole or subdivided volume of a piece of pro-
cess equipment, such as a heat-exchanger pass or
column tray or a section of piping. These are
classified as “lumped parameter models” since

SIMULATION 5
they do not involve partial differential equa-
tions. Since the accumulation, generation, and
consumption are all zero, steady state models
cannot be used to simulate batch operations,
startups, shutdowns, transitions, reaction kinet-
ics, crystal growth or attrition, and cell birth,
growth, or death. With respect to process
dynamics, successive runs could be made to
show the change in the process variable within
the volume for a specific change in a disturbance
or manipulated variable. In fact, a steady state
model excels at this capability since it has the
quality and complexity of detail that’s needed to
reveal process relationships and interactions.

However, some steady state models require


hours or days to converge on a solution. In fact,
for large changes, they may never converge.
These realities can render them an ineffective
tool for identifying gains and exploring new
operating regions. Dynamic models can move to
a drastically different set of operating conditions
that in a steady state model would have caused
severe, if not fatal, convergence problems. Also,
dynamic models are needed to show process
time delays and time lags. However, until

6 SIMULATION
SIMULATION Figure 1-1 — Lumped Parameter Model

recycle

Subsystem Boundary
Inputs Outputs
Accumulation, Generation,
and Consumption of
Material and Energy

In steady state models, the accumulation, generation, and consumption are zero. Valve size, pressure
drop, and position have no effect on flow. The outputs are calculated from inputs. For recycle streams,
the program iterates until the output and the input of the recycle block are within a tolerance spec.
7
recently, developing dynamic models was a sepa-
rate and intensive effort that involved program-
ming hundreds to thousands of differential
equations. Now that dynamic PFD models can
be built on the knowledge stored in the steady
state model, we have the best of both worlds.

Procedure
The procedure presented in this section
describes how to create the high-fidelity virtual
plant on a laptop shown in figure 1-2 by build-
ing a “dynamic ready” graphical steady state
PFD model with an OPC interface to a virtual
DCS that has integrated advanced control tools
[1.1]. While some of the specific terms used in
these procedures are pertinent to a particular
software package, the steps and concepts are gen-
erally applicable.

1. Obtain the chemical formula for each of


the chemical compounds. Enter the fluid
basis environment, and pick a fluid package
that has all of the compounds in the operat-
ing temperature range. The relationships in
some fluid packages break down at temper-
atures greater than 500°C. Browse and pick

8 SIMULATION
SIMULATION Figure 1-2 — High-Fidelity Virtual Plant on a Laptop
Integrated Advanced Control Tools:
Online Performance Monitoring
Abnormal Situation Management
Online Property Estimation
Model Predictive Control

High Fidelity Dynamic Process Model


9
only the important compounds since the
calculation load increases with the square of
the number of compounds.

2. If a chemical compound is missing from


the fluid package, create a hypothetical
compound. The minimum information
needed is molecular weight, density, and
boiling point. If you know the hypothetical
structure, add it. If solids are not supported
in the dynamic mode, create a hypothetical
compound that has a high boiling point for
each solid.

3. Drag and drop each inlet stream onto the


PFD, and set the mass or mole fractions
from the composition screen and the inlet
temperature, pressure, and flow from the
conditions screen. Actually, the user can
specify any three of the missing values in
order to define the stream conditions. Fig-
ure 1- 3 shows the conditions and composi-
tion screens as well as the extensive list of
properties calculated from the fluid pack-
age. Any number shown in blue on a screen
is a model input value that the user can
adjust or import from the DCS. Any

10 SIMULATION
SIMULATION
11 Figure 1-3 — Conditions, Properties, and Compositions of Streams
number in black is a value that the model
calculates or the fluid package sets and can
be exported to the DCS. When the PFD is
complete, verify that the dynamic specifica-
tion is pressure for each stream entering
and exiting the PFD.

4. Attach a control valve to each inlet stream,


whether there actually is a valve or not.
This provides a flow resistance and pressure
drop for each stream as well as a way of
starting and stopping every stream flow
from the DCS. Assign an outlet stream, a
pressure drop, and flow characteristic and
then click on the size button to get a maxi-
mum flow coefficient. Make sure the pres-
sure drop for each control valve is at least
twice as large as any other pressure drop in
its flow path. Also, make sure valves on
streams entering or exiting the PFD have at
least a 2 psi pressure drop so they can han-
dle the upset when switching to the
dynamic mode. In general, the other flow
coefficients should have at least a 0.2 psi
pressure drop.

12 SIMULATION
5. To combine streams, use a mixer with
“equalize all” for the pressure specification.
Use a mixer to provide valves in parallel.
This will enable you to simulate split-
ranged valves or prevent excessive surge by
ensuring a minimum leakage flow to a com-
pressor or turbine.

6. Add pumps and compressors. Ideally,


include the pump or compressor curve and
set the pump efficiency as a dynamic speci-
fication. If a curve is not available, initially
set the pressure rise, and when the duty is
calculated, switch the dynamic specification
to duty.

7. Use heat exchangers instead of heaters and


coolers both to provide utility streams and
control valves and to ensure that process
streams do not become excessively hot or
cold when the process flow goes very low or
stops. Set the volume and number of
passes. Also set the pressure drop, overall
UA, and reference flows for both the UA
and flow coefficient (K) for the tube and
shell sides. When the heat exchanger con-
verges, click on the button to calculate K

SIMULATION 13
and switch the dynamic specification from
pressure drop to flow coefficient for both
the tube and shell side.

8. To simulate piping or header volumes, use


a valve with holdup for a single phase or
the combination of a valve and separator
for multiphase streams.

9. Attach inlet streams to each unit operation,


and assign the volume and outlet streams.
Add in overall phase reactions as needed.
For reactions, the stoichiometric equation
must be specified. If you do not know the
activation energy and pre-exponential coef-
ficients, you can specify a fixed conversion
rather than a kinetic reaction. Alternatively,
you can adjust these parameters on line to
provide the desired degree of conversion
for the temperature and residence time. For
columns, set the weir height to a minimum
(0.25”) to reduce the liquid head upset
when switching to the dynamic mode, and
adjust the column diameter to set the
holdup volume for each tray. Once the
pressure profile and temperature profile are
specified, click on the button to size the K

14 SIMULATION
flow coefficient for each tray. Make sure the
inlet pressure of each stream matches the
pressure in the equipment. For columns,
this means matching feed, reflux, and
reboiler stream pressures to the proper tray
pressure.

10. To simulate reactor jackets, boiler-drum


downcomers, and column reboilers, use
heat exchangers with high circulation flow
rates and pumps to simulate liquid head.
The static head option could be enabled.
However, since this does not affect pres-
sures in the steady state mode, the sudden
introduction of liquid head when the
model is switched to the dynamic mode
generates a huge upset. Reduce the feed and
recycle nozzle vapor efficiencies, and add a
heat loss to ambient to prevent vapors from
forming in liquid streams or to ensure the
total condensation of steam. Pumps and
liquid control valves will choke and suffer
severe loss of capacity when the vapor frac-
tion of a stream increases above 0.0001.

11. For equipment in which there is no consis-


tent vapor phase, add a nitrogen inlet

SIMULATION 15
stream and control valve so as to provide an
inert blanket. To prevent negative pres-
sures, make sure that the size of the inlet
valve is large enough to handle the fastest
emptying rate of the vessel. Set the recycle
nozzle vapor efficiencies to 0.01 percent to
ensure that the nitrogen does not dissolve
in the liquid and create a vapor phase. If
liquids can separate into layers in the equip-
ment, adjust the nozzle heights and size to
get a representative discharge mixture.

12. Add separators to simulate column sumps


and distillate receivers. For packed col-
umns, set the number of trays to achieve
the desired separation, and set the dimen-
sion of the trays to match liquid holdup.

13. To simulate a neutralization process, add a


charge balance calculation as a user variable
program to the unit operation, as shown in
figure 1- 4. To include the effect of a de-
crease in the activity coefficients, adjust the
dissociation constants.

16 SIMULATION
SIMULATION
17 Figure 1-4 — A User Variable Program for a Charge Balance
14. Add transfer functions to simulate transpor-
tation delays and sensor and transmitter
time delays and lags and introduce mea-
surement noise. In a spreadsheet, calculate
the transportation delays as a volume
divided by a throughput rate or a distance
divided by a velocity.

15. Add PID controllers with the correct action


so as to control the liquid inventory of any
partially filled volume and to control key
process variables.

16. To simulate stick-slip and deadband in a


control valve add a signal selector between
the controller output and the valve. Also,
add a user variable program to the valve, as
shown in figure 1-5.

17. Use a spreadsheet or an event scheduler to


simulate field or safety interlock actions for
startups, transitions, and trips.

18. Set all levels to be greater than 5 percent


unless the drain or recirculation valves are
closed and less than 95 percent unless the
vent or relief valves are closed. If a liquid

18 SIMULATION
SIMULATION
19 Figure 1-5 — A User Variable Program for Valve Stick-Slip and Deadband
level rises above 95 percent, there may be
liquid entrainment in the vapor phase and
vent flow. If a liquid level drops below 5
percent there may be vapor entrainment in
the liquid discharge that will choke a pump
or valve.

19. Check the pressure profile and make sure


that the stream pressures entering a unit
operation are the same as the pressure in
the unit operation. Once you have verified
the pressure profile, click on the buttons to
size the control valve and equipment flow
coefficients. Check each pump and com-
pressor pressure rise computed from duty
and efficiency.

20. Browse and insert into the export screen of


the DCS interface table any controlled,
constraint, disturbance (feedforward), or
indicated variables. To include measure-
ment dynamics, use transfer function out-
puts rather than actual process variables.

21. Browse and insert into the import screen of


the DCS interface table (a) any model pre-
dictive controller outputs to valves, (b) dis-

20 SIMULATION
crete (on-off) signals to start and stop
pumps and to open and close isolation
valves from the DCS, and (c) any blue or
red model input parameters for adapting
the model so it matches plant operations, as
shown in figure 1-6.

22. Browse and insert into the controller screen


of the DCS interface table any PID control-
lers. During the initialization step, when
the integrator is first started, the DCS PID
controller mode, set point, and output are
set to match those in the corresponding
model PID controller. After the initializa-
tion, the model PID controller mode, set
point, and output track will track those in
the DCS PID controller.

23. To increase the stability of the dynamic


model, use the “multiphase” flash as a fluid
package option, use “overall” for the reac-
tion phase, decrease the number of time
steps between composition calculations in
unit operations that have flashing fluids,
enable the real time option, and set the
acceleration factor to match the faster-
than-real-time factor for the DCS. Set the

SIMULATION 21
22
Figure 1-6 — DCS Interface Table Import Screen
SIMULATION
integration step size so it is inversely pro-
portional to the acceleration factor.

24. Switch to the dynamic mode, and make the


changes recommended by the dynamics
assistant regarding dynamic specifications
so the model has the proper degrees of free-
dom. Start the integrator, and run the
model using internal controllers to line out
the model. If the structure or method of
updating the physical properties is different
in the dynamic mode, there will be an upset
the first time the integrator is run. Stop the
model when the initial upset has dissipated.
Reset all levels to be greater than 5 percent
unless the discharge valves are closed and
less than 95 percent.

25. Link the DCS interface and start the inte-


grator. Verify that the DCS controller out-
puts were correctly initialized to provide a
bumpless startup for the dynamic model.

26. To prevent entrainment and pressure


upsets, immediately verify that the level
and pressure controllers are in automatic

SIMULATION 23
and are controlling the liquid and gas
inventories.

There is a common misconception that the pres-


sures and valve sizes specified in a steady state
model affect flow. The flows are actually set in
the first streams that are inserted into the model.
Consequently, steady state modelers do not gen-
erally pay enough attention to ensuring that the
pressure profiles, flow coefficients, and pump or
compressor duties or characteristic curves are
correct. When the model is switched to the
dynamic mode, the inlet flow fields turn from
blue to black since they are now calculated
based on flow coefficients, duties, and curves.
Incorrect pressure drops and rises then result in
major upsets, reverse flows, and even fatal
numerical errors. Users must carefully check the
pressure profile before the integrator is started.
The most common mistake is a recycle stream
that enters a piece of equipment with a different
pressure than the equipment.

Examples
Figure 1- 7 shows the PFD for a two-stage contin-
uous neutralizer model. The first stage is a static

24 SIMULATION
mixer that combines the flow from split-ranged
large and small base valves for the purpose of
neutralizing an acidic feed. The second stage is a
well-mixed reactor that has a heat exchanger in
the recirculation line for temperature control
and an inert blanket for pressure control. A
mixer is used to simulate the dip tube and com-
bine the flows from split-ranged acid and base
valves. A “User Variable” program is used in the
“Static Mixer” and “Rx-Mixer” to calculate pH
from acid and base concentrations. Cascade
control has been added for the second stage
where a primary-reactor pH controller sends a
remote set point to a secondary reagent flow
controller. This controller reduces the effects of
valve nonlinearities and reagent pressure upsets.
Transfer functions are used to simulate transpor-
tation delays and sensor (electrode and ther-
mowell) time lags.

Figure 1- 8 shows the PFD for a continuous dis-


tillation column model. It uses exchangers for
the reboiler and overhead condenser and a sepa-
rator with a level controller for the overhead
receiver. There is also a separator with an inter-
nal level controller for the steam trap.

SIMULATION 25
26
Figure 1-7 — Continuous Neutralizer Model
SIMULATION
Figure 1-8 — Continuous Column Model
SIMULATION
27
The vapor efficiencies of the recycle and feed
nozzle are all set to 0.01 percent to reduce vapor
in the condensate. About 5 degrees of superheat
is added to the incoming steam temperature to
ensure that no condensate forms in the steam to
the reboiler during feed upsets. A mixer and
splitter are used to provide parallel pumps on
the sump bottoms. The model in figure 1- 8
shows the addition of a differential-pressure
transmitter, which provides a forewarning of
weeping. It also shows the addition of an ana-
lyzer for high boiler concentration in the distil-
late, which provides feedback correction of an
estimator for overheads composition. Note that
secondary flow controllers have been added to
facilitate ratio (feedforward) control.

Figure 1- 9 shows the PFD for a batch reactor


model. Separators are used for feed weigh tanks.
The inlet nitrogen valves are sized to handle the
fastest feed rate. The weigh tank levels are reset
to 90 percent and the reactor to 5 percent before
each batch. A high recirculation flow and a heat
exchanger that has split-ranged steam and cool-
ant valves are used to simulate the reactor jacket.
An overhead receiver and heat exchanger are

28 SIMULATION
Figure 1-9 — Batch Reactor Model
SIMULATION
29
combined to simulate an overhead condenser
and to reflux recovered condensate back to the
reactor. (These details are necessary to show how
coolant capacity limits reactant feed rate.) A sep-
arator is also used to simulate the volume of the
vent header in order to show the interactions
between header and reactor pressure control.
The reaction pre-exponential coefficient was
large enough to provide an essentially instanta-
neous reaction rate, and the activation energy
was adjusted to give the correct percentage of
conversion at operating temperature. Analyzers
for measuring reactant losses to the vent system
and product formation in the reactor have been
added to provide a feedback correction of neural
network estimators.

Figure 1- 10 shows the PFD for a gas-fired boiler


model. Compressors are used to simulate the
forced-draft and induced-draft fans. To ensure a
positive flow, a second valve that is parallel to
the valves on the suction or discharge of these
fans should be added if the output limits are not
set above zero in the DCS. Separators are used
to simulate the furnace, drum, stack, and steam

30 SIMULATION
Figure 1-10 — Boiler Model

desuperheater. A heat exchanger with an excep-


tionally high recirculation flow is used to simu-
late the downcomers. The steam from the drum
passes through heat exchangers to simulate the
superheater and economizer before entering the
desuperheater. A combustion reaction for fuel
and air is added to the furnace. A supplemental
waste fuel stream has been added for optimiza-
tion. A coriolis flow meter is used to provide a

SIMULATION 31
density measurement as input for a waste-heat
value estimator. To simulate inverse response
(drum shrink and swell), a spreadsheet is used to
combine the outputs of level transfer functions
with a fast time lag of opposite sign and a slower
time lag of correct sign.

References
1.1 Mansy, Michael M., Gregory K. McMillan,
and Mark S. Sowell, “Step into the Virtual
Plant,” Chemical Engineering Progress, Febru-
ary 2002, pp. 56-61.

1.2 HYSYS is a trademark of Hyprotech UK


Limited, a wholly owned subsidiary of
Aspen Technology, Inc. Figures 1-3
through 1- 10 are screen prints of models in
HYSYS Plant software and are reproduced
by permission of Hyprotech UK Limited.

32 SIMULATION
Overview
Models used for model predictive control
(MPC) must be able to provide a reasonably
accurate time response of the change in each
process output (controlled or constraint vari-
ables) for a change in each process input (manip-
ulated or disturbance variables). Any control
loops that use these MPC variables must be in
manual while the process is tested. Otherwise, it
is difficult to impossible to separate the response
of the controller algorithms and tuning from the
process [2.1]. Plants should seek the smallest-
sized MPC that meets the process objectives in
order to minimize the number of loops in man-
ual and the test time.

If the plant has available first-principal dynamic


models as described in chapter 1, it can first run
tests on these models to gain an estimate of the
process gains and the time to steady state. Since
these models can run much faster than real time
with very little supervision, these tests are rela-
tively fast and inexpensive if a high-fidelity
model exists. The models can also explore
regions in which the process has not gone so as
to sort out fact from fiction [2.2].

Plants can use such tests to gain forewarning of


problems that prevent the controlled or con-
straint variables from being independently
moved to new operating points. At a minimum,
these tests can help users decide how large the
steps need to be to the real process and how
long they must be held. Usually, the dead times
from first-principal models are not accurate
enough to be used in MPC unless the user has
made a special effort to add mixing and trans-
portation delays, thermal lags and heat reten-
tion, sensor lags, analysis time intervals, and
valve deadband and stick-slip. A dynamic distil-
lation column model has the best chance of pro-
viding an accurate dead time and time constant
because the interactive time lags of composition
response of tray volumes overshadow other
dynamics except the cycle time and sample
transportation delay of analyzers, which can
readily be added via transfer functions.

Presently, the models used for MPC are experi-


mental models that have been obtained by run-
ning tests on the actual process. The initial tests
consist of a series of steps, as shown in figure
2- 1. Each step is held for the suspected time to
steady state or for the time it takes to reach 98
percent of the final response (Tg8). For a first-
order system, the time to steady state (TY8)is the
time delay (q) plus four open-loop time con-
stants (T,), as seen in figure 2- 1 (T98 = ~d +
4*r,). Steps are made in the opposite direction
and cancel out, so the net effect of the test on
the process is negligible.

The MPC experimental models used in the


1980s often consisted of a set ofresponse coeffi-
cients that give the time response at discrete
intervals of a process output for a unit step
change in a process input, as shown in figure
2-2. These coefficients, also known as raw
weights, are still used in cases where there are
valid hills and valleys in the response. More
recently, however, parametric models have
become favored because they simplify calcula-
tions and provide a smoother response. More
often than not, the hills and valleys are really
noise or modeling errors that should be ignored.
Most processes don't have an oscillatory
response. This is because such oscillations are
symptomatic of poor tuning or valve stick-slip,
which should be corrected rather than modeled.
The simplest model consists of just a process
gain. This is used when the time to steady state is
less than the MPC execution time interval. This
model is really a gain plus a time delay equal to
the MPC interval. The next simplest model is a
first-order model in which a single time constant
(time lag) has been added, usually along with a
time delay that is a multiple of the MPC inter-
val. In general, plants should use the simplest
model that provides a reasonable fit to the data.

One of the more common simple parametric


discrete models presently used is the Auto
Regressive Model with External inputs (ARX),
which is shown in equation 2- 1 for a first-order
process (single pole). It is important to note that
this is a linear difference equation to show the
change in an output for a change in an input.
These changes are deviations from an initial state
of the process inputs and outputs. Thus, the pro-
cess is assumed to be stationary and self-regulat-
ing, which means that the process is resting at a
steady state at the start of the test and will return
to its initial state at the end of the test when the
input deviation goes to zero. For integrating pro-
cesses, the output is differenced where the
change in the change of the process output is
modeled for a change in the process input. For
level, this corresponds to a change in ramp rate
for a change in flow. For unmeasured load upsets
that cause the process to be nonstationary, both
the input and the output deviation variables are
differenced so as to remove the effect of the shift
in the process.

The nomenclature commonly used in the litera-


ture shows a zero subscript for the coefficients of
a first-order model. Sometimes, the nomencla-
ture also shows that an input deviation is
delayed by one time interval in the MPC imple-
mentation so that even if the process dead time
is zero, there is still a model time delay of one
time interval. Equation 2-2 shows an ARX
model for two time lags (poles) and a single par-
tial delay (zero). Equation 2-3 shows the general
ARX polynomial form for higher-order models.
where
a. = coefficient for output deviation one time
interval ago (e.u.)
a, = coefficient for output deviation two time
intervals ago (e.u.1
an = coefficient for output deviation n+l time
intervals ago (e.u.1
bo = coefficient for input deviation one time
interval ago (e.u.)
bl = coefficient for input deviation two time
intervals ago (e.u.1
b, = coefficient for input deviation n+l time
intervals ago (e.u.1
lz = number of time intervals for process dead
time
% = process gain (steady state gain) (e.u./e.u.)
n = respective polytlomial order
At = MPC executioil time interval (seconds)
rd = time delay (total loop dead time) (seconds)
r, = time lag (open-loop time constant)
(seconds)
x(t) = process input deviation (change in a
manipulated or disturbance variable) (e.u.)
y(t) = process output deviation (change in a
controlled or constraint variable) (e.u.)

Most MPC algorithms use the engineering units


(e.u.) of the process variable instead of percent-
age (%) or talce care of the effect of the scale
span internally. Thus, the calibration span of the
transmitters does not enter into the steady state
gain calculation as it does for the tuning of PID
controllers [2.3].However, the process gain does
include the manipulated variable gain, which is
the valve gain (slope of the installed valve char-
acteristic) when the MPC directly manipulates a
control valve. It is desirable to eliminate this
nonlinearity from the MPC model whenever
feasible by having the MPC manipulate a flow
loop set point.
For a first-order model, users can apply equa-
tions 2-4 through 2-6 to translate the a0 and bo
coefficients and number of intervals k into
the continuous time domain parameters of
the process gain (steady state gain), time delay
(total loop dead time), and time lag (open-
oop time constant), which are more familiar
to plant engineers.

Many automated methods exist for determining


the a, and b, coefficients for a given number of
time-delay intervals (k) and a model order (n+l).
Often the user estimates the dead time manually
by observing actual responses or by using cross-
correlation models, although some software has
automated this identification [2.4]. A finite-
impulse response (FIR) model that is the slope
of a plot of the step response will show a maxi-
mum in data points shortly after the end of the
dead time. For a first-order noise-free process,
the slope of the process output and thus the FIR
data point is a maximum immediately after the
dead time. For higher-order processes, the data
points build up to a maximum. Thus, an FIR
model can help identiiy the process dead time, if
signal filters have been used judiciously.
In a real process many extraneous changes can
interfere with the identification of the real pro-
cess response. For processes that have significant
noise and unmeasured upsets, using a Box-Jen-
lcins model that adds polynomial terms for noise
can provide a more accurate estimate of the a,
and b , coefficients. Note that the noise terms are
only used for identification and do not end up
in the MPC model. If a Box-Jenlzins model is
not available, it is important to judiciously add
process-variable filters to attenuate fast noise,
remove data dominated by unmeasured upsets,
difference the inputs and output data for process
shifts, and maximize the step size.

The single simplest method for reducing the


interferences in identification is to make the step
size as large as possible without driving the pro-
cess into an unsafe state, triggering interlocks, or
damaging equipment. Operators, chemists, and
process design engineers should all be consulted
to determine what is the largest possible change
in each direction. Also, the user should monitor
the manipulated variable of the MPC and any
related controllers to malce sure they don't get
hung up at an output limit.
It is most important that the user first get the
time delay correct, both from the standpoint of
controller robustness and the accuracy of the
time lag and process gain identification. In the
examples section later in this chapter, we will see
how an increase in the time-delay error can lead
to an exponential increase in the time lag and
process gain error. When the time delay is a
transportation delay, it will be inversely propor-
tional to throughput (feed for chemical and
speed for sheet processes). If the run-time MPC
doesn't have a variable time-delay model, the
MPC must switch between models that are
matched to widely different production rates.
While some MPC packages have variable delay
functionalities, these are generally only available
during run time, not for model identification.
Therefore, while testing a particular production
rate it is important that the user not fluctuate
delay times as these errors will cause the user to
generate incorrect MPC models.

The first process test, commonly lcnown as a


bump test, is the simple step test shown in figure
2- 1. This initial test provides a rough estimate of
the model parameters as well as an evaluation of
the maximum step size and duration. The
parameters provide an estimate of the time to
steady state. They also provide an estimate of
the steady state gains that are used to calculate
the condition number of the matrix, which is
critical for evaluating the variables selected as
well as the design of a more extensive test. The
next test is either a more numerous series of
steps in which each is held for the longest time
to steady state or a pseudo random binary
sequence (PRBS). The PRBS test, as shown in
figure 2-3, is favored because it excites more of
the frequencies of the process and because when
it is combined with a Box-Jenkins model it can
eliminate the effects of noise and load upsets. In
a PRBS test, each subsequent step is in opposite
directions like the bump test, but the time
between successive steps is random (a coin toss).
However, one or more of the steps must be held
to steady state, and the minimum time between
steps, called the flip time, must be larger than a
factor of the time lag. Theoretically, the flip time
could be as small as one eighth of the time lag,
but in practice it has been found that industrial
processes generally require flip times that are
larger than one half the time lag.
The number of flips and consequently the dura-
tion of the PRBS test are increased for processes
that have extensive noise and unmeasured
upsets. A normal PRBS test time is about ten
times the longest time to steady state, multiplied
by the number of process inputs. For example, a
typical PRBS test time would be four hours for a
process with four manipulated variables and a
maximum Tq8= 6 minutes. For distillation col-
umns, the test can easily span several shifts and
is susceptible to being interrupted by abnormal
operation. The PRBS test can theoretically malce
moves in all of the manipulated variables. How-
ever, PRBS tests are often brolten up into indi-
vidual tests for each manipulated variable so as
to reduce the risk from an interruption and to
make the identification process easier. If more
than one manipulated variable is moved, it is
important that the moves not be correlated. The
PRBS sequence is designed to provide both ran-
dom step durations and uncorrelated moves to
ensure that the software will identify the process
rather than the operator.

Sometimes even the most sophisticated software


gets confused and can cause gross errors in
parameters and even a response in the wrong
direction. The engineer should estimate the pro-
cess gain, time delay, and time lag from a simple
step test and verify that the model direction and
parameter estimates are consistent with these
observations and process fundamentals. The
engineer can use the manually estimated values
when the software has failed to find a model that
fits the data. The rule is "if you can see the
model, it is there."

For batch processes, conventional bump and


PRBS tests would take too long. For these cases,
a pseudo integrator gain is measured to back-cal-
culate a first-order time lag. For integrating pro-
cesses, the steps are held for at least five time
delays or until a clear rate of change of process
output is observed.

The biggest constraint to achieving a more effi-


cient process is the operator, as shown in figure
2-4[2.4].There are many war stories about ven-
tures away from the "sweet spot," which is the
operating point that requires minimum operator
attention or intervention. Before MPC is imple-
mented the margin between the operating point
and a real constraint is based on opinions and
personalities. Either a constant operating point
is used with a "no touch" mentality or the oper-
ating point is bumped at every shift change to a
perceived optimum by each new operator to
minimize his or her worldoad. Herein lies the
opportunity. If the MPC has good models that
can actually show the margins and economic
incentives, the operating point can become
objective rather than subjective. Furthermore, if
the MPC is robust enough to handle the inevita-
ble unforeseeable nonlinearities, load upsets,
and failures so the operator's job becomes easier,
then the operators will become advocates rather
than the protagonists for advanced control.

Procedure
1. Set the exception reporting for the I/O,
data highway, and data historian to less
than the A/D resolution (0.05% for a 12-bit
A/D with one sign bit).

2. Review the process and economic objec-


tives, and pick the minimum controller size
(minimum number of controlled, con-
straint, manipulated, and disturbance vari-
ables) that will achieve the project goals.

3. Eliminate any oscillations in loops that will


affect the MPC by tuning PID controllers
and reducing control valve stick-slip [2.4].

4. If the software identification package


doesn't have a noise model such as Box-Jen-
lcins, add signal filters to reduce noise in the
controlled and constraint variables.

5. Add any missing measurements, including


any flow measurements that would enable
the MPC to manipulate a flow set point
rather than a valve.

6. To provide a higher value-added MPC,


develop and commission online property
estimators to provide stream compositions
or product qualities as controlled and con-
straint variables [2.4].

7. Based on the user's process lmowledge,


select the maximum safe step size for each
direction and the maximum time to steady
state.
8. Put all the PID controllers that use MPC
variables in manual except for the loops
that will receive a set point from the MPC.
Keep PID loops for tight level or pressure
control or exothermic reactors in auto-
matic. These generally are not good candi-
dates for MPC, and the effort required to
manually control these loops can be
extraordinary (see chapter 3 on setup for
more details).

9. Conduct a bump test, as shown in figure


2-1, at the proper operating point. In this
test, keep the step size for both directions
equal to the minimum of the maximum
safe steps, and hold each step for the maxi-
mum time to steady state. For batch pro-
cesses where the time to steady state is too
long compared to the batch cycle time,
hold the step long enough to see the inflec-
tion point (the point where slope of
response starts to decrease). If there is no
steady state, hold the step for at least five
time delays or until a clear ramp rate is
observed.
10. Manually estimate the process gain, time
delay, and time lag from the bump test for a
self-regulating process. For an integrating
process, estimate the integrator gain and
time delay. If the time to steady state
exceeds the test time available, use equa-
tions 2-7 and 2-8 to estimate the time con-
stant from a pseudo integrator gain and a
process gain obtained from process simula-
tions, calculations, or trend recordings. For
level, it is usually more accurate to simply
calculate the integrator gain based on a
material balance.
K O = K p / Ki (2-7)

Ri - APVlAt
AMV

where
K, = pseudo integrator gain (e.u./e.u.)
Kp = process gain (steady state gain) (e.u./e.u.)
AMV = change in the manipulated variable (e.u.)
APV = change in the process variable (e.u.)
At = time iilterval (seconds)
K, = time lag (open-loop time constant)
(seconds)
11. If you have a noise model (Box-Jenkins)
and a continuous process, conduct a PRBS
test at the proper operating point in which
the flip time is equal to one half the maxi-
mum time lag seen in the bump test. For
ARX models that lack noise models and
batch processes, conduct extensive step
tests instead of PRBS tests. In the examples
section we will see that PRBS tests have
minimal value for an ARX model that has
been developed from a separate test for
each manipulated variable. When several
manipulated variables are moved in the
same test, PRBS tests may be needed.

12. Identify the time delay manually or auto-


matically from the step and FIR response.
In general, it is better for processes that are
dominated by a time lag to overestimate
rather than underestimate the time delay
from the standpoint of errors in the other
model parameters. Use the lowest-order
(simplest) ARX and Box-Jenkins model that
causes a change of less than 10 percent in
the model parameters. The expectation that
you will achieve more accurate parameters
is a delusion; the nonlinearities of most
industrial processes make this impossible.
For inverse response, either increase the
time delay or add a b , parameter (a zero
in the frequency domain). For complex
responses that have valid weird shapes,
use step-response coefficient (raw weight)
models.

13. Malce sure that the magnitude and direction


of the process response is consistent with
process fundamentals and the bump test.
For indications of the type and degree of
model mismatch, review the plots of the fit
of the model with the process data as well
as the plots of the auto- and cross-correla-
tion of the residuals (the errors between
process and model response), when these
plots are available. The practices you
should follow to recognize the patterns of
these plots of residuals are beyond the
scope of this guide.

14. If the valve stick-slip is significantly larger


than the MPC MV move size, add a valve
dead time to the MPC run-time model, per
equation 2-9. Note that you should not add
this additional dead time during identifica-
tion because it is zero during response test-
ing. This is so because the test step size
must by definition be larger than the sticlc-
slip to get any response. Another alternative
is to ensure that the minimum legitimate
move equals the stick-slip. Move sizes larger
than the actual stick-slip will create addi-
tional slip and dither, which is highly unde-
sirable. Of course, the best solution is a
better control valve.
rdv = AS, / AMV / At (2-9)
where
AMV = MPC manipulated variable move (010)
AS, = strolze stick-slip (010)
At = MPC execution time interval (seconds)
7dv = additional time delay from valve (seconds)

Examples
Tests of ARX and Box-Jenlcins software identifi-
cation packages were conducted for process
responses characterized by various mismatches
or interferences. The following plots show how
various factors affect the accuracy of the identifi-
cation process for an ARX model. The shape of
the plot and the relative changes are more
important than the specific values. We will dis-
cuss the relative merits of Box-Jenlrins models
but not detail them here. Appendix A describes
a web site where users can access an Excel
spreadsheet containing data and plots of ARX
and Box-Jenkins model errors for all of the tests
conducted for this guidebook. The first set of
plots, in figures 2-5a and 2-5b, are for a bump
test; the plots in figures 2-5c and 2-5d are for a
PRBS test. These figures show that error in the
identified time lag is generally positive and that
the error is also several times larger for a PRBS
than a bump test for an error in the time delay.
The figures also show that the error in the time
lag is greater than the error in the process gain.
This error is also larger for a time-delay estimate
that is smaller than the actual time delay (nega-
tive time delay error). The exception to this is a
radical exponential error and an eventual rever-
sal of the sign of the process response, which
occurs for very large positive time-delay errors in
ARX models that are dominated by a time delay.

Figure 2-6a indicates that the magnitude of the


time lag error for fast random noise on an ARX
model for a bump test is about the same as the
Figure 2-6a - Fast Random Noise Effect on ARX Model Lag and Gain
(Dominant Lag Bump Test)
Figure 2-6b - Fast Random Noise Effect on ARX Model Lag and Gain
(Dominant Lag PRBS Test)
error for a PRBS test that is plotted versus noise
amplitude, as in figure 2-6b. The gain error for
fast random noise is actually greater for a PRBS
test when you compare figures 2-6a and 2-6b.
Both the lag and gain errors were negative for
ARX models. The errors for a Box-Jenkins model
were both positive and negative but were negligi-
ble, especially for a PRBS test.

Figure 2-7a indicates that the magnitude of the


time-lag errors for a slow sine wave on an ARX
model for a bump test are about twice as large as
those for a PRBS test that is plotted versus wave
amplitude, as in figure 2-7b. The gain error for a
slow sine wave is slightly greater for a PRBS test.
Both the lag and gain errors were positive for
ARX models. The errors for a Box-Jenkins model
were both positive and negative but were negligi-
ble, especially for a PRBS test. The effect of a
slow load ramp on lag and gain errors was simi-
lar to the effect of a slow sine wave. The excep-
tion was that the plot of the Box-Jenkins model
errors for a bump test, while similar to the plot
of the ARX model errors, the errors were about
one tenth the magnitude. For a PRBS test the
Box-Jenkins errors were negligible.
Figure 2-7a - Slow Sine Wave Effect on ARX Model Lag and Gain
(Dominant Lag Bump Test)
Figure 2-7b - Slow Sine Wave Effect on ARX Model Lag and Gain
(Dominant Lag PRBS Test)
Figure 2-8a indicates that the magnitude of the
time-lag errors for a fast-inverse response on an
ARX model for a bump test are about one third
as large as for a PRBS test that is plotted versus
inverse response amplitude, as in figure 2-8b.
The magnitude of the gain error for a fast-
inverse response is also significantly greater for a
PRBS test when you compare figures 2-8a and
2-8b. Both the lag and gain errors were positive
for ARX models and exhibit a maximum. The
plots of the Box-Jenkins model errors for a
bump and PRBS test, while similar to the plot of
the ARX model errors, were approximately one
tenth and one quarter the magnitude, respec-
tively. This was the one situation in which the
errors from a PRBS test were greater than for a
bump test for a Box-Jenkins model.
Figure 2-8a - Fast-Inverse Response Effect on ARX Model Lag and Gain
(Dominant Lag Bump Test)
A more complete set of plots that includes the
Box-Jenluns model errors for the same interfer-
ences is available on the ISA web site that is
described in Appendix A.

References
2.1 Smith, Cecil L., "Intelligently Tune PID
Controllers - Part 11," Chemical Engineering,
February 2003, pp. 54-59.

2.2 Mansy, Michael M., Gregory K. McMillan,


and Mark S. Sowell, "Step into the Virtual
Plant," ChemicalEngineering Progress, Febru-
ary 2002, pp. 56-6 1.

2.3 McMillan, Gregory K., Good Zning - A


Pocket Gztide, Research Triangle Park, NC:
ISA. 2001.

2.4 Blevins, Terrence L., Gregory K. McMillan,


Willy K.Wojsznis, and Michael W. Brown,
Advanced Control Unleashed -Plant Perfor-
mance Managementfor Optimum Benefits,
Research Triangle Park, NC: ISA, 2002.
3.0—Setup

Overview
To properly set up a model predictive control
(MPC) system you must select the best set of
controlled, constraint, manipulated, and distur-
bance variables. This setup process must take
into account the process objectives, what loops
are best left as PID controllers, and the condi-
tion number.

The ultimate objective of model predictive con-


trol is to increase the efficiency and/or capacity
of the process. The improvement in efficiency
translates into either a reduction in the cost of
raw materials, energy, overhead, labor, and off-
spec product for the current production rate or
an increase in production rate for the current
total cost. Thus, a capacity increase can be
achieved by increasing process efficiency.

Process capacity can also be increased at the


expense of lower process efficiency, by just push-
ing more feed through the unit, disregarding the
cost per pound of product. This approach was

SETUP 71
favored in the 1990s when the pressures of eco-
nomic expansion required most production
units to run well beyond nameplate capacity.
Usually, this involved simply maximizing feed
by ramping or pushing the feed to a key unit
operation until a violation of an operating con-
straint, such as control valve position or equip-
ment temperature or pressure, was projected.
Maximizing waste fuel and waste reagent was
consistent with an increase in both efficiency
and capacity. Since 2001, process efficiency has
generally become more important in the chemi-
cal industry in the United States and Europe
since they must compete with countries that
have low labor, raw material, and environmental
costs. However, the high profit margins for phar-
maceuticals and specialty chemicals mean that
the bigger issues in these industries are time-to-
market and pounds of production for new prod-
ucts before their patent protection or technolog-
ical advantage expires.

Process efficiency can often be increased by min-


imizing the variability in a key concentration or
quality measurement. Reducing variability is
essential to minimizing product that is down-

72 SETUP
graded, recycled, returned, or scrapped. Less
obvious is the product that is given away in
terms of extra purity or quantity in anticipation
of variability. Other benefits gained from reduc-
ing variability often include minimizing fuel,
reactant, reagent, reflux, steam, coolant, recycle,
or purge flow or making a more optimal selec-
tion of set points. If the best set points for con-
trolled variables have a fixed value or inter-
relationship, the user can often set them manu-
ally based on the process knowledge he or she
has gained while exploring an offline process
simulation. If the optimum targets of controlled
variables vary independently, then the user
should employ a linear program (LP) and online
process simulation for real-time optimization
(RTO) to automatically find the best MPC tar-
gets for linear and nonlinear relationships,
respectively. Any controlled variable whose set
point should be optimized is a prime candidate
for MPC because MPC excels at responding to
set point changes and handling constraints and
interactions.

As figure 3-1 shows, Model Predictive Control


provides a view of the future trajectory of each

SETUP 73
controlled variable (CV) and its set point (SP) as
well as each constraint variable (AV) and its limit
over a specified time horizon. MPC also calcu-
lates a series of future moves for the manipu-
lated variables that will minimize the sum of the
squared errors between the CV and SP or pre-
vent the AV from violating a limit. The number
of future moves, which varies from three to fif-
teen, depends upon the software package
options and the degree of performance versus
robustness the user desires. If aggressive control
is preferred more than patient control, MPC
spreads the total correction over a smaller num-
ber of moves. The trajectory of the CV and AV
is based on the previous moves of the manipu-
lated variables (MV) and the current value of dis-
turbance variables (DV). The models are linear
in that the change in a MV or DV is propor-
tional to the change in the CV or AV. MPC pro-
vides a form of linear integral-only control. If
one of the manipulated variables (typically a
flow) needs to optimized, it can be assigned as
both an MV and CV whose set point is maxi-
mized or minimized as long as a future violation
of constraint is not projected. MPC can be set
up to manage a unit operation and provide an

74 SETUP
SETUP Figure 3-1 — MPC and PID Views
MPC sees future trajectory based on past moves of
manipulated variables ('MV) and present changes in
disturbance variables ('DV) as inputs to a linear
PID model. It provides an integral-only type of control.
loop
only
sees PID dead time controlled variable (CV)
this compensator or constraint variable (AV)
sees one dead
time ahead
response
set point

manipulated variable (MV)

time

PID has rate action that is essential for lag


dominated single loops with large frequent
present unmeasured upsets, severe unknown operating
time point nonlinearities, and runaway responses.
75
emphasis that is more consistent with the per-
spective of a process engineer’s view.

In contrast to MPC, a PID controller only sees


the current value and rate of change of the con-
trolled variable. The addition of a dead time
compensator only extends the PID controller’s
view of the future to the end of the dead time.
However, besides the integral (reset) mode, the
PID controller has a derivative (rate) mode that
provides some anticipation based on the slope
of response of the controlled variable. It also has
a proportional (gain) mode that results in imme-
diate and abrupt action. Feedforward and decou-
pling can be added to controller output, but the
addition of these signals is again based on cur-
rent values and has no projected future effect.
The PID has an individual objective of dealing
with change in its respective controlled variable.
Its emphasis on single-loop performance is more
in tune with an instrument engineer’s view.

These fundamental differences between MPC


and PID control are key to understanding their
relative advantages for applications. MPC offers
performance advantages for meeting process
objectives and dealing with interactions. Since it

76 SETUP
also computes the trajectories of constrained
variables and has built-in capabilities for maxi-
mizing or minimizing a manipulated variable, it
is well suited to multivariable control problems
and optimization.

The PID algorithm, in contrast, assumes nothing


about the future. It is tuned to provide immedi-
ate action based on change and rate of change as
well as a driving action via reset to eliminate off-
set. The PID offers performance advantages for
runaway and nonlinear responses as well as for
unmeasured and hence unknown load distur-
bances where the essential clue is the degree and
speed of the change in the process variable. The
key to determining whether a loop should be left
as a PID controller is the degree to which the
proportional and derivative mode is needed. For
well-tuned controllers that have large gain set-
tings (> 4) or rate settings (> 60 seconds), mov-
ing to MPC may be inadvisable. Such large
settings are frequently seen in loops for column
and well-mixed reactor temperature, pressure,
and level control, which are dominated by a
large process lag. PID controllers thrive on the
smooth and gradual response of a large time

SETUP 77
constant, and they can achieve tight control that
is hard to duplicate with an MPC. However,
controlling temperature at more than one point
in a reactor or column introduces interactions
that are best solved by using an MPC system.
Moreover, using composition control for reac-
tors and columns often introduces stair-step
response and delays from the transportation and
processing of analyzer samples that are best han-
dled by MPC. Similarly, plug-flow reactors,
extruders, sheets, webs, and fibers are prime can-
didates for MPC since they are dominated by a
transportation delay. Gain and rate action is
unsuitable for the square-wave response of dead
time dominant systems. These loops are best
tuned with mostly integral (reset) action. Unfor-
tunately, reset has no sense of direction and
increases overshoot, particularly for set point
changes [3.1]. Thus, MPC with proper identifi-
cation, setup, and tuning will outperform a con-
ventional PI feedback controller on a dead time
dominant application.

Even though there are interactions, MPC may


not be a suitable solution because the matrix is
ill conditioned. To explore this potential prob-

78 SETUP
lem, let’s consider the steady state open-loop
gains for a system that has two manipulated and
two controlled variables, as shown in equations
3-1a and 3-1b. The equations are combined via
the matrix representation in equation 3- 1c. The
determinant of the steady state gain of a 2x2
matrix is equal to the product of the diagonal
gains minus the product of the off-diagonal
gains (K11 K22  K12 K21)

'CV1 K11 'MV1  K12 'MV2 (3-1a)

'CV2 K21 'MV1  K22 'MV2 (3-1b)

'CV 1 K 11 K 12 'MV 1
= * (3-1c)
'CV 2 K 21 K 22 'MV 2

The steady state gains in equation 3- 1d show


that each manipulated variable has the same
effect on the controlled variables. The inputs to
the process are linearly related. The determinant
is nearly zero and provides a warning that MPC
is not a viable solution.

SETUP 79
'CV 1 'MV 1
= 4.1 6.0 * (3-1d)
'CV 2 4.4 6.2 'MV 2

The steady state gains of each controlled variable


for a manipulated variable shown in equation 3-
1e are not equal. Rather, they exhibit a ratio.
The outputs of the process are linearly related.
Such systems are called “stiff ” because the con-
trolled variables move together. The system
lacks the flexibility to move the variables inde-
pendently to achieve their respective set points.
Again, the determinant is nearly zero and pro-
vides a warning that MPC is not a viable solu-
tion.

'CV 1 'MV 1
= 4.1 6.0 * (3-1e)
'CV 2 2.2 3.1 'MV 2

The steady state gains for the first manipulated


variable (MV1) are several orders of magnitude
larger than for the second manipulated variable
(MV2) in equation 3-1f. Essentially, there is just
one manipulated variable MV1 since the effect
of MV2 is negligible in comparison. Unfortu-

80 SETUP
nately, the determinant is 0.9, which is far
enough above zero to provide a false sense of
security. The condition number of the matrix
provides a more universal indication of a poten-
tial problem than either the determinant or rela-
tive gain matrix (RGA) [3.2]. A higher condition
number indicates a greater problem. For equa-
tion 3- 1f, the condition number exceeds 10,000.
Appendix B shows how to calculate the condi-
tion number for a 2x2 matrix. The equations for
a 2x2 are simple enough to be implemented in a
spreadsheet. For large matrices, special programs
are used [3.3].

'CV 1 1 0.001 * 'MV 1


= (3-1f)
'CV 2 100 1 'MV 2

The user can spot problems without running a


program by closely examining the steady state
gain matrix. If two or more gains of any row are
equal to or exhibit a ratio to the gains for the
corresponding manipulated variable of another
row, this indicates matrix degeneracy. This
degeneracy is usually caused by a linear depen-
dence between manipulated variables and a lack

SETUP 81
of independence between controlled variables. If
two or more gains of any column are larger by
an order of magnitude or more than the gains
for the corresponding controlled variables of
another column, this indicates a loss of a degree
of freedom.

Finally, the user can gain a better understanding


of MPC capability and limitations by perform-
ing a simplified review of MPC functionality.
Figure 3- 2 shows the response of a controlled
variable to a step change in each of two manipu-
lated variables at time zero. If the step change in
the manipulated variables were twice as large,
the individual responses of the controlled vari-
able would be assumed to be twice as large. The
bottom plot shows the linear combination of
the two responses. Nonlinearities and interde-
pendencies, however, can make this principle of
linear superposition of responses inaccurate. As
illustrated in the upper plot of figure 3-3, any
errors in the modeled process response versus
the actual process response show up as an error
between the predicted and actual value of the
controlled variable. A portion of this error is
then used to bias the process vector, as shown in

82 SETUP
SETUP Figure 3-2 — Linear Superposition of Response of a CV to a Step in MV1 and MV2

set point
CV1 = f('MV1)
process vector

time
process vector

CV1 = f('MV2) set point

time
process vector

set point
CV1 = f('MV1 'MV2)

time
83
the middle plot. The MPC control algorithm
then calculates a series of moves in the manipu-
lated variables that will provide a control vector
that is the mirror image of the process vector
about the set point. This is shown in the bottom
plot of figure 3- 3. If there are no nonlinearities,
load upsets, or model mismatch, the predicted
response and its mirror image should cancel out,
and the controlled variable should end up at its
set point. How quickly the controlled variable
reaches set point depends upon the time delay
and lag, move suppression, move size limit, and
number of moves. In general, this rise time is
larger than for a PID loop that has a very large
time lag because the PID controller, with its high
gain, will immediately overdrive its output to
saturation for a set- point change [3.4].

The first move is actually the linear summation


of all the first moves based on the controlled,
disturbance, and constraint variables. Only the
first move is executed because the whole algo-
rithm is revaluated in the next control interval.
Thus, for a user to understand the direction of a
move, he or she must recognize the direction
and size of the individual moves.

84 SETUP
SETUP Figure 3-3 — Shift of Process Vector and Mirror Image Control Vector
process vector

predicted CV
set point

actual CV

time

process vector
shift vector set point
to correct
model error

time
compute future process vector
moves for a
mirror image set point
vector to bring control vector
process to set
point trajectory
time
85
Often an operator concentrates on just one con-
trolled variable and thinks that the MPC is going
in the wrong direction. Thus, both training and
improved displays should be provided so opera-
tors understand the relative contributions that
projected deviations of controlled, constraint,
and disturbance variables make to the manipu-
lated variable.

Procedure
1. Select the unit operation that is key to the
plant’s performance.

2. Keep as your PID controllers all well-per-


forming loops that have valid controller
gain settings above 5 or rate settings above
60 seconds. Typically, this means retaining
tight PID control of vessel temperature,
pressure, and level.

3. Select the remaining controlled variables


with their manipulated variables as candi-
dates for MPC. Remember to consider the
set points of well-tuned PID loops for
manipulated variables. Don’t forget to cre-
ate online property estimators to provide

86 SETUP
controlled variables of greater economic
value. If there is negligible interaction, sepa-
rate the variables into multiple MPC imple-
mentations so that each MPC matrix can
run at its optimum time horizon and execu-
tion frequency.

4. Add measured upsets as disturbance vari-


ables. Typically, feed flow becomes a distur-
bance variable if it is not manipulated and
maximized.

5. From first-principle simulation tests or sim-


ple plant bump tests, find the steady state
gains and verify that the matrix is not ill
conditioned. If necessary, find other con-
trolled or manipulated variables to improve
the condition number.

6. Add only the essential measured operating


limits of the process and equipment as con-
straint variables. It is normally best to add
the most important ones first and phase in
other limits. This reduces the time required
for and complexity of testing, tuning, com-
missioning, and troubleshooting. In other
words, start out as simple as possible.

SETUP 87
7. Select the manipulated variables that need
to be minimized or maximized and make
them candidates for optimization by means
of a pusher or ramper. Ideally, the number
of controlled variables should equal the
number of manipulated variables so the
matrix is square. Most MPC algorithms can
handle nonsquare matrices automatically
by performing an optimization at the time
of formulation or execution based on con-
dition number and the penalties on errors
or tuning weights that establish the relative
importance of the controlled variables.

Examples
For our first example, consider the first process
in chapter 1, which is the neutralizer shown in
figure 1- 7. The process objective in this case is
both to minimize the pH variability and the
reagent usage for the static mixer and to reduce
the effect of feed upsets on the final pH. The
titration curve is steepest at 7 pH and gets flatter
as you go lower in pH. For that reason, the user
can minimize variability in the static mixer pH
by minimizing the pH set point, which will also
minimize the more expensive reagent require-

88 SETUP
ment to the first stage. One factor that con-
strains the degree to which the contribution
from the first stage can be minimized is how far
the second-stage reagent valve is open. To
reduce the open-loop gain and pH variability
from stick-slip, which is a percentage of stroke
and thus capacity, the second-stage reagent valve
size is about one-tenth the size of the first stage.
This puts the second stage at risk of being
unable to handle large increases in the feed.

The MPC setup for the neutralizer uses the reac-


tor pH as the controlled variable, the reactor
reagent flow set point as a manipulated variable,
reactor reagent valve position as a constraint
variable, feed flow as a disturbance variable, and
finally the static mixer pH set point as an opti-
mization variable. A ramper minimizes the
mixer pH set point if there is no projected viola-
tion of the high limit of the reactor reagent valve
position that corresponds to a loss of valve sensi-
tivity. The MPC setup is shown in figure 3- 4.

For our second example, consider the second


process in chapter 1, which is the column shown
in figure 1- 8. The process objectives in this case
are to minimize steam flow and to control the

SETUP 89
90

Figure 3-4 — MPC Setup for a Neutralizer

manipulated disturbance
variables variable

MPC reactor reagent static mixer acid feed


flow SP pH SP flow PV
controlled
variable

reactor
pH PV
optimization
variable

ramper static mixer


null null
pH SP
constraint
variable

reactor reagent
valve position
SETUP
composition of the column overheads despite
large feed upsets. A dynamic linear estimator is
first developed and commissioned to measure
the concentration of the high boiler in the over-
heads, based on the control tray temperature
and pressure in the top of the column. Instead
of selecting the overheads’ temperature for the
estimator input, a control tray temperature is
selected because it provides the largest and most
linear response to a change in distillate flow. The
estimator output is passed through a time lag
and delay function for synchronization with a
feedback correction from a distillate composi-
tion measurement. The MPC setup uses the esti-
mator output without the time lag and delay as
the controlled variable, the distillate flow as the
manipulated variable, the column differential
pressure as a constraint variable, the feed flow as
a disturbance variable, and finally the reboiler
steam flow as an optimization variable.

A ramper minimizes the steam flow if there is no


projected column differential pressure below a
low limit that corresponds to tray weeping. The
MPC setup is shown in figure 3- 5. The analyzer
was not used for a controlled variable because its

SETUP 91
92

Figure 3-5 — MPC Setup for a Column

manipulated disturbance
variables variable

MPC distillate reboiler steam column feed


flow SP flow SP flow PV
controlled
variable

column overheads high boiler


concentration estimator PV
optimization
variable

ramper reboiler steam null null


flow SP
constraint
variable

column differential
(tray weeping) PV
SETUP
response has a huge time delay and lag from
the distillate receiver volume, and its signal can
be erratic and unreliable. The estimator pro-
vides a faster, smoother, and more reliable
response [3.5].

For our third example, consider the third process


in chapter 1, which is the batch reactor shown in
figure 1- 9. The process objectives in this case are
to minimize both batch cycle time and losses of
reactant and product in the overhead system
[3.4]. Online neural network estimators or ana-
lyzers are first developed and commissioned to
provide concentration measurements of both
the reactant in the overheads and the product in
the reactor. The MPC setup uses these concen-
trations as controlled variables, the condenser
temperature set point and reactant ratio as
manipulated variables, the reactor jacket and
condenser coolant valve positions as constraint
variables, and finally the reactor temperature
and feed flow as optimization variables. A
ramper maximizes the reaction and feed rates if
the projected coolant valve positions are below
their high limit. The MPC setup is shown in
figure 3- 6.

SETUP 93
94

Figure 3-6 — MPC Setup for a Batch Reactor


manipulated
variables
reactor condenser reactant feed reactor liquid reactor feed
MPC flow SP
temperature SP ratio SP temperature SP

reactant loss
rate in vapor PV
controlled
variable

product accumulation
rate in liquid PV

ramper reactor liquid null null null


optimization

temperature SP
variable

ramper reactor feed


flow SP null null null

reactor condenser
valve position
constraint
variables
SETUP

reactor jacket
valve position
For our fourth example, consider the fourth pro-
cess in chapter 1, which is the boiler shown in
figure 1- 10. The process objectives in this case
are to minimize the energy loss out of the stack
and to maximize the usage of waste fuel. The
MPC setup uses signal-linearized combustibles
and oxygen in the stack to create a new variable
(percentage of excess air-flow demand) as a con-
trolled variable. It uses a bias to the calculated
air flow as a manipulated variable, fuel valve and
air damper position as the constraint variables,
and finally the waste-fuel heat input as an opti-
mization variable. A ramper maximizes the
waste usage if the projected position of the main
fuel valve is above its minimum limit. A split-
ranged controller for firing demand could have
added waste fuel before purchased fuel. How-
ever, MPC avoids the severe discontinuity and
nonlinearity of the split-range point. A waste-
heat value estimator is used to provide a waste-
heat controller instead of just a waste-flow con-
troller. MPC manipulates a bias to a calculated
air flow rather than air-to-fuel ratio both to keep
the cross-limit (lead-lag) system intact for
changes in firing demand and to make the
response more linear. An increase in the bias
results in a decrease in actual air flow. The set
SETUP 95
point for the percentage of excess air-flow
demand is computed from steam flow to ensure
that it is larger for low firing rates when lower
turbulence reduces the mixing of air and fuel.
The MPC setup is shown in figure 3-7.

References
3.1 McMillan, Gregory, K., Good Tuning – A
Pocket Guide, Research Triangle Park, NC:
ISA, 2001.
3.2 Ogunnaike, B.A., and W. H. Ray, Process
Dynamics, Modeling and Control, New York:
Oxford University Press, 1994.
3.3 Press, W. H., Numerical Recipes in C – The
Art of Scientific Computing, Cambridge:
Cambridge University Press, 1988.
3.4 McMillan, Gregory K., “Advanced Batch
Control,” ChemPID tutorial, ISA Expo,
Chicago, 2002.
3.5 Blevins, Terrence L., Gregory K. McMillan,
Willy K.Wojsznis, and Michael W. Brown,
Advanced Control Unleashed –Plant Perfor-
mance Management for Optimum Benefits,
Research Triangle Park, NC: ISA, 2002.

96 SETUP
SETUP Figure 3-7 — MPC Setup for a Boiler
manipulated
variables

MPC calculated air waste heat


flow bias SP input SP

controlled
steam

variable
flow fcn. % excess air
demand PV

optimization
ramper variable waste heat
null
input SP

air damper
valve position
constraint
variables

main fuel
valve position null
97
4.0—Tuning

Overview
Each controlled variable (CV) and manipulated
variable (MV) in a model predictive control
(MPC) system has a tuning weight. For a CV, it
is usually called a “penalty on error” (PE), and it
determines the relative significance of the error
for a CV. A higher PE indicates that the CV is
more important and that its errors should be
more heavily penalized. Most MPC systems
convert the engineering units of the measure-
ments from engineering units into percentage
terms so the PE sets the relative importance of a
percentage error in each CV. For tighter control,
the PE would be increased. However, one major
MPC supplier uses engineering units in the
matrix and calls the tuning weight for the CV an
“equal concern error,” which must be adjusted
to account for the differences in engineering
unit scales. For example, an error of 1ºC on a
scale of 0 to 100ºC might be of as much concern
as 100 gpm on a scale of 0 to 10,000 gpm. In a
sense, the equal concern error combines scaling
and penalty on error into one factor.

TUNING 99
The tuning weight for the MV is called a “pen-
alty on move” (PM) and sets the relative impor-
tance of reducing the movement of an MV.
Penalty on move is also known as “move sup-
pression.” A higher PM indicates that the move-
ment of the MV should be decreased even
though it will increase the error in a CV. Thus, a
larger PM increases the robustness but decreases
the performance of MPC. If a CV is oscillating,
it can often be stabilized by increasing the PM of
the MV that has the greatest effect on the CV
(largest process gain). The PM is an excellent
way of determining the amount of variability
that is transferred from the CV to the MV and is
one of the principal tuning advantages of MPC
compared to PID.

In this guide, performance will be judged based


on the integrated absolute error (IAE), which is
the area between a plot of CV and its set point
(target). Robustness will be considered to be the
ability to resist the tendency to develop oscilla-
tions from errors in the model that arise from
identification problems, nonlinearities, or
changes in the process. Smoothness is a qualita-
tive criterion and is generally a side benefit of

100 TUNING
robustness. There is almost always a trade-off
between performance and robustness in that
maximum performance has minimum robust-
ness and vice versa.

The user can set the maximum move size


('MVmax) per execution, which is the rate of
change of the MV with respect to time. If the
MV’s rate of change is faster than the slewing
rate of the control valve, which is the full-scale
stroke of the valve (e.g. 100%) divided by the
stroking time, then oscillations will develop and
grow [4.1]. Similarly, the rate of change of the
MV should not be faster than the product of the
'MVmax in percent and the PID controller gain
divided by its integral (reset) time. This translates
into a need for the execution time interval to be
larger than the integral time divided by the con-
troller gain. For simulation testing, the maxi-
mum move size should initially be made as large
as possible so it is out of the picture and does
not complicate the MPC tuning. During the
commissioning of the actual MPC system, the
maximum move size should initially be set
based on level of confidence in the MPC besides

TUNING 101
the stroking time of valves, as well as other
known process limitations.

High and low output limits also exist for each


MV, and high and low set point (target) limits
for each CV, in much the same way as a PID
controller. The MV output limits should match
up with the set point limits of any PID control-
ler whose set point is set by the MPC. However,
when the MPC is first commissioned the initial
output limits may be set narrow until it has been
proven to be robust enough for a wider range of
manipulation. It is important to recognize that
whenever a MPC or PID output limit is reached,
the IAE will continue to increase because the
controller has lost a MV. Low process gains,
which are usually associated with undersized
control valves, can lead to a MV getting stuck at
an output limit and the inability to reach a tar-
get. Anti-reset windup protection is also neces-
sary that extends to the status of these PID loops
and analog output blocks. If one of these loops
or blocks is not in the correct mode or at an out-
put limit, the MPC algorithm is suspended, and
the MV is forced to track the current PID con-
troller set point. If the MPC MV works through

102 TUNING
a cascade control system, the status of all of the
primary and secondary controllers must be
included. Foundation Fieldbus functional blocks
take care of this bumpless transfer and anti-reset
windup protection automatically by using “back
calculate” (BKCAL) connections and the initial-
ization manual (IMAN) mode for the MPC.

Some MPC systems also allow you to change


the prediction horizon. This is the distance that
MPC looks into the future to minimize the
square of the errors between a set point (or tar-
get) and CV trajectory. Often, the user can also
change the control horizon, which determines
how many moves into the future the total
manipulation is spread across. Large matrices
generally require longer horizons to properly
sort out all the interactions. A longer horizon
increases patience, which then increases robust-
ness but decreases performance. A longer hori-
zon is particularly effective for helping MPC to
ignore the dither from the measurement resolu-
tion errors caused by large measurement spans.

Another tuning adjustment that is added to


some MPC systems is a set point trajectory filter.
The set point trajectory that is used to minimize

TUNING 103
errors includes the effect of an adjustable filter
time constant (filter time). A larger filter time
will increase the robustness, meaning smoother
control with less overshoot. However, a larger
filter time will decrease the performance (rise
time) for set point changes. This filter time is
typically adjusted on line in increments, from a
minimum of one-half of the time to steady state
to a maximum of twice the time to steady state
for the CV [4.2].

Model mismatch occurs if the time delay, time


lag, and gain used in the model are different
from the actual values in the plant. If there was
no model mismatch, the MPC tuning would be
simply a matter of setting the penalties on errors
so as to place more or less emphasis on the tight-
ness of control for each CV. However, errors in
the identification process, variable dead time,
and operating point nonlinearities make a per-
fect model more of a goal than a reality for
industrial processes.

For PID controllers, decreasing plant time delay


or gain and increasing the plant time lag actually
improved performance. This is not true for
MPC. Model mismatch in any direction deterio-

104 TUNING
rates MPC performance. In fact, a decrease in
plant time delay can be more disruptive than an
increase in plant time delay for a dead time
dominant process, particularly for a short MPC
execution time interval, because it can cause
growing oscillations. This leads us to a rule not
widely recognized: it is better to underestimate
than overestimate the time delay for any model-
based controller, including the Smith Predictor,
particularly when it is applied to a dead time
dominant process [4.3]. Since the opposite is
true for the computation of tuning settings for
PID controllers, even consultants often mistak-
enly believe that an overestimate of time delay
will help to ensure robustness. An overestimate
of time delay can also cause a catastrophic break-
down in the identification of the process lag.
Figure 2-5b in chapter 2 shows an exponential
increase in the lag error if the time delay is over-
estimated by more than 30 percent for a dead
time dominant process.

The principle sources of plant time delays are


process or sample transportation delays, thermal
lags, analyzer cycle times, and digital control
scan or execution time intervals. When trans-

TUNING 105
portation delays are large and variable, an MPC
system should have the variable portion of its
time delay computed on line as the volume
divided by flow for pipelines and the distance
divided by the speed for web and sheet lines.
Until recently, most MPC systems did not offer
a variable time delay.

Analyzer cycle times and digital scan-time inter-


vals present a special problem. For analyzers, the
result is generally computed at the end of the
cycle. If the load upset or set point change
arrives at the end or just after the beginning of
the cycle, the time delay varies from one to two
times the cycle time, respectively. On average,
the change arrives in the middle, which leads to
the rule of thumb that the time delay is 1.5 times
the cycle time. However, this corresponds to as
much as a 50 percent error in the time delay. For
scan times, the result is generally computed at
the beginning of the scan. If the change arrives
at the end and just after the beginning of the
cycle time, the time delay varies from zero to the
cycle time, respectively, for digital devices that
are not synchronized with the MPC execution.
On average, the change arrives in the middle,

106 TUNING
which leads to the rule of thumb that the time
delay is one half of the scan time. However, this
corresponds to large errors in the time delay
from digital computations. To further aggravate
the situation, most simulations that are packaged
with MPC systems will not show the full extent
of the problem of analyzer cycle time and digital
scan time. The reason for this is that when the
change is synchronized with MPC execution,
the time-delay time is consistently indicated as
equal to zero or a multiple of the MPC execu-
tion time.

An MPC execution time interval that equals the


plant time delay will minimize the effect of
model mismatch. However, the integrated abso-
lute error (IAE) for unmeasured load upsets that
arrive just after the beginning of the interval will
be quadrupled and more than doubled for pro-
cesses that are dominated by a lag and delay,
respectively [4.4]. Additionally, MPC simulation
software will not show the adverse effect that
execution time interval has on load performance
if the load upset is always set at the start of the
MPC execution interval.

TUNING 107
Adding a filter to the model output has an effect
similar to increasing the MPC execution time in
that it makes the MPC more stable for model
mismatch but slows down the response to
unmeasured load upsets [4.4]. Set Point
response tests and upsets that are introduced
into the measurement instead of the process will
show an improvement in robustness for large
execution time intervals and model filters. How-
ever, they will fail to show the full deterioration
in the ability to reduce process variability from
unmeasured load upsets that enter as process
inputs [4.5].

For unmeasured load upsets, MPC is primarily


operating in the feedback correction mode since
it has no knowledge of the disturbance. For the
best performance, it is important to reduce the
PM and execution time interval so MPC gives
more immediate action. However, this makes a
dead time dominant MPC much more
vulnerable to model mismatch. As a result, if
unmeasured load upsets are the major source of
variability it is important to make sure that the
model gain, lag, and delay are accurate. A
variable time delay and variable gain MPC

108 TUNING
should be used whenever there are large and
variable transportation delays and operating
point nonlinearities.

A high matrix condition number presents a dif-


ferent set of problems. Condition number is
used to estimate process controllability, and it is
calculated from the process gain matrix. Appen-
dix B details how to calculate condition number
for a 2x2 matrix. A high condition number
increases the IAE for a perfect model. Interest-
ingly it doesn’t make a dead time dominant CV
more sensitive to model mismatch and for an
overestimate of time delay, the CV becomes
more stable as you increase the condition num-
ber. However, processes dominated by a time lag
that were somewhat insulated from model mis-
match can develop oscillations for condition
numbers that are greater than 3. An increase in
condition number above the minimum will rap-
idly eat away at the performance edge that is
gained by going to MPC when there is no model
mismatch. While the deterioration in IAE is sig-
nificant for condition numbers greater than 2,
condition numbers above 20 can cause a degree
of conflict in moves that increase variability.

TUNING 109
There may be quiet periods of operation sepa-
rated by a series of oscillations. The effects vary
with software implementation. A well-condi-
tioned matrix would have a condition number
that is just slightly larger than 1, which is the
minimum number. If the high condition num-
ber is caused by high process gains, then scaling
factors can be applied to the matrix. High pro-
cess gains do not necessarily translate to a high
condition number but can still cause problems.
High process gains amplify the effects of incor-
rect MPC moves and valve stick-slip and will
increase the IAE from model mismatch and
valve problems.

It is somewhat ironic that the dead time domi-


nant process that has the greatest reduction in
IAE by going from PI control to MPC is also the
process most prone to becoming unstable from
model mismatch and the process that suffers the
largest loss in performance advantage from an
increase in matrix condition number for a per-
fect model.

110 TUNING
Procedure
1. Set the MV output and CV set point (tar-
get) limits to match the process require-
ments.

2. Per equations 4-1a and 4-1b, set the MPC


execution time interval to minimize the
effects of model mismatch and to prevent
the MPC from changing its output faster
than a slave PID loop can respond via its
integral action. PID integral action is in
turn set to stay within the slewing rate of its
control valve [4.1]. Note that equation 4-1a
is evaluated for each CV and MV pair and
that the largest value of execution time is
used for the MPC matrix. For a dead time
dominant CV in which the delay is much
larger than the lag, the execution interval is
at least one half of the plant time delay (Tx
=  Wd). If unmeasured load upsets are
large and frequent, it is important to make
the MPC model as accurate as possible and
reduce the execution time to one tenth of
the plant time delay. In these instances, a
model output filter may help to add robust-
ness lost from a faster execution.

TUNING 111
Tx = MAX { Wo,  Wd > Wd / Tss) ],
Ti / Kc} (4-1a)

Tss = Wd  Wo (4-1b)

where:

Kc = PID controller gain


Wd = plant time delay (seconds)
Wo = plant time lag (seconds)
Ti = PID controller integral time (seconds)
Tss = time to steady state (seconds)
Tx = MPC execution time interval (seconds)

3. Set the prediction horizon equal to the


time to steady state, as shown in equation
4-2 [4.6]. The horizon is often expressed in
terms of the number of execution time
intervals. Note that equation 4-2 is evalu-
ated for each CV and MV pair and that the
largest value of prediction horizon is used
for the MPC matrix. If the variability from
measurement resolution is greater than one-
fifth of the plant variability, increase the
MPC prediction horizon so it is twice the
time to steady state so as to reduce the
effect of measurement dither.

112 TUNING
Ph = Tss / Tx (4-2)

where:

Ph = MPC prediction horizon (intervals)


Tss = time to steady state (seconds)
Tx = MPC execution time interval (seconds)

4. Set the control horizon to be five moves. If


the variability from measurement resolu-
tion is greater than one-fifth of the plant
variability or the MPC matrix is larger than
4x4, increase the MPC control horizon to
nine moves, unless the matrix is so large
that the calculations cannot be completed
within the execution time.

5. Set the MPC model time delay to be a


function of any significant transportation
delay.

6. Test and tune the MPC in an offline simu-


lation mode that runs faster than real time.
Set the maximum move size so that the rate
of change of the MV doesn’t exceed the
slewing rate of the control valve. Also check
with operations and make sure the process

TUNING 113
can handle the largest change in MV. If
there is a minimum move size, set it larger
than the valve stick-slip and dead band.
These relationships for maximum and min-
imum move size are expressed through the
following inequalities.
'MVmax <  Tv  Tx (4-3)

'MVmin > MAX (Sv , DB (4-4)

where:

DB = valve dead band (%)


'MVmax = maximum move size (%)
'MVmin = minimum move size (%)
Sv = valve stick-slip (%)
Tv = valve stroking time (time for full scale
stroke) (seconds)
Tx = MPC execution time interval
(seconds)

7. Increase the PE of any CV to minimize the


control error of this CV at the expense of
the other CV. Adjust the PE in accordance
with the square of the relative importance
of each CV. In other words, if a 1 percent
control error is twice as important for this

114 TUNING
CV as for another CV, quadruple the PE.
Use the PE only to change the relative per-
formance of a CV. Use the PM to work a
compromise between total performance
and robustness.

8. Before you add a constraint, disturbance, or


optimization variable, increase the PM of
the MV that has the highest process gain.
This will suppress oscillations caused by
model mismatch in an associated CV.
Increasing the PM will provide smoother
and more robust but slower control. Use
equation 4-5 to provide a PM that will sta-
bilize a CV and MV pair for model mis-
match of 50 percent for a control horizon
of up to nine moves [4.2]. For large and fre-
quent unmeasured load upsets, it is impor-
tant to make the MPC model as accurate as
possible and reduce the PM. A PM as low as
0.5 has been found to help reduce the vari-
ability in a CV that was continually rattled
by unmeasured load upsets.

PM = 3 [ 1 + ( Wd / Ph)  ( Kp Wd / Ph) @
(4-5)

TUNING 115
where:

Kp = process gain for MV and CV pair


PM = penalty on move for MV
Ph = MPC prediction horizon (seconds)
Wd = plant time delay (seconds)

9. Individually add in and test each constraint,


disturbance, and optimization variable in
the simulation mode for model mismatch,
load upsets, and set point changes.

10. Set the MV output limits closer to the nor-


mal operating point during the initial com-
missioning so as to narrow the range of
operation until you have gained confidence
in the MPC.

11. Put the MPC on line in the shadow or man-


ual mode and monitor the future trajectory
and the prediction error. When these have
reached a minimum, put the MPC in auto.

12. Make small set point changes and add a set


point filter in increments of one half of the
time to steady state so as to smooth out the
set point response. Test how the MPC
responds to load upsets by putting it

116 TUNING
momentarily in manual and changing a
MV. Test how the MPC responds to mea-
sured disturbances by making step changes
in each DV.

Some MPC products have implemented the tun-


ing calculations that are outlined in this proce-
dure, so the user’s primary task is to define the
process time to steady state, which sets the exe-
cution time interval per equation 4-2.

Examples
A virtual plant was used to look at the perfor-
mance and robustness of a 2x2 MPC for model
mismatch and condition number. The first con-
trolled variable (CV1) has a time response domi-
nated by lag for changes in either manipulated
variable. The model of CV1 for MPC has a time
lag that is equal to 30 seconds and a time delay
equal to 6 seconds for all cases. The second con-
trolled variable (CV2) has a time response that is
dominated by a delay for changes in either
manipulated variable. The model of CV2 for
MPC has a time delay that is equal to 30 seconds
and a time lag equal to 6 seconds for all cases.
The steady state gains are varied to show differ-

TUNING 117
ent condition numbers, and actual plant dynam-
ics are changed to show model mismatch. The
execution time interval of the MPC module was
set equal to the loop scan time of the PID and PI
controllers, which was 1 second.

Equation 4-6 shows the steady state gain matrix


for the first case, which has a condition number
of 1.2. This condition number was used for the
first series of test runs of the virtual plant.

CV 1 1.0 0.1 MV 1
= * (4-6)
CV 2 0.1 1.0 MV 2

Figures 4-1a through 4-1d show the performance


of PID control of the CV1 and MV1 pair and the
performance of PI control of the CV2 and MV2
pair with a very low condition number (CN =
1.2). The PID and PI controllers are subjected to
changes in process dynamics and unmeasured
load upsets. The trends show that a doubling of
the actual process time delay causes the most
harm to PI control, since CV2 develops slow
oscillations with a settling time that is beyond
the test run of ten minutes, more than tripling

118 TUNING
the IAE. CV1 is not totally immune to the prob-
lem in that it shows some oscillations that dou-
ble the IAE. A decrease in process time delay or
lag has very little effect on the IAE for PID and
PI control.

Figures 4-1e through 1h show the performance


of MPC with PM = 3 for a very low condition
number (CN = 1.2), with and without model
mismatch for unmeasured load upsets. Figure 4-
1e shows that for a perfect model, the MPC IAE
is less than one fifth of the PI IAE for the dead
time dominant CV2. However, this dramatic
reduction in the IAE of CV2 by MPC quickly
starts to disappear for any type of model mis-
match or when move suppression is added. The
MPC IAE is slightly higher than the PID IAE for
the lag dominant CV1. Figure 4-1f shows that a
doubling of the process time delay causes an
erratic response of CV2 in which high-frequency
oscillations are imposed on a slow-rolling
response. The MPC IAE for CV2 increases by
almost a factor of twenty. An increase in the PM
from three to nine will kill the high-frequency
oscillations and improve the MPC IAE for CV2
so that it is about fifteen times larger than the
MPC IAE for a perfect model.

TUNING 119
Figure 4-1a — PID/PI Response to Load Upset for
Constant Linear Process (CN=1.2)

120 TUNING
Figure 4-1b — PID/PI Response to Load Upset for
Doubled Plant Delay (CN=1.2)

TUNING 121
Figure 4-1c — PID/PI Response to Load Upset for
Halved Plant Delay (CN=1.2)

122 TUNING
Figure 4-1d — PID/PI Response to Load Upset for
Halved Plant Lag (CN=1.2)

TUNING 123
Figure 4-1g shows that halving the process time
delay is even more detrimental because it causes
the CV2 to become unstable. An increase in the
PM from three to nine will kill the growing oscil-
lations and improve the MPC IAE for CV2 so
that it is only about five times larger than the
MPC IAE for a perfect model. Figure 4-1h shows
that halving the process time lag causes an
erratic response and severe overshoot for both
CV1 and CV2. An increase in the PM from three
to nine will smooth out the response, but the
MPC IAE stays at about three and five times the
IAE for a perfect model for CV1 and CV2,
respectively. Instead of increasing the PM, the
robustness of the MPC could also have been
increased by slowing down the MPC execution
or adding a model output filter.

124 TUNING
Figure 4-1e — MPC Response to Load Upset for
Perfect Model (CN=1.2)

TUNING 125
Figure 4-1f — MPC Response to Load Upset for
Doubled Plant Delay (CN=1.2)

126 TUNING
Figure 4-1g — MPC Response to Load Upset for
Halved Plant Delay (CN=1.2)

TUNING 127
Figure 4-1h — MPC Response to Load Upset for
Halved Plant Lag (CN=1.2)

128 TUNING
Equation 4-7 shows the steady state gain matrix
for the second case. It has a condition number
of 3.0, which was used for the second series of
test runs of the virtual plant.

CV 1 1.0 0.5 MV 1
= * (4-7)
CV 2 0.5 1.0 MV 2

Figures 2a through 2d show the performance of


PID control of the CV1 and MV1 pair and the
performance of PI control of the CV2 and MV2
pair for a 150 percent higher condition number
(CN=3.0). The PID and PI controllers are sub-
jected to changes in process dynamics and
unmeasured load upsets. The higher condition
number almost doubles the IAE of CV1 and
CV2 despite a constant process.

The trends show that for a higher condition


number the effect of a doubled time delay still
has the greatest effect on PI control of the dead
time dominant process. However, the CV2 oscil-
lation settles out sooner even though the initial
excursion is larger. On the other hand, PID con-
trol of CV1 is more oscillatory for the higher

TUNING 129
condition number. A decrease in process time
delay or lag has very little effect on the IAE for
PID and PI control. The PI IAE for CV2 is actu-
ally slightly less for a higher condition number
for a doubled time delay. However, CV1 starts to
become more oscillatory and the IAE deterio-
rates for changes in the process dynamics.

Figures 4-2e through 4-2h show the performance


of MPC with PM = 3 for a 150 percent higher
condition number (CN = 3.0), with and without
model mismatch for unmeasured load upsets.
Figure 4-2e shows that for a perfect model the
MPC IAE is now about one-half the PI IAE for
the dead time dominant CV2 and about three
times larger than the PID IAE for the lag domi-
nant CV1. The MPC IAE of CV2 for a doubled
process delay or a halved process lag is about the
same as for the first case of a lower condition
number. However, CV1 starts to develop some
sustained oscillations, and its MPC IAE is larger
than for the first case of lower condition num-
bers. CV2 is still unstable for a halved process
delay, but the oscillations are not growing as
quickly. Test results available on the web site
described in appendix A show that the oscilla-

130 TUNING
tions actually disappear for a higher condition
number (CN > 12) for a halved process delay.

Figure 4-2a — PID/PI Response to Load Upset for


Constant Linear Process (CN=3.0)

TUNING 131
Figure 4-2b — PID/PI Response to Load Upset for
Doubled Plant Delay (CN=3.0)

132 TUNING
Figure 4-2c — PID/PI Response to Load Upset for
Halved Plant Delay (CN=3.0)

TUNING 133
Figure 4-2d — PID/PI Response to Load Upset for
Halved Plant Lag (CN=3.0)

134 TUNING
Figure 4-2e — MPC Response to Load Upset for
Perfect Model (CN=3.0)

TUNING 135
Figure 4-2f — MPC Response to Load Upset for
Doubled Plant Delay (CN=3.0)

136 TUNING
Figure 4-2g — MPC Response to Load Upset for
Halved Plant Delay (CN=3.0)

TUNING 137
Figure 4-2h — MPC Response to Load Upset for
Halved Plant Lag (CN=3.0)

138 TUNING
Figures 4-3, 4-4, and 4-5 are based on data pre-
sented on the web site described in appendix A.
These figures show how the total IAE for a
twenty-minute test run deteriorates with MPC
condition number for a perfect model. They also
show how the total IAE for a twenty-minute test
run with a very low condition number improves
with MPC execution time interval for a doubled
and halved time delay.

Figure 4-3 — Effect of MPC Condition Number on


IAE for a Perfect Model

60

50
IAE over 20 minutes

40

CV1
30
CV2

20

10

0
0 20 40 60 80 100
Condition Number

TUNING 139
Figure 4-4 — Effect of MPC Execution Time Interval
on IAE for a Doubled Delay
2x Delay

16 350

14
300

12
250

10
200 CV1 @ 1 sec.
CV1 IAE

CV2 IAE
CV1 @ 6 sec.
8
CV2 @ 1 sec.
150 CV2 @ 6 sec.
6

100
4

50
2

0 0
0 2 4 6 8 10 12 14 16 18 20
Time (minutes)

Figure 4-5 — Effect of MPC Execution Time Interval


on IAE for a Halved Delay

0.5x Delay

25 500

450

20 400

350

15 300
CV1 @ 1 sec.
CV1 IAE

CV2 IAE

CV1 @ 6 sec.
250
CV2 @ 1 sec.
CV2 @ 6 sec.
10 200

150

5 100

50

0 0
0 2 4 6 8 10 12 14 16 18 20
Time (minutes)

140 TUNING
Even though the test results show that MPC
is sensitive to model mismatch and can be
affected by a large condition number, the
benefits from an integrated constraint handling
and optimization in a MPC system usually
more than out weighs any reduction in IAE
offered by PID control.

References
4.1 McMillan, Gregory K., “Has Your Control
Valve Responded Lately?” Control, May
2003, pp. 65-68.

4.2 Wojsznis, Willy, John Gudz, Terry Blevins,


and Ashish Mehta, “Practical Approach to
Tuning MPC,” ISA Transactions, vol. 42,
no. 1 (2003), pp. 149-62.

4.3 McMillan, Gregory K., Good Tuning – A


Pocket Guide, Research Triangle Park, NC:
ISA, 2002.

4.4 Shinskey, F. G., “The Effect of Scan Period


on Digital Control Loops,” InTech, June
1993.

TUNING 141
4.5 Shinskey, F. G., “Process Control: As
Taught versus As Practiced,” Advances in
Instrumentation and Control, November,
2001.

4.6 Shridhar, Rahul, and Douglas J. Cooper, “A


Novel Tuning Strategy for Multivariable
Model Predictive Control,” ISA Transac-
tions, vol. 36, no. 4 (1997), pp. 273-80.

142 TUNING
INDEX

Index Terms Links

aggressive 74
analyzer 28 78 91
105
anti-reset windup 102
ARX (auto regressive
with external inputs) 38 54 56

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

AV ( constraint
variable) 74 151

batch 6 28 48
52 54 93
96 155 157
boiler 15 28 30
91 95 97
Box-Jenkins 43 45 51
54 56 64
67 70

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

bump (step) 36 44 48
52 57 62
64 67 87
144 157

calibration 41
capacity 15 30 71
89
column 5 14 25
27 34 77
82 89 91

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

159
composition
(concentration) 10 21 28
34 72 78
91 93 160
compressor 13 20 24
condenser 25 30 93
condition number 45 71 81
87 109 117
129 139 141
143 147 149
152

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

conditions 1 3 6
10 158
constraint 2 73 158
variable (AV) 20 33 41
48 50 71
74 84 86
89 91 93
95 115 141
151 156
constraints 2 158
control horizon 103 113 115
151

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

controlled variable (CV) 1 73 76


80 82 86
89 91 95
99 102 109
111 114 151
cross-correlation 42 55
cycle 34 52 93
105

data
highway 50

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

data (Cont.)
historian 50
dead time (delay) 34 39 41
55 76 78
104 108 119
129 154 159
dominant 78 105 108
119 129
deadband 18 34
delay (dead time) 154
derivative 76 159
determinant 79 148

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

difference 3 38 43
disturbance
variable (DV)
41 74 87
89 91 117
151
disturbances 1 77 117
dynamic 2 8 10
12 21 23
33 91 152
154 160

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

engineering unit 99
entrainment 20 23
estimator 28 32 91
93 95 160
exception reporting 50
execution 38 41 56
87 101 105
111 117 124
139 144 153
exothermic 52
experimental models 4 34

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

feed (production rate) 15 25 28


30 44 71
87 91 93
feedforward 1 20 28
76
filter 103 108 111
116 124
finite impulse response
(FIR) 42 54
first-order 35 38 42
48

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

first-principle 3 87
flip time 45 54
flow
characteristic 12
coefficient 12
diagram 3
fluid package (physical
properties) 8 10 12
21

heat exchanger 13 25 28

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

31
higher-order 39 42

IAE (integrated
absolute error) 100 102 107
109 119 124
129 139
integral 74 76 78
101 111
integrator gain 48 53
interaction 1 87

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

interface 8 20
interlock 18
inventories 24
inverse response 32 55 67

kinetics 6

lag (time constant) 3 32 38


41 44 48
53 57 77

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

lag (Cont.)
84 91 93
95 104 107
111 117 119
123 128 130
134 138 154
157
level 20 23 25
32 39 52
77 86 101
limit 43 74 84
89 91 93

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

95 102 151
linear
program 73
superposition 3 82

manipulated variable (MV) 1 6 41


43 47 53
74 77 79
86 89 91
95 99 111
151 153

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

maximizing 72 77
minimizing 72 77 88
153
mismatch 55 58 84
104 107 115
130 141 144
move size 55 84 101
113

neutralization 16
neutralizer 24 26 88

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

noise 18 35 42
45 47 51
54 57 62
154
nonlinearities 3 25 50
55 82 84
100 104 109

operator 47 86 156
optimization 31 73 77
88 91 93

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

95 115 141
152 155
overshoot 78 104 124

parametric models 35
patience 103
PE (penalty on error) 99 114 153
penalty on error 99 153
penalty on move (move
suppression) 100 116 153
performance 1 4 70

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

performance (Cont.)
74 76 86
96 100 103
107 115 117
129 153
pH 25 88 113
115
physical properties
(fluid package) 4 23
PM (penalty on move) 100 108 115
119 124 130
153

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

PRBS (pseudo random


binary sequence) 45
prediction horizon 103 112 116
153
pressure 10 12 20
23 28 30
52 72 77
86 91
process efficiency 71
process gain (steady
state gain) 3 38 41
44 48 53

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

57 100 109
115 153 157
production rate (feed) 1 44 71
properties 4 10 23
proportional 23 44 74
76
proportional-integral-
derivative (PID) 1 18 21
41 51 70
75 84 86
100 104 111
118 129 141

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

145 151 153


160
pump 13 20 24

ramp rate 39 52
ramper 88 91 93
95
ratio 28 80 93
95 149
raw weights (response
coefficients) 35 37

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

reaction 6 14 21
30 93
reactor 15 25 28
77 89 93
real time 21 33 113
153
reboiler 15 25 28
91
recycle 15 24 28
73
reflux 15 30 73
regions 4 6 34

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

residuals 55
resolution 50 103 112
rise time 84 104
robustness 2 44 74
100 103 108
111 115 117
124
runaway 77 159
run-time model 55

scan 105 118 141

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

self-regulating 38 53
separator 14 25 30
set point 21 25 41
51 73 78
84 88 93
95 100 102
106 108 111
116 151
sine wave 64
singular values 148
smoothness 100
stationary 38

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

steady state 2 5 8
15 24 33
35 38 41
45 47 51
79 87 104
112 116 129
147 154 157
gain (plant process gain) 41 53 79
81 118 129
147
steam
trap 25

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

step
size 23 43 45
51 56
step (bump) 4 21 23
32 35 42
47 51 54
70 78 82
117 154 157
stick-slip 1 18 34
38 51 55
89 110 114
stiff 80

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

stroking time 101 114


synchronization
(synchronized) 91 106

temperature 8 10 14
25 28 30
72 77 86
91 93
test time 33 47 53
time

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

constant (lag) 34 38 41
53 77 104
154
horizon 74 87
transfer functions 18 25 32
34
transportation 18 25 34
44 78 105
109 113

unstable 110 124 130

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

upsets 3 23 28
39 43 45
47 50 84
87 91 107
111 115 118
129

valve 12 14 16
18 24 30
34 38 41
51 55 72

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

valve (Cont.)
89 93 95
101 110 113
141 152
vapor 15 20 28
variability 1 4 72
88 100 108
112 115
variable
delay 44
gain 41 108

This page has been reformatted by


Knovel to provide easier navigation.
Index Terms

virtual plant 8 32 70
117 129 143
154

This page has been reformatted by


Knovel to provide easier navigation.
Appendix A – Website
Contents
An extensive and intensive amount of testing
was done with model predictive control software
packages and a virtual plant that revealed many
interesting and unexpected results. To make the
entire test results available and to extend the
utility of Models Unleashed, an ISA web site
(www.isa.org/modelsdownload) has been set up
for users to download the original Excel and
PowerPoint files. As the data for more tests runs
become available, files will be added to the site.
A copy of Models Unleashed is needed to
effectively use the site. If you have a question
about the presentation and format of the files,
please contact Bob Cameron at
racame63@yahoo.com or Greg McMillan at
gkmcmi@msn.com.

ConditionNumber2x2.xls
Excel XP workbook file to determine the matrix
condition number of a simple 2x2 matrix

WEBSITE CONTENTS 143


Matrix2x2case01.xls
Condition number and RGA calculations for
case01

Matrix2x2case02.xls
Condition number and RGA calculations for
case02

Matrix2x2case03.xls
Condition number and RGA calculations for
case03

ModelsBUMP.xls
Bump test data for various dynamics and
interferences

ModelsPRBS.xls
PRBS test data for various dynamics and
interferences

ModelsPlots2rev1.xls
Identification results from bump and PRBS test
data

MPCDelayMismatch.xls
MPC runs for delay mismatch at 1, 6, and 15
second execution periods

144 WEBSITE CONTENTS


MPCConditionNumber.xls
MPC runs at various condition numbers with
and without delay mismatches

Plant2x2case01.ppt
Virtual plant PID and MPC runs (screen prints)
for case01

Plant2x2case02.ppt
Virtual plant PID and MPC runs (screen prints)
for case02

Plant2x2case03.ppt
Virtual plant PID and MPC runs (screen prints)
for case03

TuneCV1case01.xls
CV1 PID tuning for case01

TuneCV2case01.xls
CV2 PI tuning for case01

WEBSITE CONTENTS 145

You might also like