Python作為功能強(qiáng)大的編程語(yǔ)言,在智能汽車研發(fā)和測(cè)試中應(yīng)用廣泛,如數(shù)據(jù)處理、測(cè)試自動(dòng)化、測(cè)試腳本開(kāi)發(fā),甚至直接將Python應(yīng)用運(yùn)行在車輛上。CANoe產(chǎn)品體系為汽車行業(yè)XiL測(cè)試提供豐富功能,滿足各類汽車電子軟件的開(kāi)發(fā)、測(cè)試、診斷和分析應(yīng)用。耦合Python的CANoe和vTESTstudio將為工作效率提升帶來(lái)更大便利!
CANoe產(chǎn)品體系全面支持Python交互
支持Python編寫(xiě)的代碼運(yùn)行在CANoe/CANoe4SW內(nèi)
在SOA/SDV應(yīng)用中主要是服務(wù)或軟件接口的讀寫(xiě)操作,CANoe/CANoe4SW完美支持SOA/SDV應(yīng)用的仿真和測(cè)試,直接在CANoe/CANoe4SW中開(kāi)發(fā)Python程序?qū)⑹呛馨舻捏w驗(yàn)。
對(duì)于不熟悉Python的用戶來(lái)說(shuō)也不必?fù)?dān)心,CANoe/CANoe4SW已經(jīng)為此安裝了Python解釋器,并擴(kuò)展其API,這使得在CANoe/CANoe4SW中使用Python變得十分簡(jiǎn)單。用戶只需選擇一個(gè)Python編輯器,例如Visual Studio Code或PyCharm,就可以輕松地編輯Python腳本。同時(shí),CANoe/CANoe4SW還為Python提供了特殊的裝飾器,可以方便地處理事件。
圖2:CANoe/CANoe4SW中運(yùn)行Python編寫(xiě)的程序
使用Python編寫(xiě)應(yīng)用程序模型也非常容易。用戶只需編寫(xiě)一個(gè)包含特殊裝飾器的類,然后在CANoe/CANoe4SW中指定這個(gè)類,就可以自動(dòng)注冊(cè)該類的事件處理程序。此外,Python還提供了一些生成的API,使用戶能夠輕松訪問(wèn)CANoe/CANoe4SW運(yùn)行時(shí)環(huán)境中的分布式對(duì)象。
值得一提的是,CANoe的Python支持還包括對(duì)大多數(shù)常見(jiàn)Python數(shù)據(jù)類型的支持,例如整數(shù)、浮點(diǎn)數(shù)、字符串、布爾值、數(shù)組、結(jié)構(gòu)體等。此外,Python API還提供了許多方便的功能,例如注冊(cè)事件處理程序、設(shè)置回調(diào)函數(shù)等。
使用CANoe/CANoe4SW測(cè)試Python開(kāi)發(fā)的軟件
隨著軟件定義汽車的概念被廣為熟知,車輛也逐漸轉(zhuǎn)變?yōu)橐粋€(gè)高度智能化的計(jì)算機(jī)系統(tǒng),被測(cè)系統(tǒng)中所用的語(yǔ)言也多種多樣,C/C++甚至Python都是常用的編程語(yǔ)言,如開(kāi)發(fā)早期使用Python開(kāi)發(fā)的AI原型算法。無(wú)論您的應(yīng)用程序是使用C、C++還是Python編寫(xiě)的,CANoe/CANoe4SW都可以幫助您測(cè)試它們,讓您可以專注于應(yīng)用程序的開(kāi)發(fā)而不必?fù)?dān)心測(cè)試問(wèn)題。
使用CANoe/CANoe4SW,可以將應(yīng)用程序的功能系統(tǒng)接口建模為分布式對(duì)象,并且可以通過(guò)信號(hào)發(fā)生器、自動(dòng)化測(cè)試或環(huán)境模型來(lái)激勵(lì)傳感器,同時(shí)可以在多個(gè)分析窗口中觀察測(cè)試應(yīng)用程序的響應(yīng)。此外,通過(guò)在Python被測(cè)系統(tǒng)中安裝SIL Adapter runtime,可以輕松地測(cè)試Python被測(cè)系統(tǒng)。
圖3:使用CANoe/CANoe4SW測(cè)試Python開(kāi)發(fā)的AI算法
使用Python在vTESTstudio中編寫(xiě)測(cè)試用例
Vector在工具方面對(duì)Python進(jìn)行了大力支持,Python作為一種能被CANoe/CANoe4SW支持的編程語(yǔ)言,具有豐富的第三方庫(kù)和優(yōu)秀的生態(tài)環(huán)境,同時(shí)也在vTESTstudio中進(jìn)行了集成。
其中,Python Editor是vTESTstudio中的一款集成式開(kāi)發(fā)環(huán)境,具有現(xiàn)代開(kāi)發(fā)環(huán)境的所有功能,包括代碼完成和語(yǔ)法檢查、可配置的語(yǔ)法高亮、語(yǔ)法敏感的縮進(jìn)以及可擴(kuò)展的功能塊。此外,Python Editor還提供了自動(dòng)生成的Python類,可以訪問(wèn)CANoe/CANoe4SW運(yùn)行時(shí)交互變量的值,同時(shí)支持Python和CAPL的混合編程。這使得編寫(xiě)測(cè)試序列、測(cè)試用例和函數(shù)等任務(wù)變得更加簡(jiǎn)單和高效。
圖4:在vTESTstudio中使用Python開(kāi)發(fā)測(cè)試腳本
除了編寫(xiě)測(cè)試序列、測(cè)試用例和函數(shù)之外,Python Editor還支持編寫(xiě)事件過(guò)程。為了能夠?qū)ANoe/CANoe4SW中的事件做出反應(yīng),Python Editor提供了帶有特殊裝飾器的方法,這些方法將在測(cè)試期間發(fā)生事件時(shí)被調(diào)用(與CAPL中完全相同)。
為了支持Python中接口函數(shù)的重載,每個(gè)函數(shù)必須使用重載裝飾器。這些方法的主體保持為空,必須在后面跟隨一個(gè)非導(dǎo)出方法,該方法實(shí)現(xiàn)所有重載。該方法可以檢查參數(shù)并相應(yīng)地使用它們。
圖5:在vTESTstudio中添加Python模塊
總的來(lái)說(shuō),Python Editor的引入使得vTESTstudio的使用更加方便和高效。對(duì)于正在從事汽車電子測(cè)試工作的工程師來(lái)說(shuō),支持Python的vTESTstudio將會(huì)是一個(gè)不可多得的得力助手。
利用Python控制CANoe/CANoe4SW的測(cè)試自動(dòng)化
CANoe對(duì)Python的支持使得在CANoe中編寫(xiě)應(yīng)用程序模型更加容易和靈活。CANoe不但在內(nèi)部支持通過(guò)Python進(jìn)行編程,而且也能通過(guò)Python從外部對(duì)CANoe進(jìn)行控制。在Windows系統(tǒng)中,COM接口被廣泛應(yīng)用于各種應(yīng)用程序和系統(tǒng)組件之間的通信。Python即可利用CANoe暴露出來(lái)的COM API通過(guò)使用Python腳本控制CANoe,通過(guò)CANoe COM接口,實(shí)現(xiàn)許多自動(dòng)化操作。
例如,您可以使用名為RunAllTest.py的Python腳本來(lái)控制CANoe的各種操作。通過(guò)CANoe COM接口,您可以啟動(dòng)CANoe、加載配置文件、添加測(cè)試環(huán)境、開(kāi)始測(cè)量,并同時(shí)啟動(dòng)所有測(cè)試單元。
圖6:Python控制COM接口實(shí)現(xiàn)CANoe/CANoe4SW測(cè)試自動(dòng)化
這項(xiàng)功能為開(kāi)發(fā)人員提供了更多的自由度和靈活性。使用Python腳本,您可以輕松地完成許多任務(wù),無(wú)需手動(dòng)干預(yù)。這不僅可以提高測(cè)試的效率,還可以降低錯(cuò)誤率,并幫助您更快地完成開(kāi)發(fā)工作。通過(guò)COM接口的方式同樣適用于CANoe4SW Server Edition的部署自動(dòng)化,CANoe4SW Server Edition為敏捷開(kāi)發(fā)CI/CT提供了軟件集成測(cè)試的平臺(tái)基礎(chǔ)。
圖7:CANoe4SW Server Edition部署支持Python控制實(shí)現(xiàn)
此外,Python編程語(yǔ)言易于學(xué)習(xí)和使用。即使沒(méi)有深入的技術(shù)知識(shí),也可以使用Python腳本來(lái)控制CANoe/CANoe4SW,而不需要太多的編程經(jīng)驗(yàn)。因此,這項(xiàng)新功能不僅為專業(yè)開(kāi)發(fā)人員提供了更多的可能性,也為新手提供了一個(gè)學(xué)習(xí)和實(shí)踐的機(jī)會(huì)。
-
CAN
+關(guān)注
關(guān)注
58文章
2975瀏覽量
470383 -
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1957瀏覽量
38347 -
python
+關(guān)注
關(guān)注
56文章
4848瀏覽量
88901
發(fā)布評(píng)論請(qǐng)先 登錄

CANoe中ADAS功能集介紹

【文章轉(zhuǎn)載】CANoe產(chǎn)品體系19版本新功能(下) - 基礎(chǔ)功能與XIL測(cè)試

CANoe產(chǎn)品體系19版本新特性及新增Option(上)

CANoe產(chǎn)品體系19版本新功能(下)


【測(cè)試工程師狂喜!】CAN XL協(xié)議底層拆解:這才是音視頻流的終極形態(tài)#CANXL #CANoe
CANoe仿真HTTP節(jié)點(diǎn)的實(shí)戰(zhàn)秘籍大公開(kāi)


CANoe對(duì)EtherCAT的支持

Vector推出一套基于Visual Studio Code的免費(fèi)插件

CANoe中的EtherCAT應(yīng)用
輕松上手CANoe Scenario Editor—智能網(wǎng)聯(lián)工程師入門篇




評(píng)論