LabSQL在智舌数据库设计方面的应用
1 引言
随着虚拟仪器技术的广泛应用,基于LabVIEW开发各种现代测试系统时,如何管理和分析测试数据是设计者所关注的热点。一般在实际测量过程中,由于采集得到的数据量非常巨大,不可能将所有的数据存储并进行处理,除此之外,还要记录系统的各项测试参数。这就不仅要求数据冗余少,而且能够实现自动存储和管理功能。数据库恰好满足了目前的数据存储需求,而研究基于LabVIEW开发平台访问数据库技术,正是现代测试系统设计所必需的。
2 基于LabVIEW开发环境访问数据库技术
鉴于LabVIEW开发环境不能直接对数据库操作,主要是通过以下四种方式间接对其进行访问[1-3]:
(1) 利用其他语言编写DLL程序访问数据库
动态链接库(DLL)是一种可被应用程序共享的程序模块,具有良好的移植性和兼容性,而且利用LabVIEW中的CLF节点可以方便、快速地通过DLL访问数据库,但是采用其他语言编写数据库访问程序,本身就非常复杂,开发时间比较长。
(2) 利用Microsoft ADO技术访问数据库
LabVIEW本身具有ActiveX功能,调用Microsoft ADO控件,并使用SQL语言可以实现数据库操作,该方法具有灵活、高效等特点,不过用户需对Microsoft ADO控件以及SQL语言有较深的了解,而且需要复杂的程序设计才能实现。
(3) 利用LabVIEW 的Database Connectivity
工具包进行数据库操作 该方法虽然简单可靠,但缺乏灵活性同时需要额外购买工具包。
(4) 利用免费工具包LabSQL进行数据库访问
LabSQL是一个免费的、源代码完全公开的LabVIEW数据库访问工具包。利用LabSQL库中集成的模块VI,不仅避免了前三种方式中存在的问题,而且简单易用,能够快速实现数据库的访问。
综上所述,由于LabSQL已将复杂的底层ADO及SQL操作一起封装成一系列的模块VI,而且可以支持Windows操作系统中任何基于OBDC的数据库,同时对于那些不熟悉SQL语言的用户也可以很容易地使用。鉴于此,本文采用LabSQL对智舌测试样品数据库进行访问。
3 智舌及其测试样品数据库参数设置
本课题组研制的伏安型电子舌--智舌,主要是通过外部激励信号激发特定电化学传感器阵列,驱动样品溶液发生电化学反应,使其产生响应信号,经数据采集卡采集并存储至样品数据库当中,以便结合多元统计方法进行离线分析。智舌使用的外部激励信号是由不同频率的序列脉冲构成如图1a所示,系统采集得到的响应信号共有28000个数据组成,不宜直接进行处理,需要提取响应信号中不同频率段内的极值和拐点作为特征值,如图1b所示[4,5]。最终经处理得到40个特征值,有效地压缩了数据量,简化数据处理难度。
图1 智舌的外部激励信号及其响应信号特征值提取
在应用LabSQL对测试样品数据库进行访问之前,首先需要建立一个标准样品数据库模型并创建一张表,在这里采用Access 2003数据库进行操作。测试参数表中除了设计40个特征值字段外,还包括其他系统设置参数,比如测试时间、文件名、测试样品、灵敏度、测试频段等,以下是对表中的部分字段设置情况,具体见图2所示。
图2 测试参数表中部分字段设置情况
4 基于LabSQL连接智舌测试样品数据库及其应用
4.1 基于LabSQL实现数据库连接
由于已经存在标准样品数据库模型,利用LabSQL访问数据库的基本流程是连接数据库、执行操作、断开数据库连接,其基本程序框图见图3所示。要完成将处理过的数据和系统参数记录至样品数据库模型中,主要通过对LabSQL进行配置和SQL添加记录命令来实现,其实就是对图3中ADO Connection Open与SQL Exeucte两个VI进行操作。
图3 访问数据库的基本流程
在LabSQL配置方面,本实例采用无ODBC DSN连接方式对其进行设置。其具体操作过程就是向"ConnectionString"中写入命令字符串:"Driver={ };Dbq=;Uid=;Pwd=",Microsoft Access Driver (*.mdb)"。其中"Driver"是指定数据库驱动程序;"Dbq"是指定要访问的数据库路径;"Uid"和"Pwd"是指定要访问数据库时所需的用户名和密码。由于我们采用Access 2003作为操作数据库,其数据库驱动程序应设置为"Microsoft Access Driver (*.mdb)";而由于访问的数据库路径是不固定的,因此赋以一个路径变量来灵活调用;访问数据库的用户名和密码这里不设置,所以可以缺省"Uid"和"Pwd"两项,具体程序框图见图4所示。与ODBC DSN连接方式相比,采用上述方式可以在程序中灵活设定数据源以及其驱动程序而无须在控制面板中手动设置,因此这种方式更适宜程序的移植和使用。
在记录添加方面,主要利用SQL Exeucte VI的Command Text输入命令,在这里使用SQL 插入
- 基于LabVIEW RT的自定义流程测控系统(10-30)
- 基于LabVIEW的语音分析平台的实现(10-30)
- 基于示波器卡和LabVIEW的马达编码器测试系统(11-06)
- 基于虚拟仪器的网络虚拟实验室构建(11-06)
- 运用LabView控制DS3900串口通信模块(02-02)
- 采用模块化仪器,对新兴音频和视频应用进行测试(02-19)