診斷控制臺
今天我們來具體講解下TSMaster診斷控制臺具體操作。診斷控制臺作為診斷命令調試器,可以讓用戶選擇每一條單獨的服務命令,編輯發送服務報文和接收服務報文,進行測試驗證。主要包含五塊工作區域,主要分為服務命令選擇區、手動命令輸入區、診斷命令發送/應答區、診斷運行、診斷信息/Trace區。
A 服務命令選擇區
服務命令選擇區中是根據基礎配置(后續Odx/Cdd)等加載生成的可執行服務列表。用戶可以雙擊執行選中的服務或者右鍵選擇執行該服務,如下圖所示:
B 手動命令輸入區
測試過程中,如果用戶想發送任意的診斷命令,則可以在手動命令輸入區中輸入自己想要發送的任意報文,如下圖所示:
在輸入診斷報文過后,點擊右邊的Execute按鈕,就可以完成診斷報文的發送。為了增加測試靈活性,用戶可以通過選擇框選擇采用物理地址發送還是功能ID發送診斷請求報文。
C 診斷命令發送/應答區
在本區域中,用戶可以編輯發送數據段以及期望接收數據段,啟動執行來驗證被測ECU的診斷響應是否符合實際要求。下面以24服務為例,設計了6種不同數據類型的發送參數,也同時設計了6種不同數據類型的應答參數,如下圖所示:
輸入診斷參數:
輸入標定參數示例如下:
Request PDU:診斷模塊要發送的診斷數據包字節,該部分數值是不可編輯的,用戶在填入參數值過后,該部分數據自動生成對應的診斷數據值。
診斷參數:對應關系如下:
【1】 Para0,數據類型為UInt,數據長度為8Bits,輸入12,則對應字節為0x0C。
【2】 Para1,數據類型為Int,數據長度為8Bits,輸入為-1,則對應字節為0xFF。
【3】 Para2,數據類型為Single,數據長度為32Bits,輸入為3.1,則對應字節為0x40, 0x46,0x66,0x66。
【4】 Para3,數據類型為Double,數據長度為64Bits,輸入為3.2,則對應字節為0x40, 0x09,0x99,0x99,0x99,0x99,0x99,0x9A。
【5】 Para4,數據類型為Hex數組,數據長度為8Bits,輸入為0x11,則對應字節為0x11。
【6】 Para5,數據類型為ASCII字符串,數據長度為24Bits,輸入字符串為”ASC”,則對應字節為0x43,0x53,0x41。
Para6,數據類型為系統變量。數據長度根據提取的系統變量的值為64bits,系統變量名稱為Diagnostic0.BC_cebal_fw_srf05dbg_StartAddressAndDataLength,在執行過程中,系統會根據該名稱自動提取系統變量的實際值,并解析到發送報文中。
完成上述診斷參數的輸入過后,生成的診斷請求數據包為:0x24 0x00 0x01 0x0C 0xFF 0x40 0x46 0x66 0x66 0x40 0x09 0x99 0x99 0x99 0x99 0x99 0x9A 0x11 0x43 0x53 0x41,正如上圖所示。
輸入應答參數:
輸入應答參數值如下圖所示:
其中,第1部分跟前一個章節輸入診斷參數完全一樣,這里不再講解。但是應答參數增加了一個可選命令,是否檢查(Check)這部分參數。如果勾選了Check,則ECU的應答必須等于配置的應答參數,本診斷測試才算通過。如果不勾選,則診斷模塊不檢測ECU應答中這部分字節的內容。
【1】當上述所有配置應答都勾選上的時候,ECU應答的報文必須等于:
0x64 0x00 0x01 0x7B 0xFE 0x40 0x4C 0xCC 0xCD 0x40 0x1A 0x00 0x00 0x00 0x00 0x00 0x00 0x12 0x34 0x43 0x53 0x41才被系統認定為通過診斷測試。
【2】去掉勾選判斷Para1和Para2,如下圖所示:
此時,ECU應答的報文必須等于:0x64 0x00 0x01 0x7B 0xXX 0xXX 0xXX 0xXX 0xXX 0x40 0x1A 0x00 0x00 0x00 0x00 0x00 0x00 0x12 0x34 0x43 0x53 0x41。其中紅色部分0xXX表示該部分字節不予判斷,其他字節必須等于上述配置字節才被系統認定通過診斷測試。
【3】去掉勾選判斷Para0-Pra5,如下圖所示:
此時,ECU應答的報文必須等于:0x64 0x00 0x01才被系統認定通過診斷測試。
D 診斷運行
以CombinedService為例,診斷運行過程中,會顯示當前下載完成的Block塊區域,并顯示每一個Block寫入的執行時間等,如下圖所示:
E 診斷信息/Trace區
服務/原始報文 Trace 對比:
在診斷中,用戶會碰到最原始的CAN/CANFD/LIN報文,以及經過傳輸層傳輸過后的服務層報文。在TSMaster診斷模塊中,原始CAN報文在基本的Trace模塊中查看,而經過傳輸層處理過后的服務報文,則直接在診斷模塊的Trace區域查看。如下圖所示:
通過上圖對比可以看到:
【1】原始的CAN/CANFD報文區還可以看到多幀,單幀,首幀等傳輸層信息。
【2】診斷模塊中的Trace呈現給用戶的是直接的服務層報文。對于用于來說,只需要關心自己發送的服務內容即可,不需要關心這些內容具體是怎么拆分發送的。因此,做診斷服務的時候,重點觀察診斷模塊內部Trace界面即可。
操作提示區:
該區域顯示當前在診斷模塊中的操作步驟。如下圖所示,顯示的是下載一個hex文件,程序內部的傳輸步驟流程。
當診斷服務沒有得到肯定響應或者無響應時,報錯提示信息等如下所示:
ISO 15765-2 服務報文區:
本區域用于顯示診斷模塊詳細的服務層報文信息。結合前面配置的診斷數據庫,還可以把原始的報文數據解析成物理信號等呈現給用戶,如下圖所示:
-
控制臺
+關注
關注
0文章
85瀏覽量
10375
發布評論請先 登錄
相關推薦
評論