如何实现报文分段录制的动态控制

       在汽车总线网络(如CAN/CANFD/LIN/Ethernet)的开发、测试和分析过程中,工程师经常需要对测试过程中的报文进行录制保存,方便定位分析排查问题。VBA监控分析模块中的Logger模块可以实现报文的自动录制,手动录制和通过脚本动态控制录制。本文主要介绍如何通过VBA脚本实现报文录制的动态控制,通过该功能可实现特定工况下报文的分段录制。

本文关键词:自动录制 ,手动录制,脚本动态控制录制

logger基本配置

        在VBA Monitors模块下选中Logger模块,右键选择New Logger,可以创建一个报文录制模块loggerLogger的基本配置包括:logger的启用/禁用,文件名称,文件命名格式,存储上限,自动录制和手动录制

  • logger的启用/禁用:选择True启用logger,可以正常录制报文;选择False禁用logger,报文录制不起作用
  • 文件名称:可以设置录制报文的名称格式,可以自定义名称+时间
  • 文件命名格式:可以设置报文的格式,常用的报文格式包括BLFASCPCAP
  • 存储上限可以设置单个报文录制的上限,运行过程中,超过上限后,会另生成一个数据文件。勾选自动录制或手动录制,可以控制logger报文录制形式

 

       录制的报文文件位于VBA Monitors模块下的Records模块,右键Records,选择Configure Path可以设置报文的存放位置;右键Records,选择Import可以将之前录制好的报文,导入Records模块下,导入后会生成一个新的文件夹。

 

       右键文件夹下的文件,可选择离线运行单记录,对数据文件进行分析,也可选择打开文件目录,查看数据文件所在位置。

自动录制

        勾选自动录制,启动VBA工程,在Recorders中会生成一个文件夹, VBA工程停止时,会生成一个数据文件。后续可以选中该文件,右键离线运行单记录,进行回放分析。

手动录制

        选择手动录制时可以设置启用快捷键(如k键),启动后报文的录制不会随工程运行开始,只有按下k键后才会开始录制报文。当再次按下k键时,则会停止录制报文。同样会在Recorders生成一个文件夹,文件夹下会生成一个数据文件。

 

脚本动态控制录制

        VBA提供了动态控制报文录制的接口函数startLoggingstopLogging,利用这两个接口函数可以动态的控制报文的开始录制和停止录制。这两个接口函数配合自动化测试模块(TestModules),可以实现开始录制报文,执行测试序列,停止录制报文,将对应测试序列的报文数据存储下来,方便后续分析查看。

  • 函数接口示意
  • startLogging("界面上logger的名字",file_name = '生成的录制文件名',loggerConfig = None)
  • stopLogging("界面上logger的名字", file_name = '生成的录制文件名',loggerConfig = None)

        DEMO示例一:用例开始执行时,给APA_ButtonPress值设置1,获取该信号的值,判断是否为1,如果是,则用例执行成功,否则失败,最后停止   录制报文。

        DEMO示例二:用例开始执行时,给APA_ButtonPress值设置0,获取该信号的值,判断是否为0,如果是,则用例执行成功,否则失败,最后停止录制报文。

 

        在testModule1执行界面执行测试用例,会在records模块下生成对应用例的报文数据。

 

结论

 自动录制、手动录制和通过脚本动态录制是VBA中报文录制常用的方法,各适用于不同的测试场景,用户可根据自己的需要选择使用不同的方法录制报文数据。

 

 

上一个
Logger打点标记之回放时快速定位关键信息
下一个
Graphic快速修改仿真值
最近修改: 2025-12-16Powered by