當(dāng)前位置: 首頁(yè) > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > 工業(yè)軟件
發(fā)布日期:2022-04-18 點(diǎn)擊率:335
20多年的持續(xù)創(chuàng)新
20多年以后,當(dāng)LabVIEW成為了工程師和科學(xué)家們的標(biāo)準(zhǔn)圖形化設(shè)計(jì)平臺(tái),為其工程創(chuàng)新不斷提供源動(dòng)力之時(shí),LabVIEW的最初創(chuàng)始人們一定會(huì)回想起1.0版本誕生時(shí)他們對(duì)這一革命性的圖形化編程環(huán)境所抱有的期待和愿景……
1983年,NI的工程師們受到了電子制表軟件為金融領(lǐng)域帶來(lái)巨大便利的啟發(fā),也決定著手發(fā)明一種同樣高效的工具,幫助工程師和科學(xué)家們簡(jiǎn)化測(cè)試測(cè)量自動(dòng)化項(xiàng)目的開(kāi)發(fā)過(guò)程。
與此同時(shí),蘋(píng)果公司推出的Macintosh計(jì)算機(jī)的一系列圖形化特性也為他們提供了嶄新的思路。他們發(fā)現(xiàn),相對(duì)于輸入一串串的命令行進(jìn)行操作,人們使用鼠標(biāo)和圖形化界面時(shí)所發(fā)揮的創(chuàng)造力和高效率是前所未有的,因此“圖形化”編程理念成為了LabVIEW最根本的核心。
LabVIEW從最初就被設(shè)計(jì)為一種強(qiáng)大的高層架構(gòu)型編程語(yǔ)言,自1986年1.0版誕生以來(lái),縱觀其20多年的發(fā)展(圖1),可以發(fā)現(xiàn),每次LabVIEW的主要升級(jí)版本的發(fā)布都包含了很多全新的特性。
LabVIEW 3.0首次實(shí)現(xiàn)了多平臺(tái)兼容的特性,保證相同的代碼可以運(yùn)行在多個(gè)操作系統(tǒng)中;LabVIEW 5則推出了實(shí)時(shí)(Real Time)模塊,允許工程師們將在主機(jī)上開(kāi)發(fā)的LabVIEW代碼進(jìn)行自動(dòng)編譯,使其運(yùn)行在實(shí)時(shí)硬件對(duì)象中。通過(guò)降低在實(shí)時(shí)系統(tǒng)中部署代碼的復(fù)雜度,這個(gè)創(chuàng)新的理念幫助工程師以一種更方便的方式進(jìn)行控制應(yīng)用的開(kāi)發(fā);而LabVIEW 7與FPGA技術(shù)的結(jié)合則又是該理念的進(jìn)一步升華,從而讓不具備VHDL編程經(jīng)驗(yàn)的工程師們也同樣可以進(jìn)行硬件設(shè)計(jì),并且LabVIEW本質(zhì)上的數(shù)據(jù)流并行性非常符合FPGA并行電路特性,在此基礎(chǔ)上可以達(dá)到很好的空間利用和定時(shí)性能;LabVIEW 8.2作為20周年的紀(jì)念版,首次推出了中文版,使中國(guó)工程師們也能用自己的母語(yǔ)編程,最大程度地提升開(kāi)發(fā)效率;最新的LabVIEW 8.5則更為多核處理器技術(shù)提供了強(qiáng)有力的支持,同時(shí)也推出了基于UML語(yǔ)言規(guī)范的狀態(tài)圖設(shè)計(jì)模塊。綜合而言,LabVIEW通過(guò)不斷地融入最新商業(yè)可用技術(shù)(圖2),讓使用者無(wú)需花費(fèi)過(guò)多的精力去學(xué)習(xí)每個(gè)技術(shù)的細(xì)節(jié)就可以直接使用,提升了系統(tǒng)的性能,保證了工程師們長(zhǎng)期的投資。
經(jīng)過(guò)這一路20多年的持續(xù)創(chuàng)新,LabVIEW憑其核心的圖形化編程理念,突破了原先數(shù)據(jù)采集與儀器控制的應(yīng)用領(lǐng)域,蛻變?yōu)樵O(shè)計(jì)、控制與測(cè)試的圖形化系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)平臺(tái),其強(qiáng)大的特性(詳全的專業(yè)附加工具包、靈活多樣的計(jì)算模型、從PC、FPGA到芯片級(jí)的運(yùn)行平臺(tái)等)進(jìn)一步幫助工程師在同一個(gè)LabVIEW平臺(tái)上集成從設(shè)計(jì)、原型到發(fā)布的全過(guò)程,全面提高整個(gè)工程流程的效率。
強(qiáng)大的圖形化設(shè)計(jì)平臺(tái)
詳全的專業(yè)附加工具包
我們知道,作為功能強(qiáng)大的圖形化系統(tǒng)設(shè)計(jì)平臺(tái),LabVIEW所涉及的應(yīng)用領(lǐng)域變得越來(lái)越廣泛,因此為了讓不同應(yīng)用領(lǐng)域的工程師們都能以一種更靈活的方式來(lái)使用LabVIEW進(jìn)行系統(tǒng)開(kāi)發(fā),安裝附加工具包成為了一個(gè)很好的解決方法。
無(wú)論是信號(hào)處理、自動(dòng)化測(cè)試、工業(yè)控制還是嵌入式設(shè)計(jì)等等,LabVIEW都提供了專業(yè)的附加工具包,從而方便工程師們通過(guò)靈活的組合實(shí)現(xiàn)高效的開(kāi)發(fā)。
例如,僅僅在信號(hào)處理方面,LabVIEW就提供了聲音與振動(dòng)分析套件(倍頻程及階次分析等)、調(diào)制工具包(AM、FM、ASK、QAM等調(diào)制算法)、頻譜測(cè)量工具包(星座圖、I-Q數(shù)字解調(diào)等)、數(shù)字濾波器設(shè)計(jì)工具包以及高級(jí)信號(hào)處理工具包(時(shí)頻聯(lián)合分析、小波分析等等)。與其它編程語(yǔ)言有所不同,這些LabVIEW工具包將各自專業(yè)領(lǐng)域的算法和程序進(jìn)行了優(yōu)化的封裝,讓工程師通過(guò)直接調(diào)用其中的子VI(甚至僅僅通過(guò)簡(jiǎn)單的配置)得到相應(yīng)的分析結(jié)果,大大減少了開(kāi)發(fā)的時(shí)間和精力。
值得一提的是,除了NI官方提供的附加工具包以外,LabVIEW愛(ài)好者們也會(huì)共享一些自己編寫(xiě)的小型工具包,幫助LabVIEW應(yīng)用在更多更廣的領(lǐng)域。這種類似于Wiki百科的大規(guī)模協(xié)作的發(fā)展模式使LabVIEW能夠以一種更積極、開(kāi)放的方式不斷發(fā)展創(chuàng)新。
靈活多樣的計(jì)算模型
計(jì)算模型,簡(jiǎn)而言之,是一種用于描述軟件模塊功能的表達(dá)方式,在學(xué)術(shù)界這個(gè)術(shù)語(yǔ)一直被用來(lái)抽象定義計(jì)算機(jī)系統(tǒng)。由于不同的計(jì)算模型在不同領(lǐng)域和場(chǎng)合的應(yīng)用上往往都存在相對(duì)的優(yōu)勢(shì)和劣勢(shì),為了實(shí)現(xiàn)圖形化系統(tǒng)設(shè)計(jì)的遠(yuǎn)景目標(biāo),LabVIEW必須具備使用不同計(jì)算模型進(jìn)行編程的能力,而讓我們欣喜的是,這個(gè)想法已經(jīng)逐漸成為現(xiàn)實(shí)。
如今的LabVIEW已經(jīng)不再僅限于數(shù)據(jù)流編程這一種方式,它還包括了可以通過(guò)DLL將C或Java等文本語(yǔ)言直接調(diào)用,使用Mathscript節(jié)點(diǎn)實(shí)現(xiàn)文本數(shù)學(xué)編程,在LabVIEW下進(jìn)行仿真建模以及使用基于UML規(guī)范的狀態(tài)圖實(shí)現(xiàn)高抽象層的系統(tǒng)架構(gòu)等等。這些靈活多樣的計(jì)算模型允許工程師們根據(jù)不同的應(yīng)用領(lǐng)域選擇最為合適的一種進(jìn)行開(kāi)發(fā),一方面能夠讓工程師們使用他們熟悉的計(jì)算模型進(jìn)行開(kāi)發(fā),另一方面,又可以充分利用其它計(jì)算模型的優(yōu)勢(shì)和特性,實(shí)現(xiàn)系統(tǒng)級(jí)開(kāi)發(fā)的效率最優(yōu)。
例如,LabVIEW用戶在設(shè)計(jì)一個(gè)激光控制系統(tǒng)時(shí),可以使用狀態(tài)圖來(lái)定義狀態(tài),使用數(shù)據(jù)流方式在FPGA芯片中實(shí)現(xiàn)控制邏輯,并使用仿真模型來(lái)對(duì)激光進(jìn)行動(dòng)態(tài)仿真。可見(jiàn),這種“采各家之長(zhǎng)”的理念,讓LabVIEW甚至超越了編程語(yǔ)言的范疇,成為了更高層的系統(tǒng)級(jí)的設(shè)計(jì)平臺(tái)。
從PC、FPGA到芯片級(jí)的運(yùn)行平臺(tái)
自LabVIEW誕生以來(lái),NI的工程師們就有一個(gè)夢(mèng)想,希望能夠?qū)abVIEW的代碼“編譯直接下載到目標(biāo)硬件”中,但在當(dāng)時(shí)他們并不清楚如何將其變?yōu)楝F(xiàn)實(shí)。
2005年推出的LabVIEW 8中為分布在不同計(jì)算目標(biāo)上的各種應(yīng)用程序的開(kāi)發(fā)與發(fā)布提供了有力的支持。這種“分布式智能”的架構(gòu)使相同的LabVIEW代碼可以下載到不同的硬件平臺(tái)中運(yùn)行,而這正是實(shí)現(xiàn)上述夢(mèng)想的一個(gè)基礎(chǔ)條件。
如今的LabVIEW已經(jīng)可以通過(guò)不同的模塊將代碼下載到從PC、FPGA到芯片級(jí)的硬件平臺(tái)中,這個(gè)特性使工程師們?cè)诋a(chǎn)品設(shè)計(jì)、原型到發(fā)布三個(gè)過(guò)程中都能利用相同的代碼,減少了代碼移植所帶來(lái)的風(fēng)險(xiǎn)和問(wèn)題。
其中,LabVIEW與FPGA的完美結(jié)合是最為靚麗的一抹。FPGA作為一種主流的技術(shù),它通常需要使用VHDL這樣的硬件語(yǔ)言來(lái)開(kāi)發(fā),這種語(yǔ)言需要很長(zhǎng)的學(xué)習(xí)時(shí)間,以及深厚的硬件技術(shù)背景,“進(jìn)入門檻”相對(duì)較高。而LabVIEW本身并行化的編程方式允許工程師們能以直觀的方式來(lái)實(shí)現(xiàn)FPGA的邏輯功能(圖3),因此無(wú)需VHDL就可以讓更多的工程師都能得益于FPGA技術(shù)。
除FPGA之外,最新版的LabVIEW還能夠?qū)⒋a運(yùn)行于各種其它嵌入式平臺(tái)中,包括工業(yè)觸摸屏、ADI Blackfin微處理器、DSP芯片以及基于ARM的微控制器等等。因此,可以預(yù)見(jiàn)的是,將LabVIEW代碼“下載到任何目標(biāo)硬件”的時(shí)代已不再遙遠(yuǎn)。
最后,當(dāng)我們從開(kāi)發(fā)平臺(tái)的角度(圖4)再來(lái)審視一下LabVIEW上述這三個(gè)重要特性時(shí),我們會(huì)發(fā)現(xiàn),詳全的附加工具包讓工程師們能夠在具備特定應(yīng)用領(lǐng)域的專業(yè)知識(shí)和計(jì)算功能的同時(shí),也能享受到圖形化編程所帶來(lái)的各種便利;而靈活多樣的計(jì)算模型則使LabVIEW超越其它編程語(yǔ)言、成為系統(tǒng)級(jí)設(shè)計(jì)平臺(tái)的一個(gè)必要條件;最后,通過(guò)LabVIEW各種模塊來(lái)實(shí)現(xiàn)不同硬件的代碼部署,工程師們可以在產(chǎn)品設(shè)計(jì)、原型到生產(chǎn)這些不同的階段都能使用統(tǒng)一的開(kāi)發(fā)平臺(tái),保證了代碼的長(zhǎng)期投資。
LabVIEW助力工程創(chuàng)新
如今的LabVIEW在測(cè)試、測(cè)量與自動(dòng)化領(lǐng)域已經(jīng)處于“無(wú)處不在”的領(lǐng)先地位,幫助工程師和科學(xué)家們高效地完成各自的應(yīng)用,實(shí)現(xiàn)工程創(chuàng)新:
美國(guó)伊利諾伊大學(xué)(University of Illinois)的工程系學(xué)生們使用LabVIEW設(shè)計(jì)了世界上第一臺(tái)可以用人的思維去控制的輪椅(圖5)。借助LabVIEW強(qiáng)大的信號(hào)合成、頻譜分析以及數(shù)字信號(hào)處理功能,他們高效地開(kāi)發(fā)了復(fù)雜的算法將神經(jīng)信號(hào)翻譯成控制命令,創(chuàng)造性地為殘疾人提供了福音。
世界上最大的粒子物理實(shí)驗(yàn)室CERN,是一個(gè)致力于研究物質(zhì)的基本構(gòu)成及物質(zhì)間的相互作用的研究組織。選用LabVIEW以及FPGA模塊,CERN成功開(kāi)發(fā)了基于FPGA的運(yùn)行控制系統(tǒng),實(shí)現(xiàn)了在世界上最強(qiáng)大的粒子加速度器-大型強(qiáng)子對(duì)撞機(jī)(LHC)上進(jìn)行實(shí)時(shí)測(cè)量與控制大量組件位置,從粒子束核心中吸收粒子能量,同時(shí)也確保了可靠性和精確性。利用LabVIEW FPGA,使得他們可以快速地整合所需的功能,省卻了不必要的成本和學(xué)習(xí)周期,降低了系統(tǒng)對(duì)人力資源的需求。
與此同時(shí),在消費(fèi)電子(iphone的產(chǎn)線測(cè)試)、汽車電子(BMW氫能7系硬件在環(huán)測(cè)試)、航空航天(波音飛機(jī)噪聲定位測(cè)試)、石油化工(Nexans公司石油勘察系統(tǒng))、綠色工程(加州大學(xué)對(duì)哥斯達(dá)黎加進(jìn)行雨林環(huán)境監(jiān)測(cè))等等領(lǐng)域,LabVIEW也都扮演著舉足輕重的角色,甚至于2008年北京奧運(yùn)會(huì)的“鳥(niǎo)巢”與“水立方”體育場(chǎng)健康監(jiān)測(cè)系統(tǒng)都是用LabVIEW來(lái)開(kāi)發(fā)完成的。
我們欣喜地看到,LabVIEW正與工程師們一起,合力創(chuàng)造一個(gè)更好的工程世界!
展望
那么,未來(lái)的LabVIEW將如何發(fā)展?
對(duì)于這個(gè)問(wèn)題,讓我們先從多核處理器技術(shù)談起。眾所周知,由于芯片能耗與熱效應(yīng)的限制,芯片制造商已經(jīng)開(kāi)始轉(zhuǎn)向全新的芯片結(jié)構(gòu),那就是多核技術(shù)。以往,當(dāng)電腦升級(jí)到一個(gè)更快速的CPU后,也就意味著每一條獨(dú)立指令的運(yùn)行速度都會(huì)加快。而如今使用多核之后,如果要想繼續(xù)提高性能,開(kāi)發(fā)者就需要開(kāi)發(fā)一個(gè)并行程序來(lái)取代順序程序。然而這對(duì)于許多習(xí)慣于開(kāi)發(fā)單線程應(yīng)用的開(kāi)發(fā)者來(lái)說(shuō)是一個(gè)極大的挑戰(zhàn),他們需要專門的語(yǔ)義創(chuàng)建和管理線程,并且在線程安全方式下進(jìn)行數(shù)據(jù)的傳送。
相比之下,LabVIEW由于其本身就是一種并行的編程結(jié)構(gòu),因此非常適合于創(chuàng)建并行的多線程應(yīng)用;而在LabVIEW 5時(shí)就開(kāi)始支持多線程,編譯器可以自動(dòng)識(shí)別線程并創(chuàng)建線程到不同的任務(wù)和循環(huán)上,再由操作系統(tǒng)分配到不同的核上運(yùn)行(圖6)。
為了更好地與多核技術(shù)完美結(jié)合,LabVIEW 8.5還針對(duì)性地提供了更多的特性:例如工程師可以根據(jù)自己需求手動(dòng)設(shè)置線程運(yùn)行在特定的核上,將時(shí)間確定性要求苛刻的采集與控制任務(wù)放在單獨(dú)的核上運(yùn)行,而將對(duì)確定性要求不高的界面響應(yīng)、數(shù)據(jù)錄入等任務(wù)放在另外一個(gè)核上運(yùn)行(圖7)。
縱觀LabVIEW的前世今生,我們可以很明顯地感受到,新的技術(shù)的不斷吸收和融合,是推動(dòng)LabVIEW飛躍發(fā)展的源動(dòng)力,多核處理器技術(shù)就是其中最為典型的一例。而這些主流的商業(yè)可用技術(shù)將向更多新的應(yīng)用領(lǐng)域敞開(kāi)大門,從而開(kāi)啟一個(gè)又一個(gè)新的紀(jì)元。
那么,當(dāng)我們?cè)谡媲械馗惺艿搅巳缃馤abVIEW強(qiáng)大的功能和廣泛的應(yīng)用領(lǐng)域的同時(shí),對(duì)于它的未來(lái),您是否也和我一樣,留有著更多的興奮與期待呢?
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV