04-21-2017 08:03 AM
I am new to the forum so I hope this post is in the right place.
I have 3 AO cards (2 PCI-6733 and 1 PCI-6713) and I am using DAQmx for .NET (c#) to create an experiment control software using the aforementioned cards. The output is expected to be 100KHz on all channels of all cards and the output values are changing (so regeneration is not an option) after running the tasks (3 tasks one per card) for a varying time (5-30 mins) I get the following error:
Error -200016 Onboard device memory underflow...
The SmpleQuantityMode is FiniteSamples and I am already using DMA.
To elemenate the possibility that synchronization could have a role or that the PCI bus has too many cards, I plugged out all but 1 card (repeated the same procedure with every card) and used MAX for testing:
I created an analog output task (using the 8 channels) and ran the following tests which all lead to the same error (-200016) after varying times:
Generation Mode | Samples to Write | Rate (Hz)
Continuous Samples | 100k | 100k
Continuous Samples | 100k | 50k
Continuous Samples | 100k | 1k
N Samples | 2M | 100k
N Samples | 2M | 50k
for all the tests the Sample Clock Type was "Internal" , the timeout set to 200S, and the Regeneration Mode set to "Do not allow regeneration".
The PC itself is pretty powrful (Windows 7 64-bits, 16 GB RAM, Intel Xeon(R) CPU E3-1225 V5 @ 3.30GHz) and apparently not doing a big load caused by other applications.
What could be the problem, and what do you suggest to try?
Solved! Go to Solution.
04-24-2017 10:06 AM
Hi Ghareeb,
Seeing as though it is an underflow error, everything in the buffer has already been pulled by the time before the software stops acquiring. If you change the timeout to -1, what happens? Similarly, can you put a buffer node down to track the behavior? You might even be able to change the buffer size. Here are some articles that I believe will be useful --
Understanding and Avoiding Overwrite and Overflow Errors with NI-DAQmx
http://digital.ni.com/public.nsf/allkb/A224DA0551EEA073862574F60060AB6F
How Is the DAQmx Buffer Size Allocated for a Finite or Continuous Acquisition?
http://digital.ni.com/public.nsf/allkb/E1E67695E76BA75B86256DB1004E9B07
DAQ mx Write Underflow
http://forums.ni.com/t5/LabVIEW/DAQ-mx-Write-Underflow/td-p/2798882
04-28-2017 06:59 AM
Thank you for the reply. Changing the timeout to -1 and/or increasing the buffer size does not solve the problem. Decreasing the buffer size is not allowed as the generation mode is finite samples and it has to fit at least the number of provided samples.
04-28-2017 07:05 AM
The problem was solved by moving the cards to another PC.
In the first PC I noticed that the Windows 7 event log was showing a hardware-related warning (
Event ID: 17
Source: WHEA-Logger
A corrected hardware error has occurred.
Component: PCI Express Root Port
Error Source: Advanced Error Reporting (PCI Express)
...)
whenever I ordered output on any of the cards. That's why I have just moved the cards to another computer (with other motherboard and CPU and now everything works fine!
The motherboard in the first PC is ASUS P10S-X and I assume it was the cause of the problem.
05-01-2017 08:35 AM
Ah, I see... it was the actual port itself, which would make sense when you move it to another computer. Perfect, I'm happy to hear that everything works!