Industrial Automation, PLC Process Control & PID Loop Commissioning
Ziegler-Nichols Closed-Loop Ku & Pu PID Tuning Formula
Calculate Classic Ziegler-Nichols Ultimate-Sensitivity PID Parameters: Proportional Gain Kp = 0.6*Ku, ISA Integral Reset Time Ti = 0.5*Pu (s), Parallel Integral Gain Ki = Kp/Ti (s⁻¹), and Parallel Derivative Gain Kd = Kp*Td (s).
Never mix up ISA Reset Time Ti (s) with Parallel Integral Gain Ki = Kp / Ti in PLC blocks!
During closed-loop Ziegler-Nichols tuning, a controls engineer disables integral and derivative terms and raises proportional gain until the process exhibits sustained constant-amplitude oscillation at Ultimate Gain Ku and Ultimate Period Pu (seconds)! Classic Quarter-Amplitude Decay PID rules set Proportional Gain Kp = 0.60 * Ku, Standard ISA Integral Reset Time Ti = 0.50 * Pu (s), and Derivative Time Td = 0.125 * Pu (s)! The #1 plant commissioning failure occurs when entering parameters into a Parallel/Independent PID block (u = Kp*e + Ki*∫e dt + Kd*de/dt): Parallel Ki equals Kp / Ti = (1.20 * Ku) / Pu (in s⁻¹) and Parallel Kd equals Kp * Td = 0.075 * Ku * Pu (in s)—typing Ti directly into a Ki register inverts integral scaling on slow thermal loops!
Verify on a Heat-Exchanger Valve Loop—Ultimate_Gain_Ku = 8.00 (B2) and Ultimate_Oscillation_Period_Pu = 4.00 s (B3): Classic Proportional Gain Kp is 0.60 * 8.00 = 4.80 (E2), ISA Integral Time Ti is 0.50 * 4.00 = 2.00 s (E3), Parallel Integral Gain Ki is 4.80 / 2.00 = 2.40 s⁻¹ (E4), and Parallel Derivative Gain Kd (with Td = 0.50 s) is 4.80 * 0.50 = 2.40 s (E5)! (Note: for overshoot-sensitive vessels, "Some-Overshoot" 0.33*Ku or "No-Overshoot" 0.20*Ku rules detune Kp substantially.)
| Ziegler-Nichols Classic PID Parameter (Ku = 8.0, Pu = 4.0 s) | Formula | Verified Output |
|---|---|---|
| Proportional Gain Kp | 0.60 * Ku | 4.80 |
| ISA Integral Time Ti (s) | 0.50 * Pu | 2.00 s (5.00 s @ Pu = 10 s) |
| Parallel Integral Gain Ki (s⁻¹) | Kp / Ti = (1.20 * Ku) / Pu | 2.40 s⁻¹ (0.96 s⁻¹ @ Pu = 10 s) |
| Parallel Derivative Gain Kd (s) | Kp * (0.125 * Pu) | 2.40 s (6.00 s @ Pu = 10 s) |
Parallel PID Integral Gain Ki = (1.2 * Ku) / Pu Formula
Validate strictly positive Ultimate Gain Ku > 0 and Ultimate Oscillation Period Pu > 0!
=LET(ku_g, B2, pu_s, B3, IF(OR(ku_g <= 0, pu_s <= 0), "Invalid Ultimate Ku / Pu Input", LET(kp_g, 0.6 * ku_g, ti_s, 0.5 * pu_s, ROUND(kp_g / ti_s, 4))))Slow Thermal-Jacket Loop Scaling Check (Set Ultimate Period Pu = 10.0 s)
Stretch Ultimate_Period_Pu B3 to 10.0 s: ISA Reset Time Ti E3 lengthens to 5.00 s while Parallel Ki E4 DROPS to 0.96 s⁻¹ (confirming why typing Ti = 5.00 into a parallel Ki block makes integral windup 5.2x too aggressive!), and Parallel Kd E5 rises to 6.00 s!
=IF(ISTEXT(E4), E4, ROUND((0.6 * B2) * (0.125 * B3), 4))Try the example
Use the original values or change them to test your understanding.