LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using 3rd party DAQ board with DMA and LabVIEW

Using a 3rd party board and DLL in a DMA transfert with LabVIEW we succeed to transfert continuously more than 8000 acquire waveforms of 1024 pts of 16bits data. 
When I tried to read more than 8575 waveforms the data is corrupted.
 
The DAQ board take care of acquisition and DMA transfert, than using LabVIEW I polled the DLL to see if the data is available and ready to read.  All of these acquisitions and transfert works well in C and we can sustain acquiring over 100K waveforms continuously.
 
Any Idea why we reach the 8575 waveform limits?
0 Kudos
Message 1 of 3
(2,630 Views)

Is 8575 an absolute limit or an approximate?

Does 8574 always work and 8575 never?

If its an absolute limit, then I would check on the buffer size in the dll.

If it an approx limate, where it start to fail regularly, then it could be an issue with determinsim and buffers are getting over-written (?).

Post some code so we can understand your structure and this may give other clues.

Ben

Message Edited by Ben on 12-08-2005 08:17 PM

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 2 of 3
(2,626 Views)

Thanks Ben for responding.

The 8575 is approximate (±5) with 1024 pts per wfm.  If I am using 512 pts than the number increase to 15875 waveforms.

The total count (Npts x Number of Waveform) is closed to the available memory (8MB on the DAQ board).

The DLL has indicator in case of over-writting data and it never flag.

The DLL use 2 buffers, one to cumulate a programmable number of waveform (20 as exemple) before sending the data to the SubVis in LabVIEW then switch to the second buffer to continuously acquire waveform during the data transfert from the previous buffer then switch back when the second buffer is full and so on.

For the test we do nothing with data in LabVIEW to minimize the time in the loop.  Looking on the index of the loop LabVIEW had plenty of time between transfert.

 

0 Kudos
Message 3 of 3
(2,619 Views)