车载诊断架构 --- 用于学习的诊断上位机工具
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。
老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:
钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。
生活中有两种人,一种人格外在意别人的眼光;另一种人无论别人如何,他们始终有自己的节奏。
过度关注别人的看法,会搅乱自己的步调,让自己更加慌乱。与其把情绪的开关交到别人手中,不如把有限的精力用在提升自己上,久而久之,你自然会更加优秀。
时间不知不觉中,来到新的一年。2025开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。
一、背景信息
闲来无事做了一个诊断上位机,用于个人(当然公司也可以用)学习。可以用来做在线诊断和软件更新(Software download)。通过此文章做一个记录说明。
二、DiagTestTool使用说明
1、 安装说明
本软件为支持PCAN的诊断测试工具,运行环境为win7 64位及以上版本,免安装。
2、 使用说明
2.1功能说明
包含设备连接、信息输出、常规诊断服务测试、数据诊断服务测试、自由模式测试及报文记录等功能。
2.2 连接设备:点击以下按钮连接/关闭设备:
2.2 信息输出
测试过程中请求和应答报文显示在信息输出区域:
2.3 常规诊断服务测试
常规诊断服务支持0x10、0x11、0x28、0x85、0x14及0x3E服务。点击对应按钮请求对应服务,右侧显示请求结果,如下图:
其中0x3E服务支持周期请求,勾选对应单选框即可:
2.4 数据诊断服务测试
支持0x27、0x22、0x2E及0x19服务。
2.4.1 0x27服务
加载安全访问Dll文件选择安全等级,点击“执行”按钮请求。
如上图,红框1处选择dll文件,红框2处选择安全等级。
其中:seed = 2*Level-1 。
2.4.2 0x22服务
输入DID (十六进制,中间空格隔开),点击执行按钮 在右侧显示结果,如下图:
2.4.3 0x2E服务
输入DID (十六进制,中间空格隔开),在右侧输入要写入的数据,点击执行按钮如下图:
2.4.4 0x19服务
读DTC支持0x01、0x02、0x03、0x04、0x06及0x0A子功能的操作。
1、reportNumberOfDTCByStatusMask(0x01)
输入mask值(十六进制,以空格隔开),点击执行进行操作:
2、ReportDTCByStatusMask(02)
数据mask值(十六进制,以空格隔开)点击执行进行操作
3、reportDTCSnapshotId(03)
点击执行进行操作。
4、reportDTCSnapshotRecordByDTCNum(04)
输入DTC及Number(十六进制,以空格隔开)后点击执行。
5、reportDTCExtDataRecordByDTCNum(06)
输入DTC及Number(十六进制,以空格隔开)后点击执行。
6、reportSupportedDTC(0A)
点击执行进行操作,显示DTC及对应的status。
2.5 自由模式
用户可自行编辑诊断指令进行测试,点击执行进行操作,结果显示在“接收数据”区
2.6 测试数据记录
测试过程中的数据保持在根目录中: