Page 1 of 1
Realistic-ish Braking

Posted:
Mon Aug 20, 2012 12:08 am
by simer4
Guys, I'm onto something. I managed to create a "Peeing away your air" situation. I removed the distributor from the SD40-2 aswell as the proportional and gradual brake settings, put in reasonable numbers in all available brake settings, redid the SD40-2's Automatic brake lever so that: 0-10% is release, 10-60% is minimum reduction, then handle-off (running), and then emergency. I am applying everything I know about US air brakes to this. Going down Cajon, I applied the brake a couple times, then, I had no brakes. It is because of the distributor that the release would wait for the brake pipe pressure to return to 90 PSI. Now, the brakes are fully released, no matter what the brake pipes pressure. I will eventually create a package filled with updated air brake settings. Kali, do you have anything to say about the above?
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 12:14 am
by MikeK
What did you actually change? Care to post the changed bin text here?
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 12:25 am
by simer4
Here is the whole modified brakes section.
- Code: Select all
<EngineSimComponent>
<cEngineSimComponentBlueprint>
<SubSystem>
<EngineSimulation-cDieselElectricSubSystemBlueprint d:id="70595368">
<Name d:type="cDeltaString">Sub System Name</Name>
<LocoBrakeAssembly>
<EngineSimulation-cLocoOnlyAirBrakeBlueprint d:id="70599976">
<BrakeType>
<EngineSimulation-cLocoOnlyAirBrakeDataBlueprint d:id="70593832">
<EquipmentType d:type="cDeltaString">eAir</EquipmentType>
<MaxForcePercentOfVehicleWeight d:type="sFloat32" d:alt_encoding="0000000000004040" d:precision="string">32</MaxForcePercentOfVehicleWeight>
<Control>
<EngineSimulation-cBrakeControlBlueprint d:id="70587432">
<CabControlName d:type="cDeltaString">EngineBrakeControl</CabControlName>
<MaxQuickReleaseRate d:type="sFloat32" d:alt_encoding="0000000000000040" d:precision="string">2</MaxQuickReleaseRate>
<EmergencyApplicationRate d:type="sFloat32" d:alt_encoding="0000000000001440" d:precision="string">5</EmergencyApplicationRate>
<MinimumReductionPressure d:type="sFloat32" d:alt_encoding="0000000000001840" d:precision="string">6</MinimumReductionPressure>
<FullServicePressureDrop d:type="sFloat32" d:alt_encoding="0000000000003A40" d:precision="string">26</FullServicePressureDrop>
<MaxPressureDropInNormalApplication d:type="sFloat32" d:alt_encoding="0000000000002440" d:precision="string">10</MaxPressureDropInNormalApplication>
<MinContinuousServiceReleaseRate d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</MinContinuousServiceReleaseRate>
</EngineSimulation-cBrakeControlBlueprint>
</Control>
<Handbrake>
<EngineSimulation-cHandbrake d:id="71598784">
<MaxForce d:type="sFloat32" d:alt_encoding="00000000004CCD40" d:precision="string">15000</MaxForce>
</EngineSimulation-cHandbrake>
</Handbrake>
<GraduatedRelease d:type="cDeltaString">eFalse</GraduatedRelease>
<ProportionalBrake d:type="cDeltaString">eFalse</ProportionalBrake>
<MaxReleaseRate d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaxReleaseRate>
<MaxApplicationRate d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaxApplicationRate>
<MaxCylinderPressure d:type="sFloat32" d:alt_encoding="0000000000C04240" d:precision="string">37.5</MaxCylinderPressure>
<PressureForMaxForce d:type="sFloat32" d:alt_encoding="0000000000C04240" d:precision="string">37.5</PressureForMaxForce>
<MaxSystemPressure d:type="sFloat32" d:alt_encoding="0000000000805640" d:precision="string">90</MaxSystemPressure>
<MinSystemPressure d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinSystemPressure>
</EngineSimulation-cLocoOnlyAirBrakeDataBlueprint>
</BrakeType>
</EngineSimulation-cLocoOnlyAirBrakeBlueprint>
</LocoBrakeAssembly>
<TrainBrakeAssembly>
<EngineSimulation-cTrainAirBrakeBlueprint d:id="71604032">
<BrakeType>
<EngineSimulation-cTrainAirBrakeDataBlueprint d:id="71612736">
<EquipmentType d:type="cDeltaString">eAirSinglePipe</EquipmentType>
<MaxForcePercentOfVehicleWeight d:type="sFloat32" d:alt_encoding="0000000000004040" d:precision="string">32</MaxForcePercentOfVehicleWeight>
<Control>
<EngineSimulation-cBrakeControlBlueprint d:id="71601472">
<CabControlName d:type="cDeltaString">TrainBrakeControl</CabControlName>
<MaxQuickReleaseRate d:type="sFloat32" d:alt_encoding="000000403333E33F" d:precision="string">0.6</MaxQuickReleaseRate>
<EmergencyApplicationRate d:type="sFloat32" d:alt_encoding="0000000000001440" d:precision="string">5</EmergencyApplicationRate>
<MinimumReductionPressure d:type="sFloat32" d:alt_encoding="0000000000001840" d:precision="string">6</MinimumReductionPressure>
<FullServicePressureDrop d:type="sFloat32" d:alt_encoding="0000000000003A40" d:precision="string">26</FullServicePressureDrop>
<MaxPressureDropInNormalApplication d:type="sFloat32" d:alt_encoding="0000000000002E40" d:precision="string">15</MaxPressureDropInNormalApplication>
<MinContinuousServiceReleaseRate d:type="sFloat32" d:alt_encoding="000000A09999B93F" d:precision="string">0.1</MinContinuousServiceReleaseRate>
</EngineSimulation-cBrakeControlBlueprint>
</Control>
<Handbrake/>
<GraduatedRelease d:type="cDeltaString">eFalse</GraduatedRelease>
<ProportionalBrake d:type="cDeltaString">eFalse</ProportionalBrake>
<MaxReleaseRate d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</MaxReleaseRate>
<MaxApplicationRate d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</MaxApplicationRate>
<MaxCylinderPressure d:type="sFloat32" d:alt_encoding="0000000000004440" d:precision="string">40</MaxCylinderPressure>
<PressureForMaxForce d:type="sFloat32" d:alt_encoding="0000000000C04240" d:precision="string">37.5</PressureForMaxForce>
<MaxSystemPressure d:type="sFloat32" d:alt_encoding="0000000000805640" d:precision="string">90</MaxSystemPressure>
<MinSystemPressure d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinSystemPressure>
<Distributor/>
<EmergencyBraking>
<EngineSimulation-cBaseAirBrakeBlueprint-cEmergencyBraking d:id="71663168">
<TriggerRate d:type="sFloat32" d:alt_encoding="0000000000000040" d:precision="string">2</TriggerRate>
<ReservoirPressure d:type="sFloat32" d:alt_encoding="0000000000805640" d:precision="string">90</ReservoirPressure>
<ReservoirCapacity d:type="sFloat32" d:alt_encoding="00000000FED40440" d:precision="string">2.604</ReservoirCapacity>
<ReservoirVolumeMultiplier d:type="sFloat32" d:alt_encoding="000000804160F73F" d:precision="string">1.461</ReservoirVolumeMultiplier>
<ApplicationRate d:type="sFloat32" d:alt_encoding="0000000000001440" d:precision="string">5</ApplicationRate>
<ChargeRate d:type="sFloat32" d:alt_encoding="000000A09999A93F" d:precision="string">0.05</ChargeRate>
</EngineSimulation-cBaseAirBrakeBlueprint-cEmergencyBraking>
</EmergencyBraking>
<AuxiliaryBraking>
<EngineSimulation-cBaseAirBrakeBlueprint-cAuxiliaryBraking d:id="71671360">
<MaxChargingRate d:type="sFloat32" d:alt_encoding="000000A09999A93F" d:precision="string">0.05</MaxChargingRate>
<MaxReservoirPressure d:type="sFloat32" d:alt_encoding="0000000000805640" d:precision="string">90</MaxReservoirPressure>
</EngineSimulation-cBaseAirBrakeBlueprint-cAuxiliaryBraking>
</AuxiliaryBraking>
<PressureUsedFromPipePerPoundGained d:type="sFloat32" d:alt_encoding="0000000000000440" d:precision="string">2.5</PressureUsedFromPipePerPoundGained>
<PressureGainedFromOnePipePounds d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</PressureGainedFromOnePipePounds>
<RetainerType d:type="cDeltaString">e4Position</RetainerType>
<TripleValve d:type="cDeltaString">eTrue</TripleValve>
<TripleValveRatio d:type="sFloat32" d:alt_encoding="0000000000000440" d:precision="string">2.5</TripleValveRatio>
<RetainerSlowReleaseRate d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</RetainerSlowReleaseRate>
</EngineSimulation-cTrainAirBrakeDataBlueprint>
</BrakeType>
</EngineSimulation-cTrainAirBrakeBlueprint>
</TrainBrakeAssembly>
<MaxPower d:type="sFloat32" d:alt_encoding="0000000000B2A340" d:precision="string">2521</MaxPower>
<MaxForce d:type="sFloat32" d:alt_encoding="0000006066B65940" d:precision="string">102.85</MaxForce>
<Has3rdRailPowerSupply d:type="cDeltaString">eFalse</Has3rdRailPowerSupply>
<MaxSpeed d:type="sFloat32" d:alt_encoding="0000000000C05140" d:precision="string">71</MaxSpeed>
<StartupTime d:type="sFloat32" d:alt_encoding="0000000000003E40" d:precision="string">30</StartupTime>
<ShutdownTime d:type="sFloat32" d:alt_encoding="0000000000004940" d:precision="string">50</ShutdownTime>
<TractiveForceVSpeed>
<cCSVContainer>
<CsvFile d:type="cDeltaString">Kuju\RailSimulatorUS\RailVehicles\Diesel\SD40-2\Default\Simulation\TractiveEffortVsSpeed</CsvFile>
</cCSVContainer>
</TractiveForceVSpeed>
<TractiveEffortVThrottle>
<cCSVContainer>
<CsvFile d:type="cDeltaString">Kuju\RailSimulatorUS\RailVehicles\Diesel\SD40-2\Default\Simulation\TractiveEffortVsThrottle</CsvFile>
</cCSVContainer>
</TractiveEffortVThrottle>
<AntiSlipBrakeCylinderPressure d:type="sFloat32" d:alt_encoding="0000000000003440" d:precision="string">20</AntiSlipBrakeCylinderPressure>
<HasThyristorControl d:type="cDeltaString">eFalse</HasThyristorControl>
<QuickPowerOffAtZeroThrottle d:type="cDeltaString">eFalse</QuickPowerOffAtZeroThrottle>
<SlowSpeedFittedPresent d:type="cDeltaString">eFalse</SlowSpeedFittedPresent>
<SlowSpeedFittedSpeedLimit d:type="sFloat32" d:alt_encoding="0000000000001440" d:precision="string">5</SlowSpeedFittedSpeedLimit>
<CylinderPressureForBrakeToCutPower d:type="sFloat32" d:alt_encoding="0000000000C06240" d:precision="string">150</CylinderPressureForBrakeToCutPower>
<MaxContinuousForce d:type="sFloat32" d:alt_encoding="00000020B2C55440" d:precision="string">83.089</MaxContinuousForce>
<AirSystem>
<EngineSimulation-cBrakeAirSystemBlueprint>
<HasLowPressureTest d:type="cDeltaString">eTrue</HasLowPressureTest>
<MinAirPressure d:type="sFloat32" d:alt_encoding="0000006066662D40" d:precision="string">14.7</MinAirPressure>
<CutOutPressure d:type="sFloat32" d:alt_encoding="0000000000805B40" d:precision="string">110</CutOutPressure>
<RestartPressure d:type="sFloat32" d:alt_encoding="0000000000005940" d:precision="string">100</RestartPressure>
<ReservoirVolume d:type="sFloat32" d:alt_encoding="000000A09999F13F" d:precision="string">1.1</ReservoirVolume>
<MainResMaxAirPressure d:type="sFloat32" d:alt_encoding="0000000000805640" d:precision="string">90</MainResMaxAirPressure>
<Compressor>
<EngineSimulation-cCompressorBlueprint d:id="71662400">
<Type d:type="cDeltaString">eMechanical</Type>
<PowerRating d:type="sFloat32" d:alt_encoding="000000A09999A93F" d:precision="string">0.05</PowerRating>
</EngineSimulation-cCompressorBlueprint>
</Compressor>
<Exhauster/>
</EngineSimulation-cBrakeAirSystemBlueprint>
</AirSystem>
To Try them out, you can copy and paste them into the file with RWTools. I also forgot, I edited a rollingstock piece to match:
- Code: Select all
<TrainBrakeAssembly>
<EngineSimulation-cTrainAirBrakeBlueprint d:id="21415960">
<BrakeType>
<EngineSimulation-cTrainAirBrakeDataBlueprint d:id="21784744">
<EquipmentType d:type="cDeltaString">eAirSinglePipe</EquipmentType>
<MaxForcePercentOfVehicleWeight d:type="sFloat32" d:alt_encoding="0000000000004040" d:precision="string">32</MaxForcePercentOfVehicleWeight>
<Control/>
<Handbrake>
<EngineSimulation-cHandbrake d:id="16118080">
<MaxForce d:type="sFloat32" d:alt_encoding="000000000070C740" d:precision="string">12000</MaxForce>
</EngineSimulation-cHandbrake>
</Handbrake>
<GraduatedRelease d:type="cDeltaString">eFalse</GraduatedRelease>
<ProportionalBrake d:type="cDeltaString">eFalse</ProportionalBrake>
<MaxReleaseRate d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</MaxReleaseRate>
<MaxApplicationRate d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</MaxApplicationRate>
<MaxCylinderPressure d:type="sFloat32" d:alt_encoding="0000000000C04240" d:precision="string">37.5</MaxCylinderPressure>
<PressureForMaxForce d:type="sFloat32" d:alt_encoding="0000000000C04240" d:precision="string">37.5</PressureForMaxForce>
<MaxSystemPressure d:type="sFloat32" d:alt_encoding="0000000000805640" d:precision="string">90</MaxSystemPressure>
<MinSystemPressure d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinSystemPressure>
<Distributor/>
<EmergencyBraking>
<EngineSimulation-cBaseAirBrakeBlueprint-cEmergencyBraking d:id="16125440">
<TriggerRate d:type="sFloat32" d:alt_encoding="0000000000000040" d:precision="string">2</TriggerRate>
<ReservoirPressure d:type="sFloat32" d:alt_encoding="0000000000805640" d:precision="string">90</ReservoirPressure>
<ReservoirCapacity d:type="sFloat32" d:alt_encoding="00000060B81E0540" d:precision="string">2.64</ReservoirCapacity>
<ReservoirVolumeMultiplier d:type="sFloat32" d:alt_encoding="00000000295CF73F" d:precision="string">1.46</ReservoirVolumeMultiplier>
<ApplicationRate d:type="sFloat32" d:alt_encoding="0000000000001440" d:precision="string">5</ApplicationRate>
<ChargeRate d:type="sFloat32" d:alt_encoding="000000A09999A93F" d:precision="string">0.05</ChargeRate>
</EngineSimulation-cBaseAirBrakeBlueprint-cEmergencyBraking>
</EmergencyBraking>
<AuxiliaryBraking>
<EngineSimulation-cBaseAirBrakeBlueprint-cAuxiliaryBraking d:id="23275320">
<MaxChargingRate d:type="sFloat32" d:alt_encoding="000000A09999A93F" d:precision="string">0.05</MaxChargingRate>
<MaxReservoirPressure d:type="sFloat32" d:alt_encoding="0000000000805640" d:precision="string">90</MaxReservoirPressure>
</EngineSimulation-cBaseAirBrakeBlueprint-cAuxiliaryBraking>
</AuxiliaryBraking>
<PressureUsedFromPipePerPoundGained d:type="sFloat32" d:alt_encoding="0000000000000440" d:precision="string">2.5</PressureUsedFromPipePerPoundGained>
<PressureGainedFromOnePipePounds d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</PressureGainedFromOnePipePounds>
<RetainerType d:type="cDeltaString">e4PositionRetainer</RetainerType>
<TripleValve d:type="cDeltaString">eTrue</TripleValve>
<TripleValveRatio d:type="sFloat32" d:alt_encoding="0000000000000440" d:precision="string">2.5</TripleValveRatio>
<RetainerSlowReleaseRate d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</RetainerSlowReleaseRate>
</EngineSimulation-cTrainAirBrakeDataBlueprint>
</BrakeType>
</EngineSimulation-cTrainAirBrakeBlueprint>
</TrainBrakeAssembly>
That is from a rollingstock's .bin file. I will be playing around with more of the numbers soon.
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 1:34 am
by MikeK
Do you have any idea which value controls the rate that brakes release?
I tried your settings and found that the brake cylinder pressure drops very slowly when the brakes are released. From a maximum application, it seems to take over a minute to release the air from the brake cylinder.
My understanding is that as soon as a freight car sees any rise in the brake pipe pressure at that part of the train, the brakes immediately release.
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 2:18 am
by Kali
Mike is right, air is dumped as soon as the rising pipe pressure flips the valve to release - it's the pipe pressure itself that takes forever to rise. You can get RW to do some of that - it'll dump all the air in the train brake cyls, just all at once ( the defaults actually do this I think ). A distributor is just a fancy triple valve, I think it got used as a workaround for something else - but I think also you're on to something there too because it does totally link cylinder pressure with pipe pressure; IE I think - and it is think because I can't remember - that if you've only got 70 PSI in the tank and you make an application of 5 you'll probably get 25PSI converted into the cylinder pressure. Brake handle notch type of Graduated Self-Lap Limited does something like you want IIRC ( those don't work as documented, it's a huge pain ).
What you didn't try was the source of the problem, the compressor! turn its effectiveness down a *lot*. If you run out of air RW doesn't actually magically produce more ( I think you discovered this ) so that bit works, sort of. What doesn't work properly are the independent brakes - if you can work out a way that those don't empty the air tanks like you stuck a pickaxe in them you've solved a huge problem with using the built-in stuff. There's a ratio somewhere in there but I can't remember if I tested messing with the indy brakes and that.
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 2:33 am
by simer4
Right, I did change the compressor. Totally forgot to show that. Distributors are actually a replacement to a triple valve, and the kind in the game aren't used on current roster US rolling stock. And I know the release is too slow, I changed this after posting the code. Lol
Another thing I screwed up on was the Minimal Reduction. It was supposed to be between 10-60%. It's at 10%.
If you have 70 in the tank, then you would have released the brakes recently, and you have got the same in the pipe, then making just a 5 psi reduction would normally give you 12.5 PSI in the cylinders, but you are under the max standard pressure which is 90 PSI, so the reduction wouldn't yield anything. 90 PSI is the standard for many railroads in the US. For ever PSI reduced in the pipe, you get 2.5 times more pressure out of the cylinders. If you had the tanks and pipe calibrated to 70 PSI to start, you would still get your 12.5 PSI out of the cylinders. Anything over a 12 PSI reduction is heavy braking, that is 30 PSI in the cylinders.
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 3:24 am
by Kali
Right, yep, was just random numbers btw - point is that I think you'll always get ( max psi - current psi + application ) * ratio out of a distributor, which is definitely not what you're after; there was a problem I ran into doing the brakes on something recently that made me go back and use a distribtor again,but once again I've forgotten. I don't know though, haven't really played with US brake setups and distributors much; they're fitted to everything over here but we don't have air problems so we're always starting from full pipe pressure ( whatever that is, 72.6 PSI/5 BAR I think ) and I've always tried to keep the default US brake setup. The independent brake is the killer with the compressor :( I think I even tried using vacuum independent brakes once, I must go try that again.
I don't think you'll always get 2.5 out of a triple valve for a locomotive, they seem to have wildly variable brake cylinder pressures, maybe someone can go into that?
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 1:48 pm
by simer4
Kali wrote:I don't think you'll always get 2.5 out of a triple valve for a locomotive, they seem to have wildly variable brake cylinder pressures, maybe someone can go into that?
Correct, locomotive independents don't go through a triple valve. It is straight air, right out of the compressor.
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 3:43 pm
by Kali
simer4 wrote:Kali wrote:I don't think you'll always get 2.5 out of a triple valve for a locomotive, they seem to have wildly variable brake cylinder pressures, maybe someone can go into that?
Correct, locomotive independents don't go through a triple valve. It is straight air, right out of the compressor.
I'm not talking about that - the auto brake lever drives the locomotive brakes too until you bail them off. I don't know how it works in US systems, but over here the autobrake uses the distributor in the locomotive just like it does in the stock. Straight air has it's own path.
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 3:48 pm
by simer4
Re: Realistic-ish Braking

Posted:
Mon Aug 20, 2012 5:09 pm
by Kali
Al's page doesn't actually say how the automatic brake activates on the locomotive either. The Wabtec book is handy though, ta.