From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



於LabVIEW 8中快速動態呼叫VIs



主要軟體:
主要軟體版本: 8.0
主要軟體修正版本:
次要軟體: N/A

問題: 我想從top-level VI動態讀入subVI至記憶體中,請問是否除了Open VI Reference,指定stricktly typed VI refnum然後將reference連到Call by Reference Node之外還有其他方法?

解答: 是的,在LabVIEW 8之後有了更快速且更簡單的方法來動態呼叫VIs。你不再需要使用Open VI Refenrece去動態呼叫和你top-level VI在相同電腦上的VI了。請按下列步驟來從LabVIEW動態呼叫SubVI:
  1. 將subVI放到block diagram
  2. 在subVI上按右鍵選擇快速選單上的Call Setup
  3. 在結果對話窗中有三個選項: Load with Caller, Reload for Each CallLoad and Retain on First Call。如果您選擇Load with Caller,VI就會如同其他subVI般被呼叫。它會在執行時會靜態呼叫至記憶體中。如果您選擇Reload for Each CallLoad and Retain on First Call,那麼VI會在該部分程式被執行到時動態呼叫subVI。這兩個選項的主要差別,是VI會在結束執行後立刻從記憶體中移除,或保留在記憶體中直到原呼叫VI結束。
在您選擇了任何一個動態呼叫選項後,您的subVI會改變顯示為動態呼叫的圖示:


您必須直接使用subVI的接線,這裡不會有VI refum的輸入或輸出接腳。此呼叫VI有加入error in和error out接腳,以分別表示VI可正常讀入或在讀入時發生錯誤。

如果您想要遠端呼叫別台電腦上的VI,那麼你仍然需要使用Open Application Reference去打開別台電腦上LabVIEW實體的reference並使用Open VI Reference去開啟一個遠端電腦上VI的reference。

相關連結:
Knowledge Base 2UD8ET6I: How Can I Dynamically Load And Run Another VI In Parallel To My Main VI?
LabVIEW 8.6 Help: VI Call Configuration Dialog Box

附加檔案:





報告日期: 03/24/2006
最後更新: 07/23/2009
文件偏號: 3VNFS4UM