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