解決方案
當您使用「Call By Reference node」執行VI時,該VI並不會自主運行。主VI將依賴Call By Reference Node,且亦不會並行運作。
LabVIEW 2011及更高的版本:在LabVIEW 2011中,您可以使用Start Asynchronous Call和Wait On Asynchronous Call node輕易地讓主VI與子VI並行運作。有關其他詳細資訊和範例,請參閱
Asynchronously Calling VIs。
LabVIEW 2010及更早的版本:在LabVIEW 2010及更早的版本中,欲動態載入並執行與主VI並行運作的第二支VI,該VI必須使用選擇Run Method的Invoke Node。您必須將Wait until done選項設置為
FALSE以消除此VI的資料依賴性,如下方鏈結的討論區範例所示。若是要顯示被呼叫VI的Front Panel,則必須使用帶有Front Panel Open property的property node。這樣就能允許主VI在彈出VI並執行後,繼續並行運作。
您還可以使用
Set Control Value和
Get Control Value的方法在主VI以及彈出的VI之間來回傳遞數據資料。
Related Links中的討論區範例展示了使用Invoke Nodes、Methods,以及Property Nodes來並行調用與執行子VI。