<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 不得不看的LabVIEW新手5大錯誤

          不得不看的LabVIEW新手5大錯誤

          作者: 時間:2013-09-28 來源:網絡 收藏

          雖然NI 軟件長期以來一直幫助工程師和科學家們快速開發(fā)功能測量和控制應用,但不是所有的新用戶都會遵循編程的最佳方法。 圖形化編程比較獨特,因為只需看一眼用戶的應用程序,就馬上可以發(fā)現(xiàn)用戶是否遵循編碼的最佳方法。有些用戶會犯這些錯誤是因為他們沒有真正理解LabVIEW框圖數(shù)據(jù)流背后的原理,而有些用戶則是不知道哪些特性可提高LabVIEW編程質量。

            本文介紹了經驗欠缺的LabVIEW程序員最經常犯的一些編程錯誤,同時也提供了采用正確LabVIEW編程方法的建議。

          不得不看的LabVIEW新手5大錯誤

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

            過度使用平鋪式順序結構

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

          不得不看的LabVIEW新手5大錯誤

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

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

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

            何時應該使用平鋪式順序結構?

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

          不得不看的LabVIEW新手5大錯誤

            圖 3. 平鋪式順序結構和時間計數(shù)器VI有助于代碼的基準測試。

            關于數(shù)據(jù)流編程的更多信息,請訪問在線自學培訓(ni.com/self-paced-training)LabVIEW核心課程1的“數(shù)據(jù)流”。購買LabVIEW或具有標準服務項目(ni.com/ SSP)會員資格的用戶可以免費參加在線自學培訓。

            錯誤使用局部變量

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

          塵埃粒子計數(shù)器相關文章:塵埃粒子計數(shù)器原理

          上一頁 1 2 3 下一頁

          關鍵詞: LabVIEW

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();