Diving into DTCs!

25 Nov 2017

I left this alone to cover this part specifically separately. Lets see into what DTC's are, how they are structured, how to Read and clear them.

  • DTC? What's that? Why are they used?
  • DTC stands for Diagnostic Trouble Code. It is used to idenifty faults in nodes. This is the foundation of Diagnostics. A car now-a-days consists of lots of nodes, making it closer to brain surgery than ever. It is very difficult to identify a fault if such a fault exists. To make life easy for service engineers, Nodes run self-tests and when this self test fails, they log something called DTC- Diagnostic Trouble code

  • How DTCs are structured?
  • DTCs have 4 bytes, 3 bytes to identify them and 1 byte to denote the current status of the DTC.

    1. Byte-1 and Byte-2: Identify the Component that has failed - called as "ROOT DTC"
      Upper two bits help identify the major system:
      00-P- code for Powertrain
      01-C- code for Chassis
      10-B- code for body
      11-U- code for Network
    2. Byte-3: Failure Type Byte ("FTB") - Identifies failure mode of the ECU
      There are lot of FTBs. ISO-15031-6 has a list.
      Common Codes include 11 for short circuit to ground, 13 for open circuit.
    3. Byte-4: Status Information - There are 8 different states. They are:
      • Bit 0 - test failed
      • Bit 1 - test failed this/current Operating cycle
      • Bit 2 - pending DTC - test failed current and previous Operating cycle
      • Bit 3 - confirmed DTC - Bit is set until ageing counter(more on that later) is cleared
      • Bit 4 - Test not completed since last clear
      • Bit 5 - Test failed since last clear
      • Bit 6 - Test not completed this Operating cycle
      • Bit 7 - Warning Indicator Requested
  • Service 19 - Read DTC by Identifier
  • This service is used to Read the DTC. It has lot of subfunctions/modes supporting it. I'll go into 5 of them

    • 01- Report Number of DTC by status mask
    • This is used to give number of DTCs failing with a specific status.
      Example:
      03 19 01 8F
      04 59 01 8F 03

    • 02- Report DTCs by status mask
    • Example:
      03 19 02 7F
      10 13 59 02 7F 04 60 11
      30 00 00 00 00 00 00 00
      21 6C 90 09 51 2F F0 00
      22 55 2F F0 00 87 6C 00
      4 DTCs - 046011, 900951, F00055, F000087 are reported with status masks 6C,2F,2F and 6C respectively

    • 04- Report snapshot record of DTC
    • Gives global/local data associated with DTC such as distance travelled,global real time, internal temperature Etc.,
      Example:
      06 19 04 04 60 11 10 00
      10 23 59 04 04 60 11 2C
      30 00 00 00 00 00 00 00
      21 10 07 DD 00 FF FF FF
      22 FF DD 01 FF FF FF DD
      23 02 FF DD 04 FF DD 05
      24 FF DD 06 FF 61 B7 00
      25 04 00 00 00 00 00 00
      07 snapshots are reported above.
      DD00 - FF FF FF FF - Global Real time
      DD01 - FF FF FF - Total distance
      DD02 - FF - Voltage supply
      DD04 - FF - In Car temperature
      DD05 - FF - Outdoor Temperature
      DD06 - FF - Powermode
      61B7 - 00 04 (Fuel Sensor A Value)

    • 06- Report extended snapshot of DTC
    • Gives extended data of DTC. There are 5 counters here.

      • 01- Counter 1 - This counter gives number of Operating cycles from last fail, including incomplete tests
      • 02- Counter 2 - This counter gives number of operating cycles from last fail, only having completed tests
      • 03- Counter 3 - This counter gives number of operating cycles from first fail. Also called Ageing counter.
      • 04- Counter 4 - This counter counts number of fails from first fail.
      • 10 - Fault detection counter - Records 0 if test not complete in current operating cycle. Records -128 if test passes and +127 if test fails
    • 0A- Report all supported DTCs
    • Lists all supported DTCs by the ECU

  • Service 14 - Clear DTCs
  • This service is used to clear the DTCs. It has no subfunction. Specific DTC can also be failed by giving DTC identifier.
    Erases all information associated with DTC.
    Example:
    05 14 FF FF FF
    05 54 FF FF FF

    NOTE: Images taken from Vector Diagnostic Seminar Spec, Reproduced here for understanding purposes.