VSAR UDS 诊断界面「服务单发」读取 DTC 使用说明

📅 2026/6/23 4:23:31
VSAR UDS 诊断界面「服务单发」读取 DTC 使用说明
1. 概述本文档说明如何在 VSAR 软件的 UDSUnified Diagnostic Services统一诊断服务诊断界面中通过「服务单发」功能手动发送 0x19ReadDTCInformation读取 DTC 信息服务从 ECU 读取故障码DTCDiagnostic Trouble Code诊断故障码。VSAR 提供两种读取 DTC 的方式服务单发手动编辑并发送 UDS 报文适合调试、验证通信或尝试特定子功能需自行在报文接收窗查看并解读响应。读/清故障码专用读码界面一键读取并以表格形式展示故障码名称、状态与描述适合日常读码。本文以「服务单发」为主线第 6 章说明与「读/清故障码」的差异及选用建议。2. 前置条件与环境准备进行服务单发读 DTC 之前须按以下顺序完成环境与 ECU 准备。顺序不可颠倒先完成工程与硬件通道再进入诊断界面配置 ECU。步骤 1加载新建项目在 VSAR 中打开已有诊断工程或新建项目并保存。步骤 2设备连接与测量 ① 准备好待测 ECU 及线束连接 ② 连接诊断硬件——可使用 USBCANFD-422A也可使用 VCI 设备 ③ 打开「通道映射」窗口将物理设备映射到软件通道如 CAN 通道 1并确认后续诊断使用的通道与设备状态正常 ④ 启动测量确保总线通信可用。步骤 3打开诊断窗口主菜单选择「诊断 → UDS诊断」进入 UDS 诊断工作台。步骤 4选择新建目标 ECU在诊断窗口左侧「ECU」页签的车辆信息树中操作——若已有目标 ECU直接选中即可若需新建须通过右键菜单依次操作先在「车辆信息」节点上右键选择「添加车辆」新建 CAR再在该 CAR 节点上右键选择「添加ECU」新建 ECU 节点。软件也支持从 ODXPDX文件直接导入 ECU可在上述右键菜单中选择「从 ODX 导入 ECU」见图 2-0-1、图 2-0-2。步骤 5完成 ECU 设置在「配置」页签 →「通信配置」中核对并填写与实车/台架一致的通信参数重点关注项见下表及示意图。新建 ECU 第一步——在「车辆信息」节点右键图 2-0-1 「车辆信息」右键添加车辆 / 从 ODX 导入 ECU新建 ECU 第二步——在 CAR 节点如 Car0右键图 2-0-2 CAR 节点右键添加 ECU / 从 ODX 导入 ECU2.1 ECU 通信配置关注项以下参数决定诊断报文能否正确收发是使用服务单发读 DTC 的前提。图中红框标注为必须核对的关键项以 ECU「LAM」为例实际值以您的 ECU 规范为准配置项示例值说明通道通道: 1, USBCANFD-422A当前 ECU 使用的 CAN/以太网通道须与「通道映射」中已启用的通道一致。物理地址 (ISO 15765-2)0x723请求 ECU 的目标地址N_TA单点寻址时作为请求帧 CAN ID。功能地址 (ISO 15765-2)0x7DF广播请求 CAN ID功能寻址时多个 ECU 可同时响应。响应地址 (ISO 15765-2)0x72B诊断仪源地址N_SAECU 将响应报文发往此 CAN ID。ECU 通信配置界面示意图 2-1 UDS 诊断 → 配置 → 通信配置红框为关注项说明左侧 ECU 树节点会同步显示当前寻址摘要如 LAM SA:0x72B Phy:0x723 Fun:0x7DF可与上表交叉核对。其余参数总线类型、数据帧类型、超时参数等按 ECU 规范填写。2.2 DTC 配置与快照可选但建议若需将读回的 DTC 编号与名称、描述对照或后续读取故障快照可在「配置 → DTC配置」中维护 DTC 列表及快照关联的 DID。示例如下ECU「LAM」DTC 列表维护 SAE 显示码如 U190287、十六进制编号如 d90287及中文描述。设置快照为 DTC 关联快照 DID如 f011 电压、f012 里程、f013 车速等便于后续用 19 04 读快照时解析数据。图 2-2 UDS 诊断 → 配置 → DTC配置DTC 列表与快照 DID2.3 读 DTC 前的其他说明确认 ECU 服务配置中包含 0x19读取 DTC 信息服务可在「配置 → 服务配置」中查看。部分 ECU 读 DTC 前需先进入扩展诊断会话10 03或完成安全访问27可在服务单发中手动发送或使用组合服务「($27)-安全访问」。3. UDS 读 DTC 原理3.1 0x19 服务与子功能0x19 是 ISO 14229 标准定义的 ReadDTCInformation 服务用于向 ECU 查询故障码相关信息。请求服务号为 0x19ECU 正常应答时服务号为 0x59即在请求服务号基础上加 0x40。子功能请求示例说明0x0119 01 [状态掩码]按状态掩码报告 DTC 数量0x0219 02 [状态掩码]按状态掩码报告 DTC 列表最常用0x0A19 0A报告 ECU 支持的全部 DTC0x0419 04 [DTC 3字节][快照组]读取指定 DTC 的快照数据3.2 0x19 0x02 响应数据格式使用最常见的子功能 0x02 读当前故障码时ECU 正响应数据格式如下前 3 字节为响应头59 02 1 字节「DTC 状态可用性掩码」。之后每条故障码占 4 字节前 3 字节为 DTC 编号大端第 4 字节为状态字节。DTC 三字节可按 SAE J2012 规则转换为显示码如 P0420、C1234、B0012 等。状态字节常用含义bit2 表示当前故障bit3 表示已确认故障具体以 ECU 规范为准。示例正响应含 1 条 DTC P0420状态 0x0859 02 FF 00 04 20 08解读FF 为可用性掩码00 04 20 对应 P042008 为状态字节。3.3 状态掩码说明子功能 0x01、0x02 需要在请求中附带 1 字节状态掩码用于过滤要报告的 DTC 类型。常用值为 FF表示不过滤、报告所有符合 ECU 规则的故障码。若掩码设置过严可能返回空列表属正常现象。4. 服务单发读取 DTC — 操作步骤4.1 主流程读取当前故障码19 02完成第 2 章前置准备后按以下步骤操作。注意服务单发读 DTC 的第一步须先启动诊断否则无法与 ECU 正常通信。步骤 1点击 VSAR 主界面左上角「启动」按钮蓝色播放图标启动诊断/测量。步骤 2确认「UDS诊断」窗口已打开左侧 ECU 树中已选中目标 ECU如 LAM显示 SA/Phy/Fun 寻址信息。步骤 3切换到「服务单发」页签。步骤 4在左侧服务树展开诊断服务 → ($19)-读取DTC信息选中 ($02)-按状态掩码报告DTC。步骤 5双击该子项右侧「请求 PDU」区域自动填入「19 02」在末尾手动追加 1 字节状态掩码 FF完整请求为19 02 FF。步骤 6确认「响应 PDU」区域显示「59 02」表示期望 ECU 以 59 02 开头应答。步骤 7可选若 ECU 要求扩展会话先发送 10 03可开启下方「会话维持」定时发送 3E 保活。步骤 8可选设置「单循环次数」「间隔(Ms)」仅在 ECU 支持抑制响应时勾选「无响应」。步骤 9点击「立即发送」等待发送完成发送期间按钮暂时不可用。步骤 10在「UDS诊断」窗口底部通信日志中查看本次交互应出现类似记录 PC请求地址[0x723] PDU[19 02 ff] ECU响应地址[0x72B] PDU[59 02 …]。步骤 11也可在报文接收窗中查看原始 CAN 帧并展开 UDS 字段。步骤 12在 ECU 响应 PDU 中从 59 02 之后按每 4 字节一组解读故障码3 字节编号 1 字节状态。步骤 13可选对照「配置 → DTC配置」中的 DTC 列表将编号转换为 SAE 码及中文描述参见图 2-2。服务单发读 DTC 操作示意红框标注关键区域图 4-1 启动诊断 → 服务单发发送 19 02 FF → 底部通信日志查看应答图 4-1 说明左上角「启动」按钮须先点击以启动诊断会话。服务单发区选择 ($19)-($02)请求 PDU 为 19 02 FF点击「立即发送」。底部通信日志显示 PC 发往物理地址 0x723 的请求以及 ECU 从 0x72B 返回的 59 02 正响应数据。4.2 其他常用读码操作操作说明读取 ECU 支持的 DTC 列表双击 ($0A)-报告受支持的DTC请求为 19 0A无需附加参数。读取 DTC 数量双击 ($01)-按状态掩码报告DTC数量请求为 19 01 [掩码]掩码常用 FF。读取 DTC 快照双击 ($04)-按DTC编号报告DTC快照记录请求格式为 19 04 [DTC 3字节] [快照组]快照组常用 FF。清除 DTC清除故障码使用 0x14 服务非 0x19可手动发送 14 FF FF FF日常清除建议使用「读/清故障码」页签。4.3 界面区域说明区域/按钮功能左侧服务树列出当前 ECU 支持的诊断服务双击可自动填充请求 PDU请求 PDU待发送的 UDS 报文十六进制、空格分隔响应 PDU期望的正响应前缀用于判断 ECU 是否按预期应答无响应勾选后抑制 ECU 正响应仅适用于支持该特性的 ECU单循环次数 / 间隔重复发送次数及两次发送之间的间隔毫秒立即发送发送当前请求 PDU会话维持定时发送 3E 80 或 3E 00用于保持诊断会话不超时5. 注意事项事项说明状态掩码须手动填写双击 0x02 子项后请求仅为 19 02须在末尾自行追加状态掩码如 FF。响应 PDU 非实时回显「响应 PDU」框显示的是期望应答格式ECU 实际返回内容请在报文接收窗查看。无自动故障码表格服务单发不会自动生成故障码列表需自行解读报文中的 59 02 数据。先会话后读码若收到否定响应提示会话不支持应先发送 10 03 进入扩展会话。安全访问若收到安全访问相关否定响应需先完成 27 安全解锁。DTC 名称对照仅看十六进制编号时可到「配置 → DTC配置」查阅名称与描述。勿混淆 0x19 与 0x140x19 用于读取 DTC 信息0x14 用于清除 DTC。ECU 切换建议在当前诊断发送完成后再切换 ECU避免通信异常。6. 与「读/清故障码」页签对比对比项服务单发读/清故障码操作方式手动编辑 PDU 并发送点击「读取故障码」等按钮即可默认请求需自行补全掩码如 19 02 FF内置 19 02 FF状态掩码可编辑结果展示在报文接收窗查看原始数据自行解读以表格显示名称、编号、状态、描述快照与报告需手动拼装 19 04 等请求提供「读取故障快照」「查看报告」按钮适用场景调试通信、验证 ECU 应答、尝试非常规子功能日常读码、快速查看、快照分析建议日常读 DTC 优先使用「读/清故障码」页签服务单发适用于需要精确控制报文内容或与诊断会话、安全访问配合调试的场景。7. 常见问题Q双击后请求只有 19 02是否正常A正常。须手动在末尾追加状态掩码常用 FF即 19 02 FF。Q点击发送后「响应 PDU」没有变化A该框仅表示期望应答格式不会显示 ECU 实际返回内容。请到报文接收窗查看应答帧。Q收到 7F 19 33 怎么办A表示安全访问未通过需先完成 27 安全解锁后再读 DTC。Q收到 7F 19 7F 怎么办A表示当前诊断会话不支持该服务请先发送 10 03 进入扩展会话必要时开启 3E 会话维持。Q59 02 后没有故障码记录A可能 ECU 当前无故障或状态掩码过滤后无匹配项可尝试将掩码改为 FF。Q如何核对读码结果A可在「读/清故障码」页签点击「读取故障码」将表格结果与报文接收窗中的原始数据对照。附录常用 PDU 速查操作请求 PDU期望正响应进入扩展会话10 0350 03会话维持无响应3E 80—读当前 DTC19 02 FF59 02 …读支持 DTC19 0A59 0A …读 DTC 快照19 04 [DTC] FF59 04 …清除全部 DTC14 FF FF FF54