基於CAN總線的KWP2000協議——命令總覽

1、startDiagnosticSession SID $10 (K2STDS) 開始新的診斷會話

此消息用於在ECU中啓用不同的診斷模式。診斷模式(會話)只能在執行過securityAccess服務後纔會啓動(除非啓用defaultMode-StandardDiagnosticsMode)。如果非引導塊區域(代碼和/或數據)的內容無效或不能擦除,則可以在不執行安全訪問的情況下進入ECUProgrammingMode。

2、 ecuReset SID $11 (K2ER) 控制單元復位

只支持“powerOn”重置模式。通信不被維護,因此必須在重置後重新設置。在重置之前,仍然輸入到EEPROM處理器中的所有任務都被執行,任務隊列被阻塞。

ReadFreezeFrameData [$12] Service (k2rffd) 讀取凍結幀數據

讀取保存在錯誤內存中的特定錯誤的凍結幀數據。錯誤由請求消息中指定的DTC值標識,參數(凍結幀數量)必須設置爲0x00,以讀取存儲在內存中的所有凍結幀數據。此服務只支持DTC選項的請求。因此,參數記錄訪問方法標識符必須設置爲0x04。

3、ClearDiagnosticInformation SID $14 (K2CDI) 清除診斷信息

刪除error memory中的信息。測試人員清除ECU內存中的診斷信息

4、 ReadStatusOfDiagnosticTroubleCodes SID $17 (K2RSODTC) 讀DTC狀態

讀取 DTC的狀態,計數器和可獲得的環境條件。

5、readDiagnosticTroubleCodesByStatus SID $18 (K2RDTCBS) 讀DTC

用於測試人員從ECU的故障內存中按狀態讀取診斷故障碼(DTC)的服務

6、ReadEcuIdentification SID $1A (K2REI) 讀取ECU ID

讀出特定於控制單元的信息

7、 Reading ECU data (ReadDataByLocalIdentifier SID $21) (K2RDLI) 讀ECU數據

通過本地標識符$F0定義的數據記錄的度量值由DynamicalDefineLocalIdentifier服務設置。ReadDatabyLocalIdentifier服務也可以讀取設置在ECU內部表中的其他的數據記錄。每個本地標識符都有自己的特定表,其中包含要傳輸的數據的描述。

8、 readMemoryByAddress SID $23 (K2RMBA) 讀內存信息

讀取由內存地址和內存大小參數確定的ECU的內存數據

9、 securityAccess SID $27 (K2SECA) 安全訪問

此服務的目的是允許訪問敏感信息。安全訪問僅在驅動軟件中可用。爲了避免未經授權的訪問,EDC支持多級種子和密鑰安全訪問。由於診斷模式被分配到不同的訪問級別,因此必須在開始診斷會話之前執行securityAccess服務(默認模式-標準診斷模式除外)。

10、 Communication Control SID $28 (ISO14229_CC) 通信控制

 依照ISO14229標準 允許或禁止 傳輸或接收 CAN報文
注意:此服務只能在引擎速度Eng_nAvrg =0和車輛速度VSSCD_v =0時執行。如果不滿足任何條件,就會發送一個消極響應(0x22)。如果設置了#2 [controlType]字節的第7位,則將抑制積極響應。

11、dynamicallyDefineLocalIdentifier SID $2C (K2DDLI) 定義本地標識符

此服務的目標是定義一個臨時本地標識符,可以使用ReadDataByLocalIdentifier服務讀出該標識符

12、Input/output control (InputOutputControlByLocalId SID$30) (K2IOCBLI) 輸入/輸出控制

該服務用於根據EDC16SCD - KLine的診斷協議確定內部控制單元功能和執行機構的替代值。Acces僅適用於LID 01h-15h。

13、 Input/output control (InputOutputControlByLocalId SID $90) (K2IOCBLI90)

此服務用於確定內部控制單元功能和執行機構的替代值

14、 RoutineControl by Local ID for use with Engine Test Function for SCD LID 31h, 32h, 33h (K2RC)

此功能的目的是控制啓動停止,並請求SCD(標準客戶診斷)指定的發動機測試的例行結果。

15、 startRoutineByLocalIdentifier SID 31h (K2STRBLI)

這個函數的目的是通過它們的id運行不同的日常活動以進行數據交換。

16、 Start Routine By Local Identifier 28h - Request for Engine Brake Test 引擎剎車測試

使用這項服務,測試人員可以啓動發動機剎車測試。測試啓動取決於EDC中的其他啓動條件。相應的,一個積極的響應(測試開始了)或一個消極的響應(測試沒有開始)將被傳輸回測試人員。

17、stopRoutineByLocalId (SID 32h) (K2SPRBLI)

結束由startRoutineByLocalId啓動的不同程序

18、requestRoutineResultsByLocalIdentifier SID 33 (K2RRRBLI)

這個服務的目標是檢查或查詢startRoutineByLocalIdentifier啓動的例程的結果

19、Request download (SID 34) (K2RQDN)

downloadRequest服務用於啓動從測試人員到ECU(下載)的數據傳輸。ECU收到requestDownload請求消息後,ECU在發送積極響應消息之前,採取所有必要的操作來接收transferData請求消息中的數據。

20、CRAROTICNtS-trcureuoC:aVmr-kw200-KRQ2DNRequest upload (SID 35) (K2RQUP)

RequestUpload服務的目的是初始化從ECU到測試人員的數據傳輸。

21、Transfer data (SID 36) (K2TD)

測試人員在兩種情況下使用transferData服務:將數據從ECU傳輸到測試人員(上載),將數據從測試人員傳輸到ECU(下載)。

22、Request transfer exit (SID 37) (K2RTE)

此函數用於結束數據傳輸。重要的是:即使不是所有的數據都已經被傳輸,也可以發送一個積極的響應。控制單元在未檢查之前請求的數據量是否實際到達的情況下終止傳輸。

23、writeDataByLocalIdentifier service SID $3B (K2WRDLI)

24、Write memory by address (SID 3D) (K2WMBA)

測試人員使用這個服務向控制單元ram寫入數據

25、 testerPresent SID $3E (K2TP)

保持通信

26、escapeCode (SID 80) (K2ESC)

該服務爲串行應用程序和引擎診斷提供了一系列功能。

27、 startCommunication SID $81 (K2STC)

該服務的目的是在k線上建立測試單元和控制單元之間的通信。

28、stopCommunication SID $82 (K2SPC)

終止在測試單元和控制單元之間的通信

29、accessTimingParameters SID $83 (K2ATP)

此服務的目的是在此通信鏈路處於活動狀態期間讀取和更改通信鏈路的默認定時參數

30、 Control Diagnostic Trouble Codes Setting SID $85 (ISO14229_CDTCS)

測試人員使用此服務來停止或恢復ECU中的診斷故障碼(DTCs)設置。此服務只能在引擎速度Eng_nAvrg = 0和車輛速度VSSCD_v = 0時執行。當任何條件不滿足時,將發送一個消極響應(22h)。

31、ReadStatusOfDiagnosticTroubleCodes SID $87 (K2RSODTC87) 讀取DTC狀態

此服務的目的是讀取單個錯誤路徑的狀態以及可用的環境條件

32、readDiagnosticTroubleCodesByStatus SID $88 (K2RDTCBS88)

使用此診斷服務,可以輸出當前保存在錯誤內存中的錯誤路徑及其狀態。此外,可以檢索所有已定義錯誤路徑的列表,不管它們是否保存在錯誤內存中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章