在某项目的测试中,要求双通道同步采样,且采样速率高达到1MHz/s.

     使用NI所提供的一个例程:Multi-Device Synch-Analog Input-Cont Acquisition.vi.程序框图如下图所示.

      数据采集卡用PXI-6251两块
      PXI-1033机箱
      IBM-400R笔记本电脑

         按上例图进行测试发现,当采样速率设置为:100KHz/s以上时,CPU工作在100%的状态.参见下面的程序前面板图例.

     按常规解决办法,可在While循环中加入一个定时100ms左右的定时器,加入后不起作用,修改定时时间,也没有用.

     PXI-6251的最高采样速率1.25MHz/s,应该不会有问题(当前仅工作在100KHz/s).
     PXI-1033的总线带宽110M,也不会有问题.
     IBM-400R是双核2.0G的更不会有问题.
     Vista,LabVIEW8.6.1,MAX4.5,DAQmx8.9
     那么问题到底出在什么地方呢?百思不得其解!

     求助于NI的AE也没有遇到这样的问题,只好双方都继续做试验共同寻求解决方案.

     我上网查询有关资料,发现有用DAQmxRead属性节点Sleep来解决的例子,我照此试了一下,没有能够解决问题,只是试着给几个数值.

     无奈中,使用了定时While循环来代替普通的While循环,这下可好了,即便是工作在1MHz/s的采样速率下也没有问题了.

     这里面的内部机理我不清楚,但是问题解决了!
     此后,NI的AE也给出了解决方案,就是利用属性节点.见下图.

     到底哪个方法更合理,我不清楚?
     大家遇到这样的问题可以分别试试看.

     至少我们一再强调的打开"任务管理器"监视CPU的运行状态,还是十分必要的.

     附上NI AE提供的解决方案.


20090224020724.zip
File Size: 26 kb
File Type: zip
Download File


7/12/2012 10:36:37 am

It’s actually a great and helpful piece of info.Your store is an excellent site. This site as a model, very clean and beautiful and pleasant graphical user.

Reply
7/12/2012 10:38:00 am

Your article let me know a lot of things , this article is really good.cherish nature has given us everything.Thank you for sharing.

Reply



Leave a Reply.


Google Analytics