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 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Hunter Davis
2020-10-10
1 个评论
Daniel Hill
2020-10-29
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).
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Analog Input and Output 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!