前言
CANoe 的 Logging
创建logging Block
1.点击工具栏的Analysis-> Measurement Setup
2.在任意block上点击右键,然后选择 insert logging block,创建logging block ,名字默认是:blogging
3.或者通过下图的方式创建logging block ,名字默认是logging2
logging file 的命名规则
1.logging file的名字可以编程定义,如下图可以是系统时间也可以是电脑名
2.文件的后缀可以是下图所示 常用后缀 .asc ;.blf
Logging 的触发方式
1.在logging block上单击右键 ,然后点击configuration
方式一:直接Run
1.下图中,左边圆的图标是暂停,|| 是开始,当把工程run起来的时候,通过鼠标点击实现录制和停止
2. 也可以通过绑定按键触发,比如下图通过按键't’,可以开启录制
3.回放Trace,简单的方式就是把logging文件直接拖到Trace Window中就可以回放,另外一种方式是如下图,打到offline ,然后选择要回放的文件,直接Run.
方式二:user defined
用户自己定义,可以选择的方式有很多,通过信号,报文,变量都可以触发; 下面我通过变量值得改变触发logging,当选择的系统变量等于5开始录制,等于6停止录制
创将一个simulation node .can文件,定义一个定时器,当工程开始5000ms之后设置变量为5,也就是开始录制,时间到后再设置变量为6,停止录制
@sysvar::vin::EDR_type = 0; setTimer(start_logging, 5000); if(@sysvar::vin::EDR_type == 0) @sysvar::vin::EDR_type = 5; setTimer(start_logging, 5000); else if(@sysvar::vin::EDR_type == 5) @sysvar::vin::EDR_type = 6;
下图 trace中 5s的时间点,开始录制
下图 trace中 10s的时间点,停止录制
4.8s开始录制,10.2s停止录制,是因为设置了下图的 Pre-triger time 和 Post-triger time 等于200ms,也就是前后多录制200ms时间的数据
方式三:CAPL
在CAPL脚本中通过API控制logging的开始与停止,下面是一些常用的API.
setLogFileName()
设置logging文件的存放路径,不设置,会默认存放在logging block 设置的路径.
startLogging()
开始录制trace,可以指定logging block 和 preTriggerTime 时间
stopLogging()
停止录制可以指定logging block 和 postTriggerTime 时间
logging block 中设置如下
定义一个定时器,工程开始5s后开始录制,10后停止录制
setLogFileName('logging', 'C:\\Temp\\log1\\{UserName}_{LocalTime}.blf'); setTimer(start_logging, 5000); startLogging('logging', 1000); setTimer(start_logging, 5000); stopLogging('logging', 1000);
解锁如下图所示,5s开始录制,10s结束录制
triggerEx()
发送一个trigger信号到指定的logging block,第一次执行这个API是开始录制,第二次执行时暂停,第三次是录制是开始
setLogFileName('logging', 'C:\\Temp\\log1\\{UserName}_{LocalTime}.blf'); setTimer(start_logging, 5000); // startLogging('logging', 1000); setTimer(start_logging, 5000); // stopLogging('logging', 1000);
回放logging文件的结果和上面相同。
———————————————— 版权声明:本文为CSDN博主「蚂蚁小兵」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_34414530/article/details/14281314
|