音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

Lebview編程中虛擬儀器人機(jī)界面的整體模式設(shè)計(jì)

出處:電子設(shè)計(jì) 發(fā)布于:2018-09-04 14:20:20

  Lebview現(xiàn)在已經(jīng)越來(lái)越廣泛地應(yīng)用于測(cè)量、控制、教學(xué)、科研等領(lǐng)域,它采用圖形化編程方式,內(nèi)置大量功能,能夠很方便地完成數(shù)據(jù)采集分析顯示、儀器控制、測(cè)量測(cè)試、工業(yè)過(guò)程仿真及控制等多種操作,并具有良好的可擴(kuò)展性。
  在應(yīng)用Lebview進(jìn)行實(shí)際項(xiàng)目開發(fā)時(shí)往往要求程序能夠?qū)崿F(xiàn)多功能集成化,這時(shí)程序界面的統(tǒng)一化、便于操作等要求就十分重要。本文以虛擬信號(hào)發(fā)生器的開發(fā)過(guò)程為例,對(duì)使用Labview開發(fā)虛擬儀器時(shí)人機(jī)界面模式的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了研究。
  2 虛擬信號(hào)發(fā)生器的系統(tǒng)要求及分析
  2.1 系統(tǒng)要求
  虛擬信號(hào)發(fā)生器的總體設(shè)計(jì)要求如下'1、實(shí)現(xiàn)多功能信號(hào)發(fā)生,能夠產(chǎn)生常用波形(正弦波、三角波、方波、齒鋸波等)、用戶自定義函數(shù)波形、加噪波形等。2、可進(jìn)行參數(shù)調(diào)節(jié)、并完成波形的數(shù)字存儲(chǔ)功能。3、要求良好的人機(jī)交互界面,易于操作。
  2.2 設(shè)計(jì)分析
  在Lebview中實(shí)現(xiàn)單一功能的信號(hào)發(fā)生較為簡(jiǎn)單,只需在前面板放置相應(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),而簡(jiǎn)單地將多個(gè)子功能程序放在一起并不能滿足要求。
  我們針對(duì)"便于操作、良好的人機(jī)交互界面"這個(gè)系統(tǒng)要求進(jìn)行了綜合分析,設(shè)計(jì)了三種具有不同特點(diǎn)的人機(jī)界面模式:整體界面模式、彈出式界面模式、動(dòng)態(tài)調(diào)用界面模式。
  3 虛擬信號(hào)發(fā)生器的人機(jī)界面設(shè)計(jì)
  3.1整體界面模式設(shè)計(jì)
  整體界面模式的特點(diǎn):所有功能模塊的參數(shù)設(shè)置及實(shí)現(xiàn)均在同一界面下,不同的功能對(duì)應(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)各子功能之間的切換。

  3.1.2 框圖程序設(shè)計(jì)要點(diǎn)
  我們選用了選擇結(jié)構(gòu)來(lái)完成整體界面模式的實(shí)現(xiàn):將常用信號(hào)模塊、用戶函數(shù)信號(hào)模塊、加噪信號(hào)模塊分別作為選擇結(jié)構(gòu)的三個(gè)分支。當(dāng)按下所需功能按鈕時(shí),執(zhí)行所選的子框圖程序,完成相應(yīng)操作。這里需要注意的是各子功能按鈕應(yīng)該設(shè)置為互鎖關(guān)系,即在任一時(shí)刻只允許有一個(gè)按鈕被按下。當(dāng)另一按鈕被按下時(shí),原先在按下?tīng)顟B(tài)的按鈕將自動(dòng)彈起。
  我們將各子功能按鈕放入一個(gè)數(shù)組中,則該數(shù)組內(nèi)容對(duì)應(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)容,若相等,則說(shuō)明沒(méi)有按下其他按鈕;若不等,說(shuō)明有另外的按鈕按下,此時(shí)需要將按鈕數(shù)組的內(nèi)容重寫:原來(lái)按下的按鈕邏輯值應(yīng)該改為"false",而新按下的按鈕邏輯值應(yīng)變?yōu)?true".可將當(dāng)前按鈕狀態(tài)內(nèi)容與前的按鈕狀態(tài)內(nèi)容進(jìn)行異或運(yùn)算來(lái)實(shí)現(xiàn)這兩步功能。更新后的按鈕狀態(tài)通過(guò)局部變量對(duì)原按鈕數(shù)組內(nèi)容進(jìn)行重寫完成。互鎖邏輯的框圖程序如圖2所示。
  整體界面模式的優(yōu)點(diǎn)在于所有子功能模塊均在同一界面下,整體可視性、可操作性較好。但當(dāng)子模塊類型較多時(shí),將出現(xiàn)界面過(guò)于臃腫而不易操作、編程過(guò)于繁雜的問(wèn)題,此時(shí)我們可以通過(guò)Tab控件進(jìn)行功能模塊的分類,以達(dá)到簡(jiǎn)化前面板界面的目的。
   彈出式界面模式的特點(diǎn):在主程序面板按下子功能按鈕時(shí),將彈出相應(yīng)功能的子程序面板,子面板運(yùn)行完畢后將返回主面板。
  3.2.1 前面板設(shè)計(jì)
  我們將各子功能模塊做成多個(gè)子程序,為調(diào)用方便與主程序放置在同一路徑下。主程序的前面板只需實(shí)現(xiàn)相應(yīng)功能的調(diào)用按鈕配置。當(dāng)需要使用某項(xiàng)功能時(shí),按下對(duì)應(yīng)的按鈕即可將子程序界面調(diào)出,執(zhí)行完畢后關(guān)閉子程序則可退回主程序界面,進(jìn)行其他功能的調(diào)用。虛擬信號(hào)發(fā)生器運(yùn)行過(guò)程中的彈出式界面如圖3所示(調(diào)用"常用波形發(fā)生"子功能程序)。
   3.2.2 框圖程序設(shè)計(jì)要點(diǎn)
  利用Labview的事件驅(qū)動(dòng)功能可以較容易地實(shí)現(xiàn)彈出式界面的設(shè)計(jì)要求,因此我們選擇事件結(jié)構(gòu)來(lái)實(shí)現(xiàn)虛擬信號(hào)發(fā)生器的彈出式界面的程序設(shè)計(jì)。
  在主程序的事件結(jié)構(gòu)中,為每個(gè)功能按鈕的事件發(fā)生指定相應(yīng)子功能程序的調(diào)用。這樣,每次當(dāng)某一功能按鈕按下時(shí),Labview會(huì)自動(dòng)通知程序所發(fā)生的事件,然后按照為這個(gè)事件指定的程序代碼對(duì)事件進(jìn)行響應(yīng)。主程序的框圖設(shè)計(jì)如圖4所示。
  彈出式界面模式的優(yōu)點(diǎn)在于界面及程序結(jié)構(gòu)清晰,所有子模塊單獨(dú)編程,由主程序按需調(diào)用,這樣可以大大減少編程的復(fù)雜程度。
  3.3 動(dòng)態(tài)調(diào)用模式
  動(dòng)態(tài)調(diào)用模式的特點(diǎn):子功能程序僅在被調(diào)用時(shí)動(dòng)態(tài)加載入內(nèi)存,調(diào)用結(jié)束后即釋放。
  3.3.1前面板設(shè)計(jì)
  我們將程序界面分為左右兩個(gè)區(qū)域:左邊區(qū)域設(shè)置各功能按鈕,可按需調(diào)用子功能;右邊區(qū)域由子面板控件subpanel構(gòu)成,在子功能被調(diào)用時(shí)顯示和運(yùn)行相應(yīng)界面及功能。圖5所示的是程序調(diào)用"函數(shù)信號(hào)發(fā)生"子功能程序時(shí)的界面情況。
  3.3.2 框圖程序設(shè)計(jì)要點(diǎn)
  為了方便調(diào)用子功能程序,將主程序和各子功能程序保存在同一路徑下。
  主程序運(yùn)行時(shí),當(dāng)需要調(diào)用某一子功能程序時(shí),首先應(yīng)該知道該子程序的整體路徑:可以先使用cur-renl VI'S Poih函數(shù)和Stdp Path函數(shù)獲取主程序的路徑,將此路徑與需要調(diào)用的子程序名合成子程序的整體路徑。然后由loodondRun函數(shù)將已知路徑的子程序加載并啟動(dòng),在subponel控件對(duì)應(yīng)的調(diào)用節(jié)點(diǎn)中使用Insert VI方法將子程序的面板插入子面板控件中。
  不同子功能程序的選擇要求由選擇結(jié)構(gòu)實(shí)現(xiàn)。
  動(dòng)態(tài)調(diào)用界面模式的優(yōu)點(diǎn)在于子模塊單獨(dú)編程,結(jié)構(gòu)清楚,編程的復(fù)雜程度低;程序動(dòng)態(tài)加載,占用內(nèi)存少,加載速度快。
  4 總結(jié)
  我們基于虛擬信號(hào)發(fā)生器的設(shè)計(jì)對(duì)Labview編程中常用的三種人機(jī)界面模式:整體界面模式、彈出式界面模式、動(dòng)態(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)某一功能按鈕(如"常用波形"按鈕)按下時(shí),執(zhí)行相應(yīng)程序代碼:將自身的邏輯值置為lrue,同時(shí)使其他功能按鈕的值為false.

關(guān)鍵詞:Lebview編程中虛擬儀器人機(jī)界面的整體模式設(shè)計(jì)Lebview

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!