Artem ViTec
2007-01-11 13:10:14 UTC
I have similar problem as described on page http://forums.ni.com/ni/board/message?board.id=250&message.id=23831but have solution and some reflections.first of all, about systemsystem use 2x PCI-6143 and take data from 16 channels with maximum rate (250 kS/s)program
was created about year ago (with LV 7.1.1, DAQmx 7.4) and on PC with
PIV (3.2 GHz) processor and 1 Gb of RAM work properly (CPU usage less
30%).Now I've recompile program with LV8.2 and update drivers to DAQmx 8.3. now program can't work properly because CPU usage 100%I create test VI for research this problem.First version (daq_test1) - simple code - configure daqtask and get data.I found:if
sample rate less or equal 90 kS/s (on PCI-6143) CPU usage less 5%, but
when rate more 95 kS/s CPU usage jump to 60% (for one or more channels
on one or two devises).Then I create simulated devise PCI-6143 in MAX and the same vi (daq_test1) require not more than 5-10% of CPU.also
I have examine devise 16E-4 and find the same problem: if samle rate
more than "boundary" rate, CPU usage is too much (50-70%).Then I add configure parameters (daq_test2) - add manualy DMA "on". There are no effects (CPU usage jump to 60% on "fast" rates)Then I "play" with WaitMode (daq_test3). There are no effects (even if WaitMode=Sleep and SleepTime>1s CPU usage about 60%)Finally
I create vi (daq_test4), where "manually" check
AvailableSamplesPerChannel and call DAQmx Read only when bufer has more
samples, that I need.So I'd wound solution, but think driver
MUST check available samples carefully (also, why DAQmx 7.4 can fast
scan, but DAQmx 8.3 can't do it <a>at least the same way as previous version).</a>
daq_test.zip:
http://forums.ni.com/attachments/ni/250/27200/1/daq_test.zip
was created about year ago (with LV 7.1.1, DAQmx 7.4) and on PC with
PIV (3.2 GHz) processor and 1 Gb of RAM work properly (CPU usage less
30%).Now I've recompile program with LV8.2 and update drivers to DAQmx 8.3. now program can't work properly because CPU usage 100%I create test VI for research this problem.First version (daq_test1) - simple code - configure daqtask and get data.I found:if
sample rate less or equal 90 kS/s (on PCI-6143) CPU usage less 5%, but
when rate more 95 kS/s CPU usage jump to 60% (for one or more channels
on one or two devises).Then I create simulated devise PCI-6143 in MAX and the same vi (daq_test1) require not more than 5-10% of CPU.also
I have examine devise 16E-4 and find the same problem: if samle rate
more than "boundary" rate, CPU usage is too much (50-70%).Then I add configure parameters (daq_test2) - add manualy DMA "on". There are no effects (CPU usage jump to 60% on "fast" rates)Then I "play" with WaitMode (daq_test3). There are no effects (even if WaitMode=Sleep and SleepTime>1s CPU usage about 60%)Finally
I create vi (daq_test4), where "manually" check
AvailableSamplesPerChannel and call DAQmx Read only when bufer has more
samples, that I need.So I'd wound solution, but think driver
MUST check available samples carefully (also, why DAQmx 7.4 can fast
scan, but DAQmx 8.3 can't do it <a>at least the same way as previous version).</a>
daq_test.zip:
http://forums.ni.com/attachments/ni/250/27200/1/daq_test.zip