Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Avoiding onboard device memory overflow

Solved!
Go to solution
Highlighted

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

-8ch

-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
(127 Views)
Solution
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
(109 Views)

Kevin,

 

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
(95 Views)