831 lines
48 KiB
HTML
831 lines
48 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||
|
<html >
|
||
|
<head><title></title>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||
|
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||
|
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||
|
<!-- html -->
|
||
|
<meta name="src" content="interlocking.tex">
|
||
|
<link rel="stylesheet" type="text/css" href="interlocking.css">
|
||
|
</head><body
|
||
|
>
|
||
|
<!--l. 18--><p class="noindent" >
|
||
|
|
||
|
|
||
|
<!--l. 18--><p class="noindent" ><span
|
||
|
class="ecsx-1728">Interlocking</span>
|
||
|
<span
|
||
|
class="ecsx-1728">System</span>
|
||
|
<span
|
||
|
class="ecsx-1728">Guide</span>
|
||
|
<div class="tabular"> <table id="TBL-1" class="tabular"
|
||
|
cellspacing="0" cellpadding="0"
|
||
|
><colgroup id="TBL-1-1g"><col
|
||
|
id="TBL-1-1"></colgroup><tr
|
||
|
style="vertical-align:baseline;" id="TBL-1-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-1-1"
|
||
|
class="td00"></td></tr></table>
|
||
|
</div>
|
||
|
<a
|
||
|
id="x1-2r1"></a>
|
||
|
<!--l. 20--><p class="noindent" ><span
|
||
|
class="ecsx-1200">1</span> <span
|
||
|
class="ecsx-1200">Introduction</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 22--><p class="noindent" >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
|
||
|
“railway interlocking” on the internet.
|
||
|
<!--l. 28--><p class="noindent" >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 “Proceed”. 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.
|
||
|
<!--l. 37--><p class="noindent" >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.
|
||
|
<!--l. 42--><p class="noindent" >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.
|
||
|
<!--l. 46--><p class="noindent" >If you are looking for a place to learn how real-world interlocking systems work, have a look at “SimSig”. 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.
|
||
|
<!--l. 52--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-3r2"></a>
|
||
|
<!--l. 52--><p class="noindent" ><span
|
||
|
class="ecsx-1200">2</span> <span
|
||
|
class="ecsx-1200">Setting</span>
|
||
|
<span
|
||
|
class="ecsx-1200">up</span>
|
||
|
<span
|
||
|
class="ecsx-1200">track</span>
|
||
|
<span
|
||
|
class="ecsx-1200">sections</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 54--><p class="noindent" >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.
|
||
|
<!--l. 59--><p class="noindent" >A track section often covers:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">A section on a main running line, between two signals
|
||
|
</li>
|
||
|
<li class="itemize">A single turnout
|
||
|
</li>
|
||
|
<li class="itemize">A rail crossing, or a set of turnouts acting as a double/single slip switch
|
||
|
</li>
|
||
|
<li class="itemize">A siding</li></ul>
|
||
|
<!--l. 67--><p class="noindent" >You will find some examples on how to interlock certain patterns later.
|
||
|
<!--l. 69--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-4r1"></a>
|
||
|
<!--l. 69--><p class="noindent" ><span
|
||
|
class="ecsx-1200">2.1</span> <span
|
||
|
class="ecsx-1200">Track</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Circuit</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Breaks</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 71--><p class="noindent" >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.
|
||
|
<!--l. 75--><p class="noindent" >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.
|
||
|
<!--l. 79--><p class="noindent" >Setting up a TCB works as follows:
|
||
|
<ol class="enumerate1" >
|
||
|
<li
|
||
|
class="enumerate" id="x1-6x1">Place a TCB node somewhere near the place where the circuit break is going to be located.
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-8x2">Right-click the TCB node
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-10x3">Punch the rail which should act as TCB</li></ol>
|
||
|
<!--l. 86--><p class="noindent" >The result should look like this:
|
||
|
<!--l. 88--><p class="noindent" ><img
|
||
|
src="0_home_moritz_Home_Projekte_Minetest_minetest_m___s_assets_lyx_img_screenshot_20180830_142551.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 90--><p class="noindent" >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:
|
||
|
<!--l. 93--><p class="noindent" ><img
|
||
|
src="1_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-26-35.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 95--><p class="noindent" >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 “End of
|
||
|
interlocking”. This means that there is no track section set up at this place.
|
||
|
<!--l. 101--><p class="noindent" >You should repeat this procedure once again a few meters away from the first TCB to create a second TCB on the same
|
||
|
track.
|
||
|
<!--l. 104--><p class="noindent" ><img
|
||
|
src="2_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-32-48.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 106--><p class="noindent" >Once you have both bordering TCBs set up, you can now create the actual track section. To do this:
|
||
|
<ol class="enumerate1" >
|
||
|
<li
|
||
|
class="enumerate" id="x1-12x1">Right-click one of the TCBs
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-14x2">Locate the correct side (A or B) to create the track section
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-16x3">Click “Create interlocked Track Section” in the formspec on the chosen side.</li></ol>
|
||
|
<!--l. 114--><p class="noindent" >Now, the text on the formspec has changed. It shows something like this:
|
||
|
<!--l. 117--><p class="noindent" ><img
|
||
|
src="3_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-27-25.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 119--><p class="noindent" >Clicking “Show Track Section” brings up another formspec:
|
||
|
<!--l. 121--><p class="noindent" ><img
|
||
|
src="4_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-28-32.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 123--><p class="noindent" >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 <a
|
||
|
href="#x1-17r2">2.2<!--tex4ht:ref: subsec:Long-track-sections, --></a>. You should now select a name for the track section, to identify it later.
|
||
|
<!--l. 128--><p class="noindent" >The same procedure is applicable when you create a turnout track section, except that you have to set up three or more
|
||
|
TCBs.
|
||
|
<!--l. 131--><p class="noindent" >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.
|
||
|
<!--l. 142--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-17r2"></a>
|
||
|
<!--l. 142--><p class="noindent" ><span
|
||
|
class="ecsx-1200">2.2</span> <span
|
||
|
class="ecsx-1200">Long</span>
|
||
|
<span
|
||
|
class="ecsx-1200">track</span>
|
||
|
<span
|
||
|
class="ecsx-1200">sections,</span>
|
||
|
<span
|
||
|
class="ecsx-1200">crossings</span>
|
||
|
<span
|
||
|
class="ecsx-1200">and</span>
|
||
|
<span
|
||
|
class="ecsx-1200">other</span>
|
||
|
<span
|
||
|
class="ecsx-1200">edge</span>
|
||
|
<span
|
||
|
class="ecsx-1200">cases</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 144--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-18r1"></a>
|
||
|
<!--l. 144--><p class="noindent" ><span
|
||
|
class="ecsx-1000">2.2.1</span> <span
|
||
|
class="ecsx-1000">Very</span>
|
||
|
<span
|
||
|
class="ecsx-1000">long</span>
|
||
|
<span
|
||
|
class="ecsx-1000">track</span>
|
||
|
<span
|
||
|
class="ecsx-1000">sections</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 146--><p class="noindent" >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:
|
||
|
<ol class="enumerate1" >
|
||
|
<li
|
||
|
class="enumerate" id="x1-20x1">Go to the second TCB (the one that wasn’t recognized). It should show “End of Interlocking” on the relevant side.
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-22x2">Click “Create interlocked track section”. The section created will be different from the one that is already present.
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-24x3">In the track section overview, click “Join into other section”
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-26x4">Go back to the first TCB, bring up the Track Section overview screen of the first track section and click “Join with ???”</li></ol>
|
||
|
<!--l. 160--><p class="noindent" >The other, missing TCB should now appear in the list. If you accidentally started such a joining procedure, click the “X” button on the
|
||
|
right.
|
||
|
<!--l. 164--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-27r2"></a>
|
||
|
<!--l. 164--><p class="noindent" ><span
|
||
|
class="ecsx-1000">2.2.2</span> <span
|
||
|
class="ecsx-1000">Rail</span>
|
||
|
<span
|
||
|
class="ecsx-1000">crosses</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 166--><p class="noindent" >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.
|
||
|
<!--l. 170--><p class="noindent" >Rail crossings in interlocking systems are always one single track section, which in most cases has 4 TCBs adjacent.
|
||
|
<!--l. 173--><p class="noindent" ><img
|
||
|
src="5_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-51-25.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 175--><p class="noindent" >The procedure is quite similar to the one for long sections: First, create two track sections for the branches, and then use the “Join”
|
||
|
function to merge both sections into one.
|
||
|
<!--l. 179--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-28r3"></a>
|
||
|
<!--l. 179--><p class="noindent" ><span
|
||
|
class="ecsx-1000">2.2.3</span> <span
|
||
|
class="ecsx-1000">Deleting</span>
|
||
|
<span
|
||
|
class="ecsx-1000">and</span>
|
||
|
<span
|
||
|
class="ecsx-1000">re-adding</span>
|
||
|
<span
|
||
|
class="ecsx-1000">single</span>
|
||
|
<span
|
||
|
class="ecsx-1000">TCBs</span>
|
||
|
<span
|
||
|
class="ecsx-1000">to</span>
|
||
|
<span
|
||
|
class="ecsx-1000">a</span>
|
||
|
<span
|
||
|
class="ecsx-1000">section</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 181--><p class="noindent" >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:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">In the TCB form, click the “Remove from section” button
|
||
|
</li>
|
||
|
<li class="itemize">In the track section form, first select the TCB in the list and then click “Unlink selected TCB”</li></ul>
|
||
|
<!--l. 189--><p class="noindent" >The result is that the TCB shows “End of Interlocking” and the section does not list the TCB as an endpoint anymore.
|
||
|
<!--l. 192--><p class="noindent" >The other case is adding a siding or a crossover, in which case one or more TCBs still show “End of Interlocking” although they should be
|
||
|
part of a section:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">Go to another TCB that is registered in the track section and click “Update near TCBs”
|
||
|
</li>
|
||
|
<li class="itemize">If that did not work, follow the procedure of creating a long track section</li></ul>
|
||
|
<!--l. 202--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-29r4"></a>
|
||
|
<!--l. 202--><p class="noindent" ><span
|
||
|
class="ecsx-1000">2.2.4</span> <span
|
||
|
class="ecsx-1000">Dissolving</span>
|
||
|
<span
|
||
|
class="ecsx-1000">sections</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 204--><p class="noindent" >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 “Dissolve section” button. This operation removes the track section and sets all TCBs that previously
|
||
|
belonged to the section as “End of Interlocking”. This will always work and lets you start over new with setting up track
|
||
|
sections.
|
||
|
<!--l. 211--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-30r3"></a>
|
||
|
<!--l. 211--><p class="noindent" ><span
|
||
|
class="ecsx-1200">2.3</span> <span
|
||
|
class="ecsx-1200">Interlocking</span>
|
||
|
<span
|
||
|
class="ecsx-1200">patterns</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 213--><p class="noindent" >Have a look at the following images. They show you how you can set up sections so that reasonable train moves are
|
||
|
possible.
|
||
|
<!--l. 216--><p class="noindent" >You should settle on a naming scheme for your sections. This way, you can determine the source of an issue faster
|
||
|
<!--l. 219--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-31r3"></a>
|
||
|
<!--l. 219--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3</span> <span
|
||
|
class="ecsx-1200">Signals</span>
|
||
|
<span
|
||
|
class="ecsx-1200">and</span>
|
||
|
<span
|
||
|
class="ecsx-1200">routes</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 221--><p class="noindent" >Signals are appliances that can give instructions to trains. That can be the permission to proceed, a speed restriction, or other
|
||
|
information.
|
||
|
<!--l. 224--><p class="noindent" >There are 2 types of signals:
|
||
|
<ul class="itemize1">
|
||
|
<li class="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.
|
||
|
</li>
|
||
|
<li class="itemize">Dynamic signals are what most people would call a “signal”. Its function is to inform trains about whether and at which
|
||
|
speed they can proceed into the next section safely.</li></ul>
|
||
|
<!--l. 234--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-32r1"></a>
|
||
|
<!--l. 234--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.1</span> <span
|
||
|
class="ecsx-1200">Signal</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Influence</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Point</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 236--><p class="noindent" >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.
|
||
|
<!--l. 242--><p class="noindent" >This is the reason why a so-called “influence point” 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.
|
||
|
<!--l. 247--><p class="noindent" >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:
|
||
|
<ul class="itemize1">
|
||
|
<li class="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 “Use” key and then right-clicking the signal
|
||
|
</li>
|
||
|
<li class="itemize">All signals that are assigned to a TCB can be configured by first right-clicking them, then selecting “Influence Point” in
|
||
|
the signalling formspec.</li></ul>
|
||
|
<!--l. 258--><p class="noindent" >The small formspec that opens allows you to set and later view or clear the Influence Point. To set the influence point, click the “Set”
|
||
|
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)
|
||
|
<!--l. 266--><p class="noindent" >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.
|
||
|
<!--l. 270--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-33r2"></a>
|
||
|
<!--l. 270--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.2</span> <span
|
||
|
class="ecsx-1200">Signal</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Aspects</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 272--><p class="noindent" >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.
|
||
|
<!--l. 277--><p class="noindent" >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.
|
||
|
<!--l. 281--><p class="noindent" >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 “Proceed at speed of 8” or “Shunt moves may not pass”. Dynamic signals, however, can display multiple different
|
||
|
aspects. The default for them is always as restrictive as possible, mostly “Halt!”.
|
||
|
<!--l. 288--><p class="noindent" >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.
|
||
|
<!--l. 292--><p class="noindent" >In the following sections, we will talk about main signals. By this, we mean a variable signal that can display both a “Danger” aspect
|
||
|
(trains are not allowed to proceed) and at least one “Proceed” aspect (train may proceed as train/shunt move, with optional speed
|
||
|
restriction), which act as an “entry signal” for one or multiple routes.
|
||
|
<!--l. 299--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-34r3"></a>
|
||
|
<!--l. 299--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.3</span> <span
|
||
|
class="ecsx-1200">Train</span>
|
||
|
<span
|
||
|
class="ecsx-1200">moves</span>
|
||
|
<span
|
||
|
class="ecsx-1200">and</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Shunt</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Moves</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">A “Train move” 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.
|
||
|
</li>
|
||
|
<li class="itemize">A “Shunt move” 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)</li></ul>
|
||
|
<!--l. 314--><p class="noindent" >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.
|
||
|
<!--l. 320--><p class="noindent" >When a train reverses, its mode automatically changes to “shunt move” until it passes a main signal that shows “Proceed as
|
||
|
train move”, which is usually designated by a green light. From this point on, it can accelerate to maximum permitted
|
||
|
speed.
|
||
|
<!--l. 325--><p class="noindent" >Some main signals, like the ones from the Ks signals mod included by default, can also display “Proceed as shunt move”, which is
|
||
|
designated by 2 white lights along with the red light. Once a train passes this signal, it becomes a shunt move.
|
||
|
<!--l. 330--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-35r4"></a>
|
||
|
<!--l. 330--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.4</span> <span
|
||
|
class="ecsx-1200">The</span>
|
||
|
<span
|
||
|
class="ecsx-1200">concept</span>
|
||
|
<span
|
||
|
class="ecsx-1200">of</span>
|
||
|
<span
|
||
|
class="ecsx-1200">routes</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 332--><p class="noindent" >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 “entry” signal.
|
||
|
<!--l. 339--><p class="noindent" >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.
|
||
|
<!--l. 344--><p class="noindent" ><img
|
||
|
src="6_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex1.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 346--><p class="noindent" >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
|
||
|
<span
|
||
|
class="ecbx-1000">same direction </span>(D and E), not at an opposite-facing signal (B and C). There are only few exceptions, we’ll cover this
|
||
|
later.
|
||
|
<!--l. 351--><p class="noindent" >When you set a route to make a train proceed on it, the interlocking system ensures that:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">There are no rail vehicles on the route
|
||
|
</li>
|
||
|
<li class="itemize">All turnouts are set to the correct position and it is impossible to move them
|
||
|
</li>
|
||
|
<li class="itemize">No other routes can be set that would in any way conflict with this route</li></ul>
|
||
|
<!--l. 360--><p class="noindent" >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.
|
||
|
<!--l. 366--><p class="noindent" >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 “away” from the route. Example:
|
||
|
<!--l. 370--><p class="noindent" ><img
|
||
|
src="7_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex2.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 372--><p class="noindent" >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.
|
||
|
<!--l. 379--><p class="noindent" >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.
|
||
|
<!--l. 383--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-36r5"></a>
|
||
|
<!--l. 383--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.5</span> <span
|
||
|
class="ecsx-1200">Assigning</span>
|
||
|
<span
|
||
|
class="ecsx-1200">main</span>
|
||
|
<span
|
||
|
class="ecsx-1200">signals</span>
|
||
|
<span
|
||
|
class="ecsx-1200">to</span>
|
||
|
<span
|
||
|
class="ecsx-1200">TCBs</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 385--><p class="noindent" >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.
|
||
|
<!--l. 390--><p class="noindent" >To do this, perform the following steps:
|
||
|
<ol class="enumerate1" >
|
||
|
<li
|
||
|
class="enumerate" id="x1-38x1">If not already happened, set up a TCB (you don’t need to, but are advised to, configure track sections there)
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-40x2">Place the signal a few meters in front of the TCB, so that trains stopping at the signal do never pass the TCB
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-42x3">Locate the side of the TCB which points in the direction that trains will proceed past the signal, as shown in the figure
|
||
|
below.
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-44x4">Right-click the TCB, and click “Assign a signal” on this side.
|
||
|
</li>
|
||
|
<li
|
||
|
class="enumerate" id="x1-46x5">Punch the signal.</li></ol>
|
||
|
<!--l. 401--><p class="noindent" ><img
|
||
|
src="8_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_assign_signal.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 403--><p class="noindent" >If you haven’t set an influence point for the signal yet, the influence point formspec automatically opens.
|
||
|
<!--l. 406--><p class="noindent" >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.
|
||
|
<!--l. 410--><p class="noindent" >Only main signals can ever be assigned to TCBs, because static ones can either not display “Danger” or do not permit to proceed at
|
||
|
all.
|
||
|
<!--l. 414--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-47r6"></a>
|
||
|
<!--l. 414--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.6</span> <span
|
||
|
class="ecsx-1200">Shunt</span>
|
||
|
<span
|
||
|
class="ecsx-1200">routes</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 417--><p class="noindent" ><span
|
||
|
class="ecbx-1000">The information in this section is subject to future change because of safety issues!</span>
|
||
|
<!--l. 419--><p class="noindent" >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.
|
||
|
<!--l. 423--><p class="noindent" >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.
|
||
|
<!--l. 428--><p class="noindent" >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:
|
||
|
<!--l. 432--><p class="noindent" ><img
|
||
|
src="9_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex3.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 434--><p class="noindent" >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.
|
||
|
<!--l. 438--><p class="noindent" >Shunt routes like this are, so far, the only exception to the “Routes should end at a signal facing the same direction”
|
||
|
rule.
|
||
|
<!--l. 441--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-48r7"></a>
|
||
|
<!--l. 441--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.7</span> <span
|
||
|
class="ecsx-1200">Route</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Release</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 443--><p class="noindent" >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.
|
||
|
<!--l. 450--><p class="noindent" >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.
|
||
|
<!--l. 454--><p class="noindent" >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!)
|
||
|
<!--l. 461--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-49r8"></a>
|
||
|
<!--l. 461--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.8</span> <span
|
||
|
class="ecsx-1200">Programming</span>
|
||
|
<span
|
||
|
class="ecsx-1200">a</span>
|
||
|
<span
|
||
|
class="ecsx-1200">route</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 463--><p class="noindent" >The route programming procedure is quite straightforward if you’ve read the previous sections and understood how routes should be
|
||
|
set.
|
||
|
<!--l. 466--><p class="noindent" >Routes always start at a main signal. You must have assigned the signal to a TCB, as described earlier.
|
||
|
<!--l. 469--><p class="noindent" >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 “Create new route” button to start programming a new
|
||
|
route.
|
||
|
<!--l. 474--><p class="noindent" >The form closes, and an arrow is displayed on the TCB. You are now in “Route Programming” mode, programming the first track section
|
||
|
of the route. Now:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">Put any turnouts you need to lock in the correct position (e.g. by right-clicking them). This includes flank protection.
|
||
|
</li>
|
||
|
<li class="itemize">Punch them. This makes a marker with a blue lock symbol appear.
|
||
|
</li>
|
||
|
<li class="itemize">If you punch a turnout again, or punch the marker, you can remove the lock again.
|
||
|
</li>
|
||
|
<li class="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.</li></ul>
|
||
|
<!--l. 487--><p class="noindent" >Depending on the situation, you are now offered some possibilities to proceed:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">Click the “Advance to next section” 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.</li></ul>
|
||
|
<!--l. 494--><p class="noindent" >Once you’ve clicked the “Advance” 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:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">Click the “Finish route HERE” 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.
|
||
|
</li>
|
||
|
<li class="itemize">The “Finish route at end of NEXT section” button (third button) is an useful quickhand to make the route proceed one
|
||
|
more section. Using this button is equivalent to first clicking the “Advance” 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.</li></ul>
|
||
|
<!--l. 510--><p class="noindent" >A few hints:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">If you accidentally advanced the route wrongly, you can use the “Step back one section” button to undo this.
|
||
|
</li>
|
||
|
<li class="itemize">If you want to stop programming the entire route without saving it, use the “Cancel route programming” button.
|
||
|
</li>
|
||
|
<li class="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).
|
||
|
</li>
|
||
|
<li class="itemize">If a route should end in a dead end, you MUST use the “Finish in NEXT section” button, because there is no final TCB
|
||
|
that you could punch.
|
||
|
</li>
|
||
|
<li class="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.</li></ul>
|
||
|
<!--l. 527--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-50r9"></a>
|
||
|
<!--l. 527--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.9</span> <span
|
||
|
class="ecsx-1200">Route</span>
|
||
|
<span
|
||
|
class="ecsx-1200">information</span>
|
||
|
<span
|
||
|
class="ecsx-1200">screen</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 529--><p class="noindent" ><img
|
||
|
src="10_home_moritz_Home_Projekte_Minetest_minetest_____lyx_img_Bildschirmfoto_2019-01-15_19-28-09.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 531--><p class="noindent" >This is the screen that appears when you click “Edit Route”. It lets you change the route name and delete the route. Also, it shows a
|
||
|
summary of the route and its elements.
|
||
|
<!--l. 535--><p class="noindent" >The route summary lists information per track section on the route, so the line starting with “1” is the first section of the
|
||
|
route.
|
||
|
<!--l. 538--><p class="noindent" >The ARS rule list and its purpose is explained later.
|
||
|
<!--l. 540--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-51r10"></a>
|
||
|
<!--l. 540--><p class="noindent" ><span
|
||
|
class="ecsx-1200">3.10</span> <span
|
||
|
class="ecsx-1200">Specifying</span>
|
||
|
<span
|
||
|
class="ecsx-1200">signal</span>
|
||
|
<span
|
||
|
class="ecsx-1200">aspects</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 542--><p class="noindent" >By default, newly programmed routes show an aspect that comes closest to “Proceed at maximum speed”. 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 “Shunting allowed” should be shown.
|
||
|
<!--l. 548--><p class="noindent" >This is the purpose of the “Change Aspect” button in the route info screen.
|
||
|
<!--l. 551--><p class="noindent" >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).
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">Train may proceed as train move at maximum speed: “main: free, speed -1”
|
||
|
</li>
|
||
|
<li class="itemize">Train may proceed as train move at speed of 8: “main: free, speed 8”
|
||
|
</li>
|
||
|
<li class="itemize">Train may proceed as shunt move: “shunt: free”</li></ul>
|
||
|
<!--l. 562--><p class="noindent" >There’s a field in the “shunt” 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.
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">A train move can always become a shunt move by passing a signal that shows “Halt for train moves, shunting permitted”
|
||
|
</li>
|
||
|
<li class="itemize">A shunt move can only pass a signal saying “Proceed as train move, shunting not permitted” when proceed_as_main is
|
||
|
true.</li></ul>
|
||
|
<!--l. 571--><p class="noindent" >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 “Proceed”. Regular main signals that show “green” have the field set to true, so that all trains can pass
|
||
|
it.
|
||
|
<!--l. 577--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-52r4"></a>
|
||
|
<!--l. 577--><p class="noindent" ><span
|
||
|
class="ecsx-1200">4</span> <span
|
||
|
class="ecsx-1200">Interlocking</span>
|
||
|
<span
|
||
|
class="ecsx-1200">system</span>
|
||
|
<span
|
||
|
class="ecsx-1200">operation</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 579--><p class="noindent" >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.
|
||
|
<!--l. 584--><p class="noindent" >At the moment, routes can either be set by clicking the signal or via LuaATC, or by using the “Remote Routesetting”
|
||
|
button from the Onboard Computer. It is planned to control this via a “signal box” view based on the currently broken
|
||
|
itrainmap.
|
||
|
<!--l. 589--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-53r1"></a>
|
||
|
<!--l. 589--><p class="noindent" ><span
|
||
|
class="ecsx-1200">4.1</span> <span
|
||
|
class="ecsx-1200">Train</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Safety</span>
|
||
|
<span
|
||
|
class="ecsx-1200">System</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 591--><p class="noindent" >The Train Safety System, called “LZB” 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.
|
||
|
<!--l. 597--><p class="noindent" >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 (“BB”) and can not be moved any further. You should then examine the situation and drive the train backwards out of
|
||
|
the section.
|
||
|
<!--l. 605--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-54r2"></a>
|
||
|
<!--l. 605--><p class="noindent" ><span
|
||
|
class="ecsx-1200">4.2</span> <span
|
||
|
class="ecsx-1200">Simple</span>
|
||
|
<span
|
||
|
class="ecsx-1200">route</span>
|
||
|
<span
|
||
|
class="ecsx-1200">setting</span>
|
||
|
<span
|
||
|
class="ecsx-1200">and</span>
|
||
|
<span
|
||
|
class="ecsx-1200">cancelling</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 607--><p class="noindent" >To set a route, simply right-click the signal, select a route and click “set route”. If there are no conflicts, the signal turns green and the
|
||
|
train is allowed to proceed.
|
||
|
<!--l. 611--><p class="noindent" >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.
|
||
|
<!--l. 618--><p class="noindent" >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.
|
||
|
<!--l. 624--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-55r3"></a>
|
||
|
<!--l. 624--><p class="noindent" ><span
|
||
|
class="ecsx-1200">4.3</span> <span
|
||
|
class="ecsx-1200">Automatic</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Working</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 626--><p class="noindent" >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.
|
||
|
<!--l. 632--><p class="noindent" >This is what Automatic Working is for. Set a route, click “Enable Automatic Working”, and as soon as a train passes, the route is
|
||
|
automatically re-set.
|
||
|
<!--l. 636--><p class="noindent" >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-frequented 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.
|
||
|
<!--l. 641--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-56r4"></a>
|
||
|
<!--l. 641--><p class="noindent" ><span
|
||
|
class="ecsx-1200">4.4</span> <span
|
||
|
class="ecsx-1200">Automatic</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Route</span>
|
||
|
<span
|
||
|
class="ecsx-1200">Setting</span>
|
||
|
<span
|
||
|
class="ecsx-1200">(ARS)</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 643--><p class="noindent" >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-programmed 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.
|
||
|
<!--l. 650--><p class="noindent" >Every train in Advtrains has 2 internal properties that can be set through the Onboard Computer of every engine in the train, the “Line”
|
||
|
and the “Routing Code”
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">The “Line” property is supposed to distinguish trains of multiple lines that share a track.
|
||
|
</li>
|
||
|
<li class="itemize">The “Routing Code” property is supposed to tell the target of a train or which route it should take to reach the target</li></ul>
|
||
|
<!--l. 659--><p class="noindent" >Examples:
|
||
|
<!--l. 661--><p class="noindent" ><img
|
||
|
src="11_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex1.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 663--><p class="noindent" >Both lines share the section between Blackbirdshire and Parktown. To divert them again, they can save their line number in the “Line”
|
||
|
field.
|
||
|
<!--l. 667--><p class="noindent" ><img
|
||
|
src="12_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex2.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 669--><p class="noindent" >Some trains should go to B, some to C, the direction can be set with a routing code.
|
||
|
<!--l. 672--><p class="noindent" >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, “Stn Ori” would be matched by ARS rules either containing “Stn” or “Ori”. This does not work for
|
||
|
lines.
|
||
|
<!--l. 677--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-57r1"></a>
|
||
|
<!--l. 677--><p class="noindent" ><span
|
||
|
class="ecsx-1000">4.4.1</span> <span
|
||
|
class="ecsx-1000">Writing</span>
|
||
|
<span
|
||
|
class="ecsx-1000">ARS</span>
|
||
|
<span
|
||
|
class="ecsx-1000">Rules</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 679--><p class="noindent" >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.
|
||
|
<!--l. 685--><p class="noindent" ><img
|
||
|
src="13_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_ars_ex1.png" alt="PIC"
|
||
|
>
|
||
|
<!--l. 687--><p class="noindent" >You can add an asterisk (“*”) to the ARS rules of one route. That route then becomes the default route.
|
||
|
<!--l. 690--><p class="noindent" >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.
|
||
|
<!--l. 694--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-58r2"></a>
|
||
|
<!--l. 694--><p class="noindent" ><span
|
||
|
class="ecsx-1000">4.4.2</span> <span
|
||
|
class="ecsx-1000">Using</span>
|
||
|
<span
|
||
|
class="ecsx-1000">ARS</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 696--><p class="noindent" >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.
|
||
|
<!--l. 700--><p class="noindent" >At any place where one of the following things take place, you should use the ARS system in favor of Automatic Working:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">A main line diverts into 2 or more lines: Using ARS, you can direct the trains along the line where they should go
|
||
|
</li>
|
||
|
<li class="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 “wins”. In a bad situation, you have a train coming from A, but it cannot
|
||
|
proceed because Signal B has won the “route race” into the shared section, even if there’s no train coming from B. Using
|
||
|
ARS, by just specifying the “default route” by a *, the inward route is only set when a train approaches.
|
||
|
</li>
|
||
|
<li class="itemize">Complex intersections, which are probably a combination of the above two
|
||
|
</li>
|
||
|
<li class="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.</li></ul>
|
||
|
<!--l. 718--><p class="noindent" >In the route overview, you can see some information on the ARS settings: All routes that have ARS rules are highlighted red, the “default
|
||
|
route” is highlighted green.
|
||
|
<!--l. 722--><p class="noindent" >ARS does not affect signals which already have a route set, and signals which are operating under “Automatic Working”.
|
||
|
<!--l. 725--><p class="noindent" >
|
||
|
<a
|
||
|
id="x1-59r5"></a>
|
||
|
<!--l. 725--><p class="noindent" ><span
|
||
|
class="ecsx-1200">5</span> <span
|
||
|
class="ecsx-1200">Final</span>
|
||
|
<span
|
||
|
class="ecsx-1200">notes</span>
|
||
|
<a
|
||
|
id="Q1-1-0"></a>
|
||
|
<!--l. 727--><p class="noindent" >The interlocking system is mainly finished, though there are still some plans and ideas. They include:
|
||
|
<ul class="itemize1">
|
||
|
<li class="itemize">Signalbox panels, as revival of itrainmap
|
||
|
</li>
|
||
|
<li class="itemize">Distant signals
|
||
|
</li>
|
||
|
<li class="itemize">On-Train head-up display for oncoming signals (they have something like this in Czech Republic, I forgot how it’s called.)</li></ul>
|
||
|
<!--l. 735--><p class="noindent" >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.
|
||
|
<!--l. 739--><p class="noindent" >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!
|
||
|
<!--l. 744--><p class="noindent" >- orwell
|
||
|
</body></html>
|
||
|
|
||
|
|
||
|
|