JustDaveIII
Member
I’m going to startup a plc based heating / cooling reactor system in a week or so and need some advice.
There are two PID control loops. The outer one for Batch (reactor) temperature and an inner one for Jacket (circulation loop) temperature.
The circulation loop for the jacket gets heat via a steam heat exchanger and gets cooled via a chilled water heat exchanger. Both have proportioning valves to control how much heat/cool is put into the circulation loop.
So far so good. I’ve done this type of non-ramped cascade control a couple of times and many one loop control systems. Always been able to tune the loops so that there is minimal (if any) overshoot, comes to temperature quickly and holds to less than one degree C.
I intend to do tuning via the Ziegler Nichols Tuning Methods to tune the inner (jacket) loop.
The tricky part is that the customer also wants a ramp mode. Not just a dumb ramp where a setpoint and time are entered and the ramp takes over. But wants the operator entered batch temperature to be at setpoint at the exact end of the operator entered ramp time.
If I put in just a plain ramp function (which I’ve written as the one in the PLC is somewhat limited) then I know that there will be a lag during the ramp and a settling time at the end of the ramp where the temperature will come up to the final setpoint, but after the ramp time has ended. What the ending settling time is unknown until I start it up.
I don't need the actual temperature of the ramp to be linear.
I’ve read everything I could find here & on the internet for tuning but can’t find anything on calculating my ramps so that they come out correct. I’m thinking I need at least two ramp segments. One for say 85% of the total time interval and another for the last 15% of time. The setpoint for the first segment would be more than 85% of the ending batch setpoint, maybe 95%. Then I’d used the 15% remaining time to bring the temperature to 100% setpoint. I’m just guessing here. Maybe a third ramp interval is needed.
I know that I have to take into account the difference of the ending setpoint temperature and initial Batch temperature, knowing my process heating slope. Also I’ll know the steam temperature and heat exchanger transfer function. Ditto for cooling. I’m also thinking that I’ll use a different set of PID tuning gains for cooling vs heating, due to the different capacity of heat transfer. I can heat a lot faster than I can cool.
Can anyone give me some real world suggestions on calculating the ramp interval times & setpoints or should I start playing with two ramps after graphing the heating function, non-ramped and try a y-mx+b type equation? Any one had to do an exact ramp before ?
Thanks,
Dave
There are two PID control loops. The outer one for Batch (reactor) temperature and an inner one for Jacket (circulation loop) temperature.
The circulation loop for the jacket gets heat via a steam heat exchanger and gets cooled via a chilled water heat exchanger. Both have proportioning valves to control how much heat/cool is put into the circulation loop.
So far so good. I’ve done this type of non-ramped cascade control a couple of times and many one loop control systems. Always been able to tune the loops so that there is minimal (if any) overshoot, comes to temperature quickly and holds to less than one degree C.
I intend to do tuning via the Ziegler Nichols Tuning Methods to tune the inner (jacket) loop.
The tricky part is that the customer also wants a ramp mode. Not just a dumb ramp where a setpoint and time are entered and the ramp takes over. But wants the operator entered batch temperature to be at setpoint at the exact end of the operator entered ramp time.
If I put in just a plain ramp function (which I’ve written as the one in the PLC is somewhat limited) then I know that there will be a lag during the ramp and a settling time at the end of the ramp where the temperature will come up to the final setpoint, but after the ramp time has ended. What the ending settling time is unknown until I start it up.
I don't need the actual temperature of the ramp to be linear.
I’ve read everything I could find here & on the internet for tuning but can’t find anything on calculating my ramps so that they come out correct. I’m thinking I need at least two ramp segments. One for say 85% of the total time interval and another for the last 15% of time. The setpoint for the first segment would be more than 85% of the ending batch setpoint, maybe 95%. Then I’d used the 15% remaining time to bring the temperature to 100% setpoint. I’m just guessing here. Maybe a third ramp interval is needed.
I know that I have to take into account the difference of the ending setpoint temperature and initial Batch temperature, knowing my process heating slope. Also I’ll know the steam temperature and heat exchanger transfer function. Ditto for cooling. I’m also thinking that I’ll use a different set of PID tuning gains for cooling vs heating, due to the different capacity of heat transfer. I can heat a lot faster than I can cool.
Can anyone give me some real world suggestions on calculating the ramp interval times & setpoints or should I start playing with two ramps after graphing the heating function, non-ramped and try a y-mx+b type equation? Any one had to do an exact ramp before ?
Thanks,
Dave