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

    关注

    58

    文章

    3010

    浏览量

    471396
  • 编程语言
    +关注

    关注

    10

    文章

    1959

    浏览量

    38887
  • python
    +关注

    关注

    57

    文章

    4856

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CANoe.Diva典型使用问题五则

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

    CANoe与物联网协议 | 超带宽(UWB)篇

    UWB(Ultra-WideBand,超宽带)是一种无线通信技术,利用非常宽的频谱(通常超过500MHz)进行高精度测距和定位。该技术最初主要应用于军用雷达系统。随着频谱开放以及民用市场对高精度定位的需求增长,2019年之后UWB技术逐渐普及到消费电子、汽车、工业、智能家居、医疗等多个领域。在汽车行业主要用于以下场景:>数字钥匙(DigitalKey):车主
    的头像 发表于 11-26 10:07 791次阅读
    <b class='flag-5'>CANoe</b>与物联网协议 | 超带宽(UWB)篇

    CANoe与Simulink联合仿真编译失败

    问题描述:在使用VS作为编译器的情况下,Matlab编译后失败,如下图:解决方案:原因:安装VS时,Windows的SDK版本未安装或者安装选项没有选择正确。1.打开VS,可以看到VS中的错误提示:2.打开此项目的属性设置:3.选择正确的SDK版本4.选择修改5.重新安装SDK
    的头像 发表于 11-14 12:13 1629次阅读
    <b class='flag-5'>CANoe</b>与Simulink联合仿真编译失败

    SW5099规格书

    电子发烧友网站提供《SW5099规格书.pdf》资料免费下载
    发表于 08-15 15:38 13次下载

    爆肝整理!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 1036次阅读
    <b class='flag-5'>CANoe</b>中ADAS功能集介绍

    【文章转载】CANoe产品体系19版本新功能(下) - 基础功能与XIL测试

    新版本持续为智能电动网联汽车软件开发测试带来全新功能,IDE开发环境支持.NET8.0、Python、MATLAB2024b,VisualStudioCode集成测试开发和调试功能,支持
    的头像 发表于 06-25 10:03 1321次阅读
    【文章转载】<b class='flag-5'>CANoe</b>产品体系19版本新功能(下) - 基础功能与XIL测试

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

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

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

    新版本持续助力当前车辆E/E架构中ECU开发验证,同时赋能后续智能网联电动车型预研验证。
    的头像 发表于 05-29 14:03 2498次阅读
    <b class='flag-5'>CANoe</b>产品体系19版本新功能(上)

    CANoe仿真HTTP节点的实战秘籍大公开

    在汽车电子系统测试中,CANoe作为主流的仿真测试工具,常需与云端服务器、第三方软件或物联网设备进行交互。随着CANoe与外部软件、服务器或设备交互越来越多,直接使用Socket进行通信往往不能满足
    的头像 发表于 03-05 10:04 898次阅读
    <b class='flag-5'>CANoe</b>仿真HTTP节点的实战秘籍大公开

    CANoe系列培训视频,粉丝提问回答篇#CANoe

    CANoe
    北汇信息POLELINK
    发布于 :2025年03月03日 10:34:10

    芯聚威科技推出模拟前端芯片SW302X系列

    近日,芯聚威科技推出了全新的高精度多通道模拟前端芯片——SW302X系列,包括SW3024PH、SW3026PH和SW3028PH三款型号。该系列芯片集成了
    的头像 发表于 01-23 15:36 1225次阅读

    CANoe对EtherCAT的支持

    EtherCAT(EthernetforControlAutomationTechnology)是一种基于以太网的现场总线技术,主要用于需要高速、实时通信的工业自动化领域,例如:机器人控制系统、数控机床、测试测量设备和汽车产线等。EtherCAT由BeckhoffAutomation公司开发并成为IEC61158标准,目前由EtherCAT技术协会(ETG)
    的头像 发表于 12-05 01:04 1144次阅读
    <b class='flag-5'>CANoe</b>对EtherCAT的支持