210:现代车辆OBD-II数据获取的新方法:物理请求的应用

2024-06-24 09:39:58·  来源:试验那点事  
 

简介


Simcenter Testlab 默认使用“功能请求”来访问车辆CAN总线的OBD-II数据。这些数据通过位于安装目录 Central\Application Resources\CAN 文件夹内的 OBD2_Long_Description.dbc 等文件来获取。通过这种方法,可以访问来自CAN总线的多个信号,而无需了解更多关于特定CAN总线配置的细节。然而,许多现代汽车不再响应这些“功能请求”,如果使用这些 dbc 文件将无法获取任何数据。本文介绍了一种从 2306.0001 版本开始可以使用的替代方法,该方法通过“物理请求”而不是“功能请求”来获取数据。


对于特定类型的车辆,步骤如下:


1. 使用 Simcenter Testlab 和 SCADAS 连接到车辆的 OBD-II 接口,短暂扫描 CAN 总线并记录原始数据。


2. 使用 TestLabOBD2Tool-GUI 或 Testlab OBD2 Tool 工具选择感兴趣的信息,并生成新的定制 dbc 文件。


3. 使用此新的 dbc 文件来测量 CAN 数据。


注意:OBD-II 协议适用于具有内燃机排放的车辆,提供与内燃机 (ICE) 相关的数据。上述工具适用于具有内燃机的车辆和混合动力车,但很可能不适用于电池电动汽车 (BEVs)。


定义


什么是 OBD?


车载诊断系统 (OBD) 是一个基于计算机的系统,内置于所有 1996 年及以后的轻型车辆和卡车中,这些车辆需要遵守 1990 年《清洁空气法案》的修正案。OBD 系统旨在监控发动机的某些主要部件的性能,包括那些负责控制排放的部件。对于 1996 年及以后的车型,OBD 系统使得在高排放之前检测到故障成为可能。


什么是 OBD-II?


OBD-II(也称为 OBDII 或 OBD2)提供了从发动机控制单元 (ECU) 获取数据的途径,并在排除车辆内部问题时提供了宝贵的信息。SAE J1979 标准定义了一种请求各种诊断数据的方法以及可能从 ECU 获取的标准参数列表,这些参数通过 "parameter identification numbers(参数识别号码)" 或 PIDs(Parameters Identification (PIDs),参数识别) 来标识。


这意味着,通过 OBD-II 标准,可以轻松获取大量信息,这些信息可以用于 NVH 测量。这些信息通过一个专用的标准化 OBD 端口(或连接器)获取,该端口通常位于方向盘附近。


什么是发动机电子控制单元 (ECU)?


ECU 可以指单个模块或一组模块。这些模块是车辆的大脑,它们监控和控制车辆的许多功能。常见的 ECU 类型包括:


发动机控制模块

车辆控制模块

传动控制模块

动力总成控制模块

电子制动控制模块

车身控制模块


什么是诊断故障代码 (DTC)?


这些代码用于描述车辆上的问题位置,由 SAE 定义。


什么是参数识别 (PIDs)?


这些是从 OBD-II 系统中提取的信息,例如发动机转速、车速等。


功能请求与物理请求


为了通过 OBD-II 标准和 OBD 端口获取所需的数据,必须请求此类信息,使其能够由 ECU 发送出来并进行测量。数据的请求和测量通过同一 OBD 端口进行。此过程有两种方式,即所谓的功能请求或物理请求。


功能请求:通过 ECU 的全局响应提取特定信息。


使用的 CAN .dbc 文件包含如何解码原始 CAN 总线数据信息以获取可读信息(如发动机转速、速度等)。


功能请求是发送给所有 ECU 的请求,意味着每个可以响应特定 PID 的 ECU 都会响应。


物理请求:每个特定的 ECU 将被单独询问以请求特定信息。


这种方式不仅仅是解码 CAN 信号,还包括询问不同的 ECU 以获取特定信息。


物理请求是专门针对特定 ECU 的请求。只有特定目标 ECU 拥有信息且能够响应时才会回应。


越来越多的现代车辆被编程为响应物理请求,可能不会响应功能请求。


Testlab Signature: 如何使用物理请求进行 OBD-II 测量


步骤一(扫描车辆 OBD-II 以获取可用的 PIDs 和 ECUs)。


1. 使用特定的扫描 dbc 文件记录 CAN 并保存原始数据(1 秒钟即可)。


SCADAS 将发送几个通用的功能请求,以了解 CAN 总线上有哪些 ECU 可用以及这些 ECU 支持哪些 PIDs。


扫描 dbc 文件(OBD2_db_29bit_Scan.dbc 和 OBD2_db_11bit_Scan.dbc),默认安装情况下可以在C:\Program Files\Simcenter\Testlab 2306 (64-Bit)\central\Application Resources\CAN文件夹内找到。


图片图片


2. 可以使用扫描 dbc 文件配置采集参数。



然后激活相关通道(从 Testlab 2206 版本起,开启 CAN 通道时会自动保存 CAN 原始数据)。



然后开始采集以获得 CAN 原始数据 rddf 文件。


注意:从 Simcenter Testlab 2306.0001 版本起,才具有物理请求功能。


步骤二(使用步骤一输出的 rddf 文件创建新 dbc 文件)。


1. 对于 Testlab 2306,运行 C:\Program Files\Simcenter\Testlab 2306 (64-Bit)\bin\目录下的"TestLabOBD2Tool-GUI.exe" ,打开从步骤一得到的 rddf 文件。

图片


2. 对于 Testlab 2406,可以通过 Windows 搜索栏找到快捷方式 "Testlab OBD2 Tool",使用此快捷方式打开从步骤一得到的 rddf 文件。


图片


"Testlab OBD2 Tool"也可以在位于 Windows 开始菜单的 "Simcenter Testlab 2406 Tools" 文件夹中找到。


图片


加载 rddf 文件后,将有机会看到扫描期间响应的不同 PIDs 和 ECUs 的列表。然后,可以选择感兴趣的信息(例如车辆速度、发动机转速),然后点击 “保存为” 按钮,以获得包含所选信息的新 dbc 文件。



3. 可以筛选特定的 PIDs,选择要执行功能请求的 PIDs。


图片


对于在右侧面板回答所选 PIDs 的 ECUs,也可以进行选择,还可以在 ECU 级别定义物理请求。


Simcenter Tetslab 同时支持物理和功能请求,因为在某些车型中,只有功能请求有效,而在其他车型中,只有物理请求有效。


注意:


功能请求和物理请求不能在同一个 PID 上同时使用。功能请求会覆盖并取消物理请求。

选择请求的 PID 将自动可用于解码,但可以取消选择此选项。

对于同一个 PID,最好选择所有相关的 ECUs,因为有时某些 ECUs 的响应速度比其他的更快。如果已知响应最快的 ECU,可以直接选择。


步骤三(使用步骤二中创建的新 dbc 文件通过 OBD-II 记录 CAN 数据)。


1. 使用新 dbc 文件配置采集参数。



可以看到选择请求的不同 ECUs 和相关的 PIDs。



下图是新 dbc 文件的部分截图,其中包含有关 ECUs 和 PIDs 的信息。



请注意,无需手动操作 dbc 文件,所有内容都由步骤二中使用的 TestLabOBD2Tool-GUI 或 Testlab OBD2 Tool  处理。


2. 然后,可以激活不同的 CAN 通道并开始测量。



3. 最后,采集获得的CAN信号可以进行可视化或参与其他数据后处理。


Testlab Neo: 如何使用物理请求进行 OBD-II 测量


对于 Testlab Neo,流程和Testlab Signature完全相同,部分 CAN 配置简要说明如下。


步骤一(扫描车辆 OBD-II 以获取可用的 PIDs 和 ECUs)。


1. 使用特定的扫描 dbc 文件记录 CAN 并保存原始数据(1 秒钟即可)。


SCADAS 将发送几个通用的功能请求,以了解 CAN 总线上有哪些 ECU 可用以及这些 ECU 支持哪些 PIDs。


扫描 dbc 文件,默认安装情况下可以在C:\Program Files\Simcenter\Testlab 2306 (64-Bit)\central\Application Resources\CAN文件夹内找到。


图片图片


2. 可以使用扫描 dbc 文件配置采集参数。



在通道设置界面,注意需要勾选 CAN 通道的保存按钮。


图片

图片


最后,CAN通道被激活,但未列出通道,只记录 CAN 原始数据 rddf 文件。


步骤二(使用步骤一输出的 rddf 文件创建新 dbc 文件),和Testlab Signature 步骤相同,不再赘述。


步骤三(使用步骤二中创建的新 dbc 文件通过 OBD-II 记录 CAN 数据)。


1. 使用新 dbc 文件配置采集参数。



2.为了在线实时观察 CAN 信号,需要对 CAN 信号进行解码操作。 


图片


3.勾选需要实时解码的 CAN 信号。


图片


4.点击 Digital Bus Channels ,可以观察到勾选的实时解码 CAN 信号。


图片


5.在测试界面,可以观察 CAN 实时信号。



结论


通过使用物理请求来测量 OBD-II 数据,您可以克服许多现代车辆不响应传统功能请求的问题。Simcenter Testlab 提供了简便的工具和方法,使这一过程变得更为容易和高效。


分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25