新闻中心

EEPW首页 > 测试测量 > 设计应用 > DAQ中各种采样方法的一点想法(最简单的采样方式)

DAQ中各种采样方法的一点想法(最简单的采样方式)

作者:时间:2017-01-09来源:网络收藏
在简单的采样中,我们常用的是单点扫描读取数据,就是说完全根据程序的框架(如while循环的延迟时间)来决定采样的间隔。

这时我们最简单的程序如下图:

本文引用地址:http://www.eepw.com.cn/article/201701/337113.htm

这样我们就能每隔while的延迟时间来进行采样。

但是有的时候我们想进行多点的采样,就是说每次采样获取N个的数据。而用上面的程序的其他多态VI子程序,虽然可以规定采样的数量,但是无法规定程序的采样频率。程序总是在最快的时间内采够所需的数据并显示出来。

在这种情况下我们就要用到这个函数。DAQmx Timing。即

在这里设置采样的个数和采样速率。

相应的信号采集的程序如下图:

我们在Timing中规定了采样的模式——有限采样,采样的个数——10个,采样的频率——一秒钟1个。这样的设置下,程序的执行规则就是,执行到read函数的时候等待,等待采样结束后将数据发送到波形图表中,就是说,程序在read的时候等待大量的时间,而不是一瞬间完成的,这就解释了为什么图标中的新增数据是个一段时间才出现一次的。完全能够讲的通了。

现在,我们再测试一次将采样模式换为连续采样的模式。

设置为连续采样的时候,原来的设置采样数量接口(10)将表示缓存区的大小。

如果是这样的话,循环就连续执行,并不像有限采样那样,等到采够了所需的点数再进行读取显示,而是不停地读取显示。这就是与有限采样的不同。因此需要在while循环中,增加延时函数,在延迟结束时读取缓存区内的数据。

这样所读取的采样点数为延迟时间内所采到的数据。若延迟时间过大,那么缓冲区存满之后,缓存区将重新刷新,那样在读取数据的时候将会损失掉一部分数据。


上一页 1 2 下一页

评论


技术专区

关闭