1引言
虛擬儀器是計(jì)算機(jī)技術(shù)和數(shù)字信號(hào)處理(Digital SignalProcessor,簡(jiǎn)稱(chēng)DSP)技術(shù)發(fā)展的產(chǎn)物,具有功能開(kāi)放,設(shè)計(jì)靈活,對(duì)網(wǎng)絡(luò)支持良好,價(jià)位低廉等優(yōu)勢(shì),近幾年已獲得飛速發(fā)展和廣泛應(yīng)用。作為一種通用的圖形化編程語(yǔ)言,其實(shí)質(zhì)是充分利用最新的計(jì)算機(jī)技術(shù)來(lái)實(shí)現(xiàn)和擴(kuò)展傳統(tǒng)儀器的功能。
虛擬儀器由用戶白行設(shè)計(jì)、自定義,并結(jié)合一種或多種功能的通用模塊,調(diào)用不同功能的軟件模塊,組成不同的儀器功能,以滿足自己的特殊需求。這里通過(guò)對(duì)電網(wǎng)綜合參數(shù)測(cè)控系統(tǒng)的軟件設(shè)計(jì),介紹了軟件設(shè)計(jì)中采用LabVIEW的方法和步驟。
2 LabVIEW的軟件開(kāi)發(fā)步驟
2.1創(chuàng)建前面板
從控件面板上選擇所需的各種控件,將其按規(guī)律放置在前面板的容器上,組織好彼此的相對(duì)位置,使得前面板變得美觀漂亮,設(shè)置好各控件的屬性和顯示方式。
2.2創(chuàng)建數(shù)據(jù)流程圖
從函數(shù)面板上選擇所需的函數(shù)圖標(biāo),依據(jù)要實(shí)現(xiàn)的功能,用線將它們有序地連接起來(lái),以創(chuàng)建完整的數(shù)據(jù)流程圖。
2.3函數(shù)調(diào)試分析
采用各種方式進(jìn)行程序調(diào)試,修改數(shù)據(jù)流程圖,直至滿足要求。
(1)軟件的登陸設(shè)置利用順序結(jié)構(gòu)控制登陸成功后才能顯示界面,在用戶登陸子VI屬性設(shè)置成軟件運(yùn)行時(shí)就啟動(dòng),彈出登陸界面,輸入口令正確進(jìn)入系統(tǒng)。
(2)菜單設(shè)置 LabVIEW窗自身具有定制菜單的功能。在VI前面板主菜單中選擇“編輯-運(yùn)行時(shí)菜單”,彈出菜單編輯對(duì)話框,如圖1所示。用戶根據(jù)要求在對(duì)話框中設(shè)置系統(tǒng)管理、通訊等主菜單,在界面左半部選擇菜單類(lèi)型為用戶項(xiàng),菜單項(xiàng)名稱(chēng)分別寫(xiě)入對(duì)應(yīng)的菜單設(shè)置名稱(chēng),用同樣方法設(shè)置主菜單下的子菜單。在后面板中,用幾個(gè)菜單設(shè)計(jì)圖標(biāo)相連,并分別寫(xiě)入主菜單和子菜單的名稱(chēng),以完成相應(yīng)菜單的定制功能,如圖2所示。
菜單的響應(yīng)程序依靠編輯設(shè)置一個(gè)事件結(jié)構(gòu)來(lái)完成,編輯事件對(duì)話框中的事件源本VI對(duì)應(yīng)的事件設(shè)置成菜單選擇(用戶),選擇項(xiàng)只留下項(xiàng)標(biāo)識(shí)符(Item Tag)一項(xiàng),在事件結(jié)構(gòu)內(nèi)放上對(duì)應(yīng)事件,將項(xiàng)標(biāo)識(shí)符與條件結(jié)構(gòu)相連,用以選擇相應(yīng)的指令,如圖3所示。
在自定義菜單中,根據(jù)需要?jiǎng)?chuàng)建菜單項(xiàng),待完成菜單定制后,對(duì)每個(gè)子菜單設(shè)計(jì)對(duì)應(yīng)的SUBVI,并且每個(gè)子VI都有自己的用戶界面。新建一個(gè)文件夾,把設(shè)計(jì)過(guò)程中需要保存的東西都保存在這個(gè)文件夾下。
編寫(xiě)菜單響應(yīng)程序。利用LabVIEW提供的菜單選擇節(jié)點(diǎn)獲取所選菜單項(xiàng),然后在一個(gè)條件結(jié)構(gòu)中編寫(xiě)與菜單選項(xiàng)對(duì)應(yīng)的功能程序。在VI運(yùn)行時(shí),條件結(jié)構(gòu)根據(jù)菜單選擇節(jié)點(diǎn)返回的菜單執(zhí)行相應(yīng)的功能程序。
3工具欄
在該軟件界面上,工具欄上的按鈕在LabVIEW控件中找不到,這就需要自定義控件。剪切相應(yīng)的圖標(biāo)放入畫(huà)圖工具中,用剪切工具把圖片選中下來(lái),按ctrl+c將其復(fù)制到剪貼板上,若要其效果更好,可用PHOTOSHOP之類(lèi)的軟件進(jìn)行修飾。編輯控件。把確定按鈕放在LabVIEW前面板上,右擊選擇“高級(jí)-自定義”,點(diǎn)擊后進(jìn)入編輯狀態(tài),點(diǎn)擊工具欄中按鈕,使其變成 ,對(duì)著最大的外形框右擊,選擇從剪貼板導(dǎo)入圖片,這樣即可把先前準(zhǔn)備好的圖片制作成控件。
4數(shù)據(jù)庫(kù)
在添加用戶與添加設(shè)備子VI中,需要用到數(shù)據(jù)庫(kù)。這里應(yīng)用Microsoft Access數(shù)據(jù)庫(kù),它是一種關(guān)系型數(shù)據(jù)庫(kù),按關(guān)系數(shù)據(jù)模型組織數(shù)據(jù)庫(kù)。
LabVIEW開(kāi)發(fā)環(huán)境的本身并不具備數(shù)據(jù)庫(kù)訪問(wèn)功能。利用NI公司的附加工具包LabVIEW SQL Toolkit進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn),這種工具包價(jià)格比較昂貴,不適合應(yīng)用。因此利用了由美國(guó)NI公司開(kāi)發(fā)的一個(gè)免費(fèi)、多數(shù)據(jù)庫(kù)、跨平臺(tái)的LabVIEW數(shù)據(jù)庫(kù)訪問(wèn)工具即LabSQL工具包來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問(wèn)。
在LabVIEW安裝目錄重的user.lib文件夾中新建一個(gè)LabSQL文件夾,將下載的LabSQL放到這個(gè)文件夾下,再次運(yùn)行時(shí),LabVIEW的功能模塊就會(huì)自動(dòng)加載LabSQL。LabSQL與數(shù)據(jù)庫(kù)之間通過(guò)ODBC連接,用戶需要在ODBC中指定數(shù)據(jù)源名稱(chēng)和驅(qū)動(dòng)程序。因此,在使用LabSQL之前,首先要在Windows操作系統(tǒng)的ODBC數(shù)據(jù)源中創(chuàng)建一個(gè)DSN,LabSQL與數(shù)據(jù)庫(kù)之間的連接就是建立在DSN的基礎(chǔ)之上。
在Windows操作系統(tǒng)的控制面板中,依次點(diǎn)擊性能與維護(hù)→管理工具→數(shù)據(jù)源,彈出圖4的ODBC數(shù)據(jù)源管理器。
單擊“系統(tǒng)DSN”選項(xiàng)卡中的“添加(D)…”按鈕,在隨后彈出的圖5所示“創(chuàng)建新數(shù)據(jù)源”界面的驅(qū)動(dòng)程序列表中選擇“Microsoft Access Driver(*.mdb)”,并單擊“完成”按鈕,在隨后出現(xiàn)的圖6所示對(duì)話框中“數(shù)據(jù)源名(N)”一欄中創(chuàng)建DSN的名稱(chēng),并單擊“選擇”按鈕,選擇需要訪問(wèn)的數(shù)據(jù)庫(kù),按“確定”按鈕結(jié)束。
完成上述設(shè)置后就可以進(jìn)行數(shù)據(jù)庫(kù)的操作,其基本步驟如圖7所示。首先利用ADO Connection Create.vi創(chuàng)建一個(gè)Connection對(duì)象,然后利用ADO Connection Open.vi建立與數(shù)據(jù)庫(kù)的連接,要連接的數(shù)據(jù)庫(kù)由字符串ConnectionString控制在前面板控件中輸入。在程序框圖中使用Format Into Strings生成SQL命令,將它連接到ADO Connection Execute.vi即可執(zhí)行。利用ADO Recordset Creat.vi創(chuàng)建一個(gè)Recordset對(duì)象,然后利用ADO Recordset Open.vi打開(kāi)Recordset對(duì)象,并同時(shí)利用SQL查詢(xún)命令,以獲得數(shù)據(jù)庫(kù)表中的全部或部分記錄。通過(guò)功能選擇按鈕來(lái)選擇和控制對(duì)數(shù)據(jù)庫(kù)的操作。利用ADO Recordset Close.vi和ADO Connection Close.vi關(guān)閉與數(shù)據(jù)庫(kù)之間的連接,利用ADO Connection Destroy.vi刪除Connection對(duì)象。將其用于設(shè)計(jì)中,即在設(shè)計(jì)界面點(diǎn)擊“添加”按鈕,出現(xiàn)圖8所示的用戶注冊(cè)對(duì)話框。
在整點(diǎn)數(shù)據(jù)等子VI 中,要在同一個(gè)界面切換顯示測(cè)試圖象,運(yùn)用選項(xiàng)卡控件來(lái)實(shí)現(xiàn)這種功能,如圖9所示。圖10給出最終建立的界面。
5結(jié)語(yǔ)
在確定計(jì)算機(jī)和儀器等硬件資源的情況下,對(duì)應(yīng)不同的應(yīng)用程序有不同的虛擬儀器。通過(guò)軟件實(shí)現(xiàn)虛擬儀器的部分或全部功能,這就是設(shè)計(jì)虛擬儀器的核心思想。采用面向?qū)ο蟮脑O(shè)計(jì)方法,利用可視化圖形編程環(huán)境,建立圖形化用戶接口是儀器實(shí)現(xiàn)自動(dòng)化和智能化的關(guān)鍵。