登录 | 注册 | English

资讯中心

yzc88网页版登录  >  资讯中心  >  产品动态

高效的ECU诊断测试

        在整车开发及使用过程中,诊断功能是一项十分重要也十分复杂的功能。在开发及使用过程中如果诊断数据一直可靠准确,就可大大缩短开发时间及服务时间。在开发ECU及其诊断功能时,需要采用恰当的测试工具才能设计出高质量的诊断功能。本文先容了用于快速可靠进行诊断功能测试的测试工具及方法。

 
        在车辆维修过程中若诊断功能较差,则需要不断进行维修尝试,直至最终维修完成。对于一款成功车型来讲,好的诊断功能是必须的。若诊断功能实现的不好,还会给车辆带来额外的成本以及额外的损坏,甚至会影响整车厂的形象。因此正如一句格言所说:“一旦出现故障就要快速准确的进行修正。"
 
        车辆使用过程中会出现一些错误状态,这些状态在导致部件失效之前就被记录在故障记录中。在比如4S店之类的服务部门进行车辆维护时,就能够将这些错误记录检测出来进行维修。产品开发过程中诊断功能也非常重要,因为在测试阶段和样件阶段这些错误状态更容易出现。在维修过程中利用车辆本身的相关数据更容易进行诊断,有时甚至都不需要额外的测试设备。因此在错误记录中准确的记录错误状态是非常重要的。
 
故障记录的基本原理:
         本文基于目前广泛应用的UDS诊断规范ISO14229 (统一诊断服务)进行先容,阐述了用于进行诊断的数据。UDS诊断核心是24位的诊断故障码,OEM利用该诊断故障码指定错误原因,比如“电池电压——电压过低”(Battery voltage – voltage too low)。标准中也对诊断故障码进行了分组,比如“动力系统”(Drivetrain)。同时对于每一个诊断故障码,利用一个8位状态掩码来指示错误是否发生以及何时发生,比如“本次上电循环测试未通过”(Test not passed since current power up);同时也可以包括一些额外的环境信息。除了以上数据外还能记录一些额外的测量数据,比如错误发生的数量等。
 
        车辆运行过程中,每个ECU都会将其获取到的错误状态信息保存在自身的故障记录中。借助一些诊断工具,能够通过一些诊断服务获取这些信息。一些典型的诊断服务有:
        ● 上报满足某个状态掩码的所有诊断故障码;
        ● 读取某特定诊断故障码的所有状态数据及环境数据;
        ● 清除某一个诊断故障码或某一组故障码的状态数据和环境数据;
 
        车辆维修部门通过诊断仪生成诊断请求,并将诊断请求发送给ECU,ECU收到请求后回复相应的诊断响应信息。响应信息通常由多个错误报文组成,报文中包含诊断故障码、相应的状态掩码、环境数据等内容(如图1)。随后诊断仪分析评估读取到的数据。如果提前准备好了分析数据所需要的相关信息,就能够快速定位错误原因,快速更换破损部件。
 
测试故障记录功能
        故障记录的一个优势在于,如果车辆的诊断功能运行正确,车辆自身能够通过一种计算逻辑来检测错误状态。强烈建议在车辆开发过程中就要针对诊断功能进行测试。因为诊断功能中有大量的诊断故障码,复杂且庞大的环境数据和错误状态,这使得诊断功能的测试非常复杂。同时对于每一个测试,要设置每一个诊断请求的相关参数,并对每一个响应参数进行核对,这也非常复杂。然而采用一种抽象视角的测试设备,就能够大大简化这种测试的复杂度。在这种抽象视角下,用户不需要关注一些常规的测试操作比如设置参数、校对结果、找出错误等。理想情况是,在测试过程中如果故障记录中包含了错误信息,用户能够不关注UDS相关的细节信息,而测试设备能够自动校验诊断响应。这种情况可以按照如下方法实现:“当故障发生时,按照故障码XYZ读取环境数据,并校验该环境数据是否有效,判断该环境数据(比如电压值)是否在11.5V~12.5V之间”。这样的测试码就是非常概况并且清晰的。
 
实现故障记录测试的高效方案
 
        针对前文所描述的抽象视角,可以通过CANoe测试工具结合TAE测试开发工具来实现。两款工具均来自Vector,均支撑UDS协议及KWP2000协议。在工具中开发了一系列针对故障记录的测试功能的用例。如下所示:
        ● 读取某一个故障码及相关环境数据,校验环境数据是否合格并在测试报告中记录结果。也可以针对故障码的组合进行测试。
        ● 读取具有相同状态掩码的所有故障码;
        ● 清故障记录;
        ● 读取故障码;
        ● 读取故障记录的状态;
 
        TAE是直观的测试用例编写工具,能够直观的应用其中的测试功能;而CANoe能根据ECU的特性自动选择特定的诊断服务。该自动选择功能可以很容易的将测试用例复用到其他ECU上,同时也能够很容易的创建所有测试用例。这为大大提高了测试人员的效率,也就能够将精力集中在测试真正目标上。
 
        图2举例说明了获取故障记录的方法。实行测试过程中,通过输入希翼的“DTC状态掩码”能够进入指定的ECU的故障记录区。ECU响应时,就可以序列的形式读取到不同的诊断故障码,随后校验在读取到的故障码中是否存在故障码“P000004”。如果存在该故障码,那么状态位“上次清除失败”就需要进行重设。
 
        每个诊断故障码都与环境数据相关联,在图2中所示的环境数据是按照字母排序的,这种方式比较容易进行检查。虽然这些测试序列很复杂,但是在这种测试方案中,仅仅设置参数却是很容易的。如果是在常规编程语言中,是没有专门的故障记录功能的,如果为了实现这个功能就需要花费较大的精力。
 
故障记录——并非摸不到的谜团
        诊断的最终目标是创造出一款可靠性很好的车辆,或者是这种车辆功能的一部分,通过故障记录的功能将车辆问题尽早检测出来并进行修正。在开发早期需要通过大量测试对这种基于故障记录的自我诊断功能就进行校验。采用专业的测试开发工具及测试实行工具后,就能够从一种直观的抽象视角以一种简单高效的方法对诊断功能进行测试。这时带有故障记录的诊断功能就能够及早发现并控制车辆中的问题,避免发生失效。

 

关于恒润
企业概况
企业理念
企业资质
资讯中心
恒润在全球
诚聘英才
校园招聘
实习生招聘
社会招聘
走进恒润
常见问题
市场活动
在线研讨会
线下活动
微信课堂
用户社区
资料下载
恒润月刊
用户留言
个人中心
相关链接
达索企业
IBM-中国
联系大家
电话:010-64840808
邮箱:market_dept@hirain.com
版权所有 ? yzc88网页版登录 京ICP备18000642号-1 京公网安备11010802017344号 网站地图 | 招聘信息 | 法律声明 | 隐私保护
XML 地图 | Sitemap 地图