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
    +关注

    关注

    59

    文章

    3097

    浏览量

    473549
  • 编程语言
    +关注

    关注

    10

    文章

    1965

    浏览量

    39883
  • python
    +关注

    关注

    58

    文章

    4888

    浏览量

    90320
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    用S32K310进行Canoe自带LIN一致性测试时,遇到的两个问题求解

    Hi,NXP专家,在使用S32K310进行Canoe自带LIN一致性测试时,我们遇到如下两个问题需要协助,谢谢。 1.用例11.3 根据脚本和标准,这条用例,不应该置位LIN Reponse
    发表于 04-30 06:57

    使用vCDL在程序间调用函数

    在2026年,CANoe迎来了它的30周年。在这个重要节点,我们整理了一系列由一线专家团队沉淀的技术经验,希望帮助您在实际项目中更高效地发挥CANoe的能力。每一个主题,都对应一个CANoe的具体功能或典型工作流程,助您解决开发
    的头像 发表于 04-27 14:36 74次阅读
    使用vCDL在程序间调用函数

    CANoe Tips | 利用协议监控器轻松分析以太网

    在2026年,CANoe迎来了它的30周年。在这个重要节点,我们整理了一系列由一线专家团队沉淀的技术经验,希望帮助您在实际项目中更高效地发挥CANoe的能力。每一个主题,都对应一个CANoe的具体
    的头像 发表于 04-22 10:03 107次阅读
    <b class='flag-5'>CANoe</b> Tips | 利用协议监控器轻松分析以太网

    利用协议监控器轻松分析以太网

    在2026年,CANoe迎来了它的30周年。在这个重要节点,我们整理了一系列由一线专家团队沉淀的技术经验,希望帮助您在实际项目中更高效地发挥CANoe的能力。每一个主题,都对应一个CANoe的具体功能或典型工作流程,助您解决开发
    的头像 发表于 04-15 10:23 142次阅读
    利用协议监控器轻松分析以太网

    CANoe实战:诊断控制台如何发送Ethernet诊断报文#车载以太网 #汽车诊断 #CANoe

    CANoe
    北汇信息POLELINK
    发布于 :2026年03月20日 15:12:38

    CANoe性能问题的处理方法

    用户在使用CANoe配置时遇到性能问题(如系统响应慢或配置执行不顺),希望自行采取措施改善情况。性能问题因系统和配置的多样性而复杂,通常没有单一解决方案,可能源于系统资源不足、配置复杂度过高,或两者结合。
    的头像 发表于 03-02 14:03 238次阅读
    <b class='flag-5'>CANoe</b>性能问题的处理方法

    如何基于CANoe实现HTTP通信

    超文本传输协议(HTTP,Hypertext Transfer Protocol)是一种用于在客户端与服务器之间传输数据的应用层协议,起初主要服务于Web场景,如今被广泛引入汽车电子、工业4.0、医疗等领域。
    的头像 发表于 01-28 15:01 313次阅读
    如何基于<b class='flag-5'>CANoe</b>实现HTTP通信

    如何使用CANoe诊断控制台发送诊断命令

    在基于CANoe的测试中,我们常会遇到一些典型场景:例如需要快速读取ECU诊断信息,此时许多测试工程师往往会首选使用IG(InteractiveGeneratorBlock)模块直接模拟发送诊断请求
    的头像 发表于 12-17 10:03 6712次阅读
    如何使用<b class='flag-5'>CANoe</b>诊断控制台发送诊断命令

    vTesting平台在梅赛德斯奔驰的成功案例

    虚拟测试平台和自动化测试流程正变得越来越重要。本案例重点介绍CI/CD管道与CANoe Server Editions(CANoe服务器版本)的成功结合使用,使梅赛德斯-奔驰公司与其供应商合作开发和测试流程更加高效、更具可扩展性。
    的头像 发表于 12-08 10:29 864次阅读
    vTesting平台在梅赛德斯奔驰的成功案例

    CANoe.Diva典型使用问题五则

    一、Diva工程导入CANoe报错问题现象:解决方案:请使用管理员权限运行一下CANoe安装包之下的图中*.exe文件:(可能在Exec32中)(运行时CANoe关闭):二、CANoe
    的头像 发表于 11-27 09:51 2353次阅读
    <b class='flag-5'>CANoe</b>.Diva典型使用问题五则

    爆肝整理!CANoe选型不再纠结,3分钟快速上手!#CANoe

    CANoe
    北汇信息POLELINK
    发布于 :2025年07月30日 16:36:44

    CANoe中ADAS功能集介绍

    高级驾驶辅助系统(ADAS)在汽车中的应用日益增长,为了满足工程师对于ADAS的分析、仿真和测试等功能的需求,CANoe从15.0版本开始提供ADASFeatureSet(ADAS功能集,简称AFS
    的头像 发表于 07-10 14:55 1494次阅读
    <b class='flag-5'>CANoe</b>中ADAS功能集介绍

    CANoe产品体系19版本新特性及新增Option(上)

    新版本持续助力当前车辆E/E架构中ECU开发验证,同时赋能后续智能网联电动车型预研验证。新版本CANoe产品体系新增数据驱动的DDS、车辆互联服务和高效电机模型库,进一步支持CANXL
    的头像 发表于 06-11 10:03 3240次阅读
    <b class='flag-5'>CANoe</b>产品体系19版本新特性及新增Option(上)

    CANoe产品体系19版本新功能(下)

    NET 8.0现已支持测试脚本、应用模型和仿真节点的开发,支持C# 12,可使用async/await进行等待,本机编译实现快速加载,改进应用层对象的API实现处理复杂数据类型,并支持运行在Linux版本CANoe SE中。
    的头像 发表于 05-29 14:05 2706次阅读
    <b class='flag-5'>CANoe</b>产品体系19版本新功能(下)