在简略的采样中,咱们常用的是单点扫描读取数据,便是说彻底依据程序的结构(如while循环的推迟时刻)来决议采样的距离。
这时咱们最简略的程序如下图:
这样咱们就能每隔while的推迟时刻来进行采样。
可是有的时分咱们想进行多点的采样,便是说每次采样获取N个的数据。而用上面的程序的其他多态VI子程序,尽管可以规矩采样的数量,可是无法规矩程序的采样频率。程序总是在最快的时刻内采够所需的数据并显现出来。
在这种情况下咱们就要用到这个函数。DAQmx Timing。即
在这里设置采样的个数和采样速率。
相应的信号收集的程序如下图:
咱们在Timing中规矩了采样的形式——有限采样,采样的个数——10个,采样的频率——一秒钟1个。这样的设置下,程序的履行规矩便是,履行到read函数的时分等候,等候采样完毕后将数据发送到波形图表中,便是说,程序在read的时分等候很多的时刻,而不是一会儿完结的,这就解说了为什么图标中的新增数据是个一段时刻才呈现一次的。彻底可以讲的通了。
现在,咱们再测验一次将采样形式换为接连采样的形式。
设置为接连采样的时分,本来的设置采样数量接口(10)将表明缓存区的巨细。
如果是这样的话,循环就接连履行,并不像有限采样那样,比及采够了所需的点数再进行读取显现,而是不停地读取显现。这便是与有限采样的不同。因而需要在while循环中,添加延时函数,在推迟完毕时读取缓存区内的数据。
这样所读取的采样点数为推迟时刻内所采到的数据。若推迟时刻过大,那么缓冲区存满之后,缓存区将从头改写,那样在读取数据的时分将会损失掉一部分数据。