寫在正文之前:最近汽車行業不太景氣,各個主機廠的銷量都在下滑,每個公司的開源節流壓力都很大。作為汽車工程師,我們更應該修煉自己、提公升能力,熬過這段艱苦的時間,相信汽車行業在中國的未來幾十年還會是乙個朝陽行業。
canoe是汽車工程師、尤其是汽車電子工程師最常用的工具之一,它是乙個非常強大的開發、**、測試環境。我本人入行之後負責診斷,所以在工作中對canoe的診斷功能使用得比較多,我在這篇文章中對canoe在診斷方面可以實現的事情做個簡單總結,希望可以幫到有需求的同行。
canoe在診斷方面主要有三個用途:
1.作為診斷儀;
2.模擬實現ecu的診斷功能;
3.對ecu的診斷進行自動化測試。
當我們使用canoe提供的診斷操作介面時,資料走的是上圖左邊的路徑,這條路徑對使用者是不可見的。當我們需要自己程式設計實現對ecu診斷功能的**、或者實現診斷的自動化測試時,診斷資料走的是上圖右邊的路徑,其中的callback函式和傳輸層動態庫(在canoe的安裝資料夾中的名字是osek_tp.dll)對使用者是可見的,我們可以用它們來程式設計實現自己的需求。我在之前的文章中介紹過它們的使用方法,如有需求可以參考。張丁:利用canoe中的callback機制實現診斷通訊zhuanlan.zhihu.com
1.transport protocol (tp) dll(使用者自定義診斷需求時需要使用的動態庫)
2.iso tp observer(可以幫助使用者解析傳輸層協議,使用該功能後,在trace介面的診斷報文的傳輸層資訊可以被解析出來)
3.interactive diagnostic console(canoe提供的診斷命令傳送和接收的操作面板)
4.fault memory window(canoe內建的讀取ecu故障碼的操作面板)
5.diagnostic session control window(canoe內建的轉換ecu session的操作面板)
6.obd ii window(canoe內建的讀取obd資訊的操作面板)
7.capl extensions for diagnostics(在capl程式設計環境中內建的診斷外掛程式)canoe 10.0版本關於診斷功能的介面
在將canoe用作診斷儀時,我們首先應該匯入診斷描述檔案,這些檔案可以是cdd/odx/mdx 這幾種格式的,如果使用者沒有自己的診斷描述檔案,還可以匯入canoe內建的1.基礎診斷描述 (uds/kwp)。匯入這些檔案之後,下面這個介面的左邊就會把診斷檔案中包含的被診斷ecu列出來。匯入診斷描述檔案
使用者還可以在下面這個介面中進行一些引數配置,主要包括診斷使用的物理定址can-id和功能定址can-id,傳輸層的stmin等。診斷引數配置
canoe的basic diagnostic介面為使用者展示了每個uds支援的診斷服務,如下圖所示。這些內容來自於使用者之前匯入的pdx或cdd檔案。basic diagnostic介面
在diagnostic console介面,使用者可以實現診斷命令的傳送和接收,如下圖所示。diagnostic console介面
如果之前的引數配置都沒有錯的話,我們就可以選擇讀取某個ecu的故障碼了,還可以對ecu執行session轉換、securityaccess、ecureset、dtcsetting(85服務)、通訊控制(28服務)。如下面兩張圖所示。
如果使用者需要呼叫傳輸層動態庫來實現診斷功能,則需要在配置node的時候新增osek_tp.dll,具體操作如下圖所示:新增osek_tp.dll的方法
osek_tp.dll提供了傳輸層介面,使使用者免去了自己實現15765-2的麻煩,具體用法可以參考help文件。
CAPL 程式設計例項
example 1 event message transmission 定義了id為0x555長度為1的訊息值為0xaa,按鍵b觸發傳送 variables on key b example 2 periodic message transmission 定義了id為0x555長度為1的訊息,按週...
使用CAPL控制面板
這是我的第一篇關於capl的文章。從事汽車電子的測試工作但是直到去年底才開始接觸capl。因為c語言基礎非常差並且網上資料特別少,對我來說學起來稍微有點困難。以後會不定期在這裡更新一下所學到的東西,包括capl can匯流排之類的。一是做乙個學習記錄的功能,二是分享一下學習心得。如果有錯誤的地方,希...
CAPL診斷函式解釋
capl診斷函式解釋 診斷函式的解釋 cdd candelia diagnostic description cdd檔案用於診斷的資料庫檔案。cdd檔案由candeliastudio建立,可以整合到canoe中,用於診斷服務和資料解析。dll 演算法檔案 diagrequest,定義診斷請求服務 d...