Digester heating loop at a remote site, an L30, PIDE in a 500ms periodic task, CV to a steam valve, PV from an RTD. Runs fine day to day.
Steam went down for about two hours on Tuesday for a boiler trip. CV sat at 100% the whole time, which makes sense with PV falling. But when steam came back the CV stayed at 100 for another eleven minutes after PV crossed SP, and the temperature overshot by 9 degrees C before it came down. Nearly tripped the high temp alarm. I checked the valve and it strokes fine, and the operator on site says it does this after every steam outage.
Is this a tuning problem? The gains haven't changed in years. Or does something happen inside the PIDE when CV sits at 100 for two hours, could someone explain why it takes eleven minutes to come off?
It's not tuning, it's the two hours. Before the loop, prove the PV is honest: does the RTD read right when it comes back, no lag? Then the question: what mode was the PIDE in during the outage, Auto the whole time? And what are CVHLimit and CVLLimit set to, and is there anything clamping the CV after the PIDE, still on that 500ms task?
Why would the loop hold at 100 after the temperature is already past setpoint? Isn't the error negative then?
RTD is fine, tracks the local gauge. Auto the whole time, nobody's on site to change it. CVHLimit is 100%, CVLLimit 0%, and yes, there's a LIM 0 to 60 after the PIDE before the analog output. I don't know why 60, it was in the project when we took the site over. finn, that's what I'd think too.
> Isn't the error negative then?
Pretty sure it is, but the PIDE's CV was allowed to climb to 100% while the valve only ever saw 60%. It has 40% to come down before anything moves. Windup. TIA's PID_Compact does the same if you clamp outside the block.
jcasey has it. Two hours of positive error on that L30 and the integral kept adding. The PIDE stops integrating when its CV reaches CVHLimit, which I think is its anti-windup, but your limit is 100% and the LIM outside held the valve at 60%, so it wound up to 100%. When the error went negative the CV had to fall from 100% to 60% before the valve moved. Eleven minutes.
Two things. CVHLimit to 60% and pull the LIM, so the limiting happens inside the instruction where it stops the integrator. Then a steam pressure switch puts the PIDE in Manual at a safe CV, back to Auto when steam returns. Longer version with the anti-windup part: https://plctr.com/implementing-pid-control-in-plc-systems/
CVHLimit to 60% and pulled the LIM. Then a rung: no steam pressure for 30 seconds puts the loop in Manual with CV at 20%, steam back for 60 seconds puts it in Auto. Tested by closing the steam isolation for an hour. CV held at 20%, steam back, about a degree of overshoot. Eleven minutes to one.
So it was the clamp sitting outside the PIDE. It wound up to 100% while the valve sat at 60% and had 40% to unwind before anything moved. Limits inside the instruction now, and Manual when the steam is gone.
Still don't know why someone limited the valve to 60%. Nobody left to ask.
Thanks marekw, jcasey, and finn.
Nobody ever knows why it was 60%.