Python与CANoe/CANoe4SW

描述

 

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

CAN

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

CAN

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

 

 

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

 

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

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

CAN

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

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

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

CAN

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

CAN

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

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

CAN

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

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

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分