0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python與CANoe/CANoe4SW

北匯信息POLELINK ? 2023-11-16 08:25 ? 次閱讀

Python作為功能強(qiáng)大的編程語言,在智能汽車研發(fā)和測試中應(yīng)用廣泛,如數(shù)據(jù)處理、測試自動化、測試腳本開發(fā),甚至直接將Python應(yīng)用運(yùn)行在車輛上。CANoe產(chǎn)品體系為汽車行業(yè)XiL測試提供豐富功能,滿足各類汽車電子軟件的開發(fā)、測試、診斷和分析應(yīng)用。耦合Python的CANoe和vTESTstudio將為工作效率提升帶來更大便利!

CANoe產(chǎn)品體系全面支持Python交互

支持Python編寫的代碼運(yùn)行在CANoe/CANoe4SW內(nèi)

在SOA/SDV應(yīng)用中主要是服務(wù)或軟件接口的讀寫操作,CANoe/CANoe4SW完美支持SOA/SDV應(yīng)用的仿真和測試,直接在CANoe/CANoe4SW中開發(fā)Python程序?qū)⑹呛馨舻捏w驗(yàn)。

對于不熟悉Python的用戶來說也不必?fù)?dān)心,CANoe/CANoe4SW已經(jīng)為此安裝了Python解釋器,并擴(kuò)展其API,這使得在CANoe/CANoe4SW中使用Python變得十分簡單。用戶只需選擇一個(gè)Python編輯器,例如Visual Studio Code或PyCharm,就可以輕松地編輯Python腳本。同時(shí),CANoe/CANoe4SW還為Python提供了特殊的裝飾器,可以方便地處理事件。

9af74bf6-8416-11ee-9788-92fbcf53809c.jpg

圖2:CANoe/CANoe4SW中運(yùn)行Python編寫的程序

使用Python編寫應(yīng)用程序模型也非常容易。用戶只需編寫一個(gè)包含特殊裝飾器的類,然后在CANoe/CANoe4SW中指定這個(gè)類,就可以自動注冊該類的事件處理程序。此外,Python還提供了一些生成的API,使用戶能夠輕松訪問CANoe/CANoe4SW運(yùn)行時(shí)環(huán)境中的分布式對象。

值得一提的是,CANoe的Python支持還包括對大多數(shù)常見Python數(shù)據(jù)類型的支持,例如整數(shù)、浮點(diǎn)數(shù)、字符串、布爾值、數(shù)組、結(jié)構(gòu)體等。此外,Python API還提供了許多方便的功能,例如注冊事件處理程序、設(shè)置回調(diào)函數(shù)等。

使用CANoe/CANoe4SW測試Python開發(fā)的軟件

隨著軟件定義汽車的概念被廣為熟知,車輛也逐漸轉(zhuǎn)變?yōu)橐粋€(gè)高度智能化的計(jì)算機(jī)系統(tǒng),被測系統(tǒng)中所用的語言也多種多樣,C/C++甚至Python都是常用的編程語言,如開發(fā)早期使用Python開發(fā)的AI原型算法。無論您的應(yīng)用程序是使用C、C++還是Python編寫的,CANoe/CANoe4SW都可以幫助您測試它們,讓您可以專注于應(yīng)用程序的開發(fā)而不必?fù)?dān)心測試問題。

使用CANoe/CANoe4SW,可以將應(yīng)用程序的功能系統(tǒng)接口建模為分布式對象,并且可以通過信號發(fā)生器、自動化測試或環(huán)境模型來激勵(lì)傳感器,同時(shí)可以在多個(gè)分析窗口中觀察測試應(yīng)用程序的響應(yīng)。此外,通過在Python被測系統(tǒng)中安裝SIL Adapter runtime,可以輕松地測試Python被測系統(tǒng)。

9b07ed44-8416-11ee-9788-92fbcf53809c.jpg

圖3:使用CANoe/CANoe4SW測試Python開發(fā)的AI算法

使用Python在vTESTstudio中編寫測試用例

Vector在工具方面對Python進(jìn)行了大力支持,Python作為一種能被CANoe/CANoe4SW支持的編程語言,具有豐富的第三方庫和優(yōu)秀的生態(tài)環(huán)境,同時(shí)也在vTESTstudio中進(jìn)行了集成。

其中,Python Editor是vTESTstudio中的一款集成式開發(fā)環(huán)境,具有現(xiàn)代開發(fā)環(huán)境的所有功能,包括代碼完成和語法檢查、可配置的語法高亮、語法敏感的縮進(jìn)以及可擴(kuò)展的功能塊。此外,Python Editor還提供了自動生成的Python類,可以訪問CANoe/CANoe4SW運(yùn)行時(shí)交互變量的值,同時(shí)支持Python和CAPL的混合編程。這使得編寫測試序列、測試用例和函數(shù)等任務(wù)變得更加簡單和高效。

9b18e77a-8416-11ee-9788-92fbcf53809c.jpg

圖4:在vTESTstudio中使用Python開發(fā)測試腳本

除了編寫測試序列、測試用例和函數(shù)之外,Python Editor還支持編寫事件過程。為了能夠?qū)ANoe/CANoe4SW中的事件做出反應(yīng),Python Editor提供了帶有特殊裝飾器的方法,這些方法將在測試期間發(fā)生事件時(shí)被調(diào)用(與CAPL中完全相同)。

為了支持Python中接口函數(shù)的重載,每個(gè)函數(shù)必須使用重載裝飾器。這些方法的主體保持為空,必須在后面跟隨一個(gè)非導(dǎo)出方法,該方法實(shí)現(xiàn)所有重載。該方法可以檢查參數(shù)并相應(yīng)地使用它們。

9b26eeba-8416-11ee-9788-92fbcf53809c.jpg

圖5:在vTESTstudio中添加Python模塊

總的來說,Python Editor的引入使得vTESTstudio的使用更加方便和高效。對于正在從事汽車電子測試工作的工程師來說,支持Python的vTESTstudio將會是一個(gè)不可多得的得力助手。

利用Python控制CANoe/CANoe4SW的測試自動化

CANoe對Python的支持使得在CANoe中編寫應(yīng)用程序模型更加容易和靈活。CANoe不但在內(nèi)部支持通過Python進(jìn)行編程,而且也能通過Python從外部對CANoe進(jìn)行控制。在Windows系統(tǒng)中,COM接口被廣泛應(yīng)用于各種應(yīng)用程序和系統(tǒng)組件之間的通信。Python即可利用CANoe暴露出來的COM API通過使用Python腳本控制CANoe,通過CANoe COM接口,實(shí)現(xiàn)許多自動化操作。

例如,您可以使用名為RunAllTest.py的Python腳本來控制CANoe的各種操作。通過CANoe COM接口,您可以啟動CANoe、加載配置文件、添加測試環(huán)境、開始測量,并同時(shí)啟動所有測試單元。

9b3987aa-8416-11ee-9788-92fbcf53809c.jpg

圖6:Python控制COM接口實(shí)現(xiàn)CANoe/CANoe4SW測試自動化

這項(xiàng)功能為開發(fā)人員提供了更多的自由度和靈活性。使用Python腳本,您可以輕松地完成許多任務(wù),無需手動干預(yù)。這不僅可以提高測試的效率,還可以降低錯(cuò)誤率,并幫助您更快地完成開發(fā)工作。通過COM接口的方式同樣適用于CANoe4SW Server Edition的部署自動化,CANoe4SW Server Edition為敏捷開發(fā)CI/CT提供了軟件集成測試的平臺基礎(chǔ)。

9b515b6e-8416-11ee-9788-92fbcf53809c.jpg

圖7:CANoe4SW Server Edition部署支持Python控制實(shí)現(xiàn)

此外,Python編程語言易于學(xué)習(xí)和使用。即使沒有深入的技術(shù)知識,也可以使用Python腳本來控制CANoe/CANoe4SW,而不需要太多的編程經(jīng)驗(yàn)。因此,這項(xiàng)新功能不僅為專業(yè)開發(fā)人員提供了更多的可能性,也為新手提供了一個(gè)學(xué)習(xí)和實(shí)踐的機(jī)會。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2754

    瀏覽量

    463729
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1945

    瀏覽量

    34746
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84694
收藏 人收藏

    評論

    相關(guān)推薦

    CANoe對EtherCAT的支持

    EtherCAT(EthernetforControlAutomationTechnology)是一種基于以太網(wǎng)的現(xiàn)場總線技術(shù),主要用于需要高速、實(shí)時(shí)通信的工業(yè)自動化領(lǐng)域,例如:機(jī)器人控制系統(tǒng)、數(shù)控機(jī)床、測試測量設(shè)備和汽車產(chǎn)線等。EtherCAT由BeckhoffAutomation公司開發(fā)并成為IEC61158標(biāo)準(zhǔn),目前由EtherCAT技術(shù)協(xié)會(ETG)
    的頭像 發(fā)表于 12-05 01:04 ?272次閱讀
    <b class='flag-5'>CANoe</b>對EtherCAT的支持

    CANoe中的EtherCAT應(yīng)用

    EtherCAT(Ethernet for Control Automation Technology)是一種基于以太網(wǎng)的現(xiàn)場總線技術(shù),主要用于需要高速、實(shí)時(shí)通信的工業(yè)自動化領(lǐng)域,例如:機(jī)器人控制系統(tǒng)、數(shù)控機(jī)床、測試測量設(shè)備和汽車產(chǎn)線等。EtherCAT由Beckhoff Automation公司開發(fā)并成為IEC 61158標(biāo)準(zhǔn),目前由EtherCAT技術(shù)協(xié)會(ETG)推廣。ETG現(xiàn)在擁有數(shù)千家的公司成員,這些公司成員提供EtherCAT主節(jié)點(diǎn)實(shí)現(xiàn)、EtherCAT從節(jié)點(diǎn)以及開發(fā)工具。
    的頭像 發(fā)表于 11-19 09:25 ?298次閱讀

    輕松上手CANoe Scenario Editor—智能網(wǎng)聯(lián)工程師入門篇

    (V2P)的通信。通過V2X,車輛能夠?qū)崟r(shí)獲取周圍信息,從而提升行駛安全性和交通效率,真正實(shí)現(xiàn)智能交通的愿景。而智能汽車的世界中,CANoe的Car2X功能就像是一位靈
    的頭像 發(fā)表于 10-31 08:06 ?851次閱讀
    輕松上手<b class='flag-5'>CANoe</b> Scenario Editor—智能網(wǎng)聯(lián)工程師入門篇

    基于CANoe的VIO系統(tǒng)應(yīng)用測試方案介紹#CANoe #VTHiL

    VIO
    北匯信息POLELINK
    發(fā)布于 :2024年09月11日 09:23:20

    虹科應(yīng)用 當(dāng)CANoe不是唯一選擇:發(fā)現(xiàn)虹科PCAN-Explorer 6

    在CAN總線分析軟件領(lǐng)域,當(dāng)CANoe不再是唯一選擇時(shí),虹科PCAN-Explorer 6軟件成為了一個(gè)有競爭力的解決方案。在現(xiàn)代工業(yè)控制和汽車領(lǐng)域,CAN總線分析軟件的重要性不言而喻。隨著技術(shù)
    的頭像 發(fā)表于 08-16 13:08 ?516次閱讀
    虹科應(yīng)用 當(dāng)<b class='flag-5'>CANoe</b>不是唯一選擇:發(fā)現(xiàn)虹科PCAN-Explorer 6

    車輛動力學(xué)模型DYNA4CANoe集成操作演示#CANoe #車輛動力學(xué)仿真

    模型CANoe
    北匯信息POLELINK
    發(fā)布于 :2024年06月20日 18:35:52

    CANoe4SW SE 18新功能#嵌入式開發(fā) #嵌入式軟件測試技術(shù)

    嵌入式開發(fā)
    北匯信息POLELINK
    發(fā)布于 :2024年06月14日 12:11:22

    vTESTstudio 9、vVIRTUALtarget 8和CANoe4SW SE 18新功能

    vTESTstudio解耦CANoe實(shí)現(xiàn)與第三方臺架通過便捷的XILAPI集成,全面擴(kuò)展VSC插件賦能基于編程方式開發(fā)自動化腳本;vVIRTUALtarget提供更好的
    的頭像 發(fā)表于 06-13 08:25 ?1709次閱讀
    vTESTstudio 9、vVIRTUALtarget 8和<b class='flag-5'>CANoe4SW</b> SE 18新功能

    CANoe中Logging模塊使用方法及妙招

    Logging是CANoe軟件中的數(shù)據(jù)記錄模塊,主要在臺架測試中使用,支持CAN/CANFD、LIN、FlexRay以及車載以太網(wǎng)總線的數(shù)據(jù)記錄。常用的數(shù)據(jù)記錄儀還有GL數(shù)據(jù)記錄儀,GL有自己單獨(dú)
    的頭像 發(fā)表于 05-23 08:25 ?1202次閱讀
    <b class='flag-5'>CANoe</b>中Logging模塊使用方法及妙招

    CANoe新版本18正式發(fā)布

    新版本持續(xù)為電動智能軟件開發(fā)測試帶來系列化的新功能,新版本CANoe產(chǎn)品體系包括具有GUI交互的桌面版本、可部署在服務(wù)器后云端的服務(wù)器版本、HIL臺架專業(yè)版本:強(qiáng)化ADAS目標(biāo)可視化分析與測試、新增
    的頭像 發(fā)表于 05-09 08:25 ?3659次閱讀
    <b class='flag-5'>CANoe</b>新版本18正式發(fā)布

    CANoe使用常見問題匯總

    若想要檢查某個(gè)報(bào)文未使用位的值是否滿足要求,可用ChkStart_PayloadGapsObservation函數(shù)。若想要檢查某個(gè)節(jié)點(diǎn)中所有TX報(bào)文或者RX報(bào)文未使用位的值是否滿足要求,可使用ChkStart_PayloadGapsObservationTx/ChkStart_PayloadGapsObservationRx函數(shù)。
    的頭像 發(fā)表于 04-22 12:28 ?3572次閱讀
    <b class='flag-5'>CANoe</b>使用常見問題匯總

    CANoe軟件的使用操作說明

    本文檔是CANoe軟件的使用操作說明,方便剛接觸CANoe的伙伴們快速上手使用這個(gè)軟件。
    的頭像 發(fā)表于 02-25 14:30 ?1.2w次閱讀
    <b class='flag-5'>CANoe</b>軟件的使用操作說明

    CYT2b7在LIN的中斷回調(diào)函數(shù)中擦除讀寫work flash后是否會影響lin消息收發(fā)?

    目前,在LIN的中斷回調(diào)函數(shù)中擦除讀寫work flash后,在canoe的測試中出現(xiàn)了lin消息無響應(yīng)的問題。但重新初始化lin后又可以收發(fā)lin消息了
    發(fā)表于 02-01 08:31

    CanoE和TC3x7應(yīng)用套件之間建立通信,如何實(shí)現(xiàn)通過串行通信從CanoE收到的數(shù)據(jù)幀?

    我想在 CanoE 和 TC3x7 應(yīng)用套件之間建立通信。 我希望開發(fā)板打印它通過串行通信從 CanoE 收到的數(shù)據(jù)幀。 我該怎么做? 我是初學(xué)者,請幫忙。
    發(fā)表于 01-31 06:36

    CYT4BB7CEBQ0AESGS CAN丟幀問題如何解決?

    使用CYT4BB7CEBQ0AESGS 開發(fā)了八路網(wǎng)關(guān),但是我們在使用只要超過三路can,即既能收也能發(fā)數(shù)據(jù),can報(bào)文即丟幀,如果去除一路則不會丟幀,增加一路,則立即丟幀,請問
    發(fā)表于 01-19 07:56