• 【车载开发系列】UDS诊断---诊断故障清除($0x14)


    【车载开发系列】UDS诊断—诊断故障清除($0x14)

    一.概念定义

    ClearDiagnosticInformation(0x14)服务。
    该服务格式很简单,请求格式是“14 + 3个字节数值”,这3个字节的数值可以是针对单个DTC清除,也可以是按组来清除DTC,也可以是清除全部DTC。当3个字节都为FF时,表示将ECU里产生的所有DTC清除。

    二.参数说明

    清除诊断信息服务用于客户端去清除一个或多个ECU内的诊断信息。
    请求报文唯一参数为GoupOfDTC,用于清除ECU里的类型(如:动力系统、车身、地盘)或者指定的DTC。
    服务器应该清除排放相关跟非排放相关的DTC信息在请求的组类别中。

    DTC组定义及DTC数值范围

    Byte值说明
    0x000000-0x0000FF此范围的值是根据未来法律要求所保留的
    0x3FFFFF动力系统组 Powertrain Group
    0x400000-0x7FFFFE动力系统 DTCPowertrain DTC
    0x7FFFFF底盘系统组 Chassis Group
    0x400000-0x7FFFFE底盘系统DTC Chassis DTCs
    0xBFFFFF车身系统组 Body Group
    0x800000-0xBFFFFE车身系统DTC Body DTCs
    0xFFFEFF网络系统组 Network Communication Group
    0xC00000-0xFFFEFE网络系统DTC Network Communication DTCs
    0xFFFF00-0xFFFFFE低位字节必须采用规定功能组标识符,0xFFFF33为排放组,0xFFFFD0为安全组
    0xFFFFFFAll Groups (all DTCs) 所有DTC

    除了所保留的部分,动力组,车身组灯这部分由车辆制造商确定。

    三.清除内容方式

    1)清除内容

    本服务清除的DTC信息应包含:
    DTC状态字节
    快照信息
    DTC扩展信息
    相关数据(如:最近的DTC、标志量、定时计数器)

    2)清除方式

    按照组来清除DTC,比如说清除和车身有关的DTC,就按照车身这个组的数值,将它添加到请求报文格式里;
    只针对某一个DTC单独清除,清除这个DTC,只需将这个DTC的具体数值放在请求报文;
    当3个字节都为FF时,表示将ECU里产生的所有DTC清除。

    3)参数groupOfDTC

    Hex描述Description
    000000排放相关系统Emissions-related system
    100000动力组Powertrain group
    400000底盘组Chassis group
    C00000网络通信组Network communication group
    FFFFFF所有组(所有 DTC)All Groups (all DTC’s)

    ECU 需支持通过请求的 groupOfDTC 清除排放相关和非排放相关 DTC 信息。这部分都是由车辆制造商确定,所以这里仅仅提供参考。

    四.报文格式

    1)请求报文

    此参数包含3字节的值,即groupOfDTCHighByte、groupOfDTCMiddleByte、groupOfDTCLowByte三字节,指的是要清除的DTC组(例如,动力、车身、底盘)或特定DTC。
    在这里插入图片描述

    2)肯定响应

    ECU 需在发送肯定响应前清除 DTC。如果ECU 支持存储 DTC 的多个备份(例如:分别存
    在 RAM 和 EEPROM 中),其应将所存储的 DTC信息全部清除。
    在这里插入图片描述

    3)否定响应

    在这里插入图片描述
    常用的否定响应码

    Hex描述Description
    0x13文长度错误ncorrectMessageLengthOrInvalidFormat 如果报文长度错误,发送此否定响应码
    0x31请求超出范围requestOutOfRange 如果特定的“groupOfDTC”参数不支持,发送此否定响应码

    五.注意事项

    1. 0x14服务还是比较简单的服务,通过它来了解UDS诊断协议的内容,还是比较容易上手。这里边的groupOfDTC可以是某个具体的DTC
    2. 在执行完“清除诊断信息”后,如果接收到读取故障信息的请求,ECU 不允许返回任何 DTC。
    3. 当接收到0x14诊断请求后,即使未存储DTC,ECU也需返回肯定响应。
    4. 此服务不允许依赖于其它的服务,即使故障存储器不可读,ECU 也应该清除故障信息。
  • 相关阅读:
    Leetcode 【1155. 掷骰子等于目标和的方法数】
    【2023年新版】40套BIM+GIS项目案例合集,中建中铁中交企业内部学习资源免费领取
    Redis使用基础教程
    jsp常问面试题
    [MAUI]集成高德地图组件至.NET MAUI Blazor项目
    JS-cookie函数封装方法
    (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
    TypeScript核心
    数据库的级联删除
    基于群智能算法的TSP问题求解
  • 原文地址:https://blog.csdn.net/Last_Impression/article/details/128085272