- NI LabVIEW的前世今生——你所不知道的LabVIEW
- 發布時間: 修改時間:2009/3/2 10:21:08 瀏覽次數:2244
-
20多年的持續創新
20多年以后,當LabVIEW成為了工程師和科學家們的標準圖形化設計平臺,為其工程創新不斷提供源動力之時,LabVIEW的最初創始人們一定會回想起1.0版本誕生時他們對這一革命性的圖形化編程環境所抱有的期待和愿景……
1983年,NI的工程師們受到了電子制表軟件為金融領域帶來巨大便利的啟發,也決定著手發明一種同樣高效的工具,幫助工程師和科學家們簡化測試測量自動化項目的開發過程。
與此同時,蘋果公司推出的Macintosh計算機的一系列圖形化特性也為他們提供了嶄新的思路。他們發現,相對于輸入一串串的命令行進行操作,人們使用鼠標和圖形化界面時所發揮的創造力和高效率是前所未有的,因此“圖形化”編程理念成為了LabVIEW最根本的核心。
LabVIEW從最初就被設計為一種強大的高層架構型編程語言,自1986年1.0版誕生以來,縱觀其20多年的發展(圖1),可以發現,每次LabVIEW的主要升級版本的發布都包含了很多全新的特性。
圖1 LabVIEW 20多年的持續創新LabVIEW 3.0首次實現了多平臺兼容的特性,保證相同的代碼可以運行在多個操作系統中;LabVIEW 5則推出了實時(Real Time)模塊,允許工程師們將在主機上開發的LabVIEW代碼進行自動編譯,使其運行在實時硬件對象中。通過降低在實時系統中部署代碼的復雜度,這個創新的理念幫助工程師以一種更方便的方式進行控制應用的開發;而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能夠以一種更積極、開放的方式不斷發展創新。
靈活多樣的計算模型
計算模型,簡而言之,是一種用于描述軟件模塊功能的表達方式,在學術界這個術語一直被用來抽象定義計算機系統。由于不同的計算模型在不同領域和場合的應用上往往都存在相對的優勢和劣勢,為了實現圖形化系統設計的遠景目標,LabVIEW必須具備使用不同計算模型進行編程的能力,而讓我們欣喜的是,這個想法已經逐漸成為現實。
如今的LabVIEW已經不再僅限于數據流編程這一種方式,它還包括了可以通過DLL將C或Java等文本語言直接調用,使用Mathscript節點實現文本數學編程,在LabVIEW下進行仿真建模以及使用基于UML規范的狀態圖實現高抽象層的系統架構等等。這些靈活多樣的計算模型允許工程師們根據不同的應用領域選擇最為合適的一種進行開發,一方面能夠讓工程師們使用他們熟悉的計算模型進行開發,另一方面,又可以充分利用其它計算模型的優勢和特性,實現系統級開發的效率最優。
例如,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的開發過程除FPGA之外,最新版的LabVIEW還能夠將代碼運行于各種其它嵌入式平臺中,包括工業觸摸屏、ADI Blackfin微處理器、DSP芯片以及基于ARM的微控制器等等。因此,可以預見的是,將LabVIEW代碼“下載到任何目標硬件”的時代已不再遙遠。
圖4 強大的LabVIEW圖形化設計平臺最后,當我們從開發平臺的角度(圖4)再來審視一下LabVIEW上述這三個重要特性時,我們會發現,詳全的附加工具包讓工程師們能夠在具備特定應用領域的專業知識和計算功能的同時,也能享受到圖形化編程所帶來的各種便利;而靈活多樣的計算模型則使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將如何發展?
對于這個問題,讓我們先從多核處理器技術談起。眾所周知,由于芯片能耗與熱效應的限制,芯片制造商已經開始轉向全新的芯片結構,那就是多核技術。以往,當電腦升級到一個更快速的CPU后,也就意味著每一條獨立指令的運行速度都會加快。而如今使用多核之后,如果要想繼續提高性能,開發者就需要開發一個并行程序來取代順序程序。然而這對于許多習慣于開發單線程應用的開發者來說是一個極大的挑戰,他們需要專門的語義創建和管理線程,并且在線程安全方式下進行數據的傳送。
相比之下,LabVIEW由于其本身就是一種并行的編程結構,因此非常適合于創建并行的多線程應用;而在LabVIEW 5時就開始支持多線程,編譯器可以自動識別線程并創建線程到不同的任務和循環上,再由操作系統分配到不同的核上運行(圖6)。
圖6 LabVIEW本身就是自動多線程的編程語言為了更好地與多核技術完美結合,LabVIEW 8.5還針對性地提供了更多的特性:例如工程師可以根據自己需求手動設置線程運行在特定的核上,將時間確定性要求苛刻的采集與控制任務放在單獨的核上運行,而將對確定性要求不高的界面響應、數據錄入等任務放在另外一個核上運行(圖7)。
圖7 LabVIEW 允許用戶手動分配線程在指定的核上運行縱觀LabVIEW的前世今生,我們可以很明顯地感受到,新的技術的不斷吸收和融合,是推動LabVIEW飛躍發展的源動力,多核處理器技術就是其中最為典型的一例。而這些主流的商業可用技術將向更多新的應用領域敞開大門,從而開啟一個又一個新的紀元。
那么,當我們在真切地感受到了如今LabVIEW強大的功能和廣泛的應用領域的同時,對于它的未來,您是否也和我一樣,留有著更多的興奮與期待呢?
- 企業介紹
- 產品分類
- 該公司暫未設置產品類別
- 聯系方式
美國國家儀器(NI)有限公司
聯系人:NI
地址:上海浦東張江集電港二期張東路1387號第45幢
郵編:201203
電話:021-50509800
傳真:021-65556244
公司網址:http://ni.com/china
- 該空間手機版
掃描此二維碼即可訪問該空間手機版
- 網友反饋
- 夏琳 在2024/12/23 14:49:00留言
- 留言類型:我想得到貴公司產品的價格信息,
- 詳細留言:PXI-1000-14機箱
- 陳女士 在2024/12/13 15:43:00留言
- 留言類型:我讓貴公司技術支持人員聯系我,
- 詳細留言:我想了解Labview支持哪些國內操作系統
- 黃先生 在2024/11/18 13:57:00留言
- 留言類型:我讓貴公司技術支持人員聯系我,
- 詳細留言:GPIB-232CT-A安裝驅動軟件
- 李孟釗 在2024/10/10 15:54:00留言
- 留言類型:貴公司技術支持人員聯系我,
- 詳細留言:在貴公司購買了數據采集卡 需要通過配套軟件使用 但因為電腦變動 現在需要重新安裝一遍NI DAQExpress軟件
- 于紅 在2024/8/5 12:46:00留言
- 留言類型:貴公司產品銷售人員聯系我,
- 詳細留言:NI PCI-5114