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