局域變量、全局變量和功能型全局變量
事實上,在變量的實際使用過程中,程序員只是用來對某一部分的內(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所示。
評論