在使用DMA进行变化检测(Change Detection )的时候的注意事项 主要软件: Driver Software>>NI-DAQmx主要软件版本: 主要软件修正版本: 次要软件: N/A 硬件: Digital I/O (DIO)>>High-Speed>>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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
