師文江 潘峰 中國飛行試驗研究院遠方測試系統研究中心 710089
多總線綜合測試系統的虛擬儀器應用
師文江 潘峰 中國飛行試驗研究院遠方測試系統研究中心 710089
測試系統是復雜多樣的,往往無法只用一種硬件體系平臺或者一種集成方式就能滿足應用需求。而虛擬儀器技術正是從軟件上解決復雜測試系統集成問題的辦法。本文通過介紹虛擬儀器技術在多總線綜合測試系統項目中的應用,反映了這種技術的靈活性和實用性。
虛擬儀器;測試系統;LabView;驅動程序;動態可編程技術
在大型的測試系統當中,往往會遇到VXI、PXI、CompactPCI、VME等多總線系統,還有IEEE1394、GPIB、以太網、USB等多種接口。這么多種接口和總線,如何用軟件來把它們集成起來實現應用功能呢?在這種多接口和多總線的前提下很難找到一種軟件,能同時把整個系統所有的功能都控制起來。虛擬儀器技術正是為復雜集成環境提供的一種軟件技術,它可以跨總線平臺,且不論任何廠家的硬件產品都可以兼容,為測試系統提供了統一的軟件編程環境。虛擬儀器技術的應用,既可以節約硬件成本,又縮短了開發周期,在測試、測量、工業自動化等場合都比較適用。以下是借助虛擬儀器技術實現的一種多總線綜合測試系統,通過分析,闡明了這種技術的特點和優越性。
系統主要結構如圖1所示。
系統中所包括的測試設備如下:
PXI Bus測試系統包括:

多功能模擬量卡;
數字IO卡;
數字萬用表卡;
多路復用卡;
電源開關卡;
光纖控制卡——用來和計算機通訊,并且傳輸數據。
Agilent 電源設備分別是:
正負5V或正負15V可選量程電源一個;
0~28V電源一個;
計算機內包括:
Mil-1553B采集卡;
ARINC429采集卡;
RS232接口。
測試的目的是對用戶提供的產品進行驗收、檢測,這些產品就是具備一定功能的板卡,包括:模擬量多組接口,開關量多組接口,RS232接口,Mil-1553B模塊接口,Arinc429接口,還有各種電源過載性能的測試。系統是通過控制盒里的連接線纜和被測產品進行連接的,測試非常方便。系統在不下電的情況下,可以對多種型號的板卡進行驗收,由軟件來實現控制功能。
從系統結構中看出,設備很多,如何才能把這些設備統一規劃起來,合理的進行控制呢?這就要借助LabView虛擬儀器編譯器對硬件底層進行良好的控制,再加上靈活、合理的組織程序結構,最后就能穩定地運行起來。
要想在LabView下實現對某種硬件設備的控制,就必須具備相應硬件設備的軟件驅動程序。軟件驅動程序一般是用光盤來承載的,當把它安裝進操作系統之后,在LabView下就可以方便的對硬件進行控制了。不同的設備儀器由不同的廠商提供,每個廠家的軟件驅動程序形式也是不一樣的,所以可以按照廠家來對它們進行劃分。以下就通過對軟件驅動程序的介紹,來反映每種硬件在LabView下的加載和控制過程。
PXI機箱和它內部的板卡是由National Instrument (NI)公司提供的。NI的大多數產品都有LabView下的驅動程序,而且對這些驅動進行了分門別類,不同功能的產品有不同類的軟件驅動程序模塊。另外,驅動程序還可以用來檢測板卡功能,如NI Measurement & Automation Explorer(簡稱MAX)瀏覽器軟件就是用來對板卡功能進行檢測的。以下對多種NI板卡的驅動進行介紹:
(1)光纖接口卡驅動:
PXI設備是一個完整的機箱,它通過采用MXI協議標準,實現了PXI設備和計算機主機之間的通訊,計算機可以通過一根光纖控制PXI機箱內的板卡。安裝好MXI驅動以后,PXI機箱內的板卡就都被映射到計算機系統中了,所以光纖接口卡驅動相當于這些板卡和計算機的通訊橋梁。在安裝好驅動以后,MAX瀏覽器就可以顯示所有可檢測到的設備了,瀏覽器界面如圖2所示。

(2)NI DAQ驅動:
NI DAQ驅動是Data Acquisition Device的簡寫,它是NI多種數據采集卡的驅動程序總稱。在本系統中DAQ驅動支持以下板卡:多功能模擬量卡和數字IO卡。NI DAQ驅動加載進操作系統之后,對相應板卡的編程控制就變得非常容易和方便,圖3是模擬量采集卡在LabView下的程序結構。
(3)NI Switch驅動:
通常開關控制卡可以控制開關通斷,NI Switch驅動程序涵蓋了NI廠家的許多開關控制板卡,在本系統中它為以下板卡提供驅動程序:多路復用卡和電源開關卡。
(4)NI DMM驅動:
NI DMM驅動是 NI Digital Multimeter的簡寫,它支持數字萬用表卡;安裝驅動以后,可程序控制萬用表卡的配置、選取和檢測。
VISA的全稱是Virtual Instrument Standard Architecture,它起源于VXI Play&Plug(即插即用)設備的驅動程序規范,很多測試儀器廠家都利用它作為設備驅動程序的標準,后來逐漸發展成一種通用的虛擬儀器標準,專門用于控制設備和編程。Agilent 采用VISA標準生成了很多可編程控制接口形式的驅動程序,其中GPIB接口也采用這種編程控制方式,用簡單的函數就可以滿足要求了。本系統中,兩個Angilent電源設備采用的都是VISA標準驅動。
Mil-1553B板卡是美國某廠家的產品,它自帶LabView下的驅動程序;并且提供各種 LabView下的1553程序控制模塊,如BC模塊,BM模塊,RT模塊等。開發人員可以靈活的調用程序模塊,然后組合成所需要的功能。
ARINC429板卡是國內某廠家的產品,它被提供了完整的Windows下編程的驅動程序,并支持C語言編程。它的接口函數可以通過DLL動態鏈接庫的形式在LabView下加載調用。
計算機通用串口COM接口,LabView本身自帶它的驅動,它屬于LabView VISA驅動程序。
以上驅動程序的加載過程體現了虛擬儀器對設備的良好控制屬性,另外虛擬儀器技術在編程的靈活性上也是很有優勢的,動態可編程技術正是反映了這一點。
VI Server是LabView的一種動態可編程技術,它可以在程序模塊(VI)執行時,動態的改變它的屬性或執行某些特殊功能,這樣就大大增強了程序的可控制性。
在本系統中,對程序模塊VI的界面屬性進行了動態控制,合理編制了程序界面的顯示,不僅保證了正常的界面顯示,而且實現了操作的靈活性。系統軟件的顯示規則是這樣的:新的界面顯示時——自動關閉上一級界面,當前界面關閉時——自動彈出上一級界面。通過這種控制,程序在運行時始終只有一個界面面對用戶,使顯示簡單而且清晰。
在LabView下有多種方式實現數據庫功能,選擇用代碼形式實現是最好且最穩定的方式,例如選擇C語言編碼,可以在Visual C++中編程,然后再加載進LaView中。以代碼方式編程時,可以借助動態鏈接庫DLL模式和ActiveX控件形式在LabView中進行調用。LabView不僅能夠和微軟的.NET平臺建立起良好的交互模式,并且支持C語言編程和DLL程序模塊加載。代碼編程功能的支持,體現了LabView 和其他編譯器的良好兼容性。本系統中數據庫應用,就是借助C語言編碼,然后再和LabView中的數據進行交互,這種方式大大提高了查詢速度。
系統中的Excel報表功能和數據庫有些類似,也是用VC++來編碼,然后以動態鏈接庫的形式在LabView 中進行調用。只要考慮好數據交互的格式,在LabView中調用動態鏈接庫是非常方便的。
整個軟件無論從界面美觀性,使用的實用性和靈活性方面,還是從硬件的功能方面都能滿足用戶的要求。正是LabView強大的硬件控制功能和靈活的圖形化編程功能,使整個系統不管是從基本功能還是美觀性上都取得了較滿意的效果。以下是整個系統的功能結構圖,從圖上體現了系統所實現的主要功能。

以上系統最復雜的地方在于驅動程序的加載,最困難的環節是數據庫管理功能,但是通過虛擬儀器技術完整的將硬件控制功能和軟件管理功能融合在了一起,而且開發過程即靈活又方便;另外借助井井有條的程序結構,又保證了系統的穩定性。在后期的項目實施中,由于需要對某些功能進行反復的修改,所以給最終驗收帶來了一定的困難。在已經編制好的程序上對代碼進行修改是較難的,但是由于虛擬儀器程序有穩定的程序結構,無論修改過程多復雜,并不影響程序的穩定性,從而使整個項目最終能夠順利的完成。可見,本系統通過采用虛擬儀器技術的集成方式不僅節省了開發時間,而且也為以后功能的修改和擴展提供了保障。因此虛擬儀器技術在測試系統集成上不失為一種可靠、實用的開發技術。
[1]林君,謝宣松等著.虛擬儀器原理及應用.科學出版社.
[2]蔣榮華,吳西北.USB-GPIB控制器的VISA設計與實現.中國測試技術.2007年7月第32卷第4期;
[3]孫亞飛,梁斌. LabView開發環境對C代碼的移植方法研究.測控技術.2010年2月第29卷.
10.3969/j.issn.1001-8972.2010.16.057