Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4c52f58

Browse files
committed
Update Train Brake usage documentation
1 parent ff5f18d commit 4c52f58

File tree

2 files changed

+7
-32
lines changed

2 files changed

+7
-32
lines changed

Source/Documentation/Manual/cruisecontrol.rst

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,6 @@ A list of the available .eng file CC parameters follows here below.
132132
"UseThrottleAsSpeedSelector", "if ControllerCruiseControlLogic is set to SpeedOnly, throttle when in Auto mode will change the maximum CC speed", "Boolean", "FALSE"
133133
"UseThrottleAsForceSelector", "if ControllerCruiseControlLogic is set to None, throttle when in Auto mode will change the maximum CC Force", "Boolean", "FALSE"
134134
"UseThrottleInCombinedControl", "Throttle is used as force selector or speed selector even if in combined control, to be used in conjunction of one of the two above parameters", "Boolean", "FALSE"
135-
"DynamicBrakeIncreaseSpeed", "How fast the dynamic brake can increase (0.5 means 1% in 0.5sec)", "Float", "0.5"
136-
"DynamicBrakeDecreaseSpeed", "Same for decreasing", "Float", "0.6"
137135
"ControllerCruiseControlLogic", "Can have values 'None', 'SpeedOnly', 'Full'", "Enum", "Full"
138136
"HasProportionalSpeedSelector", "Speed selector is performed by a lever ranging from 0 to max speed", "Boolean", "FALSE"
139137
"SpeedSelectorIsDiscrete", "Speed selected can have only values multiple of NominalSpeedStep, even if selection is through mouse", "Boolean", "FALSE"
@@ -143,8 +141,8 @@ A list of the available .eng file CC parameters follows here below.
143141
"UseTrainBrakeAndDynBrake", "CC uses train brake and dyn brake together", "Boolean", "FALSE"
144142
"SpeedDeltaToEnableTrainBrake", "This is the minimum speed delta between actual speed and desired speed for the CC to use also the train brake", "Float(speed)", "5m/s"
145143
"SpeedDeltaToEnableFullTrainBrake", "This is the minimum speed delta between actual speed and desired speed for the CC to use also the train brake with no reduced intensity", "Float(speed)", "10m/s"
146-
"TrainBrakeMinPercentValue", "This is the minimum train brake percent used by the CC, this depends also from the value of the smooth notch in the Brake_Train block", "Float(percent)", "30"
147-
"TrainBrakeMaxPercentValue", "As above for maximum value. It must be lower than the value of the subsequent notch, and not too high to avoid that the brake is not fully released timely", "Float(percent)", "85"
144+
"TrainBrakeMinPercentValue", "This is the minimum train brake percent used by the CC. 0 means no braking, 100 means full service braking", "Float(percent)", "30"
145+
"TrainBrakeMaxPercentValue", "As above for maximum value. It must not be too high to avoid that the brake is not fully released timely", "Float(percent)", "85"
148146
"ThrottleNeutralPosition", "The zero throttle position is neutral in auto mode, that is in such position the CC does not intervene", "Boolean", "FALSE"
149147
"MinimumSpeedForCCEffect", "Below this speed CC has no effect", "Float(speed)", "0"
150148
"StartInAutoMode", "Game starts with CC in Auto mode", "Boolean", "FALSE"
@@ -182,11 +180,9 @@ Train brake usage occurs when the delta between the actual train speed and
182180
the target speed is higher than parameter SpeedDeltaToEnableTrainBrake.
183181
Between this delta and SpeedDeltaToEnableFullTrainBrake the train brake is
184182
set at TrainBrakeMinPercentValue. Above SpeedDeltaToEnableFullTrainBrake
185-
the train brake is set to the maximum between a percentage of
186-
TrainBrakeMaxPercentValue proportional to the max force percent set and
187-
TrainBrakeMinPercentValue.
188-
In other words, when the speed delta is high, train braking occurs with a
189-
value that is proportional to the max force percent set; when train decelerates
183+
the train brake is continuously adjusted to achieve a constant deceleration.
184+
In other words, when the speed delta is high, train braking is adjusted to
185+
obtain a constant deceleration when dynamic braking is not enough; when train decelerates
190186
and delta reduces to SpeedDeltaToEnableFullTrainBrake the train brake is reduced to
191187
TrainBrakeMinPercentValue. When train decelerates further and delta reduces to
192188
SpeedDeltaToEnableTrainBrake the train brake is released. By adjusting these
@@ -200,23 +196,8 @@ block within the .eng file follows here::
200196
UseTrainBrakeAndDynBrake ( True ) comment (** CC uses train brake and dyn brake together **)
201197
SpeedDeltaToEnableTrainBrake ( 15km/h ) comment (** This is the minimum speed delta between actual speed and desired speed for the CC to use also the train brake **)
202198
SpeedDeltaToEnableFullTrainBrake ( 30km/h ) comment (** This is the minimum speed delta between actual speed and desired speed for the CC to use also the train brake with no reduced intensity **)
203-
TrainBrakeMinPercentValue ( 30 ) comment (** This is the minimum train brake percent used by the CC; this depends also from the value of the smooth notch in the Brake_Train block **)
204-
TrainBrakeMaxPercentValue ( 60 ) comment (** As above for maximum value. It must be lower than the value of the subsequent notch, and not too high to avoid that the brake is not fully released timely **)
205-
206-
This is related to a brake controller defined as follows in the .eng file::
207-
208-
Brake_Train ( 0 1 0.03 0.3
209-
NumNotches ( 5
210-
Notch ( 0 0 TrainBrakesControllerReleaseStart )
211-
Notch ( 0.3 1 TrainBrakesControllerGraduatedSelfLapLimitedHoldingStart )
212-
Notch ( 0.85 0 TrainBrakesControllerSuppressionStart )
213-
Notch ( 0.9 0 TrainBrakesControllerContinuousServiceStart )
214-
Notch ( 0.95 0 TrainBrakesControllerEmergencyStart )
215-
)
216-
217-
The continuous part of the controller is between second and third notch, that
218-
is between 0.3 and 0.85. Therefore CC control of the train brake can occur
219-
for percentages between 30 and 85.
199+
TrainBrakeMinPercentValue ( 10 ) comment (** This is the minimum train brake percent used by the CC, where 0 means no braking and 100 full braking **)
200+
TrainBrakeMaxPercentValue ( 60 ) comment (** As above for maximum value. It must not be too high to avoid that the brake is not fully released timely **)
220201

221202
Multi Position Controller (MPC)
222203
-------------------------------

Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/CruiseControl.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,6 @@ public float SetSpeedKpHOrMpH
100100
public List<float> AccelerationTable = new List<float>();
101101
public enum SpeedRegulatorMode { Manual, Auto, Testing, AVV }
102102
public enum SpeedSelectorMode { Parking, Neutral, On, Start }
103-
public float DynamicBrakeIncreaseSpeed = 0;
104-
public float DynamicBrakeDecreaseSpeed = 0;
105103
public uint MinimumMetersToPass = 19;
106104
public float AccelerationRampMaxMpSSS = 0.7f;
107105
public float AccelerationDemandMpSS;
@@ -219,8 +217,6 @@ public CruiseControl(CruiseControl other, MSTSLocomotive locomotive)
219217
StartReducingSpeedDeltaDownwards = other.StartReducingSpeedDeltaDownwards;
220218
ForceStepsThrottleTable = other.ForceStepsThrottleTable;
221219
AccelerationTable = other.AccelerationTable;
222-
DynamicBrakeIncreaseSpeed = other.DynamicBrakeIncreaseSpeed;
223-
DynamicBrakeDecreaseSpeed = other.DynamicBrakeDecreaseSpeed;
224220
AccelerationRampMaxMpSSS = other.AccelerationRampMaxMpSSS;
225221
AccelerationRampMinMpSSS = other.AccelerationRampMinMpSSS;
226222
ResetForceAfterAnyBraking = other.ResetForceAfterAnyBraking;
@@ -348,8 +344,6 @@ public void Parse(STFReader stf)
348344
}
349345
case "usethrottleasspeedselector": UseThrottleAsSpeedSelector = stf.ReadBoolBlock(false); break;
350346
case "usethrottleasforceselector": UseThrottleAsForceSelector = stf.ReadBoolBlock(false); break;
351-
case "dynamicbrakeincreasespeed": DynamicBrakeIncreaseSpeed = stf.ReadFloatBlock(STFReader.UNITS.Any, 0.5f); break;
352-
case "dynamicbrakedecreasespeed": DynamicBrakeDecreaseSpeed = stf.ReadFloatBlock(STFReader.UNITS.Any, 0.5f); break;
353347
case "forceresetrequiredafterbraking": ForceResetRequiredAfterBraking = stf.ReadBoolBlock(false); break;
354348
case "forceresetincludedynamicbrake": ForceResetIncludeDynamicBrake = stf.ReadBoolBlock(false); break;
355349
case "zeroselectedspeedwhenpassingtothrottlemode": ZeroSelectedSpeedWhenPassingToThrottleMode = stf.ReadBoolBlock(false); break;

0 commit comments

Comments
 (0)