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