第六期内容,主要讲解如何使用 CANoe 中的 CAN IG(Interactive Generator)模块来发送 CAN 报文,特别是用于台架测试中模拟其他 ECU 向被测设备发送信号
CANoe 教程第六期:使用 CAN IG 模块发送报文
一、 课程回顾与本期目标
- 回顾: 前面学习了 CANoe 基础操作、Trace/Data/Graphics 窗口、DBC 文件等。
- 本期目标: 学习使用 CANoe 的 CAN IG 节点(模块)来发送 CAN 报文。
- 核心应用场景 (车载测试工程师视角):
- 在台架测试环境中,使用 CAN IG 模拟缺失的 ECU(如 EMS、BCM、ESP 等)。
- 向被测设备(DUT, Device Under Test,如仪表、车机等)发送其所需的 CAN 报文和信号。
- 观察和验证被测设备在收到模拟报文后功能是否正常响应(如仪表指针、指示灯、屏幕显示是否正确)。
- 示例背景: 使用 CAN IG 模拟发送 EMS (ID 196, 100ms 周期) 和 BCM (ID 28B, 40ms 周期) 的报文,去驱动一个仿真的仪表(IP - Instrument Panel)显示转速等信息
。
二、 添加并配置 CAN IG 节点
- 添加 CAN IG 节点:
- 在 CANoe 的
Simulation Setup面板中,右键点击仿真的 CAN 总线(双线)。 - 选择
Insert CAN Interactive Generator (CAN IG)。 - 总线上会出现一个新的
CAN IG节点图标。
- 在 CANoe 的
- 打开 CAN IG 配置面板:
- 双击添加的
CAN IG节点图标。 - 会打开 CAN IG 模块的配置窗口
。
- 双击添加的
- 添加要发送的报文:
- 在 CAN IG 配置面板的空白区域右键 ->
Add CAN Frame from Database(前提是已加载 DBC 文件)。 - 在弹出的窗口中,选择需要发送的报文(根据 ID 或名称,如 ID 196 的
EMS_BasicInfo报文)。 - 点击
OK或Apply添加。
- 在 CAN IG 配置面板的空白区域右键 ->
三、 配置报文发送参数 (基础 - 周期发送固定值)
- 基本信息: 添加报文后,会显示报文名称、ID、通道、帧类型 (Data)、DLC (一般为 8) 等
。 - 发送模式 (Trigger):
- Manual: 手动模式,需要点击发送按钮或设置快捷键才发送
。 - Periodic: 周期发送模式,最常用
。 - 设置发送周期
Cycle Time [ms](如 100ms)。
- 设置发送周期
- On Signal/Frame/SysVar: 由其他事件触发发送(较少用)
。
- Manual: 手动模式,需要点击发送按钮或设置快捷键才发送
- 配置信号值:
- 选中要配置的报文行。
- 在配置面板底部的信号列表中,找到要设置的信号(如
EMS_EngineSpeed)。 - 直接在
Physical Value列填入想要的物理值(如 2600),单位会自动根据 DBC 显示。 - CANoe 会自动根据 DBC 计算并填充
Raw Value(原始值) 和最终数据域Raw Data。
- 启动发送:
- 工程启动: 首先要启动 CANoe 工程(顶部闪电按钮)。
- IG 启动: 在 CAN IG 配置面板中,需要点击报文行最左侧的发送按钮 (▶️),该报文才开始按照设定的模式发送
。
四、 验证发送效果
- Trace 窗口: 可以看到 CAN IG 发送的报文(如 ID 196)按照设定的周期出现,展开报文可以看到信号值与配置一致(如 Engine Speed 为 2600 rpm)
。 - 被测设备响应 (示例中的仿真仪表):
- 启动仿真仪表(相当于给设备上电)
。 - 观察仪表显示,看是否与发送的信号值对应(如转速表指针指向 2.6k rpm 左右)
。 - 这验证了通过 CAN IG 模拟发送报文驱动被测设备功能的目的
。
- 启动仿真仪表(相当于给设备上电)
五、 配置报文发送参数 (进阶 - 动态值范围)
- 信号生成器类型 (Generator Type):
- 默认是
None,发送固定的物理值。 - 可以选择其他类型,如
Sine(正弦波),Ramp/Pause(爬坡/暂停),Value Range(值范围) 等。
- 默认是
- 配置值范围 (Value Range):
- 在信号列表中,将信号的
Generator Type选为Value Range。 - 点击旁边出现的值范围配置按钮 (⚙️ 或类似图标)
。 - 设置参数:
Value 1(下限),Value 2(上限): 如 0 到 6000 (转)。 Step Size: 每步变化量 (如 100 转)。 Step Time [ms]: 每步变化的时间间隔 (如 2000 ms)。 Ramp Type: 变化方式,Rising(上升),Falling(下降),Alternate(交替升降)。
- 点击
OK保存配置。
- 在信号列表中,将信号的
- 启动值范围生成:
- 在信号列表中,点击该信号生成器类型旁边的启动按钮 (▶️)
。
- 在信号列表中,点击该信号生成器类型旁边的启动按钮 (▶️)
- 验证效果:
- 观察 Trace 窗口,信号值不再固定,而是按照配置的范围和步长动态变化
。 - 观察仿真仪表,转速表指针会随之规律地上下摆动
。 - 好处: 可以方便地测试设备在不同信号值下的响应,减少手动修改值的重复劳动
。
- 观察 Trace 窗口,信号值不再固定,而是按照配置的范围和步长动态变化
六、 总结与后续
- CAN IG 是 CANoe 中用于模拟发送 CAN 报文的重要模块,在台架测试中非常实用。
- 可以配置发送固定值的信号,也可以配置信号值按特定规律(如值范围)动态变化。