LabVIEW編程技巧:如何獲取VI的引用

問題提出

在LabVIEW軟件平臺上,當需要在主程序中使用屬性節點設置其它VI的屬性,或者使用調用節點獲取其它VI提供的方法時,需要給屬性節點或調用節點傳入一個被設置的VI引用。

那麼,如何獲取這個VI引用呢?在LabVIEW中,一個VI的引用可通過下面兩種方式獲取:

  • 靜態獲取方法;
  • 動態獲取方法。

下面通過兩個簡單的例子給出LabVIEW中的獲取VI引用的這兩種方法。

靜態獲取VI引用實例

該方法獲取VI引用的方法是,在函數選板中,選擇“編程”-->“應用程序控制”-->“靜態VI引用”節點,在程序框圖上雙擊該節點圖標或在它的右鍵菜單中選擇“瀏覽路徑”,在彈出的路徑中選擇子程序VI的路徑,這個節點的輸出即為該VI的引用。

下面是一個通過靜態方法獲取VI引用的例子,該例子的功能是在主程序(名稱為“靜態獲取VI引用.vi”)中通過獲取VI引用後,由屬性節點函數動態修改子程序(名稱為“Panel1.vi”)的前面板標題。

主程序前面板及程序框圖如下圖所示:

LabVIEW編程技巧:如何獲取VI的引用


上面的主程序運行後,如下圖所示,其前面板標題由默認的“Panel1.vi”改變為“子程序新標題”,可見,通過靜態方式成功獲取了子程序的引用,進而修改了其標題。

LabVIEW編程技巧:如何獲取VI的引用


動態獲取VI引用實例

該方法的適用場合是,在程序的運行過程中,根據需要動態設置某個VI的屬性,即在程序運行後才知道設置哪個VI,此時需要使用“編程”-->“應用程序控制”-->“打開VI引用”節點來打開一個VI的引用,把VI的路徑傳給這個函數,就可以動態得到這個VI的引用。

下面是一個通過動態方法獲取VI引用的例子,該例子的功能是在主程序(名稱為“動態獲取VI引用.vi”)運行過程中,根據子程序的路徑(“D:\test\Panel2.vi”)動態過獲取VI引用後,通過調用節點函數來獲取子程序的程序代碼框圖並在主程序前面板的圖片控件上進行顯示。

子程序(“Panel2.vi”)比較簡單,其前面板及程序框圖如下圖所示:

LabVIEW編程技巧:如何獲取VI的引用


主程序前面板及程序框圖如下圖所示:

LabVIEW編程技巧:如何獲取VI的引用


上面的主程序運行後,由運行結果可看出,在主程序前面板的“子程序框圖”圖片控件上,過動態方式獲取了子程序的引用後,子程序的代碼框圖能夠正確顯示。

總結

本文通過兩個例子,詳細介紹了在主程序中通過靜態或動態方式獲取子程序VI引用的方法,成功獲取引用後再通過屬性節點或調用節點對子程序作進一步的操作、控制。

如果你覺得這篇文章對你有用的話,關注+收藏+點贊吧。


分享到:


相關文章: