一种诊断方法及集成ecu的制作方法

文档序号:6298024阅读:484来源:国知局
一种诊断方法及集成ecu的制作方法
【专利摘要】本申请提供了一种诊断方法及集成ECU,集成ECU中的接口模块存储有包括多个不同ECU各自诊断报文的ID的预设诊断报文的ID信息及每个诊断报文的ID与每个诊断报文的ID关联的接收句柄的预设接收句柄对应关系,路由模块存储有每个诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的预设诊断模块对应关系。通过接口模块依据预设接收句柄对应关系,确定待诊断报文的接收句柄;通过路由模块,依据预设诊断模块对应关系,确定待诊断数组对应的诊断模块,并将待诊断数组和待诊断数组的接收句柄路由至诊断模块;通过诊断模块,对待诊断数组中的诊断信息进行处理。因此,在集成ECU中,实现了准确的故障诊断。
【专利说明】一种诊断方法及集成ECU
【技术领域】
[0001]本申请涉及机车行业中EQJ (Electronic Control Unit,电子控制单元)软件设计领域,特别涉及一种诊断方法及集成ECU。
【背景技术】
[0002]车辆诊断,主要指在不对车辆进行拆解的情况下,确定车辆的技术情况、查明故障部位及原因。
[0003]车辆中每个EQJ (电子控制单元,Electronic Control Unit)都有各自的诊断模块,用以支持车辆的下线诊断。每个诊断模块都有各自的诊断报文的ID和诊断策略(即每个ECU都有各自的诊断报文的ID和诊断策略)。某一个ECU在进行诊断时,接收诊断仪发送的携带有该ECU的诊断报文的ID的诊断请求,对诊断请求进行处理并反馈诊断结果至诊断仪。
[0004]随着对车辆的可靠性、安全性、舒适性和便利性等性能要求的提高,ECU等硬件及ECU中诊断模块等软件的数量随之需要增加,导致车辆成本增加,为了降低车辆成本,需要简化车辆整体硬件结构及软件结构,把两个或两个以上的ECU合并为一个ECU,合并后的ECU中的各个诊断模块仍是独立的。但是在将两个或两个以上的ECU合并为一个ECU后,由于合并之前的各个ECU的诊断模块的诊断策略不一致,因此合并后得到的ECU中的各个诊断模块的诊断策略仍然不一致,导致基于合并后的ECU诊断方法,无法实现准确的故障诊断。
[0005]由上可见,目前基于合并的ECU的诊断方法存在无法实现准确的故障诊断的缺点。

【发明内容】

[0006]为解决上述技术问题,本申请实施例提供一种诊断方法及集成ECU,以达到在集成ECU中,根据不同ECU的不同诊断报文的ID来确定不同待诊断数组对应的诊断模块,来进行诊断处理。能够为每个待诊断报文确定对应的诊断模块,实现准确的故障诊断的目的,技术方案如下:
[0007]一种诊断方法,基于车辆中的集成ECU,所述集成ECU集成有多个不同ECU各自的诊断模块,所述集成ECU包括接口模块、路由模块和由多个不同ECU各自的诊断模块组成的诊断模块组,所述接口模块存储有包括多个不同ECU各自的诊断报文的ID的预设诊断报文的ID信息及每个诊断报文的ID与每个诊断报文的ID关联的接收句柄的预设接收句柄对应关系,所述路由模块存储有每个诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的预设诊断模块对应关系,所述方法包括:
[0008]通过所述接口模块,依据预设诊断报文的ID信息,确定待诊断报文,依据预设接收句柄对应关系,确定所述待诊断报文的接收句柄,并将所述待诊断报文对应的待诊断数组和所述待诊断数组的接收句柄传输至路由模块,所述待诊断数组中存储有所述待诊断报文中的数据,所述待诊断数组的接收句柄和所述待诊断报文的接收句柄相同;
[0009]通过所述路由模块,依据预设诊断模块对应关系,确定所述待诊断数组对应的诊断模块,并将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块;
[0010]通过与所述待诊断数组对应的诊断模块,对所述待诊断数组中的诊断信息进行处理。
[0011]优选的,在通过与所述待诊断数组对应的诊断模块,对所述待诊断数组中的诊断信息进行处理之后,还包括:
[0012]通过与所述待诊断数组对应的诊断模块,将对所述待诊断数组中的诊断信息进行处理后的诊断结果数组和所述诊断结果数组的接收句柄传递至所述路由模块,所述诊断结果数组的接收句柄和所述待诊断数组的接收句柄相同;
[0013]通过所述路由模块依据预设发送句柄对应关系,确定所述诊断结果数组对应的发送句柄,将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,所述预设发送句柄对应关系为所述路由模块中每个接收句柄和每个接收句柄关联的发送句柄的对应关系;
[0014]通过所述接口模块,将所述诊断结果数组封装成报文,通过所述发送句柄发送出去。
[0015]优选的,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块的过程,包括:
[0016]通过所述路由模块,依据预设诊断模块优先级对应关系和所述预设诊断模块对应关系,确定所述待诊断数组的路由顺序,依据所述路由顺序,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中相应的诊断模块;
[0017]其中,所述预设诊断模块优先级对应关系为每个诊断模块与每个诊断模块的优先级的对应关系。
[0018]优选的,所述通过所述接口模块,依据预设诊断报文的ID信息,确定待诊断报文的过程,包括:
[0019]通过所述接口模块接收所述集成E⑶的可接收报文;
[0020]通过所述接口模块在预设诊断报文的ID信息中匹配与所述可接收报文的ID相同的信息;
[0021]在匹配成功的情况下,确定所述可接收报文为待诊断报文;
[0022]在匹配失败的情况下,确定所述可接收报文为非诊断报文。
[0023]优选的,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块的过程,包括:
[0024]若在第一预设时间内成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条待诊断数组和下一条待诊断数组的接收句柄;
[0025]否则,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新路由所述待诊断数组和所述待诊断数组的接收句柄,在所述决定结果为放弃继续路由的情况下,等待路由下一条待诊断数组和下一条待诊断数组的接收句柄;
[0026]或,将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块的过程,包括:
[0027]若在第二预设时间内成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄;
[0028]否则,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,在所述决定结果为放弃继续路由的情况下,等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄。
[0029]一种集成E⑶,包括:第一接口模块、第一路由模块和诊断模块组,所述诊断模块组包括有多个不同ECU各自的诊断模块,所述第一接口模块存储有包括多个不同ECU各自的诊断报文的ID的预设诊断报文的ID信息及每个诊断报文的ID与每个诊断报文的ID关联的接收句柄的预设接收句柄对应关系,所述第一路由模块存储有每个诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的预设诊断模块对应关系,其中:
[0030]第一接口模块,用于依据预设诊断报文的ID信息,确定待诊断报文,依据预设接收句柄对应关系,确定所述待诊断报文的接收句柄,并将所述待诊断报文对应的待诊断数组和所述待诊断数组的接收句柄传输至路由模块,所述待诊断数组中存储有所述待诊断报文中的数据,所述待诊断数组的接收句柄和所述待诊断报文的接收句柄相同;
[0031]第一路由模块,用于依据预设诊断模块对应关系,确定所述待诊断数组对应的诊断模块,并将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的第一诊断模块;
[0032]与所述待诊断数组对应的第一诊断模块,用于对所述待诊断数组中的诊断信息进行处理。
[0033]优选的,还包括:
[0034]与所述待诊断数组对应的第二诊断模块,用于将所述第一诊断模块对所述待诊断数组中的诊断信息进行处理后的诊断结果数组和所述诊断结果数组的接收句柄传递至第二路由模块,所述诊断结果数组的接收句柄和所述待诊断数组的接收句柄相同;
[0035]第二路由模块,用于依据预设发送句柄对应关系,确定所述诊断结果数组对应的发送句柄,将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,所述预设发送句柄对应关系为所述第二路由模块中每个接收句柄和每个接收句柄关联的发送句柄的对应关系;
[0036]第二接口模块,用于将所述诊断结果数组封装成报文,通过所述发送句柄发送出去。
[0037]优选的,所述第一路由模块包括:
[0038]第一路由子模块,用于依据预设诊断模块优先级对应关系和所述预设诊断模块对应关系,确定所述待诊断数组的路由顺序,依据所述路由顺序,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中相应的第一诊断模块;[0039]其中,所述预设诊断模块优先级对应关系为每个诊断模块与每个诊断模块的优先级的对应关系。
[0040]优选的,所述第一接口模块包括:
[0041]接收单元,用于接收所述集成ECU的可接收报文;
[0042]匹配单元,用于在预设诊断报文的ID信息中匹配与所述可接收报文的ID相同的信息,在匹配成功的情况下,执行第一确定单元,在匹配失败的情况下,执行第二确定单元;
[0043]第一确定单元,用于确定所述可接收报文为待诊断报文;
[0044]第二确定单元,用于确定所述可接收报文为非诊断报文。
[0045]优选的,所述第一路由模块包括:
[0046]第一等待单元,用于若在第一预设时间内成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条待诊断数组和下一条待诊断数组的接收句柄;
[0047]第二等待单元,用于若在第一预设时间内未成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新路由所述待诊断数组和所述待诊断数组的接收句柄,在所述决定结果为放弃继续路由的情况下,等待路由下一条待诊断数组和下一条待诊断数组的接收句柄;
[0048]或,第二路由模块包括:
[0049]第三等待单元,用于若在第二预设时间内成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄;
[0050]第四等待单元,用于若在第二预设时间内未成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,在所述决定结果为放弃继续路由的情况下,等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄。
[0051]与现有技术相比,本申请的有益效果为:
[0052]在本申请中,由于集成ECU中的接口模块存储有包括多个不同ECU各自的诊断报文的ID的预设诊断报文的ID信息及每个诊断报文的ID与每个诊断报文的ID关联的接收句柄的预设接收句柄对应关系,路由1吴块存储有每个诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的预设诊断模块对应关系。因此通过所述接口模块依据预设接收句柄对应关系,可以确定所述待诊断报文对应的待诊断数组的接收句柄;通过路由模块,依据预设诊断模块对应关系,可以确定所述待诊断数组对应的诊断模块,并将所述待诊断数组和所述待诊断数组的接收句柄发送至所述诊断模块组中的相应诊断模块;通过相应的诊断模块,对所述待诊断数组中的诊断信息进行处理。[0053]因此,本申请可以在集成ECU中,根据不同ECU的不同诊断报文的ID来确定不同待诊断数组对应的诊断模块,来对待诊断数组中的诊断信息进行诊断处理即对待诊断报文中的数据中的诊断信息进行诊断处理。能够为每个待诊断报文确定对应的诊断模块,实现了准确的故障诊断。
【专利附图】

【附图说明】
[0054]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0055]图1是本申请提供的一种诊断方法的一种流程图;
[0056]图2是本申请提供的一种诊断方法的一种子流程图;
[0057]图3是本申请提供的一种诊断方法的另一种流程图;
[0058]图4是本申请提供的一种集成E⑶的一种结构示意图;
[0059]图5是本申请提供的一种第一接口模块的一种结构示意图;
[0060]图6是本申请提供的一种集成E⑶的另一种结构示意图。
【具体实施方式】
[0061]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0062]一个实施例
[0063]请参见图1,其示出了本申请提供的一种诊断方法的一种流程图,需要说明的是,本申请提供的诊断方法基于车辆中的集成ECU,本申请中的集成ECU集成有多个不同ECU各自的诊断模块,组成诊断模块组,集成ECU除了包括诊断模块组外,还包括接口模块和路由模块,其中,接口模块存储有预设诊断报文的ID信息及预设接收句柄对应关系,预设诊断报文的ID信息为包括有多个不同ECU各自的诊断报文的ID的信息,预设接收句柄对应关系为预设诊断报文的ID信息中每个ECU各自的诊断报文的ID与每个ECU各自的诊断报文的ID关联的接收句柄的对应关系;路由模块存储有预设诊断模块对应关系,预设诊断模块对应关系为预设诊断报文的ID信息中每个ECU各自的诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的对应关系。其中,诊断报文的ID为ECU中诊断报文的身份识别信息,不同的ECU的诊断报文的ID不同。诊断方法,可以包括以下步骤:
[0064]步骤Sll:通过所述接口模块,依据预设诊断报文的ID信息,确定待诊断报文,依据预设接收句柄对应关系,确定所述待诊断报文的接收句柄,并将所述待诊断报文的接收句柄和所述待诊断报文对应的待诊断数组传输至路由模块,所述待诊断数组中存储有所述待诊断报文中的数据。
[0065]在本实施例中,接口模块依据预设诊断报文的ID信息,确定可接收报文为诊断报文的具体过程可以参见图2,图2示出了本申请提供的一种诊断方法的一种子流程图,可以包括以下步骤:
[0066]步骤S21:通过所述接口模块接收所述集成E⑶的可接收报文。
[0067]其中,可接收报文包括集成ECU所集成的各个ECU各自的报文,当然,由于诊断模块对应的报文属于ECU的报文,因此诊断模块组中各个诊断模块对应的报文都为集成ECU的可接收报文。
[0068]步骤S22:通过接口模块在预设诊断报文的ID信息中匹配与可接收报文的ID相同的信息。
[0069]接口模块在预设诊断报文的ID信息中匹配与可接收报文的ID相同的信息,如果匹配成功,执行步骤S23,如果匹配不成功,执行步骤S24,即接口模块在预设诊断报文的ID信息中查找是否存在与可接收报文的ID相同的信息,如果查找到,执行步骤S23,否则,执行步骤S24。
[0070]步骤S23:确定可接收报文为待诊断报文。
[0071]接口模块存储的预设诊断报文的ID信息中若与可接收报文的ID匹配成功,说明可接收报文的ID为诊断报文的ID,说明可接收报文为待诊断报文。
[0072]步骤S24:确定所述可接收报文为非诊断报文。
[0073]接口模块存储的预设诊断报文的ID信息中若与可接收报文的ID匹配失败,说明可接收报文的ID非诊断报文的ID,说明可接收报文为非诊断报文。
[0074]由于在集成ECU内部各个模块(如、接口模块、路由模块和诊断模块)之间数据是以数组形式进行传递的,因此,接口模块在确定待诊断报文后,接口模块将待诊断报文中的数据存储在数组中,将存储有待诊断报文中的数据的数组作为待诊断数组。在进行与其他模块数据传递时,直接传递待诊断数组。
[0075]由于待诊断数组为待诊断报文中的数据,因此设置待诊断数组的接收句柄和待诊断报文的接收句柄相同。
[0076]步骤S12:通过所述路由模块,依据预设诊断模块对应关系,确定所述待诊断数组对应的诊断模块,并将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块。
[0077]在本实施例中,路由模块接收接口模块传输的待诊断数组的接收句柄和待诊断数组,依据预设诊断模块对应关系,确定待诊断数组的接收句柄关联的诊断模块,即可确定待诊断数组对应的诊断模块。
[0078]其中,依据预设诊断模块对应关系,确定待诊断数组的接收句柄关联的诊断模块的具体过程为:由于预设诊断模块对应关系为每个诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的对应关系,且待诊断报文为诊断报文,因此可以在预设诊断模块对应关系中确定待诊断报文的接收句柄关联的诊断模块,又由于待诊断数组的接收句柄和待诊断报文的接收句柄相同,因此依据待诊断数组的接收句柄直接在预设诊断模块对应关系中查找对应的诊断模块即可。
[0079]在确定待诊断数组对应的诊断模块后,路由模块将待诊断数组和待诊断数组的接收句柄路由至诊断模块组中的待诊断数组对应的诊断模块,由待诊断数组对应的诊断模块对待诊断数组进行处理即由待诊断数组对应的诊断模块对待诊断报文中的数据进行处理。
[0080]在本实施例中,路由模块将待诊断数组和待诊断数组的接收句柄路由至诊断模块组中的与所述待诊断数组对应的诊断模块的过程具体可以为:通过路由模块,依据预设诊断模块优先级和预设诊断模块对应关系,确定待诊断数组的路由顺序,依据待诊断数组的路由顺序,将待诊断数组和待诊断数组的接收句柄路由至诊断模块组中相应的诊断模块。其中,预设诊断模块优先级为每个诊断模块与每个诊断模块的优先级的对应关系。
[0081]预设诊断模块优先级对应关系在路由模块中设置,诊断模块优先级高的对应的路由顺序就靠前。
[0082]步骤S13:通过与所述待诊断数组对应的诊断模块,对所述待诊断数组中的诊断信息进行处理。
[0083]与待诊断数组对应的诊断模块在接收到待诊断数组后,对待诊断数组中的诊断信息进行处理。
[0084]需要说明的是,上层模块(如本申请中的路由模块、诊断模块)中使用句柄进行相应操作,可以使上层模块不必关心所接收到的报文的ID信息,具有处理速度快,模块可移植性好等优点,因此本申请中采用路由模块通过识别接收句柄来确定对应的诊断模块及诊断模块通过识别接收句柄对相应的待诊断数组进行处理的机制,在接口模块中存储预设接收句柄对应关系,将诊断报文的ID映射为接收句柄,以供路由模块和诊断模块识别,进行相应的操作处理。
[0085]在本申请中,由于集成ECU中的接口模块存储有包括多个不同ECU各自的诊断报文的ID的预设诊断报文的ID信息及每个诊断报文的ID与每个诊断报文的ID关联的接收句柄的预设接收句柄对应关系,路由1吴块存储有每个诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的预设诊断模块对应关系。因此通过所述接口模块依据预设接收句柄对应关系,可以确定所述待诊断报文对应的待诊断数组的接收句柄;通过路由模块,依据预设诊断模块对应关系,可以确定所述待诊断数组对应的诊断模块,并将所述待诊断数组和所述待诊断数组的接收句柄发送至所述诊断模块组中的相应诊断模块;通过相应的诊断模块,对所述待诊断数组中的诊断信息进行处理。
[0086]因此,本申请可以在集成ECU中,根据不同ECU的不同诊断报文的ID来确定不同待诊断数组对应的诊断模块,来对待诊断数组中的诊断信息进行诊断处理即对待诊断报文中的数据中的诊断信息进行诊断处理。能够为每个待诊断报文确定对应的诊断模块,实现了准确的故障诊断。
[0087]再一个实施例
[0088]在本实施例中,在图1示出的诊断方法的基础上扩展出另外一种诊断方法,请参见图3,图3示出的是本申请提供的一种诊断方法的另一种流程图,可以包括以下步骤:
[0089]步骤S31:通过所述接口模块,依据预设诊断报文的ID信息,确定待诊断报文,依据预设接收句柄对应关系,确定所述待诊断报文的接收句柄,并将所述待诊断报文对应的待诊断数组和所述待诊断数组的接收句柄传输至路由模块,所述待诊断数组中存储有所述待诊断报文中的数据,所述待诊断数组的接收句柄和所述待诊断报文的接收句柄相同。
[0090]步骤S32:通过所述路由模块,依据预设诊断模块对应关系,确定所述待诊断数组对应的诊断模块,并将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块。
[0091]在本实施例中,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块的过程可以为:
[0092]步骤All:判断在第一预设时间内是否成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块。
[0093]其中,路由模块可以根据需要对第一预设时间的数值进行设置。
[0094]若在第一预设时间内成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,则执行步骤A12,若在第一预设时间内未成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,则执行步骤A13。
[0095]步骤A12:等待路由下一条待诊断数组和下一条待诊断数组的接收句柄至所述诊断模块组中的与所述待诊断数组对应的诊断模块。
[0096]步骤A13:反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新路由所述待诊断数组和所述待诊断数组的接收句柄至所述诊断模块组中的与所述待诊断数组对应的诊断模块,在所述决定结果为放弃继续路由的情况下,等待路由下一条待诊断数组和下一条待诊断数组的接收句柄至所述诊断模块组中的与所述待诊断数组对应的诊断模块,返回执行步骤A12。
[0097]路由模块通过设置第一预设时间,并判断第一预设时间内是否成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,依据判断结果反馈发送成功报告或发送失败报告,在反馈发送成功报告或发送失败报告后,路由模块才进行相应的操作。路由模块能够在第一预设时间内反馈报告,不会出现长时间不反馈发送成功报告或发送失败包括的情况,避免了路由模块一直处于被占用状态,而影响将下一条待诊断数组和下一条待诊断数组的接收句柄路由至对应的诊断模块,从而影响整个E⑶的正常工作的情况发生。
[0098]步骤S33:通过与所述待诊断数组对应的诊断模块,对所述待诊断数组中的诊断信息进行处理。
[0099]步骤S34:通过与所述待诊断数组对应的诊断模块,将对所述待诊断数组中的诊断信息进行处理后的诊断结果数组和所述诊断结果数组的接收句柄传递至所述路由模块,所述诊断结果数组的接收句柄和所述待诊断数组的接收句柄相同。
[0100]由于诊断结果数组的接收句柄和待诊断数组的接收句柄相同,待诊断数组的接收句柄和待诊断报文的接收句柄相同,因此诊断结果数组的接收句柄和待诊断报文的接收句柄相同。
[0101]步骤S35:通过所述路由模块依据预设发送句柄对应关系,确定所述诊断结果数组对应的发送句柄,将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,所述预设发送句柄对应关系为所述路由模块中每个接收句柄和每个接收句柄关联的发送句柄的对应关系。
[0102]路由模块在接收到诊断结果数组和诊断结果数组的接收句柄后,依据预设发送句柄对应关系,确定诊断结果数组对应的发送句柄。其中,预设发送句柄对应关系为每个接收句柄和每个接收句柄关联的发送句柄的对应关系。
[0103]路由模块在确定诊断结果数组对应的发送句柄后,将诊断结果数组的发送句柄和诊断结果路由至接口模块。
[0104]在本实施例中,发送所述诊断结果数组的发送句柄和所述诊断结果数组至所述接口模块的过程可以为:
[0105]步骤A21:判断在第二预设时间内是否成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块。
[0106]其中,路由模块可以根据需要对第二预设时间的数值进行设置。
[0107]若在第二预设时间内成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,则执行步骤A22,若在第二预设时间内未成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,则执行步骤A23。
[0108]步骤A22:等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄至所述接口模块。
[0109]步骤A13:反馈发送失败报告至所述待诊断数组对应的诊断模块,并在待诊断数组对应的诊断模块接收到所述发送失败报告后反馈的结果为重新路由的情况下,重新将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,在待诊断数组对应的诊断模块接收到所述发送失败报告后反馈的结果为放弃继续路由的情况下,返回执行步骤 A12。
[0110]路由模块通过设置第二预设时间,并判断第二预设时间内是否成功发送所述诊断结果数组的发送句柄和所述诊断结果数组至所述接口模块,依据判断结果反馈发送成功报告或发送失败报告,在反馈发送成功报告或发送失败报告后,路由模块才进行相应的操作。路由模块能够在第二预设时间内反馈报告,不会出现长时间不反馈发送成功报告或发送失败包括的情况,避免了路由模块一直处于被占用状态,而影响下一条诊断结果数组和下一条诊断结果数组的发送句柄的路由,从而影响整个ECU的正常工作的情况发生。
[0111]步骤S36:通过所述接口模块,将所述诊断结果数组封装成报文,通过所述发送句发送出去。
[0112]其中,通过所述发送句柄发送出去的具体过程可以为:依据所述发送句柄对应的预设发送诊断报文的ID对应关系,确定所述诊断结果数组的发送诊断报文的ID,获取所述诊断结果数组的发送诊断报文的ID对应的发送函数并运行,将所述诊断结果数组封装成的报文发送出去。
[0113]所述预设发送诊断报文的ID对应关系为每个发送句柄与每个发送句柄关联的发送诊断报文的ID的对应关系。
[0114]预设发送诊断报文的ID对应关系存储在接口模块中。
[0115]对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0116]与上述方法实施例相对应,本申请还提供了一种集成ECU,请参见图4,图4示出的是本申请提供的一种集成ECU的一种结构示意图,诊断系统包括:第一接口模块41、第一路由模块42和诊断模块组43,其中诊断模块组43包括有多个不同E⑶各自的诊断模块。
[0117]在本实施例中,第一接口模块41存储有包括多个不同ECU各自的诊断报文的ID的预设诊断报文的ID信息及每个诊断报文的ID与每个诊断报文的ID关联的接收句柄的预设接收句柄对应关系。第一路由模块42存储有每个诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的预设诊断模块对应关系,
[0118]第一接口模块41,用于依据预设诊断报文的ID信息,确定待诊断报文,依据预设接收句柄对应关系,确定所述待诊断报文的接收句柄,并将所述待诊断报文对应的待诊断数组和所述待诊断数组的接收句柄传输至第一路由模块42,所述待诊断数组中存储有所述待诊断报文中的数据,所述待诊断数组的接收句柄和所述待诊断报文的接收句柄相同。
[0119]在本实施例中,第一接口模块41的具体结构可以参见图5,图5示出的是本申请提供的一种第一接口模块的一种结构示意图,第一接口模块包括:接收单元51、匹配单元52、第一确定单元53和第二确定单元54。
[0120]接收单元51,用于接收所述集成E⑶的可接收报文。
[0121]匹配单元52,用于在预设诊断报文的ID信息中匹配与所述可接收报文的ID相同的信息,在匹配成功的情况下,执行第一确定单元53,在匹配失败的情况下,执行第二确定单元54。
[0122]第一确定单元53,用于确定可接收报文为待诊断报文。
[0123]第二确定单元54,用于确定可接收报文为非诊断报文。
[0124]第一路由模块42,用于依据预设诊断模块对应关系,确定所述待诊断数组对应的诊断模块,并将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的第一诊断模块。
[0125]在本实施例中,第一路由模块42可以包括:第一路由子模块,用于依据预设诊断模块优先级对应关系和所述预设诊断模块对应关系,确定所述待诊断数组的路由顺序,依据所述路由顺序,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中相应的第一诊断模块。
[0126]其中,预设诊断模块优先级对应关系为每个诊断模块与每个诊断模块的优选级的对应关系。
[0127]在本实施例中,第一路由模块可以包括:第一等待单元和第二等待单元,其中:
[0128]第一等待单元,用于若在第一预设时间内成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条待诊断数组和下一条待诊断数组的接收句柄。
[0129]第二等待单元,用于若在第一预设时间内未成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新路由所述待诊断数组和所述待诊断数组的接收句柄,在所述决定结果为放弃继续路由的情况下,等待路由下一条待诊断数组和下一条待诊断数组的接收句柄。
[0130]与所述待诊断数组对应的第一诊断模块,用于对所述待诊断数组中的诊断信息进行处理。
[0131]另一个实施例[0132]在本实施例中,在图4示出的一种集成ECU的基础上扩展出另外一种集成ECU的结构示意图,请参见图6,图6示出的是本申请提供的一种集成ECU的另一种结构示意图,在图4的集成E⑶的基础上还包括:第二诊断模块61、第二路由模块62和第二接口模块63。
[0133]第二诊断模块61,与待诊断数组对应,用于将所述第一诊断模块对所述待诊断数组中的诊断信息进行处理后的诊断结果数组和所述诊断结果数组的接收句柄传递至第二路由模块62,所述诊断结果数组的接收句柄和所述待诊断数组的接收句柄相同。
[0134]第二路由模块62,用于依据预设发送句柄对应关系,确定所述诊断结果数组对应的发送句柄,将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,所述预设发送句柄对应关系为所述第二路由模块中每个接收句柄和每个接收句柄关联的发送句柄的对应关系。
[0135]在本实施例中,第二路由模块62可以包括:第三等待单元,用于若在第二预设时间内成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄。
[0136]第四等待单元,用于若在第二预设时间内未成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,在所述决定结果为放弃继续路由的情况下,等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄。
[0137]第二接口模块63,用于将所述诊断结果数组封装成报文,通过所述发送句柄发送出去。
[0138]其中,第二接口模块63具体用于依据所述发送句柄对应的预设发送诊断报文的ID对应关系,确定所述诊断结果数组的发送诊断报文的ID,获取所述诊断结果数组的发送诊断报文的ID对应的发送函数并运行,将所述诊断结果封装成的报文发送出去。
[0139]所述预设发送诊断报文的ID对应关系为每个发送句柄与每个发送句柄关联的发送诊断报文的ID的对应关系。
[0140]需要说明的是,第二诊断模块61和诊断模块组45中的第一诊断模块可以集成为一个诊断模块,第二路由模块62和第一路由模块44可以集成为一个路由模块,第二接口模块63和第一接口模块42可以集成为一个接口模块。
[0141]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0142]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0143]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。 [0144]以上对本申请所提供的一种诊断方法及集成ECU进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.一种诊断方法,其特征在于,基于车辆中的集成ECU,所述集成ECU集成有多个不同ECU各自的诊断模块,所述集成ECU包括接口模块、路由模块和由多个不同ECU各自的诊断模块组成的诊断模块组,所述接口模块存储有包括多个不同ECU各自的诊断报文的ID的预设诊断报文的ID信息及每个诊断报文的ID与每个诊断报文的ID关联的接收句柄的预设接收句柄对应关系,所述路由模块存储有每个诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的预设诊断模块对应关系,所述方法包括: 通过所述接口模块,依据预设诊断报文的ID信息,确定待诊断报文,依据预设接收句柄对应关系,确定所述待诊断报文的接收句柄,并将所述待诊断报文对应的待诊断数组和所述待诊断数组的接收句柄传输至路由模块,所述待诊断数组中存储有所述待诊断报文中的数据,所述待诊断数组的接收句柄和所述待诊断报文的接收句柄相同; 通过所述路由模块,依据预设诊断模块对应关系,确定所述待诊断数组对应的诊断模块,并将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块; 通过与所述待诊断数组对应的诊断模块,对所述待诊断数组中的诊断信息进行处理。
2.根据权利要求1所述的方法,其特征在于,在通过与所述待诊断数组对应的诊断模块,对所述待诊断数组中的诊断信息进行处理之后,还包括: 通过与所述待诊断数组对应的诊断模块,将对所述待诊断数组中的诊断信息进行处理后的诊断结果数组和所述诊断结果数组的接收句柄传递至所述路由模块,所述诊断结果数组的接收句柄和所述待诊断数组的接收句柄相同; 通过所述路由模块依据预设发送句柄对应关系,确定所述诊断结果数组对应的发送句柄,将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,所述预设发送句柄对应关系为所述路由模块中每个接收句柄和每个接收句柄关联的发送句柄的对应关系; 通过所述接口模块,将所述诊断结果数组封装成报文,通过所述发送句柄发送出去。
3.根据权利要求1所述的方法,其特征在于,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块的过程,包括: 通过所述路由模块,依据预设诊断模块优先级对应关系和所述预设诊断模块对应关系,确定所述待诊断数组的路由顺序,依据所述路由顺序,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中相应的诊断模块; 其中,所述预设诊断模块优先级对应关系为每个诊断模块与每个诊断模块的优先级的对应关系。
4.根据权利要求1所述的方法,其特征在于,所述通过所述接口模块,依据预设诊断报文的ID信息,确定待诊断报文的过程,包括: 通过所述接口模块接收所述集成ECU的可接收报文; 通过所述接口模块在预设诊断报文的ID信息中匹配与所述可接收报文的ID相同的信息; 在匹配成功的情况下,确定所述可接收报文为待诊断报文; 在匹配失败的情况下,确定所述可接收报文为非诊断报文。
5.根据权利要求2所述的方法,其特征在于,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块的过程,包括:若在第一预设时间内成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条待诊断数组和下一条待诊断数组的接收句柄;否则,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新路由所述待诊断数组和所述待诊断数组的接收句柄,在所述决定结果为放弃继续路由的情况下,等待路由下一条待诊断数组和下一条待诊断数组的接收句柄; 或,将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块的过程,包括: 若在第二预设时间内成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄; 否则,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,在所述决定结果为放弃继续路由的情况下,等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄。
6.一种集成E⑶,其特征在于,包括:第一接口模块、第一路由模块和诊断模块组,所述诊断模块组包括有多个不同ECU各自的诊断模块,所述第一接口模块存储有包括多个不同ECU各自的诊断报文的ID的预设诊断报文的ID信息及每个诊断报文的ID与每个诊断报文的ID关联的接收句柄的预设接收句柄对应关系,所述第一路由模块存储有每个诊断报文的ID关联的接收句柄与每个接收句柄关联的诊断模块的预设诊断模块对应关系,其中: 第一接口模块,用于依据预设诊断报文的ID信息,确定待诊断报文,依据预设接收句柄对应关系,确定所述待诊断报文的接收句柄,并将所述待诊断报文对应的待诊断数组和所述待诊断数组的接收句柄传输至路由模块,所述待诊断数组中存储有所述待诊断报文中的数据,所述待诊断数组的接收句柄和所述待诊断报文的接收句柄相同; 第一路由模块,用于依据预设诊断模块对应关系,确定所述待诊断数组对应的诊断模块,并将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的第一诊断模块; 与所述待诊断数组对应的第一诊断模块,用于对所述待诊断数组中的诊断信息进行处理。
7.根据权利要求6所述的E⑶,其特征在于,还包括: 与所述待诊断数组对应的第二诊断模块,用于将所述第一诊断模块对所述待诊断数组中的诊断信息进行处理后的诊断结果数组和所述诊断结果数组的接收句柄传递至第二路由模块,所述诊断结果数组的接收句柄和所述待诊断数组的接收句柄相同; 第二路由模块,用于依据预设发送句柄对应关系,确定所述诊断结果数组对应的发送句柄,将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,所述预设发送句柄对应关系为所述第二路由模块中每个接收句柄和每个接收句柄关联的发送句柄的对应关系;第二接口模块,用于将所述诊断结果数组封装成报文,通过所述发送句柄发送出去。
8.根据权利要求6所述的ECU,其特征在于,所述第一路由模块包括: 第一路由子模块,用于依据预设诊断模块优先级对应关系和所述预设诊断模块对应关系,确定所述待诊断数组的路由顺序,依据所述路由顺序,将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中相应的第一诊断模块; 其中,所述预设诊断模块优先级对应关系为每个诊断模块与每个诊断模块的优先级的对应关系。
9.根据权利要求6所述的ECU,其特征在于,所述第一接口模块包括: 接收单元,用于接收所述集成ECU的可接收报文; 匹配单元,用于在预设诊断报文的ID信息中匹配与所述可接收报文的ID相同的信息,在匹配成功的情况下,执行第一确定单元,在匹配失败的情况下,执行第二确定单元; 第一确定单元,用于确定所述可接收报文为待诊断报文; 第二确定单元,用于确定所述可接收报文为非诊断报文。
10.根据权利要求7所述的ECU,其特征在于,所述第一路由模块包括: 第一等待单元,用于若在第一预设时间内成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条待诊断数组和下一条待诊断数组的接收句柄; 第二等待单元,用于若在第一预设时间内未成功将所述待诊断数组和所述待诊断数组的接收句柄路由至所述诊断模块组中的与所述待诊断数组对应的诊断模块,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新路由所述待诊断数组和所述待诊断数组的接收句柄,在所述决定结果为放弃继续路由的情况下,等待路由下一条待诊断数组和下一条待诊断数组的接收句柄; 或,第二路由模块包括: 第三等待单元,用于若在第二预设时间内成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,则反馈发送成功报告至所述待诊断数组对应的诊断模块,并等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄; 第四等待单元,用于若在第二预设时间内未成功将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,反馈发送失败报告至所述待诊断数组对应的诊断模块,并等待所述待诊断数组对应的诊断模块发送的决定结果,在所述决定结果为重新路由的情况下,重新将所述诊断结果数组的发送句柄和所述诊断结果数组路由至所述接口模块,在所述决定结果为放弃继续路由的情况下,等待路由下一条诊断结果数组和下一条诊断结果数组的发送句柄。
【文档编号】G05B23/02GK103607327SQ201310645896
【公开日】2014年2月26日 申请日期:2013年12月3日 优先权日:2013年12月3日
【发明者】李金标 申请人:北京经纬恒润科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1