Initialize Air Brakes Function Times Out??
#21
Posted 21 November 2014 - 12:01 PM
In MSTS, it matters not if the brake is non-lap or self lap. Using the 0 in the notch data denotes it is a notch and a keypress moves the control, but if the key is held down the control animation actually stops long enough to release the key. This movement is too fast in OR and although the control animation does stop, the time it stops is not long enough to allow a key release before moving again. That is why I suggested adding a time delay.
#22
Posted 21 November 2014 - 05:04 PM
Further, here's the deal on 'Running.' In the real world 'Running' is a position that you can move to that will stop charging the brakes - as moving from Release to Running. There's no functional reason for it the way MSTS/OR brakes work but prototypically it should be there. The problem with OR's Running position is that it releases and recharges the brakes just like 'Release.' It shouldn't do that.
Copperpen you are spot on in your analysis in Post #21. There is a noticeable delay in 2656 when moving through Lap, but it is so short that it is way too easy still to slip to Running and accidentally release the air.
We're getting closer guys! :)
#23
Posted 22 November 2014 - 01:14 AM
Notch(0.4 0 TrainBrakesControllerLapStart )
as a notch configuration to set the brakes as non-self-lapped, and this kind of config is being respected by OR in its current state too.
copperpen, on 21 November 2014 - 12:01 PM, said:
You are right, the controller speed is traditionally different in OR compared to MSTS. The difference is because MSTS seem to differentiate the notching speed based on [controller type / locomotive type / eng configuration / whatever], while OR handles all types of controls and all configurations with the same speed (of course by respecting the speed multiplier parameter, 3rd number in e.g. Brake_Train() section). That's why we see some controllers are slower in OR than in MSTS, and some others are faster. I personally have absolutely no patience to start analyzing MSTS behavior in this aspect and writing a table of all possible combinations, so that it can be reproduced the same way in OR. So unless someone does this work, and suggests a set of percent-per-second for all different cases, the notch configuration in .eng file must be adjusted for using in OR. There is no additional time delay needed to be added into the OR program code either, because if someone feels the changing speed too high, he can adjust the .eng Brake_Train() section himself.
I am willing to remove all brake line pressure changes for "Running" notch anyway, and I might add the decent stop to self-lapping-brakes too and/or try to make use of "the other" option Herb mentioned, once I will know which one that is. :) Just let me know witch behavior you want to be included to OR.
#24
Posted 22 November 2014 - 02:58 PM
Brake_Train ( 0 1 0.0125 0.15
NumNotches ( 5
Notch( 0 0 TrainBrakesControllerReleaseStart )
Notch( 0.143 0 TrainBrakesControllerSelfLapStart )
Notch( 0.286 1 TrainBrakesControllerApplyStart )
Notch( 0.786 0 TrainBrakesControllerContinuousServiceStart )
Notch( 0.900 0 TrainBrakesControllerEmergencyStart )
This is the Train Brake setup on a Santa Fe PA passenger diesel from 3DTrains with self lapping brakes:
Brake_Train ( 0 1 0.0125 0.45
NumNotches ( 5
Notch( 0 0 TrainBrakesControllerReleaseStart )
Notch( 0.3 1 TrainBrakesControllerGraduatedSelfLapLimitedHoldingStart )
Notch( 0.85 0 TrainBrakesControllerSuppressionStart )
Notch( 0.9 0 TrainBrakesControllerContinuousServiceStart )
Notch( 0.95 0 TrainBrakesControllerEmergencyStart )
It is the TrainBrakesControllerGraduatedSelfLapLimitedHoldingStart statement that makes this second unit equipped with self lapping brakes.
If it is TrainBrakesControllerSelfLapStart then it is non self lapping.
#25
Posted 24 November 2014 - 12:31 AM
1. GraduatedSelfLapLimitedHoldingStart, SuppressionStart and ContinuousServiceStart does exactly the same thing.
2. SelfLapStart has no effect at all, as if the controller was in Neutral state.
3. Running notch seems to be modelled more or less correctly, when it is a smooth notch. It might have problems only in case it is a discrete one. In smooth case the closer the notch is to 100%, the less it releases the brake, and even at 0% state it releases the brake only 0.1 times the normal. (I admit it could be modelled more precisely though.)
#26
Posted 24 November 2014 - 01:17 AM
gpz, on 24 November 2014 - 12:31 AM, said:
1. GraduatedSelfLapLimitedHoldingStart, SuppressionStart and ContinuousServiceStart does exactly the same thing.
2. SelfLapStart has no effect at all, as if the controller was in Neutral state.
3. Running notch seems to be modelled more or less correctly, when it is a smooth notch. It might have problems only in case it is a discrete one. In smooth case the closer the notch is to 100%, the less it releases the brake, and even at 0% state it releases the brake only 0.1 times the normal. (I admit it could be modelled more precisely though.)
1. Correct, all essentially the same just more of it as you progress through the steps.
2. Correct again - status quo is it's intent: Reduce no more air and hold everything in check.
3. Running should not release air at all. It is the same to "Release" as Lap is to "Apply." When the engineer wants to stop charging the air reservoirs in the train and build up his main reservoir pressure he can move the lever from Release to Running. Add no more air and hold everything in check.
If Running did that then this discussion would be academic since it would give another status quo notch on the quadrant and if you accidentally slipped from Lap into Running you wouldn't lose your brake set. You would then achieve full MSTS compatibility with non self lapping brakes.
#27
Posted 24 November 2014 - 02:16 AM
#28
Posted 24 November 2014 - 07:34 AM
TrainBrakesControllerFullQuickReleaseStart
TrainBrakesControllerGraduatedQuickReleaseStart
TrainBrakesControllerReleaseStart
TrainBrakesControllerHoldStart
TrainBrakesControllerEPApplyStart
TrainBrakesControllerEPHoldStart
TrainBrakesControllerRunningStart
TrainBrakesControllerSelfLapStart
TrainBrakesControllerGraduatedSelfLapStart
TrainBrakesControllerGraduatedSelfLapLimitedStart
TrainBrakesControllerNeutralhandleOffStart
TrainBrakesControllerMinimalReductionStart
TrainBrakesControllerApplyStart
TrainBrakesControllerFullServiceStart
TrainBrakesControllerSuppressionStart
TrainBrakesControllerContinuousServiceStart
TrainBrakesControllerEmergencyStart
To define notches that do not have any specific function, but simply act as détentes within a range, name the notches “dummy”.
The order these are in is important. If they do not occur in this order then the controller will not work properly. A selection of these is normally used.
I think HoldStart could also be used in the same way as RunningStart.
The engine brake uses the same notch types, with Engine substituted for Train.
#29
Posted 24 November 2014 - 10:40 AM
#30
Posted 24 November 2014 - 01:50 PM
gpz, on 24 November 2014 - 02:16 AM, said:
Right, they were both for diesels, on with and one without self lapping brakes. Steam, using the older K6 type of brake had the running application. MSTS steam loco brakes were posted above and are like so:
Brake_Train ( 0 1 0.1 0
NumNotches( 6
Notch(0 0 TrainBrakesControllerReleaseStart )
Notch(0.2 0 TrainBrakesControllerRunningStart )
Notch(0.4 0 TrainBrakesControllerSelfLapStart )
Notch(0.5 1 TrainBrakesControllerApplyStart )
Notch(0.9 0 TrainBrakesControllerFullServiceStart )
Notch(1.0 0 TrainBrakesControllerEmergencyStart )
Going to give 2668 a look-see.
#31
Posted 24 November 2014 - 02:34 PM
Now for the bad news. The original start of this thread, the substance of Bug 1392857 "InitializeBrakesCommand fails " is, I believe, still outstanding. Just to reiterate, the command works for a half dozen or so times when picking up and setting out cars and then it just quits working, necessitating save-restart to reset the operation of the command.
Much like 1392859, where the air releasing in "Running" was the true culprit on the "detent" issue, with this bug I think the true culprit is in the way the brakes act on loose consists and any cars to which you couple. There should be no air brakes present on set out cars. In real life, the air is bled off of these cars and handbrakes set when they are put there. You don't pump air into them until the train is put together and made ready to continue to the next point. Cars are switched around, set out and picked up, with no air on them at all except in dire circumstances - heavy bulk loaded unit train consists on heavy grades and such which would have air cut in for safety. Otherwise they are handled by the engine brake until it is time to go, the air hoses are hooked up and the system charged with air.
So:
1. You shouldn't have to hook up the air hose to move a car or a cut of cars.
2. Handbrakes should be set on loose consists but not air brakes
If those two elements were modified then you would have very little need for the initialize command (accidental emergency setting comes to mind, like when the cat walks across the keyboard and steps on the backspace key! LOL!) and therefore it's timing out wouldn't be as critical. It might be easier to code in changes to effect 1 and 2 than to track down the reason why the InitializeBrakesCommand times out and fails.
And thanks again for the detent issue solving. That makes all the difference in the world when handling trains on heavy downgrades. :)
#32
Posted 25 November 2014 - 01:17 PM
Point 2 was always the case, as I can see the code.
#33
Posted 25 November 2014 - 02:46 PM
In reality, if the brake lines are disconnected, the brakes can still be applied.
If you want to switch the wagons, as said before by Steve (http://www.elvastowe...post__p__165573), you can either :
- Maintain a pressure high enough so that the triple valve / distributor is in release position.
- Force the valve in the release position in order to empty the cylinders.
As a conclusion :
- Disconnecting the hoses must keep the brake lines (and reservoirs) filled with air.
- We should add a command in the train operation window so as to empty the cylinders in order to release the brakes for switching operations.
#34
Posted 25 November 2014 - 04:12 PM
#35
Posted 25 November 2014 - 05:46 PM
gpz, on 25 November 2014 - 01:17 PM, said:
Yes, you did.
gpz, on 25 November 2014 - 01:17 PM, said:
Yes, but the handbrakes release as soon as you hook up to them. If you set them before you cut away from a string of cars, they release when you uncouple from them. Nudge them ever so slightly on a grade and you have a runaway train! :rotfl: