44 lines
1.6 KiB
Markdown
44 lines
1.6 KiB
Markdown
# Hub IO Path Updates
|
|
|
|
## Overview
|
|
Updated the PLC Data Generator to support two different Hub IO path configurations:
|
|
- **SorterHub**: For hubs with "S0" in their tagname (e.g., S01_FIOH1, S02_FIOH2)
|
|
- **Hub**: For regular hubs without "S0" in their tagname
|
|
|
|
## Changes Made
|
|
|
|
### 1. Excel File Structure (IO-To-Path.xlsx)
|
|
- The original "Hub" sheet has been renamed to "SorterHub"
|
|
- A new "Hub" sheet has been created for regular hub configurations
|
|
- Both sheets maintain the same column structure: IO, IPath, OPath
|
|
|
|
### 2. Code Updates
|
|
|
|
#### io_paths.py
|
|
- Updated `load_io_path_mappings()` to load both Hub and SorterHub sheets
|
|
- Modified `get_io_path()` to automatically select the correct sheet based on tagname:
|
|
```python
|
|
if device_type == 'Hub':
|
|
# Check if the hub has S0 in its name to determine which sheet to use
|
|
if 'S0' in str(tagname).upper():
|
|
df = sorter_hub_df
|
|
else:
|
|
df = hub_df
|
|
```
|
|
|
|
#### main.py
|
|
- Updated to handle the additional sorter_hub_df parameter from load_io_path_mappings()
|
|
- Passes sorter_hub_df to process_data()
|
|
|
|
#### process.py
|
|
- Updated function signature to accept sorter_hub_df parameter
|
|
- Passes sorter_hub_df to get_io_path() calls
|
|
|
|
## Usage
|
|
No changes required from the user perspective. The system automatically:
|
|
1. Detects if a hub tagname contains "S0"
|
|
2. Uses the appropriate IO path mapping sheet
|
|
3. Generates correct IO paths based on the hub type
|
|
|
|
## Testing
|
|
Tested successfully with MCM01 data, showing proper loading of both Hub sheets and 100% successful IO path mappings. |