LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID multivariable SOMEBODY HELP! PLEASE!

I did not intend to be rude.  I'm sorry if it read that way.  However, if you want someone to help you, you do need to provide a manageable VI.  I think you could write a much simpler VI that will set the output and read the process variables, and that would be a very good place to start.  Do you have the original VI, with the delay, that you could share?  At least then it might be possible to see why it was slow to set the output.

0 Kudos
Message 11 of 23
(1,301 Views)

Dear Nathand:

 

Yes we have it, all the previous VI, because we are developing this since april, tomorrow or friday i´m gonna send you the VI with delay, its pretty simple as you say, output and inputs, and now, when you mentioned, yes... it would be so much better if that VI, the simple one replace this one, taking out the writting part from it, it would just have input- output and the PID.

 

So, friday, when we come back to work again the University, i will send you the VI, hope you can take a look at it.

 

And, don´t worry because, we are all stressed, hope you have a nice day.

 

Regards

 

Felipe Kim V

Nicolas Paniagua G

0 Kudos
Message 12 of 23
(1,299 Views)

Dear Nathand:

 

Here i attached you our first VI, as you can see it´s pretty simple, it has all the temperatures and also, the output of Heater- Pump and the input of Visa...

 

 

Hope you can help us with the PID nathand.

 

and as i explained before..

 

we need control the Alcohol concentration with:

 

1- Heater power

2- Flux of condenser (pump)

 

separately...

 

 

regards.

 

Felipe Kim Vallejos

Nicolas Paniagua G.

0 Kudos
Message 13 of 23
(1,283 Views)

Start by cleaning up that VI a bit.  You should only execute VISA Configure Serial Port once, outside the while loop, and you should only close the port once, after the loop completes.  This will speed up reading and writing to the serial device.  After that, clean up the parsing of the data from the serial read, there must be a simpler way to do that.  Also, it would help to get rid of functions that aren't used, for example there's a merge signals with nothing connected to the output.  There are indicators all over the place, and a stop button that doesn't do anything.

 

Once you've done that, you should have a somewhat smaller block diagram that's easier to follow.  Then you can insert a PID function.  I'd start with just one of the two, whichever is easier to control.  See if you can get that tuned and working.  After that, adding a second PID and a switch to determine which is in use should be simple.

0 Kudos
Message 14 of 23
(1,274 Views)

You can't regulate one output value with 2 independent loops. You should select  the one as the main  (strong dependence) and insert SET POINT.

 For second loop  set point value  must be variable. Current value  (concentration) will be set point for second loop. It' a normal  technique to control temperature if you have several heaters  with power sources but temperature is the same value at all points of your system.

 

Vladimir 

0 Kudos
Message 15 of 23
(1,273 Views)

I don't think this is an issue.  The first message indicates that they want to use the same setpoint to control two different outputs, but they want to do it separately.  I took this to mean that they want to control only one output at a time.  Perhaps I've misunderstood the intent, but the way I read it, there's no problem.

0 Kudos
Message 16 of 23
(1,271 Views)

That´s exactly what we want to do! i mean put a switch and say:

 

"ok, lets try to controll the Concentration using the Heater Power as the main variable"

 

when you said " and you should only close the port once, after the loop completes.", sorry.. but.. how do we do that?, we are newbie's in lavbiew... 

 

and..

 

 

" there's a merge signals with nothing connected to the output.  There are indicators all over the place, and a stop button that doesn't do anything." 

that´s because i just put the principal things in this VI, so... i did it in a couple of minutes before leave the University, i agree that there´s a lot of thing doing anything... my mistake..

 

At this point we are determinating the Transfer Functions... so.. at the same time that we are trying to improve our VI, we are working whit that..

 

 

Im gonna keep you informed Nathand, and thanks again for your help.

 

Regards 

 

Felipe Kim

Nicolas Paniagua


0 Kudos
Message 17 of 23
(1,267 Views)

@FelipeK wrote:

when you said " and you should only close the port once, after the loop completes.", sorry.. but.. how do we do that?, we are newbie's in lavbiew... 


Move VISA Configure Serial Port and VISA Close outside the while loop.  All the connections stay the same and the VISA reference wire passes through the while loop border.

0 Kudos
Message 18 of 23
(1,264 Views)

mmmm i understand... you proposed to put the Set point (Concentration) using a PID with the Heaters as the main, and the second output(Pump-Flux of condenser) using the current value of concentration  as his set point...

 

This will use Two PID but.. what if both begin to come into conflict, i think about it... and yes... maybe it would be awesome, controlling both variables..

 

Thanks a lot  Vladimir..

 

 

I think that we are gonna try first with nathand´s idea, and then, with yours,,,, because i think it could produce conflicts, or works perfectly..

 

 

We will keep in contact noticing you in case of any progress in our Tesis.

 

Have a nice weekend guys

 

 

0 Kudos
Message 19 of 23
(1,263 Views)

Thanks! i can´t express the joy of your help(including vladimir), we are gonna do it on monday and let you know how it works.

 

By the way guys... i think that you should be part of our acknowledgments in our Tesis... really

 

Thanks nathand, next monday or tuesday we´ll response you

 

Regards

 

Felipe Kim Vallejos

Nicolas Paniagua G

0 Kudos
Message 20 of 23
(1,261 Views)