Modicon PID2, Integral Wind-Up Problem

  • Thread starter Pierre Hinse C.E.T.
  • Start date

Thread Starter

Pierre Hinse C.E.T.

Integral wind-up is causing me problems. I have a temperature loop that stays a very long time below the set point, until the temperature catches up, then overshoots and stays there. It seems the PID2 loop is in "Integral Wind-Up", and won't touch the MV for a long period. I tried to switch from manual to auto to force the PID2 loop to reset, but it only works 75% of the time. Can I use the Reset Feedback register to force the PID2 loop to start backing off the MV as soon as the PV crosses the SP? Or how did you tackle such a situation?

Ontario, Canada
This symptom is quite common in temperature control for oven or furnace application. You could use feed-forward PID or so-called fuzzy PID mode. Feed-forward is not so common in commericalized control product.

Below is the method I used before. I think it belong to the catagory of fuzzy PID. You need to seperate the control into two parts. First part you can let the controller run automatically when the error between SP and PV is above certain threshold. Second part you can manually run the PID controller to reverse back some degree of output value when the error is within the threshold. By doing this, you could avoid overshoot or undershoot. Certain brand of PID controllers may already include such features.

I couldn't make comment for Modicon as I have no experience about this product.


Bob Peterson

This is pretty common on furnaces that take a long time to heat up. I sort of concur with the posters suggestion, although I think he got it backwards. I would try putting the loop in manual with output set to some other appropriate value until the temperature gets within striking distance of the setpoint. Say 950 degrees if the setpoint were 1000. Then put the loop in to auto. Try to make the value you set it to something close to what it needs to be to maintain temperature.

I think what he is trying to do is implement some kind of deadband control. I have not found this particularly useful.

Feed forward is relatively easy to implement, you can just set (or calculate) a bias value that approximates what you think the final output should be, but does not solve the time lag problem.

Bob Peterson

Bill Clemons

Reconfigure the controller to P-D. Set the Derivative (Rate [=] Time) equal to the amount of "come up" time for the process temperature to meet set point.

Alan Rimmington

I have had success with:-
On first nearing temperature artifically limiting the maximum CV to say 25% of the current CV, then on a loop timer gradually allowing the maximum CV back up to 100%

as we all know that in pid controller overshoot is due to integral action in the integrater in pid.but what is the reason for undershoot?.what are the existing methods
to control or supress it.


Todd Sherwood P.E.

Use derivative, lot's if the PV signal is clean. Proper use of derivative will prevent this overshoot. The derivative looks ahead to see if the PV is going to overshoot the SP. If it sees that this is goinn to happen it will start to reduce the CV to prevent an overshoot. Much like driving a car up to a stop sign. Without derivative you wouldn't hit the brakes until you actually got to the sign. With derivative you see that you are approaching the stop sign so you start to apply the brakes before reaching the sign.

Hope this helps.