PID tuning means choosing the controller gain, integral time and derivative time so a loop reaches its setpoint quickly and rejects disturbances without oscillating. For process loops the reliable method is model-based: run a step test, measure the process gain, dead time and time constant, then calculate the settings, for example with lambda tuning, and confirm with a small setpoint change. Flow, pressure, level and temperature loops each behave differently, so each needs a different starting point.
This article is part of our guide to industrial process control. It also covers cascade and feedforward control, the two strategies that most often fix a loop that tuning alone cannot.
What P, I and D each do
| Term | Responds to | Effect | Too much causes |
|---|---|---|---|
| Proportional (P) | The current error | Output moves in proportion to the error | Oscillation; P alone leaves a steady offset |
| Integral (I) | The accumulated error over time | Removes the offset by ramping until error is zero | Slow oscillation, overshoot, windup |
| Derivative (D) | The rate of change of the error or PV | Damps fast changes and anticipates | Noise amplification and valve chatter |
Most process loops use PI control. Derivative helps slow loops with little noise, such as some temperature loops, and is usually left off flow and level loops. Controllers express gain either as gain Kc or as proportional band, where PB (%) = 100 ÷ Kc, and integral as a time (seconds or minutes per repeat) or a rate (repeats per minute); check which your controller uses before entering numbers.
Step 1: run a step test
- Wait until the process is steady, with the loop in manual.
- Change the controller output by a known amount, typically 5–10%, large enough to see clearly above noise but small enough to be safe.
- Record PV and output at a rate at least 10 times faster than you expect the response to be.
- Measure the process gain K (change in PV ÷ change in output), the dead time θ (time before the PV starts to move) and the time constant τ (time from the end of the dead time to 63% of the final change).
- Repeat in the other direction; if the results differ, the valve or process is nonlinear.
Level loops do not settle after a step; the level keeps ramping. For these integrating processes, measure the ramp rate per % of output instead of a gain.
Step 2: calculate the settings with lambda tuning
Lambda tuning sets a desired closed-loop time constant λ and calculates settings to achieve it with no overshoot, which suits most chemical processes. A larger λ is slower and more robust; a common choice is λ between τ and 3τ for self-regulating loops.
| Process type | Controller gain Kc | Integral time Ti |
|---|---|---|
| Self-regulating (flow, pressure, temperature) | τ ÷ (K × (λ + θ)) | τ |
| Integrating (most level loops) | (2λ + θ) ÷ (Ki × (λ + θ)²) | 2λ + θ |
Worked example 1: a flow loop
Step test. Valve output 40% → 50% raises flow from 60% to 75% of range: K = 15 ÷ 10 = 1.5. Dead time θ = 0.5 s; time constant τ = 3 s.
Settings. Choose λ = τ = 3 s. Kc = 3 ÷ (1.5 × (3 + 0.5)) = 3 ÷ 5.25 = 0.57, a proportional band of 100 ÷ 0.57 ≈ 175%. Ti = τ = 3 s. No derivative.
Loop rate. With a 0.5 s dead time the loop should execute every 50–100 ms or faster.
Worked example 2: a level loop
Step test. Opening the outlet valve 1% more than balance makes the level fall at 0.002% of range per second, so Ki = 0.002 (%/s) per %. Dead time θ = 10 s.
Settings. Choose λ = 100 s. Ti = 2 × 100 + 10 = 210 s. Kc = 210 ÷ (0.002 × 110²) = 210 ÷ 24.2 = 8.7.
Why so high? Integrating processes need higher gain and long integral time. Too much integral on a level loop is the classic cause of slow, endless cycling.
The process control guide works through the same method for a jacketed reactor temperature loop.
Step 3: verify and refine
- Put the loop in automatic and make a small setpoint change, for example 2–5% of range.
- Check that it settles without sustained oscillation in about 3–4 λ.
- Watch the output as well as the PV: a hunting or saturating valve shows problems before the PV does.
- Test disturbance rejection, for example a feed change, not just setpoint tracking.
- Record the final settings and step-test data for the next person.
Starting points by loop type
| Loop | Typical behavior | Typical controller | Tuning notes |
|---|---|---|---|
| Flow | Fast, noisy, small dead time | PI, low gain, short integral | Usually no derivative; filter the measurement lightly |
| Liquid pressure | Very fast, similar to flow | PI | Tune like flow |
| Gas pressure | Fast to moderate, self-regulating or integrating | PI | Check whether it is integrating before tuning |
| Level | Integrating | P or PI with long integral | Decide whether tight level or smooth outflow matters more |
| Temperature | Slow, long time constant, some dead time | PI or PID | Derivative can help if the signal is clean |
| Composition / analyzer | Long dead time from sampling | PI, conservative | Large dead time limits performance; consider feedforward |
When tuning is not the problem
- Valve stiction or backlash: the loop cycles in a square-wave pattern no matter how it is tuned. Fix or replace the valve or positioner.
- Wrong valve size: an oversized valve operating at 5–10% open makes the gain high and erratic.
- Measurement noise or slow sampling: filter carefully and scan fast enough.
- Integral windup: when the output saturates, integral keeps growing and causes overshoot. Use anti-windup, standard in good controllers.
- Interacting loops: two loops fighting each other, for example pressure and flow on the same line. Detune one or redesign the strategy.
Cascade control
In cascade control, an outer (primary) loop sets the setpoint of a faster inner (secondary) loop. The classic example is reactor temperature: the outer loop controls reactor temperature and sets the jacket temperature setpoint; the inner loop controls jacket temperature with the heating or cooling valve. Disturbances in the utility supply are corrected by the inner loop before the reactor feels them.
- The inner loop should be at least 3–5 times faster than the outer loop.
- Tune the inner loop first, then the outer loop with the inner loop in automatic.
- Put the inner loop in manual and the outer loop cannot act, so build the switching logic carefully.
Feedforward control
Feedback can only act after an error appears. Feedforward measures a disturbance, such as feed flow, feed temperature or ambient conditions, and adjusts the output immediately using a model of its effect. Feedback then trims whatever the model gets wrong. On a reactor or heat exchanger, feedforward from feed rate can cut the temperature upset from a rate change several-fold.
Good feedforward needs a reliable measurement of the disturbance and a reasonable model, usually from step tests. Our process control instrumentation article covers the measurement side.
Loops that will not settle?
Sciotex engineers design, tune and commission process control loops and strategies for reactors, pilot plants and production processes, supported in the US since 1997.
Frequently asked questions
For process loops, a model-based method such as lambda tuning is the most reliable: it uses step-test data and gives a predictable, non-overshooting response. Ziegler-Nichols methods are well known but tend to give aggressive, oscillatory tuning on process loops.
Usually not on flow, pressure or level loops, because derivative amplifies noise. It can help on slow, clean loops such as some temperature loops.
Proportional band is another way to express controller gain: PB in percent equals 100 divided by the gain. A gain of 2 is a proportional band of 50%.
Most level processes are integrating, so too much integral action, a short integral time, causes slow cycling. Lengthen the integral time or use lambda tuning for integrating processes.
Use cascade control when a fast secondary variable, such as jacket temperature or valve flow, is affected by disturbances that a faster inner loop can correct before they reach the primary variable.