虛擬儀器是計算機技術(shù)和數(shù)字信號處理(Digital SignalProcessor,簡稱DSP)技術(shù)發(fā)展的產(chǎn)物,具有功能開放,設(shè)計靈活,對網(wǎng)絡(luò)支持良好,價位低廉等優(yōu)勢,近幾年已獲得飛速發(fā)展和廣泛應(yīng)用。作為一種通用的圖形化編程語言,其實質(zhì)是充分利用最新的計算機技術(shù)來實現(xiàn)和擴展傳統(tǒng)儀器的功能。
虛擬儀器由用戶白行設(shè)計、自定義,并結(jié)合一種或多種功能的通用模塊,調(diào)用不同功能的軟件模塊,組成不同的儀器功能,以滿足自己的特殊需求。這里通過對電網(wǎng)綜合參數(shù)測控系統(tǒng)的軟件設(shè)計,介紹了軟件設(shè)計中采用LabVIEW的方法和步驟。
LabVIEW的軟件開發(fā)步驟
1.創(chuàng)建前面板
從控件面板上選擇所需的各種控件,將其按規(guī)律放置在前面板的容器上,組織好彼此的相對位置,使得前面板變得美觀漂亮,設(shè)置好各控件的屬性和顯示方式。
2.創(chuàng)建數(shù)據(jù)流程圖
從函數(shù)面板上選擇所需的函數(shù)圖標,依據(jù)要實現(xiàn)的功能,用線將它們有序地連接起來,以創(chuàng)建完整的數(shù)據(jù)流程圖。
3.函數(shù)調(diào)試分析
采用各種方式進行程序調(diào)試,修改數(shù)據(jù)流程圖,直至滿足要求。
(1)軟件的登陸設(shè)置 利用順序結(jié)構(gòu)控制登陸成功后才能顯示界面,在用戶登陸子VI屬性設(shè)置成軟件運行時就啟動,彈出登陸界面,輸入口令正確進入系統(tǒng)。
(2)菜單設(shè)置 LabVIEW窗自身具有定制菜單的功能。在VI前面板主菜單中選擇“編輯-運行時菜單”,彈出菜單編輯對話框,如圖1所示。用戶根據(jù)要求在對話框中設(shè)置系統(tǒng)管理、通訊等主菜單,在界面左半部選擇菜單類型為用戶項,菜單項名稱分別寫入對應(yīng)的菜單設(shè)置名稱,用同樣方法設(shè)置主菜單下的子菜單。在后面板中,用幾個菜單設(shè)計圖標相連,并分別寫入主菜單和子菜單的名稱,以完成相應(yīng)菜單的定制功能,如圖2所示。
單的響應(yīng)程序依靠編輯設(shè)置一個事件結(jié)構(gòu)來完成,編輯事件對話框中的事件源本VI對應(yīng)的事件設(shè)置成菜單選擇(用戶),選擇項只留下項標識符(Item Tag)一項,在事件結(jié)構(gòu)內(nèi)放上對應(yīng)事件,將項標識符與條件結(jié)構(gòu)相連,用以選擇相應(yīng)的指令,如圖3所示。
在自定義菜單中,根據(jù)需要創(chuàng)建菜單項,待完成菜單定制后,對每個子菜單設(shè)計對應(yīng)的SUBVI,并且每個子VI都有自己的用戶界面。新建一個文件夾,把設(shè)計過程中需要保存的東西都保存在這個文件夾下。
編寫菜單響應(yīng)程序。利用LabVIEW提供的菜單選擇節(jié)點獲取所選菜單項,然后在一個條件結(jié)構(gòu)中編寫與菜單選項對應(yīng)的功能程序。在VI運行時,條件結(jié)構(gòu)根據(jù)菜單選擇節(jié)點返回的菜單執(zhí)行相應(yīng)的功能程序。
工具欄
在該軟件界面上,工具欄上的按鈕在LabVIEW控件中找不到,這就需要自定義控件。剪切相應(yīng)的圖標放入畫圖工具中,用剪切工具把圖片選中下來,按ctrl+c將其復制到剪貼板上,若要其效果更好,可用PHOTOSHOP之類的軟件進行修飾。編輯控件。把確定按鈕放在LabVIEW前面板上,右擊選擇“高級-自定義”,點擊后進入編輯狀態(tài),點擊工具欄中 按鈕,使其變成 ,對著最大的外形框右擊,選擇從剪貼板導入圖片,這樣即可把先前準備好的圖片制作成控件。
數(shù)據(jù)庫
在添加用戶與添加設(shè)備子VI中,需要用到數(shù)據(jù)庫。這里應(yīng)用Microsoft Access數(shù)據(jù)庫,它是一種關(guān)系型數(shù)據(jù)庫,按關(guān)系數(shù)據(jù)模型組織數(shù)據(jù)庫。
LabVIEW開發(fā)環(huán)境的本身并不具備數(shù)據(jù)庫訪問功能。利用NI公司的附加工具包LabVIEW SQL Toolkit進行數(shù)據(jù)庫訪問,這種工具包價格比較昂貴,不適合應(yīng)用。因此利用了由美國NI公司開發(fā)的一個免費、多數(shù)據(jù)庫、跨平臺的LabVIEW數(shù)據(jù)庫訪問工具即LabSQL工具包來實現(xiàn)數(shù)據(jù)庫訪問。