Files
JIMRI/help/en/package/jmri/jmrit/blockboss/BlockBossFrame.shtml
T
2026-06-17 14:00:51 +02:00

236 lines
11 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: Simple Signal Logic</title>
<meta name="author" content="Bob Jacobsen, Egbert Broerse">
<meta name="Date.Modified" content="20171115">
<meta name="keywords" content="JMRI help Simple Signal Logic">
<!--#include virtual="/help/en/parts/Style.shtml" -->
</head>
<body>
<!--#include virtual="/help/en/parts/Header.shtml" -->
<div id="mBody">
<div id="mainContent" class="no-sidebar">
<h1>JMRI: Simple Signal Logic</h1>
<h2 id="contents">Contents</h2>
<p>The documentation below describes Signaling with JMRI using an older tool, SSL, and
discusses how to set up basic signaling situations with it.</p>
<ul>
<li>
<a href="#intro">Introduction</a>
</li>
<li>
<a href="#start">Getting Started</a>
</li>
<li>
<a href="#more">More information</a>
</li>
</ul>
<h2 id="intro">Introduction</h2>
<p>Simple Signal Logic (SSL) provided the first method to enable the rapid setup of basic
Automatic Block Signaling (ABS) style signaling in JMRI. For more complex operations beyond
the capability of SSL refer to the newer and preferred method of Signal Mast Logic on the
<a href="../../../../html/tools/signaling/index.shtml">Signaling main help page</a>. Note
that SSL ignores any Signal Mast objects and only drives individual Signal Heads.</p>
<p><strong>Don't use the SSL Tool when you have already built Signal Masts and the more
advanced Signal Mast Logic in the same Panel/Configuration file.</strong>
</p>
<p>Much of basic ABS signaling can be boiled down to "a Signal Head 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 simplification, it can serve as a
powerful starting point for understanding signaling logic.</p>
<p>The SSL user interface was 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 Signal Aspects. <a href="../../../../images/SslExample.png"><img src=
"../../../../images/SslExample.png" class="floatRight" width="452" height="287" alt=
"Simple Signal Logic panel figure"></a></p>
<p>The Simple Signal Logic Tool allows you to configure JMRI to use a basic ABS type of logic
to set the appearance of Signal Heads. The fields will vary based on the the selected option.
Using the SSL Tool, you enter information for each Signal Head on:</p>
<ul>
<li><strong>For Signal Head:</strong> The Signal Head being driven.</li>
<li><strong>Protects Sensor/s:</strong> Which sensors (occupancy detectors) cover the block
immediately past the signal. When any of these sensors show "active" the Signal Head will
be set to red.</li>
<li><strong>Red When Turnout:</strong> If the block contains a Turnout, pick or enter the
Turnout System Name and use the selection buttons to choose whether you're entering the
Closed or Thrown leg. The Signal Head will be set to Rred whenever the turnout is set
against this track.</li>
<li><strong>Protects Signal:</strong> The next Signal Head that the train will reach; this
Signal Head will be set Yellow if the next signal head is red.</li>
<li><strong>With Flashing Yellow</strong> If the checkbox is checked, the Signal Head will
be set flashing yellow (JMRI will alternate between Dark and Yellow) if the next protected
signal head is yellow, thereby giving four-block signaling.</li>
<li><strong>Limited Speed</strong> If this checkbox is checked, this Signal Head will be
set to Yellow as the least restrictive Aspect.</li>
<li><strong>Restricting Speed</strong> If this checkbox is checked, this Signal Head will
be set to Flashing Red as the least restrictive Aspect.</li>
<li><strong>Is Distant Signal</strong> If this checkbox is checked, this Signal will be set
to the most restrictive aspect of either this Signal Head or the next protected Signal
Head.</li>
<li><strong>Approach Lighting Sensor:</strong> The sensor that controls whether this Signal
Head is lit or not. Only the actual hardware Signal Head on the layout will go dark. Panel
indicators will show the normal signal Appearance. Leave this entry blank to always show
Lit.</li>
<li><strong>Facing Point Turnout</strong> The Signal Head is located on the single track
side of the Turnout, facing a choice of two or more tracks in the direction of travel.</li>
<li><strong>Trailing Point Turnout</strong> The Signal Head is located on the double track
side of the Turnout, facing a single track in the direction of travel.</li>
</ul>
<p>The case of a facing point turnout which leads to two different "Protected Signals" is
also covered. If a single Signal Head is used to control both branches, then choose "On
Facing-Point Turnout". If a different Signal Head will control each route, then simply choose
"Main" or "Diverging" leg of turnout, as required for each one.</p>
<p>Pause your mouse over any entry or item in the SSL creation pane for a brief "tooltip"
help reminder.</p>
<p>Use the <strong>Apply</strong> button to create a new SSL defintion or update an existing
defintion. The <strong>Delete</strong> button will remove the SSL definition.</p>
<p>It's clear that SSL won't cover complicated interlockings nor will it cover the
speed-signaling seen on some prototypes. However, when combined with the logic capabilities
of JMRI <a href="../../../../html/tools/Routes.shtml">Routes</a> and <a href=
"../../../../html/tools/Logix.shtml">Logix</a>, SSL can be used to create a CTC panel, as Bob
Bucklew shows on <a href="http://www.quaker-valley.com/CTC/QV_CTCnew.html">his web
site</a>.</p>
<h2 id="start">Getting Started</h2>
<p>Follow these steps to create your first JMRI Signal and become familiar with the SSL user
interface. As a starter this example defines just one "virtual" Signal Head that doesn't
really exist on the layout, so it can work with any kind of layout hardware. See the <a href=
"../../../../html/tools/signaling/index.shtml">Signaling main help page</a> for information
on how to set up your own signals.</p>
<ol>
<li>Select <strong>Signal Heads</strong> in the PanelPro <strong>Tools &gt; Tables &gt;
Signals</strong> menu.</li>
<li>In the Signal Head Table window that appears, click the <strong>Add...</strong> button
to begin defining a new signal head.</li>
<li>In the Add New Signal Head pane that appears, choose the "Virtual Signal" type.</li>
<li>Enter a system name such as "IH1000".</li>
<li>Click <strong>Create</strong> to enter this head into the Signal Head Table.</li>
<li>Enter all the Signal Heads that you will be using for this test, using different names.
The actual name doesn't matter, they just have to be different.</li>
<li>Now select <strong>Simple Signal Logic...</strong> in the <strong>Tools</strong>
menu.</li>
<li>Fill in the various entries to match your signal's requirements as previously
shown.</li>
<li>Click <strong>Apply</strong> to make this entry active.</li>
<li>Be sure to save your work.</li>
</ol>
<p>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 your first SSL entry.<br>
The following example would allow you to build actual Simple Signal Logic for signals
connected to a specific kind of DCC system:</p>
<ol>
<li>Select <strong>Tables &gt; Turnouts</strong> in the <strong>Tools</strong> menu.</li>
<li>Check to be sure that the outputs (Turnout addresses) that will control your Signals
Heads are in the Turnout Table. If not, click the <strong>Add...</strong> button at the
bottom of the Turnout Table.</li>
<li>In the Add New Turnout window that appears, enter a System Name, (e.g. "LT1") and
"test" for User Name, then click <strong>Create</strong>.<br>
<em>Note:</em> All System Names of JMRI objects must follow the JMRI Naming rules, starting
with a capital prefix for the DCC connection type (e.g. "L" for LocoNet) followed bij a
capital T in the case of Turnouts and the actual hardware address of the Turnout.</li>
<li>Clicking on the corresponding <strong>Closed/Thrown</strong> entries in the Turnout
Table should now cause your Signal Head to change state.</li>
<li>Select <strong>Signal Heads</strong> in the <strong>Tools &gt; Tables &gt;
Signals</strong> menu.</li>
<li>In the Signal Head Table window that appears, click <strong>Add...</strong> to begin
defining a new Signal Head.</li>
<li>In the Add New Signal window that appears choose the correct signal type to match your
hardware. The required item boxes will appear.</li>
<li>Enter a System Name, for example "LH152". <em>Note:</em> Signal Head system names must
start with the connection prefix plus "H" for Head (i.e. CH, IH, LH, NH, XH, etc.) and be
followed by the hardware address ("number") of the Signal Head.</li>
<li>Next pick or create one or more Turnouts that will control this Signal Head.
<em>Note:</em> In the case of SE8C connected signals, just enter the first Turnout number
of each pair. The second Turnout number is automatically known.</li>
<li>Click <strong>Create</strong> to enter this head into the Signal Head Table.</li>
<li>Enter all the Signal Heads that you will be using.</li>
<li>Now select <strong>Simple Signal Logic...</strong> in the PanelPro
<strong>Tools</strong> menu.</li>
<li>Fill in the various entries to match the requirements of your first signal as
previously shown.</li>
<li>Click <strong>Apply</strong> to make this entry active.</li>
<li>Repeat steps 13-14 for each of your Signal Heads.</li>
<li>Be sure to save your work. See <a href=
"../../../../html/apps/LoadStoreWork.shtml">Loading and Storing Your Work</a>.
</li>
</ol>
<h2 id="more">More on SSL</h2>
<ul>
<li>Check out the <a href=
"../../../../html/tools/signaling/SimpleSignalExample.shtml">Simple Signal Logic
example</a>.
</li>
<li>
<a href="../../../../html/tools/signaling/Logic.shtml">Backgrounds on SSL</a>
</li>
</ul>
<!--#include virtual="/help/en/parts/Footer.shtml" -->
</div>
<!-- closes #mainContent-->
</div>
<!-- closes #mBody-->
<script src="/js/help.js"></script>
</body>
</html>