LabSQL在LabVIEW中访问数据库的应用

LabSQL在LabVIEW中访问数据库的应用

[摘要] LabSQL可以实现LabVIEW与数据库的链接。针对数据存储、查询不便于用户操作的缺点,本文基于液压测试平台介绍了在LabVIEW环境下,利用LabSQL软件包对实验数据进行实时存储、多条件查询的方法。结果证明,操作简单,可行有效。

[关键词] LabVIEW 数据库 LabSQL

[Abstract] LabSQL can realize the link of LabVIEW and database. In allusion to disadvantages of data storage and inquiry , this paper introduced a method of experiment data real time storage and inquiry by using LabSQL software package under the background of LabVIEW based on a hydraulic pressure testing platform. Practice has proved that , this method is briefness、feasible and effective.

[Keywords] LabVIEW database LabSQL

0 引言

LabVIEW是可视化的图形语言,是目前应用最广泛的虚拟仪器开发环境。它面向应用,支持模块化和层次化结构,同时提供了大量的函数库供用户直接调用。在测试测量中,需要对产生的数据进行管理和维护。因此把数据库技术应用在虚拟仪器开发中,不但可以有效管理和组织数据,准确反映各个变量之间的关系,也可以扩展虚拟仪器的功能。LabVIEW并没有提供直接与数据库连接的接口,需要通过其它辅助方法来进行数据库访问。

1 LabVIEW中数据库访问技术

在LabVIEW编程环境下,通常以几种方法来完成与数据库的接口:

①利用NI公司的附加工具包LabVIEW SQL Toolkit进行数据库访问;

②利用其他语言如Visual C++编写DLL程序访问数据库,再利用LabVIEW所带的DLL接口访问该程序,实现间接访问数据库;

③利用LabVIEW的ActiveX功能,调用Microsoft ADO控件,利用SQL语言实现数据库访问。

其中,LabVIEW提供的数据库访问工具包LabSQL,利用Microsoft ADO以及SQL语言来完成数据库访问,将复杂的底层ADO及SQL操作封装成一系列子VI,简单易用。通过LabSQL,用户可以直接在LabVIEW中以调用子VI的方式轻松实现对数据库的访问。在建立好数据源的情况下,可以直接实现数据表的建立、修改等操作。

2LabSQL及其VIs简介

LabSQL支持Windows操作系统中任何基于ODBC的数据库。ODBC(Open Database Connectivity,开放数据互连)是数据库与应用程序之间的一个公共接口,LabVIEW通过访问ODBC而不是直接访问具体数据库来与数据库通信。

LabSQL VIs按照ADO对象分为3类:Command VIs、Connection VIs、Recordset VIs。

Command VIs的功能是完成一系列的基本ADO操作,例如创建或删除一个Command、对数据库中的某一个参数进行读或写等。

Connection VIs用于管理LabVIEW与数据库之间的连接。

Recordset VIs用于对数据库中的记录进行各种操作,例如创建或删除一条记录,对记录中的某一条目进行读或写等。

最顶层提供了3个VI,其中最常用的就是SQL Execute.vi。它将底层的一些VI封装起来提供了一个最简单的接口,即直接执行SQL语句。通过SQL语句可以实现任何数据库操作。

关于LabSQL在数据库中实现数据存储、修改、删除、添加的文章介绍中,操作大多以用户直接输入SQL语句,由LabSQL执行命令为主。不能实现多次实验数据存储,不便于用户在多数据表间进行选择,不符合实际应用。针对操作界面不完善、命令更改复杂的缺点。下面以液压测试程序为例,详细介绍一种LabSQL在数据库访问中,面向用户的、操作简便的程序设计。

3 使用LabSQL实现数据库访问

3.1 LabSQL实现数据存储

测试实验次数多、数据量大,要求对测试数据实时存储;同时,为方便单次实验准确查询;比较不同数据间的变化关系,首先根据实验时间,为每次实验建立数据表:

第一步,利用ADO Connection Create.vi创建与数据库的连接,数据库由字符串“DSN=DSN_MT”指定。

第二步,通过ADO Connection Open.vi打开数据源,并执行SQL Execute命令。数据源由变量Connection String指定。在此基础上,利用“Create Table”SQL语句根据当前实验时间在数据库中创建数据表,设置数据表项,如电压、温度、频率、转速、流量等。

第三步,断开与数据库的连接。程序框图如图1所示。

在此基础上,利用“Insert Into”语句,可将实验所得的电压、温度、转速、流量、压力值实时存储在所建立的数据表内。方法同上,程序框图如图2所示。

3.2 LabSQL实现数据查询

3.2.1 查询程序流程

为方便操作者进行数据表调用和数据查询,应在前台操作面板中尽量体现实验信息,方便用户选择,简化操作过程。

第一步,在数据库中建立数据表“Catalogue” 作为实验数据目录,用于存储生成数据表的名称、采样频率以及对本次实验的备注等实验信息。程序如图3所示。

第二步,点击“列表信息”,显示“Catalogue”中存储的上述信息。由此,用户可进行选择,并在“选表序列号”中输入需要查询的数据表序号。操作界面如图4所示。

第三步,选择检索方式,为“查询所有值”或“按时间查询”;数据类型为“温度”、“转速”等单个数值显示,或“转速—流量”等两个数值,从而可通过数值曲线显示二者的变化关系。

第四步,点击“开始查询”。数值窗口显示相应数据,并在图形窗口以波形图形式表示。同时,利用LabView的统计函数“Statistics”可对实验数据进行数据分析,计算其方差、均方根等。

3.2.2 查询程序实现

确定所要查询的数据表后,综合选定条件对数据进行查询,并以图形显示。

第一步,与数据库建立连接,方法同上。根据输入的数据表名,选中表中所有值。

第二步,根据前面板选择的查询方式,组合条件,合成“SELECT”语句。

第三步,分别将结果输出至数据表和波形图。波形图横轴以时间表示。程序如图五所示。

3.3 操作界面设计

操作面板,尽量使用户操作简单、方便。左侧为数据表选择区,用来确认要查询的数据表;右侧为查询方式和查询数据选择区,确定要显示的数据类型。查询结果以数据表和波形图两种方式显示,波形图可以显示单个数据,也可以显示两个数据的变化关系,方便实验结果对比。左下侧显示用统计模块计算出的变量各统计

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4