概觀
20 多年來,NI 持續以創新功能擴充 LabVIEW 圖形化系統設計平台,並透過升級服務與新的外掛程式,提供最新的相關工具。LabVIEW 的操作面板包含數百種項目,卻可能讓使用者耗費大量時間以尋找所需的工具。透過 LabVIEW 8.6 的「Quick Drop」新功能,不需逐一瀏覽工具面板或啟動搜尋功能,即可迅速找到 LabVIEW 人機介面與程式區物件。
Video of Quick Drop in Action
此影片呈現「Quick Drop」的使用過程,可迅速找到LabVIEW VI 的程式圖物件。且該影片是以實際速度播放。
相關背景
在任何程式語言中,要找到正確的函式或程式碼片段 (Snippet),可能極為困難。雖然文字架構的開發環境需要正確語法,但是多項新的開發環境則可透過預測文字 (Predictive text) 的智慧型輸入功能,自動完成已經鍵入的部分函式。

圖 1. NI LabWindows™/CVI 軟體可針對僅完成部分的函式,自動產生符合的項目清單。
LabVIEW 圖形化開發環境中,僅需滑鼠即可放置物件;而「Quick Drop」功能則可在放置物件之前,輕鬆敲打鍵盤數下即可迅速瀏覽正確的 VI。
使用「Quick Drop」
若要使用「Quick Drop」功能,請先按下「CTRL」與空白鍵。所出現的對話框清單將包含面板中的所有可用 VI。

圖 2. 按下 CTRL 與空白鍵,即出現「Quick Drop」對話框。
此時只要輸入所需 VI 的部分名稱,清單即開始進行篩選。當使用者輸入字母時,「Quick Drop」將根據所輸入的字母,顯示包含該字母的相關項目名稱。「Quick Drop」亦可透過面板中相同字母開頭的 VI,將預測文字套用至使用者的查詢欄位。
以圖 3 為例,使用者鍵入了「t-r-a-n」。LabVIEW 則自動預測符合輸入字母的物件名稱。篩選清單將顯示名稱中包含「t-r-a-n」的待選物件。

圖 3.「Quick Drop」將於查詢欄位中自動完成以相同字母開頭的建議 VI,並於清單中顯示所有可能符合的項目。
「Quick Drop」可自動於滑鼠游標處放置特別標明的項目,讓使用者可輸入函式名稱,並於程式區或人機介面中按下滑鼠,即可放置該項物件。若「Quick Drop」無法預測所需的搜尋,則可從比對結果列表中選擇正確的項目。
「Quick Drop」的使用小秘訣
鍵盤快捷鍵可加速程式設計作業。
在 LabVIEW 2009 中,已針對「Quick Drop」新增鍵盤快捷鍵,可加速程式設計作業。第一組快捷鍵可針對選定的 VI,自動產生所有的控制功能與指示器,可縮短物件放置的時間。選擇 VI 並開啟 Quick Drop (<ctrl + space>),接著按下 <ctrl + D>。再按下 <ctrl + shift + d> 即可自動放置該筆選定 VI 的所有輸入常數。

圖 4. 選擇 VI 並按下 <ctrl + space> 以開啟 Quick Drop。當視窗開啟,即按下 <ctrl + D>,可自動放置所有控制功能與指示器,且完成接線。
若要於應用中移除不需要的 VI,往往必須針對穿隧 (Tunneling) 接線 -- 如錯誤或參考 -- 重新進行接線作業。在選擇了 VI 之後,可按下 <ctrl + R> 以節省時間,並開啟 Quick Drop 以移除 VI,並直接於該 VI 所留下來的空間中銜接輸入與輸出。

圖 5. 選擇 VI 並按下 <ctrl + space> 以開啟Quick Drop。一旦出現視窗隨即按下 <ctrl + R>,以刪除所選的 VI,並可連皆相對應的輸出與輸入。
某些 LabVIEW 工程師較偏好將名稱標籤 (Label) 置於輸入左側與輸出右側;而變更這些位置亦將耗費時間。只要當 Quick Drop 開啟時按下 <ctrl + T>,即可自動將 VI 控制器、指示器,與常數的名稱標籤移至側邊。

圖 6. 選擇 VI 並按下 <ctrl + space> 以開啟Quick Drop。一旦視窗出現,隨即按下 <ctrl + T>,即可將物件標籤從上方移至側邊。
建立自己的鍵盤快捷鍵
使用者亦可透過「Quick Drop」對話框的「Shortcuts」按鈕,設定「Quick Drop」中的捷徑功能,不需捲動冗長的搜尋結果,即可輕鬆取得常用的 VI。

圖 7. 按下「Shortcuts」按鈕,以建立常用面板項目的客制捷徑。
使用者可針對編譯過的 VI 名稱,或具有相同字母開頭的多組 VI,均將之銜接 2 或 3 個字母的快捷鍵,以輕鬆尋找常用的 VI。此處建議使用者將慣用的那隻手控制滑鼠,而另一隻手則負責可常用的字母按鍵。

圖 8. 使用 2 或 3 個字母定義自己的快捷鍵。
LabVIEW 會將使用者設定的快捷鍵儲存至 LabVIEW.ini 檔案中。使用者可將 QuickDropDiagramShortcuts 與 QuickDropPanelShortcuts 的數值複製並貼至 LabVIEW.ini 檔案中,以將其轉換至其他系統中。可挑選下列快捷鍵範例之一,或複製其關鍵值:
- ad1 = increment
- cs = case structure
- evstr = event structure
- fs = for loop
- wat = wait
- ws = while loop
若要新增多筆常用快捷鍵,可將下列文字複製到 LabVIEW.ini 檔案中:
QuickDropDiagramShortcuts="1dg:One Button Dialog;2dg:Two Button Dialog;3dg:Three Button Dialog.vi;ac:Array Constant;ad1:Increment;as:Array Size;ba:Build Array;bbn:Bundle By Name;bc:False Constant;bp:Build Path;car:Compound Arithmetic;cbr:Call By Reference Node;ccat:Concatenate Strings;cr:Close Reference;cs:Case Structure;cstr:Concatenate Strings;cv:Current VI's Path;dds:Diagram Disable Structure;dfa:Delete From Array;ea:Empty Array?;eq:Equal?;estr:Empty String/Path?;estrc:Empty String Constant;evstr:Event Structure;fs:For Loop;fss:Flat Sequence Structure;fstr:Format Into String;g0:Greater Than 0?;geq:Greater Or Equal?;geq0:Greater Or Equal To 0?;gr:Greater?;mp:Match Pattern;mul:Multiply;nan:Not A Number/Path/Refnum?;nc:Numeric Constant;ndx:Index Array;neq:Not Equal?;nes:In Place Element Structure;nv:Invoke Node;ovr:Open VI Reference;ras:Replace Array Subset;rn:Property Node;s1d:Search 1D Array;sav:Select a VI...;sb1:Decrement;sc:String Constant;se:Select;sp:Strip Path;sss:Search/Split String;tc:Tick Count (ms);tmsc:To More Specific Class;ubn:Unbundle By Name;vtd:Variant To Data;wat:Wait (ms);ws:While Loop;"
QuickDropPanelShortcuts="bool:Push Button;ei:Error In 3D.ctl;eo:Error Out 3D.ctl;led:Round LED;nc:Numeric Control;nnd:Numeric Indicator;sac:Select a Control...;scan:System Cancel Button;sctr:String Control;smc:System Multicolumn Listbox;snd:String Indicator;sok:System Button;syscan:System Cancel Button;systb:System Table;"
摘要
若為 LabVIEW 的初階使用者,則仍必須找到正確應用類別的面板,找到所需的功能。然而,只要進一步熟悉 LabVIEW 與函式名稱之後,使用者不必瀏覽所有面板,透過「Quick Drop」功能即可找到並放置所需的 VI。當新安裝的模組與附加功能不斷擴充函式面板時,此功能更可進一步提升產能。
進一步了解 LabVIEW 2009
若要進一步了解 LabVIEW 2009 的功能,可至 www.ni.com/zht/ 的 LabVIEW 2009 首頁。
下載 LabVIEW 以體驗最新功能。
合法
此教學由美商國家儀器 (以下簡稱 NI) 開發。此教學受 NI 技術支援,但未經完整測試及檢驗。NI 不保證品質,亦不為其更新版本、相關產品及驅動程式等後續支援負責。此教學不具任何形式保證,且不受任何特定用途規範。(http://ni.com/legal/termsofuse/unitedstates/us/)
