Route Building Tutorial 7: More On Speed Limits and Basic AWS & TPWS

In this tutorial, we will continue to add the speed restrictions. AWS warnings will also be added and the end of the route protected with TPWS. Signalling will also be introduced.

This route is operationally identical to that which we constructed previously except for the addition of a run into a siding at the end of the route and the introduction of a crossover after the third station. These have been made using the principles outlined in previous tutorials – the reasons for their inclusion will become apparent as this tutorial progresses.

An improved track texture has also been used and the ground object has been slightly modified so that the ballast shoulder is revealed. Rain has been removed by deleting the ‘beacon 21’ commands.

It is worth noting that the principles for implementing permanent speed restrictions given here are equally applicable to temporary speed restrictions (although the signage will obviously differ).

Time to open the route file and get coding…

In the previous tutorial, we started imposing speed restrictions at appropriate locations on the route using the limit command,

.limit x,
Where x is the speed limit to be imposed (in kmh)

Speed limits are already in place for the start of the route and on the approach to the second station. The next location where a speed limit sign is needed is on the exit from the second station. Here, we will have different speed limits on the straight mainline and on the branch we are traveling on. Although the signs display two different limits, we need only consider the one applicable to the route we will be traveling on, the speed limit sign for the straight mainline track being purely decorative.

A suitable free object has been included in the object downloads, but before use, we must index this in the freeobjects part of the ‘with structure’ section of the route file. This can be achieved by adding the code:

Next place the new freeobject at position 3125, and implement the new speed limit:

The final speed restriction needed is for the turn back siding (the construction of this was not covered in previous tutorials although the principles used were as described). Here, a dead-end siding is being entered via a low radius switch. This situation requires a suitably low speed limit and 5MPH is suggested. As usual, the free object needs to be indexed before use:

Then, position the freeobject at position 5475 and implement our new speed limit:

All of the speed limits have now been added to the running line.

We should not forget that on adjacent tracks, signage will also be present and that for added realism, this should be included where appropriate.

On our route, there would be speed limit signs at the approach to the diverging junction (entering the second station) and leaving the second station. The backs of signs therefore needed to be added at these locations, firstly by indexing the object:

Next, position this sign in the desired location, noting that the x distance is included, as otherwise the new object would be positioned on the left-hand side of the track (As viewed)
Therefore, for the exit from the second station, a single ‘back of sign’ object needs to be positioned like this:

On the approach to the second station, two objects are required- One for the adjacent track, and one for the straight mainline track:

Notice that in this instance, the position for the object in the straight mainline section has been referenced to rail 2, the left-hand of our tracks. It would be equally valid to position this object (Or any other) with reference to any of the other rails, like this:

As we know that rail 3 is 2.5m to the right of rail 2, the resulting position of our object will be identical.

For completeness, the final sign objects to be added for travelling in the opposite direction are warnings for the 20MPH limit on the approach to the junction. As usual, the object needs to be indexed in the with structure section of the route:

These should be placed 975m from the restriction (guidelines regarding the positioning of warning signs can be obtained from rgsonline), like this:

Now that the signs are in place, the next job is to implement the automatic warning system (AWS). This is generally positioned 183m before the warning and will therefore be required at 917m.

To enable the AWS warning sound, a ‘beacon’ must be defined by adding this before our freeobject section in the ‘with structure’ part of the routefile:

Then place this beacon at 917m:

The parameters associated with the beacon command are required to ensure correct functionality and normally need not be altered.

Having fitted the AWS warning and magnet on the running line, a magnet is also required on the adjacent track at a position 183m before the warning board. We can use the AWS magnet supplied with the BR signals, indexing our free object thus (note how a different directory has been used):

Then place this new object in the correct position:

That’s the speed limits and associated warnings finished – the 5MPH limit at the entrance to the turn back siding does not require advance warning signs or AWS fitment as it will be signal controlled.

Our next job is to position buffer stops in the siding and protect these with TPWS – as would be required at a terminal platform (note – in practice, some terminal locations are exempt from TPWS fitment).

The buffer stops should be positioned at or beyond the end of the terminating stations stopping range, and this is the code we have at present:

The train is therefore required to stop between 5675 – 5775m and we should position our buffer stops slightly beyond this point, for example at 5800m. As usual, the free object needs to be indexed:

Then placed into our route:

To be able to add TPWS, we must treat the buffer stops as a red signal.

Before introducing signalling onto the route, we need to define the signal objects which may be used in the ‘with structure’ section of the route. The BR signals are freely available from Trainsimcentral ( ) and are used in the majority of UK non-underground routes (although in practice any series of bitmap images can be used for a signal object).

To enable the use of standard BR signals, add the following code after the freeobjects in the ‘with structure’ section:

It is unlikely all of these types will be used in any route, but they will be there if needed.

A full description of the signal types is provided with the BR signals download (..\Object\BrSigs\bve4_signal_instructions.htm – do take time to read this).

To add the ‘signal’ by the buffer stops and to hide it out of view, we make use of sigf and section commands:

Where M is the index of the signal object as defined in the ‘with structure’ section of the route file, N must be 1 for the signal to function correctly, X is the distance, in metres, to the left (negative) or right (positive) of the running rail, Y is the distance, in metres, below (negative) or above (positive) the running rail where the signal head is to be located.

The section command defines the sequence of signal aspects to be displayed; for standard BR signals the following applies-

Aspect IndexMeaning
0Red (Stop)
2Single Yellow (Caution)
3Double Yellow (Caution)
4Green (Clear)

For 2 aspect signals, only include values for A and B,
For 3 aspect signals, only include values for A, B and C,
For 4 aspect signals, include all parameters.
All will become clear when we start adding signals to the route!

It is worth noting that a single aspect signal object could be constructed and used for our buffer stops, but lets get used to using the standard signals first!
For our ‘red signal’, we can make use of a two aspect red/green signal and use the .section command to permanently display a red aspect by adding the following code:

Here, sigf 2 defines the signal type as being a 2 aspect red / yellow signal (in practice we can use any signal type capable of displaying a stop aspect). It has been positioned 8m to the left of the running line at a height of 5mm, which effectively hides it under the ground.
By using .section 0;0, the signal can only display a red aspect (normally, this signal would be associated with .section 0;2,).

We now have a functioning red signal on the route, even if we have buried it out of sight.

Before we can go for a test drive, we need to add a signal just after the last station (otherwise the guard will refuse to allow the train to start). We can do this by adding the following code:

This will position a two aspect red / green signal (sigf 1) which may display red or green aspects as required.

Try changing this signal type, for example:

This will display a 4-Aspect Signal

This will display a 2-Aspect signal with a subsidiary calling-on signal- Much better suited to this route

If the train is now driven through the buffer stop, BVE will give the standard warning of passing a signal at danger.

We will complete the signalling in the next tutorial, but before then we still need to add TPWS protection to the buffer stops. This requires use of another beacon command, in this instance adding:

As with many of the beacon commands used to control signalling aspects, it is best to consider the associated parameter as being fixed – changing them can have unpredictable effects.

The only way to hit the buffers now will be if the speed limit is exceeded or the TPWS is isolated – go for a drive to check this is true!

In the next tutorial we will continue adding signals to the route (although there won’t be many as the route is so short!) and add the signal poles and other details, including working AWS and TPWS.

Leave a Reply

Your email address will not be published. Required fields are marked *