動態呼叫方法通常有兩種: 一個是利用”Call by Reference”另外一個是”Invoked Node”這篇主要探討這兩者之間的差異,和其應用面。可以參考另外一篇不同動態呼叫VI的方法:Invoke Node V.S. Call by Reference

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

首先,需要先解釋什麼是"動態呼叫",當LabVIEW中如果主程式呼叫其他的副程式(SubVI)時,會使用兩種方法,一種是"靜態呼叫"、另外一種為"動態呼叫",這兩種的差異主要是運行主程式時有沒有載入副程式到記憶體裡。

  • 靜態的 subVI 是主程式在開始運行時,就會載入(load) SubVI,而且直到主程式結束,都不會釋放副程式的記憶體;換而言之,即使這一個 subVI 只會執行一次,但是 SubVI 也會一直佔用記憶體空間,直到主程式結束為止。
  • 動態呼叫,就是當程式執行到 SubVI 之前,電腦的記憶體都不會載入 subVI 程式,等到執行到需要的SubVI 時,程式才會載入此SubVI,這樣可以大大節省記憶體的使用。

使用方法:

Programming->Application Control -> Open VI Reference

在接角type specifier VI Refnum(for type only)創建一個Control

利用Front Panel->Select VI Server Class-->Browse選擇需要的型態

Block Diagram中加入”Call By Reference””Close Reference”

Block Diagram接角串起來,並將VI 名稱建置。

這樣即完成一個簡單的Call by Reference 的程式。

 

其他和動態呼叫相關文章連結:

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) 人氣()