## Sorting out PID Controller Differences

Back in college, I learned that the ubiquitous *proportional-integral-derivative* (PID) control algorithm consists of three operators or *terms* acting on the error signal as shown in the “Theoretical PID algorithm” graphic. The controller calculates the integral and derivative of the error between the process variable and setpoint, then generates a control effort by adding those two quantities to the error itself. A user chooses the *tuning parameters* — *proportional gain* (P), *integral gain* (I) and *derivative gain* (D)—to give more or less weight to each term, thereby adjusting the controller’s performance.

The corrective effort that a PID controller applieds to a process is the sum of the proportional action generated by the proportional term (top), the integral action generated by the integral term (middle), and the derivative action generated by the derivative term (bottom). The P, I and D tuning parameters determind the relative contribution of each term. This arrangement is also described as the non-interactiong or independent algorithm since changing one tuning parameter does not affect the contributions of the other two terms. |

I proceeded to write my first PID tutorial for *Control Engineering* assuming that commercial PID controllers work just that way. I soon learned that commercial PID controllers do compute the error signal, its integral and its derivative, but they typically combine those three quantities using the *standard* form of the PID algorithm as shown in the “Standard PID algorithm” graphic. It accomplishes the same end result as the theoretical algorithm, but it uses a slightly rearranged PID equation with a different set of tuning parameters– *controller gain* (Kp), *integral time* (Ti) and *derivative time* (Td).

## Potential for confusion

Fortunately, it’s easy enough to compare the two algorithms and relate **P** , **I** and **D** to **K** _{p} , **T** _{i} and **T** _{d} as follows:

P = K _{p}

I = K _{p} / T _{i}

D = K _{p} _{d}

The proportional gain **P** is the same as the controller gain **K** _{p} , so users unaware of the difference between the theoretical and standard PID algorithms might also assume (as I did) that “integral gain” is synonymous with “integral time” and “derivative gain” is synonymous with “derivative time.” Unfortunately, that mistake makes tuning the loop virtually impossible.

Suppose for example, that a student in Control Engineering 101 class has determined that a particular feedback loop requires a theoretical controller with a proportional gain of 3, an integral gain of 2, and a derivative gain of 1. Entering those three values into a standard commercial controller under the headings of controller gain, integral time, and derivative time would be akin to setting:

P = 3

I = 3 / 2 = 1.5

D = 3

The controller would end up with the desired degree of proportional action but 25% less integral action (with a gain of 1.5 rather than 2) and three times as much derivative action as the student intended.

The standard or ISA standard form of the PID algorithm allows a user to simultaneously adjust the contributions of all threee terms by means of a single tuning parameter K _{p} . The proportional, K _{p} ; hence the alternative label dependent or dependent ideal PID. This arrangement is occasionally labeled the academic algorithm even though academicians rarely use it. |

Which PID is it anyway?

Incompatible tuning parameters are not just a problem for inexperienced academicians. Some commercial controllers use the *series* or *serial* form of the PID algorithm that relies on yet a third set of tuning parameters. See the “Series PID algorithm” graphic. An industrial user trying to tune two controllers in otherwise identical loops will get different results if one controller happens to use the standard algorithm and the other happens to use the series algorithm.

Worse still, both the theoretical and standard algorithms are sometimes described as the *ideal* algorithm, even though they’re different. Consequently, some techniques for tuning ideal controllers won’t work on some ideal controllers.

On the other hand, the phrase *parallel* or *ideal parallel* seems to refer exclusively to the theoretical algorithm in which the proportional, integral and derivative terms operate in parallel rather than in series. Ironically, the three terms in the standard algorithm also operate in parallel, but “standard” and “parallel” are almost never used synonymously.

In this arragement of the PID algorithm, the proportional, integral and derivative terms operate in series. The actions of each depends on the other two; hence the alternative label interacting or dependent interacting PID. The series PID algorithm happened to be easier to implement back in the days of analog controllers, and though virtually all commercial controllers are now implemented with digital microprocessors, the series algorithm is still sometimes used in order to preserve the tuning parameters when replaceing an analog controller with a digital version. |

Tuning terminology

The tuning parameters themselves also have different labels depending on who’s describing them. When PID controllers were first developed, the derivative action was known as the *pre-act mode* because the derivative term seemed to act preemptively, accelerating the controller’s corrective efforts beyond what the proportional term could manage on its own. Early users increased or decreased the degree of preemptive (derivative) action by selecting a larger or smaller *pre-act time* . Today’s PID vendors typically describe a controller’s derivative action as its *rate* .

Integral action was originally known as *automatic reset* because the integral term seemed to automatically adjust the setpoint to the exact value required to eliminate the steady-state offset caused by the proportional term (see “The Three Faces of PID,” *Control Engineering* , March 2007 for more on this curious phenomenon). Some users still specify the reset time when tuning a controller’s integral action, but a higher reset time corresponds to less integral action, not more.

Alternately, the degree of integral action is sometimes specified in terms of the *reset rate* , which is the inverse of the reset time and entirely unrelated to the derivative rate. Confusing “reset” and “reset rate” leads to increased integral action when the user wants less, and vice versa.

Likewise, the proportional gain in some PID controllers is specified in terms of its inverse known as the *proportional band* . More precisely, the proportional band is 100 divided by the proportional gain so that it represents the percent change in the error signal necessary to cause a full-scale change in the proportional term’s output. Confusing “proportional band” with “proportional gain” leads to decreased proportional action when the user wants more, and vice versa.

## Even more variations

Compounding the confusion are various ad hoc enhancements that have been developed over the years to improve a PID controller’s performance. Fortunately, all these enhancements work no matter which PID algorithm a particular controller uses, and most are available at least as options on most commercial controllers. On the other hand, it’s not always obvious which options have been selected for a particular controller that is already in operation.

For example, the process variable signal is often *filtered* before it enters the PID calculation so as to remove measurement noise that would otherwise cause the control effort to fluctuate unnecessarily (see “The Basics of Numerical Filtering,” *Control Engineering* , October 2008). The derivative term is especially sensitive to measurement noise.

Unfortunately, filtering the process variable also tends to make the controller look sluggish. A user unaware of the filter might try to make the controller more responsive by turning up the controller’s gains. The desired closed-loop performance might be achievable, but the filter and the PID algorithm will end up working against each other.

*Deadband* is another mechanism used to minimize excessive fluctuations in the control effort. A controller equipped with a deadband will do nothing until the calculated control effort changes by more than a set amount. This prevents the controller from moving the control loop’s actuator every time the process variable changes only slightly. A user unaware of this function might conclude that the controller is not working at all, especially if deadband happens to be set to a particularly large value.

With so many variations on “the” PID algorithm in use today, when re-tuning or otherwise modifying an existing controller, the first step has to be determining exactly which kind of PID controller it is.

**ONLINE extra**

*Control Engineering* provides other PID articles online , as well as famous reference guides in PDF form (copyright *Control Engineering* , Reed Business Information):

–

Reference Guide to PID Tuning, Part 1

with the original Ziegler-Nichols PID paper;

–

Reference Guide to PID Tuning, Part 2

; and

–

Reference Guide to PID Tuning, Part 3

.

Author Information |

Vance VanDoren is consulting editor to Control Engineering. Reach him at controleng@msn.com . |