当设备6534使用双缓冲技术会出现不正常行为



硬件: Digital I/O (DIO)>>High-Speed Digital I/O>>PCI-6534

问题: 我正在尝试在Labview中使用Digital Buffer Wtrite.vi 去监测我缓冲输出的进程,但是看起来写入数据的速度快用输出的速度,这是为什么?

解答:

Digital Buffer Write.vi 发送数据到PC机的内存里,并且返回输出和写入是基于PC机本身的内存。NI 6534有着自带的内存条,因此Labview只会识别PC机上的内存条,不会识别6534自带内存中的数据。但是,只要6534内存条中有足够的空间,就从PC机上内存中提取数据。根据这个原因,在更新进展簇中标志着编写和输出并不代表着6534实际做了什么呢,他们表示着PC内存和卡上的板载内存究竟发生了什么。比如,我们可以写入1000个采样点,然后我们预期的更新点为1001,写入标志会读取一些已经写入到6534的采样点数。这是不会发生在6534当中,应为数据会马上传输到6534空的内存条当中。

一个轮询缓冲在这种情况下的解决方案是使用缓冲区迭代显示控件,来从更新进程簇,这样将会始终保留正确的迭代次数,从而高精度的提供多少数据已经被写出。

附件中的vi根据连续模式生成进行了一些修改,它会说明具体发生了什么。

 



相关链接:

KnowledgeBase 2MOESVN5: Double-Buffered NI-DAQ Output Examples Do Not Work with the NI 6534

 KnowledgeBase 2EG9JB5: Simultaneous Buffered Input Acquisitions on Multiple NI 6533 or 6534 Deevics Causes Timeout



附件:


Cont Pattern Output.vi - Cont Pattern Output.vi



报告日期: 12/11/2003
最近更新: 07/29/2015
文档编号: 34AER3IO