JMRI: Consisting Tool
What is a Consist?
There are three types of consists used on DCC systems:
- A basic or primary address consist. 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.
A Command Station Assisted Consist (CSAC). A command station assisted consist is built using a function of your command station.
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.
Manufacturer Trade Name Usage Notes Digitrax Universal Consist Limited to number of slots supported by the system. Allows any address to be used. Lenz Double Header Limited to 2 Locomotives. Allows any address but 00 to be used. NCE Old Style Consist Limited to 8 Locomotives. Allows any address but 00 to be used. EasyDCC Standard Consist Limited to 8 Locomotives. Allows any address but 00 to be used.
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.
A Decoder Assisted Consist (DAC), Which is also referred to frequently as an Advanced Consist.
The NMRA has set aside CV19 as a dedicated location for consist addresses.
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.
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.
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.
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.
The advantage to DAC, when compared to CSAC is that only one speed and direction command is sent to the entire consist.
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.
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.
Consisting Support in JMRI
JMRI provides support for consists using the consist tool, which is accessible through the tools menu of any JMRI application. (There is also a NCE-specific consisting tool that works somewhat differently from the tool described here)
The Consisting tool provides a visual tool for manipulating the Decoder Assisted Consists and, on some command stations, Command Station Assisted Consists.
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.Available JMRI Consist Managers
The Generic Consist Manager is used on any system which does not have it's own consist manager, but supports operations mode programming. This manager is only able to manipulate Decoder Assisted Consists.
The Generic Consist Manager bypasses any routines the command station has to set the consist address. 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.
The XPressNet Consist Manager 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.
Since this consist manager uses the consist creation instructions provided by the XPressNet protocol, the Lenz Smart Consisting feature works with consists created by the tool. On Lenz systems, Smart Consisting refers to the ability to be able to run a consist from any of the consisted Locomotive addresses or from the consist address.
The XPressNet Consist Manager is capable of reading consist information from the command station, both for Advanced Consists and Lenz Double Headers.
The EasyDCC Consist Manager 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.
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.
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.
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.
Using the Consist Tool
When you first open the consist tool, you will see a screen similar to the following:
on 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.
The box Next to the label Consist: is used to specify the consist ID. For Decoder Assisted Consists, 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.
Adding a typical ID for a Decoder Assisted Consist should look like the following:
The second line of the consisting tool is used to add Locomotives. A Locomotive may be added either by entering it's number in the box next to New Locomotive or by selecting it's number from the roster drop down box.
Clicking the add button will add a Locomotive to the consist, and it will appear in the list below the second line.
Clicking the reset button will clear the information for this Locomotive.
The Direction Normal checkbox is used to determine if the Locomotive is traveling in forward or reverse when the consist is traveling forward.
You may notice from the previous screen shots that this box is grayed out until a lead Locomotive is selected. With subsequent Locomotives, you can check this box to indicate the direction of the Locomotive relative to the lead Locomotive.
After adding the second Locomotive to the consist, with the direction reversed, you should see something like the following:
If you made a mistake, and add a second Locomotive to the consist with the wrong direction, you can change it's direction simply by clicking on the checkbox in the Direction Normal column.
The direction of the lead Locomotive cannot be changed once added.
To delete an individual Locomotive from the consist, you can select the Del button in the right most column of the appropriate row of the table of addresses.
To delete an entire consist you can use the Delete button at the bottom of the screen.
The throttle button at the bottom of the screen can be used to bring up a JMRI throttle for this address.
To Add a new consist, you can select the blank entry in the drop-down box next to the current consist's ID.
To Recall an existing consist, you can select the appropriate entry from the drop-down box next to the current consist's ID.