文章目录
前言
在实际的工作中,我们可能并不一定能时时刻刻在现场进行分析。当我们无法在现场的时候,我们就需要保存log,等有时间和机会之后再分析。这里就涉及到log的保存与回放。
一、log 保存
方法一: 手动保存
手动保存log的步骤如下:
1 —— 点击Analysis 窗口
2 —— 选择Trace功能
3 —— 选中某一个message右键
4 —— 选择 Import/Export
5 —— 选择需要导出的类型(导出所有/导出选中)
在这之后就可以选择保存路径与文件名。
优势:1. 可以随时进行保存; 2. 保存的内容较为灵活; 3. 可以实现一对一的保存log
劣势:1. 保存需要手动确认; 2. 耗费时间较多
方法二: 自动保存一
通过运行工程与结束工程作为标志来记录了一个log。
2.1 配置好Logging插件
2.2 选择自动保存方式
选中logging 插件 -> 右键进入Cofiguration -> 选择需要的开始结束的方式(四种)。在实车测试场景中,我们一般会选择第三种(工程的运行与关闭作为一个log起始位与结束位)。
2.3 选择保存的名称、路径与格式
logging 后面的小插件 -> 右键进入Log file configuration -> 选择路径、命名方式、格式。
具体的命名方式可以通过Field codes 的选择逐次增加。格式的选择比较倾向于asc与blf这两种格式。对于测试人员来说,这两种格式的区分是blf文件所占空间较asc更小。
优势:1. 通过工程的运行与否就可实现log的保存; 2. 可以节省保存log的时间
劣势:1. 保存了部分不相关的log;2. 命名的格式僵化,后续对应log与场景会花费时间
方法三: 自动保存二
通过CAPL脚本里面的函数来实现log的自动化保存。
3.1 选择log保存的方式与条件
在方法二中的第二步中,我们将log的记录方式选择为Toggle Trigger方式。并且选择相对应的配置。图示中是使用到了一个系统变量来关联一个log的记录开关。如果判断条件发生了变化,还可以在这里增加相对应的条件。
3.2 使用CAPL函数来控制log记录的开关
开启思路:
将log名称通过
字符串函数
处理好(可查询超链接)
通过setLogFileName函数将log名称赋值给log文件名
通过满足另外一个第一步设定的条件完成开始的记录log的标志
关闭思路:
通过StopLogging 函数结束log的记录
二、log 回放
1. 更改运行模式
1.1 方法一:
在Home功能区中,可以看到图片所示的一个模式更改。log的回放要求CANoe工程运行在OFFLine模式下。
1.2 方法二:
Analysis -> Measurement Setup -> Offline/Online 双击这个插件就可以实现离线/在线模式之间的切换。
2 导入log文件
导入log文件的话,我通常会使用到方法二中的方法来更改模式。因为在Real的插件上方就是我们导入本地log文件的入口。双击之后,就可以进入到里面。具体的情况如下。
页面中存在着多个操作栏,这边对每一个操作栏的作用进行逐一解释。
1 —— 导入将要导入的离线log
2 —— 导入指定文件夹下面所有的log
3 —— 删除选中已经导入的log
4 —— 删除所有已经导入的log
5 —— 替换所有已经导入的lig
6 —— 配置离线模式的配置(使用过程中没有更改过)
7 —— 各列自适应窗口大小(使用过一次之后,一般不再使用)
在选中我们所需要导入的log的路径和文件名之后,我们再回到Home界面。之后再次点击运行工程的按钮,等到log回放完成之后,我们就可以开始进行分析。
Note:
-
回放log时需要保证与保存log时的数据库相同。(如果保存log的时间内,使用的DBC是A库,但是在回放的过程中工程使用的是B库,且A/B库之间是两个完全独立的数据库,那么在回放的时候,并没有任何的数据可以回放。)