一种车辆诊断方法及相关装置与流程

文档序号:33391274发布日期:2023-03-08 11:00阅读:101来源:国知局
一种车辆诊断方法及相关装置与流程

1.本技术涉及车辆技术领域,特别涉及一种车辆诊断方法、车辆诊断装置、计算设备以及计算机可读存储介质。


背景技术:

2.在车辆诊断的过程中一般使用odx和otx。其中,odx(open diagnostic data exchange,开放诊断数据交换)相当于一个诊断数据库,包含了车辆各ecu的诊断命令,算法,通讯参数等数据,otx(open test sequence exchange format,开放式测试序列交换格式)是专为汽车行业制定的序列开发标准。
3.相关技术中,在使用otx开发的诊断序列流程都需要使用到odx中的诊断数据,所以如果要对车辆进行诊断时必须同时要otx和odx文件,这样也将会导致诊断包过大,而且otx运行时需要多次去odx中查找相应的诊断数据也是会降低诊断的效率。
4.因此,如何提高进行车辆诊断的效率是本领域技术人员关注的重点问题。


技术实现要素:

5.本技术的目的是提供一种车辆诊断方法、车辆诊断装置、计算设备以及计算机可读存储介质,提高进行车辆诊断的效率。
6.为解决上述技术问题,本技术提供一种车辆诊断方法,包括:
7.获取待诊断车辆的车型信息;
8.基于所述车型信息获取并执行目标诊断文件,以实现对所述待诊断车辆的诊断;其中,所述目标诊断文件为根据odx文件以及所述车型信息对应的otx文件进行共同编译而成。
9.可选的,所述获取待诊断车辆的车型信息,包括:
10.获取所述待诊断车辆的车型信息以及待执行的目标诊断功能;
11.相应的,所述基于所述车型信息获取并执行目标诊断文件,包括:
12.基于所述车型信息与所述目标诊断功能,获取并执行对应的目标诊断文件;其中,所述目标诊断文件为根据odx文件以及所述车型信息以及目标诊断功能对应的otx文件进行共同编译而成。
13.可选的,在所述获取待诊断车辆的车型信息之前,还包括:
14.获取至少一个otx文件,每个所述otx文件对应一种车型信息的一个诊断功能;
15.针对每个所述otx文件,解析所述otx文件对应的诊断序列流程,得到至少一个诊断节点;
16.针对每个所述诊断节点,从所述odx文件中确定需引用的对应的odx数据;
17.将每个所述诊断节点中的引用代码替换成对应的odx数据,得到与该otx文件对应的诊断文件。
18.可选的,所述odx数据包括诊断命令、通讯参数、诊断算法中的一种或多种。
19.可选的,当所述诊断节点为创建通讯链路的节点,所述针对每个所述诊断节点,从所述odx文件中确定需引用的对应的odx数据,包括:
20.基于所述创建通讯链路的节点对应的引用代码从所述odx文件中获取通讯参数,将所述通讯参数作为所述odx数据。
21.可选的,当所述诊断节点为获取诊断命令的节点,所述针对每个所述诊断节点,从所述odx文件中确定需引用的对应的odx数据,包括:
22.基于所述获取诊断命令的节点对应的引用代码从所述odx文件中获取诊断命令,将所述诊断命令作为所述odx数据。
23.可选的,对所述待诊断车辆进行诊断的过程,包括:
24.基于所述目标诊断文件中的诊断序列流程和对应的odx数据对所述待诊断车辆进行诊断处理。
25.本技术还提供一种车辆诊断装置,包括:
26.车型信息确定模块,用于获取待诊断车辆的车型信息;
27.车辆诊断模块,用于基于所述车型信息获取并执行目标诊断文件,以实现对所述待诊断车辆的诊断;其中,所述目标诊断文件为根据odx文件以及所述车型信息对应的otx文件进行共同编译而成。
28.本技术还提供一种计算设备,包括:
29.存储器,用于存储计算机程序;
30.处理器,用于执行所述计算机程序时实现如上所述的车辆诊断方法的步骤。
31.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的车辆诊断方法的步骤。
32.本技术所提供的一种车辆诊断方法,包括:获取待诊断车辆的车型信息;基于所述车型信息获取并执行目标诊断文件,以实现对所述待诊断车辆的诊断;其中,所述目标诊断文件为根据odx文件以及所述车型信息对应的otx文件进行共同编译而成。
33.通过获取待诊断车辆的车型信息,然后基于所述车型信息获取并执行目标诊断文件,以实现对所述待诊断车辆的诊断,由于目标诊断文件为根据odx文件以及所述车型信息对应的otx文件进行共同编译而成,实现在诊断流程中直接使用对应的odx文件的数据,而不需要从odx文件再去查找对应的数据,提高进行车辆诊断的效率。
34.本技术还提供一种车辆诊断装置、计算设备以及计算机可读存储介质,具有以上有益效果,在此不作赘述。
附图说明
35.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
36.图1为本技术实施例所提供的一种车辆诊断方法的流程图;
37.图2为本技术实施例所提供的一种车辆诊断装置的结构示意图;
38.图3本技术实施例所提供的一种计算设备的结构示意图。
具体实施方式
39.本技术的核心是提供一种车辆诊断方法、车辆诊断装置、计算设备以及计算机可读存储介质,提高进行车辆诊断的效率。
40.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.相关技术中,在使用otx开发的诊断序列流程都需要使用到odx中的诊断数据,所以如果要对车辆进行诊断时必须同时要下载otx和odx文件,而整个odx文件是包含了所有车型所有ecu的诊断数据,而实际在对某个车辆进行诊断时,运行otx诊断序列从odx文件那里调取的odx数据只是很小的一部分。现有技术中,每次都要下载整个odx文件会导致诊断包过大,而且otx运行时需要多次去odx中查找相应的诊断数据也是会降低诊断的效率。
42.因此,本技术提供一种车辆诊断方法,通过获取待诊断车辆的车型信息,然后基于所述车型信息获取并执行目标诊断文件,以实现对所述待诊断车辆的诊断,由于目标诊断文件为根据odx文件以及所述车型信息对应的otx文件进行共同编译而成,实现在诊断流程中直接使用对应的odx文件的数据,而不需要从odx文件再去查找对应的数据,提高进行车辆诊断的效率。
43.以下通过一个实施例,对本技术提供的一种车辆诊断方法进行说明。
44.请参考图1,图1为本技术实施例所提供的一种车辆诊断方法的流程图。
45.本实施例中,该方法可以包括:
46.s101,获取待诊断车辆的车型信息;
47.具体地,可以通过获取车辆的vin码去确定车辆的车型信息。
48.s102,基于车型信息获取并执行目标诊断文件,以实现对待诊断车辆的诊断;其中,目标诊断文件为根据odx文件以及车型信息对应的otx文件进行共同编译而成。
49.在本实施例中,根据待诊断车辆的车型信息从服务器下载与该车型信息对应的目标诊断文件,该目标诊断文件根据odx文件以及车型信息对应的otx文件进行共同编译而成,包含了该车型对应的otx文件的所有诊断序列节点,并且包含了odx文件中与该车型对应的odx数据。
50.在本实施例中,该目标诊断文件包含了该车型对应的otx文件的所有诊断序列节点,针对每个诊断序列节点,若需要引用到该车型的odx数据,则直接将对应的odx数据替换otx文件的引用。因此,车辆进行诊断时,直接执行该目标诊断文件即可,无需下载整个odx文件,极大地减少了诊断包的大小,而且在目标诊断文件执行的时候,也不需要多次去odx文件中查找诊断数据,提高了诊断效率。
51.进一步的,在其他实施例中,步骤s101可以包括:
52.步骤1,获取待诊断车辆的车型信息以及待执行的目标诊断功能;
53.步骤2,基于车型信息与目标诊断功能,获取并执行对应的目标诊断文件;其中,目标诊断文件为根据odx文件以及车型信息以及目标诊断功能对应的otx文件进行共同编译而成。
54.可见,本可选方案中主要是说明如何基于目标诊断功能执行对应的目标诊断文
件。在上述实施例中,目标诊断文件更加细化为与具体车型的具体功能相对应。具体的应用场景可以是:在检测到用户触发目标诊断功能时,基于当前车型信息以及当前触发的目标诊断功能从服务器下载对应的目标诊断文件并执行。本实施例中的目标诊断文件是根据该车型该诊断功能对应的otx文件以及对应的需要引用的odx数据编译而成。
55.在一些其他实施例中,目标诊断文件也可以是事先下载到诊断设备中,本方案不做限定。进一步的,上述步骤2可以包括:
56.基于目标诊断文件中的诊断序列流程和对应的odx数据对待诊断车辆进行诊断处理。
57.进一步的,在本实施例中,在获取待诊断车辆的车型信息之前还需要编译得到诊断文件。因此,本实施例还可以包括:
58.步骤a,获取至少一个otx文件,每个otx文件对应一种车型信息的一个诊断功能;
59.步骤b,针对每个otx文件,解析otx文件对应的诊断序列流程,得到至少一个诊断节点;
60.步骤c,针对每个诊断节点,从odx文件中确定需引用的对应的odx数据;
61.步骤d,将每个诊断节点中的引用代码替换成对应的odx数据,得到与该otx文件对应的诊断文件。
62.可见,本可选方案中主要是说明如何得到诊断文件。本可选方案中,获取至少一个otx文件,每个otx文件对应一种车型信息的一个诊断功能;针对每个otx文件,解析otx文件对应的诊断序列流程,得到至少一个诊断节点;针对每个诊断节点,从odx文件中确定需引用的对应的odx数据;将每个诊断节点中的引用代码替换成对应的odx数据,得到与该otx文件对应的诊断文件。
63.其中,odx文件中的数据就是在诊断过程中采用的参数数据等,otx文件为诊断操作序列数据。其中,诊断序列流程包括了多个诊断节点。在执行诊断节点的过程可以存在需要诊断数据的情况。其中,诊断节点需要的诊断数据就是从odx文件中引用的数据。
64.其中,odx文件包括诊断命令、通讯参数、诊断算法中的一种或多种。
65.进一步的,当诊断节点为创建通讯链路的节点,针对每个诊断节点,从odx文件中确定需引用的对应的odx数据的过程,可以包括:
66.基于创建通讯链路的节点对应的引用代码从odx文件中获取通讯参数,将通讯参数作为odx数据。
67.可见,本可选方案中主要是说明如何确定引用的odx数据。本可选方案中,当诊断节点为创建通讯链路的节点,基于创建通讯链路的节点对应的引用代码从odx文件中获取通讯参数,将通讯参数作为odx数据。也就是,将创建通讯链路的节点对应的odx文件中的通讯参数作为引用的数据,并加入到诊断文件中。
68.进一步的,当诊断节点为获取诊断命令的节点,针对每个诊断节点,从odx文件中确定需引用的对应的odx数据的过程,可以包括:
69.基于获取诊断命令的节点对应的引用代码从odx文件中获取诊断命令,将诊断命令作为odx数据。
70.可见,本可选方案中主要是说明如何确定引用的odx数据。本可选方案中,当诊断节点为获取诊断命令的节点,基于获取诊断命令的节点对应的引用代码从odx文件中获取
诊断命令,将诊断命令作为odx数据。也就是,将获取诊断命令的节点对应的诊断命令作为引用的数据,并加入到诊断文件中。
71.综上,本实施例通过获取待诊断车辆的车型信息,然后基于车型信息获取并执行目标诊断文件,以实现对待诊断车辆的诊断,由于目标诊断文件为根据odx文件以及车型信息对应的otx文件进行共同编译而成,实现在诊断流程中直接使用对应的odx文件的数据,而不需要从odx文件再去查找对应的数据,提高进行车辆诊断的效率。
72.以下通过另一具体的实施例,对本技术提供的一种车辆诊断方法做进一步说明。
73.本实施例中,odx文件都是xml(extensible markup language,可扩展标记语言)格式的文件,odx中主要是存储了汽车中各个ecu(electronic control unit,电子控制单元)的诊断数据信息,整个odx数据模型分为七层:odx-d、odx-c、odx-v、odx-e、odx-fd、odx-f、odx-m。
74.其中,odx-m部分描述了多个ecu共同实现的某些诊断功能信息。
75.其中,odx-fd部分描述了面向功能的诊断信息。
76.其中,odx-e部分描述了车辆的配置信息,包括根据特定的车辆环境,地点,使能/关闭可选功能,设定特征曲线等,主要应用于ecu生产、售后。
77.其中,odx-d部分主要描述了诊断仪与ecu之间的通信过程,包括诊断服务的请求、响应格式及所用到的参数类型等。
78.其中,odx-c部分描述了诊断仪与ecu之间的通信参数,例如网络层定时参数、应用层定时参数、波特率等。
79.其中,odx-v描述了车辆的信息,例如oem(原始设备制造商)信息、车型信息、车辆拓扑等。
80.其中,odx-f部分主要对上传下载的数据进行描述,应用于在线刷新程序。
81.otx也是xml格式文件,主要用于开发诊断功能的序列流程(序列是由多个步骤按一定顺序执行),每个独立的诊断功能都可以对应一个otx文件,例如车辆的钥匙匹配,向ecu内写配置字,ecu更换,车辆校准等。
82.当odx的诊断数据和otx的诊断序列流程的xml文件都开发完成后就可以进行编译合并成一个诊断文件。编译过程首先需要加载对应的otx和odx文件。比如宝马325车型的钥匙匹配otx文件和325车型的odx文件。
83.然后,按otx文件中的诊断序列流程进行解析,针对流程中的每个诊断节点为单元进行编译,一个otx流程是由多个诊断节点按一定顺序组合起来的。
84.在处理每个节点时,判断其中是否引用到了odx的数据,如果没有引用odx则可以直接将节点信息原样输出到编译诊断文件中。
85.如果节点引用到了odx文件中的数据,就需要判断引用odx中的哪种类型数据。一般常用的引用有诊断命令,通讯参数,诊断算法,每种类型都需要专门处理。
86.例如,在otx的诊断节点中要创建通讯链路,就需要从odx文件中获取通讯参数,就可以打开odx文件,然后先通过odx-v中查找到ecu的[logical link]信息,其中包含了物理通信管脚如6、14,然后再通过odx-c查找到通信波特率参数[cp_baudrate]为500000,系统的通讯id如[cp_canphysreqid]为0x7e0,[cp_canrespusdtid]为0x 7e8,其它参数获取类似。
[0087]
例如,在otx的诊断节点中要获取诊断命令,就可以从odx-d中的[diagnostic services]数据部分按照服务的shortname来查找组合成诊断命令,例如otx节点要发送shortname为ecureset的诊断服务命令,可以在odx-d里面的[diagnostic services]中查找名称为ecureset的诊断服务信息,然后取出[request]命令,查找出来命令即为0x1001
[0088]
最后,otx节点获取到在odx中的诊断数据后,将otx引用部分直接用查找出来的诊断数据替换,然后输出到编译诊断文件中。
[0089]
直到otx文件中所有节点都已经处理过后,编译诊断文件就已经生成,其中集成了otx的流程以及odx中的数据,可以直接诊断使用。
[0090]
可见,本实施例通过先确定原始诊断序列流程中的每个诊断节点需要使用的引用数据,然后将引用数据直接替换原始诊断序列流程中的对应代码,以便在诊断流程中直接使用对应的数据,而不需要从原始诊断数据再去查找数据,提高进行车辆诊断的效率。
[0091]
下面对本技术实施例提供的车辆诊断装置进行介绍,下文描述的车辆诊断装置与上文描述的车辆诊断方法可相互对应参照。
[0092]
请参考图2,图2为本技术实施例所提供的一种车辆诊断装置的结构示意图。
[0093]
本实施例中,该装置可以包括:
[0094]
车型信息确定模块100,用于获取待诊断车辆的车型信息;
[0095]
车辆诊断模块200,用于基于车型信息获取并执行目标诊断文件,以实现对待诊断车辆的诊断;其中,目标诊断文件为根据odx文件以及车型信息对应的otx文件进行共同编译而成。
[0096]
可选的,该车型信息确定模块100,具体用于获取待诊断车辆的车型信息以及待执行的目标诊断功能;
[0097]
相应的,该车辆诊断模块200,具体用于基于车型信息与目标诊断功能,获取并执行对应的目标诊断文件;其中,目标诊断文件为根据odx文件以及车型信息以及目标诊断功能对应的otx文件进行共同编译而成。
[0098]
可选的,该装置还可以包括:
[0099]
诊断文件融合模块,用于获取至少一个otx文件,每个otx文件对应一种车型信息的一个诊断功能;针对每个otx文件,解析otx文件对应的诊断序列流程,得到至少一个诊断节点;针对每个诊断节点,从odx文件中确定需引用的对应的odx数据;将每个诊断节点中的引用代码替换成对应的odx数据,得到与该otx文件对应的诊断文件。
[0100]
可选的,该odx数据包括诊断命令、通讯参数、诊断算法中的一种或多种。
[0101]
可选的,该车辆诊断模块200,具体用于基于目标诊断文件中的诊断序列流程和对应的odx数据对待诊断车辆进行诊断处理。
[0102]
可见,本实施例通过获取待诊断车辆的车型信息,然后基于车型信息获取并执行目标诊断文件,以实现对待诊断车辆的诊断,由于目标诊断文件为根据odx文件以及车型信息对应的otx文件进行共同编译而成,实现在诊断流程中直接使用对应的odx文件的数据,而不需要从odx文件再去查找对应的数据,提高进行车辆诊断的效率。
[0103]
本技术还提供了一种计算设备,请参考图3,图3本技术实施例所提供的一种计算设备的结构示意图,该计算设备可包括:
[0104]
存储器,用于存储计算机程序;
[0105]
处理器,用于执行计算机程序时可实现如上述任意一种车辆诊断方法的步骤。
[0106]
如图3所示,为计算设备的组成结构示意图,计算设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
[0107]
在本技术实施例中,处理器10可以为中央处理器(central processing unit,cpu)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
[0108]
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行异常ip识别方法的实施例中的操作。
[0109]
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本技术实施例中,存储器11中至少存储有用于实现以下功能的程序:
[0110]
获取待诊断车辆的车型信息;
[0111]
基于车型信息获取并执行目标诊断文件,以实现对待诊断车辆的诊断;其中,目标诊断文件为根据odx文件以及车型信息对应的otx文件进行共同编译而成。
[0112]
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
[0113]
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
[0114]
通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
[0115]
当然,需要说明的是,图3所示的结构并不构成对本技术实施例中计算设备的限定,在实际应用中计算设备可以包括比图3所示的更多或更少的部件,或者组合某些部件。
[0116]
本技术还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种车辆诊断方法的步骤。
[0117]
该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0118]
对于本技术提供的计算机可读存储介质的介绍请参照上述方法实施例,本技术在此不做赘述。
[0119]
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0120]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应
认为超出本技术的范围。
[0121]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0122]
以上对本技术所提供的一种车辆诊断方法、车辆诊断装置、计算设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1