Files
JIMRI/help/en/html/tools/signaling/interlock/index.shtml
T
2026-06-17 14:00:51 +02:00

260 lines
12 KiB
Plaintext

<!DOCTYPE html>
<html lang="en">
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Apple macOS version 5.8.0">
<!-- Copyright Kevin Dickerson 2011 -->
<title>JMRI: Interlocking</title>
<meta name="author" content="Kevin Dickerson"><!--#include virtual="/help/en/parts/Style.shtml" -->
</head>
<body>
<!--#include virtual="/help/en/parts/Header.shtml" -->
<div id="mBody">
<!--#include virtual="../Sidebar.shtml" -->
<div id="mainContent">
<h1>Entry Exit and Interlocking</h1>
<span class="since">since 2.99.4</span>
<p>This brief tutorial is designed to explain how the Entry Exit and Interlocking is set up
and works within JMRI. It is based upon the Signal Mast Logic <a href=
"https://www.jmri.org/community/clinics/UK2011/">clinic</a> held in the UK and follows on from
that.</p>
<p>The panel file for this tutorial was taken from the "Logix and Feathers" section of the
Signal Mast tutorial. The only difference is that the Signal Mast Logic has been removed from
all the Signal Masts apart from the "up outer mast" and the "down platform mast" as these are
used to represent signals in automatically controlled areas.</p>
<p>In addition the file has been modified to use Internal Sensors and Turnouts only, thus
allowing it to be opened with any system connection configured in the JMRI Preferences.</p>
<p>As a prerequisite the <a href="https://www.jmri.org/community/clinics/UK2011/">clinic</a>
on Signal Mast Logic should be followed before attempting this one as it provides the
foundation on how to build your panel ready for use with the Signal Mast Logic and also
Interlocking.</p>
<p>The track plan for this is the same as in the Signal Mast Logic clinic and could be
considered a typical scenario where the Down Approach, Up Platform and Bay Signals would be
under the control of the SignalMan, while the Up Outer and Down Platform would be
automatically controlled.</p>
<p><img src="images/interlocklayoutoverview.png" width="830" height="278" alt=
"layout overview">
</p>
<p>The panel file for this tutorial can be found <a href=
"Interlock%20Demo%201.xml">here</a></p>
<p>The NX buttons all work in pairs and must be selected in the correct order. Also it is not
possible to leap-frog an NX button to set a Route between two non-adjacent buttons. I.e. if
you have buttons A-B-C it is not possible to set a route from A to C, the order of selection
must be A-B B-C.</p>
<h2>Setting up the layout editor</h2>
<p>In the Signal Mast Logic tutorial, each block was configured with a different color to
show Occupied and Unoccupied states (<a href=
"https://www.jmri.org/community/clinics/UK2011/layout_editor.shtml">Building a Layout</a>). In
addition it is possible to assign an alternative color to each Block on the panel. When using
Full Interlocking, this alternative color is used to highlight routes that have been set.
When a Block is using the alternative color it also prevents another route from being set
using that Block.</p>
<p>The eNtry eXit (NX) utilises Sensors for each NX location, typically associated with a
signal or an End Bumper/Buffer Stop. These Sensors would act in the same way as a button on a
physical panel, setting the button active to start the selection with the setting Active of a
second Sensor completing the route or path selection. If a matching Sensor is not activated
within 10 seconds then the initial Sensor will be reset back to Inactive.</p>
<p>A sensor needs to be configured for each NX location. As a suggestion to help keep track
of things, prefix the User Name with "NX" followed by the associated signal. So for example
if the NX Sensor will be associated with the "Down Appr" signal, then make the Sensor User
Name "NX Down Appr".</p>
<p>Once the Sensors have been created they can be associated and positioned with locations on
the Layout Editor Panel, in the same way that the Signal Masts were done in part 6 of the
Signal Mast Logic clinic. Bring up the context menu (right click) on the Block boundary and
select "Set Sensors" from the list.</p>
<p><img src="images/assignsensors.png" width="331" height="539" alt="assign sensors">
</p>
<p>Remember that the Block which the Sensor is assigned to will determine the direction of
travel; if the Sensor is assigned to the incorrect Block then it will not get picked up and
the interlocks will not work.<br>
The panel file with the Sensors already assigned can be found <a href=
"Interlock%20Demo%202.xml">here</a></p>
<h2>Creating the NX Rules</h2>
<p>Open up the Entry Exit window, which can be found in the Tools menu of the Layout Editor.
This will bring up a window like the following:</p>
<p><img src="images/emptyentryexitwindow.png" width="790" height="244" alt=
"entry exit window">
</p>
<p>This window allows you to see which NX pairs have been created and the state of each pair.
From this window we can get the system to automatically generate the pairs or we can manually
define them.</p>
<ol>
<li>Select the Layout Editor panel file that you wish to create the NX on.</li>
<li>If you are going to create the pair manually, select the Entry and Exit Points from the
respective drop down lists, or leave them as is.</li>
<li>Select the type of interlocking that we are going to use.</li>
<li style="list-style: none">
<ul>
<li><strong>Set Turnout Only</strong> - This will only set the turnouts to the correct
state between the NX sensors.</li>
<li><strong>Set Turnouts and Signal Masts</strong> - This will do as above, but also
generate the Signal Mast Logic at the same time.</li>
<li><strong>Full Interlock</strong> - This will do all of the above and also lock the
path and prevent another clashing one from being selected.</li>
</ul>
</li>
</ol>
<h2>Set Turnout Only</h2>
<p>If to start with you select "Set Turnout Only" and press "Auto generate Entry Exit Pairs",
it will end up generating a list with four pairs like in the following illustration:</p>
<p><img src="images/populatedentryexitwindow.png" width="790" height="315" alt=
"use turnout option">
</p>
<p>The four paths generated are all valid NX pairs based upon the direction of travel. For
the NX to be set you must first select the Entry sensor, followed by the Exit sensor. If they
are selected in the reverse order the path will not be set.</p>
<p>You can see that if you were to set a Route from the "down appr" to the bay buffer stop,
the Turnouts get automatically set. The Sensors will also flash while the Route is being set
up:</p>
<p><img src="images/interlockturnout.png" width="498" height="229" alt="set turnouts">
</p>
<p>If you then set a Route from the "Bay Mast" to the "Up Appr", again the Turnouts will
automatically be set:</p>
<p><img src="images/interlockturnout2.png" width="498" height="229" alt="set route">
</p>
<p>With the <strong>Turnout Only</strong> interlock type, as no further logic or interlocking
is done, it is possible to allow the interlock to be set up no matter which way round the NX
buttons are selected. This can be done by selecting the "Both Way" flag in the table against
an entry. You can then set the path in reverse, eg "NX Up Outer" to "NX Bay Mast".</p>
<p>In addition to this, with a "Turnout Only" set you can also create NX pairs that go
against the normal direction of travel, for example from "Bay Mast" to "Down Appr"</p>
<h2>Turnouts and Signal Masts</h2>
<p>If "Set Turnouts and Signal Masts" is selected and then the "Auto Generate" button is
pressed, the same four interlocks will be generate, with the NX type set to "Signal
Mast".</p>
<p>This time when you set the Route between two NX sensors, it will set the Turnouts and if
Signal Masts are placed at the same location it also configures the logic from the Signal
Mast at the source.</p>
<p><img src="images/interlocksigmast.png" width="498" height="229" alt="add signal masts">
</p>
<p>The Signal Mast Logic will appear in the Signal Mast Logic Table. This logic is not saved
when the panel file is saved.</p>
<p>If you set a Route from "Down Appr" into the bay buffer stop, you will see that the
Turnouts get set and the Signal changes to the correct Aspect. If you then change the state
of the Turnout or Block on the path, you will see that the source Signal Mast will change
Aspect appropriately.</p>
<h2>Full Interlock</h2>
<p>If "Full Interlock" is selected and then the "Auto Generate" button is pressed, again you
would end up with the four interlocks as before.</p>
<h3>With Signalmasts</h3>
<p>When a full interlock is configured and there are Signal Masts placed at the NX locations,
Interlocking will place the Signal Mast at the source location into a Held state until a path
has been set, which will in turn release the signal. This is working on the basis that these
signals are now under the control of a SignalMan who has to set the appropriate Route before
releasing the signal.</p>
<p><img src="images/interlockmasttable.png" width="650" height="347" alt="set masts held">
</p>
<p>The full interlock will also set the state of the layout Blocks to use the alternative
color, and the NX sensor buttons will remain in a solid active state.</p>
<p><img src="images/interlockfull.png" width="498" height="229" alt=
"show one signal not held">
</p>
<p>If you try and set a conflicting path, then an error message will be displayed and the
path will not be set.</p>
<p>As the Route gets cleared down by a train occupying the Blocks, so does the interlock.</p>
<p><img src="images/interlockfull2.png" width="498" height="229" alt="route occupied">
</p>
<p>If you re-select an active interlock, the NX sensors will start to flash, and you get the
option to either "Cancel" the route, "Clear Down" or "Exit".</p>
<p><img src="images/interlockcancelclear.png" width="318" height="116" alt="cancel route">
</p>
<ul>
<li>"Cancel" will de-activate the Route</li>
<li>"Clear Down" will manually simulate a train traveling over the blocks and move any
values assigned against the block to the end block.</li>
<li>"Exit" will just put this message on the screen and do nothing else.</li>
</ul>
<h3>Without Signal Masts</h3>
<p>If no Signal Masts are configured between the two points the interlock will work in very
much the same way as it would with Signal Masts, it just doesn't set up or release any
signals.</p>
<h2>Further Details</h2>
<p>With all the Entry Exit methods the system will try to set the route with the lowest cost.
Each layout Block has a cost assigned. It is the sum of all the block costs in a route that
determine the overall route cost. By default, a Main Track is assigned a value of 50, while a
side track has a value of 200. These values can be changed by the user, by editing the layout
Block. If the route with the lowest cost has either another entry/exit point in the same
direction, or a Block that is already set Occupied or Reserved, then it will try and find an
alternative route if one is available.</p>
<p><img src="images/editblock.png" width="368" height="579" alt="edit block">
</p>
<p>Uni-directional Blocks - It is possible to set the relationship between adjacent Blocks,
to prevent routes from being set up from one block to another or vice-versa. This is set when
editing the layout Block; you have the option for Both Way, to Only Send or Only Receive.</p>
<p>To view how a particular Block connects to other Blocks, with costs and valid Paths, right
click on a track segment or turnout circle and select "View Block Routing".</p>
<p><img src="images/blockrouting.png" width="542" height="460" alt="show block routing">
</p>
<!--#include virtual="/help/en/parts/Footer.shtml" -->
</div>
</div>
<!-- close #mBody -->
<script src="/js/help.js"></script>
</body>
</html>