虚拟仪表在VC++中的一种应用实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘 用角 关
1 随化方在车传统十分仪表工况况参可读
2 仪分,圆盘要 虚拟仪角度设计了一关键词 虚拟仪引言
随着 计算 机技方向 发展 。用车辆中,驾驶员统仪表,这种传分低下。而采用表盘的车况数据况及各种报警,参数及报警信号读性好,读数精虚拟仪表仪表解决方案采这些部分既相盘仪表盘+圆盘刻虚表 应用 越来一个虚拟指南仪表;VC++面技术的日益成熟数字化的虚拟仪表面板是驾传统仪表装置在虚拟仪表后,据在显示屏上以在显示屏上以号,各个参数可精度高,并且容表控件的组采用完全开放的相互关联,又充刻度+指针,就虚拟仪表在作者:刘凯来越广泛,本南针仪表的实例向对象;动态熟,计算机的应拟仪表取代机械驾驶员获取各种在车辆中占用了在驾驶员前方模拟表形式显图形指示灯形可以根据需要通容易升级、扩展组成原理
的组织架构,将充分独立,当创就可以构建如图图VC++中的一冯文武 本文根据VC 例。
态仿真
应用已渗透到各械式传统仪表已种工况数据的重了固定的空间、方放置一台平板显示,为方便读形式指示报警。通过热键自由切展。因此,虚拟将仪表创建切分创建新的仪表的图1所示的仪表1 仪表框架原一种应用实现C 开发虚拟仪各个领域,各种已成为实现车辆重要窗口。长期显示精度低、板显示屏,为延读数,增加了数显示屏可以在切换,采用虚拟拟仪表是未来车分为:仪表盘、的时候,可以根表。
原理
现
仪表的流程和种车载装备也逐辆自动化的一个期以来驾驶员仪可读性差、不延续传统操作习数字表及棒图形在车辆不同的状拟仪表后,仪表车辆的发展方向指针、度量刻根据需要将其进和原理,从实逐步向数字化、个重要课题。
仪表面板采用机不易扩展,而且习惯,将原来驾形式显示,而对状态下显示不同表的读数一目了向。
刻度以及背景几进行任意组合,
实际应智能机械式且效率驾驶员对越限同的工了然,几个部例如
框架可以由三个基础类YPaintBase,YShapeBase和YFillBase组成。其中YFillBase是填充基础类(简称“填充”),它负责对颜色、图像的填充,边框等。YShapeBase是基本图形基础类(简称“形状”),由此类派生出简单的基本图形,如:圆、三角、五角星、特殊指针样式。YPaintBase是逻辑组合基础类(简称“逻辑”),由YPaintBase把YShapeBase和YFillBase进行组合,构建出复杂图形,而复杂图形可由YPaintBase的派生类再次组合。
框架也可由函数体来完成,分别定义一些画背景、刻度、指针的函数,即可完成上述功能,本文采用第二种方式来实现仪表框架的建立。
3应用实例
首先建立一个工程文件命名为Meter,采用对话框格式,其余选择默认选项即可。添加一个新类CMet er,里面增加如下函数体[1]:
void DrawNeedle(CDC *pDC);//画指针
void DrawMeterBackground(CDC *pDC, CRect &rect);//画仪表背景
void SetAngleRange(int nStartAngleDeg, int nEndAngle Deg);//表盘圆弧起始终止角度void SetSubTicks(int nSubTicks);//设置每两个大刻度之间分为几个子刻度数
void SetTicks(int nTicks);//设置整个表盘分为几个大刻度数
void DrawValue(CDC *pDC);//表盘上的数值显示
void SetColorTick(BOOL bColorTick = FALSE);//设置刻度盘颜色
void SetValueDecimals(int nDecimals);// 设置数值显示精度(小数点后位数)
void SetUnits(CString &strUnits);// 设置单位
void SetScaleDecimals(int nDecimals);// 设置刻度显示精度(小数点后位数)
void SetRange(double dMin, double dMax);//设置可测量范围
void SetNeedleColor (COLORREF colorNeedle);//设置指针颜色
void UpdateNeedle(double dValue);//更新指针指向当前值
在对话框Dlg.cpp程序函数CMyMeterDlg::OnInitDialog()中添加m_myMeter.SetNeedleColor(m_ col orNeedle);//设置CMeter类变量m_myMeter指针的颜色
m_myMeter.SetColorTick(TRUE);// 设置CMeter类变量m_myMeter刻度盘的颜色
SetTimer(1,200,NULL);//使指针按照指定时间间隔转动
各如图很好4 虚前景必将 各个函数可以 参2所示的虚拟好的效果。
总结
虚拟仪表的应用景。当然这一领域将产生深远的 影参考 相关的V 拟指南针仪表。用,使仪表的读域在我国尚处于影响 。
图VC 资料很容易经过实验证明读数更加清晰、于起步阶段,要2 虚拟指南易实现,本文主明能够以非常高直观,信息量要成为真正实用针
主要讲解其实现高的精度和直观量更多,智能化用阶段还有很多现的原理。并根观性满足实际 应化程度更高,因多工作要做,但
根据实际需要制应用 需要,达因此具有广泛的但随着技术的成制作了达到了的应用成熟,