基于虚拟仪器的汽车检测仪设计与实现
0 引 言
汽车产业已成为国民经济增长的一个亮点,随着科学技术的发展,汽车检测经历了人工检验、简单仪器仪表测量、电脑控制的自诊断系统和专用的故障诊断仪等阶段。这些检测手段不同程度地存在着操作复杂、稳定性差、检测效率低、检测误差大等缺点。电子技术和计算机技术在汽车上的普及运用,对汽车售后维修服务提出了更高要求,促使在汽车的故障诊断中采用更多的快速、简便和智能化仪器,要求检测仪器实时采集和反映汽车工况的技术数据或曲线,以此来进行汽车故障的诊断。近年来,国内外很多公司和高校把虚拟仪器技术运用到生产和科研中,取得了一定的经济和社会效益。虚拟仪器相对于传统仪器具有以下优势:(1)仪器功能由用户自行定义;(2)丰富并增强了传统仪器的功能;(3)测量稳定性与重复性好;(4)经济性好;(5)系统构建周期短,易于进行功能扩展。将虚拟仪器引入到汽车行业,为汽车检测技术带来了新的活力。
影响最大的虚拟仪器编程语言是美国NI公司的LabVEIW和LabWindoWs/CVI,还有其他基于WINDOWS操作系统的可视化编程工具如VB、C++、Delphi等。VB是一种非常方便的Windows应用程序编程开发平台,它最有力的就是快速创建可视化用户界面,把复杂而完善的Windows操作系统的使用融于易于学习和使用的高级语言中,因而受到广大工程技术人员的普遍欢迎。
1 虚拟式汽车检测仪的结构
开发的汽车检测仪是基于数据采集卡的PC-DAQ结构。系统的结构如图1所示,由硬件和软件两大部分构成。
硬件的核心是一台PC,I/O接口设备采用阿尔泰的PCI2006数据采集卡。该卡具有14位分辨率的A/D转换器,提供了16(双极)/32(单极)模拟输入通道,输入信号幅度可以经程控增益放大至合适的范围,保证最佳转换精度;32位PCI总线,支持PCI2.2协议,即插即用;单通道400 kHz采样频率,伪同步采样减少通道间的采样时差,8 KB深度FIFO存储器保证数据的完整性;软件部分支持Windows XP系统下的I/O接口仪器驱动程序,包括对VB、C++、Delphi以及LabVEIW的驱动程序,编程使用的VB语言运用其相应的驱动程序对该卡进行数据采集的编程。
该卡主要分为4大块:(1)模拟前端的信号输入、调理电路;(2)对模拟输入信号进行AD转换的模数转换部分;(3)基于FPGA的控制部分;(4)和上位机进行通信的接口电路。
2 PCI2006数据采集的编程实现
该卡能用3种不同方式即非空查询方式、半满方式和中断方式进行数据采集。
2.1 PCI2006的设备管理
由于驱动程序采用面向对象编程,所以要使用设备的一切功能,用CreateDevice函数创建一个设备对象句柄hDevice,有了这个句柄,就拥有了对该设备的绝对控制权。然后将此句柄作为参数传递给其他函数,如Init-DeviceProAD可以使用hDevice句柄以程序查询方式初始化设备的A/D部件,ReadDeviceProAD函数可以用hDe-vice句柄实现对A/D数据的采样读取,SetDeviceDO函数可用实现开关量的输出等。最后可以通过ReleaseDevice将hDevice释放掉。
相关文章
- 2024-06-07电流变液减振器在抑制深孔切削颤振上的研究
- 2022-05-24基于现场总线监测系统的PLC控制制造系统
- 2024-03-20寄生虚反射对外差干涉椭偏测量的影响
- 2024-04-10极紫外望远镜各通道夹角的测量
- 2024-08-02基于干涉原理的高精度直线度误差测量



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。