macg

Logix5000 PIDE Heat/Cool Tuning

3 posts in this topic

I'm looking for advice.  I have an application requiring control of an environmental chamber that requires both heating and cooling.  My temperature range is -60C to 200C.  Cooling is provided by CO2 and heat is a high wattage heater and a low wattage heater.  I've read through about every tech document Rockwell has to offer on heat/cool PIDE.  So I have the CV to start off at 50, 50 and up is heating, 50 and lower is cooling.  In general, that seems to work.  The issue is the tuning.  I have finally got it to run through the tuning process.  However the results where outrageous numbers.  For example P=15, I=1.6 and D = .07.  The CV oscillates wildly.  After 5 minutes,  it kind of settled on the setpoint but it was poor control.  I tried playing around with the instruction like I'd tune a regular PID control and that didn't work well either.  One more piece of information, loop update is 1 sec (1000ms).  I tried 2 and that made it worse.

Any suggestions?  Should I just run back to the old PID?  Tuning seems to be my biggest issue.

Share this post


Link to post
Share on other sites

Depending on what you are trying to achieve, this could be addressed differently.

1) general heating cooling application with a Moving setpoint that require the best precision (less than 0.5°C) generally uses one PID, that you will split the output from 0 to 50 and 50 to 100%. But in case of actuators being very differently effective on the PV, you may have troubles at setup. This is also very energy consuming.

2) Energy efficient version would be using at least a deadband, that may prevent some hystérésis or inertia on your actuators. so splitting pid CV from 0 to 45 and 55 to 100 could be a good idea. But this does still faces the problem with setup on different effectiveness of actuators. You can then scale differently your spliting ranges to address a bit the tuning différences (for exemple 0-10 and 20-100)

3) Do one PID for heating and one for cooling. Never use this solution if you can't affrod a deadband on your PV, that could lead to demands on cooling and heating. So if you can affrod 1°C of deadband, Simply put the deadband higher limit as SP for cooling and the lower limit to SP for heating. This is not the fastest solution but you can fine tune each PID separatly.

Loop time directly affects every PID constants as they are working with the error measured. higher scan time will lead to higher errors mesured from scan to scan.

last but not least, never try to setup a PID directly adding integral and derivative values. I almost never use derivation on heating/cooling pid. Start with setting your P correctly, then once your system is stable and with some not so high error, you can introduce Integral term.

Share this post


Link to post
Share on other sites

Thanks dFx.  I had thought of your item 3 last night while trying to sleep!  Yes, my typical method for tuning a closed loop system would be as your last few sentences stated.  This PIDE instruction for its autotune uses open loop.  I have one more trick up my sleeve to try this morning.  If that fails I'm going back to the standard PID instruction and do something similar to your item 3.  Thanks for the help.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now