当前位置:首页 > 测试测量 > 测试测量
[导读]   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 数据库进行实时操作,实现了数据的写入、删除、更新等实用功能,为类似的数据库开发提供了可予借鉴的方法。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

摘要:利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该...

关键字: DHT11 LabVIEW 单片机

摘要:当前闭环步进电机在自动化设备中的应用越来越广泛,故为了进一步满足闭环步进电机的应用需求,采用LabVIEW上位机+运动控制卡+驱动器模块的控制方案进行了多轴运动系统的设计,通过设计的上位机软件实现闭环步进电机的实时...

关键字: 闭环步进电机 精度测试 LabVIEW

摘要:为满足某扭矩检测试验标准要求,基于LabView设计开发了一款扭矩检测装置,该装置能检测某类零部件的断裂力矩,满足试验标准要求,其他零部件的扭矩也可在该装置上检测。类似的扭矩装置可参考该装置进行设计。

关键字: 伺服电机 LabVIEW PLC

在下述的内容中,小编将会对LabVIEW的相关消息予以报道,如果LabVIEW是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: LabVIEW 测试测量 NI

一直以来,LABVIEW都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来LABVIEW的相关介绍,详细内容请看下文。

关键字: LabVIEW 测试测量 测试仪器

摘 要 :为了实现对患者的远程诊断或监测,设计了相应的硬件模块采集心电、心率、脉搏、血氧饱和度和体温等生理信号,采集到的用户生理参数通过 WiFi 传输至上位机。上位机采用 LabVIEW 实现对用户生理参数的处理与显示...

关键字: 无线传输 生理参数监测 LabVIEW QRS 波形检测 微信小程序 单片机
关闭
关闭