http://kadhoai.com.cn 2026-04-26 18:21:02 來源:美國國家儀器(NI)有限公司
20多年的持續創新
20多年以後,當LabVIEW成為了工程師和科學家們的標準圖形化設計平台,為其工程創新不斷提供源動力之時,LabVIEW的最初創始人們一定會回想起1.0版本誕生時他們對這一革命性的圖形化編程環境所抱有的期待和願景……
1983年,NI的de工gong程cheng師shi們men受shou到dao了le電dian子zi製zhi表biao軟ruan件jian為wei金jin融rong領ling域yu帶dai來lai巨ju大da便bian利li的de啟qi發fa,也ye決jue定ding著zhe手shou發fa明ming一yi種zhong同tong樣yang高gao效xiao的de工gong具ju,幫bang助zhu工gong程cheng師shi和he科ke學xue家jia們men簡jian化hua測ce試shi測ce量liang自zi動dong化hua項xiang目mu的de開kai發fa過guo程cheng。
與此同時,蘋果公司推出的Macintosh計ji算suan機ji的de一yi係xi列lie圖tu形xing化hua特te性xing也ye為wei他ta們men提ti供gong了le嶄zhan新xin的de思si路lu。他ta們men發fa現xian,相xiang對dui於yu輸shu入ru一yi串chuan串chuan的de命ming令ling行xing進jin行xing操cao作zuo,人ren們men使shi用yong鼠shu標biao和he圖tu形xing化hua界jie麵mian時shi所suo發fa揮hui的de創chuang造zao力li和he高gao效xiao率lv是shi前qian所suo未wei有you的de,因yin此ci“圖形化”編程理念成為了LabVIEW最根本的核心。
LabVIEW從最初就被設計為一種強大的高層架構型編程語言,自1986年1.0版誕生以來,縱觀其20多年的發展(圖1),可以發現,每次LabVIEW的主要升級版本的發布都包含了很多全新的特性。

圖1 LabVIEW 20多年的持續創新
LabVIEW 3.0首次實現了多平台兼容的特性,保證相同的代碼可以運行在多個操作係統中;LabVIEW 5則推出了實時(Real Time)模塊,允許工程師們將在主機上開發的LabVIEW代(dai)碼(ma)進(jin)行(xing)自(zi)動(dong)編(bian)譯(yi),使(shi)其(qi)運(yun)行(xing)在(zai)實(shi)時(shi)硬(ying)件(jian)對(dui)象(xiang)中(zhong)。通(tong)過(guo)降(jiang)低(di)在(zai)實(shi)時(shi)係(xi)統(tong)中(zhong)部(bu)署(shu)代(dai)碼(ma)的(de)複(fu)雜(za)度(du),這(zhe)個(ge)創(chuang)新(xin)的(de)理(li)念(nian)幫(bang)助(zhu)工(gong)程(cheng)師(shi)以(yi)一(yi)種(zhong)更(geng)方(fang)便(bian)的(de)方(fang)式(shi)進(jin)行(xing)控(kong)製(zhi)應(ying)用(yong)的(de)開(kai)發(fa);而LabVIEW 7與FPGA技術的結合則又是該理念的進一步升華,從而讓不具備VHDL編程經驗的工程師們也同樣可以進行硬件設計,並且LabVIEW本質上的數據流並行性非常符合FPGA並行電路特性,在此基礎上可以達到很好的空間利用和定時性能;LabVIEW 8.2作為20周年的紀念版,首次推出了中文版,使中國工程師們也能用自己的母語編程,最大程度地提升開發效率;最新的LabVIEW 8.5則更為多核處理器技術提供了強有力的支持,同時也推出了基於UML語言規範的狀態圖設計模塊。綜合而言,LabVIEW通過不斷地融入最新商業可用技術(圖2),讓使用者無需花費過多的精力去學習每個技術的細節就可以直接使用,提升了係統的性能,保證了工程師們長期的投資。

圖2 LabVIEW不斷融入最新商業可用技術
經過這一路20多年的持續創新,LabVIEW憑其核心的圖形化編程理念,突破了原先數據采集與儀器控製的應用領域,蛻變為設計、控製與測試的圖形化係統設計標準平台,其強大的特性(詳全的專業附加工具包、靈活多樣的計算模型、從PC、FPGA到芯片級的運行平台等)進一步幫助工程師在同一個LabVIEW平台上集成從設計、原型到發布的全過程,全麵提高整個工程流程的效率。
強大的圖形化設計平台 詳全的專業附加工具包
我們知道,作為功能強大的圖形化係統設計平台,LabVIEW所涉及的應用領域變得越來越廣泛,因此為了讓不同應用領域的工程師們都能以一種更靈活的方式來使用LabVIEW進行係統開發,安裝附加工具包成為了一個很好的解決方法。
無論是信號處理、自動化測試、工業控製還是嵌入式設計等等,LabVIEW都提供了專業的附加工具包,從而方便工程師們通過靈活的組合實現高效的開發。
例如,僅僅在信號處理方麵,LabVIEW就提供了聲音與振動分析套件(倍頻程及階次分析等)、調製工具包(AM、FM、ASK、QAM等調製算法)、頻譜測量工具包(星座圖、I-Q數字解調等)、數字濾波器設計工具包以及高級信號處理工具包(時頻聯合分析、小波分析等等)。與其它編程語言有所不同,這些LabVIEW工具包將各自專業領域的算法和程序進行了優化的封裝,讓工程師通過直接調用其中的子VI(甚至僅僅通過簡單的配置)得到相應的分析結果,大大減少了開發的時間和精力。
值得一提的是,除了NI官方提供的附加工具包以外,LabVIEW愛好者們也會共享一些自己編寫的小型工具包,幫助LabVIEW應用在更多更廣的領域。這種類似於Wiki百科的大規模協作的發展模式使LabVIEW能夠以一種更積極、開放的方式不斷發展創新。
靈活多樣的計算模型
計(ji)算(suan)模(mo)型(xing),簡(jian)而(er)言(yan)之(zhi),是(shi)一(yi)種(zhong)用(yong)於(yu)描(miao)述(shu)軟(ruan)件(jian)模(mo)塊(kuai)功(gong)能(neng)的(de)表(biao)達(da)方(fang)式(shi),在(zai)學(xue)術(shu)界(jie)這(zhe)個(ge)術(shu)語(yu)一(yi)直(zhi)被(bei)用(yong)來(lai)抽(chou)象(xiang)定(ding)義(yi)計(ji)算(suan)機(ji)係(xi)統(tong)。由(you)於(yu)不(bu)同(tong)的(de)計(ji)算(suan)模(mo)型(xing)在(zai)不(bu)同(tong)領(ling)域(yu)和(he)場(chang)合(he)的(de)應(ying)用(yong)上(shang)往(wang)往(wang)都(dou)存(cun)在(zai)相(xiang)對(dui)的(de)優(you)勢(shi)和(he)劣(lie)勢(shi),為(wei)了(le)實(shi)現(xian)圖(tu)形(xing)化(hua)係(xi)統(tong)設(she)計(ji)的(de)遠(yuan)景(jing)目(mu)標(biao),LabVIEW必須具備使用不同計算模型進行編程的能力,而讓我們欣喜的是,這個想法已經逐漸成為現實。
如今的LabVIEW已經不再僅限於數據流編程這一種方式,它還包括了可以通過DLL將C或Java等文本語言直接調用,使用Mathscript節點實現文本數學編程,在LabVIEW下進行仿真建模以及使用基於UML規(gui)範(fan)的(de)狀(zhuang)態(tai)圖(tu)實(shi)現(xian)高(gao)抽(chou)象(xiang)層(ceng)的(de)係(xi)統(tong)架(jia)構(gou)等(deng)等(deng)。這(zhe)些(xie)靈(ling)活(huo)多(duo)樣(yang)的(de)計(ji)算(suan)模(mo)型(xing)允(yun)許(xu)工(gong)程(cheng)師(shi)們(men)根(gen)據(ju)不(bu)同(tong)的(de)應(ying)用(yong)領(ling)域(yu)選(xuan)擇(ze)最(zui)為(wei)合(he)適(shi)的(de)一(yi)種(zhong)進(jin)行(xing)開(kai)發(fa),一(yi)方(fang)麵(mian)能(neng)夠(gou)讓(rang)工(gong)程(cheng)師(shi)們(men)使(shi)用(yong)他(ta)們(men)熟(shu)悉(xi)的(de)計(ji)算(suan)模(mo)型(xing)進(jin)行(xing)開(kai)發(fa),另(ling)一(yi)方(fang)麵(mian),又(you)可(ke)以(yi)充(chong)分(fen)利(li)用(yong)其(qi)它(ta)計(ji)算(suan)模(mo)型(xing)的(de)優(you)勢(shi)和(he)特(te)性(xing),實(shi)現(xian)係(xi)統(tong)級(ji)開(kai)發(fa)的(de)效(xiao)率(lv)最(zui)優(you)。
例如,LabVIEW用戶在設計一個激光控製係統時,可以使用狀態圖來定義狀態,使用數據流方式在FPGA芯片中實現控製邏輯,並使用仿真模型來對激光進行動態仿真。可見,這種“采各家之長”的理念,讓LabVIEW甚至超越了編程語言的範疇,成為了更高層的係統級的設計平台。
從PC、FPGA到芯片級的運行平台
自LabVIEW誕生以來,NI的工程師們就有一個夢想,希望能夠將LabVIEW的代碼“編譯直接下載到目標硬件”中,但在當時他們並不清楚如何將其變為現實。
2005年推出的LabVIEW 8中為分布在不同計算目標上的各種應用程序的開發與發布提供了有力的支持。這種“分布式智能”的架構使相同的LabVIEW代碼可以下載到不同的硬件平台中運行,而這正是實現上述夢想的一個基礎條件。
如今的LabVIEW已經可以通過不同的模塊將代碼下載到從PC、FPGA到芯片級的硬件平台中,這個特性使工程師們在產品設計、原型到發布三個過程中都能利用相同的代碼,減少了代碼移植所帶來的風險和問題。
其中,LabVIEW與FPGA的完美結合是最為靚麗的一抹。FPGA作為一種主流的技術,它通常需要使用VHDL這樣的硬件語言來開發,這種語言需要很長的學習時間,以及深厚的硬件技術背景,“進入門檻”相對較高。而LabVIEW本身並行化的編程方式允許工程師們能以直觀的方式來實現FPGA的邏輯功能(圖3),因此無需VHDL就可以讓更多的工程師都能得益於FPGA技術。

圖3 LabVIEW簡化FPGA的開發過程
[page_break]
除FPGA之外,最新版的LabVIEW還能夠將代碼運行於各種其它嵌入式平台中,包括工業觸摸屏、ADI Blackfin微處理器、DSP芯片以及基於ARM的微控製器等等。因此,可以預見的是,將LabVIEW代碼“下載到任何目標硬件”的時代已不再遙遠。

圖4 強大的LabVIEW圖形化設計平台
最後,當我們從開發平台的角度(圖4)再來審視一下LabVIEWshangshuzhesangezhongyaotexingshi,womenhuifaxian,xiangquandefujiagongjubaoranggongchengshimennenggouzaijubeitedingyingyonglingyudezhuanyezhishihejisuangongnengdetongshi,yenengxiangshoudaotuxinghuabianchengsuodailaidegezhongbianli;而靈活多樣的計算模型則使LabVIEW超越其它編程語言、成為係統級設計平台的一個必要條件;最後,通過LabVIEW各種模塊來實現不同硬件的代碼部署,工程師們可以在產品設計、原型到生產這些不同的階段都能使用統一的開發平台,保證了代碼的長期投資。
LabVIEW助力工程創新
如今的LabVIEW在測試、測量與自動化領域已經處於“無處不在”的領先地位,幫助工程師和科學家們高效地完成各自的應用,實現工程創新:
美國伊利諾伊大學(University of Illinois)的工程係學生們使用LabVIEW設計了世界上第一台可以用人的思維去控製的輪椅(圖5)。借助LabVIEW強大的信號合成、頻譜分析以及數字信號處理功能,他們高效地開發了複雜的算法將神經信號翻譯成控製命令,創造性地為殘疾人提供了福音。

圖5 使用LabVIEW設計世界第一台用思維控製的輪椅
世界上最大的粒子物理實驗室CERN,是一個致力於研究物質的基本構成及物質間的相互作用的研究組織。選用LabVIEW以及FPGA模塊,CERN成功開發了基於FPGA的運行控製係統,實現了在世界上最強大的粒子加速度器-大型強子對撞機(LHC)上進行實時測量與控製大量組件位置,從粒子束核心中吸收粒子能量,同時也確保了可靠性和精確性。利用LabVIEW FPGA,使得他們可以快速地整合所需的功能,省卻了不必要的成本和學習周期,降低了係統對人力資源的需求。
與此同時,在消費電子(iphone的產線測試)、汽車電子(BMW氫能7係硬件在環測試)、航空航天(波音飛機噪聲定位測試)、石油化工(Nexans公司石油勘察係統)、綠色工程(加州大學對哥斯達黎加進行雨林環境監測)等等領域,LabVIEW也都扮演著舉足輕重的角色,甚至於2008年北京奧運會的“鳥巢”與“水立方”體育場健康監測係統都是用LabVIEW來開發完成的。
我們欣喜地看到,LabVIEW正與工程師們一起,合力創造一個更好的工程世界!
展望 那麼,未來的LabVIEW將如何發展?
對(dui)於(yu)這(zhe)個(ge)問(wen)題(ti),讓(rang)我(wo)們(men)先(xian)從(cong)多(duo)核(he)處(chu)理(li)器(qi)技(ji)術(shu)談(tan)起(qi)。眾(zhong)所(suo)周(zhou)知(zhi),由(you)於(yu)芯(xin)片(pian)能(neng)耗(hao)與(yu)熱(re)效(xiao)應(ying)的(de)限(xian)製(zhi),芯(xin)片(pian)製(zhi)造(zao)商(shang)已(yi)經(jing)開(kai)始(shi)轉(zhuan)向(xiang)全(quan)新(xin)的(de)芯(xin)片(pian)結(jie)構(gou),那(na)就(jiu)是(shi)多(duo)核(he)技(ji)術(shu)。以(yi)往(wang),當(dang)電(dian)腦(nao)升(sheng)級(ji)到(dao)一(yi)個(ge)更(geng)快(kuai)速(su)的(de)CPUhou,yejiuyiweizhemeiyitiaodulizhilingdeyunxingsududouhuijiakuai。errujinshiyongduohezhihou,ruguoyaoxiangjixutigaoxingneng,kaifazhejiuxuyaokaifayigebingxingchengxulaiqudaishunxuchengxu。ranerzheduiyuxuduoxiguanyukaifadanxianchengyingyongdekaifazhelaishuoshiyigejidadetiaozhan,tamenxuyaozhuanmendeyuyichuangjianheguanlixiancheng,bingqiezaixianchenganquanfangshixiajinxingshujudechuansong。
相比之下,LabVIEW由於其本身就是一種並行的編程結構,因此非常適合於創建並行的多線程應用;而在LabVIEW 5時就開始支持多線程,編譯器可以自動識別線程並創建線程到不同的任務和循環上,再由操作係統分配到不同的核上運行(圖6)。

圖6 LabVIEW本身就是自動多線程的編程語言
為了更好地與多核技術完美結合,LabVIEW 8.5還針對性地提供了更多的特性:例(li)如(ru)工(gong)程(cheng)師(shi)可(ke)以(yi)根(gen)據(ju)自(zi)己(ji)需(xu)求(qiu)手(shou)動(dong)設(she)置(zhi)線(xian)程(cheng)運(yun)行(xing)在(zai)特(te)定(ding)的(de)核(he)上(shang),將(jiang)時(shi)間(jian)確(que)定(ding)性(xing)要(yao)求(qiu)苛(ke)刻(ke)的(de)采(cai)集(ji)與(yu)控(kong)製(zhi)任(ren)務(wu)放(fang)在(zai)單(dan)獨(du)的(de)核(he)上(shang)運(yun)行(xing),而(er)將(jiang)對(dui)確(que)定(ding)性(xing)要(yao)求(qiu)不(bu)高(gao)的(de)界(jie)麵(mian)響(xiang)應(ying)、數據錄入等任務放在另外一個核上運行(圖7)。

圖7 LabVIEW 允許用戶手動分配線程在指定的核上運行
縱觀LabVIEW的前世今生,我們可以很明顯地感受到,新的技術的不斷吸收和融合,是推動LabVIEW飛(fei)躍(yue)發(fa)展(zhan)的(de)源(yuan)動(dong)力(li),多(duo)核(he)處(chu)理(li)器(qi)技(ji)術(shu)就(jiu)是(shi)其(qi)中(zhong)最(zui)為(wei)典(dian)型(xing)的(de)一(yi)例(li)。而(er)這(zhe)些(xie)主(zhu)流(liu)的(de)商(shang)業(ye)可(ke)用(yong)技(ji)術(shu)將(jiang)向(xiang)更(geng)多(duo)新(xin)的(de)應(ying)用(yong)領(ling)域(yu)敞(chang)開(kai)大(da)門(men),從(cong)而(er)開(kai)啟(qi)一(yi)個(ge)又(you)一(yi)個(ge)新(xin)的(de)紀(ji)元(yuan)。
那麼,當我們在真切地感受到了如今LabVIEW強大的功能和廣泛的應用領域的同時,對於它的未來,您是否也和我一樣,留有著更多的興奮與期待呢?