虛擬儀器系統(tǒng)的軟硬件結(jié)構(gòu)
圖1虛擬儀器系統(tǒng)的層次結(jié)構(gòu)
雖然軟件是虛擬儀器系統(tǒng)的主體,但硬件仍然是整個(gè)系統(tǒng)最基礎(chǔ)的部分。硬件主要負(fù)責(zé)將被測(cè)量物理信號(hào)轉(zhuǎn)換為二進(jìn)制的數(shù)字信號(hào)數(shù)據(jù),而軟件系統(tǒng)一方面負(fù)責(zé)控制硬件的工作,一方面又負(fù)責(zé)對(duì)采集到的數(shù)據(jù)進(jìn)行分析處理、顯示和存儲(chǔ)。
設(shè)計(jì)虛擬儀器的硬件部分時(shí)需要考慮多種因素,以下列舉其中最主要的幾個(gè):
l 被測(cè)量物理信號(hào)的特性。不同的物理信號(hào)需要使用不同類型的傳感器將其轉(zhuǎn)換為可供電腦分析的數(shù)字電信號(hào),而不同的傳感器又需要配備不同的信號(hào)調(diào)理模塊。某些早期虛擬儀器系統(tǒng)直接通過GPIB等總線與傳統(tǒng)儀器相連,利用傳統(tǒng)儀器的硬件部分轉(zhuǎn)換和采集被測(cè)信號(hào)。
l 硬件技術(shù)指標(biāo)。不同檔次的數(shù)據(jù)采集設(shè)備可以支持的采樣率、分辨率以及精度等都有差別。通常,一套系統(tǒng)會(huì)選取能夠滿足測(cè)量需要的最低級(jí)別硬件或是不超出資金預(yù)算的最高級(jí)別硬件。
l 滿足應(yīng)用需求。根據(jù)虛擬儀器系統(tǒng)工作環(huán)境的不同,需要為系統(tǒng)選擇不同種類的運(yùn)算、控制單元。比如,工作在惡劣環(huán)境下的虛擬儀器系統(tǒng)需要采用工業(yè)級(jí)別計(jì)算機(jī)作為載體;被放置在工業(yè)現(xiàn)場(chǎng)狹小空間內(nèi)的虛擬儀器需要采用嵌入式系統(tǒng);需要滿足多種測(cè)量功能的虛擬儀器系統(tǒng)可以選用PXI機(jī)箱作為載體。
設(shè)計(jì)虛擬儀器系統(tǒng)的軟件部分首先需要考慮的是使用何種開發(fā)平臺(tái)。開發(fā)平臺(tái)的選擇,一要考慮系統(tǒng)硬件的限制,二要考慮軟件開發(fā)的周期和成本。
某些硬件只支持特定的開發(fā)軟件,比如某些嵌入式系統(tǒng)必須使用Linux操作系統(tǒng)和C編程語言。一般來說基于臺(tái)式機(jī)的虛擬儀器系統(tǒng)對(duì)開發(fā)軟件的支持更全面,可以選擇Windows或其它操作系統(tǒng),可以選擇LabVIEW、VB 、VC等各種常用編程語言。這其實(shí)也是在硬件設(shè)計(jì)時(shí)應(yīng)當(dāng)考慮的因素,選擇虛擬儀器硬件系統(tǒng)的結(jié)構(gòu)時(shí),應(yīng)當(dāng)盡量選擇有完善軟件支持的硬件設(shè)備。
各種開發(fā)軟件的適用場(chǎng)合、難易程度都不盡相同。選擇一種最為廣泛應(yīng)用的開發(fā)語言,可以提高軟件開發(fā)效率,節(jié)省開發(fā)成本,保證系統(tǒng)質(zhì)量。
根據(jù)TIOBE(www.tiobe.com)公司統(tǒng)計(jì)的各類編程語言的使用情況,近年來Java、C、C++始終是使用的最為廣泛的編程語言。但就測(cè)試測(cè)量領(lǐng)域來說,情況并非如此。在測(cè)控領(lǐng)域,使用最為廣泛的編程語言是LabVIEW(圖 2),它也是開發(fā)虛擬儀器系統(tǒng)的首選編程語言。
圖2 Reed機(jī)構(gòu)2005年對(duì)測(cè)控領(lǐng)域常用軟件的統(tǒng)計(jì)結(jié)果
評(píng)論