User Tools

Site Tools


Locomotive: BBT Block-Brake-Timer (BBT / SBT)


Block Brake Timer:

Calculation of block brake time automatically to decelerate linear from enter to in.


The task of BBT is to ensure that locomotives / trains arrive as precisely as possible with the speed V_min at the IN detector. The locomotive is braking in a predetermined number of steps between ENTER and IN, as Rocrail sends decreasing speed commands to the locomotive at regular times. If the locomotive arrives at the IN detector after an attempt at a higher speed than V_min, Rocrail calculates a faster sequence of the steps and tries it with the next attempt. If the locomotive is at V_min, long before it arrives at the IN detector (and now creeps to the IN detector), then Rocrail calculates a slower sequence of steps. With each iteration, the sequence becomes more accurate to finally reach the IN detector with a point-to-point accuracy of V_min. In those cases, where the setting of the different speed steps between ENTER and IN is visually recognizable (i.e. jerking of the locomotive), you have the possibility to configure Rocrail in such a way that more steps can be used.

Note Enter2in sensors are not supported in conjunction with BBT.

You can find more details here.


The BBT records can be sorted by clicking on one of the columns headers.
Multiple records can be selected for Toggle fix.
A changed BBT record cannot be canceled.

:!: Changing the settings may not be saved when the locomotive is still in auto mode


The Block Brake Timer for this loco is only active when the BBT-option for this loco in the details tab is set and the loco enters blocks with the BBT-option set.


The number of steps preset to use for BBT.
The actual number of steps in the BBT records can differ from this number; All depends on the enter speed.
After the learning process is finished the number of actual steps should be equal.

Start interval

Default 10; Range 10…250.
This value is used as start for a new BBT record and will be used as the initial timer between the steps.
It may be, that the default 100 ms, 10 x 10 ms, is to low to get a fast learning curve.
The interval is an approximately value and is Operating System dependent.

Max. Difference

Longer differences will be reduced to this max. to avoid unusable values in case a train stops or is derailed between enter and in.
The default value is 250 = 2.5 Seconds.


After each stop in a block the BBT is re-calculated. This percentage of the difference is used as correction.
25% is the default value which has been proven to be a good choice.
Use a higher value to speed up the learning curve. 100% can also be used.


This option determines which record key will be used to create and to lookup.


For the block in which the loco stops a BBT record is created, independent of the entry side of the block.
Note: The From Block column is in this case irrelevant.

From Block

For each from block a separate BBT record is created.
:!: This method does not function if the loco has the Free previous block on enter active.


For each route a separate BBT record is created.


For each speed a separate BBT record is created.
Note that Rocrail only knows the locos speed setting and not the locos absolute speed at enter. This is only relevant if the loco is still accelerating or decelerating when it passes the enter sensor.

:!: If a train stops in front of a block with BBT, please note: reduce speed . If this option is deactivated, 2 BBT speed entries are possible, depending on whether the train had to stop in the prior block or could pass through.

Speed +/-

The same as Speed, but with regarding the block enter side.


:!: User option; No official support.

Number of 10ms cycles before activating BBT.

This value can be set by the user and is for fine tuning on the brake point only.
The default value "0" will start the BBT immediately on enter.

  • Use with care or set to zero.
  • This cannot be used for self learning.
  • This can only be used in combination with fixed BBT records.

Calculation List

To block

The block for which the calculation has been made.

Deceleration time

The deceleration time is in units of 10ms.
This is the time between enter and in and will be divided by the number of steps.


The steps column shows how many steps could be counted for last run between enter and in.
e.g. if the loco had stopped far beyond in the value will be less than target.


The number of calculations for this BBT record.


No corrections will be written in this BBT record if set to fixed.
This can be useful in order to prevent an already determined optimum setting from being inadvertantly changed automatically.
The time in which a loco brakes to V_min can be altered intentionally and set.

Generate IN

At the end of the intervals an IN event will be generated.
This can be used to create a loco dependent stopping point.

For more information about this option, see BBT Generate IN.

Center train

If the Block has Length and Center train set, this option can be used to calculate the interval for stopping the train approximately in the center/front/rear of the block platform. An IN event will be generated.
The Fixed option of the BBT record must be set.

Note: Before activating this option the BBT learning procedure has to be complete! That is, the train should evenly decelerate between ENTER and IN without the train 'creeping' a longer distance with V_Min.
Thereafter the BBT entry has to be set to fixed, then option Center train can be activated.
The length of the train (loco and cars) and of the block must be set.

1             2                 3                  4              5

1 = ENTER sensor
2 = Start of platform  -> REAR
3 = Center of platform -> CENTER
4 = End of platform    -> FRONT
5 = IN sensor

Train halt positions:

  1. No → The front end of the train at 5
  2. Center → The middle of the train at 3
  3. Front → The front end of the train at 4
  4. Rear → The rear end of the train at 2


No BBT updates are received if Monitoring is off. In this case closing the dialog with OK could erase existing BBT lines.


A new BBT line will be added to the list.
Select the line, define parameters in the fields and then click the Modify button .


Delete a selected BBT line.


A copy of the selected BBT line will be added to the list.


The modified parameters are inserted in the BBT line.

Delete all

Delete all BBT lines.


Export all BBT lines in a XML file.


Import BBT lines from a XML file.

Toggle Fix

The fix flags of the selected lines will be toggled.

Fix and center all

Set all BBT records to fixed and center train.

Functional description

  • It needs multiple stops in a block for (re-)calculating a right interval; The first times it won't fit.
  • At every stop block it is re-calculated.
    • Longer differences will be reduced to the max. difference to avoid unusable values in case a train did stop or derailed between enter and in.
  • The brake step is: ( V_enter - V_min ) / steps.
  • The calculation is for each block and will be saved in the Plan/Loco XML file.
  • The enter and pre2in events do not adjust speed.
  • If the BBT is too short the loco will run at V_min until in.
  • If the BBT is too long the loco will run with a higher speed than V_min until in; The loco could run over.
  • After editing the loco Train the previous calculated BBT will probably no longer fit because of the changed load; Extra learning stops are needed.
  • BBT is only for blocks without external stop.
    • Staging blocks with In event at train length is regarded as a block with external stop.


  1. Do not set the decelerate decoder CV 4 to zero.
  2. enter2in is not supported.
  3. The use of Event Timers will not lead to a stable interval; Reset them to zero!
  4. Use as less brake steps as possible to reduce communication overhead; 10 steps is default and a good choice.
  5. Use at least 28 decoder steps; Better are 128.
  6. To get used to this function it is advisable to set a linear speed curve in the decoder.
  7. The longer the block, or the distance from the start of braking to in, the more steps and higher CV4 value should be set.
  8. BBT needs extra CPU power so disable BBT if its not needed.


A Enter speed.
B BBT steps; In this example 10.
C Enter event; First BBT step.
10 Last BBT step.
D In event; Step down to zero speed.
E Zero speed; Loco is in wait or idle mode.

loc-bbt-en.txt · Last modified: 2024/05/19 11:52 by rjversluis