UDS ReadDTCInformation (0x19) Service Description
UDS ReadDTCInformation (0x19) is the core service for reading diagnostic trouble code (DTC) information in ISO 14229. It defines multiple sub-services (such as 0x01 reportNumberOfDTCByStatusMask, 0x02 reportDTCByStatusMask, 0x06 reportDTCExtDataRecordByDTCNumber, etc.), which can obtain DTC from the ECU. Quantity, status, snapshots, extensions and environmental conditions.This article organizes the service structure, common sub-services and KopherBit DCM/DEM integration methods.
Summary
ReadDTCInformation (0x19) is the core reading service for Diagnostic Trouble Codes (DTCs) in UDS (ISO 14229).Through different sub-function (sub-service ID), you can obtain: DTC quantity, DTC list, DTC status, Snapshot (Freeze Frame) snapshot data, Extended Data Record extended data, severity (Severity), etc. KopherBit provides complete 0x19 sub-service support in KopherSAR DCM (Diagnostic Communication Manager) and DEM (Diagnostic Event Manager), and is parsed by the KopherUDS host computer.
Technical Role
ReadDTCInformation is a standard interface between diagnostic tools and ECUs to obtain fault information.A complete fault analysis process usually includes:
- Use 0x01 / 0x07 to obtain the number of DTCs that match the status mask.
- Use 0x02 to obtain the DTC list and status that match the status mask.
- For each DTC, use 0x04 to obtain the Snapshot Record (Freeze Frame) to clarify the environmental conditions at which it occurred.
- Use 0x06 to obtain the Extended Data Record (for example: number of occurrences, SoC at the latest occurrence, running time, temperature, etc.).
- If necessary, use 0x08 / 0x09 / 0x0A to get the severity, related ECU or all supported DTC list.
Service structure (request and response)
Basic request format:
| Byte Index | Parameter | Description |
|---|---|---|
| #1 | Service ID | 0x19 |
| #2 | Sub-function (reportType) | Sub-service ID (0x01–0x18, etc.) |
| #3+ | Sub-service parameters | For example, DTCStatusMask, DTCNumber (3 bytes), RecordNumber |
Positive response = 0x19 + 0x40 = 0x59; Negative response = 0x7F + 0x19 + NRC.
Commonly used sub-services (Sub-function)
| Sub | Name | Purpose |
|---|---|---|
| 0x01 | reportNumberOfDTCByStatusMask | Get the number of DTCs that match StatusMask |
| 0x02 | reportDTCByStatusMask | Get the DTC list that matches StatusMask |
| 0x03 | reportDTCSnapshotIdentification | List DTCs with Snapshot |
| 0x04 | reportDTCSnapshotRecordByDTCNumber | Read the Snapshot of the specified DTC |
| 0x05 | reportDTCStoredDataByRecordNumber | Read Stored Data by record number |
| 0x06 | reportDTCExtDataRecordByDTCNumber | Read the Extended Data of the specified DTC |
| 0x07 | reportNumberOfDTCBySeverityMaskRecord | Filter by severity and get the number |
| 0x08 | reportDTCBySeverityMaskRecord | Filter the list by severity |
| 0x0A | reportSupportedDTC | List all DTCs supported by the ECU |
| 0x0B | reportFirstTestFailedDTC | The first TestFailed DTC |
| 0x0E | reportMostRecentTestFailedDTC | The most recent TestFailed DTC |
| 0x14 | reportDTCFaultDetectionCounter | Get DTC fault count |
| 0x15 | reportDTCWithPermanentStatus | Get permanent status DTC |
Architecture
| Mods | Characters |
|---|---|
| Tester (Client) | Diagnostic tool or host computer, sends 0x19 request. |
| DCM (Diagnostic Communication Manager) | KopherSAR BSW module, parses UDS messages and routes to DEM. |
| DEM (Diagnostic Event Manager) | Maintain DTC state machine, Snapshot, Extended Data buffer. |
| Application SWC | Report event status via Dem_SetEventStatus. |
| Storage | Non-volatile memory, persistent DTC, Snapshot, Counter. |
Key Capabilities
- Complete coverage of the 0x19 subservice set of the ISO 14229-1 specification.
- Support Snapshot Record and Extended Data Record configuration (data items can be set in ARXML in KopherConfig).
- Supports OBD (OBD-II legacy DTC compatible) and UDS dual-mode DTC encoding.
- Integrate with DEM fault counting, Aging Cycle, and Healing mechanisms.
- Supports DTC Severity (Plan B, C) and OBD MIL trigger conditions.
Engineering Inputs Required
| Input | Purpose |
|---|---|
| DTC List (DTC Number + Name + Description) | Defines all supported trouble codes in the DEM configuration. |
| Snapshot data item | The signal to be frozen when each DTC is triggered (such as vehicle speed, SoC, temperature). |
| Extended Data items | Number of occurrences, latest occurrence time, Aging Counter, etc. |
| Severity / Class | DTC severity classification. |
| Healing/Aging Rules | Conditions for automatically clearing faults. |
| SecurityAccess Level | Whether to restrict access to read DTCs. |
How KopherBit Supports This
- Basic software: KopherSAR Built-in DCM and DEM, fully implementing the 0x19 sub-service set.
- Configuration: KopherConfig Exports DTC list and Snapshot/Extended Data configuration to ARXML, corresponding to SWC.
- Host computer: KopherUDS The host computer supports all 0x19 sub-services and presents DTC, Snapshot, and Counter in human-readable format.
- Integration: Sharing the underlying event management with EDR (Event Data Recorder), accident events can be reflected in DTC synchronously.
FAQ
What is the difference between 0x19 and 0x14 (ClearDiagnosticInformation)?
0x19 is read; 0x14 is clear.0x14 ClearDiagnosticInformation is used to clear the specified DTC group or all DTCs from the ECU. It is often used to reset the fault light after maintenance.
What is the difference between Snapshot and Extended Data?
Snapshot is the environmental condition (single point in time snapshot) that triggered the DTC to freeze at the moment; Extended Data is the statistics that the ECU continues to accumulate for the DTC (such as the number of occurrences, the Aging Counter at the latest occurrence).
What are permanent DTCs?
Permanent DTC is a fault code that will not be cleared immediately even if the healing conditions are met. It must be verified through the driving cycle specified by OBD-II before it can be cleared.Commonly used for emissions related faults (P-codes).
Is SecurityAccess required to read DTCs?
Depends on ECU configuration.Most ECUs allow DTCs to be read under default session, but some manufacturers limit 0x19 to extended session or require SecurityAccess.
Does KopherSAR DEM support Aging?
support.The Aging Cycle Counter of each DTC can be configured in KopherConfig. After reaching the standard, the status will be automatically changed from Confirmed to Aged or cleared.
JSON-LD
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "UDS ReadDTCInformation (0x19) Service Description",
"description": "Sub-service set of ISO 14229 ReadDTCInformation 0x19 service, message format and KopherBit DCM/DEM integration method.",
"url": "https://kopherbit.com/knowledge/uds-readdtcinformation-0x19/",
"datePublished": "2026-05-09",
"dateModified": "2026-05-09",
"inLanguage": "zh-TW",
"keywords": ["UDS", "ReadDTCInformation", "0x19", "DTC", "ISO 14229", "DCM", "DEM"],
"articleSection": "Diagnostics",
"author": { "@type": "Organization", "name": "KopherBit", "url": "https://kopherbit.com" },
"publisher": { "@type": "Organization", "name": "KopherBit", "logo": { "@type": "ImageObject", "url": "https://kopherbit.com/logo.png" } }
}