0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python与CANoe/CANoe4SW

北汇信息POLELINK 2023-11-16 08:25 次阅读

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提供了特殊的装饰器,可以方便地处理事件。

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

图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被测系统。

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

图3:使用CANoe/CANoe4SW测试Python开发的AI算法

使用Python在vTESTstudio中编写测试用例

Vector在工具方面对Python进行了大力支持,Python作为一种能被CANoe/CANoe4SW支持的编程语言,具有丰富的第三方库和优秀的生态环境,同时也在vTESTstudio中进行了集成。

其中,Python Editor是vTESTstudio中的一款集成式开发环境,具有现代开发环境的所有功能,包括代码完成和语法检查、可配置的语法高亮、语法敏感的缩进以及可扩展的功能块。此外,Python Editor还提供了自动生成的Python类,可以访问CANoe/CANoe4SW运行时交互变量的值,同时支持Python和CAPL的混合编程。这使得编写测试序列、测试用例和函数等任务变得更加简单和高效。

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

图4:在vTESTstudio中使用Python开发测试脚本

除了编写测试序列、测试用例和函数之外,Python Editor还支持编写事件过程。为了能够对CANoe/CANoe4SW中的事件做出反应,Python Editor提供了带有特殊装饰器的方法,这些方法将在测试期间发生事件时被调用(与CAPL中完全相同)。

为了支持Python中接口函数的重载,每个函数必须使用重载装饰器。这些方法的主体保持为空,必须在后面跟随一个非导出方法,该方法实现所有重载。该方法可以检查参数并相应地使用它们。

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

图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、加载配置文件、添加测试环境、开始测量,并同时启动所有测试单元。

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

图6:Python控制COM接口实现CANoe/CANoe4SW测试自动化

这项功能为开发人员提供了更多的自由度和灵活性。使用Python脚本,您可以轻松地完成许多任务,无需手动干预。这不仅可以提高测试的效率,还可以降低错误率,并帮助您更快地完成开发工作。通过COM接口的方式同样适用于CANoe4SW Server Edition的部署自动化,CANoe4SW Server Edition为敏捷开发CI/CT提供了软件集成测试的平台基础。

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

图7:CANoe4SW Server Edition部署支持Python控制实现

此外,Python编程语言易于学习和使用。即使没有深入的技术知识,也可以使用Python脚本来控制CANoe/CANoe4SW,而不需要太多的编程经验。因此,这项新功能不仅为专业开发人员提供了更多的可能性,也为新手提供了一个学习和实践的机会。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2711

    浏览量

    463296
  • 编程语言
    +关注

    关注

    10

    文章

    1937

    浏览量

    34583
  • python
    +关注

    关注

    55

    文章

    4778

    浏览量

    84427
收藏 人收藏

    评论

    相关推荐

    CANoe中的EtherCAT应用

    EtherCAT(Ethernet for Control Automation Technology)是一种基于以太网的现场总线技术,主要用于需要高速、实时通信的工业自动化领域,例如:机器人控制系统、数控机床、测试测量设备和汽车产线等。EtherCAT由Beckhoff Automation公司开发并成为IEC 61158标准,目前由EtherCAT技术协会(ETG)推广。ETG现在拥有数千家的公司成员,这些公司成员提供EtherCAT主节点实现、EtherCAT从节点以及开发工具。
    的头像 发表于 11-19 09:25 63次阅读

    轻松上手CANoe Scenario Editor—智能网联工程师入门篇

    (V2P)的通信。通过V2X,车辆能够实时获取周围信息,从而提升行驶安全性和交通效率,真正实现智能交通的愿景。而智能汽车的世界中,CANoe的Car2X功能就像是一位灵
    的头像 发表于 10-31 08:06 774次阅读
    轻松上手<b class='flag-5'>CANoe</b> Scenario Editor—智能网联工程师入门篇

    基于CANoe的VIO系统应用测试方案介绍#CANoe #VTHiL

    VIO
    北汇信息POLELINK
    发布于 :2024年09月11日 09:23:20

    虹科应用 当CANoe不是唯一选择:发现虹科PCAN-Explorer 6

    在CAN总线分析软件领域,当CANoe不再是唯一选择时,虹科PCAN-Explorer 6软件成为了一个有竞争力的解决方案。在现代工业控制和汽车领域,CAN总线分析软件的重要性不言而喻。随着技术
    的头像 发表于 08-16 13:08 392次阅读
    虹科应用 当<b class='flag-5'>CANoe</b>不是唯一选择:发现虹科PCAN-Explorer 6

    车辆动力学模型DYNA4CANoe集成操作演示#CANoe #车辆动力学仿真

    模型CANoe
    北汇信息POLELINK
    发布于 :2024年06月20日 18:35:52

    CANoe4SW SE 18新功能#嵌入式开发 #嵌入式软件测试技术

    嵌入式开发
    北汇信息POLELINK
    发布于 :2024年06月14日 12:11:22

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

    vTESTstudio解耦CANoe实现与第三方台架通过便捷的XILAPI集成,全面扩展VSC插件赋能基于编程方式开发自动化脚本;vVIRTUALtarget提供更好的
    的头像 发表于 06-13 08:25 1489次阅读
    vTESTstudio 9、vVIRTUALtarget 8和<b class='flag-5'>CANoe4SW</b> SE 18新功能

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

    Logging是CANoe软件中的数据记录模块,主要在台架测试中使用,支持CAN/CANFD、LIN、FlexRay以及车载以太网总线的数据记录。常用的数据记录仪还有GL数据记录仪,GL有自己单独
    的头像 发表于 05-23 08:25 1084次阅读
    <b class='flag-5'>CANoe</b>中Logging模块使用方法及妙招

    CANoe新版本18正式发布

    新版本持续为电动智能软件开发测试带来系列化的新功能,新版本CANoe产品体系包括具有GUI交互的桌面版本、可部署在服务器后云端的服务器版本、HIL台架专业版本:强化ADAS目标可视化分析与测试、新增
    的头像 发表于 05-09 08:25 3097次阅读
    <b class='flag-5'>CANoe</b>新版本18正式发布

    CANoe使用常见问题汇总

    若想要检查某个报文未使用位的值是否满足要求,可用ChkStart_PayloadGapsObservation函数。若想要检查某个节点中所有TX报文或者RX报文未使用位的值是否满足要求,可使用ChkStart_PayloadGapsObservationTx/ChkStart_PayloadGapsObservationRx函数。
    的头像 发表于 04-22 12:28 2926次阅读
    <b class='flag-5'>CANoe</b>使用常见问题汇总

    CANoe软件的使用操作说明

    本文档是CANoe软件的使用操作说明,方便刚接触CANoe的伙伴们快速上手使用这个软件。
    的头像 发表于 02-25 14:30 1.1w次阅读
    <b class='flag-5'>CANoe</b>软件的使用操作说明

    CYT2b7在LIN的中断回调函数中擦除读写work flash后是否会影响lin消息收发?

    目前,在LIN的中断回调函数中擦除读写work flash后,在canoe的测试中出现了lin消息无响应的问题。但重新初始化lin后又可以收发lin消息了
    发表于 02-01 08:31

    CanoE和TC3x7应用套件之间建立通信,如何实现通过串行通信从CanoE收到的数据帧?

    我想在 CanoE 和 TC3x7 应用套件之间建立通信。 我希望开发板打印它通过串行通信从 CanoE 收到的数据帧。 我该怎么做? 我是初学者,请帮忙。
    发表于 01-31 06:36

    CYT4BB7CEBQ0AESGS CAN丢帧问题如何解决?

    使用CYT4BB7CEBQ0AESGS 开发了八路网关,但是我们在使用只要超过三路can,即既能收也能发数据,can报文即丢帧,如果去除一路则不会丢帧,增加一路,则立即丢帧,请问
    发表于 01-19 07:56

    基于CANoe的高性能测试系统解决方案

    。与此同时,多总线通信的需求日益增长,通信数据量也逐步增多。这样的趋势导致测试系统对于测试工具性能的要求也随之提高。为了满足这些需求,除了配置高性能电脑外,CANoe
    的头像 发表于 11-30 08:24 745次阅读
    基于<b class='flag-5'>CANoe</b>的高性能测试系统解决方案