世界是并行的。人是并行的。計算機是并行的。為什么要把我們自己限制在順序編程語言中呢?”
Jeff Kodosky是NI LabVIEW軟件之父,他在幾年前一年一度的NIWeek會議上提出了這個問題。在您閱讀這篇文章的時候,您的大腦正在同時處理多個并行操作,例如圖像采集、視覺特征識別、文字解析、數(shù)據(jù)處理、數(shù)據(jù)存儲和運動控制功能——所有這些事情的進行同時還維持著重要的生命機能,包括呼吸、將血液送到全身、產(chǎn)生能量等等。這些關(guān)鍵技能中有一部分需要自己有意識的思考,但是大部分并不需要。
相似的,您現(xiàn)在創(chuàng)建的測量與控制系統(tǒng)也可以同時進行多項任務(wù)。計算領(lǐng)域的工程創(chuàng)新引進了許多建立更高效并行系統(tǒng)所需的關(guān)鍵技術(shù):多核處理器、現(xiàn)場可編程門陣列(FPGA)和無線通信。使用這些傳統(tǒng)工具利用這些關(guān)鍵技術(shù)并不十分容易;但是,如果在應(yīng)用中使用這些技術(shù),就可以獲得性能更高的系統(tǒng),提高測量與自動化系統(tǒng)的吞吐量,降低成本。LabVIEW的最新版本8.6為您提供了使用下一代并行技術(shù)所需的工具,從多核處理器到高性能FPGA直至無線設(shè)備。
[+] Enlarge Image
圖1:NI機器視覺開發(fā)模塊的例如圖像卷積函數(shù)等多個圖像處理函數(shù)現(xiàn)在能夠自動分配到多個核心進行處理。
在桌面上進行多核超級計算
在世界最頂級的500臺超級計算機(www.top500.org)的最新排名中,有77%使用了多核處理器簇,而在2007年這個數(shù)字只有22%。這些超級計算機和您現(xiàn)在PC中使用的多核處理器是相同的。當然,要充分利用這些超級計算機需要編寫專用的軟件。幸運的是,LabVIEW的設(shè)計就已經(jīng)考慮了并行處理,對多任務(wù)處理的支持已經(jīng)長達10多年。
圖2:LabVIEW 8.6為FPGA編程提供了強大的算法工程平臺,包含了交互式用戶界面、大型分析庫以及到實時硬件原型上的快速移植。
LabVIEW 8.6是基于現(xiàn)有的多核兼容性而編寫的,大大提高了利用多核處理所能夠獲得的性能。在LabVIEW 8.6中超過1200個數(shù)學和信號處理庫中的函數(shù)已經(jīng)為多核系統(tǒng)進行了優(yōu)化;此外,新型的高級緩存連續(xù)技術(shù)能夠進一步提高性能。這樣使得對CPU核心的使用更為高效。舉例來說,相對于單核系統(tǒng)而言,一個運行在八核系統(tǒng)上的基準測試程序運行快了6.6倍。LabVIEW控制設(shè)計與仿真模塊也使用了多核處理器,執(zhí)行并行動態(tài)系統(tǒng)仿真模塊快了5倍。NI機器視覺開發(fā)模塊中的多個圖像處理函數(shù)已經(jīng)為自動將任務(wù)平分到多個核心中進行了優(yōu)化。例如,圖像卷積函數(shù)的基準測試在雙核系統(tǒng)上運行快了高達15倍(見圖1)。這些新型特性為您的測量或控制系統(tǒng)提供了超級計算機級別的性能。
降低FPGA開發(fā)時間
FPGA可能是現(xiàn)在并行能力最高的可編程計算硬件,為測量和控制系統(tǒng)提供了前所未有的性能和可靠性。但是,由于FPGA的開發(fā)困難重重,許多工程師不太愿意涉足FPGA編程。甚至算法設(shè)計專家在進行定點實現(xiàn)的工作也覺得十分困難。LabVIEW提供了強大的算法工程平臺,使用交互式用戶界面、大型分析庫和與實時硬件原型的快速移植特性,滿足了這些挑戰(zhàn)的需求。LabVIEW 8.6擴展了這些課題,解決了下面列出的最為常見的FPGA挑戰(zhàn)。
1、使用傳統(tǒng)的FPGA開發(fā)軟件需要數(shù)字設(shè)計的專業(yè)知識——使用LabVIEW直觀的數(shù)據(jù)流模型,您可以使用圖形化LabVIEW FPGA模塊,對FPGA進行編程,而不必學習硬件描述語言(HDL)的復雜內(nèi)容。
2、FPGA代碼在執(zhí)行之前可能需要很長的編譯周期——LabVIEW 8.6大大增強了FPGA開發(fā)和調(diào)試特性,您可以在無需編譯的情況下,在開發(fā)計算機上對FPGA和主機接口代碼進行仿真。此外,現(xiàn)在您可以在無需修改FPGA代碼的情況下,通過仿真I/O信號為FPGA邏輯建立測試工作臺,在編譯之前對設(shè)計進行驗證。
如果您使用NI CompactRIO硬件,就可以利用LabVIEW 8.6中全新的CompactRIO掃描模式特性,無需對FPGA進行編程,訪問實時處理器的I/O。有了這個全新選項,在您的應(yīng)用程序需要更高性能或是自定義行為時,可以選擇“全面開啟”FPGA。
3、將算法從軟件原型移植到硬件實現(xiàn)中十分困難——由于LabVIEW可以運行在臺式機平臺和FPGA上,相對于使用傳統(tǒng)工具需要重寫算法而言,從臺式機到硬件的過渡十分平滑。LabVIEW 8.6中FPGA上的新增定點數(shù)據(jù)類型支持和例如快速傅立葉變換(FFT)函數(shù)等高級分析知識產(chǎn)權(quán)(IP)使得這種過渡更加順利。
4、使用最新的FPGA硬件更新設(shè)計需要耗費時間和資金——LabVIEW通過利用硬件抽象保護了您的開發(fā)投資,因此您可以使用全新硬件平臺,例如基于Xilinx Virtex-5 FPGA的NI R系列設(shè)備和NI單板RIO板卡專用可重復配置I/O(RIO)平臺,而無需對LabVIEW FPGA代碼進行修改。
簡化Wi-Fi測量系統(tǒng)的實現(xiàn)
LabVIEW除了簡化了在多核處理器和FPGA上的并行代碼開發(fā)之外,還通過為新型NI Wi-Fi數(shù)據(jù)采集(DAQ)設(shè)備提供支持,簡化了并行分布式測量的開發(fā)和部署。盡管很久之前LabVIEW就已經(jīng)為一系列插入式和有線總線的數(shù)據(jù)采集提供了支持,包括PCI、PXI、USB、LAN和GPIB,但是在數(shù)據(jù)采集應(yīng)用中無線技術(shù)的引進卻慢了很多。這主要是因為對可靠、安全、高性能無線系統(tǒng)的編程和部署相對更為復雜。隨著Wi-Fi(IEEE 802.11)在IT領(lǐng)域中普及以來,性能、可靠性和安全性已經(jīng)大大提高了這個技術(shù)能夠適用于包括數(shù)據(jù)采集在內(nèi)的關(guān)鍵任務(wù)的可行性。
對基于Wi-Fi的LabVIEW配置和數(shù)據(jù)采集步驟和對本地插入式USB設(shè)備的信號采集是相似的。兩者都使用相同的LabVIEW應(yīng)用程序接口(API)連接NI-DAQmx驅(qū)動程序,從而避免了在將Wi-Fi設(shè)備加入到現(xiàn)有有線或插入式NI數(shù)據(jù)采集系統(tǒng)時所需的代碼修改。在LabVIEW中進行編程的時候,您可以使用NI數(shù)據(jù)采集助手,這是一個基于配置的向?qū)В軌驇椭x測量,快速方便地通過Wi-Fi采集數(shù)據(jù)。LabVIEW 8.6中的數(shù)據(jù)采集助手和NI-DAQmx API使得將您的Wi-Fi系統(tǒng)從幾十個擴展到上百個設(shè)備變得十分容易。現(xiàn)在您可以將LabVIEW 8.6和新型NI Wi-Fi數(shù)據(jù)采集驅(qū)動程序用于以下應(yīng)用領(lǐng)域:
1、用于預測維護的機器監(jiān)視——機器狀態(tài)監(jiān)視可以預防意外事故、優(yōu)化機器性能,并且降低修理時間和維護成本。使用LabVIEW和Wi-Fi振動測量,可以大大減少與機器監(jiān)視相關(guān)的安裝和布線成本。Wi-Fi數(shù)據(jù)采集還簡化了筆記本電腦和基于PC的移動現(xiàn)場診斷系統(tǒng)的建立。
2、結(jié)構(gòu)狀態(tài)的診斷監(jiān)視——結(jié)構(gòu)狀態(tài)監(jiān)視包括通過負載、壓力和張力等主要指標對建筑和橋梁的性能進行評估。由于這些結(jié)構(gòu)尺寸較大,使用有線解決方案成本高昂,并且難于實現(xiàn)。對于這些及其他動態(tài)結(jié)構(gòu)測試應(yīng)用而言,高帶寬的全新NI Wi-Fi數(shù)據(jù)采集設(shè)備是使用LabVIEW在線分析,進行振動和張力測量連續(xù)數(shù)據(jù)流傳送的理想選擇。
3、環(huán)境質(zhì)量監(jiān)視——環(huán)境監(jiān)視的范圍包括土壤、水和空氣的完整度直至與溫度和濕度調(diào)節(jié)相關(guān)的服務(wù)器與易損品等重要資產(chǎn)的室內(nèi)儲藏。使用LabVIEW和Wi-Fi熱電偶和電壓測量,建立安裝與支持簡單的無線遠程監(jiān)督解決方案。
圖3:您可以在多種應(yīng)用中將新型Wi-Fi數(shù)據(jù)采集設(shè)備與LabVIEW一起使用,其中包括機器、診斷與環(huán)境監(jiān)視。
LabVIEW 8.6中的其他新特性
除了繼續(xù)引進多核處理器、FPGA和Wi-Fi測量等最新并行技術(shù)之外,LabVIEW 8.6還包括了為長期老用戶專門設(shè)計的新增特性和重要改進。一個十分顯著的改變是通過LabVIEW平臺DVD套件所帶來的更好的用戶體驗,它大大簡化了LabVIEW開發(fā)系統(tǒng)、附加模塊和工具包以及NI兼容設(shè)備驅(qū)動程序的安裝。在單一的對話框中,您可以安裝分布在多張DVD上的軟件,并且盡可能少地更換媒介。您還可以對DVD上所包含的您暫時并不擁有的軟件進行30天的評估。
LabVIEW 8.6還包括了新增開發(fā)特性,可以提高工作效率,其中包括全新的程序框圖整理工具,只需要單擊鼠標,就可以按照LabVIEW風格指南中所給出的編程建議對程序框圖進行大小改變和重新排列。我們知道LabVIEW選板隨著LabVIEW平臺的發(fā)展,變得越來越復雜,LabVIEW 8.6也引進了快速放置功能,您可以使用可預測方式進行選擇,對前面板和程序框圖對象進行查找和放置。
世界是并行的,工程師和科學家必須能夠基于可響應(yīng)的軟件,開發(fā)測量與自動化系統(tǒng)。LabVIEW 8.6可以充分利用多核處理器、FPGA以及Wi-Fi數(shù)據(jù)采集設(shè)備,它提供了由其自身圖形化編程平臺所帶來的相同優(yōu)點——無論何如復雜都可以利用最新PC技術(shù)的能力。
– Michael Neal
Michael Neal是一位LabVIEW產(chǎn)品經(jīng)理。他獲取了德克薩斯大學奧斯汀分校的結(jié)構(gòu)工程學士學位和生物醫(yī)學工程碩士學位。
– Gerardo Garcia
Gerardo Garcia是一位LabVIEW實時與工業(yè)控制的部門經(jīng)理。他獲得了德州農(nóng)機大學的電子工程學士學位。