《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 解決方案 > LabVIEW2010是如何與時(shí)俱進(jìn)的

LabVIEW2010是如何與時(shí)俱進(jìn)的

2010-11-09
來源:電子產(chǎn)品世界

IP模塊眾所周知,對(duì)于工程師而言,,時(shí)間在任何方面都是寶貴的因素,。無論您是需要更快地采集數(shù)據(jù),從而利用軟件更精準(zhǔn)地反映真實(shí)世界的信號(hào),、同步遠(yuǎn)程系統(tǒng),、還是僅僅更快速地完成您的工作,時(shí)間都是非常重要的。

作為圖形化的編程語(yǔ)言,,NI公司的LabVIEW軟件有助于節(jié)省您的時(shí)間和編譯G語(yǔ)言的時(shí)間,。圖形化的編程方法可以讓您只需關(guān)注數(shù)據(jù)以及對(duì)數(shù)據(jù)的操作,并且抽象出了諸如內(nèi)存分配和語(yǔ)法規(guī)則等大量復(fù)雜的計(jì)算機(jī)編程工作,,從而進(jìn)一步提高您的工作效率,。此外,LabVIEW也包括了高級(jí)的定時(shí)機(jī)LabVIEW2010提升了高達(dá)20%的應(yīng)用程序運(yùn)行性能制和應(yīng)用程序API函數(shù),,來定義硬件和軟件之間時(shí)間約束的參數(shù)和關(guān)系,。

LabVIEW最新版軟件LabVIEW2010,其最顯著的新功能就是針對(duì)各種時(shí)間實(shí)現(xiàn)的優(yōu)化,。最新的版本是整個(gè)軟件平臺(tái)的綜合更新,,包括直接被客戶需求推動(dòng)的新功能、新的FPGAIP模塊,、增強(qiáng)的定時(shí)和同步功能,,以及改進(jìn)的用于產(chǎn)生優(yōu)化機(jī)器碼的后端編譯器,總體可提升高達(dá)20%的應(yīng)用程序運(yùn)行性能,。

編譯器的優(yōu)化

LabVIEW編譯器在提升編程效率方面是一個(gè)關(guān)鍵的技術(shù),。編譯器用于處理復(fù)雜的任務(wù)如內(nèi)存分配和線程管理等,并在編輯時(shí),,當(dāng)程序框圖代碼不可執(zhí)行的情況下提供反饋給用戶,。最終,復(fù)雜的編譯器和優(yōu)化線程解析您高層次設(shè)計(jì)并返回高效率的機(jī)器代碼,。

在過去的數(shù)十年中,,編譯器已經(jīng)愈加智能化和優(yōu)化,加入了內(nèi)嵌法(inplaceness),、類型傳播法,、聚叢法、虛擬寄存器,、文本編譯器優(yōu)化以及其他來自于NI編譯器研發(fā)者智囊團(tuán)的智能化處理方法,。無論是一個(gè)新增功能,修正漏洞,,還是編譯器的改進(jìn),,每一次發(fā)布都引入了更新的編譯器,讓您的代碼性能更優(yōu)化,。LabVIEW2010版本關(guān)注的焦點(diǎn)之一就是VI運(yùn)行時(shí)的性能—也就是說,,無需改變?cè)创a本身,提升您的VI運(yùn)行性能,。

為了更快地提高您的代碼執(zhí)行效率同時(shí)無須更改您的代碼,,研發(fā)者引入了2個(gè)“層”到編譯器層次關(guān)系中。LabVIEW2009引入了數(shù)據(jù)流的中間代碼表示(DFIR),一個(gè)高層次的架構(gòu)用于轉(zhuǎn)換從您的程序框圖中產(chǎn)生的數(shù)據(jù)流驅(qū)動(dòng)的圖形化代碼,。LabVIEW2010加入了基于底層虛擬機(jī)(LLVM)的后端,,提供了一種新的標(biāo)準(zhǔn)編譯器的優(yōu)化(圖2)。DFIR和LLVM協(xié)同工作提供高層次和低層次的中間代碼表示,,以便于編譯器使用中間代碼細(xì)分和優(yōu)化LabVIEW程序,。在LabVIEW2010中,采用了中間代碼表示意味著編譯器優(yōu)化線程并未影響實(shí)際的程序框圖,,但由于產(chǎn)生了優(yōu)化的機(jī)器代碼,,這就為您的應(yīng)用程序提升了高達(dá)20%的運(yùn)行時(shí)執(zhí)行效率。

LabVIEW2010通過幫助您管理源代碼和開發(fā)更多模塊化的軟件架構(gòu),,提供了助力于大型應(yīng)用程序開發(fā)這一新功能,。通過從LabVIEW編寫出的源代碼中分離出已經(jīng)編譯過的對(duì)象,LabVIEW2010可以明顯提高開發(fā)者的工作流程,。當(dāng)這一新的VI屬性選項(xiàng)設(shè)置打開時(shí),,一個(gè)VI在重新編譯后并不顯示為已經(jīng)修改,除非開發(fā)人員修改了圖形化的源程序,,這就避免了重新保存和重新提交文件到源代碼控制的需要,。

新的打包項(xiàng)目庫(kù)提供了更加模塊化的軟件設(shè)計(jì)和開發(fā)過程,更短的生成時(shí)間和更簡(jiǎn)便的部署方法,。LabVIEW打包項(xiàng)目庫(kù)文件是一個(gè)新的LabVIEW文件類型,,由一個(gè)項(xiàng)目庫(kù)和所有涉及的子程序組合而成一個(gè)單獨(dú)的文件。導(dǎo)出的VI包含在這個(gè)文件中,,就如同其它的VI保存為不帶程序框圖的形式,,但是它們的層次已經(jīng)完全被隱藏。它們遵循一個(gè)生成規(guī)范,,現(xiàn)有的lvlib后綴文件被選擇用于確定哪些VI正在被生成到打包的項(xiàng)目庫(kù)中以及哪些VI是公共的或?qū)С龅摹?/p>

 

 內(nèi)置的定時(shí)和同步

大部分計(jì)算機(jī)應(yīng)用程序必須要滿足和它們交互的計(jì)算機(jī)物理系統(tǒng)所需求的時(shí)間約束參數(shù),。如果您所使用的系統(tǒng)環(huán)境并沒有一個(gè)明確的時(shí)間概念,您將會(huì)不大容易寫出一個(gè)可以定時(shí)的程序,。幸運(yùn)的是,LabVIEW擁有很多獨(dú)特的處理時(shí)間的機(jī)制,。舉例來說,,定時(shí)循環(huán)結(jié)構(gòu)是在您的應(yīng)用程序之中用于指定時(shí)間約束參數(shù)的一個(gè)定義很好的API函數(shù)節(jié)點(diǎn)。另外,,您還可以使用定時(shí)循環(huán)來配置優(yōu)先級(jí),,處理器分配,和定時(shí)源,。您可以在一個(gè)單一的系統(tǒng)中或者在一個(gè)分布式實(shí)時(shí)系統(tǒng)的部分中實(shí)現(xiàn)多個(gè)定時(shí)循環(huán)之間的同步,。

在LabVIEW2010中,引入了一種新的基于時(shí)間的同步技術(shù),從而更進(jìn)一步地?cái)U(kuò)展了LabVIEW應(yīng)用程序的功能,,使得LabVIEW可以將不同的LabVIEW實(shí)時(shí)目標(biāo)平臺(tái)通過標(biāo)準(zhǔn)的以太網(wǎng)實(shí)現(xiàn)同步功能,。LabVIEW2010已經(jīng)合并了該軟件IEEE1588協(xié)議的執(zhí)行情況作為定時(shí)循環(huán)的另一個(gè)定時(shí)源,從而提供了分辨率為1ms的絕對(duì)時(shí)間,。另外,,為了控制定時(shí)的基源和功能,LabVIEW2010引入了一種新的內(nèi)部定時(shí)機(jī)制,,幫助您在多個(gè)定時(shí)分辨率中進(jìn)行衡量,。借助于定時(shí)循環(huán),您所開發(fā)的代碼從臺(tái)式機(jī)處理器的ms級(jí)系統(tǒng)到帶有FPGA背板處理器的ns級(jí)系統(tǒng)進(jìn)行移植時(shí)可以保留相同的應(yīng)用程序代碼段,。

社區(qū)驅(qū)動(dòng)的新功能

LabVIEW社區(qū)對(duì)于您使用LabVIEW所能到達(dá)的成功程度具有深遠(yuǎn)的影響,。會(huì)員可以在NI論壇對(duì)他人提供技術(shù)支持,也可以上傳范例代碼到NI開發(fā)者社區(qū),,以及/或者用戶組,。另外,LabVIEW社區(qū)對(duì)于LabVIEW2010產(chǎn)生了決策性的影響,。在2009年8月,,NI設(shè)立了LabVIEWIdeaExchange,這是一個(gè)產(chǎn)品反饋的論壇,,通過連接LabVIEW社區(qū)和LabVIEW開發(fā)團(tuán)隊(duì),,有助于確定每一個(gè)版本的新功能。LabVIEW2010包含了14個(gè)這樣的功能,,直接來源于社區(qū)會(huì)員的反饋,。

社區(qū)同樣也提供NI工程師日常處理的技術(shù)支持問題的反饋。鑒于LabVIEW常常是協(xié)同硬件使用的,,最常見的技術(shù)支持問題就是分布式硬件的配置,。您可以在分布式硬件上安裝新的基于網(wǎng)頁(yè)的監(jiān)測(cè)和配置實(shí)用工具,然后可以直接通過瀏覽器利用類似配置路由器的方式來配置您的硬件,。您也可以監(jiān)測(cè)性能和內(nèi)存信息,,文件瀏覽器,以及直接與實(shí)時(shí)操作系統(tǒng)(RTOS)的交互,。

為了加強(qiáng)第三方開發(fā)的附加軟件的打包和發(fā)布功能,,LabVIEW2010引入了很多的改進(jìn)方法。對(duì)于代碼開發(fā),,可以直接使用LabVIEWScripting,,即一個(gè)可以自動(dòng)創(chuàng)建LabVIEW代碼的可編程應(yīng)用程序接口函數(shù)(API)。另外,,授權(quán)和激活幫助開發(fā)者創(chuàng)建評(píng)估版的軟件,,并確保使用LabVIEW開發(fā)的附件工具包和應(yīng)用程序在授權(quán)后正常使用,。對(duì)于打包生成一個(gè)附加軟件,來自于JKI軟件團(tuán)隊(duì)的VI打包管理器軟件提供了一個(gè)流水線的打包過程,,并緊密地集成了授權(quán)/激活的功能,。

來源:JeffreyPhillipsNI產(chǎn)品經(jīng)理,周斌NI中國(guó)技術(shù)市場(chǎng)工程師

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。