- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于虚拟仪器技术的汽车尾气检测系统
摘要:为了监测和防治汽车尾气排放所造成的环境污染,本文介绍了一种基于虚拟仪器技术的汽车尾气检测系统。首先介绍了检测系统的组成结构和工作原理,提出了一种以美国NI公司推出的图形化编程语言LabVIEw8.2为开发环境,利用德国西门子公司生产的VS5067-5为尾气分析仪进行汽车尾气检测系统设计的方法。文中尤其对工控计算机和VS5067-5串行通信程序的LabVIEW8.2实现进行了详细介绍。实际测试结果表明,所述方法方便实用,有推广应用价值。
关键词:汽车尾气;检测系统;串行通信;虚拟仪器
0 引言
近几年来,随着我国社会经济的飞速发展和人民生活水平的不断提高,汽车保有量大幅度增加。汽车在给人们日常生活带来便利的同时,也带来了严峻的环境问题。汽车尾气中的CO,HC化合物等有害气体,已成为空气污染的主要来源。因此,监测与防治汽车的排气污染,是治理环境污染的一项重要任务。
要控制机动车的排气污染,首先是要做好检测工作。在我国,从1999年开始,就制订了一系列相应法规,严格控制汽车尾气的排放。2005年颁布了GB 18285-2005《点燃式发动机汽车排气污染物排放限值及测量方法》新的国家标准,标准中除了对汽车在怠速和高怠速工况下排气污染物的测量方法作了要求外,还对每种类型的汽车排气污染物排放限值作了明确的规定。
汽车排气污染物主要检测参数有:CO(一氧化碳),HC(碳氢化合物),CO2(二氧化碳),O2(氧气),NO(一氧化氮)等。
1 检测系统的组成
基于虚拟仪器技术的汽车尾气检测系统硬件结构如图1所示。
检测系统主要由尾气分析仪、I/O接口卡、红外对射光电开关、LED显示屏以及工控计算机等组成。尾气分析仪选用德国西门子公司的VS5067-5汽车尾气分析仪,该仪器的核心部件是采用西门子公司的红外光学传感器,其工作原理是根据不同气体所具有的特征吸收谱带和特征频率,在特征频率附近的光谱带产生强烈的吸收,根据气体红外光谱吸收的强弱,检测分析出汽车尾气的成分和含量。该仪器可检测汽车尾气中CO、HC、CO2、O2、NO五种气体的浓度和发动机油温、转速等汽车工作参数,测量数据由仪器面板上的液晶显示屏显示,并配有标准RS232串行接口与工控计算机连接,通过串口可接收测量命令并输出测试结果。
工控计算机上扩展的I/O接口卡主要用来接收红外对射光电开关的开、关状态,用来判断被检车辆是否到位。红外对射光电开关选用欧母龙E3JK-5M型,其红外对射距离为5m。红外发射光电管和红外接收光电管分别安装在汽车检测线的两边。当红外发射管没有被遮挡时,接收光电管为常闭状态,当被检车辆行驶到检测工位遮挡住红外发射光电管时,接收光电管为开断状态,接收光电管的开、闭状态表示了车辆是否到位信息。
LED显示屏用来显示检测过程信息和检测结果。引车员和尾气排放检测员可在LED显示屏的显示信息指引下进行相应操作。
尾气检测系统的工作过程为:当车辆登录上线检测时,工控计算机发出车辆进线消息,提示被检车辆进入检测工位。当工控计算机检测到接收光电管为开断状态时,表示车辆到位,可开始尾气检测。检测程序将按国标GB18285-2005规定的测量方法进行。检测过程中,尾气排放检测员按LED显示屏的指示将取样探头插入被检车辆排气管中,将转速测量钳按要求与发动机相关部分相连接;尾气分析仪从串口接收工控计算机的命令,采集排气污染物;引车员则按LED显示屏的指示信息操纵汽车进入额定转速、高怠速、怠速等状态,配合尾气分析仪按照检测程序完成尾气排放测量。
2 检测软件设计
软件是虚拟仪器的关键。设计一个虚拟仪器系统,在硬件平台确定之后,就可以通过设计不同的软件模块,实现不同的功能。汽车尾气检测系统的应用软件采用NI的图形化编程语言LabVIEW8.2开发,模块化设计。按双怠速法检测尾气排放的程序流程图如图2所示。
双怠速法尾气检测程序的执行过程为:首先在主程序界面上输入被检车辆基本信息,然后通过LED显示屏提示受检车辆进入检测工位,通过读取红外接收光电管的状态判断车辆到位情况。若车辆到位,则按照国标规定的双怠速测量方法进行尾气排放检测,检测数据由串口输入。最后计算数据,显示、存储检测结果。为直观起见,采集到的原始数据可用曲线图的形式输出。
在检测程序设计中,由于工控计算机和尾气分析仪是通过串口来传送测量命令和测量数据的,因此串行通信程序是检测软件中最关键的模块之一。在LabVIEW8.2中,可以利用VISA模块编写串行通信程序,这样可以摆脱烦琐的底层命令,轻松实现工控计算机与仪器之间的通信。
VS5067-5汽车尾气分析仪通信参数为:9600波特率、8位数据位、无奇偶校验、1位停止位,通信命令包含:计算机控制、CAL、测量、读数据、结束测量、手动操作等,命令格式为多字节的ASCII码形式,例如,“计算机控制”命令为:02H,*,S,R,E,M,20H,K,O,03H,即10个字节的ASCII码。同样,仪器的应答信号也是多字节的ASCII码,例如,对应“计算机控制”命令的应答信号为9个字节的ASCII码,即:02H,*,S,R,E,M,20H,0,03H。也就是说,工控计算机与尾气分析仪之间的串行数据均为多字节的ASCII码信息。由于在程序开发中,一般ASCII码用十六进制表示比较方便,因此,串行发送与接收数据就存在着数据类型转换的问题。在LabVIEW8.2中,ASCII码与十六进制数据的转换可以很方便的用“字节数组至字符串转换”、“字符串至字节数组转换”两个函数实现。以发送“计算机控制”命令为例,LabVIEW8.2设计的串行通信程序如图3所示。
串行通信程序的编写过程如下:
1)串口初始化
按照VS5067-5汽车尾气分析仪通信协议,利用LabVIEW8.2函数选板的【数据通信】→【协议】→【串口】子选板中的“VISA配置串口”函数初始化串口为波特率9600bps,数据位8位,1位停止位,无奇偶校验位,选择工控计算机的COM1口。
2)发送测量命令
当工控计算机要向尾气分析仪发送测量命令时,可利用“VISA写入”函数发送。由于尾气分析仪的命令为多字节的ASCII格式,因此需要将命令组建成一个数组,再利用“字节数组至字符串转换”函数将数组转换为字符串发送。图3中示意的是“计算机控制”命令的发送情况,“计算机控制”命令的十六进制表示为:02H,2AH,53H,52H,45H,4DH,20H,4BH,30H,03H。
3)接收应答信号
当尾气分析仪接收到工控计算机发来的命令后,会相应返回应答信号,程序设计中,可利用“VISA读取”函数接收仪器的应答信号,再利用“字符串至字节数组转换”函数将接收到的ASCII数据转换为十六进制数据。例如,当仪器收到“计算机控制”命令后,返回的应答信号十六进制表示为:02H、2AH、53H、52H、45H、4DH、20H、30H、03H。如果工控计算机向仪器发送“读数据”命令,则仪器返回的应答信号中就包含了HC、CO、CO2、O2、NO以及转速、油温,λ(过量空气系数)等检测数据。
4)关闭串口
当工控计算机要停止尾气检测时,可利用“VISA关闭”函数关闭串口,释放LabVIEW占用的资源。
3 实验结果
我们对基于LabVIEW8.2开发的汽车尾气检测系统进行了多台汽车的尾气检测实验。在实验过程中,选择了不同的汽车类型,得到了大量的实验数据。图4为一辆小客车的测量结果,图中显示的是怠速和高怠速HC的原始数据曲线,也可选择显示CO或其他参数的数据曲线。
4 结束语
本系统以LabVIEW8.2为开发平台,可以方便的对HC、CO、CO2、O2、NO等汽车排气污染物浓度进行检测,实验结果表明该系统有较高的稳定性和测量精度。另外,通过在工控计算机上配置网卡,可实现汽车尾气的联网检测,从而很方便地将汽车尾气检测系统应用于新车研究开发实验、新车的出厂检验和交通管理部门对上路车辆定期检验的汽车综合性能检测线中,应用前景十分广阔。
上一篇:一种基于C8051F350的无线同步数据采集方法
下一篇:基于ADS8482与TMS320F28335的信号采集系统