BUSMASTER E2E:接收核对、日志与排障
遇到问题时,先分清报文没有发送、已经发送但对端没收到,还是对端收到后不接受 E2E 参数。这三种现象需要不同证据。
1. 发送结果应该在哪里确认?
Section titled “1. 发送结果应该在哪里确认?”| 观察位置 | 能确认什么 |
|---|---|
| 发送列表、数据字节和信号详情 | 编辑发送定义与业务模板。 |
| 报文窗口的 Tx 记录 | 本机发送方向的观察。 |
| 独立接线接口或设备的 Rx | 对端实际看到的 ID、类型、长度、数据和顺序。 |
| E2E 诊断日志 | 算法、配置、保护、提交结果及状态摘要,帮助定位第一处失败。 |
| ECU 的 E2E Check 结果 | 查看 ECU 按项目通信定义是否接受该帧。 |
报文窗口若使用覆盖模式,同 ID 的新报文可能更新同一行。核对四帧顺序时使用适合的追加显示或 CAN 日志,不要把屏幕行数直接当作累计收帧数。
2. 找到 E2E 诊断日志
Section titled “2. 找到 E2E 诊断日志”按实际运行的 BUSMASTER Build 选择日志路径。本系列的 3.2.2.51(Build 571)演示使用旧日志布局。支持统一日志的 Build 可在 BusMustSupport.log 中查找 source=E2E;文件位置和需要收集的归档见支持日志收集与问题反馈。
复现后先复制已有日志;正常退出后可再补采结束摘要。支持诊断帮助定位算法、配置、保护、提交和状态变化。逐帧核对时,同时保存对应时段的 CAN 记录和接收端载荷。
3. 哪些字段值得先看?
Section titled “3. 哪些字段值得先看?”| 字段或内容 | 如何使用 |
|---|---|
| process_id、session_id、operation_id | 区分本次进程、会话和连续操作,不把多个会话的记录拼成一次发送。 |
| item、channel、message_id | 对照当前出问题的发送行、逻辑通道和 CAN ID。 |
| stage、result、code | 查看先在哪个阶段失败,例如库解析、保护或提交。 |
| accepted/rejected/outcome_unknown | 区分接受、拒绝与结果不明确,不能把“保护计算成功”当成“对端已收到”。 |
| first_counter、last_counter、next_counter | 对照复位、继续发送、重连及接收端观察到的序列。 |
| logger_queue_drops | 大于 0 时说明日志可能不完整,应连同原文件提供,而非据此推算精确发帧数。 |
摘要用于说明状态,不保证每条物理报文都对应一行诊断日志。需要逐帧核对时,以实际接收和 CAN 记录为准。
4. 按现象排查
Section titled “4. 按现象排查”| 现象 | 先检查 | 后续处理 |
|---|---|---|
| 找不到 E2E 或“动态报文” | 软件版本、当前是否为 CAN 发送窗口 | 使用包含该功能的适用版本;E2E 管理按钮在数据库旁。 |
| 选了算法却看不到参数 | 是否选中正确发送行;当前页签是否为 E2E | 默认宽度下切换页签;加宽后可以与信号详情并排。 |
| E2E 参数和“复位”变灰 | CAN 已连接,且该行勾选了周期 | 取消该行周期勾选,或断开 CAN 后再编辑、复位。 |
| 数据字节里 CRC/计数器没有变化 | 当前看的是业务模板还是实际报文 | 在真正的 Tx/Rx 或 CAN 日志中核对保护输出。 |
| 软件提示长度、位置或输入非法 | 当前生效值、profile、实际帧长、头部偏移、位宽、重叠 | 完成后的非法编辑会恢复原合法配置;检查回退结果。仍不能满足项目要求时修正完整参数,不通过不处理绕过保护。 |
| 按 Esc 后发送按钮不可用 | CAN 是否已断开 | 主窗口中 Esc 是 CAN 断开快捷键;重新核对连接状态。它不是所有位置通用的编辑取消键。 |
| DataID 相同但 CRC 不同 | 模式、Counter、业务数据、长度和字段布局 | 使用完整参数和完整载荷对照;DataID 不是唯一输入。 |
| P02 第一帧计数为 1 | 是否保留该 profile 的默认首帧计数 | 默认首帧为 1;项目要求为 0 时明确设置并重新核对参考值。 |
| 修改算法管理后原报文未变化 | 是否期待候选项自动回写 | 每行是独立副本;在目标行明确重新选择并核对参数。 |
| 删除候选后报文仍能使用 | 是否只移除了候选,没有移走 DLL 文件 | 这是软关联行为;若需关闭该行保护,在该行选择其他处理方式。 |
| 找不到 DLL 或加载失败 | 库路径、文件及其依赖 | 按第 04 篇的 DLL 要求检查后重新加载,查看日志中的失败阶段。 |
| 已连接但没有 Rx | 物理口映射、波特率、接线、终端、过滤器和对端状态 | 先完成普通 CAN 收发,再核对 E2E。 |
| 周期帧数比预期多 | 是否同时启用了多行周期,或额外点了手动发送 | 停止本次任务,按逐行计划与接收日志核对。 |
| 重开工程后计数从头开始 | 是否把配置保存当作运行状态保存 | CFX 不保存运行 Context/计数;按首帧计数重建属于预期行为。 |
5. 联系技术支持时提供哪些资料?
Section titled “5. 联系技术支持时提供哪些资料?”请把同一次问题的材料放在一起:
- 软件完整版本/Build、分析仪型号和相关通道设置。
- 出问题的 CFX,使用的 DBC;如为外部算法,附相应 DLL 版本及必要参数说明。
- 一条具体报文的 ID、帧类型、长度、算法、DataID/列表、首帧计数和字段位置。
- 简短复现步骤、发生时间、预期结果与实际结果。
- 当前 Build 对应的 E2E 诊断日志和存在的归档,以及同一时段的 CAN 记录或完整接收载荷。
- 能定位发送行、参数和就地提示的截图。
完成本系列后,应能独立确认:选对了算法;参数与对端一致;实际接收载荷按预期变化;工程与依赖文件可恢复;发生问题时能够找到对应诊断日志。
如需安装或升级 BUSMASTER,请前往下载中心获取当前正式版本与历史版本。