串行通信程序的编写过程如下:

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占用的资源。