虛擬儀器技術(shù)及其在數據采集中的應用
圖2 消息基接口的框圖
為了滿(mǎn)足幾種典型系統通道控制的要求,使通道的數量足夠多,通道的選取比較靈活,可以利用寄存器電路、可預置計數器電路以及一些其他邏輯電路的配合,將采樣通道設計成最多64路、最少2路可以任意選擇,而且可以從任意一路開(kāi)始采樣,也可以到任意一路結束采樣,只要截止通道號大于起始通道號就可以了。整個(gè)控制在虛擬儀器軟面板上進(jìn)行操作,通過(guò)消息基接口將命令寫(xiě)在這部分的控制寄存器中,從而設置計數器的初值以及采樣的通道總數。
(4) 定時(shí)采樣控制
由于不同的自動(dòng)測試系統對采樣時(shí)間間隔的要求不同,以及同一系統在不同的試驗中 需要的采樣時(shí)間間隔也不盡相同,故可以采用程控的方式將采樣時(shí)間間隔設置在2 μs~13. 0 ms之間任意選擇,可以增加或減少的最小單位是2 μs。所有這些選擇設置可以在虛擬儀器軟面板上進(jìn)行。
(5) 采樣點(diǎn)數控制
根據不同測試系統的需求,將采樣點(diǎn)數設計成可在一個(gè)比較大的范圍中任意選擇,該選擇同樣是在軟面板上進(jìn)行。
(6) 采樣方式控制
總結各種自動(dòng)測試系統的采樣方式不外乎軟件觸發(fā)采樣和硬件 觸發(fā)采樣。在硬件觸發(fā)采樣中又包括同步整周期采樣和非同步整周期采樣,這2種采樣又可 以是定時(shí)進(jìn)行的或等轉速差進(jìn)行的。所有這些采樣方式,對于數據采集器來(lái)說(shuō)都可以在軟面 板上進(jìn)行選擇。
2.2 軟件設計
軟件是虛擬儀器的關(guān)鍵,為使VI系統結構清晰簡(jiǎn)潔,一般可采用組件化設計思想,將各部分彼此獨立的軟件單元分別制成標準的組件,然后按照系統的總體要求組成完整的應用系統,一個(gè)標準的組件化的虛擬儀器軟件系統,如圖3所示。
圖3 組件化的虛擬儀器軟件系統
基于虛擬儀器的數據采集器的軟件包括系統管理軟件、應用程序、儀器驅動(dòng)軟件和I/O接 口 軟件。以往這4部分需要用戶(hù)自己組織或開(kāi)發(fā),往往很困難,但現在NI公司提供了所有這 四部分軟件,使應用開(kāi)發(fā)比以往容易得多。
下面簡(jiǎn)單介紹以NI公司的Lab Windows/CVI為開(kāi)發(fā)環(huán)境,來(lái)進(jìn)行VXI虛擬儀器的驅動(dòng)程序開(kāi)發(fā)的方法。
第一步:生成儀器模塊的用戶(hù)接口資源文件(UIR)。用戶(hù)接口資源、文件是儀器模塊 開(kāi) 發(fā)者利用Lab Windows/CVI的用戶(hù)界面編輯器為儀器模塊設計的一個(gè)圖形用戶(hù)界面(GUI)。 一個(gè)Lab Windows/CVI的GUI由面板、命令按鈕、圖標、下拉菜單、曲線(xiàn)、旋鈕、指示表以及 許多其他控制項和說(shuō)明項構成。
第二步:Lab Windows/CVI事件驅動(dòng)編程。應用程序開(kāi)發(fā)環(huán)境Lab Windows/CVI中設計一個(gè) 用戶(hù)接口,實(shí)際上是在用戶(hù)計算機屏幕上定義一個(gè)面板,他由各種控制項(如命令按鈕、菜 單、曲線(xiàn)等)構成。用戶(hù)選中這些控制項就可以產(chǎn)生一系列用戶(hù)接口事件(events)。例如 ,當用戶(hù)單擊一個(gè)命令按鈕,這個(gè)按鈕產(chǎn)生一個(gè)用戶(hù)接口事件,并傳遞給開(kāi)發(fā)者編寫(xiě)的C語(yǔ) 言驅動(dòng)程序。這是運用了Windows編程的事件驅動(dòng)機制。Lab Windows/CVI中使用不同類(lèi)型的 控制項,在界面編輯器中將顯示不同類(lèi)型的信息,并產(chǎn)生不同操作的接口事件。在Lab Wind ows/CVI的開(kāi)發(fā)平臺中,對事件驅動(dòng)進(jìn)行C程序編程時(shí)可采用2種基本的方法:回調函數法和 事件循環(huán)處理法。
回調函數法是開(kāi)發(fā)者為每一個(gè)用戶(hù)界面的控制項寫(xiě)一個(gè)獨立的用戶(hù)界面的控制函數 ,當選中某個(gè)控制項,就調用相應的函數進(jìn)行事件處理。在循環(huán)處理法中,只處理GUI控制 項所產(chǎn)生的COMMIT事件。通過(guò)Get User Event函數過(guò)濾,將所有的COMMIT事件區分開(kāi),識別 出是由哪個(gè)控制項所產(chǎn)生的事件,并執行相應的處理。
第三步:應用函數/VI集與應用程序軟件包編寫(xiě)。應用函數/VI集需針對具體儀器模塊 功能進(jìn)行編程,應用程序軟件包只是一些功能強大、需要完善的數據處理能力的模塊才需要 提供,如波形分析儀模塊、DSP模塊等。
圖4是基于虛擬儀器的系統測試流程。
圖4 虛擬儀器的系統測試流程圖
本文探討了虛擬儀器的基本組成,以及實(shí)際的虛擬儀器軟硬件設計的一般方法,這些方法經(jīng)過(guò)實(shí)際設計工作運用證明是可靠的,可供系統工程技術(shù)人員在組建具體的基于VXI總線(xiàn)的虛擬儀器數據采集、測試時(shí)參考使用。
參考文獻
[1] 趙勇.虛擬儀器軟件平臺和發(fā)展趨勢[J].國外電子測量技術(shù),2002,(1)
[2] 陳光禹.VXI總線(xiàn)測試平臺[M].北京:電子科技大學(xué)出版社,1996
[3] 孫昕,張忠亭,薛長(cháng)斌.集成VXI總線(xiàn)自動(dòng)測試系統的方法[J].測控技術(shù),1996,15(4)
[4] 張毅剛,彭喜元,姜寧達,等.自動(dòng)測試系統[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2001
[5] 汪紅.基于組件的虛擬儀器軟件系統[J].微型計算機信息,2001,( 1):76-77
評論