• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      LabWindows/CVI集成開發(fā)環(huán)境下虛擬汽車儀表盤的設(shè)計(jì)

      2010-06-01 02:05:42陳淑敏郭獻(xiàn)崇
      關(guān)鍵詞:用戶界面控件面板

      陳淑敏,郭獻(xiàn)崇

      (張家口職業(yè)技術(shù)學(xué)院信息工程系,河北張家口 075051)

      虛擬儀器面板的設(shè)計(jì)主要是利用控件的屬性以及用戶界面函數(shù)庫(kù)(User Interface Library)中提供的函數(shù),設(shè)計(jì)符合需求的儀器面板。通過(guò)這些控件屬性和函數(shù)的調(diào)用,可以非常容易地把采集或仿真的波形進(jìn)行處理后,顯示在Panel的Graph控件或其他控件中。同時(shí),通過(guò)這些函數(shù)可編輯與改變某個(gè)控件的屬性值。

      在LabWindows/CVI集成開發(fā)環(huán)境中設(shè)計(jì)虛擬汽車儀表盤的步驟如下:

      1 明確設(shè)計(jì)目的和要求實(shí)現(xiàn)的功能

      (1)通過(guò)模-數(shù)轉(zhuǎn)換實(shí)現(xiàn)傳感器和微處理機(jī)接口。

      (2)指示每小時(shí)公里數(shù)、行駛的里程、耗油量。

      (3)顯示發(fā)動(dòng)機(jī)轉(zhuǎn)速。

      (4)如果車速超過(guò)一個(gè)限定值(限定值可調(diào)節(jié)),則發(fā)出警報(bào)。

      (5)油量低于某一限定值(限定值可調(diào)節(jié)),則發(fā)出報(bào)警。

      當(dāng)儀器運(yùn)行時(shí),通過(guò)函數(shù)產(chǎn)生數(shù)據(jù)流,運(yùn)行結(jié)果在儀器面板上顯示。

      當(dāng)關(guān)閉儀器時(shí),選擇“關(guān)閉”按鈕將結(jié)束操作,關(guān)閉儀器,并退出該程序。

      2 實(shí)現(xiàn)原理

      虛擬汽車儀表盤用戶界面:

      3 設(shè)計(jì)步驟

      具體的虛擬儀器設(shè)計(jì)包括如下三個(gè)步驟。

      (1)創(chuàng)建用戶界面

      創(chuàng)建用戶界面的實(shí)質(zhì)就是生成*.uir文件。包括建立儀器面板(panel),在面板中加入控件,修改儀器面板(panel)和控件屬性,保存*.uir文件等過(guò)程。

      (2)程序源代碼的設(shè)計(jì)

      完成完整的C語(yǔ)言程序源代碼設(shè)計(jì)包括形成源代碼和框架,添加程序代碼,保存程序代碼等過(guò)程,最終形成*.c文件。

      (3)形成工程文件并運(yùn)行

      將*.uir、*.c以及*.h文件合成在一起形成工程文件(*.prj)。包括形成工程文件,保存工程文件及運(yùn)行工程文件等過(guò)程。

      4 創(chuàng)建用戶界面

      創(chuàng)建用戶界面包括創(chuàng)建控件和修改控件屬性兩個(gè)過(guò)程。當(dāng)LabWindows/CVI啟動(dòng)后,選擇File-New,將出現(xiàn)空白工程窗口。

      (1)創(chuàng)建控件

      本設(shè)計(jì)包括鈕類控件、定時(shí)器控件、顯示控件、Numeric控件、指示燈控件等。每個(gè)控件有名稱等屬性。創(chuàng)建控件就是在儀器面板(panel)上添加控件的過(guò)程。

      首先,需要?jiǎng)?chuàng)建儀器面板。在工程窗口中,選擇File-New-Userface(*.uir),創(chuàng)建一個(gè)用戶界面(*.uir),然后打開用戶界面編輯窗口。需要在用戶界面編輯窗口中,選擇Create-Panel建立儀器面板。

      根據(jù)設(shè)計(jì)所要實(shí)現(xiàn)的功能在儀器面板中逐個(gè)創(chuàng)建控件,用鼠標(biāo)把它們拖到相應(yīng)的位置,建立好虛擬面板。

      (2)修改用戶界面中各控件元素的屬性

      通過(guò)上述步驟建立的控件屬性還沒(méi)有設(shè)置,例如圓形按鈕顯示的文字為系統(tǒng)的默認(rèn)值“OK”,而要求顯示的是漢字“點(diǎn)火”。通過(guò)控件元素屬性的設(shè)置,完成所要求的用戶界面。

      ◎修改Panel的屬性

      雙擊Untitled Panel ,彈出Edit Panel窗口。本設(shè)計(jì)中,儀器面板需要設(shè)置的屬性為標(biāo)題文字的設(shè)置。在“Panel Title”屬性文字框中輸入“汽車數(shù)字儀表面板”,這時(shí),右邊編輯窗口中的標(biāo)題隨之改變。設(shè)計(jì)完畢后,單擊“OK”按鈕,完成Panel屬性的設(shè)置。

      ◎按鈕控件屬性的設(shè)置

      按鈕控件屬性的設(shè)置包括控件回調(diào)函數(shù)、空間名稱、控件標(biāo)題屬性的設(shè)置。雙擊相應(yīng)按鈕控件將會(huì)彈出按鈕控件屬性設(shè)置窗口。在“Source Code Connection”欄內(nèi)的回調(diào)函數(shù)“Callback Function”一欄中輸入相應(yīng)的回調(diào)函數(shù)名稱。在“Lable”一欄中輸入控件按鈕標(biāo)題屬性,完成按鈕控件屬性的設(shè)置。

      ◎顯示控件Numeric Meter屬性的設(shè)置

      雙擊顯示控件Numeric Meter,出現(xiàn)設(shè)置面板。一般情況下,需要設(shè)置的屬性有:默認(rèn)值的設(shè)置(在Default Value欄中輸入);數(shù)據(jù)類型屬性的設(shè)置(在Date Type欄中選擇);標(biāo)題屬性的設(shè)置(在Label欄中輸入相應(yīng)的文字);表盤刻度屬性的設(shè)置:選擇“Range Values”按照要求進(jìn)行選擇,以改變刻度盤的刻度值。

      ◎定時(shí)器控件Timer屬性的設(shè)置

      定時(shí)器控件Timer所要設(shè)置的屬性包括回調(diào)函數(shù)名稱和定時(shí)間隔時(shí)間屬性兩部分。

      控件回調(diào)函數(shù)的設(shè)置:在“Source Code Connection”欄內(nèi)的回調(diào)函數(shù)“Callback Function”一欄中輸入回調(diào)函數(shù)的名稱。

      定時(shí)間隔時(shí)間屬性的設(shè)置:將“Control Settings”欄中輸入數(shù)值,此數(shù)值根據(jù)需要多少時(shí)間調(diào)用一次回調(diào)函數(shù)來(lái)確定。

      當(dāng)上述控件屬性設(shè)置完畢之后,單擊“OK”按鈕,完成控件屬性的修改。

      ◎?qū)ntitled.uir文件存盤

      選擇File-Save As將Untitled.uir文件另存,系統(tǒng)自動(dòng)生成(.h)文件。

      至此,用戶界面文件的設(shè)計(jì)結(jié)束。

      5 程序代碼的設(shè)計(jì)

      下面要做的是程序編寫工作。由于LabWindows/CVI可自動(dòng)生成程序代碼框架及默認(rèn)的處理函數(shù),只添加一些必須的代碼即可完成程序的設(shè)計(jì)編寫。

      (1)產(chǎn)生程序源代碼框架

      (2)添加程序代碼

      (3)保存編輯好的C文件

      6 保存工程文件并運(yùn)行

      (1)保存工程文件

      選擇Edit-Add-Files To Project依次將*.uir、*.c以及*.h文件加入,完畢后再選擇File-Save將工程文件(*.prj)保存。

      (2)運(yùn)行工程文件

      選擇Run-Run Proj]ect來(lái)運(yùn)行工程文件。

      7 部分程序如下

      (1)接口程序

      double sensor (void)

      { char RecieveData[9];

      char SendData[4];

      OpenComConfig (1, "", 9600, 0, 8, 1, 512, 512);

      SendData[0]='#';

      SendData[1]='0';

      SendData[2]='1';

      SendData[3]=' ';

      ComWrt (1, SendData, 4);

      ComRd (1, RecieveData, 9);

      data=(RecieveData[2]-RecieveData[2])*100+(RecieveData[3]-RecieveData[2])*10+(RecieveData[4]-RecieveData[2])+(RecieveData[6]-RecieveData[2])*0.1;

      return data;

      }

      (2)*.h文件C語(yǔ)言說(shuō)明部分程序

      /*******************************************/

      /* LabWindows/CVI User Interface Resource (UIR) Include File

      */

      /* Copyright (c) National Instruments 2004. All Rights Reserved.

      */

      /*

      */

      /* WARNING: Do not add to, delete from, or otherwise modify the contents

      */

      /* of this include file.

      */

      /*******************************************/

      #include

      #ifdef __cplusplus

      extern "C" {

      #endif

      /* Panels and Controls: */

      #define PANEL 1 /? callback function: PanelCallback ?/ #define PANEL_SHISU 2 #define PANEL_LICHENG 3 #define PANEL_YOULIANG 4 #define PANEL_LED_chaosu 5 #define PANEL_LED_meiyou 6 #define PANEL_CLOSE 7 /? callback function: Close ?/ #define PANEL_DIANHUO 8 /? callback function: Dianhuo ?/ #define PANEL_TOGGLEBUTTON_3 9 /? callback function: Togglebutton_3 ?/ #define PANEL_TOGGLEBUTTON_2 10 /? callback function: Togglebutton_2 ?/ #define PANEL_TOGGLEBUTTON_1 11 /? callback function: Togglebutton_1 ?/ #define PANEL_YOUXIAN 12 #define PANEL_XIANSU 13 #define PANEL_F_ZHUANSU 14 #define PANEL_TIMER_1 15 /? callback function: Timer_1 ?/ #define PANEL_TIMER_2 16 /? callback function: Timer_2 ?/ #define PANEL_TIMER_3 17 /? callback function: Timer_3 ?/ #define PANEL_TIMER_dianhuo 18 /? callback function: Timer_dianhuo ?/ #define PANEL_TIMER 19 /? callback function: TimerCallback ?/ 。。。。。。。。。。。

      參考文獻(xiàn):

      [1]劉君華.基于LabWindows/CVI的虛擬儀器設(shè)計(jì)[M]. 電子工業(yè)出版社,2003.

      [2]雷振山.LabVIEW 7 Express實(shí)用技術(shù)教程[M]. 機(jī)械工業(yè)出版社,2004.

      [3]馬法成.LabVIEW入門培訓(xùn)教材. 天津中德職業(yè)技術(shù)學(xué)院,2001.

      [4]張毅剛 等.虛擬儀器軟件開發(fā)環(huán)境[M]. 機(jī)械工業(yè)出版社,2002.

      猜你喜歡
      用戶界面控件面板
      自然用戶界面在智能家居系統(tǒng)中的應(yīng)用路徑創(chuàng)新研究:生成式人工智能技術(shù)的調(diào)節(jié)作用
      包裝工程(2023年16期)2023-08-25 11:40:58
      面板燈設(shè)計(jì)開發(fā)與應(yīng)用
      基于CiteSpace的國(guó)外用戶界面體驗(yàn)圖譜量化分析
      MasterCAM在面板類零件造型及加工中的應(yīng)用
      模具制造(2019年4期)2019-06-24 03:36:50
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      UI用戶界面色彩設(shè)計(jì)研究
      流行色(2017年12期)2017-10-26 03:08:44
      Photoshop CC圖庫(kù)面板的正確打開方法
      基于B/S的跨平臺(tái)用戶界面可配置算法研究
      高世代TFT-LCD面板生產(chǎn)線的產(chǎn)能評(píng)估
      就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      宜兰市| 荆门市| 芒康县| 泊头市| 巴南区| 大兴区| 永寿县| 澎湖县| 乐至县| 阿克苏市| 南和县| 历史| 谢通门县| 鹿泉市| 洛浦县| 会宁县| 阿合奇县| 且末县| 惠水县| 保靖县| 淮滨县| 普陀区| 治多县| 田林县| 顺平县| 农安县| 长兴县| 固始县| 南汇区| 西宁市| 安阳县| 金溪县| 华蓥市| 济源市| 铁岭县| 新余市| 新乐市| 得荣县| 通城县| 江西省| 土默特右旗|