python和labview的区别_测量仪器科普:LabVIEW与虚拟仪器那点事
說起LabVIEW編程軟件,大家接觸的時(shí)候大多是與虛擬儀器分不開的,這兒理一下什么是虛擬儀器,什么是LabVIEW,它們之間關(guān)系是怎樣的,下面作個(gè)簡(jiǎn)單的說明,以便記錄及理解。
1、何謂虛擬儀器
“虛擬儀器”從字面上簡(jiǎn)單的理解,它就是一種測(cè)量?jī)x器,只所以稱之為虛擬,是相對(duì)于傳統(tǒng)儀器來(lái)說的。我們知道,傳統(tǒng)的電子測(cè)量?jī)x器如示波器、頻譜儀、信號(hào)源等,都是由專業(yè)廠家生產(chǎn)的,具有特定的功能和儀器外觀,如一臺(tái)典型的數(shù)字示波器儀器外觀如下圖所示:
而虛擬儀器呢,它具備傳統(tǒng)儀器的功能,只是它的組成部分或者構(gòu)成方式與傳統(tǒng)儀器不同。如對(duì)于上圖的數(shù)字示波器來(lái)講,虛擬示波器的樣子可能如下圖所示:
它與傳統(tǒng)儀器的主要區(qū)別是,虛擬儀器的硬件部分是由基本的測(cè)試硬件模塊(如AD采集模塊)和計(jì)算機(jī)組成,兩者通過某種總線形式進(jìn)行有機(jī)結(jié)合后構(gòu)成基本的硬件平臺(tái),然后在計(jì)算機(jī)屏幕上顯示虛擬的儀器面板,在虛擬面板上除數(shù)據(jù)結(jié)果的波形圖顯示外,也提供了各種如開關(guān)按鈕等控件對(duì)儀器進(jìn)行操作。另外,儀器的內(nèi)部功能也是通過軟件編程在計(jì)算機(jī)上實(shí)現(xiàn)的。
因此,說到這兒,虛擬儀器的概念也就出來(lái)了,主要包括下面三個(gè)要素:
硬件部分:是虛擬儀器的基礎(chǔ),由計(jì)算機(jī)和具體的硬件測(cè)試模塊構(gòu)成:軟件部分:是虛擬儀器的核心,利用計(jì)算機(jī)強(qiáng)大的計(jì)算處理能力定義儀器的具體功能;面板部分:在計(jì)算機(jī)屏幕上顯示虛擬面板,包括波形圖的顯示及各種按鈕的操作。
我們知道,電子測(cè)量?jī)x器從內(nèi)部功能構(gòu)成的角度可以分為三個(gè)部分,分別為采集與產(chǎn)生部分、分析和處理部分、顯示和輸出部分。那么從這個(gè)角度來(lái)講,虛擬儀器與傳統(tǒng)儀器的區(qū)別也很好理解了,即:
傳統(tǒng)儀器:三個(gè)部分都是由硬件完成的;虛擬儀器:只有采集和產(chǎn)生部分是由硬件完成的,而其它兩部分全由軟件完成。
總而言之,虛擬儀器以軟件為核心,利用計(jì)算機(jī)強(qiáng)大的數(shù)據(jù)處理能力,將以前傳統(tǒng)儀器中由硬件電子線路實(shí)現(xiàn)的信號(hào)處理、結(jié)果顯示和儀器控制用計(jì)算機(jī)軟件來(lái)實(shí)現(xiàn),用戶通過軟件實(shí)現(xiàn)的虛擬面板操作計(jì)算機(jī),即可實(shí)現(xiàn)對(duì)測(cè)試儀器的操作。
那虛擬儀器相對(duì)于傳統(tǒng)儀器有什么好處呢?以下是幾個(gè)明顯的優(yōu)點(diǎn),如生產(chǎn)成本低、開發(fā)周期短、可利用最新的軟件及計(jì)算機(jī)技術(shù)、功能柔性靈活可自定義、人機(jī)交互界面漂亮美觀等。虛擬儀器技術(shù)的應(yīng)用,使得現(xiàn)代電子測(cè)量?jī)x器的硬件設(shè)計(jì)更加簡(jiǎn)化,既降低了測(cè)試系統(tǒng)的組建成本,又可使測(cè)試系統(tǒng)更加高效和靈活。
2、何謂LabVIEW
上面說了什么是虛擬儀器,那LabVIEW又是什么呢?LabVIEW是美國(guó)NI(National Instrument)公司的用于虛擬儀器軟件開發(fā)的一種編程語(yǔ)言,其全稱是Laboratory Virtual Instrument Engineering Workbench的縮寫,其意為實(shí)驗(yàn)室虛擬儀器工程平臺(tái)。
當(dāng)前主流的編程語(yǔ)言有很多種了,如C/C++語(yǔ)言、C#語(yǔ)言、Basic語(yǔ)言、Matlab、Python語(yǔ)言等等,那我們?yōu)槭裁匆x擇LabVIEW作為虛擬儀器軟件的首選開發(fā)語(yǔ)言呢?
在回答這個(gè)問題之前,大家先想一下,當(dāng)你開發(fā)一款虛擬儀器軟件時(shí),你所選的編程語(yǔ)言必須具備哪些功能才能方便我們開發(fā)或者提高開發(fā)效率呢?我們稍微理一下:
第一,必須要有現(xiàn)成的各種儀器控件,如各種開關(guān)、旋鈕、指示燈、圖表顯示等這些常見的儀器控件來(lái)代表真實(shí)儀器的外觀;第二,必須要有現(xiàn)成的各種信號(hào)分析處理庫(kù),采集到數(shù)據(jù)后要作各種處理,如FFT變換、濾波等處理;第三,虛擬儀器軟件要與硬件測(cè)試模塊打交道,所有必須要有各種硬件驅(qū)動(dòng)程序庫(kù),方便操控硬件;第四,必須具有開放性,能與其它編程語(yǔ)言編寫的功能模塊進(jìn)行交互;第五,要有靈活的調(diào)試手段,編程效率要高。
針對(duì)上面五個(gè)方面,LabVIEW都能完美滿足上面的條件。LabVIEW是一種以數(shù)據(jù)流驅(qū)動(dòng)的圖形化編程語(yǔ)言,它代替文本編程語(yǔ)言來(lái)創(chuàng)建應(yīng)用程序,其源程序完全是圖形化的框圖,而不是文本代碼。它把復(fù)雜、繁瑣、費(fèi)時(shí)的語(yǔ)言編程,簡(jiǎn)化為利用線條把各種不同的圖形化功能模塊連接起來(lái)的圖形編程,在LabVIEW中編寫軟件的過程,其實(shí)就變成了一個(gè)程序流程框圖繪制的過程,結(jié)合它提供的各種控件、信號(hào)分析處理函數(shù)庫(kù),可以大大提高我們的編程效率。如一個(gè)典型的框圖程序代碼如下圖所示:
大家想一下,如果用C++語(yǔ)言開發(fā)一款虛擬儀器軟件,只是軟件界面部分,如各種儀表顯示控件,就夠麻煩的了,再加上各種信號(hào)處理算法、各種儀器總線驅(qū)動(dòng)的缺乏,寫一個(gè)簡(jiǎn)單的波形采集程序,那不知要寫到什么時(shí)候了,而如果用LabVIEW軟件來(lái)開發(fā)的話,那可能就是半天的時(shí)間就搞定了。
當(dāng)然,對(duì)于虛擬儀器軟件開發(fā)的編程語(yǔ)言選擇,還有Agilent公司的圖形化語(yǔ)言VEE,只是這種語(yǔ)言用的人相對(duì)少多了,而且在各種支持上相對(duì)于LabVIEW也有一定的差距。此外,NI公司也提供了一種集成于C語(yǔ)言的編程環(huán)境LabWindows/CVI,它為C語(yǔ)言開發(fā)者提供了各種控件庫(kù)、函數(shù)庫(kù)等功能,但前提是你必須非常熟悉C語(yǔ)言,上手難度較大,用戶群也不是特別多。
所以,最終,虛擬儀器軟件開發(fā)的主流編程語(yǔ)言的選擇自然就落到LabVIEW平臺(tái)上了。
3、總結(jié)
在虛擬儀器軟件開發(fā)領(lǐng)域,LabVIEW是一種簡(jiǎn)單易學(xué)、形象直觀的圖形化編程語(yǔ)言,具有豐富的同傳統(tǒng)儀器外觀類似的控件庫(kù)(如旋鈕、儀表盤、溫度計(jì)、波形圖表等),可以構(gòu)建漂亮專業(yè)的用戶界面,同時(shí),內(nèi)部提供了龐大的函數(shù)庫(kù)(如數(shù)據(jù)采集、分析處理、圖形顯示、數(shù)據(jù)存儲(chǔ)及總線驅(qū)動(dòng)控制等),可以滿足各行業(yè)各領(lǐng)域的開發(fā)需求。
另外,由于它并非一種封閉的語(yǔ)言,而是具有強(qiáng)大的外部接口能力,可實(shí)現(xiàn)與諸如C/C++、Basic、Matlab等編程語(yǔ)言互通的能力,現(xiàn)在,LabVIEW不僅僅局限于虛擬儀器軟件類的開發(fā),而是已經(jīng)發(fā)展成為了一種通用的、完善的、開放的高級(jí)編程語(yǔ)言。
本文由編碼那些事原創(chuàng),請(qǐng)關(guān)注+轉(zhuǎn)發(fā)+收藏+點(diǎn)贊吧,帶你一起長(zhǎng)知識(shí)!
總結(jié)
以上是生活随笔為你收集整理的python和labview的区别_测量仪器科普:LabVIEW与虚拟仪器那点事的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三维激光扫描后处理软件_三维激光扫描在建
- 下一篇: Python学习:正则表达式匹配手机号,