11-11-2009 09:22 AM
I'm trying to perform single voltage value ejection in a loop with NI-4461 PCI-card.
It seems to me that the straightforward way to this is to set the output buffer size to 1 and make the card wait for my program to generate the next value. But it turned out that while this works, the buffer size has great impact on the performance: if I set the sample rate to 204800 and small buffer size (2 Samples) one of the kernels of my CPU is loaded at almost 100%, when the buffer size is 200 the processor load is near zero most of the time except periodical bursts (every 80-90 seconds). I would like to know what is going on and what is the proper way to rerform the task.
Solved! Go to Solution.
11-11-2009 05:57 PM
What is the frequency of the signal that you are trying to generate? Are you using LabVIEW and DAQmx?
11-12-2009 02:56 AM
11-12-2009 04:36 AM
Try this:
Regards,
11-12-2009 06:17 AM
11-12-2009 06:54 AM
Hi,
just use a DAQmx Configure Output Buffer.vi.
See this KB for more information:
Why Am I Getting Error -200609 or Error -200802?
Regards,
11-12-2009 07:31 AM
Thanks for the usefull link, now I know why the buffer size was not set automatically.
But what values are in the buffer? When will I see the last value at the output?
11-12-2009 09:35 AM
Hi,
since the card has a delta-sigma converter it might not be the best choice for DC output, see here, but you can create an Array of two DBL values and write that to the buffer.
Regards,
11-13-2009 08:34 AM
Thank you for reply I can now figure out what is inside the device but I need some details concerning the API.
Assume I set the buffer size to 2, choose Allow Regeneration and Continuous Samples.
The on-board buffer size is 2047.
I send data as 2-element arrays in a loop.
Then what goes out the on-board buffer to the output?
2045 zeroes and two values from my data-array repeated untill I send new data?
Or may be on-board buffer fills gradually receiving data and ever longer non-zero trains go out?
11-16-2009 03:26 AM - edited 11-16-2009 03:27 AM
If you set the buffer size to 2, only the 2 samples you wrote are repeated until you overwrite those values. Just take the measurement with your 4461.
For exact information about the 4461 analog output, e.g. filter delay refer to the NI Dynamic Signal Acquisition User Manual, p. 2-12 ff.
Regards,