OBD-II PID
OBD-II PID是車上診斷系統（OBD）參數ID的簡稱，是在診斷工具上向車輛請求資料用的編碼。
国际汽车工程师学会（SAE）標準 J1979（電子診斷測試模式）中定義了許多OBD-II PID。所有北美的道路車輛及卡車都要支援一部份的OBD-II PID，主要是在有強制的州。制造商也定義針對個別車輛的PID。目前沒有強制摩托車要支援OBD-II PID，不過也有許多的摩托車支援。
在1996年時，輕型商用車（重量小於）首先強制要支援OBD-II PID，之後是中型商用車（重量在之間）在2005年強制支援。輕型商用車及中型商用車都要可以透過由SAE J1962定義的標準進行存取。
依加州空氣資源局（CARB）的加州法規（CCR） sections 1971.1 title 13，美國2010年之後生產的重型商用車（重量大於）可以透過（圓型的診斷用連接頭）支援OBD-II的診斷機能。有些北美的重型卡車使用SAE J1962 OBD-II診斷連接器，這也是一般轎車常用的連接器，知名的有麥克貨車及富豪卡車，不過CAN識別符是29位元，不是一般轎車的11位元。
在最新的OBD-II標準SAE J1979中，有列出十種診斷服務。2002年以前的J1979，將這些服務稱為模式（modes）。其說明如下：
汽車制造商不一定要實現所有的服務，製造商可以在#9以上增加製造商定義的服務（例如服務22是由Ford/GM的SAE J2190所定義，而服務21是因Toyota而定義) ，這些服務可以提供其他的資料，例如混合动力电动汽车（HEV）中牽引電池的電壓。
非OBD的统一诊断服务從0x10開始，避免和ID範圍重疊。
下表中所列的是依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是最低位元。 服務的PID和服務相同，意義也相同，不過資訊是在產生凍結頁框時的資料。
需要在訊息的資料區中傳送頁框號碼。
上表中有部份的PID無法用簡單的公式來說明。以下是這些PID的細部說明。
這個PID的請求會回傳4位元組的資料（Big-endian。每一個位元的排序順序是由MSB到LSB。表示接下來的32個PID，並且說明支援哪些PID。
例如，若汽車的回覆是，可以解碼如下
因此，支援的PID有：、、、、、、、、、＇、、、、、及
這個PID的請求會回傳4位元組的資料，分別標示A B C、D。
第一個位元組（A）包括二部份的資訊。位元（位元組A的MSB）表示MIL（檢查發動機警示燈）是否點亮。位元到表示發動機控制器顯示的診斷故障碼。
第二至第四位元組（B, C和D）表示特定在線測試的可進行程度（availability）及完整性（completeness）。可用程度會用設定位元來表示，而完整性會用清除位元來表示。
以下是常見的B位元組定義，是以測試為基礎的內容。
第三位元組及第四位元組的定義會依發動機是火星塞点火（奧托發動機或汪克爾發動機）或柴油發動機而不同。第二位元組的bit 3會說明如何定義位元組C和D，表示是火星塞点火（奧托發動機或汪克爾發動機），表示是壓縮點火（柴油發動機）
火星塞点火監控時的位元組C和D （奧托發動機或汪克爾發動機）： 柴油發動機監控時的位元組C和D：
這個PID的請求會回傳4位元組的資料。  第一個位元組會是0，第二個到第四個位元組會提供特定在線測試（on-board test）可進行程度（availability）及完整性（completeness）。和PID 01相同，第三和第四個位元組的定義會依發動機類型（B3）而不同，B3為表示是火星塞，為表示是壓縮點火。可進行程度（availability）是用位元表示，而完整性（completeness）是用位元表示。
以下是共用的位元組B的定義，以測試為基礎。 針對火星塞點火監控的位元組C和D（奧托發動機或汪克爾發動機）： 柴油發動機監控時的位元組C和D：
這個PID的請求會回傳9位元組的資料。  第一個位元組是位元編碼，表示支援的尾气溫度感測器：
第一個位元組的位元編碼如下：
剩下的位元組是16位元的整數，表示攝氏下的溫度，範圍從-40到6513.5（比例0.1），其轉換公式為formula_1（高位元組為A，低位元組是B）。只有有支援的感測器對應的值是有意義的。
PID 的結構相同，但是是針對bank 2的感測器。
此服務的請求會回傳一串已設定的DTC。會用ISO 15765-2的協定進行封裝。
若DTC不超過二個（4位元組），會用ISO-TP單一頁框格式（SF）回覆。若三個或三個以上的DTC，會分為多個頁框傳送，實際的頁框數會依通訊格式以及定址方式而定。
每個診斷錯誤碼為二個位元組。診斷錯誤碼的文字敘述如下。診斷錯誤碼的第一個字會由第一個位元組的前二個位元決定： DTC碼的第二個字由會由第一個位元組的下二個位元決定：
DTC碼的第三個字是一個數字，定義如下：
DTC碼的第四個字及第五個字定義方式類似，不過是用-和-位元。所產生的五個字元需類似之類的字元，而且可以在OBD-II DTC表上找到。最後三個字允許使用十六進制的數字（0-9, A-F），不過常見的還是使用十進制的數字（0-9）。
會提供有關催化劑bank、氧氣偵測器bank、蒸發泄漏偵測系統、排氣再循環及第二側空氣系統的使用追蹤資訊。
每一個元件或是系統的分子針對偵測特定誤動作的監控，追蹤該監控所有條件成立的次數 每一個元件或是系統的分母針對該特定條件，車輛運作的次數
資料的個數需在訊息的一開始就說明（第一個位元組）
所有使用中性能追蹤的資料會包括二個位元組，依次數送出（每個訊息有二個資料，因此長度為4）
此服務提供有關NMHC 催化劑監控、NOx 催化劑監控、NOx吸收器監控、PM過濾器監控、排氣感測器監控、GR（排氣再循環）及／或VVT（可變氣門正時）監控, 提昇壓力監控及燃料系統監控的使用性能資訊。
所有的資料都有2個位元，以以下的順序排列（每一個訊息有二個資料，因為是4個位元）：
有些PID的解讀方式比較特殊，是有枚举的型式，這類PID沒有位元定義，也沒有單位。
這種PID的請求會回覆二個位元組的資料。 第一個位元組表示燃料系統#1。
其他的值無效。
第二個位元組表示燃料系統#1，定義完全相同。
這種PID的請求會回覆一個位元組的資料，表示第二側空氣狀態。
其他的值無效。
此種PID請求會回覆一個位元組的資料，說明電子控制器使用的OBD標準。以下是數值以及其對應的標準。
服務01 PID 會回傳數值，對應車輛的燃料型態。燃料型態一個位元組，數值和燃料對應如下：
其他的值保留供ISO/SAE使用，目前沒有針對的定義。
大部份的在使用的OBD-II PID都是非標準的，針對大部份現今的車輛，OBD-II界面中支持的非標準PID功能比標準PID功能還多，各家的非標準PID只有少部份的重疊。
在公眾領域中非標準PID的資訊相當有限。有一個以美國為主的（ETI）有維護一些廠商的非標準PID，只提供給其會員。ETI的年費和公司在北美車輛工具及設備的營業額有關： 就算是ETI，也沒有所有非標準PID的文件。ETI表示
有些車廠拒絕用ETI來提供資訊給相關工具廠商。他們比較想和每一家工具廠商個別作生意。這些公司會要求你和他們簽合約。其費用是變動的，以下是2015年4月13日的年費：
在車內的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訊息送出，其資料為： 車輛會用訊息ID來回應PID查詢，其ID編輯和回應的模組有關。一般而言發動機及主發動機控制器會用ID 7E8h回應，其他設備，像是混合控制器或是Prius裡的電池控制器，會用07E9h、07EAh、07EBh等ID回應。設備回應的訊息ID會比其設備接收的訊息ID多8。回應值的長度會變動，但回應訊息固定都是8個位元。 各位元組的定義為：