Background
A customer was experiencing difficulty controlling the heat and cool loops on an extruder barrel. These zones sometimes control around zero on the PID output, which can cause an oscillation with the output swinging from heat to cool. Tuning the PID or heat and cool settings can temporarily cause the problem to settle, but an upset will send it back into oscillation.
Due to a similar issue on another recent job, we suspected four potential causes for this problem. First, the standard PID instruction uses a positional for an algorithm that works on errors directly. The problem occurs when crossing over to zero when moving from heat to cool (and vice versa), leading to a change in the gains and causing a step in the output. This step inputs a heat or cool response that’s unnecessary and can cause the loop to be unstable and difficult to tune.
The second cause could be poor output resolution resulting because the output resolution is a function of the CycleTime of the SRTP and how of then the SRTP executes. For example, if a CycleTime for the SRTP is defined for ten seconds and the SRTP is executed in the same periodic task as the PID at one second, the output resolution would only be ten percent.
A third possibility is the cooling pulse max time set at 60 seconds or below, or, in some cases, as low as the 15 to 30-second range. The result is poor resolution for the PID output and an integral gain that is very low. Lastly, poor PID tuning can cause these problems as tuning parameters from previous or similar setups are often used rather than properly step-tuned for each zone.