09-13-2012 02:45 AM
Hi!
I need to implement a temperature control by changing the voltage of a power supply connected to a heater.
I don't have PID toolkit, but I know how PID theorically works.
Attached: VIs (Untitled 1 the principal one)
Any suggestion, help or hints are appreciated.
Thank you
Solved! Go to Solution.
09-13-2012 02:47 AM
file here
09-13-2012 03:13 AM
09-13-2012 03:25 AM
well thank you 🙂
i'm almost new programming labview.
Any suggestion how to implement all that into the program attached?
Really thank you
09-13-2012 03:31 AM - edited 09-13-2012 03:32 AM
Hi ufo,
the SimplePID is as simple to use as its name implies: all it needs are PID parameters and the current value of the process variable and it will output the set value...
There's an example in the mentioned ZIP file included!
09-13-2012 03:36 AM
well ok, but i don't understand one thing:
i have to set temperature by a determined wave/value, but i need to control the voltage to do that.
how to solve? I mean.. the setpoint is temperature, process value is temperature, but the output of the pid how can it be relationed to the voltage?
Thank you
09-13-2012 03:44 AM
Hi ufo,
"the setpoint is temperature, process value is temperature, but the output of the pid how can it be relationed to the voltage?"
The output of the PID can be seen as unitless value. You just convert it to your needed output value. To do so you have two options:
- set the PID parameters so it will scale the output to the needed range
- use "unitless" PID values to get an unitless output from SimplePID and scale that value to your needed range
For understanding PID it may help to read the manual of any industrial ready-to-use PID temperature controller. Wikipedia might be a good source of information too...
09-13-2012 04:31 AM - edited 09-13-2012 04:32 AM
I think I did it but i can't understand another thing:
voltage didn't read the voltage.. the output value fo the pid is added to the current voltage so i can module the difference between the desired temperature and the measured temperature.
Voltage is read in another VI (simpler, just to control if every instrument is working) but when I insert the pid, voltage isn't read anymore.
Do i have to insert a sequence? Don't know what to do 😞
09-13-2012 05:25 AM
Hi ufo,
did you ever think about the DATAFLOW? It's the basic principle of LabVIEW...
You created a loop that seems to run the PID vi ("seems" as I miss a lot of subVIs). This loop will stop on error or user input. After that loop has run you call a second loop with your voltage measurement. There's a data dependency! THINK DATAFLOW!
You would have seen this be some elementary debugging. Did you even try this?
09-13-2012 05:45 AM
While I was waiting you answer I already solved the problem.
Really thank you 🙂