新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LABVIEW的深入探索之已鏈接控件引用與未鏈接控件引用

LABVIEW的深入探索之已鏈接控件引用與未鏈接控件引用

作者: 時(shí)間:2017-01-09 來(lái)源:網(wǎng)絡(luò) 收藏

是否可以這樣說(shuō):在控件所屬的vi中,使用屬性、方法節(jié)點(diǎn)不需要?jiǎng)?chuàng)建引用;

從上圖看高老師的說(shuō)法有局限性,在控件所屬VI中,也可能需要?jiǎng)?chuàng)建引用來(lái)使用屬性、方法節(jié)點(diǎn)。

三、為什么要用為鏈接控件的引用(通用引用)

任何編程軟件都強(qiáng)調(diào)模塊化的重要性,為了簡(jiǎn)化上圖中的程序框圖,我們希望把上圖中的FOR循環(huán)容封裝在一個(gè)子VI中。

主VI的程序框圖簡(jiǎn)化為:

下面我們?cè)黾右粋€(gè)“李老師”顯示控件,子VI不需要任何改動(dòng)。程序框圖和運(yùn)行效果圖如下所示:

從上面兩個(gè)程序框圖中,我們可以領(lǐng)會(huì)到這個(gè)子VI功能是非常強(qiáng)大的,子VI是如何實(shí)現(xiàn)的那?下圖是子VI的前面板和程序框圖。

子VI的輸入端子為未鏈接的數(shù)字控件引用數(shù)組,輸出為雙精度數(shù)組。我們通過(guò)未鏈接控件的引用成功地操作了調(diào)用VI中的三個(gè)數(shù)字控件:高老師、李老師、CSXCS_366.

而在子vi中如果需要向該控件傳值,則必須使用該控件的引用

高老師實(shí)際的意思應(yīng)該是這樣的,如果在“在子VI中操作主VI中的控件,則必須使用該控件的引用”,高老師的這個(gè)說(shuō)法是完全正確的。

LV有關(guān)引用有幾個(gè)重要的特點(diǎn):

1、數(shù)據(jù)流意味著是傳值方式而不是傳引用(地址)方式,在C語(yǔ)言中,值傳遞和引用傳遞都是支持的。

2、鏈接到特定控件的引用代表一個(gè)地址,因此同一控件的多個(gè)引用,它們的值(地址)肯定是相同的。

3、未鏈接到特定控件的引用(通用引用),它的值為0,相當(dāng)于C語(yǔ)言中空指針。

4、運(yùn)行時(shí),未鏈接到特定控件的引用可以指向同類(lèi)型(嚴(yán)格類(lèi)型)的特定控件。


引用無(wú)處不在,應(yīng)用程序引用、VI引用、窗格引用、控件引用,如果我們獲得了一個(gè)控件的引用,我們就可以控制這個(gè)控件的一切。如果在控件所屬VI中控制這個(gè)控件,我們自然不需要未鏈接控件的引用,但是如果需要在子VI中控制,則必須在主VI中先獲取這個(gè)控件的引用,并把這個(gè)引用(地址值)按照值傳遞的方式傳遞到子VI中,這樣子VI直接獲得的是主VI中控件的引用(地址值)。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: LABVIEW已鏈接控件引

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉