Loco Address Confusion
This topic discusses the reasons why there are differences and hence confusion about addressing rules and usage between various DCC manufactures. It is easy for new DCC users to think that a given DCC manufacture they have chosen fully implements the entire address capability allowed by the DCC standards and RP's. This also assumes how Analog locomotive control is to be done. These false assumptions leads to unnecessary debates about who is right when different manufactures are compared. That fact is most DCC manufactures often CHOOSE to implement a specific SUBSET of the total available NMRA DCC address that can be assigned to a given locomotives for various reasons. The most common reasons are for simplifying the user interface for ease of use (less confusion potential) and/or scaling down the capability of a given DCC system to match the intended market (high end versus starter system).
COMPARISON TABLE OF ADDRESS RANGES PER MANUFACTURE
Below is a table of what DCC manufacture does what with the address ranges of their "top of the line" DCC systems abilities and not based on their decoder capabilities. It should be noted that software updates do occur and the limitations of a given DCC system may change as time moves forward since the table itself was created. Once should always consult the latest system manual for the latest information.
Note that Digitrax does not support long addresses above 9983. The 16 long address from 9984 to 9999 are invalid.
The NMRA DCC Decoder Standards state for Locomotives Address:
1) 1 to 127 for Short Addresses.
2) 0 to 10,239 for Long Addresses.
3) Advanced Consist Addresses share Short Addresses.
4) Short Address 0 has several meanings.
The upper limit was determined by the tradeoff between ease of implementing the command station's internal software versus having a reasonable address range. Less powerful DCC systems will often limit address usage to short addresses to fit the lower capability and hence lower cost microprocessors (CPU or Microcontroller). (For those who need to know the key technical reason, short addresses are 7 bits long while long addresses are 14 bits long which are binary number ranges.)
Did you Notice:
A) There is an overlap (duplicate) of addresses between 1 and 127 for both Long and Short.
B) There is no address 0 for Short Addresses but there is one for Long Addresses.
C) The Short address range extends past 99. The term "2 digit" addressing is not technically accurate since the upper limit is 3 digits long...127. This is why the NMRA uses the term "Short" address.
D) The Long address range extends past 9999. The term "4 digit" addressing is not technically accurate since the upper limit is 5 digits long..10,239. This is why the NMRA uses the term "Long" address.
E) There is sharing of the entire Short Addresses range between individual Locomotives and Advanced Consist.
A) Although there is a duplicate address in the 1 and 127 range between Short and Long addresses, it is NOT a confusing issue for the decoder itself. It can tell the difference between a Short Address "10" and Long Address "10" by the way the address information is sent to the decoder. (Different DCC packets). To learn more about how this works, go here: Decoding DCC Addresses
B) Manufactures are NOT required to implement the entire address range for both Short and/or Long Address.
C) Manufactures are NOT required to support Analog (DC) locomotive control. Even if supported, the Standards and RP's do not say HOW it is to be done. It is left to the DCC manufacture to determine how this is to be done. (See section at the bottom for more information)
D) Short Address 0 sent by a command station is reserved by the NMRA as a "broadcast address". Any DCC locomotive which sees a DCC command sent with this short address must accept the DCC command regardless of it assigned DCC address. CV1 does not have to have a value of 0 for this to work. Hence this address is NOT an locomotive address that the user needs access to for normal control of trains. However, this is a locomotive address the DCC system itself may want to send. An example of using this address at the system level is an "emergency stop" command to stop all trains without killing track power.
E) Short Addresss 0 programmed into CV1 of a decoder is defined by the NMRA as Alternative Power Source mode. Setting CV1 = 0 will FORCE the DCC decoder to defeat DCC mode and go right into "Alternate Power Source" mode as determined by CV12. Most of the time that means Analog or DC mode. This is independent of CV29 bit 2 "Power Source Conversion Enable" IF CV1 is non zero and CV29 Bit 2 is set, it allow the decoder to make a CHOICE between two modes of operation on power up. DCC -or- Alternative Power Source (DC mode) depending on what type of power the decoder detects between the two modes. However if CV1 = 0, it takes away the choice by removing DCC mode. CV29 bit 2 has no meaning anymore. In terms of what you would see on the layout is that when you turned on DCC power, any locomotive with CV1 = 0 would take off right away with no control because the decoder is FORCED to treat the DCC power as if it was DC power. Stated another way, your engine now virtually operates as if it was a pure DC engine again (no decoder). This is why most DCC system do not allow you to program a 0 value into CV1. DO NOT WORRY if CV1 = 0. You are not stuck in this mode forever and your decoder is not a "brick". If you simply put the locomotive back on the DCC programming track and change CV1 to some non zero value, DCC mode is restored. Opinion: I believe this option predates CV29 in the DCC Standard development history. It might have been part of Lenz original DCC standards that predate the NMRA DCC standards. But at the time of this writing, I cannot find any documentation to support that theory.
F) Do not confuse CV1=0 as the method in which DCC system allows a pure DC locomotive to run on DCC power. Remember a pure DC locomotive has no decoder.
A) The duplicate addresses range in the 1 to 127 range represents a confusing issue for first time users. Users naturally think "an address is an address" like in a home mailing address in which every house number is unique and not duplicated.
B) The decision to support an Analog (DC) locomotive followed by the "ease of use" of how to run it.
C) The use of Advanced Consisting runs the risk of consisting engines with short addresses that are NOT part of the defined consist. Example: Engine#3245 and #5647 are assigned to Advanced Consist #31. However, if there is a engine with short address #31 on it, it will involuntarily also become part of Advance Consist #31 like it or not!
Ease of Use Tradeoffs:
In the effort to make DCC as simple as possible and/or address some cost issues, some DCC manufactures INTENTIONALLY limit the address ranges to common Decimal Number ranges as opposed to what can actually be supported by the NMRA standards. In other words one or both of the following options is done on a given DCC system:
A) the short addresses range 1 to 127 is artificially truncated to become 1 to 99. This is where the terms "2 Digit Addressing" comes from. The tradeoff is if you bring a locomotive programmed by a DCC system that allows Short Address between 100 and 127, IT WILL NOT RUN on a any DCC system that only allows short addresses up to 99.
B) the long addresses range 0 to 10,239 is artificially truncated to become 0 to 9999. This is where the terms "4 Digit Addressing" comes from. There is very little downside with this tradeoff. Although there are European railroads with locomotive using 5 digits, the fact that you cannot address any locomotive above 10,239 (only 10.2% of the 10000 to 99999 range) really invalidates any argument for 5 digit support.
If you want to learn more about the limits of locomotive addresses and how the number "10239" comes about go here (its technical): Decoding DCC Addresses
Analog (DC mode) Locomotive Operation:
If a given DCC manufacture wanted to support Analog (DC) locomotive operation on DCC powered track, the question that comes up is how? The DCC standards intentionally offered no standard mechanism on the USER interface side of the DCC system to make this possible. The USER interface was left up to the DCC manufactures. DCC manufactures notice the short address 0 was NOT an address the user can use to control a train. However it is an address that can be physically entered into the throttle just as easily as any other locomotive address. So the idea came about to use Short Address 0 to control an Analog Locomotive. With short address 0 entered into the throttle, the command station's software recognizes that this is a special locomotive address that means to redirects all speed and direction commands coming from the throttle to control the analog locomotive. Again, although this is NOT a DCC standard, it has become a common method of control with few popular DCC manufactures.
There is risk of damage in running Analog Locomotive on DCC powered track. It was important when DCC was introduced to the market but the reasons to support Analog Loco on a DCC system have since gone way down over time. To learn more see: DC Loco on DCC