PID control for steam heated tank

grnick50

Lifetime Supporting Member
Join Date
Nov 2010
Location
Ptolemaida
Posts
332
Dear all,

I have quite an experience in programming PLCs but it is the first time I get to Implement a process control.
This is not a thread asking what are the PID parameters but rather a set of questions related to the overall system. My background with process control is limited to my university classes of control system engineering, so please bare with me.
I am trying to educate myself reading the book "Controling with Simatic" by J. Mueller and then reading at controlguru.com.

I have a tank 25m3 to store hot Ammonium nitrate at 100-110 deg C. There is a steam jacket (type: dimple) and a 300.000kcal/h steam boiler. Steam is regulated to the jacket via an analog valve with an I to P converter. The tank is insulated.
The plant is not started yet so I have any freedom to perform my tests. Please also note that my tests are done with water in the tank instead of the final product.
The CPU used is a 314C - 2PN/DP and an FB41 block is used in OB35. System is controlled via WinCC flex 2008.

1. Question about the valve
The I/P converter takes 1.3 bar of air. I disconnected the valve pilot and connected a pressure gauge at the output of the converter. I then tested changing the PLC analog output in steps of 5%. I got a very linear response where at every increase of the signal step I got the same increase in the air output of the converter.
However, when the converter is connected to the valve pilot, I get the following response from the Valve.
Up to 25% of the signal, I get no steam flowing through the valve and I can see that the valve pilot does not move from the zero position. After 25% up to 40-45% there is very slight movement of the pilot and then I get a very slight flow of steam. Finally, from 45% to 75% (maximum) of the signal I get sufficient steam flow but I am pretty sure that although the valve pilot moves in a linear way, the steam flow is not linear.
The question is: Is this a typical valve response? Should I try to make it linear and is there a way to make it linear?

2. Question about the process
My aim is to preserve the content at a constant temperature. I think that my system is only disturbed by the heat losses to the environment. The heat losses though, due to the insulation are very small, less than 10 kW thermal. This means that to preserve the temperature I need a very small energy input. From tests I made, the problem is that if I overshoot my setpoint by say 4 deg. Celsius, then it takes 4-5 hours for the temperature to reach the setpoint.
In other words, I can heat the content very quick, but when I close the valve, it takes hours to see a drop in temperature.
So, the question is, is this an application that it is possible to employ PI(D?) control.

3. Controller tuning
Due to the lack of disturbances and the good insulation I think that my process is an Integrating process. If from steady state and LMN=0 I make a stepoint step, the system does not reach another steady state but the temperature increases until the controller output LMN is zero again.
I guess that as this is an integrating process there is no simple way to bump the controller and then record the responce and derive the controller settings by using a First order plus dead time. Is there a proven practical method to establish controller coeffitients? As I dont get involeved process controls every day, I cannot afford to purchase Control simulation software.

4. Controller trial and error results.
I got to play with the controller and I noticed the following:
With an aggresive PI controller (Kc=3, Ti=10s) I got small overshoot but the controller was swinging from 0-100%.
With a less aggresive PI controller (Kc=2, Ti=60s) I got huge overshoots and still there was a large variation on the LMN of the controller.

One question is if I have to do something about Integral windup or if FB41 does it for me. Is it enough to set INT_HOLD when LMN=0% or when LMN=100%
Another question is about the behaviour of the controller output. Is it normal to be 100% all the way to the SP, or the Controller should anticipate that it nears the SP and start reducing the output before it reaches the SP.
Finally, I suspect that opening the valve at 75% the heat input is so great that It will definatelly overshoot. Should I further limit the stroke of the valve to a smaller value? But then the regulating range of the valve will be very small. Is that normal?

What I dont understand and troubles me is the very long time it takes for the temperature to drop after an overshoot.

Any help is highly appreciated.

Regards
 
I pesonally wouldn't use PID control on this, but instead a simple thermostat emulator - a temperature "switch" in the PLC with a deadband.

You don't say what the ammonium nitrate is used for, or if it is a constant volume or if it is discharged and replenished periodically. If the ammonuum nitrate is periodically discharged is probable that your biggest heat loss is to make-up chemical. You also don't say how tightly you need to control the temperature.

In any case, since you want to avoid overshoot, set a high temperature limit slightly below you max allowable temparture and at that point close your valve completely.Set a low temperature, and below that open your valve to say 50% or 75% (adjustable). Set a mid temperature setpoint, and when the temperature is below the mid value keep the valve at 50%-75%. When the emperature rises above the mid setpoint close the valve to 20% to 50% (adjustable).
 
Tom,

Thanx for your reply.

The ammonium nitrate is unloaded from a truck to the tank. It stays there overnight with temperature preserved and then it is transferred from the tank to be further processed. It takes about 5 - 6 hours to consume the content of the tank.

I would wish to control the temperature within +/-2deg C from the desired setpoint.

Regards
 
+/- 2 deg.C is easily achievable with the thermostatic switch ideas proposed.

Do you have to maintain the temperature while the tank is emptied? Bear in mind that your "heater" becomes less efficient as your jacket has less effect, and this factor can screw-up many PID controls.
 
first your I/P converter
the input is probably 4..20 mA
the output is hopefully 0.2..1 bar see the text on the converter.
the steamvalveposition is often part of a cam wheel, and a lever going to a small servo controller with some springs.
adjust the system when you send 5 mA out the vlave should just start to open, not at 4 but 5.
and the valve should be fully open at 19 mA (95%).
1.3 bar supply is low, better is 1.5..2 bar.
the valve itself is not always linear, depending on the shape of the valve. you will have to check that with typenumber.
often they are logarithmic, or exponential.

for the regulation be sure to have a simple thermostat that will switch of the air supply to the valve for overheating safety.

water takes very much energy so you will have to fiddle a little, however i am almost sure a simple on/off strategy will do fine, if the boiler is only for this tank (in the night) i would switch the boiler.
 

Similar Topics

Hey there guys, I'm relatively new to PLC programming. I had a few basic classes in college but since then I have mainly been on the instrument...
Replies
2
Views
61
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
637
Hi all, I'm having trouble solving a problem I've been working on for several months, and thought you might like a stab at it. The machine runs...
Replies
22
Views
985
How can I connect PID Output to a valve. In ladder logic program is there any logic do I want to add between valve and PID? PV=SP What will be the...
Replies
7
Views
436
I am setting up control for Hypochlorite dosing. The easy part is the dosing calculation for flow pacing but I would also like to setup trimming...
Replies
8
Views
962
Back
Top Bottom