一种基于CANoe实现诊断快照数据测试的方法
2022-03-01吴丽娟杨志超杨凯祥
吴丽娟,杨志超,杨凯祥
(大运汽车股份有限公司技术中心,山西 运城 044000)
诊断采用“一问一答”的模式,即诊断仪向车辆某个特定的ECU发送请求数据,特定的ECU会做出响应,并将响应的数据输出给诊断仪。结合已定义的诊断描述文件,可将ECU响应的数据解析为可取读的诊断信息。UDS诊断协议提供了诊断相关服务的基本框架,是面向整车所有控制器的诊断协议。
1 诊断概述
汽车诊断技术是指在不拆卸整车的情况下,通过诊断口读取整车在运行过程中控制器所记录的数据或DTC故障来分析故障的原因,并确定故障器件的应用技术。通过该诊断技术,可以快速定位整车的故障,提高汽车的维修效率。
2 诊断快照测试方法
车辆的诊断需要有客户端和服务器端。两者之间通过一问一答的形式进行通信,且要遵循相同的诊断协议。
客户端 (Client):诊断请求的提出者 (诊断仪),发送诊断请求。
服务器端(Server):诊断响应的提供者(ECU),发送诊断响应。
本文主要针对实现ECU诊断快照测试,要用到的诊断服务、诊断调查问卷、诊断软件参数配置、总线快照数据解析几个方面进行阐述,最终实现ECU诊断快照数据的读取及解析。
2.1 诊断快照相关服务
诊断服务根据其功能处理的目的不同,分为多个不同的功能单元。其中读取诊断快照信息用到的服务为19h(读取DTC信息)。此服务允许客户端读取车辆内任意一个或一组服务器中存储的诊断故障码(DTC)的状态信息。服务器应返回相关DTC信息。
19服务中其中一项子功能:19h 04h,客户端可获取根据用户定义的DTC码和DTC Snapshot记录号码相关的记录信息。表1、表2是针对诊断服务子功能19h 04h中客户端请求文信息的含义进行描述。
表1 客户端请求
表2 服务器端肯定响应
2.2 填写诊断调查问卷
根据实际项目对DTC快照的需求,完成诊断调查问卷中相关内容的定义。具体定义示例见表3。表中定义了第1组快照记录号涉及到的3个数据标识符DF00、DF01、DF02及其快照记录内容的信号描述及其快照记录数据长度。
表3 诊断调查问卷定义快照数据表
2.3 配置快照参数
在诊断调查问卷中定义好快照相关内容后,还需将诊断调查问卷中的快照相关要求转换成诊断描述文件并加载到CANoe仿真工程中。这就需要用到CANdela Studio软件编写CDD格式的诊断描述文件,在该软件中对快照相关参数进行配置,便于CANoe软件对总线的诊断数据进行解析。CANdela Studio软件具体配置的内容可参考图1,具体涉及组号、快照数据标识符及其长度、快照记录数据长度的配置。如有多个组号的快照,可参考图1完成其他组号的配置。
图1 CANdela Studio设置快照界面
2.4 快照数据解析
快照相关信息配置完成后,将编制好的CDD文件进行保存,并加载到CANoe软件仿真工程中,具体加载CDD文件的操作如图2所示。
图2 CANoe软件加载CDD文件界面
CANoe会依据加载的诊断描述文件,自动为用户生成诊断测试相关的窗口。操作CANoe诊断界面的相关诊断服务,可读取控制器在发生故障时存储的快照相关信息。表4是对读取的某一控制器快照数据进行解析并备注每个数据跟快照参数之间的对应关系。
表4 CAN总线数据对比分析
3 总结
本文中讲述的诊断快照测试方法,需要结合诊断协议、诊断相关服务、诊断软件(CAN dela Studio)、CANoe软件、诊断调查问卷(定义快照组号、快照数据标识符及其数据格式)等,最终才能实现车辆在发生DTC(车辆诊断代码。)故障时对所记录车辆快照数据的读取,协助技术人员快速准确地判断车辆或某个ECU的故障以及故障原因,从而为维修提供可靠的依据。