CANoe 第六期:使用 CAN IG 模块发送报文

第六期内容,主要讲解如何使用 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 节点

  1. 添加 CAN IG 节点:
    • 在 CANoe 的 Simulation Setup 面板中,右键点击仿真的 CAN 总线(双线)。
    • 选择 Insert CAN Interactive Generator (CAN IG)
    • 总线上会出现一个新的 CAN IG 节点图标
  2. 打开 CAN IG 配置面板:
    • 双击添加的 CAN IG 节点图标
    • 会打开 CAN IG 模块的配置窗口
  3. 添加要发送的报文:
    • 在 CAN IG 配置面板的空白区域右键 -> Add CAN Frame from Database (前提是已加载 DBC 文件)
    • 在弹出的窗口中,选择需要发送的报文(根据 ID 或名称,如 ID 196 的 EMS_BasicInfo 报文)
    • 点击 OKApply 添加

三、 配置报文发送参数 (基础 - 周期发送固定值)

  1. 基本信息: 添加报文后,会显示报文名称、ID、通道、帧类型 (Data)、DLC (一般为 8) 等
  2. 发送模式 (Trigger):
    • Manual: 手动模式,需要点击发送按钮或设置快捷键才发送
    • Periodic: 周期发送模式,最常用
      • 设置发送周期 Cycle Time [ms] (如 100ms)
    • On Signal/Frame/SysVar: 由其他事件触发发送(较少用)
  3. 配置信号值:
    • 选中要配置的报文行。
    • 在配置面板底部的信号列表中,找到要设置的信号(如 EMS_EngineSpeed
    • 直接在 Physical Value 列填入想要的物理值(如 2600),单位会自动根据 DBC 显示
    • CANoe 会自动根据 DBC 计算并填充 Raw Value (原始值) 和最终数据域 Raw Data
  4. 启动发送:
    • 工程启动: 首先要启动 CANoe 工程(顶部闪电按钮)。
    • IG 启动: 在 CAN IG 配置面板中,需要点击报文行最左侧的发送按钮 (▶️),该报文才开始按照设定的模式发送

四、 验证发送效果

  1. Trace 窗口: 可以看到 CAN IG 发送的报文(如 ID 196)按照设定的周期出现,展开报文可以看到信号值与配置一致(如 Engine Speed 为 2600 rpm)
  2. 被测设备响应 (示例中的仿真仪表):
    • 启动仿真仪表(相当于给设备上电)
    • 观察仪表显示,看是否与发送的信号值对应(如转速表指针指向 2.6k rpm 左右)
    • 这验证了通过 CAN IG 模拟发送报文驱动被测设备功能的目的

五、 配置报文发送参数 (进阶 - 动态值范围)

  1. 信号生成器类型 (Generator Type):
    • 默认是 None,发送固定的物理值
    • 可以选择其他类型,如 Sine (正弦波), Ramp/Pause (爬坡/暂停), Value Range (值范围) 等
  2. 配置值范围 (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 保存配置
  3. 启动值范围生成:
    • 在信号列表中,点击该信号生成器类型旁边的启动按钮 (▶️)
  4. 验证效果:
    • 观察 Trace 窗口,信号值不再固定,而是按照配置的范围和步长动态变化
    • 观察仿真仪表,转速表指针会随之规律地上下摆动
    • 好处: 可以方便地测试设备在不同信号值下的响应,减少手动修改值的重复劳动

六、 总结与后续

  • CAN IG 是 CANoe 中用于模拟发送 CAN 报文的重要模块,在台架测试中非常实用。
  • 可以配置发送固定值的信号,也可以配置信号值按特定规律(如值范围)动态变化。