Jump to content

PID controler with two prosessvalues

Recommended Posts

Hi, I have made an temprature controler using PID. I'm using an V130 plc and visilogic


The output ( 4-20 mA signal) control an heating cable and the process value is a PT100 sensor on the object that I'm heating up (body temp), and I have one on PT100 on the heating cable as well (cable temp).

The input variables that I use is setpoint, cable setpoint and there is an max temprature setting.

The object that I heat up is steelpipe with equipment inside. I wrap the heating cable around the pipe and isolate the object.


If I use the cable temp as processvalue all is fine but the system is too slow and in accurate. Because there is often much mass to heat the cable temp has usualy to be 10-20 ° over setpoint

(to speed tings up) and this is hard to figure out each time becase the object is changing and when the body temprature is at setpoint the cable setpoint has to be changed( lowered).

If I use the body temp as processvalue the system is quicker and more accurate but now the cable temp is often over wanted the maximum temprature and is tripping an tempraturelimiter.


Becasue of this I've made the system with 2 PID controlers one with body temp as pv and one with cable temp as pv. At first the cable pid is controling the output and sets the cable temp at

cable setpoint. Then when body temp is at setpoint the body pid is taking over and the system works fine but now the problem starts. When body temp is at setpoint we are increasing

pressure inside the pipe with water or gas( to test the equipent inside)  and this usualy takes the temprature down. Now the body pid is detecting this and increase the output but because of

great mass this is a slow process the output is to high, so again the temperaturelimitier is tripped.

I've not been able to make the system to change between these two controlers in an good way or to make them "play together".


So the question is: Has anyone been able to make an PID-controler with 2 processvalues or a system that take in consideration 2 processvalues?




Link to comment
Share on other sites

  • MVP 2014

This can probably be solved by cascade control.


Use the CV of the Body Temp PID as the SP for the Cable Temp PID.  So when the Body temp drops, it asks the Cable Temp PID for more heat (and vice versa).  Tune the cable temp PID first, without the Body Temp PID active.  You will probably also need to add a limiting function to the Cable Temp PID to restrict the output if the PV gets too high, as a software limiter.  Use basic Compare blocks for this.  Note also that there is a PID function to suspend and reset the Integral term, and these need to be used if the limiter is active.


I can't get into this too deeply, but I hope these ideas give you some leads to follow.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...