OBD-II PID

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

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

在1996年時，輕型商用車（重量小於8500lbs）首先強制要支援OBD-II PID，之後是中型商用車（重量在8500–之間）在2005年強制支援。輕型商用車及中型商用車都要可以透過由SAE J1962定義的標準數據鏈路連接器 (車用)進行存取。

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

## 模式

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

模式（十六進制）｜敘述

01｜顯示目前資料

02｜顯示凍結的頁框資料

03｜顯示已儲存的診斷錯誤碼（DTC）

04｜清除診斷錯誤碼以及儲存數值

05｜測試結果，氧氣感測器監控（只在不用CAN傳輸時有效）

06｜測試結果、其他元件／系統監控（測試結果，氧氣感測器監控只在用CAN傳輸時有效）

07｜顯示未處理的診斷錯誤碼（在目前或上一次駕駛週期偵測到的診斷錯誤碼）

08｜on-board元件或系統的控制動作

09｜請求車輛的資訊

0A｜清除診斷錯誤碼

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

非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）｜回應資料位元組個數｜描述｜最小值｜最大值｜單位｜公式

00｜0｜4｜支持的PID01 - 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｜%｜$\tfrac{100}{255} A$（或$\tfrac {A} {2.55}$）

05｜5｜1｜發動機冷媒溫度｜-40｜215｜°C｜$A - 40$

06｜6｜1｜短期燃油調整—Bank 1｜-100（燃油需減少：過多燃油）｜99.2（燃油需增加：過少燃油）｜%｜$$\frac{100}{128} A - 100$$(or $\tfrac{A}{1.28} - 100$ )

07｜7｜1｜長期燃油調整—Bank 1

08｜8｜1｜短期燃油調整—Bank 2

09｜9｜1｜長期燃油調整—Bank 2

0A｜10｜1｜燃油壓力（壓力量測）｜0｜765｜kPa｜$3 A$

0B｜11｜1｜進氣歧管絕對壓力｜0｜255｜kPa｜$A$

0C｜12｜2｜發動機速度｜0｜16,383.75｜rpm｜$\frac{256 A + B}{4}$

0D｜13｜1｜車輛速度｜0｜255｜km/h｜$A$

0E｜14｜1｜點火提前｜-64｜63.5｜止點前的角度｜$\frac{A}{2} - 64$

0F｜15｜1｜進氣溫度｜-40｜215｜°C｜$A - 40$

10｜16｜2｜空氣流量感測器（MAF）空氣流率｜0｜655.35｜grams/sec｜$\frac{256 A + B}{100}$

11｜17｜1｜油門位置｜0｜100｜%｜$\tfrac{100}{255} A$

12｜18｜1｜命令第二側空氣狀態｜見以下敘述

13｜19｜1｜有氧氣傳感器（2 banks時）｜A0..A3 == Bank 1, 感測器1-4. A4..A7 == Bank 2...

14｜20｜2｜氧氣傳感器 1A:電壓B:短期燃油調整｜0-100｜1.27599.2｜伏特 %｜$$\frac{A}{200}$$ $$\frac{100}{128} B - 100$$（若B==$FF，傳感器未用來做燃油調整）

15｜21｜2｜氧氣傳感器 2A:電壓B:短期燃油調整

16｜22｜2｜氧氣傳感器 3A:電壓B:短期燃油調整

17｜23｜2｜氧氣傳感器 4A:電壓B:短期燃油調整

18｜24｜2｜氧氣傳感器 5A:電壓B:短期燃油調整

19｜25｜2｜氧氣傳感器 6A:電壓B:短期燃油調整

1A｜26｜2｜氧氣傳感器 7A:電壓B:短期燃油調整

1B｜27｜2｜氧氣傳感器 8A:電壓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 == 動力分導（PTO）狀態（1 == 有效）A1..A7 未使用

1F｜31｜2｜發動機啟動後的運行時間｜0｜65,535｜秒｜$256 A + B$

20｜32｜4｜支援的PID21 - 40｜位元編碼A7..D0 == PID $21..PID $40 見以下敘述

21｜33｜2｜故障指示燈（MIL）亮時行駛的距離｜0｜65,535｜km｜$256 A + B$

22｜34｜2｜高壓共軌壓力（相對進氣歧管真空）｜0｜5177.265｜kPa｜$0.079 (256 A + B)$

23｜35｜2｜高壓共軌表壓力（柴油，或是汽油直接噴射）｜0｜655,350｜kPa｜$10 (256 A + B)$

24｜36｜4｜氧氣偵測器1AB: 燃油-空氣當量比CD: 電壓｜00｜< 2< 8｜ratioV｜$$\frac{2}{65536} (256 A + B)$$ $$\frac{8}{65536} (256 C + D)$$

25｜37｜4｜氧氣偵測器2AB: 燃油-空氣當量比CD: 電壓

26｜38｜4｜氧氣偵測器3AB: 燃油-空氣當量比CD: 電壓

27｜39｜4｜氧氣偵測器4AB: 燃油-空氣當量比CD: 電壓

28｜40｜4｜氧氣偵測器5AB: 燃油-空氣當量比CD: 電壓

29｜41｜4｜氧氣偵測器6AB: 燃油-空氣當量比CD: 電壓

2A｜42｜4｜氧氣偵測器7AB: 燃油-空氣當量比CD: 電壓

2B｜43｜4｜氧氣偵測器8AB: 燃油-空氣當量比CD: 電壓

2C｜44｜1｜排氣再循環（EGR）指令｜0｜100｜%｜$\tfrac{100}{255} A$

2D｜45｜1｜EGR錯誤｜-100｜99.2｜%｜$\tfrac{100}{128} A - 100$

2E｜46｜1｜指令蒸發清除｜0｜100｜%｜$\tfrac{100}{255} A$

2F｜47｜1｜燃油Tank水準輸入｜0｜100｜%｜$\tfrac{100}{255} A$

30｜48｜1｜錯誤碼清除後的暖機｜0｜255｜count｜$A$

31｜49｜2｜錯誤碼清除後行駛的距離｜0｜65,535｜km｜$256 A + B$

32｜50｜2｜蒸發系統蒸氣壓力｜-8,192｜8191.75｜Pa｜$\frac{256 A + B}{4}$ （AB 是有號二補數）

33｜51｜1｜絕對大氣壓｜0｜255｜kPa｜$A$

34｜52｜4｜氧氣偵測器1AB: 燃油-空氣當量比CD: 電流｜0-128｜< 2<128｜ratiomA｜$$\frac{2}{65536} (256 A + B)$$ $$\frac{256 C + D}{256} - 128$$or $C + \frac{D}{256} - 128$

35｜53｜4｜氧氣偵測器2AB: 燃油-空氣當量比CD: 電流

36｜54｜4｜氧氣偵測器3AB: 燃油-空氣當量比CD: 電流

37｜55｜4｜氧氣偵測器4AB: 燃油-空氣當量比CD: 電流

38｜56｜4｜氧氣偵測器5AB: 燃油-空氣當量比CD: 電流

39｜57｜4｜氧氣偵測器6AB: 燃油-空氣當量比CD: 電流

3A｜58｜4｜氧氣偵測器7AB: 燃油-空氣當量比CD: 電流

3B｜59｜4｜氧氣偵測器8AB: 燃油-空氣當量比CD: 電流

3C｜60｜2｜催化劑溫度：Bank 1，感測器1｜-40｜6,513.5｜°C｜$\frac{256 A + B}{10} - 40$

3D｜61｜2｜催化劑溫度：Bank 2，感測器1

3E｜62｜2｜催化劑溫度：Bank 1，感測器2

3F｜63｜2｜催化劑溫度：Bank 2，感測器2

40｜64｜4｜支援的PID41 - 60｜位元編碼A7..D0 == PID $41..PID $60 見以下敘述

41｜65｜4｜監控狀態，目前駕駛週期｜位元編碼 見以下敘述

42｜66｜2｜控制模組電壓｜0｜65.535｜V｜$\frac{256A + B}{1000}$

43｜67｜2｜絕對負載值｜0｜25,700｜%｜$\tfrac{100}{255} (256A + B)$

44｜68｜2｜燃油–空氣命令等效比｜0｜< 2｜ratio｜$\tfrac{2}{65536} (256 A + B)$

45｜69｜1｜相對油門位置｜0｜100｜%｜$\tfrac{100}{255} A$

46｜70｜1｜環境空氣溫度｜-40｜215｜°C｜$A - 40$

47｜71｜1｜絕對油門位置B｜0｜100｜%｜$\frac{100}{255} A$

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｜分｜$256 A + B$

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｜%｜$\tfrac{100}{255} A$

53｜83｜2｜蒸發系統絕對蒸氣壓力｜0｜327.675｜kPa｜$\frac{256A + B}{200}$

54｜84｜2｜蒸發系統（相對）蒸氣壓力｜-32,767｜32,768｜Pa｜((A、256)+B)-32767

55｜85｜2｜第二側氧氣偵測器短期修正，A：bank 1, B：bank 3｜-100｜99.2｜%｜$\frac{100}{128}A - 100$ $\frac{100}{128} B - 100$

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｜$10 (256 A + B)$

5A｜90｜1｜加速踏板相對位置｜0｜100｜%｜$\tfrac{100}{255} A$

5B｜91｜1｜油電混合電池組剩下壽命｜0｜100｜%｜$\tfrac{100}{255} A$

5C｜92｜1｜發動機油溫｜-40｜210｜°C｜$A - 40$

5D｜93｜2｜燃料噴射正時｜-210.00｜301.992｜°｜$\frac{256A + B}{128} - 210$

5E｜94｜2｜發動機燃料率｜0｜3212.75｜L/h｜$\frac{256A + B}{20}$

5F｜95｜1｜車輛設計的排氣要求｜位元編碼

60｜96｜4｜支援的PID61 - 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｜$256 A + B$

64｜100｜5｜發動機力矩百分比資料｜-125｜130｜%｜A-125 閒置B-125 發動機點1C-125 發動機點2D-125 發動機點3E-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｜$\frac{256 A + B}{10} - 40$

7D｜125｜1｜NOx NTE（Not-To-Exceed）控制區狀態

7E｜126｜1｜PM NTE（Not-To-Exceed）控制區狀態

7F｜127｜13｜發動機運行時間｜seconds

80｜128｜4｜支援的PID81 - 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｜%｜$A - 125$

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｜支援的PIDA1 - 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）｜$\frac{A(2^{24}) + B(2^{16}) + C(2^{8}) + D}{10}$

C0｜192｜4｜支援的PIDC1 - E0｜0x0｜0xffffffff｜位元編碼A7..D0 == PID $C1..PID $E0 見以下敘述

C3｜195｜?｜?｜?｜?｜?｜回傳數值資料，包括駕駛條件ID及發動機速度*

C4｜196｜?｜?｜?｜?｜?｜B5是發動機閒置請求B6是發動機停止請求*

PID（HEX）｜PID（DEC）｜回應資料位元組個數｜描述｜最小值｜最大值｜單位｜公式

### 服務02

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

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

PID(hex)｜回應資料位元組個數｜描述｜最小值｜最大值｜單位｜公式

02｜2｜產生凍結頁框，要儲存資料的DTC｜BCD編碼。格式如下

### 服務03

PID(hex)｜回應資料位元組個數｜敘述｜最小值｜最大值｜單位｜公式

N/A｜n、6｜請求錯誤碼｜每個訊息三個錯誤碼。見以下敘述

### 服務04

PID(hex)｜回應資料位元組個數｜描述｜最小值｜最大值｜單位｜公式

N/A｜0｜清除錯誤碼 / 故障指示燈（MIL） / 檢查發動機燈｜清除所有儲存的錯誤碼，並且關閉故障指示燈

### 服務05

PID(hex)｜回應資料位元組個數｜描述｜最小值｜最大值｜單位｜公式

4｜支持的OBD監控ID ($01 – $20)｜0x0｜0xffffffff

2｜O2感測器Bank 1，感測器1｜0.00｜1.275｜volts｜0.005 Rich to lean sensor threshold voltage

O2感測器Bank 1，感測器2｜0.00｜1.275｜volts｜0.005 Rich to lean sensor threshold voltage

O2感測器Bank 1，感測器3｜0.00｜1.275｜volts｜0.005 Rich to lean sensor threshold voltage

O2感測器Bank 1，感測器4｜0.00｜1.275｜volts｜0.005 Rich to lean sensor threshold voltage

O2感測器Bank 2，感測器1｜0.00｜1.275｜volts｜0.005 Rich to lean sensor threshold voltage

O2感測器Bank 2，感測器2｜0.00｜1.275｜volts｜0.005 Rich to lean sensor threshold voltage

O2感測器Bank 2，感測器3｜0.00｜1.275｜volts｜0.005 Rich to lean sensor threshold voltage

O2感測器Bank 2，感測器4｜0.00｜1.275｜volts｜0.005 Rich to lean sensor threshold voltage

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

O2感測器Bank 4，感測器4｜0.00｜1.275｜volts｜0.005 Rich to lean sensor threshold voltage

O2感測器Bank 1，感測器1｜0.00｜1.275｜volts｜0.005 Lean to Rich sensor threshold voltage

O2感測器Bank 1，感測器2｜0.00｜1.275｜volts｜0.005 Lean to Rich sensor threshold voltage

O2感測器Bank 1，感測器3｜0.00｜1.275｜volts｜0.005 Lean to Rich sensor threshold voltage

O2感測器Bank 1，感測器4｜0.00｜1.275｜volts｜0.005 Lean to Rich sensor threshold voltage

O2感測器Bank 2，感測器1｜0.00｜1.275｜volts｜0.005 Lean to Rich sensor threshold voltage

O2感測器Bank 2，感測器2｜0.00｜1.275｜volts｜0.005 Lean to Rich sensor threshold voltage

O2感測器Bank 2，感測器3｜0.00｜1.275｜volts｜0.005 Lean to Rich sensor threshold voltage

O2感測器Bank 2，感測器4｜0.00｜1.275｜volts｜0.005 Lean to Rich sensor threshold voltage

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

O2感測器Bank 4，感測器4｜0.00｜1.275｜volts｜0.005 Lean to Rich sensor threshold voltage

PID(hex)｜回應資料位元組個數｜描述｜最小值｜最大值｜單位｜公式

### 服務 09

PID(hex)｜回應資料位元組個數｜描述｜最小值｜最大值｜單位｜公式

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 08和0B的使用中性能跟蹤訊息計數，只針對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)｜回應資料位元組個數｜描述｜最小值｜最大值｜單位｜公式

### 位元編碼PID

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

#### 服務01 PID 00

這個PID的請求會回傳4位元組的資料（Big-endian。每一個位元的排序順序是由MSB到LSB。表示接下來的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有：01、03、04、05、06、07、0C、0D、0E、0F、10、11、13、15、1C、1F及20

#### 服務01 PID 01

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

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

第二至第四位元組（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催化劑｜C0｜D0

#### 服務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催化劑｜C0｜D0

#### 服務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 \times 256 + B) / 10 - 40$（高位元組為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-B4和B3-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｜由加州空氣資源局（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｜生質燃料汽車，目前用汽油運行

10｜生質燃料汽車，目前用甲醇運行

11｜生質燃料汽車，目前用乙醇運行

12｜生質燃料汽車，目前用LPG運行

13｜生質燃料汽車，目前用CNG運行

14｜生質燃料汽車，目前用丙烷運行

15｜生質燃料汽車，目前用電力運行

16｜生質燃料汽車，目前用電力及內燃機發動機運行

17｜汽油燃料的油電車

18｜乙醇燃料的油電車

19｜柴油燃料的油電車

20｜以電力運行的油電車

21｜以電力及內燃機發動機運行的油電車

22｜油電車，能源回昇模式

23｜生質燃料汽車，目前用柴油運行

其他的值保留供ISO/SAE使用，目前沒有針對彈性燃料車的定義。

## 非標準的PID

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

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

北美年營業額｜年費

$10,000,000以下｜$5,000

$10,000,000 - $50,000,000｜$7,500

$50,000,000以上｜$10,000

就算是ETI，也沒有所有非標準PID的文件。ETI表示： state:

```
showing cost of access to OBD-II PID documentation</ref><ref></ref>
```

有些車廠拒絕用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）

## 相關條目

- 發動機控制器
- ELM327：OBD-II介面上常見的微控制器