Equipment-and-Tool-Institute / j1939-84

J1939-84 implementation for etools.org
MIT License
7 stars 6 forks source link

Tool Doesn't Handle Permanent DTCs with Multiple OBD Controllers #1089

Closed naroner closed 3 months ago

naroner commented 2 years ago

We have two OBD controllers that support DM28, the tool interprets one of them not having a DTC as it being erased (We only set a DTC in one controller)

18:49:24.4576 Destination Specific DM28 Request to Engine #2 (1) 18:49:24.4611 18EA01F9 [3] 80 FD 00 (TX) 18:49:24.4736 18FD8001 [8] 03 FF 00 00 00 00 FF FF DM28 from Engine #2 (1): MIL: off, RSL: off, AWL: off, PL: not supported, No DTCs FAIL: 6.11.7.2.b - Engine #2 (1) DM28 response indicates the permanent DTC is no longer present

18:49:24.4835 Destination Specific DM28 Request to Exhaust Emission Controller (61) 18:49:24.4871 18EA3DF9 [3] 80 FD 00 (TX) 18:49:24.4911 18FD803D [8] 03 FF 6D 16 0D 01 FF FF DM28 from Exhaust Emission Controller (61): MIL: off, RSL: off, AWL: off, PL: not supported DTC 5741:13 - AFT 1 Outlet Soot, Out Of Calibration - 1 times

ericthomasswenson commented 2 years ago

J1939-84 6.11.7 Says:

6.11.7 DM20/DM28/Broadcast data: Waiting until General Denominator Is Met 6.11.7.1 Actions a. Broadcast data received shall comply with the values defined in Section A.1. Evaluation of Table A-1 criteria shall commence only after 300 s of engine operation above 1150 RPM have been observed. b. Wait 3 minutes.
c. Increase engine speed over 1150 rpm (a minimum of 300 seconds at this speed is required). d. Periodic DS DM20 to ECUs that reported data earlier in this part and DS DM28s to ECU that reported permanent DTC earlier in this part (no more than once every 1 second) while timing engine operation versus the general denominator timing requirement.
e. Periodic operating summaries and query results shall be reported in the log, at intervals no greater than 20 seconds. Also report DM20 and DM28 queries, and messages when failure and warning criteria are met for DM20 or DM28. [Every 10th query set may be reported in the log unless the failure criteria for DM20 or DM28 were met]. f. After 300 seconds have been exceededof engine operation above 1150 RPM has been observed, reduce the engine speed back to idle.

6.11.7.2 Fail Criteria a. Fail if there is any DM20 response that indicates any denominator is greater than the value it was earlier in this part before general denominator timing has elapsed.

b. Fail if there is any DM28 response that indicates the permanent DTC is no longer present before general denominator timing has elapsed.

c. Fail if any broadcast data is missing according to Table A1, or otherwise meets failure criteria during engine idle speed periods, after 300 s of engine operation above 1150 RPM have been observed.

ericthomasswenson commented 2 years ago

DS DM28 queries should have only been sent to SA 61, as SA 61 would have been the only SA to respond with a DM28 DTC in a prior DM28 query, as defined in 6.11.7.1.d.

ericthomasswenson commented 2 years ago

One DTC from a distributed architecture is expected to pass.

NR Will confirm pass/fail for a single DTC.

ericthomasswenson commented 2 years ago

Nathan, is this still an issue in 3.1.4?

naroner commented 2 years ago

Yep it is:

13:20:06.5763 Destination Specific DM28 Request to Engine #2 (1) 13:20:06.5775 18EA01F9 [3] 80 FD 00 (TX) 13:20:06.6126 18FD8001 [8] 03 FF 9B 01 04 01 FF FF DM28 from Engine #2 (1): MIL: off, RSL: off, AWL: off, PL: not supported DTC 411:4 - Engine EGR 1 Differential Pressure, Voltage Below Normal, Or Shorted To Low Source - 1 times 13:20:06.6136 Destination Specific DM28 Request to Exhaust Emission Controller (61) 13:20:06.6154 18EA3DF9 [3] 80 FD 00 (TX) 13:20:06.6197 18FD803D [8] 03 FF 00 00 00 00 FF FF DM28 from Exhaust Emission Controller (61): MIL: off, RSL: off, AWL: off, PL: not supported, No DTCs FAIL: 6.11.7.2.b - Exhaust Emission Controller (61) DM28 response indicates the permanent DTC is no longer present

battjt commented 1 year ago

"6.11.7.2.b Fail if there is any DM28 response that indicates the permanent DTC is no longer present before general denominator timing has elapsed. "

The code was a literal interpretation of that line. We have adjusted 6.11.7.2.b to mean "Fail if there is a DM28 response from a module that previously reported a permanent DTC that indicates the permanent DTC is no longer present before general denominator timing has elapsed."

naroner commented 1 year ago

@ericthomasswenson This is fixed in 3.1.19