Spontaneous diesel engine shut-down

Bug #1362315 reported by r.roeterdink on 2014-08-27
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Open Rails
Matej Pacha

Bug Description

Under certain conditions, a diesel engine can spontaneously shut down when normally running a train. This can happen if the throttle is reduced at a high rate.
In this situation, the calculation for 'demanded RPM' can fall below the defined 'Idle RPM', which causes the engine to shut down.
Depending on the settings, the RPM as now set due to this 'demanded RMP' as real RPM, is still below the Idle RPM which prevents the engine to restart, so the shut-down is definitive - end of action.

Attaches is a proposed patch (for RollingStock\Subsystems\PowerSupply\DieselEngine.cs) which ensures the actual RPM never falls below the Idle RPM unless the engine is in the 'stopped' state.

r.roeterdink (r-roeterdink) wrote :
Matej Pacha (matej-pacha) wrote :

Can you please provide the ENG file? It seems like the engine's parameters might be wrong what causes this overloading and thus stopping the engine.

Changed in or:
assignee: nobody → Matej Pacha (matej-pacha)
r.roeterdink (r-roeterdink) wrote :

Attached is the full engine file and consist file. This is originally a freeware train, but has been adapted for use on my fictious route.
The unit is used on a local stopping service with short distances between stations and a tight schedule. This requires setting throttle to full 100% on departure, but often the distance to the next station is too short for the train to reach max. speed, so throttle remains at 100% until reset to 0% on approach to next station.
The problem occurs when throttle is set back from 100% directly to 0% - not always, probably it depends on just how the update catches the change in throttle setting. The calculation uses the change in throttle value to calculate the change in RPM, and the high value of change in throttle causes an 'undershoot', bringing the calculated RPM below the idle value.
Even if the settings of the train are not quite correct and changing might prevent this problem, I think the program should be fail-save here and clamp the change in RPM such that it cannot fall below the idle value only due to changes in throttle setting.

r.roeterdink (r-roeterdink) wrote :

And the consist file.

Matej Pacha (matej-pacha) wrote :

First of all - parameter DieselEngineIdleRPM( 1 ) is really odd. Since the DieselEngineMaxRPMChangeRate( 250 ), it is very easy to get under the threshold for the "stopped" state. Another issue is, that the XRAB engine is probably supposed to be a control car (with no engine). The power of its engine is really small and can act as another factor. I'd suggest to have a consist of two engines, while one is switched off (player or helper loco can be switched on/off by Y/Shift+Y or using the F9 car action menu). It is a really strange combination of parameters causing this behavior, but I would not mark this as a bug.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments