{"level": "INFO", "message": "PLC Generation Workflow started", "timestamp": "2025-09-09T21:49:18.380365", "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/MTN6_MCM03.xlsx", "project_name": "MTN6_MCM03"} {"level": "INFO", "message": "Starting data processing step", "timestamp": "2025-09-09T21:49:18.380650", "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: 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: ['Templates', 'Devices', 'Instructions', 'IO Assignment MCM03', 'NETWORK', 'Part number', 'MCM03_DESC', 'IO Assignment MCM04', 'DESC_PLC', 'NETWORK_PLC'] Found DESC sheet: DESC_PLC Found NETWORK sheet: NETWORK_PLC DESC columns: ['TAGNAME', 'TERM', 'DESCA', 'DESCB'] NETWORK columns: ['DPM', 'DPM_IP', 'Name', 'PartNumber', 'IP'] Classifying signals and adding IO paths... Signal classification results: SPARE: 414 I: 279 O: 77 IOLink: 1 Device type distribution: APF: 627 M12DR: 80 Hub: 16 IB16: 16 OB16E: 16 IB16S: 16 IO Path mapping results: Successful mappings: 771/771 (100.0%) Found 3 TAGNAMEs present in DESC but not in NETWORK_PLC. Adding unique DPM names not present in DESC or NETWORK_PLC.Name: ['NCP1_1_DPM1', 'NCP1_2_DPM1', 'NCP1_3_DPM1', 'NCP1_5_DPM1'] ================================================================================ WARNING: The following issues were found but processing will continue: ================================================================================ - TAGNAME 'SLOT5_IB16' from DESC sheet not found in NETWORK_PLC sheet. - TAGNAME 'SLOT6_OB16E' from DESC sheet not found in NETWORK_PLC sheet. - TAGNAME 'SLOT7_IB16S' from DESC sheet not found in NETWORK_PLC sheet. ================================================================================ Continuing with processing... Normalizing TAGNAME, DESC, and IO_PATH columns for VFDs only in the final output... Final result has 776 rows Sample of merged data: TAGNAME TERM DESCA ... SIGNAL DEVICE_TYPE IO_PATH 0 PDP5_PMM1 ... NaN NaN NaN 1 SLOT5_IB16 I0 MCM03 ... I IB16 Local:5:I.Data.0 2 SLOT5_IB16 I1 MCM03 ... I IB16 Local:5:I.Data.1 3 SLOT5_IB16 I10 SPARE ... SPARE IB16 Local:5:I.Data.10 4 SLOT5_IB16 I11 SPARE ... SPARE IB16 Local:5:I.Data.11 5 SLOT5_IB16 I12 SPARE ... SPARE IB16 Local:5:I.Data.12 6 SLOT5_IB16 I13 SPARE ... SPARE IB16 Local:5:I.Data.13 7 SLOT5_IB16 I14 SPARE ... SPARE IB16 Local:5:I.Data.14 8 SLOT5_IB16 I15 SPARE ... SPARE IB16 Local:5:I.Data.15 9 SLOT5_IB16 I2 MCM03 ... I IB16 Local:5:I.Data.2 [10 rows x 11 columns] New Excel file created with merged data only: MTN6_MCM03_DESC_IP_MERGED.xlsx DEBUG: Processing Excel file: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/PLC Data Generator/data/MTN6_MCM03.xlsx DEBUG: Full project pattern matched: MTN6_MCM03 DEBUG: Final subsystem name: MTN6_MCM03 Reading input file: MTN6_MCM03_DESC_IP_MERGED.xlsx Removed 1 IOLink rows (including beacons, FIOH channels, and all other IOLink entries) Removed 5 blank name/description rows Saving output file: MTN6_MCM03_OUTPUT.csv Processing complete! Created standard output file: DESC_IP_MERGED.xlsx === Step 1: PLC Data Generator stderr === === Step 1 File Copy Exception === Failed to copy file: [Errno 22] Invalid argument: '/mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/Routines Generator/DESC_IP_MERGED.xlsx' {"level": "ERROR", "message": "Data processing failed", "timestamp": "2025-09-09T21:49:21.410399", "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"}