Comparison of PID Control Algorithms
(All Controllers Are Not Created Equal)
Modified from an article published in Control Engineering March, 1987. This article updated and re-written for the Web.
One fine day, a plant engineer, replaced his controllers. Even though he used the same settings on the new controllers, the retrofitted loops went out of control in automatic. He tried to tune these controllers the same way he had tuned the old ones. The loops seemed to get more unstable.
This mysterious and very real situation is the result of two manufacturer's using different PID algorithms. Read on to solve this and other common mysteries about PID controllers.
In practice, manufacturers of controllers don't adhere to any industry wide standards for PID algorithms. Different manufacturers and vendors use different PID algorithms and sometimes have several algorithms available within their own product lines.
The figures and graphs used in this article were produced using the ExperTune Loop Simulator. For PID loop tuning, analysis and simulation contact ExperTune.
The Name Game
Just as there are no adhered to industry standards for PID controllers, nomenclature and action for similar modes varies.
P Proportional Band = 100/gain I Integral = 1/reset D Derivative = rate = pre-act
Some manufacturers call Proportional Band the Proportional Gain. Manufacturers interchange names and units for integral or reset action. In this article, integral action is defined in time/repeat and reset in repeat/time. One is the reciprocal of the other. The action of either reset or integral can be reversed depending on the manufacturers units.
There are three major classifications of PID algorithms that most manufacturer's algorithms fit under. These three are: series, ideal, and parallel. Again, manufacturers vary on the their names for these categories. The only way to really tell which one you have is to look at the equation for the controller. In simple form these are:
Kc, Kp are gain; I, Ip are integral and D, Dp are derivative settings. The series controller's strange looking form makes it act like an electronic controller. A three term controller can be made with only one pneumatic (or electronic) amplifier using the series form. Thus, pneumatic controllers and early electronic controllers often used the series form to save on amplifiers which were expensive at the time. Some manufacturers use the series form in their digital algorithms to keep tuning similar to electronic and pneumatic controllers.
Differences in Proportional Band Or Gain
If you use only proportional action, the main difference between series and ideal algorithms is that some manufacturers use proportional band while others use gain. On a controller using the gain setting, increasing this setting makes the loop more sensitive and less stable. While decreasing proportional band on controllers using it will have the same effect.
Some manufacturers allow more flexibility with P action by letting you choose whether gain (proportional) action works on set point changes. For example, Honeywell TDC has two types of algorithms that work differently on set point changes. With their type A algorithm, gain action acts on set point changes and with their type C it does not. For load upsets, type A and C act the same, but for set point changes, the difference is dramatic.
ExperTune Loop Simulator Windows compare responses of Honeywell TDC type A (proportional action on error) and C (proportional action on PV only) controllers on a simulated temperature loop. Bottom graph shows either type controller response to a step load change. Top plot red is response of Type A, top plot green of Type C. With the type C algorithm, damping and overshoot to step set point changes are similar to damping and overshoot on step load disturbances. Type C may be desirable over type A, since tuning for load or set point changes is similar with type C.
Because of the sensitive set point response, you may want to use type A for the inner loop or slave in a cascade. Type C with smooth set point response may be better for the outer or master loop.
Bailey's "error input" and "PV and SP" algorithms are analogous to Honeywell's type A and C. Bailey's "error input" has sensitive set point response while Bailey's "PV and SP" has smooth set point responses.
Like Honeywell's, the two Bailey algorithms give identical load responses. Because the load responses are the same for the different Bailey and Honeywell algorithms, they have the same stability. For a fast analysis of the stabilities, ExperTune allows a comparison of the robustness plots of the algorithms.
Differences In Integral Action
Once you convert integral and reset values to the same units, PI controllers respond mostly the same for load disturbances. The proportional action may be different as described above. Anti-reset windup is usually done differently, but the effect of these differences is usually minor compared to other differences between algorithms.
Differences In Derivative Action
The largest variation among controllers from different manufacturers is the way they handle derivative action. Virtually no two are the same. This is part of the reason why many people don't use derivative action. The differences are caused from different methods of filtering or not filtering at all, whether the derivative works on set point changes or not, and how derivative interacts or does not interact with the integral action.
On controllers, when you set derivative to something besides zero, you get derivative action. In a series controller, when you use both integral and derivative actions, the integral and derivative modes interact. Interaction causes the effective controller action to be different from what it would be in a ideal controller.
The effective proportional band is: PB (effective) = PB/(1 + D/I) The effective integral time is: I (effective) = I + D The effective derivative time is: D (effective) = 1 / (1/I + 1/D)
Where PB, I and D are the proportional band, integral and derivative values you set or entered into the series controller. The effective values are equivalent ideal controller settings.
These equations show that for the series controller you cannot make the effective derivative time greater than 1/4 the effective integral time. The largest effective derivative occurs when D=I. When D is set larger than I, the effective integral time is adjusted more with D and the effective derivative is adjusted more with I! Therefore it is usually good control practice to keep the values of D less than I for a series controller.
For example: Foxboro and Fisher use a series algorithm. AEG Modicon, Texas Instruments controllers use the ideal type. Honeywell has both series and ideal algorithms. Bailey, Allen Bradley, and GE have both ideal and parallel algorithms.
Other Differences in Derivative
Besides the interaction differences described above, derivative action among the series and ideal groups varies.
With most controllers, derivative works only on measurement. On some controllers however, derivative action works on set point changes. Although response to a load disturbance will be the same, set point response on these controllers can get out of hand.
Since most controllers are used for regulating disturbances, derivative action working on set point changes is usually not a problem except in cascade loops or ones where the set point is being manipulated.
Of more significance is whether and how filtering is done when you dial in derivative.
The Unlimited Derivative Problem
Some manufacturers do not filter or limit derivative action. Thus, at high frequencies, the amplitude ratio gets large. In the Figure the red line shows the amplitude ratio of unlimited derivative action.
The Figure shows the same PV noise added to a PID controller with (green) and without (red) PV filtering. PV filtering limits the derivative gain.
Unlimited derivative action does not help good loop control but does amplify measurement noise in the controller output. The result of unlimited derivative is a "jumpy" or nervous and noisy controller output. The lower graph in the Figure - red line is the time response of a controller to measurement noise. This can wear out valves, or drive a slave loops set point crazy. Worse yet, the noise can drive the controller into saturation which causes the anti-reset code to take over. No wonder derivative is seldom used!
Filtering Limits Derivative Noise
On the controllers that use filtering with derivative, usually the measurement signal gets the filtering. The time constant of filtering is usually calculated by these algorithms based on the derivative value dialed in. The amount of filtering changes with the amount of derivative. This has the effect of limiting derivative action at high frequencies. In Figure the green line shows the amplitude ratio and controller output using limited derivative action. Control loop performance is the same on both since unlimited derivative does not improve control loop performance.
With parallel controllers, controller gain is not multiplied by the error signal only. Integral and derivative actions are "independent" of the controller gain.
At first it might seem that the parallel controller is easier to work with because of this "independence". But, parallel algorithms require very different integral and derivative tuning parameters than other controllers. These equations show how to convert from parallel to ideal settings:
Kc = Kp I = Ip Kp (units of time/repeat) D = Dp/Kp (units of time)
There is more of a difference between parallel versus ideal controller tuning than series versus ideal tuning. The intuitive feel for tuning a parallel controller is very different from the others. The Figure below shows load response in a level loop. The yellow curve is for a tuned (ideal or parallel) controller. Normally it would seem that lowering the controller gain will make the loop more stable as in fact it does with the ideal controller in the Figure. However, the parallel controller gets less stable with lower gain!. Like all controllers, it also gets less stable with more gain. So either increasing or decreasing the gain on a parallel controller can drive the loop unstable! The controllers in the Figure are PI controllers. The situation is more pronounced when you use derivative.
With the parallel controller, the effective integral and derivative values change with the gain setting. So, lowering the controller gain also lowers the effective I; increasing controller phase. Lowering gain also increases the effective D, moving the derivative phase to higher frequencies; eliminating its stabilizing effect on controller integral action. The overall effect is unstabilizing as the Figure shows. For example: Bailey and Allen Bradley both have a parallel algorithm available that they describe as a "non-interacting" algorithm. They call the ideal algorithm an "interacting" one.
Choosing the best algorithm for your process is dependent on your process control needs and objectives. Different algorithms perform better in different situations. By using ExperTune simulation software, these differences are easier to understand.