1
LabVIEW中用ActiveX访问数据库
2008-11-13 16:51:13 admin 浏览:1596次 【

引言
    LabVIEW 是面向仪器与测控过程的图形化软件开发平台,全称是Laboratory Virtual Instrument Engineering Workbench——实验室虚拟仪器工程平台。其突出特点是基于图形化编程语言G的虚拟仪器开发环境,为仪器设计人员提供了一种全新的编程方法,即使用直观的前面板与流程图相结合的编程方法来构建虚拟仪器。LabVIEW在自动化、通信、航空、半导体电路设计和生产、过程控制及生物医学等在内的全世界各种工业领域中都发挥了积极的作用。基于LabVIEW的众多优势,在设计一个“旋转机械故障诊断系统”时,我们选择其作为主要编程工具。
    在该诊断系统中提供了一个设备资料数据库,包括“设备名称”、“设备参数”、“故障特征频率”、“维护人员”等,为故障诊断提供相关信息。该数据库我们采用Microsoft Office中的ACCESS来搭建。ACCESS适合开发中小型管理信息系统。对于数据库最终用户,ACCESS提供了许多便捷的可视化操作工具(如表生成器、查询设计器、窗体设计器、报表设计器等)和向导(如表向导、窗体向导、查询向导、报表向导等)。数据库最终用户利用这些工具和向导不用编程即可构造简单实用的管理信息系统。
    作为一个强大的软件设计工具,LabVIEW 拥有很多的专业设计功能(如:应用程序生成器、数据库连接工具、Microsoft Office报告生成工具、Internet工具等),而这些都以附加工具包的形式向用户发布,这些附加工具包的价格都比较昂贵,从而提高了使用者的设计成本。为了在不提高设计成本的前提下实现对ACCESS数据库的访问,我们充分利用LabVIEW提供的ActiveX控件设计了数据库访问程序。
    
ActiveX技术定义及在LabVIEW中的应用
    ActiveX是指为达到某种处理需要,允许用户对单独程序重复使用代码并将其链接整合的一系列微软技术。它是基于COM(组件对象模型)技术,是对先前称为OLE(对象链接和嵌入)技术的扩展。
    LabVIEW 自4.1版本就引入了支持ActiveX 自动控制的功能模块,在5.1版本之后支持客户和服务器双方,即虽然程序是在双方各自独立存在,但它们的信息是共享的。这种信息共享是通过客户端使用由服务器端发布的ActiveX控件来实现的。LabVIEW在其应用编程接口中提供了为客户端和服务器之间链接的功能模块,图1展示的是LabVIEW中使用ActiveX控件的程序流程。
 
图1  LabVIEW中ActiveX控件的程序流程图
    从图中可以看到程序设计主要包括了三个步骤:

  1. 打开自动调用参数:指定所要调用数据库的类型(即调用方法),为数据库调用作好准备;
  2. 设置(获得)参数属性和调用方法:通过使用属性和方法来访问数据库,“方法”通常包括打开数据库、数据记录查询等,“属性”包括数据库的名称、记录数据的类型等。
  3. 关闭自动调用参数:结束数据库调用。其中关键的是第二步,只有充分的利用“属性”和“方法”的设置才能成功地实现对数据库的访问。

数据库访问实例
     为了便于说明,本文给出实例如下:
     该例子是利用LabVIEW 的ActiveX来访问一个用ACCESS搭建的“轴承故障参数.mdb”数据库。数据库中含有一个表:轴承故障参数。该表中包括有“轴承型号”、“内圈特征频率”、“外圈特征频率”、“滚动体特征频率”4个字段。程序完成后的效果是通过在前面板选择“轴承型号”来获得其它相应的参数,从而为设备故障诊断提供依据。LabVIEW设计的程序框图如图2所示。
 
图2  LabVIEW数据库访问程序框图
程序设计按照前述的三个步骤:
(1)打开自动调用参数
    在使用“Automation Open”时,首先应为其指定“Automation Refnum”(自动链接参量)。在控制模块中选择ActiveX/Automation Refnum,添加之后点击鼠标右键选择“Select ActiveX Class/Browse……”,此时会打开一个对话框,从中选择“Microsoft Access 9.0 Object Library Version 9.0”,在“Objects”中选择“Application”。最后在框图程序中完成连线,这样就实现了链接类型的指定。

(2)设置(获得)参数属性和调用方法
    第二步首先要打开指定的数据库。在功能模块中选择“Communication/ActiveX/Invoke Node”添加一个方法控件。将“Automation Open”的“Automation Refnum”引脚和“Invoke Node”的“reference”引脚相连,而后从“Invoke Node”右键下拉菜单“Methods”中选择“OpenCurrentDatabase”。此时只需要指定的是数据库的地址。这里我们预先编辑了一个名为“轴承参数.mdb”的数据库,将该数据库的保存路径连接到“filepath”。
    使用ACCESS 建立的数据库具有多种查询方法,本文采用的是参数查询,即根据用户指定的查询准则来检索相应的记录。查询准则是由 “OpenCurrentDatabase”的“BuildCriteria”方法来建立的,该方法有三个输入参数,分别是:field(字符串表达式,标识要定义准则的字段),fieldtype(固有常量,指示字段的数据类型),expression(字符串表达式,标识要进行语法分析的准则)。这三个参数的输入端如图2所示:field字段为“轴承型号”,fieldtype数据类型为0(文本类型),expression查询准则由“〔轴承型号〕=”和型号代码(由用户在前面板选择)组合而成。
    在建立了查询准则之后,就可以从数据库中检索相应记录。使用“OpenCurrentDatabase” 的“Dlookup”方法,该方法也有三个输入参数,分别是:expr(表达式,用于标识需要返回其值的字段),domain(字符串表达式,代表组成域的记录集,可以是表的名称或查询的名称),criteria (用于限制 DLookup 函数执行的数据范围,即查询准则)。按照图2所示连接。
    在完成查询之后,要将相应的记录输出。使用“Variant To Data”模块可以将数据库中的参数转换为文本文件显示。
    本程序的要求是输出根据“轴承型号”查询得到的“内圈特征频率”、“外圈特征频率”、“滚动体特征频率”三个数据,因而要分别连接。

(3)关闭自动调用参数
     在完成所有的查询和显示后,要关闭自动调用参数。
     步骤是首先关闭打开的数据库,然后关闭自动调用参数。
     完成以上的程序设计后,用户就可以在前面板的“轴承型号”选择要查看的轴承,在“滚动体故障特征参数”、“外滚道故障特征参数”、“内滚道故障特征参数”中得到所要的故障诊断依据。
     要特别指出的是:本文给出的例子是对数据库的记录进行查询,在实际应用中还会用到其它的数据库访问方法,如字段的添加和删除、记录项目的统计、数据的写入和修改等。这些数据库的操作都可以按照本文的查询例子,利用LabVIEW提供的相应功能模块来完成,由于篇幅所限,这里就不再详述。

4.结论
    本文使用虚拟仪器设计语言LabVIEW中ActiveX功能模块来完成了对ACCESS数据库的访问工作,通过使用ActiveX来替代了数据库连接工具包(SQL 5.0),充分发挥了软件的潜在能力,降低了系统的设计成本,在设计中小型虚拟仪器数据库中可得到很好的应用。

1 条评论
查看更多评论
  • 键盘快捷键描述按住Shift并单击选择多个对象;将对象添加到当前选择。按住Ctrl单击切换单个对象以加入或保留当前选择。方向键一次将所选对象移动一个像素。Sh..

    浏览:5213次 评论:0
    2021-02-06 09:23:02
  • Modbus是全球第一个真正用于工业现场的总线协议,采用的是主从原则,其物理接口主要有串口和以太网口两种。本文主要介绍LabIEW与PLC的通信实现方式。在进行通..

    浏览:12304次 评论:0
    2019-09-22 12:58:51
  • 对实时数据或者历史存储数据进行滤波及校准处理,可以将采样数据转化为具有实际意义的物理量,为用户后续操作提供方便。滤波校准功能的程序设计如图1所示,本..

    浏览:4587次 评论:0
    2019-09-21 16:32:59
  • 在进行LabVIEW程序设计时,一个VI中可以包含一个或若干个子vi。这些子vi是被直接放置在程序框图中,习惯上称这些子vi为:静态链接子vi。这些子vi在VI载入的同..

    浏览:11252次 评论:0
    2018-12-17 15:28:30
  • 新建一个LabVIEW项目,或者打开一个已经建好的项目,项目中包含主vi,子vi以及自定义控件等,确保vi运行正常。    在项目浏览器的-程序生成规范->..

    浏览:9023次 评论:0
    2018-07-18 10:55:21
作者专栏
  • NNN

    注册时间:2024-12-23 09:48:46

  • sltang

    注册时间:2024-12-21 15:45:59

  • samhuang63

    注册时间:2024-12-20 09:42:58

  • csq663347

    注册时间:2024-12-05 16:34:39

  • guohuiming

    注册时间:2024-11-14 08:49:44

Copyright@http://nilab.com.cn all rights reserved 备案号:京ICP备12043750号-1
Powered by qibosoft V9.0 Code © 2003-2017 qibosoft
LABVIEW之家 QQ:181237912; email:Labviewzj@qq.com 项目合作 微信及手机:18510627229