<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/201701/337669.htm

            3.2 彈出式界面模式

            彈出式界面模式的特點(diǎn):在主程序面板按下子功能按鈕時,將彈出相應(yīng)功能的子程序面板,子面板運(yùn)行完畢后將返回主面板。

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

            我們將各子功能模塊做成多個子程序,為調(diào)用方便與主程序放置在同一路徑下。主程序的前面板只需實(shí)現(xiàn)相應(yīng)功能的調(diào)用按鈕配置。當(dāng)需要使用某項(xiàng)功能時,按下對應(yīng)的按鈕即可將子程序界面調(diào)出,執(zhí)行完畢后關(guān)閉子程序則可退回主程序界面,進(jìn)行其他功能的調(diào)用。虛擬信號發(fā)生器運(yùn)行過程中的彈出式界面如圖3所示(調(diào)用"常用波形發(fā)生"子功能程序)。

          圖3 彈出式界面模式下的前面板架構(gòu)

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

            利用Labview的事件驅(qū)動功能可以較容易地實(shí)現(xiàn)彈出式界面的設(shè)計(jì)要求,因此我們選擇事件結(jié)構(gòu)來實(shí)現(xiàn)虛擬信號發(fā)生器的彈出式界面的程序設(shè)計(jì)。

            在主程序的事件結(jié)構(gòu)中,為每個功能按鈕的事件發(fā)生指定相應(yīng)子功能程序的調(diào)用。這樣,每次當(dāng)某一功能按鈕按下時,Labview會自動通知程序所發(fā)生的事件,然后按照為這個事件指定的程序代碼對事件進(jìn)行響應(yīng)。主程序的框圖設(shè)計(jì)如圖4所示。

          圖4 彈出式界面模式的主框圖程序

            彈出式界面模式的優(yōu)點(diǎn)在于界面及程序結(jié)構(gòu)清晰,所有子模塊單獨(dú)編程,由主程序按需調(diào)用,這樣可以大大減少編程的復(fù)雜程度。

            3.3 動態(tài)調(diào)用模式

            動態(tài)調(diào)用模式的特點(diǎn):子功能程序僅在被調(diào)用時動態(tài)加載入內(nèi)存,調(diào)用結(jié)束后即釋放。

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

            我們將程序界面分為左右兩個區(qū)域:左邊區(qū)域設(shè)置各功能按鈕,可按需調(diào)用子功能;右邊區(qū)域由子面板控件subpanel構(gòu)成,在子功能被調(diào)用時顯示和運(yùn)行相應(yīng)界面及功能。圖5所示的是程序調(diào)用"函數(shù)信號發(fā)生"子功能程序時的界面情況。

          圖5 動態(tài)調(diào)用模式的前面板

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

            為了方便調(diào)用子功能程序,將主程序和各子功能程序保存在同一路徑下。

            主程序運(yùn)行時,當(dāng)需要調(diào)用某一子功能程序時,首先應(yīng)該知道該子程序的整體路徑:可以先使用cur-renl VIS Poih函數(shù)和Stdp Path函數(shù)獲取主程序的路徑,將此路徑與需要調(diào)用的子程序名合成子程序的整體路徑。然后由loodondRun函數(shù)將已知路徑的子程序加載并啟動,最后在subponel控件對應(yīng)的調(diào)用節(jié)點(diǎn)中使用Insert VI方法將子程序的面板插入子面板控件中。

            不同子功能程序的選擇要求由選擇結(jié)構(gòu)實(shí)現(xiàn)。

            動態(tài)調(diào)用界面模式的優(yōu)點(diǎn)在于子模塊單獨(dú)編程,結(jié)構(gòu)清楚,編程的復(fù)雜程度低;程序動態(tài)加載,占用內(nèi)存少,加載速度快。

            4 總結(jié)

            我們基于虛擬信號發(fā)生器的設(shè)計(jì)對Labview編程中常用的三種人機(jī)界面模式:整體界面模式、彈出式界面模式、動態(tài)調(diào)用界面模式進(jìn)行了詳細(xì)的分析和研究,在實(shí)際項(xiàng)目開發(fā)中可以根據(jù)具體情況直接選用這些模式進(jìn)行界面設(shè)計(jì),也將它們綜合使用,以達(dá)到更高的設(shè)計(jì)要求。

            另外需要指出的是,每種模式的實(shí)現(xiàn)方法也是靈活多變的,比如2.1中涉及到的互鎖按鈕也可以用枚舉(Enum)控件實(shí)現(xiàn)相同的功能。而互鎖邏輯的實(shí)現(xiàn)也能使用事件結(jié)構(gòu)結(jié)合設(shè)置控件屬性節(jié)點(diǎn)的方法實(shí)現(xiàn):當(dāng)某一功能按鈕(如"常用波形"按鈕)按下時,執(zhí)行相應(yīng)程序代碼:將自身的邏輯值置為lrue,同時使其他功能按鈕的值為false.


          上一頁 1 2 下一頁

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();