3 基于LabVIEW 语言实现的PCI-1714采集卡数据采集程序实例
下面介绍用LabVIEW 语言编写的PCI-1714 采集卡数据采集驱动程序。该程序能够实现对传感系统外界信号的数据进行连续采集, 并能根据需要对有用数据进行存储。
从功能上分,该程序主要分为三部分:a)对采集卡进行初始化,完成采集卡重要工作参数的设置,如用户缓存、采样速率(scan rate)、输入限制等。b)进行数据采集和有用数据的存储, 就是将数据先放入采集卡的板载缓存FIFO 中, 再由计算机读取板载缓存中的数据, 写入由计算机的内存中分配出的用户缓存, 然后根据需要将有用数据从内存中存入计算机硬盘。具体存储格式可以为多种,该部分中包括的子VI 有读取数据模块、数据存储模块以及显示所采集信号的时域图形的模块。c)在采集结束后关闭采集卡。
为了使用PCI-1714 进行连续高速的数据采集,需要对采集速率、用户缓存大小等重要参数进行合理设置。如前所述,数据采集卡进行A / D 转换时是连续进行的, 也就是说采集卡往板载缓存中放入数据是连续进行的, 而计算机从板载缓存FIFO 中读取数据放入用户缓存时是在FIFO 半满或全满的状态下批量读取的,同时,如果要进行数据的存储,从用户缓存再向硬盘中写入数据时也是批量进行的。
由于用户缓存的大小受计算机内存空间大小的限制,不可能无限大,在使用过程中,只能尽量设得比较大,一般可以设为内存的十分之一左右。在保持一定的数据采样率并且用户缓存确定的情况下, 如果存储过程中,单批量写入硬盘的数据过少,会出现不能及时将数据从用户缓存中读出, 从而导致用户缓存溢出的错误。而当单批量写入硬盘的数据过多时,又会出现从用户缓存读取数据过快, 可能会读出空数据的错误,所以这几个参数必须互相配合设定才能使采集卡获得良好的采集和数据存储的性能。