首先,需要先解釋什麼是"動態呼叫",當LabVIEW中如果主程式呼叫其他的副程式(SubVI)時,會使用兩種方法,一種是"靜態呼叫"、另外一種為"動態呼叫",這兩種的差異主要是運行主程式時有沒有載入副程式到記憶體裡。動態呼叫方法通常有兩種: 一個是利用”Call by Reference”另外一個是”Invoked Node”,這篇主要介紹Call by Reference中的"Asynchronous Call"同步呼叫"方法。Call by Reference”另外一個是”Invoked Node”兩者之間的差異和應用面,可以參考另外一篇不同動態呼叫VI的方法:Invoke Node V.S. Call by Reference。
動態呼叫中Call By Reference最基本的方法,就是使用Call by Reference Node,直接呼叫SubVI,使用時,直到SubVI結束主程式才會接續資料流。
另外一種稱為”Asynchoronous”同步呼叫,這讓主程式和副程式都能同是運行,而不受資料流的影響。
Asynchoronous Call VI主要為Start Asynchronous Call、Wait On Asychornous Call
在Programming --> Application Control
Asynchronous Call最簡單的應用,使用此方法主程式能夠繼續執行,且不受副程式影響。
可以參考NI Example中的:Asynchronous Call and Collect.vi更能明瞭Asynchronous Call的運行方法
其他和動態呼叫相關文章連結:
LabVIEW_同步動態呼叫Asynchronously Calling VIs
LabVIEW_動態呼叫程式寫法Calling by Reference
不同動態呼叫VI的方法:Invoke Node V.S. Call by Reference
如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~
學習相關LabVIEW文章:
程式分享相關LabVIEW文章:
考取LabVIEW證照相關: