Temperature control

Makawhite

Member
Join Date
Apr 2013
Location
Swindon
Posts
7
Hi chaps

I am trying to program a Mitsubishi alpha 2 with function blocks. I have a biomass boiler with 4 pumps in a heating distribution system. I need to control the speed of 2 of the pumps according to the temperature of the buffer tank. Ie if the tank temp is 70degC then run the pump at 100%, then as the tank tank temp drops so does the speed of the pump.

Could anyone help me with this please?

PS I have a type K thermocouple as the input, and I'm using an analogue expansion slot on the plc! Plc model is AL2-14MR-D and expansion slot is AL2-2DA

The output is to an ABB acs150 VFD

Regards
Mark
 
Last edited:
Maybe you've already determined that you're going to use some non-PID form of temperature control, but in conventional PID control, the controller's PID algorithm determines what the output should be, by comparing what you've got (the measured temperature as an input) with what you want (the setpoint) and then using the tuning constant values to calculate the control output over a range of 0 - 100% (0= off, 100% = full on).

So, a statement like "if the tank temp is 70degC then run the pump at 100%" is not conventional PID because the pump might only have to run at 83.2% in order to maintain 70°C.

If in your control scheme, you need the pump to run at 100% at 70°C, then you need to specify what the pump should run at at other temperatures as well, for instance, what is the pump speed at 68.2°C? What's the relationship between temperature and pump speed?
 
Hi DanW

Thanks for the reply!

Forgive my ignorance but I am really new to PLC programming, we had our PLC programmer leave and this has all been put on my plate.....!

So I take it what I need is PID control?

Regards
Mark
 
@ Makawhite based on what you mentioned if your are trying to control a pump based on the tank temperature being 70 degc and to run at a hundred percent will not be ideal for a PID control. A PID will work well of you are controlling around a set point. For example say you wanted to maintain your pump at 50 deg c, if using a PID depending on what the current temperature is which is refereed to as your process variable the PID will adjust your output % based on your tuning constants (Proportional, Integral & derivative) and each time it adjusts the error (E) becomes smaller and smaller till you get close enough to your set point of 50 deg c. Now a thing to note is that the further you are away from your set point the higher you output % is going to be and the closer you are to set point the less your output % is going to be.

So in your case from my understanding it looks like you want the pump output % to be fully on at 70 degc and adjust linearly as the temperature goes up and down. If so you may want to roll out your own temperature control as opposed to using a PID. So as an option if it works on your application you can set up an algorithm where if the Temp > 70 degc then the output % will be 100% (fully on), if the temperature is 0 degc then the output % will be 0 % (fully off) and any value in between you can setup a y = mx+b so that when the temperature increases the output % increases, thus its linear, but also consider what Danw mentioned where it would be wise to know what you expect the output % to be 68.2 deg c? Hope this helps
 
Last edited:
So I take it what I need is PID control?
Yes, you need a PID block or instruction inside your PLC program that will control the speed setpoint input of the VFD (usually a 4-20 mA current input), by using an analog output terminal on your PLC.
 
@ Makawhite based on what you mentioned if your are trying to control a pump based on the tank temperature being 70 degc and to run at a hundred percent will not be ideal for a PID control. A PID will work well of you are controlling around a set point. For example say you wanted to maintain your pump at 50 deg c, if using a PID depending on what the current temperature is which is refereed to as your process variable the PID will adjust your output % based on your tuning constants (Proportional, Integral & derivative) and each time it adjusts the error (E) becomes smaller and smaller till you get close enough to your set point of 50 deg c. Now a thing to note is that the further you are away from your set point the higher you output % is going to be and the closer you are to set point the less your output % is going to be.

So in your case from my understanding it looks like you want the pump output % to be fully on at 70 degc and adjust linearly as the temperature goes up and down. If so you may want to roll out your own temperature control as opposed to using a PID. So as an option if it works on your application you can set up an algorithm where if the Temp > 70 degc then the output % will be 100% (fully on), if the temperature is 0 degc then the output % will be 0 % (fully off) and any value in between you can setup a y = mx+b so that when the temperature increases the output % increases, thus its linear, but also consider what Danw mentioned where it would be wise to know what you expect the output % to be 68.2 deg c? Hope this helps

Thanks dbh6

Just what I was looking for.

But how do I set up a y=mx+b, is that a gain function?

Regards
Mark
 
@ Makawhite, y=mx+b is not a gain function. If you remember in highschool it is the equation of a line formula, i suggest you read this link below

http://www.instreng.com/instrumentation-basics/365-instrumentation-basics-control-signals.html

once you have done so here is a thread from here showing examples on how to apply it

http://www.plctalk.net/qanda/showpost.php?p=424929&postcount=8

Hope this helps

Thanks bud, you are a legend and a great help to the masses!

Regards
Mark
 
@ Makawhite, y=mx+b is not a gain function. If you remember in highschool it is the equation of a line formula, i suggest you read this link below

http://www.instreng.com/instrumentation-basics/365-instrumentation-basics-control-signals.html

once you have done so here is a thread from here showing examples on how to apply it

http://www.plctalk.net/qanda/showpost.php?p=424929&postcount=8

Hope this helps

Thanks bud, you are a legend and a great help to the masses!

Just one more question, which function block do I use? ie how do I get it into the program?

Regards
Mark
 
@ Makawhite, I deserve no such praise, but i appreciate that and your very welcome.

To answer your question I have not used the Mitsubishi alpha 2 PLC, so I wouldn't know how to tell you in function blocks, why not just use ladder logic to do so??
 

Similar Topics

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
600
Hey everyone I'm trynna write a program to a WEST PRO16 temperature controller, but it just won't download the program i made using BlueControl...
Replies
0
Views
747
I am at a loss... I have a pasteurizing system that i need to control product temperature with the speed of the product pump. I currently have a...
Replies
11
Views
2,584
Hello PLC community, I'm looking for advice on a project that I'm going to do for the first time with a PLC (Siemens), the system is to do an...
Replies
7
Views
1,573
I have PID temperature control which will connect to Beckhoff EL4004(0v-10v). How I can program it to let EL4004 to control the temperature?
Replies
7
Views
2,629
Back
Top Bottom