UDS诊断服务基础详解之二19服务

目录

1 19服务的定义

2 DTC故障码解析

2.1 故障诊断码

     2.1.1 故障内码与五位标准故障码的关系

    2.1.2  DTC的状态位定义及其解释

3 19 01 服务

3.1 19 01服务请求的格式如下:

 3.2 19 01服务肯定响应的格式如下:

 3.3 参数约定(Message Usage)分为以下几种情况:

 3.4 19 01 服务支持的否定响应码

 3.5 举例说明


1 19服务的定义

     19服务是读取DTC相关的服务,19服务的英文全称是ReadDTCInformation Service。19服务包含多个子服务,最常用的子服务包含:  

     19 01:根据DTC状态掩码查找匹配的DTC数量

     19 02 :通过DTC 状态掩码获取DTC状态

     19 04:根据提供的冻结帧记录号,获取DTCDTC对应的冻结帧数据

     19 06:根据DTC值和扩展数据记录号,获取DTCDTC对应的扩展数据

     19 0A:获取支持的所有DTC的状态

2 DTC故障码解析

     19服务故障码由四个字节组成,分别是DTCHighByteDTCMiddleByte,DTCLowByte以及StatusOfDTC,其中前三个字节是故障诊断码,最后一个字节是状态位。

2.1 故障诊断码

     2.1.1 故障内码与五位标准故障码的关系

     故障内码和五位标准故障码的关系如下图所示:

图1:故障内码与五位标准故障码的关系

     由上图可以看出故障诊断码的 DTCHighByte和DTCMiddleByte这两个字节表示故障内码,而DTCLowByte表示故障类别和故障子类型。

     举例说明:

  (1)例如故障诊断显示码为B1100,其故障内码为1001 0001 0000 0000,表示为16进制为9100,如果DTCLowByte存在,则在故障显示码后面加上即可。

  (2)例如故障诊断显示码为B11B612,其故障内码为1001 0001 1011 0110,表示为16进制为91B6,最后一个字节DTCLowByte为12,则在故障显示码后面加上即可,最后表示为91B612。

    2.1.2  DTC的状态位定义及其解释

     DTC的状态位定义和解释如下图所示:

图2:DTC状态位详解

     备注:一般主机厂至少支持Bit0和Bit3的状态位,其余状态根据需求OEM自己定义是否一定需要支持。

3 19 01 服务

      19 01即根据DTC状态掩码查找匹配的DTC数量的服务。

3.1 19 01服务请求的格式如下:

图3:19 01服务请求格式 

 3.2 19 01服务肯定响应的格式如下:

     

图4:19 01服务肯定响应格式

       DTC所有的格式DTCFormatIdentifier如下:

图5:DTCFormatIdentifier参数说明

 3.3 参数约定(Message Usage)分为以下几种情况:

       M(Mandatory):该参数必须存在于A_PDU中,标记为M的服务,表示当该服务存在的时候,该参数一定存在。

     C(Conditional):该参数可以基于某些条件(例如A_PDU中的子函数/参数)存在于A_PDU中。

     S(Selection):指示参数是必需的(除非另有指定),并且是从参数列表中选择的参数。

     U(Use option):该参数可能存在,也可能不存在,具体取决于用户的动态使用情况。

 3.4 19 01 服务支持的否定响应码

        19服务支持如下的否定响应码:0x12(服务器不支持客户端请求服务的子功能), 0x13(服务器认为客户端请求数据的报文长度不符合标准), 0x31(服务器没有客户端请求的数据,此否定响应适用于支持数据读写,或者根据数据调整功能的服务器)。

 3.5 举例说明

   (1)肯定响应举例:

       客户端发送请求:0319 01 09 AA AA AA AA   

         03:表示发送请求为单帧,并且有效字节为3个字节;

        19 01 :为读取与状态掩码相匹配的DTC数量;

         09:客户端请求的状态掩码(具体含义见图二)。

       服务器发送响应:06 59 01 19 01 00 10 55

         06:表示响应为单帧,并且有效字节为6个字节

         59 01:表示与请求对应的肯定响应

         19:表示服务器支持的状态掩码

         注意:服务器支持的状态掩码与客户端发送请0求的状态掩码并不是同一个参数,可一样,也可不一样,视具体情况而定

         01:表示DTC所用的格式参考ISO 14229-1标准

         00 10:表示与客户端请求的状态掩码一致的DTC故障码的数量为16个

  (2)否定响应举例:

          客户端发送请求:0319 01 09 AA AA AA AA   (请求与上方例子一致)

          服务器发送响应:03 7F 19 12 55 55 55 55

          03:表示响应为单帧,:且有效字节为3个字节

          7F:表示响应为否定响应

          19:表示当前服务的SID

           12:否定响应码,表示当前服务器不支持19 01的子服务

备注:19服务的其它子服务后续更新, 预计一周更新两篇左右,感谢支持

     

  • 7
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UDS(Unified Diagnostic Services)是一种用于车辆诊断的标准协议,它定义了一套诊断服务和通讯机制,可用于汽车电子控制单元(ECU)之间进行通信和诊断。 31. 将要求来自所选控制单元的信息发回给UDS诊断工具或依据请求来在所选控制单元中执行一个操作的服务称为?答案是:Read Data By Identifier(按标识符读取数据)。 Read Data By Identifier是UDS诊断服务中的一种基础服务。它通过在请求中指定一个标识符来读取所选控制单元中的数据,然后将这些数据返回给UDS诊断工具。 在使用Read Data By Identifier服务时,UDS诊断工具会向所选的控制单元发送一个请求,请求中包含要读取的数据的标识符。控制单元根据这个标识符,从自己的存储器中读取相应的数据,并将其返回给UDS诊断工具。这样,UDS诊断工具就可以获得所需的数据,用于诊断和故障排除。 Read Data By Identifier服务的应用场景很广泛。例如,当车辆发生故障时,UDS诊断工具可以使用该服务来获取与故障相关的数据,以帮助诊断工程师分析和解决问题。此外,厂商和技术支持人员还可以通过Read Data By Identifier服务来获取车辆的状态信息、性能参数等。 总之,Read Data By Identifier是UDS诊断服务中的一项重要基础服务,它允许UDS诊断工具从所选控制单元中读取数据,并帮助诊断工程师进行故障诊断和解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值