VC++定时方式

VC++定时方式
VC++定时方式

VC中基于 Windows 的精确定时

中国科学院光电技术研究所游志宇

示例工程下载

在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。

众所周知,Windows 是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或系统资源紧张时,发送到消息队列中的消息就暂时被挂起,得不到实时处理。因此,不能简单地通过Windows消息引发一个对定时要求严格的事件。另外,由于在Windows中已经封装了计算机底层硬件的访问,所以,要想通过直接利用访问硬件来完成精确定时,也比较困难。所以在实际应用时,应针对具体定时精度的要求,采取相适应的定时方法。

VC中提供了很多关于时间操作的函数,利用它们控制程序能够精确地完成定时和计时操作。本文详细介绍了 VC中基于Windows的精确定时的七种方式,如下图所示:

图一图像描述

方式一:VC中的WM_TIMER消息映射能进行简单的时间控制。首先调用函数SetTimer()设置定时间隔,如SetTimer(0,200,NULL)即为设置200ms的时间间隔。然后在应用程序中增加定时响应函数 OnTimer(),并在该函数中添加响应的处理语句,用来完成到达定时时间的操作。这种定时方法非常简单,可以实现一定的定时功能,但其定时功能如同Sleep()函数的延时功能一样,精度非常低,最小计时精度仅为30ms,CPU占用低,且定时器消息在多任务操作系统中的优先级很低,不能得到及时响应,往往不能满足实时控制环境下的应用。只可以用来实现诸如位图的动态显示等对定时精度要求不高的情况。如示例工程中的Timer1。

方式二:VC中使用sleep()函数实现延时,它的单位是ms,如延时2秒,用sleep(2000)。精度非常低,最小计时精度仅为30ms,用sleep函数的不利处在于延时期间不能处理其他的消息,如果时间太长,就好象死机一样,CPU

占用率非常高,只能用于要求不高的延时程序中。如示例工程中的Timer2。

方式三:利用COleDateTime类和COleDateTimeSpan类结合WINDOWS的消息处理过程来实现秒级延时。如示例工程中的Timer3和Timer3_1。以下是实现2秒的延时代码:

COleDateTime start_time = COleDateTime::GetCurrentTime(); COleDateTimeSpan end_time=

COleDateTime::GetCurrentTime()-start_time;

while(end_time.GetTotalSeconds()< 2) //实现延时2秒

{

MSG msg;

GetMessage(&msg,NULL,0,0);

TranslateMessage(&msg);

DispatchMessage(&msg);

//以上四行是实现在延时或定时期间能处理其他的消息,

//虽然这样可以降低CPU的占有率,

//但降低了延时或定时精度,实际应用中可以去掉。

end_time = COleDateTime::GetCurrentTime()-start_time;

}//这样在延时的时候我们也能够处理其他的消息。

方式四:在精度要求较高的情况下,VC中可以利用GetTickCount()函数,该函数的返回值是 DWORD型,表示以ms为单位的计算机启动后经历的时间间隔。精度比WM_TIMER消息映射高,在较短的定时中其计时误差为15ms,在较长的定时中其计时误差较低,如果定时时间太长,就好象死机一样,CPU占用率非常高,只能用于要求不高的延时程序中。如示例工程中的Timer4和Timer4_1。下列代码可以实现50ms的精确定时:

DWORD dwStart = GetTickCount();

DWORD dwEnd = dwStart;

do

{

dwEnd = GetTickCount()-dwStart;

}while(dwEnd <50);

为使GetTickCount()函数在延时或定时期间能处理其他的消息,可以把代码改为:

DWORD dwStart = GetTickCount();

DWORD dwEnd = dwStart;

do

{

MSG msg;

GetMessage(&msg,NULL,0,0);

TranslateMessage(&msg);

DispatchMessage(&msg);

dwEnd = GetTickCount()-dwStart;

}while(dwEnd <50);

虽然这样可以降低CPU的占有率,并在延时或定时期间也能处理其他的消息,但降低了延时或定时精度。

方式五:与GetTickCount()函数类似的多媒体定时器函数DWORD timeGetTime(void),该函数定时精度为ms级,返回从Windows启动开始经过的毫秒数。微软公司在其多媒体Windows中提供了精确定时器的底层API持,利用多媒体定时器可以很精确地读出系统的当前时间,并且能在非常精确的时间间隔内完成一个事件、函数或过程的调用。不同之处在于调用DWORD timeGetTime(void) 函数之前必须将 Winmm.lib 和 Mmsystem.h 添加到工程中,否则在编译时提示DWORD timeGetTime(void)函数未定义。由于使用该函数是通过查询的方式进行定时控制的,所以,应该建立定时循环来进行定时事件的控制。如示例工程中的Timer5和Timer5_1。

方式六:使用多媒体定时器timeSetEvent()函数,该函数定时精度为ms 级。利用该函数可以实现周期性的函数调用。如示例工程中的 Timer6和

Timer6_1。函数的原型如下:

MMRESULT timeSetEvent( UINT uDelay,

UINT uResolution,

LPTIMECALLBACK lpTimeProc,

WORD dwUser,

UINT fuEvent )

该函数设置一个定时回调事件,此事件可以是一个一次性事件或周期性事件。事件一旦被激活,便调用指定的回调函数,成功后返回事件的标识符代码,否则返回NULL。函数的参数说明如下:

uDelay:以毫秒指定事件的周期。

Uresolution:以毫秒指定延时的精度,数值越小定时器事件分辨率越高。缺省值为1ms。

LpTimeProc:指向一个回调函数。

DwUser:存放用户提供的回调数据。

FuEvent:指定定时器事件类型:

TIME_ONESHOT:uDelay毫秒后只产生一次事件

TIME_PERIODIC :每隔uDelay毫秒周期性地产生事件。

具体应用时,可以通过调用timeSetEvent()函数,将需要周期性执行的任务定义在LpTimeProc回调函数中(如:定时采样、控制等),从而完成所需处理的事件。需要注意的是,任务处理的时间不能大于周期间隔时间。另外,在定时器使用完毕后,应及时调用timeKillEvent()将之释放。

方式七:对于精确度要求更高的定时操作,则应该使用QueryPerformanceFrequency()和 QueryPerformanceCounter()函数。这两个函数是VC提供的仅供Windows 95及其后续版本使用的精确时间函数,并要求计算机从硬件上支持精确定时器。如示例工程中的Timer7、Timer7_1、Timer7_2、Timer7_3。

QueryPerformanceFrequency()函数和QueryPerformanceCounter()函数的原型如下:

BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency); BOOL QueryPerformanceCounter(LARGE_INTEGER *lpCount);

数据类型ARGE_INTEGER既可以是一个8字节长的整型数,也可以是两个4字节长的整型数的联合结构,其具体用法根据编译器是否支持64位而定。该类型的定义如下:

typedef union _LARGE_INTEGER

{

struct

{

DWORD LowPart ;// 4字节整型数

LONG HighPart;// 4字节整型数

};

LONGLONG QuadPart ;// 8字节整型数

}LARGE_INTEGER ;

在进行定时之前,先调用QueryPerformanceFrequency()函数获得机器内部定时器的时钟频率,然后在需要严格定时的事件发生之前和发生之后分别调用QueryPerformanceCounter()函数,利用两次获得的计数之差及时钟频率,计算出事件经历的精确时间。下列代码实现1ms的精确定时:

LARGE_INTEGER litmp;

LONGLONG QPart1,QPart2;

double dfMinus, dfFreq, dfTim;

QueryPerformanceFrequency(&litmp);

dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率

QueryPerformanceCounter(&litmp);

QPart1 = litmp.QuadPart;// 获得初始值

do

{

QueryPerformanceCounter(&litmp);

QPart2 = litmp.QuadPart;//获得中止值

dfMinus = (double)(QPart2-QPart1);

dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒

}while(dfTim<0.001);

其定时误差不超过1微秒,精度与CPU等机器配置有关。下面的程序用来测试函数Sleep(100)的精确持续时间:

LARGE_INTEGER litmp;

LONGLONG QPart1,QPart2;

double dfMinus, dfFreq, dfTim;

QueryPerformanceFrequency(&litmp);

dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率

QueryPerformanceCounter(&litmp);

QPart1 = litmp.QuadPart;// 获得初始值

Sleep(100);

QueryPerformanceCounter(&litmp);

QPart2 = litmp.QuadPart;//获得中止值

dfMinus = (double)(QPart2-QPart1);

dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒由于Sleep()函数自身的误差,上述程序每次执行的结果都会有微小误差。下列代码实现1微秒的精确定时:

LARGE_INTEGER litmp;

LONGLONG QPart1,QPart2;

double dfMinus, dfFreq, dfTim;

QueryPerformanceFrequency(&litmp);

dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率

QueryPerformanceCounter(&litmp);

QPart1 = litmp.QuadPart;// 获得初始值

do

{

QueryPerformanceCounter(&litmp);

QPart2 = litmp.QuadPart;//获得中止值

dfMinus = (double)(QPart2-QPart1);

dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒

}while(dfTim<0.000001);

其定时误差一般不超过0.5微秒,精度与CPU等机器配置有关。(完)

我稍微修改后测了一下,

void CMulti_TimerDlg::OnButtonTime71()

{

for(int i=0;i<1000000;i++)

{

Delay1us();

}

MessageBox("1妙延时已到!\n");

}

void CMulti_TimerDlg::Delay1us()

{

LARGE_INTEGER litmp;

LONGLONG QPart1,QPart2;;

double dfMinus, dfFreq, dfTim;

QueryPerformanceFrequency(&litmp);

dfFreq = (double)litmp.QuadPart; // 获得计数器的时钟频率QueryPerformanceCounter(&litmp);

QPart1 = litmp.QuadPart; // 获得初始值

do{

QueryPerformanceCounter(&litmp);

QPart2 = litmp.QuadPart;// 获得中止值

dfMinus = (double)(QPart2-QPart1);

dfTim = dfMinus / dfFreq; // 获得对应的时间值,单位为秒

}while(dfTim<0.000001);

}

本来应该是在点击后1s钟弹出对话框的,但是时间上却花了2.47s,不知道是我的理解有误,还是怎么回事?哪位达人给解释下?谢谢!找到我问题的原因了,我时间处理时间要大于周期1ms

。好东西,太精确了。 ( lzl1010 发表于 2006-3-17 16:26:00)

我用的是第7种定时器。 ( lzl1010 发表于 2006-3-17 16:21:00)

好。我有一个程序,每1ms读一次usb设备,按开始按钮时开始读,按停止按钮停止读。

按停止按钮停不下来,之后程序就没有回应了,查看cpu 使用率为100%,太占系统资源了。

基于汽车底盘测功机的汽车性能实验指导书

基于底盘测功机的汽车性能实验指导书 交通与汽车工程学院整车性能实验室 2005年3月

一、实验设备及其技术指标 1、汽车底盘测功机 型号:DCG-10G 主要技术指标:允许轴荷:10t 最大吸收功率:160kw 最大吸收驱动力:960daN(45km/h) 最高车速:120km/h 2、称重仪 型号:DS-425 主要技术指标:检定分度值:1g 最大秤量:15kg 二、汽车底盘测功机的功能 底盘测功机是模拟汽车在道路上行驶时受到的阻力,测量其驱动轮输出功率以及加速、滑行等性能的设备。配有汽车燃料消耗量检测装置(称重仪或油耗仪)还可测量汽车燃料消耗量。主要功能有: 1、检验汽车动力性能: 1) 检验汽车驱动轮输出功率 2) 检验汽车滑行性能 3) 检验汽车加速性能 2、检验汽车经济性能 三、汽车底盘测功机的基本结构及工作原理 汽车底盘测功机是一种不解体检验汽车性能的检测设备,它是通过在室内台架上汽车模拟道路行驶工况的方法来检测汽车的动力性,而且还可以测量多工况排放指标及油耗。同时能方便地进行汽车的加载调试和诊断汽车在负载条件下出现的故障等。由于汽车底盘测功机在试验时能通过控制试验条件,使周围环境影响减至最小,同时通过功率吸收加载装置来模拟道路行驶阻力,控制行驶状况,故能进行符合实际的复杂循环试验,因而得到广泛应用。 1、基本结构 汽车底盘测功机主要由道路模拟系统、数据采集与控制系统、安全保障系统及引导系统等构成。如下图所示:

2、工作原理 汽车在道路上运行过程中存在着运动惯性、行驶阻力,要在试验台上模拟汽车道路运行工况,首先要解决模拟汽车整车的运动惯性和行驶阻力问题,这样才能用台架测试汽车运行状况的动态性能。为此,在试验台上利用惯性飞轮的转动惯量来模拟汽车旋转体的转动惯量及汽车直线运动质量的惯量,采用电磁离合器自动或手动切换飞轮的组合,在允许的误差范围内满足汽车的惯量模拟。至于汽车在运行过程中所受的空气阻力、非驱动轮的滚动阻力及爬坡阻力等,则采用功率吸收加载装置来模拟。路面模拟是通过滚筒来实现的,即以滚筒的表面取代路面,滚筒的表面相对于汽车作旋转运动。通过控制系统可对加载装置及惯性模拟系统进行自动或手动控制,以实现对车辆的动力性如加速性能、汽车底盘输出功率、底盘输出最大驱动力、滑行性能等项目的检测。同时如配备油耗测量装置,即可进行燃料消耗量的试验。 四、实验项目 开始实验前,按照底盘测功机操作规程作好实验前的准备工作,根据测试软件的提示填写实验车辆信息和基本参数。 开始汽车动力性能试验前,需要进行汽车功率损耗实验,以确定汽车的各种阻力系数大小(行使阻力和空气阻力)。 1、汽车损耗功率实验 1)实验目的 确定汽车行驶的各种阻力系数,以模拟汽车的行使阻力和空气阻力等各种阻力。 2)实验方法 将汽车加速到某一车速,然后空档滑行,此时可以开始实验,记录数据;随后待车速降低到一定速度后结束实验。 2、检验汽车动力性能 1)实验目的 学习汽车驱动轮输出功率、加速性能、滑行阻力等动力性能的测定方法;了解实验用仪器的主要结构、工作原理和使用方法。 2)一般实验条件(实验指导老师介绍) 3)实验内容 A、检验驱动轮输出功率 实验方法:点击底盘测功进入底盘测功实验。首先设置起点速度和终点速度以及测功速度间隔,起动汽车,以汽车的某一档位加速行驶,当车速达到设定的终点速度时,程序自动终止实验。 B、检验汽车滑行性能 实验方法:点击滑行实验进入滑行性能实验。首先设置滑行初速度,起动汽车,开始实验后,将汽车加速到高于所设定的滑行初速度,然后空档滑行,此时可以开始实验记录数据;直到汽车停止,终止试验。 C、检验汽车加速性能 实验方法:点击加速实验进入加速性能实验。首先设置加速初速度和末速度,起动汽车,开始实验。起步连续换档加速或以最高档加速,使车速接近设定的加速末速度,停止实验。 五、实验数据整理 根据所记录的数据,将实验数据按照要求填入相应表格(见附录),并按要求作实验曲线。

信号系统第四章

5.1 选择题(每小题可能有一个或几个正确答案,将正确的题号填入( )内) 1.若一因果系统的系统函数为011 10111)(b s b s b s b a s a s a s a s H n n n n m m m m ++++++=---- ,则有如下结论—————————— ( 2 ) (1) 若)2,,1,0(0>=>n n i b i 且 ,则系统稳定。 (2) 若H (s )的所有极点均在左半s 平面,则系统稳定。 (3) 若H (s )的所有极点均在s 平面的单位圆内,则系统稳定。 2.一线性时不变因果系统的系统函数为H (s ),系统稳定的条件是—— (3、4 ) (1)H (s )的极点在s 平面的单位圆内; (2)H (s )的极点的模值小于1; (3)H (s )的极点全部在s 平面的左半平面; (4)H (s )为有理多项式。 3.根据图示系统信号流图,可以写出其转移函数H (s )= ) () (s X s Y ————( 2 ) X (s Y (s ) (1) c s a s b +-/1/ (2) a s b cs -+ (3)??? ??-ab c s 11 (4)?? ? ??-+a c b s 11 4.线性系统响应的分解特性满足以下规律————( 2、3 ) (1)若系统的起始状态为零,则系统的自由响应为零; (2)若系统的起始状态为零,则系统的零输入响应为零; (3)若系统的零状态响应为零,则强迫响应亦为零; (4)一般情况下,零状态响应与系统特性无关。 5.系统函数H (s )与激励信号X (s )之间——( 2 ) (1)是反比关系; (2)无关系; (3)线性关系; (4)不确定。 6.线性时不变系统输出中的自由响应的形式由——————( 1 )决定 (1)系统函数极点的位置; (2)激励信号的形式; (3)系统起始状态; (4)以上均不对。 7. 连续时间信号f (t )的最高频率ωm =104π rad/s ;若对其取样,并从取样后的信号中恢复原信号f (t ),则奈奎斯特间隔和所需低通滤波器的截止频率分别为_________。 A .10-4s ,104Hz B .10-4s ,5×103Hz

底盘测功机操作规程(标准版)

The prerequisite for vigorously developing our productivity is that we must be responsible for the safety of our company and our own lives. (安全管理) 单位:___________________ 姓名:___________________ 日期:___________________ 底盘测功机操作规程(标准版)

操作规程 | DOCUMENT TEMPLAT YK-AQ-0390底盘测功机操作规程(标准版) 导语:建立和健全我们的现代企业制度,是指引我们生产劳动的方向。而大力发展我们生产力的前提,是我们必须对我们企业和我们自己的生命安全负责。可用于实体印刷或电子存档(使用前请详细阅读条款)。 1.应严格按照说明书进行各项操作 2.不允许轴载大雨lOt的车辆进行检测或通过。 3.车辆上台前,底盘下部应清洗干净,轮胎气压应达到规定值,将粘、嵌在轮胎上的泥沙和石块清除干净。 4.为保证测试精度,仪器箱必须预热30分钟以上。 5.当汽车为前轮驱动时,应使汽车处于直线行使状态。 6.当用高速(80~lOOkm/h)进行检测时,应特别注意安全操作,高速检测时间应<2min/次。 7.测试时,一定要用挡块(三角铁)抵住汽车前轮(既不压滚筒的车轮)或用牵引绳拉住。测试中,汽车的前、后均严禁站人或通行。 8.在测试中,严禁将举升器升起。严禁被测车轮接触到举升板。 9.测功完毕后,退出测功状态。 10.测功结束后,应切断总电源。 XX设计有限公司 Your Name Design Co., Ltd. 第1页

汽车底盘测功机的原理

本科毕业设计(论文)手册目录 一、浙江师范大学本科毕业设计(论文)正文(1~38页) 二、浙江师范大学本科毕业设计(论文)过程管理材料(1~50页) (一)浙江师范大学本科毕业设计(论文)任务书 (1) (二)浙江师范大学本科毕业设计(论文)文献综述 (3) (三)浙江师范大学本科毕业设计(论文)开题报告 (13) (四)浙江师范大学本科毕业设计(论文)外文翻译 (26) (五)浙江师范大学本科毕业设计(论文)指导记录 (44) (六)浙江师范大学本科毕业设计(论文)中期检查表 (47) (七)浙江师范大学本科毕业设计(论文)答辩资格审查表 (48) (八)浙江师范大学本科毕业设计(论文)答辩记录 (49) (九)浙江师范大学本科毕业设计(论文)评审表 (50)

第一部分毕业设计(论文) 正文

目录 摘要 (1) 英文摘要 (1) 引言 (1) 1、绪论 (2) 1.1 汽车底盘测功机概述 (2) 1.2 底盘测功机的发展现状 (5) 1.3 论文研究目的及意义 (6) 2、底盘测功机硬件构成及原理 (7) 2.1 测控系统的评价指标 (7) 2.2 系统硬件框图 (9) 2.3 传感器 (10) 2.4 模入模出板和开关量输入输出卡 (11) 2.5 放大滤波电路的设计 (12) 3、底盘测功系统的数据处理及分析 (15) 3.1 概述 (15) 3.2 曲线拟合 (16) 3.3 FIR 数字滤波器的设计 (17) 3.4 系统标定 (19) 3.5 底盘测功机数据处理 (21) 4、汽车底盘测功机中存在的问题及影响测试精度的因素分析 (22) 4.1目前汽车底盘测功机中存在的问题分析 (22) 4.2解决途径 (24) 4.3影响底盘测功机测试精度的因素分析 (26) 5、底盘测功机的使用与维护 (27) 5.1主要性能的检定 (27) 5.2一般底盘测功机的使用与维护 (29) 5.3 DCG-1OA型汽车底盘测功机维护实例 (31) 结束语 (36) 参考文献 (36) 致谢 (38)

底盘测功机操作规程简易版

The Daily Operation Mode, It Includes All The Implementation Items, And Acts To Regulate Individual Actions, Regulate Or Limit All Their Behaviors, And Finally Simplify Management Process. 编订:XXXXXXXX 20XX年XX月XX日 底盘测功机操作规程简易 版

底盘测功机操作规程简易版 温馨提示:本操作规程文件应用在日常的规则或运作模式中,包含所有的执行事项,并作用于规范个体行动,规范或限制其所有行为,最终实现简化管理过程,提高管理效率。文档下载完成后可以直接编辑,请根据自己的需求进行套用。 1.应严格按照说明书进行各项操作 2.不允许轴载大雨lOt的车辆进行检测或 通过。 3.车辆上台前,底盘下部应清洗干净,轮 胎气压应达到规定值,将粘、嵌在轮胎上的泥 沙和石块清除干净。 4.为保证测试精度,仪器箱必须预热30 分钟以上。 5.当汽车为前轮驱动时,应使汽车处于直 线行使状态。 6.当用高速(80~lOOkm/h)进行检测时, 应特别注意安全操作,高速检测时间应<2min/

次。 7. 测试时,一定要用挡块(三角铁)抵住汽车前轮(既不压滚筒的车轮)或用牵引绳拉住。测试中,汽车的前、后均严禁站人或通行。 8. 在测试中,严禁将举升器升起。严禁被测车轮接触到举升板。 9. 测功完毕后,退出测功状态。 10. 测功结束后,应切断总电源。 该位置可填写公司名或者个人品牌名 Company name or personal brand name can be filled in this position

底盘测功机

底盘测功机 底盘测功机的功能底盘测功机的使用方法底盘测功机的工作原理汽车底盘输出功率检测方法 底盘测功机的基本结构发动机功率检测方法 一、底盘测功机的功能 底盘测功机是模拟汽车在道路上行驶时受到的阻力,测量其驱动轮输出功率以及加速、滑行等性能的设备。有的底盘测功机还带有汽车燃料消耗量检测装置。底盘测功机具有如下功能: ①测量汽车驱动轮输出功率。 ②检验汽车滑行性能。 ③检验汽车加速性能。 ④校验车速表。 ⑤校验里程表。 ⑥配备油耗仪的底盘测功机可以在室内模拟道路行驶,测量等速油耗。TOP 二、底盘测功机的基本结构及工作原理 底盘测功机是一种不解体检验汽车性能的检测设备,它是通过在室内台架上汽车模拟道路行驶工况的方法来检测汽车的动力性,而且还可以测量多工况排放指标及油耗。同时能方便地进行汽车的加载调试和诊断汽车在负载条件下出现的故障等。由于汽车底盘测功机在试验时能通过控制试验条件,使周围环境影响减至最小,同时通过功率吸收加载装置来模拟道路行驶阻力,控制行驶状况,故能进行符合实际的复杂循环试验,因而得到广泛应用。底盘测功机分为两类,单滚筒底盘测功机,其滚筒直径大 (1500-2500mm),制造和安装费用大,但其测试精度高,一般用于制造厂和科研单位;双滚筒式底盘测功机的滚筒直径小(180-500mm),设备成本低,使用方便,但测试精度较差,一般用于汽车使用、维修行业及汽车检测线、站。近年来因电子计算机技术的高度发展,为数据的采集、处理及试验数据分析提供了有效的手段,同时为模拟道路状态准备了条件,加速了底盘测功机的发展,加之各类专用软件的开发和应用,使汽车底盘测功机得到了广泛的推广。TOP

第四章 习题解答

4-1 如图是用频率为1 000 kHz 的载波信号同时传输两路信号的频谱图。试写出它的电压表达式,并画出相应的实现方框图。计算在单位负载上的平均功率P av 和频谱宽度BW AM 。 解:(1)为二次调制的普通调幅波。 第一次调制:调制信号:F = 3 kHz 载频:f 1 = 10 kHz ,f 2 = 30 kHz 第二次调制:两路已调信号叠加调制到主载频f c = 1000 kHz 上。 令 Ω = 2π ? 3 ? 103 rad/s ω1 = 2π ? 104 rad/s ω2= 2π ? 3 ? 104 rad/s ωc = 2π ? 106 rad/s 第一次调制:v 1(t ) = 4(1 + 0.5cos Ωt )cos ω1t v 2(t ) = 2(1 + 0.4cos Ωt )cos ω2t 第二次调制:v O (t ) = 5 cos ωc t + [4(1 + 0.5cos Ωt )cos ω1t + 2(1 + 0.4cos Ωt )cos ω2t ] cos ωc t = 5[1+0.8(1 + 0.5cos Ωt )cos ω1t + 0.4(1 + 0.4cos Ωt )cos ω2t ] cos ωc t (2) 实现方框图如图所示。 (3) 根据频谱图,求功率。 ○ 1 载频为10 kHz 的振幅调制波平均功率 V m01 = 2V ,M a1 = 0.5 W 5.4)211(2W 22121a 01av1201m 01=+===M P P V P ; ○ 2 f 2 = 30 kHz V m02 = 1V ,M a2 = 0.4 W 08.1)211(2W 5.02122a 02 av2202m 02=+===M P P V P ; ○3 主载频f c = 1000 kHz V m0 = 5V

底盘测功机

底盘测功机 是一种不解体检验汽车性能的检测设备,它是通过在室内台架上汽车模拟道路行驶工况的方法来检测汽车的动力性,而且还可以测量多工况排放指标及油耗。同时能方便地进行汽车的加载调试和诊断汽车在负载条件下出现的故障等。由于汽车底盘测功机在试验时能通过控制试验条件,使周围环境影响减至最小,同时通过功率吸收加载装置来模拟道路行驶阻力,控制行驶状况,故能进行符合实际的复杂循环试验,因而得到广泛应用。底盘测功机分为两类,单滚筒底盘测功机,其滚筒直径大(1500-2500mm),制造和安装费用大,但其测试精度高,一般用于制造厂和科研单位;双滚筒式底盘测功机的滚筒直径小(180-500mm),设备成本低,使用方便,但测试精度较差,一般用于汽车使用、维修行业及汽车检测线、站。近年来因电子计算机技术的高度发展,为数据的采集、处理及试验数据分析提供了有效的手段,同时为模拟道路状态准备了条件,加速了底盘测功机的发展,加之各类专用软件的开发和应用,使汽车底盘测功机得到了广泛的推广。底盘测功试验台一般由滚筒装置、功率吸收装置(即加载装置)、测量装置和辅助装置4部分组成。 一、滚筒装置 滚筒相当于连续移动的路面,被检汽车的车轮在其上滚动。滚筒有单滚筒和双滚筒等型式,如图13—1所示。 单滚筒试验台的滚筒直径较大,车轮轮胎与滚筒的接触更接近其与路面接触的实际情况,滑转率小,滚动阻力小,因而试验精度高。但这种试验台的制造、安装、检测都比较复杂,且成本高,所以它常用于汽车制造和科研单位。 双滚筒试验台的滚筒直径较小,车轮轮胎与滚筒的接触与其在路面上的受压情况相差较大,滑转率、滚动阻力大,因此,检测精度比较低。但这种试验台结构简单,安装、使用方便,且成本低,故适用于汽车制造单位,维修企业和交通管理部门。其中,单轴双滚筒式试验台应用更为广泛。 滚筒表面可以有光滚筒、滚花滚筒、带槽滚筒、带涂覆层滚筒等,可根据使用情况适应选择,尽量使滚筒的附着力接近于道路的实际情况。光滚筒是目前应用最多的一种形式,对于双滚筒的光滚筒,由于轮胎对滚筒的比压增大,

汽车各类传感器的结构介绍与工作原理解析

汽车各类传感器的结构介绍与工作原理解析 在现代社会,传感器的应用已经渗透到人类的生活中。传感器是一种常见的装置,主要起到转换信息形式的作用,大多把其他形式的信号转换为更好检测和监控的电信号。汽车传感器作为汽车电子控制系统的信息源,把汽车运行中各种工况信息转化成电讯号输送给中央控制单元,才能使发动机处于最佳工作状态。发动机、底盘、车身的控制系统,另外还有导航系统都是汽车传感器可以发挥作用的位置;汽车传感器还可检测汽车运行的状态,提高驾驶的安全性、舒适性。汽车中的传感器按测量对象可分为温度、压力、流量、气体浓度、速度、光亮度、距离等。以应用区域来分,又可分为作用于发动机、底盘、车身、导航系统等。按输出信号,有模拟式的也有数字式的。按功能分,有控制汽车运行状态的,也有检测汽车性能及工作状态的。下面我们就按功能分别具体介绍汽车控制用传感器以及汽车性能检测传感器。 一、汽车控制用传感器 1、发动机控制系统用传感器 流量传感器汽车中的流量传感器大多测发动机空气流量和燃料流量,它能将流量转换成电信号。其中空气流量传感器应用更多,主要用于监测发动机的燃烧条件、起动、点火等,并为计算供油量提供依据。按原理分为体积型、质量型流量计,按结构分为热膜式、热线式、翼片式、卡门旋涡式流量计。翼片式流量计测量精度低且要温度补偿;热线式和热膜式测量精度高,无需温度补偿。总的来说,热膜式流量计因为较小的体积,更受工业化生产的青睐。 2、压力传感器 压力传感器主要以力学信号为媒介,把流量等参数与电信号联系起来,可测量发动机的进气压力、气缸压力、大气压、油压等,常用压力传感器可分为电容式、半导体压阻式、差动变压器式和表面弹性波式。电容式多检测负压、液压、气压,可测 20~100kPa 的压力,动态响应快速敏捷,能抵御恶劣工作条件;压阻式需要另设温度补偿电路,它常用于工业生产;相对于差动变压器式不稳定的数字输出,表面弹性波式表现最优异,它小巧节能、灵敏可靠,受温度影响小。 3、气体浓度传感器

谭浩强《C++面向对象程序设计》第四章答案

第四章 1: #include using namespace std; class Complex {public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} double get_real(); double get_imag(); void display(); private: double real; double imag; }; double Complex::get_real() {return real;} double Complex::get_imag() {return imag;} void Complex::display() {cout<<"("<

汽车底盘测功机构、工作原理与使用维护

汽车底盘测功机构、工作原理与使用维护

————————————————————————————————作者:————————————————————————————————日期:

汽车底盘测功机结构、工作原理与使用维护-汽车 汽车底盘测功机结构、工作原理与使用维护 文/广东蔡元兵王井 新版《营运车辆综台性能要求和检验方法》(GB18565)即将发布,很多用户在汽车底盘测功机的选购上还在观望,—方面担心采购的汽车底盘测功机不符合新版GB18565的要求,另—方面顾虑采购的汽车底盘测功机能力过剩,增加不必要的投入。下面笔者对汽车底盘测功机的结构、工作原理与使用维护进行说明,希望能对大家有所帮助。 一、汽车底盘测功机的基本结构及工作原理 汽车底盘测功机是一种不解体检测汽车性能的检测设备,它通过在室内台架上汽车模拟道路行驶工况的方法来检测汽车的动力性,而且还可以测量多工况排放指标及油耗。同时能方便地进行汽车的加载调试和诊断汽车负载条件下出现的故障。 1.基本结构 汽车底盘测功机主要由道路模拟系统、数据采集与控制系统、安全保障系统及引导系统等构成。如图1所示为道路模拟系统。 2.工作原理 汽车在道路上运行过程中存在着运动惯性、行驶阻力,要在试验台上模拟汽车道路运行工况,首先要解决模拟汽车整车的运动惯性和行驶阻力问题,这样才能用台架测试汽车运行状况的动态性能。为此,在该试验台上利用惯性飞轮的转动惯量来模拟汽车旋转体的转动惯量及汽车直线运动惯量,采用电磁离台器自动或手动切换飞轮的组合,在允许的误差范围内满足汽车惯量模拟。至于汽车在

运行中所受的空气阻力、非驱动轮的滚动阻力及爬坡阻力等,则采用功率吸收加载装置来模拟。路面模拟是通过滚筒来实现的,即以滚筒表面取代路面,滚筒的表面相对于汽车做旋转运动。 二、汽车底盘测功机各系统介绍 1.道路模拟系统 (1)滚筒 ①滚筒壹径:汽车底盘测功机所采用的路面模拟系统的滚筒一般是直径为180—400mm的钢滚筒,按其结构性可分为两滚筒和四滚筒。所谓两滚筒路面模拟系统由两根长滚筒组成,其特点是支撑轴承,台架的机械损失少;所谓四滚筒路面模拟系统由四根短滚筒组成,它较两滚筒多了四个支撑轴承和一个联轴器,在检测过程中,其损失较大。 ②滚筒的表面状况:滚筒的表面状况是指滚筒表面的加工方法和清洁程度(水、油和橡胶粉末的污染等)。汽车在干燥滚筒上的驱动过程是一个摩擦过程,总摩擦力有若干分力组成,如:F总=F附着+F阻滞,其中F附着是指接触面间的附着力;F阻滞是轮胎在滚筒上滚动变形时,由于伸张作用能量的差别而消耗的能量,进而转化为阻止车轮滚动的作用力;该两项分力取决于轮胎材料、结构和温度。

车辆底盘测功报告

一、实验目的 (1)了解底盘输出功率测试仪器检测原理。 (2)熟悉汽车底盘测功机的检测功能。 (3)掌握汽车底盘测功机的操作方法。 二、实验仪器设备 底盘测功机CDM-300;排气分析仪:南华NHA-503; 汽油车排放检测:CDM-300ASM(Lugdown) 三、实验原理 汽车底盘测功机是一种不解体检验汽车性能的检测设备,它是通过在室内台架上汽车模拟道路行驶工况的方法来检测汽车的动力性,而且还可以测量多工况排放指标及油耗。同时能方便地进行汽车的加载调试和诊断汽车在负载条件下出现的故障等。由于汽车底盘测功机在试验时能通过控制试验条件,使周围环境影响减至最小,同时通过功率吸收加载装置来模拟道路行驶阻力,控制行驶状况,故能进行符合实际的复杂循环试验,因而得到广泛应用。 1、基本结构 汽车底盘测功机主要由道路模拟系统、数据采集与控制系统、安全保障系统及引导系统等构成。如下图所示:

2、工作原理 汽车在道路上运行过程中存在着运动惯性、行驶阻力,要在试验台上模拟汽车道路运行工况,首先要解决模拟汽车整车的运动惯性和行驶阻力问题,这样才能用台架测试汽车运行状况的动态性能。为此,在试验台上利用惯性飞轮的转动惯量来模拟汽车旋转体的转动惯量及汽车直线运动质量的惯量,采用电磁离合器自动或手动切换飞轮的组合,在允许的误差范围内满足汽车的惯量模拟。至于汽车在运行过程中所受的空气阻力、非驱动轮的滚动阻力及爬坡阻力等,则采用功率吸收加载装置来模拟。路面模拟是通过滚筒来实现的,即以滚筒的表面取代路面,滚筒的表面相对于汽车作旋转运动。通过控制系统可对加载装置及惯性模拟系统进行自动或手动控制,以实现对车辆的动力性如加速性能、汽车底盘输出功率、底盘输出最大驱动力、滑行性能等项目的检测。同时如配备油耗测量装置,即可进行燃料消耗量的试验。 四、实验内容 实验1:检验汽车0-30km/h的加速性能 实验2:汽车30km/h-0的滑行实验 实验3:排放检测: A)5025工况加速到25km/h的排放检测 B)双怠速工况法的排放检测 五、实验数据 实验环境温度:C 17,环境大气压:102kPa,环境湿度:79.5%。 6. 实验2数据截图: 实验3数据截图: A)

04第四章习题及参考答案

【单元测试题四——剩余价值的实现与分配】 一、单项选择题 1.产业资本循环中货币资本的职能是()。 A.生产价值和剩余价值 B.实现价值和剩余价值 C.为价值的形成和剩余价值的生产准备条件 D.生产和实现剩余价值 2.产业资本循环中生产资本的职能是()。 A.生产价值和剩余价值B.实现价值和剩余价值 C.为剩余价值的生产准备条件D.生产和实现剩余价值3.产业资本循环中商品资本的职能是()。 A.生产剩余价值B.实现价值和剩余价值 C.为剩余价值生产准备条件D.生产和实现剩余价值4.在产业资本循环过程中,具有决定意义的阶段是()。 A.购买阶段B.售卖阶段 C.生产阶段D.流通阶段 5.不断重复、周而复始的资本循环过程是()。 A.资本循环B.资本周转 C.资本积累D.资本流通 6.下列实物形态的资本中,同时属于生产资本、不变资本和固定资本的是()。 A.原料和燃料B.辅助材料 C.机器设备D.商业设施 7.下列实物形态的资本中,同时属于生产资本、可变资本和流动资本的是()。 A.原料和燃料B.辅助材料 C.机器设备D.劳动力 8.下面属于固定资本正常的有形磨损的是()。 A.机器设备由于使用和自然力作用造成的损耗 B.由于科学技术进步造成的固定资本价值贬值 C.由于自然灾害造成的机器设备损坏 D.由于机器设备制造部门劳动生产率提高导致的贬值 9.根据下列数据计算该企业预付资本总周转次数()。

生产资本构成价值(单位:万元)使用年限 固定资本 1 000 其中:厂房300 15年 机器600 10年 小工具100 5年 流动资本500 1/4年 A.0.15 B.2 C.0.25 D.1.4 10.资本周转速度与()。 A.周转时间成正比,周转次数成反比 B.周转时间成反比,周转次数成正比 C.周转时间成正比,周转次数成正比 D.周转时间成反比,周转次数成反比 11.社会资本再生产的核心问题是()。 A.社会总产品的构成问题B.社会总产品的实现问题 C.社会资本的循环问题D.社会资本的周转问题 12.社会资本扩大再生产的基本实现条件是()。 A.I(v +m)=Ⅱc B.I(v +Δv + m/x)=Ⅱ(c +Δc) C.II(c +v + m)=I(v +Δv + m/x)+ II(v +Δv + m/x) D.I(v + m)>Ⅱc 13.资本主义经济危机的实质是()。 A.商业危机B.生产不足的危机 C.生产相对过剩的危机D.生产绝对过剩的危机 14.资本主义经济危机的根源是()。 A.货币的流通手段职能B.货币的支付手段职能 C.资本主义基本矛盾D.人口过剩与资本过剩的矛盾15.资本家赔本或赚钱的界限是()。 A.商品的价值B.商品的成本价格 C.实际生产费用D.销售价格 16.在资本主义社会的商品价值中,既是新创造价值的一部分,又是成本价格组成部分的是()。

底盘测功试验分析报告

底盘测功实验报告 1.实验目的 ①了解底盘测功机的监测原理。 ②熟悉汽车底盘测功机的检测功能。 ③掌握底盘测功机的操作方法。 ④利用底盘测功机进行加速、滑行、排放检测实验。 2.实验仪器和器材 汽车底盘测功机(CDM-300),汽车工况排放检测仪器(CDM-300ASM,成都弥荣),排气分析仪(南华NHA-503)。 3.实验原理 3.1底盘测功机 底盘测功机是一种不解体检验汽车性能的检测设备,它是通过在室内台架上汽车模拟道路行驶工况的方法来检测汽车的动力性,而且还可以测量多工况排放指标及油耗。同时能方便地进行汽车的加载调试和诊断汽车在负载条件下出现的故障等。由于汽车底盘测功机在试验时能通过控制试验条件,使周围环境影响减至最小,同时通过功率吸收加载装置来模拟道路行驶阻力,控制行驶状况,故能进行符合实际的复杂循环试验,因而得到广泛应用。 3.11 底盘测功机的分类和结构 ①底盘测功机的基本结构 底盘测功机一般由道路模拟系统、数据采集于控制系统、安全保障系统和引导与举升系统组成。 ⑴道路模拟系统主要由滚筒、功率吸能装置(加载装置)和惯性模拟装置组成。滚筒又分为主滚筒和从滚筒之分,通过滚筒的连续转动来模拟连续移动的路面;功率吸能装置的主要作用是吸收并测量驱动轮上的功率。常见的吸能装置有

三类:水力式、电涡流式和直流电力式;惯性模拟装置的主要功用是模拟汽车的减速工况和加速工况,使底盘测功机能够测量汽车的加速、滑行性能。 ⑵测量时需要采集汽车的行驶速度和驱动力矩,数据采集系统囊括了车速信号传感器、测力传感器等相应的传感器;控制系统具有控制加载(电压、电流),举升控制、滚筒锁定控制、车辆检测灯控制的功能。 ⑶安全保障系统包括左右挡轮、车偃、系留装置、冷却装置等,主要作用是保障实验过程中的设备与人员安全。 ⑷引导与举升系统是系统的辅助部分,引导装置(显示装置)能够引导实验人员更好的完成实验;举升装置举升汽车方便汽车进出底盘测功机,安装在主副滚筒间,常用有气动式、液压式、电动式。 ②底盘测功机的分类 ⑴底盘测功机按照滚筒的不同可以分为单筒式和双筒式。 单筒式底盘测功机顾名思义支撑两侧车轮的的滚筒都是单筒,滚筒半径一般在1500-2000mm之间,滚动直径越大,其表面曲率越小,车轮在滚筒上的接触就越接近在路面上滚动的正是情况,是轮胎与滚筒的滑转率小,滚动阻力小,因而测试精度高。但是车轮在但滚筒安放定位要求严格,而滚筒中心中心在垂直平面内的对中又比较困难,因而使用不方便,多用于科研和院校。 双滚筒测功机支撑汽车两侧驱动轮的滚动各有两个,滚筒直径在185-400mm 之间,滚筒半径小,滚筒表面曲率大,与轮胎的接触面变形大,滚动阻力大,导致测试精度降低。相对于单滚筒,车轮在双滚筒上安装定位方便,且双滚筒结构简单,制造成本低,适合维修企业等生产单位使用。 表一是两者的对比: ⑵按吸能装置的不同,可以分为水力式、电力式、电涡流式 水力式可控性较差,精度一般;电力式装置复杂,成本较高;电涡流式,可

汽车底盘测功机操作技术训练

汽车底盘测功机操作技术实训实习指导书 黑龙江工程学院汽车与交通工程学院 2017年7月

汽车底盘测功实验室学生实习守则 一、学生必须按时到实验室上实习课,不得迟到、早退及旷课。 二、实验室内严禁吸烟,不准大声喧哗、打闹及自行摆弄仪器装置。保持室内卫生,不准随地吐痰、乱扔纸屑等脏物。 三、实习前必须认真预习实习内容,上课时认真听教师讲解实习目的、要求、步骤及注意事项。 四、实习时必须严格按照实习步骤操作,要细心观察实习现象,如实做好记录,积极思考、分析实习结果,按规定写好实习报告。 五、实习中必须注意安全,严格遵守实验室的规章制度和仪器设备操作规程,服从教师和实习技术人员的指导,对不遵守操作规程又不听从劝告者,实习教师有权停止其实习,对违规操作造成事故者,要追究责任,并根据不同情况进行处理。 六、实习中如发生事故,要保持镇静,并立即按下紧急停车开关,保护现场,报指导教师或实习教师进行处理,不得自行处理。 七、实习结束后,按实习教师的要求,把设备仪器等及其物品放回指定地点,关闭电源、气源,然后清扫实习室并关好门窗方可离开实验室。

目录 一、实习目的 (1) 二、实习内容 (1) 三、实习方式 (1) 四、实习时间安排 (1) 五、实习成绩考核 (2) 六、实习指导资料 (2) 七、实习报告要求 (12)

一、实习目的 1.了解底盘测功机测试系统的功能、结构及工作原理。 2.掌握实验前底盘测功机的准备工作。 3.掌握底盘测功机测试系统主控机测试软件的使用。 4.掌握实验后的数据处理方法及科学、合理的数据分析。 二、实习内容 1.底盘测功机测试系统的功能及基本结构的认识。 2.底盘测功机的启动、热机、关闭等基本操作。 3.实习车的对中、固定等操作。 4.主控机测试软件的使用,包括实验前参数设置、实验中根据提示执行相关操作、实验后实验数据处理等操作。 5.以一项实验为例,通过底盘测功机完成一个完整的实验操作。 6.实验结果的分析。 三、实习方式 1. 实习动员 实习指导教师对实习中的注意事项做出说明,并做实习安全教育。 2. 设备结构、原理介绍 对实习中涉及到的实习设备进行结构、原理等方面的介绍。 3. 汽车性能测试前的准备工作介绍 汽车性能测试前的准备工作包括实习车的对中、固定、设备热机、道路阻力参数设置、风机控制参数设置等。 4. 应用底盘测功机完成一个完整的实验操作 通过对底盘测功机的了解和掌握,以一项实验为例,通过底盘测功机完成一个完整的实验操作。 5. 提交实习报告 在实习结束时,学生应提交书面的实习报告,实习报告内容应包括:实习目的、实习内容及实习结果等项目。 四、实习时间安排 根据教学计划,实习时间为1周,具体时间分配如下表。

vc第四章习题课

填空题 (1) 派生新类的过程经历三个过程:吸收基类成员、改造基类成员和添加新成员。 (2) 在类族中,直接参与派生出某类的基类称为直接基类;基类的基类甚至更高层的基类称为间接基类。 (3) 在继承中,如果只有一个基类,则这种继承方式称为单继承;如果基类名有多个,则这种继承方式称为多继承。 (4) C++中的运算符除了类属关系运算符.,作用域分辨符::、成员针运算*、sizeof运算符、三目运算符?之外,全部可以重载,而且只能重载C++中已有的运算符,不能臆造新的运算符。 (5) 如果用普通函数重载双目运算符,需要 1 个操作数;重载单目运算符,需要0个操作数。如果用友员函数重载双目运算符,需要 2 个操作数;重载单目运算符,需要 1 个操作数。 (6) 当基类中的某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义,在派生类中重新定义时,其函数原型,包括返回类型、函数名、和参数个数,以及参数类型和参数个数都必须与基类中的原型完全相同。 阅读程序 分析下列程序,写出运行结果。 (1) 程序代码如下: #include class B { int x1,x2; public: void Init(int n1,int n2){x1=n1;x2=n2;} int inc1(){return ++x1;} int inc2(){return ++x2;} void disp(){cout<<"B,x1="<

相关主题
相关文档
最新文档