System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及车辆诊断,尤其涉及一种车辆诊断方法、装置、终端设备以及存储介质。
技术介绍
1、目前对车辆进行故障诊断时需要执行很多诊断功能,每一诊断功能都需要诊断设备依次发送诊断命令给电子控制单元(electronic control unit,ecu)去执行,同时电子控制单元也要回复多个诊断命令,导致整个诊断流程的交互报文比较多,诊断效率低。
技术实现思路
1、本申请的主要目的在于提供一种车辆诊断方法、装置、终端设备以及存储介质,旨在提升车辆诊断的效率。
2、为实现上述目的,本申请提供一种车辆诊断方法,所述车辆诊断方法包括:
3、在接收到诊断设备发送的例程执行命令时,获取所述例程执行命令中包含的至少一个输入参数和例程标识;
4、基于所述例程标识从诊断库中获取目标诊断例程;其中,所述诊断库中收录有至少一个诊断例程,每个诊断例程包括至少一个诊断功能节点和执行所述诊断例程所需的参数配置信息;所述参数配置信息包括输入参数;
5、基于所述至少一个输入参数对所述目标诊断例程中的各个所述诊断功能节点进行诊断,得到诊断结果;
6、返回所述诊断结果给所述诊断设备。
7、可选地,每一所述诊断例程对应每一例程脚本;所述基于所述至少一个输入参数对所述目标诊断例程中的各个所述诊断功能节点进行诊断,得到诊断结果的步骤包括;
8、将各个所述输入参数对应传递到目标例程脚本的各个所述诊断功能节点对应的实现函数中;其中,所述目标例程脚本
9、执行所述目标例程脚本,得到所述诊断结果。
10、可选地,所述诊断例程还包括多个所述诊断功能节点之间的执行顺序;所述执行所述目标例程脚本,得到所述诊断结果的步骤包括:
11、在执行所述目标例程脚本的过程中,按照多个所述诊断功能节点之间的执行顺序依次执行各个所述诊断功能节点对应的实现函数,得到所述诊断结果。
12、可选地,所述参数配置信息还包括输出参数;所述在执行所述目标例程脚本的过程中,按照多个所述诊断功能节点之间的执行顺序依次执行各个所述诊断功能节点对应的实现函数,得到所述诊断结果的步骤包括;
13、在执行所述目标例程脚本的过程中,按照多个所述诊断功能节点之间的执行顺序依次执行各个所述诊断功能节点对应的实现函数,得到各个所述诊断功能节点对应的输出参数具体值;
14、将各个所述诊断功能节点对应的输出参数具体值填充至预设的诊断日志模板中,得到所述诊断结果。
15、可选地,所述方法还包括:
16、在执行各个所述诊断功能节点对应的实现函数的过程中,对各个所述诊断功能节点所输入的输入参数进行合法性验证,得到验证结果;
17、若存在任一所述输入参数的验证结果为不合法,则输出提示信息并返回所述提示信息给所述诊断设备。
18、可选地,所述在接收到诊断设备发送的例程执行命令的步骤之前还包括:
19、按照待测试的诊断功能流程,将执行逻辑相同的诊断功能流程进行归类,得到各个类别的诊断功能流程;
20、基于每一类别的诊断功能流程对应生成每一诊断例程,并将每一所述诊断例程保存到所述诊断库中。
21、可选地,所述基于每一类别的诊断功能流程对应生成每一诊断例程,并将每一所述诊断例程保存到所述诊断库中的步骤包括;
22、为每一所述类别的诊断功能流程中所包含的各个诊断功能节点配置对应的参数配置信息;
23、获取每一类别的诊断功能流程对应的例程脚本模板,并基于每一类别的诊断功能流程对应的例程脚本模板和对应的参数配置信息生成每一诊断例程对应的例程脚本,并将每一诊断例程对应的例程脚本保存到所述诊断库中。
24、本申请实施例还提出一种车辆诊断装置,所述车辆诊断装置包括:
25、第一获取模块,用于在接收到诊断设备发送的例程执行命令时,获取所述例程执行命令中包含的至少一个输入参数和例程标识;
26、第二获取模块,用于基于所述例程标识从诊断库中获取目标诊断例程;其中,所述诊断库中收录有至少一个诊断例程,每个诊断例程包括至少一个诊断功能节点和执行所述诊断例程所需的参数配置信息;所述参数配置信息包括输入参数;
27、诊断模块,用于基于所述至少一个输入参数对所述目标诊断例程中的各个所述诊断功能节点进行诊断,得到诊断结果;
28、返回模块,用于返回所述诊断结果给所述诊断设备。
29、本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的车辆诊断程序,所述车辆诊断程序被所述处理器执行时实现如上所述的车辆诊断方法的步骤。
30、本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有车辆诊断程序,所述车辆诊断程序被处理器执行时实现如上所述的车辆诊断方法的步骤。
31、本申请实施例提出的车辆诊断方法、装置、终端设备以及存储介质,通过在接收到诊断设备发送的例程执行命令时,获取例程执行命令中包含的至少一个输入参数和例程标识;基于例程标识从诊断库中获取目标诊断例程;其中,诊断库中收录有至少一个诊断例程,每个诊断例程包括至少一个诊断功能节点和执行诊断例程所需的参数配置信息;参数配置信息包括输入参数;基于至少一个输入参数对目标诊断例程中的各个诊断功能节点进行诊断,得到诊断结果;返回诊断结果给诊断设备。本实施例方案通过将包含多个诊断功能节点的诊断流程封装成诊断例程,整个诊断例程执行过程中只需要诊断设备发送一条请求,且只需要电子控制单元回复一次请求,减少了整个诊断功能流程的报文交互,很大程度上提高了诊断的效率和开发的工作量。
本文档来自技高网...【技术保护点】
1.一种车辆诊断方法,其特征在于,所述车辆诊断方法包括:
2.根据权利要求1所述的车辆诊断方法,其特征在于,每一所述诊断例程对应每一例程脚本;所述基于所述至少一个输入参数对所述目标诊断例程中的各个所述诊断功能节点进行诊断,得到诊断结果的步骤包括;
3.根据权利要求2所述的车辆诊断方法,其特征在于,所述诊断例程还包括多个所述诊断功能节点之间的执行顺序;所述执行所述目标例程脚本,得到所述诊断结果的步骤包括:
4.根据权利要求3所述的车辆诊断方法,其特征在于,所述参数配置信息还包括输出参数;所述在执行所述目标例程脚本的过程中,按照多个所述诊断功能节点之间的执行顺序依次执行各个所述诊断功能节点对应的实现函数,得到所述诊断结果的步骤包括;
5.根据权利要求3所述的车辆诊断方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的车辆诊断方法,其特征在于,所述在接收到诊断设备发送的例程执行命令的步骤之前还包括:
7.根据权利要求6所述的车辆诊断方法,其特征在于,所述基于每一类别的诊断功能流程对应生成每一诊断例程,并将每
8.一种车辆诊断装置,其特征在于,所述车辆诊断装置包括:
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的车辆诊断程序,所述车辆诊断程序被所述处理器执行时实现如权利要求1-7中任一项所述的车辆诊断方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有车辆诊断程序,所述车辆诊断程序被处理器执行时实现如权利要求1-7中任一项所述的车辆诊断方法的步骤。
...【技术特征摘要】
1.一种车辆诊断方法,其特征在于,所述车辆诊断方法包括:
2.根据权利要求1所述的车辆诊断方法,其特征在于,每一所述诊断例程对应每一例程脚本;所述基于所述至少一个输入参数对所述目标诊断例程中的各个所述诊断功能节点进行诊断,得到诊断结果的步骤包括;
3.根据权利要求2所述的车辆诊断方法,其特征在于,所述诊断例程还包括多个所述诊断功能节点之间的执行顺序;所述执行所述目标例程脚本,得到所述诊断结果的步骤包括:
4.根据权利要求3所述的车辆诊断方法,其特征在于,所述参数配置信息还包括输出参数;所述在执行所述目标例程脚本的过程中,按照多个所述诊断功能节点之间的执行顺序依次执行各个所述诊断功能节点对应的实现函数,得到所述诊断结果的步骤包括;
5.根据权利要求3所述的车辆诊断方法,其特征在于,所述方法还包括:
【专利技术属性】
技术研发人员:刘新,庄文龙,
申请(专利权)人:深圳市元征科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。