在LabVIEW中利用ActiveX技术访问数据库

发布者:快乐行者最新更新时间:2011-11-05 关键字:LabVIEW  ActiveX技术 手机看文章 扫描二维码
随时随地手机看文章
1 引言
虚拟仪器(VI—Virtual Instrumentation)是指通过应用程序将通用计算机与功能化硬件结合起来,用户可通过友好的图形界面来操作这台计算机,就像在操作自己定义、自己设计的一台单个仪器一样,从而完成对被测试量的采集、分析、判断、显示、数据存储等。
LabVIEW是当前虚拟仪器的主要开发工具之一,它是NI(National Instruments)公司开发的一种高效的图形化编程工具,是一个标准的数据采集和仪器控制软件,它集开发、调试和运行于一体,目前通用的最新版本为LabVIEW7.0。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟测量和控制仪器,其图形化的界面使得编程及使用过程都生动有趣。随着LabVIEW越来越多地用于数据采集及分析、仪器和控制、测试测量及过程监控和控制等领域,对测量数据进行存储、分析是一个关键环节,这其中要涉及到对测量数据的读写操作。现有的Lab- VIEW版本中还没有提供与通用数据库直接接口的方法[1],这一问题可以采用以下几种办法解决:
1)采用其他编程语言编写动态链接库DLL访问数据库,并在LabVIEW中调用此DLL与数据库进行连接;
2)利用中间文件存取数据,先将数据存入文件中,在一定的时刻或者需要时再将数据导入到数据库中。这种方法实现比较简单,但是需要单独的软件对数据文件导入导出;
3)LabVIEW中包含了大量的ActiveX对象,其中包含了ADO(ActiveX Data Obiects)接口的各种对象,可以利用ADO的接口进行数据库的访问;
4)使用NI公司的SQL ToolKit for LabVIEW附加工具包与数据库连接;[2]
第一种方法的工作量较大;第二种方法不能对数据进行实时的存取;第三种方法通用性和灵活性欠佳;而第四种方法该工具包需单独购买且价格昂贵。为了解决上述这些问题,我们采用Premise Development公司的Chris Roth和Jeffrey Travis开发的免费的LabVIEW数据库支持VI—LabSQL来完善整个系统的数据库功能。它将复杂的底层 ADO及SQL操作封装成一系列的LabsQL VIs, LabSQL的优点是易于理解,不熟悉SQL语言的用户也可以很容易地使用,只需进行简单的编程,就可以在LabVIEW中实现数据库访问。利用 LabSQL几乎可以访问任何类型的数据库,简单易用。另外,Microsoft ADO控件具有远程数据库访问的功能,但是LabSQL并没有开发这一部分,要在LabVIEW中实现远程数据库的访问,还需再结合LabVIEW中包含的ADO接口对象进行再开发。
2 访问远程数据库的步骤
一般而言,对远程数据库的操作有以下几步。
1)在服务器上建立网络数据库:
选择一种客户/月艮务器体系结构的数据库软件,分别安装在客户端和服务器端。
2)连接数据库:
应用程序是通过“连接”访问数据源,连接是交换数据所必需的环境。所以,创建“Connection”对象是所有数据库操作的必需的第一步骤。
3)执行SQL指令:
通过已经建立的连接发出的SQL指令可以用某种方式来操作数据源。Microsoft ADO的Com mand对象,Connection对象以及Recordset对象都提供有执行SQL指令的方法,依据具体情况具体选择对象。
4)处理结果:
检索到的数据有需要加以处理的则通过各种需要的算法加以处理。
5)关闭连接:
执行完任务后,必需切断与数据库资源的连接,释放任何属于连接的资源,关闭任何从属对象,因为它使用了服务器的资源,如果不释放的话将导致服务器资源浪费并影响服务器性能[3]。
Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合,是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一,也是目前技术比较领先、应用非常广泛的一个商业数据库产品。所以我们选择Oracle来搭建所需的网络数据库。数据库管理大部分是对数据的查询、插入、修改和删除等操作的综合应用。
在运行LabVIEW程序的应用程序服务器上,假设已经安装了Oracle客户端,并连接数据库服务器上的远程数据库成功,通过Windows控制面板中管理工具里面的“数据源(ODBC)”来创建 ODBC数据源,设置系统DSN(数据源名称)为loginoracle,驱动程序选择Microsoft ODBC for Oracle。设置成功后我们就可以像访问本地数据库一样访问远程数据库了。
3 应用实例
以下,我们就结合一个具体的应用实例说明如何在LabVIEW环境中实现对远程Oracle数据库的访问。
我们建立了一个校园网虚拟实验室,将我校控制系的过程控制实验室的液位过程控制实验搬到了网站上,学生和老师在宿舍就可以远程监视并控制其运行状态,但是实验装置并不是随时打开的,我们需要将它的历史状态保存在数据库中,以便在未打开装置的情况下通过历史数据显示数据采集曲线,因此我们在数据库服务器上建了一个Wave-form表,将液位高度数据和控制器输出电压数据保存在其中,我们就对这个表进行相关的操作。
先简要介绍一下本实验装置的工作原理。
过程控制实验室引进英国FeedBack公司开发的PROCON(PROcess CONtroller)38系列综合实验装置,它是处理过程控制问题一个完整的组合程序。它包括相关的硬件过程控制装置,监视器和接口设备,一个工业标准控制器,并且附带指导手册和软件。在本课题中我们用LabVIEW7.0软件取代PROCON 38系列系统的工业标准控制器,搭建自己的控制平台。我们选用了一块I/V转换芯片RCV420,一块V/I转换芯片XTRll0,一块NI公司出产的PCI-6014E系列数据采集卡和一台微机。
PROCON38系列系统水箱的浮子式液位计采集到的0 - 5V电压液位信号被过程接口(PI)转换为一个4 - 20毫安的电流信号,我们通过一个I/V转换电路将其还原成0—5V的电压信号,用NI公司的PCI - 6014数据采集卡采集进来,进行控制算法的处理后再通过该数据采集卡输出0 - 5V的电压控制信号,接着通过一个V/I转换电路转换成4- 20毫安的电流信号,控制伺服阀的开闭,4毫安时阀门全闭,20毫安时阀门全开,通过控制进水量来控制水箱中的液位。控制算法我们采用的是 PID控制,直接调用仿真工具箱里的PID工具包。具体程序设计如下面程序框图2所示。
访问数据库信息的第一步应该是与数据库建立连接,LabSQL中的Connection VIs就能够实现这个目的,首先利用ADO Connection Create.vi创建一个Connection对象,然后利用ADO Connection Open.vi建立与数据库的连接。但是ADO Connec tion Open.vi只能设置DSN,而网络数据库为了安全起见都设置有用户名和密码,所以要打开远程数据库不能使用LabsQL中的ADO Connection Open.vi,而要用ADO接口对象再开发。具体操作如下:
从控制模板的Application Control子模板中调用Invoke Node结点,在点右键弹出的菜单中选择 Select Class,再在顺次闪出的菜单里选择ActiveX,最后选定其中的ADODB.-Connection,然后选择其方法(Method)为Open,最终在程序框图中显示的图标如图1所示。


这样,通过在ConnectionString中设置DSN,在UserID中设置用户名,在Password中设置密码,就可对一个远程数据库进行象本地数据库一样的数据操作了。
接下来是执行SQL指令:LabSQL中的Con nection VIs里有一个ADO Connection Execute.vi,它可以执行SQL命令,检索数据库以及对数据库进行添加、更新、删除操作,它的CommandText端子传送的就是命令文本,通常是SQL语句,它返回的是一个记录集(Recorderset)对象。
如果需要处理相关数据,可利用sQL Fetch Data(GetString).vi获得查询结果,加以处理并送到前面板中的示波器或者其它仪器或表格加以显示。本例中只介绍数据的存储过程,所以没有涉及此步骤。
最后,用ADO Connection Close.vi关闭与数据库之间的连接。
整个实现数据采集和数据库操作的框图程序如图2所示。


这只是完整程序的一部分,其它部分还包括前面板上其它主要按钮的事件处理程序。这里就不一一列举了。
在前面板中的ConnectionString中输入“DSN=loginoracle”,在UserlD中输入远程数据库的登录用户名,在Password中输入密码,并设为默认值,然后将它们在前面板上隐藏。
设置了各个参数后点击“启动”按钮,程序的运行结果如图3所示。


在程序运行的时候,参数设置和其它无关的按钮都在前面板隐藏起来,停止采样后则将示波器隐藏,然后再将参数设置及复位等其它按钮显示出来。前面板显示如图3之结果的同时,在后台的程序中当前的两组波形数据已经由当前本地的应用程序服务器传递给了数据库服务器。
在装置未打开时,我们可通过访问Waveform数据表,将波形的数据取出,显示其历史工作状态,这样无论实验装置是否打开,学生都能看到如图3所示的装置运行时的波形图。

 

关键字:LabVIEW  ActiveX技术 引用地址:在LabVIEW中利用ActiveX技术访问数据库

上一篇:基于虚拟仪器的柴油发动机测控系统
下一篇:基于虚拟仪器的强噪声滴灌管

推荐阅读最新更新时间:2024-03-30 22:20

LabVIEW软件助力多核FPGA无线商业技术
美国国家仪器有限公司(National Instruments,简称NI)隆重发布了可应用于控制、测试及嵌入式系统开发的图形化系统设计平台的最新版本——LabVIEW 8.6。得益于LabVIEW软件平台天生并行的图形化编程方式,LabVIEW 8.6版本提供了全新工具帮助工程师和科学家们从多核处理器、现场可编程门阵列 (FPGAs) 及无线通信等商业技术中获益。 目前,为了能够使用这些最新技术,工程师们往往不得不使用非专为并行编程设计的软件工具。而最新版的LabVIEW则为他们提供了独立的平台,通过采用多核处理器技术提高测试及控制系统的吞吐量,在基于FPGA的高级控制及嵌入式原型应用中缩短开发时间,更便捷地创建分布式
[测试测量]
<font color='red'>LabVIEW</font>软件助力多核FPGA无线商业<font color='red'>技术</font>
[]LabVIEW应用-Write Table To Excel use ActiveX
利用ActiveX将一个二维数组写入MS Excel 在LabVIEW中写table到MS Excel可以通过'编程' '文件I/O' '写入电子表格文件'工具直接写入或者借助LabVIEW Report Generation Toolkit工具,这里介绍一下利用ActiveX来实现在LabVIEW中将表格写入MS Excel. 创建Convert Cell子VI 创建一个子VI用于将数字转换为MS Excel中标示唯一单元格的字符串.(如要表示第1行27列在MS Excel中以AA1表示) 主程序部分 1. 前面板中放下'自动化引用句柄':
[测试测量]
[]<font color='red'>LabVIEW</font>应用-Write Table To Excel use <font color='red'>ActiveX</font>
基于labview的工控机与变频器间通讯的设计和实现
  1 引言   风力发电机组中的齿轮箱是一个重要的机械部件,而其中轴承性能的好坏对齿轮箱的性能起着至关重要的作用。根据用户要求,齿轮箱轴承出厂前要在模拟实际工况的试验机上进行测试。即齿轮箱轴承需在不同转速、载荷下进行性能试验和寿命试验。齿轮箱轴承转速的改变是由变频器驱动变频电机实现的。变频器运行频率的设定有三种方法:一是通过面板手工调节,这种方式已经不能满足频率频繁变化时使用需要。二是通过变频器的外部接口,外接模拟信号来控制设定频率。这种方式虽然简单,但存在设定频率不准确的问题,当外接模拟信号波动时,变频器的设定频率也随之变化。三是通过变频器的通讯口,利用参数设定指令来进行频率参数设定。这种方法能准确地控制变频器的频率。下面以台
[嵌入式]
基于虚拟仪器LabVIEW的虚拟相位差计的设计
  随着计算机技术、微电子技术和电子测试技术的迅猛发展,一种全新的测试仪器拟仪器(Virtual Instrument,VI)种新型的、富有生命力的仪器种类。首先提出了虚拟仪器的概念。这一概硬件支撑,充分应用计算机独具的运算、存储、回访、调用、显示以及文件管理等智能式功能,把传统仪器的专业功能软件化,使之与计算机融于一体,这样便构成了一台从外观到功能都能与传统仪器相同,同时又充分享用了计算机智能资源的全新仪器 虚拟仪器的主要功能由数据采集、数据测试和分析、结果输出显示三大部分组成。其中数据分析和结果输出完全可由基于计算机的软件系统来完成,因此只要另外提供一定的数据采集硬件,就可构成由计算机组成的测量仪器。   一、图形化软件开发平台
[测试测量]
基于虚拟仪器<font color='red'>LabVIEW</font>的虚拟相位差计的设计
基于LabVIEW的数控机床网络测控系统--B/S模式的软件设计(二
  在Analog Tag Configuration的Connect目录下的Item与OPC服务器的项名进行匹配,并对Tag进行了详细的描述,如OPC服务器,工程量的范围,报警的上下限,更新的死区等等。在运行时,标签引擎Tag Engine会根据。scf文件的配置建立与OPC服务器的连接。当OPC服务器与。scf文件配置好以后,可以在LabVIEW的前面板上通过Numeric Control,Numeric Indicator控件读写现场采集的数据,Numeric Control,Numeric Indicator控件通过人机向导HMI Wizard For Analog Control与。scf文件Tag进行匹配,并自动默认控
[测试测量]
基于<font color='red'>LabVIEW</font>的数控机床网络测控系统--B/S模式的软件设计(二
labview的深入探索----文件系列之二进制文件
二进制文件是计算机文件中最常见的文件,它占用空间最小,适合于连续存储大量数据,同时它的存储格式基本和数据在内存中的存储格式一致或者类似,很多情况下,甚至是内存的映射,因此无论是存储还是读取都是速度最快的,同时,具有非常高的安全性,如果不知道数据的格式,很难分析出文件的格式. 同文本文件一样,打开和关闭是完全相同的,不同的是写VI和读VI. 先看一个简单写的例子 上面写的是U8数组,我们知道,一个U8对应一个字节,1024个U8数组对应的文件长度应该是1024=1K,但是实际文件长度是1028=4+1024,同理,下面的是I32的数组,一个I32=4BYTE,所以文件长度应该是1024*4=4096,但是实际文件长度是
[测试测量]
<font color='red'>labview</font>的深入探索----文件系列之二进制文件
基于LabVIEW8.2开发平台实现车尾气检测系统的设计
引言 近几年来,随着我国社会经济的飞速发展和人民生活水平的不断提高,汽车保有量大幅度增加。汽车在给人们日常生活带来便利的同时,也带来了严峻的环境问题。汽车尾气中的CO,HC化合物等有害气体,已成为空气污染的主要来源。因此,监测与防治汽车的排气污染,是治理环境污染的一项重要任务。 要控制机动车的排气污染,首先是要做好检测工作。在我国,从1999年开始,就制订了一系列相应法规,严格控制汽车尾气的排放。2005年颁布了GB 18285-2005《点燃式发动机汽车排气污染物排放限值及测量方法》新的国家标准,标准中除了对汽车在怠速和高怠速工况下排气污染物的测量方法作了要求外,还对每种类型的汽车排气污染物排放限值作了明确的规定。 汽车
[测试测量]
基于<font color='red'>LabVIEW</font>8.2开发平台实现车尾气检测系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved