吴志勇 鞠传香
(山东理工大学计算机科学与技术学院,山东 淄博 255049)
相关数据表明,目前重型卡车的燃油消耗量仍与1969年的油耗量持平,大约为30 L/100 km[1]。对于物流企业,燃油消耗已成为计算运营成本需要考虑的重要因素。在现有对重型卡车的燃油管理中,定额管理方式较为常见,即根据路程公里数配给燃油。但由于路况(受弯道、坡度、坑洼路面等因素影响)、车况以及载重量等的不同,相同里程的燃油消耗可能也不相同。因此,要想得到精确的油耗计算公式不太可能。常见的方法是在估算量上再乘以一定的系数,这样与实际油耗相比,计算得到的油耗通常都会有一些安全余量。而在部分驾驶员群中,这就可能导致将“余量”转手他人以谋取个人经济利益。长期以来,由物流企业中人为因素引起的燃油消耗虚高成为常态,这也是物流系统亟待解决的问题之一。而随着信息化技术的发展,通过车载设备对油耗进行实时或离线监控已成为可能。
本系统将嵌入式车载智能终端附着于物流车辆,通过智能设备实时采集行车油耗信息并存储于本地。当物流车辆归队后,通过无线 USB(wireless USB,WUSB)将油耗数据传送到数据服务中心[2]。
物流车辆油耗监控系统包括下位机嵌入式车载智能终端、上位机车队管理子系统和上位机无线USB数据采集子系统三部分[3],系统结构如图1所示。
图1 系统结构Fig.1 Structure of the system
下位机嵌入式车载智能终端作为监控设备,附着于物流车辆。通过油耗传感器采集数据并存储于本地。当物流车辆归队后,油耗数据通过WUSB发送到上位机。上位机车队管理子系统作为用户前台客户端,为用户提供用户管理、角色管理、权限管理、车辆信息管理、驾驶员信息管理、用车申请、派车、出车登记、油耗预算、油耗数据采集、油耗统计、车辆保单管理、车辆违纪管理、车辆事故管理以及综合数据查询分析等功能。
通过油耗数据采集模块,用户可以控制WUSB数据采集子系统的启动和停止。上位机WUSB数据采集子系统作为中间设备,负责数据采集,用户可通过客户端软件控制WUSB设备,向下位机发送控制命令或接收下位机传输的数据,并存入数据库。
上位机数据采集系统与下位机终端设备间的通信方式均采用主从方式,所有通信都由上位机数据采集子系统的无线USB设备发起,由下位机终端设备作出响应[4]。
为保证上位机与下位机的正常通信,协议中定义了命令帧、数据帧、握手帧、错误帧和结束帧五种帧格式。帧格式中的CRC校验由硬件完成。
①命令帧:由上位机无线USB数据采集子系统发出,车载智能终端设备据此上传不同意义的数据。命令帧格式和命令字功能说明分别如表1、表2所示。
表1 命令帧格式Tab.1 Format of the command frame
表2 命令字功能说明Tab.2 The functions of the command bits
②数据帧:由车载智能终端设备发出,由上位机WUSB数据采集模块接收,其格式如表3所示。
表3 数据帧格式Tab.3 Format of the data frame
③握手帧:由上位机WUSB数据采集模块发出,由车载智能终端设备接收并返回相同的命令作为应答,以此建立连接,其格式如表4所示。
表4 握手帧格式Tab.4 Format of the handshake frame
④结束帧:由上位机WUSB数据采集模块发出,用来通知车载智能终端设备通信结束,并转入其他工作状态,其格式如表5所示。
表5 结束帧格式Tab.5 Format of the end frame
⑤错误帧:连接失败或通信失败(或错误)时,产生此帧并通知对方,其格式如表6所示。
表6 错误帧格式Tab.6 Format of the error frame
上位机与下位机进行通信包括建立连接和设备通信两个步骤,其流程分别如图2和图3所示。
图2 建立连接流程图Fig.2 Flowchart of building connection
图3 设备通信流程图Fig.3 Flowchart of device communication
用户通过客户端软件点击“通信连接”按钮后,WUSB设备向下位机发送握手帧,进入连接应答状态。如果在规定的时间内,上位机接收到下位机的应答帧,则建立连接成功;否则连接失败。连接成功建立后,通过WUSB设备向下位机发送读写命令帧。如果数据接收正常,则通信完成;否则通信失败,需要重新发送命令。
下位机智能终端运行过程中包括通信模式、车况监测模式和休眠模式三种工作模式,通过上位机的WUSB命令实现对下位机的控制。当车辆智能终端加电启动后进入油耗监测模式,车辆行驶过程中通过传感器采集油耗数据信息;当车辆归队后,上位机向下位机发送连接通信命令,进入通信模式;当无数据采集时,智能终端进入休眠模式。工作模式转换如图4所示。
图4 工作模式转换图Fig.4 Conversion of the working modes
主机应用程序又称界面应用程序,它是在Visual C++6.0环境下开发的,软件采用模块化设计,可根据不同的功能模块设计相应的软件,使系统具有很好的裁剪性[5]。该程序的主要功能有:提供人机界面、提供各种具体操作功能;通过WUSB模块向下位机智能终端发送设定的目标参数及控制指令,并接收油耗数据,分析、显示数据结果[6-11]。该部分程序主要由动态链接库和用户应用程序组成,动态链接库负责与无线USB功能驱动程序通信,并接受用户应用程序的各种操作请求。用户应用程序负责对所采集的数据进行显示、分析和保存。
本文设计开发了一种采用WUSB的物流车辆油耗监控系统,通过离线采集嵌入式智能终端中的油耗数据,实现监控物流车辆油耗的目的[12-14]。实际运行表明,嵌入式智能终端记录油耗数据准确,无线USB下载数据稳定。此外,系统具有成本低、离线采集数据安全性高和简单易用等特点,对系统普及应用具有重要意义。
[1]邝光荣.物流企业燃料消耗情况调查[J].中国物流与采购,2010(11):44-48.
[2]付百学,于春鹏,张德生.汽车油耗检测方法研究[J].黑龙江工程学院学报,2010(6):4-7.
[3]汪春华,刘全周,王文扬.基于LPC2362带GPS功能汽车行驶记录仪的开发[J].电子技术应用,2010(3):35-37.
[4]《汽车行驶记录仪》起草工作组.GB/T 19056-2003汽车行驶记录仪实施指南[S].北京:中国标准出版社,2003.
[5]张玉付.计算机油耗管理决策系统[J].长沙交通学院学报:自然科学版,1995(3):62-66.
[6]杨申,陈伟.基于无线USB的数据采集系统[J].仪器仪表学报,2004,25(4):55 -517.
[7]姜印平,钱振洋,赵欣华,等.车载油耗测量系统的研究[J].电子测量与仪器学报,2010(2):190-194.
[8]刘余,孟小华.嵌入式智能家居终端通信模块的设计与实现[J].计算机工程与设计,2010(8):1689-1692.
[9]李允,熊光泽.嵌入式系统的功耗管理技术研究[J].单片机与嵌入式系统应用,2001(12):21-25.
[10]牟迪,陈少华,高翔,等.基于WUSB的机载导弹自动测试系统设计[J].弹箭与制导学报,2010(5):238 -240.
[11]李亮,张维强.基于 WUSB的数据采集系统设计[J].工业控制计算机,2007(20):21-24.
[12]车艳双,李民赞,郑立华.基于GPS和PDA的移动智能农田信息采集系统开发[J].农业工程学报,2010,26(2):109 -114.
[13]赵勇.高速公路交通异常事件监控节点设计[J].西安邮电学院学报:自然科学版,2011,16(3):81 -84.
[14]师晓敏,朱名日.基于CAN和CC1100的嵌入式远程测控系统的设计[J].仪表技术与传感器,2009(2):53 -55.