虛擬儀器概念 如果總結(jié)哪一項技術(shù)在過去50年中,對人類生活的影響最大,那肯定是計算機技術(shù)。計算機歷經(jīng)50年的發(fā)展,現(xiàn)在已經(jīng)滲透到了日常生活的方方面面。似乎生活中的任何一件物品,不與計算機相結(jié)合,就無法再創(chuàng)新;而一旦與計算機結(jié)合在一起,則會立刻迸發(fā)出令人瞠目的活力。 傳統(tǒng)設(shè)備與計算機的結(jié)合通常有兩個方向,一是以計算機為主體,在計算機上添加某些必要硬件設(shè)備,完成傳統(tǒng)設(shè)備的功能;二是以傳統(tǒng)設(shè)備為基礎(chǔ),在其上添加計算機軟硬件。以電話為例,它的發(fā)展方向:一是為計算機配備耳機、麥克風(fēng)、攝像頭等硬件,然后直接通過計算機進行語音、視頻通訊;其二,是把外形和功能都縮減后的計算機直接安裝到電話上,并在安裝上相應(yīng)的系統(tǒng)和應(yīng)用軟件,成為智能手機。 不論采用哪種融合方式,傳統(tǒng)設(shè)備的功能都被革命性的增強了,而其成本卻不斷降低。比如說,在計算機上,可以把電話的單純語音通話功能擴展為語音視頻交流,而起每次通訊的邊際成本幾乎為零;時下流行的各種手機,在嵌入計算機設(shè)備后,除了用于通話,更可以用來娛樂甚至辦公。這些都是傳統(tǒng)電話所不能比擬的。 圖 1 傳統(tǒng)儀器與虛擬儀器的結(jié)構(gòu) 在測試測量領(lǐng)域,測試儀器經(jīng)歷了與電話及其類似的發(fā)展過程。它們或者被植入CPU、內(nèi)存、安裝上軟件,具備了計算機的基本功能;或者被拆解開來,取其核心部件插入到計算機中去,使計算機具備測試功能。這兩種發(fā)展方向都使得儀器的功能更強大,速度更快。但其區(qū)別之處在于,把儀器移植到計算機上,更多考慮的是降低成本;而把計算機移植到儀器上,則更多的是為了滿足儀器小型化的需要。 在計算機運算能力強大到一定程度之后,以“虛擬”為前綴的各項技術(shù)開始紛紛出現(xiàn),比如虛擬現(xiàn)實、虛擬機、虛擬儀器等。虛擬現(xiàn)實是指用計算機表現(xiàn)真實世界;虛擬機是指在一臺計算機上模擬多臺計算機;同樣虛擬儀器是指在計算機上完成儀器的功能。 虛擬儀器的概念是相對于傳統(tǒng)儀器來說的。記得以前上學(xué)做物理實驗時,常常用到萬用表、示波器等儀器,它們每臺儀器就是一個固定的方盒子,它們所有的測量功能都在這個盒子內(nèi)完成,這就是所謂的傳統(tǒng)儀器。而進入到虛擬儀器時代,這種單一功能的方盒子開始逐漸被電腦所取代。 傳統(tǒng)儀器的方盒子,用戶看不到其內(nèi)部,更無法改變其結(jié)構(gòu)。因此,一臺傳統(tǒng)儀器一旦離開它生產(chǎn)線后,其功能和外觀就固定下來了。用戶只能利用一臺傳統(tǒng)儀器完成某個功能固定的測試任務(wù)。一旦測試需求改變,則必須再次購買滿足新需求的儀器。 而虛擬儀器的最大優(yōu)勢則在于,它除了基礎(chǔ)的信號采集部分,其它軟硬件全部采用通用的計算機軟硬件設(shè)備。這些通用的軟硬件設(shè)備可以以低廉的價格進行升級,或者被使用者按自己意愿進行配置。比如,在虛擬儀器上,用戶可以通過升級CPU來加快儀器的處理速度、可以自己編寫程序來改變儀器的測試功能和交互界面。 虛擬儀器系統(tǒng)的軟硬件結(jié)構(gòu) 按照系統(tǒng)中各部分之間的依賴關(guān)系,可以把一套虛擬儀器系統(tǒng)劃分成幾個層次,如圖 2所示。最籠統(tǒng)的劃分方式是把虛擬儀器系統(tǒng)劃分為軟件部分和硬件部分。 雖然軟件是虛擬儀器系統(tǒng)的主體,但硬件仍然是整個系統(tǒng)最基礎(chǔ)的部分。硬件主要負責(zé)將被測量物理信號轉(zhuǎn)換為二進制的數(shù)字信號數(shù)據(jù),而軟件系統(tǒng)一方面負責(zé)控制硬件的工作,一方面又負責(zé)對采集到的數(shù)據(jù)進行分析處理、顯示和存儲。 圖 2 虛擬儀器系統(tǒng)的層次結(jié)構(gòu) 設(shè)計虛擬儀器的硬件部分時需要考慮多種因素,以下列舉其中最主要的幾個: * 被測量物理信號的特性。不同的物理信號需要使用不同類型的傳感器將其轉(zhuǎn)換為可供電腦分析的數(shù)字電信號,而不同的傳感器又需要配備不同的信號調(diào)理模塊。某些早期虛擬儀器系統(tǒng)直接通過GPIB等總線與傳統(tǒng)儀器相連,利用傳統(tǒng)儀器的硬件部分轉(zhuǎn)換和采集被測信號。 * 硬件技術(shù)指標。不同檔次的數(shù)據(jù)采集設(shè)備可以支持的采樣率、分辨率以及精度等都有差別。通常,一套系統(tǒng)會選取能夠滿足測量需要的最低級別硬件或是不超出資金預(yù)算的最高級別硬件。 * 滿足應(yīng)用需求。根據(jù)虛擬儀器系統(tǒng)工作環(huán)境的不同,需要為系統(tǒng)選擇不同種類的運算、控制單元。比如,工作在惡劣環(huán)境下的虛擬儀器系統(tǒng)需要采用工業(yè)級別計算機作為載體;被放置在工業(yè)現(xiàn)場狹小空間內(nèi)的虛擬儀器需要采用嵌入式系統(tǒng);需要滿足多種測量功能的虛擬儀器系統(tǒng)可以選用PXI機箱作為載體。 設(shè)計虛擬儀器系統(tǒng)的軟件部分首先需要考慮的是使用何種開發(fā)平臺。開發(fā)平臺的選擇,一要考慮系統(tǒng)硬件的限制,二要考慮軟件開發(fā)的周期和成本。 某些硬件只支持特定的開發(fā)軟件,比如某些嵌入式系統(tǒng)必須使用Linux操作系統(tǒng)和C編程語言。一般來說基于臺式機的虛擬儀器系統(tǒng)對開發(fā)軟件的支持更全面,可以選擇Windows或其它操作系統(tǒng),可以選擇LabVIEW、VB 、VC等各種常用編程語言。這其實也是在硬件設(shè)計時應(yīng)當(dāng)考慮的因素,選擇虛擬儀器硬件系統(tǒng)的結(jié)構(gòu)時,應(yīng)當(dāng)盡量選擇有完善軟件支持的硬件設(shè)備。 各種開發(fā)軟件的適用場合、難易程度都不盡相同。選擇一種最為廣泛應(yīng)用的開發(fā)語言,可以提高軟件開發(fā)效率,節(jié)省開發(fā)成本,保證系統(tǒng)質(zhì)量。 根據(jù)TIOBE公司統(tǒng)計的各類編程語言的使用情況,近年來Java、C、C++始終是使用的最為廣泛的編程語言。但就測試測量領(lǐng)域來說,情況并非如此。在測控領(lǐng)域,使用最為廣泛的編程語言是LabVIEW,它也是開發(fā)虛擬儀器系統(tǒng)的首選編程語言。 |