← SCADA & Industrial Controls Studio
Concept Explainer · SCADA

P, I & D: What Each Term in a PID Controller Is Actually Reacting To

Three completely different mathematical questions about the same error signal — not three volume knobs on one correction.

Ask someone to describe what "tuning Kp, Ki, and Kd" means and a common answer is some version of "making the correction stronger or weaker." That undersells what's actually happening. Every PID controller is continuously computing one thing — the error, e(t) = setpoint − measured value, over and over, every scan cycle. P, I, and D aren't three strengths of that one number. They're three genuinely different mathematical features extracted from the exact same error signal — its current value, its accumulated history, and its rate of change — and each one solves a piece of the control problem that the other two literally cannot.

The Setup

One error signal, three different questions asked about it

At any instant, a PID loop knows exactly one thing directly: the current error, e(t). Everything else it uses is derived from watching that error over time. Proportional action asks "how big is the error right now?" Integral action asks "how much error has there been, added up, over the time it's persisted?" Derivative action asks "how fast is the error changing at this instant?" Three different questions, three different pieces of math, applied to the same underlying trace.

P
Proportional
Reacts to: the PRESENT

Output correction is directly proportional to the current error — bigger error right now means a proportionally bigger corrective push right now. But as that error shrinks toward zero, the proportional correction shrinks with it, so P alone typically settles at some small, persistent non-zero error rather than reaching the setpoint exactly.

I
Integral
Reacts to: the ACCUMULATED PAST

Output correction is based on the running sum of error over time. As long as any error has persisted, the integral term keeps growing and pushing harder — specifically to eliminate the steady-state offset P leaves behind. But it's reacting to history, which is why aggressive integral action can overshoot: it keeps 'remembering' past error even after present error is gone.

D
Derivative
Reacts to: the FUTURE TREND

Output correction is based on how fast error is currently changing — the trend, not the value. It anticipates where error is heading and applies a damping/braking effect that reduces overshoot, without waiting for the overshoot to actually happen. On a steady, unchanging error it contributes nothing, since the rate of change of a constant is zero.

Same error curve, three different features

One Signal
time →error e(t)zero errorfuture error — not yet known (D estimates the trend, it doesn't see this)D ∝ local slope(rate of change / trend)NOWP, I & D are all evaluatedhere — from different featuresof the same curveP ∝ e(t) — current error onlyI ∝ shaded area(sum of past error, 0 → now)
P reacts to
e(t) — this instant
A single point on the curve.
I reacts to
∫e(t)dt — history
The area under the curve so far.
D reacts to
de/dt — trend
The slope of the curve right now.

Same setpoint step, three different responses

Complementary, Not Redundant
time →SetpointP-only: settles lowpersistent offset — never quite arrivesP+I: overshootsthen oscillates into setpointP+I+D: reaches setpointwith D damping the approach
P-only
Never quite arrives
Settles at a small persistent steady-state offset below setpoint.
P+I
Arrives, roughly
Eliminates the offset, but overshoots and oscillates getting there.
P+I+D
Arrives, damped
D anticipates the approach and cuts the overshoot down.
Why this works

P, I, and D are three different questions asked of the same error trace — not three copies of one question.

Plot error against time and there are exactly three genuinely different mathematical features you could extract from that curve at any instant: its current value, the area accumulated underneath it so far, and its local slope. That's not a coincidence — it's the entire reason PID has three terms and not one. Proportional reads the current value and reacts to how big the problem is right now. Integral reads the accumulated area and reacts to how long and how badly it's persisted — which is exactly the information needed to finish the job P leaves undone. Derivative reads the local slope and reacts to which way things are headed, which is the only one of the three that can apply a brake before an overshoot actually happens. Turning up "the gain" on any one of them doesn't substitute for the other two, because each one is extracting information the other two structurally cannot see.

Common misconception
"P, I, and D are just three different 'strengths' of the same basic correction — tuning is mostly picking one overall gain."

False, and it's the misunderstanding that produces most badly-tuned loops. Each term reacts to a genuinely different mathematical feature of the error signal — P to its current value, I to its accumulated history, D to its rate of change — and each addresses a specific control problem the other two don't touch. P alone gives a proportional response but leaves steady-state offset behind, because its correction shrinks to nothing as error shrinks to nothing. I alone eliminates that offset but, pushed too aggressively, causes slow oscillatory overshoot, because it keeps acting on error history even after the present error has already reversed. D alone provides zero corrective action against a steady, unchanging error — the derivative of a constant is zero, so a pure-D controller does nothing at all once error stops changing. Proper PID tuning means understanding and balancing three distinct roles, not treating three dials as interchangeable versions of "more correction."

Related Concept Explainers
Integral Windup
Read it →
Open-Loop vs Closed-Loop Control
Read it →

P, I & D Action — Concept Explainer

Explains what each term in a PID controller mathematically reacts to — proportional to the present error, integral to the accumulated history of past error, and derivative to the anticipated future trend — and why a well-tuned controller needs all three because each solves a different piece of the control problem that the others structurally cannot.

Proportional: Reacting to the Present

Proportional action multiplies the current error by a fixed gain, Kp, to produce an output correction directly proportional to how large that error is right now. A large current error produces a large corrective push; a small current error produces a small one. That last part is the catch: as the process variable approaches setpoint and error shrinks toward zero, the proportional correction shrinks right along with it. For most real processes, some non-zero output is needed just to hold the process at any point away from its natural resting state, so a P-only controller typically settles with a small but persistent error — an offset — rather than reaching setpoint exactly.

Integral: Reacting to the Accumulated Past

Integral action sums the error over time, multiplied by Ki, adding more corrective output for as long as any error persists. This is exactly the mechanism that eliminates the steady-state offset P-only control leaves behind: even a tiny residual error, summed continuously, eventually accumulates enough integral output to close the gap. The tradeoff is that the integral term is reacting to history, not the present — it keeps contributing based on error that already happened, even after present error has reversed sign. Pushed too aggressively (too high a Ki), that lag between what happened and what the term is still reacting to shows up as overshoot and oscillation before the loop settles.

Derivative: Reacting to the Trend

Derivative action multiplies the rate of change of error, de/dt, by a gain Kd, producing output based on how fast the process variable is currently approaching (or overshooting) setpoint — not on the error's size or history. Because it reads the trend rather than a static value, derivative action can apply a damping or braking effect before an overshoot fully develops, anticipating where the process variable is headed rather than reacting only after it arrives. Its blind spot is the mirror image of P and I's strength: against a steady, unchanging error, the rate of change is zero, so derivative action contributes nothing at all — it cannot help close a static offset, only smooth out the approach.

Frequently asked questions

Why can't proportional action alone eliminate steady-state error?

Because the proportional term's output is directly tied to the size of the current error — as error shrinks toward zero, so does the corrective output. Most real processes need some non-zero output just to sit at a setpoint away from their natural resting state, so a P-only loop settles where the shrinking proportional output happens to balance the process, which is rarely at exactly zero error.

If integral eliminates offset, why not just use I alone and skip P?

Integral action responds slowly by design — it has to accumulate error over time before it produces meaningful output, so an I-only loop reacts sluggishly to a fresh disturbance. Proportional action gives the loop an immediate, present-tense response the moment error appears, which integral action then refines toward zero over time. In practice they work together, not as substitutes.

Why does derivative action do nothing during a steady, unchanging error?

Derivative action is calculated from the rate of change of error, de/dt. A constant error — one that isn't changing — has a rate of change of exactly zero, so the derivative term's output is zero regardless of how large that constant error is. Derivative only contributes when error is actively changing, which is why it can't fix steady-state offset on its own; that job belongs to integral action.

Is more integral gain always better at removing offset?

No — increasing Ki removes offset faster but also makes the loop more prone to overshoot and oscillation, because the integral term keeps acting on accumulated past error even after present error has already reversed. Aggressive integral gain combined with a large disturbance can also produce integral windup if the actuator saturates; see the companion Concept Explainer on Integral Windup.

Does derivative action replace the need for integral action?

No. Derivative damps the approach to setpoint by reacting to trend, but it provides zero correction against a steady, unchanging error since the derivative of a constant is zero. Only integral action, by accumulating error over time, actually eliminates steady-state offset. D and I solve different problems — one shapes the approach, the other guarantees the destination.

🎓

Try our SCADA Studio

More calculators, simulators, and guides for this discipline.

Related tools & guides

Integral Windup — Concept ExplainerOpen-Loop vs Closed-Loop — Concept ExplainerMotor Starter & VFD Selection ToolSCADA System Designer