基于虛擬儀器的電梯上行超速保護(hù)裝置檢測系統(tǒng)
4 檢測系統(tǒng)的軟件設(shè)計(jì)
在虛擬儀器檢測系統(tǒng)中軟件系統(tǒng)扮演著非常重要的角色,是系統(tǒng)的關(guān)鍵。軟件平臺選擇了圖形化編程軟件LabVIEW,它是一個(gè)完全的、開放的虛擬儀器開發(fā)系統(tǒng)的應(yīng)用軟件,并且具有編程簡單、直觀、開發(fā)效率高等優(yōu)點(diǎn)。
該檢測系統(tǒng)軟件的主要作用是實(shí)現(xiàn):連續(xù)可靠信號的實(shí)時(shí)數(shù)據(jù)采集;將采集的數(shù)據(jù)以數(shù)字或圖形的形式實(shí)時(shí)顯示;數(shù)據(jù)存儲至硬盤;保證信號采集的成功判別;數(shù)據(jù)的同時(shí)采集和顯示;歷史數(shù)據(jù)的查詢、再現(xiàn)和打印等功能。
軟件系統(tǒng)總體框圖如圖4所示。
由圖4可以直觀地看到主控模塊作為整個(gè)系統(tǒng)的調(diào)度中心,控制著系統(tǒng)的控制流(→)和數(shù)據(jù)流(→)的流向。數(shù)據(jù)流從數(shù)據(jù)采集模塊開始分別流向數(shù)據(jù)存儲模塊和數(shù)據(jù)分析處理模塊,采集到的數(shù)據(jù)通過數(shù)據(jù)存儲模塊進(jìn)行存儲,同時(shí)經(jīng)過數(shù)據(jù)分析模塊的判斷,在計(jì)算機(jī)屏幕上進(jìn)行實(shí)時(shí)顯示。如果用戶需要對歷史數(shù)據(jù)進(jìn)行查詢時(shí),則啟動歷史查詢模塊即可對歷史數(shù)據(jù)進(jìn)行曲線和數(shù)據(jù)的顯示。
程序設(shè)計(jì)最重要的部分是數(shù)據(jù)采集模塊,主要任務(wù)是完成對數(shù)據(jù)的采集、波形的顯示及回放和數(shù)據(jù)的存儲。
數(shù)據(jù)采集模塊設(shè)計(jì)如下:
先將初始化函數(shù)、啟動板卡函數(shù)和讀取數(shù)據(jù)等對儀器進(jìn)行配置和數(shù)據(jù)讀取的函數(shù)做成動態(tài)鏈接庫。然后通過主程序調(diào)用動態(tài)鏈接庫里的函數(shù)來實(shí)現(xiàn)對儀器的操作,一般調(diào)用過程如下:加載動態(tài)鏈接庫,再獲取函數(shù)的指針,之后利用指針來調(diào)用函數(shù)。系統(tǒng)的數(shù)據(jù)采集器采用的是AD8201,它是USBI.1總線兼容的12位32通道的數(shù)據(jù)采集器。
LabVIEW中動態(tài)鏈接庫的調(diào)用是通過CLF(Call Library Function)節(jié)點(diǎn)來實(shí)現(xiàn)的,并進(jìn)行采集模塊的編程。其中初始化時(shí)為了使驅(qū)動程序能夠?qū)Φ讓拥挠布M(jìn)行初始化,應(yīng)設(shè)置中斷號、內(nèi)存分配、I/O地址等打通驅(qū)動程序和應(yīng)用程序的通道。通過CLF節(jié)點(diǎn)調(diào)用函數(shù)DllInitial來實(shí)現(xiàn)采集程序的初始化,并選擇采集卡的中斷號和口地址。此時(shí)為了順利啟動采集,采集卡上的中斷號和口地址要和主板上的一致,如果程序初始化成功,函數(shù)將返回1,否則返回0。
參數(shù)PhysAddr用來確定外部存儲的開始地址,參數(shù)IRQNum用來確定板卡的中斷號,參數(shù)DMAChn用來確定板卡的DMA通道,參數(shù)IOBase用來確定板卡的基地址。該例中其相應(yīng)值為0,5,0,320。
啟動采集的過程:首先要設(shè)置采集通道和采集頻率,并確定數(shù)據(jù)通信方式(單緩沖或多緩沖),然后啟動采集。接下來程序可自行驅(qū)動硬件實(shí)現(xiàn)采集,同時(shí)把采集到的數(shù)據(jù)存儲到指定的緩沖區(qū)。
讀取結(jié)果:讀取結(jié)果是為了方便對數(shù)據(jù)進(jìn)行處理,把驅(qū)動程序緩沖區(qū)中的數(shù)據(jù)讀取到應(yīng)用軟件的數(shù)據(jù)緩沖區(qū)中去。要實(shí)現(xiàn)再次采集數(shù)據(jù)量,需定義一個(gè)數(shù)據(jù)緩沖區(qū)(或用戶)函數(shù)ADBuf(NumSamp*NumChn+1)和一個(gè)內(nèi)存保存數(shù)據(jù)函數(shù)RecordBuf(NumSamp*NumChn)來實(shí)現(xiàn)。
數(shù)據(jù)采集模塊的設(shè)計(jì)主要是調(diào)用動態(tài)鏈接庫中的各個(gè)函數(shù)來實(shí)現(xiàn)的,各函數(shù)調(diào)用的順序是:
(1)調(diào)用函數(shù)。Initial();
(2)調(diào)用函數(shù)StarIntr();
(3)調(diào)用函數(shù)ADResult()或ADResuit Rece nt();
(4)調(diào)用函數(shù)QueryBuf();
(5)調(diào)用函數(shù)StopIntr()。
其中函數(shù)StarIntr()實(shí)現(xiàn)開始采集功能,函數(shù)ADResult()或函數(shù)ADResuitRecent()實(shí)現(xiàn)獲得數(shù)據(jù)功能,函數(shù)QueryBuf()實(shí)現(xiàn)緩沖區(qū)的查詢功能,函數(shù)StopIntr()實(shí)現(xiàn)中斷采集功能。同時(shí)可以調(diào)用其他函數(shù)來實(shí)現(xiàn)特殊的功能,如調(diào)用函數(shù)ChannelFrq()來獲取各通道的采樣頻率、調(diào)用函數(shù)RegisterNotify()可在多緩沖模式下緩沖區(qū)滿時(shí)發(fā)出消息、調(diào)用函數(shù)IOCtrl()來實(shí)現(xiàn)A/D卡的其他功能等。
其他模塊的設(shè)計(jì)由于篇幅關(guān)系,這里不再贅述。
5 結(jié)論
采用美國NI公司的圖形化軟件平臺LabVIEW完成了基于虛擬儀器的電梯上行超速保護(hù)裝置的檢測系統(tǒng)的軟硬件設(shè)計(jì),通過該檢測系統(tǒng)以確保裝置的可靠性和有效性,提高了檢測效率,降低了測量誤差,彌補(bǔ)了傳統(tǒng)檢測技術(shù)的不足。系統(tǒng)中實(shí)時(shí)采集的數(shù)據(jù)方便了對電梯安全部件的檢測和維修。
評論