Labview中引用,屬性節點,局部變量之間的區別
在Labview中我們經常會碰到這樣幾個概念,那就是控件的引用,屬性節點以及局部變量,他們之間到底有哪些區別呢?
首先談引用,在Labview中長稱為引用句柄,在Windows編程中,引用句柄指的是指向指針的指針,換句話說,引用句柄保存的是其他一些數據類型的地址,例如窗口句柄。在Labview中,控件的引用句柄指的也是指向特定數據類型的指針,在Labview中,控件的引用句柄是長度為四個字節,引用句柄不但能夠表示控件的類型,還與空間一一對應,這是通過句柄的編號來實現的,引用句柄自身未代表任何空間,但是通過引用句柄指向特定的實例后,就可以操作具體的控件了,簡單的理解就是通過對引用句柄的操作,可以改變控件的屬性參數。
接下來說屬性節點,屬性節點在Labview中是一個很重要的概念,屬性節點用於訪問控件的屬性,例如需要改變控件在前面板的大小,運行時候的狀態等都需要通過屬性節點來進行操作,與引用結合起來講就是屬性節點可以設置引用的屬性。Labview的屬性節點功能強大,不同的控件有不同的引用,這些不同的引用都可以通過各自的屬性節點來進行設置,但需要注意的是,屬性節點的執行效率比較低,甚至比全局變量的效率還要低,所以NI一般建議少用屬性節點。
最后說局部變量,局部變量相當於C語言中的局部變量一樣,通過局部變量可以在一個VI中訪問或者存儲數據,通常這些數據都是存儲在不同的顯示或者輸入控件當中,所以說局部變量不是單獨存在的,每一個局部變量都是與特定的控件相對應的,一個控件可以生成許多局部變量,就相當於在一個函數中定義了一個變量,在函數的任何地方都可以使用這個變量一樣,每一個局部變量都要復制對應控件中的數據,因此這將消耗更多的內存,因此在labview中一些大的數組中不建議使用局部變量。