PID Controller Standard

H

Heavner, Lou [FRS/AUS]

Johan,

I-only is useful at times. I've heard it argued as a good solution for some flow control loops. I've used it in valve position control and similar
kinds of optimizers where you want to drive the process to some limit, but that is secondary to maintaining stability in the process.

And as to one of the main points in this thread... whether the controller should respond with P and/or D action on setpoint changes, there are many cases to consider. The right answer is to give the user the choice and enough understanding (training) to make the right choice. The inner loop of a cascade strategy is going to have a ccontinuously changing SP which should be changing relatively smoothly. Why not let P and D act on SP changes? That is different from the type of loop where SP's are changed infrequently and stepwise. And then there are batch processes in which loops look different in different phases. The PID loop may need more features than simply enabling/disabling P/D action on SP changes. Maybe adaptive tuning
or adaptive alarming or anti-reset-windup or output/integral/PV tracking or SP ramping or..... For a given implementation, the user is just going to have to work with what he has and do the best he can. Give him more tools and don't try to lock him into a "best" PID implementation. But give him reasonable defaults and guidelines for those 80% of loops that require only 20% of the functionality.

Regards,

Lou Heavner
Emerson Process Management
 
I believe that many respondents to the subject have overlooked the reason for the PID control action function block. Some respondents
replies covered the specifics of application. Others presented individual experience to prove, or disapprove expected performance. Both missed the point.

The PID provides a simple service. It's a "universal" control action block that could be used in virtually every application. The user could then use those parts of it to replace a PI requirement or PD one, or just the P if one felt it was "application friendly." Then one is not
required to "stock" the individual action controllers such as the P, the PI, and the PD. The result... one black box instead of several.

Development of the PID was analogous to development of the logic NOR and NAND elements. They, of course, are the "universal" building blocks from which AND, OR, & NOT elements can be derived.

I realize that PID's were available during the "pneumatic control" era. But because they were mechanical in nature their "universal" application was cost prohibitive. It wasn't until the development of solid-state technology, then later programmable technology, that the "universal" control-action block, the PID, became an economic solution.

Regards,
Phil Corso, PE
(Boca Raton, FL)
 
L
I have read all responses on this topic. I think one way to reach the correct conclusion is to find examples in process control and motion control.

-----------------------
For a process control problem, I have "An Open PID Controller Tuning Contest" published at

http://bestune.50megs.com/CO_PV.htm
A comparison between type A, B, C is given at

http://bestune.50megs.com/typeABC.htm
The performance of type C PID with different tightness is shown at

http://bestune.50megs.com/tightness.htm
If someone can get better PID control results using type A or B, then I am defeated.
---------------------
If someone can provide me with a motion PID control problem, I can repeat all the above work, i.e., give a comparison between type A, B, and C PIDs. I am sure type C is still the best. Let's do it now.
 
J

Johan Bengtsson

Ok, I only might be useful, but I don't think there are many loops (if any) that would actually be worse with PI than with I only. But whatever you do with the PID formula it would still be possible to build an I only controller but I think it should be called that then to reduce
confusion.

For the rest there is nothing I don't agree on completely very well put!


/Johan Bengtsson

----------------------------------------
P&L, Innovation in training
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]
Internet: http://www.pol.se/
----------------------------------------
 
J

Johan Bengtsson

What??????

That was *NOT* a tuning contest, first of all, you can't give a list of PV:s and definitely not a list of OUT values. You have to give a process model, a disturbance pattern and (optional) a SP change pattern. Further you have to give the tuning goals, ie what are the requrements of how close the PV should track the SP, requrements of acceptable noice leven in output, and other things you want to take into consideration. Alternatively a formula for calculating a "tuning badness/godness" depending on the control error/noice level and so on.

Further, you need a *lot* of examples, with really different processes and control strategies, especially you need cascade and different ratio control (both getting the SP from SP and from PV)


If you want to standardize this for yourself, then standardize this as a user selectable option or type "B".



/Johan Bengtsson

----------------------------------------
P&L, Innovation in training
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]
Internet: http://www.pol.se/
----------------------------------------
 
D
Johan,

I believe this is quite common in practice. The process is a temparature process under PID control. However, the PID is poorly tuned because from the CO and PV measurements you can find this. Now I give you 300 measurements of CO and PV, and I am asking you to tell me what are the best values for the Kp, Ki, and Kd so that the control loop performs better or best. What are the measures for good performance? Some of the criteria are:

(1) Short settling time
(2) Small overshoot
(3) Small control error
(4) CO should not be too sensitive to e=PV-SP

etc. Usually a visual comparison can show us which performance is good and which is bad: PV should track SP quickly and smoothly with a samll effort. A quatitative measure is also available in BESTune.

You can use the CO and PV data to build your model or whatever you want to know about the process.

Yes we need more examples.

Dan
 
H

Heavner, Lou [FRS/AUS]

Dan,

I think Johan's point was that not all loops are alike in terms of dynamics or desired response. Not even all temperature loops. For example:

Temperature control of saturated steam or something else with liquid and vapor in equilibrium. Temperature measurement is probably less responsive (longer time constants) than vapor pressure and should not be used at all.

Temperature control of a system where heating and cooling have different dynamics like an extruder or some batch reactors. (perhaps gain scheduling
or adaptive control should be applied)

Temperature control in a kiln or some kind of process with a dominant deadtime (transport delay) where PID and probably PI won't work as well as something else like Smith Predictor or model predictive control.

There may be cases where an analyzer or optimizer is changing the temperature control setpoint. Shouldn't the loop respond to SP changes as
it would to disturbances (ie with P & possibly D action on SP changes)? The changes from a supervisory loop could appear to be as analog like as unmeasured disturbances.

And if really tight control is required in a liquid-liquid heat exchanger, for example, why not use feed forward and trim with PID? Should the PID need to be tuned the same?

Or how about a Kellogg reormer with multiple interacting fuel valves trying to control temperature in multiple zones? Each fuel valve will affect the temperature to some extent in adjacent zones. Better use a multivariable
controller or some kind of decoupler.

My point, if there is one, is that comparing different PIDs is mostly an academic exercise, especially with contrived process models. In the real world, the 80-20 rule applies in spades. The difference between one well tuned PID algorithm and another isn't going to be important in 80% of the loops, especially after you consider the contribution to loop variability of
control valves and instrument noise. The expertise of the tuner (human or otherwise) will be much more important in actual loop performance. In the remaining 20%, the process is going to benefit more from using something
else instead of PID than from using the theoretical best PID.

There are no doubt cased where D and even P action should be disabled from SP changes. Some people prefer to tune B or C over A. There may be cases where one really shouldn't be used. If you are given the option, you can decide for yourself which is best for a particular application. So the best is the one with the most options, IMHO.

Regards,

Lou Heavner
Emerson Process Management
 
The purpose I started this discussion is to let people in the control community know that there is a better PID control algorithm, i.e., type C PID. I know it is hard for people to accept type C in a short period time, as I indicated on my website:

http://bestune.50megs.com/typeABC.htm
Unfortunately, type C is rarely implemented in industrial PID controllers. I hope type C should at least be one of the options for users. Even this will have to take some time to happen.

Dan
 
J

Johan Bengtsson

I could perhaps build a model from the data, but I don't want to and I don't see the need since the one making the original data probably ahve the model already and could give me a very much more accurate model with a lot less work than I would have to do to get the model from the data.

If I build a model from this data set it would probably differ from the real model and it would actually be better if everybody used the same model instead fo trying their best to create a model first.


I belive that if this really is common practice someone have to change that common practice...

I also think I could get approximately your performance regardless of if I use a controller of thype B or type C and definitely regardless
of if I use dependant or independant forms.


/Johan Bengtsson

----------------------------------------
P&L, Innovation in training
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]
Internet: http://www.pol.se/
----------------------------------------
 
J

Johan Bengtsson

I definitely agree on it as an option, it would definitely be more useful in some processes, as well as type B is more useful in others (and actually even type A)


/Johan Bengtsson

----------------------------------------
P&L, Innovation in training
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]
Internet: http://www.pol.se/
----------------------------------------
 
> Anand , I would say D is for Disaster.

Prasanna

The dependent and serial form of PID can be simplified to the independent form.
 
M
A quick question about the derivative term. Is the derivative term in A-B's PID algorythm true numerical differentiation?
If the proportional term and integral term were zeroed out leaving only the
derivative term and a unit step function was applied to the set-point and assuming the derivative of the error is taken, will you get an output response that is like a Dirac delta function or a decaying exponential function or a blip then nothing? Is A-B using a numerical differentiation technique?
 
J

Johan Bengtsson

So true! So true!

Make it parameters if the P and D part should be acting on error or process value. (it could even, as I have seen in some systems be a value between 0 and 1 so the P part is acting for example 40% on error and 60% on process value (for example ABB advant have this feature))

This is only one consideration that really should be a parameter, other tings include lead-quote (ie amount of filtering on the D part, also found in some systems (for example teleperm have this feature))

The ability to change parameters depending on other signals is also a thing usually possible in most controllers, however there are two major implmentations, those that changes them between different values when a certain limit is crossed and those that interpolates a value as the controlling singal changes. The second form is usually more kind to the controller.

Anti-windup is also a thing that can be implemented in different ways, (I part not allowing to be outside 0%-100%, I part not allowed to count up when control signal is 100% and down when control signal is 0%, I part cut so that the control signal is between 0% and 100% - and this was just three of them) If there are other output limits on the controller these would have to be used instead, not always done in all implementations.


The point is that in most cases you can see some thing being better than another, but a lot of these (perhaps not all) diffrences solve some control loops better and therefore is best for that loop.

My conclusion: Make it an option!
My second conclusion: More education! (ok, that is what I work with so I am of course not "neutral" in that question)


As a side note, about the original question I have one example where a C type controller most surely would behave worst, a type B controller or possibly even a type A (or somewhere between A and B) would be best. If you have quote-control, and the slave loop is getting it's setpoint from the process value of the master loop. In this case you probably want the slave to follow the master as tight as possible and since the parameters can't be tuned tighter depending on type you would get a smaller follow error if the P part (and even less if also the D part) is acting on changes in setpoint.




/Johan Bengtsson

----------------------------------------
P&L, Innovation in training
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]
Internet: http://www.pol.se/
----------------------------------------
 
Top