CANoe录制和回放CAN报文
1
录制报文
在Measurement Setupk面板点击Logging可以选择开启或者关闭录制CAN报文。
点击Logging文件夹图标,可以选择录制文件的格式和保存路径。
如果一条报文录制文件不够,点击Analysis下Logging可以新建录制报文文件。
录制的CAN报文实时保存在指定文件夹路径下。
最后,如果不需要录制CAN报文时,点击Logging按钮可以关闭录制功能。
2
离线回放
离线回放则是在没有实时网络连接(可以理解没有硬件设备时)的情况下,通过导入之前记录的日志文件来重放测量序列。这种模式适用于分析已经记录的CAN总线数据,例如在故障诊断或性能评估时。
点击Home选择Offline Mode。
或者在Measurement Setupk面板点击切换到Offine。
点击Logging文件夹图标。
选择添加录制的CAN报文文件。
使用回放,没有必要再录制报文,可以将录制功能关闭。
点击Start,可以看到回放的CAN报文数据。
3
在线回放
在线回放允许在实时仿真环境中重现CAN网络中的报文收发过程。这种模式适用于需要实时模拟网络行为的场景,例如在ECU开发过程中复现特定问题。在线回放提供了多种配置选项,包括根据帧起始时间启动回放、延时启动、手动逐个回放、按照自定义间隔时间回放、循环回放等,以精确控制回放过程。
在线回放可能会和DBC中定义的CAN ID冲突,导致总线错误,所以需要将DBC报文发送组件关闭,如下所示:
在Simulation Setup窗口下,创建一个Replay blocks。选中Replay blocks,鼠标右键,在其上下文中找到Insert Replay Block CAN,如下所示:
双击ReplayBlock 1,弹出Replay Configuration对话框,可以选择回放数据文件。
添加完成后,效果如下所示:
点击Start,可以看到回放的CAN报文数据。
3.1、在线回放设置
在线回放是最常用的调试方式,所以,Replay blocks里面的设置项我们来详细看看。
帧起始时间启动回放
Immediately:单击闪电按钮后,CAN LOG中第一帧为起点(既0秒),立即发出该第一帧,其它帧之间的间隔时间为间隔发送时间。
With the first event time:单击闪电按钮后,按照CAN LOG中第一帧时间延时发送,其它帧之间的间隔时间为间隔发送时间(及发送时间由Log文件中的原始时间定义)。
延时启动回放
After timeout of … ms:单击闪电按钮后,按照编辑框中输入时间,延时发送CAN Log中的第一帧。
手动逐个回放每一帧报文
Standard:将根据其time stamp回放。
Step:单击闪电按钮后,每单击一次Simulation Setup中的Replay block启动按钮(箭头指向的位置),按顺序发送CAN Log中的一帧。
自定义间隔时间回放每一帧报文
Animated with … ms:单击闪电按钮后,按照编辑框中输入时间,按CAN Log中的顺序回放。
循环回放文件
Repetitive output sending mode:若勾选该选项,在Standard/Step/ Animated with … ms模式下,CAN Log文件回放完一次后,从头开始,自动启动循环回放。
选择回放文件中的CAN Channel
Channel Mapping子页中的Source表示CAN Log文件中的CAN1,CAN2,CAN3…;Target表示映射的Trace窗口中的CAN Channel(CAN1,CAN2,CAN3…)。
有以下技巧:
CAN Log文件中的CAN1映射到Trace窗口中的CAN2进行回放,则Target中选择CAN2;
CAN Log文件中存在CAN1,CAN2,CAN3…多路报文,如果仅回放CAN1报文,则在Target中对应项中选择Ignore。
选择回放文件中标记为Tx/Rx的报文
在一个CAN Log文件中,并不是所有的报文都标记为Rx,有些可能标记为Tx。在CAN Options子页中,勾选Tx messages表示回放CAN Log文件中标记为Tx报文;勾选Rx messages表示回放CAN Log文件中标记为Rx报文。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。