Welcome to Control.com, the global online

community of automation professionals.

community of automation professionals.

Our Advertisers

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

update the analog input, calculate the error, calculate the

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

By Mitch Carr on 23 November, 1999 - 4:30 pm

(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

about what Derivative does to mechanical linkages with slop or

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.

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

By Mitch Carr on 23 November, 1999 - 4:40 pm

(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

(Originally posted Mon 11/17/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 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,

Your statement about derivative action troubles me. I think of

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

By Mitch Carr on 24 November, 1999 - 9:57 am

(Originally posted Thu 12/04/97)

John Rezabek wrote:

> Your statement about derivative action troubles me. I think of

> 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

de-tune your other terms as well. Newer instruments have their own

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

changes and load upsets.

Scott Efting

Process Instructor

Consummers Energy

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

(Originally posted Fri 12/05/97)

>Your statement about derivative action troubles me. I think of

>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

return toward SP)

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

>return toward SP)

>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

particular reference to the derivative term. Your warning about the

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

By David B. on 30 November, 1999 - 5:10 pm

(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?

By Carl Lemp on 30 November, 1999 - 5:24 pm

(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

By Mitch Carr on 1 December, 1999 - 9:48 am

(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

11485 Sunset Hills Road

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.

Garth Gaddy

(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.

How this answers your question

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

1) Steady state gain

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)

4) Deadbands (and Backlash)

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,

Reset Derivative (Phase Advance), for example, is often used to mask

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

high. Then follow these steps:

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

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.

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

By Bill Sturm on 1 December, 1999 - 11:19 am

(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

By Kent Qi on 1 December, 1999 - 11:20 am

(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.

By Jeff Lloyd on 1 December, 1999 - 1:28 pm

(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?

Can anybody tell me where to get more 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/

By kchouse on 18 March, 2002 - 5:04 pm

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

By Kent Qi on 15 January, 2002 - 2:54 pm

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.

By Dan on 30 December, 2002 - 4:40 pm

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

By john on 11 January, 2007 - 10:45 pm

By Rhon on 24 September, 2004 - 5:16 pm

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.

By Anonymous on 15 October, 2002 - 11:23 am

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

By Jeff Lloyd on 23 November, 1999 - 4:33 pm

(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/

By Jeff Lloyd on 1 December, 1999 - 2:38 pm

(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

By Priya on 16 December, 2002 - 10:25 am

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

By jmGiraud on 24 July, 2000 - 8:58 pm

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.

By rana on 30 May, 2002 - 4:23 pm

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

By Anonymous on 5 October, 2003 - 9:18 pm

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 Jibreel on 3 November, 2004 - 12:56 pm

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

ask Jr j_abdeen@yahoo.com

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!

By tleeth on 27 July, 2009 - 1:55 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. <

---- 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