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)服务
文章目录
一、服务说明
客户端应使用 ControlDTCSetting(控制 DTC 设置)服务来停止或继续服务器中 DTC 状态位的更新。对 ReadDTCInformation(读取 DTC 信息)某些子功能做出的肯定响应的 statusOfDTC(DTC 状态)参数中报告有 DTC 状态位。
可以使用 ControlDTCSetting(控制DTC设置)请求消息来停止个别服务器或一组服务器中 DTC 状态位的更新。如果正被寻址的服务器无法停止正在更新的 DTC 状态位,则其应通过表明拒绝原因的 ControlDTCSetting(控制DTC设置)否定响应消息来做出响应。
服务器接收子功能值位 DTCSettingType = off 的 ControlDTCSetting(控制DTC设置)请求时,服务器应暂时停止任何至 DTC 状态位的更新(即,冻结当前值),知道再次启用该功能。子功能设置为 “开” 时执行 ControlDTCSetting(控制DTC设置)请求后,或者转换到不支持 ControlDTCSetting(控制DTC设置)的会话后(即,会话层超时转至 defaultSession(默认会话)、ECU 重置等)应继续更新 DTC 状态位信息。如果所请求的子功能集设置为 “开” 或 “关” 时活动会话中可支持该服务,则服务器仍应发送肯定响应,即使所请求的 DTC 设置状态已活动。
如果客户端发送 ClearDiagnosticInformation(清除诊断信息)(0x14)服务,则 ControlDTCSetting(控制DTC设置)不得禁止重置服务器的 DTC 状态位。
DTC 状态位文件含有与表示特定故障条件的数字标识符(DTC)相关的某些信息。ControlDTCSetting(控制DTC设置)仅打开 / 关闭 DTC 状态位更新。ControlDTCSetting(控制DTC设置)服务的目的并非时关闭故障监控,也并非是禁用故障弱化策略。不建议将故障弱化或故障弱化策略直接与 DTC 状态位链接或连接(例如,已接受的 ClearDiagnosticInformation(清除诊断信息)请求不会直接删除任何活动的故障弱化)。
二、请求消息
1.请求消息定义
字节 | 参数名称 | 字节值 |
---|---|---|
#1 | ControlDTCSetting(控制DTC设置)请求SID | 0x85 |
#2 | sub-function = [ DTCSettingType ] | 0x00 - 0xFF |
#3 . . #n | DTCSettingControlOptionRecord[] = [ parameter#1 . . parameter#m ] | 0x00 - 0xFF . . 0x00 - 0xFF |
2.请求消息子功能参数定义
ControlDTCSetting(控制DTC设置)请求消息使用子功能参数 DTCSettingType 向服务器表明诊断故障码状态位更新是否停止或再次启动。
第 6 至 0 位 | 说明 |
---|---|
0x00 | 保留 |
0x01 | on(开) 依据正常操作条件,服务器应继续更新诊断故障码状态位。 |
0x02 | off(关) 服务器应停止更新诊断故障码状态位。 |
0x03 - 0x3F | 保留。 |
0x40 - 0x5F | VehicleManufacturerSpecific(由车辆制造商规定) |
0x60- 0x7E | SystemSupplierSpecific(由系统供应商规定) |
0x7F | 保留 |
3. 请求消息数据参数定义
定义 |
---|
DTCSettingControlOptionRecord(DTC 设置控制选项记录) 控制 DTC 状态位更新时使用者可以选择该参数记录以向服务器传输数据(例如,该记录含有将打开或关闭的 DTC 清单)。 |
三、肯定响应消息
1. 肯定响应消息定义
字节 | 参数名称 | 字节值 |
---|---|---|
#1 | ControlDTCSetting(控制DTC设置)响应SID | 0xC5 |
#2 | DTCSettingType(DTC 设置类型) | 0x00 - 0xFF |
2. 肯定响应消息数据参数定义
定义 |
---|
DTCSettingType(DTC 设置类型) 该参数是对来自请求消息的子功能参数第 6 至 0 位的回显。 |
四、支持的NRC
NRC | 说明 |
---|---|
0x12 | 不受支持的子功能 |
0x13 | 消息长度不正确或格式无效 |
0x22 | 条件不正确 服务器因处于关键的正常模式活动而无法执行所请求的 DTC 控制功能时使用该代码。 |
0x31 | 请求超过限值 如果服务器探测到 DTCSettingControlOptionRecord(DTC 设置控制选项记录)有错误,则服务器应使用该响应代码。 |
五、示例
suppressPosRspMsgIndicationBit = False.
注意,该示例未使用服务能力来向服务器传输其他数据。
1. DTCSettingType = off
req 85 02
resp C5 02
2. DTCSettingType = on
req 85 01
resp C5 01