EDN China > 设计实例 > 汽车电子 > 节能控制 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于虚拟仪器技术的汽车尾气检测系统

南京理工大学 张重雄 刘维嘉?? 2010年03月31日 ?? 收藏0

?  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等汽车排气污染物浓度进行检测,实验结果表明该系统有较高的稳定性和测量精度。另外,通过在工控计算机上配置网卡,可实现汽车尾气的联网检测,从而很方便地将汽车尾气检测系统应用于新车研究开发实验、新车的出厂检验和交通管理部门对上路车辆定期检验的汽车综合性能检测线中,应用前景十分广阔。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

虚拟仪器? 尾气检测? 尾气分析仪?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈