CANoe作為專業(yè)的系統(tǒng)級總線網(wǎng)絡(luò)開發(fā)和測試工具被眾多整車廠和供應(yīng)商的系統(tǒng)設(shè)計師、開發(fā)工程師和測試工程師所廣泛使用,由于市場對CANoe使用需求的多元化和不確定性,CANoe對外提供了通用API來供應(yīng)用集成來解決在人機(jī)交互過程中的各種問題。比如:在不同環(huán)境下怎么運(yùn)行多個CANoe客戶端,在執(zhí)行長時間的測試任務(wù)時,怎么對測試過程實(shí)現(xiàn)監(jiān)聽和控制,以及在測試過程中怎么實(shí)時獲取測試數(shù)據(jù),測試任務(wù)完成之后怎么歸類測試數(shù)據(jù)、生成多元項目報告等。
北匯團(tuán)隊基于豐富的汽車電子測試項目經(jīng)驗(yàn),提取了工程師在CANoe使用過程中的各階段需求,并結(jié)合信息化技術(shù)手段,提供了一套CANoe集成解決方案,作為CANoe交互的代理引擎,用于監(jiān)控管理CANoe工程,采集、仿真CANoe報文數(shù)據(jù),同時完成測試數(shù)據(jù)、測試日志解析和報告定制等功能。
CANoe遠(yuǎn)程調(diào)用
在自動化測試階段,存在需要在多個客戶端執(zhí)行CANoe工程的業(yè)務(wù)場景,那么如何快速的將工程部署執(zhí)行,以及工程有變更時如何在遠(yuǎn)程客戶端重新測試執(zhí)行是我們需要解決的問題,目前CANoe代理提供了工程執(zhí)行服務(wù),通過接收服務(wù)端的執(zhí)行請求,使得CANoe可以執(zhí)行指定工程。
服務(wù)端通過監(jiān)聽客戶端配置信息在服務(wù)端注冊代理:
用戶將配置好的工程文件打包,上傳到服務(wù)器,在服務(wù)器端統(tǒng)一管理。
用戶可以將工程分配給客戶端,并且將工程下發(fā)給客戶端執(zhí)行??蛻舳嗽趫?zhí)行過程中,將執(zhí)行步驟信息實(shí)時上傳給服務(wù)端。用戶在服務(wù)端可以查看各個CANoe客戶端在執(zhí)行什么工程,執(zhí)行進(jìn)度如何,也可中斷CANoe客戶端執(zhí)行的工程下發(fā)新的工程給客戶端執(zhí)行。
CANoe實(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í)時推送到消息隊列,提供給服務(wù)端應(yīng)用消費(fèi),并將最終數(shù)據(jù)推送給Web頁面、移動端等。
為了更加友好與服務(wù)端交互,我們使用Json這種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫,同時也易于機(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"} |
每個客戶端定時上報自己的心跳數(shù)據(jù),就可實(shí)時監(jiān)控每個代理運(yùn)行情況和重要參數(shù)實(shí)時值,從而達(dá)到監(jiān)控的目的。
同時可以查看參數(shù)的歷史數(shù)值及變化趨勢。
報文讀取和仿真
無論是開發(fā)還是測試過程中,很多時候用戶需要讀取總線上數(shù)據(jù),在總線上仿真一些數(shù)據(jù)來驗(yàn)證、建?;蛘叻治鰡栴}。目前獲取CANoe報文的方式有兩種,一是通過查看Trace窗口,二是錄制報文后使用CANoe打開分析。第三方應(yīng)用很難直接獲取和處理報文數(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)一去控制仿真就可解決這一難題,同時代理提供了可供外部調(diào)用的仿真接口。
在做數(shù)據(jù)分析時,服務(wù)端需要一段時間的數(shù)據(jù),而CANoe總線上數(shù)據(jù)的節(jié)拍是毫秒級的,如果通過讀取方式,就存在丟幀的情況,這里我們引入了消息中間件。在報文產(chǎn)生時,觸發(fā)ON事件,實(shí)時將報文推送到消息中間件,這樣我們服務(wù)端可以通過消費(fèi)中間件通道的數(shù)據(jù),進(jìn)行分析展示。
以太網(wǎng)PDU數(shù)據(jù)的讀取和仿真也采用相同結(jié)構(gòu)和方式
定制化測試報告
CANoe工程執(zhí)行完成后可以生成測試報告,默認(rèn)的測試報告格式是.vtestreport,需要CANoe report viewer工具打開,另外還有.xml格式的測試報告,屬于結(jié)構(gòu)化文本格式。不管是哪種方式,用戶很難快速的獲取到有效信息,CANoe代理可通過解析原始報告文件,并根據(jù)實(shí)際業(yè)務(wù)需求生成定制化的測試分析報告,實(shí)現(xiàn)了數(shù)據(jù)獲取和數(shù)據(jù)分析的一體化,用戶可以直觀看到測試結(jié)果和統(tǒng)計分析,節(jié)省了整理數(shù)據(jù)的成本,提高了用戶的工作效率。
更多功能,敬請期待
▲加載DBC、ARXML等數(shù)據(jù)庫,通過標(biāo)準(zhǔn)Web Service接口進(jìn)行CANoe工程中Frames、PDUs、Signals等數(shù)據(jù)的獲取,實(shí)現(xiàn)云端實(shí)時通訊。
▲DBC、ARXML、ODX等文件加密,保證數(shù)據(jù)安全的同時進(jìn)行測試功能釋放。
▲CANoe工程解析,進(jìn)行測試用例、系統(tǒng)變量等讀取,通過權(quán)限控制以及工程預(yù)處理,實(shí)現(xiàn)測試范圍界定。
▲CANoe刷寫和診斷擴(kuò)展,基于可視化操作界面實(shí)現(xiàn)刷寫、診斷任務(wù)管理、TSP云端認(rèn)證、集成等。
北匯信息通過CANoe集成解決方案,搭配測試管理平臺,實(shí)現(xiàn)測試項目的集中管理,測試工作的高效執(zhí)行,本文希望能夠在這方面起到拋磚引玉的作用,和小伙伴們一起搭建符合自身發(fā)展的自動化測試平臺,后續(xù)我們將帶來基于此文配合Jenkins如何實(shí)現(xiàn)CI/CT。
-
CANoe
+關(guān)注
關(guān)注
4文章
64瀏覽量
8594
發(fā)布評論請先 登錄
相關(guān)推薦
評論