Spontaneous diesel engine shut-down

Bug #1362315 reported by r.roeterdink
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Open Rails
Invalid
Undecided
Unassigned

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.

Revision history for this message
r.roeterdink (r-roeterdink) wrote :
Revision history for this message
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)
Revision history for this message
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.

Revision history for this message
r.roeterdink (r-roeterdink) wrote :

And the consist file.

Revision history for this message
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.

Changed in or:
status: New → Invalid
assignee: Matej Pacha (matej-pacha) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.