說(shuō)起LabVIEW大多數(shù)人在接觸編程軟件時(shí)都離不開(kāi)虛擬儀器。在這里,我們來(lái)看看什么是虛擬儀器,什么是虛擬儀器。LabVIEW,他們之間的關(guān)系是什么,下面簡(jiǎn)單說(shuō)明一下,以便記錄和理解。
1.什么是虛擬儀器
“虛擬儀器”從字面上看,它是一種相對(duì)于傳統(tǒng)儀器而被稱(chēng)為虛擬的測(cè)量?jī)x器。我們知道傳統(tǒng)的電子測(cè)量?jī)x器,如示波器.頻譜儀.信號(hào)源等家生產(chǎn)的信號(hào)源,具有特定的功能和儀器外觀,如典型的數(shù)字示波器儀表外觀如下圖所示:
至于虛擬儀器,它具有傳統(tǒng)儀器的功能,但其組成部分或組成不同于傳統(tǒng)儀器。例如,對(duì)于上圖中的數(shù)字示波器,虛擬示波器的外觀可能如下圖所示:
它與傳統(tǒng)儀器的主要區(qū)別在于,虛擬儀器的硬件部分由基本的測(cè)試硬件模塊(如AD由采集模塊)和計(jì)算機(jī)組成,通過(guò)某種總線形式的有機(jī)組合形成一個(gè)基本的硬件平臺(tái),然后在計(jì)算機(jī)屏幕上顯示虛擬儀器面板。除了虛擬面板上的數(shù)據(jù)結(jié)果的波形圖外,還提供了開(kāi)關(guān)按鈕等各種控制器來(lái)操作儀器。此外,儀器的內(nèi)部功能也是通過(guò)計(jì)算機(jī)上的軟件編程來(lái)實(shí)現(xiàn)的。
所以,說(shuō)到這里,虛擬儀器的概念也就出來(lái)了,主要包括以下三個(gè)要素:
硬件部分:虛擬儀器的基礎(chǔ),由計(jì)算機(jī)和特定的硬件測(cè)試模塊組成:
軟件部分:利用計(jì)算機(jī)強(qiáng)大的計(jì)算處理能力來(lái)定義儀器的具體功能;
面板部分:虛擬面板顯示在電腦屏幕上,包括波形圖的顯示和各種按鈕的操作。
我們知道,從內(nèi)部功能的角度來(lái)看,電子測(cè)量?jī)x器可以分為三個(gè)部分:收集和生成部分.分析處理部分.顯示和輸出部分。所以從這個(gè)角度來(lái)看,虛擬儀器與傳統(tǒng)儀器的區(qū)別也很容易理解,即:
傳統(tǒng)儀器:三部分由硬件完成;
虛擬儀器:只有收集和生產(chǎn)的部分是由硬件完成的,而其他兩部分都是由軟件完成的。
綜上所述,虛擬儀器以軟件為核心,利用計(jì)算機(jī)強(qiáng)大的數(shù)據(jù)處理能力,處理傳統(tǒng)儀器中硬件電子線路實(shí)現(xiàn)的信號(hào).通過(guò)計(jì)算機(jī)軟件實(shí)現(xiàn)結(jié)果顯示和儀器控制,用戶可以通過(guò)虛擬面板操作計(jì)算機(jī)實(shí)現(xiàn)測(cè)試儀器的操作。
與傳統(tǒng)儀器相比,虛擬儀器有什么好處?以下是一些明顯的優(yōu)勢(shì),成本低.開(kāi)發(fā)周期短.使用最新的軟件和計(jì)算機(jī)技術(shù).功能靈活靈活可以自定義.美麗的人機(jī)交互界面等。虛擬儀器技術(shù)的應(yīng)用簡(jiǎn)化了現(xiàn)代電子測(cè)量?jī)x器的硬件設(shè)計(jì),不僅降低了測(cè)試系統(tǒng)的成本,而且使測(cè)試系統(tǒng)更加高效和靈活。
2.何謂LabVIEW
什么是虛擬儀器?LabVIEW又是什么?LabVIEW是美國(guó)NI(NationalInstrument)一種用于虛擬儀器軟件開(kāi)發(fā)的編程語(yǔ)言,其全稱(chēng)是公司的全稱(chēng)LaboratoryVirtualInstrumentEngineeringWorkbench實(shí)驗(yàn)室虛擬儀器工程平臺(tái)的縮寫(xiě)。
目前主流的編程語(yǔ)言有很多種,比如C/C++語(yǔ)言.C#語(yǔ)言.Basic語(yǔ)言.Matlab.Python語(yǔ)言等等,那我們?yōu)槭裁匆x擇呢?LabVIEW開(kāi)發(fā)語(yǔ)言作為虛擬儀器軟件的首選?
在回答這個(gè)問(wèn)題之前,讓我們考慮一下,當(dāng)您開(kāi)發(fā)虛擬儀器軟件時(shí),您選擇的編程語(yǔ)言必須具備哪些功能,以便于我們開(kāi)發(fā)或提高開(kāi)發(fā)效率?讓我們來(lái)談?wù)劊?/p>
首先,必須有各種現(xiàn)成的儀器控制,如各種開(kāi)關(guān)和關(guān)閉.旋鈕.指示燈.這些常見(jiàn)的儀器控件,如圖表顯示,代表真實(shí)儀器的外觀;
第二,必須有一個(gè)現(xiàn)成的各種信號(hào)分析和處理數(shù)據(jù)庫(kù)。收集數(shù)據(jù)后,應(yīng)進(jìn)行各種處理,如FFT變換.濾波等處理;
第三,虛擬儀器軟件要處理硬件測(cè)試模塊,一定要有各種硬件驅(qū)動(dòng)程序庫(kù),便于控制硬件;
第四,必須具有開(kāi)放性,能夠與其他編程語(yǔ)言編寫(xiě)的功能模塊進(jìn)行交互;
第五,要有靈活的調(diào)試方法,編程效率要高。
針對(duì)以上五個(gè)方面,LabVIEW能完美滿足上述條件。LabVIEW它是一種由數(shù)據(jù)流驅(qū)動(dòng)的圖形編程語(yǔ)言。它創(chuàng)建應(yīng)用程序而不是文本編程語(yǔ)言。它的源程序完全是圖形框圖,而不是文本代碼。它使復(fù)雜性.繁瑣.耗時(shí)的語(yǔ)言編程可以簡(jiǎn)化為圖形編程,通過(guò)使用線條連接不同的圖形功能模塊LabVIEW編寫(xiě)軟件的過(guò)程實(shí)際上已經(jīng)成為一個(gè)程序流程框圖的過(guò)程,結(jié)合它提供的各種控件.信號(hào)分析處理函數(shù)庫(kù)可以大大提高我們的編程效率。一個(gè)典型的框圖程序代碼如下圖所示:
想一想,如果用的話C++語(yǔ)言開(kāi)發(fā)虛擬儀器軟件只是軟件界面的一部分。例如,各種儀器顯示控件就足夠麻煩了。此外,各種信號(hào)處理算法.由于缺乏各種儀器的總線驅(qū)動(dòng),我不知道什么時(shí)候?qū)懸粋€(gè)簡(jiǎn)單的波形采集程序,如果你使用它LabVIEW要開(kāi)發(fā)軟件,那可能是半天的時(shí)間。
當(dāng)然,對(duì)于虛擬儀器軟件開(kāi)發(fā)的編程語(yǔ)言選擇,也有編程語(yǔ)言的選擇Agilent公司的圖形語(yǔ)言VEE,然而,使用這種語(yǔ)言的人相對(duì)較少,在各種支持方面也相對(duì)較少LabVIEW也有一定的差距。NI該公司還提供了一個(gè)集成在C語(yǔ)言中的編程環(huán)境LabWindows/CVI,它為C語(yǔ)言開(kāi)發(fā)人員提供了各種控件庫(kù).函數(shù)庫(kù)等功能,但前提是你必須非常熟悉C語(yǔ)言,入門(mén)難,用戶群也不是特別多。
因此,最終,虛擬儀器軟件開(kāi)發(fā)的主流編程語(yǔ)言的選擇自然落在了LabVIEW平臺(tái)上了。
3.總結(jié)
在虛擬儀器軟件開(kāi)發(fā)領(lǐng)域,LabVIEW簡(jiǎn)單易學(xué).圖形直觀的圖形編程語(yǔ)言具有豐富的控件庫(kù),類(lèi)似于傳統(tǒng)儀器的外觀(如旋鈕).儀表盤(pán).溫度計(jì).波形圖等。),可以構(gòu)建一個(gè)漂亮的專(zhuān)業(yè)用戶界面,同時(shí)提供一個(gè)龐大的內(nèi)部函數(shù)庫(kù)(如數(shù)據(jù)采集).分析處理.圖形顯示.數(shù)據(jù)存儲(chǔ)和總線驅(qū)動(dòng)控制等),可滿足各行業(yè)、各領(lǐng)域的發(fā)展需求。
此外,因?yàn)樗皇且环N封閉的語(yǔ)言,而是具有很強(qiáng)的外部接口能力,可以實(shí)現(xiàn)和實(shí)現(xiàn),例如C/C++.Basic.Matlab等編程語(yǔ)言交換能力,現(xiàn)在,LabVIEW它不僅限于虛擬儀器軟件的開(kāi)發(fā),而且已經(jīng)發(fā)展成為一種通用.完善的.開(kāi)放式高級(jí)編程語(yǔ)言。
這篇文章是編碼的,這些東西是原創(chuàng)的+轉(zhuǎn)發(fā)+收藏+贊美它,帶你一起成長(zhǎng)知識(shí)!