输入任务

如采样模式为有限采样(定时函数/VI上的采样模式设置为有限采样),NI-DAQmx将划分出一块缓冲区,大小与每通道采样数属性相等。例如,指定每通道采样数为1000,应用程序使用两条通道,则缓冲区大小为2000个采样的大小。因此,缓冲区的大小足够存放要采集的所有样本。如采样模式为连续采样(定时函数/VI上的采样模式设置为连续采样),NI-DAQmx将划分出一块缓冲区,大小与每通道采样数属性相等,除非缓冲区大小的值比小表所列的值更小。如每通道采样数属性的值小于下表所列的值,NI-DAQmx将使用下表中的值。

采样率 缓冲区大小
未指定速率 10 kS
0-100 S/s 1 kS
101-10,000 S/s 10 kS
10,001-1,000,000 S/s 100 kS
>1,000,000 S/s 1 MS
备注 因为性能原因,连续采集的默认缓冲区大小与启用数据记录时所需缓冲区的大小可能有细微差别。

通过调用输入缓冲配置函数/VI可重写默认缓冲区大小。

当定时函数/VI的采样模式设置为硬件定时单点采集时,NI-DAQmx不会创建缓冲区。

备注 缓冲区过大在内存和硬盘之间产生过量的读写操作会对系统性能造成影响。降低缓冲区的大小或增大系统的内存都是解决上述问题的方法。

输出任务

开始一次新的生成之前需要执行写入操作的数据决定缓冲区的大小。第一次调用“写入”函数/VI的“多采样”实例时会创建一个缓冲区并确定其大小。

也可使用输出缓冲区函数/VI创建一个输出缓冲区。必须在写入数据之前使用该VI。

定时函数/VI的每通道采样数不决定输出缓冲区的大小。反之,它是要生成的采样的总和。如缓冲区大小是n,将每通道采样数设置为3×n,将缓冲区的数据设置为正好3倍。如要生成整一倍的数据,将每通道采样数设置为n

当定时函数/VI的采样模式设置为硬件定时单点采集时,NI-DAQmx不会创建缓冲区。