CN110825069A - 一种快速定位obd设备故障的故障检测方法及系统 - Google Patents

一种快速定位obd设备故障的故障检测方法及系统 Download PDF

Info

Publication number
CN110825069A
CN110825069A CN201911079423.6A CN201911079423A CN110825069A CN 110825069 A CN110825069 A CN 110825069A CN 201911079423 A CN201911079423 A CN 201911079423A CN 110825069 A CN110825069 A CN 110825069A
Authority
CN
China
Prior art keywords
communication module
log
fault detection
server
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911079423.6A
Other languages
English (en)
Other versions
CN110825069B (zh
Inventor
王帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DEMING COMMUNICATIONS (SHANGHAI) Co Ltd
Original Assignee
DEMING COMMUNICATIONS (SHANGHAI) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DEMING COMMUNICATIONS (SHANGHAI) Co Ltd filed Critical DEMING COMMUNICATIONS (SHANGHAI) Co Ltd
Priority to CN201911079423.6A priority Critical patent/CN110825069B/zh
Publication of CN110825069A publication Critical patent/CN110825069A/zh
Application granted granted Critical
Publication of CN110825069B publication Critical patent/CN110825069B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0262Confirmation of fault detection, e.g. extra checks to confirm that a failure has indeed occurred
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明为一种快速定位OBD设备故障的故障检测方法及系统,其特征在于:所述故障检测方法包括下述步骤:(1)接收服务器的故障检测指令,解析故障检测指令;(2)根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log;(3)压缩保存的log文件,把压缩的log文件发送给服务器;(4)服务器解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置。所述故障检测系统包括服务器、GPS模块、CAN通讯模块和4G通讯模块,所述4G通讯模块集成有处理器和存储器,4G通讯模块分别连接GPS模块、CAN通讯模块和watch dog。

Description

一种快速定位OBD设备故障的故障检测方法及系统
技术领域
本发明涉及一种OBD设备的故障检测方法及系统,特别是公开一种快速定位OBD设备故障的故障检测方法及系统。
背景技术
OBD(On-Board Diagnostics,车载诊断系统)可以实时监测车辆的发动机、催化转化器、颗粒捕集器、氧传感器、排放控制系统、燃油系统、EGR等系统和部件,随时监控车辆发动机的运行状况和尾气后处理系统的工作状态,一旦发现有可能引起排放超标的情况,会马上发出警示。当车辆的系统和部件出现故障时,故障灯(MIL)或检查发动机(CheckEngine)警告灯亮,同时OBD会将故障信息存入存储器,通过标准的诊断仪器和诊断接口可以以故障码的形式读取相关信息,根据故障码的提示,维修人员能迅速准确地确定故障的性质和部位。
由于OBD设备使用地点分散,且使用量较大,一旦OBD设备在现场使用,难免会出现一些故障,这就给车辆故障分析带了很大的不便。通常的解决方案为:OBD设备跟服务器端约定好数据格式,定期向服务器上报设备运行状态:
假设OBD设备每隔一分钟向服务器上报一次数据,在每个数据包中携带设备故障码,例如约定:
BIT0:GPS故障
BIT1:CAN通讯模块故障
BIT2:4G通讯模块故障
... :其他故障
当BIT为0时表示正常,为1时表示故障。服务器收到数据包后解析这个BIT,然后可以看出OBD设备是否有故障。在实际使用过程中,OBD设备故障率很低的情况下,上传这个数据是浪费网络资源的。更重要的是,在数据包中携带故障码只能看出预期的故障,如果程序的逻辑上出现bug,工程师很难排查出具体原因。因此,查看故障的最好方式是抓取OBD设备的log。
当服务器发现OBD设备数据上报异常,在一系列分析后不能找到原因时,就需要派工程师到现场排查,抓取OBD设备的log,然后分析原因,如果OBD设备处于危险环境下,则很难处理。
上述方案在OBD设备正常运行时会导致流量浪费,同时会带来巨大的人力资源成本,浪费人力资源,有不经济的缺点。
发明内容
本发明的目的在于解决现有技术的缺陷,提供一种快速定位OBD设备故障的故障检测方法及系统,在OBD设备使用期间遇到故障时,能够快速准确的定位故障点,无需工程师到现场排查情况,大大降低了经济成本,节约了流量及人力资源。
本发明是这样实现的:一种快速定位OBD设备故障的故障检测方法,其特征在于:所述故障检测方法包括下述步骤:
(1)接收服务器的故障检测指令,解析故障检测指令;
(2)根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log,log保存时长通过定时器控制;
(3)压缩保存的log文件,把压缩的log文件发送给服务器;
(4)服务器解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置。
所述步骤(1)中解析故障检测指令的具体步骤包括:根据OBD设备与服务器约定的通讯的数据格式来解析故障检测指令,数据格式包括标识符、预留、长度、帧头、终端ID、操作响应、报文内容和校验码,在收到服务器下发的数据包后,首先判断标识符、长度、帧头及校验码,如果数据包没问题,就开始解析报文内容,报文内容包括流水号、命令及参数,根据报文内容中的命令及参数部分判断是哪类命令及命令参数,如果数据包有问题,就丢掉此数据包。
所述步骤(2)中的GPS模块、CAN通讯模块和4G通讯模块分别使用自己的打印函数,在打印函数中分别用一个全局变量控制是否打印到文件,打印时间通过定时器控制,在收到打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关的指令后,把对应模块中对应的打印函数中的变量置位,当下一次该模块调用到这个打印函数时,就会把log内容写到指定的文件,CAN通讯模块的log写到/log/canLog.txt,4G通讯模块的log写到/log/mdmLog.txt,GPS模块的log写到/log/gpsLog.txt。
所述步骤(2)中的log保存时长默认为5分钟。
所述步骤(4)中的根据log文件结合源代码定位OBD设备故障位置的具体步骤包括:服务器把log文件的打印信息与源代码进行比对,log文件的打印信息与源代码逻辑不一致的部分为OBD设备故障位置。
一种快速定位OBD设备故障的故障检测系统,其特征在于:所述故障检测系统包括服务器、GPS模块、CAN通讯模块和4G通讯模块,所述4G通讯模块集成有处理器和存储器,所述处理器和存储器相连,所述4G通讯模块分别连接GPS模块、CAN通讯模块和watch dog,所述4G通讯模块与服务器通讯连接,所述CAN通讯模块还与OBD接口连接,所述GPS模块、CAN通讯模块、4G通讯模块和watch dog分别设置在OBD设备的壳体内,所述GPS模块用于获取当前的位置数据,所述4G通讯模块用于读取GPS模块数据,4G通讯模块通过CAN通讯模块向车辆发送数据及读取数据,所述4G通讯模块还用于解析服务器发来的故障检测指令,并根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log,log保存时长通过定时器控制,压缩保存的log文件,把压缩的log文件发送给服务器,所述服务器用于发送故障检测指令,以及解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置,所述watch dog用于重置4G通讯模块。
所述位置数据包括GPS信号强度、GPS是否定位、经纬度、高度、速度。所述4G通讯模块和CAN通讯模块之间的通讯方式是串口。
本发明的有益效果是:本发明在OBD设备使用期间遇到故障时,服务器可以根据实际需要远程控制OBD设备,进而获取OBD设备的GPS模块、CAN通讯模块和/或4G通讯模块的log,然后根据log文件分析故障的原因,能够快速准确的定位OBD设备的故障点,操作方便、省时,无需工程师到现场排查情况,当OBD设备处于高危环境中时也可以获取log,本发明达到的效果与工程师到现场排查情况达到的效果一致,从而节省了大量的人力成本,且能很快定位OBD设备的故障点,大大降低了经济成本,节约了流量及人力资源。
附图说明
图1 是本发明的故障检测方法的流程示意图。
图2 是OBD设备的结构方框示意图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
根据附图1和附图2,本发明为一种快速定位OBD设备故障的故障检测方法,包括下述步骤:
(1)接收服务器的故障检测指令,解析故障检测指令;
(2)根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log,log保存时长通过定时器控制;
(3)压缩保存的log文件,把压缩的log文件发送给服务器;
(4)服务器解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置。
所述步骤(1)中解析故障检测指令的具体步骤包括:根据OBD设备与服务器约定的通讯的数据格式来解析故障检测指令,数据格式包括标识符、预留、长度、帧头、终端ID、操作响应、报文内容和校验码,在收到服务器下发的数据包后,首先判断标识符、长度、帧头及校验码,如果数据包没问题,就开始解析报文内容,报文内容包括流水号、命令及参数,根据报文内容中的命令及参数部分判断是哪类命令及命令参数,如果数据包有问题,就丢掉此数据包。
所述步骤(2)中的GPS模块、CAN通讯模块和4G通讯模块分别使用自己的打印函数,在打印函数中分别用一个全局变量控制是否打印到文件,打印时间通过定时器控制,在收到打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关的指令后,把对应模块中对应的打印函数中的变量置位,当下一次该模块调用到这个打印函数时,就会把log内容写到指定的文件,CAN通讯模块的log写到/log/canLog.txt,4G通讯模块的log写到/log/mdmLog.txt,GPS模块的log写到/log/gpsLog.txt。
所述步骤(2)中的log保存时长默认为5分钟。
所述步骤(4)中的根据log文件结合源代码定位OBD设备故障位置的具体步骤包括:服务器把log文件的打印信息与源代码进行比对,log文件的打印信息与源代码逻辑不一致的部分为OBD设备故障位置。
一种应用快速定位OBD设备故障的故障检测方法的故障检测系统,包括服务器、GPS模块、CAN通讯模块和4G通讯模块,所述4G通讯模块集成有处理器和存储器,所述处理器和存储器相连,所述4G通讯模块分别连接GPS模块、CAN通讯模块和watch dog,所述4G通讯模块与服务器通讯连接,所述CAN通讯模块还与OBD接口连接,所述GPS模块、CAN通讯模块、4G通讯模块和watch dog分别设置在OBD设备的壳体内。
所述GPS模块用于获取当前的位置数据,例如GPS信号强度、GPS是否定位、经纬度、高度、速度等。所述GPS模块选用U-BLOX公司生产的UBX-G7020模块。
所述CAN通讯模块是4G通讯模块和车辆沟通的媒介,4G通讯模块可以通过CAN通讯模块向车辆发送数据和读取数据,4G通讯模块和CAN通讯模块之间的通讯方式是串口。所述CAN通讯模块选用意法半导体(中国)投资有限公司生产的STM32F103CBT6TR模块。
所述4G通讯模块可以通过IIC总线读取GPS模块数据。所述4G通讯模块还用于解析服务器发来的故障检测指令,并根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log,log保存时长通过定时器控制,压缩保存的log文件,把压缩的log文件发送给服务器。所述4G通讯模块选用德明通讯(上海)有限责任公司生产的LM61-31模块。
所述服务器用于发送故障检测指令,以及解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置。
所述watch dog用于重置4G通讯模块,即4G通讯模块5分钟以内需要喂一次watchdog(即拉高再拉低约定的管脚),否则会被重置(被重新上电)。所述watch dog选用意法半导体(中国)投资有限公司生产的STM8S003F3P6TR模块。
所述4G通讯模块正常运行时不保存任何log,4G通讯模块在接收到服务器的故障检测指令后,解析服务器发来的故障检测指令,并根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,各个模块的log开关可以单独控制,然后保存打开了log开关的模块的log,log保存时长默认为5分钟,时间可调,log保存时长通过定时器控制,所述定时器为软件定时器,由于4G通讯模块采用linux操作系统,可采用其定时器接口,然后压缩保存的log文件,把压缩的log文件发送给服务器,服务器解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置。
GPS模块故障包括:GPS信号弱故障,即在露天环境,GPS搜星数量少于4个,从经验判断,大概率是GPS天线损坏导致的。
CAN通讯模块故障包括:1、4G通讯模块向CAN通讯模块发心跳包,CAN通讯模块不反馈;
2、4G通讯模块向CAN通讯模块发心跳包,CAN通讯模块反馈,但是CAN通讯模块无法收到车辆CAN总线的数据。
4G通讯模块故障包括:1、无法联网,可能是物联网卡松动或者欠费导致;
2、能联网,但无法连接到服务器,可能是服务器维护或者未把设备添加到服务器的白名单导致的;以上两种情况,设备会保存无法联网时产生的log,等下一次能联网时再进行上报,但在此之前,仅能用灯光指示设备联网故障;
3、设备无法通过文件保存数据,通常是因为nandflash存储空间用尽导致的。
下面结合实施例对本发明作进一步详细说明。
实施例1:
手动把车辆的左前门关闭,而服务器显示左前门为打开状态。从逻辑上分析,左前门的状态来自车内的OBD数据,服务器显示的数据来自OBD设备,如果状态不一致,要么是OBD设备从车内OBD获取的数据有误,要么是OBD设备上报服务器的数据有误。此时,OBD设备的log就可以起作用了。
本实施例的快速定位OBD设备故障的故障检测方法包括下述步骤:
(1)接收服务器的故障检测指令,解析故障检测指令;
(2)根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log,log保存时长通过定时器控制;
(3)压缩保存的log文件,把压缩的log文件发送给服务器;
(4)服务器解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置。
表1为OBD设备与服务器约定的通讯的数据格式表:
Figure RE-RE-DEST_PATH_IMAGE001
所述步骤(1)中解析故障检测指令的具体步骤包括:根据OBD设备与服务器约定的通讯的数据格式来解析故障检测指令,数据格式包括标识符、预留、长度、帧头、终端ID、操作响应、报文内容和校验码,4G通讯模块在收到服务器下发的数据包后,首先判断标识符、长度、帧头及校验码,如果数据包没问题,就开始解析报文内容,报文内容包括流水号、命令及参数,根据报文内容中的命令及参数部分判断是哪类命令及命令参数;如果数据包有问题,就丢掉此数据包。
例如,约定报文内容中的命令及参数:
命令为0xFFFE时,参数的值为1,打开GPS模块的log,参数的值为0,则关闭GPS模块的log;
命令为0xFFFD时,参数的值为1,打开CAN通讯模块的log,参数的值为0,则关闭CAN通讯模块的log;
命令为0xFFFC时,参数的值为1,打开4G通讯模块的log,参数的值为0,则关闭4G通讯模块的log;
根据报文内容中的命令及参数解析出的故障检测指令为:打开4G通讯模块和CAN通讯模块的log开关。
所述步骤(2)中的GPS模块、CAN通讯模块和4G通讯模块分别使用自己的打印函数,在打印函数中分别用一个全局变量控制是否打印到文件,打印时间通过定时器控制。4G通讯模块收到打开CAN通讯模块的log开关的指令后,把CAN通讯模块中对应的打印函数中的变量(canLogOpen)置位(TRUE),当下一次CAN通讯模块调用到这个打印函数时,就会把log内容写到/log/canLog.txt。
bool canLogOpen=FALSE;
int cnt=60;
can_printf(char *buf)
{
if(canLogOpen&&cnt)
{
FILE* fd = fopen("/log/canLog.txt","a+");
stdout = fd;
printf("%s",buf);
fclose(fd);
}
}
其中cnt是用来控制打印时间的,在定时器回调函数中,cnt每秒递减1。当收到服务器的指令后,初始化cnt=60,并启动定时器,在定时器回调函数中执行cnt--;直至cnt为0,定时器结束。
然后进行步骤(3)打包log文件:
dosystem(“tar -cvf /log/terminal.tar / log/canLog.txt”);
然后通过socket把/log/terminal.tar文件发送至服务器。
4G通讯模块收到打开4G通讯模块与GPS模块的log开关的指令后的执行模式同CAN通讯模块,4G通讯模块的log写到/log/mdmLog.txt,GPS模块的log写到/log/gpsLog.txt。
所述步骤(4)中的根据log文件结合源代码定位OBD设备故障位置的具体步骤包括:服务器接收到log文件:mdmLog.txt和canLog.txt。
canLog.txt:
2019-7-18 15:20:39: uartl Uart_Recv_Thread(1438) there is ok
2019-7-18 15:20:39: BCM_General_Status:
00 00 00 00 00 00 00 ff
mdmLog.txt:
2019-7-18 15:20:49:terminal socket send data to server:
7e 00 00 00 01 1e 26 26 16 31 82 81 01 10 30 00 00 09 57 0a 81 00 0d 0000 7d 2e 0d 16 31 82 81 01 10 01 00 00 09 57 00 00 00 00 00 00 00 00 00 ff ffff ff ff ff ff
表2为OBD数据协议表:
Figure RE-RE-DEST_PATH_IMAGE002
通过与表2的16Bit对照,此时CAN通讯模块收到的数据显示左前门状态为打开,4G通讯模块向服务器发送的数据显示左前门也是打开状态,即CAN通讯模块从车内OBD获取的数据有误,CAN通讯模块故障。
实施例2:
通过蓝牙钥匙打开近光灯,而服务器显示近光灯为关闭状态。从逻辑上分析,近光灯的开关状态来自车内的OBD数据,服务器显示的数据来自OBD设备,如果状态不一致,要么是OBD设备从车内OBD获取的数据有误,要么是OBD设备上报服务器的数据有误。可以通过远程抓log的方式定位问题的原因。
本实施例的快速定位OBD设备故障的故障检测方法的步骤同实施例1。
服务器接收到log文件:mdmLog.txt和canLog.txt,通过与表2的8Bit对照,CAN通讯模块收到的数据显示近光灯状态为关闭,4G通讯模块向服务器发送的数据显示近光灯也是关闭状态,即CAN通讯模块从车内OBD获取的数据有误,CAN通讯模块故障。
实施例3:
当服务器发现某个OBD设备长期未定位时,可以给该OBD设备下发打开GPS模块的log开关的命令,OBD设备收到命令后,收集数据并上报给服务器,服务器接收到后就可以通过log判断是不是因为gps信号太弱还是其他原因导致无法定位了。
本实施例的快速定位OBD设备故障的故障检测方法包括下述步骤:
(1)接收服务器的故障检测指令,解析故障检测指令;
(2)根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log,log保存时长通过定时器控制;
(3)压缩保存的log文件,把压缩的log文件发送给服务器;
(4)服务器解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置。
所述步骤(1)中解析故障检测指令的具体步骤包括:根据OBD设备与服务器约定的通讯的数据格式来解析故障检测指令,数据格式包括标识符、预留、长度、帧头、终端ID、操作响应、报文内容和校验码,4G通讯模块在收到服务器下发的数据包后,首先判断标识符、长度、帧头及校验码,如果数据包没问题,就开始解析报文内容,报文内容包括流水号、命令及参数,根据报文内容中的命令及参数部分判断是哪类命令及命令参数;如果数据包有问题,就丢掉此数据包。
例如,约定报文内容中的命令及参数:
命令为0xFFFE时,参数的值为1,打开GPS模块的log,参数的值为0,则关闭GPS模块的log;
命令为0xFFFD时,参数的值为1,打开CAN通讯模块的log,参数的值为0,则关闭CAN通讯模块的log;
命令为0xFFFC时,参数的值为1,打开4G通讯模块的log,参数的值为0,则关闭4G通讯模块的log;
根据报文内容中的命令及参数解析出的故障检测指令为:打开GPS模块的log开关。
所述步骤(2)中的GPS模块、CAN通讯模块和4G通讯模块分别使用自己的打印函数,在打印函数中分别用一个全局变量控制是否打印到文件,打印时间通过定时器控制。4G通讯模块收到打开GPS模块的log开关的指令后,把GPS模块中对应的打印函数中的变量(gpsLogOpen)置位(TRUE),当下一次GPS模块调用到这个打印函数时,就会把log内容写到/log/ gpsLog.txt。
bool gpsLogOpen=FALSE;
int cnt=60;
gps_printf(char *buf)
{
if(gpsLogOpen&&cnt)
{
FILE* fd = fopen("/log/gpsLog.txt","a+");
stdout = fd;
printf("%s",buf);
fclose(fd);
}
}
其中cnt是用来控制打印时间的,在定时器回调函数中,cnt每秒递减1。当收到服务器的指令后,初始化cnt=60,并启动定时器,在定时器回调函数中执行cnt--;直至cnt为0,定时器结束。
然后进行步骤(3)打包log文件:
dosystem(“tar -cvf /log/terminal.tar / log/gpsLog.txt”);
然后通过socket把/log/terminal.tar文件发送至服务器。
步骤(4)中的根据log文件结合源代码定位OBD设备故障位置的具体步骤包括:服务器接收到log文件:gpsLog.txt。
gpsLog.txt:
2019-7-18 15:22:19: GPS_UART_NmeaParseFun
$GPGSV,3,1,2,18,84,067,23,09,67,067,27,22,49,312,28,15,47,231,30*70
GPS nmea解析规则:
$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>,<8>
<1> GSV语句的总数;
<2> 本句GSV的编号;
<3> 可见卫星的总数,0至12;
<4> 卫星编号,1至32;
<5> 卫星仰角,0至90度;
<6> 卫星方位角,0至359 度;
<7> 讯号噪声比(C/No);
<8> Checksum.
通过gpsLog.txt可以看出,当前看见卫星总数为2,因为卫星定位至少需要4个可见卫星,可以因此判断出此时不满足定位条件,即认为gps信号太弱。
实施例4:
当服务器发现某个OBD设备上报的报文偶尔漏包时,可以给该OBD设备下发打开4G通讯模块的log开关的命令,OBD设备收到命令后,收集数据并上报给服务器,服务器接收到后就可以通过log判断是漏包还是因为信号不好把数据包保存到本地了。
本实施例的快速定位OBD设备故障的故障检测方法包括下述步骤:
(1)接收服务器的故障检测指令,解析故障检测指令;
(2)根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log,log保存时长通过定时器控制;
(3)压缩保存的log文件,把压缩的log文件发送给服务器;
(4)服务器解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置。
所述步骤(1)中解析故障检测指令的具体步骤包括:根据OBD设备与服务器约定的通讯的数据格式来解析故障检测指令,数据格式包括标识符、预留、长度、帧头、终端ID、操作响应、报文内容和校验码,4G通讯模块在收到服务器下发的数据包后,首先判断标识符、长度、帧头及校验码,如果数据包没问题,就开始解析报文内容,报文内容包括流水号、命令及参数,根据报文内容中的命令及参数部分判断是哪类命令及命令参数;如果数据包有问题,就丢掉此数据包。
例如,约定报文内容中的命令及参数:
命令为0xFFFE时,参数的值为1,打开GPS模块的log,参数的值为0,则关闭GPS模块的log;
命令为0xFFFD时,参数的值为1,打开CAN通讯模块的log,参数的值为0,则关闭CAN通讯模块的log;
命令为0xFFFC时,参数的值为1,打开4G通讯模块的log,参数的值为0,则关闭4G通讯模块的log;
根据报文内容中的命令及参数解析出的故障检测指令为:打开4G通讯模块的log开关。
所述步骤(2)中的GPS模块、CAN通讯模块和4G通讯模块分别使用自己的打印函数,在打印函数中分别用一个全局变量控制是否打印到文件,打印时间通过定时器控制。4G通讯模块收到打开4G通讯模块的log开关的指令后,把4G通讯模块中对应的打印函数中的变量(mdmLogOpen)置位(TRUE),当下一次4G通讯模块调用到这个打印函数时,就会把log内容写到/log/ mdmLog.txt。
bool mdmLogOpen=FALSE;
int cnt=60;
mdm_printf(char *buf)
{
if(mdmLogOpen&&cnt)
{
FILE* fd = fopen("/log/mdmLog.txt","a+");
stdout = fd;
printf("%s",buf);
fclose(fd);
}
}
其中cnt是用来控制打印时间的,在定时器回调函数中,cnt每秒递减1。当收到服务器的指令后,初始化cnt=60,并启动定时器,在定时器回调函数中执行cnt--;直至cnt为0,定时器结束。
然后进行步骤(3)打包log文件:
dosystem(“tar -cvf /log/terminal.tar / log/mdmLog.txt”);
然后通过socket把/log/terminal.tar文件发送至服务器。
步骤(4)中的根据log文件结合源代码定位OBD设备故障位置的具体步骤包括:服务器接收到log文件:mdmLog.txt。
mdmLog.txt:
2019-7-18 15:22:19: wait_count: 10 is_data_packet:1
根据代码逻辑,当执行完发送数据函数后,每秒对变量wait_count加一,如果收到服务器的确认包,则把变量wait_count清零,否则当wait_count大于等于10时,则保存发送数据到本地,通过mdmLog.txt可以看出,故障原因是未收到服务器确认包,此时认为服务器未收到数据。
上述实施例仅用于说明本发明而不用于限制本发明的范围,应理解,在阅读了本发明阐述的内容之后,本领域技术人员可以对本发明作不同形式但效果相同的各种改动或修改,这些等同形式修改同样落于本申请权利要求书所限定保护的范围之内。

Claims (8)

1.一种快速定位OBD设备故障的故障检测方法,其特征在于:所述故障检测方法包括下述步骤:
(1)接收服务器的故障检测指令,解析故障检测指令;
(2)根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log,log保存时长通过定时器控制;
(3)压缩保存的log文件,把压缩的log文件发送给服务器;
(4)服务器解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置。
2.根据权利要求 1 所述的快速定位OBD设备故障的故障检测方法,其特征在于:所述步骤(1)中解析故障检测指令的具体步骤包括:根据OBD设备与服务器约定的通讯的数据格式来解析故障检测指令,数据格式包括标识符、预留、长度、帧头、终端ID、操作响应、报文内容和校验码,在收到服务器下发的数据包后,首先判断标识符、长度、帧头及校验码,如果数据包没问题,就开始解析报文内容,报文内容包括流水号、命令及参数,根据报文内容中的命令及参数部分判断是哪类命令及命令参数,如果数据包有问题,就丢掉此数据包。
3.根据权利要求 1 所述的快速定位OBD设备故障的故障检测方法,其特征在于:所述步骤(2)中的GPS模块、CAN通讯模块和4G通讯模块分别使用自己的打印函数,在打印函数中分别用一个全局变量控制是否打印到文件,打印时间通过定时器控制,在收到打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关的指令后,把对应模块中对应的打印函数中的变量置位,当下一次该模块调用到这个打印函数时,就会把log内容写到指定的文件,CAN通讯模块的log写到/log/canLog.txt,4G通讯模块的log写到/log/mdmLog.txt,GPS模块的log写到/log/gpsLog.txt。
4.根据权利要求 1 所述的快速定位OBD设备故障的故障检测方法,其特征在于:所述步骤(2)中的log保存时长默认为5分钟。
5.根据权利要求 1 所述的快速定位OBD设备故障的故障检测方法,其特征在于:所述步骤(4)中的根据log文件结合源代码定位OBD设备故障位置的具体步骤包括:服务器把log文件的打印信息与源代码进行比对,log文件的打印信息与源代码逻辑不一致的部分为OBD设备故障位置。
6.一种应用权利要求1~5中任意一项所述快速定位OBD设备故障的故障检测方法的快速定位OBD设备故障的故障检测系统,其特征在于:所述故障检测系统包括服务器、GPS模块、CAN通讯模块和4G通讯模块,所述4G通讯模块集成有处理器和存储器,所述处理器和存储器相连,所述4G通讯模块分别连接GPS模块、CAN通讯模块和watch dog,所述4G通讯模块与服务器通讯连接,所述CAN通讯模块还与OBD接口连接,所述GPS模块、CAN通讯模块、4G通讯模块和watch dog分别设置在OBD设备的壳体内,所述GPS模块用于获取当前的位置数据,所述4G通讯模块用于读取GPS模块数据,4G通讯模块通过CAN通讯模块向车辆发送数据及读取数据,所述4G通讯模块还用于解析服务器发来的故障检测指令,并根据解析结果判断是否打开GPS模块、CAN通讯模块和/或4G通讯模块的log开关,保存打开了log开关的模块的log,log保存时长通过定时器控制,压缩保存的log文件,把压缩的log文件发送给服务器,所述服务器用于发送故障检测指令,以及解压缩接收到的log文件,并根据log文件结合源代码定位OBD设备故障位置,所述watch dog用于重置4G通讯模块。
7.根据权利要求 6 所述的快速定位OBD设备故障的故障检测系统,其特征在于:所述位置数据包括GPS信号强度、GPS是否定位、经纬度、高度、速度。
8.根据权利要求 6 所述的快速定位OBD设备故障的故障检测系统,其特征在于:所述4G通讯模块和CAN通讯模块之间的通讯方式是串口。
CN201911079423.6A 2019-11-07 2019-11-07 一种快速定位obd设备故障的故障检测方法及系统 Active CN110825069B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911079423.6A CN110825069B (zh) 2019-11-07 2019-11-07 一种快速定位obd设备故障的故障检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911079423.6A CN110825069B (zh) 2019-11-07 2019-11-07 一种快速定位obd设备故障的故障检测方法及系统

Publications (2)

Publication Number Publication Date
CN110825069A true CN110825069A (zh) 2020-02-21
CN110825069B CN110825069B (zh) 2022-09-13

Family

ID=69552957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911079423.6A Active CN110825069B (zh) 2019-11-07 2019-11-07 一种快速定位obd设备故障的故障检测方法及系统

Country Status (1)

Country Link
CN (1) CN110825069B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030005002A (ko) * 2001-07-05 2003-01-15 다이닛뽕스크린 세이조오 가부시키가이샤 기판 처리장치의 장치정보를 관리하는 기판 처리시스템
CN102750499A (zh) * 2011-04-22 2012-10-24 中兴通讯股份有限公司 一种射频识别阅读器中的故障定位方法、系统及装置
CN103200222A (zh) * 2013-02-20 2013-07-10 无锡鹏讯科技有限公司 一种基于移动通信无线网络的汽车智能监控系统
CN104301136A (zh) * 2014-09-11 2015-01-21 青岛海信电器股份有限公司 故障信息上报及处理的方法及设备
CN104994601A (zh) * 2015-06-01 2015-10-21 南京邮电大学 一种4g车载智慧终端系统
CN105252769A (zh) * 2015-10-09 2016-01-20 深圳市七号科技有限公司 一种用于fdm3d打印机的故障测试-定位方法
CN105335277A (zh) * 2014-06-27 2016-02-17 可牛网络技术(北京)有限公司 一种故障信息处理方法及装置、终端
CN105513160A (zh) * 2015-10-30 2016-04-20 广东广信通信服务有限公司 基于obd-ii的车载智能终端及车载信息公共服务系统
CN107577577A (zh) * 2017-09-13 2018-01-12 郑州云海信息技术有限公司 日志分级打印的方法、装置、系统及计算机可读存储介质
CN108055148A (zh) * 2017-12-08 2018-05-18 国网江苏省电力有限公司 一种自动化可溯源的电力无线专网网管诊断方法
CN208000494U (zh) * 2018-02-01 2018-10-23 迅为信科技(深圳)有限公司 一种obd车联网终端
CN109086155A (zh) * 2018-07-27 2018-12-25 郑州云海信息技术有限公司 服务器故障定位方法、装置、设备及计算机可读存储介质
CN109450689A (zh) * 2018-11-19 2019-03-08 郑州云海信息技术有限公司 一种日志打印方法、装置、存储介质和计算机设备
CN109818763A (zh) * 2017-11-20 2019-05-28 北京绪水互联科技有限公司 设备故障的分析统计方法和系统及设备实时质控方法和系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030005002A (ko) * 2001-07-05 2003-01-15 다이닛뽕스크린 세이조오 가부시키가이샤 기판 처리장치의 장치정보를 관리하는 기판 처리시스템
CN102750499A (zh) * 2011-04-22 2012-10-24 中兴通讯股份有限公司 一种射频识别阅读器中的故障定位方法、系统及装置
WO2012142896A1 (zh) * 2011-04-22 2012-10-26 中兴通讯股份有限公司 一种射频识别阅读器中的故障定位方法、系统及装置
CN103200222A (zh) * 2013-02-20 2013-07-10 无锡鹏讯科技有限公司 一种基于移动通信无线网络的汽车智能监控系统
CN105335277A (zh) * 2014-06-27 2016-02-17 可牛网络技术(北京)有限公司 一种故障信息处理方法及装置、终端
CN104301136A (zh) * 2014-09-11 2015-01-21 青岛海信电器股份有限公司 故障信息上报及处理的方法及设备
CN104994601A (zh) * 2015-06-01 2015-10-21 南京邮电大学 一种4g车载智慧终端系统
CN105252769A (zh) * 2015-10-09 2016-01-20 深圳市七号科技有限公司 一种用于fdm3d打印机的故障测试-定位方法
CN105513160A (zh) * 2015-10-30 2016-04-20 广东广信通信服务有限公司 基于obd-ii的车载智能终端及车载信息公共服务系统
CN107577577A (zh) * 2017-09-13 2018-01-12 郑州云海信息技术有限公司 日志分级打印的方法、装置、系统及计算机可读存储介质
CN109818763A (zh) * 2017-11-20 2019-05-28 北京绪水互联科技有限公司 设备故障的分析统计方法和系统及设备实时质控方法和系统
CN108055148A (zh) * 2017-12-08 2018-05-18 国网江苏省电力有限公司 一种自动化可溯源的电力无线专网网管诊断方法
CN208000494U (zh) * 2018-02-01 2018-10-23 迅为信科技(深圳)有限公司 一种obd车联网终端
CN109086155A (zh) * 2018-07-27 2018-12-25 郑州云海信息技术有限公司 服务器故障定位方法、装置、设备及计算机可读存储介质
CN109450689A (zh) * 2018-11-19 2019-03-08 郑州云海信息技术有限公司 一种日志打印方法、装置、存储介质和计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙志明: "ATS与列车通信报文分析", 《铁道通信信号》, no. 08, 17 August 2016 (2016-08-17) *

Also Published As

Publication number Publication date
CN110825069B (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
US20180286146A1 (en) Communication method, device, and system for vehicle remote diagnosis
CN102419575B (zh) 消防车全信息动态监控系统
CN113507436B (zh) 一种针对goose协议的电网嵌入式终端模糊测试方法
CN110943750B (zh) 一种列车远程无线通信装置及方法
CN104155971A (zh) 一种车辆诊断仪对车辆诊断仪协议的自诊断方法
CN111506047B (zh) 车辆诊断方法、装置及存储介质
CN112014733B (zh) 基于Labview实现纯电动车电机驱动器故障监控的方法、系统及存储介质
CN111381574A (zh) 车辆远程故障诊断系统以及方法
CN106644504B (zh) 车辆故障诊断方法、系统及obd诊断设备
CN211579994U (zh) 一种满足机动车国六标准的远程监控模块及机动车
CN114839959A (zh) 一种基于soa服务的车辆远程诊断方法及系统
CN109960237A (zh) 一种车辆故障诊断和数据分析系统及车辆
CN116489043A (zh) 一种can通信自动化测试方法
CN110825069B (zh) 一种快速定位obd设备故障的故障检测方法及系统
CN110647139A (zh) 一种obd量产车评估测试工具及评估测试方法
CN101718778B (zh) 基于gprs的酒精测试仪远程故障诊断方法及系统
CN102158462B (zh) 一种2g或3g模块远程诊断修复的方法
CN111917692A (zh) 模糊测试方法、装置、设备及计算机可读存储介质
Johanson et al. Improving vehicle diagnostics through wireless data collection and statistical analysis
CN110412968A (zh) 车辆远程诊断系统
JP2022071825A5 (zh)
CN107300910A (zh) 一种基于obd系统的电池故障诊断方法
JP2022071825A (ja) 機器診断装置、遠隔機器監視方法、遠隔機器監視システム及び機器診断プログラム
CN113741245A (zh) 一种重型柴油车远程排放监控系统及方法
CN202433771U (zh) 一种车载ecu信息采集终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Floor 1-4, Building 8, No. 68, Huatuo Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, 201203

Applicant after: DEMING COMM SHANGHAI Co.,Ltd.

Address before: Building 8, No. 68, Huatuo Road, Zhangjiang Hi-Tech Park, Pudong New Area, Shanghai, 201203

Applicant before: ASIATELCO TECHNOLOGIES (SHANGHAI) CO.,LTD.

GR01 Patent grant
GR01 Patent grant