Multifunction DAQ

Showing results for 
Search instead for 
Did you mean: 

Avoiding onboard device memory overflow

Go to solution

I'm using NI USB-6356 with 64MB on-board FIFO. It is configured for AI as follows:


-finite acquisition (~100k sample per ch)

-internal hardware clock at 1 MSPS

-reference trigger with ~10k pre-trigger points


My initial assumption was that DAQmx would configure  the board to use on-board FIFO as a circular buffer, overwriting old samples until the trigger, recording finite number of samples after the trigger, and stopping then. I would then read the data.


Turns out DAQmx driver also creates a local PC buffer and tries to stream all the pre-trigger data into PC all the time. This creates a problem - the USB link (special case vendor fibre extender) is too slow to keep up with live buffering, and DAQmx throws onboard device memory overflow error. I tried disabling PC buffer by calling configure input buffer with 0 size, as suggested in knowledge base, but it is not compatible with the configuration described above - "Non-buffered hardware-timed operations are not supported for this device and Channel Type."


Any workarounds?   

0 Kudos
Message 1 of 3
Accepted by topic author Fedor
04-11-2019 01:59 PM

There's a deeply nested DAQmx property for AO tasks that lets you specify the use of onboard memory only.  I went looking for a similar property for AI but didn't find it.  However, I did find the following which *might* possibly help.  Can't really say for sure.



-Kevin P


accumulate AI onboard.png

0 Kudos
Message 2 of 3



I tried setting data transfer request condition to when acquisition is complete and it worked like a charm.Thanks.

0 Kudos
Message 3 of 3