ISO14229-1之DTCFormatIdentifier定义

DTCFormatIdentifier指明服务端支持的DTC格式,当服务器返回DTC信息的时候,会附带额外增加一个字节存放此格式标识,客户端就可以知道这些DTC信息需要以何种方式去进行解码。

注:该标识在ISO14229-1中附件D-D.4中定义;
       在ISO14229-1中只定义了一个字节存放DTCFormatIdentifier;
       在UDS诊断协议中,一个服务端只能支持一种DTCFormatIdentifier

目录

1.英文术语

2.缩写表

3.DTCFormatIdentifier定义


1.英文术语

英文术语翻译
DTCFormatIdentifierDTC格式标识符(DTCFID)

DTCAndStatusRecord

DTC和DTC状态记录

(DTC+statusOfDTC)

DTCAndStatusRecord[] = [

                                           DTCHighByte#1     //第1个DTC高字节

                                           DTCMiddleByte#1  //第1个DTC中字节

                                           DTCLowByte#1      //第1个DTC低字节

                                           statusOfDTC#1      //第1个DTC所对应的DTC状态

                                           DTCHighByte#2     //第2个DTC高字节

                                           DTCMiddleByte#2  //第2个DTC中字节

                                           DTCLowByte#2      //第2个DTC低字节

                                           statusOfDTC#2      //第2个DTC所对应的DTC状态

                                                      :                                                           

                                           DTCHighByte#m    //第m个DTC高字节

                                           DTCMiddleByte#m //第m个DTC高字节

                                           DTCLowByte#m     //第m个DTC高字节

                                           statusOfDTC#m     //第m个DTC所对应的DTC状态]                                              

2.缩写表

缩写解释
DTC诊断故障码
Cvt

约定值

M 强制的

C 有条件的

U 用户选项

SAE美国汽车工程师协议

3.DTCFormatIdentifier定义

DTCFormatIdentifier定义
字节值描述Cvt助记符
0x00

SAE_J2012-DA_DTCFormat_00

该参数表示ISO15031-6标准中定义的DTC格式,我们可以通过命名可知,这里ISO15031-6也引用了SAE_J2012(与DTC相关的重要的一个标准)。

MJ2012-DADTCF00
0x01

ISO_14229-1_DTCFormat

该参数表示DTCAndStatusRecord中定义的DTC格式,此格式是依照ISO14229-1标准中定义的,但ISO14229-1也就规定了DTC的长度为3个字节,并没有明确规定这三个字节的按照什么方式及范围进行设置,所以这种格式就可以允许我们车辆制造商来自定义。

注:

1、对于我们车辆车辆制造商来说,反正是3个字节的DTC,直接参考SAEJ2012标准来定义,比较省事,所以会发现大家定义的此格式会和SAE_J2012-DA_DTCFormat_00/SAE_J2012-DA_DTCFormat_04格式非常的相似或者是一模一样的。

 2、此DTC格式是ISO14229-1特别定义的自定义格式,我们UDS可以支持此格式,但并不是在ISO14229中定义的这个格式就必须要用它,ISO14229-1也支持用SAE_J939-73_DTCFormat、ISO_11992-4_DTCFormat 、SAE_J2012-DA_DTCFormat_04 、 SAE_J2012-DA_DTCFormat_00这些其他标准协议规定的DTC格式

M14229-1DTCF
0x02

SAE_J939-73_DTCFormat

该参数表示SAEJ1939-73标准中定义的DTC格式,这种格式用在商用车较多,因为SAEJ1939协议就时针对商用车而制定的协议。

MJ1939-73DTCF
0x03

ISO_11992-4_DTCFormat

该参数表示ISO11992-4标准中定义的DTC格式,这个DTC格式用的不多,不要去深究。

M11992-4DTCF
0x04

SAE_J2012-DA_DTCFormat_04

该参数表示ISO27145-2标准中定义的DTC格式,这种格式也叫SAE_J2012-DA_WWHOBD_DTCFormat,根据这个格式命名,我们可以知道ISO27145-2肯定也是引用了SAEJ2012,专门用在增强型诊断

MJ2012-DADTCF04

0x05 - 0xFF

ISO/SAE reserved

该范围为本文件为未来定义预留。

注:以后可能ISO/SAE又会出现很多标准,说不定又定义很多DTC格式,这里就是为他们预留的。

MISOSAERESRVD

概念知识:

SAEJ1939协议是由美国汽车工程师协议(SAE)基于CAN2.0B协议制定的主要针对商用车的CAN总线通讯协议;

注:以上几种DTC格式中,DTCFormatIdentifier = 0x00或0x04这两种格式都直接引用了SAEJ2012,所以SAE_J2012-DA_DTCFormat_00SAE_J2012-DA_DTCFormat_04这两种格式的DTC字节含义都严格遵循SAEJ2012协议。而ISO_14229-1_DTCFormat这种DTC格式也会去参考J2012,可能部分会做少许变动,加一些公司特色和个人特色在里面。

  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中的`dtc()`方法是Python中的一个自定义函数或方法。根据给出的问题描述不明确,我将提供一个通用的答案。 在Python中,我们可以使用`def`关键字来定义一个函数。在`dtc()`函数中,`dtc`是函数的名称。该函数可能接受一些参数(根据函数的实际需求),并且可以执行一些特定的任务,并返回一个值(如果适用)。 函数的定义通常以如下形式展示: ```python def dtc(): # 函数体,包含被执行的代码 # 可能还有一些参数和返回值的处理 pass ``` 在`dtc()`函数的定义中,`pass`关键字表示函数体中暂时没有任何有效的代码。这意味着该函数目前没有实际的任务执行。你需要根据函数的实际需求来填充函数体。 如果函数需要接受参数,可以在函数名后的括号内指定参数的名称。例如,如果函数需要接受一个名为`parameter`的参数,则函数的定义可以如下所示: ```python def dtc(parameter): # 函数体 # 使用参数parameter进行一些操作 pass ``` 在函数的定义中,你可以根据实际需求编写代码。这可以包括各种计算、条件语句、循环、定义其他函数等。 请记住,在使用`dtc()`函数之前,你需要调用该函数来执行其中的代码。例如,如果你希望在程序的某个地方使用`dtc()`函数,则可以使用以下语法: ```python dtc() # 调用dtc()函数 ``` 总结而言,`dtc()`是一个Python中的自定义函数或方法,它可以根据函数的定义来执行一些特定的任务。这些任务可以根据实际需求进行自定义。希望这个回答对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心骗小白话

和我一起成长吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值