JMRI: Simple Signal Logic Documentation

Contents

The documentation below describes Signaling with JMRI, and discusses how to set up the basic signal situations. The documentation is divided into sections; click below for easy access to a listed section. If you prefer to try before reading much, read Introduction to SSL, then click Getting Started and follow those instructions. Return here to read about what you did.

Vocabulary

Some basic signal terms:

Some JMRI specific SSL and Signal terms:

Signal Table

All the signals that JMRI knows about can be referenced using the "Signal Table" tool in the Tools menu of most JMRI programs. There are five columns in the table: Simple Signal Logic panel figure

To define a new signal, click on the Add New Signal button. It will prompt you for the signal type (controlled by turnout outputs; SE8c; etc), and whatever setup information is needed for your choice.

This information is saved with the configuration in an XML file, along with control panel setup, Logix, Routes, and similar stuff. For more information on creating and displaying panels, including how to show signals on your panels, please see the Panels pages and the pages on the Cornwall Railroad control panel.

Introduction to SSL

SSL is a JMRI tool to enable the rapid setup of basic ABS style signaling. For more complex operations beyond the capability of SSL refer to the section on Logix. The SSL user interface is designed to be user friendly to all users with basic familiarity with JMRI. SSL provides a means for setting up basic signals in an intuitive manner, without the user having to be familiar with all of the logic necessary to account for the different aspects.

SSL

Simple Signal Logic

Simple Signal Logic panel figure Much of basic ABS signaling can be boiled down to "a signal goes red when a train can't safely enter the block it protects; it goes yellow when the block following the protected block can't be entered". Although that's a simplication, it can serve as a powerful starting point for understanding signaling logic.

The Simple Signal Logic tool allows you to configure JMRI to use this basic ABS type of logic to set the appearance of a signal. Using the panel, you enter information on:

The case of a facing point turnout which leads to two different "Protected Signals" is also covered although the above figure doesn't show it. If a single signal head is used to control both branches, then choose "On Facing-Point Turnout". If a different head will control each route, then simply choose "Main" or "Diverging" leg of turnout, as required for each one.

Pause your mouse over any entry or item in the SSL creation window for a brief "tooltip" help reminder.

It's clear that this won't cover complicated interlockings nor will it cover the speed-signaling seen on some prototypes. For those situations use a combination of Logix and Routes. Logix cover the conditions, and Routes control the actions to be taken.

Getting Started

Follow the following steps to create a signal and become familiar with how the SSL user interface works.

  1. Select Turnout Table in the Tools menu.
  2. Check to be sure that the output lines (turnouts) that will control your signal are in the table. If not, click the Add button at the bottom of the Turnout Table.
  3. In the Add New Turnout window that appears, enter a system name, (E.g. LT1) and "test" for user name, then click OK. Note: System names must start with CT, IT, LT, NT, XT, etc. and be followed by the actual hardware number of the turnout.
  4. Clicking on the correct Closed/Thrown entries in the Turnout Table should now cause your signal to change.
  5. Next select Signal Table in the Tools menu.
  6. In the Signal Table window that appears, click Add to begin defining a new signal head.
  7. In the Add New Signal window that appears choose the correct signal type to match your hardware. The required item boxes will appear.
  8. Enter a system name. For example LH152. Note: System names must start with CH, IH, LH, NH, XH, etc. and be followed by the number of this head.
  9. Next enter one or more turnout numbers that will control this signal. Note: In the case of SE8c style signals just enter the first turnout number of each pair. The second is automatically known.
  10. Click OK to enter this head into the Signal Table.
  11. Enter all the signal heads that you will be using for this test.
  12. Now select Simple Signal Logic in the Tools menu.
  13. Fill in the various entries to match your signals requirements as previously shown in the SSL section.
  14. Click Apply to make this entry active.
  15. Be sure to save your work.

You have just created an SSL entry to control a signal head. It's as simple as that. It took you more time to read this tutorial than to create the SSL entry.