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