這篇探討在人機更新(GUI)時用Local Variable、Property的優缺點,讓使用者知道這些元件使用時的LabVIEW記憶體使用的區分。初學者在學習LabVIEW時都會被在三強調不要亂使用到Local Variable 、Global Variable 這種違反資料流的概念的變數。之前我也有篇文章在探討,不當使用變數時會造成的問題:LabVIEW_什麼是Race Condition(競爭危害)?,但是不使用變數,發現許多學生就使用"Property"來取代;不過這種方法我也不是很推薦,這篇並不是在提倡Propery優於Local Variable,在人機介面上更新的選擇時,需要依照使用的時機來選擇。

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

 

記憶體使用:

Local Variable 的記憶體是存在Transfer Buffer,當需要做讀寫更新時,需要複製一個記憶體到Operate Buffer,運算完成後在更新到Transfer Buffer,所以在記憶體使用上Local Variable比Propery更占用資。

電腦效能差異:

Propery Node更新被限制在UI Thread中,在現今多核電腦普及,Local Varable可在任何Thread中處理,想對的更新更為快速。

SubVI使用:

在SubVI時使用Property 更新會強制將此SubVI的Front Panel記憶體載入,增加電腦記憶體負荷。

Synchronous Display:

在LabVIEW 的defalut 中畫面並不會同步顯示(asynchronous Display),也就是說,假如一個While Loop在更新1~1000數值時,因為速度很快,在人機上並不會照順序1,2,3,4...依序顯示,會變成1,20,50...這種更新方式,如果要讓畫面呈現依序顯示就要將設定更改為Synchronous Display。可以參考這篇: Difference Between a Controls/Indicators, Local Variables, and Value Property Nodes

 

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

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

arrow
arrow

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