新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > LABVIEW的深入探索之已鏈接控件引用與未鏈接控件引用

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

        作者: 時間:2017-01-09 來源:網絡 收藏

        是否可以這樣說:在控件所屬的vi中,使用屬性、方法節點不需要創建引用;

        從上圖看高老師的說法有局限性,在控件所屬VI中,也可能需要創建引用來使用屬性、方法節點。

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

        任何編程軟件都強調模塊化的重要性,為了簡化上圖中的程序框圖,我們希望把上圖中的FOR循環容封裝在一個子VI中。

        主VI的程序框圖簡化為:

        下面我們增加一個“李老師”顯示控件,子VI不需要任何改動。程序框圖和運行效果圖如下所示:

        從上面兩個程序框圖中,我們可以領會到這個子VI功能是非常強大的,子VI是如何實現的那?下圖是子VI的前面板和程序框圖。

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

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

        高老師實際的意思應該是這樣的,如果在“在子VI中操作主VI中的控件,則必須使用該控件的引用”,高老師的這個說法是完全正確的。

        LV有關引用有幾個重要的特點:

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

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

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

        4、運行時,未鏈接到特定控件的引用可以指向同類型(嚴格類型)的特定控件。


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


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 盐山县| 武威市| 衡山县| 牙克石市| 哈巴河县| 江北区| 仲巴县| 屯门区| 句容市| 怀远县| 木兰县| 芜湖县| 宁安市| 乐亭县| 涡阳县| 锦州市| 伊通| 龙江县| 宜川县| 紫金县| 右玉县| 台湾省| 邻水| 五原县| 岑溪市| 台安县| 儋州市| 松桃| 淅川县| 商南县| 武宁县| 平阴县| 平昌县| 台北市| 四平市| 柳河县| 蛟河市| 洛宁县| 贞丰县| 灵山县| 郑州市|