通过PCI-6221采集卡直接采集到的是三个通道的数据,为了分别对三个通道的数据进行处理,就需要将三个通道的数据分离开,并分别进行保存。每完成一次完整的采集就将数据保存到数据库,便于历史数据的复查。
由于数据分析导致的延迟将会增大数据采集的周期,因此采用了队列的方式,即数据采集循环不间断的采集数据,并将采集到的数据放在队列中,数据分析循环不间断的处理数据。如果分析数据的周期大于采集周期,那么数据将会缓存在队列中,队列只要没有满就不会丢失数据;如果分析数据的周期小于采集周期,那么在队列为空时,数据分析处于等待状态,也不会导致数据的重复分析;当数据采集循环停止时,若队列中还有数据,则数据分析循环也会将剩余的数据全部分析,这样也不会丢失前面采集的数据[5]。
4.3 数据库模块
由于LabVIEW本身并不具备数据库访问功能,可以利用LabVIEW用户开发的免费LabVIEW数据库访问工具包LabSQL。LabSQL利用Microsoft ADO以及SQL语言来完成数据库的访问。
首先需要在Access中建立一个数据库,然后创建系统数据源名(Systems Data Source Name),在“Windows控制面板-管理工具-数据源(ODBC)”下的数据源管理器可以完成创建,并为数据源选择Microsoft Access Drive(*.mdb)驱动。在弹出的ODBC Microsoft Access Setup对话框中选择已经创建好的Access数据库即可,这样就完成了数据源的建立。在LabVIEW中通过ADO与创建的DSN建立连接来实现对Access数据库的访问了[6]。
本系统的数据库访问主要是实现对以往数据的查询,据此来为大气环境污染治理提供参考数据。如图6所示,数据库中是以日期为表记录当天的数据,表中的每条记录记录的是当下检测的时间以及检测得到的CO和CO2气体浓度值。查询的时候先选择数据库,然后选择要查询的日期即表名。查询的时候既可以选择单项查询也可以选择组合查询。例如可以选择查询2008年10月2日16点到16点30分检测到的机动车尾气中CO和CO2的浓度值,操作字段和操作条件设置以后选择组合查询,就可以得到符合条件的数据。