【CAN】诊断服务-31服务的格式,肯定相应,否定响应
一、31服务基础知识
31服务:例程控制,RoutineControl,执行指定的测试步骤顺序并获取相关结果,具有较大的灵活性。
例程请求格式:
SID + subfunction (1byte)+ routineIdentifier (2byte)+ OptionRecord(n bytes)
第一部分: SID =31
第二部分:subfunction(1byte)
-- 01 启动例程:规定服务器需启动第三部分routineIdentifier指定的例程;
-- 02 停止例程:规定服务器需停止第三部分routineIdentifier指定的例程;
-- 03 请求例程结果:规定服务器需返回第三部分routineIdentifier指定例程的结果值;
第三部分: routineIdentifier 例程标识符(2 byte);
第四部分: OptionRecord 例程控制选项记录,可以选择性的指定例程的启动条件或停止条件
如:擦除内存的例程
检查完整性例程:31 01 02 02
检查独立性例程:31 01 FF 01
二、肯定响应
响应格式:SID + subfunction (1byte)+ routineIdentifier (2byte)+ routinueInfo
第一部分:SID =31+40=71;
第二部分:subfunction(1byte),与请求的subfunction一致;
第三部分: routineIdentifier 例程标识符(2 byte),与请求的例程ID一致;
第四部分: routinueInfo :OEM定义该字节,提供了一种支持所有执行例程的通用外部设备处理的机制;
示例:
三、否定响应
格式:7F 31 NRC