ISO-15031 Protocol

Introduction

ISO-15031 Protocol consists of a number of parts taken together to provide a coherent self-consistent set of specifications to facilitate emissions-related diagnostics. Parts 2 through 7 are based on SAE-recommended practices.  This part of ISO 15031 is based on SAE J2012: MAR99 (Recommended Practice for the Diagnostic Trouble Code Definitions).

The ISO 15031-1 Protocol provides an introduction to the series of International Standards. Most automobile manufacturers equip at least a portion of their product line with some on-board diagnostic (OBD) capability. These systems provide an implication as to the general location of the diagnosed malfunction. This information is provided through an alphanumeric code.

ISO 15031-6 (Diagnostic trouble code definitions)

This part of ISO 15031 provides recommended uniformity for the alphanumeric trouble codes. It further provides guidance for the uniform messages associated with these codes. It specifies several sections addressing format, structure, messages and a few examples, and is applicable to electrical/electronic systems diagnostics of motor vehicles.

DTC General specifications:

The recommended DTCs consist of a three-digit numeric code preceded by an alphanumeric designator. The alphanumeric designators are “B0”, “B1”, “B2”, “B3”, “C0”, “C1”, “C2”, “C3”, “P0”, “P1”, “P2”, “P3”, “U0”, “U1”, “U2”, “U3”, corresponding to four sets of body, four sets of chassis, four sets of powertrain and four sets of network trouble codes. The code structure itself is partially open-ended. A portion of the available numeric sequences (portions of “B0”, “C0”, “P0”, “P2”, “P3”, “U0” and “U3”) is reserved for uniform codes assigned by this or future updates.

SystemCode categoriesHex valueAppendix
BodyB0xxx – B3xxx8xxx – BxxxB
ChassisC0xxx – C3xxx4xxx – 7xxxC
PowertrainP0xxx – P3xxx0xxx – 3xxxP
NetworkU0xxx – U3xxxCxxx – FxxxU

Detailed specifications of the DTC format structure are specified in Clause 5. Most circuit, component, or system diagnostic trouble codes that do not support a sub-fault strategy are specified by four basic categories:

  1. Circuit/open.
  2. Range/performance.
  3. Circuit low.
  4. Circuit high.

DTC Format structure:

The diagnostic trouble code consists of an alphanumeric designator, B0-B3 for the body, C0-C3 for chassis, P0-P3 for powertrain, and U0-U3 for network communication, followed by three characters. The assignment of the proper alpha designator should be determined by the area most appropriate for that function. In most cases, the alpha designator will be implied since diagnostic information will be requested from the particular controller. However, this does not imply that all codecs supported by the particular controller shall have the same alphanumeric designator. The codes are structured as in Figure below:

ISO-15031 Protocol 2 byte dtc description
Structure of diagnostic trouble codes

EXAMPLE 1: The 2-byte DTC as a data bus value $9234 would be displayed to technicians as the manufacturer controlled body code B1234 as:

ISO-15031 Protocol 2 byte diagnostic trouble code structure
2-byte diagnostic trouble code structure

EXAMPLE 2 The 3-byte DTC as a data bus value $923400 would be displayed to technicians as the manufacturer controlled body code B1234-00. See Annex D for the DTC Low Byte (Failure Type Byte) definitions. The low byte shall be displayed in the hexadecimal format, e.g. $1A shall be displayed as 1A.

ISO-15031 Protocol 3 byte diagnostic trouble code structure
3-byte diagnostic trouble code structure

The Codes have been specified to indicate a suspected trouble or problem areas, and are intended to be used as a directive to the proper service procedure. To minimize service confusion, fault codes should not be used to
indicate the absence of problems or the status of parts of the system (e.g. powertrain system O.K., or MIL activated), but should be confined to indicate areas in need of service attention. The ranges have been expanded beyond 100 numbers by using the hexadecimal base 16 number system.

ISO/SAE controlled DTC:

ISO/SAE-controlled diagnostic trouble codes are those codes where industry uniformity has been achieved. These codes were felt to be common enough across most manufacturers’ applications that a common number and fault message could be assigned. All unspecified numbers in each grouping are the ISO/SAE reserved for future growth. Although service procedures may differ widely amongst manufacturers, the fault being indicated is common enough to be assigned a particular fault code. Codes in this area are not to be used by manufacturers until they have been approved by the ISO/SAE.

Manufacturer controlled DTC:

Areas within each alpha designator have been made available for the manufacturer-controlled DTCs. These are the fault codes that will not generally be used by a majority of the manufacturers due to basic system differences,
implementation differences, or diagnostic strategy differences. Each vehicle manufacturer or supplier who designs and specifies diagnostic algorithms, software, and diagnostic trouble codes are strongly encouraged to remain consistent across their product line when assigning codes in the manufacturer-controlled area. For the powertrain codes, where possible, the same groupings should be used as in the ISO/SAE controlled area, i.e. 100’s and 200’s for fuel and air metering, 300’s for ignition system or misfire, etc.  While each manufacturer has the ability to define the controlled DTCs to meet its specific controller algorithms, all DTC words shall meet ISO 15031-2.

Diagnostic trouble code descriptions:

Diagnostic Trouble Codes or OBD2 Trouble Codes are codes that the car’s OBD system uses to notify you about an issue. Each code corresponds to a fault detected in the car. When the vehicle detects an issue, it will activate the corresponding trouble code.  A vehicle stores the trouble code in its a memory when it detects a component or system that’s not operating within acceptable limits. The code will help you to identify and fix the issue within the car.

To implement the DTC, The total vehicle functionality is divided into 4 categories as Body, Chassis, Powertrain, & Network & Vehicle Integration.

  1. Powertrain systems:  The Body (B-codes) systems category covers functions that are, generally, inside of the passenger compartment. These functions provide the vehicle occupants with assistance, comfort, convenience, and safety.
  2. Body systems: The body systems category covers functions that are, generally, inside of the passenger compartment. These functions provide the vehicle occupants with assistance, comfort, convenience, and safety. Each specified trouble code has been assigned a description to indicate the component or system area that was determined to be at fault.
  3. Chassis systems: The chassis systems category covers functions that are, generally, outside of the passenger compartment. These functions typically include mechanical systems such as brakes, steering, and suspension. Each specified trouble code has been assigned a description to indicate the component or system area that was determined to be at fault.
  4. Network and vehicle integration systems: The network communication and vehicle integration systems category covers functions that are shared among computers and/or systems on the vehicle. Each specified trouble code has been assigned a description to indicate the component or system area that was determined to be at fault.

Diagnostic trouble code naming Convention:

Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
Scroll to Top