Use Cases: Learning & Planning , Signaling Systems
CDI Configuration Assistant
Table of contents
Introduction
The CDI Configuration Assistant (.ods) is a powerful tool designed to streamline the creation of signaling configurations for the LCC Fusion Project. This spreadsheet-based solution simplifies the process by enabling users to define and organize their configurations in a structured format. Once completed, these configurations can be saved as restorable files, ensuring seamless compatibility with the CDI Configuration Tools. By using this assistant, users can efficiently manage complex signaling setups, reduce configuration errors, and maintain easily restorable backups for their LCC Fusion systems.
This configuration assistant utilizes a CDI_Configuration_Assistant.ods
(LibreOffice Calc) file as a powerful tool designed to help you generate customized CDI configuration snippets for use with your signaling system. Follow the steps below to understand how to use the spreadsheet to create your own CDI examples:
LibreOffice is Free Software that includes support for spreadsheets. There are 2 version available, standard LibreOffice, or LibreOffice Portable. Both Calc a free spreadsheet program for use with ODS files (.ods). See references below for more information about LibreOffice installation options.
Purpose of the Spreadsheet
The spreadsheet simplifies the process of creating CDI configurations by:
- Providing a user-friendly interface for entering values and generating structured configurations.
- Automating the generation of event IDs, aspect mappings, and signal mast configurations.
- Exporting ready-to-use CDI snippets in
.txt
format for use with JMRI or other CDI configuration tools. - Incrementally adding CDI information to an LCC Fusion Node.
Layout of the Spreadsheet
Key Sections
- Input Fields
- Help text (hover)
- Dropdowns and validations ensure correct input formats.
- Protected cells for non-input fields
- Dynamic text and calculations based on user selections
- Color code fields indicating; information (blue/gray), pending input (yellow), selections made (orange), and information pending (red/pink)
- Signal Mast Input Fields:
- Located in a separate sheet from the Logic statements
- Enter values for signal mast names, event IDs, rules, and aspect mappings.
- Logics and Conditionals Input Fields
- Located in their own shield.
- Inputs to define
if-then-else
conditions and operations - Inputs to define source of conditions; Event IDs or Track Circuit Speed)
- Enter values for Node ID, Condition’s source, operation and trigger.
- Generated CDI Output:
- Found in columns
I
andM
. - Displays the generated CDI snippet based on the inputs.
- Updates dynamically as you modify the input fields.
- Found in columns
- Documentation Section:
- Used defined description fields for;
- describing downstream dependencies for the aspect
- Logic statement (IF-THEN-ELSE)
- Graphics input area and toolkit for simple signaling schematic.
- Used defined description fields for;
- Helper Tables:
- Found in hidden sheets or lower sections of the main sheet.
- Contains reference data for dropdowns, validations, and mappings.
Custom Toolbar: LCC Fusion Project
This toolbar provides a set of specialized tools and commands to enhance your workflow with the CDI Configuration Assistant and simplify configuration tasks for the LCC Fusion Project. Below is an overview of its key functions:
Logic Management
- Assistant: Launch the assistant for streamlined configuration tasks.
- View First Logic: Quickly navigate to the first logic block in the configuration.
- View Last Logic: Jump directly to the last logic block in the configuration.
- Append Logic: Add a new logic block to the configuration.
- Delete Logic: Remove the selected logic block.
- Copy Logic: Duplicate the selected logic block.
- Move Logic: Relocate a logic block to a different position within the configuration.
CDI File Handling
- Save CDI to File: Save the current configuration as a restorable CDI file.
- View CDI: Open and view the generated CDI configuration for review and validation.
- Toggle Masts CDI Viewer: Switch the display for signal mast configurations in the CDI viewer.
Sheet Management
- Print Tab (Sheet): Print the currently active sheet.
- Protect/Unprotect Tab (Sheet): Toggle protection for the active sheet to prevent unintended edits.
- Delete Tab (Sheet): Remove the currently active sheet from the document.
- Duplicate Tab (Sheet): Create a duplicate of the active sheet, including its configurations.
Clipboard Utilities
- Copy Cell Data: Copy data from the selected cell(s).
- Paste Data to Cell: Paste copied data into the selected cell(s).
General Tools
- Save Document: Save all changes to the current document.
3. Generating a CDI Example
For this example, we’ll configure a STOP/APPROACH aspects for a mast with a single 2-lamp head. A Block Occupancy Detection Card (BOD Card) will be used to determine if the downstream block is occupied or unoccupied.
The following are the steps to generating a file for use with a CDI Configuration Tool to restore the information to a Node.
- Copy the default Logic tab to a new tab and rename the tab to
Logic-EventID-2-lamp
to reflect that this a Logic CDI configuration for a 2-lamp signal head.
Step 1: Input Values
- Open the spreadsheet and navigate to the input section.
- Fill in the required fields:
- Signal Mast Name: Provide a unique identifier for your signal mast.
- Event IDs: Define the event IDs for your rules and aspects. Use the
Generate Event ID
macro if applicable. - Rules and Aspects: Map rules (e.g., “Stop,” “Proceed”) to aspects (e.g., “Red,” “Green”).
Step 2: View the Generated CDI
- Check the
Generated CDI Output
section (columnsI
andM
). - Review the automatically generated CDI snippet to ensure it matches your input.
Step 3: Export the CDI Snippet
-
Use the
Export CDI
macro to save the generated snippet as a
.txt
file:
- Click the Export CDI button.
- Select a folder and provide a filename (e.g.,
SignalMast_Basic.txt
). - The snippet is saved and ready for use.
4. Example Workflow
Scenario: Generating a Basic Signal Mast Configuration
-
Input Details:
- Signal Mast Name:
MainLineSignal
- Event IDs:
- Stop Event ID:
100
- Proceed Event ID:
101
- Stop Event ID:
- Rule Mapping:
- Stop → Red
- Proceed → Green
- Signal Mast Name:
-
Generated CDI:
-
Columns
I
and
M
display:
Signal Masts and Track Circuits.Signal Mast Configuration(0).Card Information Configuration.Reference ID=100 Signal Masts and Track Circuits.Signal Mast Configuration(0).Rule To Aspect Mapping Configuration(0).Rules Configuration(0).Rule Name=Stop Signal Masts and Track Circuits.Signal Mast Configuration(0).Rule To Aspect Mapping Configuration(0).Rules Configuration(0).Set Aspect Event ID=100
-
-
Export:
- Click the Export CDI button and save the snippet as
MainLineSignal.txt
.
- Click the Export CDI button and save the snippet as
-
Load into JMRI:
- Open JMRI or another CDI configuration tool and import the snippet.
5. Tips and Best Practices
- Dropdowns and Validations:
- Use the dropdowns in the input fields to ensure values are valid.
- Invalid inputs might result in incorrect CDI outputs.
- Export Multiple Examples:
- Create multiple CDI snippets for different configurations and export them as separate
.txt
files.
- Create multiple CDI snippets for different configurations and export them as separate
- Backup Your Spreadsheet:
- Always save a copy of your completed spreadsheet before making significant changes.
- Using Generated Event IDs:
- If your event IDs are generated dynamically, note the pattern or formula used for consistency across configurations.
6. Troubleshooting
- Generated CDI is Incorrect:
- Double-check your inputs for errors or missing values.
- Ensure all required fields are filled out.
- Macros Not Working:
- Enable macros in Excel by adjusting security settings:
- Go to File > Options > Trust Center > Trust Center Settings > Macro Settings and enable macros.
- Ensure the file is saved as
.xlsm
and not.xlsx
.
- Enable macros in Excel by adjusting security settings:
- Event ID Conflicts:
- Verify that no two configurations use the same event ID unless intentional.
7. Updating the Spreadsheet
If you need to add new rules, aspects, or configurations, you can:
- Update the helper tables in the spreadsheet to include the new data.
- Adjust any dependent formulas or macros to handle the new configurations.
References
-
Comparison table between LibreOffice Portable and the Standard LibreOffice installation, both providing the Calc program for use with the signal generator’s spreadsheet file (.ods).
Feature LibreOffice Portable Standard LibreOffice Installation Installation No installation required; runs from any directory or removable media. Requires installation on the system’s hard drive. System Integration Does not modify system registry or file associations; operates independently. Integrates with the operating system; associates with relevant file types for direct opening. Portability Can be run from USB drives or cloud storage across multiple Windows systems without installation. Fixed to the installed machine; not designed for portability. Performance May have slightly slower startup times, especially when run from slower USB drives. Generally offers faster startup and operation due to full system integration. Updates Manual updates; users need to download and replace the portable version to update. Supports automatic updates through the system’s package manager or built-in update feature. User Permissions Suitable for environments with restricted user permissions; does not require administrative rights to run. Installation typically requires administrative rights. File Associations Does not create file associations; users must open files from within the application. Creates file associations, allowing users to open files directly with a double-click. Use Cases Ideal for use on multiple systems, carrying on removable media, or in environments where installation is restricted. Best for dedicated use on a single system with full integration and performance. Note: Both versions offer the same features and functionalities within the applications themselves; differences primarily pertain to installation, system integration, and portability.