基于虛擬儀器的特性測試參數(shù)數(shù)據(jù)庫的設(shè)計
0 引言
在實際的測量測試系統(tǒng)中,用戶有時希望能夠?qū)崟r顯示數(shù)據(jù),而有時又希望動態(tài)的測試數(shù)據(jù)能夠存人數(shù)據(jù)庫,以備后續(xù)分析和處理。本文為用戶設(shè)計的電機轉(zhuǎn)子振動特性參數(shù)測試系統(tǒng)中,采用基于LabVIEW和PCI的虛擬儀器測試系統(tǒng),通過控制轉(zhuǎn)子振動模擬調(diào)速器-調(diào)理器對撓性轉(zhuǎn)子軸系的強迫振動和自激振動的特性參數(shù)進(jìn)行采集和處理。
基于LabVIEW的虛擬儀器測試系統(tǒng),通過AnalogInput模板中的AI Acquire Waveform子模板對DAQ進(jìn)行編程,按照指定的采樣頻率(sample rafe端口),控制一個指定的通道(channel端口)采集指定數(shù)目(num-ber of samples端口)的數(shù)據(jù)。利用LabSQL模板中一些功能模塊的組合就可將采集到計算機中的數(shù)據(jù)錄入事先創(chuàng)建的數(shù)據(jù)庫的相關(guān)表中,用戶可隨時調(diào)用數(shù)據(jù)庫中的測試數(shù)據(jù)來分析電機轉(zhuǎn)子的振動特性,實現(xiàn)對電機運行狀態(tài)的檢測與故障的診斷。
本文介紹了基于LabVIEW軟件開發(fā)平臺實現(xiàn)測試數(shù)據(jù)錄入數(shù)據(jù)庫,以及數(shù)據(jù)庫的訪問設(shè)計,給出了詳細(xì)的設(shè)計方法和步驟。
1 原始數(shù)據(jù)庫的創(chuàng)建
本文采用SQL Server 2000關(guān)系數(shù)據(jù)庫管理系統(tǒng)。具體操作步驟如下:
a) 使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫DAQ;
b) 將DAQ添加系統(tǒng)數(shù)據(jù)源DSN中,并選擇該系統(tǒng)數(shù)據(jù)源的驅(qū)動程序,本文所選驅(qū)動程序為SQL Serv-er,任何具有權(quán)限的用戶都可以訪問該數(shù)據(jù)源;
c) 在查詢分析器中利用create命令創(chuàng)建1個Test表,表的第1個列名為Time,數(shù)據(jù)類型為Datetime,且設(shè)定為主鍵,向后依次為device、channel、sample、rate、signal0、signal1、signal2…;
d) 設(shè)置用戶權(quán)限,權(quán)限決定用戶能夠?qū)δ男?shù)據(jù)對象執(zhí)行哪種操作以及能夠訪問、修改哪些數(shù)據(jù)。
2 測試數(shù)據(jù)的選擇
本轉(zhuǎn)子振動模擬試驗臺共裝有5個傳感器,分別為:2個渦流傳感器、光電傳感器、磁阻傳感器、編碼傳感器。7路輸出分別為:渦流傳感器1間隙電壓輸出、渦流傳感器1振動信號調(diào)理輸出、渦流傳感器2間隙電壓輸出、渦流傳感器2振動信號調(diào)理輸出、光電傳感器轉(zhuǎn)速信號調(diào)理輸出、編碼轉(zhuǎn)速信號調(diào)理輸出、磁阻轉(zhuǎn)速信號調(diào)理輸出。用戶可根據(jù)需要把被測對象的信號輸出連接到PCI-6024E的I/O接線端,并可按測試要求進(jìn)行參數(shù)設(shè)置。
基于LabVIEW的測試系統(tǒng)程序設(shè)計中,在Lab-VIEW軟件平臺的前面板上放置7個開關(guān)按鈕代表7個信號輸出,為方便程序處理,把7個開關(guān)按鈕組成布爾數(shù)組。同時,由于AI Waveform Acquire的channel端口的輸入是I/O通道選擇,須手動設(shè)置通道選擇,為了實現(xiàn)開關(guān)按鈕通道選擇,可在前面板上放置大小為7的I/O數(shù)組,7個I/O節(jié)點的值分別設(shè)置為0,1,2,3,4,5,6,對應(yīng)著數(shù)據(jù)采集卡的7個通道,布爾型數(shù)組經(jīng)search lD array節(jié)點確定被按下按鈕的位置,該輸出連接到Indexarray的Index輸入端,I/O數(shù)組經(jīng)In-dex array節(jié)點后的輸出便是用戶所選的通道,用戶只要根據(jù)需要按下相應(yīng)的按鈕即可??驁D程序如圖1所示。
3 LabVIEW對數(shù)據(jù)庫的訪問
本文采用LabSQL實現(xiàn)Labview對數(shù)據(jù)庫的訪問。LabSQL是利用LabVIEW開發(fā)的多數(shù)據(jù)庫、跨平臺的LabVIEW數(shù)據(jù)庫訪問工具包。LabSQL VIS按功能可分為4類:
a) Command VIS:完成一系列的基本ADO操作;
b) Connection VIS:管理Labview與數(shù)據(jù)庫之間的連接;
c) Recordset VIS:對數(shù)據(jù)庫中記錄進(jìn)行各種操作;
d) 高層VIS:對前3類VIS進(jìn)一步進(jìn)行功能的封裝。
3.1 數(shù)字型數(shù)組轉(zhuǎn)換為字符串模塊
經(jīng)PCI-6024E采集到計算機中的數(shù)據(jù)可以是波形數(shù)據(jù)或一維數(shù)字型數(shù)組(可通過右鍵AI AcquireWaveform節(jié)點的Waveform端口進(jìn)行切換),此處選擇一維數(shù)組。而SQL中的插入語句要求是字符串語句,因而有必要將數(shù)字型數(shù)組轉(zhuǎn)換為字符串,字符之間用,隔開,框圖程序如圖2所示。
3.2 LabVIEW訪問數(shù)據(jù)庫流程
利用LabSQL訪問數(shù)據(jù)庫的步驟大致分為4步:
a) 通過ADO Create.vi創(chuàng)建一個Connection對象;
b) 利用ADO Connection Open.vi建立與數(shù)據(jù)庫的連接;
c) 利用ADO SQL Execute.vi執(zhí)行對數(shù)據(jù)庫的操作(查詢、添加、刪除、修改);
d) 利用ADO Connection Close.vi和ADO Connec-tion Destroy.vi關(guān)閉與數(shù)據(jù)庫之間的連接。
LabVIEW訪問數(shù)據(jù)庫的流程圖如圖3所示。
3.3 LabVIEW訪問數(shù)據(jù)庫的總體程序設(shè)計
為了使框圖的結(jié)構(gòu)更加簡潔,從而使應(yīng)用程序的調(diào)試、理解和維護(hù)更加容易,虛擬儀器框圖程序通常采用模塊化程序設(shè)計方法。本文將上述兩個程序作為兩個功能模塊(通道選擇模塊、array to string模塊)進(jìn)行調(diào)用,完整的LabVIEW訪問數(shù)據(jù)庫的框圖程序和前面板分別如圖4和圖5所示。
3.4 LabVIEW訪問數(shù)據(jù)庫的操作
1) 數(shù)據(jù)錄入
運行上述程序后,選擇所需通道,設(shè)置好采樣頻率和采樣點數(shù),點擊開始按鈕,此時進(jìn)行數(shù)據(jù)采集,如果再按下數(shù)據(jù)錄入按鈕,則采集到的數(shù)據(jù)連同一些相關(guān)信息就被錄入到指定的數(shù)據(jù)庫中。
2) 數(shù)據(jù)查詢
技術(shù)人員或故障診斷專家要想對實驗數(shù)據(jù)進(jìn)行后續(xù)處理,可以根據(jù)實際需要從數(shù)據(jù)庫中調(diào)出相應(yīng)的數(shù)據(jù)。程序運行后,在前面板的SQL Server語句輸人框中輸入對應(yīng)的SQL語句,如用戶想要查詢通道1從16:20:30到16:25:30的測試數(shù)據(jù),可以在輸入框中輸入如下命令:select * from test where channel=1 andtime between 16:20:30 and 16:25:30。
此時用戶可在前面板中觀察這段時間內(nèi)的波形。
3) 數(shù)據(jù)修改
除了上述兩種常見操作外,用戶還可以通過該程序?qū)?shù)據(jù)進(jìn)行刪除等其他更改操作,操作方法與數(shù)據(jù)查詢操作類似。
4 結(jié)束語
隨著被測試系統(tǒng)的大型化、復(fù)雜化、網(wǎng)絡(luò)化,對測試系統(tǒng)要求越來越高,不但要有對儀器系統(tǒng)的管理,而且還需要強大的數(shù)據(jù)分析和管理功能,因而將數(shù)據(jù)庫納入測試系統(tǒng)成為必然。實際證明,本文介紹的方法在實際應(yīng)用中取得了一定的效果,而且,稍做改動后還可用于其他測試系統(tǒng),即它的可擴展性很強。
評論