在汽车电子诊断领域,DTC(Diagnostic Trouble Code,诊断故障码) 是ECU定位故障的第一线索。TSMaster 中的DTC查看器模块,支持自动解析来自 PDX、ODX和 Excel 诊断数据库的DTC列表,具备搜索与筛选功能,让技术人员快速定位故障范围。这份快速上手指南,带你轻松玩转DTC查看器。
本文关键词:DTC查看器,UDS诊断,故障代码表,诊断数据库,$19服务
1. DTC查看器功能介绍
DTC查看器模块,通过诊断模块快速解析来自PDX、ODX和Excel诊断数据库的DTC列表,可实现读取 ECU 故障码列表(DTC)、读取冻结帧 / 快照数据(Freeze Frame / Snapshot)和读取 DTC 扩展数据(Extended Data Record),具有自动解析、搜索与筛选DTC列表功能,支持复制DTC编码和原始报文功能,支持导出CSV和JSON。DTC查看器模块一览,如图1。

1.1 DTC查看器工具栏
DTC工具栏显示在窗口顶部,点击相应图标后相应命令将被执行,并按执行功能改变DTC列表,工具栏按钮说明如下。
- 重新加载:重新加载DTC、快照和扩展数据定义,并重新投影缓存的观测记录。
- 恢复/暂停视图刷新:恢复视图刷新DTC列表,在左下角显示“运行中”;暂停视图刷新,列表停止刷新,但后台仍继续采集。
- 跟随最新:使能跟随最新后,DTC列表在运行中周期性自动读取DTC、实时跟随ECU故障存储器变化。
- 历史容量:默认值为10000。可配置范围:100~500000,输入小于100的值自动修正为100。当达到设置容量后采用固定容量环形缓存,覆盖最旧观察记录,被覆盖数量通过底部状态栏的【覆盖】统计和显示。在实际使用中,列表中显示DTC行数最大为1000行,为设计如此的前台显示行数。
- 搜索:可搜索DTC十六进制值、描述、ECU上下文、子功能问题或原始报文的关键词,按回车确认搜索。
- 筛选:支持全部、活动、非活动、本运行周期失败(TFTOC)、存储状态预设、待定、已确认、自上次清除后测试未完成(TNCSLC)、清除后失败、本运行周期测试未完成(TNCTOC)、WIR和问题类型。
- 排序:支持最后出现时间(最早优先)、最后出现时间(最新优先)、首次出现时间、DTC、上下文、出现次数和解析质量。
- 清空视图:仅清空DTC查看器缓存,不发送UDS 0x14请求。
- 复制:复制当前选中的DTC观测记录。复制的是DTC状态的文本信息。在DTC观测记录中选中后,右键还可以选择【复制DTC编码】、【复制原始报文】和【复制ECU上下文】。
- 导出CSV:将当前筛选结果导出为UTF-8 BOM CSV文本。
- 导出JSON:将当前筛选结果导出为UTF-8 BOM JSON。导出当前搜索、筛选、排序条件下的完整“聚合快照”DTC记录。不受DTC列表1000行显示上限约束。每个 JSON 对象目前包含:首次、最后出现时间;ECU/总线上下文;DTC 编号和描述;状态文本、状态字节、Availability Mask;来源子功能集合;出现次数;解析质量、问题信息;NRC、FDC;Raw Payload。
导出的JSON文件,可以应用在如下场景:
- 自动化诊断测试结果附件;
- CI/CD 或测试脚本读取DTC编号、状态、次数和解析质量;
- 测试前后、软件版本前后DTC集合差异对比;
- 问题复现时连同Raw Payload提供机器可读证据;
- 导入内部报告系统、数据分析脚本或质量平台;
- 对多ECU、多通道DTC结果做离线统计;
- 对解析失败、未知子功能、NRC等问题事件做批量审计。
1.2 DTC查看器解析栏
DTC查看器解析栏,包含概览、状态字节、快照/扩展数据和原始数据/问题4个栏目。
概览:在选中某条DTC记录后,概览将DTC事件的诊断代码、描述、ECU名称(来自诊断数据库)、变体、诊断实例、总线/通道、源地址至目标地址、故障存储器类型、来源、最新子功能、首次出现时间、最后出现时间、出现次数和解析质量,进行相应的呈现。如图2。

状态字节:显示当前选中 DTC 的 statusofDTC 值,以及DTCStatusAvailabilityMask。针对状态字节按位解析相应的状态为清除或置位。如图3。

快照/扩展数据:类型根据发送的UDS 0x19 04或0x19 06的响应,自动识别为快照或扩展数据,并基于诊断数据库中的快照或扩展数据定义,显示对应的标识符、名称、值、单位、原始数据和元数据。如下为快照读取,如图4。

如下为扩展数据的读取与解析,如图5。

原始数据/问题:显示解析质量和问题代码,并将原始报文的字节长度和数据解析显示。如图6。

2. DTC查看器的使用操作指南
DTC查看器的使用前提,是基于诊断数据库的DTC定义、快照和扩展数据的定义,联合TSMaster诊断模块的UDS 0x19服务实现ECU的DTC功能解析与查看,基础诊断模块和基于数据库诊断模块都可以加载诊断数据库。
2.1 基础诊断模块:诊断数据库加载
在基础诊断模块中,支持添加DTC描述文件(Excel诊断数据库文件或ini文件)。
加载路径:应用-诊断模块-基础诊断-传输层(ISO TP)-DTC描述文件。
加载Excel诊断数据库文件后,可以查看文件的DTC定义数量、快照/扩展数据的定义数量,可以修改ECU作用域、优先级等。如图7。

在基本诊断配置的DTC定义库,可查看诊断数据库所有的有效DTC定义,注意DTC定义不是可执行诊断服务。如图8。

注意:在加载Excel诊断数据库文件时,如果遇到不支持的格式或加载失败,可以与同星应用支持沟通,可进一步提供文件格式兼容等方面的支持。
2.2 基于数据库诊断模块:诊断数据库加载
在基于数据库诊断模块中,支持添加PDX/ODX和CDD文件格式的诊断数据库文件。
加载路径:应用-诊断模块-基于数据库诊断-传输层(ISO TP)-诊断控制器。
加载诊断数据库文件后,可以修改变量和ECU名称。如图9。

在基本诊断配置的DTC定义库,同样可查看诊断数据库所有的有效DTC定义。如图10。

2.3 读取DTC信息与DTC查看器自动解析
在基础诊断模块和基于数据库诊断模块加载好诊断数据库之后,两个诊断模块都可以发送0x19 UDS服务指令读取DTC 信息。
2.3.1 基础诊断模块读取DTC信息的操作
操作路径:基本诊断配置-存储数据传输-$19读取DTC信息。
选中$19读取DTC信息,右键新建$19服务,并在右方工作区可以设置请求的ID参数。如图11。

点击“…”可以选择$19服务不同汇报类型的子功能ID。比如0x02 为ReportDTCByStatusMask,根据不同的需求可以选择不同的子功能ID。如图12。

然后,在【诊断控制台】执行$19服务的请求,可以选中创建的$19服务,右键执行,在【ISO15765-2】窗口查看到$19服务的请求与响应。如图13。

此时,诊断模块的19服务的DTC读取信息,会同步在DTC查看器中自动解析。如图14。

2.3.2 基于数据库诊断模块读取DTC信息的操作
基于数据库存诊断模块,在加载相应的诊断数据库之后,因为$19读取DTC信息的服务通常在数据库中已经定义好,所以我们只需要在诊断控制台选择相应的$19读取DTC信息的服务,对应执行后,DTC查看器会自动解析相应的DTC信息。
操作路径:基于数据库诊断-诊断控制台-存储数据传输-$19读取DTC信息。
选择相应的$19读取DTC信息的服务, 右键执行,并在【ISO15765-2】窗口查看到$19服务的请求与响应,以及DTC相应的解析详情。如图15。

此时$19服务的DTC读取信息同步在DTC查看器中自动解析。如图16。

【文末互动】您对TSMaster的哪个功能最感兴趣?或在实际应用中遇到过哪些问题?欢迎在评论区分享你的经验或疑问,任何想法或建议也可以评论区留言互动,将有机会获得TOSUN神秘大礼包哦~
小贴士:
1、软件下载:欢迎至同星官网,填写表单获取下载链接:https://www.tosunai.com/downloads/#download_TSM
2、软件升级:在电脑有互联网连接的前提下,可以在软件内检查升级至最新版本。
技术支持:support@tosunai.cn
TSMaster 技术交流群
如您有关于TSMaster软件使用问题需要技术支持,欢迎扫码添加TOSUN同星技术客服企微直接联系和咨询:

小贴士:
- 软件下载:
点击下方软件下载链接,直接下载安装,建议下载 beta 版本 - 软件升级:
在电脑有互联网连接的前提下,可以在软件内检查升级至最新版本。
注:同星智能技术支持邮箱:support@tosunai.cn,欢迎大家前来咨询!(须注明公司及联系方式)


