JMRI: OBlock Table Help
Author: Bob Jacobsen
Keywords: JMRI help OBlock Table

# The Occupancy Block (OBlock) Tables

Under development, see OBlock Help

OBlocks may be set up manually in the OBlock Table, using a script, or automatically in a Control Panel Editor - Circuit Builder. When a Block is defined in a Layout Editor Panel, a new Block is created if one does not already exist.

In Layout Editor, Blocks are identified by their User Name, so if a Block shown in the Block Table is used in a Layout Editor Panel, its User Name should not be changed here.
If you want to change the User Name of a Block used in a Layout Editor Panel, make the change in the Layout Editor, not in the Block Table.

## Blocks & Paths

To complete the definition of a Block, Paths and Bean Settings must be attached to each Block.
Paths describe entry points to the Block. Each Block has one or more Paths associated with it. Sometimes a Turnout must be set a certain way to use a Path; Bean Settings carry that information. Paths and Bean Settings are set up automatically for Blocks defined in a Layout Editor Panel. They can also be set up in a script. There is currently no way to manually enter Paths or Bean Settings. Paths and Bean Settings are not shown in the Block Table, and are mentioned here only for completeness.

For use in automatically running Trains, a Length attribute and a Curvature attribute may optionally be assigned to a Block. These optional attributes are entered manually in this Table. If Trains will not be run automatically through a Block, there is no need to add these attributes.

## Columns in the Block Table

(You may change the order of the columns by dragging their titles, and sort the rows by clicking one of the sort triangles next to a column title)

- System Name - The System Name of the Block. There is no functional requirement for a type letter in the System Name of a Block, but by convention we use 'B' for 'Block'. The default implementation is not system-specific, so a system letter of 'I' is appropriate. This leads to system names like "IB201".

- User Name - The User Name of the Block. The User Name of a Block created here may be set to any text. The User Name for a Block created by Layout Editor is set by Layout Editor and should not be changed.

- Value - This is the string value of whatever object the Block is carrying. Usually, this will either be a message or a Throttle object. If you modify this, it's stored in the Block as a string. There is currently no way to manually add a Throttle object to a Block from the table. More information on Block tracking

- Comment - You may enter any text in this field that will help you distinguish this Block from other Blocks, or provide useful notes about its use.

- Delete - Click the Delete button in any row to delete the Block in that row from the list of Blocks in the program. You must save your configuration (and any Panels present) to disk to make the deletion permanent. Deletion can not be undone. Caution: Make sure you remove all references to a Block before deleting it. JMRI will show a warning if you haven't done so. Blocks are referenced in the Paths of other Blocks, in some scripts, and in Layout Editor Panels.

Add OBlock...
  Push this button to create a new OBlock.
Block Length Units
  Choose between showing the Block Length (measured in real world units on the layout) in either inches or centimeters.
  Existing values will be converted.

## Adding a new OBlock

To add a new OBlock, see Adding Blocks.

## Editing an existing OBlock

To check or change the properties of a Block, click the Edit button to the right of a Block entry in the OBlock Table, see Edit Block.

More on Block Tracking

Using OBlocks with Control Panel Editor

Back to the Blocks Help page