11-05-2008 10:51 PM
Hi,
I am currently modifying a temperature controller in LabVIEW 8.0 to allow for temperature cycling. I'd like to be able to cycle to three different temperatures for 20 to 30 times. As it is now, the program adjusts the temperature using a single precision numeric control. I was wondering how to input set values to a numeric control at set times.
An example would be to set a 10 in the numeric control for 3 minutes, then jump to 20 for another 3 minutes, and 30 for another 3 minutes, then repeat the cycle for a set amount of times.
11-05-2008 11:17 PM
hi,
Check the attachment i think this will help u
11-05-2008 11:21 PM
11-06-2008 08:27 AM
Another approach is to create an array control with the times in one column and the temperatures in another. Autoindex through the array and change the setpoint when the current time is greater than or equal to the time in the next element of the array.
This has the advantage over the approach suggested by Santhosh M that you do not need to change the program when the time or temperature values change from one run to another.
Lynn
11-06-2008 09:50 PM
Thanks for your replys,
I'm going to try to implement what johnsold has suggested, although I'm not really sure how to do it. Any further help would be greatly appreciated.
Currently, I'm currently trying to test the functionality of property nodes. Using the VI thats attached I would assume that the "Set Temperature Value 2" Numeric Indicator should update with the "Set Temperature Value" Numeric Indicator. However, when running the VI, it is not the case. Could you help me understand why?
11-07-2008 08:25 AM
The reason that Set Temperature Value 2 does not update (more than once) is simple dataflow. The for loop and the property node below execute in parallel. The property node only executes once. It may execute before the for loop, after the for loop or while the while loop inside the for loop is waiting. If you want it to track the changes it needs to be inside the for loop.
The while loop seems to qualify for Rube Goldberg code. The loop stops after the first iteration, so there is really no need for the loop. The multiply by 0.001 just recalculates the value of Time Interval in Sec. Why not just wire it directly to the multiply by i?
This indicates that you may not understand the dataflow paradigm of LabVIEW. I suggest that you spend a few hours with the online tutorials to learn some of the basics.
Lynn