Equipment-and-Tool-Institute / j1939-84

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

SW: Correct Test 1.14 DM26 Enable Bit Outcomes #977

Closed ericthomasswenson closed 3 years ago

ericthomasswenson commented 3 years ago

Correct Test 1.14 DM26 Enable Bit Outcomes

Enable status settings are incorrectly identified as errors in part 1 test 14.

Details provided below in explanation to CARB.

ericthomasswenson commented 3 years ago

Correct Test 1.14 DM26 Enable Bit Outcomes

Dear Dan and Paul,

One of the reasons I’ve been struggling with DM26 is the overly complex language in Part 1 Test 14. This was complicated by incorrect outcomes, which I identified to the software developer yesterday as shown below.  

My conclusion is that the text for unsupported monitors, as identified in DM5, needed to be simplified.  The revised text will provide the same outcomes intended by the current language, which Allen Lyons and I wrote about 8 years ago.  The current language for part 1 test 14 does not evaluate enabled bit content.  This I believe to be correct.  The examples for enable bit values, given in J1939-73 5.7.29, illustrate test conditions driven by manufacturers’ implementations that cannot be reasonably controlled in the J1939-84 text.

 

1. Monitor enable status for the current driving cycle. This bit shall indicate when a monitor is disabled in a manner such that there is no likely or reasonable way for the driver to operate the vehicle to allow the monitor run. Typical examples are:

• Engine-off soak not long enough (e.g., cold start temperature conditions not satisfied)

• Monitor maximum time limit or number of attempts/aborts exceeded

• Ambient air temperature too low or too high

• BARO too low (high altitude)

The monitor shall not indicate “disabled” for operator-controlled conditions such as rpm, load, accelerator position, minimum time limit not exceeded, etc.

 

2. Monitor completion status for the current driving/monitoring cycle. Status shall be reset to “not complete” upon starting a new monitoring cycle. Note that some monitoring cycles can include various engine-operating conditions; other monitoring cycles begin after the ignition key is turned off. Some status bits on a given vehicle can utilize engine-running monitoring cycles while others can utilize engine-off monitoring cycles. Resetting the bits to “not complete” upon starting the engine will accommodate most engine-running and engine-off monitoring cycles; however, manufacturers are free to define their own monitoring cycles.

 

NOTE: DM26 bits shall be utilized for all non-continuous monitors which are supported, and change completion status in DM5. If a non-continuous monitor is not supported or always shows “complete,” the corresponding DM26 bits shall indicate disabled and complete. DM26 bits may be utilized at the vehicle manufacturer’s discretion for all continuous monitors which are supported with the exception of the bit that shall always show CCM (comprehensive component monitoring) as enabled for spark ignition and compression ignition engines.

 

I’ll see if I can’t detangle the part 2 DM29 language soon.

Sincerely Yours,

Eric Swenson 

————— Text to software developer below.

Dear ...,

When I read this, I believe that the enable bit for a monitor supported in DM5 is permitted to say disabled or enabled for the current cycle in DM26. The failure criteria for unsupported monitors, does prohibit the enabled setting. Disable is prohibited for the CCM enable bit (bit 3 of SP 3303).

6.1.14.2 Fail Criteria 

a. Fail if any response for any monitor supported in DM5 by a given ECU is reported as “0=monitor complete this cycle or not supported” in SP 3303 bits 1-4 and SP 3305 [except comprehensive components monitor (CCM)].  

b. Fail if any response for each monitor not supported in DM5 by a given ECU is not also reported in DM26 as “0=monitor complete this cycle or not supported” in SP 3303 bits 5-7 and [also reported in DM26 as] “0=monitor disabled for rest of this cycle or not supported” in SP 3303 bits 1 and 2 and SP 3304. [23]

c. Fail if any response from an ECU indicating support for CCM monitor in DM5 reports “0=monitor disabled for rest of this cycle or not supported” in SP 3303 bit 3.  

d. Fail if any response indicates number of warm-ups since code clear (WU-SCC) (SP 3302) is not zero.  

e. Fail if any response indicates time since engine start (SP 3301) is not zero. 

f. Fail if no OBD ECU provides DM26. 


a-c are summarized below

 

  | DM5 Support | DM26 Enable | DM26 Complete | Outcome -- | -- | -- | -- | -- 6.1.14.2.a | Supported | Any | Complete | Fail 6.1.14.2.b | Not Supported | Any | Not Complete | Fail 6.1.14.2.b | Not Supported | Enabled | Any | Fail 6.1.14.2.c | CCM Supported | Disabled | Any | Fail

 

So when I look at 

 

07:17:42.1013 Global DM26 Request

07:17:42.1088 18EAFFF9 [3] B8 FD 00 (TX)

07:17:42.1111 18FDB800 [8] 00 00 00 37 80 12 E0 1E

DM26 from Engine #1 (0): Warm-ups: 0, Time Since Engine Start: 0 seconds

 

Vehicle Composite of DM26:

    A/C system refrigerant     not enabled,     complete

    Boost pressure control sys     enabled, not complete

    Catalyst                   not enabled,     complete

    Cold start aid system      not enabled,     complete

    Comprehensive component        enabled,     complete

    Diesel Particulate Filter  not enabled, not complete

    EGR/VVT system                 enabled, not complete

    Evaporative system         not enabled,     complete

    Exhaust Gas Sensor         not enabled, not complete

    Exhaust Gas Sensor heater  not enabled, not complete

    Fuel System                    enabled, not complete

    Heated catalyst            not enabled,     complete

    Misfire                        enabled, not complete

    NMHC converting catalyst       enabled, not complete

    NOx catalyst/adsorber      not enabled, not complete

    Secondary air system       not enabled,     complete

 

FAIL: 6.1.14.2.a - Engine #1 (0) response for a monitor Diesel Particulate Filter in DM5 is reported as supported and is reported as not enabled by DM26 response

FAIL: 6.1.14.2.a - Engine #1 (0) response for a monitor Exhaust Gas Sensor in DM5 is reported as supported and is reported as not enabled by DM26 response

FAIL: 6.1.14.2.a - Engine #1 (0) response for a monitor Exhaust Gas Sensor heater in DM5 is reported as supported and is reported as not enabled by DM26 response

FAIL: 6.1.14.2.a - Engine #1 (0) response for a monitor NOx catalyst/adsorber in DM5 is reported as supported



I’ve come to the conclusion that the disabled prohibition was applied in a. to the supported monitors (as defined in DM5) in error. Here the cited supported monitors properly show ‘not complete’ for a.

I find that my prior acceptance of these and similar error messages was a mistake.

Do you agree?

My recommendation is to rewrite a-c as a-d by splitting and simplifying the word salad in b.

6.1.14.2 Fail Criteria 

a. Fail if any response for any monitor supported in DM5 by a given ECU is reported as “0=monitor complete this cycle or not supported” in SP 3303 bits 1-4 and SP 3305 [except comprehensive components monitor (CCM)].  

// After a reset (here DM11), all completed monitors are reset to not complete.


b. Fail if any response for each monitor not supported in DM5 by a given ECU is 

also reported in DM26 as “1=monitor not complete this monitoring cycle” in SP 3303 bits 5-7.

// Unsupported monitors will never need to run and are ‘de facto’ complete.


c. Fail if any response for each monitor not supported in DM5 by a given ECU is 

also reported in DM26 as “0=monitor enabled for this monitoring cycle” in SP 3303 bits 1 and 2 and SP 3304. [23]  

// Unsupported monitors will never run and cannot be enabled.


d. Fail if any response from an ECU indicating support for CCM monitor in DM5 reports “0=monitor disabled for rest of this cycle or not supported” in SP 3303 bit 3.  

// For now, CCM is always to be shown as complete.

I think you will agree these are easier to read.

Best Wishes,

Eric
ericthomasswenson commented 3 years ago

The existing text is technically correct, but too hard to read.