# PID Loops in Boiler Control Systems Part 1: The Anatomy of a PID

PID loops are a central component of modulating boiler control systems with applications ranging from basic steam header pressure control to cascading 3-element drum level control. A modern full-metering combustion controller with draft, FGR, VSD, and O2 trim can have as many as 10 PID loops running at once, with some interacting with each other. With this in mind, understanding the inner workings of a PID loop and how it should be tuned for each process has become an essential skill for the boiler service technician and control systems design engineer.

Basic Function

Stated simply, a PID is a control algorithm that compares an expected value (Setpoint or SP) to an actual measured value (Process Variable or PV) and adjusts the Control Output to keep these two values as close as possible. For example, a steam pressure control PID would have a transmitter measuring the current steam pressure (PV), a constant pressure setting that the boiler is expected to maintain (SP), and a Firing Rate demand signal to the fuel valve (Output). If the measured steam pressure falls below the setpoint, the PID increases the boiler firing rate, and conversely if the measured steam pressure rises higher than the setpoint, the PID will decrease the firing rate demand.

The basic form of the PID algorithm is the summation of four calculated terms: Proportional Gain (“P”), the Integral Term (“I”), the Derivative Term (“D”), and the Feedforward (“FF”). These terms are each calculated separately based on input constants and variables, then summed together for the resulting Control Output.

Proportional Gain “P”

The Proportional Gain determines the scale of the PID’s adjustment to the Control Output. It looks at the “Error” between the Setpoint and Process Variable and scales this difference by an adjustable Gain Constant to obtain the “P” term of the PID.

The Proportional Gain is calculated in the following sequence:

1. Take the difference of the Process and Setpoint to calculate the Error. If the Process Variable is less than the Setpoint the Error will have a positive value which will translate to an increase to the Control Output. This works in the majority of boiler control situations where the Control Output is “Reverse Acting”. If the Control Output is “Direct Acting”, the SP and PV terms in the equation must be reversed.

2. Multiply the Error by a Gain Constant, K_{P}.

The K_{P} constant can be adjusted to fine-tune the PID loop. A greater K_{P} will result in a greater change in the Control Output for a given SP-PV Error. This increased sensitivity can result in faster control, but if K_{P} is set too high, the loop can become unstable, and the Control Output will oscillate.

In Part 2 of this series, we will look into the four most common ways to define K_{P}.

3. Adjust with a manual reset

Many older control systems utilize a simple proportional-only control where there are no Integral, Derivative, and Feedforward terms. The drawback to proportional-only control is that there must be an Offset that determines the Output command when there is no Error. The Proportional controller adjusts the Output linearly in either direction from the Offset as SP – PV error occurs. In practice, this can lead to difficulty maintaining setpoint as load demands fluctuate and a steady-state offset develops. The proportional controller will need to have its offset manually “reset” to maintain setpoint for the new load. This problem can be corrected by adding the Integral term, also known as the automatic Reset.

Integral Term “I”

The Integral term allows the controller to automatically “Reset” the proportional control offset over time to account for changes in load demand. Proportional plus Integral (PI) control is the most common form of PID control for boiler applications. Compare the diagram below to the proportional-only control diagram. The manual reset offset has been replaced with the “automatic reset” Integral term.

The Integral Term is calculated by the following sequence:

1. Calculate the Integral constant K_{I}. This term takes into account the software scan rate of the controller and will be looked at in greater detail in Part 2.

2. Multiply the Proportional term “P” by the Integral constant K_{I} to get the amount to add the Integral term this scan.

Notice that the Integral term is affected by both adjustable settings for Proportional Gain and Integral, whereas the Proportional Term is only affected by the adjustable Proportional Gain.

The PID algorithm must also account for Integral “Windup”. When a control output is placed in manual override, the PID has no effect on changing the Output. When this happens, the Integral term will continue to add to the PID Output command causing “windup”. When the user places the controller back into automatic, the Control Output will drive to where the PID commands it which could be a sudden jump. Integral windup can be prevented by forcing the Integral to be equal to the Track Signal (Output) minus the Proportional term, Derivative term, and Feedforward term when the Track Mode Override is enabled. This gives the controller a bumpless transfer from manual to automatic mode.

Derivative Term “D”

The Derivative term “D” of the PID measures the rate-of-change (dX/dt) of the SP-PV Error and adjusts the PID Output accordingly. As the SP-PV error rate-of-change becomes more positive (e.g., the PV is dropping at an increased rate) The Derivative term will increasingly add to the PID Output. As the Error rate-of-change becomes more negative, the Derivative term will become increasingly negative and reduce the PID Output. The scale of the effect the Derivate term has on the output is determined by an adjustable constant K_{D} and the Proportional Gain constant K_{P}.

The Derivative term can alternatively be setup to the negative of the Process Variable as its “X” term the dX/dt rate-of-change. As the PV rate-of-change increases and decreases, the Derivative term will react inversely.