9512.net
甜梦文库
当前位置:首页 >> 工程科技 >>

sae j1979 2002


SURFACE VEHICLE STANDARD

J1979

REV. APR2002 1991-12 2002-04

Issued Revised

Superseding J1979 SEP1997

(R) E/E Diagnostic Test Modes — Equivalent to ISO/DIS 15031-5:April 30, 2002

This document supersedes SAE J1979 SEP1997, and is technically equivalent to ISO/DIS 15031-5:April 30, 2002, except for minor reorganisation of Paragraphs 1 and 2. Foreword—On-Board Diagnostic (OBD) regulations require passenger cars, and light and medium duty trucks, to support communication of a minimum set of diagnostic information to off-board "generic" test equipment. This document specifies diagnostic services and functionally addressed request / response messages required to be supported by motor vehicles and external test equipment for diagnostic purposes which pertain to motor vehicle emission-related data. These messages are intended to be used by any external test equipment meeting the requirements of SAE J1978 for retrieval of OBD information from a vehicle. SAE J1979 was originally developed to meet U.S. OBD requirements for 1996 and later model year vehicles. ISO 15031-5 was based on SAE J1979 and was intended to combine the U.S. requirements with European OBD requirements for 2000 and later model year vehicles. In addition, this document and later versions of the ISO/DIS document include new data reporting requirements included in proposed U.S. regulations, and also include specific requirements for retrieval of the same diagnostic information from vehicles equipped with ISO 15765-4 as a diagnostic data link.

SAE Technical Standards Board Rules provide that: "This report is published by SAE to advance the state of technical and engineering sciences. The use of this report is entirely voluntary, and its applicability and suitability for any particular use, including any patent infringement arising therefrom, is the sole responsibility of the user." SAE reviews each technical report at least every five years at which time it may be reaffirmed, revised, or cancelled. SAE invites your written comments and suggestions. Copyright 2002 Society of Automotive Engineers, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of SAE. TO PLACE A DOCUMENT ORDER: Tel: 877-606-7323 (inside USA and Canada) Tel: 724-776-4970 (outside USA) Fax: 724-776-0790 Email: custsvc@sae.org http://www.sae.org

SAE WEB ADDRESS:

SAE J1979 Revised APR2002 TABLE OF CONTENTS 1 1.1 1.2 2 2.1 2.1.1 2.1.2 2.2 2.2.1 2.2.2 3 4 4.1 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.2.10 4.3 4.4 4.5 5 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.3 5.3.1 5.3.2 5.3.3 5.3.4 Scope........................................................................................................................................................4 Purpose ....................................................................................................................................................4 Differences from ISO Document...............................................................................................................5 Reference(s) .............................................................................................................................................6 Applicable Publications .............................................................................................................................6 SAE Publications ......................................................................................................................................6 ISO Publications .......................................................................................................................................6 Related Publications ................................................................................................................................. 6 SAE Publications ......................................................................................................................................6 ISO Documents ........................................................................................................................................6 Term(s) and Definition(s) ..........................................................................................................................6 Technical Requirements ...........................................................................................................................8 Diagnostic Service, General Requirements..............................................................................................8 Multiple Responses to a Single Data Request .........................................................................................8 Application Timing Parameter Definition ...................................................................................................8 Minimum Time between Requests from External Test Equipment ......................................................... 10 Data Not Available .................................................................................................................................. 15 Maximum Value ...................................................................................................................................... 19 Diagnostic Message Format ................................................................................................................... 19 Addressing Method ................................................................................................................................. 19 Maximum Message Length .....................................................................................................................19 Request/Response Message Format ..................................................................................................... 20 Response Code Parameter Definition ....................................................................................................21 Header Byte Definition of ISO 9141-2, ISO 14230-4, and SAE J1850 ................................................... 22 Header Byte Definition of ISO 15765-4 .................................................................................................. 22 Data Bytes Definition of ISO 9141-2, ISO 14230-4, SAE J1850, and ISO 15765-4 ............................... 23 Non-Data Bytes included in Diagnostic Messages with SAE J1850....................................................... 23 Non-Data Bytes included in Diagnostic Messages with ISO 9141-2 and ISO 14230-4.......................... 23 Bit Position Convention........................................................................................................................... 23 Allowance for Expansion and Enhanced Diagnostic Services ................................................................ 23 Definition of PIDs for Service $01 and $02 .............................................................................................23 Format of Data to be Displayed ..............................................................................................................23 Diagnostic Service Definition for ISO 9141-2, ISO 14230-4, and SAE J1850 ........................................ 24 Service $01 - Request Current Powertrain Diagnostic Data ................................................................... 24 Functional Description ............................................................................................................................24 Message Data Bytes ...............................................................................................................................25 Parameter Definition ...............................................................................................................................26 Message Example .................................................................................................................................. 26 Service $02 - Request Powertrain Freeze Frame Data.......................................................................... 29 Functional description ............................................................................................................................. 29 Message Data Bytes ...............................................................................................................................30 Parameter Definition ...............................................................................................................................31 Message Example .................................................................................................................................. 31 Service $03 - Request Emission-Related Diagnostic Trouble Codes ..................................................... 32 Functional Description ............................................................................................................................32 Message Data Bytes ...............................................................................................................................33 Parameter Definition ...............................................................................................................................34 Message Example .................................................................................................................................. 34

-2-

SAE J1979 Revised APR2002 5.4 5.4.1 5.4.2 5.4.3 5.4.4 5.5 5.5.1 5.5.2 5.5.3 5.5.4 5.6 5.6.1 5.6.2 5.6.3 5.6.4 5.7 5.7.1 5.7.2 5.7.3 5.7.4 5.8 5.8.1 5.8.2 5.8.3 5.8.4 5.9 5.9.1 5.9.2 5.9.3 5.9.4 6. 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.5 Service $04 - Clear/Reset Emission-Related Diagnostic Information ..................................................... 37 Functional Description ............................................................................................................................37 Message Data Bytes ...............................................................................................................................37 Parameter Definition ...............................................................................................................................37 Message Example .................................................................................................................................. 37 Service $05 - Request Oxygen Sensor Monitoring Test Results............................................................ 39 Functional Description ............................................................................................................................39 Message Data Bytes ...............................................................................................................................39 Parameter Definition ...............................................................................................................................40 Message Example .................................................................................................................................. 41 Service $06 - Request On-Board Monitoring Test Results for Specific Monitored Systems .................. 43 Functional Description ............................................................................................................................43 Message Data Bytes ...............................................................................................................................43 Parameter Definition ...............................................................................................................................44 Message Example .................................................................................................................................. 45 Service $07 - Request Emission-Related Diagnostic Trouble Codes Detected During Current or Last Completed Driving Cycle .................................................................................... 47 Functional Description ............................................................................................................................47 Message Data Bytes ...............................................................................................................................47 Parameter Definition ...............................................................................................................................48 Message Example .................................................................................................................................. 48 Service $08 - Request Control of On-Board System, Test or Component ............................................. 48 Functional Description ............................................................................................................................48 Message Data Bytes ...............................................................................................................................48 Parameter Definition ...............................................................................................................................50 Message Example .................................................................................................................................. 50 Service $09 - Request Vehicle Information ............................................................................................ 51 Functional Description ............................................................................................................................51 Message Data Bytes ...............................................................................................................................51 Parameter Definition ...............................................................................................................................52 Message Example .................................................................................................................................. 53 Diagnostic Service Definition for ISO 15765-4 ....................................................................................... 63 Service $01 - Request Current Powertrain Diagnostic Data ................................................................... 63 Functional Description ............................................................................................................................63 Message Data Bytes ...............................................................................................................................63 Parameter Definition ...............................................................................................................................65 Message Example .................................................................................................................................. 65 Service $02 - Request Powertrain Freeze Frame Data.......................................................................... 69 Functional Description ............................................................................................................................69 Message Data Bytes ...............................................................................................................................69 Parameter Definition ...............................................................................................................................71 Message Example .................................................................................................................................. 71 Service $03 - Request Emission-Related Diagnostic Trouble Codes ..................................................... 74 Functional Description ............................................................................................................................74 Message Data Bytes ...............................................................................................................................74 Parameter Definition ...............................................................................................................................75 Message Example .................................................................................................................................. 75 Service $04 - Clear/Reset Emission-Related Diagnostic Information ..................................................... 76 Functional Description ............................................................................................................................76 Message Data Bytes ...............................................................................................................................76 Parameter Definition ...............................................................................................................................77 Message Example .................................................................................................................................. 77 Service $05 - Request Oxygen Sensor Monitoring Test Results............................................................ 78

-3-

SAE J1979 Revised APR2002 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7. 7.1 Service $06 - Request On-Board Monitoring Test Results for Specific Monitored Systems .................. 78 Functional Description ............................................................................................................................78 Message Data Bytes ...............................................................................................................................78 Parameter Definition ...............................................................................................................................80 Message Example .................................................................................................................................. 83 Service $07 - Request Emission-Related Diagnostic Trouble Codes Detected During Current or Last Completed Driving Cycle .................................................................................... 85 Functional Description ............................................................................................................................85 Message Data Bytes ...............................................................................................................................86 Parameter Definition ...............................................................................................................................86 Message Example .................................................................................................................................. 86 Service $08 - Request Control of On-Board System, Test or Component ............................................. 86 Functional Description ............................................................................................................................86 Message Data Bytes ...............................................................................................................................87 Parameter Definition ...............................................................................................................................88 Message Example .................................................................................................................................. 88 Service $09 - Request Vehicle Information ............................................................................................ 90 Functional Description ............................................................................................................................90 Message Data Bytes ...............................................................................................................................90 Parameter Definition ...............................................................................................................................92 Message Example .................................................................................................................................. 92 Notes ......................................................................................................................................................98 Marginal Indicia....................................................................................................................................... 98

Appendix A (normative) PID (Parameter ID)/OBDMID (On-Board Monitor ID) / TID (Test ID)/INFOTYPE supported definition........................................................................................ 99 Appendix B (normative) PIDs (Parameter ID) for Service $01 and $02 Scaling and Definition ...............................100 Appendix C (normative) TIDs (Test ID) for Service $05 Scaling and Definition .......................................................122 Appendix D (normative) OBDMIDs (On-Board Diagnostic Monitor ID) Definition for Service $06 ...........................123 Appendix E (normative) Unit and Scaling ID definition for service $06....................................................................127 E.1 Unsigned Unit and Scaling Identifiers Definition ...................................................................................127 E.2 Signed Unit and Scaling Identifiers Definition .......................................................................................144 Appendix F (normative) TIDs (Test ID) for Service $08 Scaling and Definition .......................................................152 Appendix G (normative) INFOTYPEs for Service $09 Scaling and Definition..........................................................153 1. 1.1 Scope Purpose—This document supersedes SAE J1979 SEP1997, and is technically equivalent to ISO/DIS 150315:April 30, 2002. This SAE Recommended Practice is intended to satisfy the data reporting requirements of On-Board Diagnostic (OBD) regulations in the United States and Europe, and any other region that may adopt similar requirements in the future. This document specifies: a. b. c. d. Message formats for request and response messages, Timing requirements between request messages from external test equipment and response messages from vehicles, and between those messages and subsequent request messages, Behavior of both the vehicle and external test equipment if data is not available, A set of diagnostic services, with corresponding content of request and response messages, to satisfy OBD regulations,

-4-

SAE J1979 Revised APR2002 This document includes capabilities required to satisfy OBD requirements for multiple regions, model years, engine types, and vehicle types. Those regulations are not yet final for some regions, and are expected to change in the future. This document makes no attempt to interpret the regulations and does not include applicability of the included diagnostic services and data parameters for various vehicle applications. The user of this document is responsible to verify the applicability of each section of this document for a specific vehicle, engine, model year and region. This document is based on the Open Systems Interconnection (OSI) Basic Reference Model in accordance with ISO/IEC 7498 and ISO/IEC 10731 which structures communication systems into seven layers as shown in the table below.

TABLE 1—APPLICABILITY AND RELATIONSHIP BETWEEN DOCUMENTS
Applicability OSI 7 layer Emissions-related diagnostics ISO 9141-2 Applicability OSI 7 layer Emissions-related diagnostics ISO 11898, ISO 15765-4 ISO 11898, ISO 15765-4 ISO 15765-2, ISO 15765-4 --ISO 15765-4 --SAE J1979 / ISO 15031-5

Physical (layer 1)

ISO 14230-1

SAE J1850

Seven layer according to ISO/IEC 7498 and ISO/IEC 10731

Data link (layer 2)

ISO 9141-2

ISO 14230-2

SAE J1850

Network (layer 3)

---

---

---

Transport (layer 4) Session (layer 5) Presentation (layer 6) Application (layer 7)

------SAE J1979 / ISO 15031-5

------SAE J1979 / ISO 15031-5

------SAE J1979 / ISO 15031-5

1.2

Differences from ISO Document—There are no technical differences between this document and ISO/DIS 15031-5:April 30, 2002. NOTE— Both this document and the ISO 15031-5 document are intended to satisfy the requirements of OBD requirements in the United States and Europe, and any other region that may adopt similar requirements in the future. Those regulations change with time, and often when a requirement is introduced in one region, it will later also become a requirement in another region. The ISO task force responsible for ISO 15031-5 and the SAE task force work closely together to maintain consistency in diagnostic reporting requirements in these two documents, and to ensure usability of these documents for all regions. The goal is to maintain identical technical content in the two documents, but this document may need to change if additional capabilities are required for the U.S. before the ISO document can be modified to include those changes.

-5-

SAE J1979 Revised APR2002 2. 2.1 References Applicable Publications—The following publications form a part of this specification to the extent specified herein. Unless otherwise indicated, the latest version of SAE publications shall apply. SAE PUBLICATIO NS—Available from SAE, 400 Commonwealth Drive, Warrendale, PA 15096-0001. SAE J1850: MAY2001—Class B Data Communications Network Interface. SAE J1930—Electrical/Electronic Systems Diagnostic Terms, Definitions, Abbreviations, and Acronyms Equivalent to ISO/TR 15031-2: April 30, 2002 SAE J1978—OBD II Scan Tool - Equivalent to ISO/DIS 15031-4:December 14, 2001 SAE J2012—Diagnostic Trouble Code Definitions - Equivalent to ISO/DIS 15031-6:April 30, 2002 2.1.2 ISO D O CUMENTS—Available from ANSI, 25 West 43rd Street, New York, NY 10036-8002. ISO 9141-2: 1994—Road vehicles - Diagnostic systems - Part 2: CARB requirements for interchange of digital information ISO 9141-2: 1994/ Amd.1:1996—Road vehicles - Diagnostic systems - Part 2: CARB requirements for interchange of digital information Amendment 1 ISO 14230-4:2000—Road vehicles - Keyword protocol 2000 for diagnostic systems - Part 4: Requirements for emissions-related systems ISO/DIS 15031-5: April 30, 2002—Road vehicles - Communication between vehicle and external test equipment for emissions-related diagnostics - Part 5: Emissions related diagnostic services ISO 15765-2—Road vehicles – Diagnostics on Controller Area Network (CAN) – Part 2: Network layer services ISO 15765-4—Road vehicles – Diagnostics on Controller Area Network (CAN) – Part 4: Requirements for emissions-related systems 2.2 Related Publications—The following publications are provided for information purposes only and are not a required part of this specification. SAE PUBLICATIO N—Available from SAE, 400 Commonwealth Drive, Warrendale, PA 15096-0001. SAE J1962—Diagnostic Connector - Equivalent to ISO/DIS 15031-3:December 14, 2001 2.2.2 ISO D O CUMENT—Available from ANSI, 25 West 43rd Street, New York, NY 10036-8002. ISO 15031-1:2001—Road vehicles - Communication between vehicle and external test equipment for emissions-related diagnostics - Part 1: General information 3. 3.1 Term(s) and Definition(s) Absolute Throttle Position Sensor—This value is intended to represent the throttle opening. NOTE— For systems where the output is proportional to the input voltage, this value is the percent of maximum input signal. For systems where the output is inversely proportional to the input voltage, this value is 100% minus the percent of maximum input signal. Throttle position at idle will usually indicate greater than 0%, and throttle position at wide open throttle will usually indicate less than 100%.

2.1.1

2.2.1

-6-

SAE J1979 Revised APR2002 3.2 Bank—Specific group of cylinders sharing a common control sensor, bank 1 always contains cylinder number 1, bank 2 is the opposite bank. NOTE— If there is only one bank, use bank #1 DTCs and the word bank may be omitted. With a single "bank" system utilising multiple sensors, use bank #1 DTCs identifying the sensors as #1, #2, #3 in order as they move further away from the cylinder(s). 3.3 Base Fuel Schedule—The fuel calibration schedule programmed into the Powertrain Control Module or PROM when manufactured or when updated by some off-board source, prior to any learned on-board correction. Load—Typically Calculated Load Value for spark ignition engines, an indication of the current airflow divided by peak airflow, where peak airflow is corrected for altitude, if available. NOTE— Peak airflow is typically represented as the maximum theoretical airflow possible (a single number) or is calculated as a function of engine RPM. Either method is acceptable. Mass airflow and barometric pressure sensors are not required for this calculation. This definition provides a unit-less number, and provides the service technician with an indication of the percent engine capacity that is being used. For diesel applications, the calculated load value shall be determined by the ratio of current measured or calculated output torque to maximum output torque at current engine speed. 3.5 Client—The function that is part of the tester and that makes use of the diagnostic services. A tester normally makes use of other functions such as data base management, specific interpretation, man-machine interface. Continuous Monitoring—Sampling at a rate no less than two samples per second. Convention (Cvt)—The convention column is integrated in each message table and marks each parameter included. NOTE— The following conventions are used: C = Conditional: the parameter marked "C" in a request/ response message is present only under a condition specified in the bottom row of the message table. M = Mandatory: the parameter marked "M" in a request/response message table shall always be present. U = User optional: the parameter marked "U" in a request/response message table shall or shall not be supplied, depending on dynamic usage by the manufacturer. The convention recommends a mnemonic, which might be used for implementation. In no case is the specified mnemonic a mandatory requirement for any implementation. 3.8 3.9 ECM—Engine Control Module ECU—Electronic Control Unit is a generic term for any electronic control unit.

3.4

3.6 3.7

3.10 FT—Fuel Trim, feedback adjustments to the base fuel schedule. NOTE— Short-term fuel trim refers to dynamic or instantaneous adjustments. Long-term fuel trim refers to much more gradual adjustments to the fuel calibration schedule than short-term trim adjustments. These long-term adjustments compensate for vehicle differences and gradual changes that occur over time.

-7-

SAE J1979 Revised APR2002 3.11 Negative Numbers — signed binary - the most significant bit (MSB) of the binary number is used to indicate positive (0) / negative (1) — 2s complement - negative numbers are represented by complementing the binary number and then adding 1 EXAMPLE –0.99 = 8001 hex = 1000 0000 0000 0001 binary 0 = 0000 hex = 0000 0000 0000 0000 binary +0.99 = 7FFF hex = 0111 1111 1111 1111 binary NOTE (–0.99) + (+0.99) = 0

3.12 Number—Is expressed by this symbol "#". 3.13 P2, P3 Timing Parameter—Both parameters are application timing parameters for the ECU(s) and the external test equipment. 3.14 PCM—Powertrain Control Module 3.15 Server—A function that is part of an electronic control unit and that provides the diagnostic services. NOTE— This document differentiates between the Server (i.e., the function) and the electronic control unit so that this document remains independent from the implementation. 3.16 Service—An information exchange initiated by a client (external test equipment) in order to require diagnostic information from a server (ECU) or/and to modify its behaviour for diagnostic purpose. NOTE— This is also the equivalent of test mode or mode. 3.17 SI— Abbreviation for International System of Units. 3.18 TCM—Transmission Control Module 4. 4.1 Technical Requirements Diagnostic Service, General Requirements—The requirements specified in this section are necessary to ensure proper operation of both the external test equipment and the vehicle during diagnostic procedures. External test equipment, when using messages specified, shall not affect normal operation of the emission control system. MULTIPLE R ESPONSES TO A SINGLE D ATA R EQUEST—The request messages are functional messages, which means the external test equipment will request data without knowledge of which ECU(s) on the vehicle will respond. In some vehicles, multiple ECUs may respond with the information requested. Any external test equipment requesting information shall, therefore, have provisions for receiving multiple responses. APPLICATIO N TIMING P ARAMETER DEFINITION —The definition of P2 and P3 is included in this section. A subscript is added to each timing parameter to identify the protocol: — P2 K-Line, P3K-Line: P2, P3 for ISO 9141-2 and ISO 14230-4 protocols — P2 J1850: P2 for SAE J1850 protocol — P2 CAN: P2 for ISO 15765-4 protocol

4.1.1

4.1.2

-8-

SAE J1979 Revised APR2002 4.1.2.1 Definition for ISO 9141-2—For ISO 9141-2 interfaces, Data Link Layer response time requirements are specified in ISO 9141-2. The table below specifies the application timing parameter values for P2 and P3.

TABLE 2—DEFINITION OF ISO 9141-2 APPLICATION TIMING PARAMETER VALUES
Minimum value (ms) 25 Maximum value (ms) 50

Parameter P2 K-Line Key Bytes: $08 $08 One or more ECU(s) P2 K-Line Key Bytes: $94 $94 Only one ECU P3 K-Line

Description Time between external test equipment request message and the successful transmission of the ECU(s) response message(s). Each OBD ECU shall start sending its response message within P2K-Line after the request message has been correctly received. Subsequent response messages shall also be transmitted within P2K-Line of the previous response message for multiple message responses.

0

50

Time between external test equipment request message and the successful transmission of the ECU response message(s). The OBD ECU shall start sending its response message within P2K-Line after the request message has been correctly received. Subsequent response messages shall also be transmitted within P2K-Line of the previous response message for multiple message responses.

55

5000

Time between the end of an ECU(s) successful transmission of response message(s) and start of new external test equipment request message. The external test equipment may send a new request message if all response messages related to the previously sent request message have been received and if P3K-Line minimum time expired.

4.1.2.2

Definition for ISO 14230-4—For ISO 14230-4 interfaces, Data Link Layer response time requirements are specified in ISO 14230-4 The table below specifies the application timing parameter values for P2 and P3.

TABLE 3—DEFINITION OF ISO 14230-4 APPLICATION TIMING PARAMETER VALUES
Minimum value (ms) 25 Maximum value (ms) 50

Parameter P2 K-Line

Description Time between external test equipment request message and the successful transmission of the ECU(s) response message(s). Each OBD ECU shall start sending its response message within P2K-Line after the request message has been correctly received. Subsequent response messages shall also be transmitted within P2K-Line of the previous response message for multiple message responses. Time between the end of an ECU(s) successful transmission of response message(s) and start of new external test equipment request message. The external test equipment may send a new request message if all response messages related to the previously sent request message have been received and if P3K-Line minimum time expired.

P3 K-Line

55

5000

-9-

SAE J1979 Revised APR2002 4.1.2.3 Definition for SAE J1850—For SAE J1850 network interfaces, the on-board systems shall respond to a request within P2J1850 of a request or a previous response message. With multiple response messages possible from a single request message, this allows as much time as is necessary for all ECUs to access the data link and transmit their response message(s). If there is no response message within this time period, the external test equipment can either assume no response message will be received, or if a response message has already been received, that no more response messages will be received. The application timing parameter value P2J1850 is specified in the table below.

TABLE 4—DEFINITION OF SAE J1850 APPLICATION TIMING PARAMETER VALUES
Minimum value (ms) 0 Maximum value (ms) 100

Parameter P2 J1850

Description Time between external test equipment request message and the successful transmission of the ECU(s) response message(s). Each OBD ECU shall attempt to send its response message (or at least the first of multiple response messages) within P2J1850 after the request message has been correctly received. Subsequent response messages shall also be transmitted within P2 J1850 of the previous response message for multiple message responses.

4.1.2.4

Definition for ISO 15765-4—For CAN bus systems based on ISO 15765-4, the (all) responding ECU(s) of the on-board system shall respond to a request message within P2CAN. The table below specifies the application timing parameter values for P2.

TABLE 5—DEFINITION OF ISO 15765-4 APPLICATION TIMING PARAMETER VALUES
Minimum value (ms) 0 Maximum value (ms) 50

Parameter P2 CAN

Description Time between external test equipment request message and the receipt of all unsegmented response messages and all first frames of segmented response message(s). Each OBD ECU shall start sending its response message within P2 CAN after the request message has been correctly received. Time between the successful reception of a negative response message with response code $78 and the next response message (positive or negative message).

P2*CAN

0

5000

4.1.3 4.1.3.1

MINIMUM TIME B ETWEEN R EQUESTS

FRO M

EXTERNAL TEST EQ UIP ME NT

ISO 9141-2, ISO 14230-4 - Minimum Time Between Requests from External Test Equipment—For ISO 9141-2 (K-Line) interfaces, the required times between request messages are specified in the ISO 9141-2. For ISO 14230-4 (K-Line) interfaces, the required times between request messages are specified in the ISO 14230-4. The figure below shows an example of a request message followed by four (4) response messages and another request message.

-10-

SAE J1979 Revised APR2002

FIGURE 1—ISO 9141-2 (KEY BYTES: $08 $08) AND ISO 14230-4 APPLICATION TIMING PARAMETER OVERVIEW 4.1.3.2 SAE J1850 - Minimum Tme Between Requests from External Test Equipment—For SAE J1850 network interfaces, an external test equipment shall always wait for a response message from the previous request, or "no response" time-out before sending another request message. If the number of response messages is known and all response messages have been received then the external test equipment is permitted to send the next request message immediately. If the number of response messages is not known then the external test equipment shall wait at least P2J1850 maximum time. The figure below shows an example of a request message followed by four (4) response messages and another request message.

-11-

SAE J1979 Revised APR2002

FIGURE 2—SAE J1850 APPLICATION TIMING PARAMETER OVERVIEW 4.1.3.3 ISO 15765-4 - Minimum Time Between Requests from External Test Equipment—For ISO 15765-4 network interfaces, the external test equipment may send a new request message immediately after it has determined that all responses related to the previously sent request message have been received. If the external test equipment does not know whether it has received all response messages (e.g., after sending the initial OBD request message: Service $01, PID $00) it shall wait (P2CAN maximum) after the last request (if no responses are sent) or the last response message. The timer P2CAN of the external test equipment starts with the confirmation of a successful transmission of the request message. The figure below shows an example of a request message followed by three (3) single frame response messages and another request message.

FIGURE 3—ISO 15765-4 APPLICATION TIMING PARAMETER (SINGLE FRAME RESPONSE MESSAGES) OVERVIEW -12-

SAE J1979 Revised APR2002 The figure below shows an example of a request message followed by two (2) single frames, one (1) multiple frame response message and another request message. The next request message can be sent immediately by the external test equipment after completion of all response messages in case the transmission of the response messages takes longer than P2 CAN even if the external test equipment does not know the number of responding ECUs.

FIGURE 4—ISO 15765-4 APPLICATION TIMING PARAMETER (SINGLE AND MULTIPLE FRAME RESPONSE MESSAGES NOT FINISHED WITHIN P2CAN) OVERVIEW NOTE— The Network Layer timing parameters for the multiple frame response are not shown. Network Layer timing requirements for legislated diagnostic messages are specified in ISO 15765-4. The figure below shows an example of a request message followed by one (1) single frame, one (1) multiple frame response message (completion within P2CAN) and another request message. The next request message can be sent immediately by the external test equipment after completion of all response messages if the external test equipment knows the number of responding ECUs. If not, it needs to wait with the next request message to send until P2CAN is expired.

-13-

SAE J1979 Revised APR2002

FIGURE 5—ISO 15765-4 APPLICATION TIMING PARAMETER (SINGLE AND MULTIPLE FRAME RESPONSE MESSAGES WITHIN P2CAN ) OVERVIEW NOTE— The Network Layer timing parameters for the multiple frame response are not shown. Network Layer timing requirements for legislated diagnostic messages are specified in ISO 15765-4. 4.1.3.4 ISO 15765-4 - ECU Behaviour to a Request for Supported/Non Supported OBD Information—The below shows an example of a typical vehicle OBD configuration. figure

FIGURE 6—EXTERNAL TEST EQUIPMENT CONNECTED TO TWO (2) OBD ECUS NOTE— A service shall only be implemented by an ECU if supported with data (e.g., PID/OBD Monitor ID/Test ID/InfoType supported). Typically the ECM supports OBD Monitor IDs which the TCM does not support. In case the external test equipment requests the status of such OBD Monitor ID supported by the ECM, the ECM sends a positive response message and the TCM does not send a response message (no negative response message allowed). The external test equipment knows that the TCM will not send a positive response message based on the OBD Monitor ID supported information retrieved prior to the latter request. This shall be implemented to enhance the overall diagnostic communication performance between the external test equipment and the vehicle ECUs (see Section 4.1.3.3).

-14-

SAE J1979 Revised APR2002 4.1.4 4.1.4.1 D ATA N OT AVAILABLE ISO 9141-2, ISO 14230-4, and SAE J1850 - Data Not Available—There are two conditions for which data is not available. One condition is that the service is not supported, and the other is that the service is supported but data is currently not available. For SAE J1850 and ISO 9141-2 interfaces, there will be no reject message to a functional request message if the request is not supported by the ECU. This prevents response messages from all ECUs that do not support a service or a specific data value. For ISO 14230-4 interfaces, there will be a response message to every request message either positive (with data) or negative. In order to avoid unnecessary communication the ECU(s) which does (do) not support a functionally requested PID, TID, or INFOTYPE is permitted to not send a negative response message because another ECU will send a positive response message. Format and possible codes of negative responses are specified in Section 4.2.4. Some services are supported by a vehicle, but data may not always be available when requested. For services $05 and $06, if the test has not been run since test results were cleared, or for service $02 if freeze frame data has not been stored, or for service $09 if the engine is running, valid data will not be available. For these conditions, the manufacturer has the option either to not respond or to respond with data that is invalid (ISO 9141-2 and SAE J1850 only). The functional description for these services discuss the method to determine if the data is valid. 4.1.4.2 ISO 15765-4 - Data Not Available—There are four (4) conditions for which data is not available: a. b. Request message is not supported: The ECU(s) which does (do) not support the functional request message shall not send any response message. Request message is supported but data is not supported: The ECU(s) which does (do) support the functional request message but does (do) not support the requested data (e.g., PID, OBD Monitor ID, TID, or INFOTYPE) is (are) not allowed to send a negative response message because another ECU will send a positive response message. If the external test equipment sends a message including multiple PIDs and each emission-related ECU does not support all requested PIDs then each ECU shall send a positive response message including the supported PID(s) and data values and shall not send a negative response message. If an ECU does not support any of the PIDs requested it is not allowed to send a negative response message. Request message is supported but data is currently not available: The ECU(s) which does (do) support the functional request message but does (do) not currently have the requested data available shall respond with a negative response message with response code $22 - ConditionsNotCorrect (negative response message format is specified in Section 4.2.3). For service $06 the use of a negative response message including response code $22 is not permitted. For services $04 and $09 the use of negative response code $22 is allowed only during conditions specified by OBD regulations. ECU(s) and the external test equipment is specified in Section 4.1.4.3.

c.

d. 4.1.4.3

Data Not Available Within P2 Tming—The following sections specify the request/response message handling for each protocol if the data is not available within the P2 timing in the ECU(s). ISO 9141-2 - Data not available within P2 timing—The following description only applies to service $09, InfoType $06 Calibration Verification Numbers. The ECU(s) which does (do) support the functional request message but does (do) not have the requested data available within P2 timing, a retry request message handling shall be performed as follows:

4.1.4.3.1

-15-

SAE J1979 Revised APR2002 a. b. If the response message is not received within P2 K-Line, the external test equipment shall stop retrying the request message after one (1) minute from the original request. The retry message shall be sent at least every four (4) seconds (between 55 ms and 4000 ms). The retry message keeps the bus alive and prevents the external test equipment from having to re-initialise the bus (P3 K-Line time out). The ECUs, which either have already sent a positive response message or have not sent a positive response message shall not restart the requested internal routine again. The external test equipment shall record if all ECUs have sent the expected number of response messages. After successful completion of all response messages, the external test equipment is required to send a request message which is "not equal" to the "Repeated Request" message. Additional description is included in the functional description of the corresponding service.

c. d. e.

FIGURE 7—ISO 9141-2 (KEY BYTES: $08 $08) - DATA NOT AVAILABLE WITHIN P2 TIMING HANDLING OVERVIEW NOTE— For ISO 9141-2 with key bytes $94 $94 the response message timing P2K-Line shall be according to table "Definition of ISO 9141-2 application timing parameter values".

-16-

SAE J1979 Revised APR2002 4.1.4.3.2 ISO 14230-4 - Data Not Available Within P2 Timing—The ECU(s) which does (do) support the functional request message but does (do) not have the requested data available within P2 timing, shall perform the following handling: a. b. The ECU(s) shall respond with a negative response message with response code $78 - RequestCorrectlyReceived-ResponsePending within P2 timing. ECUs which require more time than P2K-Line to perform the requested action shall repeat the negative response message with response code $78 prior to expiration of P2K-Line until the positive response message is available. After all positive response messages have been received or a time out P2K-Line max has occurred the external test equipment shall wait until P3 K-Linemin. is reached to send a new request message.

c.

FIGURE 8—ISO 14230-4 - NEGATIVE RESPONSE CODE RC=$78 HANDLING OVERVIEW

-17-

SAE J1979 Revised APR2002 4.1.4.3.3 SAE J1850 - Data Not Available Within P2 Timing—The ECU(s) which does (do) support the functional request message but does (do) not have the requested data available within P2 timing, a retry request message handling shall be performed as follows: a. b. c. If the response message is not received within P2J1850, the external test equipment shall stop retrying the request message after one (1) minute from the original request. The retry message shall be repeated after thirty (30 ±1) seconds. The external test equipment shall record if all ECUs have sent the expected number of response messages. Additional description is included in the functional description of the corresponding service.

FIGURE 9—SAE J1850 - DATA NOT AVAILABLE WITHIN P2 TIMING HANDLING OVERVIEW 4.1.4.3.4 ISO 15765-4 - Data Not Available Within P2 Timing—The ECU(s) which does (do) support the functional request message but does (do) not have the requested data available within P2 timing, shall perform the following handling: a. b. The ECU(s) shall respond with a negative response message with response code $78 RequestCorrectlyReceived-ResponsePending within P2 timing. After correct reception of the negative response message with response code $78 the P2CAN max parameter timing value shall be set to P2* CAN (5000 ms) by the external test equipment and the ECU which has sent the negative response message. If another ECU also sends a negative response message with response code $78 the P2CAN max timing parameter value shall be reset to P2*CAN. ECUs which require more than P2*CAN to perform the requested action shall repeat the negative response message with response code $78 prior to expiration of P2*CAN until correct reception of the positive response message. After all positive response messages have been received or time out P2*CANmax has occurred the P2CAN max timing parameter shall be reset to the values specified in table - Definition of ISO 15765-4 application timing parameter values. The figure below shows the negative response message handling with response code $78 for the ISO 15765-4 interface.

c. d.

e.

-18-

SAE J1979 Revised APR2002

FIGURE 10—ISO 15765-4 - NEGATIVE RESPONSE CODE RC=$78 HANDLING OVERVIEW 4.1.5 MAXIMUM VALUES—If the data value exceeds the maximum value possible to be sent, the on-board system shall send the maximum value possible ($FF or $FFFF). The external test equipment shall display the maximum value or an indication of data too high. This is not normally critical for real time diagnostics, but for example in the case of a misfire at high vehicle speed with resulting freeze frame data stored, this will be very valuable diagnostic information. Diagnostic Message Format ADDRESSING METHO D—Functional addressing shall be used for all request messages because the external test equipment does not know which system on the vehicle has the information that is needed. MAXIMUM MESSAGE L ENG TH ISO 9141-2, ISO 14230-4, SAE J1850 - Maximum Message Length—The maximum message length for request and response messages is limited to seven (7) data bytes. For SAE J1850 and ISO 9141-2 interfaces each unique diagnostic message specified in this document is a fixed length, although not all messages are the same length. For services $01 and $02, message length is determined by parameter identification (PID). For service $05, message length is determined by Test ID. For other services, the message length is determined by the service. This enables the external test equipment to check for proper message length, and to recognise the end of the message without waiting for possible additional data bytes. For ISO 14230-4 interfaces, the message length is always determined by the length information included in the first byte of the header. 4.2.2.2 ISO 15765-4 - Maximum Message Length—The maximum message length is specified in ISO 15765-2. For request messages the message length is limited to seven (7) data bytes.

4.2 4.2.1

4.2.2 4.2.2.1

-19-

SAE J1979 Revised APR2002 4.2.3 4.2.3.1 R EQUEST/R ESPONSE MESSA GE F ORMAT ISO 9141-2, ISO 14230-4, SAE J1850, ISO 15765-4 - Request Message Format—The specifies the format of the request message. following table

TABLE 6—REQUEST MESSAGE FORMAT FOR ISO 9141-2, ISO 14230-4, SAE J1850, ISO 15765-4
Data Byte #1 #2 #3 #4 #5 #6 #7 Request Service Identifier service service service service service service specific specific specific specific specific specific data data data data data data byte#1 byte#2 byte#3 byte#4 byte#5 byte#6 Parameter Name Cvt M U U U U U U Hex Value xx xx xx xx xx xx xx Mnemonic SIDRQ -------------

The message format defined for some services for the ISO 15765-4 protocol allows for an optional number of data bytes in the request message sent by the external test equipment. If these are included in the request message, support of those optional data bytes becomes mandatory for the server/ECU. 4.2.3.2 ISO 9141-2, ISO 14230-4, SAE J1850 - Positive Response Message Format—The specifies the format of the positive response message. following table

TABLE 7—POSITIVE RESPONSE MESSAGE FORMAT FOR ISO 9141-2, ISO 14230-4, SAE J1850
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Positive Response Service Identifier service service service service service service specific specific specific specific specific specific data data data data data data byte#1 byte#2 byte#3 byte#4 byte#5 byte#6 Cvt M U U U U U U Hex Value xx xx xx xx xx xx xx Mnemonic SIDPR -------------

4.2.3.3

ISO 15765-4 - Positive Response Message Format—The following table specifies the format of the positive response message.

TABLE 8—POSITIVE RESPONSE MESSAGE FORMAT FOR ISO 15765-4
Data Byte #1 #2 #3 #4 : #n-2 #n-1 #n Parameter Name Positive Response Service Identifier service specific data byte#1 service specific data byte#2 service specific data byte#3 : service specific data byte#m-2 service specific data byte#m-1 service specific data byte#m Cvt M U U U : U U U Hex Value xx xx xx xx : xx xx xx Mnemonic SIDPR ------: -------

n: this value depends on the response message length m: this value depends on the response message length – 1

-20-

SAE J1979 Revised APR2002 4.2.3.4 ISO 14230-4, ISO 15765-4 - Negative Response Message Format—This exceptions, and/or restrictions for the ISO standards which apply. The following table specifies the format of the negative response message. TABLE 9—NEGATIVE RESPONSE MESSAGE FORMAT FOR ISO 14230-4, ISO 15765-4
Data Byte #1 #2 #3 Parameter Name Negative Response Service Identifier Request Service Identifier ResponseCode Cvt M M M Hex Value 7F xx xx Mnemonic SIDNR SIDRQ RC_

section

includes

additions,

4.2.4

R ESPONSE CO DE PARAMETER D EFINITIO N—Response codes shall be implemented in an ECU which supports a service(s) not having valid data available at the time of a request or can not respond with valid data available within P2K-Line and P2 CAN timing. TABLE 10—NEGATIVE RESPONSE CODE DEFINITION

Supported by ISO 14230-4

Hex Value 10 generalReject

Definition of Response Code

Mnemonic GR

This response code indicates that the service is rejected but the server (ECU) does not specify the reason of the rejection. 14230-4 11 serviceNotSupported This response code indicates that the requested action will not be taken because the server (ECU) does not support the requested service. 14230-4 12 subFunctionNotSupported-InvalidFormat This response code indicates that the requested action will not be taken because the server (ECU) does not support the arguments of the request message or the format of the argument bytes do not match the prescribed format for the specified service. 14230-4 15765-4 21 busy-RepeatRequest This response code indicates that the server (ECU) is temporarily too busy to perform the requested operation. For ISO 15765-4 protocol the client (external test equipment) shall behave as defined in ISO 15765-4. In a multi-client (more than one external test equipment, e.g., telematic client) environment the diagnostic request message of one client might be blocked temporarily by a negative response message with response code $21 while another client finishes a diagnostic task. Therefore this negative response code is only allowed to be used during the initialisation sequence of the protocol. NOTE If the server (ECU) is able to perform the diagnostic task but needs additional time to finish the task and prepares the response message, the negative response message with response code $78 shall be used instead of $21. 22 conditionsNotCorrectOrRequestSequenceError This response code indicates that the requested action will not be taken because the server (ECU) prerequisite conditions are not met. This request may also occur when sequence sensitive requests are issued in the wrong order. 78 requestCorrectlyReceived-ResponsePending This response code indicates that the request message was received correctly, and that any parameters in the request message were valid, but the action to be performed may not be completed yet. This response code can be used to indicate that the request message was properly received and does not need to be re-transmitted, but the server (ECU) is not yet ready to receive another request. The negative response message with this response code may be repeated by the ECU(s) within P2 K-Line = P2 CAN = P2* max until the positive response message with the requested data is available. RCR-RP CNCORSE BRR SFNSIF SNS

14230-4 15765-4

14230-4 15765-4

-21-

SAE J1979 Revised APR2002 4.2.5 H EADER BYTE DEFINITION O F ISO 9141-2, ISO 14230-4, A ND SAE J1850—The first three (3) bytes of all diagnostic messages are the header bytes. For SAE J1850 and ISO 9141-2 interfaces the value of the first header byte is dependant on the bit rate of the data link and the type of message, refer to SAE J1850 and ISO 9141-2. The second header byte has a value that depends on the type of message, either a request or a response. For ISO 14230-4 interfaces, the value of the first header byte indicates the addressing mode (physical/ functional) and the length of the data field. The second header byte is the address of the receiver of the message. The third header byte for all interfaces is the physical address of the sender of the message. The external test equipment has the address $F1. Other service tools shall use addresses in the range from $F0 to $FD. The response to all request messages will be independent of the address of the external test equipment requesting the information. Vehicle manufacturers shall not use the header bytes defined in SAE J1979 for any purpose other than diagnostic messages. When they are used, they shall conform to this specification. TABLE 11—DIAGNOSTIC MESSAGE FORMAT FOR ISO 9141-2, ISO 14230-4, SAE J1850
Header bytes (Hex) Priority/Type Target address (hex) Source address (hex) #1 #2 #3 Data bytes #4 #5 #6 #7 ERR RESP

Diagnostic request at 10.4 kbit/s: SAE J1850 and ISO 9141-2 68 6A F1 Maximum 7 data bytes Yes No

Diagnostic response at 10.4 kbit/s: SAE J1850 and ISO 9141-2 48 6B ECU addr Maximum 7 data bytes Yes No

Diagnostic request at 10.4 kbit/s (ISO 14230-4) 11LL LLLLb 33 F1 Maximum 7 data bytes Yes No

Diagnostic response at 10.4 kbit/s (ISO 14230-4) 10LL LLLLb F1 addr Maximum 7 data bytes Yes No

Diagnostic request at 41.6 kbit/s (SAE J1850) 61 6A F1 Maximum 7 data bytes Yes Yes

Diagnostic response at 41.6 kbit/s (SAE J1850) 41 6B addr Maximum 7 data bytes Yes Yes

NOTE— LL LLLL = Length of data bytes; RSP = In-frame response;.ERR = Error Detection 4.2.6 H EADER BYTE DEFINITION O F ISO 15765-4—Each CAN frame is identified by a CAN Identifier. The size of the identifier is either 11 bit or 29 bit. The CAN identifier shall always be followed by an eight (8) byte CAN frame data field (refer to ISO 15765-4 Road vehicles - Diagnostics on Controller Area Network (CAN) – Part 4: Requirements for emissions-related systems; see section "Data length code (DLC)"). Depending on the message type, up to three (3) bytes (FlowControl) are used for the PCI (Protocol Control Information) prior to the Service Identifier (only included in single frame or first frame) and data bytes of the message. TABLE 12—DIAGNOSTIC MESSAGE FORMAT FOR ISO 15765-4
Header bytes CAN Identifier (11 or 29 bit) #1 #2 #3 CAN frame data field #4 #5 #6 #7 #8

-22-

SAE J1979 Revised APR2002 4.2.7 D ATA BYTES D EFINITION OF ISO 9141-2, ISO 14230-4, SAE J1850, AND ISO 15765-4—For the ISO 9141-2, ISO 14230-4, and the SAE J1850 protocol the first data byte following the header is the diagnostic service identifier, and the remaining data bytes vary depending on the specific diagnostic service. For the ISO 15765-4 protocol the first data byte following the CAN Identifier in a single frame and first frame is the PCI (Protocol Control Information, number of bytes varies, depending on frame type), then diagnostic service identifier, and the remaining data bytes vary depending on the specific diagnostic service. N ON -DATA BYTES INCLUDED IN DIA GNOSTIC MESSAG ES WITH SAE J1850—All diagnostic messages will use a cyclic redundancy check (CRC) as in SAE J1850 as the error detection (ERR) byte. In-frame response (RSP) is specified as optional in SAE J1850. For messages specified in this document, the RSP byte is required in all request and response messages at 41.6 kbit/s, and is not allowed for messages at 10.4 kbit/s. The in-frame response byte shall be the node address of the device transmitting the RSP. SAE J1850 specifies additional message elements that may be included in diagnostic messages. Use of these message elements is beyond the scope of this document, but needs to be considered when specifying total diagnostic messages. N ON -DATA BYTES INCLUDED IN DIA GNOSTIC MESSAG ES WITH ISO 9141-2 AND ISO 14230-4—Messages will include a checksum, specified in ISO 9141-2 and ISO 14230-4, after the data bytes as the error detection byte (ERR). There is no provision for an in-frame response.

4.2.8

4.2.9

4.2.10 BIT POSITION C ONVENTION—Some data byte values include descriptions that are based on bit positions within the byte. The convention used is that the most significant bit (MSB) is referred to as "bit 7," and the least significant bit (LSB) is referred to as "bit 0," as shown in the figure below.

FIGURE 11—BIT POSITION WITHIN A DATA BYTE 4.3 Allowance for Expansion and Enhanced Diagnostic Services—This document allows for the addition of diagnostic services both as industry standards and manufacturer specific services. The diagnostic services $00 through $0F are reserved - to be specified by SAE and/or ISO. Definition of PIDs for Service $01 and $02—All PIDs are defined in Appendix B. Format of Data to be Displayed—The table below indicates the type of data and minimum requirements for format of the display.

4.4 4.5

-23-

SAE J1979 Revised APR2002

TABLE 13—FORMAT OF DATA TO BE DISPLAYED
Data Device ID - source address of response Services all Display Format ISO 9141-2:Hexadecimal (00 to FF) ISO 14230-4:Hexadecimal (00 to FF) SAE J1850:Hexadecimal (00 to FF) ISO 15765-4:Hexadecimal (11 bit or 29 bit CAN Identifier) Hexadecimal (00 to FF) description (see Appendix B) Decimal (0 to 255) See Appendix B "P", "B", "C" or "U", plus 4 hexadecimal characters and/or DTC definition - see SAE J2012 Hexadecimal (00 to FF) Engineering units for Test IDs less than $80 (see Appendix C ) - Decimal (0 to 255) for test IDs greater than $80 Decimal (0 to 65535) Hexadecimal (00 to 7F) 4 bytes, each decimal (0 to 255) (see Appendix F ) Hexadecimal (00 to 7F) (see Appendix G ) ASCII for information types $02 and $04; Hexadecimal for information type $06 Decimal for information type $08 (see Appendix G )

Parameter ID (PID) Frame number Data values Diagnostic trouble codes

$01 & $02 $02 $01 & $02 $03 & $07

Test ID Test value and test limits

$05, $06 & $08 $05

Test value and test limits Component ID Optional data bytes Vehicle information type Vehicle information data

$06 $06 $08 $09 $09

5. 5.1 5.1.1

Diagnostic Service Definition for ISO 9141-2, ISO 14230-4, and SAE J1850 Service $01 - Request Current Powertrain Diagnostic Data FUNCTIONAL DESCRIPTIO N—The purpose of this service is to allow access to current emission-related data values, including analogue inputs and outputs, digital inputs and outputs, and system status information. The request for information includes a parameter identification (PID) value that indicates to the on-board system the specific information requested. PID specifications, scaling information, and display formats are included in Appendix B. The ECU(s) will respond to this message by transmitting the requested data value last determined by the system. All data values returned for sensor readings will be actual readings, not default or substitute values used by the system because of a fault with that sensor. Not all PIDs are applicable or supported by all systems. PID $00 is a bit-encoded PID that indicates, for each ECU, which PIDs that ECU supports. PID $00 shall be supported by all ECUs that respond to a service $01 request, because the external test equipment that conforms to SAE J1978 use the presence of a response message by the vehicle to this request message to determine which protocol is supported for diagnostic communications. Appendix A defines how to encode supported PIDs.

-24-

SAE J1979 Revised APR2002 5.1.2 5.1.2.1 MESSA GE D ATA B YTES Request Current Powertrain Diagnostic Data Request Message Definition (read supported PIDs) TABLE 14—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE (READ SUPPORTED PIDS)
Data Byte #1 #2 Parameter Name Request current powertrain diagnostic data request SID PID (see Appendix A) Cvt M M Hex Value 01 xx Mnemonic SIDRQ PID

5.1.2.2

Request Current Powertrain Diagnostic Data Response Message Definition (report supported PIDs) TABLE 15—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE (REPORT SUPPORTED PIDS)

Data Byte #1 #2 #3 #4 #5 #6

Parameter Name Request current powertrain diagnostic data response SID data record of supported PID = [ supported PID data A, data B, data C, data D ]

Cvt M M M M M M

Hex Value 41 xx xx xx xx xx

Mnemonic SIDPR PIDREC_ PID DATA_A DATA_B DATA_C DATA_D

5.1.2.3

Request Current Powertrain Diagnostic Data Request Message Definition (read PID value) TABLE 16—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE (READ PID VALUE)

Data Byte #1 #2

Parameter Name Request current powertrain diagnostic data request SID PID (see Appendix B)

Cvt M M/C

Hex Value 01 xx

Mnemonic SIDRQ PID

C = Conditional — PID value shall be one of the supported PIDs of previous response message

5.1.2.4

Request Current Powertrain Diagnostic Data Response Message Definition (Report PID Value) TABLE 17—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE (REPORT PID VALUE)

Data Byte #1 #2 #3 #4 #5 #6

Parameter Name Request current powertrain diagnostic data response SID data record of 1st supported PID = [ PID data A, data B, data C, data D ]

Cvt M M M C C C

Hex Value 41 xx xx xx xx xx

Mnemonic SIDPR PIDREC_ PID DATA_A DATA_B DATA_C DATA_D

C = Conditional — data B - D depend on selected PID value

NOTE— The PID, which is included in the request message may be supported by all emission-related ECUs, which shall comply with this specification. Therefore, multiple response messages are sent by the vehicle ECUs.

-25-

SAE J1979 Revised APR2002 5.1.3 5.1.3.1 5.1.3.2 5.1.4 PARAMETER DE FINITION PIDs Supported—"Appendix A" specifies the interpretation of the data record of supported PIDs. PID and Data Byte Descriptions—"Appendix B" specifies standardised emission-related parameters. MESSA GE E XAMPLE—The example below shows how the "Request current powertrain diagnostic data" service shall be implemented. Step #1: Request Supported PIDs from Vehicle—The external test equipment requests supported PIDs (PID = $00, $20) from the vehicle. Refer to Appendix A to interpret the data bytes in the response messages. TABLE 18—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request current powertrain diagnostic data request SID PID used to determine PID support for PIDs 01-20 Byte Value (Hex) 01 00 Mnemonic SIDRQ PID

5.1.4.1

TABLE 19—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request current powertrain diagnostic data response SID PID requested Data byte A, representing support for PIDs 01, 03-08 Data byte B, representing support for PIDs 09, 0B-10 Data byte C, representing support for PIDs 11, 13, 15 Data byte D, representing support for PIDs 19, 1C, 20 Byte Value (Hex) 41 00 10111111b = $BF 10111111b = $BF 10101000b = $A8 10010001b = $91 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D

TABLE 20—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#2 → External test equipment Response Description (all values are in hexadecimal) Request current powertrain diagnostic data response SID PID requested Data byte A, representing support for PID 01 Data byte B, representing support for PID 0D Data byte C, representing no support for PIDs 11-18 Data byte D, representing no support for PIDs 19-20 Byte Value (Hex) 41 00 10000000b = $80 00001000b = $08 00000000b = $00 00000000b = $00 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D

-26-

SAE J1979 Revised APR2002

TABLE 21—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request current powertrain diagnostic data request SID PID requested Byte Value (Hex) 01 20 Mnemonic SIDRQ PID

TABLE 22—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request current powertrain diagnostic data response SID PID requested Data byte A, representing support for PID 21 Data byte B, representing no support for PIDs 29-30 Data byte C, representing no support for PIDs 31-38 Data byte D, representing no support for PIDs 39-40 Byte Value (Hex) 41 20 10000000b = $80 00000000b = $00 00000000b = $00 00000000b = $00 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D

NOTE— ECU #2 does not send a response message because it indicated with the previous response message that it does not support PID $20. Now the external test equipment creates an internal list of supported PIDs for each ECU. The ECU #1 (ECM) supports the following PIDs: $01, $03 - $09, $0B - $11, $13, $15, $19, $1C, $20, $21. The ECU #2 (TCM) supports the PIDs: $01 and $0D. 5.1.4.2 Step #2: Request PID from Vehicle—The external test equipment requests the following PID from the vehicle: — PID $01:Number of emission-related powertrain DTCs and MIL status, PID is supported by ECU #1 (ECM) and ECU #2 (TCM) TABLE 23—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request current powertrain diagnostic data request SID PID: Number of emission-related powertrain DTCs and MIL status Byte Value (Hex) 01 01 Mnemonic SIDRQ PID

-27-

SAE J1979 Revised APR2002

TABLE 24—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request current powertrain diagnostic data response SID PID: Number of emission-related powertrain DTCs and MIL status MIL: ON; Number of emission-related powertrain DTCs: 01 Misfire -, Fuel system -, Comprehensive monitoring Catalyst -, Heated catalyst -, …, monitoring supported Catalyst -, Heated catalyst -, …, monitoring test complete/not complete Byte Value (Hex) 41 01 81 33 FF 63 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D

TABLE 25—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#2 → External test equipment Response Description (all values are in hexadecimal) Request current powertrain diagnostic data response SID PID: Number of emission-related powertrain DTCs and MIL status MIL: OFF; Number of emission-related powertrain DTCs: 01 Comprehensive monitoring: supported, test complete Catalyst -, Heated catalyst -, …, monitoring supported Catalyst -, Heated catalyst -, …, monitoring test complete/not complete Byte Value (Hex) 41 01 01 44 00 00 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D

The external test equipment requests the following PID from the vehicle: — PID $19: Bank 2 - Sensor 2, PID is supported by ECU #1 (ECM)

TABLE 26—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request current powertrain diagnostic data request SID PID: Oxygen Sensor Output Voltage (B2 - S2) Short Term Fuel Trim (B2 - S2) Byte Value (Hex) 01 19 Mnemonic SIDRQ PID

-28-

SAE J1979 Revised APR2002

TABLE 27—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request current powertrain diagnostic data response SID PID: Oxygen Sensor Output Voltage (B2 - S2) Short Term Fuel Trim (B2 - S2) Oxygen Sensor Output Voltage (B2 - S2): 0.8 Volt Short Term Fuel Trim (B2 - S2): 93.7 % Byte Value (Hex) 41 19 A0 78 Mnemonic SIDPR PID DATA_A DATA_B

NOTE— ECU#2 does not support PID $19 and therefore does not send a response message. 5.2 5.2.1 Service $02 - Request Powertrain Freeze Frame Data FUNCTIONAL DESCRIPTIO N—The purpose of this service is to allow access to emission-related data values in a freeze frame. This allows expansion to meet manufacturer specific requirements not necessarily related to the required freeze frame, and not necessarily containing the same data values as the required freeze frame. The request message includes a parameter identification (PID) value that indicates to the on-board system the specific information requested. PID specifications, scaling information, and display formats for the freeze frame are included in Appendix B. The ECU(s) will respond to this message by transmitting the requested data value stored by the system. All data values returned for sensor readings will be actual stored readings, not default or substitute values used by the system because of a fault with that sensor. Not all PIDs are applicable or supported by all systems. PID $00 is a bit-encoded PID that indicates, for each ECU, which PIDs that ECU supports. Therefore, PID $00 shall be supported by all ECUs that respond to a service $02 request as specified even if the ECU does not have a freeze frame stored at the time of the request. Appendix A defines how to encode supported PIDs. PID $02 indicates the DTC that caused the freeze frame data to be stored. If freeze frame data is not stored in the ECU, the system shall report $00 00 as the DTC. Any data reported when the stored DTC is $00 00 may not be valid. The frame number byte will indicate $00 for the mandated freeze frame data. Manufacturers may optionally save additional freeze frames and use this service to obtain that data by specifying the freeze frame number in the request message. If a manufacturer uses these additional freeze frames, they will be stored under conditions specified by the manufacturer, and contain data specified by the manufacturer.

-29-

SAE J1979 Revised APR2002 5.2.2 5.2.2.1 MESSA GE D ATA B YTES Request Powertrain Freeze Frame Data Request Message Definition (Read Supported PIDs) TABLE 28—REQUEST POWERTRAIN FREEZE FRAME DATA REQUEST MESSAGE (READ SUPPORTED PIDS)
Data Byte #1 #2 #3 Parameter Name Request powertrain freeze frame data request SID PID (see Appendix A) frame # Cvt M M M Hex Value 02 xx xx Mnemonic SIDRQ PID FRNO

5.2.2.2

Request Powertrain Freeze Frame Data Response Message Definition (Report Supported PIDs) TABLE 29—REQUEST POWERTRAIN FREEZE FRAME DATA RESPONSE MESSAGE (REPORT SUPPORTED PIDS)

Data Byte #1 #2 #3 #4 #5 #6 #7

Parameter Name Request powertrain freeze frame data response SID PID frame # data record of supported PIDs = [ Data Data Data Data A: B: C: D: supported PIDs, supported PIDs, supported PIDs, supported PIDs ]

Cvt M M M M M M M

Hex Value 42 xx xx xx xx xx xx

Mnemonic SIDPR PID FRNO DATAREC_ DATA_A DATA_B DATA_C DATA_D

5.2.2.3

Request Powertrain Freeze Frame Data Request Message Definition (Read Freeze Frame PID Value) TABLE 30—REQUEST POWERTRAIN FREEZE FRAME DATA REQUEST MESSAGE (READ FREEZE FRAME PID VALUE)

Data Byte #1 #2 #3

Parameter Name Request current powertrain diagnostic data request SID PID (see Appendix B) frame #

Cvt M M/C M

Hex Value 02 xx xx

Mnemonic SIDRQ PID FRNO

C = Conditional — PID value shall be one of the supported PIDs of previous response message

5.2.2.4

Request Powertrain Freeze Frame Data Response Message Definition (Report Freeze Frame PID Value) TABLE 31—REQUEST POWERTRAIN FREEZE FRAME DATA RESPONSE MESSAGE DEFINITION (REPORT FREEZE FRAME PID VALUE)

Data Byte #1 #2 #3 #3 #4 #5 #6

Parameter Name Request powertrain freeze frame data response SID PID frame # data record = [ Data Data Data Data A, B, C, D]

Cvt M M M M C C C

Hex Value 42 xx xx xx xx xx xx

Mnemonic SIDPR PID FRNO DATAREC_ DATA_A DATA_B DATA_C DATA_D

C = Conditional — data B - D depend on selected PID value

-30-

SAE J1979 Revised APR2002 5.2.3 5.2.3.1 5.2.3.2 5.2.3.3 PARAMETER DE FINITION PIDs Supported—"Appendix A" specifies the interpretation of the data record of supported PIDs. PID and Data Byte Descriptions—"Appendix B" specifies standardized emission-related parameters. Frame # Description—The frame number identifies the freeze frame, which includes emission-related data values in case an emission-related DTC is detected by the ECU. MESSA GE E XAMPLE—The example below shows how the "Request powertrain freeze frame data" service shall be implemented. Step #1: Request Supported Powertrain Freeze Frame PIDs from Vehicle—The external test equipment requests all supported powertrain freeze frame PIDs of freeze frame $00 from the vehicle. Refer to the example of service $01 how to request supported PIDs. As a result of the supported PID request the external test equipment creates an internal list of supported PIDs for each ECU. ECU #1 (ECM) supports the following PIDs: $01 - $09, $0B - $0E. ECU #2 (TCM) does not support any PIDs for this service. 5.2.4.2 Step #2: Request PID $02 "DTC Which Caused Freeze Frame to be Stored" from Vehicle Case #1: Freeze Frame Data are Stored in ECU #1: Now the external test equipment requests PID $02 of freeze frame $00 from the vehicle. Since the ECU #2 (TCM) does not store a freeze frame data record only the ECU #1 (ECM) will send a response message. In this example the freeze frame data are stored based on a DTC P0130 occurrence. The parameter value of PID $02 "DTC that caused required freeze frame data storage" is set to the DTC P0130. TABLE 32—REQUEST POWERTRAIN FREEZE FRAME DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request powertrain freeze frame data request SID PID: DTC that caused required freeze frame data storage Frame # Byte Value (Hex) 02 02 00 Mnemonic SIDRQ PID FRNO

5.2.4

5.2.4.1

TABLE 33—REQUEST POWERTRAIN FREEZE FRAME DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 ECU #1 → External test equipment Response Description (all values are in hexadecimal) Request powertrain freeze frame data response SID PID: DTC that caused required freeze frame data storage Frame #: 00 DTC High Byte of P0130 DTC Low Byte of P0130 Byte Value (Hex) 42 02 00 01 30 Mnemonic SIDPR PID FRNO DATA_A DATA_B

-31-

SAE J1979 Revised APR2002 Case #2: No freeze frame data are stored in any ECU: If no freeze frame data are stored then the ECU(s) which support this service but do not have any freeze frame stored shall send a response message with the parameter values of DATA_A and DATA_B of PID $02 "DTC that caused required freeze frame data storage" set to $0000. TABLE 34—REQUEST POWERTRAIN FREEZE FRAME DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request powertrain freeze frame data request SID PID: DTC that caused required freeze frame data storage Frame #: 00 Byte Value (Hex) 02 02 00 Mnemonic SIDRQ PID FRNO

TABLE 35—REQUEST POWERTRAIN FREEZE FRAME DATA RESPONSE MESSAGE (SERVICE $02, PID $02, FRAME #$00)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 ECU #1 → External test equipment Response Description (all values are in hexadecimal) Request powertrain freeze frame data response SID PID: DTC that caused required freeze frame data storage Frame #: 00 DTC High Byte: zero value indicates, that no freeze frame is stored DTC Low Byte: zero value indicates, that no freeze frame is stored Byte Value (Hex) 42 02 00 00 00 Mnemonic SIDPR PID FRNO DATA_A DATA_B

NOTE—The DTC value reported is $00 00, therefore no valid freeze frame data are stored for supported PIDs. 5.3 5.3.1 Service $03 - Request Emission-Related Diagnostic Trouble Codes FUNCTIONAL DESCRIPTIO N—The purpose of this service is to enable the external test equipment to obtain "confirmed" emission-related DTCs. This shall be a two step process for the external test equipment. Step 1 - Send a service $01, PID $01 request to get the number of emission-related DTCs from all ECUs that have this available. Each ECU that has a DTC(s) stored will respond with a message that includes the number of stored codes to be reported. If an ECU is capable of storing emission-related DTCs does not have stored DTCs, then that ECU shall respond with a message indicating zero DTCs are stored. Step 2 - Send a service $03 request for all emission-related DTCs. Each ECU that has DTCs will respond with one or more messages, each containing up to three (3) DTCs. If no emission-related DTCs are stored in the ECU, then the ECU may not respond to this request. If additional DTCs are set between the time that the number of DTCs are reported by an ECU, and the DTCs are reported by an ECU, then the number of DTCs reported could exceed the number expected by the external test equipment. In this case, the external test equipment shall repeat this cycle until the number of DTCs reported equals the number expected based on the service $01, PID $01 response.

-32-

SAE J1979 Revised APR2002 DTCs are transmitted in two (2) bytes of information for each DTC. The first two (2) bits (high order) of the first (1) byte for each DTC indicate whether the DTC is a Powertrain, Chassis, Body, or Network DTC (refer to SAE J2012 for additional interpretation of this structure). The second two (2) bits will indicate the first (1) digit of the DTC (0 through 3). The second (2) nibble of the first (1) byte and the entire second (2) byte are the next three (3) hexadecimal characters of the actual DTC reported hexadecimal. A Powertrain DTC transmitted as $0143 shall be displayed as P0143 (see figure below).

FIGURE 12—DIAGNOSTIC TROUBLE CODE ENCODING EXAMPLE DTC P0143 If less than three (3) DTCs are reported, the response message used to report DTCs shall have their unused bytes set to zero to maintain the required fixed message length for all messages. If there are no DTCs to report, a response message is allowed, but not required for SAE J1850 and ISO 9141-2 interfaces. For ISO 14230-4 interfaces, the ECU will respond with a report containing no DTCs (DTC#1, DTC#2, and DTC#3 shall be all set to $00). 5.3.2 5.3.2.1 MESSA GE D ATA B YTES Request Current Powertrain Diagnostic Data Request Message Definition (PID $01)

TABLE 36—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE (PID $01)
Data Byte #1 #2 Parameter Name Request current powertrain diagnostic data request SID PID {Number of emission-related DTCs and MIL status} Cvt M M Hex Value 01 01 Mnemonic SIDRQ PID

5.3.2.2

Request Current Powertrain Diagnostic Data Response Message Definition (PID $01)

TABLE 37—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE (PID $01)
Data Byte #1 #2 Parameter Name Request current powertrain diagnostic data response SID PID {Number of emission-related DTCs and MIL status} data record = [ #3 #4 #5 #6 Data A, Data B, Data C, Data D ] M M M M xx xx xx xx Cvt M M Hex Value 41 01 Mnemonic SIDPR PID DATAREC_ DATA_A DATA_B DATA_C DATA_D

5.3.2.3

Request Emission-Related DTC Request Message Definition TABLE 38—REQUEST EMISSION-RELATED DTC REQUEST MESSAGE

Data Byte #1

Parameter Name Request emission-related DTC request SID

Cvt M

Hex Value 03

Mnemonic SIDRQ

-33-

SAE J1979 Revised APR2002 5.3.2.4 Request Emission-Related DTC Response Message Definition TABLE 39—REQUEST EMISSION-RELATED DTC RESPONSE MESSAGE
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request emission-related DTC response SID DTC#1 (High Byte) DTC#1 (Low Byte) DTC#2 (High Byte) DTC#2 (Low Byte) DTC#3 (High Byte) DTC#3 (Low Byte) Cvt M M/C M/C M/C M/C M/C M/C Hex Value 43 xx xx xx xx xx xx Mnemonic SIDPR DTC1HI DTC1LO DTC2HI DTC2LO DTC3HI DTC3LO

C = Conditional — DTC#1, DTC#2, and DTC#3 are always present. If no valid DTC number is included the DTC values shall contain $00

5.3.3 5.3.4

PARAMETER DE FINITION —This service does not support any parameters. MESSA GE E XAMPLE—The example below shows how the "Request emission-related DTCs" service shall be implemented. The external test equipment requests emission-related DTCs from the vehicle. The vehicle supports the ISO 14230-4 protocol. The ECU#1 (ECM) has six (6) DTCs stored, the ECU #2 (TCM) has one (1) DTC stored, and the ECU #3 (ABS/Traction Control) has no DTC stored. — ECU #1 (ECM): — ECU #2 (TCM): — ECU #3 (ABS/Traction Control): P0143, P0196, P0234, P02CD, P0357, P0A24 P0443 no DTC stored (response message is optional for ISO 9141-2 and SAE J1850)

The external test equipment requests the following PID from the vehicle: — PID $01: Number of emission-related DTCs and MIL status, PID is supported by ECU #1 (ECM), ECU #2 (TCM), and ECU #3 (ABS/Traction Control) TABLE 40—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request current powertrain diagnostic data request SID PID: Number of emission-related DTCs and MIL status Byte Value (Hex) 01 01 Mnemonic SIDRQ PID

TABLE 41—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request current powertrain diagnostic data response SID PID: Number of emission-related DTCs and MIL status MIL: ON; Number of emission-related DTCs: 06 Misfire -, Fuel system -, Comprehensive monitoring Catalyst -, Heated catalyst -, …, monitoring supported Catalyst -, Heated catalyst -, …, monitoring test complete/not complete Byte Value (Hex) 41 01 86 33 FF 63 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D

-34-

SAE J1979 Revised APR2002

TABLE 42—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#2 → External test equipment Response Description (all values are in hexadecimal) Request current powertrain diagnostic data response SID PID: Number of emission-related DTCs and MIL status MIL: OFF; Number of emission-related DTCs: 01 Comprehensive monitoring: supported, test complete Catalyst -, Heated catalyst -, …, monitoring supported Catalyst -, Heated catalyst -, …, monitoring test complete/not complete Byte Value (Hex) 41 01 01 44 00 00 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D

TABLE 43—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#3 → External test equipment Response Description (all values are in hexadecimal) Request current powertrain diagnostic data response SID PID: Number of emission-related DTCs and MIL status MIL: OFF; Number of emission-related DTCs: 00 Comprehensive monitoring: supported, test complete Catalyst -, Heated catalyst -, …, monitoring supported Catalyst -, Heated catalyst -, …, monitoring test complete/not complete Byte Value (Hex) 41 01 00 00 00 00 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D

The external test equipment requests emission-related DTCs because ECU #1 has six (6) DTCs stored, ECU #2 has one (1) DTC stored, and ECU #3 has no (0) DTC stored. TABLE 44—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request emission-related DTC request SID Byte Value (Hex) 03 Mnemonic SIDRQ

TABLE 45—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU #1 → External test equipment Response Description (all values are in hexadecimal) Request emission-related DTC response SID DTC#1 High Byte of P0143 DTC#1 Low Byte of P0143 DTC#2 High Byte of P0196 DTC#2 Low Byte of P0196 DTC#3 High Byte of P0234 DTC#3 Low Byte of P0234 Byte Value (Hex) 43 01 43 01 96 02 34 Mnemonic SIDPR DTC1HI DTC1LO DTC2HI DTC2LO DTC3HI DTC3LO

-35-

SAE J1979 Revised APR2002

TABLE 46—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU #2 → External test equipment Response Description (all values are in hexadecimal) Request emission-related DTC response SID DTC#1 High Byte of P0443 DTC#1 Low Byte of P0443 DTC#2 High Byte: 00 DTC#2 Low Byte: 00 DTC#3 High Byte: 00 DTC#3 Low Byte: 00 Byte Value (Hex) 43 04 43 00 00 00 00 Mnemonic SIDPR DTC1HI DTC1LO DTC2HI DTC2LO DTC3HI DTC3LO

TABLE 47—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU #1 → External test equipment Response Description (all values are in hexadecimal) Request emission-related DTC response SID DTC#1 High Byte of P02CD DTC#1 Low Byte of P02CD DTC#2 High Byte of P0357 DTC#2 Low Byte of P0357 DTC#3 High Byte of P0A24 DTC#3 Low Byte of P0A24 Byte Value (Hex) 43 02 CD 03 57 0A 24 Mnemonic SIDPR DTC1HI DTC1LO DTC2HI DTC2LO DTC3HI DTC3LO

TABLE 48—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU #3 → External test equipment Response Description (all values are in hexadecimal) Request emission-related DTC response SID DTC#1 High Byte: 00 DTC#1 Low Byte: 00 DTC#2 High Byte: 00 DTC#2 Low Byte: 00 DTC#3 High Byte: 00 DTC#3 Low Byte: 00 Byte Value (Hex) 43 00 00 00 00 00 00 Mnemonic SIDPR DTC1HI DTC1LO DTC2HI DTC2LO DTC3HI DTC3LO

NOTE— For ISO 9141-2 and SAE J1850 protocols the ECU #3 response message is optional because there is no DTC stored. If ISO 14230-4 protocol is supported by the vehicle, ECU #3 shall send a positive response message with no DTCs.

-36-

SAE J1979 Revised APR2002 5.4 5.4.1 Service $04 - Clear/Reset Emission-Related Diagnostic Information FUNCTIONAL DESCRIPTIO N—The purpose of this service is to provide a means for the external test equipment to command ECUs to clear all emission-related diagnostic information. This includes: — — — — — — — — — — — — Number of diagnostic trouble codes Diagnostic trouble codes Trouble code for freeze frame data Freeze frame data Oxygen sensor test data Status of system monitoring tests On-board monitoring test results Distance travelled while MIL is activated Number of warm-ups since DTC cleared Distance since diagnostic trouble codes cleared Minutes run by the engine while MIL activated Time since diagnostic trouble codes cleared (can (can (can (can (can (can (can (can (can (can (can (can be read with Service $01, PID $01) be read with Service $03) be read with Service $02, PID $02) be read with Service $02) be read with Service $05) be read with Service $01, PID $01) be read with Services $06 and $07) be read with Service $01, PID $21) be read with Service $01, PID $30) be read with Service $01, PID $31) be read with Service $01, PID $4D) be read with Service $01, PID $4E)

Other manufacturer specific "clearing/resetting" actions may also occur in response to this request message. For safety and/or technical design reasons, some ECUs may not respond to this service under all conditions. All ECUs shall respond to this service request with the ignition ON and with the engine not running. ECUs that cannot perform this operation under other conditions, such as with the engine running, will ignore the request with SAE J1850 and ISO 9141-2 interfaces, or will send a negative response message with ISO 14230-4 interfaces, as described in ISO 14230-4. 5.4.2 5.4.2.1 MESSA GE D ATA B YTES Clear/Reset Emission-Related Diagnostic Information Request Message Definition

TABLE 49—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION REQUEST MESSAGE
Data Byte #1 Parameter Name Clear/reset emission-related diagnostic information request SID Cvt M Hex Value 04 Mnemonic SIDRQ

5.4.2.2

Clear/Reset Emission-Related Diagnostic Information Response Message Definition

TABLE 50—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION RESPONSE MESSAGE
Data Byte #1 Parameter Name Clear/reset emission-related diagnostic information response SID Cvt M Hex Value 44 Mnemonic SIDPR

5.4.3 5.4.4

PARAMETER DE FINITION —This service does not support any parameters. MESSA GE E XAMPLE—This example is based on the example of service $03 as described in Section 5.3.4. The external test equipment commands the vehicle to Clear/reset emission-related diagnostic information with the engine running. The ECU #1 (ECM) and ECU #2 (TCM) will send a response message to confirm that all emission-related diagnostic information is cleared. For ISO 9141-2 and SAE J1850 protocols ECU #3 (ABS/Traction Control) will not send a response message because the conditions to perform the requested action are not met. For ISO 14230-4 protocol ECU #3 will send a negative response message with response code $22 - conditionsNotCorrect. In such case the external test equipment shall post a message with "Stop engine and turn ON ignition" and then repeat the service $04 command and check for response messages from all emission-related ECUs installed in the vehicle.

-37-

SAE J1979 Revised APR2002

TABLE 51—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 External test equipment → All ECUs Request Description (all values are in hexadecimal) Clear/reset emission-related diagnostic information request SID Byte Value (Hex) 04 Mnemonic SIDRQ

TABLE 52—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Clear/reset emission-related diagnostic information response SID Byte Value (Hex) 44 Mnemonic SIDPR

TABLE 53—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 ECU#2 → External test equipment Response Description (all values are in hexadecimal) Clear/reset emission-related diagnostic information response SID Byte Value (Hex) 44 Mnemonic SIDPR

TABLE 54—NEGATIVE RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 ECU#3 → External test equipment Response Description (all values are in hexadecimal) Negative Response Service Identifier Clear/reset emission-related diagnostic information request SID Negative Response Code: conditionsNotCorrect Byte Value (Hex) 7F 04 22 Mnemonic SIDNR SIDRQ NR_CNC

NOTE— For ISO 14230-4 protocol the conditions of ECU#3 to Clear/reset emission-related diagnostic information are not met. Therefore ECU #3 sends a negative response message with response code "conditionsNotCorrect". The external test equipment shall repeat the request after the conditions of the vehicle have changed by the user. Now, all ECUs shall send a positive response message to the external test equipment to confirm successful operation of the Clear/reset emission-related diagnostic information service.

-38-

SAE J1979 Revised APR2002 5.5 5.5.1 Service $05 - Request Oxygen Sensor Monitoring Test Results FUNCTIONAL DESCRIPTIO N—The purpose of this service is to allow access to the on-board oxygen sensor monitoring test results. The same information may be obtained by the use of service $06. The request message for test results includes a Test ID value that indicates the information requested. Test value definitions, scaling information, and display formats are included in Appendix C. Many methods may be used to calculate test results for this service by different manufacturers. If data values are to be reported using these messages that are different from those specified, ranges of test values have been assigned that can be used which have standard units of measure. The external test equipment can convert these values and display them in the standard units. The ECU will respond to this message by transmitting the requested test data last determined by the system. The latest test results are to be retained, even over multiple ignition OFF cycles, until replaced by more recent test results. Test results are requested by Test ID. Not all test values are applicable or supported by all vehicles. An optional feature of this service is for the ECU to indicate which Test IDs are supported. Test ID $00 is a bit-encoded value that indicates support for Test IDs from $01 to $20. Test ID $20 indicates support for Test IDs $21 through $40, etc. This is the same concept as used for PID support in services $01 and $02 as specified in Appendix A. If Test ID $00 is not supported, then the ECU does not use this feature to indicate Test ID support. 5.5.2 5.5.2.1 MESSA GE D ATA B YTES Request Oxygen Sensor Monitoring Test Results Request Message Definition (Read Supported TIDs) TABLE 55—REQUEST OXYGEN SENSOR MONITORING TEST RESULTS REQUEST MESSAGE (READ SUPPORTED TIDS)
Data Byte #1 #2 #3 Parameter Name Request oxygen sensor monitoring test results request SID Test ID (see Appendix A) O2 Sensor # Cvt M M M Hex Value 05 xx xx Mnemonic SIDRQ TID O2SNO

5.5.2.2

Request Oxygen Sensor Monitoring Test Results Response Message Definition (Report Supported TIDs) TABLE 56—REQUEST OXYGEN SENSOR MONITORING TEST RESULTS RESPONSE MESSAGE (REPORT SUPPORTED TIDS)

Data Byte #1 #2 #3 #4 #5 #6 #7

Parameter Name Request oxygen sensor monitoring test results response SID Test ID O2 Sensor # data record of supported Test IDs = [ Data A: supported Test IDs, Data B: supported Test IDs, Data C: supported Test IDs, Data D: supported Test IDs ]

Cvt M M M M M M M

Hex Value 45 xx xx xx xx xx xx

Mnemonic SIDPR TID O2SNO DATA_A DATA_B DATA_C DATA_D

-39-

SAE J1979 Revised APR2002 5.5.2.3 Request Oxygen Sensor Monitoring Test Results Request Message Definition (Read TID Values) TABLE 57—REQUEST OXYGEN SENSOR MONITORING TEST RESULTS REQUEST MESSAGE (READ TID VALUES)
Data Byte #1 #2 #3 Parameter Name Request oxygen sensor monitoring test results request SID Test ID O2 Sensor # Cvt M M M Hex Value 05 xx xx Mnemonic SIDRQ TID O2SNO

5.5.2.4

Request Oxygen Sensor Monitoring Test Results Response Message Definition (Report TID Values) TABLE 58—REQUEST OXYGEN SENSOR MONITORING TEST RESULTS RESPONSE MESSAGE (REPORT TID VALUES)

Data Byte #1 #2 #3 #4 #5 #6

Parameter Name Request oxygen sensor monitoring test results response SID TEST ID O2 Sensor # data record of Test ID = [ Test Value Minimum Limit Maximum Limit ]

Cvt M M M M C C

Hex Value 45 xx xx xx xx xx

Mnemonic SIDPR TID O2SNO TESTVAL MINLIMIT MAXLIMIT

C = Conditional — if the supported Test ID is a constant ($01 - $04) the parameters Minimum and Maximum Limit shall not be inclu ded

5.5.3 5.5.3.1

PARAMETER DE FINITION Test IDs Supported—The Test IDs supported is the same concept as used for PID support in services $01 and $02 as specified in Appendix A. Test ID and Data Byte Descriptions—"Appendix C" specifies standardised and vehicle manufacturer specific Test ID ranges. Oxygen Sensor Location Definition—The Oxygen sensor location value used in the request message shall indicate the Oxygen Sensor location as defined by PID $13 or $1D as specified in Appendix B.

5.5.3.2

5.5.3.3

TABLE 59—OXYGEN SENSOR LOCATION DESCRIPTION
Oxygen sensor location (one, and only one bit can be set to a 1) Bit 0 1 2 3 4 5 6 7 Bank Bank Bank Bank Bank Bank Bank Bank Sensor location1) 1 1 1 1 2 2 2 2 Sensor Sensor Sensor Sensor Sensor Sensor Sensor Sensor 1 2 3 4 1 2 3 4 Bank Bank Bank Bank Bank Bank Bank Bank 1 1 2 2 3 3 4 4 - Sensor 1 - Sensor 2 - Sensor 1 - Sensor 2 - Sensor 1 - Sensor 2 - Sensor 1 - Sensor 2 Alternative sensor location2)

1) If Service $01 PID $13 supported. 2) If Service $01 PID $1D supported.

-40-

SAE J1979 Revised APR2002 5.5.3.4 Test Result Description—The following table defines the test result. TABLE 60—TEST RESULT DESCRIPTION
Hex 00 - FF # of bytes 1 Description The Test Result parameter includes either a constant or a calculated value depending on the Test ID.

5.5.3.5

Minimum and Maximum Test Limit Description—The following table defines Minimum and Maximum Test Limit. TABLE 61—MINIMUM AND MAXIMUM TEST LIMIT DESCRIPTION

Test Limit Minimum

# of bytes 1

Description The minimum test limit (only for calculated test result) is the minimum value to which the test result is compared. The Test Limit value is either a minimum or a maximum value to which the test results are compared. The Test Limit is a one byte unsigned numeric value (0 - 255). The maximum test limit (only for calculated test result) is the maximum value to which the test result is compared.

Maximum

1

Results of latest mandated on-board oxygen sensor monitoring test, see figure below.

FIGURE 13—TEST ID VALUE EXAMPLE 5.5.4 MESSA GE E XAMPLE—The example below shows how the "Request oxygen sensor monitoring test results" service shall be implemented. Step #1: Request Oxygen Sensor Monitoring Test Results (Request for Supported Test IDs) from Vehicle—The external test equipment requests all supported Test IDs from the vehicle. Refer to the example of service $01 how to request supported PIDs (same concept is used for supported TIDs). PID $13 is supported by ECU #1. This is important information for the external test equipment in order to identify the correct O2 Sensor location. As a result of the supported TID request the external test equipment creates an internal list of supported TIDs for each ECU: The ECU #1 (ECM) supports Test IDs $01 - $06, $70, $71 and $81. The ECU #2 (TCM) does not support any Test IDs.

5.5.4.1

-41-

SAE J1979 Revised APR2002 5.5.4.2 Step #2: Request Oxygen Sensor Monitoring Test Fesults from Vehicle—The external test equipment sends two (2) "Request oxygen sensor monitoring test results" request messages to the vehicle. The two (2) request messages include the following Test IDs: — 1st request message: Test IDs $01 — 2nd request message: Test IDs $05 NOTE— In general, the external test equipment should read the test status of service $01 PID $01 prior to execute service $05 with Test ID $01 and $05 to verify, whether the tests are supported and completed. The test values reported may be invalid if the test is not completed. TABLE 62—REQUEST OXYGEN SENSOR MONITORING TEST RESULTS REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request oxygen sensor monitoring test results request SID TID: Rich to lean sensor threshold voltage (constant) O2 Sensor #: Bank 1 - Sensor 1 Byte Value (Hex) 05 01 01 Mnemonic SIDRQ TID O2SNO

TABLE 63—REQUEST OXYGEN SENSOR MONITORING TEST RESULTS RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request oxygen sensor monitoring test results response SID TID: Rich to lean sensor threshold voltage (constant) O2 Sensor #: Bank 1 - Sensor 1 Test Limit: 450 mV Byte Value (Hex) 45 01 01 5A Mnemonic SIDPR TID O2SNO TESTVAL

NOTE— ECU#2 does not support any Test IDs and therefore does not send a response message. TABLE 64—REQUEST OXYGEN SENSOR MONITORING TEST RESULTS REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request oxygen sensor monitoring test results request SID TID: Rich to lean sensor switch time (calculated) O2 Sensor #: Bank 1 - Sensor 1 Byte Value (Hex) 05 05 01 Mnemonic SIDRQ TID O2SNO

-42-

SAE J1979 Revised APR2002

TABLE 65—REQUEST OXYGEN SENSOR MONITORING TEST RESULTS RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request oxygen sensor monitoring test results response SID TID: Rich to lean sensor switch time (calculated) O2 Sensor #: Bank 1 - Sensor 1 Test Limit: 72 ms (milliseconds) Minimum Limit: 0 ms Maximum Limit: 100 ms Byte Value (Hex) 45 05 01 12 00 19 Mnemonic SIDPR TID O2SNO TESTVAL MINLIMIT MAXLIMIT

5.6 5.6.1

Service $06 - Request On-Board Monitoring Test Results for Specific Monitored Systems FUNCTIONAL DESCRIPTIO N—The purpose of this service is to allow access to the results for on-board diagnostic monitoring tests of specific components/systems that are not continuously monitored. Examples are catalyst monitoring and the evaporative system monitoring. The vehicle manufacturer is responsible for assigning Test IDs and Component IDs for tests of different systems and components. The latest test results are to be retained, even over multiple ignition OFF cycles, until replaced by more recent test results. Test results are requested by Test ID. Test results are reported only for supported combinations of test limit type and component ID, and are reported as positive (unsigned) values. Only one test limit is included in a response message, but that limit could be either a minimum or a maximum limit. If both a minimum and maximum test limit are to be reported, then two (2) response messages will be transmitted, in any order. The most significant bit of the "test limit type / component ID" byte will be used to indicate the test limit type. An optional feature of this service is for the ECU to indicate which Test IDs are supported. Test ID $00 is a bit-encoded value that indicates support for Test IDs from $01 to $20. Test ID $20 indicates support for Test IDs $21 through $40, etc. This is the same concept as used for PID support in services $01 and $02 as specified in Appendix A. If Test ID $00 is not supported, then the ECU does not use this feature to indicate Test ID support. This service can be used as an alternative to service $05 to report oxygen sensor test results.

5.6.2 5.6.2.1

MESSA GE D ATA B YTES Request On-Board Monitoring Test Results for Specific Monitored Systems Request Message Definition (Read Supported TIDs) TABLE 66—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS REQUEST MESSAGE (READ SUPPORTED TIDS)

Data Byte #1 #2

Parameter Name Request on-board monitoring test results for specific monitored systems request SID Test ID (see Appendix A)

Cvt M M

Hex Value 06 xx

Mnemonic SIDRQ TID

-43-

SAE J1979 Revised APR2002 5.6.2.2 Request On-Board Monitoring Test Results for Specific Monitored Systems Response Message Definition (Report Supported TIDs)

TABLE 67—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS RESPONSE MESSAGE (REPORT SUPPORTED TIDS)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request on-board monitoring test results for specific monitored systems response SID Test ID FillerByte data record of supported Test IDs = [ Data Data Data Data A: supported Test IDs, B: supported Test IDs, C: supported Test IDs, D: supported Test IDs ] M M M M xx xx xx xx Cvt M M M Hex Value 46 xx FF Mnemonic SIDPR TID FB DATAREC_ DATA_A DATA_B DATA_C DATA_D

5.6.2.3

Request On-Board Monitoring Test Results for Specific Monitored Systems Request Message Definition (Read Test Results)

TABLE 68—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS REQUEST MESSAGE (READ TEST RESULTS)
Data Byte #1 #2 Parameter Name Request on-board monitoring test results for specific monitored systems request SID Test ID (request test results) Cvt M M Hex Value 06 xx Mnemonic SIDRQ TID

5.6.2.4

Request On-Board Monitoring Test Results for Specific Monitored Systems Response Message Definition (Report Test Results)

TABLE 69—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS RESPONSE MESSAGE (REPORT TEST RESULTS)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request on-board monitoring test results for specific monitored systems response SID Test ID (report test results) Test Limit Type & Component ID data record of Test ID = [ Test Test Test Test Value (High Byte) Value (Low Byte) Limit (High Byte) Limit (Low Byte) ] M M C C xx xx xx xx Cvt M M M Hex Value 46 xx xx Mnemonic SIDPR TID TLTCID TIDREC_ TVHI TVLO TLHI TLLO

C = Conditional — if Test Limit is either a Minimum or a Maximum Limit depends on the parameter Test Limit Type & Component ID value (bit 7)

5.6.3 5.6.3.1

PARAMETER DE FINITION Test IDs Supported—The Test IDs supported is the same concept as used for PID support in services $01 and $02 as specified in Appendix A. Test ID and Data Byte Descriptions—"Appendix C" specifies standardised and vehicle manufacturer specific Test ID ranges, which are permitted to be supported in this service.

5.6.3.2

-44-

SAE J1979 Revised APR2002 5.6.3.3 Test Limit Type and Component ID Description—The Test Limit Type and Component ID is a one (1) byte parameter and is defined in the table below. TABLE 70—TEST LIMIT TYPE AND COMPONENT ID DESCRIPTION
Parameter name Component ID bit 0-6 Description Component ID - manufacturer specified - necessary when multiple components or systems are present on the vehicle and have the same definition of Test ID. If the same test is performed on more than one component, multiple test results shall be reported for that Test ID. For example, a test for bank 1 catalyst can be the same as a test for a bank 2 catalyst, or a test for a pre-catalyst oxygen sensor can be the same as a test for a post-catalyst oxygen sensor. In either case, a request for a single Test ID would result in two test results being reported with different Component IDs. Most significant bit indicates type of test limit, where: 0 - test limit is maximum value - test fails if test value is greater than this value. 1 - test limit is minimum value - test fails if test value is less than this value.

Test Limit Type

7

5.6.3.4

Test Result Description—The Test Result represents the test result and is defined in the table below. TABLE 71—TEST RESULT DESCRIPTION

Parameter name Test Result

# of bytes 2 (High and Low Byte)

Description Test result - this value shall be less than or equal to the test limit if most significant bit of Test Limit Type and Component ID byte is '0', and shall be greater than or equal to the test limit if most significant bit of Test Limit Type and Component ID byte is '1'. The Test Value is a two byte unsigned numeric value (0 - 65535).

5.6.3.5

Test Limit description—The Test Limit is defined in the table below. TABLE 72—TEST LIMIT DESCRIPTION

Parameter name Test Limit

# of bytes 2 (High and Low Byte)

Description The Test Limit value is either a minimum or a maximum value to which the test results are compared. The Test Limit is a two byte unsigned numeric value (0 - 65535).

5.6.4

MESSA GE E XAMPLE—The example below shows how the "Request on-board monitoring test results for specific monitored systems" service shall be implemented. Step #1: Request On-Board Monitoring Test Results for Specific Monitored Systems (Request for Supported Test IDs)—The external test equipment requests all supported Test IDs from the vehicle. Refer to the example of service $01 how to request supported PIDs (same concept is used for supported TIDs). As a result of the supported TID request the external test equipment creates an internal list of supported TIDs for each ECU: The ECU #1 (ECM) supports Test ID $02. The ECU #2 (TCM) does not support any Test IDs.

5.6.4.1

5.6.4.2

Step #2: Request On-Board Monitoring Test Results for Specific Monitored Systems—The external test equipment sends a "Request on-board monitoring test results for specific monitored systems" request message with one (1) supported Test ID to the vehicle. The response messages indicate which Component IDs are supported. The request message includes the following Test ID: — Test ID $02 - Lean to rich sensor threshold voltage (constant), (supported Component IDs: $04, $16) NOTE— In general, the external test equipment should read the test status of service $01 PID $01 prior to execute service $06 with Test ID $01 and $06 to verify, whether the tests are supported and completed. The test values reported may be invalid if the test is not completed.

-45-

SAE J1979 Revised APR2002

TABLE 73—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request on-board monitoring test results for specific monitored systems request SID TID Lean to rich sensor threshold voltage (constant) Byte Value (Hex) 06 02 Mnemonic SIDRQ TID

TABLE 74—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request on-board monitoring test results for specific monitored systems response SID TID Lean to rich sensor threshold voltage (constant) Test Limit Type: test limit is minimum value; Component ID: 04 Test Value High Byte: test fails if test value is less than test limit Test Value Low Byte: test fails if test value is less than test limit Minimum Test Limit High Byte Minimum Test Limit Low Byte Byte Value (Hex) 46 02 84 00 10 00 00 Mnemonic SIDPR TID TLTCID TVHI TVLO TLHI TLLO

NOTE— ECU#2 does not support any Test IDs and therefore does not send a response message. TABLE 75—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request on-board monitoring test results for specific monitored systems response SID TID Lean to rich sensor threshold voltage (constant) Test Limit Type: test limit is maximum value; Component ID: 16 Test Value High Byte: test fails if test value is greater than test limit Test Value Low Byte: test fails if test value is greater than test limit Maximum Test Limit High Byte Maximum Test Limit Low Byte Byte Value (Hex) 46 02 16 00 32 00 20 Mnemonic SIDPR TID TLTCID TVHI TVLO TLHI TLLO

NOTE— The above example shows that the test in ECU #1 for Test ID 02 and Component ID 04 passed and that the test in ECU #1 for Test ID 02 and Component ID 16 failed.

-46-

SAE J1979 Revised APR2002 5.7 Service $07 - Request Emission-Related Diagnostic Trouble Codes Detected During Current or Last Completed Driving Cycle FUNCTIONAL DESCRIPTIO N—The purpose of this service is to enable the external test equipment to obtain "pending" diagnostic trouble codes detected during current or last completed driving cycle for emissionrelated components / systems that are tested or continuously monitored during normal driving conditions. Service $07 is required for all DTCs and is independent of Service $03. The intended use of this data is to assist the service technician after a vehicle repair, and after clearing diagnostic information, by reporting test results after a single driving cycle. If the test failed during the driving cycle, the DTC associated with that test will be reported. Test results reported by this service do not necessarily indicate a faulty component / system. If test results indicate a failure after additional driving, then the MIL will be illuminated and a DTC will be set and reported with service $03, indicating a faulty component / system. This service can always be used to request the results of the latest test, independent of the setting of a DTC. Test results for these components/systems are reported in the same format as the DTCs in service $03 refer to the functional description for service $03. If less than three (3) DTC values are reported for failed tests, the response messages used to report the test results shall be filled with $00 to fill seven (7) data bytes. This maintains the required fixed message length for all messages. If there are no test failures to report, responses are permitted but not required for SAE J1850 and ISO 91412 interfaces. For ISO 14230-4 interfaces, the ECU will respond with a report containing no codes (all DTC values shall contain $00). 5.7.2 5.7.2.1 MESSA GE D ATA B YTES Request Emission-Related Diagnostic Trouble Codes Detected during Current or Last Completed Driving Cycle Request Message Definition TABLE 76—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES DETECTED DURING CURRENT OR LAST COMPLETED DRIVING CYCLE REQUEST MESSAGE
Data Byte #1 Parameter Name Request emission-related diagnostic trouble codes detected during current or last completed driving cycle request SID Cvt M Hex Value 07 Mnemonic SIDRQ

5.7.1

5.7.2.2

Request Emission-Related Diagnostic Trouble Codes Detected During Current or Last Completed Driving Cycle Response Message Definition TABLE 77—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES DETECTED DURING CURRENT OR LAST COMPLETED DRIVING CYCLE RESPONSE MESSAGE

Data Byte #1 #2 #3 #4 #5 #6 #7

Parameter Name Request emission-related diagnostic trouble codes detected during current or last completed driving cycle response SID DTC#1 (High Byte) DTC#1 (Low Byte) DTC#2 (High Byte) DTC#2 (Low Byte) DTC#3 (High Byte) DTC#3 (Low Byte)

Cvt M M/C M/C M/C M/C M/C M/C

Hex Value 47 xx xx xx xx xx xx

Mnemonic SIDPR DTC1HI DTC1LO DTC2HI DTC2LO DTC3HI DTC3LO

C = Conditional — DTC#1, DTC#2, and DTC#3 are always present. If no valid DTC number is included the DTC values shall contain $0 0

-47-

SAE J1979 Revised APR2002 5.7.3 5.7.4 5.8 5.8.1 PARAMETER DE FINITION —This service does not support any parameters. MESSA GE E XAMPLE—Refer to message example of service $03. Service $08 - Request Control of On-Board System, Test or Component FUNCTIONAL DESCRIPTIO N—The purpose of this service is to enable the external test equipment to control the operation of an on-board system, test or component. The data bytes will be specified, if necessary, for each Test ID in Appendix F, and will be unique for each Test ID. If any data bytes are unused for any test, they shall be filled with $00 to maintain a fixed message length. Possible uses for these data bytes in the request message are: — Turn on-board system/test/component ON — Turn on-board system/test/component OFF — Cycle on-board system/test/component for 'n' seconds. Possible uses for these data bytes in the response message are: — Report system status — Report test results An optional feature of this service is for the ECU to indicate which Test IDs are supported. Test ID $00 is a bit-encoded value that indicates support for Test IDs from $01 to $20. Test ID $20 indicates support for Test IDs $21 through $40, etc. This is the same concept as used for PID support in services $01 and $02 as specified in Appendix A. If Test ID $00 is not supported, then the ECU does not use this feature to indicate Test ID support. 5.8.2 5.8.2.1 MESSA GE D ATA B YTES Request Control of On-Board Device Request Message Definition (read supported TIDs)

TABLE 78—REQUEST CONTROL OF ON-BOARD DEVICE REQUEST MESSAGE (READ SUPPORTED TIDS)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request control of on-board device request SID Test ID (see Appendix A) data record of Test ID = [ Data Data Data Data Data A, B, C, D, E] M M M M M 00 00 00 00 00 Cvt M M Hex Value 08 xx Mnemonic SIDRQ TID TIDREC_ DATA_A DATA_B DATA_C DATA_D DATA_E

-48-

SAE J1979 Revised APR2002 5.8.2.2 Request Control of On-Board Device Response Message Definition (Report Supported TIDs) TABLE 79—REQUEST CONTROL OF ON-BOARD DEVICE RESPONSE MESSAGE (REPORT SUPPORTED TIDS)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request control of on-board device response SID Test ID FillerByte data record of supported Test IDs = [ Data Data Data Data A: supported B: supported C: supported D: supported Test Test Test Test IDs, IDs, IDs, IDs ] M M M M xx xx xx xx Cvt M M M Hex Value 48 xx 00 Mnemonic SIDPR TID FB TIDREC_ DATA_A DATA_B DATA_C DATA_D

5.8.2.3

Request Control of On-Board Device Request Message Definition (read TID values)

TABLE 80—REQUEST CONTROL OF ON-BOARD DEVICE REQUEST MESSAGE (READ TID VALUES)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request control of on-board device request SID Test ID (request Test ID values) data record of Test ID = [ Data Data Data Data Data A, B, C, D, E] M/C M/C M/C M/C M/C xx xx xx xx xx Cvt M M Hex Value 08 xx Mnemonic SIDRQ TID TIDREC_ DATA_A DATA_B DATA_C DATA_D DATA_E

C = Conditional — Data A - E shall be filled with $00 if unused

5.8.2.4

Request Control of On-Board Device Response Message Definition (report TID values)

TABLE 81—REQUEST CONTROL OF ON-BOARD DEVICE RESPONSE MESSAGE (REPORT TID VALUES)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request control of on-board device response SID Test ID (report Test ID values) data record of Test ID = [ Data A, Data B, Data C, Data D, Data E ] M/C M/C M/C M/C M/C xx xx xx xx xx Cvt M M Hex Value 48 xx Mnemonic SIDPR TID TIDREC_ DATA_A DATA_B DATA_C DATA_D DATA_E

C = Conditional — Data A - E shall be filled with $00 if unused

-49-

SAE J1979 Revised APR2002 5.8.3 5.8.3.1 5.8.3.2 5.8.4 PARAMETER DE FINITION Test IDs Supported—Refer to Appendix A. Test ID and Data Byte Descriptions—Refer to Appendix F. MESSA GE E XAMPLE—The example below shows how "Request control of on-board system, test or component" service shall be implemented. Step #1: Request Control of On-Board System, Test or Component (Request for Supported Test IDs)— The external test equipment requests all supported Test IDs from the vehicle. Refer to the example of service $01 how to request supported PIDs (same concept is used for supported TIDs). As a result of the supported TID request the external test equipment creates an internal list of supported PIDs for each ECU: The ECU #1 (ECM) supports Test ID $01. The ECU #2 (TCM) does not support any Test IDs and therefore does not send a response message. 5.8.4.2 Step #2: Request Control of On-Board Device (Service $08, Test ID $01)—The external test equipment sends a "Request control of on-board device" message with one (1) supported Test ID $01 to the vehicle. TABLE 82—REQUEST CONTROL OF ON-BOARD DEVICE REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request control of on-board device request SID TID: Evaporative system leak test Data A: 00 Data B: 00 Data C: 00 Data D: 00 Data E: 00 Byte Value (Hex) 08 01 00 00 00 00 00 Mnemonic SIDRQ TID DATA_A DATA_B DATA_C DATA_D DATA_E

5.8.4.1

TABLE 83—REQUEST CONTROL OF ON-BOARD DEVICE RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request control of on-board device response SID TID: Evaporative system leak test Data A: 00 Data B: 00 Data C: 00 Data D: 00 Data E: 00 Byte Value (Hex) 48 01 00 00 00 00 00 Mnemonic SIDPR TID DATA_A DATA_B DATA_C DATA_D DATA_E

NOTE— ECU#2 does not support the Test ID and therefore does not send a response message.

-50-

SAE J1979 Revised APR2002 5.9 5.9.1 Service $09 - Request Vehicle Information FUNCTIONAL DESCRIPTIO N—The purpose of this service is to enable the external test equipment to request vehicle specific vehicle information such as Vehicle Identification Number (VIN) and Calibration IDs. Some of this information may be required by regulations and some may be desirable to be reported in a standard format if supported by the vehicle manufacturer. INFOTYPEs are defined in Appendix G. An optional feature of this service is for the ECU to indicate which INFOTYPEs are supported (support of INFOTYPE $00 is required for ISO 9141-2). INFOTYPE $00 is a bit-encoded value that indicates support for INFOTYPEs from $01 to $20. INFOTYPE $20 indicates support for INFOTYPEs $21 through $40, etc. This is the same concept as used for PID support in services $01 and $02 as specified in Appendix A. If PID (Parameter ID)/TID (Test ID)/INFOTYPE $00 is not supported, then the ECU does not use this feature to indicate PID (Parameter ID)/TID (Test ID)/INFOTYPE support. For request messages with INFOTYPEs not equal to $00 the positive response messages may not be sent by the ECU(s) within in the P2max timing window as specified in Section 4.1.2. The external test equipment shall maintain a list of ECUs, which support the INFOTYPEs not equal to $00 in order to justify, whether it shall expect a response message from this ECU or not. This applies to the following protocols: a. ISO 9141-2: If the positive response message is not received within P2K-Line, the external test equipment shall stop retrying the request message after one (1) minute from the original request. The retry message shall be sent at least every four (4) seconds. The retry message keeps the bus alive and prevents the external test equipment from having to re-initialise the bus (P3K-Line time out). The ECU shall not re-initialise the service $09 internal routine. Refer to Section 4.1.4.3.1. b. SAE J1850: If the response message is not received within thirty (30) seconds, the external test equipment shall re-send (retry) the request message. The ECU shall not re-initiate the service $09 internal routine, but send the positive response message if not already sent. In order to achieve a maximum time out of one (1) minute the external test equipment shall perform no more than one (1) retry. Refer to Section 4.1.4.3.3. 5.9.2 5.9.2.1 MESSA GE D ATA B YTES Request Vehicle Information Request Message Definition (Read Supported InfoType)

TABLE 84—REQUEST VEHICLE INFORMATION REQUEST MESSAGE (READ SUPPORTED INFOTYPE)
Data Byte #1 #2 Parameter Name Request vehicle information request SID InfoType (see Appendix A) Cvt M M Hex Value 09 xx Mnemonic SIDRQ INFTYP

-51-

SAE J1979 Revised APR2002 5.9.2.2 Request Vehicle Information Response Message Definition (Report Supported InfoType) TABLE 85—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (REPORT SUPPORTED INFOTYPE)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request vehicle information response SID InfoType MessageCount data record of InfoType = [ Data Data Data Data A: supported InfoTypes, B: supported InfoTypes, C: supported InfoTypes, D: supported InfoTypes ] M/C M/C M/C M/C xx xx xx xx Cvt M M M Hex Value 49 xx xx Mnemonic SIDPR INFTYP_ MC_ DATAREC_ DATA_A DATA_B DATA_C DATA_D

C = Conditional — Data A - D shall not be included if InfoType equals an odd number (MessageCount)

5.9.2.3

Request Vehicle Information Request Message Definition (Read InfoType Values)

TABLE 86—REQUEST VEHICLE INFORMATION REQUEST MESSAGE (READ INFOTYPE VALUES)
Data Byte #1 #2 Parameter Name Request vehicle information request SID InfoType Cvt M M Hex Value 09 xx Mnemonic SIDRQ INFTYP_

5.9.2.4

Request Vehicle Information Response Message Definition (report InfoType values)

TABLE 87—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (REPORT INFOTYPE VALUES)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request vehicle information response SID InfoType MessageCount data record of InfoType = [ Data A, Data B, Data C, Data D ] Cvt M M M M/C M/C M/C M/C Hex Value 49 xx xx xx xx xx xx Mnemonic SIDPR INFTYP_ MC_ DATA_A DATA_B DATA_C DATA_D

C = Conditional — data A - D is only present if the requested InfoType equals an even number

5.9.3 5.9.3.1 5.9.3.2 5.9.3.3

PARAMETER DE FINITION Vehicle Information Types Supported—Refer to Appendix A. Vehicle Information Types and Data Byte Descriptions—Refer to Appendix G. MessageCount Description—Refer to Appendix G.

-52-

SAE J1979 Revised APR2002 5.9.4 MESSA GE E XAMPLE—The example below shows how the "Request vehicle information" service shall be implemented. Step #1: Request Vehicle Information (Request Supported InfoType) from Vehicle—The external test equipment requests all supported InfoTypes from the vehicle. Refer to the example of service $01 how to request supported PIDs (same concept is used for supported InfoTypes). As a result of the supported InfoType request the external test equipment creates an internal list of supported PIDs for each ECU: The ECU #1 (ECM) supports the following InfoTypes: $01, $02, $03, $04, $05, $06, $07, and $08. Since there is only one ECU, which meets emission-related legislative requirements, no response messages from another ECU will occur. Step #2: Request InfoTypes from Vehicle—Now the external test equipment requests the following InfoType: — InfoType $01: MC_VIN = 5 response messages; supported by ECU#1

5.9.4.1

5.9.4.2

TABLE 88—REQUEST VEHICLE INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request vehicle information request SID InfoType: MessageCount VIN Byte Value (Hex) 09 01 Mnemonic SIDRQ INFTYP

TABLE 89—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: MessageCount VIN MessageCount VIN = 5 response messages Byte Value (Hex) 49 01 05 Mnemonic SIDPR INFTYP MC_VIN

Now the external test equipment requests the following InfoType: — InfoType $02: VIN = [1G1JC5444R7252367] supported by ECU#1

TABLE 90—REQUEST VEHICLE INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request vehicle information request SID InfoType: VIN Byte Value (Hex) 09 02 Mnemonic SIDRQ INFTYP

-53-

SAE J1979 Revised APR2002

TABLE 91—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (1)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: VIN MessageCount VIN = 1st response message Data A: Fill byte Data B: Fill byte Data C: Fill byte Data D: '1' Byte Value (Hex) 49 02 01 00 00 00 31 Mnemonic SIDPR INFTYP MC_VIN DATA_A DATA_B DATA_C DATA_D

TABLE 92—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (2)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: VIN MessageCount VIN = 2nd response message Data A: 'G' Data B: '1' Data C: 'J' Data D: 'C' Byte Value (Hex) 49 02 02 47 31 4A 43 Mnemonic SIDPR INFTYP MC_VIN DATA_A DATA_B DATA_C DATA_D

TABLE 93—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (3)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: VIN MessageCount VIN = 3rd response message Data A: '5' Data B: '4' Data C: '4' Data D: '4' Byte Value (Hex) 49 02 03 35 34 34 34 Mnemonic SIDPR INFTYP MC_VIN DATA_A DATA_B DATA_C DATA_D

-54-

SAE J1979 Revised APR2002

TABLE 94—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (4)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: VIN MessageCount VIN = 4th response message Data A: 'R' Data B: '7' Data C: '2' Data D: '5' Byte Value (Hex) 49 02 04 52 37 32 35 Mnemonic SIDPR INFTYP MC_VIN DATA_A DATA_B DATA_C DATA_D

TABLE 95—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (5)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 Description (all values are in hexadecimal) Request vehicle information response SID InfoType: VIN MessageCount VIN = 5th response message Data A: '2' Data B: '3' Data C: '6' Data D: '7' ECU#1 → External test equipment Response Byte Value (Hex) 49 02 05 32 33 36 37 Mnemonic SIDPR INFTYP MC_VIN DATA_A DATA_B DATA_C DATA_D

Now the external test equipment requests the following InfoType: — InfoType $03: MessageCount Calibration ID = $04; supported by ECU#1 TABLE 96—REQUEST VEHICLE INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request vehicle information request SID InfoType: MessageCount Calibration ID Byte Value (Hex) 09 03 Mnemonic SIDRQ INFTYP

TABLE 97—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: MessageCount Calibration ID MessageCount Calibration ID = 4 response messages Byte Value (Hex) 49 03 04 Mnemonic SIDPR INFTYP MC_CALID

-55-

SAE J1979 Revised APR2002 Now the external test equipment requests the following InfoType: — InfoType $04: CALID = [JMB*36761500]; supported by ECU#1;

TABLE 98—REQUEST VEHICLE INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request vehicle information request SID InfoType: Calibration ID Byte Value (Hex) 09 04 Mnemonic SIDRQ INFTYP

TABLE 99—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (1)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: Calibration ID MessageCount Calibration ID = 1st response message Data A: 'J' Data B: 'M' Data C: 'B' Data D: '*' Byte Value (Hex) 49 04 01 4A 4D 42 2A Mnemonic SIDPR INFTYP MC_CALID DATA_A DATA_B DATA_C DATA_D

TABLE 100—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (2)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: Calibration ID MessageCount Calibration ID = 2nd response message Data A: '3' Data B: '6' Data C: '7' Data D: '6' Byte Value (Hex) 49 04 02 33 36 37 36 Mnemonic SIDPR INFTYP MC_CALID DATA_A DATA_B DATA_C DATA_D

-56-

SAE J1979 Revised APR2002

TABLE 101—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (3)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: Calibration ID MessageCount Calibration ID = 3rd response message Data A: '1' Data B: '5' Data C: '0' Data D: '0' Byte Value (Hex) 49 04 03 31 35 30 30 Mnemonic SIDPR INFTYP MC_CALID DATA_A DATA_B DATA_C DATA_D

TABLE 102—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (4)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 Description (all values are in hexadecimal) Request vehicle information response SID InfoType: Calibration ID MessageCount Calibration ID = 4th response message Data A: Fill byte Data B: Fill byte Data C: Fill byte Data D: Fill byte ECU#1 → External test equipment Response Byte Value (Hex) 49 04 04 00 00 00 00 Mnemonic SIDPR INFTYP MC_CALID DATA_A DATA_B DATA_C DATA_D

Now the external test equipment requests the following InfoType: — InfoType $05: MessageCount Calibration Verification Number = $06;supported by ECU#1 and ECU#2 TABLE 103—REQUEST VEHICLE INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request vehicle information request SID InfoType: MessageCount Calibration Verification Number Byte Value (Hex) 09 05 Mnemonic SIDRQ INFTYP

TABLE 104—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: MessageCount Calibration Verification Number MessageCount Calibration Verification Number = 2 response messages Byte Value (Hex) 49 05 02 Mnemonic SIDPR INFTYP MC_CVN

-57-

SAE J1979 Revised APR2002

TABLE 105—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 ECU#2 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: MessageCount Calibration Verification Number MessageCount Calibration Verification Number = 1 response message Byte Value (Hex) 49 05 01 Mnemonic SIDPR INFTYP MC_CVN

Now the external test equipment requests the following InfoType: — InfoType $06: CVN#1 = [17 91 BC 82]; — InfoType $06: CVN#2 = [16 E0 62 BE]; — InfoType $06: CVN = [98 12 34 76]; supported by ECU#1 supported by ECU#1 supported by ECU#2

TABLE 106—REQUEST VEHICLE INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request vehicle information request SID InfoType: Calibration Verification Number Byte Value (Hex) 09 06 Mnemonic SIDRQ INFTYP

TABLE 107—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (1)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: Calibration Verification Number MessageCount Calibration Verification Number = 1st response message Data A: 17 Data B: 91 Data C: BC Data D: 82 Byte Value (Hex) 49 06 01 17 91 BC 82 Mnemonic SIDPR INFTYP MC_CVN DATA_A DATA_B DATA_C DATA_D

NOTE— Depending on which protocol the vehicle supports the following situations may occur: — If the vehicle supports ISO 9141-2 the external test equipment may need to repeat the request message multiple times before the ECU(s) send a response message. — If the vehicle supports SAE J1850 the external test equipment may need to repeat the request message before the ECU(s) send a response message. — If the vehicle supports ISO 14230-4 the ECU(s) may send a negative response message with response code $22 - conditionsNotCorrect if e.g., the engine is running. After the vehicle conditions have been adjusted to meet this service request the external test equipment shall repeat the request message and the ECU(s) shall send a positive response message.

-58-

SAE J1979 Revised APR2002

TABLE 108—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (2)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: Calibration Verification Number MessageCount Calibration Verification Number = 2nd response message Data A: 16 Data B: E0 Data C: 62 Data D: BE Byte Value (Hex) 49 06 02 16 E0 62 BE Mnemonic SIDPR INFTYP MC_CVN DATA_A DATA_B DATA_C DATA_D

TABLE 109—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (3)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#2 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: Calibration Verification Number MessageCount Calibration Verification Number = 1st response message Data A: 98 Data B: 12 Data C: 34 Data D: 76 Byte Value (Hex) 49 06 01 98 12 34 76 Mnemonic SIDPR INFTYP MC_CVN DATA_A DATA_B DATA_C DATA_D

Now the external test equipment requests the following InfoType: — InfoType $07: MessageCount In-use Performance Tracking = $08; supported by ECU#1 TABLE 110—REQUEST VEHICLE INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request vehicle information request SID InfoType: MessageCount In-use Performance Tracking Byte Value (Hex) 09 07 Mnemonic SIDRQ INFTYP

TABLE 111—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: MessageCount In-use Performance Tracking MessageCount In-use Performance Tracking = 8 response messages Byte Value (Hex) 49 07 08 Mnemonic SIDPR INFTYP MC_IPT

-59-

SAE J1979 Revised APR2002 Now the external test equipment requests the following InfoType: — InfoType $08: MC_IPT = 8 response messages; supported by ECU#1; TABLE 112—REQUEST VEHICLE INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request vehicle information request SID InfoType: In-use Performance Tracking Byte Value (Hex) 09 08 Mnemonic SIDRQ INFTYP

TABLE 113—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (1)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: In-use Performance Tracking MessageCount In-use Performance Tracking = 1st response message OBDCOND_A: 1024 counts OBDCOND_B: 1024 counts IGNCNTR_A: 3337 counts IGNCNTR_B: 3337 counts Byte Value (Hex) 49 08 01 04 00 0D 09 Mnemonic SIDPR INFTYP MC_IPT OBDCOND_A OBDCOND_B IGNCNTR_A IGNCNTR_B

TABLE 114—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (2)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: In-use Performance Tracking MessageCount In-use Performance Tracking = 2nd response message CATCOMP1_A: 824 counts CATCOMP1_B: 824 counts CATCOND1_A: 945 counts CATCOND1_B: 945 counts Byte Value (Hex) 49 08 02 03 38 03 B1 Mnemonic SIDPR INFTYP MC_IPT CATCOMP1_A CATCOMP1_B CATCOND1_A CATCOND1_B

-60-

SAE J1979 Revised APR2002

TABLE 115—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (3)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: In-use Performance Tracking MessageCount In-use Performance Tracking = 3rd response message CATCOMP2_A: 711 counts CATCOMP2_B: 711 counts CATCOND2_A: 945 counts CATCOND2_B: 945 counts Byte Value (Hex) 49 08 03 02 C7 03 B1 Mnemonic SIDPR INFTYP MC_IPT CATCOMP2_A CATCOMP2_B CATCOND2_A CATCOND2_B

TABLE 116—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (4)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: In-use Performance Tracking MessageCount In-use Performance Tracking = 4th response message O2SCOMP1_A: 737 counts O2SCOMP1_B: 737 counts O2SCOND1_A: 924 counts O2SCOND1_B: 924 counts Byte Value (Hex) 49 08 04 02 E1 03 9C Mnemonic SIDPR INFTYP MC_IPT O2SCOMP1_A O2SCOMP1_B O2SCOND1_A O2SCOND1_B

TABLE 117—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (5)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: In-use Performance Tracking MessageCount In-use Performance Tracking = 5th response message O2SCOMP2_A: 724 counts O2SCOMP2_B: 724 counts O2SCOND2_A: 833 counts O2SCOND2_B: 833 counts Byte Value (Hex) 49 08 05 02 D4 03 41 Mnemonic SIDPR INFTYP MC_IPT O2SCOMP2_A O2SCOMP2_B O2SCOND2_A O2SCOND2_B

-61-

SAE J1979 Revised APR2002

TABLE 118—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (6)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: In-use Performance Tracking MessageCount In-use Performance Tracking = 6th response message EGRCOMP_A: 997 counts EGRCOMP_B: 997 counts EGRCOND_A: 1010 counts EGRCOND_B: 1010 counts Byte Value (Hex) 49 08 06 03 E5 03 F2 Mnemonic SIDPR INFTYP MC_IPT EGRCOMP_A EGRCOMP_B EGRCOND_A EGRCOND_B

TABLE 119—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (7)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: In-use Performance Tracking MessageCount In-use Performance Tracking = 7th response message AIRCOMP_A: 937 counts AIRCOMP_B: 937 counts AIRCOND_A: 973 counts AIRCOND_B: 973 counts Byte Value (Hex) 49 08 07 03 A9 03 CD Mnemonic SIDPR INFTYP MC_IPT AIRCOMP_A AIRCOMP_B AIRCOND_A AIRCOND_B

TABLE 120—REQUEST VEHICLE INFORMATION RESPONSE MESSAGE (8)
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Request vehicle information response SID InfoType: In-use Performance Tracking MessageCount In-use Performance Tracking = 8th response message EVAPCOMP_A: 68 counts EVAPCOMP_B: 68 counts EVAPCOND_A: 97 counts EVAPCOND_B: 97 counts Byte Value (Hex) 49 08 08 00 44 00 61 Mnemonic SIDPR INFTYP MC_IPT EVAPCOMP_A EVAPCOMP_B EVAPCOND_A EVAPCOND_B

-62-

SAE J1979 Revised APR2002 6. 6.1 6.1.1 Diagnostic Service Definition for ISO 15765-4 Service $01 - Request Current Powertrain Diagnostic Data FUNCTIONAL DESCRIPTIO N—The purpose of this service is to allow access to current emission-related data values, including analogue inputs and outputs, digital inputs and outputs, and system status information. The request for information includes a parameter identification (PID) value that indicates to the on-board system the specific information requested. PID specifications, scaling information, and display formats are included in Appendix B. The ECU(s) will respond to this message by transmitting the requested data value last determined by the system. All data values returned for sensor readings will be actual readings, not default or substitute values used by the system because of a fault with that sensor. Not all PIDs are applicable or supported by all systems. PID $00 is a bit-encoded value that indicates for each ECU which PIDs are supported. PID $00 indicates support for PIDs from $01 to $20. PID $20 indicates support for PIDs $21 through $40, etc. This is the same concept for PIDs/OBD Monitor IDs/TIDs/InfoTypes support in services $01, $02, $06, $08, $09. PID $00 is required for those ECUs that respond to a corresponding service $01 request message as specified in Appendix A. PID $00 is optional for those ECUs that do not respond to additional service $01 request messages. The order of the PIDs in the response message is not required to match the order in the request message. 6.1.2 6.1.2.1 MESSA GE D ATA B YTES Request Current Powertrain Diagnostic Data Request Message Definition (Read Supported PIDs)

TABLE 121—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE (READ SUPPORTED PIDS)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request current powertrain diagnostic data request SID PID#1 (PIDs supported: see Appendix A) PID#2 (PIDs supported: see Appendix A) PID#3 (PIDs supported: see Appendix A) PID#4 (PIDs supported: see Appendix A) PID#5 (PIDs supported: see Appendix A) PID#6 (PIDs supported: see Appendix A) Cvt M M U U U U U Hex Value 01 xx xx xx xx xx xx Mnemonic SIDRQ PID PID PID PID PID PID

U = User Optional — PID may be included to avoid multiple PID supported request messages

NOTE— To request PIDs supported range from $C1 - $FF another request message with PID#1 = $C0 and PID#2 = $E0 shall be sent to the vehicle.

-63-

SAE J1979 Revised APR2002 6.1.2.2 Request Current Powertrain Diagnostic Data Response Message Definition (Report Supported PIDs)— ECU(s) must respond to all supported ranges if requested. A range is defined as a block of 32 PIDs (e.g., range #1: PID $01-$20). The ECU shall not respond to unsupported PID ranges unless subsequent ranges have a supported PID(s). TABLE 122—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE (REPORT SUPPORTED PIDS)
Data Byte #1 #2 #3 #4 #5 #6 : #n-4 #n-3 #n-2 #n-1 #n : data record of supported PIDs = [ mth supported PID Data A: supported PIDs, Data B: supported PIDs, Data C: supported PIDs, Data D: supported PIDs ] C1 C2 C2 C2 C2 xx xx xx xx xx Parameter Name Request current powertrain diagnostic data response SID data record of supported PIDs = [ 1st supported PID Data A: supported PIDs, Data B: supported PIDs, Data C: supported PIDs, Data D: supported PIDs ] M M M M M : xx xx xx xx xx : Cvt M Hex Value 41 Mnemonic SIDPR PIDREC_ PID DATA_A DATA_B DATA_C DATA_D : PIDREC_ PID DATA_A DATA_B DATA_C DATA_D

C1 = Conditional — PID value shall be the same value as included in the request message if supported by the ECU C2 = Conditional — value indicates PIDs supported; range of supported PIDs depends on selected PID value (see C1)

NOTE— The response message shall only include the PID(s) and Data A - D which are supported by the ECU. If the request message includes (a) PID value(s) which are not supported by the ECU those shall not be included in the response message. 6.1.2.3 Request Current Powertrain Diagnostic Data Request Message Definition (Read PID Values) TABLE 123—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request current powertrain diagnostic data request SID PID#1 (see Appendix B) PID#2 (see Appendix B) PID#3 (see Appendix B) PID#4 (see Appendix B) PID#5 (see Appendix B) PID#6 (see Appendix B) Cvt M M/C U/C U/C U/C U/C U/C Hex Value 01 xx xx xx xx xx xx Mnemonic SIDRQ PID PID PID PID PID PID

U = User Optional — the parameter may be present or not C = Conditional — if a PID is not supported but requested then there shall be no response for that PID

-64-

SAE J1979 Revised APR2002 6.1.2.4 Request Current Powertrain Diagnostic Data Response Message Definition (Report PID Values) TABLE 124—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Data Byte #1 #2 #3 #4 #5 #6 : data record of mth supported PID = [ #n-4 #n-3 #n-2 #n-1 #n PID#m data A, data B, data C, data D ] C2 C2 C3 C3 C3 xx xx xx xx xx Parameter Name Request current powertrain diagnostic data response SID data record of 1st supported PID = [ PID#1 data A, data B, data C, data D ] : M M C1 C1 C1 : xx xx xx xx xx : Cvt M Hex Value 41 Mnemonic SIDPR PIDREC_ PID DATA_A DATA_B DATA_C DATA_D : PIDREC_ PID DATA_A DATA_B DATA_C DATA_D

C1 = Conditional — "data B - D" depend on selected PID value C2 = Conditional — parameter is only present if supported by the ECU C3 = Conditional — parameters and values for "data B - D" depend on selected PID number and are only included if PID is supported by the ECU

NOTE— Not all PIDs, which are included in the request message may be supported by all emissionrelated ECUs, which shall comply with this specification. Therefore, each vehicle ECU, which supports at least one (1) PID, shall send a response message including the PID(s) with data. 6.1.3 6.1.3.1 6.1.3.2 6.1.4 PARAMETER DE FINITION PIDs Supported—"Appendix A" specifies the interpretation of the data record of supported PIDs. PID and Data Byte Descriptions—"Appendix B" specifies standardised emission-related parameters. MESSA GE E XAMPLE—The following example shows how the "Request current powertrain diagnostic data" service shall be implemented. Step #1: Request Supported PIDs from Vehicle—The external test equipment requests supported PIDs ($00, $20, $40, $60, $80, $A0) from the vehicle. Refer to Appendix A to interpret the data bytes in the response messages. NOTE— ECU(s) must respond to all supported ranges if requested. A range is defined as a block of 32 PIDs (e.g., range #1: PID $01-$20). The ECU shall not respond to unsupported PID ranges unless subsequent ranges have a supported PID(s).

6.1.4.1

-65-

SAE J1979 Revised APR2002

TABLE 125—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 External test equipment → All ECUs Request Description (All PID values are in hexadecimal) Request current powertrain diagnostic data request SID PID used to determine PID support for PIDs 01-20 PID used to determine PID support for PIDs 21-40 PID used to determine PID support for PIDs 41-60 PID used to determine PID support for PIDs 61-80 PID used to determine PID support for PIDs 81-A0 PID used to determine PID support for PIDs A1-C0 Byte Value (Hex) 01 00 20 40 60 80 A0 Mnemonic SIDRQ PID PID PID PID PID PID

TABLE 126—ECU#1 RESPONSE: REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 ECU#1 → External test Response Description (All PID values are in hexadecimal) Request current powertrain diagnostic data response SID PID requested Data byte A, representing support for PIDs 01, 03-08 Data byte B, representing support for PIDs 09, 0B-10 Data byte C, representing support for PIDs 11, 13, 15 Data byte D, representing support for PIDs 19, 1C, 20 PID requested Data byte A, representing support for PID 21 Data byte B, representing no support for PIDs 29-30 Data byte C , representing no support for PIDs 31-38 Data byte D, representing no support for PIDs 39-40 Byte Value (Hex) 41 00 10111111b = $BF 10111111b = $BF 10101000b = $A8 10010001b = $91 20 10000000b = $80 00000000b = $00 00000000b = $00 00000000b = $00 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D PID DATA_A DATA_B DATA_C DATA_D

TABLE 127—ECU#2 RESPONSE: REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 ECU#2 → External test equipment Response Description (All PID values are in hexadecimal) Request current powertrain diagnostic data response SID PID requested Data byte A, representing support for PID 01 Data byte B, representing support for PID 0D Data byte C , representing no support for PIDs 11-18 Data byte D, representing no support for PIDs 19-20 Byte Value (Hex) 41 00 10000000b = $80 00001000b = $08 00000000b = $00 00000000b = $00 Mnemonic SIDPR PID DATA_A DATA_B DATA_C DATA_D

-66-

SAE J1979 Revised APR2002 Now the external test equipment creates an internal list of supported PIDs for each ECU. The ECU #1 (ECM) supports the following PIDs: $01, $03 - $09, $0B - $11, $13, $15, $19, $1C, $20, $21. The ECU #2 (TCM) supports the following PIDs: $01 and $0D. 6.1.4.2 Step #2: Request Multiple PIDs from Vehicle—Now the external test equipment requests a combination of a maximum of six (6) PIDs in one request message to gain best performance of displaying current data. — — — — — — PID PID PID PID PID PID $15: $01: $05: $03: $0C: $0D: Bank 1 - Sensor 2, Number of emission-related DTCs and MIL status, Engine coolant temperature, Fuel system 1 status, Engine speed, Vehicle speed PID PID PID PID PID PID is is is is is is supported by ECU #1 supported by ECU #1 and #2 supported by ECU #1 supported by ECU #1 supported by ECU #1 supported by ECU #2

TABLE 128—REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 External test equipment → All ECUs Request Description (All PID values are in hexadecimal) Request current powertrain diagnostic data request SID PID: Bank 1 - Sensor 2 PID: Number of emission-related DTCs and MIL status PID: Engine coolant temperature PID: Fuel system 1 status PID: Engine speed PID: Vehicle speed Byte Value (Hex) 01 15 01 05 03 0C 0D Mnemonic SIDRQ PID(15) PID(01) PID(05) PID(03) PID(0C) PID(0D)

-67-

SAE J1979 Revised APR2002

TABLE 129—ECU#1 RESPONSE: REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 #14 #15 #16 #17 ECU#1 → External test equipment Response Description (All PID values are in hexadecimal) Request current powertrain diagnostic data response SID PID: Engine coolant temperature Data byte A PID: Number of emission-related DTCs and MIL status MIL: ON; Number of emission-related DTCs: 03 Misfire -, Fuel system -, Comprehensive monitoring Catalyst -, Heated catalyst -, …, monitoring supported Catalyst -, Heated catalyst -, …, monitoring test complete/not complete PID: Bank 1 - Sensor 2 Bank 2 - Sensor 2: 0.8 Volt Bank 2 - Sensor 2: 93.7 % PID: Engine speed Data byte A: 667 rpm Data byte B: 667 rpm PID: Fuel system 1 status Data byte A: Closed loop - using oxygen sensor(s) as feedback for fuel control Data byte B Byte Value (Hex) 41 05 6E 01 83 33 FF 63 15 A0 78 0C 0A 6B 03 02 00 Mnemonic SIDPR PID(05) DATA(A) PID(01) DATA(A) DATA(B) DATA(C) DATA(D) PID(15) DATA(A) DATA(B) PID(0C) DATA(A) DATA(B) PID(03) DATA(A) DATA(B)

TABLE 130—ECU#2 RESPONSE: REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 #8 ECU#2 → External test equipment Response Description (All PID values are in hexadecimal) Request current powertrain diagnostic data response SID PID: Vehicle speed Data byte A PID: Number of emission-related DTCs and MIL status MIL: OFF; Number of emission-related DTCs: 01 Comprehensive monitoring: supported, test complete Catalyst -, Heated catalyst -, …, monitoring supported Catalyst -, Heated catalyst -, …, monitoring test complete/not complete Byte Value (Hex) 41 0D 23 01 01 44 00 00 Mnemonic SIDPR PID(0D) DATA(A) PID(01) DATA(A) DATA(B) DATA(C) DATA(D)

-68-

SAE J1979 Revised APR2002 6.2 6.2.1 Service $02 - Request Powertrain Freeze Frame Data FUNCTIONAL DESCRIPTIO N—The purpose of this service is to allow access to emission-related data values in a freeze frame. This allows expansion to meet manufacturer specific requirements not necessarily related to the required freeze frame, and not necessarily containing the same data values as the required freeze frame. The request message includes a parameter identification (PID) value that indicates to the on-board system the specific information requested. PID specifications, scaling information, and display formats for the freeze frame are included in Appendix B. The ECU(s) will respond to this message by transmitting the requested data value stored by the system. All data values returned for sensor readings will be actual stored readings, not default or substitute values used by the system because of a fault with that sensor. Service $02 PID $02 indicates the DTC that caused the freeze frame data to be stored. If freeze frame data is not stored in the ECU, the system shall report $00 00 as the DTC. Any data reported when the stored DTC is $00 00 may not be valid. The frame number byte will indicate $00 for the freeze frame data. Manufacturers may optionally save additional freeze frames and use this service to obtain that data by specifying the freeze frame number in the request message. If a manufacturer uses these additional freeze frames, they will be stored under conditions specified by the manufacturer, and contain data specified by the manufacturer. Not all PIDs are applicable or supported by all systems. PID $00 is a bit-encoded value that indicates for each ECU which PIDs are supported. PID $00 indicates support for PIDs from $01 to $20. PID $20 indicates support for PIDs $21 through $40, etc. This is the same concept for PIDs/TIDs/InfoTypes support in services $01, $02, $06, $08, $09. PID $00 is required for those ECUs that respond to a corresponding service $02 request message as specified in Appendix A. PID $00 is optional for those ECUs that do not respond to additional service $02 request messages. The order of the PIDs in the response message is not required to match the order in the request message. 6.2.2 6.2.2.1 MESSA GE D ATA B YTES Request Powertrain Freeze Frame Data Request Message Definition (Read Supported PIDs) TABLE 131—REQUEST POWERTRAIN FREEZE FRAME DATA REQUEST MESSAGE (READ SUPPORTED PIDS)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request powertrain freeze frame data request SID PID#1 (PIDs supported: Appendix A) frame # PID#2 (PIDs supported: Appendix A) frame # PID#3 (PIDs supported: Appendix A) frame # Cvt M M M U U/C U U/C Hex Value 02 xx xx xx xx xx xx Mnemonic SIDRQ PID FRNO_ PID FRNO_ PID FRNO_

U = User Optional — PID may be included to reduce multiple PID supported request messages C = Conditional — parameter is only included if preceding PID# is included

NOTE— To request PIDs supported range from $61 - $FF, multiple request messages with PIDs = $60, $80, $A0, $C0 and $E0 shall be sent to the vehicle.

-69-

SAE J1979 Revised APR2002 6.2.2.2 Request Powertrain Feeze Fame Data Response Message Definition (Report supported PIDs)—ECU(s) must respond to all supported ranges if requested. A range is defined as a block of 32 PIDs (e.g., range #1: PID $01-$20). The ECU shall not respond to unsupported PID ranges unless subsequent ranges have a supported PID(s).

TABLE 132—REQUEST POWERTRAIN FREEZE FRAME DATA RESPONSE MESSAGE (REPORT SUPPORTED PIDS)
Data Byte #1 #2 #3 #4 #5 #6 #7 : #n-5 #n-4 #n-3 #n-2 #n-1 #n mth supported PID frame # data record of supported PIDs = [ Data Data Data Data A: supported PIDs, B: supported PIDs, C: supported PIDs, D: supported PIDs ] C2 C2 C2 C2 xx xx xx xx Parameter Name Request powertrain freeze frame data response SID 1st supported PID frame # data record of supported PIDs = [ Data Data Data Data A: B: C: D: : supported PIDs, supported PIDs, supported PIDs, supported PIDs ] M M M M : C1 C1 xx xx xx xx : xx xx Cvt M M M Hex Value 42 00 xx Mnemonic SIDPR PID FRNO_ DATAREC DATA_A DATA_B DATA_C DATA_D : PID FRNO_ DATAREC DATA_A DATA_B DATA_C DATA_D

C1 = Conditional — PID value shall be the same value as included in the request message if supported by the ECU C2 = Conditional — value indicates PIDs supported; range of supported PIDs depends on selected PID value (see C1)

NOTE— The response message shall only include the PID(s) and Data A - D which are supported by the ECU. If the request message includes (a) PID value(s) which are not supported by the ECU those shall not be included in the response message. 6.2.2.3 Request Powertrain Freeze Frame Data Request Message Definition (Read Freeze Frame PID Values) TABLE 133—REQUEST POWERTRAIN FREEZE FRAME DATA REQUEST MESSAGE (READ FREEZE FRAME PID VALUES)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request powertrain freeze frame data request SID PID#1 (see Appendix B) frame # PID#2 (see Appendix B) frame # PID#3 (see Appendix B) frame # Cvt M M/C1 M U/C1 C2 U/C1 C2 Hex Value 02 xx xx xx xx xx xx Mnemonic SIDRQ PID FRNO PID FRNO PID FRNO

U = User Optional — the parameter may be present or not C1 = Conditional — if a PID is not supported but requested then there shall be no response for that PID C2 = Conditional — parameter is only present if preceding PID# is present

-70-

SAE J1979 Revised APR2002 6.2.2.4 Request Powertrain Freeze Frame Data Response Message Definition (Report Freeze Frame PID Values) TABLE 134—REQUEST POWERTRAIN FREEZE FRAME DATA RESPONSE MESSAGE (REPORT FREEZE FRAME PID VALUES)
Data Byte #1 #2 #3 #4 #5 #6 #7 : #2 #3 #4 #5 #6 #7 C1 C2 C3 C4 = = = = mth supported PID frame # data record of mth supported PID = [ data A, data B, data C, data D ] Parameter Name Request powertrain freeze frame data response SID 1st supported PID frame # data record of 1st supported PID = [ data A, data B, data C, data D ] : Cvt M M M M C1 C1 C1 : C2 C2 C3 C4 C4 C4 Hex Value 42 xx xx xx xx xx xx : xx xx xx xx xx xx Mnemonic SIDPR PID_ FRNO_ DATA_A DATA_B DATA_C DATA_D : PID_ FRNO_ DATA_A DATA_B DATA_C DATA_D

Conditional — "data B - D" depend on selected PID Conditional — parameter shall be the same value as included in the request message if supported Conditional — data A shall be included if preceding PID is supported Conditional — parameters and values for "data B - D" depend on selected PID number

6.2.3 6.2.3.1 6.2.3.2 6.2.3.3

PARAMETER DE FINITION PIDs Supported—"Appendix A" specifies the interpretation of the data record of supported PIDs. PID and Data Byte Descriptions—"Appendix B" specifies standardized emission-related parameters. Frame # Description—The frame number identifies the freeze frame, which includes emission-related data values in case an emission-related DTC is detected by the ECU. MESSA GE E XAMPLE—The example below shows how the "Request powertrain freeze frame data" service shall be implemented. Step #1: Request Supported Powertrain Freeze Fame PIDs from Vehicle—The external test equipment requests all supported powertrain freeze frame PIDs of freeze frame $00 from the vehicle. Refer to the example of service $01 how to request supported PIDs. As a result of the supported PID request the external test equipment creates an internal list of supported PIDs for each ECU: ECU #1 (ECM) supports the following PIDs: $01 - $09, $0B - $0E, ECU #2 (TCM) does not support any PIDs for this service.

6.2.4

6.2.4.1

6.2.4.2

Step #2: Request PID $02 "DTC which Caused Freeze Frame to be Stored" from Vehicle Case #1: Freeze Frame Data are Stored in ECU #1: Now the external test equipment requests PID $02 of freeze frame $00 from the vehicle. Since the ECU #2 (TCM) doesn't store a freeze frame data record only the ECU #1 (ECM) will send a response message. In this example the freeze frame data are stored based on a DTC P0130 occurrence. The parameter value of PID $02 "DTC that caused required freeze frame data storage" is set to the DTC P0130.

-71-

SAE J1979 Revised APR2002

TABLE 135—REQUEST POWERTRAIN FREEZE FRAME DATA REQUEST MESSGAE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request powertrain freeze frame data request SID PID: Number of emission-related DTCs and MIL status Frame # PID: DTC that caused required freeze frame data storage Frame # Byte Value (Hex) 02 01 00 02 00 Mnemonic SIDRQ PID FRNO PID FRNO

TABLE 136—REQUEST POWERTRAIN FREEZE FRAME DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 ECU #1 → External test equipment Response Description (all values are in hexadecimal) Request powertrain freeze frame data response SID PID: DTC that caused required freeze frame data storage Frame # DTC High Byte of P0130 DTC Low Byte of P0130 PID: Number of emission-related DTCs and MIL status Frame # MIL: ON; Number of emission-related DTCs: 01 Misfire -, Fuel system -, Comprehensive monitoring Catalyst -, Heated catalyst -, …, monitoring supported Catalyst -, Heated catalyst -, …, monitoring test complete/not complete Byte Value (Hex) 42 02 00 01 30 01 00 81 33 FF 63 Mnemonic SIDRQ PID FRNO DATA_A DATA_B PID FRNO DATA_A DATA_B DATA_C DATA_D

NOTE— ECU#2 does not store freeze frame data and therefore does not send a response message. Now the external test equipment requests the parameter value of PID $0C "Engine Speed", PID $05 "Engine coolant temperature", and PID $04 "Load" stored in the freeze frame. TABLE 137—REQUEST POWERTRAIN FREEZE FRAME DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #4 #5 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request powertrain freeze frame data request SID PID: Engine Speed Frame # PID: Engine coolant temperature Frame # PID: Load Frame # Byte Value (Hex) 02 0C 00 05 00 04 00 Mnemonic SIDRQ PID FRNO PID FRNO PID FRNO

-72-

SAE J1979 Revised APR2002

TABLE 138—REQUEST POWERTRAIN FREEZE FRAME DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 ECU #1 → External test equipment Response Description (all values are in hexadecimal) Request powertrain freeze frame data response SID PID: Engine Speed Frame # High Byte: Engine Speed: 2080 rpm Low Byte: Engine Speed: 2080 rpm PID: Load Frame # Load: 50.2 % PID: Engine coolant temperature Frame # Engine coolant temperature: 0 °C Byte Value (Hex) 42 0C 00 20 80 04 00 80 05 00 28 Mnemonic SIDRQ PID FRNO DATA_A DATA_B PID FRNO DATA_A PID FRNO DATA_A

Case #2: No Freeze Frame Data are Stored in any ECU: If no freeze frame data are stored then the parameter value of PID $02 "DTC that caused required freeze frame data storage" is set to $00 00. If the external test equipment requests a PID ≠ $00 (excluding $00 and $02) the ECU shall not send a response message. TABLE 139—REQUEST POWERTRAIN FREEZE FRAME DATA REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request powertrain freeze frame data request SID PID: Number of emission-related DTCs and MIL status Frame # PID: DTC that caused required freeze frame data storage Frame # Byte Value (Hex) 02 01 00 02 00 Mnemonic SIDRQ PID FRNO PID FRNO

TABLE 140—REQUEST POWERTRAIN FREEZE FRAME DATA RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 #5 ECU #1 → External test equipment Response Description (all values are in hexadecimal) Request powertrain freeze frame data response SID PID: DTC that caused required freeze frame data storage Frame # DTC High Byte of P0000 {no freeze frame data stored} DTC Low Byte of P0000 {no freeze frame data stored} Byte Value (Hex) 42 02 00 00 00 Mnemonic SIDRQ PID FRNO DATA_A DATA_B

-73-

SAE J1979 Revised APR2002 6.3 6.3.1 Service $03 - Request Emission-Related Diagnostic Trouble Codes FUNCTIONAL DESCRIPTIO N—The purpose of this service is to enable the external test equipment to obtain "confirmed" emission-related DTCs. Send a Service $03 request for all emission-related DTCs. Each ECU that has DTCs will respond with one (1) message containing all emission-related DTCs. If an ECU does not have emission-related DTCs then it shall respond with a message indicating no DTCs are stored by setting the parameter # of DTC to $00. DTCs are transmitted in two (2) bytes of information for each DTC. The first two (2) bits (high order) of the first (1) byte for each DTC will be zeros to indicate whether the DTC is a Powertrain, Chassis, Body, or Network DTC (refer to SAE J2012 for additional interpretation of this structure). The second two (2) bits will indicate the first digit of the DTC (0 through 3). The second (2) nibble of the first (1) byte and the entire second (2) byte are the next three (3) hexadecimal characters of the actual DTC reported as hexadecimal. A Powertrain DTC transmitted as $0143 shall be displayed as P0143.

FIGURE 14—DIAGNOSTIC TROUBLE CODE ENCODING EXAMPLE DTC P0143 6.3.2 6.3.2.1 MESSA GE D ATA B YTES Request Emission-Related DTC Rquest Message Definition

TABLE 141—REQUEST EMISSION-RELATED DTC REQUEST MESSAGE
Data Byte #1 Parameter Name Request emission-related DTC request SID Cvt M Hex Value 03 Mnemonic SIDRQ

6.3.2.2

Request Emission-Related DTC Response Message Definition

TABLE 142—REQUEST EMISSION-RELATED DTC RESPONSE MESSAGE
Data Byte #1 #2 Parameter Name Request emission-related DTC response SID # of DTC = [ no emission-related DTCs stored emission-related DTCs stored ] DTC#1 (High Byte) DTC#1 (Low Byte) : DTC#m (High Byte) DTC#m (Low Byte) Cvt M M Hex Value 43 xx = [ 00, 01 - FF xx xx xx xx xx DTCmHI DTCmLO Mnemonic SIDPR #OFDTC

#3 #4 : #n-1 #n

C C : C C

DTC1HI DTC1LO

C = Conditional — DTC#1 - DTC#m are only included if # of DTC parameter value ≠ $00

-74-

SAE J1979 Revised APR2002 6.3.3 6.3.3.1 PARAMETER DE FINITION # of DTC Parameter Description—The # of DTC parameter reports the emission-related DTC(s) currently (at the time of the request message processing) stored in the ECU(s). MESSA GE E XAMPLE—The example below shows how the "Request emission-related DTCs" service shall be implemented. The external test equipment requests emission-related DTCs from the vehicle. The ECU#1 (ECM) has six (6) DTCs stored, the ECU #2 (TCM) has one (1) DTC stored, and the ECU #3 (ABS/Traction Control) has no DTC stored. — ECU #1 (ECM): — ECU #2 (TCM): — ECU #3 (ABS/Traction Control): P0143, P0196, P0234, P02CD, P0357, P0A24 P0443 no emission-related DTC stored

6.3.4

TABLE 143—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 External test equipment → All ECUs Request Description (all values are in hexadecimal) Request emission-related DTCs request SID Byte Value (Hex) 03 Mnemonic SIDRQ

TABLE 144—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES RESPONSE MESSAGES
Message direction: Message Type: Data Byte #1 #2 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 ECU #1 → External test equipment Response Description (all values are in hexadecimal) Request emission-related DTCs response SID # of DTC {number of emission-related DTCs stored in this ECU} DTC High Byte of P0143 DTC Low Byte of P0143 DTC High Byte of P0196 DTC Low Byte of P0196 DTC High Byte of P0234 DTC Low Byte of P0234 DTC High Byte of P02CD DTC Low Byte of P02CD DTC High Byte of P0357 DTC Low Byte of P0357 DTC High Byte of P0A24 DTC Low Byte of P0A24 Byte Value (Hex) 43 06 01 43 01 96 02 34 02 CD 03 57 0A 24 Mnemonic SIDRQ #OFDTC DTC1HI DTC1LO DTC2HI DTC2LO DTC3HI DTC3LO DTC4HI DTC4LO DTC5HI DTC5LO DTC6HI DTC6LO

-75-

SAE J1979 Revised APR2002

TABLE 145—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 ECU #3 → External test equipment Response Description (all values are in hexadecimal) Request emission-related DTCs response SID # of DTC {number of emission-related DTCs stored in this ECU} Byte Value (Hex) 43 00 Mnemonic SIDRQ #OFDTC

TABLE 146—REQUEST EMISSION-RELATED DIAGNOSTIC TROUBLE CODES RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 #4 ECU #2 → External test equipment Response Description (all values are in hexadecimal) Request emission-related DTCs response SID # of DTC {number of emission-related DTCs stored in this ECU} DTC High Byte of P0443 DTC Low Byte of P0443 Byte Value (Hex) 43 01 04 43 Mnemonic SIDPR #OFDTC DTC1HI DTC1LO

6.4 6.4.1

Service $04 - Clear/Reset Emission-Related Diagnostic Information FUNCTIONAL DESCRIPTIO N—The purpose of this service is to provide a means for the external test equipment to command ECUs to clear all emission-related diagnostic information. This includes: — — — — — — — — — — — Number of diagnostic trouble codes Diagnostic trouble codes Trouble code for freeze frame data Freeze frame data Status of system monitoring tests On-board monitoring test results Distance travelled while MIL is activated Number of warm-ups since DTC cleared Distance since diagnostic trouble codes cleared Minutes run by the engine while MIL activated Time since diagnostic trouble codes cleared (can (can (can (can (can (can (can (can (can (can (can be read with Service $01, PID $01) be read with Service $03) be read with Service $02, PID $02) be read with Service $02) be read with Service $01, PID $01) be read with Services $06 and $07) be read with Service $01, PID $21) be read with Service $01, PID $30) be read with Service $01, PID $31) be read with Service $01, PID $4D) be read with Service $01, PID $4E)

Other manufacturer specific "clearing/resetting" actions may also occur in response to this request message. All ECUs shall respond to this request message with ignition ON and with the engine not running. For safety and/or technical design reasons, ECUs that can not perform this operation under other conditions, such as with the engine running shall send a negative response message with response code $22 conditionsNotCorrect. 6.4.2 6.4.2.1 MESSA GE D ATA B YTES Clear/Reset Emission-Related Diagnostic Information Request Message Definition

TABLE 147—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION REQUEST MESSAGE
Data Byte #1 Parameter Name Clear/reset emission-related diagnostic information request SID Cvt M Hex Value 04 Mnemonic SIDRQ

-76-

SAE J1979 Revised APR2002 6.4.2.2 Clear/Reset Emission-Related Diagnostic Information Response Message Definition

TABLE 148—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION RESPONSE MESSAGE
Data Byte #1 Parameter Name Clear/reset emission-related diagnostic information response SID Cvt M Hex Value 44 Mnemonic SIDPR

6.4.3 6.4.4

PARAMETER DE FINITION —This service does not support any parameters. MESSA GE E XAMPLE—The example below shows how the "Clear/reset emission-related diagnostic information" service shall be implemented if ignition is ON and with the engine not running. The external test equipment commands the vehicle to Clear/reset emission-related diagnostic information.

TABLE 149—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION REQUEST MESSAGE
Message direction: Message Type: Data Byte #1 External test equipment → All ECUs Request Description (all values are in hexadecimal) Clear/reset emission-related diagnostic information request SID Byte Value (Hex) 04 Mnemonic SIDRQ

TABLE 150—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Clear/reset emission-related diagnostic information response SID Byte Value (Hex) 44 Mnemonic SIDPR

TABLE 151—CLEAR/RESET EMISSION-RELATED DIAGNOSTIC INFORMATION RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 ECU#2 → External test equipment Response Description (all values are in hexadecimal) Clear/reset emission-related diagnostic information response SID Byte Value (Hex) 44 Mnemonic SIDPR

TABLE 152—NEGATIVE RESPONSE MESSAGE
Message direction: Message Type: Data Byte #1 #2 #3 ECU#1 → External test equipment Response Description (all values are in hexadecimal) Negative Response Service Identifier Clear/reset emission-related diagnostic information request SID Negative Response Code: conditionsNotCorrect Byte Value (Hex) 7F 04 22 Mnemonic SIDNR SIDRQ NR_CNC

-77-

SAE J1979 Revised APR2002 6.5 Service $05 - Request Oxygen Sensor Monitoring Test Results—Service $05 is not supported for CAN. The functionality of service $05 is implemented in service $06. Service $06 - Request On-Board Monitoring Test Results for Specific Monitored Systems FUNCTIONAL DESCRIPTIO N—The purpose of this service is to allow access to the results for on-board diagnostic monitoring tests of specific components / systems that are continuously monitored (e.g., mis-fire monitoring) and non-continuously monitored (e.g., catalyst system). The request message for test values includes an On-Board Diagnostic Monitor ID (see Appendix D) that indicates the information requested. Unit and Scaling information is included in Appendix E. The vehicle manufacturer is responsible for assigning "Manufacturer Defined Test IDs" for different tests of a monitored system. The latest test values (results) are to be retained, even over multiple ignition OFF cycles, until replaced by more recent test values (results). Test values (results) are requested by On-Board Diagnostic Monitor ID. Test values (results) are always reported with the Minimum and Maximum Test Limits. The Unit and Scaling ID included in the response message defines the scaling and unit to be used by the external test equipment to display the test values (results), Minimum Test Limit, and Maximum Test Limit information. If an On-Board Diagnostic Monitor has not been completed at least once since Clear/reset emission-related diagnostic information or battery disconnect, then the parameters Test Value (Results), Minimum Test Limit, and Maximum Test Limit shall be set to zero ($00) values. Not all On-Board Diagnostic Monitor IDs are applicable or supported by all systems. On-Board Diagnostic Monitor ID $00 is a bit-encoded value that indicates for each ECU which On-Board Diagnostic Monitor IDs are supported. On-Board Diagnostic Monitor ID $00 indicates support for On-Board Diagnostic Monitor IDs from $01 to $20. On-Board Diagnostic Monitor ID $20 indicates support for On-Board Diagnostic Monitor IDs $21 through $40, etc. This is the same concept for PIDs/TIDs/InfoTypes support in services $01, $02, $06, $08, and $09. On-Board Diagnostic Monitor ID $00 is required for those ECUs that respond to a corresponding service $06 request message as specified in Appendix A. On-Board Diagnostic Monitor ID $00 is optional for those ECUs that do not respond to additional service $06 request messages. 6.6.2 6.6.2.1 MESSA GE D ATA B YTES Request On-Board Monitoring Test Results for Specific Monitored Systems Request Message Definition (Read Supported OBDMIDs) TABLE 153—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS REQUEST MESSAGE (READ SUPPORTED OBDMIDs)
Data Byte #1 #2 #3 #4 #5 #6 #7 Parameter Name Request on-board monitoring test results for specific monitored systems request SID On-Board Diagnostic Monitor ID (OBDMIDs supported: Appendix A) On-Board Diagnostic Monitor ID (OBDMIDs supported: Appendix A) On-Board Diagnostic Monitor ID (OBDMIDs supported: Appendix A) On-Board Diagnostic Monitor ID (OBDMIDs supported: Appendix A) On-Board Diagnostic Monitor ID (OBDMIDs supported: Appendix A) On-Board Diagnostic Monitor ID (OBDMIDs supported: Appendix A) Cvt M M U U U U U Hex Value 06 xx xx xx xx xx xx Mnemonic SIDRQ OBDMID OBDMID OBDMID OBDMID OBDMID OBDMID

6.6 6.6.1

U = User Optional — OBDMID may be included to avoid multiple OBDMID supported request messages

-78-

SAE J1979 Revised APR2002 NOTE— To request OBDMIDs supported range from $C1 - $FF another request message with OBDMID#1 = $C0 and OBDMID#2 = $E0 shall be sent to the vehicle 6.6.2.2 Request On-Board Monitoring Test Results for Specific Monitored Systems Response Message Definition (Report Supported OBDMIDs)—ECU(s) must respond to all supported ranges if requested. A range is defined as a block of 32 OBDMIDs (e.g., range #1: OBDMID $01-$20). The ECU shall not respond to unsupported OBDMID ranges unless subsequent ranges have a supported OBDMID(s).

TABLE 154—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS RESPONSE MESSAGE (REPORT SUPPORTED OBDMIDs)
Data Byte #1 Parameter Name Request on-board monitoring test results for specific monitored systems response SID data record of supported OBDMID = [ #2 #3 #4 #5 #6 : data record of supported OBDMID = [ #n-4 #n-3 #n-2 #n-1 #n mth supported OBDMID Data A: supported OBDMIDs, Data B: supported OBDMIDs, Data C: supported OBDMIDs, Data D: supported OBDMIDs ] C1 C2 C2 C2 C2 xx xx xx xx xx 1st supported OBDMID Data A: supported OBDMIDs, Data B: supported OBDMIDs, Data C: supported OBDMIDs, Data D: supported OBDMIDs ] : M M M M M : xx xx xx xx xx : Cvt M Hex Value 46 Mnemonic SIDPR OBDMIDRE C OBDMID DATA_A DATA_B DATA_C DATA_D : OBDMIDRE C OBDMID DATA_A DATA_B DATA_C DATA_D

C1 = Conditional — OBDMID value shall be the same value as included in the request message if supported by the ECU C2 = Conditional — value indicates OBDMIDs supported; range of supported OBDMIDs depends on selected OBDMID value (see C1)

NOTE— The response message shall only include the OBDMID(s) and Data A - D which are supported by the ECU. If the request message includes (a) OBDMID value(s) which are not supported by the ECU those shall not be included in the response message. 6.6.2.3 Request On-Board Monitoring Test Results for Specific Monitored Systems Request Message Definition (Read OBDMID Test Values) TABLE 155—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS REQUEST MESSAGE (READ OBDMID TEST VALUES)
Data Byte #1 #2 Parameter Name Request on-board monitoring test results for specific monitored systems request SID On-Board Diagnostic Monitor ID Cvt M M Hex Value 06 xx Mnemonic SIDRQ OBDMID

-79-

SAE J1979 Revised APR2002 6.6.2.4 Request On-Board Monitoring Test Results for Specific Monitored Systems Response Message Definition (Report OBDMID Test Values)

TABLE 156—REQUEST ON-BOARD MONITORING TEST RESULTS FOR SPECIFIC MONITORED SYSTEMS RESPONSE MESSAGE (REPORT OBDMID TEST VALUES)
Data Byte #1 Parameter Name Request on-board monitoring test results for specific monitored systems response SID data record of supported OBDMID = [ #2 #3 #4 #5 #6 #7 #8 #9 #10 : data record of supported OBDMID = [ #n-8 #n-7 #n-6 #n-5 #n-4 #n-3 #n-2 #n-1 #n On-Board Diagnostic Monitor ID Std./Manuf. Defined TID#m Unit And Scaling ID#m Test Value (High Byte)#m Test Value (Low Byte)#m Min. Test Limit (High Byte)#m Min. Test Limit (Low Byte)#m Max. Test Limit (High Byte)#m Max. Test Limit (Low Byte)#m ] C1 C2 C2 C2 C2 C2 C2 C2 C2 xx xx xx xx xx xx xx xx xx On-Board Diagnostic Monitor ID Std./Manuf. Defined TID#1 Unit And Scaling ID#1 Test Value (High Byte)#1 Test Value (Low Byte)#1 Min. Test Limit (High Byte)#1 Min. Test Limit (Low Byte)#1 Max. Test Limit (High Byte)#1 Max. Test Limit (Low Byte)#1 ] : M M M M M M M M M : xx xx xx xx xx xx xx xx xx : Cvt M Hex Value 46 Mnemonic SIDPR OBDMIDRE C OBDMID S/MDTID UASID TVHI TVLO MINTLHI MINTLLO MAXTLHI MAXTLLO : OBDMIDRE C OBDMID S/MDTID UASID TVHI TVLO MINTLHI MINTLLO MAXTLHI MAXTLLO

C1 = Conditional — parameter is only present if more than one (1) Manufacturer Defined TID is supported by the ECU for the reque sted Monitor ID. C2 = Conditional — parameter and value depends on selected Manufacturer Defined TID number and are only included if the Manufacturer Defined TID is supported by the ECU. The value shall be zero ($00) in case the On-Board Diagnostic Monitor has not been complete d at least once since Clear/reset emission-related diagnostic information or battery disconnect.

6.6.3 6.6.3.1

PARAMETER DE FINITION On-Board Diagnostic Monitor IDs Supported—The On-Board Diagnostic Monitor IDs supported is the same concept as used for PID support in services $01 and $02 as specified in Appendix A. On-Board Diagnostic Monitor ID Description—The On-Board Diagnostic Monitor ID is a one (1) byte parameter and is defined in Appendix A. An On-Board Diagnostic Monitor may have more than one (1) monitor test (Test ID). NOTE— The On-Board Diagnostic Monitor ID is similar to the Test ID parameter specified in service $06 in Section 6.6.3.1.

6.6.3.2

6.6.3.3

Standardized and Manufacturer Defined Test ID Description—The Standardized and Manufacturer Defined Test ID is a one (1) byte parameter. For example, the On-Board Diagnostic Monitor "Oxygen Sensor Monitor Bank 1 - Sensor 1" may have the following Standardized Test ID: The table below specifies the range of identifiers.

-80-

SAE J1979 Revised APR2002

TABLE 157—STANDARDIZED TEST ID DESCRIPTION
Range (Hex) 00 01 02 03 04 05 06 07 08 09 0A 0B Reserved by document Rich to lean sensor threshold voltage (constant) Lean to rich sensor threshold voltage (constant) Low sensor voltage for switch time calculation (constant) High sensor voltage for switch time calculation (constant) Rich to lean sensor switch time (calculated) Lean to rich sensor switch time (calculated) Minimum sensor voltage for test cycle (calculated) Maximum sensor voltage for test cycle (calculated) Time between sensor transitions (calculated) Sensor period (calculated) EWMA (Exponential Weighted Moving Average) misfire counts for last 10 driving cycles (calculated) Calculation: 0.1 * (current counts) + 0.9 * (previous average) Initial value for (previous average) = 0 This TEST ID shall be reported with OBD Monitor IDs A2 – AD (refer to Appendix D) and the Scaling ID 24 (refer to Appendix E). Misfire counts for last/current driving cycles (calculated) Reserved for future standardisation Description

0C 0D - 7F

TABLE 158—MANUFACTURER DEFINED TEST ID DESCRIPTION
Range (Hex

赞助商链接

更多相关文章:
OBD-II标准故障码定义
在 1991 年 12 月 SAE 定订 J1979 号通报,并在 1994 年 6 月修定该...[模式 5] 结果 MODE $02◎目前引擎瞬间数值需求 ◎类比输入/输出信号 ◎数位...
OBD-II故障码及含义
在 1991 年 12 月 SAE 定订 J1979 号通报,并在 1994 年 6 月修定该...$02◎目前引擎瞬间数值需求 ◎类比输入/输出信号 ◎数位输入/输出信号 ◎系统...
标准的OBD2诊断程序+相关应用层协议
这里可下载: 下载: SAEJ1979-2002 ISO15031-5 670KB 3.46MB 2、TL718 诊断接口 1 套或用 TL718 芯片自建电路。 3、家用 PC 机电脑一台。 4、安装软件:...
OBD标准代码
(OBD/OBD-II) SAE-J1979 号通报中制定的 7 个诊断测试模式: MODE $01◎...[模式 5] 结果 MODE $02◎目前引擎瞬间数值需求 ◎类比输入/输出信号 ◎数位...
SAE J1850NET
SAE J1979—电子/电气诊断测试模式 SAE J2012—诊断代码/信息 SAE J2178—B ...SAE_J2178_2 62页 1下载券 SAE--J1962-2002 20页 1下载券 SAE 2012-OBD...
车载总线种类
SAE J1979 等效; 第六部分为诊断故障代码定义,与 SAE J2012 等效; 第七...SAE J-1939-75-2002 应用层 12 SAE J-1939-81-2003 网络层 SAE J1113 ...
OBD代码
在 1991 年 12 月 SAE 定订 J1979 号通报,并在 1994 年 6 月修定该 ...[模式 5] 结果 MODE $02◎目前引擎瞬间数值需求 ◎类比输入/输出信号 ◎数位...
BOD-II故障码的意义和分类
在 1991 年 12 月 SAE 定订 J1979 号通报,并在 1994 年 6 月修定该...[模式 5] 结果 MODE $02◎目前引擎瞬间数值需求 ◎类比输入/输出信号 ◎数位...
车载诊断标准ISO+13400-3中文
(结节)和 SAE J1939-73:2010 年,附录 A(FMI)SAE J1979-DA, SAE J2012-DA 中规定, c) 会话层(第 5 层) ,在 ISO 14229-2 中定义, d) 传输层(第...
OBD2诊断程序开发
所以只要 OBD2 标准应用层协议文本,ISO15031-5 或 SAE J1979(这两个协议是...故障码的定义,详细请看: SAE J2012 - 2002 注:ISO15765 CAN 故障码消息包...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图