不得不看的LabVIEW新手5大錯誤
雖然NI LabVIEW軟件長期以來一直幫助工程師和科學家們快速開發功能測量和控制應用,但不是所有的新用戶都會遵循LabVIEW編程的最佳方法。 LabVIEW圖形化編程比較獨特,因為只需看一眼用戶的應用程序,就馬上可以發現用戶是否遵循編碼的最佳方法。有些用戶會犯這些錯誤是因為他們沒有真正理解LabVIEW框圖數據流背后的原理,而有些用戶則是不知道哪些特性可提高LabVIEW編程質量。
本文介紹了經驗欠缺的LabVIEW程序員最經常犯的一些編程錯誤,同時也提供了采用正確LabVIEW編程方法的建議。
圖 1. LabVIEW新手典型“杰作”
過度使用平鋪式順序結構
許多LabVIEW新手并不完全了解“數據流”執行背后的概念,而這些概念卻是LabVIEW編程的基礎。其中一個現象是用戶往往在程序框圖中過度使用平鋪式順序結構。用戶經常依賴平鋪式順序結構來實現程序框圖的代碼串行執行,而不是使用數據流和節點之間的連線。
圖 2. 用戶往往過度依賴平鋪式順序結構,而沒有充分理解數據流編程概念。
數據流編程是指只有在所需的數據輸入全部到達時,框圖上的節點(子VI、本原、結構等)才開始執行。 這對于使用LabVIEW的程序員來說非常有用,因為獨立的進程本身就可以實現并行運行,而命令式語言卻需要額外的設置才能實行并行執行。隨著計算機CPU的不斷增多,LabVIEW可自動分解并行流程,提高代碼性能,而無需用戶編寫任何額外代碼。而強行使用平鋪式順序結構來執行程序框圖不僅會限制并行運行,還會喪失這一優勢。限制程序框圖中不必要的結構有助于提高整體可讀性和保持更簡潔的框圖。
錯誤連線可以有效地實現程序框圖上的數據流,而不需要依靠平鋪式順序結構,此外錯誤連線還有助于實現錯誤處理策略。
何時應該使用平鋪式順序結構?
通過平鋪式順序結構來執行程序框圖有助于代碼性能的基準測試。通過使用框架內具有時間計數器的順序結構,您可以決定兩個時間計數器之間代碼執行所花費的時間。這是一般數據流執行所無法實現的。
圖 3. 平鋪式順序結構和時間計數器VI有助于代碼的基準測試。
關于數據流編程的更多信息,請訪問在線自學培訓(ni.com/self-paced-training)LabVIEW核心課程1的“數據流”。購買LabVIEW或具有標準服務項目(ni.com/ SSP)會員資格的用戶可以免費參加在線自學培訓。
錯誤使用局部變量
LabVIEW編程中另一個常見的錯誤是過度使用局部變量。局部變量是共享內存中的一個區域,用于在計算機程序不同部分之間傳遞數據。局域變量通常用于文本編程語言,具有非常強大的功能,但如果出現競爭條件,就會產生問題。

評論