SELConnect is a Python-based automation toolkit that streamlines the configuration of SEL relays by automatically generating configuration files from centralized data sources. This enhanced version uses the official SEL_RDB library to create perfect RDB files that work directly with QuickSet.
- Perfect RDB Generation: Automatically generates true compound RDB files using the SEL_RDB library
- Direct QuickSet Compatibility: Generated files can be read directly by QuickSet without import
- Batch Processing: Supports batch configuration for multiple relays (10-50 units)
- Multiple Output Formats: Generates both perfect RDB files and SCL XML files for RTAC integration
- Error Reduction: Eliminates manual programming errors by automating the configuration process
- Standardization: Ensures consistent configuration across all relays through centralized data management
- Python Automation: Core scripts parse a Master CSV containing all relay settings and generate individual configuration files for each relay
- SEL_RDB Integration: Uses the official SEL_RDB library (https://github.com/AoufNihed/SEL_RDB) for perfect RDB file generation
- Relay Support: Supports various SEL relay models including SEL-710, SEL-751, SEL-351, SEL-487E
- Integration: Generated files are compatible with SEL QuickSet for relay programming and can be imported into SEL Architect for RTAC integration (DNP3/IEC61850 protocols)
- Data Organization: All relay parameters (e.g., FLA, CTR, VNOM) are consolidated in a single CSV, with automated reporting for transparency and standardization
- cli.py: Command-line interface for running extraction and generation tasks
- multi_generator.py: Generates configuration files for multiple relays based on the Master CSV
- rdb_parser.py: Low-level parser for SEL RDB files (regex-based)
- extractor.py: Extracts relay settings from RDB files using mapping definitions
- enhanced_rdb_generator.py: Core implementation using SEL_RDB library for perfect RDB generation
- csv_report.py: Generates summary reports and exports processed data to CSV
- Problem: Manual relay setup in QuickSet is time-consuming and prone to human error
- Solution: Python scripts automatically generate perfect RDB files from the Master CSV, ensuring consistency and accuracy
- Problem: Manual management of dozens of relays is inefficient and error-prone
- Solution: The Master CSV and generator produce ready-to-use perfect RDB files for each relay, simplifying bulk operations
- Problem: Manual setup of communication protocols (DNP3/IEC61850) in Architect is complex
- Solution: Pre-generated configuration files can be directly imported into Architect, allowing RTAC to distribute settings automatically
- Problem: Tracking relay values (FLA, CTR, VNOM, etc.) is difficult when data is scattered
- Solution: All data is organized in a single CSV, with automated reports for easy auditing and standardization
# Generate a single perfect RDB file
python -m selprotopy.cli generate --csv config.csv --out relay.rdb --perfect
# Generate perfect RDB files for multiple relays
python -m selprotopy.multi_generator --csv Master.csv --out output_directory --perfect- Python 3.9+
- SEL QuickSet
- SEL Architect
- RTAC (for integration)
- SEL_RDB library
- File size: ~55KB (vs ~300 bytes for text files)
- Format: OLE2 structured storage (compound document)
- Usage: Direct reading by QuickSet
- Structure: Proper internal directory with streams
- Developed by AOUF Nihed during internship at Ateam Pro-tech
- Project uses setuptools for packaging
- Includes comprehensive unit tests for all major modules
- Command-line interface available via
selprotopy-extractcommand - Enhanced with official SEL_RDB library integration for perfect RDB generation
This enhanced project significantly reduces the time and effort required to configure multiple SEL relays while ensuring consistency and reducing human error in the process, using the official SEL_RDB library for perfect compatibility.
