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