本发明专利技术涉及一种汽车ECU诊断软件模型的自动生成系统及方法,该系统包括自动脚本,自动脚本包括自动脚本一和自动脚本二,其可借助MATLAB平台完成自动读取文件、建立模型及生成报告;诊断数据表单,用于管理所有故障条目的各项参数信息,包括故障ID、检测周期、故障确认计数阀值、故障清楚计数阀值、故障指示灯以及故障处理方式,自动脚本一和自动脚本二分别自动生成诊断模型和测试用例。本发明专利技术的有益效果为:自动脚本一将建模工作进行了自动化。自动脚本二将测试用例的编制进行了自动化,免除了原本机械、繁冗的手工作业,大大提高开发效率,同时使发生人为错误的可能性减到最低。
【技术实现步骤摘要】
一种汽车ECU诊断软件模型的自动生成系统及方法
本专利技术涉及汽车电子控制
,尤其涉及一种汽车ECU诊断软件模型的自动生成系统及方法。
技术介绍
ECU(ElectronicControlUnit)即电子控制单元,是汽车电子中的微机控制器,它和普通的单片机一样,有微处理器(MicroController)、存储器(ROM、RAM)、输入输出接口(I/O)、数据转换器(A/D)以及整形、驱动等大规模集成电路组成。ECU的功能是根据其内置程序和数据对各类输入信息进行处理,然后输出指令,相应的执行机构进行控制。ECU的诊断软件是其内置程序的重要组成部分,它的任务是对自身的硬件和软件进行实时监控,并对发现的各种故障进行适当处理,从而确保人车安全、加速维修。目前的汽车ECU软件,包括诊断软件在内,多数是基于Simulink/Stateflow的模型化开发。Simulink/Stateflow是MathWorks公司开发的用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具,常集成于MathWorks公司的另一产品MATLAB中与之配合使用。它提供了一个交互式的图形化环境及可定制模型库,可对各种时变系统,例如通信、控制、信号处理、视频处理和图像处理等进行设计、仿真、执行和测试。现有的诊断软件建模过程,需要针对每个故障进行单独建模,然后分别设置诊断算法的各个参数。该过程中大部分都是简单重复的手工劳动,不但需要消耗开发人员的大量时间精力,而且非常容易出现人为错误。同时,使用这种手工开发模式,诊断模型的后期维护也是一件十分繁琐工作。任何一个参数的改动,都需要开发人员手工进行查找和更改。在系统故障数量较多的时候,这种查找更改工作是非常令人不愉快并且容易出错的过程。
技术实现思路
本专利技术的目的是提供一种汽车ECU诊断软件模型的自动生成系统及方法,以克服现有技术存在的诊断软件建模过程中大部分都是简单重复的手工劳动而带来的上述不足。本专利技术的目的是通过以下技术方案来实现:一种汽车ECU诊断软件模型的自动生成系统,该系统包括自动脚本和诊断数据表单,所述自动脚本以M语言为编程语言,可以借助MATLAB平台完成自动读取文件、建立模型及生成报告;所述诊断数据表单通过MicrosoftExcel软件进行编辑,用于管理所有故障条目的各项参数信息,所述故障条目包括故障ID、检测周期、故障确认计数阀值、故障清楚计数阀值、故障指示灯以及故障处理方式。所述自动脚本包括自动脚本一和自动脚本二,自动脚本一用于生成诊断软件Simulink模型,自动脚本二用于生成诊断模型的测试用例。一种汽车ECU诊断软件模型的自动生成方法,包括以下步骤:1)形成诊断设计规范和诊断测试规范文档;2)根据诊断设计规范完成自动脚本一的编写,所述自动脚本一用于生成诊断软件Simulink模型,最终生成的模型满足设计规范的要求;以及3)根据诊断测试规范来完成自动脚本二的编写,所述自动脚本二于生成诊断模型的测试用例,最终生成的测试用例满足测试规范的要求。所述的诊断设计规范依据诊断需求规范的相关要求进行设计;所述的诊断测试规范依据诊断需求规范的相关要求进行设计;所述诊断需求规范根据诊断软件的初始需求或需求变更进行设计。进一步地,自动生成的诊断软件模型以所述的测试用例进行测试,以检查所述的诊断软件模型是否达到最初的设计要求,如果测试通过,则说明诊断模型的设计完全按预期实现了诊断需求,如果测试未通过,则说明诊断设计规范或者自动脚本一中可能存在设计纰漏,应返回步骤1)排查问题,并重新进行检测。自动脚本一和自动脚本二的创建方式为:首先建立一个诊断子系统,作为所有故障处理模型的容器。然后,逐条检查诊断数据列表的项目,看是否还有未建立模型的故障。若有,则调用建模函数,为该列故障建立一个新的处理模型,并将该列的各个参数都体现在模型中。在此过程中,如发现列表中有数据格式不符合规定或无法识别,则在MATLAB主窗口输出报警信息,列明发生问题的行、列,以便查找问题。每完成一条故障的建模后,脚本会继续检查有没有新项目,直至遍历列表中的所有故障。这样,脚本运行结束后,所有必要的模型就都自动完成了。当诊断需求发生变化时,则重复上述所有步骤。本专利技术的有益效果为:自动脚本一将建模工作进行自了动化。自动脚本二将测试用例的编制进行了自动化。免除了原本机械、繁冗的手工作业。尤其是在一个系统中的故障数量达到数十个甚至上百个的情况下,这种自动化流程将大大提高开发效率,同时使发生人为错误的可能性减到最低。附图说明下面根据附图对本专利技术作进一步详细说明。图1是本专利技术实施例所述的一种汽车ECU诊断软件模型的自动生成的流程图;图2是本专利技术实施例所述的一种汽车ECU诊断软件模型的自动生成系统的自动脚本的创建流程图。具体实施方式如图1所示为是本专利技术实施例所述的一种汽车ECU诊断软件模型的自动生成的流程图。首先将诊断的开发需求编辑成诊断需求文档,该文档作为诊断软件开发的总体指导文件。之后,设计人员根据诊断需求文档完成诊断设计规范的编写,而测试人员则根据诊断需求文档完成诊断测试规范。以上步骤与现有的技术方案都是一样的。本专利技术的改进点在于接下来的步骤中。完成诊断设计规范后,设计人员不再是根据规范为每一个故障的诊断逻辑直接搭建Simulink模型,而是编写自动脚本一,以及编制诊断数据表单。其中,自动脚本一以M语言为编程语言,M语言是MATLAB提供的一种演算纸方式的编程语言,它可以实现MATLAB命令行以及Simulink建模的自动化。该脚本会自动读取诊断数据表单中各个故障的参数,并将它们填入自动生成的诊断模型中。完成诊断测试规范后,测试人员也不再是根据规范为每一个故障编写测试用例,而是编写自动脚本二。自动脚本二同样以M语言编写,它参考诊断数据表单中的相关参数,自动为每个故障生成测试用例。在得到诊断软件模型及测试用例后,测试人员会进行模型测试。如果测试通过,则说明诊断模型的设计完全按预期实现了诊断需求。如果测试未通过,则说明诊断设计规范或者自动脚本一中可能存在设计纰漏,应返回相应步骤排查问题。当诊断需求发生变化时,则重复上述所有步骤。如图2所示为自动脚本的流程图。首先建立一个诊断子系统,作为所有故障处理模型的容器。然后,逐条检查诊断数据列表的项目,看是否还有未建立模型的故障。若有,则调用建模函数,为该列故障建立一个新的处理模型,并将该列的各个参数都体现在模型中。在此过程中,如发现列表中有数据格式不符合规定或无法识别,则在MATLAB主窗口输出报警信息,列明发生问题的行、列,以便查找问题。每完成一条故障的建模后,脚本会继续检查有没有新项目,直至遍历列表中的所有故障。这样,脚本运行结束后,所有必要的模型就都自动完成了。具体使用时,在MATLAB命令窗口中调用DiagModelAutoGen函数,参数为诊断数据表单的文件名。该函数简单地将自动脚本一和自动脚本二做了批处理,因此调用该函数就相当于同时运行了两个自动脚本。运行结束后,模型和测试用例就自动生成在MATLAB的当前目录中。若该目录中已经存在该两个文件,则自动脚本运行时会自动以最新生成的同名文件替代它们。由此可见,所有不同的项目,开发人员只需维护诊断数据表单,之后在MATLAB中运本文档来自技高网...
【技术保护点】
一种汽车ECU诊断软件模型的自动生成系统,该系统包括自动脚本和诊断数据表单,其特征在于:所述自动脚本以M语言为编程语言,借助MATLAB平台完成自动以下功能:读取文件、建立模型及生成报告;所述诊断数据表单以Microsoft?Excel软件进行编辑,用于管理故障条目的各项参数信息,所述故障条目包括:故障ID、检测周期、故障确认计数阀值、故障清楚计数阀值、故障指示灯以及故障处理方式。
【技术特征摘要】
1.一种汽车ECU诊断软件模型的自动生成系统,该系统包括自动脚本和诊断数据表单,其特征在于:所述自动脚本以M语言为编程语言,借助MATLAB平台自动完成以下功能:读取文件、建立模型及生成报告;所述自动脚本包括自动脚本一和自动脚本二,其中,自动脚本一用于根据诊断数据表单中给出的故障项目逐条建立故障处理模型,生成诊断软件Simulink诊断模型,自动脚本二用于根据诊断数据表单中的故障项目生成诊断模型的测试用例;所述诊断软件Simulink模型以所述测试用例进行模型测试,以检查所述诊断软件模型是否达到设计要求;所述诊断数据表单以MicrosoftExcel软件进行编辑,用于管理故障条目的各项参数信息,所述故障条目包括:故障ID、检测周期、故障确认计数阀值、故障清除计数阀值、故障指示灯以及故障处理方式。2.一种汽车ECU诊断软件模型的自动生成方法,其特征在于,包括以下步骤:1)形成诊断设计规范和诊断测试规范文档;2)根据诊断设计规范完成自动脚本一的编写,所述自动脚本...
【专利技术属性】
技术研发人员:崔海龙,高史贵,
申请(专利权)人:北京智行鸿远汽车技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。