06-28-2011 03:01 PM
Hi
I have designed a mass flow controller using labview 2010 and a usb 6008 logger.
My flow is controlled using a proportional solenoid with flow calculated from pressure sensors all running through the usb6008 and a solenoid driver. I have added PID control to the circuit and used the calculated flow displayed on a tank numeric indicator as my PID process variable.
When I run the system the solenoid current ramps up past my setpoint and only stops when it hits the PID output range upper limit not the setpoint.
I added a manual control to simulate the flow whereby I effectively manually enter the process variable and this works fine, the solenoid current falls if the manual flow value exceeds the setpoint and rises if it is below the setpoint as I expect PID to work but for some reason everytime I try to use my measured/calculated flow reading as the PID process variable it doesn't work.
Please can someone take a look at the attached vi and see what I'm doing wrong.
many thanks
Andy
06-29-2011 05:49 AM
Hello Andy,
I’ve had a look through your programming and it all looks fine, you don’t need the timing with the loop as your DAQ assistant determines the speed at which the loop iterates. Ideally you would not have the DAQ assistant read and write within the same loop, I have made the medications for your code to change this. However these points are rather mute as they won’t really affect the end result drastically.
As for the problem you are having with the result, I would suggest you go back and check the maths in your equations. Control is not my domain expertise so I would not be able to advise you on your equations.
06-29-2011 10:24 AM
Andy
Thanks for your help but unfortunatly it still doesn't work. The PID just doesn't seem to want to except the calculated flow value as my process variable. This flow value is typically 0 - 25 l/min.
regards
Andy
06-29-2011 11:19 AM - edited 06-29-2011 11:19 AM
Hi Andy,
Have had a further inspection of your code, are you sure your taking the information from the correct input? as the output DAQ assistant refers to the the Flatprop and so does the select signal express VI however they are not in any way connected?