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