In case someone else stumbles on this, there is a low-level function daq.ni.NIDAQmx.DAQmxSetWriteRegenMode that allows you to directly modify this setting in the DAQ.
NI DAQ analog output regeneration
12 views (last 30 days)
Show older comments
Hunter Davis
on 30 Jun 2020
Commented: Daniel Hill
on 29 Oct 2020
Using an NI USB 6366 DAQ to generate a continuous output analog waveform, I keep getting underflow errors "Output underflow event: Last valid output was scan number 199977121". The output sample frequency is 2 MHz, and I have tried all sorts of different buffer sizes. In Labview, I can change the "allow regeneration" mode for analog outputs to allow the DAQ to just loop the onboard FIFO without requiring fresh data from the host computer. How do I do this in matlab? The waveform needs to be continously output for hours at a time, so this instability is really a problem.
0 Comments
Accepted Answer
Hunter Davis
on 10 Oct 2020
1 Comment
Daniel Hill
on 29 Oct 2020
Hi Hunter,
I'm pretty green when it comes to programming and my labview/NI knowledge is extremey limited. I'm getting an 'Output underflow error' and I'm hoping this will help. I'm embarrassed to say that I have no idea how to implement it in matlab. I looked at the doc but can't firgure it out
(daq.ni.NIDAQmx.DAQmxSetWriteRegenMode is a function.
[status] = DAQmxSetWriteRegenMode(taskHandle, data)
Can you tell me what I need to call for 'taskhandle'and 'data' to get this thing to allow regeneration? (I'm assuming it's automatically in non-regeneration mode based on what I read here: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019P1kSAE&l=en-GB).
More Answers (0)
See Also
Categories
Find more on Analog Input and Output in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!