JMRI: OBlock Add/Edit Help
Author: Bob Jacobsen
Keywords: JMRI help OBlock Table

# Warrants: Creating and Editing OBlocks, Portals and OPaths

Start by entering each Occupancy Block of your layout into the Occupancy Block Table:

1. Enter a System Name for the OBlock. If you do not preface the entry with "OB", it will be prepended to your entry automatically.
2. (Optionally) Enter a User Name for the OBlock.
3. Enter the System Name or User Name of the detection Sensor for the Block.
   You may skip entering this for now and come back and enter it later.
   Note: If there is more than one Sensor that detects occupancy of the Block, 'OR' them together and trigger a single Internal Sensor to use for this entry. For example, suppose LS10, LS11 and LS12 are detection Sensors and IS100 is an Internal Sensor. Presuming "Active" means Occupied, write a Logix Conditional with these three state Variables:
   - Sensor "LS10" state is Sensor Active
   - Sensor "LS11" state is Sensor Active
   - Sensor "LS12" state is Sensor Active
   Select OR as the Logic Operator
   and add as Actions:
   - On Change to True, set Sensor, "IS100" to Active.
   - On Change to False, set Sensor, "IS100" to Inactive.

   Note: Upon entering a System Name, the row of a new entry will jump to its sorting position as ordered by System Name. To continue editing the row, look for it at the top of the window. It will stay in place as long as it has the same System Name.

   Next, enter the Portals between the Blocks into the Portal Table:

4. For each point between the Blocks you have defined in the Occupancy Block Table, enter a Portal row for each Portal (gap) between the two Blocks.

   A pair of adjacent Blocks may have several Portals between them. This is expected, so just give each Portal a unique name. The Block names can be dragged from the Occupancy Block table to save typing.

   Note: The computer will notify you from time to time until you have entered a Block on each side of the Portal Name. It doesn't matter on which side of the Portal Name you enter a Block Name, just be sure to enter both sides

   Note: It may be helpful to open the Block-Portal Cross Reference Table to review whether all the portals have been entered.

   Next, If there are Signals at a Portal, enter them into the Signal Table:

5. Enter the System Name or User Name of the Signal. This may be either a SignalMast or SignalHead.
6. Enter the name of the Block facing the Signal into the From (Approach) Block column. It is important that the approaching Block of the Signal is correctly named. This is the Block that will detect when a speed change might be needed.
7. Enter the Portal Name or the name of the Block whose entrance is protected.
8. Enter any delay of milliseconds to wait after entering the approach Block before changing the train speed (This time delay is used only when the signal indicates a speed change).

   Next, identify the Paths in each Block:

9. Moving through the Occupancy Block Table row by row, complete these steps:
   - Press the Paths button and open the Block-Path Table for the row;
   - Enter a path name for a Path within the Block of the row in the Path Name column.
     Note: The name of the Block is in quotes in the title bar of the table.
   - Enter the names of the Portals where the Path enters and exits the Block.

     Note: It doesn't matter on which side of the Path name you enter a Portal name. Dead end spurs will only have one Portal.

     Reminder: You may use 'Drag and Drop' to enter text. When selecting an item to drag, it may require two clicks; one to select the row and a second to select the column entry. Holding the second click down, you can drag the text from that row, column field.

   Finally, complete the definition of each Path in each Block:

10. For each Path in each Block-Path table, complete these steps:
    - Press the Turnouts button and open the Block-Path-Turnout table for the each row in the Block-Path table
    - Enter the System Name or User Name of a Turnout in the Path.

      Note: The name of the Path and its Block are displayed in quotes in the title bar of the table.

    - Enter the position of the Turnout in the Turnout Setting column - either 'Closed' or 'Thrown'.

    Most likely you will have encountered several dialogs urging you to fix this or that; try to resolve all of them.

    Now, you are ready to define some Routes for Warrants. Of course, there will probably still be a few errors or missing items; the 'Create Warrant' frame provides a tool to find and fix them:

11. Select Create New Warrant from the Warrants menu in a Panel Editor Panel.

To read about how OBlocks, Portals and OPaths can be used to generate train routes and make automated train scripts, see Warrants.

Also see the Warrant Table help for details on creating and editing Warrants.

Back to OBlock Table Help.