新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 不得不看的LabVIEW新手5大錯(cuò)誤

不得不看的LabVIEW新手5大錯(cuò)誤

作者: 時(shí)間:2013-09-28 來(lái)源:網(wǎng)絡(luò) 收藏

雖然NI 軟件長(zhǎng)期以來(lái)一直幫助工程師和科學(xué)家們快速開發(fā)功能測(cè)量和控制應(yīng)用,但不是所有的新用戶都會(huì)遵循編程的最佳方法。 圖形化編程比較獨(dú)特,因?yàn)橹恍杩匆谎塾脩舻膽?yīng)用程序,就馬上可以發(fā)現(xiàn)用戶是否遵循編碼的最佳方法。有些用戶會(huì)犯這些錯(cuò)誤是因?yàn)樗麄儧](méi)有真正理解LabVIEW框圖數(shù)據(jù)流背后的原理,而有些用戶則是不知道哪些特性可提高LabVIEW編程質(zhì)量。

  本文介紹了經(jīng)驗(yàn)欠缺的LabVIEW程序員最經(jīng)常犯的一些編程錯(cuò)誤,同時(shí)也提供了采用正確LabVIEW編程方法的建議。

不得不看的LabVIEW新手5大錯(cuò)誤

  圖 1. LabVIEW新手典型“杰作”

  過(guò)度使用平鋪式順序結(jié)構(gòu)

  許多LabVIEW新手并不完全了解“數(shù)據(jù)流”執(zhí)行背后的概念,而這些概念卻是LabVIEW編程的基礎(chǔ)。其中一個(gè)現(xiàn)象是用戶往往在程序框圖中過(guò)度使用平鋪式順序結(jié)構(gòu)。用戶經(jīng)常依賴平鋪式順序結(jié)構(gòu)來(lái)實(shí)現(xiàn)程序框圖的代碼串行執(zhí)行,而不是使用數(shù)據(jù)流和節(jié)點(diǎn)之間的連線。

不得不看的LabVIEW新手5大錯(cuò)誤

  圖 2. 用戶往往過(guò)度依賴平鋪式順序結(jié)構(gòu),而沒(méi)有充分理解數(shù)據(jù)流編程概念。

  數(shù)據(jù)流編程是指只有在所需的數(shù)據(jù)輸入全部到達(dá)時(shí),框圖上的節(jié)點(diǎn)(子VI、本原、結(jié)構(gòu)等)才開始執(zhí)行。 這對(duì)于使用LabVIEW的程序員來(lái)說(shuō)非常有用,因?yàn)楠?dú)立的進(jìn)程本身就可以實(shí)現(xiàn)并行運(yùn)行,而命令式語(yǔ)言卻需要額外的設(shè)置才能實(shí)行并行執(zhí)行。隨著計(jì)算機(jī)CPU的不斷增多,LabVIEW可自動(dòng)分解并行流程,提高代碼性能,而無(wú)需用戶編寫任何額外代碼。而強(qiáng)行使用平鋪式順序結(jié)構(gòu)來(lái)執(zhí)行程序框圖不僅會(huì)限制并行運(yùn)行,還會(huì)喪失這一優(yōu)勢(shì)。限制程序框圖中不必要的結(jié)構(gòu)有助于提高整體可讀性和保持更簡(jiǎn)潔的框圖。

  錯(cuò)誤連線可以有效地實(shí)現(xiàn)程序框圖上的數(shù)據(jù)流,而不需要依靠平鋪式順序結(jié)構(gòu),此外錯(cuò)誤連線還有助于實(shí)現(xiàn)錯(cuò)誤處理策略。

  何時(shí)應(yīng)該使用平鋪式順序結(jié)構(gòu)?

  通過(guò)平鋪式順序結(jié)構(gòu)來(lái)執(zhí)行程序框圖有助于代碼性能的基準(zhǔn)測(cè)試。通過(guò)使用框架內(nèi)具有時(shí)間計(jì)數(shù)器的順序結(jié)構(gòu),您可以決定兩個(gè)時(shí)間計(jì)數(shù)器之間代碼執(zhí)行所花費(fèi)的時(shí)間。這是一般數(shù)據(jù)流執(zhí)行所無(wú)法實(shí)現(xiàn)的。

不得不看的LabVIEW新手5大錯(cuò)誤

  圖 3. 平鋪式順序結(jié)構(gòu)和時(shí)間計(jì)數(shù)器VI有助于代碼的基準(zhǔn)測(cè)試。

  關(guān)于數(shù)據(jù)流編程的更多信息,請(qǐng)?jiān)L問(wèn)在線自學(xué)培訓(xùn)(ni.com/self-paced-training)LabVIEW核心課程1的“數(shù)據(jù)流”。購(gòu)買LabVIEW或具有標(biāo)準(zhǔn)服務(wù)項(xiàng)目(ni.com/ SSP)會(huì)員資格的用戶可以免費(fèi)參加在線自學(xué)培訓(xùn)。

  錯(cuò)誤使用局部變量

  LabVIEW編程中另一個(gè)常見(jiàn)的錯(cuò)誤是過(guò)度使用局部變量。局部變量是共享內(nèi)存中的一個(gè)區(qū)域,用于在計(jì)算機(jī)程序不同部分之間傳遞數(shù)據(jù)。局域變量通常用于文本編程語(yǔ)言,具有非常強(qiáng)大的功能,但如果出現(xiàn)競(jìng)爭(zhēng)條件,就會(huì)產(chǎn)生問(wèn)題。

塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: LabVIEW

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉