google找到這篇,不確定能否使用,但是有講一些基本概念
http://forum.pgmfi.org/viewtopic.php?f=40&t=23654&start=15
first byte is packet type 72 = diagnostic query, 02 = diagnostic reply
second byte is total packet length
third is sub type 72 = get subset of diag table, 71 = get entire table
fourth byte is table select
in sub type 72 fifth byte is startByte, sixth is numberBytes
last byte is checksum (total 8b sum of packet == 0x00)
Your first and fifth groups have identical reply data because the asked for the same thing
72 07 72 11 00 14 F0 is requesting table 11 starting at byte 00 read 0x14 bytes
You show it reading back 0x15 bytes of data. Your first byte of data is actually the reply echoing back the start offset.
72 05 71 11 is requesting table 11 read all bytes (there are only 0x14 bytes total ) so you get the same data set returned (less the echoed offset)
If you wanted to read just the 98,40 out of table 11 you would send
72 07 72 11 04 02 cs (start at Table_11[4] read 2 bytes)
to which the ecu would reply
02 08 72 11 04 98 40 cs
That is what is happening in the second group. It is a request for just the first two bytes of table 11
The 71 subtypes that return no data are not used by this vehicle (72 05 71 12, ...71 13...etc)
In table D0,D1 data is error code bit flags |