微波EDA网,见证研发工程师的成长! 2025濠电姷鏁告慨鎾儉婢舵劕绾ч幖瀛樻尭娴滅偓淇婇妶鍕妽闁告瑥绻橀弻锝夊箣閿濆棭妫勭紒鐐劤濞硷繝寮婚悢鍛婄秶闁告挆鍛缂傚倷鑳舵刊顓㈠垂閸洖钃熼柕濞炬櫆閸嬪棝鏌涚仦鍓р槈妞ゅ骏鎷�04闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏℃櫆闁芥ê顦純鏇㈡⒒娴h櫣甯涢柛鏃€娲熼獮鏍敃閵堝洣绗夊銈嗙墱閸嬬偤鎮¢妷鈺傜厽闁哄洨鍋涢埀顒€婀遍埀顒佺啲閹凤拷07闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏℃櫇闁逞屽墰缁絽螖娴h櫣顔曢梺鐟扮摠閻熴儵鎮橀埡鍐<闁绘瑢鍋撻柛銊ョ埣瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷 闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏犖ч柛灞剧煯婢规洖鈹戦缁撶細闁告鍐f瀺鐎广儱娲犻崑鎾舵喆閸曨剛锛涢梺鍛婎殕婵炲﹪鎮伴鈧畷鍫曨敆婢跺娅屽┑鐘垫暩婵挳骞婃径鎰;闁规崘顕ч柨銈嗕繆閵堝嫯鍏岄柛娆忔濮婅櫣绱掑Ο鑽ゎ槬闂佺ǹ锕ゅ﹢閬嶅焵椤掍胶鍟查柟鍑ゆ嫹婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧鏌i幇顒佹儓闁搞劌鍊块弻娑㈩敃閿濆棛顦ョ紓浣哄С閸楁娊寮婚悢铏圭<闁靛繒濮甸悘鍫㈢磼閻愵剙鍔ゆい顓犲厴瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷
首页 > 测试测量 > 测试测量技术文库 > 基于LabWindows/CVI的数据库编程

基于LabWindows/CVI的数据库编程

时间:08-14 来源:3721RD 点击:

在测试系统的应用开发中,测试数据通常是以文件的方式进行组织管理的。这样的数据存储方式有一定的局限性,特别是远程测试系统,对于大量的数据不能及时的反馈。要实现方便灵活的管理和访问,数据库是一种必然的选择。
LabWindows/CVI是一个完全的标准C开发环境,用于开发虚拟仪器应用系统。CVI5.5及以后的版本提供了支持数据库的sQL TOOLKIT工具包,该工具包提供了丰富的数据库操作函数,给开发带来了方便和快捷。

1 基于PCI的数据采集
对于非NI公司的PCI数据采集卡,一般的驱动程序都是以动态链接库的形式提供的。对于CVI而言,可以直接利用驱动程序的动态链接库文件实现对采集卡的控制。本文采用中泰PCI-8333数据采集卡进行信号采集、存储和输出。PCI-8333数据采集卡具备丰富的采集与控制方法,同时也提供了动态链接库文件和头文件。
1.1 缩写采集卡头文件
虽然厂商提供了头文件,但是LabWindows/CVI需要用c语言对头文件进行改写,参照厂商提供的头文件,编写部分方法声明如下:
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

注意,头文件中包含的方法一定要与动态链接库中的方法-致。编写后,将该头文件添加到应用程序中。在程序源文件中声明头文件,添加#include"PCI8KP.h"。
1.2 产生dll导入库文件
将采集卡厂商提供的动态链接库文件加入刭应用程序所在的文件夹中,选择菜单:Option-Generate DLL Import Library,在弹出的对话框中选择OK按钮,会弹出动态链接库选择对话框,选择加入到程序中的动态链接库后,会在该文件夹下产生导入库。将该导入库也加入到当前程序的工程中。
1.3应用动态链接库
上面的两个步骤完成后,便可在CVI应用程序中使用该动态链接库,调用头文件中已声明的方法进行数据采集源程序的编写,实现对效据采集卡的控制。

2 ODBC及SQL Toolkit工具包
ODBC(Open Database Connectivity,开放数据库互连)是Microsoft公司开发的一套开放数据库系统应用程序接口规范,它提供了统一的数据库应用编程接口(API),为应用程序提供了一套高层调用接口规范和基于动态连接库的运行支持环境。使用ODBC开发数据库应用时,应用程序调用的是标准的ODBC函数和SQL语句,数据库底层操作由各个数据库的驱动程序完成。因此应用程序有很好的适应性和可移植性。
LabWindows/CVI SQL Toolkit是用于CVI数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大部分的数据库操作和一些高级数据库访问功能。LabWindows/CVI SQL Toolkit支持主流的数据库驱动,对于数据库开发商及第三方开发者提供的驱动,LabWindows/CVI SQL Toolkit也一样采用标准的ODBC编译方式,通过这种扩展方式,可以灵活支持任何符合ODBC开发标准的数据库系统。
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

3 数据库操作
Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统。Orade数据库有如下几个强大的特性:支持多用户、大事务量的事务处理,数据安全性和完整性的有效控制,支持分布式数据处理等。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。
3.1 创建数据库
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

最后创建数据存储DATA_ACQUIRE,这里不再列举数据库脚本代码。
3.2 创建DSN
在使用工具包之前,首先需要在操作系统中的ODBC数据源中创建一个DSN,工具包与数据库的链接就是建立在DSN基础上的。创建DSN的步骤如下:
(1)在操作系统控制面板中选择"数据源(ODBC)"。
(2)选择"系统DSN选项卡"添加按钮。
(3)在出现的"创建新数据源"对话框驱动程序列表中选"Oracle in OraOb10g_homel",点击完成。
(4)配置"Oracle ODBC Driver Configuration",如图2所示:

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

这样就完成了DSN的创建,从此以后,工具包就可以利用这个DSN访问与之相关联的数据库了。
3.3 采集数据插入数据库
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

3.4 显示结果
检索数据库中所有的数据,提取DATA字段,将数据组合成数组,通过Graph控件把数据显示出来。也可以按照时间条件检索数据库,Graph控件中将会显示符合查询条件的数据。
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

4 结论
CVI和数据库是开发虚拟仪器应用软件的不可缺少的组成部分,利用专门的数据库接口工具包可以方便地实现CVI应用程序与数据库的链接。本系统的实现表明,通过CVI与Oracle数据库质检进行数据交互,使得测试系统有了强大的功能,在组建复杂的测试系统中具有广泛的应用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top