The Railroad routes

Theoretical Considerations

The view below taken from my “Lugdunum” network (latin name for Lyon) that is under construction shows the west exit of the Gare de Lyon-Perrache towards Paris. I tried to reproduce the station grill on this network as faithfully as possible in order to subsequently stage the traffic with the entrances and exits of trains. Lyon is a railway hub with a very high traffic density, so train movements are particularly important at certain times of the day. Looking at the entanglement of tracks everyone suspects that traffic management must be carefully programmed to avoid accidents if we want to deliver a realistic and spectacular traffic to see. Admittedly, in EEP the collision between two trains is not a drama but it is a bit messy and I imagine that railway enthusiasts are keen to see their trains evolve without a hitch for their greatest pleasure.

Figure n° 1

This is why I propose to you, lets take a look together on how to design a network with secure routes. In this sheet we will limit ourselves to a theoretical approach on railway routes, an essential step before tackling the practical part.

This is why I propose to you, lets take a look together on how to design a network with secure routes. In this sheet we will limit ourselves to a theoretical approach on railway routes, an essential step before tackling the practical part.

Itineraries: Definition and generalities.

In general, an itinerary is a route made between 2 points, the first being the start or entry point on the route and the second the arrival or exit point. Applied in the railway world, this route can be done on a single track without crossing a crossing or switch. In this case, traffic management will be done in automatic blocking to prevent one train from overtaking another. We will not dwell on this point, which is outside the scope of our study.

The route may also include one or more switches such as crossings, switches or crossings-junctions. This means that multiple routes can be created.

Figure 2 shows a simple configuration with 2 traffic lanes and a third lane which comes from the right to connect to lane 1 after having crossed lane 2. This configuration is very simple but the fact remains that on its own it produces 3 possible routes as shown in figure 2 and as well in the following table.

Figure n° 2

The red arrows which mark the 3 possible routes show us that they can not be executed simultaneously. Indeed ITN 1 shares a common turnout with ITN2 and ITN 3 as well as crossing with ITN 3. Only ITN 1 and 2 can be executed at the same time without problems since they do not have in common any device or track section. Of course all this seems obvious from the simple observation of the photo. But the case becomes singularly complicated when we end up with a complex set of railroad network.

This is the reason why it then becomes imperative to introduce a process of execution of the routes ensuring the safety of the trains. EEP has powerful tools for creating route managers either in Lua programming or using track contacts as well as logic signals. These techniques will be developed in the next tutorials (part …).

Stages in the life of an itinerary

It can be curious to talk about life when it comes to itineraries, however the comparison is worth making because an itinerary, with some exceptions that we will see later, does not exist permanently. It is set by an approaching train according to its destination and then deleted after it has passed. Its duration is therefore ephemeral.

The life of an itinerary has 5 stages if it is established immediately or 6 if it is put on hold:

  1. The calling of a  route 
  2. Compatibility check with other routes
  3. Putting on hold
  4. Initiation and establishment of a route
  5. Execution of the route
  6. Destruction of the route (Canceling of a route).

let us now see in more detail how each of these stages is characterized in EEP, the sequencing of which appears in the figure below:

Figure n° 3


A train approaching a route area will request the establishment of the route it needs to reach its destination. This request will be triggered through a track contact point. The route selection procedure will be based on the name of the train or the route assigned to it.

Compatibility check

The first thing that must be done, of course, is to check whether another route incompatible with the one requested is being executed. If so, the request will be put on hold with a polling loop until the incompatible route is destroyed.

Putting on hold

This stage is not systematic. It only intervenes, as we have just seen, when a route incompatible with the one requested is being performed.

Initiation and establishment

As soon as the route can be established it must be immediately locked to prevent any possibility of carrying out another route incompatible with it. This phase will therefore take place in two stages: the interlocking ( safety locking ) followed by the appropriate positioning of the switches and other switches and crossings in order to trace the route correctly. Finally, the route entry signal opens, allowing the train to enter the route area which we will call the transit area (TA).


Two possibilities exist namely rigid transit and flexible transit. These two ways of running the routes will be explained in the next tutorial (part…).


It is operated when the tail of the train has left the route for rigid transit. It takes place when crossing of the switch is completed or other equipment on the route in the case of flexible transit. These points will be developed later.

Route signing

Route protection is ensured by signs at the entrance to each route. They are always closed and display the square (2 red lights as shown in photo2 above) as long as the route they are protecting is not activated. These signals are obviously equipped with the Nf  plate “Non-franchissable” (french signaling plate meaning absolute stop). Most of the time, the opening of a route is done by a dispatcher. Digitization has, however, resulted in the automatic activation of routes without manual intervention, which is the case with traffic management in large stations.

At the end of this study, what should be remembered for the application of routes in EEP is above all the sequencing of the life of a route as shown in the flowchart in figure 3. Those who are familiar with programming in Lua language can now observe that this flowchart already announces the structure of the route programming, notably with a conditional loop. For those who prefer to stick to a more traditional solution, the flowchart is no less essential. The creation of an automation to manage the safety of the routes will therefore have to strictly adhere to the sequencing otherwise EEP users will inevitably encounter big problems especially if they wish to implement a major railroad network operation.

The 2nd part on routes will deal precisely with the practical creation of an automation for routes in a classic solution without any  lines of computer programming.

Article written by François. Contact

This article is now complete. If you have any questions or suggestions, please give us your feedback in the leave a reply input box below.

Thank you for your helpful comments. Have fun reading an other article. team

This article was translated by Pierre for the English side of the EEP-World from the article written by François for the French side of the EEP-World.

Leave a Reply