汽车数字仪表面板

上传人:油条 文档编号:33243071 上传时间:2018-02-14 格式:DOCX 页数:16 大小:364.07KB
返回 下载 相关 举报
汽车数字仪表面板_第1页
第1页 / 共16页
汽车数字仪表面板_第2页
第2页 / 共16页
汽车数字仪表面板_第3页
第3页 / 共16页
汽车数字仪表面板_第4页
第4页 / 共16页
汽车数字仪表面板_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《汽车数字仪表面板》由会员分享,可在线阅读,更多相关《汽车数字仪表面板(16页珍藏版)》请在金锄头文库上搜索。

1、LabW indows /CV I 虚拟汽车仪表盘学校:中国矿业大学学院:计算机学院班级:信科 08-1 班指导老师:王凯姓名:鲁勇勇学号:08083512设计课题:汽车虚拟数字仪表日期:2011 年 9 月 16号摘要: 虚拟仪器技术在现代生产的监控中被广泛应用。汽车仪表盘可反映汽车的多种工作参数, 利用虚拟仪器技术模拟汽车仪表盘, 设计程序生成实验数据, 在汽车虚拟仪表中显示并实现调节。以LabVIEW 为软件开发环境, 提供一个虚拟仪器技术在工业过程测控方面的实验示例。关键词: LabW indows /CV I; 集成开发环境; 虚拟仪虚拟仪器面板的设计主要是利用控件的属性以及用户界面

2、函数库( U se r Inte rface L ibrary )中提供的函数, 设计符合需求的仪器面板。通过这些控件属性和函数的调用, 可以非常容易地把采集或仿真的波形进行处理后, 显示在Panel的Graph控件或其他控件中。同时, 通过这些函数可编辑与改变某个控件的属性值。在LabW indow s/CV I集成开发环境中设计虚拟汽车仪表盘的步骤如下:1 设计目的和要求实现的功能( 1)通过模- 数转换实现传感器和微处理机接口。( 2)指示每小时公里数、行驶的里程、耗油量。( 3)显示发动机转速。( 4)如果车速超过一个限定值(限定值可调节), 则发出警报。( 5)油量低于某一限定值(

3、限定值可调节) , 则发出报警。当仪器运行时, 通过函数产生数据流, 运行结果在仪器面板上显示。当关闭仪器时, 选择 关闭 按钮将结束操作 , 关闭仪器, 并退出该程序。2 实现原理 图 2 虚拟汽车仪表盘界面3 设计步骤具体的虚拟仪器设计包括如下三个步骤。( 1)创建用户界面创建用户界面的实质就是生成* . u ir文件。包括建立仪器面板 ( panel) , 在面板中加入控件, 修改仪器面板( pane l) 和控件属性, 保存* . u ir文件等过程。( 2)程序源代码的设计完成完整的C语言程序源代码设计包括形成源代码和框架, 添加程序代码, 保存程序代码等过程 , 最终形成 * .

4、c文件。( 3)形成工程文件并运行将* . uir、* . c以及* . h文件合成在一起形成工程文件(* . pr j) 。包括形成工程文件, 保存工程文件及运行工程文件等过程。4 创建用户界面创建用户界面包括创建控件和修改控件属性两个过程。当LabW indow s/CV I启动后, 选择File- N ew, 将出现空白工程窗口。( 1)创建控件本设计包括钮类控件、定时器控件、显示控件、Num er ic控件、指示灯控件等。每个控件有名称等属性。创建控件就是在仪器面板( panel)上添加控件的过程。首先, 需要创建仪器面板。在工程窗口中, 选择File- New - Userface(

5、 * . uir), 创建一个用户界面(* . u ir), 然后打开用户界面编辑窗口。需要在用户界面编辑窗口中, 选择C rea te- Pane l建立仪器面板。根据设计所要实现的功能在仪器面板中逐个创建控件, 用鼠标把它们拖到相应的位置, 建立好虚拟面板。( 2)修改用户界面中各控件元素的属性通过上述步骤建立的控件属性还没有设置, 例如圆形按钮显示的文字为系统的默认值 OK , 而要求显示的是汉字 点火 。通过控件元素属性的设置, 完成所要求的用户界面。 修改Pane l的属性双击Untitled Pane l, 弹出Ed it Panel窗口。本设计中, 仪器面板需要设置的属性为标题文

6、字的设置。在 Pane lT itle 属性文字框中输入 汽车数字仪表面板 , 这时, 右边编辑窗口中的标题随之改变。设计完毕后, 单击 OK 按钮, 完成Panel属性的设置。 按钮控件属性的设置按钮控件属性的设置包括控件回调函数、空间名称、控件标题属性的设置。双击相应按钮控件将会弹出按钮控件属性设置窗口。在 Source Code Connec tion 栏内的回调函数 C allback Func tion 一栏中输入相应的回调函数名称。在 Lab le 一栏中输入控件按钮标题属性 , 完成按钮控件属性的设置。 显示控件Num e ricM ete r属性的设置双击显示控件Num er

7、icM e ter, 出现设置面板。一般情况下, 需要设置的属性有: 默认值的设置( 在Defau ltVa lue 栏中输入) ; 数据类型属性的设置( 在Da te Type栏中选择) ; 标题属性的设置( 在 Label栏中输入相应的文字 ); 表盘刻度属性的设置: 选择 Range Va lues 按照要求进行选择, 以改变刻度盘的刻度值。 定时器控件T im e r属性的设置定时器控件T im e r所要设置的属性包括回调函数名称和定时间隔时间属性两部分。控件回调函数的设置: 在 Sou rce Code Connection 栏内的回调函数 Ca llback Function 一

8、栏中输入回调函数的名称。定时间隔时间属性的设置: 将 Contro l Se ttings 栏中输入数值, 此数值根据需要多少时间调用一次回调函数来确定。当上述控件属性设置完毕之后, 单击 OK 按钮, 完成控件属性的修改。 将 Un titled. uir文件存盘选择F ile- Save A s 将Un titled. u ir文件另存, 系统自动生成( . h)文件。至此, 用户界面文件的设计结束。5 程序代码的设计下面要做的是程序编写工作。由于LabW indow s/CV I 可自动生成程序代码框架及默认的处理函数, 只添加一些必须的代码即可完成程序的设计编写。( 1)产生程序源代码

9、框架( 2)添加程序代码( 3)保存编辑好的C 文件6 保存工程文件并运行( 1)保存工程文件选择Ed it- Add- F iles To Pro ject依次将* . u ir、* . c以及* . h文件加入, 完毕后再选择 File- Save将工程文件(* .prj)保存。( 2)运行工程文件选择 Run- Run Pro j ect 来运行工程文件。7 部分程序如下( 1)接口程序double senso r ( vo id) char Rec ieveDa ta 9;char SendData 4 ;OpenC omCon fig ( 1, , 9600, 0, 8, 1, 51

10、2, 512) ;SendData 0 = #; SendData 1 = 0; SendData 2 = 1; SendData 3 = r; ComW rt ( 1, SendDa ta, 4);ComRd ( 1, Rec ieveData, 9);data= ( Rec ieveData 2 - Rec ieveDa ta 2 ) * 100 + ( RecieveData 3 - Rec iev eData 2 ) * 10+ ( Rec iev eData 4 -Rec ieveDa ta 2 ) + ( R ecieveData 6 - Rec ieveDa ta 2 ) * 0

11、. 1;return data;( 2)* . h 文件 C 语言说明部分程序#include #include #include 123.hstatic int panelHandle;int main (int argc, char *argv)if (InitCVIRTE (0, argv, 0) = 0)return -1; /* out of memory */if (panelHandle = LoadPanel (0, 123.uir, PANEL) 0)return -1;DisplayPanel (panelHandle);RunUserInterface ();Discar

12、dPanel (panelHandle);return 0;int CVICALLBACK PanelCallback (int panel, int event, void *callbackData,int eventData1, int eventData2)switch (event)case EVENT_GOT_FOCUS:break;case EVENT_LOST_FOCUS:break;case EVENT_CLOSE:break;return 0;int CVICALLBACK DIANHUO (int panel, int control, int event,void *c

13、allbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT:break;return 0;int CVICALLBACK CLOSE (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT:QuitUserInterface (0);break;return 0;int CVICALLBACK TOGGLEBUTTON_3 (

14、int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT:break;return 0;int CVICALLBACK TOGGLEBUTTON_2 (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT:break;return 0;int

15、CVICALLBACK TOGGLEBUTTON_1 (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT:break;return 0;int CVICALLBACK TMER_1 (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_TIMER_TICK:break;return 0;int CVICALLBACK TMER_2 (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_TIMER_TICK:break;return 0;int CVICALLBACK TMER_3 (int panel, int control, int event,void *callbackData, int event

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号