<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于Labview的虛擬儀器人機界面模式設計

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

  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)化前面板界面的目的。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: Labview虛擬儀器人機界

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>