???Control Logixs 5000 PID Temp Control????

pater01

Member
Join Date
Sep 2005
Location
Terrell,Texas
Posts
7
I have a temperature control project that I will starting soon and I thought I would ask you guys some of your thoughts or suggestion that you might have. I have a Heat exchanger with product in and product out that I will attempt to control the temp. I have a 4-20ma SCR that drives the heater to raise the temp. and I have a 4-20ma control valve that controls the chilled water to lower the temp. Using RSLogixs 5000 with a heating PID and a Cooling PID to control the temperature, what should I look out for. Thanks for your Input.
 
I think what Alaric suggested makes sense.
That is, use only one PID loop.
Scale the output of 50% to 0% to be 4 to 20 mA on the cooling output. (Yes 50% -> 4mA; 0% -> 20mA) (Greater than 50% out = 4mA.
Scale 50%out -> 4mA heating, 100% out -> 20mA Heating. (Less than 50% -> 4mA and turn off heaters)

Don't use seperate loops for heating and cooling. Just split the PID output range into a heating 'segment' and a cooling 'segment'.

This way you only have to tune one loop.


Other things to watch out for....
Make sure you have a way to turn off the heaters. SCRs allow a small current even when "OFF". It's the nature of the device.
 
The CLX PID and PIDE instructions can be scaled from -100% to 100%, there is no need to initialize at 50% to get bipolar operation. The output of the PID/PIDE can be directed to two seperate channels, one for heating control and one for cooling control, and the gains can be programatically selected for heating/cooling. There is an example of a bipolar PID heating/cooling program using seperate analog outputs in the AB Knowledge base for the PLC/5, but the CLX PID is almost identical to the PLC/5 PID. Minor adaptation would be required to use the PIDE. The program in the example is pretty basic, but it will show you how to do the basics of it so you can build something that will hopefully work in your application.

---------------------

Peter, excellent articles. I found both of those useful. Thanks for the links.
 
Last edited:
Peter Nachtwey said:
Using only one PID assumes the system will heat up the same way it cools down. It assumes the gains are the same which is not likely.

Good point Peter.

I've experienced this problem myself on several furnaces called "continuous controlled cooling" furnaces. These furnaces have a through conveyor that accepts hot pieces from a forge which have to be taken to a set temperature within the first control zone of the furnace and then held at that temperature through the remaining length of the furnace.

The pieces entering the furnace can arrive at arbitrary temperatures either above or below the desired temperature. The first zone is controlled with 1 PID loop which behaves as Hanziou and Alaric suggest. i.e. the output is split: 0 - 50% output controls the cooling air supply inversely (0% = valve fully open, 50% or greater = valve fully closed). 50 - 100% output controls the burner rate directly (50% or less = burners on low fire, 100% = burners on high fire).

Because of the way heat is transferred, different valve characteristics, etc, etc. the heating and cooling characteristics of the furnace are totally dissimilar. Therefore the best we can manage is a rough compromise between the two with sluggish response times and hope that we don't get any sudden changes in the charge rate or temperature of the pieces entering the furnace.

Problem is: if we use two PID loops, how to tie them together to prevent having both outputs fighting each other (like driving a car using both pedals at the same time). Alternatively if we have one PID loop how and when to change the constants from heating to cooling.

I can't believe that this problem has never been cracked - has anyone got any experience of a system that works?

 
burnerman said:

I can't believe that this problem has never been cracked - has anyone got any experience of a system that works?
Yes, for instance a hydraulic motion controller MUST take into account the fact that the gains need to be different when extending and retracting. Our hydraulic system extends at about 4.5 inches per second per volt and retracts at 3 inches per second per volt. This is a big difference in gains between extending and retracting. Having different gain scaling based on the polarity of the output is a standard feature. We use ONLY ONE PID.

What I would do is set up the PID to have bi-polar outputs. I would compare the output with 0 to see if heating or cooling is required. One must also allow for the temperature to seek ambient by just keeping the cooling or heating off. This keeps the system more efficient.

If the system requires heating, the output is copied to the analog output for the heater and a 0 is copied to the analog output to the cooling valve.

If the system requires cooling, the output is negated so it is a positive value and mulitiplied by a cooling/heating gain factor. This value is then sent to the cooling valve. A 0 is copied to the heater analog outout.

What we DON'T want to have happen is for the heater and cooler to go on and off while holding temperature at 400 degrees. This would be wasteful. Hopefully, the temperature will be maintained by just varying the analog value to the heater and the cooling ONLY comes on when the PID output goes negative.

The can be done with some simple ladder at the output of the PID. Now pater01's application is a little trickier because the outputs 0-100% must be scaled to 4-20 ma. The SCP block makes that part easy infact the SCP block can probably change eliminate the need to negate the output when it is negative. Let the SCP block take care of it.
 
Thanks for that Peter, makes perfect sense, but is there any chance that different I & D constants may be required depending on whether you are heating or cooling?
 
What is your Heat Exchanger application?

Is this a typical dairy/food industry HTST that has a heating section and a cooling section ?

With these, two PIDs are required, and it is always best to tune the heating loop first, as the product temperature out of the heating section effects how the cooling section has to work.

Also if it is an HTST, then you also need to condsider if Regen is used as well, as that also effects the heating section.

Ian
 
burnerman said:
is there any chance that different I & D constants may be required depending on whether you are heating or cooling?
Yes, but the heat capacity of the system is the same whether it is being heated or cooled and there is only one sensory so I think the same time constants can be used for heating and cooling. Some thing that may be different is dead time. Dead time affects the gains too. So I think the gains will be the same unless the dead time is different.

With these, two PIDs are required, and it is always best to tune the heating loop first, as the product temperature out of the heating section effects how the cooling section has to work.
In this case two PIDs would be required but it would be fairly straight forward as you suggest. In this case it would be wise to use the output temperature of the heater PID to calculate a bias or feed foward for the cooling stage. Why not, you have all the information and sensors so it is free.
 
Peter Nachtwey said:
Yes, for instance a hydraulic motion controller MUST take into account the fact that the gains need to be different when extending and retracting. Our hydraulic system extends at about 4.5 inches per second per volt and retracts at 3 inches per second per volt. This is a big difference in gains between extending and retracting. Having different gain scaling based on the polarity of the output is a standard feature. We use ONLY ONE PID.
I knew thato_O I knew thato_O I knew thato_O I knew thato_O

It just clicked. 3 or 4 years ago I had a problem with a servo system where we could not get precisely duplicate the motion in both direction. I had it setup just like you are talking but all of them I have ever done before used traditional cylinders. This used two 6" cylinders mounted opposite of each other (rod to rod). With it mounted like this you do not have the difference between advance and retract so you don't have to compensate for the rod. Just like a rotary actuator it is the same both ways. I never did get it to run perfectly.

Well atleast now I see why though I'm not sure why I couldn't see it before now.o_Oo_Oo_Oo_O
 
Whose servo system?

TWControls said:
all of them I have ever done before used traditional cylinders. This used two 6" cylinders mounted opposite of each other (rod to rod).
Actually, most hydraulic systems are single rod actuators where the gain is different extending than retracting because of the area taken by the rod.

You used the wrong controller.
 
Yes, by the two cylinders being mounted like this the rod shouldn't have been taken into consideration

Rough picture of what I am talking about
________..........__________
|.......|_________|.........|
|....... ____||___ .........|
|_______|.........|_________|


I used the wrong controller
 
Last edited:
Let's try that picture again
Rod.JPG
 
TWControls said:
Yes, by the two cylinders being mounted like this the rod shouldn't have been taken into consideration

Rough picture of what I am talking about
________..........__________
|.......|_________|.........|
|....... ____||___ .........|
|_______|.........|_________|


I used the wrong controller

Why wouldn't the rods be taken into consideration?

In a bang bang hyd. system retract is always faster then extend BUT Peter has shown, me anyway, that for hyd. servo applications the extend is or can be faster than retract.

It appears to me in this situation if you do know take the rod end into consideration then you will have a fighting system, extend trying to push faster than other retracting and/or vice versa.
 

Similar Topics

Hello is there any way to count, how many bits are set in the DINT in contol Logixs 5000 and use that count to compare whith actual number. For...
Replies
6
Views
2,043
Hi, I have been reading old posts about PID instructions and I can't seem to find what I’m looking for. I was looking for a description on the...
Replies
4
Views
5,201
Hi all, Looking for some help with our Control Logixs L55 controller. I have a Telemetry system connected to the controller via the serial port. I...
Replies
7
Views
2,984
If you're using fiber optics, control logixs processor, 1756-CNB and 1788-CN2DN; we had a power failure and now nothing will communicate. is...
Replies
7
Views
2,038
Can you write code in Visual Basic then import it into Control Logixs? I was just wondering if that's possbile. I have never heard of anyone...
Replies
2
Views
1,904
Back
Top Bottom