在使用DMA进行变化检测(Change Detection )的时候的注意事项



主要软件:
主要软件版本:
主要软件修正版本:
次要软件: N/A
硬件: Digital I/O (DIO)>>High-Speed Digital I/O>>PCI-6534

问题:

我使用了板卡的一个8位的数字端口运行NI-DAQmx的变化检测的范例。有时候,板卡的数字输出端口已经改变了四次状态,而我只能获得一次状态的更新。而另一些时候,还返回NI-DAQmx错误-200284。我要检测的数字端口状态改变了,那么为什么我检测不到状态的变化呢?



解答:

这种情况是由于应用程序的直接内存存取方式被设置成有效了。DMA方式只有当积累到32字节的数据的时候才会将数据从PCI数据采集设备中传输到DAQmx的内存空间中。这就意味着,若您在一个8位的port中进行变化检测的任务,不管您使用的是port的格式还是line的格式,您在LabVIEW中读取到的状态的改变一直要到所有的32个字节的数据都到达了才能够显示出来。

或者您可以采用DMA方式等到32个变化读取结束之后获得数据,或者您可以是用中断方式而不是DMA方式传输数据。在默认情况下,板卡的数据传输机制是采用DMA方式,但是您可以在您的程序中将它改成中断方式。需要了解怎样进行更改,您可以参考下面的链接中提供的编号为34FGAFVM的知识库文章。

若你需要使用DMA方式传输数据,但是检测到的变化显示太少,那您也可以将DAQmx Read 的超时时间设置为比发生32次变化的时间更长。



相关链接:

附件:





报告日期: 12/21/2005
最近更新: 01/08/2008
文档编号: 3SKA1UX1