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

    关注

    56

    文章

    2467

    浏览量

    459246
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33108
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83467
收藏 人收藏

    评论

    相关推荐

    CANoe软件的使用操作说明

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

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

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

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

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

    基于以太网网络接口卡VN5600A的CSM数采设备与CANape、CANoe的配置方案

    客户在实际应用中需要使用CANoe或者CANape/vMeasure结合CSM的ECAT模块对数据进行采集,而且往往需要面对多路以太网的数据采集场景。针对以上特定需求,本文以VN5610A接口卡为例, 分别搭建CANoe和CANape同ECAT ADMM数采模块的测量工程
    的头像 发表于 10-16 10:42 972次阅读
    基于以太网网络接口卡VN5600A的CSM数采设备与CANape、<b class='flag-5'>CANoe</b>的配置方案

    基于CANoe控制OUTMM输出固定电压实现方案

    CANoe-CANIG配置中把physvalue设置为5,那么OUTMM通道1应该输出5V的电压。同样如果设置为6,则输出6V的电压。
    的头像 发表于 10-10 14:26 244次阅读
    基于<b class='flag-5'>CANoe</b>控制OUTMM输出固定电压实现方案

    CANoe控制OUTMM输出固定电压的方法

    实际应用中需要使用CANoe控制OUTMM输出固定电压,本文介绍具体实现的方法。
    的头像 发表于 10-09 09:55 422次阅读
    <b class='flag-5'>CANoe</b>控制OUTMM输出固定电压的方法

    CANoe中常用的同步方式,软件同步+硬件同步#CANoe

    软件CANoe
    北汇信息POLELINK
    发布于 :2023年08月23日 15:54:30

    详细讲述VN8900三种模式的配置与使用方法#CANoe

    模型CANoe
    北汇信息POLELINK
    发布于 :2023年08月03日 08:43:54

    CANOE工具使用教程

    CANOE可谓是常用的总线测试工具之一,不管是总线开发工程师还是测试工程师,甚至是驻场工程师,都对它很熟悉。 天正好闲来有空,趁此机会,来分享一波CANOE的基本使用操作。其整体的框图如下所示,详细
    的头像 发表于 07-18 10:33 2346次阅读
    <b class='flag-5'>CANOE</b>工具使用教程

    CANoe的扩展服务有哪些

    CANoe是一款广泛应用于车辆开发、仿真、测试和分析方面的专业工具,支持需求分析、系统实现、测试验证的整个过程。在测试领域,CANoe更是因其众多独特的特点和优势被大家广泛应用。 硬件对接 扩展服务
    的头像 发表于 07-13 16:20 318次阅读

    CANoe有哪些扩展服务

    CANoe是一款广泛应用于车辆开发、仿真、测试和分析方面的专业工具,支持需求分析、系统实现、测试验证的整个过程。在测试领域,CANoe更是因其众多独特的特点和优势被大家广泛应用。
    的头像 发表于 06-19 16:22 341次阅读
    <b class='flag-5'>CANoe</b>有哪些扩展服务

    CANOE入门使用教程【一】新建工程

    CANoe是德国Vetor公司推出的一款用于总线开发的设备,全称为CAN open environment。
    的头像 发表于 05-30 14:08 8991次阅读
    <b class='flag-5'>CANOE</b>入门使用教程【一】新建工程

    CANoe家族新版本主要新特性介绍

    紧凑型模块化I/O板卡,满足从开发评估板到完整PCB测试过程中需要的I/O,可与总线接口卡VN系列和HIL系统VT System同时集成在CANoe中使用。
    的头像 发表于 05-16 17:55 3232次阅读
    <b class='flag-5'>CANoe</b>家族新版本主要新特性介绍

    会充电的CANoe - 欧标充电控制器EVCC HIL测试系统

    作者|西红柿鸡蛋面小编|吃不饱CANoe是进行网络和ECU开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统开发过程。从CANoe12.0开始,CANoe新增了充电功能
    的头像 发表于 05-12 10:22 1179次阅读
    会充电的<b class='flag-5'>CANoe</b> - 欧标充电控制器EVCC HIL测试系统

    如何使用Vector CANoe与S32k148evb进行LIN一致性测试?

    大家好, 我正在使用 Vector CANoe 进行 LIN 一致性(合规性)测试,我正面临这个问题,那么它的原因应该是什么,解决方案是什么? 在测试用例 PT-CT88,89,90,93 中。 IUT 未响应诊断请求
    发表于 05-09 09:31