是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā)的,類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計算機語言的顯著區(qū)別是:其他計算機語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。
虛擬儀器 (VI) 的概念
虛擬儀器(virtual instrument)是基于計算機的儀器。計算機和儀器的密切結合是目前儀器發(fā)展的一個重要方向。粗略地說這種結合有兩種方式,一種是將計算機裝入儀器,其典型的例子就是所謂智能化的儀器。隨著計算機功能的日益強大以及其體積的日趨縮小,這類儀器功能也越來越強大,目前已經(jīng)出現(xiàn)含嵌入式系統(tǒng)的儀器。另一種方式是將儀器裝入計算機。以通用的計算機硬件及操作系統(tǒng)為依托,實現(xiàn)各種儀器功能。虛擬儀器主要是指這種方式。上面的框圖反映了常見的虛擬儀器方案。
虛擬儀器實際上是一個按照儀器需求組織的數(shù)據(jù)采集系統(tǒng)。虛擬儀器的研究中涉及的基礎理論主要有計算機數(shù)據(jù)采集和數(shù)字信號處理。目前在這一領域內(nèi),使用較為廣泛的計算機語言是美國NI 公司的 LabVIEW。
虛擬儀器的起源可以追溯到20世紀70年代,那時計算機測控系統(tǒng)在國防、航天等領域已經(jīng)有了相當?shù)陌l(fā)展。PC機出現(xiàn)以后,儀器級的計算機化成為可能,甚至在 Microsof t公司的 Windows 誕生之前,NI公司已經(jīng)在Macintosh計算機上推出了LabVIEW2.0 以前的版本。對虛擬儀器和 LabVIEW長期、系統(tǒng)、有效的研究開發(fā)使得該公司成為業(yè)界公認的權威。目前LabVIEW 的最新版本為 LabVIEW2011,LabVIEW 2009 為多線程功能添加了更多特性,這種特性在 1998 年的版本 5 中被初次引入。使用 LabVIEW 軟件,用戶可以借助于它提供的軟件環(huán)境,該環(huán)境由于其數(shù)據(jù)流編程特性、LabVIEW Real-Time 工具對嵌入式平臺開發(fā)的多核支持,以及自上而下的為多核而設計的軟件層次,是進行并行編程的首選。
普通的 PC 有一些不可避免的弱點。用它構建的虛擬儀器或計算機測試系統(tǒng)性能不可能太高。目前作為計算機化儀器的一個重要發(fā)展方向是制定了VXI 標準,這是一種插卡式的儀器。每一種儀器是一個插卡,為了保證儀器的性能,又采用了較多的硬件,但這些卡式儀器本身都沒有面板,其面板仍然用虛擬的方式在計算機屏幕上出現(xiàn)。這些卡插入標準的 VXI 機箱,再與計算機相連,就組成了一個測試系統(tǒng)。VXI 儀器價格昂貴,目前又推出了一種較為便宜的 PXI 標準儀器。
LabVIEW 的概念
與 C 和 BASIC 一樣,LabVIEW也是通用的編程系統(tǒng),有一個完成任何編程任務的龐大函數(shù)庫。LabVIEW的函數(shù)庫包括數(shù)據(jù)采集、GPIB、串口控制、數(shù)據(jù)分析、數(shù)據(jù)
LabVIEW標志
顯示及數(shù)據(jù)存儲,等等。LabVIEW也有傳統(tǒng)的程序調(diào)試工具,如設置斷點、以動畫方式顯示數(shù)據(jù)及其子程序(子VI)的結果、單步執(zhí)行等等,便于程序的調(diào)試。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種用圖標代替文本行創(chuàng)建應用程序的圖形化編程語言。傳統(tǒng)文本編程語言根據(jù)語句和指令的先后順序決定程序執(zhí)行順序,而 LabVIEW則采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點之間的數(shù)據(jù)流向決定了VI及函數(shù)的執(zhí)行順序。VI指虛擬儀器,是 LabVIEW的程序模塊。
LabVIEW提供很多外觀與傳統(tǒng)儀器(如示波器、萬用表)類似的控件,可用來方便地創(chuàng)建用戶界面。用戶界面在 LabVIEW中被稱為前面板。使用圖標和連線,可以通過編程對前面板上的對象進行控制。這就是圖形化源代碼,又稱G代碼。LabVIEW]的圖形化源代碼在某種程度上類似于流程圖,因此又被稱作程序框圖代碼。
特點
盡可能采用了通用的硬件,各種儀器的差異主要是軟件。
可充分發(fā)揮計算機的能力,有強大的數(shù)據(jù)處理功能,可以創(chuàng)造出功能更強的儀器。
用戶可以根據(jù)自己的需要定義和制造各種儀器。
未來
虛擬儀器研究的另一個問題是各種標準儀器的互連及與計算機的連接。目前使用較多的是IEEE488 或 GPIB協(xié)議。未來的儀器也應當是網(wǎng)絡化的。
LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一種圖形化的編程語言的開發(fā)環(huán)境,它廣泛地被工業(yè)界、學術界和研究實驗室所接受,視為一個標準的數(shù)據(jù)采集和儀器控制軟件。LabVIEW集成了與滿足 GPIB、VXI、RS-232和 RS-485 協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能。它還內(nèi)置了便于應用TCP/IP、ActiveX等軟件標準的庫函數(shù)。這是一個功能強大且靈活的軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動有趣。
圖形化的程序語言,又稱為 “G” 語言。使用這種語言編程時,基本上不寫程序代碼,取而代之的是流程圖或框圖。它盡可能利用了技術人員、科學家、工程師所熟悉的術語、圖標和概念,因此,LabVIEW是一個面向最終用戶的工具。它可以增強你構建自己的科學和工程系統(tǒng)的能力,提供了實現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進行原理研究、設計、測試并實現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率。
利用 LabVIEW,可產(chǎn)生獨立運行的可執(zhí)行文件,它是一個真正的32位/64位編譯器。像許多重要的軟件一樣,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多種版本。
它主要的方便就是,一個硬件的情況下,可以通過改變軟件,就可以實現(xiàn)不同的儀器儀表的功能,非常方便,是相當于軟件即硬件!現(xiàn)在的圖形化主要是上層的系統(tǒng),國內(nèi)現(xiàn)在已經(jīng)開發(fā)出圖形化的單片機編程系統(tǒng)(支持32位的嵌入式系統(tǒng),并且可以擴展的),不斷完善中(大家可以搜索 CPUVIEW 會有更詳細信息;)
LABVIEW的應用領域
LABVIEW有很多優(yōu)點,尤其是在某些特殊領域其特點尤其突出。
測試測量:LABVIEW最初就是為測試測量而設計的,因而測試測量也就是現(xiàn)在LABVIEW最廣泛的應用領域。經(jīng)過多年的發(fā)展,LABVIEW在測試測量領域獲得了廣泛的承認。至今,大多數(shù)主流的測試儀器、數(shù)據(jù)采集設備都擁有專門的LabVIEW驅動程序,使用LabVIEW可以非常便捷的控制這些硬件設備。同時,用戶也可以十分方便地找到各種適用于測試測量領域的LabVIEW工具包。這些工具包幾乎覆蓋了用戶所需的所有功能,用戶在這些工具包的基礎上再開發(fā)程序就容易多了。有時甚至于只需簡單地調(diào)用幾個工具包中的函數(shù),就可以組成一個完整的測試測量應用程序。
控制:控制與測試是兩個相關度非常高的領域,從測試領域起家的LabVIEW自然而然地首先拓展至控制領域。LabVIEW擁有專門用于控制領域的模塊----LabVIEWDSC。除此之外,工業(yè)控制領域常用的設備、數(shù)據(jù)線等通常也都帶有相應的LabVIEW驅動程序。使用LabVIEW可以非常方便的編制各種控制程序。
仿真:LabVIEW包含了多種多樣的數(shù)學運算函數(shù),特別適合進行模擬、仿真、原型設計等工作。在設計機電設備之前,可以現(xiàn)在計算機上用LabVIEW搭建仿真原型,驗證設計的合理性,找到潛在的問題。在高等教育領域,有時如果使用LabVIEW進行軟件模擬,就可以達到同樣的效果,使學生不致失去實踐的機會。
兒童教育:由于圖形外觀漂亮且容易吸引兒童的注意力,同時圖形比文本更容易被兒童接受和理解,所以LabVIEW非常受少年兒童的歡迎。對于沒有任何計算機知識的兒童而言,可以把LabVIEW理解成是一種特殊的“積木”:把不同的原件搭在一起,就可以實現(xiàn)自己所需的功能。著名的可編程玩具“樂高積木”使用的就是LabVIEW編程語言。兒童經(jīng)過短暫的指導就可以利用樂高積木提供的積木搭建成各種車輛模型、機器人等,再使用LabVIEW編寫控制其運動和行為的程序。除了應用于玩具,LabVIEW還有專門用于中小學生教學使用的版本。
快快速開發(fā):根據(jù)筆者參與的一些項目統(tǒng)計,完成一個功能類似的大型應用軟件,熟練的LabVIEW程序員所需的開發(fā)時間,大概只是熟練的C程序員所需時間的1/5左右。所以,如果項目開發(fā)時間緊張,應該優(yōu)先考慮使用LabVIEW,以縮短開發(fā)時間。
跨平臺:如果同一個程序需要運行于多個硬件設備之上,也可以優(yōu)先考慮使用LabVIEW。LabVIEW具有良好的平臺一致性。LabVIEW的代碼不需任何修改就可以運行在常見的三大臺式機操作系統(tǒng)上:Windows、Mac OS 及 Linux。除此之外,LabVIEW還支持各種實時操作系統(tǒng)和嵌入式設備,比如常見的PDA、FPGA以及運行VxWorks和PharLap系統(tǒng)的RT設備。