客户端应使用ControlDTCSetting服务停止或恢复服务器中诊断故障代码(DTC)的设置。该服务请求消息可用于停止在单个服务器或一组服务器中设置诊断故障代码。如果被寻址的服务器不能停止诊断故障代码的设置,则它应以ControlDTCSetting否定响应消息作为响应,指示拒绝原因。一旦执行了将子功能设置为“ on”的ControlDTCSetting请求或发生会话层超时(服务器转换为defaultSession),DTC状态位信息的更新将继续。如果活动会话中支持该服务且请求了该请求,则服务器仍应发送肯定响应。即使请求的DTC设置状态已经激活,该子功能也将设置为“ on”或“ off”。如果客户端发送了clearDiagnosticInformation(14 hex)服务,则ControlDTCSetting不应禁止重置服务器的DTC内存。如果执行成功的ECUReset,则重新启用DTC的设置。
诊断请求格式
具体的格式如下:
这个对sub-function做一个另外的说明:
Hex | Name | Description |
00 | ISOSAEReserved | ISO 保留,未定义 |
01 | on | 根据正常操作条件启用诊断故障代码 |
02 | off | 根据正常操作条件禁用诊断故障代码 |
03 | ISOSAEReserved | ISO 保留,未定义 |
... | ||
3F | ||
40 | vehicleManufacturerSpecific | 整车厂定义 |
... | ||
5F | ||
60 | systemSupplierSpecific | 供应商定义 |
... | ||
7E | ||
7F | ISOSAEReserved | ISO 保留,未定义 |
另一个参数DTCSettingControlOptionRecord 是用户可选的,并在控制DTC设置时将数据传输到服务器。 它可以包含要打开或关闭的DTC列表。
正响应格式
具体的格式如下:
负响应NRC码
具体的NRC码如下: