新聞中心

        EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 局域變量、全局變量和功能型全局變量

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

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

        1.1局域變量

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


        圖 1 局域變量在函數(shù)選板中的位置
        將局域變量拖入到VI的背面板中,此時將顯示為一個問號,并且VI無法運行(運行箭頭斷開),如圖 2所示。這是由于此時該新建的局域變量還沒有與VI界面上的任何控件建立關(guān)聯(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應(yīng)用程序之間傳遞數(shù)據(jù))。
        全局變量實際上存在于一個vi文件,該文件中沒有背面板,里面包含了很多的全局性控件。打開LabVIEW菜單的File>>New…選項,選擇Global Variable項可以新建一個全局變量文件。在其中可以加入若干個控件,如圖 6所示。

        上一頁 1 2 下一頁

        關(guān)鍵詞: 局域變量全局變量功能

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 洛浦县| 东阿县| 澄城县| 日照市| 灵璧县| 霍林郭勒市| 东乡族自治县| 土默特右旗| 宾川县| 长丰县| 同德县| 德化县| 独山县| 金沙县| 镇宁| 黎城县| 固镇县| 泸溪县| 梁平县| 临夏县| 荔波县| 内乡县| 利辛县| 临江市| 固原市| 益阳市| 锡林浩特市| 九江市| 通辽市| 隆安县| 寿阳县| 甘德县| 抚顺市| 剑河县| 新郑市| 平利县| 凤城市| 盐城市| 湘阴县| 互助| 连城县|