1.服务描述
客户端应使用ControlDTCSetting服务停止或恢复服务器中DTC状态位的更新。DTC状态位报告在对ReadDTCInformation的某些子功能的肯定响应的DTC参数的statusOfDTC中。
ControlDTCSetting请求消息可用于停止单个服务器或一组服务器中DTC状态位的更新。如果被寻址的服务器无法停止DTC状态位的更新,则应使用ControlDTCSetting否定响应消息进行响应,指出拒绝的原因。
当服务器接受子功能值为DTCSettingType=off的ControlDTCSetting请求时,服务器应暂停对DTC状态位的任何更新(即,冻结当前值),直到再次启用该功能。一旦在子功能设置为“on”的情况下执行了ControlDTCSetting请求,或者发生了到不支持ControlDTCSetting的会话的转换(例如,会话层超时到defaultSession、ECU重置等),DTC状态位信息的更新应继续。如果在请求的活动会话中支持服务,则服务器仍应发送肯定响应子功能设置为“开”或“关”,即使请求的DTC设置状态已激活。
如果客户端发送了ClearDiagnosticInformation(0x14)服务,则ControlDTCSetting不应禁止重置服务器的DTC状态位。
DTC状态位记录了与表示特定故障状态的数字标识符(DTC)相关的某些信息。ControlDTCSetting仅打开/关闭DTC状态位更新。ControlDTCSetting服务不会导致关闭故障监控,也不会导致禁用故障软件策略。不建议故障软或故障安全策略与DTC状态位直接链接或耦合(例如,接受的ClearDiagnosticInformation请求不会直接删除任何激活的故障软件)
2.请求消息定义
请求报文分为三个部分,
①第一部分是SID(1个字节),在这里就是0x85;
②第二部分是子功能参数DTCSettingType(1个字节),
③第三部分是DTCSettingControlOptionRecord参数,当控制DTC状态位的更新时,用户可以选择此参数记录来向服务器传输数据(例如可以包含要打开或关闭的DTC列表)
3.子功能参数定义
注意:支持子功能且支持抑制肯定响应指示位
4.肯定响应消息定义
ControlDTCSetting服务的肯定响应报文分两个部分,
①第一部分是SID+0x40(1个字节),在这里就是0xC5;
②第二部分是子功能参数DTCSettingType(1个字节),和请求报文中的子功能参数相同
5.否定响应消息定义
否定响应消息分为三个部分,
①第一部分是固定的0x7F(1个字节);
②第二部分是SID(1个字节),这里就是0x85;
③第三部分是NRC,