The Occupancy Block Tables
Introduction
The Occupancy Block Tables were developed to define the elements needed to create "warrants" that allow trains to run automatically over predetermined routes. It was also a design goal to generate these routes automatically by merely specifying the origin and destination of the trains. Furthermore, it was designed for use by Logix so that users can define and control automated trains running from panel editor panels of their own design.What are Portals and Why Use Them?
Occupancy blocks are portions of track having one or more sensors to detect occupancy of trains. These blocks are usually separated by gaps cut in the track which isolate the detecting sensors. However this is not always the case, since optical sensors might also be used to detect occupancy in a section of track. Nevertheless whatever method is used to determine a block and the means of detecting its occupancy, there is is some point that separates one block from another block. This dividing line between two blocks, whether a physical gap or an imaginary line, marks a transition from one block to another. These transition points are called Portals.Undoubtably you created the blocks because it was important for you to know when one block was exited and another was entered. Blocks are used to provide interlocking and the signals governing that are logically placed at the portal points. If you have signals on your layout, consider where they are located. Most likely they are placed near dividing points between blocks. So regardless of the name, Portals are a significant concept.
Paths Through Portals
There may be many ways to traverse a block. A path within a block will enter at one portal and exit through another portal. Or a path may terminate within the block, that is, the path is a spur. Again, portals are a useful concept to indicate these entrance and exit points.
Note that a path must have at least one portal for an entry/exit point and cannot have more than two portals. A Path is unambiguously defined by specifying the turnouts and their settings for a train to proceed safely through the block.
Definitions:
The Occupancy Tables define the following elements:- Blocks are implemented as JMRI OBlocks, which are extensions of
JMRI Blocks. They have the following characteristics:
- An OBlock has from 1 to N Portals.
- Although an OBlock can be defined without a sensor, i.e. a "Dark Block", it should have a sensor. If it has more than one sensor, these sensors should be "OR"ed together and trigger a single internal sensor for the block.
- An OBlock has from 1 to M paths.
- An OBlock has 0 to K turnouts.
- Portals separate blocks. They have the following characteristics:
- A Portal has exactly two Blocks. (no more, no less)
- A portal may have 0 to 2 Signal masts. If a portal has a signal, it faces one of its blocks. A second signal, if it exists, faces the other block. Each signal controls the movement of a train exiting the block it faces and thus the entrance of the train to other block.
- Paths traverse a block. They are implemented as JMRI OPaths, which are
extensions of JMRI Paths.They have the following characteristics:
- A Path has 0 to N turnouts.
- A path has at least one and no more than two portals.
Tables of the Occupancy Block, Portal, Path Frame
Each of the tables in the Occupancy Block, Portal, Path Frame have the last row with blank entries. Entering data into these entries and pressing the 'Enter' key will create a new item in the table. 'Drag and Drop' and 'Copy and Paste' are implemented to provide easy ways to move text from table to table.Columns in the Occupancy Block Table:
Each occupancy block on your layout should be entered as a row of this table.- System Name: The system name of the OBlock. The system letter 'O', and type leter 'B' is used for for 'OBlock' although the implementation is not system-specific. If these letters are not entered they are automatically prepended.
- User Name: The user name of the OBlock.
- Comment: You may enter any text in this field you wish.
- Sensor:The sensor that detects occupancy of the block.
- Length: The length of the Block. This is included for compatibility with JMRI Blocks.
- Units: The unit used to determine the length. (inches or centimeters)
- Curvature: The curvature selected for the track This is included for compatibility with JMRI Blocks.
- Paths: A button that opens the Block-Path table where the paths of this block are entered. This table is described below.
- <Delete: A button to delete the Block. To make the deletion permanent, save your configuration file to disk
Columns in the Portal Table:
The Portal table has columns for the blocks it separates. You do not need to be concerned about the direction of travel through the portal. It does not matter which side of the portal the blocks names are entered, since the algorithms that compute train routes will decipher the correct entrance and exit points.- Block Name: The user or system name of the OBlock on one side of the Portal.
- Portal Name: The portal name. The names of portals must be unique.
- Block Name: The user or system name of the OBlock on the other side of the Portal.
- <Delete: A button to delete the Portal. To make the deletion permanent, save your configuration file to disk
Columns in Signal Table:
For each signal on your layout, make an entry in the Signal Table. This signal will control the actions of any warranted train - changing its speed according to the signal's indication when the train reaches the portal where the signal is placed. That is, the signal 'protects' the blocks beyond the portal. The signal may be either a SignalMast or a SignalHead.- Signal Name: Enter the name of the signal, either the system name or user name. (In the case where the same name is used for both a SignalMast and SignalHead, the SignalMast will be chosen.)
- From (Approach) Block: Enter the name, either system name or user name, of the block that the signal faces. The signal controls the movement of a train exiting from the approach block and entering into the protected block.
- (Through) Portal: Enter the name of the portal where the signal is placed.
- To (Protected) Block: Enter the name, either system name or user name, of the block whose entrance is protected by the signal.
- Delay(ms): (Optional) Enter the time in milliseconds to delay any speed change that may be required by the signal's aspect. (See note below)
How Signal Aspects Or Occupancy Change Speed:
The warrant detects the signal aspect when it enters the approach block and, if needed, prepares to change the speed before it reaches the protected block. Any speed change is ramped down to the speed required by the signal. The above delay time is the time the warranted train will wait before beginning the speed change.Likewise, when the signal indicates a clear or improved speed from a stopped or reduced speed condition, the speed will be ramped up to the allowed or recorded speed.
Columns in Block-Path Tables:
Each block in the Occupancy Block Table will have one or more paths in it. Pressing the Paths button in a row of the Occupancy Block Table will open this table. Direction of the path is immaterial. 'from' and 'to' do not have to correspond to any particular side of the block. They are just portal names for the path that traverses from 'this portal' to 'that portal'.- From Portal: The portal name of one enterance/exit point of the path.
- Path Name: The name of the Path. Path names only have to be unique within the block. E.g, "Westbound Main" could be used as the name in all the blocks of the "Westbound Main" on your layput.
- To Portal Name: The portal name of the other enterance/exit point of the path.
- Turnouts: A button that opens the Block-Path-Turnout table where the turnouts that define the path are entered. This table is described below.
- <Delete: A button to delete the Path. To make the deletion permanent, save your configuration file to disk
Columns in Block-Path-Turnout Tables:
If the path crosses a turnout, then it is necessary to have the turnout in the correct position in order to traverse the path. This table is used to define these settings. (If the path does not cross ant turnouts, this table is left empty.) Note there will be lots of these tables, one for each path in each block of the Occupancy Block Table.- System/User Name: The system or user name of the turnout in the path.
- Turnout Setting: the position of the turnout to make the path
- <Delete: A button to delete the Turnout settings. To make the deletion permanent, save your configuration file to disk
Columns in Block-Portal CrossReference Table:
This is a read only table to assist in identifying all the portals to a block. It lists all the portals that have been defined for each block, grouped under each block heading. It is opened from the Show Block-Portal CrossReference menu item. See below.Menus of the Occupancy Block, Portal, Path Frame
The File Menu
This menu has the standard menu items for saving configuration files and panels.The Edit Menu
This menu has the standard menu items for Cut, Copy and Paste.The Open Tables Menu
This menu has items to open the tables in the Occupancy Block, Portal, Path Frame.- Show Occupancy Block Table: Opens the Occupancy Block window, if it is minimized. This table cannot be closed.
- Show Portal Table: Opens the Portal window, if it is minimized. This table cannot be closed.
- <Show Block-Portal CrossReference: Opens a table window that cross references Portals to their blocks. It organized per block, showing all the portals attached to the block. It is a counterpoint to the Portal Table which is organized per portal.
- Open Block-Path Tables: This is a cascading menu that opens a Path window for a path from a Block. Most likely there will be so many of these windows that the menu will be larger than the screen. It is probably easier to open these windows from the Paths button in a row of the Occupancy Block table.
- Open Block-Path-Turnout Tables:This is a cascading menu that opens a turnout window for a path from a Block. Most likely there will be so many of these windows that the menu will be larger than the screen. It is probably easier to open these windows from the Turnout button in a row in a Block-Path table window.
The Windows Menu
This menu has the standard menu items for opening JMRI window frames.The Help Menu
This menu has the standard menu items for JMRI help.References
To read about how OBlocks, Portals and OPaths can be used to generate train routes and make automated train scripts, see Warrants.
See Creating and Editing OBlocks, Portals and OPaths.
for more details on using these tables.