OBD II中的三位PID

时间:2014-06-30 15:22:29

标签: obd-ii

我正在编写一个基于java的应用程序来与汽车接口。对于硬件,我正在使用亚马逊提供的一个wifi ELM 327模块(确切地说是这个模块:http://www.amazon.com/gp/product/B00FQ7O88M/ref=oh_details_o00_s00_i00)。为了测试它是否正常工作,我为我的iPhone选择了DashCommand应用程序。

为了了解用于与模块接口的协议,我记录了一个会话的网络流量(通过wireshark),我在那里开了一个驱动器,而DashCommand应用程序记录了它的常用指标(使用的汽车)测试是2009年的Acura TSX。

大部分流量最初都是我从ELM 327和OBD II的文档中读到的预期。然而,一旦我开始,DashCommand最终使用了我似乎无法弄清楚的PID。我看到的一个例子是:

...
Request: 01 0B2
Response: 01 0B2
          18 DA F1 11 03 41 0B 1B
          18 DA F1 1D 03 41 0 B 1C

          >
Request: 01 0C2
Response: 01 0C2
          18 DA F1 1D 04 41 0C 0C A0 
          18 DA F1 11 04 4 1 0C 0C A0 

          >
Request: 01 0D2
Response: 01 0D2
          18 DA F1 11 03 41 0D 00 
          18 DA F1 1D 03 41 0 D 00 

          >
Request: 01 101
Response: 01 0D2
          01 101
          18 DA F1 11 04 41 10 01 3E

          >
Request: 01 332
Response: 01 332
          18 DA F1 D1 03 41 33 62 
          18 DA F1 11 03 41 3 3 62 

          >
…

到目前为止我找到的三位数PID的完整列表是:031,0B2,0C2,0D2,101,332和341.这些中的每一个都以模式01发送,如上所示。

是否有关于这些PID的文档?或者我是否误解了我所看到的内容?

1 个答案:

答案 0 :(得分:2)

最后一位数字不是PID的一部分。

PID后面的数字代表您预期的回复数量。你可以看到这总是一个数字。

例如,当您添加' 1'对于正常的2位PID,ELM327将等待来自ECU的1个响应。当1个ECU响应ECU时,ELM327将直接将结果响应给您。 当你添加' 2'时,它会等待2次重复。

来源:ELM327 Documentation - 转到页面 32