?

LabWindows/CVI集成開發環境下虛擬汽車儀表盤的設計

2010-06-01 02:05陳淑敏郭獻崇
張家口職業技術學院學報 2010年1期
關鍵詞:用戶界面控件面板

陳淑敏,郭獻崇

(張家口職業技術學院信息工程系,河北張家口 075051)

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

在LabWindows/CVI集成開發環境中設計虛擬汽車儀表盤的步驟如下:

1 明確設計目的和要求實現的功能

(1)通過模-數轉換實現傳感器和微處理機接口。

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

(3)顯示發動機轉速。

(4)如果車速超過一個限定值(限定值可調節),則發出警報。

(5)油量低于某一限定值(限定值可調節),則發出報警。

當儀器運行時,通過函數產生數據流,運行結果在儀器面板上顯示。

當關閉儀器時,選擇“關閉”按鈕將結束操作,關閉儀器,并退出該程序。

2 實現原理

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

3 設計步驟

具體的虛擬儀器設計包括如下三個步驟。

(1)創建用戶界面

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

(2)程序源代碼的設計

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

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

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

4 創建用戶界面

創建用戶界面包括創建控件和修改控件屬性兩個過程。當LabWindows/CVI啟動后,選擇File-New,將出現空白工程窗口。

(1)創建控件

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

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

根據設計所要實現的功能在儀器面板中逐個創建控件,用鼠標把它們拖到相應的位置,建立好虛擬面板。

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

通過上述步驟建立的控件屬性還沒有設置,例如圓形按鈕顯示的文字為系統的默認值“OK”,而要求顯示的是漢字“點火”。通過控件元素屬性的設置,完成所要求的用戶界面。

◎修改Panel的屬性

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

◎按鈕控件屬性的設置

按鈕控件屬性的設置包括控件回調函數、空間名稱、控件標題屬性的設置。雙擊相應按鈕控件將會彈出按鈕控件屬性設置窗口。在“Source Code Connection”欄內的回調函數“Callback Function”一欄中輸入相應的回調函數名稱。在“Lable”一欄中輸入控件按鈕標題屬性,完成按鈕控件屬性的設置。

◎顯示控件Numeric Meter屬性的設置

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

◎定時器控件Timer屬性的設置

定時器控件Timer所要設置的屬性包括回調函數名稱和定時間隔時間屬性兩部分。

控件回調函數的設置:在“Source Code Connection”欄內的回調函數“Callback Function”一欄中輸入回調函數的名稱。

定時間隔時間屬性的設置:將“Control Settings”欄中輸入數值,此數值根據需要多少時間調用一次回調函數來確定。

當上述控件屬性設置完畢之后,單擊“OK”按鈕,完成控件屬性的修改。

◎將Untitled.uir文件存盤

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

至此,用戶界面文件的設計結束。

5 程序代碼的設計

下面要做的是程序編寫工作。由于LabWindows/CVI可自動生成程序代碼框架及默認的處理函數,只添加一些必須的代碼即可完成程序的設計編寫。

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

(2)添加程序代碼

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

6 保存工程文件并運行

(1)保存工程文件

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

(2)運行工程文件

選擇Run-Run Proj]ect來運行工程文件。

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 ?/ 。。。。。。。。。。。

參考文獻:

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

[2]雷振山.LabVIEW 7 Express實用技術教程[M]. 機械工業出版社,2004.

[3]馬法成.LabVIEW入門培訓教材. 天津中德職業技術學院,2001.

[4]張毅剛 等.虛擬儀器軟件開發環境[M]. 機械工業出版社,2002.

猜你喜歡
用戶界面控件面板
基于CiteSpace的國外用戶界面體驗圖譜量化分析
基于.net的用戶定義驗證控件的應用分析
石材家具臺面板劃分方法
物聯網用戶界面如何工作
MasterCAM在面板類零件造型及加工中的應用
關于.net控件數組的探討
UI用戶界面色彩設計研究
Photoshop CC圖庫面板的正確打開方法
基于B/S的跨平臺用戶界面可配置算法研究
高世代TFT-LCD面板生產線的產能評估
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合