OBD-II PID

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