[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN110850841A - 故障诊断方法和相关装置 - Google Patents

故障诊断方法和相关装置 Download PDF

Info

Publication number
CN110850841A
CN110850841A CN201911046140.1A CN201911046140A CN110850841A CN 110850841 A CN110850841 A CN 110850841A CN 201911046140 A CN201911046140 A CN 201911046140A CN 110850841 A CN110850841 A CN 110850841A
Authority
CN
China
Prior art keywords
target
diagnosed
fault diagnosis
information
equipment
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.)
Pending
Application number
CN201911046140.1A
Other languages
English (en)
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.)
Shenzhen Launch Technology Co Ltd
Original Assignee
Shenzhen Launch Technology 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 Shenzhen Launch Technology Co Ltd filed Critical Shenzhen Launch Technology Co Ltd
Priority to CN201911046140.1A priority Critical patent/CN110850841A/zh
Publication of CN110850841A publication Critical patent/CN110850841A/zh
Pending legal-status Critical Current

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/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • 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)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本申请实施例公开了一种故障诊断方法和相关装置,该方法包括:故障诊断装置扫描N个接口连接的N个待诊断设备,得到N组设备信息;所述故障诊断装置将待向所述N个待诊断设备发送的M组发送信息存储至发送队列;所述故障诊断装置获取所述发送队列中待发送的目标组发送信息,所述目标组发送信息包括待向目标待诊断设备发送的数据;所述故障诊断装置根据目标组设备信息和所述目标组发送信息,生成目标数据帧;所述故障诊断装置向所述目标待诊断设备发送所述目标数据帧;能够同时对多个汽车进行故障诊断,诊断效率高。

Description

故障诊断方法和相关装置
技术领域
本申请涉及故障诊断领域,尤其涉及一种故障诊断方法和相关装置。
背景技术
汽车是人们最熟悉、最常见的交通工具,它在人们生活中发挥着十分重要的作用,随着汽车的保有量的剧增,汽车功能诊断显得尤为重要。
目前,通常采用的汽车诊断方式是使用汽车诊断仪来对汽车进行诊断,汽车诊断仪是运行在电脑端的故障诊断软件。在该汽车诊断方式中,电脑端往往通过USB接口与汽车进行通信,并通过运行的故障诊断软件来诊断该汽车的故障。然而,采用这种故障诊断方式,电脑端每次只能对一个汽车进行故障诊断。也就是说,电脑端不能同时诊断多个汽车的故障。因此,需要研究能够同时对多个汽车进行故障诊断的方案。
发明内容
本申请实施例公开了一种故障诊断方法和相关装置,能够同时对多个汽车进行故障诊断,诊断效率高。
第一方面,本申请实施例提供了一种故障诊断方法,该方法可包括:
故障诊断装置扫描N个接口连接的N个待诊断设备,得到N组设备信息;其中,所述N个接口与所述N个待诊断设备一一对应,所述N组设备信息与所述N个待诊断设备一一对应,任一组设备信息包括所述故障诊断装置实现与所述任一组设备信息对应的待诊断设备的通信所需的信息,N为大于1的整数;
所述故障诊断装置将待向所述N个待诊断设备发送的M组发送信息存储至发送队列;M为大于1的整数;
所述故障诊断装置获取所述发送队列中待发送的目标组发送信息,所述目标组发送信息包括待向目标待诊断设备发送的数据;
所述故障诊断装置根据目标组设备信息和所述目标组发送信息,生成目标数据帧;所述目标组设备信息为所述N组设备信息中所述目标待诊断设备对应的一组设备信息,所述目标组发送信息还包括所述目标待诊断设备支持的目标故障诊断协议的目标协议标识;
所述故障诊断装置向所述目标待诊断设备发送所述目标数据帧。
本申请实施例中,故障诊断装置的每个接口可以连接一个待诊断设备,该故障诊断装置通过扫描该N个接口连接的N个待诊断设备,得到N组设备信息。该故障诊断装置利用该N组设备信息可以与该N个待诊断设备进行通信。该故障诊断装置采用发送队列的方式同时与该N个待诊断设备进行通信,能够同时、准确地与多个待诊断设备进行通信。
在一个可选的实现方式中,所述故障诊断装置将待向所述N个待诊断设备发送的M组发送信息存储至发送队列之前,所述方法还包括:
所述故障诊断装置获得所述目标协议标识;
所述故障诊断装置生成包括所述目标待诊断设备的标识、所述目标协议标识以及初始数据的所述目标组发送信息;所述初始数据为待向所述目标诊断设备发送的数据。
在一个可选的实现方式中,所述故障诊断装置获得所述目标协议标识之后,所述方法还包括:
所述故障诊断装置根据所述目标待诊断设备的标识和所述目标协议标识,确定与所述目标待诊断设备通过所述目标故障诊断协议进行通信的通道的通道值;
所述故障诊断装置生成包括所述目标待诊断设备的标识、所述目标协议标识以及初始数据的所述目标组发送信息包括:
所述故障诊断装置解析所述通道值,得到所述目标待诊断设备的标识和所述目标协议标识,以及生成包括所述目标待诊断设备的标识、所述目标协议标识以及所述初始数据的所述目标组发送信息。
在一个可选的实现方式中,所述故障诊断装置根据目标组设备信息和所述目标组发送信息,生成目标数据帧之前,所述方法还包括:
所述故障诊断装置获得所述目标组发送信息包括的所述目标待诊断设备的标识;
所述故障诊断装置根据所述目标待诊断设备的标识,从所述N组设备信息中获取所述目标组设备信息。
在一个可选的实现方式中,所述故障诊断装置向所述目标待诊断设备发送所述目标数据帧之后,所述方法还包括:
所述故障诊断装置接收来自所述目标待诊断设备的反馈数据帧;所述反馈数据帧为所述目标待诊断设备响应所述目标数据帧所发送的数据帧;
所述故障诊断装置解析所述反馈数据帧,得到帧功能字段;
所述故障诊断装置在所述帧功能字段为诊断数据帧指令的情况下,将所述反馈数据帧存储至消息队列;
所述故障诊断装置在所述帧功能字段不为所述诊断数据帧指令的情况下,将所述反馈数据帧存储至读队列。
在一个可选的实现方式中,所述目标组设备信息还包括所述目标待诊断设备的标识以及所述目标待诊断设备连接的USB接口的设备句柄;所述故障诊断装置解析所述反馈数据帧,得到帧功能字段之前,所述方法还包括:
确定发送所述反馈数据帧的待诊断设备连接的USB接口的目标设备句柄;
查询所述N组设备信息中,所述目标设备句柄对应的待诊断设备的标识,得到所述目标待诊断设备的标识;
所述故障诊断装置解析所述反馈数据帧,得到帧功能字段包括:
所述故障诊断装置解析所述反馈数据帧,得到所述帧功能字段、数据字段以及协议标识字段;
所述将所述反馈数据帧存储至消息队列包括:
将所述帧功能字段、所述数据字段、所述目标待诊断设备的标识以及所述协议标识字段作为一组数据存储至所述消息队列。
在一个可选的实现方式中,所述将所述帧功能字段、所述数据字段、所述目标待诊断设备的标识以及所述协议标识字段作为一组数据存储至所述消息队列之后,所述方法还包括:
所述故障诊断装置解析所述通道值,得到所述目标待诊断设备的标识和所述目标协议标识;
从所述消息队列中获取与所述目标待诊断设备的标识和所述目标协议标识相匹配的至少一组数据;
从所述至少一组数据中提取出数据部分。
第二方面,本申请实施例提供了一种故障诊断装置,该故障诊断装置包括:
扫描单元,用于扫描N个接口连接的N个待诊断设备,得到N组设备信息;其中,所述N个接口与所述N个待诊断设备一一对应,所述N组设备信息与所述N个待诊断设备一一对应,任一组设备信息包括所述故障诊断装置实现与所述任一组设备信息对应的待诊断设备的通信所需的信息,N为大于1的整数;
存储单元,用于将待向所述N个待诊断设备发送的M组发送信息存储至发送队列;M为大于1的整数;
获取单元,用于获取所述发送队列中待发送的目标组发送信息,所述目标组发送信息包括待向目标待诊断设备发送的数据;
生成单元,用于根据目标组设备信息和所述目标组信息,生成目标数据帧;所述目标组设备信息为所述N组设备信息中所述目标待诊断设备对应的一组设备信息,所述目标组信息包括所述目标待诊断设备支持的目标故障诊断协议的目标协议标识;
发送单元,用于向所述目标待诊断设备发送所述目标数据帧。
在一个可选的实现方式中,所述获取单元,还用于获得所述目标协议标识;
所述生成单元,还用于生成包括所述目标待诊断设备的标识、所述目标协议标识以及初始数据的所述目标组发送信息;所述初始数据为待向所述目标诊断设备发送的数据。
在一个可选的实现方式中,所述故障诊断装置还包括:
确定单元,用于根据所述目标待诊断设备的标识和所述目标协议标识,确定与所述目标待诊断设备通过所述目标故障诊断协议进行通信的通道的通道值;
解析单元,用于解析所述通道值,得到所述目标待诊断设备的标识和所述目标协议标识。
在一个可选的实现方式中,所述获取单元,还用于获得所述目标组发送信息包括的所述目标待诊断设备的标识;根据所述目标待诊断设备的标识,从所述N组设备信息中获取所述目标组设备信息。
在一个可选的实现方式中,所述故障诊断装置还包括:
接收单元,用于接收来自所述目标待诊断设备的反馈数据帧;所述反馈数据帧为所述目标待诊断设备响应所述目标数据帧所发送的数据帧;
所述解析单元,还用于解析所述反馈数据帧,得到帧功能字段;
所述存储单元,还用于在所述帧功能字段为诊断数据帧指令的情况下,将所述反馈数据帧存储至消息队列;在所述帧功能字段不为所述诊断数据帧指令的情况下,将所述反馈数据帧存储至读队列。
在一个可选的实现方式中,所述目标组设备信息还包括所述目标待诊断设备的标识以及所述目标待诊断设备连接的USB接口的设备句柄;
所述确定单元,还用于确定发送所述反馈数据帧的待诊断设备连接的USB接口的目标设备句柄;
查询单元,用于查询所述N组设备信息中,所述目标设备句柄对应的待诊断设备的标识,得到所述目标待诊断设备的标识;
所述解析单元,具体用于解析所述反馈数据帧,得到所述帧功能字段、数据字段以及协议标识字段;
所述存储单元,具体用于将所述帧功能字段、所述数据字段、所述目标待诊断设备的标识以及所述协议标识字段作为一组数据存储至所述消息队列。
在一个可选的实现方式中,所述解析单元,还用于在所述存储单元将所述帧功能字段、所述数据字段、所述目标待诊断设备的标识以及所述协议标识字段作为一组数据存储至所述消息队列之后,解析所述通道值,得到所述目标待诊断设备的标识和所述目标协议标识;
所述获取单元,还用于从所述消息队列中获取与所述目标待诊断设备的标识和所述目标协议标识相匹配的至少一组数据;所述故障诊断装置还包括:
提取单元,用于从所述至少一组数据中提取出数据部分。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上述第一方面以及任一种可选的实现方式的方法。
第四方面,本申请实施例提供了一种芯片,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行如上述第一方面以及任一种可选的实现方式的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面以及任一种可选的实现方式的方法。
第六方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面以及任一种可选的实现方式的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请实施例提供的一种故障诊断方法流程图;
图2为本申请实施例提供的另一种故障诊断方法流程图;
图3为本申请实施例提供的一种故障诊断装置接收数据的方法流程;
图4为本申请实施例提供的一种故障诊断装置读消息队列中的数据的方法流程;
图5为本申请实施例提供的一种故障诊断装置的结构示意图;
图6为本申请实施例提供的另一种故障诊断装置的结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法或设备固有的其他步骤或单元。
目前,通常采用的一种汽车故障诊断方案是使用一个运行有故障诊断软件的故障诊断装置(例如笔记本电脑)通过USB接口与待诊断设备(例如汽车)进行通信,进而对该待诊断设备进行故障诊断。在这种方案中,故障诊断装置每次只能对一个汽车进行故障诊断,即每次仅能连接一个待诊断设备。也就是说,故障诊断装置不能同时对多个汽车进行故障诊断。因此,需要研究能够同时对多个汽车进行故障诊断的方案。下面介绍本申请申请实施例提供的一种能够通过对多个汽车进行故障诊断的故障诊断方法。
图1为本申请实施例提供的一种故障诊断方法流程图,如图1所示,该方法可包括:
101、故障诊断装置扫描N个接口连接的N个待诊断设备,得到N组设备信息。
上述N个接口与上述N个待诊断设备一一对应,上述N组设备信息与上述N个待诊断设备一一对应,任一组设备信息包括上述故障诊断装置实现与上述任一组设备信息对应的待诊断设备的通信所需的信息,N为大于1的整数。该故障诊断装置可以是笔记本电脑、台式电脑、汽车诊断仪等运行有故障诊断软件(即上位机诊断软件)的电子设备。该N个接口可以是N个USB接口。可选的,故障诊断装置有N个或N个以上USB接口,每个USB接口可连接一个待诊断设备。待诊断设备可以是汽车,也可以是其他设备。在一些实施例中,故障诊断装置上运行的上位机诊断软件(即故障诊断软件)调用PassThruScanForDevices函数,扫描该N个接口连接的N个待诊断设备,N组设备信息;将该N组设备信息存储至设备信息队列USBDeviceInforList。可选的,任一组设备信息可以包括该任一组设备信息对应的待诊断设备所对应的如下信息:streamRx,即用于接收数据的句柄;streamTx,即用于发送数据的句柄;USBHandle设备句柄;USBDeviceInfo设备信息的结构;该待诊断设备的标识(即ID号)。USBHandle设备句柄可以是上位机诊断软件上打开并初始化和标识具体设备(即待诊断设备)的句柄。USBDeviceInfor设备信息的结构包含设备(即待诊断设备)的名称,设备的产品标识(Product ID,简称PID),设备的序列号等等底层的详细信息。
可选的,故障诊断装置上运行的上位机诊断软件还可根据该N个待诊断设备的标识,调用PassThruOpen函数,一一打开并初始化查询到的待诊断设备,并注册统一接受数据的回调函数StmRx_Complete。
102、故障诊断装置将待向N个待诊断设备发送的M组发送信息存储至发送队列。
M为大于1的整数。可选的,故障诊断装置在执行步骤102之前,可执行如下操作:故障诊断装置获得目标待诊断设备支持的故障诊断协议的目标协议标识;生成包括上述目标待诊断设备的标识、上述目标协议标识以及初始数据的目标组发送信息;上述初始数据为待向上述目标诊断设备发送的数据。该目标待诊断设备支持的故障诊断协议可以理解为用于故障诊断装置确定的用于诊断该目标待诊断设备的故障诊断协议。该目标待诊断设备包括于该N个待诊断设备,该目标组发送信息为该发送队列中的一组发送信息。在实际应用中,故障诊断装置可获得各待诊断设备所支持的故障诊断协议的标识以及待向各待诊断设备发送的数据,进而生成该M组发送信息。
在一个可选的实现方式中,上述故障诊断装置获得上述目标协议标识之后,上述方法还包括:
上述故障诊断装置根据上述目标待诊断设备的标识和上述目标协议标识,确定与上述目标待诊断设备通过上述目标故障诊断协议进行通信的通道的通道值;
上述故障诊断装置生成包括上述目标待诊断设备的标识、上述目标协议标识以及初始数据的上述目标组发送信息包括:
上述故障诊断装置解析上述通道值,得到上述目标待诊断设备的标识和上述目标协议标识,以及生成包括上述目标待诊断设备的标识、上述目标协议标识以及上述初始数据的上述目标组发送信息。
在一些实施例中,故障诊断装置上运行的上位机诊断软件可调用PassThruConnect函数,选择DeviceID设备号(例如目标待诊断设备的标识)和具体的协议ProtocolID(例如目标协议标识)作为参数传入;创建硬件通道Channel,并将由DeviceID左移16位加上ProtocolID生成的四字节的Channel值(即通道值)返回给上位机诊断软件。上述故障诊断装置解析上述通道值,得到上述目标待诊断设备的标识和上述目标协议标识,以及生成包括上述目标待诊断设备的标识、上述目标协议标识以及上述初始数据的上述目标组发送信息可以是:故障诊断装置上运行的上位机诊断软件调用设置过滤器函数,设置获取参数函数,发送原始数据帧函数等等,由Channel值解析出DeviceID和ProtocolID,并把调用函数生成的一组发送数据存储至发送队列,即SendQueue队列。举例来说,上位机诊断软件调用设置过滤器函数可生成一组包括过滤器参数、DeviceID以及ProtocolID的参数。又举例来说,上位机诊断软件调用设置发送原始数据帧函数可生成一组包括发送原始数据帧、DeviceID以及ProtocolID的参数。应理解,故障诊断装置可生成多个通道值,一个待诊断设备对应一个或多个通道值,该故障诊断装置可根据每个通道值得到一组发送信息。也就是说,故障诊断装置可准确地获得待向各待诊断设备发送的各组信息。
103、故障诊断装置获取发送队列中待发送的目标组发送信息。
上述目标组发送信息包括待向目标待诊断设备发送的数据。
104、故障诊断装置根据目标组设备信息和目标组发送信息,生成目标数据帧。
上述目标组设备信息为上述N组设备信息中上述目标待诊断设备对应的一组设备信息,上述目标组发送信息还包括上述目标待诊断设备支持的目标故障诊断协议的目标协议标识。
在一个可选的实现方式中,上述故障诊断装置根据目标组设备信息和上述目标组发送信息,生成目标数据帧之前,上述方法还包括:
上述故障诊断装置获得上述目标组发送信息包括的上述目标待诊断设备的标识;
上述故障诊断装置根据上述目标待诊断设备的标识,从上述N组设备信息中获取上述目标组设备信息。在该实现方式中,可准确、快速地从N组设备信息中获取向目标待诊断设备发送数据所需的设备信息。
105、故障诊断装置向目标待诊断设备发送目标数据帧。
本申请实施例中,故障诊断装置采用发送队列的方式同时与该N个待诊断设备进行通信,能够同时、准确地与多个待诊断设备进行通信。
下面对图1中的故障诊断方法进一步进行详述。
图2为本申请实施例提供的另一种故障诊断方法流程图,图2中的方法是对图1中方法的进一步细化和详述,如图2所示,该方法可包括:
201、上位机诊断软件调用扫描函数扫描各待诊断设备。
可选的,故障诊断装置上运行的上位机诊断软件调用PassThruScanForDevices函数(即扫描函数),扫描各待诊断设备。
202、扫描函数将扫描得到的设备信息的分别存储至设备信息队列(即USBDeviceInforList)。
步骤201和步骤203为步骤101的一种可选的实现方式。
203、扫描函数返回给上位机诊断软件设备标识列表和扫描到的待诊断设备数。
该设备标识列表包括各待诊断设备的标识,待诊断设备数是指扫描到的待诊断设备的个数。
204、上位机诊断软件调用第一函数,一一打开并初始化查询到的待诊断设备,并注册统一接受数据的回调函数。
可选的,上位机诊断软件调用PassThruOpen函数(即第一函数),并传入各待诊断设备的标识(即各待诊断设备的ID),一一打开并初始化查询到的待诊断设备,并注册统一接受数据的回调函数StmRx_Complete。
205、上位机诊断软件调用第二函数,选择待诊断设备的标识和故障诊断协议标识作为参数传入;创建硬件通道,将生成的通道值并返回给上位机诊断软件。
可选的,上位机诊断软件调用PassThruConnect函数(即第二函数),选择待诊断设备的标识和故障诊断协议标识作为参数传入;创建硬件通道Channel。其中Channel是由DeviceID(即待诊断设备的标识)左移16位加上ProtocolID(即故障诊断协议标识)生成的四字节的通道值。在一些实施例中,上位机诊断软件可自行根据各待诊断设备的标识选择用于诊断各待诊断设备的故障诊断协议,进而获得各故障诊断协议标识。在一些实施例中,用户可以选择用于诊断各待诊断设备的故障诊断协议,进而获得各故障诊断协议标识。
206、传入生成的通道值,上位机诊断软件调用设置过滤器函数、设置获取参数函数、发送原始数据帧函数等等,由通道值解析出待诊断设备ID和故障诊断协议ID,并把得到的信息存储至发送队列。
传入生成的通道值是指上位机诊断软件将各通道值分别传入过滤器函数、设置获取参数函数、发送原始数据帧函数等等。举例来说,上位机诊断软件将各通道值分别传入过滤器函数,该过滤器函数可以解析各通道值得到每个通道值对应的待诊断设备ID和故障诊断协议ID,并将过滤器参考、待诊断设备ID和故障诊断协议ID作为一组信息存储至发送队列。步骤205和步骤206为步骤102的一种可选的实现方式。
207、故障诊断装置中的发送线程迭代遍历发送队列,取出发送队列中的一组数据,得到该组数据中的待诊断设备ID。
图2中的设备ID是指待诊断设备ID(即待诊断设备的标识),协议ID是指故障故障协议ID(即故障诊断协议标识)。步骤207是步骤103的一种可选的实现方式。
208、通过待诊断设备ID遍历设备信息队列,找到对应的设备信息的结构,取出用于发送数据的句柄,根据故障诊断协议ID和数据组包成以55AA格式开头的数据帧。
数据组可以是上述M组发送信息。应理解,上位机诊断软件可以根据每组发送信息和每组发送信息对应的故障诊断协议ID包成以55AA格式开头的数据帧。步骤208是步骤104一种可选的实现方式。
209、上位机诊断软件调用第三函数,传入用于发送数据的句柄和组包后的数据帧作为参数,发送给指定的待诊断设备。
可选的,上位机诊断软件调用StmK_Write函数(即第三函数),传入streamTx用于发送数据的句柄和组包后的数据帧作为参数,发送给指定的待诊断设备。步骤209是步骤105一种可选的实现方式。
图2以底层实现的方式描述了故障诊断装置向各待诊断设备发送数据的过程。在实际应用中,故障诊断装置会接收到来自各待诊断设备的数据帧。下面来描述故障诊断装置如何接收来自各待诊断设备的数据帧的方法流程。
图3为本申请实施例提供的一种故障诊断装置接收数据的方法流程,如图3所示,该方法可包括:
301、故障诊断装置的底层驱动自动调用回调函数,并将目标设备句柄传入。
底层驱动自动调用StmRx_Complete回调函数(即上述注册的统一接受数据的回调函数),并把USBHandle设备句柄传入。该目标设备句柄可以是目标待诊断设备连接的USB接口的设备句柄,该目标待诊断设备可以上述N个待诊断设备中任一个待诊断设备。可选的,故障诊断装置在执行步骤301之前,接收来自上述目标待诊断设备的反馈数据帧;上述反馈数据帧为上述目标待诊断设备响应上述目标数据帧所发送的数据帧。该故障诊断装置可识别出接收到该反馈帧数据的USB接口的设备句柄(即目标设备句柄)。
302、故障诊断装置通过目标设备句柄,迭代遍历设备信息队列,得到设备信息的结构以及目标待诊断设备的标识。
故障诊断装置通过目标设备句柄,迭代遍历设备信息队列,得到设备信息的结构以及目标待诊断设备的标识可以是:该故障诊断装置查询上述N组设备信息中,上述目标设备句柄对应的待诊断设备的标识以及设备信息的结构。
303、故障诊断装置解析校验底层接受的55AA开头的数据帧,提取协议标识字段、帧功能字段、数据字段。
该55AA开头的数据帧可以是上述反馈数据帧。该协议标识字段可以包括上述目标协议标识。
304、故障诊断装置获得响应信息。
该响应信息可以包括目标待诊断设备的标识、协议标识字段、帧功能字段、数据字段。
305、故障诊断装置判断帧功能字段是否为诊断数据帧指令。
若是,执行步骤306;若否,执行步骤307。
306、故障诊断装置将响应信息存储至消息队列。
307、故障诊断装置将响应信息存储至读队列。
图3中描述了故障诊断装置接收目标待诊断设备响应的数据帧的方法流程。应理解,故障诊断装置可采用类似的方式接收各待诊断设备响应的数据帧。
在实际应用中,故障诊断装置还会读取消息队列中各组数据。下面来描述故障诊断装置如何读取消息队列中的数据的方法流程。
图4为本申请实施例提供的一种故障诊断装置读消息队列中的数据的方法流程,如图4所示,该方法可包括:
401、上位机诊断软件调用第四函数,并传入通道值。
可选的,上位机诊断软件调用PassThruReadMsgs函数(即第四函数),并将Channel值传入PassThruReadMsgs函数。
402、第四函数通过通道值解析出设备ID和协议ID。
图4中的设备ID是指待诊断设备ID(即待诊断设备的标识),协议ID是指故障故障协议ID(即故障诊断协议标识)。应理解,该第四函数解析一个通道值,可得到一个设备ID和协议ID。在实际应用中,上位机诊断软件可调用该第四函数,并分别传入图2中的步骤205生成的通道值。
403、第四函数通过设备ID和协议lID遍历消息队列,找到匹配的响应信息。
404、第四函数提取响应信息中的数据部分,并返回给上位机诊断软件。
可选的,PassThruReadMsgs函数提取响应信息中的Data数据部分,并填充PASSTHRU_MSG结构体,并返回给上位机诊断软件。
可以理解,故障诊断装置可调用该第四函数并传入通道值,该第四函数可从消息队列中准确地提取出各待诊断设备发送的数据。
图5为本申请实施例提供的一种故障诊断装置的结构示意图,如图5所示,该故障诊断装置可包括:
扫描单元501,用于扫描N个接口连接的N个待诊断设备,得到N组设备信息;其中,上述N个接口与上述N个待诊断设备一一对应,上述N组设备信息与上述N个待诊断设备一一对应,任一组设备信息包括上述故障诊断装置实现与上述任一组设备信息对应的待诊断设备的通信所需的信息,N为大于1的整数;
存储单元502,用于将待向上述N个待诊断设备发送的M组发送信息存储至发送队列;M为大于1的整数;
获取单元503,用于获取上述发送队列中待发送的目标组发送信息,上述目标组发送信息包括待向目标待诊断设备发送的数据;
生成单元504,用于根据目标组设备信息和上述目标组信息,生成目标数据帧;上述目标组设备信息为上述N组设备信息中上述目标待诊断设备对应的一组设备信息,上述目标组信息包括上述目标待诊断设备支持的目标故障诊断协议的目标协议标识;
发送单元505,用于向上述目标待诊断设备发送上述目标数据帧。
在一个可选的实现方式中,获取单元503,还用于获得上述目标协议标识;
生成单元504,还用于生成包括上述目标待诊断设备的标识、上述目标协议标识以及初始数据的上述目标组发送信息;上述初始数据为待向上述目标诊断设备发送的数据。
在一个可选的实现方式中,上述故障诊断装置还包括:
确定单元506,用于根据上述目标待诊断设备的标识和上述目标协议标识,确定与上述目标待诊断设备通过上述目标故障诊断协议进行通信的通道的通道值;
解析单元507,用于解析上述通道值,得到上述目标待诊断设备的标识和上述目标协议标识。
在一个可选的实现方式中,获取单元503,还用于获得上述目标组发送信息包括的上述目标待诊断设备的标识;根据上述目标待诊断设备的标识,从上述N组设备信息中获取上述目标组设备信息。
在一个可选的实现方式中,上述故障诊断装置还包括:
接收单508元,用于接收来自上述目标待诊断设备的反馈数据帧;上述反馈数据帧为上述目标待诊断设备响应上述目标数据帧所发送的数据帧;
解析单元507,还用于解析上述反馈数据帧,得到帧功能字段;
存储单元502,还用于在上述帧功能字段为诊断数据帧指令的情况下,将上述反馈数据帧存储至消息队列;在上述帧功能字段不为上述诊断数据帧指令的情况下,将上述反馈数据帧存储至读队列。
在一个可选的实现方式中,上述目标组设备信息还包括上述目标待诊断设备的标识以及上述目标待诊断设备连接的USB接口的设备句柄;
确定单元506,还用于确定发送上述反馈数据帧的待诊断设备连接的USB接口的目标设备句柄;
查询单元508,用于查询上述N组设备信息中,上述目标设备句柄对应的待诊断设备的标识,得到上述目标待诊断设备的标识;
解析单元507,具体用于解析上述反馈数据帧,得到上述帧功能字段、数据字段以及协议标识字段;
存储单元502,具体用于将上述帧功能字段、上述数据字段、上述目标待诊断设备的标识以及上述协议标识字段作为一组数据存储至上述消息队列。
在一个可选的实现方式中,解析单元507,还用于在上述存储单元将上述帧功能字段、上述数据字段、上述目标待诊断设备的标识以及上述协议标识字段作为一组数据存储至上述消息队列之后,解析上述通道值,得到上述目标待诊断设备的标识和上述目标协议标识;
获取单元503,还用于从上述消息队列中获取与上述目标待诊断设备的标识和上述目标协议标识相匹配的至少一组数据;上述故障诊断装置还包括:
提取单元509,用于从上述至少一组数据中提取出数据部分。
请参阅图6,图6是本申请实施例提供的一种故障诊断设备的结构示意图,包括:至少一个处理器601,例如中央处理器(central processing unit,CPU),至少一个存储器602,输入输出接口603和总线604。其中,上述总线604可以是一组并行的数据线,用于实现上述处理器601、上述存储器602和上述输入输出接口603的相互连接;上述存储器602可以是高速随机存取存储器(random access memory,RAM),也可以是非易失性存储器(non-volatile memory),例如至少一个只读存储器(read only memory,ROM)。
具体的,上述输入输出接口603在处理器601的控制下与多个待诊断设备进行通信。
具体的,上述存储器602中可以存储程序指令,上述处理器1001可用于调用程序指令执行图1至图4所示的方法。处理器601可实现图5中除发送单元505和接收单元508之外的各单元的功能。输入输出接口603可实现图5中发送单元505和接收单元508的功能。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质包括只读存储器(read only memory,ROM)、随机存储器(random access memory,RAM)、可编程只读存储器(programmable read only memory,PROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、一次可编程只读存储器(one-timeprogrammable read-only memory,OTPROM)、电子抹除式可复写只读存储器(electrically-erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本申请实施例公开的一种故障诊断方法及相关装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种故障诊断方法,其特征在于,包括:
故障诊断装置扫描N个接口连接的N个待诊断设备,得到N组设备信息;其中,所述N个接口与所述N个待诊断设备一一对应,所述N组设备信息与所述N个待诊断设备一一对应,任一组设备信息包括所述故障诊断装置实现与所述任一组设备信息对应的待诊断设备的通信所需的信息,N为大于1的整数;
所述故障诊断装置将待向所述N个待诊断设备发送的M组发送信息存储至发送队列;M为大于1的整数;
所述故障诊断装置获取所述发送队列中待发送的目标组发送信息,所述目标组发送信息包括待向目标待诊断设备发送的数据;
所述故障诊断装置根据目标组设备信息和所述目标组发送信息,生成目标数据帧;所述目标组设备信息为所述N组设备信息中所述目标待诊断设备对应的一组设备信息,所述目标组发送信息还包括所述目标待诊断设备支持的目标故障诊断协议的目标协议标识;
所述故障诊断装置向所述目标待诊断设备发送所述目标数据帧。
2.根据权利要求1所述的方法,其特征在于,所述故障诊断装置将待向所述N个待诊断设备发送的M组发送信息存储至发送队列之前,所述方法还包括:
所述故障诊断装置获得所述目标协议标识;
所述故障诊断装置生成包括所述目标待诊断设备的标识、所述目标协议标识以及初始数据的所述目标组发送信息;所述初始数据为待向所述目标诊断设备发送的数据。
3.根据权利要求2所述的方法,其特征在于,所述故障诊断装置获得所述目标协议标识之后,所述方法还包括:
所述故障诊断装置根据所述目标待诊断设备的标识和所述目标协议标识,确定与所述目标待诊断设备通过所述目标故障诊断协议进行通信的通道的通道值;
所述故障诊断装置生成包括所述目标待诊断设备的标识、所述目标协议标识以及初始数据的所述目标组发送信息包括:
所述故障诊断装置解析所述通道值,得到所述目标待诊断设备的标识和所述目标协议标识,以及生成包括所述目标待诊断设备的标识、所述目标协议标识以及所述初始数据的所述目标组发送信息。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述故障诊断装置根据目标组设备信息和所述目标组发送信息,生成目标数据帧之前,所述方法还包括:
所述故障诊断装置获得所述目标组发送信息包括的所述目标待诊断设备的标识;
所述故障诊断装置根据所述目标待诊断设备的标识,从所述N组设备信息中获取所述目标组设备信息。
5.根据权利要求4所述的方法,其特征在于,所述故障诊断装置向所述目标待诊断设备发送所述目标数据帧之后,所述方法还包括:
所述故障诊断装置接收来自所述目标待诊断设备的反馈数据帧;所述反馈数据帧为所述目标待诊断设备响应所述目标数据帧所发送的数据帧;
所述故障诊断装置解析所述反馈数据帧,得到帧功能字段;
所述故障诊断装置在所述帧功能字段为诊断数据帧指令的情况下,将所述反馈数据帧存储至消息队列;
所述故障诊断装置在所述帧功能字段不为所述诊断数据帧指令的情况下,将所述反馈数据帧存储至读队列。
6.根据权利要求5所述的方法,其特征在于,所述目标组设备信息还包括所述目标待诊断设备的标识以及所述目标待诊断设备连接的USB接口的设备句柄;所述故障诊断装置解析所述反馈数据帧,得到帧功能字段之前,所述方法还包括:
确定发送所述反馈数据帧的待诊断设备连接的USB接口的目标设备句柄;
查询所述N组设备信息中,所述目标设备句柄对应的待诊断设备的标识,得到所述目标待诊断设备的标识;
所述故障诊断装置解析所述反馈数据帧,得到帧功能字段包括:
所述故障诊断装置解析所述反馈数据帧,得到所述帧功能字段、数据字段以及协议标识字段;
所述将所述反馈数据帧存储至消息队列包括:
将所述帧功能字段、所述数据字段、所述目标待诊断设备的标识以及所述协议标识字段作为一组数据存储至所述消息队列。
7.根据权利要求6所述的方法,其特征在于,所述将所述帧功能字段、所述数据字段、所述目标待诊断设备的标识以及所述协议标识字段作为一组数据存储至所述消息队列之后,所述方法还包括:
所述故障诊断装置解析所述通道值,得到所述目标待诊断设备的标识和所述目标协议标识;
从所述消息队列中获取与所述目标待诊断设备的标识和所述目标协议标识相匹配的至少一组数据;
从所述至少一组数据中提取出数据部分。
8.一种故障诊断装置,其特征在于,包括:
扫描单元,用于扫描N个接口连接的N个待诊断设备,得到N组设备信息;其中,所述N个接口与所述N个待诊断设备一一对应,所述N组设备信息与所述N个待诊断设备一一对应,任一组设备信息包括所述故障诊断装置实现与所述任一组设备信息对应的待诊断设备的通信所需的信息,N为大于1的整数;
存储单元,用于将待向所述N个待诊断设备发送的M组发送信息存储至发送队列;M为大于1的整数;
获取单元,用于获取所述发送队列中待发送的目标组发送信息,所述目标组发送信息包括待向目标待诊断设备发送的数据;
生成单元,用于根据目标组设备信息和所述目标组信息,生成目标数据帧;所述目标组设备信息为所述N组设备信息中所述目标待诊断设备对应的一组设备信息,所述目标组信息包括所述目标待诊断设备支持的目标故障诊断协议的目标协议标识;
发送单元,用于向所述目标待诊断设备发送所述目标数据帧。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被移动设备的处理器执行时,使所述处理器执行权利要求1至7任一项所述的方法。
10.一种电子设备,其特征在于,包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至7任一项所述的方法。
CN201911046140.1A 2019-10-30 2019-10-30 故障诊断方法和相关装置 Pending CN110850841A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911046140.1A CN110850841A (zh) 2019-10-30 2019-10-30 故障诊断方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911046140.1A CN110850841A (zh) 2019-10-30 2019-10-30 故障诊断方法和相关装置

Publications (1)

Publication Number Publication Date
CN110850841A true CN110850841A (zh) 2020-02-28

Family

ID=69599120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911046140.1A Pending CN110850841A (zh) 2019-10-30 2019-10-30 故障诊断方法和相关装置

Country Status (1)

Country Link
CN (1) CN110850841A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112927392A (zh) * 2021-01-19 2021-06-08 深圳市元征科技股份有限公司 一种通信方法、车辆通信接口装置及可读存储介质

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889505A (zh) * 2006-07-17 2007-01-03 华为技术有限公司 一种辅助cpu转发报文的方法及系统
CN101430557A (zh) * 2008-12-05 2009-05-13 中国汽车技术研究中心 用于汽车故障诊断的多协议数据转换器及诊断处理方法
CN101782777A (zh) * 2009-12-07 2010-07-21 力帆实业(集团)股份有限公司 下线检测系统
CN102346477A (zh) * 2011-08-11 2012-02-08 浙江大学 一种基于autosar故障诊断通信协议的解析方法和设备
US20120245786A1 (en) * 2011-03-21 2012-09-27 Webtech Wireless Inc. Multi-Protocol Vehicle Diagnostic Interface Device and Method
CN103605359A (zh) * 2013-11-25 2014-02-26 深圳市道通科技有限公司 汽车诊断系统和方法
CN103616886A (zh) * 2013-11-22 2014-03-05 深圳市道通科技有限公司 一种实现多通路并行汽车诊断方法及汽车诊断设备
CN103944813A (zh) * 2014-04-16 2014-07-23 北京大学工学院南京研究院 一种实现通用适配功能的网关及方法
CN104283750A (zh) * 2014-10-22 2015-01-14 北方信息控制集团有限公司 基于以太网总线的统一链路层多协议交换方法
CN105159272A (zh) * 2015-07-28 2015-12-16 深圳市元征科技股份有限公司 一种汽车诊断功能切换方法及装置
CN205507526U (zh) * 2015-12-25 2016-08-24 北京新能源汽车股份有限公司 实车数据的处理系统、控制器及上位机
CN106959682A (zh) * 2017-03-06 2017-07-18 深圳市元征软件开发有限公司 一种汽车诊断方法、诊断接头,及诊断系统
CN107544461A (zh) * 2017-09-07 2018-01-05 深圳市元征科技股份有限公司 一种配置车辆诊断参数的方法及设备
CN108536121A (zh) * 2018-03-16 2018-09-14 深圳市道通科技股份有限公司 逻辑通道的建立方法、装置和交通工具通信接口vci
CN109560994A (zh) * 2018-12-21 2019-04-02 北京雄信息科技有限公司 汽车故障诊断仪检测系统和检测方法
CN109639597A (zh) * 2018-12-29 2019-04-16 深圳市道通科技股份有限公司 车辆通信接口装置中的数据传输方法及车辆通信接口装置
CN110086566A (zh) * 2019-03-18 2019-08-02 深圳市元征科技股份有限公司 一种车载数据的传输方法及车载设备
CN110162009A (zh) * 2019-05-14 2019-08-23 中国第一汽车股份有限公司 故障诊断方法、信息确定方法、相应装置及设备

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889505A (zh) * 2006-07-17 2007-01-03 华为技术有限公司 一种辅助cpu转发报文的方法及系统
CN101430557A (zh) * 2008-12-05 2009-05-13 中国汽车技术研究中心 用于汽车故障诊断的多协议数据转换器及诊断处理方法
CN101782777A (zh) * 2009-12-07 2010-07-21 力帆实业(集团)股份有限公司 下线检测系统
US20120245786A1 (en) * 2011-03-21 2012-09-27 Webtech Wireless Inc. Multi-Protocol Vehicle Diagnostic Interface Device and Method
CN102346477A (zh) * 2011-08-11 2012-02-08 浙江大学 一种基于autosar故障诊断通信协议的解析方法和设备
CN103616886A (zh) * 2013-11-22 2014-03-05 深圳市道通科技有限公司 一种实现多通路并行汽车诊断方法及汽车诊断设备
CN103605359A (zh) * 2013-11-25 2014-02-26 深圳市道通科技有限公司 汽车诊断系统和方法
CN103944813A (zh) * 2014-04-16 2014-07-23 北京大学工学院南京研究院 一种实现通用适配功能的网关及方法
CN104283750A (zh) * 2014-10-22 2015-01-14 北方信息控制集团有限公司 基于以太网总线的统一链路层多协议交换方法
CN105159272A (zh) * 2015-07-28 2015-12-16 深圳市元征科技股份有限公司 一种汽车诊断功能切换方法及装置
CN205507526U (zh) * 2015-12-25 2016-08-24 北京新能源汽车股份有限公司 实车数据的处理系统、控制器及上位机
CN106959682A (zh) * 2017-03-06 2017-07-18 深圳市元征软件开发有限公司 一种汽车诊断方法、诊断接头,及诊断系统
CN107544461A (zh) * 2017-09-07 2018-01-05 深圳市元征科技股份有限公司 一种配置车辆诊断参数的方法及设备
CN108536121A (zh) * 2018-03-16 2018-09-14 深圳市道通科技股份有限公司 逻辑通道的建立方法、装置和交通工具通信接口vci
CN109560994A (zh) * 2018-12-21 2019-04-02 北京雄信息科技有限公司 汽车故障诊断仪检测系统和检测方法
CN109639597A (zh) * 2018-12-29 2019-04-16 深圳市道通科技股份有限公司 车辆通信接口装置中的数据传输方法及车辆通信接口装置
CN110086566A (zh) * 2019-03-18 2019-08-02 深圳市元征科技股份有限公司 一种车载数据的传输方法及车载设备
CN110162009A (zh) * 2019-05-14 2019-08-23 中国第一汽车股份有限公司 故障诊断方法、信息确定方法、相应装置及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112927392A (zh) * 2021-01-19 2021-06-08 深圳市元征科技股份有限公司 一种通信方法、车辆通信接口装置及可读存储介质

Similar Documents

Publication Publication Date Title
CN107766190B (zh) 接口测试方法、装置、计算机设备和存储介质
CN107844421B (zh) 接口测试方法、装置、计算机设备和存储介质
CN111026645B (zh) 用户界面自动化测试方法、装置、存储介质及电子设备
CN113127338A (zh) 一种固件测试方法、服务器及计算机可读存储介质
CN111045952A (zh) 软件测试方法、流量回放装置、终端设备及可读存储介质
CN110267314A (zh) 切换网络切片的方法及装置
CN104038654B (zh) 中继装置、客户端装置及方法
CN115134236A (zh) 一种智能网卡管理的方法、装置、设备及可读介质
CN109802842B (zh) 应用拓扑的生成方法及相关设备
CN110850841A (zh) 故障诊断方法和相关装置
CN113222554A (zh) 基于大数据的智慧办公协同方法及系统
CN111857103B (zh) 一种车辆诊断方法、装置、设备及存储介质
CN115276844B (zh) 通信模组的测试方法、装置、存储介质及电子设备
JP2002281111A (ja) プロトコルアナライザ
CN111782291B (zh) 一种测试页面的启动方法和装置
KR101951847B1 (ko) IoT 기기의 가시성을 확보하기 위한 장치 및 그를 위한 컴퓨터 프로그램
CN111417908A (zh) 一种ecu识别器及其识别方法、系统、设备、介质
CN113259214B (zh) 行车数据监控系统
CN111538666B (zh) 批量收集测试结果的方法、装置、计算机设备及存储介质
CN115086214A (zh) 一种套片检测系统、方法、电子设备及存储介质
CN113934198A (zh) 车辆诊断方法、装置、电子设备及存储介质
CN109376536B (zh) 获取Cookie的方法、装置、计算机设备以及存储介质
CN109086145B (zh) 数据生成方法、装置及计算机存储介质
CN114003484A (zh) 接口测试的日志输出方法、装置、设备及存储介质
CN111737133A (zh) 测试方法及装置、计算机设备及计算机可读存储介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200228