290 lines
14 KiB
Plaintext
290 lines
14 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta name="generator" content="HTML Tidy for HTML5 for Apple macOS version 5.8.0">
|
|
<title>JMRI: Block Table Help</title>
|
|
<meta name="author" content="Bob Jacobsen">
|
|
<meta name="keywords" content="JMRI help Block Table"><!--#include virtual="/help/en/parts/Style.shtml" -->
|
|
</head>
|
|
<body>
|
|
<!--#include virtual="/help/en/parts/Header.shtml" -->
|
|
|
|
<div id="mBody">
|
|
<div id="mainContent" class="no-sidebar">
|
|
<h1>The Block Table</h1>
|
|
|
|
<p>Blocks may be set up manually in the Block Table, using a script, or automatically in a
|
|
Layout Editor Panel. When a Block is defined in a Layout Editor panel, a new Block is created
|
|
if one does not already exist.</p>
|
|
|
|
<h2 id="blockPaths">Blocks & Paths</h2>
|
|
|
|
<p>To complete the definition of a Block, Paths and Bean Settings must be attached to each
|
|
Block.</p>
|
|
|
|
<p><strong>Paths</strong> describe entry points to the Block. Each Block has one or more Paths
|
|
associated with it. Sometimes a Turnout must be set a certain way to use a Path; Bean
|
|
Settings carry that information. Paths and Bean Settings are set up automatically for Blocks
|
|
defined in a Layout Editor Panel. They can also be set up in a script. There is currently no
|
|
way to manually enter Paths or Bean Settings. Paths and Bean Settings are not shown in the
|
|
Block Table, and are mentioned here only for completeness.</p>
|
|
|
|
<p>For use in automatically running Trains, a Length attribute and a Curvature attribute may
|
|
optionally be assigned to a Block. These optional attributes are entered manually in this
|
|
Table. If Trains will not be run automatically through a Block, there is no need to add these
|
|
attributes.</p>
|
|
|
|
<h2>Columns in the Block Table</h2>
|
|
(You may change the order of the columns by dragging their titles, and sort the rows by
|
|
clicking one of the sort triangles next to a column title)
|
|
<ul>
|
|
<li>
|
|
<p><strong>System Name</strong> - The System Name of the Block. There is no functional
|
|
requirement for a type letter in the System Name of a Block, but by convention we use 'B'
|
|
for 'Block'. The default implementation is not system-specific, so a system letter of 'I'
|
|
is appropriate. This leads to system names like "IB201".</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>User Name</strong> - The User Name of the Block. The User Name of a Block
|
|
created here may be set to any text. Before renaming or deleting a block user name, a
|
|
check is made to see if the user name is used by a Layout Editor panel. If so, a warning
|
|
is displayed. For renames, if <strong>Yes</strong> is selected, the panel references will
|
|
also be renamed.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Value</strong> - This is the string value of whatever object the Block is
|
|
carrying. Usually, this will either be a message or a Throttle object. If you modify
|
|
this, it's stored in the Block as a string. There is currently no way to manually add a
|
|
Throttle object to a Block from the table. <a href=
|
|
"../../../../html/tools/tracker/index.shtml">More information on Block tracking</a></p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Comment</strong> - You may enter any text in this field that will help you
|
|
distinguish this Block from other Blocks, or provide useful notes about its use.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Delete</strong> - Click the <strong>Delete</strong> button in any row to
|
|
delete the Block in that row from the list of Blocks in the program. You must save your
|
|
configuration (and any Panels present) to disk to make the deletion permanent. Deletion
|
|
can not be undone. <strong>Caution: Make sure you remove all references to a Block before
|
|
deleting it. JMRI will show a warning if you haven't done so.</strong> Blocks are
|
|
referenced in the Paths of other Blocks, in some scripts, and in Layout Editor
|
|
Panels.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Direction</strong> - The current direction stored in the Block.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Length</strong> (optional) - Displays the length of the Block. Optionally, you
|
|
may enter the length of the Block here. The length is used for automatic running of
|
|
trains. If '0.0' is displayed, the length has not yet been entered. The entered length
|
|
should be the actual length of the Block on the model railroad layout. Length is entered
|
|
and displayed in either inches or centimeters, depending on which unit is requested at
|
|
the bottom of the Block Table pane.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Curvature</strong> (optional) - Displays the Curvature selected for the track
|
|
in the Block. Curvature is used for automatic running of trains, and need not be entered
|
|
if trains will not be run automatically. Curvature, if present, indicates to the computer
|
|
that it should slow the train as it runs through the Block. If <strong>None</strong> or
|
|
<strong>Gradual</strong> is selected, an automatic train will proceed at normal speed.
|
|
<strong>Tight</strong> should be selected if the train should slow down somewhat;
|
|
<strong>Severe</strong> should be selected if the train should slow by a maximum amount.
|
|
If the Block has variable curvature, your selection should be made according to the most
|
|
limiting part of the Block.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>State</strong> Shows the current state of the block,</p>
|
|
|
|
<ul>
|
|
<li>Occupied</li>
|
|
|
|
<li>UnOccupied</li>
|
|
|
|
<li>Unknown</li>
|
|
|
|
<li>Inconsistent</li>
|
|
</ul>
|
|
|
|
<p>Choose between textual and graphic display in the <a href=
|
|
"../../../apps/TabbedPreferences.shtml#Display">Display preferences</a>.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Reporter</strong> The Reporter assigned to this Block. See <a href=
|
|
"../../../../html/tools/Reporters.shtml">Reporters help</a>. Puts the Reporter Value into the Block
|
|
value.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Use Current?</strong> If we consider the scenario whereby we want to track a
|
|
train around the layout, typically this is achieved via the use of Memory objects
|
|
associated with Blocks. Until the train is known, we have nothing to track. Typically, we
|
|
can manually type the train ID into a pane and then this is tracked around the layout
|
|
based on Block occupancy. If, however, we have an attached device that can provide us
|
|
with the train ID, such as an <a href="../../../../html/hardware/rfid/index.shtml">RFID reader</a>,
|
|
we no longer need to manually type the train
|
|
ID in - the reader does this for us. In essence, the reader is little more than an
|
|
'intelligent' sensor - not only can it sense that 'something' is there, it can tell us
|
|
which something it is.</p>
|
|
|
|
<p>Now to the implementation. A Sensor is purely ACTIVE or INACTIVE - i.e. something is
|
|
there or it isn't. A Reporter, however, can tell us one of the following:</p>
|
|
|
|
<ol>
|
|
<li>'Hey, I'm seeing something right now - this is it'</li>
|
|
|
|
<li>'Hmm, I'm not seeing anything right now'</li>
|
|
|
|
<li>'Hey, I saw something a while back - this was it'</li>
|
|
|
|
<li>'Hmm, I've not seen anything yet'</li>
|
|
</ol>
|
|
The first two are from the CurrentReport; the last two from LastReport. At start-up
|
|
(assuming there is nothing within the range of the reader), both 2 and 4 are the initial
|
|
state. Once something is seen, both 1 and 3 return the same result. When the something is
|
|
'out-of-range' 2 and 3 are then active. With 'Use Current?' selected, the Block value
|
|
will switch between 1 and 2, whereas with 'Use Current?' unselected the Block value will
|
|
switch between 3 and 4.
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Permissive</strong> The Permissive option is used to identify Blocks that can
|
|
be entered while the Block is occupied. This is used with certain automation tools and
|
|
logic, to help determine if a train can enter an occupied Block and what Aspect should be
|
|
displayed on a Signal Mast.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p id="BlockSpeed"><strong>Block Speed</strong> The Block Speed is used with
|
|
certain automation tools and logic, to help determine the speed at which a train can be
|
|
set through the Block. It is also used by the Signal Mast Logic for determining which
|
|
Aspect should be displayed in a signal path.</p>
|
|
|
|
<p>In the drop down list, you are presented a set of named fixed speeds that have been
|
|
predefined in the <code>signalSpeed.xml</code> file, in addition to a global option.
|
|
It is also possible to enter in a numerical value to represent a speed.</p>
|
|
|
|
<p>The global value is set via the <a href="#block_speed_menu">Speeds</a> menu.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><strong>Ghost</strong><span class="since">since 5.11.2</span> The Ghost option is used
|
|
by Dispatcher to simulate block occupancy for blocks that don't have real occupancy sensors.
|
|
This option can be used for very short blocks. It can also be used when turnouts physically
|
|
have the same block as the throat track segment. By using a ghost block for the turnout,
|
|
there are now block boundaries for signal masts and signal mast logic.</p>
|
|
|
|
<p>A ghost block requires an internal sensor to simulate the occupancy. The sensor is
|
|
only used by Dispatcher. Logix, LogixNG or scripting must not change the sensor state.</p>
|
|
|
|
<p>Consecutive ghost blocks will result in errors when a transit is run. There must be
|
|
at least one real block between ghost blocks. Note: This means ghost blocks cannot be
|
|
used for both halves of crossovers. A ghost block could be used for the recommended
|
|
third block for double crossovers.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<h2>Block Table Controls</h2>
|
|
|
|
<p>Along the bottom of the Block Table pane are buttons that control its operation.</p>
|
|
|
|
<dl>
|
|
<dt>Add...</dt>
|
|
|
|
<dd>
|
|
<p>Push this button to <a href="BlockAddEdit.shtml">create a new Block</a>.</p>
|
|
</dd>
|
|
|
|
<dt>Block Length Units</dt>
|
|
|
|
<dd><p>Choose between showing the Block Length (measured in real world units on the layout) in
|
|
either inches or centimeters.<br>
|
|
Existing values will be converted.</p></dd>
|
|
</dl>
|
|
|
|
<h2 id="addBlock">Adding a new Block</h2>
|
|
|
|
<p>To add a new Block, see <a href="BlockAddEdit.shtml">Adding Blocks</a>.</p>
|
|
|
|
<h2>Editing an existing Block</h2>
|
|
|
|
<p>To check or change the properties of a Block, click the <strong><a href=
|
|
"BlockEdit.shtml">Edit</a></strong> button to the right of a Block entry in the Block Table,
|
|
see <a href="BlockEdit.shtml">Edit Block</a>.</p>
|
|
|
|
<h2 id="block_table_menus">Block Table Menu Items</h2>
|
|
|
|
<dl>
|
|
<dt id="block_path_menu">Paths</dt>
|
|
<dd>
|
|
<p>When blocks have been assigned to LayoutEditor tracks, <strong>Paths</strong> are
|
|
created to define the routes between blocks. Sometimes a complex block change results in
|
|
broken paths. Use <strong>Paths ⇒ Delete Paths…</strong> to delete the paths
|
|
which will be rebuild when the layout data xml file is loaded after a PanelPro startup. A
|
|
dialog is displayed with details and requires confirmation by clicking on <strong>Remove</strong>.</p>
|
|
|
|
<img src="images/BlocksDeletePaths.png" alt="Block delete paths dialog">
|
|
</dd>
|
|
|
|
<dt id="block_speed_menu">Speeds</dt>
|
|
<dd>
|
|
<p>The <strong>Normal</strong> speed from the <em>signalSpeeds.xml</em> file is the
|
|
default global speed. Select <strong>Speeds ⇒ Defaults…</strong> to change the
|
|
Global block speed. Choose one of the listed speeds. The blocks that use the Default speed
|
|
will automatically change to the new value.</p>
|
|
</dd>
|
|
|
|
<dt id="block_values_menu">Values</dt>
|
|
<dd>
|
|
<p>The current block values are saved in the <em>blockvalues.xml</em> file during PanelPro
|
|
shutdown. The <strong>Values</strong> menu has three options that are used when the block
|
|
values are automatically loaded after the layout data xml file has been loaded. <strong>Note</strong>:
|
|
If track power is not on, the choices are ignored and all block values will be loaded.</p>
|
|
|
|
<ul>
|
|
<li><strong>Restore Always</strong> — All of the values are restored regardless
|
|
of the occupancy state. For unoccupied blocks, the value will disappear when the
|
|
occupancy sensor is set to <strong>Inactive</strong>.</li>
|
|
|
|
<li><strong>Restore Occupied Only</strong> — Restore the block values for occupied
|
|
blocks. Blocks that are no longer occupied will be skipped.</li>
|
|
|
|
<li><strong>Restore Only if All Occupied</strong> — If <strong>any</strong> block
|
|
in the <em>blockvalues.xml</em> file is not occupied, do not restore any block values.
|
|
This is the default selection.</li>
|
|
</ul>
|
|
|
|
<p><span class="since">since 5.15.1</span>The <strong>Reload Block Values</strong> menu
|
|
item provides the ability to reload the block values on demand. This can be useful when
|
|
the track power was not on during PanelPro startup.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<hr>
|
|
|
|
<p><a href="../../../../html/tools/tracker/index.shtml">More on Block Tracking</a>
|
|
</p>
|
|
|
|
<p><a href="../display/LayoutEditor.shtml">Using Blocks with Layout Editor</a>
|
|
</p>
|
|
|
|
|
|
<p>Back to the <a href="../../../../html/tools/Blocks.shtml">Blocks Help page</a></p>
|
|
<!--#include virtual="/help/en/parts/Footer.shtml" -->
|
|
</div>
|
|
<!-- closes #mainContent-->
|
|
</div>
|
|
<!-- closes #mBody-->
|
|
<script src="/js/help.js"></script>
|
|
</body>
|
|
</html>
|