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连接方式相比,采用上述方式可以在程序中灵活设定数据源以及其驱动程序而无须在控制面板中手动设置,因此这种方式更适宜程序的移植和使用。
图4 LabSQL 的配置程序框图
在记录添加方面,主要利用SQL Exeucte VI的Command Text输入命令,在这里使用SQL 插入语句就可以实现逐次向表中的字段添加数据,其基本命令语法为:“ INSERT INTO 表名 VALUES( )”,其程序实现框图见图5所示。
图5 数据记录添加程序框图
基于LabSQL实现了测试样品数据库的无缝连接与数据添加功能,为了使整个程序紧凑明了,易于调用,已经做成子VI——数据库操作VI ,具体实现框图和结果见图6所示。
图6 智舌测试样品数据库的实现
4.2 应用实例
基于LabSQL工具包实现了智舌测试样品数据库的建立与数据记录,并结合本课题组编制的多元统计分析软件——主成分分析,对市售的红茶饮料系列进行采集与处理,取得了良好的区分效果,见图7所示。
图7 六种不同品牌红茶饮料在不同电极不同频率段的主成分区分图
(A) 5号电极在10Hz; (B,C) 1号电极在10Hz、100Hz; (D) 2号电极在1Hz
5 结论
随着现代测试系统结构日益复杂化,数据采集与处理日趋网络化,这对测量数据的快速分析和有效管理提出了更高的要求。而引入数据库能够为现代检测系统的数据存储与处理提供了极大的便利:利用专业数据库不仅能高效获取数据并进行管理,极大节省了数据的存储空间,而且能够随时让其他数据处理工具调用并进行分析,实现了数据资源的充分共享。本文基于LabVIEW开发平台和LabSQL工具包完成了对智舌测试样品数据库的连接和数据录入,整个实现过程具有操作简单、易于理解、开发时间短等优点。经实验证明,本课题组利用自行设计的数据处理软件调用样品数据库进行分析,取得了良好效果。同时基于LabSQL开发的数据库访问程序,具有可扩展性和可移植性等特点,显示了巨大的开发潜力。