Train Operations

The tutorials in this section are intended to give an overview of how you can use features of Rail3D like routes, timetables, and diagrams to control the running of trains on your layout in a realistic way. Essentially, there are three basic problems involved in controlling operations:

  • Where trains go, and which stations they stop at (routing)
  • When they depart from each station, and how often they run (scheduling)
  • The sequence of duties each individual train has during the day (diagramming)

We are going to look at how you can deal with these in a simple fictional layout, starting from first principles, and gradually making things more complicated. It should be reasonably straightforward to apply these ideas to models based on real railways: it’s up to you how complicated you want to make things!

If you are interested in how real railways deal with problems of operations and scheduling, there’s a very nice introductory article on the Railway Technical Web Pages.

1 Quick overview of the basic concepts

1.1 Routes

(see Route)

Each train in Rail3D has a Route name. By default, when you create a new train, the model name of the leading vehicle is used as route name, but you can change this using the Edit Train dialogue.

The Route is used to determine what action is taken when the train reaches a track feature such as a Switch, a Stop, or a Reverse. For example, you can say at a switch that all trains on route “Main” go straight on, whilst trains with route “Branch” turn off. This is the most basic tool we have in Rail3D for getting different trains to act in different ways.

1.2 Timetables

(see Edit Timetable)

Timetables are used to define when trains are allowed to leave a stop or a reverse. The timetable is associated with the route name (so you could have one timetable for “Express” and one for “Local”). You can define timings for all stations, or just for some important ones. A timetable can cover the whole day, or, if you use train numbers/headcodes as your route names, just a single working.

1.3 Diagrams

(see Edit Diagram)

A “diagram” is a list of pre-programmed route changes for a specific train. Route changes can be set up for specific times or locations. This can be used to program the train’s duties during the working day, e.g. an empty stock working from the depot to the first station, a series of passenger workings, then another empty stock working back to the depot in the evening.

Diagrams require very careful planning to work properly, and it is often easier to use Scripting to do this.

1.4 Other train properties

If you look at the Train Roster of a layout (from the Trains menu) you will get a listing showing the details of all the trains on the layout and what they are doing at that moment. The information here can be very useful in monitoring what’s going on, and much of it can be controlled by the user using timetables, diagrams or scripts. Particularly interesting:

  • Route — see above
  • Location — shows the last named location (stop, reverse, location marker, etc.) the train passed
  • Notes — normally used for messages from Rail3D, e.g. to tell you that a train has been held fro more than two minutes at a signal, but you can also set and read the contents of the Notes field with scripts (in future you should also be able to set it directly from a diagram), so this field is a useful place to store additional information about a train, like its reporting number.
  • Status — shows the train’s current speed, if it is moving, its wait time if it is waiting at a stop or reverse, or its timetabled departure time. Departure time can be set in various ways, as we shall see in these tutorials.

Another train property you can set and read using scripts (also from diagrams soon), is Destination. This is not shown in the train roster. If the train model includes a destination indicator (e.g. most modern multiple units, also many trams and metros), the text in the Destination field is displayed there. Even if the model doesn’t have a destination indicator, you could use the contents of this field in a script to keep track of where trains are going.

2 Example Layout

To illustrate the principles involved, we’ll use a simple layout with a couple of suburban routes, 12km and 10km long respectively, feeding into a city-centre terminus. The layout is based on the (fictitious) map below (one square=1km):

This layout was built from the map using the digitiser, and uses basic tracklaying and signalling ideas demonstrated in the other tutorials in this wiki: if you haven’t got to grips with these things yet, it might be helpful to have a quick look at Basic Through Station, Simple Junction and Two-track Terminus for the signalling and Laying Nice Curves for the tracklaying.

If you want to try this for yourself, save the gif image above and open it in the Digitiser. To calibrate it, set the bottom left corner to (10000,10000) and the top right corner to (20000,20000).

When setting up stops and reverses at stations, it’s important to make sure that they are correctly labelled with the station name — if you have put text labels into the layout near the station positions before creating the stops and reverses, this should happen automatically. These labels will be used later by timetables and diagrams to identify where the train is.

As it’s a demo layout, we’ve only included the minimum necessary detail. For consistency with the other tutorials, it’s set up with British signalling and left-hand running.

3 Download

You can find the completed layout for this part of the tutorial at: http://www.markhodson.nl/rail3d/2kdlayouts/ops_layout_00.trp