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