Every tuning rule below is computed from the same three numbers — gain, time constant and dead time. That is the point of measuring them: a step test turns guesswork into arithmetic. Ziegler–Nichols is aggressive by design and aims at quarter-amplitude decay; lambda tuning lets you ask for a specific closed-loop speed and is far gentler on a real plant.
| Method | Kp | Ti | Td | Character |
|---|
Almost every industrial loop is tuned against a first-order plus dead time model, because it is the simplest thing that captures what matters: how far the output moves, how fast, and how long before it moves at all. You get all three from a single step change.
Step the input, then wait. L is the time before the output does anything. K is the total output change divided by the input change. τ is the time from the end of the dead time to 63.2% of the final value — not to the end, which is why one time constant is a usable measurement and "settled" is not.
y(t) = K(1 − e−t/τ). At t = τ the
exponential term is e−1 = 0.368, so the response has covered
1 − 0.368 = 63.2%. Every further time constant closes 63.2% of what is
left, which is why 4–5 of them is "settled" and why the number never depends on how big
the step was.
A tank heater with K = 2, τ = 10 s and L = 2 s reaches 63.2% of its final temperature 12 s after the step and is within 2% of it by 42 s. Its dead-time ratio is 0.2 — comfortably controllable. Ziegler–Nichols asks for Kp = 3.0, and doubling the dead time to 4 s halves that to 1.5.
Because a controller can see lag happening and act on it, but during dead time there is nothing to see. Every correction is made blind and arrives late, so the loop keeps pushing after the target is reached. Lag slows a loop down; dead time is what makes it unstable.
Below about 0.2, PID is easy and forgiving. From 0.2 to 0.6 it needs care. Past roughly 1.0 plain PID disappoints no matter how you tune it, and you want dead-time compensation — a Smith predictor, or a model-based controller that knows the delay is there.
As a starting point, knowing what it is aiming at. It targets quarter-amplitude decay, which means it deliberately accepts an oscillatory response — fine on a robust plant, alarming on anything with a person or a heavy load attached. Lambda tuning asks you for the closed-loop time constant you actually want and is the safer default.
Usually because the process is not first-order, or not linear. A curve with an S-shaped start is second-order and the 63.2% point is meaningless on it; a valve with stiction gives a different answer for every step size. If two step tests disagree badly, the model is wrong, not the measurement.
A single-input, single-output process that behaves linearly around the operating point, at steady state before the step, with no disturbance during the test. It models the plant as first-order plus dead time and nothing else — no integrating processes, no inverse response, no measurement noise, no valve nonlinearity, and no interaction with other loops. Tuning constants are starting points to be trimmed on the real plant.
No changes to this tool’s own behaviour since the earliest archived release (v1.20). The full history for the site is in the changelog.