← All Tools

PID Controller Tuner

Drag the Kp / Ki / Kd sliders and watch the closed-loop step response update in real time. Pick a first-order-plus-dead-time (FOPDT) or second-order plant, then snap to a classic tuning rule — Ziegler-Nichols, Cohen-Coon, AMIGO, IMC, or Tyreus-Luyben — and read off rise time, settling time, overshoot, steady-state error, and IAE/ITAE/ISE performance indices. Everything runs in your browser, simulated with explicit Euler integration.

G(s) = K · e−Ls / (τs + 1)

Step response

Output y(t) Setpoint r(t) Control u(t) · scaled

Classical tuning rules

Click a row to apply. All formulas assume the FOPDT plant K · e−Ls / (τs + 1); integrator + delay rules also work for the integrator model.

RuleKpKiKdUse when
How the simulator works

The plant is discretized with explicit Euler at step Δt. FOPDT is a first-order lag τ ẏ + y = K · u(t − L) with the dead time L implemented as a FIFO of length round(L/Δt). The 2nd-order plant integrates two states from the canonical form. The controller is the parallel velocity-form PID, with optional derivative on measurement (DoM) to avoid setpoint kick and an anti-windup back-calculation on the integrator whenever the output saturates against u_min/u_max.

Performance index definitions

Rise time: time to first cross 90% of setpoint.
Settling time: last time |y − r| exceeds 2% of |r|.
Overshoot: (y_max − r) / r as a percentage.
SSE: final |y(T_end) − r|.
IAE: ∫|e| dt   · ISE: ∫e² dt   · ITAE: ∫t·|e| dt