09-26-2008 10:11 AM
Hello,
I have noticed that when I use the collector express VI with waveforms, the time data is incorrect. I would like to program my own collector sub VI so I can fix the time issue and also set the number of samples to collect automatically....
How can I create a sub VI which retains information from previous executions?
09-29-2008 01:21 PM
Hi,
Can you elaborate a bit more on the problem, or post a VI which demonstrates it? What version of LabVIEW are you using? If there is a problem with the VI I'll want to get it reported to R&D so they can fix it.
If you want to create your own "collector", you can use uninitialized shift registers to maintain state information in a VI. In order to use shift registers you need a loop, so you can create a while loop with a true constant wired to the stop terminal so it only executes once. The key is to make sure you don't initialize them, that way they will remember the last value they had and won't be reset each time you run the VI.
08-03-2011 03:37 PM
Hi,
I'm also working with the Collector VI. It's working fine but my program is running slow and I'd like to explore ways to make my collector work faster, so I'd also like to create my own method. I thought of using shift registers along with a feedback node, but this only returns the oldest samples. I'd like to collect samples continuously but discard old samples, until a separate signal comes in which will allow me to save the values in my collector at that time. Is there a way to configure shift registers to do this?
Thanks for your help!
Kamna
08-09-2011 02:27 PM - edited 08-09-2011 02:34 PM
Hello Kamna!
Express VIs generally run slower than other lower level VIs. With express VIs you sometimes pay the price of speed to gain simplicity. You could try using different array functions to manipulate the waveform data as you described and case structures to determine when/if another signal comes in.
Have a great day!