04-10-2019 11:38 AM
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?
Solved! Go to Solution.
04-10-2019 05:31 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
04-11-2019 04:00 PM
Kevin,
I tried setting data transfer request condition to when acquisition is complete and it worked like a charm.Thanks.