您的位置 首页 产品

根据 LabVIEW 的油滴电量测验体系的数据库拜访

0引言随着测试技术与计算机技术日益紧密的结合,测试测量领域得到了空前的发展。尤其是基于LabVIEW的新一代虚拟仪器测试系统,充…

  0 导言

  跟着测验技能与计算机技能日益严密的结合,测验丈量范畴得到了空前的开展。尤其是依据LabVIEW的新一代虚拟仪器测验体系,充分运用了计算机数据处理速度快、操控能力强等长处,使测验体系在数据收集、传送、处理、显现及存储等方面突破了以往单一的仪器仪表的约束。LabVIEW 是一个划时代的图形化编程体系,供给一种全新的程序规划办法,它对被称为“虚拟仪器”的软件目标进行图形化的组合操作,其强壮的数据剖析功用可在数据收集、测验剖析中起到至关重要的效果,这就涉及到对许多数据的存储、查询、调用等功用。

  而许多数据的办理又需求经过数据库来完结,可是Lab-VIEW 自身并不具有数据库拜访功用,因而需求其他辅佐的办法来完结。本文以油滴电量测验体系的数据库为例,运用NI的LabVIEW Database Connectivity Toolkit进行编程,完结了对数据库的拜访,完结了数据存储、查询、更新、修正、删去等各项功用。

  1 LabVIEW拜访数据库的多种完结办法

  数据库拜访办法有多种,第一种是运用Visual C++等多种言语编写DLL程序拜访数据库,但这种办法需求从底层经过杂乱的编程才干完结,开发难度大,本文不考虑这一办法;第二种办法是依据第三方软件经过编程来完结LabVIEW 对数据库的拜访。比方,LabSQL东西包便是第三方开发的专门针对LabVIEW的一个开源附加东西包,对根本的数据库操作功用进行二次封装,能够完结一般的数据库操作,但兼容性相对较差;第三种是运用NI 的附加数据库接口东西包LabVIEW SQLToolkit进行编程来完结对数据库的拜访。该东西包集成的模块中包含了大多数数据库操作和拜访的功用,易于了解和编程。

  LabVIEW SQL Toolkit 又称为LabVIEW DatabaseConnectivity Toolkit,是专门用于数据库拜访的附加东西包,它涵盖了数据库操作的一切功用,集成了一系列功用模块,这些模块封装了数据库的大多数操作和一些高档的数据库拜访功用。其首要的功用包含:

  (1)支撑ADO所支撑的一切数据库引擎;

  (2)支撑一切与ODBC 或OLE DB 兼容的数据库驱动程序;

  (3)与SQL兼容;

  (4)能够将数据库中Column Values 的数据类型转换为规范LabVIEW Database Connectivity Toolset 的数据类型,进一步增强了它的可移植性。

  依据LabVIEW SQL Toolkit 的丰厚功用及许多长处,本文挑选运用LabVIEW SQL Toolkit 来完结对数据库的操作。

  2 运用实例

  本文以油滴电量测验体系作为依据LabVIEW的数据库拜访的运用实例。油滴电量测验体系分为上位机和下位机2 部分,别离承当总控渠道和测验终端的效果,整体结构见图1.该体系具有参数收集、存储和数据剖析等功用。下位机选用的是油滴仪、计时器、喷雾器等仪器进行丈量,测验数据经过无线通信模块将数据传送到上位机,上位机是选用LabVIEW 2010图形化编程渠道规划,将下位机传送来的数据存储到数据库,经过数据库进行拜访,完结对数据的剖析与办理。

  

  依据LabVIEW 的总控台由3部分组成:指令发送、整体进展显现、某一测验终端的详细数据显现。与第二和第三项功用相适应,需求对各个测验终端的数据进行数据库办理。

  软件规划中,运用LabVIEW SQL Toolkit 对Micro-soft Access 数据库进行增加、修正、更新、删去、查询和剖析,完结测验体系的数据办理功用。体系整体流程为:下位机收集数据并存储在FLASH中,待上位机发送“数据接纳”指令,下位机将顺次把数据传送到上位机,上位机将数据存储在名为“测验数据库”的Microsoft Ac-cess 的数据库中,操作人员经过“历史数据查询”或“图画显现历史数据”功用模块,查询或剖析某一颗油滴的测验数据。而操作人员在进入此体系前需求注册或登录操作,在这儿的登录体系中相同需求数据的存储、匹配操作,需求对数据库进行拜访。图2为体系数据显现的程序前面板。

  

  软件详细功用包含:一是将操作员编号、测验仪地址、测验电压、油滴运动时刻等根本数据增加到Micro-soft Access数据库;二是对Microsoft Access 数据库进行查询、修正、更新、删去过错的数据,并对数据进行剖析。

  2.1 树立数据源

  LabVIEW 数据库东西包只能操作数据库,不能创立数据库,所以有必要凭借第三方数据库办理体系,本文选用Access来创立数据库。由于文中的数据库典范是油滴电量测验实时监控体系(简称油滴电量测验体系),所以树立一个名为“测验数据库。 mdb”的数据库文件。

  然后是树立于数据库的链接。在运用LabVIEW 数据库东西包操作数据库之前,需求先树立数据库链接。

  链接数据库的办法有2 种:运用ODBC(OpenDatabaseConnectivity)技能链接数据库和运用Active 数据目标ADO(ActiveX Data Objects)技能链接数据库。

  运用ODBC API 函数时,需求创立数据源名DSN(Data Source Names)才干链接到实践数据库。因而需求考虑移植问题,当代码发布到其他机器上时,要手动为其从头树立一个DSN.此外,Microsoft规划的ODBC规范只能拜访联系型数据库,关于非联系型数据库则力不从心。而ADO 是Microsoft 提出的运用程序接口(API),用以拜访联系型或非联系型数据库中的数据。

  ADO运用通用数据链接UDL(Universal DataLink)来取得数据库信息,即完结数据库的链接[6].

  本文运用的是运用动态数据目标ADO(ActiveXData Objects)技能链接数据库。在“测验数据库。mdb”

  地点的文件夹下点击鼠标右键→新建→Microsoft DataLink,并命名为“测验数据库链接。udl”.或许经过另一种办法来树立。udl文件,在测验数据库。mdb地点的文件夹下点击鼠标右键→新建→文本文档,并命名为“测验数据库链接。txt”,再将其后缀改为“.udl”即可。双击“测验数据库链接。udl”,翻开数据链接特点对话框,在供给程序选项卡中挑选Microsoft Jet 4.0 OLE DB Provide.

  在接下来的链接选项卡中,挑选现已树立好的数据库文件,然后单击“测验链接(T)”按钮,就会链接成功。

  2.2 数据库操作

  链接上数据库之后,就能够对数据库进行操作了。

  对数据库的操作首要有创立表格、删去表格、增加记载、查询记载等。本文首要介绍增加记载、删去记载、查询记载和更新数据库数据信息。

  2.2.1 增加记载

  在运用本体系时,第一次运用的操作员需求注册,操作员的注册信息需求写入数据库以数据表的方式保存下来,以便操作员今后运用体系就能够直接登录,下面阐明怎么向数据库中写入数据。

  与数据库以及记载集目标树立链接,获取“测验数据库链接。udl”文件的方位,运用DB Tools Open Connec-tion.vi创立链接。

  挑选写入数据的数据表“ 用户信息表”,运用DBTools Insert Data.vi获取数据表的列姓名。

  由DB Tools Insert Data.vi来完结增加记载,它有三个首要的参数:table(数据表名)告知DB Tools InsertData.vi 向数据库里的哪个表格刺进数据;data 告知DBTools Insert Data.vi刺进什么数据;column对应刺进列的姓名,其数据类型是一个字符串数组,并且它的数据来源于DB Tools Insert Data.vi取得并输出的数据。然后断开与数据库的链接。

  图3是增加记载的程序框图

  

  2.2.2 删去记载

  在测验进程中存在着许多不确定性要素会导致测验成果呈现误差,这就需求将不合格的测验数据删去,将符合要求的测验数据保存起来。

  关于删去测验数据记载的操作,能够运用数据库高档操作,在LabVIEW 中履行SQL 言语来完结数据删去功用。删去一条记载的语法为:

  DELETE FROM table_name

  WHERE column_name = some_value

  图4完结了删去一条记载的操作。

  

  2.2.3 查询数据

  试验操作人员需求经过下位机将取得的测验数据发送到PC 机的LabVIEW 测验体系中并经过LabVIEW保存到数据库中,以便今后检查数据和数据的存档。在本测验体系中,每个操作员的数据分为5组且每一组数据存放在一个数据表中,这样要取得某一个操作员的试验数据就需求从5个数据表中一次查询到该操作员的数据,再在LabVIEW前面板上显现查询成果。

  此处相同需求首要树立链接,即运用DB Tools In-sert Data.vi获取数据表的列名,并运用DB ToolsSelectData.vi 来读取指定数据表中的一切数据。由于从DBTools Select Data.vi 读出来的数据是动态数据类型,需求经过Database Variant To Data.vi 函数把动态数据类型转换成正确的数据类型。

  经过以上进程,现已完结将指定数据表中的数据悉数数据读出并以正确的数据类型进行显现。

  在完结某一特定操作员的测验数据查询作业时,本文选用双for循环嵌套,外部for循环的循环次数为5,再由内部for循环顺次查询“测验数据1…5”表中的数据,依据外部索引输出数组的操作员编号列信息与前面板输入的信息匹配,再运用指定操作员编号的索引值查找数据表中对应的记载信息,并刺进到最终的“指定操作员数据”数组中。

  图5为完好的查询数据程序框图。

  图6 为直接从数据库中读取到的未经过处理的数据显现。

  图7为经过对数组数据进行改换、处理得到的通常情况下数据记载表格方式。

  

  

  

  2.2.4 数据更新

  以上进程已完结了数据的写入,但关于某些需求实时同步修正的数据,需求考虑数据更新问题。由于数据库要记载用户最终一次登录体系的时刻,所以当用户每次登录体系,体系都要将其在数据库中的时刻信息更改为当时时刻。

  这儿相同运用的是数据库高档操作,在LabVIEW中履行SQL 言语来完结数据更新功用。SQL 中更新一条记载的句子是“update”,其语法为:

  UPDATE table_name

  SET column_name=new_value

  WHERE column_name=some_value

  图8为更新时刻的框图程序。

  

  3 结语

  经过结合油滴电量测验体系的Access数据库操作,本文完结了在LabVIEW 渠道下,运用Database Connec-tivity Toolkits 东西对Access 数据库进行实时操作,完结了数据的写入、删去、更新等实用功用,为相似的数据库开发供给了可予学习的办法。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/219481.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部