Skip to content

PID Controller Simulator

A simple interactive simulation of a first-order process, an actuator with output saturation, and a PID controller. Tune the controller parameters and observe how the process responds.


Process Value (PV)
0.0
Setpoint (SP)
50.0
Control Output (CO)
0.0
Error (SP–PV)
50.0

t = 0 s

Setpoint

PID Parameters

Process Model

Actuator


How it works

Block Model
PID Controller Standard parallel form: \(u = K_p e + K_i \int e \, dt + K_d \dot{e}\), with anti-windup (conditional integration)
Actuator Output rate limiter (max %/s) followed by a hard saturation clamp (min/max %)
Process First-order lag: \(\tau \dot{x} = K_{proc} \cdot u_{delayed} - x\), with configurable dead time θ
SIMC auto-tune \(\tau_c = \max(0.1\tau,\, 0.8\theta)\), then \(K_p = \frac{1}{K}\frac{\tau}{\tau_c+\theta}\), \(T_i = \min(\tau,\, 4(\tau_c+\theta))\), \(T_d = \theta/2\)
ZN OL auto-tune \(K_p = \frac{1.2}{K}\frac{\tau}{\theta}\), \(T_i = 2\theta\), \(T_d = 0.5\theta\) (requires \(\theta > 0\))

Tips for tuning

  • Start with Ki = 0 and Kd = 0 and increase Kp until the response is fast but not too oscillatory.
  • Add a small Ki to eliminate steady-state offset.
  • Add a small Kd to reduce overshoot — watch out for noise amplification.
  • Increase dead time θ and/or τ to make the process harder to control.