概觀
由於 NI LabVIEW 特有的圖形化程式工具與資料流執行方式,讓此圖形化程式設計工具特別容易上手。由於 LabVIEW 應用日趨複雜,使用者亦越來越難以妥善整理該程式碼。舉例來說,請回想上次看到由同事所撰寫的程式碼,或自己開啟數個月之前所建立的程式。您可能會發現畫面滿是雜亂無章的程式碼,而且必須使用如「Clean Up Wire」與「Align Objects」的既有 LabVIEW 工具,花上好幾個小時整理。
透過 LabVIEW 8.6 的程式區清理 (Block Diagram Cleanup) 工具,使用者不需手動整理連接線或物件,即可迅速整理程式區的配置。此項工具可自動執行下列功能:
- 重新整理程式區中的控制圖案與指標,並可重新設定所需的名稱
- 針對程式區的連接線重新截彎取直
- 調整各個程式區物件的位置與尺寸
圖 1. 輕點滑鼠即可重新排列並清理程式區。
Block Diagram Cleanup 工具的使用方法
「Block Diagram Cleanup」工具除了可清楚呈現 LabVIEW 程式碼之外,其功能的使用方法亦與「Clean Up Wire」或「Align Objects」相同。有 3 種方法可清理程式區:
1. 點選程式區工具列上的「Cleanup Diagram」按鈕
2. 在程式區功能表中點選「Edit>>Cleanup Diagram」
3. 按住「CTRL+U」鍵以啟動「Cleanup Diagram」
圖 2. 可使用程式區工具列上的「Cleanup Diagram」按鈕,或按住「CTRL+U」快捷鍵。
「Block Diagram Cleanup」工具提供多組可設定的選項。只要點選「Tools>>Options」並接著在「Category list」中選擇「Block Diagram: Cleanup」。下列為較值得注意的設定選項:
- Horizontal and vertical block spacing – 指定任何 2 組程式區物件之間的最小間距 (Pixel 為單位)。
- Horizontal and vertical wire spacing – 指定任何 2 組連接線,或連接線與程式區物件之間的最小間距 (Pixel 為單位)。
- Fix controls to left of the containing diagram – 將所有控制圖塊移到程式區的左邊。若有控制圖塊位於某組結構之中,LabVIEW 將移動此控制圖塊到該組結構框內的最左邊。
- Fix indicators to right of the containing diagram – 將所有指示器移到程式區的右邊。若有指示器位於某組結構之中,LabVIEW 將移動此指示器到該組結構框內的最右邊。
- Layout quality – 決定 LabVIEW 清理程式區的時間。較高的配置品質則可達到較簡潔的程式區。

圖 3. 客制所需的清理設定,包含接線空間、區塊空間,與配置品質。
Block Diagram Cleanup 工具使用小秘訣
使用者必須先了解,「Block Diagram Cleanup」工具並無法完美配置任何程式區。每個使用者均有自己的物件空間、組合,與密度的排列偏好。「Block Diagram Cleanup」 工具可大幅改善程式碼的外觀,但若能搭配使用如「Align Objects」的相關工具,則可獲得更好的效果。舉例來說,使用者可先選擇「Cleanup Diagram」,再接著使用「Distribute Objects」工具以進一步調整相關間距。
圖 4. 程式區清理 (Block Diagram Cleanup) 工具若搭配如「Align Objects」的既有工具,則可獲得最大效果。
下列為使用「Block Diagram Cleanup」工具的 5 大秘訣:
- 在對 VI 首次使用「Block Diagram Cleanup」工具時,絕對要先針對該 VI 進行備份。若清理程式區之前尚未儲存 VI,亦可「復原 (Undo)」(Edit>>Undo Cleanup 或按 <CTRL+Z>) 該次清理作業。
- 在選項功能表中點選「Fix controls to the left of the containing diagram」時,將套用至所有的控制圖塊。在點選此選項之前,請先花時間檢查自己的程式區,確定可達到自己所需的結果。在選擇「Fix indicators to the right of the containing diagram」之前,亦請注意相同的問題。
- 透過「Block Diagram Cleanup」工具,亦可進一步利用 LabVIEW 8.6 的 [TBD link to Quick Drop DevZone|Quick Drop] 新功能。在整合了「Quick Drop」的文字預測功能,與「Clean Diagram」的快捷鍵之後,即可迅速清理程式碼。
- LabVIEW 認為物件標籤 (Object label) 應屬於程式區物件的一部份。此意謂如控制圖塊與指示器的物件標籤,將與相關物件一併移動。
- Block Diagram Cleanup tool 並不會移動獨立標籤,如新增至程式區的文字與註解。將獨立標籤置入如「While loop」的結構中,即可保持其位置不動。
摘要
只要輕點滑鼠幾下,即可使用「Block Diagram Cleanup」工具重新編排整個程式區。雖然「Block Diagram Cleanup」工具並無法完美配置程式區,但是設定選項可讓使用者指定接線空間間距、區塊空間間距,與圖塊精緻度。當搭配使用如「Align Objects」與「Quick Drop」的功能時,「Block Diagram Cleanup」工具更可迅速形成整齊的程式碼。
進一步了解 LabVIEW 8.6
- 若要進一步了解 LabVIEW 8.6 的新功能,請至 ni.com 的 LabVIEW 8.6 首頁。
- 若要體驗新功能,請線上啟動 LabVIEW。
相關資源
- [TBD|LabVIEW Block Diagram Cleanup 的輔助說明]
- 相關手冊:LabVIEW 8.6 升級說明
合法
此教學由美商國家儀器 (以下簡稱 NI) 開發。此教學受 NI 技術支援,但未經完整測試及檢驗。NI 不保證品質,亦不為其更新版本、相關產品及驅動程式等後續支援負責。此教學不具任何形式保證,且不受任何特定用途規範。(http://ni.com/legal/termsofuse/unitedstates/us/)
