Manual/auto mode and bumpless transfer
Why the controller output jumps when switching from manual to automatic and when settings change, and how to avoid it: integral initialisation, output tracking, set-point tracking, storing the integral in output units.
In short. In manual the operator sets the output and the controller is not in control. If on switching to auto the controller simply starts computing its output by its formula, the output jumps — a "bump". To avoid it, in manual the controller tracks the actual output: it adjusts its integral so that at the moment of switching its output equals the manual one.
Where the bump comes from
Positional PI: u = Kc·e + I. Say the manual output is 47 %, at switching the error is e = 3 °C, Kc = 2 %/°C, and the integral I is left over from the previous auto period, say 20 %.
without tracking: u = 2·3 + 20 = 26 % → jump 47 → 26 %
with tracking: I = 47 − 2·3 = 41 % → u = 47 %, no jump
Methods
| Method | What happens in manual | Result when switching to auto |
|---|---|---|
| Output tracking | I = u_man − Kc·e − D every sample | the output is continuous, then the controller moves PV smoothly to the set point |
| Set-point tracking (SP = PV) | the set point follows PV, e = 0, I = u_man | the output is continuous, set point = current PV; the operator changes it |
| Incremental algorithm | u[k] = u[k−1] + Δu, u[k−1] is the manual output | bumpless by construction (incremental algorithm) |
| Back-calculation | the integral is pulled towards the actual output with time constant Tt | the bump shrinks but does not vanish if Tt is large |
Output tracking and anti-windup solve the same problem: the integral must match the actual output, not the computed one.
Bumpless parameter changes
If the block stores ∫e dt and multiplies it by Kc/Ti on every calculation, changing Kc or Ti changes the integral contribution instantly:
∫e dt = 800 %·s, Kc = 2, Ti = 40 s: I = 2/40 · 800 = 40 %
Ti changed to 20 s: I = 2/20 · 800 = 80 % → the output jumps by 40 %
If the integral is stored in output units (I += Kc·Ts/Ti·e every sample), the new Ti affects only future increments — no jump. This is how the app's simulator computes it. How a particular block stores its integral — see the documentation of its version; when in doubt change parameters in manual or in small steps.
Switching from auto to manual
The manual output must start from the last automatic value, not from zero or an old manual value. Usually the block or the actuator control function does this (valve and motor control).
Typical mistakes
- The manual output is written after the block and the block does not know — no tracking.
- Set-point tracking is on while the operator expects the set point to be kept: after switching it equals the current PV.
- A D-term bump at switching: D on error reacts to the step in e — use D on measurement (D filter).
- Cascade: slave in manual, master in auto — the master winds up; it must track the slave set point.
Limits
The diagram shows the principle. Real blocks name the modes differently (Manual, Tracking, Inactive, Follow) and implement tracking differently; check the documentation.
Connections
Open in Knowledge Graph →Loading the map…
Sources
Updated 2026-10-12