10-26-2013 05:43 AM
Hi,
I am using niHSDIO Initiate.vi and niHSDIO Fetch Waveform.vi for data acquisition usin PXI 6541. These functions are used in a sub VI. This sub VI is time critical and it takes approximately 4 to 10 ms. But Ideally it should take 0 ms. How to reduce this time to less than 0.5 ms?
Khan
10-26-2013 11:01 AM
10-26-2013 12:30 PM
I assume you're using some loop for data gathering. If so, initiate should be done outside the loop. Also, getting a very low loop time might be hard, it's usually better to grab a slightly bigger data set and work on that, e.g. grab 20ms worth of data at a time and analyze.
/Y
10-27-2013 04:58 AM
Most time is taken by niHSDIO Fetch Waveform.vi, Waveforms contains 512 bits. I measure time using Time Template (data dep).vi, These are used within a while loop. It is of actual priority as data is acquired.
10-27-2013 09:53 AM
@Khan83 wrote:
It is of actual priority as data is acquired.
I don't understand what this statement means.
10-28-2013 03:02 AM
@Khan83 wrote:
Most time is taken by niHSDIO Fetch Waveform.vi, Waveforms contains 512 bits. I measure time using Time Template (data dep).vi, These are used within a while loop. It is of actual priority as data is acquired.
Yes? Can't you measure/calculate time from a 20ms chunk? If you need the system to stop/react fast to a specific value it shouldn't be in software, but wired back as a trigger.
/Y
10-28-2013 06:50 AM
@Khan83 wrote:
Most time is taken by niHSDIO Fetch Waveform.vi, Waveforms contains 512 bits. I measure time using Time Template (data dep).vi, These are used within a while loop. It is of actual priority as data is acquired.
How fast is the waveform being sampled? You have to allow time for the samples to be gathered in the HSDIO. So if you are sampling at 50kHz, it takes ~10ms to gather 512 samples.
11-01-2013 08:33 AM
Actually my DUT sends Interrupt at 1Khz, this interrupt is used for triggering. I have attached the VIs. I am using PXI 6541for data acquisition and use LabView 2009. If I use Initiate.VI out of Loop as mentioned by Yamaeda, I do not get output.
Khan