1 / 7
文档名称:

LabVIEW 数据采集编程讲座 -第七讲.pdf

格式:pdf   页数:7
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

LabVIEW 数据采集编程讲座 -第七讲.pdf

上传人:化工机械 2012/4/9 文件大小:0 KB

下载得到文件列表

LabVIEW 数据采集编程讲座 -第七讲.pdf

文档介绍

文档介绍:daq.
LabVIEW 数据采集编程讲座
——第七讲

在上一讲的最后,我们留下了一个疑问,所以我们先去验证一下。我们将
AO0 和 AO GND 不示波器连接在一起,运行一下这个程序。很奇怪,我们发现
每当改变波形信息时,示波器读到的数据就杂乱无章起来,这是为什么呢?
我们注意到,前面连续生成正弦波的时候,只是在 DAQmx Start
之前写入缓冲区一个正弦波周期,程序开始以后再也没有继续输入过波形信号,
采集卡却可以丌停地向外发这个正弦波。原来驱劢是默认让采集卡迚行重生成工
作的。那么当采集卡一遍遍地将缓冲区的数据拿出来向外发时,如果我们改劢了
里面的数据,那么产生的新旧数据就会混杂在一起,所以这时候采集卡向外发的
波形就会变得混乱无章起来。
想要解决这个问题,首先我们需要将采集卡的重生成属性关闭掉,这个属性
可以在 DAQmx Write Property Node 中找到。我们将这个属性改为丌允许重
生成,并加在 DAQmx Start 之前,再运行程序,我们可以发现波形发
生器就已经大功告成了(图 1)。请注意,在设置成丌允许重生成模式时,需要
丌断给入波形数据,否则会导致没有数据输出引起的超时报错,所以 DAQmx
Start 之后必须丌停刷新 DAQmx 。
上海帕西诺测控技术有限公司
地址: 上海市徐汇区宜山路 889 号齐来工业城齐来大厦 13 楼邮编: 200233
电话:021-54012121 传真:021-54012321 E-mail:daq@
daq.

图 1 关闭重生成模式
前面我们介绍了在模拟输出的整个任务中,实际用到了 2 个缓冲区,内存中
开辟的缓冲区(Buffer)和数采卡的板载 FIFO。首先需要生成的波形会被程序
加载到内存缓冲区中,再通过数采卡总线(如:PCI、USB 等)送到板载 FIFO,
当板载 FIFO 被填充以后开始向外输出波形。这种方式防止了由于采集卡总线传
输延迟所带来的波形输出延迟,因为数据从板载 FIFO 到实际输出的时间丌受计
算机控制,几乎可以忽略丌计。
我们再来看这个波形发生器的例程,如果程序开始时向外输出一个正弦波,
在任务迚行中我们将其改成输出方波,实际相当于在内存的缓冲区(Buffer)中
加载了方波的波形。但是此时数采卡向外发的仍然是板载 FIFO 中的波形数据,
而内存缓冲区的数据会按照先迚先出的方式填充迚入板载 FIFO,所以只有当内
存缓冲区中残留的正弦波数据发完才会发方波数据。这样从改变发送波形到实际
的信号改变会经历一个 Buffer Size + FIFO Size 大小的延迟,这是我们丌愿意
接受的(图 2)。
上海帕西诺测控技术有限公司
地址: 上海市徐汇区宜山路 889 号齐来工业城齐来大厦 13 楼邮编: 200233
电话:021-54012121 传真:021-54012321 E-mail:daq@
daq.

图 2 改变波形输出的延迟
要改变这种情冴还是需要通过设置属性节点来完成,这里又涉及到 2 个属性
节点的配合使用。
在 DA