關(guān)鍵字:虛擬儀器, 虛擬儀器技術(shù),虛擬儀器開發(fā),USB虛擬儀器,基于PC的虛擬儀器
[關(guān)鍵詞] 測控系統(tǒng),;虛擬儀器;軟硬件
1 引 言
隨著微電子技術(shù),、計算機技術(shù),、軟件技術(shù)、網(wǎng)絡(luò)技術(shù)的高度發(fā)展及其在電子測量技術(shù)與儀器上的應(yīng)用,,新的測試?yán)碚摗⑿碌臏y試方法,、新的測試領(lǐng)域以及新的儀器結(jié)構(gòu)不斷出現(xiàn),在許多方面已經(jīng)突破傳統(tǒng)儀器的概念,,電子測量儀器的功能和作用已經(jīng)發(fā)生了質(zhì)的變化。在這種背景下,,美國國家儀器公司(National Instruments Corporation,,簡稱NI)在20世紀(jì)80年代最早提出虛擬儀器(Virtual Instrument,,簡稱VI)的概念,。虛擬儀器這種計算機操縱的模塊化儀器系統(tǒng)在世界范圍內(nèi)得到了廣泛的認同和應(yīng)用,,國內(nèi)近幾年的應(yīng)用需求急劇高漲,。因此,,虛擬儀器的產(chǎn)生是測控領(lǐng)域的一次革命,。
2 虛擬儀器的基本概念、特點及其構(gòu)成
所謂虛擬儀器,,就是在以通用計算機為核心的硬件平臺上,,由用戶設(shè)計定義,、具有虛擬前面板,、測試功能由測試軟件實現(xiàn)的一種計算機儀器系統(tǒng)。其基本思想就是在測試系統(tǒng)或儀器設(shè)計中盡可能地用軟件代替硬件,,即“軟件就是儀器”,。簡而言之VI系統(tǒng)是由計算機,、應(yīng)用軟件和儀器硬件組成的,。用戶可以通過友好的圖形界面(這里稱作虛擬前面板)操作計算機,如同操作功能相同的單臺傳統(tǒng)儀器一樣,。虛擬儀器具有以下特點:
① 在通用硬件平臺確定后,由軟件取代傳統(tǒng)儀器中的硬件來完成儀器的功能,。
② 儀器的功能是用戶根據(jù)需要由軟件來定義的,,而不是事先由廠家定義好的。
③ 儀器性能的改進和功能擴展只需進行相關(guān)軟件的設(shè)計更新,,而不需購買新的儀器,。
④ 研制周期較傳統(tǒng)儀器大為縮短。
⑤ 虛擬儀器開放,、靈活,,可與計算機同步發(fā)展,,可與網(wǎng)絡(luò)及其它周邊設(shè)備互聯(lián),。
與傳統(tǒng)非數(shù)字化儀器相比,虛擬儀器技術(shù)的優(yōu)勢在于用戶自定義儀器功能,、結(jié)構(gòu)等,,且構(gòu)建容易,,轉(zhuǎn)換靈活以及其開放性,。
虛擬儀器的基本構(gòu)成包括計算機,、虛擬儀器軟件,、硬件接口模塊等,。其中,,硬件接口模塊可以包括插入式數(shù)據(jù)采集卡(DAQ),、串/并口,、IEEE488接口(GPIB)卡,、VXI控制器以及其它接口卡,。目前較為常用的虛擬儀器系統(tǒng)是數(shù)據(jù)采集卡系統(tǒng),、GPIB儀器控制系統(tǒng)、VXI儀器系統(tǒng)以及這三者之間的任意組合,。在這里,,硬件僅僅是為了解決信號的輸入輸出,軟件才是整個系統(tǒng)的關(guān)鍵,。
2.1 虛擬儀器的硬件構(gòu)成
如圖2—1所示,,虛擬儀器的硬件構(gòu)成有多種方案,通常采用以下幾種:
(1)基于數(shù)據(jù)采集的虛擬儀器系統(tǒng)
這種方式借助于插入計算機內(nèi)的數(shù)據(jù)采集卡與專用的軟件如LabVIEW(或LabWindows/CVI)相結(jié)合,,通過A/D變換將模擬,、數(shù)字信號采集到計算機進行分析、處理,、顯示等,,并可通過D/A轉(zhuǎn)換實現(xiàn)反饋控制。根據(jù)需要還可加入信號調(diào)理和實時DSP等硬件模塊,。
(2)基于通用接口總線GPIB接口的儀器系統(tǒng)
GPIB(General Purpose Interface Bus)儀器系統(tǒng)的構(gòu)成是邁向虛擬儀器的第一步,,即利用GPIB接口卡將若干GPIB儀器連接起來,用計算機增強傳統(tǒng)儀器的功能,,組織大型柔性自動測試系統(tǒng),,技術(shù)易于升級,維護方便,,儀器功能和面板自定義,,開發(fā)和使用容易。它可高效靈活地完成各種不同規(guī)模的測試測量任務(wù)。利用GPIB技術(shù),,可由計算機實現(xiàn)對儀器的操作和控制,,替代傳統(tǒng)的人工操作方式,排除人為因素造成的測試測量誤差,。同時,,由于可預(yù)先編制好測試程序,實現(xiàn)自動測試,,提高了測試效率,。
(3)利用VXI總線儀器實現(xiàn)虛擬儀器系統(tǒng)
VXI(VMEbus ExtensionforInstrumentation)總線為虛擬儀器系統(tǒng)提供了一個更為廣闊的發(fā)展空間。VXI總線是一種高速計算機總線———VME(VersaModule Eurocard)總線在儀器領(lǐng)域的擴展,。由于其標(biāo)準(zhǔn)開放,、傳輸速率高、數(shù)據(jù)吞吐能力強,、定時和同步精確,、模塊化設(shè)計、結(jié)構(gòu)緊湊,、使用方便靈活,,已越來越受到重視。它便于組織大規(guī)模,、集成化系統(tǒng),,是儀器發(fā)展的一個方向。
(4)基于串行口或其它工業(yè)標(biāo)準(zhǔn)總線的系統(tǒng)
將某些串行口儀器和工業(yè)控制模塊連接起來,,組成實時監(jiān)控系統(tǒng)。將帶有RS-232總線接口的儀器作為I/O接口設(shè)備通過RS-232串口總線與PC計算機組成虛擬儀器系統(tǒng),,目前仍然是虛擬儀器的構(gòu)成方式之一,。當(dāng)今,PC計算機已更多地采用了USB總線和IEEE1394總線,。
2.2 虛擬儀器的軟件體系構(gòu)成
構(gòu)成一個虛擬儀器系統(tǒng),,基本硬件確定以后,就可通過不同的軟件實現(xiàn)不同的功能,。軟件是虛擬儀器系統(tǒng)的關(guān)鍵,。沒有一個優(yōu)秀的控制分析軟件,很難構(gòu)成一臺理想的虛擬儀器系統(tǒng),。根據(jù)VPP(VXIPlug&Play)系統(tǒng)規(guī)范的定義,,虛擬儀器系統(tǒng)的軟件結(jié)構(gòu)應(yīng)包含3部分,如圖2—2所示:
(1)I/O接口軟件
I/O接口軟件存在于儀器(即I/O接口設(shè)備)與儀器驅(qū)動程序之間,,是一個完成對儀器寄存器單元進行直接存取數(shù)據(jù)操作,,并為儀器與儀器驅(qū)動程序提供信息傳遞的底層軟件,是實現(xiàn)開放的,、統(tǒng)一的虛擬儀器系統(tǒng)的基礎(chǔ)與核心,。在VPP系統(tǒng)規(guī)范中,,詳細規(guī)范了虛擬儀器的I/O接口軟件的特點、組成,、內(nèi)部結(jié)構(gòu)與實現(xiàn)規(guī)范,,并將符合VPP規(guī)范的虛擬儀器I/O接口軟件定義為VISA軟件。
(2)儀器驅(qū)動程序
每個儀器模塊均有自己的儀器驅(qū)動程序,。儀器驅(qū)動程序的實質(zhì)是為用戶提供了用于儀器操作的較抽象的操作函數(shù)集,。對于應(yīng)用程序來說,它對儀器的操作是通過儀器驅(qū)動程序來實現(xiàn)的,;儀器驅(qū)動程序?qū)τ趦x器的操作與管理,,又是通過I/O軟件所提供的統(tǒng)一基礎(chǔ)與格式的函數(shù)庫(VISA)的調(diào)用來實現(xiàn)的。對于應(yīng)用程序設(shè)計人員來說,,一旦有了儀器驅(qū)動程序,,在不是十分了解儀器內(nèi)部操作過程的情況下,也可以進行虛擬儀器系統(tǒng)的設(shè)計工作,。虛擬儀器驅(qū)動程序是連接上層應(yīng)用程序與底層I/O接口軟件的紐帶和橋梁,。
(3)應(yīng)用軟件開發(fā)環(huán)境
應(yīng)用軟件開發(fā)環(huán)境的選擇,可因開發(fā)人員的喜好不同而不同,,但最終都必須提供給用戶一個界面友好,、功能強大的應(yīng)用程序。在目前,,虛擬儀器系統(tǒng)應(yīng)用軟件開發(fā)環(huán)境主要包括兩種:
①基于傳統(tǒng)的文本語言式的平臺,。主要是NI公司的LabWindows/CVI、Microsoft公司的VisualC++,、Visual Basic,、Borland公司的Delphi等。
②基于圖形化編程環(huán)境的平臺,。如HP公司的HPVEE,、NI公司的LabVIEW等。圖形化軟件開發(fā)平臺的提出,,可以大大減輕系統(tǒng)開發(fā)人員的負擔(dān),,使其將主要精力集中投入到系統(tǒng)設(shè)計中,而不再是具體軟件細節(jié)的推敲上,。
3 虛擬儀器的關(guān)鍵技術(shù)
虛擬儀器的發(fā)展領(lǐng)域非常廣闊,,開發(fā)虛擬儀器既要擁有計算機技術(shù),又要擁有信息處理技術(shù),??偩€技術(shù)是VI的一個關(guān)鍵問題,VI需要利用計算機的擴展槽、PCI插槽或ISA插槽,,所以開發(fā)VI的儀器硬件,,首先要確定應(yīng)采用哪一種總線標(biāo)準(zhǔn),PCI總線是一種最新的計算機總線規(guī)范,,它兼容性強,,功能全,傳輸率高,,工作時鐘頻率33MHz,,結(jié)構(gòu)與處理器獨立,適合于未來的計算機,。1997年9月,,美國NI公司發(fā)布了一項PXI總線標(biāo)準(zhǔn),PXI(PCIExtention forInstrument)是PCI在儀器領(lǐng)域的擴展,。開發(fā)VI可以考慮采用PXI標(biāo)準(zhǔn),,因為數(shù)據(jù)處理工作量大,VI的儀器硬件部分要盡量做得功能強大,,否則,,采用軟件會影響儀器處理速度。目前,,虛擬儀器已具備時域分析和頻率域分析的功能,,速度都非常快,。
圖形化的編程環(huán)境是VI技術(shù)的又一關(guān)鍵因素,。1986年,NI公司推出了LabVIEW軟件包,,它簡單直觀,、效率高、速度快,、具有優(yōu)化的圖形編譯機制,獨特快捷的查錯,、調(diào)試方法,,極大地提高了運行速度,采用LabVIEW可以數(shù)倍地提高系統(tǒng)開發(fā)速度,。近年來基于Windows95和WindowsNT的開發(fā)平臺成為后起之秀,,可以使用Visual C++、Visual Basic,、BorlandC++等功能強大的編程軟件編寫專用應(yīng)用軟件,。
4 虛擬儀器的整體設(shè)計
在科學(xué)研究與工程實驗室里,有各種各樣的儀器與設(shè)備。如何提高它們的綜合使用效率,?如何對它們進行更有效的管理,?是儀器用戶值得考慮的問題。目前,,最有效的方法是采用“虛擬儀器”技術(shù),。即充分利用計算機強大的管理與處理能力,以此為基礎(chǔ),,將實驗室相關(guān)設(shè)備搭配起來,,構(gòu)成一種全新的實驗環(huán)境。實驗室中的儀器與設(shè)備一般都是具有特定功能的單臺設(shè)備,。如果它們具有某種總線接口,,就有可能進行虛擬儀器的構(gòu)造。步驟如下:
1)確定所用儀器或設(shè)備的接口形式,。如果儀器設(shè)備具有RS-232串行總線接口,,則不用進行處理,直接用連線將儀器設(shè)備與計算機的RS-232串行接口連接即可,;如果是GPIB或HP-IB接口,,則需要額外配備一塊GPIB-488接口板,將接口板插入計算機的ISA插槽,,建立起計算機與儀器設(shè)備之間的通訊渠道,;如果使用計算機來控制VXI總線設(shè)備,也需要配備一塊GPIB接口卡,,通過GPIB總線與VXI主機箱零槽模塊通信,,零槽模塊的GPIB-VXI翻譯器將GPIB的命令翻譯成VXI命令并把各模塊返回的數(shù)據(jù)以一定的格式傳回主控計算機。由于計算機的RS-232串行接口有限,,若儀器設(shè)備比較多,,必要時必須擴展計算機的RS-232接口。市場上此類產(chǎn)品品種繁多,,用戶可以根據(jù)具體情況,,選擇合適的RS-232總線接口擴展產(chǎn)品。
2)確定所選擇的接口卡是否具有設(shè)備驅(qū)動程序,。接口卡的設(shè)備驅(qū)動程序是控制各種硬件接口的驅(qū)動程序,,是連接主控計算機與儀器設(shè)備的紐帶;如果有設(shè)備驅(qū)動程序,,它適合于何種操作系統(tǒng),?如果沒有,或者所帶的設(shè)備驅(qū)動程序不符合用戶所用的操作系統(tǒng),,用戶就有必要針對所用接口卡,,編寫設(shè)備驅(qū)動程序,。
3)確定應(yīng)用管理程序的編程語言。如果用戶有專業(yè)的圖形化編程軟件,,如LabVIEW,、HPVEE,那么就可以采用專業(yè)的圖形化編程軟件進行編程,。如果沒有此類軟件,,則可以采用通用編程語言,如VisualC++,、Visual Basic或者Delphi,。由于它們易于使用、功能強大而倍受測控人員的青睞,。
4)在硬件連接無誤的情況下,,編寫用戶的應(yīng)用管理程序。
5 結(jié)束語
虛擬儀器技術(shù)使現(xiàn)代測控系統(tǒng)更靈活,、更緊湊,、更經(jīng)濟、功能更強,。而圖形編程方式使系統(tǒng)軟件開發(fā)更省時,、更省力、更容易,。無論是測量,、測試、計量,,或是工業(yè)過程控制和分析處理,,還是其它更為廣泛的測控領(lǐng)域,虛擬儀器都是理想的高效率的解決方案,。隨著計算機技術(shù)的不斷發(fā)展,,虛擬儀器技術(shù)也會在各領(lǐng)域中發(fā)揮其重要作用,并表現(xiàn)出強大的生命力,,它必然會對科技發(fā)展和工業(yè)生產(chǎn)產(chǎn)生不可估量的影響,。
[參考文獻]
[1] 李 剛,林 凌.LabVIEW—易學(xué)易用的計算機圖形化編程語言[M].北京航空航天大學(xué)出版社.
[2] 袁 翔,,等.基于總線式的虛擬儀器系統(tǒng)[J].機電工程,,1998(4).
[3] 劉君華,賈惠芹,,等.虛擬儀器圖形化編程語言—Lab-VIEW教程[M].西安電子科技大學(xué)出版社.
[4] 施珍珠,張 瑋,,等.虛擬儀器技術(shù)[J].國外電子測量技術(shù),,2002(1).
[5] 李曉維.虛擬儀器技術(shù)分析[J].電子測量與儀器學(xué)報,,1996(3).
[6] 秦樹人,張思復(fù),,湯寶平,,等.集成測試技術(shù)與虛擬式儀器[J].中國機械工程,1999(1).
[7] 楊樂平,,李海濤,,肖相生,等.LabVIEW程序設(shè)計與應(yīng)用[M].電子工業(yè)出版社.