Sei sulla pagina 1di 19

HELP FILE

for
CONTROLLER TUNING 101
INTRODUCTION
This software will run on Windows 95 and higher. It is a companion to the booklet,
Controller Tuning and Control Loop Performance, a Primer, (Second Edition) by David
W. t. !lair, subtitled PID Without the Math. To access information about that booklet
see http"##members.aol.com#pidcontrol# $this %ump does not work unless you are online
and not using Windows &.'( or you can e)mail the author at dwstclair*aol.com. This
software assumes you are familiar with the concepts and language of feedback control,
which that booklet provides. It is really for the reader of that booklet who wants to
e+perience, to some degree, the described behavior of linear control loops. ,+ercises
are provided to illustrate the key points made in the booklet, plus a few points which
were not covered there.
The software is primarily for a ingle Input ingle -utput $I-( control loop. .n option
for cascade control was added in /ovember, '999. While no real system is truly linear,
this approach is universally used to illustrate the basic behavior of feedback control
systems. /o effort is made to present a graphic to look like a commercial controller.
The parameters to define the process and controller are simply entered in fields. The
results of a calculation are presented as fast as the computer can calculate them. .
&&012 345 system will take about three seconds. . 665012 7entium II system will
finish in the blink of an eye. imply choose the lags and gains for the process and tune
it. Default values are presented for a start, and e+ercises are outlined to help you
observe the key points of control. The description of the ,+ercises may be accessed
either from this 1elp file or from ,+ercises in the 0enu 8ar.
9INSTRUCTIONS
Starting conditions. The software initiali2es the controller and process to 5:;. The
user has no option to change that. The lags and controller settings chosen to start with
give a typical response curve to a change in setpoint or to a load change.
Tim !nits. /o dimensions are given for time. -ne of the characteristics of control is
that time is relative to other time parameters. <or instance if one process has lags of ',
&, = and 6: microseconds it is the same as one having lags of ', &, = and 6: years.
The only difference is that the controller>s time settings and response curves would be
in years instead of microseconds. imply consider the time units to be what you want
them to be. The time scale for the response plot is loosely determined by the time
settings for the process. The default time scale may be changed from the 0enu 8ar.
Rang of sttings. ?imits are placed on some settings. The te+t bo+es $fields( for
entering values for parameters are limited to four characters. This is to allow the loop
5/9/2014 5/9/2014 1
diagram to fit on a small monitor. urely this is enough significant figures for the
intended purpose. . decimal counts as a character. In addition, limits are placed on the
following"
etting ?imits @eason
etpoint : to '::; /o need for more
!ontroller Aain .:6 to 5::: To keep 78 within 3 characters
!ontroller 78 .:6 to 5::: To keep Aain within 3 characters
<ilter & characters To save space
Integral Time ::' to '::: To keep Integral @ate within 3 characters
Integral @ate .::' to '::: To keep Integral Time within 3 characters
?oad !hange )5: to B5: To keep on scale
Dead Time :.6 minimum To be sure some dead time is used.
Damping <actor : to ' To keep response underdamped
,+ercise /umber : to '4 Calid ,+ercise numbers.
Contro""r sttings. ,ither controller gain or proportional band may be set. The
reciprocal value is calculated when one of the following actions occurs"
,nter is pressed.
.nother te+t bo+ is clicked.
The @un button is clicked.
The Tab key is pressed. $/ote that the tab key moves the focus along in seDuence for
the te+t bo+es.(
The calculation of the reciprocal does not occur for 78 and '#Ti when @un is activated
by .lt B@. This means that if you enter a number for 78 and do not perform one of the
above four actions, but simply key in .lt B@, the run will be made with the value for
Aain. The same logic applies to '#Ti. The run will be made with the value for Ti. If, by
chance, there is an invalid entry $such as two decimals( in one of the bo+es and you
have not performed one of the four actions, you will get an error message if .lt B @ is
used and it would be best to rerun.
Dad tim. The minimum value allowed for dead time is :.'. This is simply to keep you
from setting up an unrealistic process with no dead time.
Procss intgration. To change the process between having and not having
integration simply click in the bo+.
#!to$%an!a"$Load C&angs. To make a setpoint change, set it to something other
than 5:; and choose @un. To introduce a step upset, choose a value for the ?oad
!hange between plus and minus 5:;. The program does not allow a setpoint and load
change to be made for the same run. To see the open loop step response of the
process place the controller in manual and choose a value other than 5:; for the
controller output.
R!n and Rst '!ttons. !hoosing the @un button will produce the response curves for
the test conditions entered for the controller and process. !hoose some other
conditions and run again and a second, different)colored response will be shown. @uns
may be made indefinitely without resetting but only the last four runs will be shown.
!hoosing @eset will erase the plots. These buttons may also be chosen with .lt B @
5/9/2014 5/9/2014 2
and .lt B. The time scale is determined by the first set of conditions run after selecting
@eset.
Sat!ration. /o special handling is provided if either the process or controller output
reaches :; or '::;, e+cept that the controller and process output values are limited if
they e+ceed these values. If this happens simply consider the results invalid and repeat
the run with a smaller disturbance.
Printing. The response curves may be printed by choosing 7rint in the <ile menu
$.ltB<, 7(, or typing !T@?B7. The curves will print to the default printer. The conditions
for the runs are also printed. The time to begin printing depends on the speed of your
computer, the printer, and on the number of response curves plotted. If you have a
choice of printers, choose the one you want before starting this program. <or some
reason the program does not like the default printer to be changed after the program is
running. <or black and white printers you may need to make your own notes on the
response curves to identify them if there is more than one set.
Tas( 'ar. <or Windows &.' other open applications may be accessed with .lt B Tab.
<or Windows 95 the same key strokes work, but if you click on the resi2e sDuare in the
upper right hand corner, that will bring up the Task 8ar. It toggles the Task 8ar on and
off.
OPTIONS
The 0enu 8ar allows you several choices"
<ile, 7rint and ,+it
!ontroller
Two variations for the 7ID algorithm
Two locations for the Derivative
!ascade !ontrol
Total !alculation teps $65:, 5::, ':::, &::: and 5:::(
Time cale $:.65, :.5, '.:, 6, 3 and ':E Default(
Fuadratic, use of an underdamped Duadratic to replace the two first order lags
for the process
Calve <eatures
Dead 8and
Celocity ?imiting
). PID #"gorit&m. The default control algorithm is G
c
$' B '#T
i
s($' B T
d
s(#$'B T
d
s#G
d
(,
which is often called HinteractingI. The terminology is the same as in the booklet, where"
G
c
J !ontroller Aain
T
i
J Integral Time
T
d
J Derivative Time
Gd J Derivative Aain, set for ':.
The noninteracting algorithm is Gc$' B '#TisB Tds#$' B Tds#Gd((. . label is inserted below
the te+t bo+es for the controller to remind you which algorithm is being used.
5/9/2014 5/9/2014 3
). Dri*ati*. The default configuration is to have the derivative on the controlled
variable. 8y choosing this option the derivative will act on the ,rror. The signal)flow
diagram will change to show it.
+. Cascad Contro". !licking on this option brings up another signal)flow diagram. It
will also disable some of the other menu options. /e+t to the 7rimary !ontroller in the
!ascade option are buttons which allow the secondary controller to be eliminated. This
will allow the user to see the benefit of cascade control for a load change into the
secondary loop. The process gain for the secondary loop is fi+ed at one. There was not
enough room to show another field comfortably on small monitors, and by now you
know that process gain, in and of itself, is not a vital part of the performance of a loop,
provided the appropriate controller gain can be set physically.
There are several options in cascade control, related to 0anual, .utomatic, !ascade
and whether the econdary !ontroller has been bypassed. These options complicate
printing all the conditions. To deal with this problem the settings on the option buttons
are printed out. !ontroller setting will also be printed which may be irrelevant in the
configuration used. It would be best to @eset after two runs in !ascade.
-nly three ,+ercises are provided for !ascade !ontrol. Kou may want to e+periment
with changing the process lags so that the 7rimary 7rocess is only slightly slower than
the econdary 7rocess. This will make the natural period of the 7rimary loop only
slightly longer than that of the econdary loop. ,fforts at tuning will be an e+perienceLLL
,. Tota" Ca"c!"ation St-s. ,very digital simulation of an analog control system does it
by calculating in small steps. There is a trade)off. 0ore steps takes more computing
and printing time. <ewer steps generate inaccuracies. The default value is '::: steps.
This appears to be a reasonable compromise between speed and accuracy. This
option allows you to select from 65:, 5::,':::, &::: and 5::: steps. Kou may want to
choose another compromise. The value may be changed without resetting the plots
and the value used is printed out but not shown on the screen. Mse of &::: steps may
cause an overrun in printing, depending on your printer capabilities. Mse of a non)
default value results in a label being inserted on the Time a+is of the response plot.
,. Tota" Ca"c!"ation St-s. ,very digital simulation of an analog control system does it
by calculating in small steps. There is a trade)off. 0ore steps takes more computing
and printing time. <ewer steps generate inaccuracies. The default value is '::: steps.
This appears to be a reasonable compromise between speed and accuracy. This
option allows you to select from 65:, 5::,':::, &::: and 5::: steps. Kou may want to
choose another compromise. The value may be changed without resetting the plots
and the value used is printed out but not shown on the screen. Mse of &::: steps may
cause an overrun in printing, depending on your printer capabilities. Mse of a non)
default value results in a label being inserted on the Time a+is of the response plot.
.. Tim Sca". The default time scale is chosen based on the dead time and the
process lags. If this does not meet your needs you may select a multiplier from the
Time cale menu. If the default value is not used the multiplier is shown on the Time
a+is of the response plot. .ll plots must be made to the same time scale. It cannot be
changed
without resetting. @eali2e that if the time scale is made 3E the default time scale that
the calculation steps are now four times as large in time, so computing accuracy will
5/9/2014 5/9/2014 4
suffer. If you use the 3E Default Time cale you may want to increase the Total
!alculation teps to &:::.
/. 0!adratic. electing this option changes the two first order lags into an
underdamped Duadratic, in which the te+t bo+es are used to set the damping period
and damping factor. The booklet does not discuss this situation and no further
discussion is provided with this software. Kou can tell when this option is in effect by
the labeling of those te+t bo+es.
1#L1E FE#TURES
Two nonlinearities have been programmed for the valve. -ne is Dead 8and, which is
the sort of thing you get with the packing gland tightened on a pneumatically operated
valve without a positioner, and to a lesser e+tent, with a positioner. ome call it
hysteresis. The other nonlinearity is Celocity ?imiting, which describes the phenomenon
when the valve is moving at its ma+imum $and fi+ed( rate, which often occurs with an
electrically operated valve.
1. Dad 2and. If Dead 8and is present, it usually occurs as a small percentage $N';O(
of full scale, unless it is with an unpositioned valve, in which case it can amount to
much more $':;O(. <or this simulation a fi+ed value of 3; has been chosen, not
because this is typical but because we must use enough to show on the plots, scaled
as they are. The problem is delineated on 7ages 54 and 59 of the booklet. If you
e+periment with this parameter $from the menu bar click on Calve#Dead 8and( you will
find situations which apparently do not result in a limit cycle. I think part of the
e+planation for this is that in real life the cyclePs period is so much longer than the
natural period that our time scale does not e+tend long enough to show it. If you try the
longer time scale you should also increase the number of calculation points to preserve
reasonable computational accuracy. .nother reason for cycling in real life is that Dead
8and is often accompanied by stiction, and this has not been programmed. ,+ercise '&
has been set up to demonstrate Dead 8and. If more than one run is made before
resetting the plot, the valve will stay where it was from the last run. Kou may observe
this with the !ontroller in 0anual.
). 1"ocit3 Limiting. The problem which can occur in practice from the nonlinearity of
Celocity ?imiting is described on page 5= of the booklet. When this feature is enabled
$in the menu bar click on Calve#Celocity ?imiting( a te+t bo+ appears which allows
entering a desired value. The number is the ma+imum rate the QvalveQ is allowed to
move, in percent of full scale per unit time. In practice it may not actually be in the
valve. . higher number allows the valve to move more aggressively. ,+ercise '3 has
been set up to demonstrate Celocity ?imiting. Kou may want to e+periment more with
this nonlinearity than with Dead 8and. The Celocity ?imiting code acts on the first lag
$the label and te+t bo+ appear below it(. Kou cannot use Celocity ?imiting and
Mnderdamped Fuadratic simultaneously.
POTPOURRI4 inc"!ding #2OUT
#c(no5"dgmnts
5/9/2014 5/9/2014 5
I am profoundly grateful to @oss Wilco+ for programming this application, and
especially for his patience and understanding with my novice efforts to help. I also
thank !ris 8rady, 0icrosoft !ertified ystems ,ngineer, .lpine ,nterprise. ?td., for
being an e+pert consultant. David W. t. !lair
Co-3rig&t. This software is copyrighted by traight)?ine !ontrol !o., Inc., 6:::. 7lease
respect that. It is not hareware or <reeware. Windows is a trademark of 0icrosoft
!orp.
Disc"aimr. traight)?ine !ontrol !o., Inc. makes no warranty of any kind with respect
to the completeness or accuracy of this software. Improvements and#or changes to the
program may be made to the program at any time and without notice. traight)?ine
!ontrol !ompany is not responsible for any conseDuences of your using this software,
either to your computer or to your using the results of any calculation for any purpose.
S!--ort. traight)?ine !ontrol !ompany, Inc. has no computer e+pert but we are very
interested in learning of any problems . .s of Rune, 6:::, there have been about five
out of =:: customers who have had problems installing it, and we have gotten all of
those to work. <eel free to convey any suggestions for improvements to the program.

Pricing and U-dating. Information on price and updates of this software will be
posted on the software page at http"##members.aol.com#pidcontrol# .
Uninsta""ing. Cersion &.: is for Windows 95 and should be uninstallable using the
Windows procedures.
#'o!t. This software is published by"
traight)?ine !ontrol !o., Inc.
& 8ridle 8rook ?ane
/ewark, D, '9='')6::&, M.
Telephone" &:6)=&')3599
<a+" &:6)353)4599
,)mail" dwstclair*aol.com
http://members.aol.com/pidcontrol/
Histor3 of %odifications.
1ERSION ).1 Ranuary, 6:::. The changes from Cersion '.: to Cersion '.' include a fi+
on a flaw while printing plots made with different values for the number of calculation
steps, the printing of date and time and the addition of the -ption to change the time
scale. The changes from Cersion '.' to Cersion '.6 are the addition of Dead 8and and
Celocity ?imiting, along with ,+ercises '& and '3 to illustrate them. .lso additional
values have been added for the time scale multiplier and for the total number of
calculation steps. <or Cersion 6.: the !ascade !ontrol option has been added, along
with e+ercises to illustrate the key feature of cascade control. Cersion 6.' has modified
the presentation of the ,+ercises compared to 6.:. Cersion &.: is a &6)bit version of
Cersion 6.', for Windows 95 and up.
5/9/2014 5/9/2014 6
E6ERCISES
Introd!ction
These e+ercises are offered for the novice. <ell free to begin where you would like.
They are presented in the seDuence you would find in the reference material in
Controller Tuning and Control Loop Performance, a Primer, and relevant page numbers
are identified. Kou may want to start with the first ones, as they are described a bit
more fully and you will develop a techniDue for testing. Kou may or may not find it
convenient to use the Tab key to move the focus along on the te+t bo+es. Try it to see
if it helps you. .ll e+amples are for the controller and process options set for their
default conditions unless specified otherwise. These are"
Mnderdamped Fuadratic" <alse $/ot checked(
/oninteracting .lgorithm" <alse $/ot checked(
Derivative on ,rror" <alse $/ot checked(
Total !alculation teps" ':::$!hecked(
Mnfortunately the 1elp Window does not stay on top if you click off it to change
settings. Kou can bring the 1elp window back with .lt B Tab. -r you can bring 1elp
back a second time from the 0enu 8ar. !uriously it stays on top when you click off it
when brought up the second timeL . te+t bo+ is provided to simplify inserting the
settings recommended for the e+ercises. ,nter the number of the ,+ercise you want to
set up and hit Entr. If you donPt hit enter, for instance if you click in another te+t bo+,
the settings will not be changed. . message bo+ will appear to give a brief reminder
what that e+ercise is about. imply -G that. ome e+ercises need more e+planation
than is provided in the message bo+, so you will have to read the 1elp file again.
To access the ,+ercises on !ascade, click on !ontroller in the 0enu 8ar and then on
!ascade.
1. Error on Pro-ortiona" On"3
This e+ercise is to demonstrate the offset between setpoint and process that is inherent
without integral action as described on 7age 5 of the booklet. et the test conditions as
follows"
!ontroller
etpoint =:
Aain" :.6 $ Then :.3, :.5 and :.4(
$78" 5::(, $Then 65:, '55. and '65(
Integral Time" : $-ff(
$@eset @ate :(
Derivative" :
<ilter :
7rocess
Aain" 5
Dead Time" :.5
?ag '" '
?ag 6" :
Integrator" /o
5/9/2014 5/9/2014 7
!lick @un$or key .lt B @(. /otice the !ontrolled Cariable does not reach the setpoint.
Without clicking reset, increase the gain in the steps suggested above and click @un
again. /otice you cannot make the process stabili2e at the =:; setpoint before the
loop becomes unstable. This is an e+ample of the error that is always present without
integral action.
). Intgra" #ction4 O-n Loo-
This e+ercise is to convey what integral $reset( action does, open loop. It is discussed
on 7age 4 and reproduces <igure '.3 in the booklet. et the test conditions as follows"
!ontroller
etpoint 5:
Aain" '
$78" '::(
Integral Time" : $-ff(, $then ':, & and '(
$@eset @ate" :(, $then :.', :.&&& and '(
Derivative" :
<ilter :
7rocess
Aain" : $-pens the loop(
Dead Time" :.5 $ets the time scale for the plot(
?ag '" any
?ag 6" any
Integrator" either
!lick @un. The first conditions give you a base run on !ontroller -utput, with no
integral action. Without clicking @eset, change the integral time in the steps suggested
above. /otice the time it takes to HrepeatI the change due to proportional action is
eDual to the integral time.
+. Dri*ati* #ction4 O-n Loo-
This e+ercise shows what derivative action does. It is discussed on 7age '' and
reproduces <igure '.5 in the booklet. elect the -ptions S Derivative on ,rror. This will
change the label below the derivative te+t bo+. et the other test conditions as follows.
!ontroller
etpoint 55
Aain" '
$78 '::(
Integral Time" : $-ff(
$@eset @ate" :(
Derivative" : $Then ' and ':(
<ilter :
7rocess
Aain" : $-pens the loop(
Dead Time" :.5 $ets the time scale for the plot(
?ag '" any
?ag 6" any
5/9/2014 5/9/2014 8
Integrator" either
!lick @un. The first conditions suggested are with no derivative action, to show the
basic proportional response. etting the derivative time to ' and then ': demonstrates
what derivative action does to a step change.
,. 2asic C"osd7Loo- Rs-ons
This e+ercise is to demonstrate the basic response of a control loop without integral
action as you increase gain. It is discussed on 7age '= and mimics <igure 6.' in the
booklet. If you are trying these e+ercises in seDuence, I suggest you uncheck the
-ptionsSDerivative on ,rror, even though this e+ercise does not use derivative. The
label below the derivative te+t bo+ should read derivative on 7C. et the test conditions
as follows"
!ontroller
etpoint =:
Aain" :.' $ Then :.&, :.5 and '.'(
$78" ':::(, $Then &&&, '5= and 9:(
Integral Time" : $-ff(
$@eset @ate :(
Derivative" :
<ilter :
7rocess
Aain" 6
Dead Time" :.5
?ag '" :.5
?ag 6" :
Integrator" /o
These are not the e+act numbers used in the booklet. The gain is lower by ': to scale
the controller output to fit on the graph. !lick @un Without clicking @eset, increase the
gain in the steps suggested above and click @un again. This is Tuning ':'. If you
increase the gain the response is going to get more cyclic.
.. Effct of Intgra" #ction
This e+ercise is to demonstrate what typically happens when you use integral action. It
is discussed on 7age 6: and mimics <igure 6.6 in the booklet. et the test conditions
as follows"
!ontroller
etpoint =:
Aain" :.5
$78" '5=(
Integral Time" : $-ff(, $Then 6, ' and :.5(
$@eset @ate :(
Derivative" :
<ilter :
7rocess
Aain" 6
5/9/2014 5/9/2014 9
Dead Time" :.5
?ag '" :.5
?ag 6" :
Integrator" /o
!lick @un, to generate a base response. Then run with the suggested integral settings
and observe three things. The loop becomes more cyclic as the integral time is
decreased, the period of the cycle becomes longer and the error approaches 2ero. If
you decrease the integral time much more the loop will become unstable. Try it.
/. O-n7Loo- Tsting
This e+ercise is to demonstrate how to get the parameters for calculating the controller
settings from an open)loop response. It is discussed on 7age 6' in the booklet. It will
be helpful if you can print the response curve$s(. 7lace the controller on manual and
then set the test conditions as follows"
!ontroller
0anual -utput =:
7rocess
Aain" 6
Dead Time" :.5
?ag '" :.&
?ag 6" &
Integrator" /o
@un these conditions. The dead time, ?, will be about :.4 time units and the slope, @,
will be about a change of &3; in the output in &.6 time units. This needs to be
converted to the appropriate units. The step change in controller output was 6:;. The
slope, @, then is calculated as &3; output change#$6:; input change($&.6 time units( J
:.5& ; output#$; input($time(.
Msing the formula Gc J '#@? for aggressive tuning this would yield"
Gc J '#$:.4($:.5&( J 6.3.
Ao back to .uto with a etpoint of 5:; and a Aain of 6.3 $no Integral or Derivative(
and try it. /ot bad. 7erhaps a little too bouncy for some. !ut the gain in half and try
that. ?ike it betterO
/ow calculate the integral time from the formula Ti J 5?. This is Ti J 5$:.4( J 3. Try it
with the lower gain. /ot bad. <eel free to e+periment with settings for Gc and Ti to see if
you can get responses you like better. This becomes somewhat a matter of taste and
what you are trying to do with tuning, but the tuning rules certainly put you in a good
starting place.
The derivative setting $if used( would be calculated from Td J ?#6. This would be Td
J:.4#6 J :.3. Kou won>t notice much difference with the more conservative gain but
compare the responses with and without derivative at the higher gain of 6.3. The
derivative $when properly set( acts to stabili2e the loop.
5/9/2014 5/9/2014 10
8. T!ning Form!"a 1ariation
Auidelines on tuning often make a point of a special case for modifying the formulas,
and my booklet is no e+ception. The sub%ect is discussed on 7age 66 of the booklet.
The following settings illustrate the point.
et up the process on manual as follows"
!ontroller
0anual -utput =:
7rocess
Aain" 6
Dead Time" :.5
?ag '" :.&
?ag 6" :
Integrator" /o
@un these conditions. The dead time, ?, will be about :.5 time units and the slope, @,
will be a change of '::; in the output in about :.9 time units. This needs to be
converted to the appropriate units. The step change in controller was 6:;. The slope,
@, then is calculated as '::; output change#$6:; input change($:.9 time units( J 5.5
; output#$; input($time(.
Msing the formula Gc J '#@? for aggressive tuning this would yield"
Gc J '#$:.5($5.5( J :.&5.
Ao back to .uto with a etpoint of 5:; and a gain of :.&5 and try it. /ot very
aggressive is itL Kou can double the gain and still be stable, though not very. Kou could
not have done that in the last e+ercise.
/ow calculate the integral time from the formula Ti J 5?. This is"
Ti J 5$:.5( J 6.5
Try it. till %ust as stable isn>t it. Decrease Ti in steps of two, say to '.6 and :.5. ee
how much more aggressive you can be with TiL The formulas given in the booklet for
the settings are"
Gc J '#&@? J '#&T5.5T:.5 J :.'6
Ti J T5& J :.&.
/ot bad. The point is not necessarily to use the e+act formulas but to reali2e that for
such processes you should consider using less gain and a ?-T more integral action
than the basic formulas suggest.
/ormally derivative is of little use on processes dominated by dead time. Kou can
e+periment with settings to see what you learn, reali2ing that since we have no noise
built into this simulation you are likely to achieve somewhat better results than you can
e+pect in real life. If you get real e+cited about having honed in on some settings for
5/9/2014 5/9/2014 11
setpoint changes, switch to making a load change instead of a setpoint change and
see if you are still pleased.
9. %a:im!m Error for Load C&angs
This e+ercise is to demonstrate what you can do about the ma+imum error for a step
load change, as discussed on 7age &6 of the booklet.. It will produce response curves
similar to those in <igure &.' in the booklet. et the test conditions as follows"
!ontroller
etpoint 5:
Aain" :.:6
$78" 5:::
Integral Time" : $-ff(
$@eset @ate :(
Derivative" :
<ilter :
7rocess
Aain" 5
Dead Time" :.5
?ag '" :.5
?ag 6" &
Integrator" /o
?oad !hange ':
@un these conditions. While the controller is still on automatic the gain has been set so
low that the response to the upset is essentially what it would be without control. /ow
use gains of :.6, '. and '.5. The run with the last gain is essentially the ultimate gain,
producing a natural period of about 3 time units $the apparent dead time is about '(.
-bserve that the ma+imum error occurs at a time slightly after half the natural period or
twice the apparent dead time. .lso observe that the response curve up to that point is
essentially what it would have been with no control.
/o e+ercise is outlined to produce the results similar to <igure &.6, which is the same
as this e+ercise but with integral action. <eel free to e+periment on your own.
;. Nat!ra" Priod and Dad Tim
This e+ercise is specifically designed to illustrate the relationship between dead time
and the natural period. The booklet discussed it on 7age &5. It reproduces <igure &.3 in
the booklet. <or the pure dead time only case, set up the parameters as follows"
!ontroller
etpoint =:
Aain" :.65
$78" 3::(
Integral Time" : $-ff(
$@eset @ate :(
Derivative" :
<ilter :
7rocess
5/9/2014 5/9/2014 12
Aain" 3
Dead Time" '
?ag '" :
?ag 6" :
Integrator" /o
<rom the lag settings you can tell that a pure dead time process has been set up. @un
an open)loop test only if you feel the need to, otherwise simply run the conditions. .
cycle will result, with a period twice the dead time. /otice, for your insight, that the
controller gain times the process gain is one. The actual period shown is a tad longer.
The is the result of simulation appro+imations. This would be an interesting place to try
varying the -ption S Total !alculation teps. Try the values from 6::: to 65: to see the
result. 8e sure to leave it at ':::, where you found it, until you are more acDuainted
with its effect.
/ow change the process to have an integrator, but leave all the other settings the
same. ,+periment with different Aain settings to get a sustained cycle for a etpoint
change. Kou will find the natural period to be 3.
<eel free to try a variety of lags , with and without the integrator, estimate the dead time
visually, then use the closed)loop method to find the natural period to see how close it
is to 3?
10. Procss Gain
This e+ercise is to illustrate what process gain is. This is discussed on 7age 3= and
reproduces <igure 3.4 in the booklet. 7lace the controller in manual and set the
process parameters as follows"
!ontroller
0anual -utput 5:
7rocess
Aain" 6 $Then 3(
Dead Time" '
?ag '" 6
?ag 6" :
Integrator" /o
@un these conditions. !hange the process gain to 3 and @un again. The point is that
the process gain does not change any of the lags. Kou could use a 0anual -utput of
=:; and a 7rocess Aain of 6 and get the same result, but this would trace over the
response you %ust got. 7ut in a manual -utput of &:; $6:; below 5:;( and run with a
7rocess Aain of 6. The result is %ust the mirror image of the previous response.
11. Dam-ning Nois3 %as!rmnts
This software does not include a provision to in%ect noise in the measurement, so a full
demonstration of filtering cannot be made. The sub%ect is discussed on 7age ==. There
are two points to be made about the <ilter setting which is provided in many if not all
digitally)based controllers. -ne is that it slows down the loop, makes the natural period
5/9/2014 5/9/2014 13
longer. The other is that, to some e+tent, the measurement you see is a lie. The actual
variations are larger than the controller sees. This latter point cannot be fully
demonstrated with this software, since no provision is made to plot before and after the
filter. .n e+ercise is provided to show something about what the <ilter does.
!ontroller
etpoint =:
Aain" :.3
$78" 65:(
Integral Time" : $-ff(
$@eset @ate :(
Derivative" :
<ilter : $Then :.6, :.3, :.4(
7rocess
Aain" 5
Dead Time" :.5
?ag '" '
?ag 6" :
Integrator" /o
@un these conditions. The response will show a small overshoot. /ow insert <ilter
values of :.', :.6 and :.&. /otice that this makes the response somewhat slower and
more cyclic.
To illustrate that what the controller sees is not the real thing a fudged e+ample will be
used. Mse the same settings, with <ilter set to :, but put in a ?oad !hange of ':;.
/ow set"
?ag ' J :
<ilter J '.
This does not change the dynamics of the loop. . lag of ' was taken out somewhere
and put in elsewhere. /ow make the same ?oad !hange of ':;. /otice that the
!ontrolled Cariable shows a much greater e+cursion, but the !ontroller -utput traced
over the same curve as before. -ne response is the filtered version of the other.
1). Intgrating Procss 5it& Intgra" #ction
The booklet points out on 7age 66 that if the response time is short relative to the dead
time, then much more integral action can be used than the general tuning rules would
indicate. The opposite situation is not discussed there. The reverse is true when the
response time is long relative to the dead time. The e+treme case of this is with an
integrating process. et up the following test conditions"
!ontroller
etpoint 5:
Aain" :.=5
$78" '&&
Integral Time" : $-ff(
$@eset @ate :(
Derivative" :
5/9/2014 5/9/2014 14
<ilter :
7rocess
Aain" 6
Dead Time" :.5
?ag '" :
?ag 6" :
Integrator" Kes
@un these conditions. The response will overshoot slightly. Then use the closed)loop
tuning method to determine Gcu and 7n. These should turn out to be about '.5 and 6
respectively. The tuning rules would call for a gain of :.=5 to :.3 and an integral time of
6.3. Try a gain of :.=5. ?ooks -G. Try a setting of 6.3 for Integral Time. till -G. /ow
decrease the Integral Time. Kou will learn the process is far less tolerant of integral
times significantly shorter than the rules recommend. This is the opposite of the
process described in ,+ercise =.
1+. Dad 2and
Dead band, usually in the valve, is one of the main reasons why control loops do not
perform Duite like the te+t book says they should. This is discussed In the booklet on
pages 54 and 59. et up the following test conditions"
!ontroller
etpoint =:;
Aain" 5
$78( 6:
Integral Time" 3
$@eset @ate :.65(
Derivative" :
<ilter :
7rocess
Aain" 5
Dead Time" :.'
?ag '" '
?ag 6" ':
Integrator" /o
-ptions
Total !alculation teps" &:::
Time cale" 3E Default
@un these conditions. This will give a somewhat underdamped response to a step
change in set point. The Time cale has been lengthened to show the continued
cycling which will often occur with Dead 8and, and the Total !alculation teps are
increased to compensate for the loss in calculation accuracy as the time scale is
increased. .fter this response is run, click on Calve <eatures#Dead 8and and @un.
/otice the continued cycling. Then increase the Integral Time to 4 and '5 and notice
that the cycle period becomes longer. Kou might want to try 2ero Integral time to see
that the cycle stops, even though it takes a while. This demonstration is ideali2ed. DonPt
e+pect such nice regular behavior in practice. -ften a valve will e+hibit QstictionQ, which
is a word used to mean the valve moves in %erks. There is no demonstration for this
phenomenon.
5/9/2014 5/9/2014 15
1,. 1"ocit3 Limiting
The potential problem with Celocity ?imiting is described on pages 5= and 54. 8asically
the problem is that if one of the smaller lags in a loop velocity limits then it starts to look
like a larger lag and the loop may cycle. This phenomenon can e+plain why some loops
are stable for small upsets and unstable for large. The e+ercise sets up the following
conditions.
!ontroller
etpoint =:;
Aain" 6
$78( 5:
Integral Time" 6
$@eset @ate :.5(
Derivative" :
<ilter :
7rocess
Aain" ':
Dead Time" :.'
?ag '" :.5
?ag 6" ':
Integrator" /o
-ptions
Celocity ?imiting at '::;#Time
@un the conditions set up. It cycles. Then click off the Celocity ?imiting and rerun. It is
stable. /ow return to the Celocity ?imiting case and reverse the values for ?ag' and
?ag6. It is now stable. In the programming code the velocity limiting is applied to the
first lag. Kou may want to e+periment in 0anual with Celocity ?imiting, putting in values
for ?ag' and ?ag6, to see what happens.
1.. Undrdam-d 0!adratic
This e+ercise is not covered in the booklet. It has been provided by Rohn Aerry of
,+perTune. The underdamped Duadratic is useful for e+ploring cascade loops. The
secondary $or inner( loop often has the response of an underdamped Duadratic. When
the output of the primary $or outer( loop changes, it is ad%usting the setpoint of the
secondary $or inner( loop. To view a typical setpoint response of the secondary loop set
it up as follows"
<rom the menu select Fuadratic and check Mnderdamped Fuadratic.
!ontroller
0anual -utput 4:
7rocess
Aain" '
Dead Time" :.'
Damping 7eriod" &
Damping <actor" :.65
Integrator" /o
5/9/2014 5/9/2014 16
@un these conditions. The !ontrolled Cariable response will look like a closed loop
response to a setpoint change for an aggressively tuned loop. Ciew this as the
secondary loop in a cascade system. /ow set the Dead Time to 6, to simulate that
dead time in the primary loop that is not in the secondary loop. @un the step response
in 0anual again to confirm that the response is simply delayed by 6.
@eturn to .utomatic and tune the loop, using the closed)loop approach. Kou will
probably decide the gain should be about .& or .3, and the Integral Time about 3. Try
both etpoint changes and ?oad !hanges. ?ooks reasonable, doesnPt it. Kou might
even think of this as a case close to ,+ample =, for which you would be %ustified in
using a shorter Integral Time of around '. Try it.
/e+t, decrease the Dead Time to ' and @un. Kou would think that with less dead time it
would be more stable. It isnPt. The point is that tuning these kind of loops can be tricky,
where increasing or decreasing dead time can make you unstable. Kou probably want
to avoid this if you can. -ne option is to simply decrease the controller gain. This
reduces the effect but does not eliminate it, and the response is slower.
The best solution to this kind of QproblemQ is to tune or ad%ust the secondary $or inner(
loop so it does not overshoot this much to setpoint. There are two ways to do this"
either by detuning the secondary loop or by selecting a controller algorithm for that loop
for which the controller gain operates on the controlled variable rather than the error.
The latter is probably preferred, since you donPt sacrifice performance.
<or more 7ID controller information see http"##www.e+pertune.com#tips
$c( '994 ,+perTune Inc. $3'3( 564)::44
1/. Cascad Contro" Scondar3 Loo-
The primary benefit of using cascade control will be illustrated using three ,+ercises.
This e+ercise demonstrates the ability of the econdary !ontroller to keep the effect of
a load change to a small value. This ,+ercise sets up the following conditions"
Time cale 3E Default
econdary controller
0ode .uto
econdary et 7oint 5:
econdary !ontroller Aain 6
$78( 5:
econdary !ontroller Integral Time 6
$@eset @ate :.5(
?oad !hange ':
econdary 7rocess
econdary 7rocess Dead Time :.5
econdary 7rocess ?ag ' '
econdary !ontroller ?ag 6 :
7rimary 7rocess
5/9/2014 5/9/2014 17
7rimary 7rocess Aain 5
7rimary 7rocess Dead Time '
7rimary 7rocess ?ag ' '
7rimary 7rocess ?ag 6 &
7rimary 7rocess Integrator -ff
The Time cale has been set for 3E the default case because of test conditions to
follow in ,+ercises '= and '4. @un this case and observe the response to a ?oad
!hange. The controller settings used may not be what you would choose, but are
%udged representative. If you wish, try different settings. Then run the ne+t ,+ercise.
18. Cascad Contro"4 Primar3 Loo-
This ,+ercise uses the conditions set up for ,+ercise '5 but with the econdary
!ontroller set to !ascade. The following conditions are set"
Time cale 3E Default
7rimary !ontroller
7rimary !ontroller et 7oint 5:
7rimary !ontroller Aain :.65
$78( 3::
7rimary !ontroller Integral Time ':
$@eset @ate :.'(
7rimary !ontroller Derivative Time :
7rimary !ontroller <ilter :
econdary !ontroller
0ode !ascade
econdary et 7oint 5:
econdary !ontroller Aain 6
$78( 5:
econdary !ontroller Integral Time 6
$@eset @ate :.5(
?oad !hange ':
econdary 7rocess
econdary 7rocess Dead Time :.5
econdary 7rocess ?ag ' '
econdary !ontroller ?ag 6 :
7rimary 7rocess
7rimary 7rocess Aain 5
7rimary 7rocess Dead Time '
7rimary 7rocess ?ag ' '
7rimary 7rocess ?ag 6 &
7rimary 7rocess Integrator -ff
The Time cale has been set for 3E the default case to be consistent with ,+ercise '5.
@un this case and observe the response to a ?oad !hange. The controller settings
used may not be what you would choose, but are %udged representative. <eel free to try
different settings.
19. Sing" Loo-4 Com-ard to Cascad Contro"
5/9/2014 5/9/2014 18
This e+ercise uses the same process set up for ,+ercise '5 but with no econdary
!ontroller. The purpose is to show how much greater the error after a load change is
when there is no secondary controller to catch the upset early. The following conditions
are set"
Time cale 3E Default
7rimary !ontroller
0ode ingle ?oop $?(
7rimary !ontroller et 7oint 5:
7rimary !ontroller Aain :.65
$78( 3::
7rimary !ontroller Integral Time ':
$@eset @ate :.'(
7rimary !ontroller Derivative Time :
7rimary !ontroller <ilter :
?oad !hange ':
econdary !ontroller
econdary 7rocess Dead Time :.5
econdary 7rocess ?ag ' '
econdary !ontroller ?ag 6 :
7rimary 7rocess
7rimary 7rocess Aain 5
7rimary 7rocess Dead Time '
7rimary 7rocess ?ag ' '
7rimary 7rocess ?ag 6 &
7rimary 7rocess Integrator -ff
The Time cale has been set for 3E the default case to be consistent with ,+ercise '5.
@un this case and observe the response to a ?oad !hange. The controller settings
used may not be what you would choose, but are %udged representative. <eel free to try
different settings. Kou may want to run ,+ercise '= and then '4 without clicking @eset,
but you will have to do it without using the ,+ercise number, as that will automatically
reset the plot.
5/9/2014 5/9/2014 19

Potrebbero piacerti anche