首先,需要先解釋什麼是"動態呼叫",當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 CallWait 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文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

 

 

arrow
arrow

    安伯伯 發表在 痞客邦 留言(0) 人氣()