如何用 CANoe 对离线数据进行二次处理
来源: | 作者:pmo9ca4dc | 发布时间: 2017-09-28 | 1767 次浏览 | 分享到:

  我们在工作中经常会遇到对大容量离线数据(比如Datalogger采集的总线报文数据)的二次处理问题,比如采集的总线数据有Sig_a和Sig_b两个信号,用户想获得Sig_a*Sig_b的实时曲线。当然你可以把报文到转换成Excel格式(.csv)再进行二次处理,但这么做费时又费力,小编在这里介绍一种基于CANoe的Replay(回放模块)+ Network Node(仿真节点)的方法来快速实现数据二次处理功能。步骤如下:

 1. CANoe设置成Online Mode(在线模式,运行需要插入硬件License),选择仿真总线Simulated Bus(对于大量数据回放,可以设置为as fast as possible,3个小时的数据只需要30s左右就可以回放完毕,如果你想了解数据的真实运行时间,选择animated with factor, 估计在等待大数据回放的这段时间里,你都可以看好几集《中国有嘻哈》了,扯远了,嘿嘿);


 2. 在Simulation Setup下加入1个Replay Block(加载离线数据)和1个Network Node(监控节点,嵌入CAPL脚本对信号进行二次处理)

 3. 建立1个系统变量来存储二次处理数据


 4. 监控节点里的CAPL处理:建立相对应的信号更新事件捕获回放信号,同时把二次处理数据赋值给前面定义的系统变量,这里Power = TMSpd * TMTq(功率 = 扭矩*转速);


 5. 在Graphic中添加相关信号及系统变量,然后运行CANoe,可以看到二次处理的信号值曲线(Power),点击下图菜单界面所示小红框里的按钮(Fit All Signals)把运行时间内的
所有信号放在同一显示区域内。



 OK,问题解决,那么其他类似的二次数据处理也可以参考此方法解决(可以是更复杂的算法逻辑)。


总结一下使用CANoe进行二次数据处理的关键点:
  • CANoe设置为online的仿真模式,仿真模式设置为as fast as possible;
  • Replay + Network Node的结合使用;
  • 新建系统变量作为二次处理数据的载体;
  • CAPL中对信号的算法逻辑处理。

OK,今天涂老师对CANoe使用小技巧就分享到这里,更多关于Vector工具介绍和应用案例,请关注怿星科技公众号!
相关文章