In J1939 Diagnostics part 1, we have seen diagnostics connector details. We also covered diagnostics trouble code (DTC), failure mode indicator (FMI), DTC Conversion methods, and CAN message defined for DTC handling. In the following section, we are going to learn about diagnostics messages used in testing continuously monitored and non-continuously monitored components/systems.
Table of Contents
Diagnostic Message 5 (DM5) Diagnostics Readiness 1
DM5 message uses PGN 65230 (0xFECE). This message shows the diagnostic readiness information of a system. This is not a periodic message and can be requested using request PGN 59904. The following data is sent in the DM5 message.
Active DTCs
This is a 1-byte field that gives the number of active DTCs present in a controller. The data range of this field is 0-240. If no DTC active in a specific controller, then this field shall be set to zero.
Previously active DTCs
This is a 1-byte field that gives the number of previously active DTCs in a controller. The data range of this field is 0-240. If no DTCs have been previously active, this field should be set to zero.
OBD Compliance
This is a 1-byte field that shows the OBD compliance level of a controller. The data range of this field is 0-240.
- Value 0 – reserved
- value 1 – OBD II (California Air Resource Board)
- value 2 – OBD (Federal, EPA)
- value 3 – OBD and OBD II
- value 4 – OBD I
- value 5 – Not intended to meet OBD II requirements
- value 6 to 240 – reserved
Continuously Monitored Systems Support/Status
This is a 1-byte field that shows continuously monitored system support and status. The following bitmap is used for this field.
- bit 8 – reserved
- bit 7 – Comprehensive component monitoring status (0 means test complete or not supported, 1 means test not complete)
- bit 6 – Fuel System monitoring status (0 means test complete or not supported, 1 means test not complete)
- bit 5 – Misfire monitoring status (0 means test complete or not supported, 1 means test not complete)
- bit 4 – reserved
- bit 3 – Comprehensive component monitoring support (0 means test not supported, 1 means test supported)
- bit 2 – Fuel system monitoring support (0 means test not supported, 1 means test supported)
- bit 1 – Misfire monitoring support (0 means test not supported, 1 means test supported)
Non-continuously Monitored Systems Support
This is a 2-byte field that is a bitmap shows which non-continuously monitored systems are supported and which are not. 0 means test not supported and 1 means test supported by the controller. The bitmap is listed below.
- Byte 5, bit 8 – EGR system monitoring Support
- Byte 5, bit 7 – Oxygen sensor heater monitoring Support
- Byte 5, bit 6 – Oxygen sensor monitoring Support
- Byte 5, bit 5 – A/C system refrigerant monitoring Support
- Byte 5, bit 4 – Secondary air system monitoring Support
- Byte 5, bit 3 – Evaporative system monitoring Support
- Byte 5, bit 2 – Heated catalyst monitoring Support
- Byte 5, bit 1 – Catalyst monitoring Support
- Byte 6, bits 8 to 2 – reserved
- Byte 6, bit 1 – Cold start aid system monitoring Support
Non-continuously Monitored Systems Status
This is a 2-byte field. This field is a bitmap show which non-continuously monitored systems test are complete. 0 means test complete or not supported and 1 means test is not complete. The bitmap is listed below.
- Byte 5, bit 8 – EGR system monitoring Support
- Byte 5, bit 7 – Oxygen sensor heater monitoring Support
- Byte 5, bit 6 – Oxygen sensor monitoring Support
- Byte 5, bit 5 – A/C system refrigerant monitoring Support
- Byte 5, bit 4 – Secondary air system monitoring Support
- Byte 5, bit 3 – Evaporative system monitoring Support
- Byte 5, bit 2 – Heated catalyst monitoring Support
- Byte 5, bit 1 – Catalyst monitoring Support
- Byte 6, bits 8 to 2 – reserved
- Byte 6, bit 1 – Cold start aid system monitoring Support
Below table shows organization of data transmitted in DM5 message.
Default Priority | 6 |
PDU Format | 254 |
PDU Specific | 206 |
PGN | 65230 |
Byte 1 | Active DTCs |
Byte 2 | Previously active DTCs |
Byte 3 | OBD Compliance |
Byte 4 | Continuously monitored system support/status |
Byte 5 – 6 | Non-Continuously monitored systems support |
Byte 7 – 8 | Non-Continuously monitored systems status |
DM5 Message
Diagnostic Message 6 (DM6) Continuously Monitored Systems Test Results
DM6 message uses PGN 65231 (0xFECF). The intended use of this message is to assist technician and service personnel after a vehicle repair by reporting test results after a driving cycle. This message reports faults associated with test results for emission-related power train components. If test results indicate a fault, then MIL is illuminated, and DTC is set with PGN 65225. This message can be requested using request PGN 59904.
Default Priority | 6 |
PDU Format | 254 |
PDU Specific | 207 |
PGN | 65231 |
Byte 1 – bits 8-7 | Malfunction Indicator Lamp status |
Byte 1 – bits 6-5 | Red Stop Lamp status |
Byte 1 – bits 4-3 | Amber Warning Lamp status |
Byte 1 – bits 2-1 | Protect Lamp status |
Byte 2 – bits 8-7 | Reserved |
Byte 2 -bits 6-5 | Reserved |
Byte 2 -bits 4-3 | Reserved |
Byte 2 -bits 2-1 | Reserved |
Byte 3 – bits 8-1 | SPN |
Byte 4 – bits 8-1 | SPN |
Byte 5 – bits 8-6 | SPN |
Byte 5 – bits 5-1 | FMI |
Byte 6 – bit 8 | SPN Conversion Method (CM) |
Byte 6 – bit 7-1 | Occurrence Count (OC) |
DM6 Message
This message has same format as it is used to report active DTCs.
When more than one diagnostics trouble code is active, the transport protocol SAE J1939-21 has to be used to send information that has more than 8 data bytes.
Diagnostic Message 7 (DM7) Command Non-Continuously Monitored Test
DM7 message uses PGN 58112 (0x E300). This message is used to command on board diagnostic monitoring tests of specific components that are not monitored continuously. DM7 is used to invoke the manufacturer defined test identifiers. If the DM7 message is not supported or any specific test identifier is not supported, then the controller must reply with NACK.
Following fields are required in the DM7 message.
Test Identifier
This 1-byte field designates the test to be run. These test identifiers are manufacturer defined identifiers have ranged from 1 to 64. Data range from 65 to 250 and 0 are reserved.
Default Priority | 6 |
PDU Format | 227 |
PDU Specific | Destination Specific |
PGN | 58112 |
Byte 1 | Test Identifier |
Byte 2 – 8 | Reserved |
DM7 Message
Diagnostic Message 8 (DM8) Test Results for Non-Continuously Monitored Systems
DM8 message uses PGN 65232 (0xFED0). This message is used to report the test results of the non-continuously monitored test invoked by the DM7 message. DM7 message used to invoke one of manufacturer defined test identifiers. The test results are sent out by the DM8 message.
DM8 message contains following fields.
Test Type/Component Identifier
This is a 1-byte field used to identify a non-continuously monitored component identifier that was tested. These test type identifiers are manufacturer defined identifiers have ranged from 1 to 64. Data range from 65 to 250 and 0 are reserved.
Test Value
The test value is 2-byte data measured during the test. The test value is collected during the test. If the test does not have minimum and maximum value limits, then this value must be set to all zeros. The range of test value is from 0 to 64255.
Test Limit Maximum
It is a 2-byte threshold value. The test value must be below this value to pass the test.
Test Limit Minimum
It is a 2-byte threshold value. The test value must be above this value to pass the test.
Default Priority | 6 |
PDU Format | 258 |
PDU Specific | 208 |
PGN | 65232 |
Byte 1 | Test Identifier |
Byte 2 | Test Type/ Test identifier |
Byte 3 – 4 | Test Value |
Byte 5 – 6 | Test Limit Maximum |
Byte 7 – 8 | Test Limit Minimum |
DM8 Message
If there is more than one test vale to report then the results will be communicated using Transport Protocol defined in j1939-21.
Diagnostic Message 10 (DM10) Non-continuously Monitored System Test Identifiers Support
DM10 message uses PGN 65234 (0xFED2). This message reports a list of non-continuously monitored systems tests supported by the controller. Test identifiers are defined by the component manufacturers. PGN 58112 (DM7) is used to invoke one of the manufacturer-defined test identifiers. Test results are reported by the DM8 message. The service tool uses DM10 message to determine what tests are supported by the controller. This message is requested by using request PGN 59904. If this message is not supported by the controller then the controller shall send NACK.
Following field is included in DM10 message.
Test Identifier Supported
This field indicates a test identifier supported by the controller. Each bit represents one test, so a maximum of 64 tests can be accommodated without using the transport protocol. The data length of this field is 8 bytes.
Takeaway
J1939/73 specifications define application-layer diagnostics and calibration. Above mentioned standard diagnostics messages provide a capability that allows service tool to put the controllers into specific test modes in order to diagnose the system.