JMRI is...

Signaling

Adding signals to your layout with JMRI.

General Tools

JMRI provides powerful tools for working with your layout.

Layout Automation

JMRI can be used to automate parts of your layout, from simply controlling a crossing gate to running trains in the background.

JMRI: Signal Mast Logics

Background information on JMRI Signal Masts Logic

The JMRI "SignalMastLogic" allows you to build up a set of creteria for a signal mast as to what aspect it should be displaying for a specific route through to a destination mast.

Each signal mast logic is built from a source and destination signal mast pair, along with a series blocks, turnouts and sensors between the two masts and the state that they must be in for the source mast to be released from a Danger or Stop Aspect.


Example 1

In the example above, you have a source signal mast of SM20, there are then two destination masts of SM22 and SM23.
The logic behind signalling pair, SM20 and SM23, is that blocks 2 & 3 must be unoccupied, and turnout IT1 must be set "Closed". Once that criteria is met then signal SM20, will be released from Danger to Caution, if signal mast SM23 was set to Caution, then SM20 would be set to Proceed and show a Green aspect. As soon as block 2 or 3 become active or turnout 1 is set thrown, the signal SM20 is set back to Danger.

Each signal mast pair must be directly reachable from the other, without any other other signal mast in-between being in the same direction.


Example 2

In the example above, a signalling logic from SM20 to SM24 would be invalid as SM23 is in between the two. You would have to create two separate logics, one as above for SM20 to SM23, the second for SM23 to SM24.


Which aspect our source mast displays after being released from Danger is firstly determined by the aspect mapping that has been defined in the signal mast appearance file. If there is only one aspect that could be displayed, then the signal mast will be set to that aspect. However if there are multiple aspects that could potentially be displayed then the logic looks at two areas to determine the resulting aspect to be displayed
  • Diverging route
    • If there are aspects for a diverging route and any of the turnouts on the path are set thrown then it will use the aspect for a diverging route.
    • If none of the turnouts on the route are set thrown, then the aspect that is not designated as a diverging aspect will be used.
  • Block/Signal Speed
    • If the diverging route is not available on the signal aspects, or it does not return a single potential aspect, then the speed of the block and speed rating of the aspect is used.
      Each aspect and block can be configured with a Speed value, the logic will take the lowest speed defined on the blocks in the route and choose the aspect with the highest speed which is under the routes lowest speed. ie if the routes lowest speed is 65 mph, then it will choose the aspect that has a speed equal or less than 65mph.

In addition to being able to specify the turnouts, blocks and sensors that make up a logic, you can also specify which other signal masts must be set to a specific aspect before the source mast can be released. In general, there should be no need to add extra signal masts as the route between all the different source mast to the destination mast should have unique criteria. However there are certain situation such as where two tracks crossover on the same level where a conflicting route could be set. Therefore to get around this, the signal mast or masts that are protecting the crossover should be part of each others criteria.

Manual and Auto Generated Information

The signalling logic holds two sets of block and turnout information, the first is user generated, the second is where a tool such as used with the layout editor (See Below) has automatically built up a set of blocks or turnouts from the panel layout as signalling criteria.

Both sets of information is used by the signalling logic to determine if a signal can be released or not, however the manually created information has a higher priority over the automatically generated information. Thus allowing the user to over-ride what the system has determined.

The automatically generated information is not saved with the rest of the panel information, however the manually generated user information is. If the layout editor is being used to base the signalling logic on (See below) then the signalling logic will rediscover this information from the panel each time it is loaded, thus if any changes have been made they will be discovered. Please note, that this re-generation of information is not done on the "fly" when the layout editor panel is changed.

Logic to Un-Signalled Areas or Buffer Stops

The signalling logic works only between a source and destination signal mast, if you have a valid route to an End Bumper/Buffer Stop/Dark Area, then there is no specific destination signal mast. In this instance you would create a "dummy" signal mast to act as your destination mast, it doesn't have to be a real signal mast on the system or have real signal heads associated. All that this dummy signal mast has to do is display a Danger aspect.

Using The Layout Editor for Signal Mast Logic

By using the layout block editor, it is possible to have the signal mast logic determine the signalling pairs, along with the blocks and turnouts that make up the criteria. This can be done across all the signal mast on the a layout editor or on a source signal mast basis.

It has the advantage that if the layout editor panel is changed, the signalling logic will discover this change when the panel is reloaded and use the new block and turnout information. Please be aware that the re-discover at load process will not discover any new signalling pairs or remove invalid signalling pairs, it will simply update the information between existing pairs.

Placing Signal Masts

Signal masts can be placed by turnouts, anchor points and level crossings, but only where there is a boundary between two different layout blocks.

To add the signal mast, right click on the turnout, level crossing or anchor point and if a block boundary existing you will be given the option to "set Signal Mast.."


Example 3

You will then be presented with a fresh window that allows you to enter in the name of the signal mast that will protect a boundary between two blocks.
For turnouts and crossings, you can only add a signal mast for the boundary going into the turnout or crossing, it is not possible to add a signal mast for the boundary going out from the turnout or crossing. eg, If block A is the section of track attached to the turnout and the turnout is in block B, you can only add a signal mast that faces into block A that protects block B, you can not add a signal mast that faces into block B to protect block A.

Generate Signalling Logic

Signalling logic can automatically be generated in two different ways.
The first is to build it on a signal mast by signal mast basis. This can be done by selecting "Signal Mast Logic" from the pop up menu for the signal mast icon on the panel, from here you then click on the "Discover" button, the system will go and find all potential destination masts that are valid from the selected mast.

The second method is from the "Pair" menu option in the Signal Mast Logic table, this will generate logic based upon all the signal mast on the layout editor panel.

Please be aware that on large layouts with a large number of signal masts configured, this can take some time.

Access to configuring Signal Mast Logics can be done from three different locations

  • Signal Mast Logic Table
  • From the Signal Mast Table, there is an edit Logic button against each Signal Mast
  • From the Pop up menu on the Signal Mast Icon, there is a menu item for Signal Mast Logic
You add new ones with the "Add..." button on each of the subsequent tables, which takes you to the "Add Edit Signal Mast Logics" window.