当前位置:   article > 正文

Canoe logging block_canalyer logging file not present

canalyer logging file not present

创建logging Block

  1. 点击工具栏的analyze -> Measurement Setup

图一

  1. 在任意block上点击右键,然后选择 insert logging block,创建logging block ,名字默认是:blogging

在这里插入图片描述
3.或者通过下图的方式创建logging block ,名字默认是logging2
在这里插入图片描述

在这里插入图片描述

配置 logging file

  1. logging file的名字可以编程定义,如下图可以是系统时间也可以是电脑名

在这里插入图片描述
2.文件的后缀可以是下图所示 常用后缀 .asc ;.blf
在这里插入图片描述

配置logging trigger model

  1. 在logging block上单击右键 ,然后点击configuration。

在这里插入图片描述

方式一:Entire measurement

  1. 这种触发方式,无差别的把trace全部录制下来,下面的图很形象的表示从start 一直录制到stop

  2. 还以选择手动操作,稀土的左边圆的图标是暂停,|| 是开始,当把工程run起来的时候,是可以通过鼠标点击的

  3. 下图二,最后红色圈起来的,表示可以通过按键触发,开始和暂停之间来回切换。
    在这里插入图片描述
    在这里插入图片描述

  4. 通过空格键active logging block ,然后 开始你的工程。

在这里插入图片描述

  1. 停止工程,将switch开关打到 offline
  2. 双击下图红色框内,调出logging文件选择对话框,选择刚才配置的路径下的logging文件

在这里插入图片描述

  1. 点击工具栏的Analysis ,选中Trace ,分析trace
  2. 刚才我在工程运行了10ms左右,按下了按键‘t’,20ms左右再次按下‘t’,这样10ms到20ms之间的数据我就没有录到,如下图所示
    在这里插入图片描述

方式二:user defined

用户自己定义,可以选择的方式有很多,通过信号,报文,变量都可以触发,下面我通过变量值得改变触发logging,当选择的系统变量等于5开始录制,等于6停止录制
在这里插入图片描述
创将一个simulation node .can文件,定义一个定时器,当工程开始5000ms之后设置变量为5,也就是开始录制,时间到后再设置变量为6,停止录制。

/*@!Encoding:1252*/
variables
{
	msTimer start_logging;
}
on start
{
  @sysvar::vin::EDR_type = 0;
  setTimer(start_logging, 5000);
}
on timer start_logging
{
  if(@sysvar::vin::EDR_type == 0)
  {
  // start trgier
    @sysvar::vin::EDR_type = 5;
    setTimer(start_logging, 5000);
  }
  else if(@sysvar::vin::EDR_type == 5)
  {    
       // stop trgier
        @sysvar::vin::EDR_type = 6;
  }  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

下图 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后停止录制

/*@!Encoding:1252*/
variables
{
    int i =0;
	msTimer start_logging;
}
on start
{  
//设置 logging文件的路径和文件名
  setLogFileName("logging", "C:\\Temp\\log1\\{UserName}_{LocalTime}.blf");
  setTimer(start_logging, 5000);
}
on timer start_logging
{
  if(i==0)
  {
      startLogging("logging", 1000);
      setTimer(start_logging, 5000);
  }
  else
  {
    stopLogging("logging", 1000);
  }
  i++;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

解锁如下图所示,5s开始录制,10s结束录制
在这里插入图片描述在这里插入图片描述

triggerEx()

发送一个trigger信号到指定的logging block,第一次执行这个API是开始录制,第二次执行时暂停,第三次是录制是开始。。。
在这里插入图片描述

variables
{
    int i =0;
	msTimer start_logging;
}
on start
{ 
  setLogFileName("logging", "C:\\Temp\\log1\\{UserName}_{LocalTime}.blf");
  setTimer(start_logging, 5000);
}
on timer start_logging
{
  if(i==0)
  {
//      startLogging("logging", 1000);
      triggerEx("logging");
      setTimer(start_logging, 5000);
  }
  else
   {
      triggerEx("logging");
//    stopLogging("logging", 1000);
  }
  i++;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

回放logging文件的结果和上面相同。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/816014
推荐阅读
相关标签
  

闽ICP备14008679号