summaryrefslogtreecommitdiff
path: root/assets/interlocking.lyx
diff options
context:
space:
mode:
Diffstat (limited to 'assets/interlocking.lyx')
-rw-r--r--assets/interlocking.lyx2026
1 files changed, 0 insertions, 2026 deletions
diff --git a/assets/interlocking.lyx b/assets/interlocking.lyx
deleted file mode 100644
index 96318fd..0000000
--- a/assets/interlocking.lyx
+++ /dev/null
@@ -1,2026 +0,0 @@
-#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
-Have a look at the following images.
- They show you how you can set up sections so that reasonable train moves
- are possible.
-\end_layout
-
-\begin_layout Standard
-You should settle on a naming scheme for your sections.
- This way, you can determine the source of an issue faster
-\end_layout
-
-\begin_layout Section
-Signals and routes
-\end_layout
-
-\begin_layout Standard
-Signals are appliances that can give instructions to trains.
- That can be the permission to proceed, a speed restriction, or other informatio
-n.
-\end_layout
-
-\begin_layout Standard
-There are 2 types of signals:
-\end_layout
-
-\begin_layout Itemize
-Static signals always display the same information to the train.
- This can be a speed restriction (or the end of one), a disallowal to proceed
- as shunt move or similar things.
- In most cases, these are signs.
-\end_layout
-
-\begin_layout Itemize
-Dynamic signals are what most people would call a
-\begin_inset Quotes eld
-\end_inset
-
-signal
-\begin_inset Quotes erd
-\end_inset
-
-.
- Its function is to inform trains about whether and at which speed they
- can proceed into the next section safely.
-\end_layout
-
-\begin_layout Subsection
-Signal Influence Point
-\end_layout
-
-\begin_layout Standard
-Every signal is associated to a track on which the instruction should be
- followed.
- Signals are usually placed right next to the track on the right side.
- Human observers do know then that the signal belongs to the track left
- of it, however, train safety systems (like the one in advtrains) can not.
-\end_layout
-
-\begin_layout Standard
-This is the reason why a so-called
-\begin_inset Quotes eld
-\end_inset
-
-influence point
-\begin_inset Quotes erd
-\end_inset
-
- needs to be assigned to any signal that should actually give instructions
- to trains, should the driver (if even there is one) fail to recognize the
- instructions.
-\end_layout
-
-\begin_layout Standard
-Depending on the signal and the mod that adds the signal, there are different
- ways to configure this.
- Signals integrated into advtrains behave as follows:
-\end_layout
-
-\begin_layout Itemize
-Static signals and all red-green light signals from core advtrains that
- are not assigned to a TCB can be configured by holding the
-\begin_inset Quotes eld
-\end_inset
-
-Use
-\begin_inset Quotes erd
-\end_inset
-
- key and then right-clicking the signal
-\end_layout
-
-\begin_layout Itemize
-All signals that are assigned to a TCB can be configured by first right-clicking
- them, then selecting
-\begin_inset Quotes eld
-\end_inset
-
-Influence Point
-\begin_inset Quotes erd
-\end_inset
-
- in the signalling formspec.
-\end_layout
-
-\begin_layout Standard
-The small formspec that opens allows you to set and later view or clear
- the Influence Point.
- To set the influence point, click the
-\begin_inset Quotes eld
-\end_inset
-
-Set
-\begin_inset Quotes erd
-\end_inset
-
- button, face towards the signal and punch a rail about 2m in front of the
- signal.
- A small marker will be shown, indicating success.
- To cancel setting an influence point, punch anything other.
- (note that then the influence point remains unset, regardless of its previous
- state)
-\end_layout
-
-\begin_layout Standard
-The advtrains-internal train safety system ensures that the train always
- obeys any restrictions imposed by signals, if (and only if) the influence
- point is set properly.
-\end_layout
-
-\begin_layout Subsection
-Signal Aspects
-\end_layout
-
-\begin_layout Standard
-While static signals are mainly used for speed restrictions, the interesting
- ones are variable signals.
- Of course, you can always control any variable signal by traditional means
- (mesecons, digiline, right-click) if the signal allows it, but that misses
- the point of this interlocking system.
-\end_layout
-
-\begin_layout Standard
-A signal aspect is a piece of information that a signal shows to the train
- driver.
- It contains information about whether and at what speed the driver may
- proceed at the signal.
-\end_layout
-
-\begin_layout Standard
-Every signal, both static and dynamic ones, imposes a certain aspect to
- trains passing the signal.
- For static signals, this is always the same aspect, such as
-\begin_inset Quotes eld
-\end_inset
-
-Proceed at speed of 8
-\begin_inset Quotes erd
-\end_inset
-
- or
-\begin_inset Quotes eld
-\end_inset
-
-Shunt moves may not pass
-\begin_inset Quotes erd
-\end_inset
-
-.
- Dynamic signals, however, can display multiple different aspects.
- The default for them is always as restrictive as possible, mostly
-\begin_inset Quotes eld
-\end_inset
-
-Halt!
-\begin_inset Quotes erd
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-You should know that both static and dynamic signals use exactly the same
- properties for signal aspects.
- There is no difference in the meaning of the aspect definitions.
-\end_layout
-
-\begin_layout Standard
-In the following sections, we will talk about main signals.
- By this, we mean a variable signal that can display both a
-\begin_inset Quotes eld
-\end_inset
-
-Danger
-\begin_inset Quotes erd
-\end_inset
-
- aspect (trains are not allowed to proceed) and at least one
-\begin_inset Quotes eld
-\end_inset
-
-Proceed
-\begin_inset Quotes erd
-\end_inset
-
- aspect (train may proceed as train/shunt move, with optional speed restriction)
-, which act as an
-\begin_inset Quotes eld
-\end_inset
-
-entry signal
-\begin_inset Quotes erd
-\end_inset
-
- for one or multiple routes.
-\end_layout
-
-\begin_layout Subsection
-Train moves and Shunt Moves
-\end_layout
-
-\begin_layout Itemize
-A
-\begin_inset Quotes eld
-\end_inset
-
-Train move
-\begin_inset Quotes erd
-\end_inset
-
- is a train that is running, going to run on or coming from a main line
- between stations, passing through or stopping at a station.
- Train moves can expect that there are no obstacles on the route and they
- can proceed at the maximum permitted speed of the line.
- This is the regular operation mode for trains.
- Shunt signals have no meaning for train moves.
-\end_layout
-
-\begin_layout Itemize
-A
-\begin_inset Quotes eld
-\end_inset
-
-Shunt move
-\begin_inset Quotes erd
-\end_inset
-
- is a train that moves within a station and/or is coupling or decoupling
- wagons or engines.
- A shunt move may never leave a station except into a siding.
- Also, shunt moves may drive at a maximum speed of 6 speed units, because
- it is usually not ensured that the path is free of obstacles.
- (however, advtrains ensures that every route is free of railway vehicles,
- even shunt routes)
-\end_layout
-
-\begin_layout Standard
-There are also 2 general types of signals: Main signals and Shunt signals.
- While main signals have a meaning for all types of trains, Shunt signals
- only have to be followed by shunt moves.
- Usually, Shunt signals that are on a train move route are set to a Proceed
- aspect as well.
-\end_layout
-
-\begin_layout Standard
-When a train reverses, its mode automatically changes to
-\begin_inset Quotes eld
-\end_inset
-
-shunt move
-\begin_inset Quotes erd
-\end_inset
-
- until it passes a main signal that shows
-\begin_inset Quotes eld
-\end_inset
-
-Proceed as train move
-\begin_inset Quotes erd
-\end_inset
-
-, which is usually designated by a green light.
- From this point on, it can accelerate to maximum permitted speed.
-\end_layout
-
-\begin_layout Standard
-Some main signals, like the ones from the Ks signals mod included by default,
- can also display
-\begin_inset Quotes eld
-\end_inset
-
-Proceed as shunt move
-\begin_inset Quotes erd
-\end_inset
-
-, which is designated by 2 white lights along with the red light.
- Once a train passes this signal, it becomes a shunt move.
-\end_layout
-
-\begin_layout Subsection
-The concept of routes
-\end_layout
-
-\begin_layout Standard
-A so-called route is a locked path between two main signals, which locks
- all turnouts in the correct position.
- Its purpose is to offer a train a path on which it can safely proceed without
- interfering with any other train.
- A route always incorporates and locks one to multiple track sections, starting
- with the one that lies directly behind the
-\begin_inset Quotes eld
-\end_inset
-
-entry
-\begin_inset Quotes erd
-\end_inset
-
- signal.
-\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
-Assigning main signals to TCBs
-\end_layout
-
-\begin_layout Standard
-Main signals in the advtrains interlocking system are positioned - like
- in real life - at the border of track sections, because routes also start
- and end there.
- For advtrains to know from which signal which routes can be set, you need
- to assign the signal to a TCB.
-\end_layout
-
-\begin_layout Standard
-To do this, perform 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
-If you haven't set an influence point for the signal yet, the influence
- point formspec automatically opens.
-\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 Standard
-Only main signals can ever be assigned to TCBs, because static ones can
- either not display
-\begin_inset Quotes eld
-\end_inset
-
-Danger
-\begin_inset Quotes erd
-\end_inset
-
- or do not permit to proceed at all.
-\end_layout
-
-\begin_layout Subsection
-Shunt routes
-\end_layout
-
-\begin_layout Standard
-
-\series bold
-The information in this section is subject to future change because of safety
- issues!
-\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.
- See later on for how to set this up.
-\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 Standard
-Please note that reversing a train outside of stations is not only discouraged,
- but also very dangerous, because even real-world interlocking system do
- not expect this.
- There is a clear, human-sense rule that you should never reverse the driving
- direction of a train while on a main line or on a turnout.
- Else, you can be considered a terrorist.
- (quote from professional!)
-\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 main signal.
- You must have assigned the signal to a TCB, as described earlier.
-\end_layout
-
-\begin_layout Standard
-When you right-click the main 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 with a blue lock symbol 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
-Depending on the situation, you are now offered some possibilities to proceed:
-\end_layout
-
-\begin_layout Itemize
-Click the
-\begin_inset Quotes eld
-\end_inset
-
-Advance to next section
-\begin_inset Quotes erd
-\end_inset
-
- button if your route consists of more sections with turnouts to lock, and
- you need to continue programming.
- Follow the above steps to set locks for the next section.
-\end_layout
-
-\begin_layout Standard
-Once you've clicked the
-\begin_inset Quotes eld
-\end_inset
-
-Advance
-\begin_inset Quotes erd
-\end_inset
-
- button, the lock markers change to a red lock symbol, telling they can't
- be changed anymore.
- Repeat the above procedure until you are ready to complete the programming
- procedure:
-\end_layout
-
-\begin_layout Itemize
-Click the
-\begin_inset Quotes eld
-\end_inset
-
-Finish route HERE
-\begin_inset Quotes erd
-\end_inset
-
- button when you've set up the locks for the last track section of the route
- and punched the final TCB (the one with the next signal).
- You will be asked for a route name and your route will be saved.
-\end_layout
-
-\begin_layout Itemize
-The
-\begin_inset Quotes eld
-\end_inset
-
-Finish route at end of NEXT section
-\begin_inset Quotes erd
-\end_inset
-
- button (third button) is an useful quickhand to make the route proceed
- one more section.
- Using this button is equivalent to first clicking the
-\begin_inset Quotes eld
-\end_inset
-
-Advance
-\begin_inset Quotes erd
-\end_inset
-
- button, then flying to the end of the next track section and finishing
- the route there.
- You can not (officially) set turnout locks in the final section using this
- method.
-\end_layout
-
-\begin_layout Standard
-A few hints:
-\end_layout
-
-\begin_layout Itemize
-If you accidentally advanced the route wrongly, you can use the
-\begin_inset Quotes eld
-\end_inset
-
-Step back one section
-\begin_inset Quotes erd
-\end_inset
-
- button to undo this.
-\end_layout
-
-\begin_layout Itemize
-If you want to stop programming the entire route without saving it, use
- the
-\begin_inset Quotes eld
-\end_inset
-
-Cancel route programming
-\begin_inset Quotes erd
-\end_inset
-
- button.
-\end_layout
-
-\begin_layout Itemize
-The third button is especially useful for programming simple block sections
- on a main running line, since you can stay at the starting signal (punch
- starting TCB and select third button).
-\end_layout
-
-\begin_layout Itemize
-If a route should end in a dead end, you MUST use the
-\begin_inset Quotes eld
-\end_inset
-
-Finish in NEXT section
-\begin_inset Quotes erd
-\end_inset
-
- button, because there is no final TCB that you could punch.
-\end_layout
-
-\begin_layout Itemize
-The third button does NOT work on sections with more than 2 exits, because
- the system won't be able to determine the final TCB of the route then.
-\end_layout
-
-\begin_layout Subsection
-Route information screen
-\end_layout
-
-\begin_layout Standard
-\begin_inset Graphics
- filename lyx_img/Bildschirmfoto_2019-01-15_19-28-09.png
- width 10cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-This is the screen that appears when you click
-\begin_inset Quotes eld
-\end_inset
-
-Edit Route
-\begin_inset Quotes erd
-\end_inset
-
-.
- It lets you change the route name and delete the route.
- Also, it shows a summary of the route and its elements.
-\end_layout
-
-\begin_layout Standard
-The route summary lists information per track section on the route, so the
- line starting with
-\begin_inset Quotes eld
-\end_inset
-
-1
-\begin_inset Quotes erd
-\end_inset
-
- is the first section of the route.
-\end_layout
-
-\begin_layout Standard
-The ARS rule list and its purpose is explained later.
-\end_layout
-
-\begin_layout Subsection
-Specifying signal aspects
-\end_layout
-
-\begin_layout Standard
-By default, newly programmed routes show an aspect that comes closest to
-
-\begin_inset Quotes eld
-\end_inset
-
-Proceed at maximum speed
-\begin_inset Quotes erd
-\end_inset
-
-.
- However, it can be desirable to change this behavior, like when the route
- passes a diverging turnout, the train should be signalled to drive slower,
- or the route is a shunt route and therefore only
-\begin_inset Quotes eld
-\end_inset
-
-Shunting allowed
-\begin_inset Quotes erd
-\end_inset
-
- should be shown.
-\end_layout
-
-\begin_layout Standard
-This is the purpose of the
-\begin_inset Quotes eld
-\end_inset
-
-Change Aspect
-\begin_inset Quotes erd
-\end_inset
-
- button in the route info screen.
-\end_layout
-
-\begin_layout Standard
-Signal aspects in advtrains consist of 4 sections: main (Information for
- train moves), dst (Distant signal information, not implemented yet), shunt
- (Information for shunt moves) and info (additional information, currently
- not in use).
-\end_layout
-
-\begin_layout Itemize
-Train may proceed as train move at maximum speed:
-\begin_inset Quotes eld
-\end_inset
-
-main: free, speed -1
-\begin_inset Quotes erd
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-Train may proceed as train move at speed of 8:
-\begin_inset Quotes eld
-\end_inset
-
-main: free, speed 8
-\begin_inset Quotes erd
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-Train may proceed as shunt move:
-\begin_inset Quotes eld
-\end_inset
-
-shunt: free
-\begin_inset Quotes erd
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-There's a field in the
-\begin_inset Quotes eld
-\end_inset
-
-shunt
-\begin_inset Quotes erd
-\end_inset
-
- part of signal aspects that is not displayed in the GUI, but is of potential
- interest to developers of signal addons: shunt.proceed_as_main.
-\end_layout
-
-\begin_layout Itemize
-A train move can always become a shunt move by passing a signal that shows
-
-\begin_inset Quotes eld
-\end_inset
-
-Halt for train moves, shunting permitted
-\begin_inset Quotes erd
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-A shunt move can only pass a signal saying
-\begin_inset Quotes eld
-\end_inset
-
-Proceed as train move, shunting not permitted
-\begin_inset Quotes erd
-\end_inset
-
- when proceed_as_main is true.
-\end_layout
-
-\begin_layout Standard
-The property is used by the Limit Of Shunt sign, where proceed_as_main is
- set to false.
- Shunt moves have to stop in front of it, while train moves are signalled
-
-\begin_inset Quotes eld
-\end_inset
-
-Proceed
-\begin_inset Quotes erd
-\end_inset
-
-.
- Regular main signals that show
-\begin_inset Quotes eld
-\end_inset
-
-green
-\begin_inset Quotes erd
-\end_inset
-
- have the field set to true, so that all trains can pass it.
-\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 either be set by clicking the signal or via LuaATC,
- or by using the
-\begin_inset Quotes eld
-\end_inset
-
-Remote Routesetting
-\begin_inset Quotes erd
-\end_inset
-
- button from the Onboard Computer.
- It is planned to control this 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
-Train Safety System
-\end_layout
-
-\begin_layout Standard
-The Train Safety System, called
-\begin_inset Quotes eld
-\end_inset
-
-LZB
-\begin_inset Quotes erd
-\end_inset
-
- in the code (from the german term Linienzugbeeinflussung, although this
- is a completely different system), ensures that trains obey any restrictions
- imposed by signals when influence points are set.
- This way, it is not possible to pass signals at danger or to bypass speed
- restrictions.
-\end_layout
-
-\begin_layout Standard
-It is possible to overrun red signals, if a route is cancelled while a train
- is approaching.
- Real interlocking systems use a mechanism called Approach locking for this,
- however, as of now, there's no similar system in this mod.
- If a red signal is overrun, the train brakes using emergency brake (
-\begin_inset Quotes eld
-\end_inset
-
-BB
-\begin_inset Quotes erd
-\end_inset
-
-) and can not be moved any further.
- You should then examine the situation and drive the train backwards out
- of the section.
-\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
-
-\begin_layout Subsection
-Automatic Route Setting (ARS)
-\end_layout
-
-\begin_layout Standard
-As interlocking systems evolved, the goal always was to offload work from
- the human to the system, automating things.
- Modern interlocking systems can automatically set routes based on a pre-program
-med routing table for each particular train.
- Since one outstanding feature of Advtrains is it's high degree of automation,
- it has a similar system to automatically set routes for a train depending
- on certain parameters.
-\end_layout
-
-\begin_layout Standard
-Every train in Advtrains has 2 internal properties that can be set through
- the Onboard Computer of every engine in the train, the
-\begin_inset Quotes eld
-\end_inset
-
-Line
-\begin_inset Quotes erd
-\end_inset
-
- and the
-\begin_inset Quotes eld
-\end_inset
-
-Routing Code
-\begin_inset Quotes erd
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-The
-\begin_inset Quotes eld
-\end_inset
-
-Line
-\begin_inset Quotes erd
-\end_inset
-
- property is supposed to distinguish trains of multiple lines that share
- a track.
-\end_layout
-
-\begin_layout Itemize
-The
-\begin_inset Quotes eld
-\end_inset
-
-Routing Code
-\begin_inset Quotes erd
-\end_inset
-
- property is supposed to tell the target of a train or which route it should
- take to reach the target
-\end_layout
-
-\begin_layout Standard
-Examples:
-\end_layout
-
-\begin_layout Standard
-\begin_inset Graphics
- filename lyx_img/arslin_ex1.png
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Both lines share the section between Blackbirdshire and Parktown.
- To divert them again, they can save their line number in the
-\begin_inset Quotes eld
-\end_inset
-
-Line
-\begin_inset Quotes erd
-\end_inset
-
- field.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Graphics
- filename lyx_img/arslin_ex2.png
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Some trains should go to B, some to C, the direction can be set with a routing
- code.
-\end_layout
-
-\begin_layout Standard
-One single routing code should not contain spaces.
- You can set multiple routing codes by just separating them with spaces
- in the Routing Code field.
- So,
-\begin_inset Quotes eld
-\end_inset
-
-Stn Ori
-\begin_inset Quotes erd
-\end_inset
-
- would be matched by ARS rules either containing
-\begin_inset Quotes eld
-\end_inset
-
-Stn
-\begin_inset Quotes erd
-\end_inset
-
- or
-\begin_inset Quotes eld
-\end_inset
-
-Ori
-\begin_inset Quotes erd
-\end_inset
-
-.
- This does not work for lines.
-\end_layout
-
-\begin_layout Subsubsection
-Writing ARS Rules
-\end_layout
-
-\begin_layout Standard
-Every route of every signal can be given a set of ARS rules.
- A single ARS rule can either match a line or a routing code (combinations,
- e.g.
- and's, are not yet supported).
- The first rule in the first route that matches any of the properties of
- the train is selected, and that route is set for the train.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Graphics
- filename lyx_img/ars_ex1.png
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-You can add an asterisk (
-\begin_inset Quotes eld
-\end_inset
-
-*
-\begin_inset Quotes erd
-\end_inset
-
-) to the ARS rules of one route.
- That route then becomes the default route.
-\end_layout
-
-\begin_layout Standard
-If no explicit ARS rule matches the train, then the default route is chosen
- and set.
- If there is no default route, nothing happens and the signal remains red.
-\end_layout
-
-\begin_layout Subsubsection
-Using ARS
-\end_layout
-
-\begin_layout Standard
-In contrast to Automatic working, where the route is re-set immediately
- after the train passed, ARS sets the route only when the train approaches
- the signal, e.g.
- is just about to start braking in front of it.
-\end_layout
-
-\begin_layout Standard
-At any place where one of the following things take place, you should use
- the ARS system in favor of Automatic Working:
-\end_layout
-
-\begin_layout Itemize
-A main line diverts into 2 or more lines: Using ARS, you can direct the
- trains along the line where they should go
-\end_layout
-
-\begin_layout Itemize
-Two or more main lines join into one: You cannot use automatic working here,
- because all routes are tried to be set at the same time and it is a matter
- of luck which one
-\begin_inset Quotes eld
-\end_inset
-
-wins
-\begin_inset Quotes erd
-\end_inset
-
-.
- In a bad situation, you have a train coming from A, but it cannot proceed
- because Signal B has won the
-\begin_inset Quotes eld
-\end_inset
-
-route race
-\begin_inset Quotes erd
-\end_inset
-
- into the shared section, even if there's no train coming from B.
- Using ARS, by just specifying the
-\begin_inset Quotes eld
-\end_inset
-
-default route
-\begin_inset Quotes erd
-\end_inset
-
- by a *, the inward route is only set when a train approaches.
-\end_layout
-
-\begin_layout Itemize
-Complex intersections, which are probably a combination of the above two
-\end_layout
-
-\begin_layout Itemize
-sometimes-used branching tracks on which only certain trains (with certain
- routing code or line) should head off, like the entrance to a factory where
- only one specific goods train should drive in.
-\end_layout
-
-\begin_layout Standard
-In the route overview, you can see some information on the ARS settings:
- All routes that have ARS rules are highlighted red, the
-\begin_inset Quotes eld
-\end_inset
-
-default route
-\begin_inset Quotes erd
-\end_inset
-
- is highlighted green.
-\end_layout
-
-\begin_layout Standard
-ARS does not affect signals which already have a route set, and signals
- which are operating under
-\begin_inset Quotes eld
-\end_inset
-
-Automatic Working
-\begin_inset Quotes erd
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section
-Final notes
-\end_layout
-
-\begin_layout Standard
-The interlocking system is mainly finished, though there are still some
- plans and ideas.
- They include:
-\end_layout
-
-\begin_layout Itemize
-Signalbox panels, as revival of itrainmap
-\end_layout
-
-\begin_layout Itemize
-Distant signals
-\end_layout
-
-\begin_layout Itemize
-On-Train head-up display for oncoming signals (they have something like
- this in Czech Republic, I forgot how it's called.)
-\end_layout
-
-\begin_layout Standard
-Apart from this, there's the large oncoming project of a new timetable-based
- train automation system, but this will take some time to evolve and is
- out of the scope of this document.
-\end_layout
-
-\begin_layout Standard
-If you have any suggestions, corrections, improvements, criticism or cute
- kittens and stuff, you can always contact me by various means (Forum PM,
- E-Mail (orwell@bleipb.de), Linuxworks server chat a.s.o.).
- Have fun!
-\end_layout
-
-\begin_layout Standard
-- orwell
-\end_layout
-
-\end_body
-\end_document