姚喜靜,詹惠琴
(電子科技大學自動化工程學院 四川成都 610054)
現代的測試測量系統[1]大多需要對被測目標進行全方位檢測,從而有利于獲取對目標系統的全面認識, 這不可避免的將會使測試系統中相關的數據量迅速增多。為了能正確反映測試系統相關數據之間的密切聯系, 有必要建立基于數據庫管理數據的虛擬儀器系統。
虛擬儀器是指通過應用程序將通用計算機與功能化硬件結合起來的一種裝置。用戶可以像操作自己設計的儀器一樣,通過友好的圖形用戶界面(GUI),操作計算機完成測試任務,高效地實現對被測對象的數據采集、顯示、保存、分析和查詢等。LabWindows/CVI 是National Instruments公司推出的組建虛擬儀器的交互式C語言開發平臺,它將C語言平臺與用于數據采集分析和顯示的測控專業工具有機的結合起來,利用它的集成開發環境、交互式編程方法和豐富的函數庫大大增強了C語言的功能,節省了程序開發的時間,為軟件開發人員提供了一個理想的開發環境。
數據庫[2]是有結構的數據集合,它與一般的數據文件不同,一般的數據文件的數據是無結構的,是一串文字或數字流。而數據庫中的數據可以是文字、圖像、聲音等。一方面用戶可以根據自己的需求自由的選擇,但另一方面各數據庫產品之間難以互通給應用程序的移植帶來麻煩,于是ODBC(Open DataBase Connectivity,開放式數據庫互連)為解決這一問題而被人們提出,它實際上是一個數據庫訪問庫,通過ODBC可以使得數據庫的更改變得非常容易,對應用程序來說只需改換一下驅動程序,避免了應用程序隨數據庫的改變而改變,將ODBC運用于測試系統軟件中,則可以使測試系統軟件具有強大的靈活性和可重復利用性。
本文旨在研究多通道[3]壓力測試系統數據庫的建立,最多要求達64路采集數據的存儲,數據量相對是很龐大的,因此,根據虛擬儀器的特點和數據庫的優點,設計了基于CVI的ACCESS數據庫來實現大量數據的實時存儲。
SQL是Structured Query Language的縮寫,即結構化查詢語言。利用SQL即可實現對數據庫的各種交互操作,即數據庫數據的更新、數據獲取等功能,它是關系型數據庫管理系統的標準語言,比較通用的關系型數據庫有 Oracle、Sybase、Microsoft SQL Server和 Access等。LabWindows/CVI SQL是一個用來訪問數據庫的軟件工具包,工具包里包含一個用來完成一般數據庫任務的高級函數集。需要注意的是SQL工具包要另外安裝,本文研究中安裝的是LabWindows/ CVI SQL Toolkit 2.0,數據庫中的單個表中的每列都有一個數據類型,SQL工具包使用公共數據類型集。工具包自動將這些數據類型映射到數據庫內部的對應類型上。使用公共數據類型,工具包程序只作很小的修改或不修改就可訪問同一類數據庫。表1[4]列出了SQL工具包支持的數據類型。

表1 LabWindows/CVI SQL工具包支持的數據類型
在多通道壓力測試系統中,上位機通過網絡通信TCP/IP協議[5]接收下位機傳送的數據,數據庫除了需要保存實時采集的數據之外,還要存儲上位機下發到下位機的各種指令,即試驗的各種參數,包括試驗配置參數以及用戶名、用戶級別、用戶密碼等。另外為了方便以后的數據分析一些相關計算值也要存入數據庫,例如運用多項式擬合原理,選擇不同的階次、點數計算出的各通道校準系數、最大值、最小值、均方誤差等,還有與此相關的校驗員、校準時間、校準號。試驗后數據處理時,方便用戶對數據庫實施檢索查詢、相關分析、生成報表等操作。本文建立Access通用數據庫,通過CVI提供的支持SQL的SQLToolkit工具包,實現對采集數據的管理和處理,使得在測試系統平臺上方便操作數據庫。
考慮到多通道壓力測試系統對數據庫的要求,設計了多個表來實現,測試系統數據庫包括用戶管理表、試驗配置表、采集數據存儲表、校準系數表,各表中存儲的相關內容如圖1所示。表與表之間是相互關聯的,在數據處理過程中相關查詢、分析等的操作都要依此關系。例如:用戶管理表中的用戶ID和試驗配置表的用戶ID是有關系的,當用戶管理表每增加一個記錄,試驗配置表將根據用戶管理表中的用戶ID也增加一個試驗配置記錄。

圖1 測試系統數據庫配置
SQL Toolkit數據庫一個簡單的操作過程由下列步驟組成:


實驗目的是把相關數據存到所建好的數據庫里,實驗前首先要設置ODBC數據源的路徑,在控制面板中打開ODBC數據源管理器,選擇系統DSN標簽,如圖2所示,點擊添加按鈕,會彈出一個創建新數據源窗口,選擇數據源驅動程序,這里選擇Microsoft Access Driver[8](*.mdb),單擊完成按鈕,彈出ODBC Microsoft Access 安裝窗口,如圖3所示,填入數據源名,選擇創建的數據庫的路徑,單擊確定按鈕完成數據庫安裝。

圖2 ODBC數據源管理器

圖3 數據庫安裝
試驗結果如圖4所示。

圖4 試驗結果
本文在對LabWindows/CVI SQL Toolkit的應用方法進行研究的基礎上,開發并實現了多通道壓力測試系統的試驗數據庫設計。以數據庫中采集數據存儲表records為例,基本上闡明了LabWindows/CVI SQL 工具包在數據管理方面的使用方法。數據庫是大型測控系統不可或缺的重要組成部分,了解并掌握SQL Toolkit工具包的使用方法對開發功能完備的測控系統尤為重要。
[1]李頌倫.電氣測試技術[ M ].西安:西北工業大學出版社, 1992.
[2]劉君華.虛擬儀器編程語言LabWindows/CVI教程[M]. 北京: 電子工業出版社, 2004: 25-90.
[3]馬虎,郭海松.基于LabWindows/CVI與數據庫的測試軟件設計[J]. 測控技術, 2006, 25(2): 51-53.
[4]趙文珂, 張曉斌, 雷濤.基于VXI的飛機電氣多通道測試系統[J]. 計算機測量與控制,2006,14(1):18-20.
[5]張毅剛,喬立言.虛擬儀器軟件開發環境LabWindows/CVI 6.0編程指南[M]. 北京: 機械工業出版社, 2002: 183-230.
[6]唐玉玲,汪小澄,張瑞建.基于LabWindows/CVI與C51的串行通信協議的設計與實現[J].計算機應用研究, 2004, 21(8): 189-190.
[7]葉雷, 朱紅. 基于Labwindows/CVI的測試系統數據庫設計[J]. 電子元器件應用, 2009, 11(10): 34-36.
[ 8]National Instruments. LabWindows User Manual [ Z].National Instruments ,2000.