CANoe学习笔记(四):UDS常用否定响应

2023-08-04

UDS中定义的否定响应代码常用的:

ServiceNotSupported/服务不支持($11 )

当诊断仪发送的请求消息中服务标识符无法识别或不支持时,ECU应发送该响应码

SubFunctionNotSupported/不支持子功能($12 )

该响应码表明请求的动作不能执行的原因是ECU不支持请求消息中的服务特定参数。如果诊断仪已经发送了一请求消息,并且该请求消息包含能识别且支持的服务标识符,但子功能要么无法识别要么不支持,此时ECU应(shall)发送此响应代码

IncorrectMessageLengthOrInvalidFormat/不正确的消息长度或无效的格式($13)

该响应码表明请求的动作不能执行的原因是ECU接收到的请求消息长度与特定服务规定的长度不匹配或者是参数格式与特定服务规定的格式不匹配。

conditionsNotCorrect/条件不正确($22)

该响应码表明请求的动作不能执行的原因是ECU的状态条件不允许。

requestSequenceError/请求序列错误($24)

该响应码表明请求的动作不能执行的原因是ECU收到一个非预期的请求消息序列或诊断仪发送的消息。

requestOutOfRange/请求超出范围($31)

该响应码表明请求的动作不能执行的原因是ECU检测到请求消息包含一个超出允许范围的参数或者是不支持或者激活会话模式下不支持的数据标识符/例程标识符的访问。应(shall)允许诊断仪在ECU内部进行读数据、写数据或通过数据调整功能的服务使用该响应代码。

securityAccessDenied/安全访问拒绝($33)

用在需要安全访问但没通过安全访问的情况。

invalidKey/密钥无效($35)

该响应码表明ECU不允许通过安全访问的原因是诊断仪发送的密钥与ECU内存中的密钥不匹配。

generalProgrammingFailure/一般编程失败($72)

该响应码表明在不可擦除的内存设备中进行擦除或编程时ECU检测到错误发生。

requestCorrectlyReceived-ResponsePending/正确接收请求消息-等待响应($78)

该响应码表明诊断仪请求的消息被ECU正确接收且请求消息中所有参数有效,但是将执行的动作未完成且ECU未准备好接收其它请求。一旦完成所请求的服务,ECU应(shall)发送一肯定响应消息或发送否定响应吗不为78的否定响应消息。

subFunctionNotSupportedInActiveSession/激活会话不支持该子服务($7E)

该响应码表明请求的动作不能执行的原因是当前会话模式下ECU不支持请求的子服务。

serviceNotSupportedInActiveSession/激活会话不支持该服务($7F)

该响应码表明请求的动作不能执行的原因是当前会话模式下ECU不支持请求的服务。

CANoe学习笔记(四):UDS常用否定响应的相关教程结束。