The venerable PID is assuredly the most widely used algorithm in industrial process control. Its simplicity, reliability and familiarity make it a staple for closed-loop control throughout the industrialized world. Many control engineers apply this tool to every process or system requiring closed-loop control.
Despite this default status as the “go-to” solution for feedback control, it isn’t always the right choice. Some processes simply aren’t well-suited for PID control, and force-fitting this tool into the wrong set of conditions can have far-from-ideal results. The PID was developed for linear first-order response systems, and when a system exhibits non-linear or a higher-than-first-order response, applying PID can be a frustrating experience.
This long-established limitation has given birth to some useful variations of PID that fall into a category of automation described as advanced regulatory control. Some simple techniques from this category can solve many incompatibility issues through external compensation or the application of feedforward. Though technically defined as advanced, these methods are not very difficult to implement, and are supported by existing features or readily available add-in components. This first blog post in a two-part series will focus on the aspect of non-linear behavior.
The PID algorithm assumes certain conditions
Linear first-order response
If you read many articles about PID tuning, you’ll quickly detect an unstated assumption about the target system’s open-loop transient response. Time constant, dead-time and system gain are important aspects of the response which are nearly always described by examples of first-order systems having a step response of the form:
This simple decay-related function is quite common, and is revealed in systems which contain a single energy storage element – like a discharging capacitor or the cooling of a fluid in a container. Not all systems are this simple, however, and there are also many complex systems which are higher-order or exhibit a variable system gain. Non-linear and non-first-order systems are not easily handled by the PID algorithm, and tuning one of these can be challenging at best.
Timely and accurate PV measurement
Another basic requirement for effective PID application is proper measurement of the process variable (PV) being controlled. A noisy or delayed measurement of the PV can also wreak havoc on the tuning process.
Yet another assumed condition is that the system is actually being controlled by the algorithm. This may seem like an obvious requirement, but is still overlooked quite frequently in real life. A system which controls temperature by modulating a valve works fine until the valve is overridden by an operator. This will often happen when an operator becomes impatient with a system’s response to a setpoint change, or conversely, wants to slow or hold that response. When the PID has a substantial integral component, this situation can cause a control upset requiring a substantial recovery time.
Non-linear response can be solved with a linearizing compensator
Some otherwise normal systems can exhibit non-linearity because the final control element is inherently non-linear. One such example is improper selection of valve trim. Another can result from applying the wrong type of valve – such as using a butterfly or ball valve for flow control.
Some systems are inherently non-linearity because the energy driving the system is not constant. An example of this is an otherwise linear valve controlling flow from a draining tank. As the level in the tank changes, the changing pressure head correspondingly affects the system gain.
The external compensator
Non-linear systems can be “linearized” through the use of a compensator. In either of the cases described above, the variable flow characteristics can be calculated or empirically measured. The resulting matrix of valve position vs. flow can be inverted and used as a compensating function to re-establish linear response for the system.
Implementing this inverse lookup method can be even accomplished through use of off-the-shelf components. One such component is the strapping table function (P_StrapTbl) from Rockwell’s PlantPAx object library. Though specifically intended for converting a tank’s level to its corresponding volume, the instruction is useful for this more generic application as well.
Simple enhancements like those described above can expand the range of effectiveness for the already ubiquitous PID controller. Even though the algorithm assumes a linear first-order response, non-linear systems can be addressed with a compensator. Where more complicated effects must be solved, other techniques can be combined with the feedforward capability of most standard PID functions to achieve a highly functioning result. That method will be covered in Part 2 of this blog series.