Most of the PID loops I have encountered have been extremely slow, and I run into issues. The same issues are coming up with the one I am working on now:
If I use a regular PID loop without any I or D the setpoint is never reached, which is understandable. But when I attempt to add I, there is always extreme overshoot. Even if I use only a very small amount of I, it still causes the overshoot because it spends such a long time winding up that by the time the setpoint is reached, the control variable is way too high.
The current system I am working on is basically a mill with a level transducer. Product is always leaving the mill at a semi-constant rate. The PID loop controls the infeed rate to the mill. The loop is supposed to maintain a desiered level. If the level gets to high, then obviously the infeed must slow down for some amount of time, but then it must increase back to a normal rate when the level gets back to the setpoint. The PID loop doesn't really accomplish this, it just continually overshoots and undershoots.
The PLC is a contrologix FWIW.
Thoughts?
If I use a regular PID loop without any I or D the setpoint is never reached, which is understandable. But when I attempt to add I, there is always extreme overshoot. Even if I use only a very small amount of I, it still causes the overshoot because it spends such a long time winding up that by the time the setpoint is reached, the control variable is way too high.
The current system I am working on is basically a mill with a level transducer. Product is always leaving the mill at a semi-constant rate. The PID loop controls the infeed rate to the mill. The loop is supposed to maintain a desiered level. If the level gets to high, then obviously the infeed must slow down for some amount of time, but then it must increase back to a normal rate when the level gets back to the setpoint. The PID loop doesn't really accomplish this, it just continually overshoots and undershoots.
The PLC is a contrologix FWIW.
Thoughts?