一种汽车控制器自动诊断装置及方法

xiaoxiao2020-11-9  10

一种汽车控制器自动诊断装置及方法
【技术领域】
[0001]本发明涉及一种汽车控制器诊断技术,具体地说,是一种汽车控制器自动诊断装置及方法。
【背景技术】
[0002]EQJ(Electronic Control Unit,电子控制单元),又称“行车电脑”、“车载电脑”等。从用途上讲是汽车专用微机控制器,也叫汽车专用单片机。它和普通的单片机一样,由微处理器(CPU)、存储器(ROM、RAM)、输入/输出接口(1/0)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。
[0003]随着汽车技术的不断发展,各种不同功能的控制器被开发出来,汽车电器网络越来越复杂。控制器数量的增加,必然会导致与控制器相关故障的增加。因此为了保证汽车的安全运行,对控制器的功能性、安全性与可靠性要求也越来越高。
[0004]为保证每一个控制器能正常运行,必须在诊断功能方面保证诊断服务的正确性。控制器诊断服务的测试包括正反馈的测试和负反馈的测试。在测试过程中将诊断工具与控制器连接,针对每个控制器的每条服务逐项模拟正反馈或者负反馈的条件,发送相应的报文,判断收到的反馈是否为期望值。
[0005]但是,现有技术中,不同控制器的工作原理和环境各不相同,因此针对不同的控制器需要模拟不同的诊断条件。同样,各诊断服务的正反馈和负反馈条件各不相同,需要分别模拟。这就需要多个诊断工具分别诊断不同的控制器,使得成本大大增加,操作也更为复杂O

【发明内容】

[0006]本发明要解决的技术问题是提供一种汽车控制器自动诊断装置及方法,可以模拟不同的诊断条件,实现对汽车控制器快速、高效的自动诊断。
[0007]为了解决上述技术问题,本发明提供了一种汽车控制器自动诊断装置,包括:
[0008]存储模块,用于存储以单个诊断服务为单位的测试用例;
[0009]检测模块,用于从所述存储模块中调用测试用例,根据测试用例发送测试报文到待测控制器;
[0010]检测结果判断模块,用于接收从所述待测控制器返回的反馈报文,并判断反馈报文是否符合标准,若符合,输出测试通过的结果;若不符合,输出测试结果未通过的结果。
[0011]进一步地,所述检测模块从所述存储模块中依次调用多个测试用例进行测试。
[0012]进一步地,还包括:选择模块,用于接收用户的设置,从所述存储模块所存储的测试用例中选择出需要测试的测试用例;其中,所述选择出需要测试的测试用例包括测试服务的选择和测试子服务的选择。
[0013]所述检测模块根据所述选择模块选择的测试用例进行测试。
[0014]进一步地,所述选择模块还将用户设置保存,所述检测模块调用存储的前一次用户设置,根据调用的用户设置从所述存储模块所存储的测试用例中选择出需要测试的测试用例。
[0015]进一步地,所述检测模块依次判断调用的测试用例是否适用当前待测控制器,若适用,向所述待测控制器发送测试报文;若不适用,跳过该测试用例,调用下一测试用例。
[0016]本发明还提供了一种汽车控制器自动诊断方法,包括:
[0017]A、将测试项目以单个诊断服务为单位编制测试用例并存储;
[0018]B、调用存储的测试用例,根据测试用例发送测试报文到待测控制器;
[0019]C、接收从所述待测控制器返回的反馈报文,并判断反馈报文是否符合标准,若符合,输出测试通过的结果;若不符合,输出测试结果未通过的结果。
[0020]进一步地,所述步骤B中,依次调用多个测试用例进行测试。
[0021]进一步地,所述步骤B之前还包括由用户选择测试用例的步骤;所述步骤B中,依次调用用户选择的测试用例,根据测试用例发送测试报文到待测控制器。
[0022]进一步地,所述步骤B中,依次调用存储的全部测试用例进行测试。
[0023]进一步地,所述步骤B中,依次判断调用的测试用例是否适用当前待测控制器,若适用,向所述待测控制器发送测试报文;若不适用,跳过该测试用例,调用下一测试用例。
[0024]本发明的汽车控制器自动诊断装置及方法以单个诊断服务为单位,在对控制器测试时可以任意选择所支持的服务和子服务进行测试,对于控制器不支持的服务可以跳过不执行。并且测试方式灵活,既可以对单一控制器进行测试,也可以对汽车网络中的任意控制器进行测试。本发明可以在物理寻址和功能寻址两种寻址方式之间进行切换。本发明可以实现自动化测试,无需手动发送报文,并且自动生成测试报告,使工作效率大大优化。
【附图说明】
[0025]图1是本发明的汽车控制器自动诊断装置的测试场景框图。
[0026]图2是本发明的汽车控制器自动诊断装置的原理框图。
[0027]图3是本发明中用户的设置界面的一实施列图。
[0028]图4是本发明的汽车控制器自动诊断方法的流程图。
[0029]图5是本发明中每个测试用例的测试流程。
【具体实施方式】
[0030]下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0031]本发明针对每个服务的不同正反馈和负反馈的测试以单个服务为单位编写为通用型测试用例,将每个服务的各种测试用例集合为一个测试模块,再将所有测试模块整合成为可以适用于各种控制器的自动化测试程序。
[0032]如图1所示,本发明将诊断工具与控制器(EQJ)通过CAN(ControIIer AreaNetwork,控制器局域网络)线和BOB(接线盒)连接,同时连接电源和必要的模拟输入。诊断工具连接到上位机上。控制器可单独与诊断工具连接进行测试,也可以在实车上对单个控制器进行测试。
[0033]本发明的汽车控制器自动诊断装置一般可设置于上位机上,当然,根据需要,也可以开发出具有足够处理能力的诊断工具,将诊断工具智能化。例如将诊断工具与平板电脑集成在一起。此时可以将本发明的汽车控制器自动诊断装置直接集成于诊断工具中,本发明对此不作限定。
[0034]如图2所示,本发明的汽车控制器自动诊断装置包括:
[0035]存储模块201,用于存储以单个诊断服务为单位的测试用例;
[0036]检测模块202,用于从存储模块201中调用测试用例,根据测试用例发送测试报文到待测控制器;
[0037]检测结果判断模块203,用于接收从待测控制器返回的反馈报文,并判断反馈报文是否符合标准,若符合,输出测试通过的结果;若不符合,输出测试结果未通过的结果。
[0038]由于存储模块201中保存有多个测试用例,检测模块202根据需要可以从存储模块201中依次调用多个测试用例进行测试。在调用多个测试用例的方式上,可以设置一选择模块204,用于接收用户的设置,从存储模块201所存储的测试用例中选择出需要测试的测试用例,然后由检测模块202根据选 择模块204选择的测试用例进行测试。用户的设置界面的一实施列如图3所示。其中,选择出需要测试的测试用例包括测试服务的选择和测试子服务的选择。
[0039]另外,也可以选择模块204还可以将用户设置保存,检测模块202调用已经存储的用户设置。当执行测试程序调用测试用例进行测试时,可以先判断调用的测试用例是否适用当前待测控制器,若适用,向待测控制器发送测试报文;若不适用,跳过该测试用例,调用下一测试用例。判断是否适用的方式可以有多种,例如预先设置测试用例的适用列表,然后根据当前待测控制器的种类到测试用例的适用列表查询。如图4所示,本发明的汽车控制器自动诊断方法,包括:
[0040]步骤401:将测试项目以单个诊断服务为单位编制测试用例并存储;
[0041]步骤402:调用存储的测试用例,根据测试用例发送测试报文到待测控制器;
[0042]步骤403:接收从待测控制器返回的反馈报文,并判断反馈报文是否符合标准,若符合,输出测试通过的结果;若不符合,输出测试结果未通过的结果。
[0043]其中,在步骤402中,可以依次调用多个测试用例进行测试。
[0044]另外,可以在步骤402之前增加由用户选择测试用例的步骤4015 ;相应地,步骤402中,依次调用用户选择的测试用例,根据测试用例发送测试报文到待测控制器。
[0045]或者,用户选择测试服务和测试用例后,可将该选择保存,待下一次测试时点击加载可自动选择已存的测试服务和测试用例。在本实施例中,可以在步骤402之前导入用户存储的待测控制器的设置。依次调用存储的测试用例进行测试时,首先依次判断调用的测试用例是否适用当前待测控制器,若适用,向待测控制器发送测试报文;若不适用,跳过该测试用例,调用下一测试用例。
[0046]具体地,每个测试用例的测试流程如图5所示,包括:
[0047]步骤501:初始化;
[0048]步骤502:向待测控制器发送测试报文;
[0049]步骤503:接收待测控制器反馈的报文,并判断反馈的报文是否为预计的反馈,若是,执行步骤504 ;若否,执行步骤505 ;
[0050]步骤504:判断测试结果为测试通过,执行步骤506 ;
[0051]步骤505:判断测试结果为测试不通过,执行步骤506 ;
[0052]步骤506:根据测试结果生成测试报告。
[0053]本发明首先分析并编写控制器诊断服务层的全面测试用例,涵盖诊断规范所涉及的各个方面,以单个诊断服务为单位,将该服务的所有测试用例集成为一个测试模块,作为一个测试单元。对控制器进行测试时可以选择测试或者不测试某个诊断服务模块;待测的诊断服务也可以选择测试或者不测试某个诊断子服务。
[0054]诊断服务报文发送的寻址方式为物理寻址和功能寻址两种可选,物理寻址地址为可编辑变量。通过程序实现使测试者可以自由选择欲测试的控制器和寻址方式。本发明将Applicat1n和Bootloader分为两个测试部分,各自包含若干诊断服务测试模块,并在测试程序运行结束后可自动测试报告。
[0055]以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
【主权项】
1.一种汽车控制器自动诊断装置,其特征在于,包括: 存储模块,用于存储以单个诊断服务为单位的测试用例; 检测模块,用于从所述存储模块中调用测试用例,根据测试用例发送测试报文到待测控制器; 检测结果判断模块,用于接收从所述待测控制器返回的反馈报文,并判断反馈报文是否符合标准,若符合,输出测试通过的结果;若不符合,输出测试未通过的结果。
2.根据权利要求1所述的汽车控制器自动诊断装置,其特征在于,所述检测模块从所述存储模块中依次调用多个测试用例进行测试。
3.根据权利要求2所述的汽车控制器自动诊断装置,其特征在于,还包括: 选择模块,用于接收用户的设置,从所述存储模块所存储的测试用例中选择出需要测试的测试用例,其中,所述选择出需要测试的测试用例包括测试服务的选择和测试子服务的选择; 所述检测模块根据所述选择模块选择的测试用例进行测试。
4.根据权利要求3所述的汽车控制器自动诊断装置,其特征在于,所述选择模块还将用户设置保存,所述检测模块调用存储的前一次用户设置,根据调用的用户设置从所述存储模块所存储的测试用例中选择出需要测试的测试用例。
5.根据权利要求4所述的汽车控制器自动诊断装置,其特征在于,所述检测模块依次判断调用的测试用例是否适用当前待测控制器,若适用,向所述待测控制器发送测试报文;若不适用,跳过该测试用例,调用下一测试用例。
6.一种汽车控制器自动诊断方法,其特征在于,包括: A、将测试项目以单个诊断服务为单位编制测试用例并存储; B、调用存储的测试用例,根据测试用例发送测试报文到待测控制器; C、接收从所述待测控制器返回的反馈报文,并判断反馈报文是否符合标准,若符合,输出测试通过的结果;若不符合,输出测试结果未通过的结果。
7.根据权利要求6所述的汽车控制器自动诊断方法,其特征在于,所述步骤B中,依次调用多个测试用例进行测试。
8.根据权利要求7所述的汽车控制器自动诊断方法,其特征在于,所述步骤B之前还包括由用户选择测试用例的步骤;所述步骤B中,依次调用用户选择的测试用例,根据测试用例发送测试报文到待测控制器。
9.根据权利要求7所述的汽车控制器自动诊断方法,其特征在于,所述步骤B中,依次调用存储的全部测试用例进行测试。
10.根据权利要求9所述的汽车控制器自动诊断方法,其特征在于,所述步骤B中,依次判断调用的测试用例是否适用当前待测控制器,若适用,向所述待测控制器发送测试报文;若不适用,跳过该测试用例,调用下一测试用例。
【专利摘要】本发明公开了一种汽车控制器自动诊断装置及方法。该装置包括:存储模块,用于存储以单个诊断服务为单位的测试用例;检测模块,用于从所述存储模块中调用测试用例,根据测试用例发送测试报文到待测控制器;检测结果判断模块,用于接收从所述待测控制器返回的反馈报文,并判断反馈报文是否符合标准,若符合,输出测试通过的结果;若不符合,输出测试未通过的结果。本发明以单个诊断服务为单位,在对控制器测试时可以任意选择所支持的服务进行测试,对于控制器不支持的服务可以跳过不执行,测试方式灵活。本发明可实现自动化测试,无需手动发送报文,并且自动生成测试报告,使工作效率大大优化。
【IPC分类】G05B23-02
【公开号】CN104865948
【申请号】CN201410799340
【发明人】王珊
【申请人】北汽福田汽车股份有限公司
【公开日】2015年8月26日
【申请日】2014年12月19日

最新回复(0)