NRC (Negative Response Code)

💡

Negative Response Code : 차량의 진단 통신 프로토콜에서 사용되는 코드로, 특정 진단 요청이 실패했거나 처리할 수 없을 때 ECU(Electronic Control Unit)에서 반환하는 응답 코드입니다. 이 코드는 ISO 14229 (UDS - Unified Diagnostic Services) 표준에서 정의되며, 차량의 OBD(On-Board Diagnostics) 시스템에서 진단 요청에 대한 부정적인 응답을 식별하는 데 사용됩니다.

  • ECU가 진단 요청을 처리할 수 없을 때 송신되는 코드
  • 진단 도구가 문제를 이해하고 해결하는 데 도움을 줄 수 있음
NRC Hex Mnemonic Use Case
0x10 GR General Reject
0x11 SNS Service Not Supported
0x12 SFNS Sub-Function Not Supported
0x13 IMLOIF Incorrect Message Length or Invalid Format
0x14 RTL Response Too Long
0x21 BRR Busy Repeat Request
0x22 CNC Conditions Not Correct
0x24 RSE Request Sequence Error
0x25 NRFSC No Response From Subnet Component
0x26 FPEORA Failure Prevents Execution Of Requested Action
0x31 ROOR Request Out of Range
0x33 SAD Security Access Denied
0x35 IK InvalidKey
0x36 ENOA ExceedNumberOfAttempts
0x37 RTDNE RequiredTimeDelayNotExpired
0x38-0x4F RBEDLSD Reserved by Extended Data Link Security Document
0x70 UDNA Upload/Download Not Accepted
0x71 TDS Transfer Data Suspended
0x72 GPF General Programming Failure
0x73 WBSC Wrong Block Sequence Counter
0x78 RCRRP Response Correctly Received, But Response is Pending
0x7E SFNSIAS Sub-Function Not Supported in Active Session
0x7F SNSIAS Service Not Supported in Active Session
0x81 RTH RPM Too High
0x82 RTL RPM Too Low
0x83 EIR Engine is Running
0x84 EINR Engine is Not Running
0x85 ERTTL Engine Run Time Too Low
0x86 TTH Temperature Too High
0x87 TTL Temperature Too Low
0x88 VSTH Vehicle Speed Too High
0x89 VSTL Vehicle Speed Too Low
0x8A TPTH Throttle Pedal Too High
0x8B TPTL Throttle Pedal Too Low
0x8C TRNIN Transmission Range Not in Neutral
0x8D TRNIG Transmission Range Not in Dear
0x8F BSNC Brake Switches Not Closed
0x90 SLNIP Shifter Lever Not in Park
0x91 TCCL Torque Converter Clutch Locked
0x92 VTH Voltage Too High
0x93 VTL Voltage Too Low
0xF0-0xFE < Manufacturer Specific Conditions Not Correct

with Description

value Mnemonic responseCode Description
0x00 < positiveResponse This response code shall not be used in a negative response message. This positiveResponse parameter value is reserved for server internal implementation.
0x01 - 0x0F < ISOSAEReserved This range of values is reserved by this document for future definition.
0x10 GR generalReject This response code indicates that the requested action has been rejected by the server. The generalReject response code shall only be implemented in the server if none of the negative response codes defined in this document meet the needs of the implementation. At no means shall this response code be a general replacement for other response codes defined.
0x11 SNS serviceNotSupported This response code indicates that the requested action will not be taken because the server does not support the requested service. The server shall send this response code in case the client has sent a request message with a service identifier, which is either unknown or not supported by the server. Therefore this negative response code is not shown in the list of negative response codes to be supported for a diagnostic service, because this negative response code is not applicable for supported services.
0x12 SFNS subFunctionNotSupported This response code indicates that the requested action will not be taken because the server does not support the service specific parameters of the request message. The server shall send this response code in case the client has sent a request message with a known and supported service identifier but with “sub function“ which is either unknown or not supported.
0x13 IMLOIF incorrectMessageLengthOrInvalidFormat This response code indicates that the requested action will not be taken because the length of the received request message does not match the prescribed length for the specified service or the format of the parameters do not match the prescribed format for the specified service.
0x14 RTL responseTooLong This response code shall be reported by the server if the response to be generated exceeds the maximum number of bytes available by the underlying network layer.
0x15 - 0x20 < ISOSAEReserved This range of values is reserved for future definition.
0x21 BRR busyRepeatReques This response code indicates that the server is temporarily too busy to perform the requested operation. In this circumstance the client shall perform repetition of the “identical request message” or “another request message”. The repetition of the request shall be delayed by a time specified in the respective implementation documents.Example: In a multi-client environment the diagnostic request of one client might be blocked temporarily by a NRC $21 while a different client finishes a diagnostic task.NOTE If the server is able to perform the diagnostic task but needs additional time to finish the task and prepare the response, the NRC 0x78 shall be used instead of NRC 0x21.This response code is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services.
0x22 CNC conditionsNotCorrect This response code indicates that the requested action will not be taken because the server prerequisite conditions are not met.
0x23   ISOSAEReserved This range of values is reserved for future definition.
0x24 RSE requestSequenceError This response code indicates that the requested action will not be taken because the server expects a different sequence of request messages or message as sent by the client. This may occur when sequence sensitive requests are issued in the wrong order.EXAMPLE A successful SecurityAccess service specifies a sequence of requestSeed and sendKey as sub-functions in the request messages. If the sequence is sent different by the client the server shall send a negative response message with the negative response code 0x24 (requestSequenceError).
0x25 - 0x30 < ISOSAEReserved This range of values is reserved for future definition.
0x31 ROOR
requestOutOfRange This response code indicates that the requested action will not be taken because the server has detected that the request message contains a parameter which attempts to substitute a value beyond its range of authority (e.g. attempting to substitute a data byte of 111 when the data is only defined to 100), or which attempts to access a dataIdentifier/routineIdentifer that is not supported or not supported in active session. This response code shall be implemented for all services, which allow the client to read data, write data or adjust functions by data in the server.
0x32 FPEORA ISOSAEReserved This range of values is reserved for future definition.
0x33 SAD securityAccessDenied This response code indicates that the requested action will not be taken because the server’s security strategy has not been satisfied by the client. The server shall send this response code if one of the following cases occur:the test conditions of the server are not met,the required message sequence e.g. DiagnosticSessionControl, securityAccess is not met,the client has sent a request message which requires an unlocked server.Beside the mandatory use of this negative response code as specified in the applicable services within this standard, this negative response code can also be used for any case where security is required and is not yet granted to perform the required service.
0x34 < ISOSAEReserved This range of values is reserved for future definition.
0x35 IK invalidKey This response code indicates that the server has not given security access because the key sent by the client did not match with the key in the server’s memory. This counts as an attempt to gain security. The server shall remain locked and increment its internal securityAccessFailed counter.
0x36 ENOA exceedNumberOfAttempts This response code indicates that the requested action will not be taken because the client has unsuccessfully attempted to gain security access more times than the server’s security strategy will allow.
0x37 RTDNE requiredTimeDelayNotExpired This response code indicates that the requested action will not be taken because the client’s latest attempt to gain security access was initiated before the server’s required timeout period had elapsed.
0x38 - 0x4F RBEDLSD reservedByExtendedDataLinkSecurityDocument This range of values is reserved by ISO 15764 Extended data link security.
0x50 - 0x6F   ISOSAEReserved This range of values is reserved for future definition.
0x70 UDNA uploadDownloadNotAccepted This response code indicates that an attempt to upload/download to a server’s memory cannot be accomplished due to some fault conditions.
0x71 TDS transferDataSuspended This response code indicates that a data transfer operation was halted due to some fault. The active transferData sequence shall be aborted.
0x72 GPF generalProgrammingFailure This response code indicates that the server detected an error when erasing or programming a memory location in the permanent memory device (e.g. Flash Memory).
0x73 WBSC wrongBlockSequenceCounter This response code indicates that the server detected an error in the sequence of blockSequenceCounter values. Note that the repetition of a TransferData request message with a blockSequenceCounter equal to the one included in the previous TransferData request message shall be accepted by the server.
0x74 - 0x77 << ISOSAEReserved This range of values is reserved for future definition.
0x78 RCRRP requestCorrectlyReceived-ResponsePending This response code indicates that the request message was received correctly, and that all parameters in the request message were valid, but the action to be performed is not yet completed and the server is not yet ready to receive another request. As soon as the requested service has been completed, the server shall send a positive response message or negative response message with a response code different from this. The negative response message with this response code may be repeated by the server until the requested service is completed and the final response message is sent. This response code might impact the application layer timing parameter values. The detailed specification shall be included in the data link specific implementation document.This response code shall only be used in a negative response message if the server will not be able to receive further request messages from the client while completing the requested diagnostic service. When this response code is used, the server shall always send a final response (positive or negative) independent of the suppressPosRspMsgIndicationBit value. A typical example where this response code may be used is when the client has sent a request message, which includes data to be programmed or erased in flash memory of the server. If the programming/erasing routine (usually executed out of RAM) is not able to support serial communication while writing to the flash memory the server shall send a negative response message with this response code. This response code is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services.
0x79 - 0x7D < ISOSAEReserved This range of values is reserved for future definition.
0x7E SFNSIAS subFunctionNotSupportedInActiveSession This response code indicates that the requested action will not be taken because the server does not support the requested sub-function in the session currently active. Within the programmingSession negative response code 0x12 (subFunctionNotSupported) may optionally be reported instead of negative response code 0x7F (subFunctionNotSupportedInActiveSession). This response code shall only be used when the requested sub-function is known to be supported in another session, otherwise response code 0x12 (subFunctionNotSupported) shall be used. This response code shall be supported by each diagnostic service with a sub-function parameter, if not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services.
0x7F SNSIAS serviceNotSupportedInActiveSession This response code indicates that the requested action will not be taken because the server does not support the requested service in the session currently active. This response code shall only be used when the requested service is known to be supported in another session, otherwise response code 0x11 (serviceNotSupported) shall be used. This response code is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services.
0x80 < ISOSAEReserved This range of values is reserved for future definition.
0x81 RTH rpmTooHigh This response code indicates that the requested action will not be taken because the server prerequisite condition for RPM is not met (current RPM is above a pre-programmed maximum threshold).
0x82 RTL rpmTooLow This response code indicates that the requested action will not be taken because the server prerequisite condition for RPM is not met (current RPM is below a pre-programmed minimum threshold).
0x83 EIR engineIsRunning This is required for those actuator tests which cannot be actuated while the Engine is running. This is different from RPM too high negative response and needs to be allowed.
0x84 EINR engineIsNotRunning This is required for those actuator tests which cannot be actuated unless the Engine is running. This is different from RPM too low negative response, and needs to be allowed.
0x85 ERTTL engineRunTimeTooLow This response code indicates that the requested action will not be taken because the server prerequisite condition for engine run time is not met (current engine run time is below a preprogrammed limit).
0x86 TTH temperatureTooHigh This response code indicates that the requested action will not be taken because the server prerequisite condition for temperature is not met (current temperature is above a preprogrammed maximum threshold).
0x87 TTL temperatureTooLow This response code indicates that the requested action will not be taken because the server prerequisite condition for temperature is not met (current temperature is below a preprogrammed minimum threshold).
0x88 VSTH vehicleSpeedTooHigh This response code indicates that the requested action will not be taken because the server prerequisite condition for vehicle speed is not met (current VS is above a pre-programmed maximum threshold).
0x89 VSTL vehicleSpeedTooLow This response code indicates that the requested action will not be taken because the server prerequisite condition for vehicle speed is not met (current VS is below a pre-programmed minimum threshold).
0x8A TPTH throttle/PedalTooHigh This response code indicates that the requested action will not be taken because the server prerequisite condition for throttle/pedal position is not met (current TP/APP is above a preprogrammed maximum threshold).
0x8B TPTL throttle/PedalTooLow This response code indicates that the requested action will not be taken because the server prerequisite condition for throttle/pedal position is not met (current TP/APP is below a preprogrammed minimum threshold).
0x8C TRNIN transmissionRangeNotInNeutral This response code indicates that the requested action will not be taken because the server prerequisite condition for being in neutral is not met (current transmission range is not in neutral).
0x8D TRNIG transmissionRangeNotInGear This response code indicates that the requested action will not be taken because the server prerequisite condition for being in gear is not met (current transmission range is not in gear).
0x8E   ISOSAEReserved This range of values is reserved by this document for future definition.
0x8F BSNC brakeSwitch(es)NotClosed (Brake Pedal not pressed or not applied) For safety reasons, this is required for certain tests before it begins, and must be maintained for the entire duration of the test.
0x90 SLNIP shifterLeverNotInPark For safety reasons, this is required for certain tests before it begins, and must be maintained for the entire duration of the test.
0x91 TCCL torqueConverterClutchLocked This response code indicates that the requested action will not be taken because the server prerequisite condition for torque converter clutch is not met (current TCC status above a preprogrammed limit or locked).
0x92 VTH voltageTooHigh This response code indicates that the requested action will not be taken because the server prerequisite condition for voltage at the primary pin of the server (ECU) is not met (current voltage is above a pre-programmed maximum threshold).
0x93 VTL voltageTooLow This response code indicates that the requested action will not be taken because the server prerequisite condition for voltage at the primary pin of the server (ECU) is not met (current voltage is below a pre-programmed maximum threshold).
0x94 - 0xFE < reservedForSpecificConditionsNotCorrect This range of values is reserved for future definition.
0xFF < ISOSAEReserved This range of values is reserved for future definition.