新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于Labview的虛擬儀器人機(jī)界面模式設(shè)計(jì)

基于Labview的虛擬儀器人機(jī)界面模式設(shè)計(jì)

作者: 時(shí)間:2017-01-12 來源:網(wǎng)絡(luò) 收藏
  1 前言

  Lebview現(xiàn)在已經(jīng)越來越廣泛地應(yīng)用于測量、控制、教學(xué)、科研等領(lǐng)域,它采用圖形化編程方式,內(nèi)置大量功能,能夠很方便地完成數(shù)據(jù)采集分析顯示、儀器控制、測量測試、工業(yè)過程仿真及控制等多種操作,并具有良好的可擴(kuò)展性。

本文引用地址:http://butianyuan.cn/article/201701/337669.htm

  在應(yīng)用Lebview進(jìn)行實(shí)際項(xiàng)目開發(fā)時(shí)往往要求程序能夠?qū)崿F(xiàn)多功能集成化,這時(shí)程序界面的統(tǒng)一化、便于操作等要求就十分重要。本文以虛擬信號發(fā)生器的開發(fā)過程為例,對使用Labview開發(fā)虛擬儀器時(shí)人機(jī)界面模式的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了研究。

  2 虛擬信號發(fā)生器的系統(tǒng)要求及分析

  2.1 系統(tǒng)要求

  虛擬信號發(fā)生器的總體設(shè)計(jì)要求如下1、實(shí)現(xiàn)多功能信號發(fā)生,能夠產(chǎn)生常用波形(正弦波、三角波、方波、齒鋸波等)、用戶自定義函數(shù)波形、加噪波形等。2、可進(jìn)行參數(shù)調(diào)節(jié)、并完成波形的數(shù)字存儲(chǔ)功能。3、要求良好的人機(jī)交互界面,易于操作。

  2.2 設(shè)計(jì)分析

  在Lebview中實(shí)現(xiàn)單一功能的信號發(fā)生較為簡單,只需在前面板放置相應(yīng)的控件進(jìn)行波形參數(shù)設(shè)置、波形顯示及數(shù)據(jù)存儲(chǔ)路徑選擇,然后在框圖程序窗口選擇合適的功能節(jié)點(diǎn),并完成各節(jié)點(diǎn)及端點(diǎn)的邏輯連接即可達(dá)到要求。

  按照系統(tǒng)設(shè)計(jì)要求,程序不但需要實(shí)現(xiàn)多種功能,同時(shí)還應(yīng)該具有能讓用戶便捷地進(jìn)行操作的特點(diǎn),而簡單地將多個(gè)子功能程序放在一起并不能滿足要求。

  我們針對"便于操作、良好的人機(jī)交互界面"這個(gè)系統(tǒng)要求進(jìn)行了綜合分析,設(shè)計(jì)了三種具有不同特點(diǎn)的人機(jī)界面模式:整體界面模式、彈出式界面模式、動(dòng)態(tài)調(diào)用界面模式。

  3 虛擬信號發(fā)生器的人機(jī)界面設(shè)計(jì)

  3.1整體界面模式設(shè)計(jì)

  整體界面模式的特點(diǎn):所有功能模塊的參數(shù)設(shè)置及實(shí)現(xiàn)均在同一界面下,不同的功能對應(yīng)不同的功能按鈕。當(dāng)按下某一按鈕時(shí),將實(shí)現(xiàn)相應(yīng)的功能操作。

  3.1.1 前面板設(shè)計(jì)

  在前面板設(shè)計(jì)中,我們將公共參數(shù)放在一組,以免出現(xiàn)重復(fù)控件;將各子功能的特征參數(shù)分在不同的組中,以方便用戶操作。波形的顯示由一個(gè)graph控件完成,數(shù)據(jù)存儲(chǔ)也共用同一功能區(qū)。用互鎖按鈕實(shí)現(xiàn)各子功能之間的切換。該模式下的前面板如圖1所示。

圖1 整體界面模式的前面板

  3.1.2 框圖程序設(shè)計(jì)要點(diǎn)

  我們選用了選擇結(jié)構(gòu)來完成整體界面模式的實(shí)現(xiàn):將常用信號模塊、用戶函數(shù)信號模塊、加噪信號模塊分別作為選擇結(jié)構(gòu)的三個(gè)分支。當(dāng)按下所需功能按鈕時(shí),執(zhí)行所選的子框圖程序,完成相應(yīng)操作。這里需要注意的是各子功能按鈕應(yīng)該設(shè)置為互鎖關(guān)系,即在任一時(shí)刻只允許有一個(gè)按鈕被按下。當(dāng)另一按鈕被按下時(shí),原先在按下狀態(tài)的按鈕將自動(dòng)彈起。

  我們將各子功能按鈕放入一個(gè)數(shù)組中,則該數(shù)組內(nèi)容對應(yīng)各按鈕的開關(guān)狀態(tài)。然后設(shè)置一個(gè)while循環(huán)結(jié)構(gòu),利用循環(huán)結(jié)構(gòu)的移位寄存器比較本次循環(huán)中的按鈕數(shù)組內(nèi)容和上次循環(huán)中的按鈕數(shù)組內(nèi)容,若相等,則說明沒有按下其他按鈕;若不等,說明有另外的按鈕按下,此時(shí)需要將按鈕數(shù)組的內(nèi)容重寫:原來按下的按鈕邏輯值應(yīng)該改為"false",而新按下的按鈕邏輯值應(yīng)變?yōu)?true".可將當(dāng)前按鈕狀態(tài)內(nèi)容與前一次的按鈕狀態(tài)內(nèi)容進(jìn)行異或運(yùn)算來實(shí)現(xiàn)這兩步功能。更新后的按鈕狀態(tài)通過局部變量對原按鈕數(shù)組內(nèi)容進(jìn)行重寫完成?;ユi邏輯的框圖程序如圖2所示。

圖2 互鎖邏輯框圖程序

  整體界面模式的優(yōu)點(diǎn)在于所有子功能模塊均在同一界面下,整體可視性、可操作性較好。但當(dāng)子模塊類型較多時(shí),將出現(xiàn)界面過于臃腫而不易操作、編程過于繁雜的問題,此時(shí)我們可以通過Tab控件進(jìn)行功能模塊的分類,以達(dá)到簡化前面板界面的目的。


上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉