OBD II Scan Tools 如何查询他们能够拥有的 KID 数量?

How do ODB II Scan Tools query the Amount of PIDs They're Able to?

据我所知,从 ELM327:OBD 到 RS232 文档,使用多行响应,最多可以接收 6 个 PID。我想知道扫描工具是如何同时接收十几个 PID 的。

您最多可以同时向主控制器请求6个PID。 ECU 将在 multi-frame 中对其作出响应。 here 我已经回答了关于 MCP2515 芯片的 mutli 帧,但对于任何其他芯片,如 ELM327 等,它可能是相同的。因为它是 CAN 协议,只有上下文可能不同。

你的问题的答案是肯定的,你可以但不是只能在一个请求中。许多记录器设备将 1 Hz 视为安全记录所有 OBD 数据的最小请求时间,低于 1 Hz 可能有效或无效。

您应该首先请求Mode 1 PID 00,它将在一个消息中响应,它包含ECU 支持的所有PID,按位顺序用于OBD。维基百科中定义了如何解析此消息 link:Here.

现在您拥有所有受支持的 PID,现在您可以以 6 个 PID 为一组请求它们。这就是任何扫描工具或 OBD 记录器的工作方式。

问候,