亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

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

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

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

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

        當(dāng)儀器運(yùn)行時(shí),通過函數(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文件等過程。

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

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

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

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

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

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

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

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

        首先,需要?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)修改用戶界面中各控件元素的屬性

        通過上述步驟建立的控件屬性還沒有設(shè)置,例如圓形按鈕顯示的文字為系統(tǒng)的默認(rèn)值“OK”,而要求顯示的是漢字“點(diǎn)火”。通過控件元素屬性的設(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ù)來確定。

        當(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來運(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語言說明部分程序

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

        /* 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的國外用戶界面體驗(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圖庫面板的正確打開方法
        基于B/S的跨平臺(tái)用戶界面可配置算法研究
        高世代TFT-LCD面板生產(chǎn)線的產(chǎn)能評(píng)估
        就這樣玩會(huì)VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        国内揄拍国内精品人妻久久| 伊人色综合久久天天人手人停| 国产亚洲女在线线精品| 亚洲一区二区三区av色婷婷| 国产亚洲精品90在线视频| 亚洲乱色伦图片区小说| aaaaa级少妇高潮大片免费看| 亚洲av不卡电影在线网址最新 | 精品极品视频在线观看| 成年美女黄的视频网站| 日韩免费无码一区二区三区 | 久久精品www人人爽人人| 日日av拍夜夜添久久免费| 国产精品色内内在线播放| 精品国产a毛片久久久av| 成熟了的熟妇毛茸茸| 国产国语熟妇视频在线观看| 久久精品国产亚洲一区二区| 高潮av一区二区三区| 亚洲综合天堂av网站在线观看| 国产精品嫩草影院av| 亚洲AV无码久久精品国产老人| 美女狂喷白浆网站视频在线观看| 亚洲一区精品无码| 337人体做爰大胆视频| 国内精品久久久久久久亚洲| 成人国产av精品麻豆网址| 中国妇女做爰视频| 最近中文字幕视频高清| 欧洲AV秘 无码一区二区三| 一区二区三区av在线| 日日天干夜夜狠狠爱| 91视频88av| 最近中文字幕一区二区三区| 亚洲黄色天堂网站在线观看禁18| 亚洲伊人成综合网| 国产亚洲精品日韩综合网| 久久久精品国产三级精品| 国产精品人妻一区二区三区四| 国产午夜视频在永久在线观看| 国产精品国产三级在线专区|