LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Fetch command in NI-Scope

Hello all,

I am using LV 8.2.1, Windows Xp, PXI-5122.  I am trying to acquire a signal after receiving a trigger, process the data, and then display.  I am acquiring 2048 points after the trigger, then FFT for display.  This is done continuously until enough (usually 512 data sets) are acquired to make an image. The method I am using has been designed from the NI-SCOPE multi-record example vi.  It is working but extremely slow.  The data is acquired quickly but the processing is slow.  Currently the vi acquires all the data than fetchs individual data sets (2048 pts) for processing.  Is there a way to acquire all of the data in an array format and process the array rather than each column of data?  I have attached a screenshot of what I am currently doing and any help in speeding up the data acquisition and fetching would be greatly appreciated.

Thanks in advance,

Azazel
Azazel

Pentium 4, 3.6GHz, 2 GB Ram, Labview 8.5, Windows XP, PXI-5122, PCI-6259, PCI-6115
0 Kudos
Message 1 of 5
(3,206 Views)

I am not sure where the slow down is, but its hard to judge without the VIs.  For example, is it slow if you remove your clk SubVI?

What about removing the RMS VIs does that help?  Go ahead and attach the VIs and their SuBVIs and we can take a look at them.

0 Kudos
Message 2 of 5
(3,200 Views)
In order to open everything correctly you need NI-Scope to be installed.  I have attached all vi's.

Thanks,

Azazel
Azazel

Pentium 4, 3.6GHz, 2 GB Ram, Labview 8.5, Windows XP, PXI-5122, PCI-6259, PCI-6115
Download All
0 Kudos
Message 3 of 5
(3,197 Views)
I got about a 30% improvement by modifying the "Cal file_2" vi.  First remove the stacked sequence and just have the code line.  But the other big improvement is use 1D arrays rather than 2D arrays.  In both of the for loops remove the build array functions, and then you can remove the index array function as well.
 
I shaved off ~5% by also pre-allocating the array in your Main VI.  Using autoindexing is not as efficient preallocating a 2D array and then replacing the rows, especially because in this case you know the max number of times the loop will run.
 
See the attached VIs.
Download All
0 Kudos
Message 4 of 5
(3,190 Views)
Thanks for the improvements, I can't wait to try it!
Azazel

Pentium 4, 3.6GHz, 2 GB Ram, Labview 8.5, Windows XP, PXI-5122, PCI-6259, PCI-6115
0 Kudos
Message 5 of 5
(3,183 Views)