Routing and Scheduling Trains

Once you start building layouts, you will find you need to route different trains in different directions, and maybe on different schedules.  Rail3D is very flexible in the way it lets you specify which trains go which way, including routing options, timetables and scripts.

A branchline example

For these examples, I'm going to use a simple single line branchline.

There are three trains using the branch:

  • A local passenger train that stops everywhere, and continues onto the mainline at the junction.  The loco runs round the coaches at the end station.
  • A freight train that runs to the end of the branch, but doesn't stop at the intermediate stations, the freight runs onto the mailine at the junction. The loco runs round the train at the end station.
  • An auto-train that runs between the junction and the end stations, stopping at all stations.  This loco does not need to run round at the end of the line.

The end station is a simple loop:


There are three intermediate stations with passing loops:


Stopping the right trains

The first issue is that we want the passenger trains to stop at the intermediate stations, but the freight can run straight through:

This is done be setting the stop to "Only routes listed" and entering the route names of the stopping trains ("Auto,Pass") in the selection box.


Problem:  Traffic jam at the end station

If you build this layout and run the three trains described, you will find that, although each train runs up and down the line correctly, and runs round at the end (if appropriate), sooner or later things get stuck:

What has happened here is that the tank engine is running round its train at the end station, but the freight train has followed it up the line and is now blocking the tank engine from running round.

So we need to ensure that the frieght train (or the auto train) does not come up to the end station until the other loco has run round.  There are various ways we could do this:

  • Use Timetables
  • Make the starter signal at the previous station a HOLD signal
  • Use Lock-through

Solving the deadlock with timetables

Suppose we have an hourly timetable, and the passenger train arrives at the end station (Ashfird) at 20 minutes past the hour, and leaves at 20 minutes to the hour:

Ashfird   *:40

We could then set the frieght train to leave the previous station (Brughton) at quarter to the hour:

Brughton  *:45

This should ensure the freight does not leave the previous station until the passenger has started back, and in theory this will prevent the deadlock.


Try this - and sooner or later one or both trains will run late and the layout will get stuck again.

In theory tiemtables can be used to solve the probem, but they are not a complete solution.

HOLDing the Brughton starter

Here the starter at the previous station is set as a "Hold signal", this means the signal will not clear until the corresponding release is triggered, in this case by the previous train coming the other way.

So this ensures that the freight cannot proceed up the line until the passenger train has come down from the end station.

Lock through Signal

The third way to achieve this is by making the end station home signal "Lock Through"

This has the effect of preventing a train coming up to the home signal unless the line ahead (beyond the home signal) is clear.  This means a train cannot come up to the end station while another train is in the platform.  This will have the effect of preventing the lock-up problem.

More complex solutions

Of course, the lock-through and hold-signal solutions are limiting.  There are situations where it would be possible to have two trains at the end station:

  • The freight could be allowed to come up to the end station and run into the loop while the auto-train is at the platform.
  • The freight could be allowed to come up to the end station and run into the loop while the passenger train is at the platform, but only after the passenger loco has run round
  • The auto train could be allowed into the end station while the freight train is in the loop
  • The passenger train could be allowed to run into the station while the freight train is in the loop and after the freight loco has run round

These can be handled using scripts.

MRG 22/11/2014 12:18:32