Skip to Content
UDS Simulator 2.0 Released

Docs baseline actions

Copy this page URLEdit page
Docs0x19 Read DTC Information

Service Interaction Protocol

Read DTC Information

0x19
Protocol Identifier
The primary service for retrieving diagnostic trouble codes, status information, freeze frames, and extended data from the ECU.

Overview

ISO 14229-1

“This service allows the client to request diagnostic trouble code (DTC) information from the server, including the status of DTCs, snapshot data (Freeze Frame), and extended data.”

Common Sub-Functions

Hex
Name
Description
0x01reportNumberOfDTCByStatusMaskCount DTCs matching a status mask.
0x02reportDTCByStatusMaskList all DTCs matching a status mask.
0x04reportDTCSnapshotRecordByDTCNumberRetrieve Freeze Frame data (speed, rpm, etc) for a fault.
0x06reportDTCExtDataRecordByDTCNumberRetrieve Extended Data (counters, aging, heuristics).
0x0AreportSupportedDTCList ALL DTCs supported by this ECU strategy.

DTC Status Byte

Each DTC has an 8-bit status field indicating its current state (Valid, Active, Confirmed, etc.). The most commonly checked bits are Pending (Bit 2) and Confirmed (Bit 3).

Bit 0
TestFailed
Failed most recent test
Bit 1
FailedThisCycle
Failed this drive cycle
Bit 2
Pending
Potential fault (debouncing)
Bit 3
Confirmed
Fault verified (MIL On)
Bit 4
TestNotExecSinceClear
Not run since clear
Bit 5
FailedSinceClear
Failed since clear
Bit 6
TestNotExecThisCycle
Not run this cycle
Bit 7
WarningReq
Requesting Dashboard Light

Retrieval Workflow

SID 0x19 Workflow
Click to Enlarge

Decision logic for handling different retrieval sub-functions.

Read By Status (0x02)

“Give me all Confirmed DTCs” (Mask 0x08).

tx_packet

Request

19 02 08

> Read DTCs with 'Confirmed' bit set

rx_packet

Response

59 02 79 P0 12 34 2F ...

> List of DTCs + Status 0x2F

Read Snapshot (0x04)

“Give me Freeze Frame #01 for P01234”.

tx_packet

Request

19 04 P0 12 34 01

> DTC P01234, Record 01

rx_packet

Response

59 04 P0 12 34 2F 01 [Data...]

> Snapshot Data follows

Negative Response Codes

Logic_Exceptions

Critical_Error_Paths

NRC_0x12

Sub-Function Not Supported

The requested sub-function is not implemented.
SEQ_DIAGRAM_DUMPOFFSET_0x7F

Sub-Function Not Supported Flow

2 steps
Tester
ECU
NRC_0x13

Incorrect Message Length

Missing parameters (e.g., Sub-function 0x02 requires a mask byte).
SEQ_DIAGRAM_DUMPOFFSET_0x7F

Incorrect Message Length Flow

2 steps
Tester
ECU
NRC_0x31

Request Out Of Range

The requested DTC or Record Number does not exist.
SEQ_DIAGRAM_DUMPOFFSET_0x7F

Request Out Of Range Flow

2 steps
Tester
ECU