PID loop tuning
A mis-tuned control loop writes its fault into the shape of the PV after a setpoint step. Proportional is speed but leaves an offset; integral removes the offset but too much oscillates; derivative damps but amplifies noise; and the action must be right or the loop runs away. Six loops, four reads — response shape, gain, reset, rate — including the two look-alike pairs: an oscillation versus a reversed-action runaway, and a proportional offset versus a sluggish creep.
Before you start — job brief
A PID controller has three terms and each fixes a different thing. Proportional (P / gain) reacts to the error right now — it makes the loop fast, but P alone leaves a standing offset. Integral (I / reset) removes that offset over time — too much and the loop oscillates or slows. Derivative (D / rate) damps and anticipates — too much and it amplifies measurement noise. And before any of that, the controller action (reverse or direct) has to be right, or the loop runs away instead of settling.
- Read the response shape first — rise, overshoot, oscillation, offset, chatter, or runaway
- P is speed: too much gain oscillates around setpoint, too little is sluggish
- I removes offset: no integral leaves a permanent offset, too-slow reset is sluggish
- D damps but amplifies noise — and a wrong action (direct vs reverse) runs the loop to a limit
PV step response · read the shape, then gain, reset, rate and the action
Step the setpoint, then read the shape, the gain, the reset, the rate and the action.
Loop check
Readings taken
- No readings yet.
Your diagnosis
The shape of the response names the fault
A PID loop is a conversation between three terms, and when the loop misbehaves the fastest way to find out why is to step the setpoint and watch the shape of the process variable coming back. A clean loop rises, overshoots a hair, and settles on setpoint. Every tuning fault distorts that shape in a characteristic way: too much proportional gain makes it oscillate, no integral leaves it parked short, too little gain makes it crawl, too much derivative makes it chatter, and a wrong action makes it run away. Learn to read the shape first and you have already narrowed the fault to one term before you look at a single number.
Proportional is speed — and it leaves an offset
The proportional term acts on the error right now: the bigger the gap between PV and setpoint, the harder the controller pushes. That is what makes a loop fast. But proportional-only control has a built-in flaw — it needs a standing error to produce any output at all, so it always settles a little short of setpoint. That leftover gap is the offset. Turn the gain up and the offset shrinks but the loop starts to overshoot and, past a point, to oscillate: the PV swings back and forth across setpoint, and if the gain is high enough the swings grow instead of dying out. Too much gain oscillates; too little is sluggish. Gain is the throttle, not the whole engine.
Integral removes the offset — in moderation
The integral term (reset) is what finally sits the PV on setpoint. It accumulates the error over time and keeps nudging the output until the offset is gone — so a loop that settles rock-steady but always a few percent short is almost always missing integral. Reset is measured in minutes per repeat (or its inverse, repeats per minute); a faster reset closes the offset sooner. But integral has to be used in moderation: too much reset (too fast) winds the loop up and makes it oscillate, and paradoxically a reset that is far too slow combined with a low gain makes the loop sluggish — it creeps toward setpoint and takes forever to get there. Proportional gets you close and fast; integral gets you exact.
Field note — two loops that both miss setpoint, fixed opposite ways
A loop settles below setpoint and will not climb the last few percent. There are two very different reasons, and the cure for one is useless for the other. If the PV settles quickly and then stays short forever — flat, never moving again — the loop has no integral: it is a proportional-only offset, and the fix is to turn reset on. If instead the PV is still slowly creeping toward setpoint and would get there if you waited long enough, it is not an offset at all — it is sluggish, the gain is too low, and the fix is more gain and a faster reset. Same symptom — PV under setpoint — opposite faults. Watch whether the trace has stopped or is still moving, and check whether reset is on. That one look tells you which loop you have.
Derivative damps — and amplifies noise
The derivative term (rate) acts on how fast the error is changing, so it anticipates: it pushes back against a rapid swing before the error gets large, adding damping to a slow, high-inertia loop like a big temperature process. Used well, it lets you run more gain without oscillating. Used badly, it is a liability. Because derivative responds to the rate of change of the signal, it multiplies measurement noise — on a noisy PV a high rate setting makes the output chatter, jittering the valve on noise instead of on real process movement, and that wears out packing and actuators fast. Many loops run better with no derivative at all. When the output is buzzing, suspect too much rate on a noisy signal, and filter the measurement before you add derivative.
Confirm the action first, or none of it matters
Before you touch gain, reset or rate, one thing has to be right: the controller action. A reverse-acting controller lowers its output when the PV rises above setpoint; a direct-acting one raises it. Which one a loop needs depends on the process — whether more output drives the PV up or down — and getting it wrong turns negative feedback into positive feedback. A loop with the wrong action does not oscillate and does not settle: it runs away, driving the PV one direction, monotonically, until it slams into a limit. That one-way runaway to a rail, with no oscillation, is unmistakable once you have seen it, and no amount of gain or reset tuning will fix it — only correcting the action will. It is the first thing to confirm on any loop that will not behave.
The discipline
Read the response shape first, then the terms in order — gain, reset, rate — and confirm the action. A quick settle on setpoint is healthy. A growing oscillation about setpoint is too much gain. A steady offset below setpoint is missing integral. A slow creep that never overshoots is too little gain and too-slow reset. A chattering output is too much derivative on a noisy PV. And a one-way runaway to a limit is a reversed action. Six shapes, four reads, one healthy loop and five faults — match the shape to the term that is out of range and the loop tells you exactly what it needs.