基于Labview的虛擬儀器人機界面模式設計
Lebview現在已經(jīng)越來(lái)越廣泛地應用于測量、控制、教學(xué)、科研等領(lǐng)域,它采用圖形化編程方式,內置大量功能,能夠很方便地完成數據采集分析顯示、儀器控制、測量測試、工業(yè)過(guò)程仿真及控制等多種操作,并具有良好的可擴展性。
本文引用地址:http://dyxdggzs.com/article/201701/337669.htm在應用Lebview進(jìn)行實(shí)際項目開(kāi)發(fā)時(shí)往往要求程序能夠實(shí)現多功能集成化,這時(shí)程序界面的統一化、便于操作等要求就十分重要。本文以虛擬信號發(fā)生器的開(kāi)發(fā)過(guò)程為例,對使用Labview開(kāi)發(fā)虛擬儀器時(shí)人機界面模式的設計與實(shí)現進(jìn)行了研究。
2 虛擬信號發(fā)生器的系統要求及分析
2.1 系統要求
虛擬信號發(fā)生器的總體設計要求如下1、實(shí)現多功能信號發(fā)生,能夠產(chǎn)生常用波形(正弦波、三角波、方波、齒鋸波等)、用戶(hù)自定義函數波形、加噪波形等。2、可進(jìn)行參數調節、并完成波形的數字存儲功能。3、要求良好的人機交互界面,易于操作。
2.2 設計分析
在Lebview中實(shí)現單一功能的信號發(fā)生較為簡(jiǎn)單,只需在前面板放置相應的控件進(jìn)行波形參數設置、波形顯示及數據存儲路徑選擇,然后在框圖程序窗口選擇合適的功能節點(diǎn),并完成各節點(diǎn)及端點(diǎn)的邏輯連接即可達到要求。
按照系統設計要求,程序不但需要實(shí)現多種功能,同時(shí)還應該具有能讓用戶(hù)便捷地進(jìn)行操作的特點(diǎn),而簡(jiǎn)單地將多個(gè)子功能程序放在一起并不能滿(mǎn)足要求。
我們針對"便于操作、良好的人機交互界面"這個(gè)系統要求進(jìn)行了綜合分析,設計了三種具有不同特點(diǎn)的人機界面模式:整體界面模式、彈出式界面模式、動(dòng)態(tài)調用界面模式。
3 虛擬信號發(fā)生器的人機界面設計
3.1整體界面模式設計
整體界面模式的特點(diǎn):所有功能模塊的參數設置及實(shí)現均在同一界面下,不同的功能對應不同的功能按鈕。當按下某一按鈕時(shí),將實(shí)現相應的功能操作。
3.1.1 前面板設計
在前面板設計中,我們將公共參數放在一組,以免出現重復控件;將各子功能的特征參數分在不同的組中,以方便用戶(hù)操作。波形的顯示由一個(gè)graph控件完成,數據存儲也共用同一功能區。用互鎖按鈕實(shí)現各子功能之間的切換。該模式下的前面板如圖1所示。
圖1 整體界面模式的前面板
3.1.2 框圖程序設計要點(diǎn)
我們選用了選擇結構來(lái)完成整體界面模式的實(shí)現:將常用信號模塊、用戶(hù)函數信號模塊、加噪信號模塊分別作為選擇結構的三個(gè)分支。當按下所需功能按鈕時(shí),執行所選的子框圖程序,完成相應操作。這里需要注意的是各子功能按鈕應該設置為互鎖關(guān)系,即在任一時(shí)刻只允許有一個(gè)按鈕被按下。當另一按鈕被按下時(shí),原先在按下?tīng)顟B(tài)的按鈕將自動(dòng)彈起。
我們將各子功能按鈕放入一個(gè)數組中,則該數組內容對應各按鈕的開(kāi)關(guān)狀態(tài)。然后設置一個(gè)while循環(huán)結構,利用循環(huán)結構的移位寄存器比較本次循環(huán)中的按鈕數組內容和上次循環(huán)中的按鈕數組內容,若相等,則說(shuō)明沒(méi)有按下其他按鈕;若不等,說(shuō)明有另外的按鈕按下,此時(shí)需要將按鈕數組的內容重寫(xiě):原來(lái)按下的按鈕邏輯值應該改為"false",而新按下的按鈕邏輯值應變?yōu)?true".可將當前按鈕狀態(tài)內容與前一次的按鈕狀態(tài)內容進(jìn)行異或運算來(lái)實(shí)現這兩步功能。更新后的按鈕狀態(tài)通過(guò)局部變量對原按鈕數組內容進(jìn)行重寫(xiě)完成?;ユi邏輯的框圖程序如圖2所示。
圖2 互鎖邏輯框圖程序
整體界面模式的優(yōu)點(diǎn)在于所有子功能模塊均在同一界面下,整體可視性、可操作性較好。但當子模塊類(lèi)型較多時(shí),將出現界面過(guò)于臃腫而不易操作、編程過(guò)于繁雜的問(wèn)題,此時(shí)我們可以通過(guò)Tab控件進(jìn)行功能模塊的分類(lèi),以達到簡(jiǎn)化前面板界面的目的。
評論