跳至內容

OBD-II PID

維基百科,自由的百科全書

OBD-II PID車上診斷系統(OBD)參數ID的簡稱,是在診斷工具上向車輛請求資料用的編碼。

國際汽車工程師學會(SAE)標準 J1979(電子診斷測試模式)中定義了許多OBD-II PID。所有北美的道路車輛及卡車都要支援一部份的OBD-II PID,主要是在有強制排氣英語vehicle emissions control檢測英語vehicle inspection的州。製造商也定義針對個別車輛的PID。目前沒有強制摩托車要支援OBD-II PID,不過也有許多的摩托車支援。

在1996年時,輕型商用車(重量小於8,500磅 [3,900公斤])首先強制要支援OBD-II PID,之後是中型商用車(重量在8,500—14,000磅 [3,900—6,400公斤]之間)在2005年強制支援[1]。輕型商用車及中型商用車都要可以透過由SAE J1962定義的標準數據鏈路連接器英語Data link connector (automotive)進行存取。

依加州空氣資源局(CARB)的加州法規(CCR) sections 1971.1 title 13,美國2010年之後生產的重型商用車(重量大於14,000磅 [6,400公斤])可以透過SAE standard J1939-13英語SAE J1939(圓型的診斷用連接頭)支援OBD-II的診斷機能。有些北美的重型卡車使用SAE J1962 OBD-II診斷連接器,這也是一般轎車常用的連接器,知名的有麥克貨車及富豪卡車,不過CAN識別符是29位元,不是一般轎車的11位元。

模式

[編輯]

在最新的OBD-II標準SAE J1979中,有列出十種診斷服務。2002年以前的J1979,將這些服務稱為模式(modes)。其說明如下:

模式(十六進制) 敘述
01 顯示目前資料
02 顯示凍結的頁框資料
03 顯示已儲存的診斷錯誤碼英語Diagnostic Trouble Codes(DTC)
04 清除診斷錯誤碼以及儲存數值
05 測試結果,氧氣感測器監控(只在不用CAN傳輸時有效)
06 測試結果、其他元件/系統監控(測試結果,氧氣感測器監控只在用CAN傳輸時有效)
07 顯示未處理的診斷錯誤碼(在目前或上一次駕駛週期偵測到的診斷錯誤碼)
08 on-board元件或系統的控制動作
09 請求車輛的資訊
0A 清除診斷錯誤碼

汽車製造商不一定要實現所有的服務,製造商可以在#9以上增加製造商定義的服務(例如服務22是由Ford/GM的SAE J2190所定義,而服務21是因Toyota而定義) ,這些服務可以提供其他的資料,例如混合動力電動汽車(HEV)中牽引電池的電壓[2]

非OBD的統一診斷服務從0x10開始,避免和ID範圍重疊。

標準PID

[編輯]

下表中所列的是依SAE J1979定義的標準OBD-II PID。也列出每個PID的預期回應,以及回應和實際物理量之間的關係。不是所有車輛都會支援每一個PID,也有一些PID是廠商定義的,不在OBD-II標準中。

服務01和02基本上是相同的,不過服務01會提供目前的資訊,而服務02會提供上一次出現診斷錯誤碼時的資訊。但PID 01和PID 02是例外,PID 01隻出現在服務01,而PID 02隻出現在服務02,若服務02的PID 02為零,表示沒有凍結的頁框資料,其他服務02的資料都沒有意義。

若用位元編碼表示(Bit-Encoded-Notation)時,像C4表示是資料位元組C的第4位元。每一個位元都有0到7的編號,7是最高位元,而0是最低位元。

A B C D
A7 A6 A5 A4 A3 A2 A1 A0 B7 B6 B5 B4 B3 B2 B1 B0 C7 C6 C5 C4 C3 C2 C1 C0 D7 D6 D5 D4 D3 D2 D1 D0

服務01

[編輯]
PID
(HEX)
PID
(DEC)
回應資料位元組個數 描述 最小值 最大值 單位 公式[a]
00 0 4 支持的PID[01 - 20] 位元編碼[A7..D0] == [PID $01..PID $20] 見以下敘述
01 1 4 自從DTC清除後的監控狀態,包括異常指示燈(MIL)狀態,以及DTC的個數 位元編碼。見以下敘述
02 2 2 凍結的DTC
03 3 2 燃油系統狀態 枚舉編碼。見以下敘述
04 4 1 計算的發動機負載 0 100 % (或
05 5 1 發動機冷媒溫度 -40 215 °C
06 6 1 短期燃油調整—Bank 1 -100(燃油需減少:過多燃油) 99.2(燃油需增加:過少燃油) % (or )
07 7 1 長期燃油調整—Bank 1
08 8 1 短期燃油調整—Bank 2
09 9 1 長期燃油調整—Bank 2
0A 10 1 燃油壓力(表壓英語Pressure measurement 0 765 kPa
0B 11 1 進氣歧管絕對壓力 0 255 kPa
0C 12 2 發動機速度 0 16,383.75 rpm
0D 13 1 車輛速度 0 255 km/h
0E 14 1 點火提前 -64 63.5 止點前的角度
0F 15 1 進氣溫度 -40 215 °C
10 16 2 空氣流量感測器英語Mass airflow sensor(MAF)空氣流率 0 655.35 grams/sec
11 17 1 油門位置 0 100 %
12 18 1 命令第二側空氣狀態 見以下敘述
13 19 1 有氧氣傳感器(2 banks時) [A0..A3] == Bank 1, 感測器1-4. [A4..A7] == Bank 2...
14 20 2 氧氣傳感器 1
A:電壓
B:短期燃油調整
0
-100
1.275
99.2
伏特

%

(若B==$FF,傳感器未用來做燃油調整)
15 21 2 氧氣傳感器 2
A:電壓
B:短期燃油調整
16 22 2 氧氣傳感器 3
A:電壓
B:短期燃油調整
17 23 2 氧氣傳感器 4
A:電壓
B:短期燃油調整
18 24 2 氧氣傳感器 5
A:電壓
B:短期燃油調整
19 25 2 氧氣傳感器 6
A:電壓
B:短期燃油調整
1A 26 2 氧氣傳感器 7
A:電壓
B:短期燃油調整
1B 27 2 氧氣傳感器 8
A:電壓
B:短期燃油調整
1C 28 1 車輛使用的OBD標準 1 250 - 枚舉。如下
1D 29 1 存在的氧氣傳感器(在4 banks時) 類似PID 13,但[A0..A7] == [B1S1, B1S2, B2S1, B2S2, B3S1, B3S2, B4S1, B4S2]
1E 30 1 輔助輸入狀態 A0 == 動力分導英語Power Take Off(PTO)狀態(1 == 有效)
[A1..A7] 未使用
1F 31 2 發動機啟動後的運行時間 0 65,535
20 32 4 支援的PID[21 - 40] 位元編碼[A7..D0] == [PID $21..PID $40] 見以下敘述
21 33 2 故障指示燈(MIL)亮時行駛的距離 0 65,535 km
22 34 2 高壓共軌壓力(相對進氣歧管真空) 0 5177.265 kPa
23 35 2 高壓共軌表壓力(柴油,或是汽油直接噴射) 0 655,350 kPa
24 36 4 氧氣偵測器1
AB: 燃油-空氣當量比
CD: 電壓
0
0
< 2
< 8
ratio
V
25 37 4  氧氣偵測器2
AB: 燃油-空氣當量比
CD: 電壓
26 38 4 氧氣偵測器3
AB: 燃油-空氣當量比
CD: 電壓
27 39 4 氧氣偵測器4
AB: 燃油-空氣當量比
CD: 電壓
28 40 4 氧氣偵測器5
AB: 燃油-空氣當量比
CD: 電壓
29 41 4 氧氣偵測器6
AB: 燃油-空氣當量比
CD: 電壓
2A 42 4 氧氣偵測器7
AB: 燃油-空氣當量比
CD: 電壓
2B 43 4 氧氣偵測器8
AB: 燃油-空氣當量比
CD: 電壓
2C 44 1 排氣再循環(EGR)指令 0 100 %
2D 45 1 EGR錯誤 -100 99.2 %
2E 46 1 指令蒸發清除 0 100 %
2F 47 1 燃油Tank水準輸入 0 100 %
30 48 1 錯誤碼清除後的暖機 0 255 count
31 49 2 錯誤碼清除後行駛的距離 0 65,535 km
32 50 2 蒸發系統蒸氣壓力 -8,192 8191.75 Pa

(AB 是有號二補數[3]

33 51 1 絕對大氣壓 0 255 kPa
34 52 4 氧氣偵測器1
AB: 燃油-空氣當量比
CD: 電流
0
-128
< 2
<128
ratio
mA
or
35 53 4 氧氣偵測器2
AB: 燃油-空氣當量比
CD: 電流
36 54 4 氧氣偵測器3
AB: 燃油-空氣當量比
CD: 電流
37 55 4 氧氣偵測器4
AB: 燃油-空氣當量比
CD: 電流
38 56 4 氧氣偵測器5
AB: 燃油-空氣當量比
CD: 電流
39 57 4 氧氣偵測器6
AB: 燃油-空氣當量比
CD: 電流
3A 58 4 氧氣偵測器7
AB: 燃油-空氣當量比
CD: 電流
3B 59 4 氧氣偵測器8
AB: 燃油-空氣當量比
CD: 電流
3C 60 2 催化劑溫度:Bank 1,感測器1 -40 6,513.5 °C
3D 61 2 催化劑溫度:Bank 2,感測器1
3E 62 2 催化劑溫度:Bank 1,感測器2
3F 63 2 催化劑溫度:Bank 2,感測器2
40 64 4 支援的PID[41 - 60] 位元編碼[A7..D0] == [PID $41..PID $60] 見以下敘述
41 65 4 監控狀態,目前駕駛週期 位元編碼 見以下敘述
42 66 2 控制模組電壓 0 65.535 V
43 67 2 絕對負載值 0 25,700 %
44 68 2 燃油–空氣命令等效比 0 < 2 ratio
45 69 1 相對油門位置 0 100 %
46 70 1 環境空氣溫度 -40 215 °C
47 71 1 絕對油門位置B 0 100 %
48 72 1 絕對油門位置C
49 73 1 加速踏板位置D
4A 74 1 加速踏板位置E
4B 75 1 加速踏板位置F
4C 76 1 指令油門致動器
4D 77 2 MIL燈亮的行駛時間 0 65,535
4E 78 2 錯誤碼清除後的時間
4F 79 4 燃油-空氣當量比最大值, 氧氣偵測器電壓,氧氣偵測器電流,及進氣歧管絕對壓力 0, 0, 0, 0 255, 255, 255, 2550 ratio, V, mA, kPa A, B, C, D*10
50 80 4 質量空氣流量計的最大空氣流率 0 2550 g/s A*10, B, C和D保留
51 81 1 燃料種類 燃料種類碼。見以下敘述
52 82 1 乙醇燃料百分比 0 100 %
53 83 2 蒸發系統絕對蒸氣壓力 0 327.675 kPa
54 84 2 蒸發系統(相對)蒸氣壓力 -32,767 32,768 Pa ((A*256)+B)-32767
55 85 2 第二側氧氣偵測器短期修正,A:bank 1, B:bank 3 -100 99.2 %

56 86 2 第二側氧氣偵測器長期修正,A:bank 1, B:bank 3
57 87 2 第二側氧氣偵測器短期修正,A:bank 2, B:bank 4
58 88 2 第二側氧氣偵測器長期修正,A:bank 2, B:bank 4
59 89 2 高壓共軌絕對壓力 0 655,350 kPa
5A 90 1 加速踏板相對位置 0 100 %
5B 91 1 油電混合電池組剩下壽命 0 100 %
5C 92 1 發動機油溫 -40 210 °C
5D 93 2 燃料噴射正時 -210.00 301.992 °
5E 94 2 發動機燃料率 0 3212.75 L/h
5F 95 1 車輛設計的排氣要求 位元編碼
60 96 4 支援的PID[61 - 80] 位元編碼[A7..D0] == [PID $61..PID $80] 見以下敘述
61 97 1 駕駛的發動機命令-力矩百分比 -125 130 % A-125
62 98 1 實際發動機-力矩百分比 -125 130 % A-125
63 99 2 發動機參考力矩 0 65,535 Nm
64 100 5 發動機力矩百分比資料 -125 130 % A-125 閒置
B-125 發動機點1
C-125 發動機點2
D-125 發動機點3
E-125 發動機點4
65 101 2 支援輔助輸入/輸出 位元編碼
66 102 5 質量空氣流量計
67 103 3 發動機冷媒溫度 °C
68 104 7 進氣溫度感測器
69 105 7 EGR命令及EGR錯誤
6A 106 5 柴油進氣空氣流率控制命令及相對進氣氣流位置
6B 107 5 排氣再循環溫度
6C 108 5 油門致動器控制命令和相對油門位置
6D 109 6 燃料壓力控制系統
6E 110 5 噴射壓力控制系統
6F 111 3 渦輪增壓壓縮機入口壓力
70 112 9 提昇壓力控制
71 113 5 可變幾何渦輪增壓(VGT)控制
72 114 5 洩壓閥(Wastegate)控制
73 115 5 排氣壓力
74 116 5 渦輪增壓器RPM
75 117 7 渦輪增壓器溫度
76 118 7 渦輪增壓器溫度
77 119 5 增壓空氣冷卻器溫度(Charge air cooler temperature,CACT)
78 120 9 排氣溫度(EGT)Bank 1 特別PID。見以下敘述
79 121 9 排氣溫度(EGT)Bank 2 特別PID。見以下敘述
7A 122 7 柴油粒子過濾器(DPF)
7B 123 7 柴油粒子過濾器(DPF)
7C 124 9 柴油粒子過濾器(DPF)溫度 °C
7D 125 1 NOx NTE(Not-To-Exceed英語Not-To-Exceed)控制區狀態
7E 126 1 PM NTE(Not-To-Exceed英語Not-To-Exceed)控制區狀態
7F 127 13 發動機運行時間 seconds
80 128 4 支援的PID[81 - A0] 位元編碼[A7..D0] == [PID $81..PID $A0] 見以下敘述
81 129 21 給輔助排放控制設備(AECD)的發動機運行時間
82 130 21 給輔助排放控制設備(AECD)的發動機運行時間
83 131 5 NOx感測器
84 132 1 歧管表面溫度
85 133 10 NOx試劑系統
86 134 5 粒子(PM)感測器
87 135 5 進氣歧管絕對壓力
88 136 13 選擇性觸媒還原 (SCR)引入系統
89 137 41 AECD #11-#15的運行時間
8A 138 41 AECD #16-#20的運行時間
8B 139 7 柴油後處理
8C 140 16 O2感測器(廣義)
8D 141 1 油門位置G 0 100 %
8E 142 1 發動機摩擦力-力矩百分比 -125 130 %
8F 143 5 PM感測器Bank 1 & 2
90 144 3 WWH-OBD車輛OBD系統資訊 hours
91 145 5 WWH-OBD車輛OBD系統資訊 hours
92 146 2 燃料系統控制
93 147 3 支援WWH-OBD車輛OBD計數器 hours
94 148 12 NOx警告及誘導系統
98 152 9 排氣溫度感測器
99 153 9 排氣溫度感測器
9A 154 6 油電混合車/電動車系統資料,電池,電壓
9B 155 4 柴油車排氣流體感測器資料
9C 156 17 O2感測器資料
9D 157 4 發動機燃油率 g/s
9E 158 2 發動機燃油流率 kg/h
9F 159 9 燃料系統使用百分比
A0 160 4 支援的PID[A1 - C0] 位元編碼[A7..D0] == [PID $A1..PID $C0] 見以下敘述
A1 161 9 NOx感測器校正資料 ppm
A2 162 2 汽缸燃油率 mg/stroke
A3 163 9 蒸發系統蒸氣壓 Pa
A4 164 4 變速箱實際檔位
A5 165 4 柴油排氣液體量
A6 166 4 里程錶 0 526 385 151.9 公引(km/10)
C0 192 4 支援的PID[C1 - E0] 0x0 0xffffffff 位元編碼[A7..D0] == [PID $C1..PID $E0] 見以下敘述
C3 195 ? ? ? ? ? 回傳數值資料,包括駕駛條件ID及發動機速度*
C4 196 ? ? ? ? ? B5是發動機閒置請求
B6是發動機停止請求*
PID
(HEX)
PID
(DEC)
回應資料位元組個數 描述 最小值 最大值 單位 公式[a]

服務02

[編輯]

服務02的PID和服務01相同,意義也相同[4],不過資訊是在產生凍結頁框[5]時的資料。

需要在訊息的資料區中傳送頁框號碼。

PID
(hex)
回應資料位元組個數 描述 最小值 最大值 單位 公式[a]
02 2 產生凍結頁框,要儲存資料的DTC BCD編碼。格式如下

服務03

[編輯]
PID
(hex)
回應資料位元組個數 敘述 最小值 最大值 單位 公式[a]
N/A n*6 請求的錯誤碼 每個訊息三個錯誤碼。見以下敘述

服務04

[編輯]
PID
(hex)
回應資料位元組個數 描述 最小值 最大值 單位 公式[a]
N/A 0 清除錯誤碼 / 故障指示燈(MIL) / 檢查發動機燈 清除所有儲存的錯誤碼,並且關閉故障指示燈

服務05

[編輯]
PID
(hex)
回應資料位元組個數 描述 最小值 最大值 單位 公式[a]
0100 4 支持的OBD監控ID ($01 – $20) 0x0 0xffffffff
0101 2 O2感測器Bank 1,感測器1 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0102 O2感測器Bank 1,感測器2 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0103 O2感測器Bank 1,感測器3 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0104 O2感測器Bank 1,感測器4 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0105 O2感測器Bank 2,感測器1 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0106 O2感測器Bank 2,感測器2 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0107 O2感測器Bank 2,感測器3 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0108 O2感測器Bank 2,感測器4 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0109 O2感測器Bank 3,感測器1 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
010A O2感測器Bank 3,感測器2 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
010B O2感測器Bank 3,感測器3 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
010C O2感測器Bank 3,感測器4 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
010D O2感測器Bank 4,感測器1 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
010E O2感測器Bank 4,感測器2 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
010F O2感測器Bank 4,感測器3 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0110 O2感測器Bank 4,感測器4 0.00 1.275 volts 0.005 Rich to lean sensor threshold voltage
0201 O2感測器Bank 1,感測器1 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
0202 O2感測器Bank 1,感測器2 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
0203 O2感測器Bank 1,感測器3 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
0204 O2感測器Bank 1,感測器4 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
0205 O2感測器Bank 2,感測器1 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
0206 O2感測器Bank 2,感測器2 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
0207 O2感測器Bank 2,感測器3 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
0208 O2感測器Bank 2,感測器4 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
0209 O2感測器Bank 3,感測器1 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
020A O2感測器Bank 3,感測器2 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
020B O2感測器Bank 3,感測器3 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
020C O2感測器Bank 3,感測器4 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
020D O2感測器Bank 4,感測器1 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
020E O2感測器Bank 4,感測器2 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
020F O2感測器Bank 4,感測器3 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
0210 O2感測器Bank 4,感測器4 0.00 1.275 volts 0.005 Lean to Rich sensor threshold voltage
PID
(hex)
回應資料位元組個數 描述 最小值 最大值 單位 公式[a]

服務 09

[編輯]
PID
(hex)
回應資料位元組個數 描述 最小值 最大值 單位 公式[a]
00 4 服務9支援的PID(01 to 20) 位元編碼[A7..D0] = [PID $01..PID $20] 見以下敘述
01 1 PID 02中的VIN訊息計數,只針對ISO 9141-2、ISO 14230-4及SAE J1850. 多半數值會是5
02 17 車輛識別號碼 (VIN) 17字元的VIN,ASCII編碼,若不滿17個字元,左邊會填入空字元(0x00
03 1 PID 04中的校正ID訊息計數,只針對ISO 9141-2、ISO 14230-4及SAE J1850。 會是四的倍數(每一個ID需要四個訊息)
04 16,32,48,64.. 校正ID 最多16個ASCII字元。未使用的資料位元組會回傳空字元(0x00)。可以輸出多個校正ID(每個ID 16個位元組)
05 1 PID 06的校正驗證碼(CVN)訊息計數,只針對ISO 9141-2、ISO 14230-4及SAE J1850。
06 4,8,12,16 校正驗證碼(CVN)。可以輸出多個校正驗證碼(每個碼4個位元組),校正驗證碼和校正ID的數量需符合 原始資料,左邊會補空字元(0x00),一般會以十六進制字串顯示。
07 1 PID 080B的使用中性能跟蹤訊息計數,只針對ISO 9141-2、ISO 14230-4及SAE J1850。 8 10 數值會是8表示要回應16個數值,數值會是9表示要回應18個數值,數值會是10表示要回應20個數值
08 4 火星塞點火發動機車輛的使用中性能跟蹤 四個或五個訊息,每一個有四個位元組(二個數值)見以下敘述
09 1 PID 0A 的ECU名稱訊息計數
0A 20 ECU名稱 ASCII編碼,右邊會補空字元(0x00
0B 4 壓縮點火發動機車輛的使用中性能跟蹤 5個訊息,每個訊息4個位元組(2個數值)見以下敘述
PID
(hex)
回應資料位元組個數 描述 最小值 最大值 單位 公式[a]
  1. ^ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 在公式欄中,字母A, B, C,.....表示資料位元組的第一位元組、第二位元組、第三位元組......的十進位。若有問號,表示有衝突或是不完整的資料

位元編碼PID

[編輯]

上表中有部份的PID無法用簡單的公式來說明。以下是這些PID的細部說明。

服務01 PID 00

[編輯]

這個PID的請求會回傳4位元組的資料(Big-endian。每一個位元的排序順序是由MSBLSB。表示接下來的32個PID,並且說明支援哪些PID。

例如,若汽車的回覆是BE1FA813,可以解碼如下

十六進位 B E 1 F A 8 1 3
二進位 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 1
是否支援
PID編號 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20

因此,支援的PID有:0103040506070C0D0E0F101113151C1F20

服務01 PID 01

[編輯]

這個PID的請求會回傳4位元組的資料,分別標示A B C、D。

第一個位元組(A)包括二部份的資訊。位元A7(位元組A的MSB)表示MIL(檢查發動機警示燈)是否點亮。位元A6A0表示發動機控制器顯示的診斷故障碼。

第二至第四位元組(B, C和D)表示特定在線測試的可進行程度(availability)及完整性(completeness)。可用程度會用設定位元1來表示,而完整性會用清除位元0來表示。

位元 名稱 敘述
A7 MIL 關閉或點亮。為1表示CEL/MIL點亮(或應該點亮)
A6-A0 DTC_CNT 顯示幕上和尾氣排放相關DTC的個數
B7 保留 保留(應該為0
B3 0 = 支援火星塞點火監控(奧托發動機或汪克爾發動機)
1 = 支援壓縮點火監控(柴油發動機)

以下是常見的B位元組定義,是以測試為基礎的內容。

可進行測試 測試不完整
元件 B2 B6
燃料系統 B1 B5
不發火 B0 B4

第三位元組及第四位元組的定義會依發動機是火星塞點火(奧托發動機或汪克爾發動機)或柴油發動機而不同。第二位元組的bit 3會說明如何定義位元組C和D,0表示是火星塞點火(奧托發動機或汪克爾發動機),1表示是壓縮點火(柴油發動機)

火星塞點火監控時的位元組C和D (奧托發動機或汪克爾發動機):

可進行測試 測試不完整
尾氣再循環系統 C7 D7
氧氣偵測器加熱器 C6 D6
氧氣偵測器 C5 D5
冷氣冷媒 C4 D4
第二側空氣系統 C3 D3
蒸發系統 C2 D2
已加熱催化劑 C1 D1
催化劑 C0 D0

柴油發動機監控時的位元組C和D:

可進行測試 測試不完整
EGR(排氣再循環)及/或VVT(可變氣門正時)系統 C7 D7
PM過濾器監控 C6 D6
尾氣感測器 C5 D5
- 保留 - C4 D4
提昇壓力 C3 D3
- 保留 - C2 D2
NOx/SCR監控 C1 D1
NMHC催化劑[a] C0 D0
  1. ^ NMHC可以表示甲烷之外的碳氫化合物(Non-Methane HydroCarbons),不過J1979沒有明確說明。

服務01 PID 41

[編輯]

這個PID的請求會回傳4位元組的資料。 第一個位元組會是0,第二個到第四個位元組會提供特定在線測試(on-board test)可進行程度(availability)及完整性(completeness)。和PID 01相同,第三和第四個位元組的定義會依發動機類型(B3)而不同,B3為0表示是火星塞,為1表示是壓縮點火。可進行程度(availability)是用位元1表示,而完整性(completeness)是用位元0表示。

以下是共用的位元組B的定義,以測試為基礎。

可進行測試 測試不完整
元件 B2 B6
燃料系統 B1 B5
不發火 B0 B4

針對火星塞點火監控的位元組C和D(奧托發動機或汪克爾發動機):

可進行測試 測試不完整
EGR系統 C7 D7
氧氣偵測器加熱器 C6 D6
氧氣偵測器 C5 D5
冷氣冷媒 C4 D4
第二側空氣系統 C3 D3
蒸發系統 C2 D2
已加熱催化劑 C1 D1
催化劑 C0 D0

柴油發動機監控時的位元組C和D:

可進行測試 測試不完整
EGR(排氣再循環)及/或VVT(可變氣門正時)系統 C7 D7
PM過濾器監控 C6 D6
尾氣感測器 C5 D5
- 保留 - C4 D4
提昇壓力 C3 D3
- 保留 - C2 D2
NOx/SCR Monitor C1 D1
NMHC催化劑[a] C0 D0
  1. ^ NMHC可以表示甲烷之外的碳氫化合物(Non-Methane HydroCarbons),不過J1979沒有明確說明。

服務01 PID 78

[編輯]

這個PID的請求會回傳9位元組的資料。 第一個位元組是位元編碼,表示支援的尾氣溫度感測器:

Byte 敘述
A 支援的尾氣感測器
B-C EGT11讀到的溫度
D-E EGT12讀到的溫度
F-G EGT13讀到的溫度
H-I EGT14讀到的溫度

第一個位元組的位元編碼如下:

Bit 敘述
A7-A4 保留
A3 EGT bank 1是否支援感測器4?
A2 EGT bank 1是否支援感測器3?
A1 EGT bank 1是否支援感測器2?
A0 EGT bank 1是否支援感測器1?

剩下的位元組是16位元的整數,表示攝氏下的溫度,範圍從-40到6513.5(比例0.1),其轉換公式為(高位元組為A,低位元組是B)。只有有支援的感測器對應的值是有意義的。

PID 79的結構相同,但是是針對bank 2的感測器。

服務03(不需PID)

[編輯]

此服務的請求會回傳一串已設定的DTC。會用ISO 15765-2的協定進行封裝。

若DTC不超過二個(4位元組),會用ISO-TP單一頁框格式(SF)回覆。若三個或三個以上的DTC,會分為多個頁框傳送,實際的頁框數會依通訊格式以及定址方式而定。

每個診斷錯誤碼為二個位元組。診斷錯誤碼的文字敘述如下。診斷錯誤碼的第一個字會由第一個位元組的前二個位元決定:

A7-A6 DTC的第一個字元
00 P—動力總成(Powertrain)
01 C—底盤(Chassis)
10 B—車體(Body)
11 U—網路(Powertrain)

DTC碼的第二個字會由第一個位元組的下二個位元決定:

A5-A4 DTC的第二個字元
00 0
01 1
10 2
11 3

DTC碼的第三個字是一個數字,定義如下:

A3-A0 DTC的第三個字元
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

DTC碼的第四個字及第五個字定義方式類似,不過是用B7-B4B3-B0位元。所產生的五個字元需類似U0158之類的字元,而且可以在OBD-II DTC表上找到。最後三個字允許使用十六進制的數字(0-9, A-F),不過常見的還是使用十進制的數字(0-9)。

服務09 PID 08

[編輯]

會提供有關催化劑bank、氧氣偵測器bank、蒸發泄漏偵測系統、排氣再循環及第二側空氣系統的使用追蹤資訊。

每一個元件或是系統的分子針對偵測特定誤動作的監控,追蹤該監控所有條件成立的次數 每一個元件或是系統的分母針對該特定條件,車輛運作的次數

資料的個數需在訊息的一開始就說明(第一個位元組)

所有使用中性能追蹤的資料會包括二個位元組,依次數送出(每個訊息有二個資料,因此長度為4)

Mnemonic 敘述
OBDCOND OBD監控條件成立計數
IGNCNTR 點火計數
CATCOMP1 催化劑監控完成計數Bank 1
CATCOND1 催化劑監控條件成立計數Bank 1
CATCOMP2 催化劑監控完成計數Bank 2
CATCOND2 催化劑監控條件成立計數Bank 2
O2SCOMP1 O2感測器監控完成計數Bank 1
O2SCOND1 O2感測器監控條件成立計數Bank 1
O2SCOMP2 O2感測器監控完成計數Bank 2
O2SCOND2 O2感測器監控條件成立計數Bank 2
EGRCOMP EGR監控完成條件計數
EGRCOND EGR監控條件成立計數
AIRCOMP AIR監控完成條件計數(第二組)
AIRCOND AIR監控條件成立計數(第二組)
EVAPCOMP EVAP監控完成條件計數
EVAPCOND EVAP監控條件成立計數
SO2SCOMP1 第二組O2感測器監控完成計數Bank 1
SO2SCOND1 第二組O2感測器監控條件成立計數Bank 1
SO2SCOMP2 第二組O2感測器監控完成計數Bank 2
SO2SCOND2 第二組O2感測器監控條件成立計數Bank 2

服務09 PID 0B

[編輯]

此服務提供有關NMHC 催化劑監控、NOx 催化劑監控、NOx吸收器監控、PM過濾器監控、排氣感測器監控、GR(排氣再循環)及/或VVT(可變氣門正時)監控, 提昇壓力監控及燃料系統監控的使用性能資訊。

所有的資料都有2個位元,以以下的順序排列(每一個訊息有二個資料,因為是4個位元):

記憶字 敘述
OBDCOND OBD監控條件計數
IGNCNTR Ignition計數
HCCATCOMP NMHC催化劑監控完成條件計數
HCCATCOND NMHC催化劑監控條件計數
NCATCOMP NOx/SCR催化劑監控完成條件計數
NCATCOND NOx/SCR催化劑監控條件計數
NADSCOMP NOx吸收器監控完成條件計數
NADSCOND NOx吸收器監控條件計數
PMCOMP PM過濾器監控完成條件計數
PMCOND PM過濾器監控條件計數
EGSCOMP 排氣感測器監控完成條件計數
EGSCOND 排氣感測器監控條件計數
EGRCOMP EGR(排氣再循環)及/或VVT(可變氣門正時)監控完成條件計數
EGRCOND EGR及/或VVT監控條件計數
BPCOMP 提昇壓力監控完成條件計數
BPCOND 提昇壓力監控條件計數
FUELCOMP 燃料監控完成條件計數
FUELCOND 燃料監控條件計數

枚舉PID

[編輯]

有些PID的解讀方式比較特殊,是有枚舉的型式,這類PID沒有位元定義,也沒有單位。

服務01 PID 03

[編輯]

這種PID的請求會回覆二個位元組的資料。 第一個位元組表示燃料系統#1。

敘述
1 因為發動機溫度不足而開路
2 閉迴路,利用氧氣偵測器回授來決定fuel mix
4 因為發動機負載或是因減速燃料減少而開路
8 因為系統失效而開路
16 閉迴路,利用至少一個氧氣偵測器,但回授系統出現故障

其他的值無效。

第二個位元組表示燃料系統#1,定義完全相同。

服務01 PID 12

[編輯]

這種PID的請求會回覆一個位元組的資料,表示第二側空氣狀態。

敘述
1 上游
2 催化轉化器的下游
4 來自外部大氣,或是關閉
8 泵浦因診斷機能而開啟

其他的值無效。

服務01 PID 1C

[編輯]

此種PID請求會回覆一個位元組的資料,說明電子控制器使用的OBD標準。以下是數值以及其對應的標準。

敘述
1 加州空氣資源局英語California Air Resources Board(CARB)定義的OBD-II
2 美國國家環境保護局定義的OBD
3 OBD及OBD-II
4 OBD-I
5 沒有相容的OBD
6 EOBD(歐洲)
7 EOBD及OBD-II
8 EOBD及OBD
9 EOBD、OBD及OBD II
10 JOBD(日本)
11 JOBD及OBD II
12 JOBD及EOBD
13 JOBD、EOBD及OBD II
14 保留
15 保留
16 保留
17 發動機製造商診斷(Engine Manufacturer Diagnostics、EMD)
18 發動機製造商增強診斷(Engine Manufacturer Diagnostics Enhanced、EMD+)
19 重載OBD(部份)(HD OBD-C)
20 重載OBD(HD OBD)
21 全球協調OBD(WWH OBD)
22 保留
23 重載歐盟OBD第一階段,沒有NOx控制(HD EOBD-I)
24 重載歐盟OBD第一階段,有NOx控制(HD EOBD-I N)
25 重載歐盟OBD第二階段,沒有NOx控制(HD EOBD-II)
26 重載歐盟OBD第二階段,有NOx控制(HD EOBD-II N)
27 保留
28 巴西OBD第一階段(OBDBr-1)
29 巴西OBD第二階段(OBDBr-2)
30 韓國OBD(KOBD)
31 印度OBD I(IOBD I)
32 印度OBD II(IOBD II)
33 重載歐盟OBD第四階段(HD EOBD-IV)
34-250 保留
251-255 沒有適合的系統(SAE J1939有特殊意義)

燃料碼

[編輯]

服務01 PID 51會回傳數值,對應車輛的燃料型態。燃料型態一個位元組,數值和燃料對應如下:

數值 描述
0
1 石油
2 甲醇
3 乙醇
4 柴油
5 液化石油氣
6 壓縮天然氣
7 丙烷
8 電力
9 生質燃料汽車英語Bi-fuel vehicle,目前用汽油運行
10 生質燃料汽車,目前用甲醇運行
11 生質燃料汽車,目前用乙醇運行
12 生質燃料汽車,目前用LPG運行
13 生質燃料汽車,目前用CNG運行
14 生質燃料汽車,目前用丙烷運行
15 生質燃料汽車,目前用電力運行
16 生質燃料汽車,目前用電力及內燃機發動機運行
17 汽油燃料的油電車
18 乙醇燃料的油電車
19 柴油燃料的油電車
20 以電力運行的油電車
21 以電力及內燃機發動機運行的油電車
22 油電車,能源回昇模式
23 生質燃料汽車,目前用柴油運行

其他的值保留供ISO/SAE使用,目前沒有針對彈性燃料車英語flexible-fuel vehicle的定義。

非標準的PID

[編輯]

大部份的在使用的OBD-II PID都是非標準的,針對大部份現今的車輛,OBD-II界面中支持的非標準PID功能比標準PID功能還多,各家的非標準PID只有少部份的重疊。

在公眾領域中非標準PID的資訊相當有限。有一個以美國為主的設備工具研究所英語Equipment and Tool Institute(ETI)有維護一些廠商的非標準PID,只提供給其會員。ETI的年費和公司在北美車輛工具及設備的營業額有關:

北美年營業額 年費
$10,000,000以下 $5,000
$10,000,000 - $50,000,000 $7,500
$50,000,000以上 $10,000

就算是ETI,也沒有所有非標準PID的文件。ETI表示[6][7]

有些車廠拒絕用ETI來提供資訊給相關工具廠商。他們比較想和每一家工具廠商個別作生意。這些公司會要求你和他們簽合約。其費用是變動的,以下是2015年4月13日的年費:

通用汽車 $50,000
豐田 $5,000
鈴木 $1,000
BMW $25,500,每次更新要加$2,000,每年更新一次

CAN(11位元)通訊格式

[編輯]

在車內的CAN網路中會有查詢PID以及PID回覆的訊息。標準OBD查詢以及回覆會用機能式的地址。診斷讀取器會用CAN ID 7DFh送出查詢訊息,此位址是廣播位置,並且會接受從7E8h到7EFh的回覆。回覆OBD查詢的電子控制器也會接收7DFh廣播位置的訊息,並且接收7E0h到7E7h範圍內指定ID的訊息。其回應的ID是指定ID值加8,範圍從7E8h到7EFh。

此作法可以允許最多8個電子控制器,每一個都可以回覆OBD的查詢。診斷讀取器可以用ECU回覆的ID繼續和特定的電子控制器通訊。特別是多頁框的通訊需要特定ID電子控制器的回覆。

CAN也可以傳送標準OBD訊息以外的資訊,實體位址會用這些特殊模組的CAN訊息(例如720h是福特汽車的組合儀表),也會有專屬的頁框以及傳送資料。

查詢

[編輯]

機能性的PID查詢會用ID 7DFh的CAN訊息送出,其資料為:

Byte
PID Type 0 1 2 3 4 5 6 7
SAE標準 額外資料位元組的數量:
2
服務
01 = 顯示目前資料
02 = 顯示凍結的頁框資料
......
PID code
(例如:05 = 發動機冷媒溫度)
未使用
ISO 15765-2建議用CCh)
個別車輛 額外資料位元組的數量:
3
自定服務(例如,22 = 加強資料) PID碼
(例如4980h)
未使用
ISO 15765-2建議用CCh)

回應

[編輯]

車輛會用訊息ID來回應PID查詢,其ID編輯和回應的模組有關。一般而言發動機及主發動機控制器會用ID 7E8h回應,其他設備,像是混合控制器或是Prius裡的電池控制器,會用07E9h、07EAh、07EBh等ID回應。設備回應的訊息ID會比其設備接收的訊息ID多8。回應值的長度會變動,但回應訊息固定都是8個位元。 各位元組的定義為:

Byte
PID Type 0 1 2 3 4 5 6 7
SAE標準
7E8h,
7E9h,
7EAh,
額外資料位元組的長度:
3到6
自定服務
和查詢的相同,但服務編號會加上40h。因此:
41h 是顯示目前資料;
42h是顯示凍結的頁框資料等.
PID code
(例如05是發動機冷媒溫度)
特定參數的值,位元組0 值,位元組1(可選) 值,位元組2(可選) 值,位元組3(可選) 未使用
(可以是00h或55h)
車輛指定
7E8h,或實體模組ID + 8h
額外資料位元組的長度:
4到7
自定服務
和查詢的相同,但服務編號會加上40h。(例如,62h 是服務22h請求的回覆訊息)
PID碼
(例如4980h)
特定參數的值,位元組0 值,位元組1(可選) 值,位元組2(可選) 值,位元組3(可選)
車輛指定
7E8h,或實體模組ID + 8h
額外資料位元組的長度:
3
7Fh,此通用回應一般表示模組不識別請求 自定服務(例如22h是PID的加強診斷資料) 31h 未使用
(可以是00h)

相關條目

[編輯]

參考資料

[編輯]
  1. ^ Basic Information | On-Board Diagnostics (OBD). US EPA. 16 March 2015 [24 June 2015]. (原始內容存檔於2016-04-06). 
  2. ^ Escape PHEV TechInfo - PIDs. Electric Auto Association - Plug in Hybrid Electric Vehicle. [11 December 2013]. (原始內容存檔於2020-06-14). 
  3. ^ Extended PID's - Signed Variables. Torque-BHP. [17 March 2016]. (原始內容存檔於2016-03-23). 
  4. ^ OBD2 Codes and Meanings. Lithuania: Baltic Automotive Diagnostic Systems. [11 June 2020]. (原始內容存檔於2020-06-15). 
  5. ^ OBD2 Freeze Frame Data: What is It? How To Read It?. OBD Advisor. 2018-02-28 [2020-03-14]. (原始內容存檔於2019-08-03) (美國英語). 
  6. ^ ETI Full Membership FAQ. The Equipment and Tool Institute. [29 November 2013]. (原始內容存檔於2017-03-10). : state: showing cost of access to OBD-II PID documentation
  7. ^ Special OEM License Requirements. The Equipment and Tool Institute. [13 April 2015]. (原始內容存檔於2017-05-03). 

延伸閱讀

[編輯]