Today is...
Thursday, January 18, 2018
Welcome to Control.com, the global online
community of automation professionals.
Featured Video...
EtherCAT with CTC’s master lets your multivendor network play well together...
Help keep our servers running...
PID loops
I've just automated a 50 foot long rotary kiln for the drying of coal. Now I am deeply researching PID loops. I need to adjust a gas valve to maintain a set point temperature coming out of the dryer...
By Robert Wedlock on 23 November, 1999 - 4:19 pm

(Originally posted Fri 11/07/97) Howdy!

I've just automated a 50 foot long rotary kiln for the drying of
coal. Now I am deeply researching PID loops. I need to adjust a
gas valve to maintain a set point temperature coming out of the
dryer... I was wondering if anybody might be able to send me any
PID setting that they know have worked and maybe a little about
the application they were in. I'm thinking I need to have a large
derivative term, small integral term and somewhere in the middle
for the proportional. But I'd like to study some examples.

This is a SLC 5/03.

THANKS!

By Steven Landau on 23 November, 1999 - 4:26 pm

(Originally posted Fri 11/07/97)
This is the way I do it.

1) Set I & D to minimum (SLC cant go to zero)
2) Increase until it just starts to oscillate
3) Reduce gain to 1/2 of oscillation Gain
4) Set I to 2 X period of oscillation
5) then only if required set D to 1/8 of I value.

This is from the help in RSLOGIX500 software it usually works fine
for me.

If the loop off of perfect tuing is costing big \$\$ if lost efficiency,
they spent the money to buy Loop tuning software.

Check to make sure your actuator (output device) is linear. If there
is any backlash in the valve actuator, or control acutator, check this
by plotting controller output vs. measured variable on XY in MMI.
If you get a circle then this may be your problem.

This is a "non math" method I use for loop tuning.

Omega Catalog (temperature) has a similar method listed.

Steve

By Alfredo Espinosa on 23 November, 1999 - 4:27 pm

(Originally posted Fri 11/07/97)
Robert,

You can get information and many examples about PID in:

1) Hang, Lee, Ho, "Adaptive Control", (ISA, 1993)

2) Rovira, Murril, Smith, "Tuning Controllers for setpoint changes",
(Control Engineer, Dec. 1969), pp. 67-69

3) Arruti, Flores, "Introduccion al diseño de controladores PID
digitales (1)", (Automatica e instrumentacion, 1986), pp. 155-159
(In spanish)

4) Stephanopoulos, "Chemical Process Control", (Prentice Hall, 1984)

5) Igermann, "Digital Control Systems", (Spring-Verlay, NY 1981)

6) Kraus, Myron, "Self-Tuning PID Controller Uses Patern Recognition
Approach", (Control Engeneering, Jul. 1984), pp. 106-111

Alfredo Espinosa Reza
Instituto de Investigaciones Electricas

By Jeff Goldsmith on 23 November, 1999 - 4:28 pm

(Originally posted Fri 11/07/97)
Robert:

I think that you're more likely to have most of the control
coming from integral action (reset), with some proportional
action (gain), and little or no derivative action (rate).

While the Allen-Bradley PLC-5 offers the ability to select
between "independent" and "dependent" PID equations, the PID
instruction for the SLC-5/03 and SLC-5/04 uses a "dependent"
equation, where reset and rate actions are proportional to
the gain action. This makes it difficult to get good control
when integral control is dominant.

I've had very good results recently using my own math in CPT
instructions to do PID control. It basically consists of a
subroutine that runs at an interval determined by a transition
of one for the bits in the S:4 real time clock. I do an IIM to
gain and reset terms, and apply limits the reset term. For
"bumpless" auto/manual operation, I add the two terms to get the
control output when in auto, and I subtract the gain term from
the control output to set the reset term when in manual. Then
I do an IOM to set the analog output.

If you'll send me your fax number, I can send you a copy of the
code.

Jeff M. Goldsmith, PE
Ionics Incorporated
Watertown, MA, USA

By Gene Giltner on 23 November, 1999 - 4:29 pm

(Originally posted Mon 11/10/97)
Robert

Why not take it one step farther? Set the temperature setpoint to
reduce the moisture variations of the coal. Measure the moisture
content of the coal as it is being dried and send supervisory setpoints
to the temperature control loop. I just finished a rotary dryer taht was
very well instrumented. At that dryer application we reduced the
moister variations by 60%.

By the way, to tune the loop get a ExpertTune from Allen-Bradley.

Gene

(Originally posted Mon 11/10/97)
I first must assume this is a motor actuated rotary valve of some
kind rather than a solenoid valve.

A 'large' derivative term might just be exactly what you DON'T want.
Consider that an Integral:Derivative ratio greater than 4:1 is almost
guaranteed to oscillate. Next, look for the presence of a dominant
transport lag. In a lot of gas fired air heating applications there
is transportation of hot air to the sensor. The time taken for the
air to reach the sensor causes a dominant lag with no dissipation in
heat - Derivative will kill you if this is the case. Whereas Derivative
is of great benefit in conduction heated systems (nice and linear)
you will actually set up an oscillation by virtue of the Derivative
term. The next thing you must consider wrt gas heated systems is the
dynamics of the valve. Derivative may ask for output (actuator)
changes that the mechanics just cannot achieve. We won't even talk
backlash.

You probably need a large Prop Band and an Integral term about twice
the motor travel time as a starting point. If you can throw the loop
into oscillation, great, the period of oscillation can be used as the
Integral term and then just fiddle the PB until you get it right.

Regards,
Mitch

D. Mitchell Carr, Strategic Marketing Manager
Eurotherm Controls Inc

By Jeff Goldsmith on 23 November, 1999 - 4:32 pm

(Originally posted Thu 11/13/97)
Robert:

One thing that you must be careful with is the impact of larger
tuning parameter settings in a PID controller. It's often
confusing (this is very true for the Allen-Bradley PID instruction)
whether a larger number represents more control action or less
control action.

The proportional term is usually called "proportional band" or
"gain". These have reciprocal actions, and the typical
relationship is PB=100/Gain. For PB (the unit is usually percent),
an increased value represents less control action. For Gain, an
increased value represents more control action.

The integral term is usually called "reset", "resets per minute",
or "minutes per reset". The latter two are reciprocals, while
the first could be either. For R/M, an increased value represents
more control action. For M/R, an increased value represents less
control action.

It's important to study your controller documentation carefully.
The A-B PID instruction supposedly uses Gain and M/R, so big
numbers represent increased proportional action and decreased
integral action. However, because the SLC-5/03 PID instruction
uses a dependent PID equation, you can't get much integral action
if the Gain parameter is small.

Gain and Resets/Minute. It's so much less confusing when a
larger number represents more control action, and zero represents
no control action.

Jeff M. Goldsmith, PE (jgoldsmith@ionics.com)
Ionics Incorporated
Watertown, MA, USA

(Originally posted Thu 11/13/97)
> To anyone out there who's coding PID: Please, Please, Please use Gain and Resets/Minute. It's so much less confusing when a larger number represents more control action, and zero represents no control action. <

Jeff,
With all due respect, I haven't seen it done this way in years - at least not with respect to temperature PID. For a start, it is *P*ID, not *G*ID. Prop Band has classically been in percent of span which goes back to the old puff and blow systems and all that mechanical yuck. At least in temperature we have seen that span is pretty cruel since it is based on sensor range and thermocouples don't die at convenient even multiples of ten. For this reason, you are seeing more and more instruments with Pb in engineering units. Gain may be sensible as well but Gain, by definition is not Prop Band but the inverse. As for Resets per minute ... If the controller has automatic Reset then OK, express it in Resets per minute but heck, again it is P*I*D and I is Integral Time Constant and time constants are expressed in seconds or minutes.

Derivative managed to escape all this, probably because it is such as new concept (only thirty or forty years) ;-) but then it all comes down to a matter of interpretation. I do have an engineer who, at one time, thought it stood for 'Pelvic Inflamatory Disease'.

Cheers,
Mitch

D. Mitchell Carr, Strategic Marketing Manager
Eurotherm Controls Inc

By Kurt O. Monnig on 23 November, 1999 - 4:41 pm

>Gain and Resets/Minute. It's so much less confusing when a
>larger number represents more control action, and zero represents
>no control action.

>Jeff M. Goldsmith, PE (jgoldsmith@ionics.com)

Great Idea!

For those of us who are not theory purists, it is a LOT easier to understand, use and explain when implemented in this fashion:

Just think of it as three radio dials - adjust the Gain dial until you are close. Use the Integral dial to get closer. If you need faster response, turn up the Derivative dial.

When you are under pressure to get the line running, this makes life easier.

Kurt O. Monnig, CMfgE
Automation Horizons, Inc.
K_O_Monnig@compuserve.com

By John Rezabek on 24 November, 1999 - 9:49 am

(Originally posted Thu 12/04/97)
> Just think of it as three radio dials - adjust the Gain dial until you are close. Use the Integral dial to get closer. If you need faster response, turn up the Derivative dial.<

Kurt,

derivative more in terms of ensuring less overshoot.

My favorite analogy for derivative is the ferry boat driver (who aims
for zero overshoot). As he approaches his destination / docking point,
he throws the engine into reverse (forgive me for my ignorance of the
proper nautical terms). This is how derivative works. Yes I suppose
the principle allows the ferry driver to make his crossing more
quickly ...... but only in a zero-overshoot or minimal overshoot
scenario.

Derivative action works off the rate-of-change of the error (Setpoint
minus PV). When the PV (controlled variable) is approaching setpoint,
the error rate of chage is negative (its "sign" is negative - the
error is getting smaller). So when the PV is approaching setpoint, the
derivative term acts to "back off" on the manipulated variable. When
the PV is moving away from setpoint, the derivative term adds more MV.
The steeper the approach toward setpoint, the more derivative "puts on
the brakes".

Regards,
John Rezabek
rezabejd@bp.com
BP Oil Lima Refinery

(Originally posted Thu 12/04/97)
John Rezabek wrote:
> derivative more in terms of ensuring less overshoot.

Ah, the pitfall. John, it is common for people to believe D is for
overshoot and for many years it was all most of us had. Nowadays we
have a technology base that can differentiate large signal response
from small signal response. Derivative has a great stabilizing
effect even when you look at the Bode plots (theory works this time).
To use it effectively for overshoot you also have to seriously
methods now for overshoot. The Fuzzy folks create phantom setpoints
or use setpoint ramping while others restrict or switch on the
various terms at intermediate points in an attempt to curb overshoot.
We have a method I can't describe that allows you to 'tune' your
overshoot but all of these techniques work pretty well. More than
their usefullness to curb overshoot, they allow you to really crank
down on the PID terms to give radically improved small signal
response.

Regards,
Mitch

D. Mitchell Carr, Strategic Marketing Manager
Eurotherm Controls Inc

By Scott Efting on 24 November, 1999 - 10:04 am

(Originally posted Thu 12/04/97)
John

It's been my experience that derivative that operates on the error between
setpoint and the process signal is not practical when you have setpoint that
varies. Every time you change the setpoint the D section see this as a
rapidly changing error and gives a big kick to output causing the process to
become unstable. Derivative that operates on only how quickly the process
variable is changing is much more effective. This type aids on setpoint

Scott Efting
Process Instructor
Consummers Energy

By Vitor Finkel on 24 November, 1999 - 10:38 am

(Originally posted Fri 12/05/97)
>derivative more in terms of ensuring less overshoot.
>
>My favorite analogy for derivative is the ferry boat driver (who aims
>for zero overshoot). As he approaches his destination / docking point,
>he throws the engine into reverse (forgive me for my ignorance of the
>proper nautical terms). This is how derivative works. Yes I suppose
>the principle allows the ferry driver to make his crossing more
>quickly ...... but only in a zero-overshoot or minimal overshoot
>scenario.

Sorry, but from my point of view, your example matches better
a feed-forward then derivative action.

>Derivative action works off the rate-of-change of the error (Setpoint
>minus PV). When the PV (controlled variable) is approaching setpoint,
>the error rate of chage is negative (its "sign" is negative - the
>error is getting smaller). So when the PV is approaching setpoint, the
>derivative term acts to "back off" on the manipulated variable.

Not exacly, it does what it is intended to do, regardless of "approaching
set point" or not. It does not notice how far away from set point you are.
It only notices the speed of change and it's direction. If it is changing
upwards, Derivative says go down, if it is changing fast, derivative says
go qwickly the other way. If changes are really slow, derivative don't care
about it. When the error is Positive, derivative "correction" is negative,
and vice-versa, regardless of error size, it depends upon error propagation
speed only, to put it bluntly, IMHO.

>When the PV is moving away from setpoint, the derivative term adds more MV.
>The steeper the approach toward setpoint, the more derivative "puts on
>the brakes".

The Stepper it goes away from the set-point, derivative says come back here,
don't go away. It tries to counteract any qwick changes of the variable.
The faster the change, the stronger the derivative action. Always pulling
on opposite direction to variable speed, always trying to reduce the speed
of output change, regardless of the fact that error is positive or negative.

Vitor Finkel
P.O. Box 16061
22222.970 Rio de Janeiro Brazil

By John Rezabek on 24 November, 1999 - 11:12 am

(Originally posted Fri 12/05/97)
Dear Vitor,

You are correct that my analogy is flawed . . . for the ferry boat pilot
doesn't reverse his engines in the midst of his crossing, when his
"error-rate-of-change" is easily greater or equal to that when he's
approaching his destination.

Close to shore, however, he would be reversing them "more" if he were
approaching fast, and "less" if he were approaching slowly, etc. A
little like derivative anyhow. Haven't heard any better analogies have
you?

> regardless of "approaching set point" or not. It does not notice how
far away from set point you are

You overreact a bit to my use of "approaching"; I simply mean "moving
toward"; "when the error is getting smaller". Inasmuch as the error and
the sign of the derivative depends on the setpoint, derivative "cares"
about it. Otherwise I think we're saying the same thing.

> Always pulling on opposite direction to variable speed, always trying
to reduce the speed of output change

> When the error is Positive, derivative "correction" is negative, and
vice-versa

hmmm this is hard to describe without a good illustration. Imagine a
trend of setpoint and PV in closed loop, underdamped response, positive
SP change. Divide the trend into four initial regions, with a boundary
each time PV crosses setpoint and each time the de/dt is zero. (Four
divisions per "cycle") If we tabulate the "signs" of each term ( P , I ,
D ) in these regions:

Region I: e positive; int(e)dt positive; de/dt negative (initial move
"up")
Region II: e negative; int(e)dt negative; de/dt positive (initial
overshoot)
Region III: e negative; int(e)dt negative; de/dt negative (quarter-wave
Region IV: e positive; int(e)dt positive; de/dt positive (quarter-wave
"undershoot")

I'm not sure about the "sign" of the integral per se; but I think what I
say is true of the "incremental" contribution of the integral term.

These "regions" repeat each cycle. Half the time, the sign of the
derivative term is the same as the proportional term (and the error).
While I also like to think (as you state) that derivative always resists
movement away from setpoint, it seems that this isn't always the case??
Half the time its sign is the same as the error...

Best Regards,
John Rezabek
rezabejd@bp.com
BP Oil Lima Refinery

By Vitor S. Finkel on 30 November, 1999 - 5:04 pm

(Originally posted Mon 12/08/97)
>You are correct that my analogy is flawed . . . for the ferry boat pilot
>doesn't reverse his engines in the midst of his crossing, when his
>"error-rate-of-change" is easily greater or equal to that when he's
>approaching his destination.
>
>Close to shore, however, he would be reversing them "more" if he were
>approaching fast, and "less" if he were approaching slowly, etc. A
>little like derivative anyhow. Haven't heard any better analogies have
>you?

Dear John,
Sorry, can't help you at that. Out of better analogies for the moment.

>> regardless of "approaching set point" or not. It does not notice how
>far away from set point you are

>You overreact a bit to my use of "approaching"; I simply mean "moving
>toward"; "when the error is getting smaller". Inasmuch as the error and
>the sign of the derivative depends on the setpoint, derivative "cares"
>about it. Otherwise I think we're saying the same thing.

Derivative alone depends only on error speed, not on error magnitude.
It doesn't care if error is getting smaller or bigger. What you are
describing is the behaviour of the Derivative + Gain interaction.

>> Always pulling on opposite direction to variable speed, always trying
>to reduce the speed of output change

>> When the error is Positive, derivative "correction" is negative, and
>vice-versa

I dont think so. Where error ( positive or negative ) is going up,
derivative pulls it down, and converselly.
It doesn't mind the error amplitude or sign, instead of to error it
really reacts to speed and direction of measured variable, not to the
error.

>hmmm this is hard to describe without a good illustration. Imagine a
>trend of setpoint and PV in closed loop, underdamped response, positive
>SP change. Divide the trend into four initial regions, with a boundary
>each time PV crosses setpoint and each time the de/dt is zero. (Four
>divisions per "cycle") If we tabulate the "signs" of each term ( P , I ,
>D ) in these regions:

>Region I: e positive; int(e)dt positive; de/dt negative (initial move
>"up")
>Region II: e negative; int(e)dt negative; de/dt positive (initial
>overshoot)
>Region III: e negative; int(e)dt negative; de/dt negative (quarter-wave
>Region IV: e positive; int(e)dt positive; de/dt positive (quarter-wave
>"undershoot")

Sorry, now you've got me completelly lost...

>I'm not sure about the "sign" of the integral per se; but I think what I
>say is true of the "incremental" contribution of the integral term.

Integral slowly pulls variable towards set-point, reducing error.
Derivative does not recognize error, but try to compensate any sudden
changes in variable absolute value.
If you compare your variable to a boat in the middle of a lake, derivative
could be the water resistance (drag). The faster you try to go, the more
it will resist you, werever you are going to, approaching or getting away
from docking point, it doesn't care. Move slowly if you don't want to feel
derivative in action.

>These "regions" repeat each cycle. Half the time, the sign of the
>derivative term is the same as the proportional term (and the error).
>While I also like to think (as you state) that derivative always resists
>movement away from setpoint, it seems that this isn't always the case??
>Half the time its sign is the same as the error . . .

Sorry, I think I diverge here. "Derivative always resists movement".
(Period)
It doesn't care if movement is away or towards set point. Resistance
will be larger when PV change ( speed ) is larger, regardless if
PV is approaching or going away from set-point.

Take Care, I've seen as many discussions on P,I,D behaviour as on WINDOWS
( any flavour ) against any other operational system as to be adequate
for Control.

Vitor Finkel vfinkel@ibm.net
P.O. Box 16061 tel (+55) 21 285-5641
22222.970 Rio de Janeiro Brazil

By Alan Cowley on 30 November, 1999 - 5:08 pm

(Originally posted Tue 12/09/97)
Vitor, John

I am following with interest your discussion on the correct way to
understand the operation of the classic PID loop controller, with
endless PID discussion wars is well put - I hope my thoughts below
do not stir controversy:-)

I suggest that a large part of the difficulty is directly due to the
fact that the PID controller is a theoretical model for MAINTAINING
a steady state. In this case a deviation of the measured variable
from its desired (steady) value is corrected by changing the value
of a (single) controlled variable.

In this situation the first intuitive action is to change the
controlled variable in the direction that will oppose the detected
change in measured variable and by an amount that is proportional to
the error - this is Proportional Action.

The second intuitive action is to compensate for the fact that with
Proportional Action alone there can be no static correction without
a static error. Therefore PA on its own will frequently result in an
offset between the desired value and the measured value. This is
corrected by "re-setting" the controlled variable to the point where
the (average) error is returned to zero. This is done by the
Integral Action term.

The third intuitive action is to "notice" when the error is changing
and to try to "anticipate" the control action that will be
necessary. This is the function of the Derivative Action term, a
primitive type of feed-forward.

The whole concept relies on the premise that the system under
control is (approximately) linear and that any deviation of
measured value from desired value is due to an unwanted disturbance
to the system under control.

When this second assumption is not correct, as in the case where a
sudden change in desired value (setpoint) is deliberately made, the
PID controller is out of its element. The degree to which it can
cope depends on the particular characteristics of the system under
control and the compromise which the control engineer makes in
setting the three control terms.

When the MAIN goal of the control system design is to handle
deliberate changes to setpoint the PID controller needs a lot of
help! Typically the measure of "goodness" of control in this case
has to do with the trajectory traced by the measured variable in
reaching the new setpoint.

While minimum time to reach and remain within the new target
measurement band may be the important parameter it is not always so.
The "best" trajectory may be the one that achieves the change with
least energy; least plant stress (eg thermal stress); least lost
product - or a specific shape of measured variable/time graph. In
most cases trajectory control needs a more complex model-based
controller (of course the PID is itself a simple model-based controller).

The particular analogy (or system) used in thinking about the issues
will tend to shape the conclusions reached, but the basic principles
remain the same. The "docking boat" analogy suffers from the
difficulty that there are TWO controlled variables, speed and
position, which BOTH have to be brought to pre-defined setpoints at
the same time. The difficulty is compounded by the additional fact
that one of these controlled variables is the derivative of the
other! This is the test of a Master Mariner!

Hope this helps,

Alan Cowley
Process Innovation & Research
Sydney, Australia

(Originally posted Mon 12/08/97) We almost never use derivative action in our PID loops. Because
the derivative action is proportional to the change in the error
signal, the smallest noise spike in the process variable or
instaneous setpoint change could result in a huge swing in the control
action. As a result while derivative action seems great in theory,
it can often give disastrous results in practice.

I would be interested in hearing about other engineer's experiences
with derivative control. What applications has it proved successful?
What applications has it resulted in instability?

(Originally posted Tue 12/09/97)
I also never use derivative on fast acting loops because the tuning
becomes so touchy. However, a small amount of derivative can help
eliminate overshoot when trying to tune the inner loop of a cascade
temperature controller on a batch chemical reactor.

Carl Lemp

(Originally posted Tue 12/09/97)
> We almost never use derivative action in our PID loops. Because
> the derivative action is proportional to the change in the error
> signal, the smallest noise spike in the process variable or
> instaneous setpoint change could result in a huge swing in the control
> action. As a result while derivative action seems great in theory,
> it can often give disastrous results in practice.

You are absolutely correct --- depending upon the process.

> I would be interested in hearing about other engineer's experiences
> with derivative control. What applications has it proved successful?
> What applications has it resulted in instability?

It is actually quite simple. Any process which is driven from a motor or mechanical actuator such as an extruder screw, haul-off, etc will not benefit from Derivative. First, Derivative lift will probably be eaten by the lags in the mechanical devices. Second, the Derivative action will cause excessive wear.

Any process which behaves as a dominant transport lag will probably go into oscillation because of Derivative. For example, a fast heater in an air stream where the thermocouple is far downstream. A thickness loop for extruded material where haul-off determines thickness - this is pure lag with no time constant whatsoever.

Processes which can be nicely modeled as second or first order systems with no dominant lag are best for Derivative benefit. A simple example is a heater. Virtually all electrically heated
temperature control loops which do not involve fluid flow can benefit greatly from Derivative

My experiences are mostly in temperature control. I am sure others have experiences in other areas.

Regards,
Mitch

D. Mitchell Carr, Strategic Marketing Manager
Eurotherm Controls Inc
Reston, Va. 22090

By David Lawton on 1 December, 1999 - 9:49 am

(Originally posted Tue 12/09/97)
I tend to agree with David B. on this one. I have found that in process
engineering, where speed of response tends to be less time-critical, a PI
controller normally provides perfrectly acceptable performance.

Just a few thoughts about the good old D term.
First off, the derivative term can produce a "violent" controller output in
response to a
step input e.g. change of setpoint, because d/dt (step) = infinity when it
"steps".
One way around this is clearly to "rate-limit" the step input.
Other stuff to consider if you're that way inclined..........
By doing an open-loop step response and measuring K (gain), T1 (time to reach
10%) and T2 (time to reach 90% of steady state), it's possible to use this
numbers to determine "rule-of-thumb" values for P, Ti and Td.
where P=(1.2*T2)/(K*T1)
Ti = 2*T1
Td = 0.5*T1

The other important thing that needs careful consideration is the SAMPLING
TIME of the PID controller. Again, rul of thumb is Td/2.

You could get sexier and start calculating Kalman controllers and such things,
although my PID controllers tend to be PLC-based, with "built-in" function
blocks to carry out the PID function. However, I have written Kalman control
loops using C before now (PC-based) - but this was generally Study based
rather than industry based.

Anyone else care to join this debate............
Regards
David Lawton.

By Garth Gaddy on 1 December, 1999 - 11:18 am

(Originally posted Tue 12/09/97)
Another way to eliminate the violent controller output in response to a
setpoint change is with the use of Velocity Feed Forward. This
term is calculated by doing a derivative calc on the Setpoint but
use the oposite sign of the error derivative, give the VFF term the
same gain as the error derivative, add this term to the others (P, I, &
D terms) and when there is a change in setpoint, the sepoint and error
derivative terms will cancel each other out, eliminating the controller
surge due to sepoint changes. The error derivative then only adds to
controller output when there is a change in error due to the process, not
the setpoint.

(Originally posted Thu 12/11/97)
nother major constraint that has to be thought about when setting up
PID loops in the "real" world is the effect of changes in the
manipulated variable - tight regulation of the controlled variable
often requires that the MV is subject to very large swings. This is
especially so with level - because the level response is slow, fast
control action requires that flows used for manipulation are subject
to swings through 100% of range. Not the best if you are working
with a process where flow must be reasonably steady.

This seems to be an area where the wet industries have different
requirements from the position control experts. Unfortunately, most
of the available textbooks used by teaching institutions (at least in
the EE area) are written by the latter.........

Personally, D is a "no-no" unless there are special requirements.
With a DCS or PLC, the effect of the finite sample time can cause
problems. With temperature control loops using sensors directly
connected to input cards and capable of a wide temperature range, the
resolution of the sample can be significant if only a small range is
required, and cause relatively large bumps if D is used - so D is not
that good an idea on these loops, where process-wise it can be
used.

Regards,

Bruce.

by the latter and
Bruce Durdle
bmdurdle@taranaki.ac.nz

By Claudio Pires on 1 December, 1999 - 1:32 pm

(Originally posted Tue 01/06/98)
Hi, all!
I have been to a startup and had to tune some PID loops.
I haven't needed to use the derivative gain...I, empirically, just set
values of proportional and integral parameters.
And what I have noticed is what I'd like to share with you...correct me
if I'm wrong...
The greater the proportional gain, the more 'highlighted' the error gets...
the greater the integral gain, faster is the response of your final
control element as it detects the error...
...I'm just trying to get some practical observations instead of all the
theory that I haven't seen people use...just imagining trend charts behavior...
How to empirically set PID parameters? ...not talking about Zigler-Nichols
and etc...

By Don Baechtel on 1 December, 1999 - 1:43 pm

(Originally posted Wed 01/07/98)
I don't think that you have it quite right yet, but your getting there.
Think of the proportional gain as a scaling factor or conversion
between the setpoint and the PID output. In a perfect system with
no error, which is what you are trying to achieve, the proportional
gain Kp scales or converts the setpoint units to the output units.
Not enough Kp and you won't get enough output and the following
error will start to build. Too much Kp and the output will
overcompensate causing overshoot and possible oscillation or unstable
behavior. In a non-perfect system the Kp converts the error units to
PID output. How fast do you want or can your system respond to an
error of a given magnitude? The maximum amount of Kp you can use is
determined by your system's response time constant or "inertia".

The integral gain Ki is used to remove standing error.
Sometimes in real (non-perfect) systems there is some bias that keeps
Kp from diving the error to zero. These could be friction, analog
signal bias, gravity, etc. Ki is used to increase or decrease the
PID output over time until the error = 0. If a standing error
exists, Ki will continue to increase/decrease the output until the
error = 0. The magnitude of Ki will change how fast the output rate
of change will be. Unfortunately, Ki wants any error over time to
integrate to zero: any positive error must be matched by an equal
amount of negative error. Without any dampening factors, such as
friction, Ki will cause your system to overshoot and oscillate
or "hunt" about error = 0. Several techniques are used to minimize
this effect.

The derivative gain Kd is used as a dampening factor.
If the error increases rapidly, Kd will add to the PID output.
As the error decreases, Kd will subtract from the effect of Kp and
help prevent overshoot. The end effect of Kd is to increase the
frequency response of your system. The system will respond quicker
to disturbances or setpoint changes producing less error.
You will notice over some range increasing Kd will allow you to
also increase Kp without overshoot. But if you increase Kd too much
the noise in the system will be amplified by the derivative term
and cause you system to appear "nervous" or unstable.
In essence with all the PID gains you can not ask the system to
respond faster than its natural time constant or you will get a
somewhat unstable system.

Many people overlook the advantages of feedforward.
In a perfect system the error is always zero and the PID has an
output = 0 always. The feedforward term drives the controller
output to produce the proper output calculated from the setpoint
commands. With a proper calibrated feedforward term, the PID only
responds to unmodeled disturbances and other effects. Without a
feedforward the PID must generate the entire command output, which
means there must be some error, which means the system is not perfect.

There are some addition tricks used to minimize error due to integral
windup and other PID problems, but they are somewhat application dependent.

With the appropriate settings for feedforward and the PID gains your
system will respond quickly with minimal error and maximum stability.

By Simon Martin on 1 December, 1999 - 1:44 pm

(Originally posted Wed 01/07/98)
Claudio,
I can speak empirically about controlling servo motors (1ms update rate), but the effects should be similar on other slower implementations (flame shields up just in case).

1) Proportional gain (Op = Kp * E)
The correction factor is directly proportional to the error. This gives the "tightness" of the control. If Kp is too low position control is "sloppy", if Kp is too high then system oscillates. Rule of thumb on a servo system: increase Kp until motor starts to "buzz", back off 25%.

2) Integral gain (Oi = Ki * SUM(E))
The correction factor is directly proportional to the sum of the errors. This is where implementations differ. The sum can be over a certain number of samples or can be continuous, either option can have an upper limit or be free. The implementation will affect greatly the stability of the system at border conditions (large errors, or errors over a long period). Under normal operating conditions the integral gain gives accuracy over long periods of constant operation as it accounts for error over time, unfortunately this causes overshoot. If you have a system with "rapidly changing" setpoints then try and keep Ki to a minimum. As a rule of thumb I always set Ki to 0 and if everything worked OK then I left it there, otherwise I crept it up until I reached the maximum permissible overshoot for the system UNDER A NORMAL WORKING CYCLE, or the error on the fly was small enough.

3) Derivative gain (Od = Kd * DELTA(E))
The correction factor is directly proportional to the change in error. If you have a "rapidly changing " system then Od should try to compensate for it, improving the reaction time. As a rule of thumb if this factor was necessary I set it at 1/8 of the P gain.

I usually found that manual tuning gave me better results than autotune routines, BUT that if you do have autotune routines then they can get you to a close starting position. Tuning can be done with your finger on the motor or listening (if you are in a quiet environment), but fine tuning needs an oscilloscope.

Simon Martin <smartin@reuna.cl>

By A. V. Pawlowski on 1 December, 1999 - 1:46 pm

(Originally posted Fri 01/09/98)
> ...I'm just trying to get some practical observations instead of all the
theory that I haven't seen people use...<

I don't want to start an argument, but let's not denegrate theory or
theorists. I have a lot of field experience and I DO use theory.
"Practical" methods are good, but not a substitute. In fact, many of
the best were derived from theory. I personally always want to know
how/why things work, both because I am curious and if I understand it,
maybe I can adapt the method to new situations/problems.

By Simon Martin on 1 December, 1999 - 2:19 pm

(Originally posted Fri 01/09/98)
Dear Mr. Pawlowski et al,

Your point is well taken. I have been working in controls for the last 8 years now, unfortunately my background is not Electronics/Control based so my theoretical knowledge of controls is very basic, but the upside of the coin is that I can see things from a different perspective. Be that as it may, the only tool in my bag is experience.

I would like to learn the theoretical side of things, but as you can see by my mail address, this is easier said than done.

Can anyone recommend an educational organization that provides distance tuition in control theory, or some texts that would be applicable to my background? I have browsed some technical libraries (on-line and off-line) but the number of texts is either very restricted so I cannot find what I am looking for, or so vast that I don't know where to start. Help would be appreciated.

Simon Martin <smartin@reuna.cl>

By Timothy A. Haley on 1 December, 1999 - 2:22 pm

(Originally posted Fri 01/09/98)
Try the Instrument Society of America. They are offering internet based
courses and have several Independant Leaning Modules, Videos, Software,
etc. They can be found at:

http://www.isa.org

By David Lawton on 1 December, 1999 - 2:23 pm

(Originally posted Fri 01/09/98)
Simon

It pretty much depends on what specific theory you're interested in.
I could mention a few books from my University days (note to the moderator -
I'm not on any form of commission here - okay?!!);

Control System Design Bernard Friedland ISBN 0-07-100420-3
Feedback Control Systems John Van de Vegte ISBN 0-13-313495-4

The Art of Electronics Horowitz & Hill

The control ones are pretty theoretical, but provide sound theory (the
Friedland book is my favourite) - note that neither is dedicated to PID
though.

Theory is one thing - experience is quite another. Sound theory is good, but
there's no substitute for a few years experience..........
David.

By Derek Jones on 1 December, 1999 - 2:24 pm

(Originally Wed 01/14/98)
FAO: Simon Martin

I can highly recommend "CONTROL ENGINEERING" by Noel Morris;
McGraw-Hill; ISBN 0-07-084666-9

The factors that affect practical tuning of closed loop control
systems are as follows
2) Load inertia and capacity of system to overcome (capacity
response rate)
3) "Rigidity" of coupling through system & transportation delays
(Time Constants of system elements)
5) Susceptibility to internal noise

Often, the Derivative component is unnecessary in critically damped,
linear systems and can be wound out/ disconnected. (Exceptions may
occur in a] systems that are intentionally non-linear, b] overdamped
linear systems with excessive deadbands or transportation delays and
c] some positioning systems. In linear systems, careful scrutiny of
the degree to which transportation errors are present and the level of
steady state gain needed should be made. In systems of all types,
electrical and/or mechanical coupling shortfalls and one has to decide
if these are prompting an apparent but incorrect need for the Derivative
component). Reference Derivative has a legitimate role to play in
overdamped linear systems providing the need for overdamping has been
verified.

A good, practical and safe approach to tuning closed loops is to start
by de-gaining the controller by a known factor (F1) of between 100 and
1,000, setting the Proportional term to zero, setting the Integral term
1) If not already accomplished, scale the reset term to within +/- 10%
of operational calibration by calculation
2) Adjust the Proportional term to zero and the Integral term to maximum
(overdamped).
3) Run the system and set the controller to just under critically damped
by introducing a small (5%-20%) stepped change to the input signal (or
equivalent) and incrementally increasing the Proportional gain until the
reset term displays a slight tendency to ring. If the system remains
overdamped for all available Proportional values, reduce the Integral
term by a factor of 10 and repeat step 3), starting with the
Proportional term returned to zero each time.
4) Once set to just under critically damped, decrease the Proportional
term and increase steady state gain by factor F1. However, the
controller should only be given the gain the process requires. Practical
systems are usually comprised of elements capable of a resolution of
requires. (Generally, there is no point of trying to set a loop to
achieve stability and accuracy at 1/10,000 when the set point can only
be set to 1/100). The higher the system gain, the more critical will be
the coupling requirements and the more difficult the loop will be to
stabilise.

The response of a system to a stepped change provides information about
the system constants. Initially there is little change in response
(indicating the degree to which transportation delays and deadbands
exist).
The tangent of the steepest slope of the response curve is taken to be
the initial slope of a single exponential curve. The time interval
between the application of the step change and the point where the
tangent of the steepest slope intercepts with the initial value of the
output is taken as the transport lag of the system. "Ziegler and
Nichol's charts" show the transient response to a step change and
controller settings can be based on readings from these charts.

1) Proportional action only

Proportional bandwidth = RT x 100
-----------
% of scale

Where T = Transport Lag of the process
R = reaction rate of the process

The process reaction rate is determined as follows:

actual control change x 100
R = -------------------------------
control scale x time (t1)

For example, if temperature is being controlled and the controller is
scaled 0-750 Deg C, and the process reaction curve gives a temperature
rise, Theta, of 40 Deg C in a time t1 = 2 min, the reaction rate is

40 x 100
R = ---------- = 2.667 per cent/ minute
750 x 2

2) Proportional plus integral action

Proportional bandwidth = RT x 110
-----------
% of scale

Integral action time = 3.33 T

3) Proportional plus integral plus derivative

Proportional bandwidth = RT x 83
-----------
% of scale

Integral action time = 2T
Derivative action time = 0.5T

Care must be taken to ensure that, if used, analogue amplifiers do not
enter saturation and that error signals are not being limited or
clipped. There is only one good solution to induced noise - eliminate
the source. EM induction, misalignment and PSU shortfalls all fit into
this category and can only be remedied at source.
In the case of multiple or nested loops, loops closest to the control
device should be calibrated and stabilised first with any outer loops
disconnected.
Loops nested to levels greater than 3 may need special methods.

Best regards,
Derek Jones

(Originally Wed 01/14/98)
FAO: > A good, practical and safe approach to tuning closed loops is to start
> by de-gaining the controller by a known factor (F1) of between 100 and
> 1,000, setting the Proportional term to zero, setting the Integral term
> high. Then follow these steps:

What is "de-gaining"?

Zero proportional term OK if it is "gain" - not such a good idea if
it is "Proportional Band".

> 1) If not already accomplished, scale the reset term to within +/- 10%
> of operational calibration by calculation

Not sure what is meant by this - is it the theoretical time constant
of the controlled system?

> 2) Adjust the Proportional term to zero and the Integral term to maximum
> (overdamped).

Again, check that integral term is "Minutes per Repeat", not "Repeats
per Minute".

<snip>
> 4) Once set to just under critically damped, decrease the Proportional
> term and increase steady state gain by factor F1. However, the
> controller should only be given the gain the process requires. Practical
> systems are usually comprised of elements capable of a resolution of
> only one decade better than the steady state accuracy the process
> requires. (Generally, there is no point of trying to set a loop to
> achieve stability and accuracy at 1/10,000 when the set point can only
> be set to 1/100). The higher the system gain, the more critical will be
> the coupling requirements and the more difficult the loop will be to
> stabilise.

What is the difference between "Proportional term" and "Steady-state
Gain"? In most of the controllers I have been involved with, there is
a gain or PB adjustment, an Integral Time or Reset rate adjustment,
and a Derivative Time adjustment. Some also have a Derivative Gain
setting.

(rest snipped)

One lesson I have obtained from this newsgroup is that for a very simple device the
humble PID controller attracts an awful lot of attention. Perhaps a
few references to basic practical control-oriented texts would be
worth adding to the FAQ list!

Bruce Durdle
bmdurdle@taranaki.ac.nz

By Anbu Selvarajan on 18 September, 2007 - 11:26 am

Yes... I too agree with David.
I shall add few more ideas on to this..

Generally Derivative action in PID controller takes rate of change of error, i.e. d(e(t))/dt
The sudden change in the output of the PID controller for a step change in the setpoint due to derivative action, what we usually call "Derivative kick".

This "Derivative kick" can be avoided by computing rate of change of pv, i.e. d(pv(t))/dt instead of conventional method of finding rate of change of error in PID controller.

'Cos the PV, the process output won't respond suddenly to any change in the setpoint due to its inherent lag (time constant).

By John Rezabek on 1 December, 1999 - 9:51 am

(Originally posted Tue 12/09/97)
David,

We use derivative extensively in temperature control loops. Most modern
refineries are highly heat-integrated, so disturbances in the various
media used for preheat, cooling, reboilers, etc. are numerous. We use
DCS primarily for control, which offers a selection of PID algorithms
that avoid some of the pitfalls of "textbook" PID. One of our favorites
is "Integral Only Response to Setpoint Change". I'm not an algorithm
scholar, but as I recall this is not all that tough to implement in the
"velocity" form of PID, if you're rolling your own.

If you apply a contemporary PID loop tuning application (e.g. Protuner),
you might be suprised to find that a derivative term shows up quite
often in the "optimal" tuning. As Mr. Cowley very appropriately points
out, PID is often inherently incapable of being truly "optimal", since
there are always constraints, interactions, etc., outside of the "ideal"
SISO system. I think a good tuning package should at least offer some MV
(manipulated variable) specification like "10% MV overshoot", as well as
a diverse menu of PV / error optimization choices. Even with these
smarter packages, you frequently need to zero out the derivative term if
you know you're looking at a noisy flow loop as opposed to a slower
temperature or linear composition.

The "rules of thumb" that Servoboy offers look similar to Z-N open-loop
numbers. I've been taught that these are fine if you're aiming to
control a level (an integrating process, which Ziegler and Nichols used
to derive their version of "optimal") and you're OK with
quarter-amplitude damping. More often then not, in our industry we shy
away from "tight" level control, opting instead to use the surge
capacity of vessels to smooth downstream disturbances.

I'd be interested to learn how others administer and track PID tuning
changes. Can operators access tuning? Process supervisors? All
engineers? Do they log before / after data or any comments? In my
experience, loose control over these areas leads to fewer loops in
"auto" than there ought to be . . .

Regards,
John Rezabek
rezabejd@bp.com
BP Oil Lima Refinery

(Originally posted Tue 12/09/97)
I use derivative in motor velocity and position loops. What I have
found that I can use significantly higher gain if I damp it with
some derivitive. The control loop becomes very tight, but does
not overshoot or become unstable.

Derivitive seems to be the most useful when you have rapidly
changing conditions.

Bill Sturm

(Originally posted Wed 12/10/97)
I agree that the derivative part should not be used in most PID control
loop unless you have to. In our plant, there are about 1000 PID loops
where mostly use PI only. However, we do have some pressure loops
use the derivative. For example, a split range pressure control loop uses
a very high derivative. It is a split ranged such that the output of the
controller will move the air injection valve if it is less than 50%, and will
move the vent valve if more than 50%. The pressure can be maintained
perfectly with the fast movement in the valve. With the split range, you
may argue that it is not a simple PID loop. But it is really works.

Theoretically, the derivative term can be used to compensate the time
delay in the process dynamics. Look at the PID tuning parameters from
either IMC method or the Direct Synthesis method (they are all belonged
to model based PID tuning ), the derivative term is the direct result of the
time delay.

Back to reality, I will not use the derivative for noisy measurements such
as flow loops. I will use it carefully in other situations.

Kent Qi
Process Control Engineer
Agrium Inc.

(Originally posted Thu 12/11/97)
Has anybody mentioned the fact that most computer based PID controllers filter the error before differentiating. I call the time constant of this
filter Gamma. Gamma can be tuned in some and is fixed in others.

I really like the IMC (Internal Model-based Control) theory for best understanding of controllers, modelling and processes. It gives me the best link between the theory I did as an undergraduate and the real world.
I have found it to be a most intriguing and refreshing approach to process control.

Does anybody else agree?
Does anybody want any info on this?
Mr Kent Qi, you have my attention, what is Direct Synthesis?

Rules of thumb for selecting PID gains depend entirely on the type of process, ie. lag only, time delay with lag, integrating, etc., so be aware of this when applying them.

Thank you everyone for your opinions and practical interpretations on PID.
They are really appreciated.

Regards

Jeff Lloyd
Electrical Instrument Engineer
Mackay Sugar, Farleigh Mill
Queensland, Australia
http://www.home.aone.net.au/jefflloyd/

Mr. Lloyd,
I too am impressed with the teaching, theoretical and practical performance of IMC and I'd like to take you up on your offer for more of your information on the subject. I'd greatly appreciate studying anything you could send me
(house@peoplepc.com) on the subject.

Thank you,
Keith C. House
USA

I agree that the derivative part should not be used in most PID control loop unless you have to. In our plant, there are about 1000 PID loops where mostly use PI only. However, we do have some pressure loops use the derivative. For example, a split range pressure control loop uses a very high derivative. It is a split ranged such that the output of the controller will move the air injection valve if it is less than 50%, and will move the vent valve if more than 50%. The pressure can be maintained perfectly with the fast movement in the valve. With the split range, you may argue that it is not a simple PID loop. But it is really works.

Theoretically, the derivative term can be used to compensate the time delay in the process dynamics. Look at the PID tuning parameters from either IMC method or the Direct Synthesis method (they are all belonged to model based PID tuning ), the derivative term is the direct result of the time delay.

Back to reality, I will not use the derivative for noisy measurements such as flow loops. I will use it carefully in other situations.

Kent Qi
Process Control Engineer
Agrium Inc.

By Anonymous on 19 July, 2002 - 10:28 am

Derivative action is instigated by the rate of change of the process variable (PV) from the desired set point (SP). If the control loop has a fast response, such as a gas flow control loop, then the rate of change of the PV will be relatively high and hence corrective derivative action will be applied. Due to this fast response it is very likely that the control will become unstable due to inherent nature of derivative action.

Slow response systems (systems with significant lag and large total capacity), such as a temperature control loop, are more suited to derivative action where rates of change in PV are much slower.

I have had experience in tuning temperature contol loops on gas fired batch kilns where derivative action works well - due to the system lag/reponse times.

Just wondering with all this talk on "derivative"
action in relation to temperature control, is it worth testing the measuring element to get some
idea of response? That is finding the time constant of the unit including the well. In some cases there may be a significant lag in response to real temperature change. This sensor response then be inverted using lead/lag action to give a closer representation of temperature.

ferrarisd@ozemail.com.au

Every fast mechanical systems I've controlled using PID control has required a derivative term.

I think derivative act as an anticipatory control, its anticipate the direction of error, thats why using larger value will coz your control go wilder (but ur in control) or change faster.

One thing that you must be careful with is the impact of larger tuning parameter settings in a PID controller. It's often confusing (this is very true for the Allen-Bradley PID instruction) whether a larger number represents more control action or less control action.

The proportional term is usually called "proportional band" or "gain". These have reciprocal actions, and the typical relationship is PB=100/Gain. For PB (the unit is usually percent), an increased value represents less control action. For Gain, an increased value represents more control action.

The integral term is usually called "reset", "resets per minute", or "minutes per reset". The latter two are reciprocals, while the first could be either. For R/M, an increased value represents more control action. For M/R, an increased value represents less control action.

It's important to study your controller documentation carefully. The A-B PID instruction supposedly uses Gain and M/R, so big numbers represent increased proportional action and decreased integral action. However, because the SLC-5/03 PID instruction uses a dependent PID equation, you can't get much integral action if the Gain parameter is small.

To anyone out there who's coding PID: Please, Please, Please use Gain and Resets/Minute. It's so much less confusing when a larger number represents more control action, and zero represents no control action.

Jeff M. Goldsmith, PE (jgoldsmith@ionics.com)
Ionics Incorporated
Watertown, MA, USA

(Originally posted Fri 11/14/97)
I would recommend that you investigate the Internal Model Control
methods for a truly effective understanding of what you do when you
tune PID controllers. I recently attended a course on the subject
run by the good people from CICS (Newcastle, Australia). It
reawakened my interest in some of the theory that I thought was only
useful to pass an engineering degree.

How would you like to fine-tune your controller with one parameter
instead of three? Email me if you want a basic overview. If you're
serious give CICS a call...

You can find CICS at:
http://www.cicsauto.com.au/Enhanced/frame.html

Regards
Jeff Lloyd
:::: Electrical Instrument Engineer, Mackay Sugar, Farleigh Mill
:::: Farleigh Via Mackay, Queensland 4741, Australia
:::: http://www.home.aone.net.au/jefflloyd/

(Originally posted Wed 02/11/98)
A few people have enquired about IMC - Internal Model-based Control.

The people to talk to are CICS Automation in Newcastle Australia.

http://www.cicsauto.com.au/

Or contact Sam Crisafulli samc@cicsauto.com.au

I have only introductory knowledge on IMC. While at the course conducted
for my company by CICS, I was pleasently surprised with the link between
practical control systems, classical Laplace based theory and PID
controllers. I'm sure most of my collegues are of the same opinion.

I will attempt to summarise it. Model based control as presented
demonstrates that by developing a model for your controlled plant, you can
determine useful PID gains directly using mathematical formulae. They
determine these formulae by building a model of the process then effectively
'inverting' it. Sounds a bit theoretical doesn't it? It works because the
system is dynamic and has feedback. It I always thought you should be able
to do this :-).

Using a manual step change and observing the output you can determine
Process gain, integration (if applicable), lag, time delay, etc. Using this
data in appropriate formulae you determine proportional gain, integral gain
and derivative gain (and its associated gamma).

The formulae have been derived especially for different types of plant. For
example there are formulae for a process with proportional gain and lag
only, different formulae for a process that integrates and different again
for processes with time delay. I have attached an Excel Spreadsheet with
these formulae in them to give you some idea about what I talking about.

I have also written a Visual Basic 5 application that simulates a PID
controller and some basic processes. It demonstrates the effectiveness of
the formulae. I will send you this if you wish, just let me know if you
have VB5 or not. If you don't, I'll have to send you a complete VB setup
(approx 1.6MB).

Regards

Jeff Lloyd
Electrical Instrument Engineer
Mackay Sugar, Farleigh Mill
Queensland, Australia
http://www.home.aone.net.au/jefflloyd/

By Paul Salessy COTEMS on 7 June, 2000 - 9:39 am

If it's never too late, read the article page 15 in the Control Engineering Europe of Jan/Feb 2000 or go to our web site at the address:
http://www.cotems.com
Our Graphidor has been developed 22 years ago to give the operators a practical tool without calculations, after we have used multivariable control with all the theory need for.
Regards.
.

By vineet singh on 30 October, 2002 - 10:56 am

dear jeff
kindly send me this vb5 program . i will be highly obliged to you
regards
vineet singh
indian oil corporation ltd.
singhvk@iocl.co.in

Hi,
would it be possible for to get a copy of the program that you have written to simulate a PID controller. It would be highly appreciated.
Thanks

pribhagan(AT)netcourrier.com

By Kaushik Patel on 19 November, 2003 - 6:17 pm

Hi Jeff

I am very much intrested in your PID loop VB,
I do not have VB5

Thank you and best regards

Kaushik Patel

By Curt Wuollet on 21 November, 2003 - 1:15 pm

Ny point is, that what you, (and I) consider pretty darn good is still nowhere near what the published figures would indicate. And that is because electronics, as a class, are pretty darn reliable. But when you have two systems, using readily available components, automated assembly, commodity connectors and competant design, you are simply not going to see the vast differences in reliability that exist in the minds of the marketers. And I haven't seen a true mil spec design for years. And that's OK because it costs a lot and still doesn't change things as much as some folks would have you believe. And much of the commodity stuff is more reliable than mil equipment from the recent past because experience is far more valuable in fixing trouble areas than prediction is. I participated in the game because because a number was demanded. Whether anything actually met that prediction is largely moot because it's obsolete long before it's dead. So nobody knows, you could use any number you want.

Regards

cww

Thanks to all of you from the list.
You look sound and solid, for sure.
Coming back to the object, others would approach diiferently, mostly in two ways.

1. the Lead/Lag is also a kind of PID.
It works. In simple words, this control algorithm is one that distorts first and reshapes after. In this way, it has lesser influence on the overall loop behavior than the PID. This is why this algorithm has low overshoot (that can be overrided) and fast recovery.
It absorbs a sizable chunk of the dynamics of the entire system.

2 .whereas the project is a mass balance one,
the technical solution includes the evaluation of the calorical mass to dry the coal. That done,
infeed the signal into a feedforward loop.
A feedback from a relative humidity XTR must be included in the loop.
jmgiraud@infoteck.dr.qc.ca

By steve cordiner on 19 February, 2002 - 4:28 pm

I've been tuning loops for years and only started using protuner which you hook onto the loop, do the porcess upset and let it do it's thing. Wow, 100% results, everytime. Downside is cost, £10K, but if you can borrow one or have several loops to tune, it's worth it's weight in gold!

By piyushvastani on 4 March, 2002 - 11:17 am

I've just automated a 50 foot long rotary kiln for the drying of coal. Now I am deeply researching PID loops. I need to adjust a gas valve to maintain a set point temperature coming out of the dryer... I was wondering if anybody might be able to send me any PID setting that they know have worked and maybe a little about the application they were in. I'm thinking I need to have a large derivative term, small integral term and somewhere in the middle for the proportional. But I'd like to study some examples.

This is a siemens s5 155 olc

THANKS!

By Rick Carrasco on 8 April, 2002 - 10:52 am

Have a look at a product called BrainWave at "www.brainwave.com":http://www.brainwave.com . It has been succesfully applied to many kiln applications and it can handle the dead time typically associated with kilns. It integrates well with a plc. It is a software controller that uses model based, adaptive, predictive control technology.

dear
hi
please tell us whats fully function of PID, because in books and other literature we study but not fully understand about PID, we have some query about PID, following query are as under.
1.Normelly we set PID P=100%,I=0.75,D=0.25 these values are ok in feed forwarded control?
2.If we want fast control to final control element which value of PID we change our Final valve action is fast?
3.if we want slow action to final control valve which valve we set for slow actiion.
if you understand my query please write us, i shall be very thankful to you.
regards
rana

By Jeremy Buchanan on 28 September, 2002 - 6:18 pm

Robert,

Please understand that no one can give you the tuning parameters you need unless you have an identical process somewhere. You can use closed-loop tuning, but that usually requires expensive software that tracks output changes and PV responses on-line. This is convenient and perhaps more accurate than open-loop tuning, but very expensive.

Open-loop tuning is named such because it involves manual mode operation of the loop and recording of CV step changes and subsequent PV responses. The Cohen-Coon tuning method (http://www.chem.mtu.edu/~tbco/cm416/cctune.html), presumably developed by Mr. Cohen & Mr. Coon, is a generalized algorithm to convert the real world process responses and time delays into the tuning parameters you seek. I have had very good resutls using this method for outlet temp control of gas-fired rotary dryers and coal tonnage rate control. The Cohen-Coon gain is usually pretty "hot" in my experience - I recommend using no more than 75% of the calculated gain as a starting point to avoid angry operators.

After you've calculated the gain, rate and reset by whatever means, you must be careful to understand that these numbers may not be those needed by the PLC algorithm. For instance, a PLC-5 allows the programmer to specify whether the gain and reset are dependent or independent. The choice effects the values to be entered. The units of reset also pose an opportunity for confusion: ie: are the PID block reset units repeats/minute or minutes/repeat. It behooves you to answer that question before hitting the "Test Edits" button.

Jeremy

I've just automated a 50 foot long rotary kiln for the drying of coal. Now I am deeply researching PID loops. I need to adjust a gas valve to maintain a set point temperature coming out of the dryer... I was wondering if anybody might be able to send me any PID setting that they know have worked and maybe a little about the application they were in. I'm thinking I need to have a large derivative term, small integral term and somewhere in the middle for the proportional. But I'd like to study some examples.

This is a SLC 5/03.

THANKS!

I have tried so many methods to tune a PID, some based on experience and some based on theory, and I've found that Ziegler-Nichols rule is the best when ever a log is available. The idea is to set the Proportional to a high value almost double of expected range. and have a log with time.

the final parameters will be directly calculated from a simple formulas.

you can find the complete method at page 673, Modern Control Engineering, Ogata, ISBN: 0-13-261389-1

By Alireza Askari on 12 March, 2007 - 11:57 pm

I think you can use PID controller with autotuning function. In this method your controller changes and plays with PID parameter and achieves the best parameter depending on your system specification. Besides this, you can use self-tuning function to recalculate the PID parameter periodically if behavior of your system changes.

Thanks!

> I think you can use PID controller with autotuning function. In this method your controller changes and plays with PID parameter and achieves the best parameter depending on your system specification. <

---- snip ---

I don't agree with the suggestion of auto-tuning controllers. In my experience (over 20 years) I've never had good results with auto tuning. Usually the settings obtained by auto tuning are much too aggresive. If there is not too much time lag in the system between control valve movement and system response then the ZN tuning is the way to go.

By Anonymous on 9 April, 2007 - 11:11 pm

An example of a PID loop is provided at:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1408&redirects=codeexamples
Check CE019. You'll find 3 variables to control these parameters.

By Manmeet Singh on 19 June, 2007 - 11:36 am

Dear Friend,

Just doing the basic ZN tuning for the PLC won't do. What you need is auto tuning software. This software will cut down on the time of tuning but the model based control inbuilt will help to cut down on the losses and coupled PID paramters for the process.

Need to understand the behaviour of the control loop. Otherwise the loop causes losses in energy usage.

Regards,

Manmeet

By Sivakumar on 23 July, 2008 - 3:07 am

Visit http://www.controlguru.com. There you may get all the starting tuning parameters. Instead you start blindly where you start with the P, I & D values.

Regards,
Sivakumar