CANoe作為專業(yè)的系統(tǒng)級(jí)總線網(wǎng)絡(luò)開發(fā)和測試工具被眾多整車廠和供應(yīng)商的系統(tǒng)設(shè)計(jì)師、開發(fā)工程師和測試工程師所廣泛使用,由于市場對(duì)CANoe使用需求的多元化和不確定性,CANoe對(duì)外提供了通用API來供應(yīng)用集成來解決在人機(jī)交互過程中的各種問題。比如:在不同環(huán)境下怎么運(yùn)行多個(gè)CANoe客戶端,在執(zhí)行長時(shí)間的測試任務(wù)時(shí),怎么對(duì)測試過程實(shí)現(xiàn)監(jiān)聽和控制,以及在測試過程中怎么實(shí)時(shí)獲取測試數(shù)據(jù),測試任務(wù)完成之后怎么歸類測試數(shù)據(jù)、生成多元項(xiàng)目報(bào)告等。
北匯團(tuán)隊(duì)基于豐富的汽車電子測試項(xiàng)目經(jīng)驗(yàn),提取了工程師在CANoe使用過程中的各階段需求,并結(jié)合信息化技術(shù)手段,提供了一套CANoe集成解決方案,作為CANoe交互的代理引擎,用于監(jiān)控管理CANoe工程,采集、仿真CANoe報(bào)文數(shù)據(jù),同時(shí)完成測試數(shù)據(jù)、測試日志解析和報(bào)告定制等功能。
CANoe遠(yuǎn)程調(diào)用
在自動(dòng)化測試階段,存在需要在多個(gè)客戶端執(zhí)行CANoe工程的業(yè)務(wù)場景,那么如何快速的將工程部署執(zhí)行,以及工程有變更時(shí)如何在遠(yuǎn)程客戶端重新測試執(zhí)行是我們需要解決的問題,目前CANoe代理提供了工程執(zhí)行服務(wù),通過接收服務(wù)端的執(zhí)行請(qǐng)求,使得CANoe可以執(zhí)行指定工程。
服務(wù)端通過監(jiān)聽客戶端配置信息在服務(wù)端注冊代理:

用戶將配置好的工程文件打包,上傳到服務(wù)器,在服務(wù)器端統(tǒng)一管理。

用戶可以將工程分配給客戶端,并且將工程下發(fā)給客戶端執(zhí)行。客戶端在執(zhí)行過程中,將執(zhí)行步驟信息實(shí)時(shí)上傳給服務(wù)端。用戶在服務(wù)端可以查看各個(gè)CANoe客戶端在執(zhí)行什么工程,執(zhí)行進(jìn)度如何,也可中斷CANoe客戶端執(zhí)行的工程下發(fā)新的工程給客戶端執(zhí)行。

CANoe實(shí)時(shí)監(jiān)聽
在測試過程中,工程師比較關(guān)注CANoe工程是否在運(yùn)行,工程執(zhí)行過程中重要參數(shù)是否超限等信息,CANoe代理可以實(shí)現(xiàn)把運(yùn)行狀態(tài)及重要數(shù)據(jù)組成結(jié)構(gòu)化的心跳數(shù)據(jù),實(shí)時(shí)推送到消息隊(duì)列,提供給服務(wù)端應(yīng)用消費(fèi),并將最終數(shù)據(jù)推送給Web頁面、移動(dòng)端等。
為了更加友好與服務(wù)端交互,我們使用Json這種輕量級(jí)的數(shù)據(jù)交換格式。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。我們將心跳數(shù)據(jù)定義為以下格式,也可根據(jù)實(shí)際業(yè)務(wù)增減內(nèi)容。
| {"agentNo":"agent01","host":"192.168.10.153","servicePort":"8000","timeTicks":637816667000853169,"status":"START","waitingTime":"101","cylinderTemperature":"189","assemblyTemperature":"88"} |
每個(gè)客戶端定時(shí)上報(bào)自己的心跳數(shù)據(jù),就可實(shí)時(shí)監(jiān)控每個(gè)代理運(yùn)行情況和重要參數(shù)實(shí)時(shí)值,從而達(dá)到監(jiān)控的目的。

同時(shí)可以查看參數(shù)的歷史數(shù)值及變化趨勢。

報(bào)文讀取和仿真
無論是開發(fā)還是測試過程中,很多時(shí)候用戶需要讀取總線上數(shù)據(jù),在總線上仿真一些數(shù)據(jù)來驗(yàn)證、建?;蛘叻治鰡栴}。目前獲取CANoe報(bào)文的方式有兩種,一是通過查看Trace窗口,二是錄制報(bào)文后使用CANoe打開分析。第三方應(yīng)用很難直接獲取和處理報(bào)文數(shù)據(jù),我們通過代理與CANoe的交互,使用標(biāo)準(zhǔn)的RestFul框架提供了常用的數(shù)據(jù)讀取接口供外部或遠(yuǎn)程應(yīng)用調(diào)用。CANoe仿真可以通過CAPL腳本或者CANoe本地的Matlab/Simulink接口來完成。但工程師經(jīng)常不局限于本地仿真,這樣既繁瑣也不可控。我們通過中央服務(wù)器統(tǒng)一去控制仿真就可解決這一難題,同時(shí)代理提供了可供外部調(diào)用的仿真接口。
在做數(shù)據(jù)分析時(shí),服務(wù)端需要一段時(shí)間的數(shù)據(jù),而CANoe總線上數(shù)據(jù)的節(jié)拍是毫秒級(jí)的,如果通過讀取方式,就存在丟幀的情況,這里我們引入了消息中間件。在報(bào)文產(chǎn)生時(shí),觸發(fā)ON事件,實(shí)時(shí)將報(bào)文推送到消息中間件,這樣我們服務(wù)端可以通過消費(fèi)中間件通道的數(shù)據(jù),進(jìn)行分析展示。

以太網(wǎng)PDU數(shù)據(jù)的讀取和仿真也采用相同結(jié)構(gòu)和方式
定制化測試報(bào)告
CANoe工程執(zhí)行完成后可以生成測試報(bào)告,默認(rèn)的測試報(bào)告格式是.vtestreport,需要CANoe report viewer工具打開,另外還有.xml格式的測試報(bào)告,屬于結(jié)構(gòu)化文本格式。不管是哪種方式,用戶很難快速的獲取到有效信息,CANoe代理可通過解析原始報(bào)告文件,并根據(jù)實(shí)際業(yè)務(wù)需求生成定制化的測試分析報(bào)告,實(shí)現(xiàn)了數(shù)據(jù)獲取和數(shù)據(jù)分析的一體化,用戶可以直觀看到測試結(jié)果和統(tǒng)計(jì)分析,節(jié)省了整理數(shù)據(jù)的成本,提高了用戶的工作效率。

更多功能,敬請(qǐng)期待
▲加載DBC、ARXML等數(shù)據(jù)庫,通過標(biāo)準(zhǔn)Web Service接口進(jìn)行CANoe工程中Frames、PDUs、Signals等數(shù)據(jù)的獲取,實(shí)現(xiàn)云端實(shí)時(shí)通訊。
▲DBC、ARXML、ODX等文件加密,保證數(shù)據(jù)安全的同時(shí)進(jìn)行測試功能釋放。
▲CANoe工程解析,進(jìn)行測試用例、系統(tǒng)變量等讀取,通過權(quán)限控制以及工程預(yù)處理,實(shí)現(xiàn)測試范圍界定。
▲CANoe刷寫和診斷擴(kuò)展,基于可視化操作界面實(shí)現(xiàn)刷寫、診斷任務(wù)管理、TSP云端認(rèn)證、集成等。
北匯信息通過CANoe集成解決方案,搭配測試管理平臺(tái),實(shí)現(xiàn)測試項(xiàng)目的集中管理,測試工作的高效執(zhí)行,本文希望能夠在這方面起到拋磚引玉的作用,和小伙伴們一起搭建符合自身發(fā)展的自動(dòng)化測試平臺(tái),后續(xù)我們將帶來基于此文配合Jenkins如何實(shí)現(xiàn)CI/CT。
-
CANoe
+關(guān)注
關(guān)注
4文章
85瀏覽量
9765
發(fā)布評(píng)論請(qǐng)先 登錄
TPS84620:高效集成電源解決方案的設(shè)計(jì)指南
TPS84610:高效集成電源解決方案的深度剖析
TPS84210:高效集成電源解決方案的深度剖析
TPS84410:集成電源解決方案的設(shè)計(jì)與應(yīng)用
TPS84320:集成電源解決方案的卓越之選
全面解析TPS84621:高效集成電源解決方案
CANoe性能問題的處理方法
TPS65149:高度集成的LCD偏置解決方案
深入解析TUSS4470:工業(yè)超聲應(yīng)用的集成解決方案
CANoe.Diva典型使用問題五則
軟通動(dòng)力攜手華為云推出iPaaS海外集成遷移聯(lián)合解決方案
華為發(fā)布韌性安全目標(biāo)網(wǎng)集成解決方案
CANoe中ADAS功能集介紹
CANoe仿真HTTP節(jié)點(diǎn)的實(shí)戰(zhàn)秘籍大公開
CANoe集成解決方案
評(píng)論