NI LabVIEW 編程規范


  1. LabVIEW程序編寫應該遵循哪些規范?
  2. 遵循這些規范有什么好處?
  3. 具體細節是什么?

針對上面三個問題一一解答:

一.LabVIEW程序編寫應該遵循哪些規范?

(1)前面板、后面板控件整齊,盡可能在一個界面內顯示所有控件。

(2)數據連線橫平豎直,有長走線,需添加注釋。

(3)程序代碼添加注釋,尤其是重要功能模塊

(4)VI圖標有含義,VI有描述信息

(5)程序有錯誤處理機制

(6)避免過多的屬性節點,大數組的強制類型轉換。

 

 

二.遵循這些規范有什么好處?

(1)提高可讀性

(2)提高可維護性

(3)提高程序運行效率

 

三.具體細節是什么?

(1)前面板、程序框圖中控件的對齊。LabVIEW中提供了控件的對齊工具欄,包括左右居中對齊,控件等間距分布、統一控件的長度和寬度等,利用對齊工具欄,可以將前后面板的控件以非常有序的方式組織起來。如圖1中前面板控件采用右對齊並且控件之間等間距放置,程序框圖中輸入控件右對齊,並盡量保持控件垂直方向等間距。

 

圖1 :控件對齊

(2)LabVIEW是基於數據流的,框圖中的連線表示數據流的走勢方向。因此節點間連線應清晰直觀,盡量使用從左到右,自上而下的方式進行布局。而且要盡量避免不必要的彎曲連線,避免在結構邊框下或重疊的對象之間進行連線,因為這些連線的部分連線段可能會被遮擋而影響程序的可讀性。對於長距離的走線,應該添加文字注釋。圖2為框圖走線整理前后對比:

 

圖2:優化框圖連線

圖3中為長距離走線加上必要的文字注釋:

 

圖3:為長距離走線加上文字注釋 

(3)為每一部分實現特定功能的框圖結構添加有意義的注釋,如圖4所示,While循環、Case結構每一分支對應的使用場合:

圖4:為Case結構每一分支添加注釋 

(4)給每個子VI一個明確的圖標,並且在其屬性的Documentation一欄描述該VI的用途。圖標一般采取文字加圖形的方式。圖5為一些子VI示范圖標:

 

圖5:給每個子VI明確的圖標

給每個VI的Documentation一欄加上描述信息,如下圖所示:

 

圖6:給VI添加描述信息

(5)在程序的適當位置添加錯誤處理,也可以對可預見的錯誤進行自定義,這樣既增強程序的穩定性,也可以方便問題的快速定位和排查。盡量通過錯誤輸入輸出簇來控制代碼的先后順序,而避免使用順序結構。圖7表示在程序的各個不同功能部分添加自動錯誤處理:

 

圖7:自動錯誤處理

圖8表示對可預見的錯誤進行自定義錯誤處理:

 

圖8 用戶自定義錯誤處理

圖9中用錯誤簇代替順序結構來控制數據流的先后順序:

 

 

  

圖9 用錯誤簇控制代碼執行順序

(6)盡量使主VI的框圖簡潔,當涉及到對主VI的前面板控件多處屬性修改而占用較大框圖面積時,通過傳引用的方式將這一部分代碼放在子VI中進行。如圖9(a)中將Table控件的引用傳入子VI,在子VI中修改Table控件屬性如圖9(b):

 

 

 

(7)、優化VI運行性能。有幾個常用的工具可以分析所編寫程序的性能,如VI性能與內存使用工具(VI Performance and Memory)、顯示緩沖區分配(Show Buffer allocations)、VI整體評估工具(VI Metrics),使用這些工具使你對編寫的程序有一個整體的把握,如內存分配是否合理、前面板控件是否過多、是否使用了過多的屬性結點、是否存在大數組的強制類型轉換、是否某個子VI存在明顯的耗時代碼等等。

 

圖10:VI性能與內存使用工具

 

圖11:顯示緩沖區分配

 

圖12:VI評估工具

總結.

在一開始設計程序的時候就遵循一些良好的編程規范,那么程序的可讀性和可維護性就會高得多,這將起到事半功倍的效果

還有一些LabVIEW編程規范,如簇的使用盡量采用嚴格自定義類型、避免程序框圖過大超過整個屏幕、用條件For循環代替While循環、嚴格控制局部變量和全局變量的使用、避免GUI輪循等。合理使用這些編程規范,對於編寫大型程序,提高程序的可讀性和可維護性具有非常重要的意義


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM