从零开始学习CANoe(一)—— 新建工程
从零开始学习CANoe(二)—— CANdb++ 创建 dbc文件
从零开始学习CANoe(三)—— 系统变量的创建和使用
从零开始学习CANoe(四)—— 设计panel
从零开始学习CANoe(五)—— CAPL 测试节点
从零开始学习CANoe(六)—— XML 测试节点
从零开始学习CANoe(七)—— .NET 测试节点
从零开始学习CANoe(八)—— IG 模块
从零开始学习CANoe(九)—— 断点调试(Debug)
从零开始学习CANoe(十)—— 信号发生器(Signal Generator)
从零开始学习CANoe(十一)—— Statistics Window
系列用的CANoe演示工程我放在了Git上,不定时根据博客更新。
CANoe-Demn
这个博客使用demo :CAN_FD
CANoe的Trace 功能,用过CANoe的应该都知道Trace吧,但是Trace有很多功能,有些小技巧,可能有些同学还不知道
2,为了说明 Measurement Setup的过滤(filter)功能,我再这里创建三个 trace.如下图:
3, 在第二步骤的基础上我们再建两个Trace,分别命名为CAN1,CAN2,然后分别添加一个Channel Filter.这样CAN1 就可以把CAN2过滤掉,同时CAN2也把CAN1过滤掉
4,下图Run 工程后,三个Trace window的表现,确实成功的过滤掉了,还有其它高级的过滤功能,这里就不展开说了。
如下图Trace的工具栏,下面会选择我认为有必要说的几个功能,简单讲解下;
如下图,在trace window 点击任意一个报文,左边会记录下,你点击时刻的一些详细信息。
可以选择Trace Window中 包括系统变量和环境变量等参数。这个功能在混合的总线结构中(CAN、flexray等)常用到。
这个过滤器比 predefined filter 更具体,可以过滤具体某一个报文和变量。比如下图中过滤了Console_1
,咋右侧window中就不会再出现Console_1
,
下图的这个按键是激活和关闭 anaysis filter的 ,比如当按下这个按键的时候, anaysis filter 就变灰了,右侧的console_1报文也又出现了。
就是每两个报文之间的时间差,也可以看作是报文的周期,如下图Console_1的报文周期就是5ms。
简单来说就是,展开和折叠 window,当按下这个按钮的时候,windows中每个报文只会占用一行,最新的报文会覆盖前面一帧报文。
必须是CANoe not Run状态 ,并且Trace Window 没有被折叠的情况下,可以通过右键 左侧的时间戳可以快速定位到想去的时间。这里配合测试报告,可以快速的定位到测试有问题的步骤
如下图,如果这一行的trace很重要,你可以 set as Reference
,然后你在分析了其它地方的Trace ,现在想回到标记的地方,直接 右键 选择 find Reference ,可以直接回到标注的地方。
如下图,如果这一行的trace很重要,你可以 New Marker
,然后你在分析了其它地方的Trace ,现在想回到标记的地方,直接 右键 选择go to marker
,可以直接回到标注的地方。
Trace 中的正则表达过滤很简单,值给了两个允许使用的符号:
现在我们分析 总线中 有两个报文是 Console_1 和 Console_2 ,现在我们只想分析Console 发出的报文,其它的报文会妨碍我们分析,怎么把他们过滤掉呢?如果还有 Console_3,4,5,6呢
如下图,我们根据 Name 列 选择 Custom 过滤,然后 选择 Names equals Console_?
,就可以成功过滤出所有的Console报文。
2, 现在如果我们只想data 中包含 2A 2A的数据的报文呢,可以根据下图方式过滤得到。
我认为CANoe 的精髓所在就是Trace ,所有的问题都可以在Trace体现,对Trace的分析能力可以体现出一个诊断工程师的水平。
此博客结束,感谢敢看,下篇更精彩。。。
- 要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
- 如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。当然执意选择白嫖也欢迎。