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提供了特殊的装饰器,可以方便地处理事件。
图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被测系统。
图3:使用canoe/canoe4sw测试python开发的ai算法
使用python在vteststudio中编写测试用例
vector在工具方面对python进行了大力支持,python作为一种能被canoe/canoe4sw支持的编程语言,具有丰富的第三方库和优秀的生态环境,同时也在vteststudio中进行了集成。
其中,python editor是vteststudio中的一款集成式开发环境,具有现代开发环境的所有功能,包括代码完成和语法检查、可配置的语法高亮、语法敏感的缩进以及可扩展的功能块。此外,python editor还提供了自动生成的python类,可以访问canoe/canoe4sw运行时交互变量的值,同时支持python和capl的混合编程。这使得编写测试序列、测试用例和函数等任务变得更加简单和高效。
图4:在vteststudio中使用python开发测试脚本
除了编写测试序列、测试用例和函数之外,python editor还支持编写事件过程。为了能够对canoe/canoe4sw中的事件做出反应,python editor提供了带有特殊装饰器的方法,这些方法将在测试期间发生事件时被调用(与capl中完全相同)。
为了支持python中接口函数的重载,每个函数必须使用重载装饰器。这些方法的主体保持为空,必须在后面跟随一个非导出方法,该方法实现所有重载。该方法可以检查参数并相应地使用它们。
图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、加载配置文件、添加测试环境、开始测量,并同时启动所有测试单元。
图6:python控制com接口实现canoe/canoe4sw测试自动化
这项功能为开发人员提供了更多的自由度和灵活性。使用python脚本,您可以轻松地完成许多任务,无需手动干预。这不仅可以提高测试的效率,还可以降低错误率,并帮助您更快地完成开发工作。通过com接口的方式同样适用于canoe4sw server edition的部署自动化,canoe4sw server edition为敏捷开发ci/ct提供了软件集成测试的平台基础。
图7:canoe4sw server edition部署支持python控制实现
此外,python编程语言易于学习和使用。即使没有深入的技术知识,也可以使用python脚本来控制canoe/canoe4sw,而不需要太多的编程经验。因此,这项新功能不仅为专业开发人员提供了更多的可能性,也为新手提供了一个学习和实践的机会。

关于100G QSFP28SR4光模块的简单介绍
日本研发多功能农业机器人,预计于 2019 年提供月租服务
关于开关电源EMC,这几个基本概念你必须掌握
什么叫做电动机的过载保护?
功率放大器在无线电能传输系统的应用
Python与CANoe/CANoe4SW
工信部:加快存储器产业发展是补齐产业发展短板的必然要求
多协议微型天线设计案例分析
组合导航系统在四旋翼无人机上的实现
变得成熟稳重:雷蛇发布升级版Blade Stealth
天能集团在锂电池领域的最新业务进展
一加5、荣耀9对比评测:配置、性能、续航、拍照、外观、价格对比分析,这次无需选择困难
汽车芯片短缺的原因是什么
SOLIDWORKS仿真计算是什么意思?
回顾梁家恩在第十届国际博士生论坛上的演讲:机遇与挑战并存
PCI-E接口的固态硬盘和SATA接口的区别是什么
在加入比特币潮流之前这几件事必须要知道
AI热并未给服务器市场带来预想中的振兴
7名亿嘉和智能“巡检卫士”在南方电网首座智能化运维的嵌入式附建变电站
OneNET多协议接入之HTTP协议的使用步骤