ELM327
Multiline Responses (continued)
might occasionally be ‘mixed up’ in a CAN system. We
ask the vehicle for the Calibration ID (09 04) and are
presented with the following response:
From these, the messages can be assembled in
their proper order. To do this, look at the byte following
the CAN ID - it is what is known as the PCI byte, and
is used to tell what type of data follows. In this case,
the PCI byte begins with either a 1 (for a ‘First Frame’
message), or a 2 (for the ‘Consecutive Frames’). The
second half of the PCI byte shows the order in which
the information is to be assembled (ie. the segment
number). In this case, the segment numbers are
already in order, but if they had not been, it would
have been necessary to rearrange the messages to
place them in order.
Each OBD standard has some minor peculiarities,
but hopefully this has helped you with some of the
more common ones. If you are still having trouble, we
urge you to purchase the relevant standard, and study
it.
>09 04
013
0: 49 04 01 35 36 30
1: 32 38 39 34 39 41 43
013
0: 49 04 01 35 36 30
2: 00 00 00 00 00 00 31
1: 32 38 39 35 34 41 43
2: 00 00 00 00 00 00 00
which is quite confusing. The first group (the 013, 0:, 1:
group) seems to make some sense (but the number of
data bytes do not agree with the response), and the
following group is very confusing, as it has two
segment twos. It seems that two ECUs are responding
and the information is getting mixed up. Which ECU do
the responses belong to? The only way to know is to
turn on the headers, and repeat your request:
>AT H1
OK
>09 04
7E8 10 13 49 04 01 35 36 30
7E8 21 32 38 39 34 39 41 43
7E9 10 13 49 04 01 35 36 30
7E8 22 00 00 00 00 00 00 31
7E9 21 32 38 39 35 34 41 43
7E9 22 00 00 00 00 00 00 00
This time, the order appears to be the same, but
be aware that it may not be – that is why the standard
requires that sequence codes be transmitted with
multiline responses.
Looking at the first digits of these responses, you
can see that some begin with 7E8, and some begin
with 7E9, which are the CAN IDs representing ECU#1
and ECU#2, respectively. Grouping the responses by
ECU gives:
7E8 10 13 49 04 01 35 36 30
7E8 21 32 38 39 34 39 41 43
7E8 22 00 00 00 00 00 00 31
and
7E9 10 13 49 04 01 35 36 30
7E9 21 32 38 39 35 34 41 43
7E9 22 00 00 00 00 00 00 00
ELM327DSI
Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
45 of 82