新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > LabVIEW子VI與VI的層次結構

        LabVIEW子VI與VI的層次結構

        作者: 時間:2017-01-09 來源:網絡 收藏
        例2-1是我們創建的第一個VI,也是一個極其簡單的VI。其實在圖形化語言中,最經常使用的是子VI。子VI類似于文本語言中的子程序。
        在圖形化語言中,子VI是提供給其它VI使用的VI,子VI可以實現與調用VI之間的數據交換。子VI除了可以被其它VI使用外,它的另一個作用就是簡化程序框圖。對于一個復雜的程序框圖可以通過創建多個子VI來進行化簡。

        子VI是模塊化程序設計的基礎和主要部件。子VI使得程序易于調試、理解和維護。所以理解和創建子VI是構建VI的基礎。

        LabVIEW函數選板上所提供的內置VI都屬于子VI。這些內置VI是LabVIEW開發環境所提供的,安裝LabVIEW后即可獲得。除此之外,我們還可以創建適合自己使用的子VI。
        2.5.1 創建子VI
        創建子VI有兩種方法,一是通過創建一個新VI來實現;另一個是從現有的VI中提取部分代碼構成一個子VI。

        我們通過一個濾波器的設計來介紹第一種方法,創建一個適合自己使用的子VI。

        例2-2 理想濾波器
        濾波器是信號處理中比較常用的部件,在實際工程應用中也常常用到。一般情況下,我們可以選擇LabVIEW所提供的濾波器內置VI。在LabVIEW的函 數選板中,選擇:》信號處理》濾波器可以看到多種濾波器內置VI,包括高級IIR濾波器和高級FIR濾波器供我們在設計中使用,參見下圖。
        圖 2-14 LabVIEW所提供的濾波器內置VI
        我們在電動式振動臺的測試項目中,需要準確測試振動加速度的峰值,可是在實際的加速度信號中往往包含許多諧波分量,從而導致無法準確的測量出加速度的峰 值。為了解決這個問題,最好的辦法是就是對加速度信號進行濾波處理。使用上述濾波器內置VI可以實現濾波處理,但是我們擔心濾波后信號的幅度和相位是否會 發生改變。也就是說,濾波器的幅頻特性和相頻特性是否真正會令我們滿意。其實,我們只是期待能夠提取加速度信號的基波分量,并不關心其它分量的信息。那么 有沒有這樣僅提取基波信號的方法呢?

        通過對函數》信號處理》波形測量》中的諧波失真分析內置VI的仔細分析,認為這個內置VI可以實現我們提取加速度信號的基波分量的要求。所以我們創建了這個子VI,并將其命名為:理想濾波器,參見下圖。
        圖 2-15 理想濾波器程序框圖
        這個子VI是我們通過挖掘了諧波失真分析內置VI中其它功能來實現的,也就是利用它可以導出信號中的其它信息這個特點實現了基波信號的提取。通過對導出信號項的設置,實現了對基波信號的提取。同時還可以獲得基波頻率和信號的失真度(%)。

        之所以稱其為理想濾波器,就是因為它具有極好的幅頻特性和相頻特性。在振動加速度測試中已經取得十分滿意的效果。


        2.5.2 創建子VI的圖標和連線板
        已經創建完成的VI還不是子VI,因為我們還沒有為這個VI創建它的數據輸入輸出通道和圖標。建立輸入輸出通道應該是子VI最重要的特征之一,通過輸入輸出通道才可以實現子VI與其它VI間的數據交換。

        圖標是區分VI的標志,圖標的創建方法這里不具體說明,大家可以參照幫助文件來試著完成。圖標和前面板,參見下圖。
        圖 2-17 例2-2的前面板和圖標
        下面創建連線板,具體操作是:在前面板中,鼠標單擊圖標在彈出的快捷菜單中選擇顯示連線板,然后對應將前面板中的控件與連線板一一對應分配。參見下圖。
        圖 2-18 例2-2的前面板和連線板
        至此,子VI創建完成,保存后就可以供其它程序使用。對于常用的子VI建議存儲到用戶庫中,當然別忘了為它創建簡要的說明文檔。

        下面我們繼續通過VI的屬性來確定子VI的前面板外觀和運行時的位置。
        上一頁 1 2 下一頁

        關鍵詞: LabVIEWVI層次結

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 曲阜市| 株洲县| 万年县| 闽清县| 南安市| 滨海县| 沙湾县| 贡嘎县| 德令哈市| 华蓥市| 固安县| 平昌县| 漠河县| 新乡县| 光山县| 田林县| 黄冈市| 茶陵县| 安丘市| 沁水县| 静乐县| 达孜县| 渝中区| 德州市| 邳州市| 精河县| 新蔡县| 高雄县| 泰安市| 佛坪县| 呼和浩特市| 朔州市| 台州市| 湘西| 济宁市| 乐业县| 洛隆县| 南部县| 宜兰市| 托克托县| 土默特右旗|