UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(2) - 请求消息

UDS 诊断服务系列文章目录

诊断和通信管理功能单元
UDS 诊断 - DiagnosticSessionControl(诊断会话控制)(0x10)服务
UDS 诊断 - ECUReset(ECU重置)(0x11)服务
UDS 诊断 - SecurityAccess(安全访问)(0x27)服务
UDS 诊断 - CommunicationControl(通信控制)(0x28)服务
UDS 诊断 - TesterPresent(测试仪保活)(0x3E)服务
UDS 诊断 - AccessTimingParameter(访问计时参数)(0x83)服务
UDS 诊断 - SecuredDataTransmission(受保护的数据传输)(0x84)服务
UDS 诊断 - ControlDTCSetting(控制DTC设置)(0x85)服务
UDS 诊断 - ResponseOnEvent(基于事件响应)(0x86)服务
UDS 诊断 - LinkControl(链路控制)(0x87)服务
数据传输功能单元
UDS 诊断 - ReadDataByIdentifier(按标识符读取数据)(0x22)服务
UDS 诊断 - ReadMemoryByAddress(按地址读取内存)(0x23)服务
UDS 诊断 - ReadScalingDataByIdentifier(按标识符读取换算数据)(0x24)服务
UDS 诊断 - ReadDataByPeriodicIdentifier(按周期性标识符读取数据)(0x2A)服务
UDS 诊断 - DynamicallyDefineDataIdentifier(动态定义数据标识符)(0x2C)服务
UDS 诊断 - WriteDataByIdentifier(按标识符写数据)(0x2E)服务
UDS 诊断 - WriteMemoryByAddress(按地址写内存)(0x3D)服务
存储数据传输功能单元
UDS 诊断 - ClearDiagnosticInformation(清除诊断信息)(0x14)服务
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(1) - 服务说明
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(2) - 请求消息
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(3) - 响应消息
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(4) - 示例

本文章可能会涉及到的文章
UDS诊断 - DTC状态位
UDS诊断 - DTC 严重性和类别定义

文章目录

  • UDS 诊断服务系列文章目录
  • 1. 请求消息定义
    • 1) sub-function = 0x01,0x02,0x0F,0x11,0x12,0x13
    • 2) sub-function = 0x03,0x04
    • 3) sub-function = 0x05
    • 4) sub-function = 0x06,0x10
    • 5) sub-function = 0x07,0x08
    • 6) sub-function = 0x09
    • 7) sub-function = 0x0A,0x0B,0x0C,0x0D,0x0E,0x14,0x15
    • 8) sub-function = 0x16
    • 9) sub-function = 0x17
    • 10) sub-function = 0x18
    • 11) sub-function = 0x19
    • 12) sub-function = 0x42
    • 13) sub-function = 0x55
  • 2. 请求消息子功能参数定义
    • 下图为非排放相关服务器 DTCFaultDetectionCounter(DTC 故障检测计数器)操作示例
  • 3. 请求消息数据参数定义


1. 请求消息定义

1) sub-function = 0x01,0x02,0x0F,0x11,0x12,0x13

sub-function = reportNumberOfDTCByStatusMask(0x01)
                          reportDTCByStatusMask(0x02)
                          reportMirrorMemoryDTCBystatusMask(0x0F)
                          reportNumberOfMirrorMemoryDTCByStatusMask(0x11)
                          reportNumberOfEmissionsOBDDTCByStatusMask(0x12)
                          reportEmissionsOBDDTCBystatusMask(0x13)

字节参数名称字节值
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19
#2 sub-function = [ 0x01,0x02,0x0F,0x11,0x12,0x13 ]
0x01,0x02,0x0F,0x11,0x12,0x13
#3 DTCStatusMask0x00 - 0xFF

2) sub-function = 0x03,0x04

sub-function = reportDTCSnapshotIdentification(0x03)
                          reportDTCSnapshotRecordByDTCNumber(0x04)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = [ 0x03,0x04 ] 0x03,0x04M

#3
#4
#5
DTCMaskRecord[] = [
DTCHighByte
DTCMiddleByte
DTCLowByte ]

0x00 - 0xFF
0x00 - 0xFF
0x00 - 0xFF

C
C
C
#6 DTCSnapshotRecordNumber0x00 - 0xFFC

仅当子功能参数这只为 0x04 时将显现 DTCMaskRecord 记录和 DTCSnapshotRecordNumber 参数。

3) sub-function = 0x05

sub-function = reportDTCStoreDataByRecordNumber(0x05)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = 0x05 0x05M
#6 DTCStoredDataRecordNumber(DTC 存储数据记录编号)0x00 - 0xFFM

4) sub-function = 0x06,0x10

sub-function = reportDTCExtDataRecordByDTCNumber(0x06)
                          reportMirrorMemoryDTCExtDataRecordByDTCNumber(0x10)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = [ 0x06,0x10 ] 0x06,0x10M

#3
#4
#5
DTCMaskRecord[] = [
DTCHighByte
DTCMiddleByte
DTCLowByte ]

0x00 - 0xFF
0x00 - 0xFF
0x00 - 0xFF

C
C
C
#6 DTCExtDataRecordNumber(DTC 扩展数据记录编号)0x00 - 0xFFM

5) sub-function = 0x07,0x08

sub-function = reportNumberOfDTCBySeverityMaskRecord(0x07)
                          reportDTCBySeverityMaskRecord(0x08)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = [ 0x07,0x08 ] 0x07,0x08M

#3
#4
DTCSeverityMaskRecord[] =[
DTCSeverityMask
DTCStatusMask ]

0x00 - 0xFF
0x00 - 0xFF

C
C
C

6) sub-function = 0x09

sub-function = reportSeverityInformationOfDTC(0x09)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = 0x09 0x09M

#3
#4
#5
DTCMaskRecord[] = [
DTCHighByte
DTCMiddleByte
DTCLowByte ]

0x00 - 0xFF
0x00 - 0xFF
0x00 - 0xFF

C
C
C

7) sub-function = 0x0A,0x0B,0x0C,0x0D,0x0E,0x14,0x15

sub-function = reportSupportedDTC(0x0A)
                          reportFirstTestFailedDTC(0x0B)
                          reportFirstConfirmedDTC(0x0C)
                          reportMostRecentTestFailedDTC(0x0D)
                          reportMostRecentConfirmedDTC(0x0E)
                          reportDTCFaultDetectionCounter(0x14)
                          reportDTCWithPermanentStatus(0x15)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = [ 0x0A,0x0B,0x0C,0x0D,0x0E,0x14,0x 15 ] 0x0A,0x0B,0x0C,0x0D,0x0E,0x14,0x 15M

8) sub-function = 0x16

sub-function = reportDTCExtDataRecordByRecordNumber(0x16)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = 0x16 0x16M
#3 DTCExtDataRecordNumber(DTC 扩展数据记录编号) 0x00 - 0xFFM

9) sub-function = 0x17

sub-function = reportUserDefMemoryDTCByStatusMask(0x17)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = 0x17 0x17M
#3 DTCStatusMask(DTC 状态掩码) 0x00 - 0xFFM
#4 MemorySelection(内存选择) 0x00 - 0xFFM

10) sub-function = 0x18

sub-function = reportUserDefMemoryDTCSnapshotRecordByDTCNumber(0x18)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = 0x18 0x18M

#3
#4
#5
DTCMaskRecord[] = [
DTCHighByte
DTCMiddleByte
DTCLowByte ]

0x00 - 0xFF
0x00 - 0xFF
0x00 - 0xFF

C
C
C
#6 DTCSnapshotRecordNumber(DTC 快照记录编号) 0x00 - 0xFFM
#7 MemorySelection(内存选择) 0x00 - 0xFFM

11) sub-function = 0x19

sub-function = reportUserDefMemoryDTCExtDataRecordByDTCNumber(0x19)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = 0x19 0x19M

#3
#4
#5
DTCMaskRecord[] = [
DTCHighByte
DTCMiddleByte
DTCLowByte ]

0x00 - 0xFF
0x00 - 0xFF
0x00 - 0xFF

C
C
C
#6 DTCExtDataRecordNumber(DTC 扩展数据记录编号) 0x00 - 0xFFM
#7 MemorySelection(内存选择) 0x00 - 0xFFM

12) sub-function = 0x42

sub-function = reportWWHOBDDTCByMaskRecord(0x42)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = 0x42 0x42M
#3 FunctionalGroupIdentifier(功能组标识符) 0x00 - 0xFFM

#4
#5
DTCSeverityMaskRecord[] = [
DTCStatusMask
DTCSeverityMask ]

0x00 - 0xFF
0x00 - 0xFF

M
M

13) sub-function = 0x55

sub-function = reportWWHOBDDTCWithPermanentStatus(0x55)

字节参数名称字节值Cvt
#1 ReadDTCInformation(读取 DTC 信息)请求SID0x19M
#2 sub-function = 0x55 0x55M
#3 FunctionalGroupIdentifier(功能组标识符) 0x00 - 0xFFM

2. 请求消息子功能参数定义

第 6 - 0 位说明
0x00保留
0x01reportNumberOfDTCByStatusMask(按状态掩码报告 DTC 数量)
本参数规定服务器应向客户端传输与客户端定义状态掩码相匹配的 DTC 数量。
0x02reportDTCByStatusMask(按状态掩码报告 DTC)
本参数规定服务器应向客户端传输与客户端定义状态掩码相匹配的 DTC 列表及其对应状态。
0x03reportDTCSnapshotIdentification(报告 DTC 快照标识)
本参数规定服务器应向客户端传输所有 DTCSnapshot (DTC 快照)数据记录标识(DTC 编号和 DTC Snapshot 记录编号)。
0x04reportDTCSnapshotRecordByDTCNumber(按 DTC 编号报告 DTC 快照记录)
本参数规定服务器应向客户端传输与客户端定义 DTC 编号和 DTCSnapshot (DTC 快照)记录编号(所有记录均为 0xFF)相关的 DTCSnapshot 记录。
0x05reportDTCStoredDataByRecordNumber(按记录编号报告 DTC 存储数据)
本参数规定服务器应向客户端传输与客户端定义 DTCStoredData(DTC 存储数据)(所有记录均为 0xFF)相关的 DTCStoredData(DTC 存储数据)。
0x06reportDTCExtDataRecordByDTCNumber(按 DTC 编号报告 DTC 扩展数据记录)
本参数规定服务器应向客户端传输与客户端定义 DTC 编号和 DTCExtendedData(DTC 扩展数据)记录编号(所有记录均为 0xFF,所有 OBD 记录均为 0xFE)相关的 DTCExtendedData 记录。
0x07reportNumberOfDTCBySeveriMaskRecord(按 严重性掩码记录报告 DTC 编号)
本参数规定服务器应向客户端传输与客户端定义严重性掩码记录相匹配的 DTC 数量。
0x08reportDTCBySeverityMaskRecord(按严重性掩码记录报告 DTC)
本参数规定服务器应向客户端传输与客户端定义严重性掩码记录相匹配的 DTC 列表及其对应状态。
0x09reportSeverityInformationOfDTC(报告 DTC 的严重性信息)
本参数规定服务器应向客户端传输客户端请求消息内规定的特定 DTC 的严重性信息。
0x0AreportSupportedDTC(报告受支持的 DTC)
本参数规定服务器应向客户端传输服务器内所有受支持的 DTC 列表及其对应状态。
0x0BreportFirstTestFailedDTC(报告首个测试失败的 DTC)
本参数规定服务器应向客户端传输自上次清除诊断信息后服务器所检测到的首个失败 DTC。注意,经本子功能参数报告的信息与 DTC 是否被确认或被老化无任何关系。
0x0CreportFirstConfirmedDTC(报告首个确认 DTC)
本参数规定服务器应向客户端传输自上次清除诊断信息后服务器所检测到的首个确认 DTC。经本子功能参数报告的信息与已确认 DTC 的老化过程无关系(例如:如果 DTC 经老化后可重置其状态,则服务器应继续保留首个确认的 DTC,不论之后是否有其他 DTC 得以确认)。
0x0DreportMostRecentTestFailedDTC(报告最新测试失败 DTC)
本参数规定服务器应向客户端传输自上次清除诊断信息后服务器所检测到的最新失败 DTC。注意,经本子功能参数报告的信息与 DTC 是否被确认或被老化无任何关系。
0x0EreportMostRecentConfirmedDTC(报告最新确认 DTC)
本参数规定服务器应向客户端传输自上次清除诊断信息后服务器所检测到的最新确认 DTC。经本子功能参数报告的信息与已确认 DTC 的老化过程无关系(例如:如果 DTC 经老化后可重置其状态,则服务器应继续保留首个确认的 DTC,不论之后是否有其他 DTC 得以确认)。
0x0FreportMirrorMemoryDTCByStatusMask(按状态掩码报告镜像内存 DTC)
本参数规定服务器应向客户端传输 DTC 镜像内存内与客户端定义状态掩码相匹配的 DTC 列表及其对应状态。
0x10reportMirrorMemoryDTCExtDataRecordByDTCNumber(按 DTC 编号报告镜像内存 DTC 扩展数据记录)
本参数规定服务器应向客户端传输 DTC 镜像内存内与客户端定义 DTC 编号和 DTCExtendedData(DTC 扩展数据)记录编号(所有记录均为 0xFF,所有 OBD 记录均为 0xFE)DTC 相关的 DTCExtendedData 记录。
0x11reportNumberOfMirrorMemoryDTCByStatusMask(按状态掩码报告镜像内存 DTC 数量)
本参数规定服务器应向客户端传输镜像内存内与客户端定义状态掩码相匹配的 DTC 数量。
0x12reporNumberOfEmissionOBDDTCByStatusMask(按状态掩码报告排放 OBD DTC 的数量)
本参数规定服务器应向客户端传输与客户端定义状态掩码相匹配的排放相关 OBD DTC 数量。所报告的 OBD DTC 仅允许为满足排放相关法规要求的 OBD DTC。
0x13reportEmissionsOBDDTCByStatusMask(按状态掩码报告排放 OBD DTC)
本参数规定服务器应向客户端传输与客户端定义状态掩码相匹配的排放相关 OBD DTC 列表及其对应状态。所报告的 OBD DTC 列表仅允许包含满足排放相关法规要求的 OBD DTC。
0x14reportDTCFaultDetectionCounter(报告 DTC 故障检测计数器)
本参数规定服务器应向客户端传输已经或尚未检测为 “待定” 或 “已确认” DTC的当前 “预失败” DTC列表。
DTCFaultDetectionCounter(DTC 故障检测计数器)是一种用于确认无法通过对应 DTC 的 statusOfDTC(DTC 状态)标识 / 读取的日益发展或间歇发生的问题的简单方法。
DTCFaultDetectionCounter(DTC 故障检测计数器)的内部实施应由汽车制造商规定(如有符号和无符号的字节数等),但所报告数值应为位数已定的 1 字节有符号数值,由此数值 + 127(0x7F)表示测试结果 “失败”,而其他非零正数表示测试结果 “预失败”。但是,DTCFaultDetectionCounter(DTC 故障检测计数器)数值为 + 127 的 DTC 不得按以下规定规则进行报告。每次测试逻辑运行并指示测试运行失败时,DTCFaultDetectionCounter(DTC 故障检测计数器)应加上汽车制造商指定的数量。
如果所报告的 DTCFaultDetectionCounter(DTC 故障监测计数器)数值大于 0 但小于 +127(即 0x01-0x7E),则表明满足 DTC 启用标准,且至少在一项条件或阈值下一项未完成测试的结果已预判失败。
仅 DTCFaultDetectionCounter(DTC 故障检测计数器)为小于 +127(0x7F)的非零整数值的 DTC 将得以报告。
每次测试逻辑运行并指示测试运行通过时 DTCFaultDetectionCounter(DTC 故障检测计数器)应减去汽车制造商指定的数量。如果DTCFaultDetectionCounter(DTC 故障检测计数器)数值减至 0 或负值,则 DTC 将不再由肯定响应消息进行报告。操作循环间 DTCFaultDetectionCounter(DTC 故障检测计数器)数值不得保留。
如果收到 0x14 服务请求,则应将所有 DTC 的 DTCFaultDetectionCounter(DT故障检测计数器)数字重置为0。其他重置条件应由汽车制造商定义。
0x15reportDTCWithPermanentStatus(报告为用机型状态的 DTC)
本参数规定服务器应向客户端传输状态为 ”永久 DTC“ 的 DTC 列表。
永久 DTC:DTC 保存在非易失性存储器内,甚至在发出清除 DTC 请求之后仍保存在非易失性存储器内,直至满足其他标准(典型性控制标准)(如各 DTC 适用监视器已成功通过)。
0x16reportDTCExtDataRecordByRecordNumber(按记录编号报告 DTC 扩展数据记录)
本参数规定服务器应向客户端传输与客户端定义的 小于 0xF0 的 DTCExtendedData(DTC 扩展数据)记录编号相关的 DTCExtendedData 记录。
0x17reportUserDefMemoryDTCByStatusMask(按状态掩码报告用户定义内存)
本参数规定服务器应向客户端传输用户定义 DTC 内存内与客户端定义状态掩码相匹配的 DTC 列表及其对应状态。
0x18reportUserDefMemoryDTCSnapshotRecordByDTCNumber(按 DTC 编号报告用户定义内存 DTC 快照记录)
本参数规定服务器应向客户端传输用户定义 DTC 内存内与客户端定义 DTC 编号和 DTCSnapshot 记录编号(所有记录均为 0xFF)相关的 DTCSnapshot 记录。
0x19reportUserDefMemoryDTCExtDataRecordByDTCNumber(按 DTC 编号报告用户定义内存 DTC 扩展数据记录)
本参数规定服务器应向客户端传输用户定义 DTC 内存呢与客户端定义 DTC 编号 和 DTCExtendedData 记录编号(所有记录均为 0xFF)相关的 DTCExtendedData 记录。
0x1A - 0x41保留
0x42reportWWHOBDDTCByMaskRecord(按掩码报告 WWH OBD DTC)
本参数规定服务器应向客户端传输与客户端定义状态掩码和严重性掩码记录相匹配的 WWH OBD DTC 列表及其对应状态和严重性信息。
0x43 - 0x54保留
0x55reportWWHOBDDTCWithPermanentStatus(报告永久性状态的 WWH OBD DTC)
本参数规定服务器应向客户端传输状态为 “永久 DTC” 的 WWH OBD DTC 列表。
0x56 - 0x7F保留

下图为非排放相关服务器 DTCFaultDetectionCounter(DTC 故障检测计数器)操作示例

非排放相关服务器 DTCFaultDetectionCounter(DTC 故障检测计数器)操作示例

图例
1. 当故障检测计数器计数达到最小值(-128)或最大值(127)且 testNotCompleteSinceLastClear(自上一次清除后未完成测试)及 testNotCompleteThisOperationCycle(本操作循环内未完成测试)位从 1 转换为 0 后,测试完成。
2. 当某测试样本的测试结果重新变为不合格时,故障检测计数器计数会逐量递增至 0 以上(确保自上一次测试合格后,故障检测时间未加倍)。
3. 故障检测计数器计数达到其最大值(127)说明故障条件已完全形成;报告测试结果为不合格,因而,testFailed(测试不合格)、testFailedThisOperationCvcle(本操作循环测试结果为不合格)以及 testFailedSinceLastClear(自上一次清除后测试结果为不合格)位从 0 转换为 1。
4. 由于本示例适用于非排放相关服务器 / ECU,当 pendingDTC(待定 DTC)位确定阈值为 1 时,应设定 ConfirmedDTC(已确认 DTC)位(从 0 转换为 1)。
5. 当试样测试结果重新变为合格时,应由制造商确定故障检测计数器计数是否会逐量递增至 0 以上(确保自上一次测试不合格后,故障检测时间未加倍)。
6. 由于不满足监控程序要求,测试相关监控程序无法工作从而产生试样结果。当监控程序再次达到启动条件时,由车辆制造商确定是否重置故障检测计数器。
7. 在当前操作循环内,如果计数器计数再次达到最小值(-128),则testFailed(测试不合格)位从 1 转换为 0。
8. 新操作循环开始后,测试相关监控程序尚未启动;因此,DTC 状态位不会发生变化,为状态位与操作循环启动相关时除外。最迟在新操作循环启动前,此类状态位将重置。
9. 新操作循环开始后,若计数器计数达到其最小值(-128),testNotCompleteThisOperationCycle(本操作循环测试未完成)位从 1 切换至 0。

3. 请求消息数据参数定义

定义
DTCStatusMask(DTC 状态掩码)
DTCStatusMask(DTC状态掩码)包含 8 个 DTC 状态位。本字节应用于请求消息中,以便客户端为状态与 DTCStatusMask(DTC状态掩码)相匹配的 DTC 请求 DTC 信息。如果 DTC 任意实际状态位和 DTCStatusMask 中对应状态位均设置为 '1’(即,如果 DTCStatusMask 已使用 DTC 实际状态按比特位进行逻辑与操作且操作结果为非零,则匹配成功),则 DTC 状态与 DTCStatusMask 匹配。如果客户端规定的状态掩码中存在不受服务器支持的比特位,服务器仅允许使用其所支持的比特位处理DTC信息。
DTCMaskRecord [ DTCHighByte,DTCMiddleByte,DTCLowByte ](DTC 掩码记录 [ DTC 高位字节、DTC 中位字节、DTC 低位字节 ])
DTCMaskRecord(DTC 掩码记录)为一个 3 字节的数值,包含 DTCHighByte(DTC 高位字节)、DTCMiddleByte(DTC中位字节)和 DTCLowByte(DTC 低位字节),三者共同表示服务器所支持的特定故障诊断码的唯一标识号。
3 字节 DTC 编号的定义可提供多种 DTC信息编码方式。
DTCSnapshotRecordNumber(DTC 快照记录编号) DTCSnapshotRecordNumber(DTC快照记录编号)为 1 字节数值,表示通过子功能 reportDTCSnapshotByDTCNumber(按 DTC编号报告 DTC 快照)为客户端定义 DTCMaskRecorod(DTC 掩码记录)所请求的特定 DTCSnapshot 数据记录的编号。应保存DTCSnapshot 数据记录编号 0x00 以便立法所需(如WWH-OBD)。应提供 0x01-0xFE 范围内的 DTCSnapshot 记录以供汽车制造商特定使用。数值 0xFF 请求服务器立即报告所有己存储的 DTCSnapshot 数据记录。
DTCStoredDataRecordNumber(DTC 存储数据记录编号)
DTCStoredDataRecrdNumber(DTC存储数据记录编号)为 1 字节数值,表示通过子功能 reportDTCStoredDataByRecordNumber(按记录编号报告DTC存储数据)所请求的特定 DTCStoredDataRecord(DTC 存储数据记录)的编号。应保存 DTCStoredDataRecordNumber(DTC存储数据记录编号)0x00 以便立法所需。应提供 0x01-0xFE 范围内的 DTCStoredData(DTC 存储数据)记录以供汽车制造商特定使用。数值 0xFF 请求服务器立即报告所有已存储的 DTCStoredData 数据记录。
DTCExtDataRecordNumber(DTC 扩展数据记录编号)
DTCExtDataRecordNumber(DTC 扩展数据记录编号)为 1 字节数值,表示通过子功能reportDTCExtDataRecordByDTCNumber(按 DTC 编号报告 DTC 扩展数据记录)和 reportDTCExtDataRecordByRecordNumber(按记录编号报告 DTC 扩展数据记录)所请求的特定 DTCExtendedData(DTC 扩展数据)。对于排放相关服务器(与 OBD 兼容的 ECU),应保存 DTCExtDataRecordNumber(DTC扩展数据记录编号)0x00 以供日后 OBD 所用。应保存下述范围内的 DTCExtDataRecordNumber(DTC扩展数据记录编号):
  • 数值 0x00 为 ISO / SAE 所保存。
  • 数值 0x01 - 0x8F 请求服务器报告汽车制造商指定存储的 DTCExendedData(DTC 扩展数据)记录。
  • 数值 0x90-0xEF 请求服务器报告法定 OBD 存储的 DTCExtendedData(DTC扩展数据)记录。
  • 数值 0xF0 - 0xFD 为 ISO / SAE所保存,以便日后报告单条响应消息中的组别。
  • 数值 0xFE 请求服务器报告单条响应消息中所有法定 OBD 存储的 DTCExtendedData(DTC 扩展数据)记录。
  • 数值 0xFE 请求服务器报告单条响应消息中所有存储的 DTCExtendedData(DTC扩展数据)记录。
DTCSeverityMaskRecord [DTCSeverityMask,DTCStatusMask](DTC 严重性掩码记录 [ DTC 严重性掩码、DTC 状态掩码 ])
DTCSeverityMaskRecord(DTC 严重性掩码记录)为 2 字节数值,包括DTCSeverityMask(DTC 严重性掩码)和 DTCStatusMask(DTC 状态掩码)。
DTCSeverityMask(DTC严重性掩码)
DTCSeverityMask(DTC 严重性掩码)包括三个 DTC 严重性位。本字节应用于请求消息中,以便客户端为严重性定义与 DTCSeverityMask(DTC 严重性掩码)相匹配的 DTC 请求 DTC信息。如果任意 DTC 实际严重性位和 DTCSeverityMask(DTC严重性掩码)中对应严重性位均设置为 '1’(即,如果 DTCSeverityMask(DTC严重性掩码)已使用 DTC 实际严重性按比特位进行逻辑与操作且操作结果为非零,则匹配成功),则 DTC 严重性定义与 DTCSeverityMask(DTC 严重性掩码)匹配。
FunctionalGroupldentifier(功能组标识符)
所引用的 FunctionalGroupldentifier(功能组标识符)用于区分由不同 ECU 组成的电气架构内不同功能系统组间测试设备发出的指令。如果某ECU 已实施排放系统及 I/M 测试期间可能检验的其系统的软件,则仅应报告被请求功能系统组的 DTC 信息,这很重要。由于其他功能组已存储了DTC信息,因此 I/M 测试不得失败。
MemorySelection(内存选择)
本参数须用于在检索 DTC 时为各用户定义 DTC 内存进行编址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/874014.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

怎么样处理浮毛快捷又高效?霍尼韦尔、希喂、米家宠物空气净化器实测对比

掉毛多?掉毛快?猫毛满天飞对身体有危害吗?多猫家庭经验分享篇: 一个很有趣的现象,很多人在养猫、养狗后耐心都变得更好了。养狗每天得遛,养猫出门前得除毛,日复一日的重复磨练了极好的耐心。我家…

SprinBoot+Vue学生信息管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…

CSP-CCF★★201809-2买菜★★

目录 一、问题描述 二、解答: 三、总结 一、问题描述 问题描述 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也…

C 408—《数据结构》算法题基础篇—链表(上)

目录 Δ前言 一、链表中特定值结点的删除 0.题目: 1.算法设计思想: 2.C语言描述: 3.算法的时间和空间复杂度: 二、链表链表最小值结点的删除 0.题目 : 1.算法设计思想 : 2.C语言描述 : 3.算法的时间和空间复杂度 : 三、链…

【前端】探索webpack3项目build速度优化, 优化个p

文章目录 背景uglifyjs-webpack-pluginwebpack3 压缩混淆js 优化踩坑。结论 背景 webpack3 babel7 uglifyjs-webpack-plugin的项目,build起来是什么体验。 大抵是写了两个月后,发现build时间从120s激增到400s。而这400秒中,有50多秒是Ugli…

如何看待IBM中国研发部裁员?三个方向快速解析

如何看待IBM中国研发部裁员? 近日,有媒体从IBM中国方面确认,IBM将彻底关闭中国研发部门,涉及员工数量超过1000人。 3分钟裁员上千人! IBM中国宣布撤出在华两大研发中心,引发了IT行业对于跨国公司在华研发战…

ubuntu16.04下qt5.7.1添加对openssl的支持

文章目录 前言一、编译安装openssl二、编译qt5.7.1三、配置qtcreator开发环境四、demo 前言 最近工作中要求客户端和服务端通过ssl加密通信,其中客户端是qt编程,服务端是linux编程.我的开发环境是ubuntu16.04;运行环境是debian9.13,是基于gnu的linux操作系统,64位arm架构. 一…

C++_17_友元

友元 > 友元 友元 是单向的 甲和乙 甲说 他是乙朋友 乙有可能不承认 所以 是单向的 > 只要是 友元 就可以访问他私有的东西 所以 友元会破坏 封装性作用:可以访问友元 的私有成员 特点: 单项性不能被传递不能被继承 关键字&#xff1a…

OpenCV结构分析与形状描述符(13)拟合椭圆函数fitEllipseDirect()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆拟合一组2D点。它返回一个内切于该椭圆的旋转矩形。使用了由[91]提出的直接…

Ubuntu22.04之禁止内核自动更新(二百六十八)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

第二阶段(c语言)

内存:一块临时存储区域 虚拟内存 vm 物理内存 pm 内存单元:一个内存单元的大小是1byte 内存块:连续多个内存单元 内存地址:相当于是教室的门牌号 内存中的值:相当于是教室里面所存放的东西 int num 0; …

Prometheus + Grafana + nVisual 实现运维监控全面可视化

Prometheus主要实现采集、存储、查询设备数据指标、告警等功能;Grafana通过Prometheus的API以仪表板的形展示数据,同时在线提供了大量监测数据展示模版。然而,实际运维中我们不仅需要实时监测数据,还需要了解设备的物理位置、拓扑…

Axure科技感设计案例教程:从按钮到大屏的全面探索

Axure RP,作为一款强大的原型设计工具,不仅能够帮助设计师快速构建产品界面,还能通过其丰富的交互功能实现高度逼真的科技感效果。以下是一个简要的教程,介绍如何使用Axure RP设计科技感按钮、图标、统计、图表以及大屏界面。 1.…

24年最新版ocpp2.0.1文档目录:24年最新ocpp_201-v10欧标通讯协议

推荐一套企业级开源充电桩平台:完整代码包含多租户、硬件模拟器、多运营商、多小程序,汽车 电动自行车、云快充协议;——(慧哥)慧知开源充电桩平台;https://liwenhui.blog.csdn.net/article/details/134773779?spm1001.2014.3001…

【私活儿分享】手串珠子管理小程序,便捷查询珠子(串手链的珠子)位置

前言 之间帮客户做了个查询手串珠子位置的小程序,便于帮助客户管理众多的珠子,这个珠子就是戴在手上串起来的饰品。好了,话不多说,进入正题! 正文 小程序比较简单,采用云开发。两个页面,一个查…

从阅读到编辑,全方位PDF编辑器软件功能探索

你现在收到的文件是不是大部分也都是PDF格式的?这个格式可以完整的保存任意Office软件制作文档的格式,但是编辑起来就不是那么方便了。这次我汇集了一些我和身边小伙伴常用的类似福昕高级pdf编辑器这样的编辑工具统统分享给你吧。 1.福昕PDF编辑器 链接…

OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、选择映射(SLM) 4.2 相位截断星座图(PTS) 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 mat…

《JavaEE进阶》----14.<SpringMVC配置文件实践之【验证码项目】>

本篇博客介绍的是Google的开源项目Kaptcha来实现的验证码。 这种是最简单的验证码。 也是很常见的一种验证码。可以去看项目结果展示。就可以明白这个项目了。 前言: 随着安全性的要求越来越高、很多项目都使用了验证码。如今验证码的形式也是有许许多多、更复杂的图…

RT-Thread Nano版本在STM32F103RB上的快速移植

目录 概述 1 RT-Thread Nano 1.1 Nano版本介绍 1.2 RT-Thread Nano的特点 2 STM32Cube 创建工程 2.1 STM32Cub配置板卡参数 2.2 项目程序架构 3 移植RT-Thread 3.1 Keil IDE加载RT-Thread 3.2 解决上面两个ERROR 3.2.1 ERROR-1: 3.2.2 ERROR-2 3.3 移植FINSH 3.4…

下载Mongodb 4.2.25 版本教程

1、MongoDB 安装包的下载链接 Download MongoDB Community Server | MongoDB 进入如下截图: 2、查找历史版本 往下拉,点击“...”,找到”Archived releases”,点击进入 、 3、下载Mongodb 4.2.25 版本 找到如下图4.2.25版本下载链接,点击就可…