基于LabVIEW访问Access数据库的设计与应用
2016-05-03合肥工业大学仪器科学与光电工程学院张宏伟
合肥工业大学仪器科学与光电工程学院 张宏伟 黄 炜
基于LabVIEW访问Access数据库的设计与应用
合肥工业大学仪器科学与光电工程学院张宏伟黄炜
【摘要】在利用LabVIEW平台开发测试测量系统中,不可避免会遇到对数据库访问的需求。在此结合瓣阀气密性检测系统的功能需要,利用LabVIEW附加工具包中的数据库接口工具包Database Connectivity Toolkit对Access数据库进行访问,实现了对大量数据的存储、统计、添加以及按要求的查询与删除等功能。并设计了人机交互界面,可以实现对测量数据的管理工作。
【关键词】LabVIEW;气密性检测;Access数据库
1 引言
LabVIEW是一种功能强大的图形化编程语言,与传统的文本编程工具相比,LabVIEW具有简单易学,开发效率高等优点,因而受到各界的广泛应用[1]。在利用LabVIEW开发测控系统时,往往会遇到对大量数据的存储与管理问题,面对大量的数据信息,数据库技术的优势凸显而出[2],如可将测量结果入库以便测试后查询,这样能够有效地管理和组织数据,是现代测试测量系统的发展趋势[3]。数据库技术不仅给数据的管理带来了便利,而且也解决了大量数据的存储占用存储空间的问题。但是LabVIEW本身并不具备数据库访问的功能,因此本文旨在结合对瓣阀气密性检测系统的开发中,探索Access 数据库文件和数据存储的方法。
2 LabVIEW访问数据库的几种方法
LabVIEW可借助下面几种方法访问数据库[4][5]:
1)在LabVIEW中调用由C++等语言编写的动态链接库(DLL)实现对数据库的访问。该方法需要从底层进行复杂编程,工作量较大。
2)利用LabVIEW的ActiveX功能,调用Microsoft ADO控件,通过SQL语言实现数据库访问。该方式需要熟练掌握Microsoft ADO和SQL语言,也需要从底层进行复杂编程。
3)利用Lab VIEW的数据库接口工具包Database Connectivity Toolkit进行数据库访问[6]。该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。
通过以上比较,本文最终选择第三种方法实现对Access数据库的访问。
3 应用实例
利用LabVIEW开发瓣阀气密性检测系统时,不可避免的需要数据库来存储大量的数据信息,方便用户进行存储与管理。对于本系统而言,数据存储与管理的流程为:将采集数据经处理后存储在主界面表格控件中,当用户选择“保存”数据后,测得数据会被保存到名为“测量值数据库”的Access 数据库中,用户可通过“查看历史数据”的操作来查询和管理以往存储在数据库中的数据,图1为数据库管理界面。
图1 数据库管理界面
数据存储与管理的功能有:软件与数据库连接,将测量数据存储到Access数据库中;在Access数据库中随时可查看和调用历史数据;统计测得数据的合格数、试件总数、合格率情况;可以按着用户需求,可选择性删除历史数据。
3.1与数据库建立连接
若要LabVIEW程序运行时能访问Access数据库,还需建立一个数据源。因为本文是针对瓣阀气密性检测系统建立的数据库,所以建立一个名为 “测量值数据库. mdb”的数据库文件。在利用LabVIEW数据库工具包操作数据库之前,需要先建立数据库链接[7]。与数据库的连接方法主要有3种:通过DSN访问ODBC标准数据库;通过UDL访问ADO标准数据库;通过对话框提示访问数据库。本文采用第二种方法进行数据库连接,其连接步骤为:
1)打开LabVIEW,选择“工具”菜单中的“Creat Data Link…”命令,此时会弹出“数据连接属性”对话框。
2)在“提供程序”选项卡中选择 “Microsoft Jet 4.0 OLE DB Provider”都可以连接到Access数据库。
3)单击“下一步”,进入“连接”选项卡,在“选择或输入数据库名称”文本框中通过单击“…”浏览按钮来选择“测量值数据库. mdb” 的数据库文件。然后单击“测试连接”按钮,出现“测试连接成功”对话框。
4)点击“确定”按钮,在弹出的“Save Data Link as”的对话框中将数据连接文件命名为“数据库连接.udl”,并保存在合适位置。
3.2LabVIEW操作数据库
数据库连接完成后,就可以对数据库进行操作了。对数据库的操作主要有创建表格、删除表格、添加数据、查询数据、删除数据等[8]。本文主要实现数据库的添加、统计、查询、删除信息的功能。
3.2.1添加数据
当用户在测量主界面单击“保存”按钮后,测得的数据将会被保存到数据库中,通过在数据库中添加数据来实现。
利用DB Tools Open Connection.VI与数据库创建连接,获取“数据库连接.udl”文件的位置。利用DB Tools Insert Data.VI实现在数据库中添加数据,此VI有三个主要的参数:table连接数据表名,本文数据表名为“流量信息”;data 连接插入到数据库的具体数据,本文的数据来源通过“测量值”子VI获得;column为数据表中对应列的名字,其数据类型是一个字符串数组。添加数据结束后通过使用“DB Tools Close Connection .VI”断开与数据库的连接。图2是在数据库中添加数据的程序框图。
图2 在数据库中添加数据
3.2.2统计、查询及删除数据
在瓣阀批量检测结束后,用户可通过单击主界面的“查询历史数据”按钮来查看和管理测得数据,此时会弹出如图1所示的“历史数据”界面,图1中实现了对数据库的统计、查询及删除的功能。这几个功能可通过 “生产者与消费者”模式来编程实现:
1)创建Data队列,设置数据类型为字符串。
2)当发生“鼠标进入窗格”事件或点击“全部删除”、“按合格产品删除”、“按不合格产品删除”按钮时,在生产者循环中,对应的字符串会进入“元素入队列”函数,在消费者循环中,“元素出队列”函数接受指令,进入相应的条件结构进行事件处理。
3)当点击“返回”按钮后,“释放队列”函数将会执行停止循环操作。
(1)统计、查询数据。
数据库统计、按条件查询的实现如图3所示,此处同样需要首先建立链接,利用DB Tools Select Data.VI来读取指定数据表中的所有数据,因从DB Tools Select Data.VI读出来的数据是动态数据类型,需要通过Database Variant To Data.VI 把动态数据类型转换成正确的数据类型,这样指定数据表中的全部数据就可以读出并以正确的显示了。
图3 统计、查询程序框图
(2)删除数据。
在数据库管理过程中,有时会因剔除不合格产品或排查合格产品,将测得数据的合格或不合格部分删除,此时可以使用DB Tools Delete Data. VI,并结合使用数据库高级操作,即在LabVIEW中执行SQL语言来实现数据删除功能,删除一条记录的语法为:WHERE column_name = some_value。
当删除不合格的产品数据时,其程序框图如图4所示。若要删除合格产品数据或清空数据,可将“ WHERE 合格情况= ‘不合格’ ”改为“ WHERE 合格情况= ‘合格’ ”或“ WHERE 1=1”。
图4 删除不合格产品数据
4 结束语
综上所述,在瓣阀气密性检测系统的研究中,完成了利用LabVIEW中Database Connectivity Toolkit工具包完成了对Access数据库的连接与操作,可为瓣阀气密性检测系统在批量测量时的大量数据提供足够的存储空间,并能进行数据的管理工作,为用户提供了方便。
参考文献
[1]郑对元.精通LabVIEW虚拟仪器程序设计[M].清华大学出版社,2012.
[2]赵桂明,赵质良.在LabVIEW中灵活访问数据库[J].电子测试,2008(9):49-52.
[3]高阳,王坚强.数据库技术与应用[M].北京:电子工业出版社,2003.
张宏伟(1989—),女,内蒙古赤峰人,合肥工业大学仪器科学与光电工程学院在读硕士研究生,研究方向:精密测试技术及仪器。
作者简介: