
作者 | 樂多
小編 | Crystal

引言
在基于CANoe的測試中,我們常會遇到一些典型場景:例如需要快速讀取ECU診斷信息,此時許多測試工程師往往會首選使用IG(Interactive Generator Block)模塊直接模擬發送診斷請求。使用IG模塊對于單幀可完成簡單請求,然而一旦需要讀取超長數據(如某些DID信息)或診斷故障碼,IG手動組幀的繁瑣與多幀處理的復雜性便會立刻顯現,使得整個過程效率低下且極易出錯。本文將以CANoe為實操平臺,結合CDD診斷數據庫文件,描述如何通過診斷控制臺(Diagnostic Console)來發送診斷指令。
CDD(CANdela Diagnostic Descriptions)診斷數據庫文件是用于描述汽車電子控制單元診斷數據的數據庫文件,主要用于優化診斷開發過程。CDD文件使用Vector公司的CANdelaStudio工具創建,可以在CANoe/CANalyzer中用于診斷服務和參數的訪問和解釋。

CANoe診斷控制臺發送CAN診斷報文
(一) 打開CANoe軟件的【Diagnostic/ISO TP】模塊

圖1 【Diagnostic/ISO TP】界面
(二)導入CDD診斷數據庫文件
選擇第一項添加對應控制器特定的CDD診斷數據庫文件。如果沒有對應控制器的CDD文件,可以選擇第四項,添加Vector標準的CDD診斷數據庫文件。

圖2 CANoe導入CDD診斷數據庫文件
(三)修改診斷控制臺參數
導入CDD文件后可以在【Transport Layer】界面根據控制器參數信息修改診斷ID,傳輸層參數,總線類型等。

圖3 【Transport Layer】界面
(四)打開【Diagnostic Console】界面發送診斷數據

圖4 打開【Diagnostic Console】
(五)雙擊左側的診斷服務來發送診斷數據

圖5 雙擊左側的診斷服務來發送診斷數據
(六)直接輸入診斷命令,然后點擊【Execute】來發送診斷數據

圖6 點擊【Execute】發送診斷數據
圖7和圖8為診斷控制臺發送CAN診斷數據和發送CAN FD診斷數據的截圖。

圖 7 CAN診斷報文發送

圖8 CAN FD診斷報文發送
(七)加載安全訪問DLL文件來進行安全解鎖
打開【Diagnostic Layer】界面,找到【Seed&Key DLL】,加載安全訪問DLL件后,可以發送27服務來進行安全解鎖。

圖9 【Diagnostic Layer】界面

圖10 27診斷服務解鎖報文
(八)發送功能尋址診斷命令
找到【Usage of the Diagnostic Description】,選擇【Functional Group Requests】,打開【Diagnostic Console】界面發送診斷數據。

圖11 【Functional Group Requests】

圖12 功能尋址診斷報文發送
(九)注意激活在線保持
打開【Diagnostic Console】界面,點擊【Tester Present on】圖標,可以開啟在線保持,Tester 周期發送3E 80維持會話。

圖13 開啟在線保持

CANoe診斷控制臺發送Ethernet診斷報文
CANoe通過診斷控制臺發送Ethernet診斷報文的步驟與發送CAN診斷報文步驟1-7相同,需要增加如下幾個配置項:
(一)TCP/IP協議棧配置
打開菜單欄中的【Simulation】,點擊【TCP/IP Stack】,彈出【TCP/IP Stack】界面后,修改Tester的IP地址信息。

圖14 【TCP/IP Stack】
(二)控制器IP配置及邏輯地址配置
在【Diagnostic/ISO TP】中,找到【DoIP/HSFZ Setting】,設置Tester邏輯地址,控制器邏輯地址以及控制器IP地址。

圖15 控制器IP配置及邏輯地址配置
(三)修改DoIP版本
在【DoIP/HSFZ Main Setting】界面中,點擊【Protocol】下拉可以選擇使用2012版DoIP協議還是2019版DoIP協議。

圖16【DoIP/HSFZ Main Setting】修改DoIP版本
(四)打開【Diagnostic Console】界面發送診斷數據

圖17 Ethernet診斷報文發送

CANoe診斷控制臺發送LIN診斷報文
CANoe通過診斷控制臺發送LIN診斷報文的步驟與發送CAN診斷報文步驟1-7相同,需要增加如下幾個配置項:
(一)在導入CDD文件之前需要先加載LDF文件
在菜單欄【Simulation】下找到【Simulation Setup】并點擊,找到LIN Networks,右鍵點擊【Database】后點擊【Add】添加LDF文件。

圖18 添加LDF文件
(二)在LDF文件中修改診斷NAD
如圖19所示,由于在診斷控制臺中診斷NAD為標灰項無法更改,因此需要在LDF文件中更改NAD,如圖20所示。

圖19 LIN 【Diagnostic/ISO TP】

圖20 修改LDF文件
(三)修改發送報文配置
在使用診斷控制臺發送LIN診斷報文之前,在【Diagnostic/ISO TP】中,找到【LIN Settings】,選擇【Diagnostics only】來發送LIN診斷報文。

圖21 LIN 【Diagnostic/ISO TP】修改發送報文配置
(四)打開【Diagnostic Console】界面發送診斷數據

圖22 LIN診斷報文發送

總結
以上介紹了利用CANoe診斷控制臺直接發送CAN/LIN/Ethernet診斷請求的詳細步驟。該方法的核心優勢在于通過集成CDD診斷數據庫,將復雜的多幀通信底層工作交由工具自動完成,從而實現操作簡化以及效率提升。
北匯信息作為一家專注于汽車電子測試領域的企業,在車載網絡測試方面積累了豐富經驗。我們可提供專業的培訓、技術咨詢及完整的測試解決方案,協助汽車制造商與零部件供應商確保車載網絡系統的可靠性及安全性。如您需要具體的測試服務或希望了解更多信息,歡迎隨時聯系我們。
注:文中部分圖片來源于Vector
-
控制臺
+關注
關注
0文章
88瀏覽量
10985 -
診斷
+關注
關注
1文章
61瀏覽量
12662 -
CANoe
+關注
關注
4文章
85瀏覽量
9768
發布評論請先 登錄
TSMaster 的 CAN UDS 診斷操作指南(下)
UART控制臺通信問題:命令出現拆分或缺失字母,怎么解決?
如何使用CANoe診斷控制臺發送診斷命令
評論