Closed gumbelmj closed 2 years ago
Email from Eric:
So looking at the criteria in more detail the outcome appears to be correct.
But are we right for the wrong reasons.The enumeration is given in J1939-73 5.7.5.3 OBD Compliance. I had not seen anyone make the mistake of using zero before.
The commonly expected values for HD OBD diesel vehicles include:
5, not intended to comply 255, not available (supported) 19, partial hd OBD compliance 20, full hd OBD compliance
Ignoring 5 and FF, all reported values OBD Compliance should provide one value from the enumeration below. The warning criteria applies if there is more than one value. The test anticipates 4 values. two for HD OBD and two for OBD II.
To me, considering everything other than 0, 5, and FB-FF, an OBD ECU would provide users the most flexibility to reuse the queries for their products. In the rest of the test SA 0 did not appear to be treated as an OBD module (e.g. no DS dm 4 query), but we may be narrow minded if the test only treats the 4 listed devices as an OBD ecu.
We can do nothing, if we can confirm that the value 0 used by SA 5 triggered the warning message, because it was different from 20. (Please add the paragraph number 6.1.3.3.a. to the warning message, I believe it was omitted).
We can choose to add a warning message specifically for 0, FB, FC, FD, And FE.
We can choose to expand the definition of devices qualified as HD OBD ecus.
Today I think the best answer is 1. We need to start a deferred improvements list for the subsequent maintenance contract.
6.1.3 DM5: Diagnostic readiness 1 6.1.3.1 Actions: a. Global4 DM5 (send Request (PGN 59904) for PGN 65230 (SPN 1220)).
b. Create 'OBD ECU'5 list (comprised of all ECUs that indicate 0x13, 0x14, 0x22, or 0x23 for OBD compliance) for use later in the test as the “OBD ECUs”.
6.1.3.2 Fail criteria: a. Fail if no ECU reports as an OBD ECU. b. Fail if any ECU responds with a NACK (for PGN 65230).
6.1.3.3 Warn criteria: a. Warn if more than one ECU responds with a value for OBD compliance where the values are not identical (e.g., if one ECU reports 0x13 and another reports 0x22, if one reports 0x13 and another reports 0x11).
As we have chosen only 1, do nothing, and deferred 2 and 3 as potential future enhancements, the text is actually correct. I will add the value 0 to the example to better match the observed behavior.
Combine enhancement with #493
For 3.0.0 the recommended text improvements for option 1 are:
6.1.3 DM5: Diagnostic readiness 1 6.1.3.1 Actions: a. Global [4] DM5 (send Request (PGN 59904) for PGN 65230 (SPN 1220)). b. Create 'OBD ECU' [5] list (comprised of all ECUs that indicate 0x13, 0x14, 0x22, or 0x23 for OBD compliance) for use later in the test as the “OBD ECUs”. 6.1.3.2 Fail criteria: a. Fail if no ECU reports as an OBD ECU. b. Fail if any ECU responds with a NACK (for PGN 65230). 6.1.3.3 Warn criteria: a. Warn if more than one ECU responds with a value for OBD compliance where the values are not identical (e.g., if one ECU reports 0x13 and another reports 0x22, if one reports 0x13 and another reports 0x11, or if one ECU reports 0x00 and another reports 0x14).
[4] Always record any NACK or ACK received for requests, by using the PGN data field to match the ACK or NACK to the request. See Roman numerals II, III, IV, and V prior to section 6.1 for more information about ACKs and NACKs and other referenced requirements given in SAE J1939-21.
[5] ‘OBD ECU’ means an ECU reporting 0x13 (19), 0x14 (20), 0x22 (34), or 0x23 (35) for OBD compliance in DM5. Devices that respond with 0x05 or 0xFF imply that they are not intended to comply with HD OBD requirements. Treat devices that return 0 as not an OBD ECU, and ensure that the warning message for mismatched values is provided as the outcome for 6.1.3.3. Always warn if a response from a non-OBD ECU is being used/received/evaluated anytime in test, unless directed otherwise by Table A-1 or the detailed actions and criteria. For example, see Component ID queries in 6.1.9.4.
@ericthomasswenson, WRT 6.1.3.3.a, any ECU that reports 0x05 or 0xFF can be ignored, then the rest of the ECU compliance values are compared and should be consistent with all of them reporting 0x13, 0x14, 0x22, 0x23. Is that a correct interpretation?
Yes, probably need to understand better what to do about some of the other enumerated values for the enhancement (and text). All the same value, will apply for other enumerated values; just need to make sure values other than the magic 4 will work for SI engines, BEVs, Brazil, Euro VI and others.
Ignoring 5 and 255 applies to their designation as OBD ECUs. Global query results in part 1 can result in destination specific queries later under the “devices that responded in Part 1 construction”.
6.1.3.3 and footnote 6 amended as described.
Need longer term approach for DM5 here and other places for values other than 13h, 14h, ... vs. Brazil et. al.
Need user community input for the desired list of future values.
Superseded by #1099
Final text captured in consolidated changes.
The spec clearly indicates to warn if the OBD Compliance values is not identical to other ECUs. Does this need to be changed to indicate "...identical other OBD ECUs"?