UDS ReadDTCInformation (0x19) 服務說明
UDS ReadDTCInformation (0x19) 是 ISO 14229 中讀取診斷故障碼 (DTC) 資訊的核心服務,定義多個子服務(如 0x01 reportNumberOfDTCByStatusMask、0x02 reportDTCByStatusMask、0x06 reportDTCExtDataRecordByDTCNumber 等),可從 ECU 取得 DTC 數量、狀態、快照、擴充資料與環境條件。本文整理服務結構、常用子服務與 KopherBit DCM/DEM 整合方式。
Summary
ReadDTCInformation (0x19) 是 UDS (ISO 14229) 中診斷故障碼 (DTC, Diagnostic Trouble Code) 的核心讀取服務。透過不同的 sub-function (子服務 ID) 可分別取得:DTC 數量、DTC 列表、DTC 狀態、Snapshot (Freeze Frame) 快照資料、Extended Data Record 擴充資料、嚴重性 (Severity) 等。KopherBit 在 KopherSAR DCM (Diagnostic Communication Manager) 與 DEM (Diagnostic Event Manager) 中提供完整 0x19 子服務支援,並透過 KopherUDS 上位機解析。
Technical Role
ReadDTCInformation 是診斷工具與 ECU 之間取得故障資訊的標準介面。一次完整的故障分析流程通常包含:
- 用 0x01 / 0x07 取得符合 status mask 的 DTC 數量。
- 用 0x02 取得符合 status mask 的 DTC 列表與狀態。
- 對每筆 DTC 用 0x04 取得 Snapshot Record (Freeze Frame) 釐清發生當下的環境條件。
- 用 0x06 取得 Extended Data Record (例如:發生次數、最近發生時 SoC、運行時間、溫度等)。
- 視需要用 0x08 / 0x09 / 0x0A 取得嚴重性、相關 ECU 或所有支援 DTC 列表。
服務結構(請求與回應)
請求基本格式:
| Byte Index | Parameter | 說明 |
|---|---|---|
| #1 | Service ID | 0x19 |
| #2 | Sub-function (reportType) | 子服務 ID(0x01–0x18 等) |
| #3+ | 子服務參數 | 例如 DTCStatusMask、DTCNumber (3 bytes)、RecordNumber |
正向回應 = 0x19 + 0x40 = 0x59;負向回應 = 0x7F + 0x19 + NRC。
常用子服務 (Sub-function)
| Sub | 名稱 | 用途 |
|---|---|---|
| 0x01 | reportNumberOfDTCByStatusMask | 取得符合 StatusMask 的 DTC 數量 |
| 0x02 | reportDTCByStatusMask | 取得符合 StatusMask 的 DTC 列表 |
| 0x03 | reportDTCSnapshotIdentification | 列出有 Snapshot 的 DTC |
| 0x04 | reportDTCSnapshotRecordByDTCNumber | 讀取指定 DTC 的 Snapshot |
| 0x05 | reportDTCStoredDataByRecordNumber | 依紀錄號讀取 Stored Data |
| 0x06 | reportDTCExtDataRecordByDTCNumber | 讀取指定 DTC 的 Extended Data |
| 0x07 | reportNumberOfDTCBySeverityMaskRecord | 依嚴重性過濾並取得數量 |
| 0x08 | reportDTCBySeverityMaskRecord | 依嚴重性過濾取得列表 |
| 0x0A | reportSupportedDTC | 列出 ECU 支援的所有 DTC |
| 0x0B | reportFirstTestFailedDTC | 第一筆 TestFailed DTC |
| 0x0E | reportMostRecentTestFailedDTC | 最近一筆 TestFailed DTC |
| 0x14 | reportDTCFaultDetectionCounter | 取得 DTC 故障計數 |
| 0x15 | reportDTCWithPermanentStatus | 取得永久狀態 DTC |
Architecture
| 模組 | 角色 |
|---|---|
| Tester (Client) | 診斷工具或上位機,發送 0x19 請求。 |
| DCM (Diagnostic Communication Manager) | KopherSAR BSW 模組,解析 UDS 訊息、路由至 DEM。 |
| DEM (Diagnostic Event Manager) | 維護 DTC 狀態機、Snapshot、Extended Data 緩衝。 |
| Application SWC | 透過 Dem_SetEventStatus 報告事件狀態。 |
| Storage | 非揮發性記憶體,持久化 DTC、Snapshot、Counter。 |
Key Capabilities
- 完整覆蓋 ISO 14229-1 規範的 0x19 子服務集。
- 支援 Snapshot Record 與 Extended Data Record 配置(資料項目可在 KopherConfig 中以 ARXML 方式設定)。
- 支援 OBD(OBD-II legacy DTC 兼容)與 UDS 雙模式 DTC 編碼。
- 與 DEM 故障計數、Aging Cycle、Healing 機制整合。
- 支援 DTC Severity(B 計、C 計)與 OBD MIL 觸發條件。
Engineering Inputs Required
| 輸入 | 用途 |
|---|---|
| DTC 清單 (DTC Number + 名稱 + 描述) | 在 DEM 配置中定義所有支援故障碼。 |
| Snapshot 資料項目 | 每筆 DTC 觸發時要凍結的訊號 (例如車速、SoC、溫度)。 |
| Extended Data 項目 | 發生次數、最近發生時間、Aging Counter 等。 |
| Severity / Class | DTC 嚴重性分級。 |
| Healing / Aging 規則 | 自動清除故障的條件。 |
| SecurityAccess 等級 | 是否限制讀取 DTC 的存取權限。 |
How KopherBit Supports This
- 基礎軟體:KopherSAR 內建 DCM 與 DEM,完整實作 0x19 子服務集。
- 配置:KopherConfig 將 DTC 清單、Snapshot/Extended Data 配置匯出為 ARXML,與 SWC 對應。
- 上位機:KopherUDS 上位機支援所有 0x19 子服務並以人讀格式呈現 DTC、Snapshot、Counter。
- 整合:與 EDR (Event Data Recorder) 共用底層事件管理,事故事件可同步反映於 DTC。
FAQ
0x19 與 0x14 (ClearDiagnosticInformation) 的差異?
0x19 為讀取;0x14 為清除。0x14 ClearDiagnosticInformation 用於將指定 DTC 群組或全部 DTC 從 ECU 中清除,常用於維修後重置故障燈。
Snapshot 與 Extended Data 差異?
Snapshot 是 DTC 觸發當下凍結的環境條件(單一時間點快照);Extended Data 是 ECU 對該 DTC 持續累積的統計(如發生次數、最近發生時的 Aging Counter)。
Permanent DTC 是什麼?
Permanent DTC 是即使滿足 healing 條件也不會立即清除的故障碼,需透過 OBD-II 規定的 driving cycle 完成驗證後才能解除。常用於排放相關故障 (P-codes)。
是否需要 SecurityAccess 才能讀取 DTC?
依 ECU 配置而定。多數 ECU 允許在 default session 下讀取 DTC,但部分廠商會將 0x19 限制於 extended session 或要求 SecurityAccess。
KopherSAR DEM 是否支援 Aging?
支援。可在 KopherConfig 中配置每筆 DTC 的 Aging Cycle Counter,達標後自動將狀態由 Confirmed 轉為 Aged 或清除。
JSON-LD
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "UDS ReadDTCInformation (0x19) 服務說明",
"description": "ISO 14229 ReadDTCInformation 0x19 服務的子服務集、訊息格式與 KopherBit DCM/DEM 整合方式。",
"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" } }
}