PID Instructions

ceilingwalker

Lifetime Supporting Member
Join Date
Mar 2010
Location
Phoenix, AZ
Posts
1,586
Good day all. I have a PLC-5/40 that controls the temperature to a large electric furnace, with 3 zones, using PID settings. The top zone is zone 3, middle is zone 2, and bottom is zone 1. The vessel sits over the top of a bell which encloses the retort. My problem is, the bottom zone always runs 10 degrees cooler than the upper two zones. The attached project has a password of 5161 and on ladder 9, rungs 10,11, and 12 you will see the PID controls. I understand the PID form of control, what I don't understand is how to tweak these controls so that the zones stay closer in temperature. Maybe a 10 degree difference is alright, I don't know. But I would like to know if changing these settings could help bring them closer together. This system has been in place for a very long time and this temperature deviation has been accepted because no one knows how to change the controls to fix it. The system uses a 4-20mA signal from an analog output module, driving 6 different SCR's which drive 6 different VRT's, two for each zone. Thank you.
 
Last edited:
>the bottom zone always runs 10 degrees cooler than the upper two zones.

I assume there's some integral factor/constant (reset action) in the PID tuning constants (which is what PID uses to correct for static error).

Maybe the reset/integral factor winds up and maxes out the output to 100% over time, attempting to correct the static error, but the heat capacity is just insufficient (not enough BTU) to make the correction. What's the output when this error is happening?

If the setpoint is raised, will the temperature increase in the bad zone? Is there sufficient capacity to get to the desired temperature?

If there's sufficient capacity, try decreasing the I factor if I units is 'minutes', increasing the I factor if the I units is repeats/minute and watch for a diminished static error difference.
 
a simple test is to just run the bottom zone and see what the difference is between the zones. as heat rises I don't think they will ever be equal assuming the zones are connected. however you should be able to maintain an equal difference between the three.
 
I am leaning towards Dan's suggestion. Try putting the Loop in Manual, and see if you can reach Setpoint by manipulating the CV. If you reach 100% CV in Manual, and you still can't reach Setpoint, then the Loop won't in Auto either. The Controlled Heat System will have to be looked at.

If you can reach Setpoint in Manual, then you know that you can Tune your PID Loop to maintain it.


Stu....
 
My problem is, the bottom zone always runs 10 degrees cooler than the upper two zones.
Is there a PID for each zone? If so, set the bottom zone setpoint 10 degrees higher. If changing the bottom setpoint does not cause the bottom heating zone to rise, but instead makes one of the other zones get hotter, then check to see if your controllers are cross-wired. Often people think that for a heating system, that any of the temperature sensors and setpoint inputs can be wired to just any old heating controller in the system.
 
Last edited:
>
If the setpoint is raised, will the temperature increase in the bad zone? Is there sufficient capacity to get to the desired temperature?

Yes, as a matter of fact, when I saved the project before zip'ing and submitting here, it showed exact values for all I/O's. As the bottom zone makes temp, with heat naturally rising, it pushes the other two zones to 10-degrees overshoot.I'am able to make gain and offset adjustments to the SCR's and the PID controls within the AB instructions. That is where my question comes in, how to use the PID instructions. I'm not having much luck understanding the documentation AB provides.
 
Is there a PID for each zone? If so, set the bottom zone setpoint 10 degrees higher. If changing the bottom setpoint does not cause the bottom heating zone to rise, but instead makes one of the other zones get hotter, then check to see if your controllers are cross-wired. Often people think that for a heating system, that any of the temperature sensors and setpoint inputs can be wired to just any old heating controller in the system.

Yes, there is a PID for each zone. These are included in different recpies and each zone is the same per Technique Sheets. I can't change set point without a whole bunch of paperwork.However, even if I do this, it will still cause upper zones to overshoot, yes?
 
If it is always 10 degrees, and you're wanting to make them equal, couldn't you just adjust the feed forward bias of your PID (in your PD## file).
 
If it is always 10 degrees, and you're wanting to make them equal, couldn't you just adjust the feed forward bias of your PID (in your PD## file).

I don't know how to do what you are suggesting. I have not ever had to work with PID controls in a PLC before.
 
If the output of the upper zone PIDs is zero and the upper zones are still 10 degrees too high there is nothing the PID controller will be able to do about the temperature. That is the first thing I would check.
 
If the output of the upper zone PIDs is zero and the upper zones are still 10 degrees too high there is nothing the PID controller will be able to do about the temperature. That is the first thing I would check.

Ok. Today was the first time I was able to monitor from the moment the VRT's were fired. All 3 zones are calling for 4095, on a scale of 0-4095. However, the load meters for each zone show: zone 1 (bottom) is drawing 350A, zone 2 (middle) is drawing 300A, and zone 3 (top)is drawing 250A. So it appears as though someone has tweaked the gain on the SCR's to try to compensate. I was just hoping to use this as a lesson to learn how to use PID instructions with the PLC-5.
 
Based on what you've said so far this may be a bad system to learn on. The application you saved has the bottom zone heating at 98% output and maintaining very well and the other two zones above setpoint with no output. Unless you have the capability to cool you may not be able to get the upper zone temperatures down.

Keith
 
So it appears as though someone has tweaked the gain on the SCR's to try to compensate.
You can check the gain settings in the PIC Setup Screen to compare the 3 zones. It sounds like someone tried to optimize a difficult situation. Because heat rises, the bottom zone heats the other two, therefore to keep the temperatures close to the same, the bottom heater should have been much larger. If it is not, then it could be difficult to come up with a set of PID variables that will control at all points while ramping from ambient to process setpoint. However, creating PLC-controlled ramps in Manual Mode for each PID zone might help, by adding a way to achieve setpoint on each zone without overshooting. Once setpoint is reached, the PID is switched from Manual mode to Automatic mode.

For example, a timed ramp in PID Manual Mode is set up for each zone, with the bottom zone have a much steeper ramp, and the other two with progressively shallower linear setpoint ramps. This allows time for the bottom heat to rise and helps to prevent overshooting the two top zones. This only works where there is time to allow for a longer, slower heat-up. A simple ramp can be created with a timer. Say you determine that adding 1 degree every 1 seconds will work for the bottom, 1 degree every 2 seconds for Zone 2, and 1 degree every 3 seconds for the top zone. So you start all zones with a Setpoint = Current Temperature, then add degrees to each zone setpoint accordingly. The top zone will arrive at its setpoint much later, so there will be time for the bottom heat to rise and avoid overheating the top zones.

No time for heating ramps? You might have to live with what you got now. Using thermodynamic equations for heat transfer, and finding the heat transfer rate though each zone, and the amount of heat addded in each zone, theoretical equations could be derived that would allow adding only the necessary heat in each zone. Whether that is practical depends on how important it is to fine-tune this system.

This problem reminds me of the times I have spent the night on the 3rd floor in a hotel on a cold night. At first, the room is ice cold and you crank the thermostat up and set the heater to High. About 2 AM you wake up sweating. The heater is off and stays off. You remove the blanket and lie on the bed trying to get cool, but the room only gets hotter. The heat from the lower floors has arrived. Finally you turn the thermostat from HEAT to COOL and turn on the air conditioning.

If the top zone heat is turned off (PID CV Output = 0), that is all the PID can do for you once the top zone termperature is above setpoint. To prevent the overshoot, the bottom heater will have to be cut off earlier than its PID wants to shut it off, or you will have to add cooling!

Really the 3 zones are inter-acting, but the 3 separate PIDs are independent and have no knowledge of each other. To get better control, the 3 zones will have to be treated as a system, with heat from Zones 1 and 2 being transferred to Zone 3.
 
Last edited:

Similar Topics

Dilemma..PID Instructions. I've read through back and forward and read Through again and I still don't quite grasp the setup of the outer face...
Replies
7
Views
2,842
the following question was asked in a recent thread ... since the same question comes up quite often in my classes, I've put together a...
Replies
27
Views
72,212
Hi, I would like to assemble a simulator/practice booster pump system that uses PID to maintain steady water pressure under various outlet demands...
Replies
0
Views
78
Hello, I have a motor that we are sending a RPM Speed Output from 0-100% to the VFD. However, the Motor HP needs to be limited to 6000 HP and the...
Replies
3
Views
91
I have S7 1512C controler for controlling 48 PID temperature loop, the output is PWM. Please I need the best, most efficient way to write the...
Replies
13
Views
603
Back
Top Bottom