10-31-2025 09:50 AM
Hi everyone,
I'm working with a NI 9260 analog output module in a cDAQ-9185 chassis, connected to my PC via Ethernet. The goal is to continuously stream a generated waveform to an AO channel.
Here’s how the system is structured:
DAQmx Write (autostart = false, regeneration disabled), only when an element is available in the queue (queue timeout = 0).DAQmx Timing to run at 10 kHz, with continuous samples, and a buffer size of e.g. 10,000 or 50,000 samples.The system initially works as expected, but:
Eventually, the AO task fails with either error -200621 or error -200018, seemingly at random.
Here is the full error message for -200621:
Error -200621 occurred at SimApp.vi
Possible reason(s):
Onboard device memory underflow. Because of system and/or bus-bandwidth limitations, the driver could not write data to the device fast enough to keep up with the device output rate.
Reduce your sample rate. If your data transfer method is interrupts, try using DMA or USB Bulk. You can also reduce the number of programs your computer is executing concurrently.
Task Name: unnamedTask<12>
System details:
Has anyone encountered this kind of systematic buffer drain during AO streaming, even when the data rate should match the configured sample rate?
Are there known limitations or considerations when streaming AO data to a cDAQ device over Ethernet?
Any insights would be greatly appreciated!
Greetings, derFliXX
11-01-2025 07:49 AM
Why are you streaming samples? can it not be pre-determined?
11-03-2025 01:56 AM - edited 11-03-2025 02:01 AM
I'm streaming the samples because I want the signal to be generated as close to real time as possible. The parameters that define the signal can be adjusted during runtime, so the waveform needs to be built dynamically rather than precomputed. This allows for flexible, responsive behavior during simulation.
11-05-2025 07:25 AM
Btw - added the full blockdiagram if this helps.