新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 局域變量、全局變量和功能型全局變量

局域變量、全局變量和功能型全局變量

作者: 時間:2017-01-09 來源:網(wǎng)絡 收藏
變量是用來存放數(shù)據(jù)的,可以用于程序內(nèi)部甚至是不同程序之間的數(shù)據(jù)共享和交換。在LabVIEW中,每當新建一個局域變量或全局變量實例都是對原有數(shù)據(jù)的一次拷貝。也就是說當程序中使用了過多的局域變量或全局變量時,即使沒有對這些變量進行寫操作,LabVIEW仍然會占用足夠的內(nèi)存來為這些變量創(chuàng)建副本。
事實上,在變量的實際使用過程中,程序員只是用來對某一部分的內(nèi)存空間進行讀寫,并且同一時刻也只會由一段程序代碼對變量所表示的空間進行訪問(這個過程是非常迅速的)。因此,如果程序中需要大量和反復地使用某一變量,就完全沒有必要使用局域變量和全局變量。但是如果只是進行少量的數(shù)據(jù)交換或者對Control控件進行賦值時,還是需要使用局域變量的。

1.1局域變量

LabVIEW中的局域變量(Local Variable)是不能夠單獨存在于程序中的,它必須依附于某一個控件(Control或者Indicator)。如圖 1所示,在LabVIEW的函數(shù)選板中選擇Functions>>Programming>>Structures>>Local Variable。


圖 1 局域變量在函數(shù)選板中的位置
將局域變量拖入到VI的背面板中,此時將顯示為一個問號,并且VI無法運行(運行箭頭斷開),如圖 2所示。這是由于此時該新建的局域變量還沒有與VI界面上的任何控件建立關聯(lián)。


圖 2 未鏈接的局域變量
在前面板上依次放入一個Numeric控件、Boolean控件和String控件,如圖 3所示。


圖 3 VI前面板
使用Ctrl+E鍵切換到背面板,并將鼠標切換到“手型工具”放在局域變量上或者直接使用Automatic工具模式。此時會出現(xiàn)當前VI前面板上所有控件的列表,選擇某一個控件就實現(xiàn)了局域變量與控件的鏈接,如圖 4所示。LabVIEW不允許局域變量沒有被使用,無論是讀還是寫均可以,因此局域變量上沒有任何連線則VI將無法運行。


圖 4 VI背面板
可以在一個VI中建立足夠的局域變量進行數(shù)據(jù)交換,也可以使用局域變量為Control型控件賦值,如圖 5所示。


圖 5 局域變量的使用
局域變量為同一個VI的數(shù)據(jù)共享和傳輸提供了很大的方便,但是由于它必須依附于當前VI中的某一個控件,因此無法在兩個不同的VI之間傳遞數(shù)據(jù)。

1.2全局變量

全局變量的使用與局域變量相似,但是它并不依附與某一個控件,可以在同一個VI內(nèi)部或者不同的VI之間進行數(shù)據(jù)傳遞(無法在兩個獨立的exe應用程序之間傳遞數(shù)據(jù))。
全局變量實際上存在于一個vi文件,該文件中沒有背面板,里面包含了很多的全局性控件。打開LabVIEW菜單的File>>New…選項,選擇Global Variable項可以新建一個全局變量文件。在其中可以加入若干個控件,如圖 6所示。

上一頁 1 2 下一頁

評論


技術專區(qū)

關閉