收藏 分销(赏)

汽车数字仪表面板.docx

上传人:s4****5z 文档编号:8938907 上传时间:2025-03-08 格式:DOCX 页数:16 大小:364.07KB 下载积分:10 金币
下载 相关 举报
汽车数字仪表面板.docx_第1页
第1页 / 共16页
汽车数字仪表面板.docx_第2页
第2页 / 共16页


点击查看更多>>
资源描述
LabW indows /CV I虚拟汽车仪表盘 学校:中国矿业大学 学院:计算机学院 班级:信科08-1班 指导老师:王凯 姓名:鲁勇勇 学号:08083512 设计课题:汽车虚拟数字仪表 日期:2011年9月16号 摘要: 虚拟仪器技术在现代生产的监控中被广泛应用。汽车仪表盘可反映汽车的多种工作参数, 利用虚拟仪 器技术模拟汽车仪表盘, 设计程序生成实验数据, 在汽车虚拟仪表中显示并实现调节。以LabVIEW 为软件开发环 境, 提供一个虚拟仪器技术在工业过程测控方面的实验示例。 关键词: LabW indows /CV I; 集成开发环境; 虚拟仪 虚拟仪器面板的设计主要是利用控件的属性以及用户界面函数库( U se r Inte rface L ibrary )中提供的函数, 设计符合需 求的仪器面板。通过这些控件属性和函数的调用, 可以非常容易地把采集或仿真的波形进行处理后, 显示在Panel的 Graph控件或其他控件中。同时, 通过这些函数可编辑与改变某个控件的属性值。 在LabW indow s/CV I集成开发环境中设计虚拟汽车仪表盘的步骤如下: 1 设计目的和要求实现的功能 ( 1)通过模- 数转换实现传感器和微处理机接口。 ( 2)指示每小时公里数、行驶的里程、耗油量。 ( 3)显示发动机转速。 ( 4)如果车速超过一个限定值(限定值可调节), 则发出警报。 ( 5)油量低于某一限定值(限定值可调节) , 则发出报警。 当仪器运行时, 通过函数产生数据流, 运行结果在仪器面板上显示。 当关闭仪器时, 选择􀀂 关闭 按钮将结束操作, 关闭仪器, 并退出该程序。 2 实现原理 图2虚拟汽车仪表盘界面 3 设计步骤 具体的虚拟仪器设计包括如下三个步骤。 ( 1)创建用户界面 创建用户界面的实质就是生成* . u ir文件。包括建立仪器面板( panel) , 在面板中加入控件, 修改仪器面板( pane l) 和 控件属性, 保存* . u ir文件等过程。 ( 2)程序源代码的设计 完成完整的C语言程序源代码设计包括形成源代码和框架, 添加程序代码, 保存程序代码等过程, 最终形成* . c 文件。 ( 3)形成工程文件并运行 将* . uir、* . c以及* . h文件合成在一起形成工程文件(* . pr j) 。包括形成工程文件, 保存工程文件及运行工程文件 等过程。 4 创建用户界面 创建用户界面包括创建控件和修改控件属性两个过程。当LabW indow s/CV I启动后, 选择File- N ew, 将出现空白工程 窗口。 ( 1)创建控件 本设计包括钮类控件、定时器控件、显示控件、Num er ic控件、指示灯控件等。每个控件有名称等属性。创建控件就是 在仪器面板( panel)上添加控件的过程。 首先, 需要创建仪器面板。在工程窗口中, 选择File- New - Userface( * . uir), 创建一个用户界面(* . u ir), 然后打开 用户界面编辑窗口。需要在用户界面编辑窗口中, 选择C rea te- Pane l建立仪器面板。 根据设计所要实现的功能在仪器面板中逐个创建控件, 用鼠标把它们拖到相应的位置, 建立好虚拟面板。 ( 2)修改用户界面中各控件元素的属性 通过上述步骤建立的控件属性还没有设置, 例如圆形按钮显示的文字为系统的默认值􀀂 OK , 而要求显示的是汉字 􀀂 点火 。通过控件元素属性的设置, 完成所要求的用户界面。 ∀ 修改Pane l的属性 双击Untitled Pane l, 弹出Ed it Panel窗口。本设计中, 仪器面板需要设置的属性为标题文字的设置。在􀀂 Pane lT itle 属 性文字框中输入􀀂 汽车数字仪表面板 , 这时, 右边编辑窗口中的标题随之改变。设计完毕后, 单击􀀂 OK 按钮, 完成Panel 属性的设置。 ∀ 按钮控件属性的设置 按钮控件属性的设置包括控件回调函数、空间名称、控件标题属性的设置。双击相应按钮控件将会弹出按钮控件属 性设置窗口。在􀀂 Source Code Connec tion 栏内的回调函数􀀂 C allback Func tion 一栏中输入相应的回调函数名称。在 􀀂 Lab le 一栏中输入控件按钮标题属性, 完成按钮控件属性的设置。 ∀ 显示控件Num e ricM ete r属性的设置 双击显示控件Num er 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 一栏中输入回调函数的名称。 定时间隔时间属性的设置: 将􀀂 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)产生程序源代码框架 ( 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, 512, 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. 1; return data; } ( 2)* . h文件C 语言说明部分程序 #include <cvirte.h> #include <userint.h> #include "123.h" static 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 (); DiscardPanel (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 *callbackData, 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 (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 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 eventData1, int eventData2) { switch (event) { case EVENT_TIMER_TICK: break; } return 0; } int CVICALLBACK TMER (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_TIMER_TICK: break; } return 0; } int CVICALLBACK TMER_dianhuo (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_TIMER_TICK: break; } return 0; } 参考文献: [ 1]刘君华. 基于LabW indow s/CV I的虚拟仪器设计[M ]. 电子工业出版社, 2003. [ 2]雷振山. LabV IEW 7 Express实用技术教程[M ]. 机械工业出版社, 2004. [ 3]马法成. LabV IEW 入门培训教材. 天津中德职业技术学院, 2001. [ 4]张毅刚等. 虚拟仪器软件开发环境[M ]. 机械工业出版社, 2002.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服