本发明涉及故障诊断
技术领域:
,具体涉及一种发动机故障报出方法及装置。
背景技术:
:目前,是通过传感器信号的判定实现发动机故障诊断。由于传感器精度、感应盲区或者信号本身的干扰或失真等各类原因,发动机相关故障诊断,在实际的运行中会存在一定的诊断误差,进而导致部分故障无法及时报出,影响故障报出的及时性,影响到对故障的及时识别和对故障码的及时读取。技术实现要素:本发明的目的是针对上述现有技术的不足提出的一种发动机故障报出方法及装置,该目的是通过以下技术方案实现的。本发明的第一方面提出了一种发动机故障报出方法,所述方法包括:当检测到故障发送指令时,从故障内存中读取已存储的故障码并发送到控制器局域网络can总线;针对每一标定分组,判断读取的故障码中是否存在该标定分组包含的主故障码,所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;若是,则获取该分组包含的从故障码并发送到can总线。本发明的第二方面提出了一种发动机故障报出方法,所述方法包括:针对每一标定分组,判断该标定分组包含的主故障码的故障状态编码是否为故障报出状态;所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;若是,则从该标定分组中获取故障状态编码为未报出状态的从故障码,将获取的从故障码存入故障内存,以在接收到故障码读取请求和/或周期性发送故障码请求时,将所述故障内存中存储的故障码发送到控制器局域网络can总线。本发明的第三方面提出了一种发动机故障报出装置,所述装置包括:读取模块,用于当检测到故障发送指令时,从故障内存中读取已存储的故障码;第一发送模块,用于将读取的故障码发送到can总线;判断模块,用于针对每一标定分组,判断读取的故障码中是否存在该标定分组包含的主故障码,所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;第二发送模块,用于在判断为是时,获取该分组包含的从故障码并发送到can总线。本发明的第四方面提出了一种发动机故障报出装置,所述装置包括:判断模块,用于针对每一标定分组,判断该标定分组包含的主故障码的故障状态编码是否为故障报出状态;所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;存入模块,用于在判断为是时,从该标定分组中获取故障状态编码为未报出状态的从故障码,将获取的从故障码存入故障内存,以在接收到故障码读取请求和/或周期性发送故障码请求时,将所述故障内存中存储的故障码发送到控制器局域网络can总线。在本发明实施例中,ecu在检测到故障发送指令的触发条件时,除了将故障内存中已存储的故障码报出之外,还会将与故障内存中存储的主故障码相关联的从故障码也报出,这些从故障码有些可能在故障内存中已存储,而很可能有些不在故障内存中,因此为了保证故障报出的及时性和全面性,需要将所有关联的从故障码也报出。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为本发明根据一示例性实施例示出的一种发动机故障报出方法的实施例流程图;图2为本发明根据一示例性实施例示出的另一种发动机故障报出方法的实施例流程图;图3为本发明根据一示例性实施例示出的一种ecu的硬件结构图;图4为本发明根据一示例性实施例示出的一种发动机故障报出装置的实施例流程图;图5为本发明根据一示例性实施例示出的另一种发动机故障报出装置的实施例流程图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。对于发动机的故障诊断,会由于传感器精度、感应盲区或者信号本身的干扰或失真等原因,存在一定的诊断误差,本发明提出一种发动机故障报出方法,通过预先将发动机故障进行关联,而后只要有一个主故障报出,相关联的所有故障也都全部报出,以减少诊断误差带来的故障码读取不全问题,有效保证故障报出的及时性和故障码读取的全面性。下面以具体实施例对本发明提出的发动机故障报出方法进行详细说明。图1为本发明根据一示例性实施例示出的一种发动机故障报出方法的实施例流程图,所述发动机故障报出方法可以应用在ecu上,如图1所示,所述发动机故障报出方法包括如下步骤:步骤101:当检测到故障发送指令时,从故障内存中读取已存储的故障码并发送到can总线。其中,故障内存是用于存储已诊断出的故障码,ecu本地会定期报出故障内存中存储的故障码,当然也会应外部的故障码读取请求报出故障内存中存储的故障码。由此可见,所述故障发送指令的触发条件可以包括接收到故障码读取请求和/或周期性发送故障码请求。在本发明中,can(controllerareanetwork,控制器局域网络)总线与can仪表连接,当然在进行故障排除或读取故障码时,can通讯设备(如通用诊断仪)也可以连接到can总线上,以向ecu发送故障码读取请求。步骤102:针对每一标定分组,判断读取的故障码中是否存在该标定分组包含的主故障码。在执行步骤102之前,可以预先设定分组,每个分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码。其中,每个分组中可标定的故障码数量可以根据实际需求设置。例如,如表1所示的分组,包含三个故障码(第一个元素故障码1为主故障码,剩余的两个元素故障码2、故障码3均为故障码1的从故障码。主故障从故障从故障故障码1故障码2故障码3表1再例如,如表2所示的分组,包含三个故障码,第一个元素故障码100为主故障码,剩余的两个元素故障码112、故障码213均为故障码100的从故障码。表2步骤103:在判断为是时,获取该分组包含的从故障码并发送到can总线。需要说明的是,在执行步骤103之后,还可以修改从故障码的故障状态编码,以实现对从故障码的干预。修改过程可以是:针对每一从故障码,判断该从故障码的故障状态编码是否为故障报出状态,若否,则将该从故障码的故障状态编码修改为故障报出状态,并将该从故障码存入所述故障内存。其中,在ecu中,每一个故障码对应一个故障状态编码,故障状态编码通常包含8个bit位。可选的,可以由故障状态编码中的第一个和第二个bit位bit1bit0,或者第四个bit位bit4表示故障报出状态。即bit1bit0表示故障发生程度,当“00”时,表示未诊断出故障,当“10”时,表示已诊断出故障;bit4表示故障报出状态,当“1”时,表示故障报出,当“0”时,表示故障治愈;由上述描述可知,故障报出状态指的是故障状态编码中的bit4位为1,或者故障状态编码中的bit1bit0位为10。因此,将故障状态编码修改为故障报出状态是将bit4位置为1、bit1bit0位置为10至此,完成上述图1所示的发动机故障报出流程,通过图1所示的流程可以有效解决诊断误差导致部分故障无法报出的问题,提高了故障识别及时性和全面性。基于上述图1所示的实施例,ecu在检测到故障发送指令的触发条件时,除了将故障内存中已存储的故障码报出之外,还会将与故障内存中存储的主故障码相关联的从故障码也报出,这些从故障码有些可能在故障内存中已存储,而很可能有些不在故障内存中,因此为了保证故障报出的及时性和全面性,需要将所有关联的从故障码也报出。图2为本发明根据一示例性实施例示出的另一种发动机故障报出方法的实施例流程图,在上述图1所示实施例基础上,所述发动机故障报出方法也应用在ecu上,如图2所示,所述发动机故障报出方法包括如下步骤:步骤201:针对每一标定分组,判断该标定分组包含的主故障码的故障状态编码是否为故障报出状态。其中,如上述步骤103所示的故障状态编码,故障报出状态可以是bit4位为“1”,也可以是bit1bit0位为“10”。每一标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码。步骤202:在判断为是时,从该标定分组中获取故障状态编码为未报出状态的从故障码,将获取的从故障码存入故障内存,以在接收到故障码读取请求和/或周期性发送故障码请求时,将所述故障内存中存储的故障码发送到can总线。需要说明的是,在从该标定分组中获取故障状态编码为未报出状态的从故障码之后,可以将获取的从故障码的故障状态编码修改为已报出状态。针对步骤201至步骤202的过程,可以参见上述图1所示实施例的相关描述,不再赘述。基于上述图1所示的实施例,ecu是实时检测各个分组中主故障码的故障报出状态,当某一主故障码为故障报出状态时,通过将与其关联的所有从故障码均存入故障内存,以在接收到故障码读取请求和/或周期性发送故障码请求时,将故障内存中存储的故障码发送到控制器局域网络can总线,进而也可以保证故障报出的及时性和全面性。图3为本发明根据一示例性实施例示出的一种ecu的硬件结构图,该ecu包括:通信接口301、处理器302、机器可读存储介质303和总线304;其中,通信接口301、处理器302和机器可读存储介质303通过总线304完成相互间的通信。处理器302通过读取并执行机器可读存储介质303中与发动机故障报出方法的控制逻辑对应的机器可执行指令,可执行上文描述的发动机故障报出方法,该方法的具体内容参见上述实施例,此处不再累述。本发明中提到的机器可读存储介质303可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质303可以是ram(radomaccessmemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。与前述发动机故障报出方法的实施例相对应,本发明还提供了发动机故障报出装置的实施例。图4为本发明根据一示例性实施例示出的一种发动机故障报出装置的实施例流程图,所述发动机故障报出装置可以应用在ecu上,如图4所示,所述发动机故障报出装置包括:读取模块410,用于当检测到故障发送指令时,从故障内存中读取已存储的故障码;第一发送模块420,用于将读取的故障码发送到can总线;判断模块430,用于针对每一标定分组,判断读取的故障码中是否存在该标定分组包含的主故障码,所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;第二发送模块440,用于在判断为是时,获取该分组包含的从故障码并发送到can总线。在一可选实现方式中,所述装置包括(图4中未示出):状态编码修改模块,用于在所述第二发送模块440获取该分组包含的从故障码并发送到can总线之后,针对每一从故障码,判断该从故障码的故障状态编码是否为故障报出状态;若否,则将该从故障码的故障状态编码修改为故障报出状态,并将该从故障码存入所述故障内存。在一可选实现方式中,所述故障发送指令的触发条件包括接收到故障码读取请求和/或周期性发送故障码请求。图5为本发明根据一示例性实施例示出的另一种发动机故障报出装置的实施例流程图,所述发动机故障报出装置可以应用在ecu上,如图5所示,所述发动机故障报出装置包括:判断模块510,用于针对每一标定分组,判断该标定分组包含的主故障码的故障状态编码是否为故障报出状态;所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;存入模块520,用于在判断为是时,从该标定分组中获取故障状态编码为未报出状态的从故障码,将获取的从故障码存入故障内存,以在接收到故障码读取请求和/或周期性发送故障码请求时,将所述故障内存中存储的故障码发送到can总线。在一可选实现方式中,所述装置还包括(图5中未示出):状态编码修改模块,用于在所述存入模块520从该标定分组中获取故障状态编码为未报出状态的从故障码之后,将获取的从故障码的故障状态编码修改为已报出状态。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本
技术领域:
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页1 2 3 
技术特征:1.一种发动机故障报出方法,其特征在于,所述方法包括:
当检测到故障发送指令时,从故障内存中读取已存储的故障码并发送到控制器局域网络can总线;
针对每一标定分组,判断读取的故障码中是否存在该标定分组包含的主故障码,所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;
若是,则获取该分组包含的从故障码并发送到can总线。
2.根据权利要求1所述的方法,其特征在于,获取该分组包含的从故障码并发送到can总线之后,所述方法包括:
针对每一从故障码,判断该从故障码的故障状态编码是否为故障报出状态;
若否,则将该从故障码的故障状态编码修改为故障报出状态,并将该从故障码存入所述故障内存。
3.根据权利要求1所述的方法,其特征在于,所述故障发送指令的触发条件包括接收到故障码读取请求和/或周期性发送故障码请求。
4.一种发动机故障报出方法,其特征在于,所述方法包括:
针对每一标定分组,判断该标定分组包含的主故障码的故障状态编码是否为故障报出状态;所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;
若是,则从该标定分组中获取故障状态编码为未报出状态的从故障码,将获取的从故障码存入故障内存,以在接收到故障码读取请求和/或周期性发送故障码请求时,将所述故障内存中存储的故障码发送到控制器局域网络can总线。
5.根据权利要求4所述的方法,其特征在于,在从该标定分组中获取故障状态编码为未报出状态的从故障码之后,所述方法还包括:
将获取的从故障码的故障状态编码修改为已报出状态。
6.一种发动机故障报出装置,其特征在于,所述装置包括:
读取模块,用于当检测到故障发送指令时,从故障内存中读取已存储的故障码;
第一发送模块,用于将读取的故障码发送到控制器局域网络can总线;
判断模块,用于针对每一标定分组,判断读取的故障码中是否存在该标定分组包含的主故障码,所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;
第二发送模块,用于在判断为是时,获取该分组包含的从故障码并发送到can总线。
7.根据权利要求6所述的装置,其特征在于,所述装置包括:
状态编码修改模块,用于在所述第二发送模块获取该分组包含的从故障码并发送到can总线之后,针对每一从故障码,判断该从故障码的故障状态编码是否为故障报出状态;若否,则将该从故障码的故障状态编码修改为故障报出状态,并将该从故障码存入所述故障内存。
8.根据权利要求6所述的装置,其特征在于,所述故障发送指令的触发条件包括接收到故障码读取请求和/或周期性发送故障码请求。
9.一种发动机故障报出装置,其特征在于,所述装置包括:
判断模块,用于针对每一标定分组,判断该标定分组包含的主故障码的故障状态编码是否为故障报出状态;所述标定分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;
存入模块,用于在判断为是时,从该标定分组中获取故障状态编码为未报出状态的从故障码,将获取的从故障码存入故障内存,以在接收到故障码读取请求和/或周期性发送故障码请求时,将所述故障内存中存储的故障码发送到控制器局域网络can总线。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
状态编码修改模块,用于在所述存入模块从该标定分组中获取故障状态编码为未报出状态的从故障码之后,将获取的从故障码的故障状态编码修改为已报出状态。
技术总结本发明公开了一种发动机故障报出方法及装置,方法包括:当检测到故障发送指令时,从故障内存中读取已存储的故障码并发送到CAN总线;针对每一标定分组,判断读取的故障码中是否存在该标定分组包含的主故障码,分组的第一个元素为主故障码,除第一个元素之外的其他故障码为与主故障码关联的从故障码;若是,则获取该分组包含的从故障码并发送到CAN总线。在检测到故障发送指令的触发条件时,除了将故障内存中已存储的故障码报出之外,还会将与故障内存中存储的主故障码相关联的从故障码也报出,这些从故障码有些可能在故障内存中已存储,而很可能有些不在故障内存中,因此为了保证故障报出的及时性和全面性,需要将所有关联的从故障码也报出。
技术研发人员:秦涛;张善星;李兰菊;闫立冰;曹石
受保护的技术使用者:潍柴动力股份有限公司
技术研发日:2019.12.30
技术公布日:2020.06.05