PID Tuning Helper Loops
A toy loop, not your loop — the process below is a simple first-order model with dead time. It's here to build a feel for what each knob does, not to hand you gains for a real system.
Step-Response Simulator
Loop Speed Reference
"Fast loop / slow loop" is loose shorthand for the dominant time constant — roughly how long the process takes to get most of the way to a new value after the output changes. Loops with longer time constants and more dead time need gentler tuning and benefit more from integral; fast loops can take more aggressive gain. The simulator's Process Type selector picks one of these buckets:
| Speed | Time constant (τ) | Dead time | Typical HVAC examples |
|---|---|---|---|
| Fast | ~5–15 s | ~1–3 s | Duct static pressure, mixing-box damper position, fan VFD speed |
| Medium | ~30 s – 2 min | ~5–15 s | Discharge air temperature, chilled-water valve, hot-water valve |
| Slow | ~2 – 10 min | ~30 s – 2 min | Space / zone temperature, return-air humidity, large tank or basin temperature |
The ratio that matters most for controllability is dead time ÷ τ. Below ~0.2 the loop is well-behaved; up around 0.5 you need to be careful (slower gain, longer reset); past 1.0 you're usually fighting transport delay, and a Smith predictor or feedforward starts to look attractive. At their preset operating points the three buckets above all sit comfortably under 0.2, which is most HVAC — though toward the slow end of a bucket's range the ratio climbs.
Symptom → Tuning Move
Quick reference for when you already know your way around a loop. ↑ = more, ↓ = less; P = gain, I = reset, D = rate.
| Symptom | Tuning move |
|---|---|
| Slow to respond | ↑ P |
| Crawls toward setpoint | ↑ P · ↑ I |
| Steady-state offset | ↑ I |
| Overshoots, then recovers | ↓ P slightly · ↑ D on laggy loops |
| Oscillates / hunts | ↓ P · ↓ I |
| Jumpy / noisy output | ↓ D · filter input |
| Pinned at 0 % / 100 % | check sizing & sequencing |
| PV runs away when the loop acts | flip acting (direct ↔ reverse) |
New to PID? Start with the basics → — the plain-English walk through proportional, integral, and derivative, with worked HVAC examples and three small step-by-step sims.
Rule of thumb on this tool: most HVAC loops are PI, not full PID. Start with reset off, raise the gain until the loop just begins to cycle, back it off, then add only as much reset as you need. Vendors differ on the knobs — Niagara LoopPoint exposes bare proportional / integral / derivative constants (closest to the gain · reset · rate view), EBO uses gain with integral and derivative times in seconds (Ti / Td), and a proportional-band style swaps the gain for a proportional band while keeping the same time-in-seconds Ti / Td; flip the Parameter Style selector above to read the loop in whichever terms you use. Same idea, different clothes — the numbers here show the relationships between the knobs, not drop-in values for any one platform.
One modeling note: the simulated loop's integrator pauses while derivative action is braking hard toward setpoint, so adding rate damps overshoot more cleanly here than on a controller that lacks that anti-windup refinement. The rate slider also re-ranges with the Process Type — useful derivative time scales with the loop's time constant, so it stretches from a few seconds on a fast loop to a couple of minutes on a slow one.