一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

?CAPL在診斷中的應(yīng)用,你值得了解!

北匯信息POLELINK ? 2023-09-07 08:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CANoe主要用于汽車總線的開發(fā)并廣泛被汽車電子工程師們使用。它具有強大的開發(fā)、分析、仿真、診斷、測試等功能。一提到CANoe大家往往都會想到CAPL,在使用CANoe的過程中相信每位工程師都或多或少的要和“CAPL”打交道。學(xué)好CAPL的用法可以讓我們更加高效、便捷地使用CANoe。本文就CANoe中關(guān)于診斷的CAPL函數(shù)進行介紹。

277d8c68-4d15-11ee-a20b-92fbcf53809c.png

診 斷

診斷,其實就是服務(wù)端和客戶端進行一問一答的方式。這里的一問一答指的是發(fā)送和接收的方式,Tester端發(fā)送一條特定ID的報文(請求),ECU接收到以后會相應(yīng)的回復(fù)一條特定ID的報文(響應(yīng))。診斷是一個非常重要的功能,可以讀取ECU的很多信息,比如:版本號,故障信息,狀態(tài)信息等。CANoe是具有診斷功能的,如果需要大批量的進行診斷測試就需要使用CAPL來輔助。

如下圖所示,CANoe可以直接加載CDD文件,加載完CDD文件后可以通過CANoe工程的診斷界面打開診斷臺,進行手動的發(fā)送診斷報文。

278231fa-4d15-11ee-a20b-92fbcf53809c.png

在CANoe中加載CDD文件

如下圖所示,在Diagnostic Console中我們可以直接發(fā)送擴展會話服務(wù)(0x1003),ECU端收到擴展會話服務(wù)請求后會給出肯定響應(yīng)或否定響應(yīng)。

27d348b0-4d15-11ee-a20b-92fbcf53809c.png

用 Diagnostic Console發(fā)送診斷請求

但是隨著測試任務(wù)的增加,我們要進行多種方式的診斷測試。如下圖所示,加載完CDD文件后,隨之打開CAPL Browser,就可以在CAPL編輯器的Symbols欄中找到我們CDD文件對應(yīng)的診斷服務(wù)。

27fff0d6-4d15-11ee-a20b-92fbcf53809c.png

CAPL Browser 中CDD文件的調(diào)用

對于使用CAPL實現(xiàn)診斷功能我們通常有兩種方式:

通過發(fā)送CAN報文的形式去實現(xiàn)

針對第一種方式,我們只需要在CAPL中定義一條特定ID的報文,再定義它的DLC以及每個字節(jié)的內(nèi)容再發(fā)出去就可以了,如下圖所示:

28089538-4d15-11ee-a20b-92fbcf53809c.png

CAPL 代碼實現(xiàn)


28204052-4d15-11ee-a20b-92fbcf53809c.png

Trace 中報文的顯示

通過調(diào)用加載到CANoe工程中CDD文件定義好的診斷功能去實現(xiàn)

針對第二種方式,因為CDD文件中已經(jīng)定義了ECU支持的診斷服務(wù)、通信參數(shù)等參數(shù),所以我們只需要把我們在CDD中定義好的診斷服務(wù)發(fā)送出去即可,如下圖所示:

28389594-4d15-11ee-a20b-92fbcf53809c.png

CAPL 代碼實現(xiàn)

283e51aa-4d15-11ee-a20b-92fbcf53809c.png

診斷常用CAPL函數(shù)

下面就讓我們來學(xué)習(xí)一下診斷中常用的一些CAPL函數(shù)。

診斷處理事件

on diagRequest NewRequest:進行ECU仿真時,收到診斷請求時調(diào)用。

on diagResponse NewResponse:Tester端收到診斷響應(yīng)時調(diào)用。

on diagRequestSent NewRequestsent:收到Tester端發(fā)送的診斷請求時調(diào)用。

常用的診斷函數(shù)列表及功能描述


通信/設(shè)定功能函數(shù)

diagGetCurrentEcu 用于獲取當前ECU名稱;

285414ae-4d15-11ee-a20b-92fbcf53809c.png

diagGetLastCommunicationError 用于返回上一次診斷請求的錯誤碼

2869f1de-4d15-11ee-a20b-92fbcf53809c.png

diagSendRequest 用于發(fā)送診斷請求給目標 ECU

2873c52e-4d15-11ee-a20b-92fbcf53809c.png

diagSetTimeout 用于設(shè)定診斷請求的超時時長& diagSetTimeoutHandler 用于創(chuàng)建一個回調(diào)函數(shù),在診斷請求超時時被調(diào)用:

28926696-4d15-11ee-a20b-92fbcf53809c.png

安全訪問函數(shù)

diagSetCurrentSession 設(shè)置當前ECU的會話狀態(tài):

28abba56-4d15-11ee-a20b-92fbcf53809c.png

diagStartGenerateKeyFromSeed 用于根據(jù)種子和密鑰算法DLL生成一個密鑰&_Diag_GenerateKeyResult 用于返回使用計算密鑰的結(jié)果:

28b02e60-4d15-11ee-a20b-92fbcf53809c.png


對象訪問函數(shù)

diagGetLastResponse 用于保存上一次收到的診斷請求響應(yīng):

28e65422-4d15-11ee-a20b-92fbcf53809c.png

診斷測試函數(shù)

函數(shù)

功能描述

diagCheckObjectMatch

用于檢測診斷響應(yīng)的 ID 是否與診斷請求相符

diagCheckValidNegResCode

用于檢測返回的否定響應(yīng)是否在診斷描述文件 (CDD文件)中已經(jīng)定義

diagCheckValidPrimitive

用于檢測指定的診斷對象是否符合規(guī)范 (CDD 文件) 中的定義

diagCheckValidRespPrimitive

用于檢測收到的診斷請求響應(yīng)是否符合規(guī)范(CDD 文件)中的定義

testCollectDiagEculnformation

用于向指定的診斷目標發(fā)送診斷請求并將響應(yīng)寫入報告文件

testReportWriteDi-agResponse

用于將接收到的診斷響應(yīng)寫入報告

testWaitForDiagRe-questSent

用于等待上一次的診斷請求成功發(fā)送到 ECU

testWaitForDiagRe-sponse

用于等待接收到請求的診斷響應(yīng)

testWaitForDiagRe-sponseStart

用于等待接收到請求的診斷響應(yīng)開始,即收到響應(yīng)的首幀報文

testWaitForUnlock-Ecu

用于嘗試解鎖 ECU

29066aa0-4d15-11ee-a20b-92fbcf53809c.png

拓展小學(xué)堂

Vector對于診斷方面是有許多專業(yè)性的工具,下圖為診斷工具鏈的V模型,從開發(fā)到測試、從供應(yīng)商到主機廠都會涉及到的診斷工具。下面就由我來為大家進行簡單的介紹:

290ff34a-4d15-11ee-a20b-92fbcf53809c.png

CANdelastudio

CANdelaStudio用于定義ECU的診斷功能,并且生成診斷數(shù)據(jù)庫(CDD文件)來優(yōu)化整個診斷開發(fā)過程。CANdelaStudio支持文檔模板(CDDT文件),可以滿足不同廠商對同一個標準工具的各種特殊要求。在內(nèi)容上一個文檔模板對應(yīng)于一種診斷規(guī)范,它包含了對ECU所有允許的基本服務(wù)和在每個ECU中都必需實現(xiàn)的強制功能的一個正式描述。

ODXStudio

基于ODX的診斷流程并以O(shè)DX格式查看、編輯、處理或管理診斷數(shù)據(jù)的所有用戶而設(shè)計。它支持單個ECU的診斷開發(fā),直至整個車輛平臺的水平。它同樣適合在汽車OEM和供應(yīng)商工作的用戶。ODXStudio處理的是ODX 2.0.1和2.2.0版本的數(shù)據(jù)。

CANoe.Diva

作為一個生成診斷測試用例的工具,可以支持把CDD文件和ODX文件導(dǎo)入到Diva工程當中,然后去通過一些相應(yīng)的配置,點一個按鈕自動生成診斷相關(guān)的一些測試用例,再把生成的測試用例導(dǎo)入到CANoe中進行診斷的自動化測試,測試完成后會自動生成相應(yīng)的測試報告。

vFlash

刷寫工具,vFlash可以作為一個獨立的工具來實現(xiàn)程序刷寫。精簡的用戶操作界面,利用模板來實現(xiàn)對于不同F(xiàn)lash刷寫規(guī)范的支持,可通過CAN/LIN/以太網(wǎng)進行刷寫。在提高刷寫速度的同時,可以刷寫更大的數(shù)據(jù),還能結(jié)合VN8810實現(xiàn)遠程一鍵刷寫。

Indigo

作為參數(shù)化工程診斷儀,支持工程診斷的應(yīng)用場景。同時,Indigo支持客戶定制化,例如集成vFlash工程支持刷寫應(yīng)用場景、通過選擇車輛配置參數(shù)組支持車型配置、例程控制界面、可執(zhí)行工程但不可編輯工程配置的Indigo Run、中文界面并且還可以拓展支持遠程診斷等功能。

2957f974-4d15-11ee-a20b-92fbcf53809c.png

總 結(jié)

CANoe作為一個強大的總線開發(fā)工具有很多的功能,本文就CANoe中的診斷功能相關(guān)的CAPL函數(shù)做了講解并簡單的講解了VECTOR旗下的診斷工具,希望本文章可以為大家?guī)砣碌氖褂皿w驗,如有問題歡迎私信我們北匯信息。

北匯信息作為Vector的合作伙伴,已為多家OEM/Tier1定制部件級功能測試系統(tǒng)(包括車身域控制器,及傳統(tǒng)分布式控制器功能測試開發(fā)),提供系統(tǒng)級及實車級測試驗證服務(wù),期待交流分享和合作的機會。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 汽車電子
    +關(guān)注

    關(guān)注

    3037

    文章

    8352

    瀏覽量

    170194
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2921

    瀏覽量

    467932
  • 診斷
    +關(guān)注

    關(guān)注

    1

    文章

    60

    瀏覽量

    12469
  • 汽車
    +關(guān)注

    關(guān)注

    15

    文章

    3861

    瀏覽量

    39574
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    值得了解的熱電阻應(yīng)用!

    熱電阻
    jzyb
    發(fā)布于 :2025年07月10日 15:47:24

    值得了解的不銹鋼壓力表用途!

    壓力表
    華泰天科
    發(fā)布于 :2025年07月07日 18:42:30

    值得了解的壓力變送器作用!

    壓力變送器
    華泰天科
    發(fā)布于 :2025年06月25日 16:06:44

    神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)電機故障診斷的應(yīng)用

    診斷誤差。仿真結(jié)果驗證了該算法的有效性。 純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)電機故障診斷的應(yīng)用.pdf【免責聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作
    發(fā)表于 06-16 22:09

    什么是超級電容?對超級電容了解多少?

    什么是超級電容?對超級電容了解多少?1、雙電層電容:是電極/溶液界面通過電子或離子的定向排列造成電荷的對峙而產(chǎn)生的。對一個電極/溶液體系,會在電子導(dǎo)電的電極和離子導(dǎo)電的電解質(zhì)溶液界面上形成雙電層
    的頭像 發(fā)表于 05-16 08:52 ?304次閱讀
    什么是超級電容?<b class='flag-5'>你</b>對超級電容<b class='flag-5'>了解</b>多少?

    采購GUTOR UPS備品備件,隱藏的“雷區(qū)” 了解嗎?

    GUTOR UPS備品備件采購之路上,困難重重,選型、渠道甄別、成本把控、安裝部署、售后保障,樁樁件件都是棘手難題。隱藏的“雷區(qū)” 了解嗎?
    發(fā)表于 03-21 16:08

    值得了解的壓力開關(guān)作用有哪些?

    壓力開關(guān)
    華泰天科
    發(fā)布于 :2025年02月28日 22:13:56

    Aigtek功率放大器管道懸跨診斷的具體應(yīng)用

    問題,進而引發(fā)事故。因此,對管道懸跨進行準確、及時地診斷顯得尤為重要。功率放大器作為一種信號放大設(shè)備,能夠提高檢測信號的強度,從而增加管道懸跨診斷的準確性和可靠性。本文將探討功率放大器管道懸跨
    的頭像 發(fā)表于 01-02 13:55 ?338次閱讀
    Aigtek功率放大器<b class='flag-5'>在</b>管道懸跨<b class='flag-5'>診斷</b><b class='flag-5'>中</b>的具體應(yīng)用

    小巧型壓力變送器的作用你值得了解

    變送器
    華泰天科
    發(fā)布于 :2024年11月16日 10:16:45

    智能AI終端故障診斷具體是如何工作的?

    梯云物聯(lián)的智能AI終端故障診斷扮演著至關(guān)重要的角色。這一系統(tǒng)通過集成先進的物聯(lián)網(wǎng)技術(shù)、大數(shù)據(jù)分析和人工智能算法,實現(xiàn)了電梯維保與急修的精準分離,大幅提升了維保效率和服務(wù)質(zhì)量。
    的頭像 發(fā)表于 10-17 11:46 ?621次閱讀

    汽車音頻系統(tǒng)診斷和保護

    電子發(fā)燒友網(wǎng)站提供《汽車音頻系統(tǒng)診斷和保護.pdf》資料免費下載
    發(fā)表于 09-26 10:38 ?0次下載
    汽車音頻系統(tǒng)<b class='flag-5'>中</b>的<b class='flag-5'>診斷</b>和保護

    認識貼片電阻嗎,對他了解多少?

    認識貼片電阻嗎,對他了解多少?
    的頭像 發(fā)表于 08-27 15:49 ?1253次閱讀
    <b class='flag-5'>你</b>認識貼片電阻嗎,<b class='flag-5'>你</b>對他<b class='flag-5'>了解</b>多少?

    對村田的貼片電容器有多少了解

    對村田的貼片電容器有多少了解?
    的頭像 發(fā)表于 08-26 17:57 ?1088次閱讀
    <b class='flag-5'>你</b>對村田的貼片電容器有多少<b class='flag-5'>了解</b>?

    了解貼片電感上標注的數(shù)字含義嗎?

    了解貼片電感上標注的數(shù)字含義嗎?
    的頭像 發(fā)表于 08-17 14:30 ?1928次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>了解</b>貼片電感上標注的數(shù)字含義嗎?

    網(wǎng)絡(luò)診斷工具traceroute的使用

    Linux 系統(tǒng),traceroute 是一個網(wǎng)絡(luò)診斷工具,用于確定數(shù)據(jù)包從的計算機到目標主機(如一個網(wǎng)站或遠程服務(wù)器)所經(jīng)過的路由路徑。
    的頭像 發(fā)表于 08-05 15:41 ?905次閱讀
    網(wǎng)絡(luò)<b class='flag-5'>診斷</b>工具traceroute的使用