{"level": "INFO", "message": "PLC Generation Workflow started", "timestamp": "2025-08-23T23:57:28.507409", "module": "__main__", "file": "logging_config.py", "line": 126, "function": "_log_with_context", "pathname": "/mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/Routines Generator/src/logging_config.py", "excel_file": "/mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/PLC Data Generator/data/SAT9_MCM02_fixed.xlsx", "project_name": "SAT9_MCM02"} {"level": "INFO", "message": "Starting data processing step", "timestamp": "2025-08-23T23:57:28.507759", "module": "__main__", "file": "logging_config.py", "line": 128, "function": "_log_with_context", "pathname": "/mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/Routines Generator/src/logging_config.py"} === Step 1 Error === Data processing failed === Step 1: PLC Data Generator stdout === Loading IO path mappings... Loaded IO path mappings: APF: 11 rows M12DR: 16 rows Hub: 16 rows SorterHub: 16 rows SIO: 16 rows IB16: 16 rows OB16E: 16 rows IB16S: 16 rows Available sheets: ['NETWORK', 'DESC_PLC'] Found DESC sheet: DESC_PLC Found NETWORK sheet: None CRITICAL: Required sheets 'DESC_PLC' and 'NETWORK_PLC' not found in the Excel file. === Step 1: PLC Data Generator stderr === {"level": "ERROR", "message": "Data processing failed", "timestamp": "2025-08-23T23:57:31.566127", "module": "__main__", "file": "logging_config.py", "line": 128, "function": "_log_with_context", "pathname": "/mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/Routines Generator/src/logging_config.py"}