|
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
|