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