前言
COM Serve
连接方法
配置方法
调用方法
分析和应用
总结
见《移花接木,玩转CANoe的几种扩展接口应用(一)——便携式接口设备》
见《移花接木,玩转CANoe的几种扩展接口应用(二)——CAN干扰注入设备》
见《移花接木,玩转CANoe的几种扩展接口应用(三)——Scope示波器设备》
见《移花接木,玩转CANoe的几种扩展接口应用(四)——VT系统》
见《移花接木,玩转CANoe的几种扩展接口应用(五)——串口设备》
见《移花接木,玩转CANoe的几种扩展接口应用(六)——Matlab/Simulink模型》
见《移花接木,玩转CANoe的几种扩展接口应用(七)——LabVIEW程序》
COM Serve又称作COM Interface,是将CANoe应用于更高级别系统中的一个接口。这里CANoe充当一个Serve,外部程序充当Client,两者之间通过COM接口调用。 基于这种架构开发自动化测试系统,可以将CANoe与其他编程平台集成起来,发掘出CANoe的无限可能。Vector官方对CANoe COM Serve的介绍如下:
可以调用COM Serve常见的编程平台有:Script、VB、C#、C++、Python、LabVIEW等,本文选择当前比较主流的Python为例,重点介绍这种接口的使用用法。
Python在CANoe上的扩展应用方法,总体示意图如下所示。
CANoe和Python之间接口的具体用法可以在Vector的官方说明文档中看到,如下所示:
第一步,准备开发环境
笔者电脑上使用的几个开发环境是:CANoe 15.0、Python 3.9和PyCharm 2023,如下所示:
第二步,创建CANoe工程。
在DBC中创建一个Message和一个Signal,在CANoe中创建一个IG节点然后周期发送,如下所示
第三步,Python导入win32com标准库
在PyCharm中使用Python进行编程,导入win32com标准库,本例程中主要用到的是其中的win32com.client
import win32com.client
第四步,连接CANoe COM Serve
在PyCharm中继续写入如下两行Python代码,用于把CANoe COM Serve链接过来
CANoeProject = win32com.client.DispatchEx("CANoe.Application")
print('Open CANoe, Link CANoe COM Interface')
这里我们用一个最简单的例子:Python启动CANoe运行,并获取一个帧消息的Signal值。以此重点介绍Python与CANoe之间COM Interface的具体用法,其他更复杂的应用在其他专题中讲解。
第一步,启动CANoe运行,代码如下
CANoeProject.Measurement.Start()
time.sleep(2)
第二步,获取Signal,代码如下
result = CANoeProject.GetBus("CAN").Getsignal(1, "Message_1", "Signal_1")
print('Signal Val is: ', result)
第三步,停止CANoe运行,代码如下
CANoeProject.Measurement.Stop()
time.sleep(2)
第四步,关闭CANoe,代码如下
CANoeProject.Quit()
time.sleep(2)
第五步,验证检查
上述一系列配置和调用的代码在PyCharm运行后,得到的结果如下:
纯粹的测试本来是一个比较单一的细分领域,只要足够熟悉被测产品就行,产品开发用的什么编程语言就去钻研这一门语言即可。但是测试工具却是五花八门,测试工具的开发也需要掌握一门编程语言,再加上近年来各种编程语言百花齐放,各自都有着自己强大的优势。例如随着ChatGPT的迅速普及,使得Pyhon这种比较开放的文本类语言大显身手。如果能把Pyhon引入到CANoe的应用,也就意味这引入了ChatGPT,会让测试开发工作翻开一个新的篇章。
从这上述个角度看,测试开发也是一项跨度非常大的多领域交叉工作。COM Serve的应用可以引入Script、VB、C#、C++、Python、LabVIEW等这些编程语言在CANoe上的应用,极大地提高CANoe的开放性和灵活性,增强CANoe的使用功能。
测试项目的实际开发过程中,往往会考虑到技术路线、开发成本、供应链等多方面因素,所以在项目的软硬件层面或者各子项目组成中,用户可能需要使用多产品体系相组合的解决方案,这样就能在架构和选型阶段有更多的余地,使得方案更优,成本更低。本文介绍的就是将COM Serve作为CANoe的扩展接口,把Pyhon在自动编程方面的优势,集成到CANoe项目中。适用的场景不仅包含了移动的室外车辆环境、售前售后客户现场、灵活性太大、临时调试的台架等小型项目,也包含了场地内的车辆环境、试验调试的固定台架、长期连续运行大型项目,可以发挥其灵活的模块化组合优势和强大的资源选择优势。
以上就是本人在对CANoe扩展接口进行总结分析时,讲解的第八种扩展接口。主要讲解了COM Serve的应用功能、连接方法、配置方法、调用方法,最后分析了这种扩展接口应用的特点和适用场景。
后续还会更新另外几种CANoe扩展接口的应用方法,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成为笔者持续分享的动力。
版权声明:原创文章,转载和引用请注明出处和链接,侵权必究!