We've had intermittent trouble with a PID control loop on a simple electrical heater with RTD feedback. The heater heats a block of aluminium and disc-shaped tool which is pressed down to preheat a part.
If the setpoint is 90°C the temperature might rise to 95 or 97°C and stay there. The PID.SO is remaining at 8% or so when I would expect it to drop to zero.
My initial thought was that it sounded like integral windup. I'm not too familiar with the data structure but .DATA[0] looks like the integral value. It was at 44 so I set it to zero and the loop has stabilised with DATA[0] at about 0.02.
Has anyone any wisdom to offer on this? Is there any good anti-windup practice (if that's what I'm seeing)?
Many thanks.