CANoe作為專業(yè)的系統(tǒng)級(jí)總線網(wǎng)絡(luò)開發(fā)和測(cè)試工具被眾多整車廠和供應(yīng)商的系統(tǒng)設(shè)計(jì)師、開發(fā)工程師和測(cè)試工程師所廣泛使用,由于市場(chǎng)對(duì)CANoe使用需求的多元化和不確定性,CANoe對(duì)外提供了通用API來(lái)供應(yīng)用集成來(lái)解決在人機(jī)交互過程中的各種問題。比如:在不同環(huán)境下怎么運(yùn)行多個(gè)CANoe客戶端,在執(zhí)行長(zhǎng)時(shí)間的測(cè)試任務(wù)時(shí),怎么對(duì)測(cè)試過程實(shí)現(xiàn)監(jiān)聽和控制,以及在測(cè)試過程中怎么實(shí)時(shí)獲取測(cè)試數(shù)據(jù),測(cè)試任務(wù)完成之后怎么歸類測(cè)試數(shù)據(jù)、生成多元項(xiàng)目報(bào)告等。
北匯團(tuán)隊(duì)基于豐富的汽車電子測(cè)試項(xiàng)目經(jīng)驗(yàn),提取了工程師在CANoe使用過程中的各階段需求,并結(jié)合信息化技術(shù)手段,提供了一套CANoe集成解決方案,作為CANoe交互的代理引擎,用于監(jiān)控管理CANoe工程,采集、仿真CANoe報(bào)文數(shù)據(jù),同時(shí)完成測(cè)試數(shù)據(jù)、測(cè)試日志解析和報(bào)告定制等功能。
CANoe遠(yuǎn)程調(diào)用
在自動(dòng)化測(cè)試階段,存在需要在多個(gè)客戶端執(zhí)行CANoe工程的業(yè)務(wù)場(chǎng)景,那么如何快速的將工程部署執(zhí)行,以及工程有變更時(shí)如何在遠(yuǎn)程客戶端重新測(cè)試執(zhí)行是我們需要解決的問題,目前CANoe代理提供了工程執(zhí)行服務(wù),通過接收服務(wù)端的執(zhí)行請(qǐng)求,使得CANoe可以執(zhí)行指定工程。
服務(wù)端通過監(jiān)聽客戶端配置信息在服務(wù)端注冊(cè)代理:
用戶將配置好的工程文件打包,上傳到服務(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)聽
在測(cè)試過程中,工程師比較關(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頁(yè)面、移動(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ù)值及變化趨勢(shì)。
報(bào)文讀取和仿真
無(wú)論是開發(fā)還是測(cè)試過程中,很多時(shí)候用戶需要讀取總線上數(shù)據(jù),在總線上仿真一些數(shù)據(jù)來(lái)驗(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接口來(lái)完成。但工程師經(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)和方式
定制化測(cè)試報(bào)告
CANoe工程執(zhí)行完成后可以生成測(cè)試報(bào)告,默認(rèn)的測(cè)試報(bào)告格式是.vtestreport,需要CANoe report viewer工具打開,另外還有.xml格式的測(cè)試報(bào)告,屬于結(jié)構(gòu)化文本格式。不管是哪種方式,用戶很難快速的獲取到有效信息,CANoe代理可通過解析原始報(bào)告文件,并根據(jù)實(shí)際業(yè)務(wù)需求生成定制化的測(cè)試分析報(bào)告,實(shí)現(xiàn)了數(shù)據(jù)獲取和數(shù)據(jù)分析的一體化,用戶可以直觀看到測(cè)試結(jié)果和統(tǒng)計(jì)分析,節(jié)省了整理數(shù)據(jù)的成本,提高了用戶的工作效率。
更多功能,敬請(qǐng)期待
▲加載DBC、ARXML等數(shù)據(jù)庫(kù),通過標(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)行測(cè)試功能釋放。
▲CANoe工程解析,進(jìn)行測(cè)試用例、系統(tǒng)變量等讀取,通過權(quán)限控制以及工程預(yù)處理,實(shí)現(xiàn)測(cè)試范圍界定。
▲CANoe刷寫和診斷擴(kuò)展,基于可視化操作界面實(shí)現(xiàn)刷寫、診斷任務(wù)管理、TSP云端認(rèn)證、集成等。
北匯信息通過CANoe集成解決方案,搭配測(cè)試管理平臺(tái),實(shí)現(xiàn)測(cè)試項(xiàng)目的集中管理,測(cè)試工作的高效執(zhí)行,本文希望能夠在這方面起到拋磚引玉的作用,和小伙伴們一起搭建符合自身發(fā)展的自動(dòng)化測(cè)試平臺(tái),后續(xù)我們將帶來(lái)基于此文配合Jenkins如何實(shí)現(xiàn)CI/CT。
-
CANoe
+關(guān)注
關(guān)注
4文章
64瀏覽量
8537
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論