1110 lines
26 KiB
Plaintext
1110 lines
26 KiB
Plaintext
|
#LyX 2.2 created this file. For more info see http://www.lyx.org/
|
||
|
\lyxformat 508
|
||
|
\begin_document
|
||
|
\begin_header
|
||
|
\save_transient_properties true
|
||
|
\origin unavailable
|
||
|
\textclass paper
|
||
|
\use_default_options true
|
||
|
\maintain_unincluded_children false
|
||
|
\language english
|
||
|
\language_package default
|
||
|
\inputencoding auto
|
||
|
\fontencoding global
|
||
|
\font_roman "default" "default"
|
||
|
\font_sans "default" "default"
|
||
|
\font_typewriter "default" "default"
|
||
|
\font_math "auto" "auto"
|
||
|
\font_default_family default
|
||
|
\use_non_tex_fonts false
|
||
|
\font_sc false
|
||
|
\font_osf false
|
||
|
\font_sf_scale 100 100
|
||
|
\font_tt_scale 100 100
|
||
|
\graphics default
|
||
|
\default_output_format default
|
||
|
\output_sync 0
|
||
|
\bibtex_command default
|
||
|
\index_command default
|
||
|
\paperfontsize default
|
||
|
\spacing single
|
||
|
\use_hyperref false
|
||
|
\papersize default
|
||
|
\use_geometry true
|
||
|
\use_package amsmath 1
|
||
|
\use_package amssymb 1
|
||
|
\use_package cancel 1
|
||
|
\use_package esint 1
|
||
|
\use_package mathdots 1
|
||
|
\use_package mathtools 1
|
||
|
\use_package mhchem 1
|
||
|
\use_package stackrel 1
|
||
|
\use_package stmaryrd 1
|
||
|
\use_package undertilde 1
|
||
|
\cite_engine basic
|
||
|
\cite_engine_type default
|
||
|
\biblio_style plain
|
||
|
\use_bibtopic false
|
||
|
\use_indices false
|
||
|
\paperorientation portrait
|
||
|
\suppress_date false
|
||
|
\justification true
|
||
|
\use_refstyle 1
|
||
|
\index Index
|
||
|
\shortcut idx
|
||
|
\color #008000
|
||
|
\end_index
|
||
|
\leftmargin 1cm
|
||
|
\topmargin 1cm
|
||
|
\rightmargin 1cm
|
||
|
\bottommargin 1cm
|
||
|
\secnumdepth 3
|
||
|
\tocdepth 3
|
||
|
\paragraph_separation indent
|
||
|
\paragraph_indentation 0bp
|
||
|
\quotes_language english
|
||
|
\papercolumns 1
|
||
|
\papersides 1
|
||
|
\paperpagestyle default
|
||
|
\tracking_changes false
|
||
|
\output_changes false
|
||
|
\html_math_output 0
|
||
|
\html_css_as_file 0
|
||
|
\html_be_strict false
|
||
|
\end_header
|
||
|
|
||
|
\begin_body
|
||
|
|
||
|
\begin_layout Title
|
||
|
Minetest Mod - Advanced Trains [advtrains]
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Title
|
||
|
Interlocking System Guide
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Section
|
||
|
Introduction
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
In real-world railways, a so-called interlocking system is a set of railway
|
||
|
signals and trackside equipment.
|
||
|
Its purpose is to prevent conflicting train movements which otherwise could
|
||
|
result in derailing or colliding trains.
|
||
|
If you want more information, just search for
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
railway interlocking
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
on the internet.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Real-world interlocking systems perform this task by setting routes.
|
||
|
A route is a path along a track that a train can safely pass.
|
||
|
To set a route for a train, the signalman (the operator of a signal box)
|
||
|
has to set switches (turnouts) to the correct position and lock them in
|
||
|
order to make a signal for a train show
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Proceed
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
.
|
||
|
In newer systems, this is done automatically by the interlocking system.
|
||
|
A route can not be set if switches are locked to a wrong position by another
|
||
|
route or if any portion of the route is occupied by a train.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The interlocking system in this Minetest mod tries to follow real-world
|
||
|
interlocking systems as far as applicable.
|
||
|
It divides tracks into track sections and implements a route setting mechanism
|
||
|
following the same principle.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
However, for the sake of simplicity of implementation and usage, not all
|
||
|
concepts of real-world interlocking have been taken over.
|
||
|
Especially, there is no mechanism for overlap.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
If you are looking for a place to learn how real-world interlocking systems
|
||
|
work, have a look at
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
SimSig
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
.
|
||
|
By looking at their simulations, you can obtain experience on how to set
|
||
|
up your own interlocking systems in AdvTrains.
|
||
|
The SimSig glossary is a good place to look up unknown terms in this document.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Section
|
||
|
Setting up track sections
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
In the real world, a line of track is divided into so-called track sections,
|
||
|
or track circuits.
|
||
|
Those systems often can not tell where exactly a train is, but only which
|
||
|
track sections it occupies.
|
||
|
A route can never be set through an occupied track section.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
A track section often covers:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
A section on a main running line, between two signals
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
A single turnout
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
A rail crossing, or a set of turnouts acting as a double/single slip switch
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
A siding
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
You will find some examples on how to interlock certain patterns later.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
Track Circuit Breaks
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
In this mod, you will not directly configure the locations of track sections.
|
||
|
Instead, you designate the borders of each track section using a special
|
||
|
node, the Track Circuit Break, abbreviated TCB.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
For example, if you want to create a track section for a piece of a main
|
||
|
running line, you set up two TCBs at the ends of this track circuit.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Setting up a TCB works as follows:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Place a TCB node somewhere near the place where the circuit break is going
|
||
|
to be located.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Right-click the TCB node
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Punch the rail which should act as TCB
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The result should look like this:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/screenshot_20180830_142551.png
|
||
|
width 10cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Now you have assigned the TCB node to a rail.
|
||
|
Right-click the TCB node once again.
|
||
|
This will bring up a form which looks as follows:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/Bildschirmfoto_2018-08-30_14-26-35.png
|
||
|
width 10cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
You see that the form is divided in side A and side B.
|
||
|
To designate where each side is, a marker is displayed on the rail.
|
||
|
You can always make this marker show up by punching the TCB node, and remove
|
||
|
it by punching the marker.
|
||
|
Both sides are shown as
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
End of interlocking
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
.
|
||
|
This means that there is no track section set up at this place.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
You should repeat this procedure once again a few meters away from the first
|
||
|
TCB to create a second TCB on the same track.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/Bildschirmfoto_2018-08-30_14-32-48.png
|
||
|
width 10cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Once you have both bordering TCBs set up, you can now create the actual
|
||
|
track section.
|
||
|
To do this:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Right-click one of the TCBs
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Locate the correct side (A or B) to create the track section
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Click
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Create interlocked Track Section
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
in the formspec on the chosen side.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Now, the text on the formspec has changed.
|
||
|
It shows something like this:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/Bildschirmfoto_2018-08-30_14-27-25.png
|
||
|
width 5cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Clicking
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Show Track Section
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
brings up another formspec:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/Bildschirmfoto_2018-08-30_14-28-32.png
|
||
|
width 5cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
On the top, you see a list of all TCBs that border this track section.
|
||
|
In your case, there should be two TCBs listed.
|
||
|
If there's only one, head over to
|
||
|
\begin_inset CommandInset ref
|
||
|
LatexCommand ref
|
||
|
reference "subsec:Long-track-sections,"
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
.
|
||
|
You should now select a name for the track section, to identify it later.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The same procedure is applicable when you create a turnout track section,
|
||
|
except that you have to set up three or more TCBs.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The AdvTrains interlocking system allows you to add more TCBs after you
|
||
|
have created a track section.
|
||
|
This works without problems in most cases.
|
||
|
For example, you can easily insert a turnout into an already set-up track
|
||
|
section and create another TCB behind it, and AdvTrains will automatically
|
||
|
detect the existing track section.
|
||
|
Problems arise only if you try to insert a TCB in-between a section, in
|
||
|
which case both sides of the TCB will end up assigned to the same section.
|
||
|
The code currently does not handle this case properly, so try to avoid
|
||
|
this situation by all means.
|
||
|
As a last resort, you can always dissolve a faulty track section, as described
|
||
|
in the next chapter.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
Long track sections, crossings and other edge cases
|
||
|
\begin_inset CommandInset label
|
||
|
LatexCommand label
|
||
|
name "subsec:Long-track-sections,"
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsubsection
|
||
|
Very long track sections
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
If you try to set up a track section that is longer than 1000 nodes, advtrains
|
||
|
won't recognize the TCB at the other end because of a safety limit in the
|
||
|
traverser function, which is supposed to prevent deadlocks.
|
||
|
This case has happened when the Track Section overview screen only shows
|
||
|
one TCB in the list.
|
||
|
The procedure for this is as follows:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Go to the second TCB (the one that wasn't recognized).
|
||
|
It should show
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
End of Interlocking
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
on the relevant side.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Click
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Create interlocked track section
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
.
|
||
|
The section created will be different from the one that is already present.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
In the track section overview, click
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Join into other section
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Go back to the first TCB, bring up the Track Section overview screen of
|
||
|
the first track section and click
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Join with ???
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The other, missing TCB should now appear in the list.
|
||
|
If you accidentally started such a joining procedure, click the
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
X
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
button on the right.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsubsection
|
||
|
Rail crosses
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Since rail crosses are created by laying tracks across each other without
|
||
|
logical connection, there's no way for advtrains to know whether rails
|
||
|
cross each other.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Rail crossings in interlocking systems are always one single track section,
|
||
|
which in most cases has 4 TCBs adjacent.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/Bildschirmfoto_2018-08-30_14-51-25.png
|
||
|
width 5cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The procedure is quite similar to the one for long sections: First, create
|
||
|
two track sections for the branches, and then use the
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Join
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
function to merge both sections into one.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsubsection
|
||
|
Deleting and re-adding single TCBs to a section
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
In some occasions, for example when you remove a siding or a crossover,
|
||
|
it can be necessary to unassign a TCB from a track section.
|
||
|
There are multiple ways to do this:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
In the TCB form, click the
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Remove from section
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
button
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
In the track section form, first select the TCB in the list and then click
|
||
|
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Unlink selected TCB
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The result is that the TCB shows
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
End of Interlocking
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
and the section does not list the TCB as an endpoint anymore.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The other case is adding a siding or a crossover, in which case one or more
|
||
|
TCBs still show
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
End of Interlocking
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
although they should be part of a section:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
Go to another TCB that is registered in the track section and click
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Update near TCBs
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
If that did not work, follow the procedure of creating a long track section
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsubsection
|
||
|
Dissolving sections
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
If you made a mistake setting up something and you don't see any other way
|
||
|
to fix a misconfigured track section, you can always delete it using the
|
||
|
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Dissolve section
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
button.
|
||
|
This operation removes the track section and sets all TCBs that previously
|
||
|
belonged to the section as
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
End of Interlocking
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
.
|
||
|
This will always work and lets you start over new with setting up track
|
||
|
sections.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
Interlocking patterns
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
This section shows some examples on how you should set up track sections
|
||
|
on certain track configurations.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Section
|
||
|
Signals and routes
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The purpose of signals is to inform trains about whether they can proceed
|
||
|
into the next section safely.
|
||
|
Making a section of track safe to pass for a train, turnouts need to be
|
||
|
set to the correct position and no other train should be allowed to cross
|
||
|
or share parts of the route with this train.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
Assigning Signals to TCBs
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Signals in the advtrains interlocking system are positioned - like in real
|
||
|
life - at the border of track sections.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
When you set up a signal, do the following steps:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
If not already happened, set up a TCB (you don't need to, but are advised
|
||
|
to, configure track sections there)
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Place the signal a few meters in front of the TCB, so that trains stopping
|
||
|
at the signal do never pass the TCB
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Locate the side of the TCB which points in the direction that trains will
|
||
|
proceed past the signal, as shown in the figure below.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Right-click the TCB, and click
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Assign a signal
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
on this side.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Enumerate
|
||
|
Punch the signal.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/assign_signal.png
|
||
|
width 8cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
You can assign a signal to each side of a TCB.
|
||
|
This is, for example, useful when creating block sections on a bi-directional
|
||
|
main running line.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
The concept of routes
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
A so-called route is a locked path between two signals, which locks all
|
||
|
turnouts in the correct position.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Example: Imagine a station with 2 platforms on a single track running line.
|
||
|
We are looking at signal A.
|
||
|
You probably want trains coming from the right to go into platform 1 or
|
||
|
into platform 2, so you need to program 2 routes.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/route_ex1.png
|
||
|
width 7cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
This leads us to the most important aspect of route programming: Routes
|
||
|
always start at a signal (A) and end at a signal facing in the
|
||
|
\series bold
|
||
|
same direction
|
||
|
\series default
|
||
|
(D and E), not at an opposite-facing signal (B and C).
|
||
|
There are only few exceptions, we'll cover this later.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
When you set a route to make a train proceed on it, the interlocking system
|
||
|
ensures that:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
There are no rail vehicles on the route
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
All turnouts are set to the correct position and it is impossible to move
|
||
|
them
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
No other routes can be set that would in any way conflict with this route
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
For this to work, you need to specify all track sections the train will
|
||
|
pass along, as well as the positions of all turnouts that need to be locked.
|
||
|
Those are not only the turnouts that lay directly on the train's route,
|
||
|
but also some turnouts on adjacent tracks, the so-called flank protection.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The purpose of flank protection is to prevent runaway trains and/or wagons
|
||
|
to pass into a route.
|
||
|
This is achieved by setting nearby turnouts to a position that points
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
away
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
from the route.
|
||
|
Example:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/route_ex2.png
|
||
|
width 7cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The upper turnout, of course, needs to be locked in straight (normal) position,
|
||
|
while the lower one is not relevant for the route itself.
|
||
|
But what if the lower turnout was set to the diverging (reverse) position
|
||
|
and the driver of another train approaching signal B fails to see the red
|
||
|
light? This train would crash into the first one.
|
||
|
To minimise danger, that other train would need to be routed towards signal
|
||
|
D.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
There are, of course, situations, where both positions of a turnout would
|
||
|
conflict with a route equally.
|
||
|
In those situations, there's nothing you can do and no flank lock needs
|
||
|
to be set.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
Shunt routes
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Operating railways is not all about driving trains around.
|
||
|
Coupling, decoupling and moving single engines, wagons or groups of wagons
|
||
|
across a station, called shunting, also plays an important role.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Remember what we said about routes: There must be no rail vehicles on the
|
||
|
route.
|
||
|
So what if you have some goods wagons ready on a siding, and want to couple
|
||
|
an engine to it? You can not set a regular route into the siding, because
|
||
|
it is occupied.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The solution is to program a second route into the siding, but with the
|
||
|
difference that it already ends at the rear-facing signal of it, so it
|
||
|
doesn't include the siding section itself:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
\begin_inset Graphics
|
||
|
filename lyx_img/route_ex3.png
|
||
|
width 7cm
|
||
|
|
||
|
\end_inset
|
||
|
|
||
|
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The Sht2 route then needs to show a shunt aspect, which instructs the driver
|
||
|
to proceed slowly and watch out for vehicles on the route.
|
||
|
To show a
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
free
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
aspect here would be wrong, because that would mean that the track is free
|
||
|
until the next main signal, which it is clearly not.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
|
||
|
\shape italic
|
||
|
Note that advtrains_interlocking currently does not allow to set individual
|
||
|
aspects for routes, this is a feature still to be implemented soon.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Shunt routes like this are, so far, the only exception to the
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Routes should end at a signal facing the same direction
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
rule.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
Route Release
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
In early real-life interlocking systems, routes either had to be cancelled
|
||
|
by the signalman after the train had passed the route, or there was a single
|
||
|
release contact at the end of the route.
|
||
|
However, as interlocking systems evolved and the position of trains is
|
||
|
now roughly known by the track sections, portions of the route can be freed
|
||
|
as soon as the train has left the corresponding section.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
AdvTrains has chosen a modern approach to route releasing.
|
||
|
Each turnout lock is associated to a track section belonging to the route's
|
||
|
path.
|
||
|
Once the train leaves this section, all assigned locks are also freed.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
Programming a route
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The route programming procedure is quite straightforward if you've read
|
||
|
the previous sections and understood how routes should be set.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Routes always start at a signal.
|
||
|
You must have assigned the signal to a TCB, as described earlier.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
When you right-click the signal, it no longer changes its aspect.
|
||
|
Instead, a formspec pops up, showing you an (empty) list of routes with
|
||
|
the possibility to set them or to create new routes.
|
||
|
Click the
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Create new route
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
button to start programming a new route.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
The form closes, and an arrow is displayed on the TCB.
|
||
|
You are now in
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Route Programming
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
mode, programming the first track section of the route.
|
||
|
Now:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
Put any turnouts you need to lock in the correct position (e.g.
|
||
|
by right-clicking them).
|
||
|
This includes flank protection.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
Punch them.
|
||
|
This makes a marker saying
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Route Lock Editing
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
appear.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
If you punch a turnout again, or punch the marker, you can remove the lock
|
||
|
again.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
When you've locked all turnouts in the current section, go to and punch
|
||
|
the TCB that is the border to the next track section the train proceeds
|
||
|
into.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Once you've done this, the lock markers change to
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Route Lock
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
, telling they can't be changed anymore.
|
||
|
Repeat the above procedure until you have punched the final TCB, at which
|
||
|
the route should end.
|
||
|
As mentioned before, there should be a signal at this place, however this
|
||
|
is not enforced.
|
||
|
Now, run the chat command
|
||
|
\family typewriter
|
||
|
/at_rp_set <name of route>
|
||
|
\family default
|
||
|
to complete programming the route.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
A few hints:
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
If one turnout should be locked by more than one section, set the lock only
|
||
|
in the
|
||
|
\family typewriter
|
||
|
\series bold
|
||
|
last
|
||
|
\family default
|
||
|
\series default
|
||
|
of those sections.
|
||
|
Locking the same turnout in multiple sections of a single route results
|
||
|
in undefined behavior!
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
If you accidentally punched a TCB, you can run
|
||
|
\family typewriter
|
||
|
/at_rp_back
|
||
|
\family default
|
||
|
to undo this and return to the previous section.
|
||
|
Due to a bug, you have to re-set all locks of this section.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Itemize
|
||
|
If you want to stop programming the entire route without saving it, run
|
||
|
|
||
|
\family typewriter
|
||
|
/at_rp_discard
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Section
|
||
|
Interlocking system operation
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Setting up the interlocking for a portion of a railway network requires
|
||
|
some time, experience and planning, but once done, there's not much to
|
||
|
do anymore to make trains run on your, now safer, railway.
|
||
|
This section covers some useful practices to route trains across your network.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
At the moment, routes can only be set by clicking the signal or via LuaATC,
|
||
|
except if you use automatic working.
|
||
|
It is planned to control this via the onboard computer and via a
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
signal box
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
view based on the currently broken itrainmap.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
Simple route setting and cancelling
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
To set a route, simply right-click the signal, select a route and click
|
||
|
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
set route
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
.
|
||
|
If there are no conflicts, the signal turns green and the train is allowed
|
||
|
to proceed.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
It may be possible that the route can not be set, because one or more other
|
||
|
routes conflict with the current one, or a section is blocked.
|
||
|
In this case, the signal stays red, and the conflicting item is shown in
|
||
|
the formspec.
|
||
|
As soon as the conflict is resolved (by cancellation or release of the
|
||
|
conflicting route, or the section becoming free), the requested route will
|
||
|
be set and the signal turns green.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
If a route is either requested or set, it can be cancelled from the signalling
|
||
|
formspec.
|
||
|
This means that all turnouts and sections are released, and the signal
|
||
|
reverts back to red.
|
||
|
This of course only works when the train has not passed the signal yet.
|
||
|
There is no mechanism for Approach Locking.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Subsection
|
||
|
Automatic Working
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
Block signals on main running lines usually only have a single route to
|
||
|
set, the one proceeding along the main line.
|
||
|
Their purpose is only to show whether there are trains in the next section.
|
||
|
So, it would be convenient if this only route would set itself again after
|
||
|
a train passed.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
This is what Automatic Working is for.
|
||
|
Set a route, click
|
||
|
\begin_inset Quotes eld
|
||
|
\end_inset
|
||
|
|
||
|
Enable Automatic Working
|
||
|
\begin_inset Quotes erd
|
||
|
\end_inset
|
||
|
|
||
|
, and as soon as a train passes, the route is automatically re-set.
|
||
|
\end_layout
|
||
|
|
||
|
\begin_layout Standard
|
||
|
This function is nearly identical to SimSig automatic signals.
|
||
|
It can also be useful on a line with high traffic, when there's a low-frequente
|
||
|
d access to a siding.
|
||
|
You'd enable automatic working for the main route and cancel it only when
|
||
|
you need a train to go into the siding.
|
||
|
\end_layout
|
||
|
|
||
|
\end_body
|
||
|
\end_document
|