Basic Single Track


This article sets out the basics of signalling single-line railways in Rail3D. There are more sophisticated ways to do this, but this approach will work most of the time…

As we’ve seen in previous articles, signalling is fairly straightforward if trains only run one way on each line, as is normally the case on double-track railways. When you only have one track, it has to be shared between the two directions of travel. Single-track railways are commonly used to reduce building and maintenance costs in places where distances are long and trains are relatively infrequent (e.g. northern Scotland, much of the usa and Canada, Africa…). They are also the norm for light railways.

Basic (UK) single-line station/passing loop

A typical single-line passing loop in UK practice looks like the above.

  • For trains in each direction there are three signals:  The Distant Signal, The Home (S1/S6) and the Starter (S2/S5).
  • Trains run through the loop using the left hand line.
  • The Starters (S2/S5) are "Section signals"
  • The distant signals are positioned far enough out that the fastest trains can stop before the Home Signals are reached.  This can easily be a mile or more.

Implementing in Rail3D

  • Set the points so that trains run on the left-hand line
  • Set the home signals as not section signals, set the starter signals as section signals.  This means the distant signal will only clear if both the home and starter are clear (which is the correct practice)
  • If the line is busy, Rail3D can get stuck with four trains waiting (one at each home signal, one at each starter) and nothing can move.  This can be overcome by ticking "Lock-Through" on the Home signals.  When you do this, trains will not be allowed to approach  the station, unless the line is clear into the passing loop.



In real life, signalling arrangements vary a lot, depending on local rules and the available staffing levels and traffic density. In many places there are no conventional signals and everything is controlled by a central dispatcher via radio or telephone. In Britain, until fairly recently, it was common to find full-scale semaphore signals on single line sections. On this page, I’ll discuss semaphore installations — if you want to model radio signalling, just use fixed markers instead of the signals.

A peculiarity in Britain and British-oriented railway systems (e.g. India, Australia) was the use of single-line staff or token systems as an extra precaution to prevent more than one train from entering a single line section. As this is essentially a redundant precaution, there is no real need to model it in Rail3D. (See Single Line Auto Sig for a more detailed discussion.)


Basic case: Double-Single-Double

To start with, lets look at the simplest case, a section of single track approached from both sides by double track.


Single track from Station A to Station B

In this case, stations A and B are normal double-track stations, as discussed in Basic Through Station. Assume that all trains run on the left in the double-track sections, so points P1 and P2 are set to send trains on all routes to the left.

In this simple case, we need exactly the same set of signal positions that we had in Basic Through Station: S3 is the Up Starter signal for Station A, S2 is the Down Home for A, S1 is the Up Home for B, and S4 is the Down Starter for B. The only difference is that the two Home signals are now both on the same track.

If we are building this set-up with semaphore signals, we don’t need to do anything special at all: it just works with the same settings as for the double-track station. With colour-light signals, we have to make sure that S1-S4 are all set as Controlled Signals, because they are all now protecting junctions.


More general case: passing station between two single-track sections

Single track from Station A to Station C via Station B

In this setup, Station B acts as a passing station, and is approached from both directions by single track. This is a very typical situation in the real world: long single-track railways will have passing stations every few miles.

Here we have to deal with a couple of extra complications. The main problem is that only two trains fit into station B at once. Imagine that both tracks at Station B are occupied, and an additional train arrives at Station A. The system will set a route from S3 to S1, and this third train will wait at S1 until the Up platform at B is free. That’s ok, but what if another Down train now arrives at S6 from C? We would have two trains in Station B, and two trains waiting to enter, and nothing can move. This is an impasse, or train-jam.



The clever way to avoid this is to use a local script to prevent more than three trains being allowed to approach B (see Signal Modules). But there is a simpler, if rather less elegant workaround: we can tell Rail3D not to set a route to Home signals S1 or S6 unless there is a route available to the corresponding Starter (S5, S2). We do this by setting the Lock Through option on S1 and S6. This is less efficient than the scripted version, because it only allows two trains to approach Station B, rather then three, but it’s much simpler to use.


Bidirectional station tracks

In British practice it’s quite usual for the station tracks only to be signalled in one direction, as shown above, but in other parts of Europe you often find stations where all the tracks are signalled in both directions. This is a straightforward adaptation of the British case:


Bidirectional tracks

All you have to do is add a Starter signal at the other end of each track of the station. If you actually want trains to be able to use both platforms in either direction, you can set the points P2 and P3 to Free Route for all routes (use the “*” wildcard). However, you should bear in mind that this opens the door to a new kind of impasse: you could end up with two “Up” trains waiting in Station B and two “Down” trains waiting in Station C. The use of Lock Through won’t prevent this. If you pay attention to timetabling, it’s fairly unlikely that you will get into this situation, but it is a possibility, and there’s no workaround except for scripting, or manual control via a Signal Panel. Thus, if you want to keep things safe and simple, you could just use the bidirectional signals for cosmetic effect, and keep on routing all the “Up” trains to one track and the “Down” trains to the other.

If you use bidirectional signals on a line where trains run at relatively high speeds, you will also need to make the Home signal a junction signal, so that drivers know whether they will have to slow down for the loop points (see Simple Junction).


Simultaneous entry?

A further complication, which applies to both unidirectional and bidirectional station layouts: if the station tracks are fairly short, there may not be a full overlap between the Starter signal and the points. This means that a train that fails to brake in time when entering the station could end up fouling the points at the far end, and potentially collide with a train entering from the other direction. Stations where this is a problem usually have either Catch Points at the end of the loop, or an arrangement that interlocks the two Home signals to prevent trains from entering from both directions at once.

You can model this in Rail3D by using the Interlock Signals feature. Select one of the Home signals, then right click on the other one and choose “Interlock signals” from the context menu. If two trains arrive at the same time, one of them will now be held while the other one enters the station.



MRG 10/01/2015 10:08:57