CN113960984A - 车辆诊断方法、装置、诊断设备及存储介质 - Google Patents
车辆诊断方法、装置、诊断设备及存储介质 Download PDFInfo
- Publication number
- CN113960984A CN113960984A CN202111251766.3A CN202111251766A CN113960984A CN 113960984 A CN113960984 A CN 113960984A CN 202111251766 A CN202111251766 A CN 202111251766A CN 113960984 A CN113960984 A CN 113960984A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- scanned
- diagnosis
- systems
- specified number
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0262—Confirmation of fault detection, e.g. extra checks to confirm that a failure has indeed occurred
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24065—Real time diagnostics
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Vehicle Cleaning, Maintenance, Repair, Refitting, And Outriggers (AREA)
Abstract
本申请公开了一种车辆诊断方法、车辆诊断装置、诊断设备及计算机可读存储介质。该方法应用于诊断设备,诊断设备与车载诊断端通讯连接,车载诊断端与目标车辆通讯连接;该方法包括:创建指定数量的任务线程,其中,指定数量不大于车载诊断端所支持的最大逻辑通道数量;在每个任务线程中,建立与目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道;通过指定数量的逻辑通道分别对目标车辆中指定数量的待扫描的车辆系统进行扫描诊断,之后检测目标车辆是否仍存在待扫描的车辆系统;若是,则返回执行创建指定数量的任务线程的步骤及后续步骤。本申请方案提高了诊断设备通过车载诊断端对车辆所进行的车辆扫描诊断操作的扫描诊断效率。
Description
技术领域
本申请属于车辆诊断技术领域,尤其涉及一种车辆诊断方法、车辆诊断装置、诊断设备及计算机可读存储介质。
背景技术
由于车辆所配备的车辆系统越来越多,为了实现对车辆的有序诊断,往往会要求诊断设备通过车载诊断端以对车辆系统进行扫描的方式,获知该车辆所配备的车辆系统及对应的故障码。当前,诊断设备通常只能够通过车载诊断端与车辆建立单条通信通道来进行车辆系统的扫描诊断,这导致扫描诊断效率较为低下。
发明内容
本申请提供了一种车辆诊断方法、车辆诊断装置、诊断设备及计算机可读存储介质,提高了诊断设备通过车载诊断端所进行的扫描诊断操作的扫描诊断效率。
第一方面,本申请提供了一种车辆诊断方法,上述车辆诊断方法应用于诊断设备,上述诊断设备与车载诊断端通讯连接,上述车载诊断端与目标车辆通讯连接;上述车辆诊断方法包括:
创建指定数量的任务线程,其中,上述指定数量不大于上述车载诊断端所支持的最大逻辑通道数量;
在每个上述任务线程中,建立与上述目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道;
通过指定数量的上述逻辑通道分别对上述目标车辆中指定数量的待扫描的车辆系统进行扫描诊断,其中,不同逻辑通道所对应的待扫描的车辆系统不同;
在通过上述指定数量的逻辑通道对上述指定数量的待扫描的车辆系统进行扫描诊断结束后,检测上述目标车辆是否仍存在待扫描的车辆系统;
若上述目标车辆仍存在待扫描的车辆系统,则返回执行上述创建指定数量的任务线程的步骤及后续步骤。
可选地,在上述创建指定数量的任务线程之前,上述车辆诊断方法还包括:
获取上述车载诊断端所支持的最大逻辑通道数量;
获取上述目标车辆的待扫描系统数量,其中,上述待扫描系统数量的初始值基于上述目标车辆所确定;
根据上述最大逻辑通道数量及上述待扫描系统数量,确定上述指定数量。
可选地,上述根据上述最大逻辑通道数量及上述待扫描系统数量,确定上述指定数量,包括:
若上述最大逻辑通道数量大于或等于上述待扫描系统数量,则将上述待扫描系统数量确定为上述指定数量;
若上述最大逻辑通道数量小于上述待扫描系统数量,则将上述最大逻辑通道数量确定为上述指定数量。
可选地,上述获取上述车载诊断端所支持的最大逻辑通道数量,包括:
向上述车载诊断端发送第一获取指令,上述第一获取指令用于指示上述车载诊断端反馈车载诊断端型号;
若基于上述车载诊断端型号确定上述车载诊断端属于预设类型,则向上述车载诊断端发送第二获取指令,上述第二获取指令用于指示上述车载诊断端反馈所支持的最大逻辑通道数量。
可选地,上述待扫描系统数量的初始值通过如下方式确定:
获取上述目标车辆的车型;
根据上述车型获取对应的最高配车辆所配备的车辆系统的数量;
将上述最高配车辆所配备的车辆系统的数量确定为上述待扫描系统数量的初始值。
可选地,上述待扫描系统数量的初始值通过如下方式确定:
获取上述目标车辆的标识信息;
根据上述标识信息查询获得上述待扫描系统数量的初始值。
可选地,在通过上述指定数量的逻辑通道对上述指定数量的待扫描的车辆系统进行扫描诊断结束后,上述车辆诊断方法还包括:
销毁上述指定数量的逻辑通道。
第二方面,本申请提供了一种车辆诊断装置,上述车辆诊断装置集成于诊断设备,上述诊断设备与车载诊断端通讯连接,上述车载诊断端与目标车辆通讯连接;上述车辆诊断装置包括:
创建模块,用于创建指定数量的任务线程,其中,上述指定数量不大于上述车载诊断端所支持的最大逻辑通道数量;
建立模块,用于在每个上述任务线程中,建立与上述目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道;
扫描模块,用于通过指定数量的上述逻辑通道分别对上述目标车辆中指定数量的待扫描的车辆系统进行扫描诊断,其中,不同逻辑通道所对应的待扫描的车辆系统不同;
检测模块,用于在上述扫描模块通过上述指定数量的逻辑通道对上述指定数量的待扫描的车辆系统进行扫描诊断结束后,检测上述目标车辆是否仍存在待扫描的车辆系统;
其中,上述创建模块在上述检测模块检测到上述目标车辆仍存在待扫描的车辆系统时再次被触发执行。
可选地,上述车辆诊断装置还包括:
第一获取模块,用于获取上述车载诊断端所支持的最大逻辑通道数量;
第二获取模块,用于获取上述目标车辆的待扫描系统数量,其中,上述待扫描系统数量的初始值基于上述目标车辆所确定;
确定模块,用于根据上述最大逻辑通道数量及上述待扫描系统数量,确定上述指定数量。
可选地,上述确定模块,具体用于若上述最大逻辑通道数量大于或等于上述待扫描系统数量,则将上述待扫描系统数量确定为上述指定数量,若上述最大逻辑通道数量小于上述待扫描系统数量,则将上述最大逻辑通道数量确定为上述指定数量。
可选地,上述检测模块,包括:
更新单元,用于基于上述指定数量,对上述待扫描系统数量进行更新;
确定单元,用于若更新后的上述待扫描系统数量大于0,则确定上述目标车辆仍存在待扫描的车辆系统,若更新后的上述待扫描系统数量等于0,则确定上述目标车辆不存在待扫描的车辆系统。
可选地,上述第一获取模块,包括:
第一指令发送单元,用于向上述车载诊断端发送第一获取指令,上述第一获取指令用于指示上述车载诊断端反馈车载诊断端型号;
第二指令发送单元,用于若基于上述车载诊断端型号确定上述车载诊断端属于预设类型,则向上述车载诊断端发送第二获取指令,上述第二获取指令用于指示上述车载诊断端反馈所支持的最大逻辑通道数量。
可选地,上述第二获取模块,还用于获取上述目标车辆的车型,根据上述车型获取对应的最高配车辆所配备的车辆系统的数量,并将上述最高配车辆所配备的车辆系统的数量确定为上述待扫描系统数量的初始值。
可选地,上述第二获取模块,还用于获取上述目标车辆的标识信息,根据上述标识信息查询获得上述待扫描系统数量的初始值。
可选地,上述车辆诊断装置还包括:
销毁模块,用于在上述扫描模块通过上述指定数量的逻辑通道对上述指定数量的待扫描的车辆系统进行扫描诊断结束后,销毁上述指定数量的逻辑通道。
第三方面,本申请提供了一种诊断设备,上述诊断设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。
第五方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。
本申请与现有技术相比存在的有益效果是:在诊断设备通过车载诊断端与目标车辆相连时,诊断设备可创建指定数量的任务线程,其中,该指定数量不大于上述车载诊断端所支持的最大逻辑通道数量,然后在每个任务线程中,建立与目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道,并通过指定数量的逻辑通道分别对目标车辆中指定数量的待扫描的车辆系统进行扫描诊断,在扫描诊断结束之后检测目标车辆是否仍存在待扫描的车辆系统,若该目标车辆仍存在待扫描的车辆系统,则返回执行创建指定数量的任务线程的步骤及后续步骤。上述过程中,诊断设备可根据车载诊断端所支持的最大逻辑通道数量创建指定数量的任务线程,并在所获取的任务线程中分别建立逻辑通道,基于多线程处理的方式,可使得每个任务线程中的逻辑通道可以并行运行,也即,诊断设备可通过指定数量的逻辑通道与目标车辆中指定数量的待扫描的车辆系统并行通信,由此可实现对车辆系统的高效率扫描诊断。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的车辆诊断方法的实现流程示意图;
图2是本申请实施例提供的车辆诊断装置的结构框图;
图3是本申请实施例提供的诊断设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
随着车辆厂商研发实力的增强,车辆所配备的车辆系统也越来越多。这一方面给车主提供了更好的用车体验,另一方面也给对车辆的诊断带来了麻烦。这是因为为了实现对车辆的有序诊断,往往会要求诊断设备通过车载诊断端以对车辆系统进行扫描的方式,来获知该车辆所配备的车辆系统及对应的故障码。当前,诊断设备通常只能够通过车载诊断端与车辆建立单条通信通道来进行车辆系统的扫描诊断,也即,诊断设备在同一时间仅能与车辆内的一个车辆系统尝试建立连接,这导致扫描诊断效率较为低下。基于此,本申请提出了一种车辆诊断方法、车辆诊断装置、诊断设备及计算机可读存储介质,可提高诊断设备通过车载诊断端所进行的扫描诊断操作的扫描诊断效率。为了说明本申请所提出的技术方案,下面通过具体实施例来进行说明。
下面对本申请实施例所提出的车辆诊断方法作出说明。该车辆诊断方法应用于诊断设备,且该诊断设备通过车载诊断端与目标车辆相连;也即,上述诊断设备与车载诊断端通讯连接,上述车载诊断端又与目标车辆通讯连接。可以理解,该车载诊断端即为日常所提到的诊断盒子。具体地,该诊断设备可以通过蓝牙或无线局域网(Wi-Fi)等无线通信方式与车载诊断端建立通讯连接;或者,该诊断设备也可以通过数据线等有线通信方式与车载诊断端建立通讯连接,此处不作限定。车载诊断端可通过目标车辆的车载自动诊断系统(OnBoard Diagnostics,OBD)接口与目标车辆建立通讯连接。
请参阅图1,图1给出了该车辆诊断方法的实现流程的示意,该实现流程详述如下:
步骤101,创建指定数量的任务线程。
在本申请实施例中,诊断设备可以创建指定数量的任务线程。考虑到诊断设备是通过车载诊断端与目标车辆建立间接的通讯连接,因而,诊断设备的通讯性能一定程度上受到了车载诊断端的影响,该影响体现于:该指定数量应不大于车载诊断端所支持的最大逻辑通道数量。
步骤102,在每个上述任务线程中,建立与上述目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道。
在本申请实施例中,由于任务线程之间相互独立,因而,可在创建的每个任务线程中均建立一个逻辑通道。可以理解为,各逻辑通道是由诊断设备将单条通信通道在逻辑上做了区分而得。又由于目标车辆通常存在有多个待扫描的车辆系统,为了实现对目标车辆的车辆系统的有序扫描,每个逻辑通道都仅可用于与目标车辆中的一个待扫描的车辆系统进行通讯。由此,诊断设备可通过不同逻辑通道与目标车辆的不同车辆系统进行通讯。
可以理解的是,由于不同车辆系统所采用通讯协议不同,对应的通讯参数也不同,因而,各逻辑通道应基于对应的待扫描的车辆系统(也即对应的待通讯的车辆系统)所采用的通讯协议来设置通讯参数,该通讯参数包括硬件参数及软件参数。仅作为示例,硬件参数指的是引脚及波特率等参数,软件参数指的是过滤器(也即过滤ID)等参数。
步骤103,通过指定数量的上述逻辑通道分别对上述目标车辆中指定数量的待扫描的车辆系统进行扫描诊断。
在本申请实施例中,由步骤102可知,一个逻辑通道对应一个待扫描的车辆系统而建立。诊断设备由此可通过指定数量的逻辑通道分别对目标车辆中指定数量的待扫描的车辆系统进行扫描诊断。针对某一待扫描的车辆系统,其扫描诊断过程可以是:
诊断设备通过对应的逻辑通道向该车辆系统发送请求诊断的数据帧(记作第一数据帧);若能够接收到该车辆系统基于该第一数据帧所反馈的用于表示诊断结果的数据帧(记作第二数据帧),则可确定目标车辆配备有该车辆系统,且可基于该第二数据帧对该车辆系统所可能存在的问题进行诊断分析;反之,若在预设的超时时间后,未能接收到该车辆系统所反馈的第二数据帧,则可确定目标车辆未配备有该车辆系统。
需要注意的是,对于不同车辆系统来说,由于采用的通讯协议可能不同,以及车辆系统的通讯地址不同,因而对应的第一数据帧也会不同。并且,对于不同车辆系统来说,所预设的超时时间也可以不同,但不同车辆系统所对应的超时时间都应在同一个超时时间设置范围内。
步骤104,在通过上述指定数量的逻辑通道对上述指定数量的待扫描的车辆系统进行扫描诊断结束后,检测上述目标车辆是否仍存在待扫描的车辆系统,若是,则返回执行步骤101,若否,则结束对上述目标车辆的车辆系统的扫描诊断。
在本申请实施例中,由于步骤101仅创建有指定数量的任务线程,因而步骤102中仅能建立指定数量的逻辑通道;又由于一个逻辑通道对应一个待扫描的车辆系统,因而通过步骤101-103,诊断设备一次仅能对目标车辆中指定数量的待扫描的车辆系统进行同步扫描诊断。在目标车辆中的待扫描的车辆系统较多的情况下,有可能在经过本次对车辆系统的同步扫描诊断后,目标车辆仍存在待扫描的车辆系统。在这种情况下,应返回执行步骤101及后续步骤,以进行新一次的对车辆系统的同步扫描诊断。反之,若在经过本次对车辆系统的同步扫描后,目标车辆已不存在待扫描的车辆系统,则可确定对目标车辆的车辆系统的扫描诊断操作已全部结束,可开始进行后续流程,例如对所获取到的各个第二数据帧的分析流程。
在本申请实施例中,在诊断设备通过车载诊断端与目标车辆相连时,诊断设备可创建指定数量的任务线程,其中,该指定数量不大于上述车载诊断端所支持的最大逻辑通道数量,然后在每个任务线程中,建立与目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道,并通过指定数量的逻辑通道分别对目标车辆中指定数量的待扫描的车辆系统进行扫描诊断,在扫描诊断结束之后检测目标车辆是否仍存在待扫描的车辆系统,若该目标车辆仍存在待扫描的车辆系统,则返回执行创建指定数量的任务线程的步骤及后续步骤。上述过程中,诊断设备可根据车载诊断端所支持的最大逻辑通道数量创建指定数量的任务线程,并在所获取的任务线程中分别建立逻辑通道,基于多线程处理的方式,可使得每个任务线程中的逻辑通道可以并行运行,也即,诊断设备可通过指定数量的逻辑通道与目标车辆中指定数量的待扫描的车辆系统并行通信,由此可实现对车辆系统的高效率扫描诊断。
在一些实施例中,指定数量可通过如下方式确定:
A1、获取上述车载诊断端所支持的最大逻辑通道数量。
诊断设备可在与车载诊断端建立连接后,向该车载诊断端发送第一获取指令,其中,该第一获取指令用于指示该车载诊断端反馈车载诊断端型号。诊断设备可基于该车载诊断端型号判断该车载诊断端是否属于预设类型,这里的预设类型指的是:支持多逻辑通道的车载诊断端类型。当基于该车载诊断端型号判断出该车载诊断端属于预设类型时,即可向该车载诊断端发送第二获取指令,该第二获取指令用于指示该车载诊断端反馈其所支持的最大逻辑通道数量。
仅作为示例,诊断设备可预先存储一车载诊断端型号信息表,该车载诊断端型号信息表中记录有不同的车载诊断端型号对多逻辑通道这一功能的支持情况;也即,该车载诊断端型号信息表将车载诊断端分为两大类,一类是支持;另一类是不支持。诊断设备在获取到车载诊断端的车载诊断端型号后,即可基于该车载诊断端型号信息表及该车载诊断端型号,判断出该车载诊断端对多逻辑通道这一功能是否支持。若支持,则可确定该车载诊断端属于预设类型。
A2、获取上述目标车辆的待扫描系统数量。
在本申请实施例中,待扫描系统数量用于表示该目标车辆当前所剩余的待扫描的车辆系统的数量。具体地,该待扫描系统数量的初始值可基于目标车辆所确定。
在一种应用场景下,可基于目标车辆的车型来确定该初始值,其过程可以为:获取该目标车辆的车型,然后根据该车型获取对应的最高配车辆所配备的车辆系统的数量,将该数量确定为该待扫描系统数量的初始值。可以理解,可预先配置一车辆系统信息表,该车辆系统信息表记录有当前市面上流通的所有车型下的最高配车辆所配备的车辆系统。该车辆系统信息表可如下表1所示:
表1
举例来说,假定目标车辆1对应的车型为A;通过查询车辆系统信息表可知,A车型下的最高配车辆所配备的车辆系统为a系统、b系统、c系统、f系统、g系统及h系统,共6个;则针对目标车辆1,其待扫描系统数量的初始值可以为6。除了用于确定该待扫描系统数量的初始值,为了方便任务线程进行扫描诊断操作,各个车辆系统所采用的通讯协议及其对应的通讯参数也可以记录于该车辆系统信息表中,此处不再赘述。
在另一种应用场景下,也可基于目标车辆的标识信息来确定该初始值,其过程可以为:获取目标车辆的标识信息,然后根据该标识信息查询获得待扫描系统数量的初始值。仅作为示例,该标识信息可以车辆识别码(Vehicle Identification Number,VIN)。可以理解,目标车辆在出厂时,其车辆识别码就已经给定。因而可通过该车辆识别码来查询得到目标车辆所配备的车辆系统的准确数量,以此来作为待扫描系统数量的初始值。
A3、根据上述最大逻辑通道数量及上述待扫描系统数量,确定上述指定数量。
可以将待扫描系统数量理解为逻辑通道的需求量,将最大逻辑通道数量理解为逻辑通道的供给量,则:在最大逻辑通道数量大于或等于待扫描系统数量时,实际上对应的是供大于等于求的情况,也即此时供给充足,此时以实际需求为准,可将待扫描系统数量确定为指定数量;反之,在最大逻辑通道数量小于待扫描系统数量时,实际上对应的是供小于求的情况,也即此时供给不够,此时以最高供给为准,可将最大逻辑通道数量确定为指定数量。
为便于理解,可记最大逻辑通道数量为max_logic_channel,记待扫描系统数量为max_system_num,记指定数量为current_num。
当max_logic_channel≥max_system_num时,可将max_system_num的值赋给current_num,也即current_num=max_system_num。
当max_logic_channel<max_system_num时,可将max_logic_channel的值赋给current_num,也即current_num=max_logic_channel。
在一些实施例中,针对步骤101,诊断设备可以先创建好一线程池。可以理解,由于诊断设备的通讯性能受限于车载诊断端,因而,该线程池的大小可基于最大逻辑数量而设定;也即,诊断设备可创建最大线程数量为max_logic_channel的线程池。后续诊断设备可直接从该线程池中获取到指定数量的任务线程。
在一些实施例中,每个任务线程在完成扫描诊断后,也即,在得到对应的车辆系统所反馈的第二数据帧,或是确定目标车辆未配备对应的车辆系统后,就已完成了扫描诊断的任务。对此,为节约资源,可在通过指定数量的逻辑通道对指定数量的待扫描的车辆系统进行扫描诊断结束后,进行逻辑通道的销毁及任务线程的回收操作。仅作为示例,可以是由诊断设备对所有任务通道的逻辑通道统一进行销毁,并将所有任务线程的统一回收至线程池;或者,也可以是在某一任务线程完成任务后,立即销毁该任务线程的逻辑通道并将该任务线程回收至线程池,此处不作限定。
在一些实施例中,可通过对待扫描系统数量的更新,实现对目标车辆是否仍存在待扫描的车辆系统的检测,具体为:
B1、基于指定数量,对待扫描系统数量进行更新。
可以理解,在步骤103执行完毕后,该指定数量即为本次所扫描的车辆系统的数量,也即有指定数量个车辆系统完成扫描。对此,待扫描系统数量需要进行更新,具体为:
max_system_num=max_system_num-current_num
也即,将更新前的待扫描系统数量减去指定数量后,即可得到更新后的待扫描系统数量。
B2、若更新后的待扫描系统数量大于0,则确定上述目标车辆仍存在待扫描的车辆系统。
B3、若更新后的待扫描系统数量等于0,则确定上述目标车辆不存在待扫描的车辆系统。
需要注意的是,在更新后的待扫描系统数量大于0时,可确定目标车辆仍存在待扫描的车辆系统,此时会返回执行步骤101。而在返回执行步骤101时,由于待扫描系统数量已更新,因而指定数量也应被更新。也即,在返回执行步骤101时,需要重新根据最大逻辑通道数量及更新后的待扫描系统数量确定新一次扫描诊断操作所需的指定数量。
在一些实施例中,诊断设备可基于车辆系统信息表所示出的目标车辆所对应的车型下,最高配车辆所配备的车辆系统的顺序建立对应的逻辑通道,实现对待扫描的车辆系统的有序扫描。并且,在针对某一车辆系统的扫描完成后,可对该车辆系统打上标记,以完成待扫描的车辆系统向已扫描的车辆系统的转变,避免出现重复扫描的情况。
由上可见,通过本申请实施例,诊断设备可根据车载诊断端所支持的最大逻辑通道数量获取指定数量的任务线程,并在所获取的任务线程中分别建立逻辑通道,基于多线程处理的方式,可使得每个任务线程中的逻辑通道可以并行运行,也即,诊断设备可通过指定数量的逻辑通道与目标车辆中指定数量的待扫描的车辆系统并行通信,由此可实现对车辆系统的高效率扫描诊断。
对应于上文所提供的车辆诊断方法,本申请实施例还提供了一种车辆诊断装置。该车辆诊断装置集成于诊断设备,上述诊断设备与车载诊断端通讯连接,上述车载诊断端与目标车辆通讯连接;请参阅图2,图2给出了该车辆诊断装置的结构框图。如图2所示,该车辆诊断装置200包括:
创建模块201,用于创建指定数量的任务线程,其中,上述指定数量不大于上述车载诊断端所支持的最大逻辑通道数量;
建立模块202,用于在每个上述任务线程中,建立与上述目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道;
扫描模块203,用于通过指定数量的上述逻辑通道分别对上述目标车辆中指定数量的待扫描的车辆系统进行扫描诊断,其中,不同逻辑通道所对应的待扫描的车辆系统不同;
检测模块204,用于在上述扫描模块通过上述指定数量的逻辑通道对上述指定数量的待扫描的车辆系统进行扫描诊断结束后,检测上述目标车辆是否仍存在待扫描的车辆系统;
其中,上述创建模块201在上述检测模块204检测到上述目标车辆仍存在待扫描的车辆系统时再次被触发执行。
可选地,上述车辆诊断装置200还包括:
第一获取模块,用于获取上述车载诊断端所支持的最大逻辑通道数量;
第二获取模块,用于获取上述目标车辆的待扫描系统数量,其中,上述待扫描系统数量的初始值基于上述目标车辆所确定;
确定模块,用于根据上述最大逻辑通道数量及上述待扫描系统数量,确定上述指定数量。
可选地,上述确定模块,具体用于若上述最大逻辑通道数量大于或等于上述待扫描系统数量,则将上述待扫描系统数量确定为上述指定数量,若上述最大逻辑通道数量小于上述待扫描系统数量,则将上述最大逻辑通道数量确定为上述指定数量。
可选地,上述第一获取模块,包括:
第一指令发送单元,用于向上述车载诊断端发送第一获取指令,上述第一获取指令用于指示上述车载诊断端反馈车载诊断端型号;
第二指令发送单元,用于若基于上述车载诊断端型号确定上述车载诊断端属于预设类型,则向上述车载诊断端发送第二获取指令,上述第二获取指令用于指示上述车载诊断端反馈所支持的最大逻辑通道数量。
可选地,上述第二获取模块,还用于获取上述目标车辆的车型,根据上述车型获取对应的最高配车辆所配备的车辆系统的数量,并将上述最高配车辆所配备的车辆系统的数量确定为上述待扫描系统数量的初始值。
可选地,上述第二获取模块,还用于获取上述目标车辆的标识信息,根据上述标识信息查询获得上述待扫描系统数量的初始值。
可选地,上述车辆诊断装置200还包括:
销毁模块,用于在上述扫描模块通过上述指定数量的逻辑通道对上述指定数量的待扫描的车辆系统进行扫描诊断结束后,销毁上述指定数量的逻辑通道。
由上可见,通过本申请实施例,车辆诊断装置可根据车载诊断端所支持的最大逻辑通道数量获取指定数量的任务线程,并在所获取的任务线程中分别建立逻辑通道,基于多线程处理的方式,可使得每个任务线程中的逻辑通道可以并行运行,也即,诊断设备可通过指定数量的逻辑通道与目标车辆中指定数量的待扫描的车辆系统并行通信,由此可实现对车辆系统的高效率扫描诊断。
对应于上文所提供的车辆诊断方法,本申请实施例还提供了一种诊断设备。请参阅图3,本申请实施例中的诊断设备3包括:存储器301,一个或多个处理器302(图3中仅示出一个)及存储在存储器301上并可在处理器上运行的计算机程序。其中:存储器301用于存储软件程序以及单元,处理器302通过运行存储在存储器301的软件程序以及单元,从而执行各种功能应用以及诊断,以获取上述预设事件对应的资源。具体地,在该诊断设备3与车载诊断端通讯连接,该车载诊断端与目标车辆通讯连接后,处理器302通过运行存储在存储器301的上述计算机程序时实现以下步骤:
创建指定数量的任务线程,其中,上述指定数量不大于上述车载诊断端所支持的最大逻辑通道数量;
在每个上述任务线程中,建立与上述目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道;
通过指定数量的上述逻辑通道分别对上述目标车辆中指定数量的待扫描的车辆系统进行扫描诊断,其中,不同逻辑通道所对应的待扫描的车辆系统不同;
在通过上述指定数量的逻辑通道对上述指定数量的待扫描的车辆系统进行扫描诊断结束后,检测上述目标车辆是否仍存在待扫描的车辆系统;
若上述目标车辆仍存在待扫描的车辆系统,则返回执行上述创建指定数量的任务线程的步骤及后续步骤。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,在上述创建指定数量的任务线程之前,处理器302通过运行存储在存储器301的上述计算机程序时还实现以下步骤:
获取上述车载诊断端所支持的最大逻辑通道数量;
获取上述目标车辆的待扫描系统数量,其中,上述待扫描系统数量的初始值基于上述目标车辆所确定;
根据上述最大逻辑通道数量及上述待扫描系统数量,确定上述指定数量。
在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述根据上述最大逻辑通道数量及上述待扫描系统数量,确定上述指定数量,包括:
若上述最大逻辑通道数量大于或等于上述待扫描系统数量,则将上述待扫描系统数量确定为上述指定数量;
若上述最大逻辑通道数量小于上述待扫描系统数量,则将上述最大逻辑通道数量确定为上述指定数量。
在上述第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述获取上述车载诊断端所支持的最大逻辑通道数量,包括:
向上述车载诊断端发送第一获取指令,上述第一获取指令用于指示上述车载诊断端反馈车载诊断端型号;
若基于上述车载诊断端型号确定上述车载诊断端属于预设类型,则向上述车载诊断端发送第二获取指令,上述第二获取指令用于指示上述车载诊断端反馈所支持的最大逻辑通道数量。
在上述第二种可能的实施方式作为基础而提供的第五种可能的实施方式中,处理器302通过运行存储在存储器301的上述计算机程序时还实现以下步骤:
获取上述目标车辆的车型;
根据上述车型获取对应的最高配车辆所配备的车辆系统的数量;
将上述最高配车辆所配备的车辆系统的数量确定为上述待扫描系统数量的初始值。
在上述第二种可能的实施方式作为基础而提供的第六种可能的实施方式中,处理器302通过运行存储在存储器301的上述计算机程序时还实现以下步骤:
获取上述目标车辆的标识信息;
根据上述标识信息查询获得上述待扫描系统数量的初始值。
在上述第一种可能的实施方式作为基础而提供的第七种可能的实施方式中,在通过上述指定数量的逻辑通道对上述指定数量的待扫描的车辆系统进行扫描诊断结束后,处理器302通过运行存储在存储器301的上述计算机程序时还实现以下步骤:
销毁上述指定数量的逻辑通道。
应当理解,在本申请实施例中,所称处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器301可以包括只读存储器和随机存取存储器,并向处理器302提供指令和数据。存储器301的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器301还可以存储设备类别的信息。
由上可见,通过本申请实施例,诊断设备可根据车载诊断端所支持的最大逻辑通道数量获取指定数量的任务线程,并在所获取的任务线程中分别建立逻辑通道,基于多线程处理的方式,可使得每个任务线程中的逻辑通道可以并行运行,也即,诊断设备可通过指定数量的逻辑通道与目标车辆中指定数量的待扫描的车辆系统并行通信,由此可实现对车辆系统的高效率扫描诊断。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种车辆诊断方法,其特征在于,应用于诊断设备,所述诊断设备与车载诊断端通讯连接,所述车载诊断端与目标车辆通讯连接;所述车辆诊断方法包括:
创建指定数量的任务线程,其中,所述指定数量不大于所述车载诊断端所支持的最大逻辑通道数量;
在每个所述任务线程中,建立与所述目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道;
通过指定数量的所述逻辑通道分别对所述目标车辆中指定数量的待扫描的车辆系统进行扫描诊断,其中,不同逻辑通道所对应的待扫描的车辆系统不同;
在通过所述指定数量的逻辑通道对所述指定数量的待扫描的车辆系统进行扫描诊断结束后,检测所述目标车辆是否仍存在待扫描的车辆系统;
若所述目标车辆仍存在待扫描的车辆系统,则返回执行所述创建指定数量的任务线程的步骤及后续步骤。
2.如权利要求1所述的车辆诊断方法,其特征在于,在所述创建指定数量的任务线程之前,所述车辆诊断方法还包括:
获取所述车载诊断端所支持的最大逻辑通道数量;
获取所述目标车辆的待扫描系统数量,其中,所述待扫描系统数量的初始值基于所述目标车辆所确定;
根据所述最大逻辑通道数量及所述待扫描系统数量,确定所述指定数量。
3.如权利要求2所述的车辆诊断方法,其特征在于,所述根据所述最大逻辑通道数量及所述待扫描系统数量,确定所述指定数量,包括:
若所述最大逻辑通道数量大于或等于所述待扫描系统数量,则将所述待扫描系统数量确定为所述指定数量;
若所述最大逻辑通道数量小于所述待扫描系统数量,则将所述最大逻辑通道数量确定为所述指定数量。
4.如权利要求2所述的车辆诊断方法,其特征在于,所述获取所述车载诊断端所支持的最大逻辑通道数量,包括:
向所述车载诊断端发送第一获取指令,所述第一获取指令用于指示所述车载诊断端反馈车载诊断端型号;
若基于所述车载诊断端型号确定所述车载诊断端属于预设类型,则向所述车载诊断端发送第二获取指令,所述第二获取指令用于指示所述车载诊断端反馈所支持的最大逻辑通道数量。
5.如权利要求2所述的车辆诊断方法,其特征在于,所述待扫描系统数量的初始值通过如下方式确定:
获取所述目标车辆的车型;
根据所述车型获取对应的最高配车辆所配备的车辆系统的数量;
将所述最高配车辆所配备的车辆系统的数量确定为所述待扫描系统数量的初始值。
6.如权利要求2所述的车辆诊断方法,其特征在于,所述待扫描系统数量的初始值通过如下方式确定:
获取所述目标车辆的标识信息;
根据所述标识信息查询获得所述待扫描系统数量的初始值。
7.如权利要求1所述的车辆诊断方法,其特征在于,在通过所述指定数量的逻辑通道对所述指定数量的待扫描的车辆系统进行扫描诊断结束后,所述车辆诊断方法还包括:
销毁所述指定数量的逻辑通道。
8.一种车辆诊断装置,其特征在于,所述车辆诊断装置集成于诊断设备,所述诊断设备与车载诊断端通讯连接,所述车载诊断端与目标车辆通讯连接;所述车辆诊断装置包括:
创建模块,用于创建指定数量的任务线程,其中,所述指定数量不大于所述车载诊断端所支持的最大逻辑通道数量;
建立模块,用于在每个所述任务线程中,建立与所述目标车辆中的一个待扫描的车辆系统进行通讯的逻辑通道;
扫描模块,用于通过指定数量的所述逻辑通道分别对所述目标车辆中指定数量的待扫描的车辆系统进行扫描诊断,其中,不同逻辑通道所对应的待扫描的车辆系统不同;
检测模块,用于在所述扫描模块通过所述指定数量的逻辑通道对所述指定数量的待扫描的车辆系统进行扫描诊断结束后,检测所述目标车辆是否仍存在待扫描的车辆系统;
其中,所述创建模块在所述检测模块检测到所述目标车辆仍存在待扫描的车辆系统时再次被触发执行。
9.一种诊断设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111251766.3A CN113960984A (zh) | 2021-10-25 | 2021-10-25 | 车辆诊断方法、装置、诊断设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111251766.3A CN113960984A (zh) | 2021-10-25 | 2021-10-25 | 车辆诊断方法、装置、诊断设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113960984A true CN113960984A (zh) | 2022-01-21 |
Family
ID=79467535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111251766.3A Pending CN113960984A (zh) | 2021-10-25 | 2021-10-25 | 车辆诊断方法、装置、诊断设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113960984A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979239A (zh) * | 2022-05-24 | 2022-08-30 | 深圳市元征科技股份有限公司 | 一种远程诊断方法、装置及相关设备 |
CN116088486A (zh) * | 2023-04-10 | 2023-05-09 | 深圳市星卡科技股份有限公司 | 车辆电控系统的诊断方法、装置及车辆诊断设备 |
CN116088488A (zh) * | 2023-04-12 | 2023-05-09 | 深圳市星卡科技股份有限公司 | 基于多通道的通讯方法、系统及电子设备 |
-
2021
- 2021-10-25 CN CN202111251766.3A patent/CN113960984A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979239A (zh) * | 2022-05-24 | 2022-08-30 | 深圳市元征科技股份有限公司 | 一种远程诊断方法、装置及相关设备 |
CN116088486A (zh) * | 2023-04-10 | 2023-05-09 | 深圳市星卡科技股份有限公司 | 车辆电控系统的诊断方法、装置及车辆诊断设备 |
CN116088486B (zh) * | 2023-04-10 | 2023-06-13 | 深圳市星卡科技股份有限公司 | 车辆电控系统的诊断方法、装置及车辆诊断设备 |
CN116088488A (zh) * | 2023-04-12 | 2023-05-09 | 深圳市星卡科技股份有限公司 | 基于多通道的通讯方法、系统及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113960984A (zh) | 车辆诊断方法、装置、诊断设备及存储介质 | |
CN108107875B (zh) | 一种汽车诊断方法、装置和车辆通讯接口 | |
CN108227675B (zh) | 车辆诊断方法、装置、终端和计算机可读存储介质 | |
JP3227717U (ja) | 衝突チェックデータの処理装置 | |
CN102736615B (zh) | 汽车故障诊断方法 | |
CN110083628B (zh) | 一种车辆电子控制单元ecu的寻址方法及装置 | |
CN113066199A (zh) | 车辆下线诊断方法、车辆下线诊断装置及下线诊断设备 | |
CN108255152B (zh) | 车辆诊断方法、诊断盒和计算机可读存储介质 | |
CN113050601A (zh) | 车辆下线诊断方法、装置、诊断设备及存储介质 | |
CN113010200A (zh) | 一种刷写方法、刷写系统、刷写装置及服务器 | |
CN112034815A (zh) | 电动汽车ecu软件版本检测方法及系统 | |
CN111966391A (zh) | 一种车辆的系统配置方法、装置、终端设备及存储介质 | |
CN109960657B (zh) | 一种测试环境部署方法及相关装置 | |
CN111222972A (zh) | 对账清算方法及装置 | |
CN111881018A (zh) | 一种自动化测试动态调度系统 | |
CN112147987B (zh) | 一种车辆诊断方法、车辆诊断装置及终端设备 | |
CN115129025A (zh) | 一种整车下线配型方法、系统、可读存储介质及设备 | |
CN115470206A (zh) | Mes系统对接数据交互方法、系统、计算机设备及存储介质 | |
CN114967634A (zh) | 处理器诊断装置、处理器诊断方法和电子设备 | |
CN108803582B (zh) | 一种适用于远程故障诊断的总线自动切换系统及方法 | |
CN112235760A (zh) | 一种机器人配对方法、装置、终端设备及存储介质 | |
CN112104708B (zh) | 一种诊断设备的通讯方法、装置、电子设备及存储介质 | |
CN114721887B (zh) | 车机产线自动化测试方法 | |
CN112406748B (zh) | 一种车辆数据采集方法、装置及车辆诊断系统 | |
CN116431677B (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 |