Files
2026-06-17 14:00:51 +02:00

342 lines
19 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: Consisting Tool</title>
<meta name="author" content="Paul Bender">
<meta name="keywords" content=
"hardware layout java model railroad JMRI CMRI decoderpro panelpro tools loconet lenz nce easydcc dcc nmra">
<!--#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>JMRI: Consisting Tool</h1>
<h2>What is a Consist?</h2>
<p>There are three types of consists used on DCC systems:</p>
<ol>
<li>A <em>basic</em> or <em>primary address consist</em>.
<p>In this type of consist, each Locomotive is assigned the same address on the
programming track, or on the main with OpsMode Programming (if supported by the command
station and decoder). You can use either a long (CV17 and CV18) or short (CV1) address
for a primary address consist.</p>
</li>
<li>
<p>A <em>Command Station Assisted Consist</em> (CSAC).</p>
<p>A command station assisted consist is built using a function of your command
station.<br>
Command Station Assisted Consists go by the trade names listed in the table below. The
table also lists the known limitations imposed by each manufacturer.</p>
<table>
<tr>
<th>Manufacturer</th>
<th>Trade Name</th>
<th>Usage Notes</th>
</tr>
<tr>
<td>Digitrax</td>
<td>Universal Consist</td>
<td>Limited to number of slots supported by the system.</td>
<td>Allows any address to be used.</td>
</tr>
<tr>
<td>Lenz</td>
<td>Double Header</td>
<td>Limited to 2 Locomotives</td>
<td>Allows any address but 00 to be used.</td>
</tr>
<tr>
<td>NCE</td>
<td>Old Style Consist</td>
<td>Limited to 8 Locomotives</td>
<td>Allows any address but 00 to be used.</td>
</tr>
<tr>
<td>EasyDCC</td>
<td>Standard Consist</td>
<td>Limited to 8 Locomotives</td>
<td>Allows any address but 00 to be used.</td>
</tr>
</table>
<p>The common trait shared by all versions of CSAC is that a separate speed and direction
command is sent to the track for each Locomotive that is in the consist.</p>
</li>
<li>A <em>Decoder Assisted Consist</em> (DAC), also referred to frequently as an
<em>Advanced Consist</em>.<br>
The NMRA has set aside CV19 as a dedicated location for consist addresses.<br>
If CV19 contains a value other than 0, the Locomotive will respond to speed and direction
instructions on the address in CV19. Otherwise, it will respond to speed and direction
commands sent only on the usual short or long decoder address.<br>
Since the consist address is a single CV, it is limited to the range of 1 to 127. If you
add 128 to the consist address, the Locomotive will run backwards (relative to it's normal
direction of travel) in the consist.<br>
For most decoders, this type of consist can be by programming operations in the same ways
that a basic Consist can be. We say most here because some decoders block writing to any
address CV using operations mode programming.<br>
The NMRA has also set aside a special command to set up a Decoder Assisted Consist on the
mainline. This command should be supported by all decoders that support Decoder Assisted
Consisting.<br>
The advantage to DAC, when compared to CSAC is that only one speed and direction command is
sent to the entire consist.<br>
By default, Locomotives in a DAC ignore function commands sent to the consist address. You
can configure some decoders so they will respond to function commands issued to the consist
address as well (through CVs 21 and 22). If supported by the decoder, The appropriate
values can also be configured through DecoderPro using the Consisting Tab in the
comprehensive programmer.<br>
One final note: Advanced Consists operate in 28 speed steps (always). You may need to make
sure your throttle is sending 28 speed steps to the address to avoid flickering
headlights.</li>
</ol>
<h3>Consisting Support in JMRI</h3>
<p>JMRI provides support for consists using the Consist Tool, which is accessible through the
Tools or Actions menu of any JMRI application. (There is also a <a href=
"../../../package/jmri/jmrix/nce/consist/NceConsistEditFrame.shtml">NCE-specific Consisting
Tool</a> that works somewhat differently from the tool described here)</p>
<p>The Consisting tool provides a visual tool for manipulating the Decoder Assisted Consists
and, on some command stations, Command Station Assisted Consists.<br>
Backing up the Consist Tool is a consist manager. The consist manager is responsible for
maintaining information about existing consists and for communicating the necessary
information between the consist tool and the Command Station.</p>
<h4>Available JMRI Consist Managers</h4>
<ul>
<li>The <em>Generic Consist Managers</em> are used on any system which does not have it's
own consist manager, but supports either operations mode programming or a sending raw DCC
packets.<br>
There are two generic consist managers, one uses operations mode programming to change
CV19, and the other sends a special DCC packet to change CV19. Which version is used is
dependent on the support the associated system provides, and is not user selectable.<br>
The Generic Consist Managers only able to manipulate Decoder Assisted Consists.<br>
<em>The Generic Consist Manager bypasses any routines the command station has to set the
consist address.</em> The importance of this is that IF your command station provides a
method for you to run a consist by selecting a Locomotive by it's address, this won't
function. You'll need to use the short address identifier you selected for the consist ID
to control the consist speed and direction.</li>
<li>The <em>XPressNet Consist Manager</em> uses support provided by XPressNet Based systems
to manipulate consists. This consist manager is able to construct a Lenz "Double Header" in
addition to Advanced Consists.<br>
Since this consist manager uses the consist creation instructions provided by the XPressNet
protocol, the Lenz <em>Smart Consisting</em> feature works with consists created by the
tool. On Lenz systems, <em>Smart Consisting</em> refers to the ability to be able to run a
consist from <em>any</em> of the consisted Locomotive addresses or from the consist
address.<br>
The XPressNet Consist Manager is capable of reading consist information from the command
station, both for Advanced Consists and Lenz Double Headers.</li>
<li>The <em>EasyDCC Consist Manager</em> uses support provided by CVP's EasyDCC system to
manipulate consists. This consist manager is able to construct EasyDCC "Standard Consists"
in addition to Advanced Consists.<br>
CVP does not provide a method to construct Advanced Consists. As a result, advanced
consists are created by bypassing the command station. Unlike the Generic Consist Manager,
the EasyDCC Consist Manager creates these by issuing a Consist Control packet to the track.
This allows inclusion of Locomotives that do not permit writing CV19 using operations mode
programming. As with the Generic Consist Manager, you must use the short address selected
as the consist address to control the consist.<br>
For EasyDCC Standard Consists, there are a couple of restrictions imposed by the EasyDCC
Protocol. First, as with consists created on the command station directly, consists are
limited to 8 addresses. Second, unlike consists created on the command station directly,
CVP limits the standard consist address to addresses between 1 and 255.<br>
The EasyDCC Consist Manager will read Standard Consist information for consists in the
allowed range (1-255) from the command station's memory. Since the command station is
bypassed to create Advanced Consists, these cannot be read from the command station.</li>
<li>The <em>Internal Consist Manager</em> is a special consist manager associated with the
Internal JMRI system. It functions like the <em>Generic Consist Managers</em>, but it is a
available as a user selectable option so that users can choose to bypass a system specific
consist manager.</li>
</ul>
<h4>Selecting a Consist Manager</h4>
<p>To select the consist manager in use, we first need to open the defaults tab in the
preferences.</p>
<img src="images/Preferences-ConsistManagerSelection-Annotated.png" alt=
"Annotated User Preferences window">
<p>Once the preferences are loaded, the choices for the consist manager will be selectable in
the "Consists" column (inside the box labeled 1 in the figure above). Here we see two
choices, one for a LocoNet connection, labeled A and one for the Internal connection labeled
B.<br>
If you have more system connections available, other options may be available as well.</p>
<p>If you choose option A, then you choose to use the consist manager associated with the
system. This will either be a system specific consist manager or one of the generic consist
managers, depending on the support of the system.</p>
<p>If you choose option B, then the <em>Internal Consist Manager</em> manager is used. In
this case, if there is a selection made in the Command Station column (in the box labeled 2
in the figure) then the consist will be created on the system with the selected command
station. This selection will cause consists to be created using a special DCC packet for
creating consists.</p>
<p>If you choose option B and there is no selection for the command station, consists will be
created on the system with an Ops Mode Programmer selected in Column 3. This selection will
cause consists to be created using Operations Mode Programming. Note that if the Internal
system is selected in this case, no consists will be created.</p>
<h4>Consists and the JMRI Roster</h4>
<p>JMRI users sometimes create Advanced Consists using the programmer to set the value of
CV19. Begining with JMRI Version 4.17.3, the JMRI consisting tools provide some tools to
synchronize the advanced consists created by programming with those of the advanced</p>
<h5>Import From Roster</h5>
<p>Users can import consists created with the programmer into the Consist Manager by
selecting the <em>Scan Roster for Consists</em> option in the Consist Control's <em>File</em>
menu.</p>
<img src="images/ConsistTool-ScanForConsists.png" alt=
"The Scan For Consists Option is a Choice in the Consist Control Window's file Menu">
<p>Once the scan completes, any consists discovered will be added to the list of consists
available to the Consist Control. Please note that this tool does not write the consists to
the DCC system.</p>
<h5>Keeping the Roster Synchronized</h5>
<p>Users may choose to have JMRI update consist information in their roster when creating and
removing locomotives from Advanced Consists. This optin is activated by checking the
<em>Update CV19 in roster when modifying advanced consists</em> box in the <em>Consist
Control</em> section of the JMRI preferences.</p>
<img src="images/ConsistControl-Preferences.png" alt="Preferences for the Consist Control">
<p>Selecting this option may cause a performance impact when modifying rosters, due to
reading and writing the roster file. This option is disabled by default.</p>
<h2 id="tool">Using the Consist Tool</h2>
<p>You find this tool</p>
<ul>
<li>in DecoderPro: in the Actions menu</li>
<li>in PanelPro: in the Tools menu</li>
</ul>
<p>When you first open the Consist Tool, you will see a screen similar to the following:</p>
<img src="images/ConsistTool.png" alt="Blank Consist Tool" height="251" width="725">
<p>The radio buttons in the top row are used to select between an Advanced (or Decoder
Assisted) Consist and a Command Station Assisted Consist. If the Command Station Assisted
Consists are not supported by the tool for your system, these selections will be grayed
out.</p>
<p>The box next to the label <strong>Consist:</strong> lets you enter the Consist ID. For
<em>Decoder Assisted Consists</em>, this should be the short address used to identify the
consist. For Command Station Assisted Consists, this value may automatically be filled in
with the lead Locomotive address when you try to add it to the consist.<br>
To specify how you wish to use an address from 1 to 127 (excluding 3) that can be either
short or long, use the drop down list next to the Consist text field to select your
choice:</p>
<img src="images/ConsistTool-AddressType.png" alt="Consist Tool - ID Added" height="74"
width="235">
<p>Setting a typical ID for a Decoder Assisted Consist should now look like the
following:</p>
<img src="images/ConsistTool-IDAdded.png" alt="Consist Tool - ID Added" height="75" width=
"726">
<p>The second line of the consisting tool is used to add Locomotives to your Consist. A
Locomotive may be added either by entering it's number in the box next to <strong>New
Locomotive</strong>:</p>
<img src="images/ConsistTool-LeadLoco.png" alt="Type in Lead Locomotive Address" height="60"
width="722">
<p>or by selecting it's number from the roster drop down box:</p>
<img src="images/ConsistTool-PickLoco.png" alt="Select Lead Locomotive" height="77" width=
"725">
<p>Clicking the <strong>Add</strong> button will add the Locomotive to the Consist, and it
will appear in the list below the second line:</p>
<img src="images/ConsistTool-LeadLocoAdded.png" alt="Lead Locomotive Added to Consist"
height="72" width="723">
<p>Clicking the <strong>Reset</strong> button will clear the information on the New Loco
entry line.</p>
<p><img src="images/ConsistTool-Reverse1.png" alt="Direction Normal (or reversed) check box"
height="125" width="457" class="floatRight"> The <strong>Direction Normal</strong> checkbox
allows the user to specify if the new Locomotive is traveling in Forward or Reverse when the
Consist is traveling Forward.<br>
You may notice from the previous screen shots that this box is grayed out until a lead
Locomotive is selected. When adding subsequent Locomotives, you can (un)check this box to
indicate the direction of each new Locomotive relative to the lead Locomotive.<br>
After adding a second Locomotive to the consist, with the direction reversed, you should see
something like the following:</p>
<img src="images/ConsistTool-SecondLocoAdded.png" alt="Second Locomotive Added" height="251"
width="726">
<p>If you made a mistake, and add a second Locomotive to the Consist with the wrong direction
set, you can change it's direction simply by clicking on the checkbox in the Direction Normal
column.<br>
The direction of the first (lead) Locomotive cannot be changed once added.</p>
<p>To delete an individual Locomotive from the consist, you can select the
<strong>Delete</strong> button in the right most column of the appropriate row of the table
of addresses.</p>
<p>To delete an entire Consist you can use the <strong>Delete</strong> button at the bottom
of the screen.</p>
<p>The Throttle button at the bottom of the screen can be used to bring up a JMRI throttle
for this Consist address.</p>
<p>To add a new Consist, select the first, blank entry in the drop-down box next to the
current consist's ID:</p>
<img src="images/ConsistTool-NewConsist.png" alt="Select New Consist" height="82" width=
"364">
<p>To recall an existing Consist for inspection, select the appropriate entry from the
drop-down box next to the current Consist's ID:</p>
<img src="images/ConsistTool-SelectConsist.png" alt="Select a Consist" height="83" width=
"353"> <!--#include virtual="/help/en/parts/Footer.shtml" -->
<h2 id="track">Keeping Track of Consists</h2>
If you'd like, you can track your consists in a new column in the DecoderPro
listing. To do this, you create the column, then manually enter the
consist information (There is no automatic population of this column
DecoderPro can't keep track of all the various methods of consisting;
we want to avoid user confusion when automatic updates show invalid info)
<p>
To do this:
<ol>
<li>Select a locomotive
<li>Under the Action menu, select Labels and Media
<li>On that window, select Roster Media
<li>In the lower half of the window, enter "Consist Info" over the three dots (&hellip;)
in the Name column, and your value over the three dots in the Value column.
<li>Hit Return, and then click &ldquo;Save to Roster&rdquo;
<li>Close the window.
<li>The first time you do this, quit and restart JMRI (it would be nice if this
wasn&rsquo;t necessary, but right now it often is)
<li>On the main roster, right-click or ctrl-click on the heading in any column.
Select your new Consist Info entry to put a checkmark next to it.
A new column should appear titled Consist Info and showing the value you
entered on that locomotive.
Ctrl-drag on the heading to move the column to where you want it.
<li>Now that it&rsquo;s set up, you can click on a cell in that column to enter the
your value for any locomotive. DecoderPro will keep the info from one
run to another in the roster.
</ol>
</div>
<!-- closes #mainContent-->
</div>
<!-- closes #mBody-->
<script src="/js/help.js"></script>
</body>
</html>