Labview是Laboratory Virtual Instrument Engineering Workbench (實驗室虛擬儀器集成開發環境)的簡稱,是有美國國家儀器公司(National instruments, IN)創立的一個功能強大而又靈活的儀器和分析應用開發工具。Labview不同于基于文本的的編程語言(如Fortran和C),他是一種圖形編程語言----通常稱為G語言,其編程過程就是同過圖形符號描述程序的運行。NI Labview使用已獲取專利的數據流編程模式,他能是用戶從基于文本程序語言的循序結構中解脫出來,他的執行循序是由節點間的數據而不是由文本行的循序決定的。并且,Labview是唯一具有編譯器的圖形化程序環境,所生成的的優化代碼的執行速率可以和C語言媲美。Labview就有開放的環境,能和第三放軟件輕松連接,通過Labview,用戶可以把現有的應用程序和.NET組件、ActiveX、 DLL以及廣泛的網絡協議相連,同樣用戶可以在Labview中創建能在其軟件環境中調用的獨立執行程序或動態連接庫。在設計集成系統中,特別是做硬件數據采集,儀器控制等,有其一套快速開發組件,從而大大縮短了系統的開發周期,著是其他開發平臺所沒法比較的。下面對Labview基于圖形化語言作簡要介紹: 2.1 程序前面板 程序前面板用于設置輸入數值和觀察輸出量,用于模擬真實儀表的前面板。在程序前面板上,輸入量被稱為控制(Controls),輸出量被稱為顯示(Indicators)。控制和顯示是以各種圖標形式出現在前面板上,如旋鈕、開關、按鈕、圖表、圖形等,這使這得前面板直觀易懂。 2.2 框圖程序 每一個程序前面板都對應著一段框圖程序。框圖程序用Labview圖形編程語言編寫,可以把它理解成傳統程序的源代碼。框圖程序由端口、節點、圖框和連線構成。其中端口被用來同程序前面板的控制和顯示傳遞數據,節點被用來實現函數和功能調用,圖框被用來實現結構化程序控制命令,而連線代表程序執行過程中的數據流,定義了框圖內的數據流動方向。上述信號發生器的框圖程序如下面的的圖2-2: 2.3 圖標/連接器 圖標/連接器是子VI被其它VI調用的接口。圖標是子VI在其他程序框圖中被調用的節點表現形式;而連接器則表示節點數據的輸入/輸出口,就象函數的參數。用戶必須指定連接器端口與前面板的控制和顯示一一對應。連接器一般情況下隱含不顯示,除非用戶選擇打開觀察它。 2.4 Labview中的操作模板 Labview具有多個圖形化的操作模板,用于創建和運行程序。這些操作模板可以隨意在屏幕上移動,并可以放置在屏幕的任意位置。操縱模板共有三類,為工具(Tools)模板、控制(Controls)模板和功能(Functions)模板。 工具模板(Tools Palette) 工具模板為編程者提供了各種用于創建、修改和調試VI程序的工具。如果該模板沒有出現,則可以在Windows菜單下選擇Show Tools Palette命令以顯示該模板。當從模板內選擇了任一種工具后,鼠標箭頭就會變成該工具相應的形狀。當從Windows菜單下選擇了Show Help Window功能后,把工具模板內選定的任一種工具光標放在框圖程序的子程序(Sub VI)或圖標上,就會顯示相應的幫助信息。工具圖標有如下幾種: 操作工具:使用該工具來操作前面板的控制和顯示。使用它向數字或字符串控制中鍵入值時,工具會變成標簽工具的形狀。 選擇工具:用于選擇、移動或改變對象的大小。當它用于改變對象的連框大小時,會變成相應形狀。 標簽工具:用于輸入標簽文本或者創建自由標簽。當創建自由標簽時它會變成相應形狀。 連線工具:用于在框圖程序上連接對象。如果聯機幫助的窗口被打開時,把該工具放在任一條連線上,就會顯示相應的數據類型。 對象彈出菜單工具:用左鼠標鍵可以彈出對象的彈出式菜單.
漫游工具:使用該工具就可以不需要使用滾動條而在窗口中漫游。
斷點工具:使用該工具在VI的框圖對象上設置斷點。
探針工具:可以在框圖程序內的數據流線上設置探針。程序調試員可以通過控 針窗口來觀察該數據流線上的數據變化狀況。 顏色提取工具:使用該工具來提取顏色用于編輯其他的對象。 顏色工具:用來給對象定義顏色。它也顯示出對象的前景色和背景色。 與上述工具模板不同,控制和功能模板只顯示頂層子模板的圖標。在這些頂層子模板中包含許多不同的控制或功能子模板。通過這些控制或功能子模板可以找到創建程序所需的面板對象和框圖對象。用鼠標點擊頂層子模板圖標就可以展開對應的控制或功能子模板,只需按下控制或功能子模板左上角的大頭針就可以把對這個子模板變成浮動板留在屏幕上。 2.5 控制模板(Controls Palette) 用控制模板可以給前面板添加輸入控制和輸出顯示。每個圖標代表一個子模板。如果控制模板不顯示,可以用Windows菜單的Show Controls Palette功能打開它,也可以在前面板的空白處,點擊鼠標右鍵,以彈出控制模板。 注:只有當打開前面板窗口時才能調用控制模板。
控制模板如左圖所示,以下介紹幾個常用的模板:
數值子模板:包含數值的控制和顯示。
布爾值子模塊:邏輯數值的控制和顯示。
數組和群子模板:復合型數據類型的控制和顯示。
圖形子模板:顯示數據結果的趨勢圖和曲線圖。
修飾子模板:用于給前面板進行裝飾的各種圖形對象。
調用存儲在文件中的控制和顯示的接口。
2.6 功能模板(Functions Palette) 功能模板是創建框圖程序的工具。該模板上的每一個頂層圖標都表示一個子模板。若功能模板不出現,則可以用Windows菜單下的Show Functions Palette功能打開它,也可以在框圖程序窗口的空白處點擊鼠標右鍵以彈出功能模板。 (注:只有打開了框圖程序窗口,才能出現功能模板。) 功能模板如右圖所示。以下介紹幾個常用的模板:
結構子模板:包括程序控制結構命令,例如循環 控制等,以及全局變量和局部變量。 數值運算子模板:包括各種常用的數值運算符,如+、-等;以及各種常見的數值運算式,如+1運算;還包括數制轉換、三角函數、對數、復數等運算,以及各種數值常數。 布爾邏輯子模板:包括各種邏輯運算符以及布爾常數。
群子模板:包括群的處理函數,以及群常數等。這里的群相當于C語言中的結構。
比較子模板:包括各種比較運算函數,如大于、小于、等于。
時間和對話框子模板:包括對話框窗口、時間和出錯處理函數等。
信號處理子模板:包括信號發生、時域及頻域分析功能模塊。
“選擇…VI子程序”子模板:包括一個對話框,可以選擇一個VI程序作為子程序(SUB VI)插入當前程序中。 2.7 Labview中的框圖程序 框圖程序是由節點、端子、圖框和連線四種元素構成的。 節點類似于文本語言程序的語句、函數或者子程序。Labview有二種節點類型----函數節點和子VI節點。兩者的區別在于:函數節點是Labview以編譯好了的機器代碼供用戶使用的,而子VI節點是以圖形語言形式提供給用戶的。用戶可以訪問和修改任一子VI節點的代碼,但無法對函數節點進行修改。 端子是只有一路輸入/輸出,且方向固定的節點。Labview有三類端子----前面板對象端子、全局與局部變量端子和常量端子。對象端子是數據在框圖程序部分和前面板之間傳輸的接口。一般來說,一個VI的前面板上的對象(控制或顯示)都在框圖中有一個對象端子與之一一對應。當在前面板創建或刪除面板對象時,可以自動創建或刪除相應的對象端子。控制對象對應的端子在框圖中是用粗框框住的。它們只能在VI程序框圖中作為數據流源點。顯示對象對應的端子在框圖中是用細框框住的。 圖框是Labview實現程序結構控制命令的圖形表示。如循環控制、條件分支控制和順序控制等,編程人員可以使用它們控制VI程序的執行方式。代碼接口節點(CIN)是框圖程序與用戶提供的C語言文本程序的接口。 連線是端口間的數據通道。它們類似于普通程序中的變量。數據是單向流動的,從源端口向一個或多個目的端口流動。不同的線型代表不同的數據類型。在彩顯上,每種數據類型還以不同的顏色予以強調。 當需要連接兩個端子時,在第一個端子上點擊連線工具(從工具模板欄調用),然后移動到另一個端子,再點擊第二個端子。端子的先后次序不影響數據流動的方向。當把連線工具放在端子上時,該端子區域將會閃爍,表示連線將會接通該端子。當把連線工具從一個端口接到另一個端口時,不需要按住鼠標鍵。當需要連線轉彎時,點擊一次鼠標鍵,即可以正交垂直方向地彎曲連線,按空格鍵可以改變轉角的方 2.虛擬信號發生器的設計思想 虛擬儀器通過底層設備驅動軟件與真實的儀器系統進行通訊,并以虛擬儀器面板的形式在計算機屏幕上顯示與真實儀器面板操作元素相對應的各種控鍵. 虛擬信號發生器可產生正弦波、方波和三角波等信號,根據需要,可調節其中面板上的控鍵,改變信號的頻率、幅度與相位,并可以進行數據存儲,所有信號發生的結果都可以通過軟件設計的虛擬面板顯示.. |