{"level": "INFO", "message": "PLC Generation Workflow started", "timestamp": "2025-09-01T14:18:44.049926", "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_MCM05.xlsx", "project_name": "MTN6_MCM05"} {"level": "INFO", "message": "Starting data processing step", "timestamp": "2025-09-01T14:18:44.050539", "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 MCM05', 'NETWORK', 'Part Number', 'MCM05_DESC', 'DESC_PLC', 'NETWORK_PLC'] Found DESC sheet: DESC_PLC Found NETWORK sheet: NETWORK_PLC DESC columns: ['TAGNAME', 'TERM', 'DESCA', 'DESCB', 'Unnamed: 4'] NETWORK columns: ['DPM', 'DPM_IP', 'Name', 'PartNumber', 'IP'] Classifying signals and adding IO paths... Signal classification results: SPARE: 905 I: 685 O: 382 IOLink: 184 Device type distribution: M12DR: 912 Hub: 880 APF: 300 SIO: 16 IB16: 16 OB16E: 16 IB16S: 16 IO Path mapping results: Successful mappings: 2144/2156 (99.4%) Found 12 entries with missing IO path mappings. Found 3 TAGNAMEs present in DESC but not in NETWORK_PLC. Adding unique DPM names not present in DESC or NETWORK_PLC.Name: ['FL2086_DPM1', 'FL4070_DPM1', 'PRS1_3_DPM1', 'PS8_5_DPM1', 'VSB_DPM1', 'VSB_DPM2', 'VSB_DPM3', 'VSD_DPM1', 'VSD_DPM2', 'VSD_DPM3'] ================================================================================ WARNING: The following issues were found but processing will continue: ================================================================================ - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'I' to channel number 'IO4'. (DESCA: 'PS8_4_EPC3') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'I' to channel number 'IO5'. (DESCA: 'PS8_4_EPC3_2') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'I' to channel number 'IO6'. (DESCA: 'PS8_4_EPC4') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'I' to channel number 'IO7'. (DESCA: 'PS8_4_EPC4_2') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'O' to channel number 'IO8'. (DESCA: 'PS8_4_VFD1_STO') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'SPARE' to channel number 'IO9'. (DESCA: 'SPARE') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'O' to channel number 'IO10'. (DESCA: 'PS8_5_VFD1_STO') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'SPARE' to channel number 'IO11'. (DESCA: 'SPARE') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'I' to channel number 'IO12'. (DESCA: 'PS8_4_FIOH1') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'SPARE' to channel number 'IO13'. (DESCA: 'SPARE') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'SPARE' to channel number 'IO14'. (DESCA: 'SPARE') - On device 'PS8_4_SIO1' (SIO), cannot connect signal 'SPARE' to channel number 'IO15'. (DESCA: 'SPARE') - 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 2252 rows Sample of merged data: TAGNAME TERM ... DEVICE_TYPE IO_PATH 0 PS8_4_SIO1 IO0 ... SIO PS8_4_SIO1_Data.Inputs.X7_A 1 PS8_4_SIO1 IO1 ... SIO PS8_4_SIO1_Data.Inputs.X7_B 2 PS8_4_SIO1 IO10 ... SIO None 3 PS8_4_SIO1 IO11 ... SIO None 4 PS8_4_SIO1 IO12 ... SIO None 5 PS8_4_SIO1 IO13 ... SIO None 6 PS8_4_SIO1 IO14 ... SIO None 7 PS8_4_SIO1 IO15 ... SIO None 8 PS8_4_SIO1 IO2 ... SIO PS8_4_SIO1_Data.Inputs.X8_A 9 PS8_4_SIO1 IO3 ... SIO PS8_4_SIO1_Data.Inputs.X8_B [10 rows x 12 columns] New Excel file created: MTN6_MCM05_DESC_IP_MERGED.xlsx The file contains all original sheets plus the new 'DESC_IP' sheet with merged data. DEBUG: Processing Excel file: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/PLC Data Generator/data/MTN6_MCM05.xlsx DEBUG: Full project pattern matched: MTN6_MCM05 DEBUG: Final subsystem name: MTN6_MCM05 Reading input file: MTN6_MCM05_DESC_IP_MERGED.xlsx Removed 184 IOLink rows (including beacons, FIOH channels, and all other IOLink entries) Added 313 rows for beacon lights Removed 96 blank name/description rows Saving output file: MTN6_MCM05_OUTPUT.csv Processing complete! Created standard output file: DESC_IP_MERGED.xlsx === Step 1: PLC Data Generator stderr === === Step 1 File Copy === Copied MTN6_MCM05_DESC_IP_MERGED.xlsx to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/Routines Generator/DESC_IP_MERGED.xlsx {"level": "INFO", "message": "Data processing completed successfully", "timestamp": "2025-09-01T14:18:47.941360", "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"} {"level": "INFO", "message": "Starting routine generation step", "timestamp": "2025-09-01T14:18:47.941584", "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"} {"level": "INFO", "message": "Logging to file: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/logs/workflow_MTN6_MCM05_20250901_141844.log", "timestamp": "2025-09-01T14:18:49.601814", "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"} {"level": "INFO", "message": "=== Generating All PLC Artifacts ===", "timestamp": "2025-09-01T14:18:49.603568", "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"} {"level": "INFO", "message": "Generating SafetyProgram L5X...", "timestamp": "2025-09-01T14:18:49.603745", "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"} {"level": "WARNING", "message": "LimitedSafetyProgramGenerator is deprecated; using ModernSafetyProgramGenerator", "timestamp": "2025-09-01T14:18:49.612649", "module": "src.container", "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"} {"level": "INFO", "message": "Starting ModernSafetyProgramGenerator generation", "timestamp": "2025-09-01T14:18:49.612847", "module": "ModernSafetyProgramGenerator", "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"} {"level": "DEBUG", "message": "Creating SafetyProgram XML structure", "timestamp": "2025-09-01T14:18:49.612979", "module": "ModernSafetyProgramGenerator", "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"} {"level": "DEBUG", "message": "Registered plugin: main_routine (core)", "timestamp": "2025-09-01T14:18:49.622284", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: apf (device)", "timestamp": "2025-09-01T14:18:49.626799", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: belt_tracking (device)", "timestamp": "2025-09-01T14:18:49.629904", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: cb_monitor (device)", "timestamp": "2025-09-01T14:18:49.633039", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: d2c_chute (device)", "timestamp": "2025-09-01T14:18:49.636328", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: dpm (device)", "timestamp": "2025-09-01T14:18:49.639311", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: encoder (device)", "timestamp": "2025-09-01T14:18:49.642473", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: estops (safety)", "timestamp": "2025-09-01T14:18:49.649275", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: estop_check (safety)", "timestamp": "2025-09-01T14:18:49.652285", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: extendo (device)", "timestamp": "2025-09-01T14:18:49.655324", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: fioh (device)", "timestamp": "2025-09-01T14:18:49.658558", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: fiom (device)", "timestamp": "2025-09-01T14:18:49.661397", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: flow_ctrl (device)", "timestamp": "2025-09-01T14:18:49.665341", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: fpe (device)", "timestamp": "2025-09-01T14:18:49.668425", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: inputs (safety)", "timestamp": "2025-09-01T14:18:49.671482", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: jpe (device)", "timestamp": "2025-09-01T14:18:49.674689", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: mcm (core)", "timestamp": "2025-09-01T14:18:49.678081", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: outputs (safety)", "timestamp": "2025-09-01T14:18:49.682262", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: pb_chute (device)", "timestamp": "2025-09-01T14:18:49.686497", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: pmm (device)", "timestamp": "2025-09-01T14:18:49.690267", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: rack (core)", "timestamp": "2025-09-01T14:18:49.693662", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: resets (safety)", "timestamp": "2025-09-01T14:18:49.697292", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: safety_tag_map (core)", "timestamp": "2025-09-01T14:18:49.701310", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: speed_ctrl (device)", "timestamp": "2025-09-01T14:18:49.704504", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: station_epc (safety)", "timestamp": "2025-09-01T14:18:49.707932", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: station_jr_chute (device)", "timestamp": "2025-09-01T14:18:49.711245", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: station_jr_pb (device)", "timestamp": "2025-09-01T14:18:49.714189", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: station_ss_pb (device)", "timestamp": "2025-09-01T14:18:49.717579", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: station_s_pb (device)", "timestamp": "2025-09-01T14:18:49.720546", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: taching_belts (device)", "timestamp": "2025-09-01T14:18:49.723630", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "DEBUG", "message": "Registered plugin: zones (safety)", "timestamp": "2025-09-01T14:18:49.727690", "module": "src.plugin_system", "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", "stage": "plugin_discovery"} {"level": "INFO", "message": "Generating safety routines...", "timestamp": "2025-09-01T14:18:49.727891", "module": "ModernSafetyProgramGenerator", "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"} {"level": "DEBUG", "message": "Generating routine: inputs", "timestamp": "2025-09-01T14:18:50.567525", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: inputs", "timestamp": "2025-09-01T14:18:50.580079", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: outputs", "timestamp": "2025-09-01T14:18:50.584062", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Zones: subsystem key", "timestamp": "2025-09-01T14:18:50.585532", "module": "src.data_loader", "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", "subsystem": "DEFAULT", "found": false} {"level": "DEBUG", "message": "Zones: heuristic best match", "timestamp": "2025-09-01T14:18:50.673497", "module": "src.data_loader", "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", "best_key": "MCM05", "score": 12} {"level": "DEBUG", "message": "Zones: loaded", "timestamp": "2025-09-01T14:18:50.674079", "module": "src.data_loader", "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", "rows": 6} {"level": "INFO", "message": "Successfully generated routine: outputs", "timestamp": "2025-09-01T14:18:50.675546", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: resets", "timestamp": "2025-09-01T14:18:50.675840", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: resets", "timestamp": "2025-09-01T14:18:50.682324", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: zones", "timestamp": "2025-09-01T14:18:50.682573", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL2074_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.684144", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL2078_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.684496", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL2086_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.684823", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL2090_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.685117", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL2094_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.685423", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL4066_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.685708", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL4070_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.685951", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL4074_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.686200", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL4078_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.686443", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for FL4082_1: {'ESTOP1'}", "timestamp": "2025-09-01T14:18:50.686650", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for PRS1_6: {'EPC1', 'EPC2'}", "timestamp": "2025-09-01T14:18:50.687004", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for PRS2_1: {'EPC1', 'EPC2'}", "timestamp": "2025-09-01T14:18:50.687359", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for PS8_11: {'EPC1'}", "timestamp": "2025-09-01T14:18:50.687677", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for PS8_1: {'EPC1'}", "timestamp": "2025-09-01T14:18:50.687997", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for PS8_2: {'EPC1', 'EPC2'}", "timestamp": "2025-09-01T14:18:50.688403", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for PS8_5: {'EPC1', 'EPC2'}", "timestamp": "2025-09-01T14:18:50.688770", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for PS9_2: {'EPC1', 'EPC2'}", "timestamp": "2025-09-01T14:18:50.689283", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for PS9_3: {'EPC1'}", "timestamp": "2025-09-01T14:18:50.689656", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for ULC1_3: {'EPC1', 'EPC2'}", "timestamp": "2025-09-01T14:18:50.690044", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for ULC2_3: {'EPC1'}", "timestamp": "2025-09-01T14:18:50.690409", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for ULC3_3: {'EPC1'}", "timestamp": "2025-09-01T14:18:50.690757", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Found DCS controllers for ULC4_3: {'EPC1'}", "timestamp": "2025-09-01T14:18:50.691102", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Available DCS controllers: {'FL2074_1': {'ESTOP1'}, 'FL2078_1': {'ESTOP1'}, 'FL2086_1': {'ESTOP1'}, 'FL2090_1': {'ESTOP1'}, 'FL2094_1': {'ESTOP1'}, 'FL4066_1': {'ESTOP1'}, 'FL4070_1': {'ESTOP1'}, 'FL4074_1': {'ESTOP1'}, 'FL4078_1': {'ESTOP1'}, 'FL4082_1': {'ESTOP1'}, 'PRS1_6': {'EPC1', 'EPC2'}, 'PRS2_1': {'EPC1', 'EPC2'}, 'PS8_11': {'EPC1'}, 'PS8_1': {'EPC1'}, 'PS8_2': {'EPC1', 'EPC2'}, 'PS8_5': {'EPC1', 'EPC2'}, 'PS9_2': {'EPC1', 'EPC2'}, 'PS9_3': {'EPC1'}, 'ULC1_3': {'EPC1', 'EPC2'}, 'ULC2_3': {'EPC1'}, 'ULC3_3': {'EPC1'}, 'ULC4_3': {'EPC1'}}", "timestamp": "2025-09-01T14:18:50.691271", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Zone 05-01 candidates: ['ULC1_1', 'ULC1_2', 'ULC1_3', 'ULC2_1', 'ULC2_2', 'ULC2_3', 'UL3_1', 'UL3_2', 'UL3_3', 'UL4_1', 'UL4_2', 'UL4_3', 'PS8_1', 'PS8_2', 'PRS2_1']", "timestamp": "2025-09-01T14:18:50.691747", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base UL3_1 in zone 05-01", "timestamp": "2025-09-01T14:18:50.691938", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base UL3_2 in zone 05-01", "timestamp": "2025-09-01T14:18:50.692092", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base UL3_3 in zone 05-01", "timestamp": "2025-09-01T14:18:50.692226", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base UL4_1 in zone 05-01", "timestamp": "2025-09-01T14:18:50.692355", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base UL4_2 in zone 05-01", "timestamp": "2025-09-01T14:18:50.692493", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base UL4_3 in zone 05-01", "timestamp": "2025-09-01T14:18:50.692631", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base ULC1_1 in zone 05-01", "timestamp": "2025-09-01T14:18:50.692749", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base ULC1_2 in zone 05-01", "timestamp": "2025-09-01T14:18:50.692869", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base ULC2_1 in zone 05-01", "timestamp": "2025-09-01T14:18:50.692991", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base ULC2_2 in zone 05-01", "timestamp": "2025-09-01T14:18:50.693106", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Zones: rung", "timestamp": "2025-09-01T14:18:50.693228", "module": "src.routines.zones", "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", "zone": "05-01", "interlock": "MCM05", "dcs_list": ["PRS2_1_EPC1_DCS_CTRL.O1", "PRS2_1_EPC2_DCS_CTRL.O1", "PS8_1_EPC1_DCS_CTRL.O1", "PS8_2_EPC1_DCS_CTRL.O1", "PS8_2_EPC2_DCS_CTRL.O1", "ULC1_3_EPC1_DCS_CTRL.O1", "ULC1_3_EPC2_DCS_CTRL.O1", "ULC2_3_EPC1_DCS_CTRL.O1"]} {"level": "DEBUG", "message": "Zone 05-02 candidates: ['PS8_4', 'PS8_5']", "timestamp": "2025-09-01T14:18:50.693558", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base PS8_4 in zone 05-02", "timestamp": "2025-09-01T14:18:50.693727", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Zones: rung", "timestamp": "2025-09-01T14:18:50.693867", "module": "src.routines.zones", "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", "zone": "05-02", "interlock": "MCM05", "dcs_list": ["PS8_5_EPC1_DCS_CTRL.O1", "PS8_5_EPC2_DCS_CTRL.O1"]} {"level": "DEBUG", "message": "Zone 05-03 candidates: ['PS9_2', 'PS9_3']", "timestamp": "2025-09-01T14:18:50.694170", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Zones: rung", "timestamp": "2025-09-01T14:18:50.694346", "module": "src.routines.zones", "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", "zone": "05-03", "interlock": "MCM05", "dcs_list": ["PS9_2_EPC1_DCS_CTRL.O1", "PS9_2_EPC2_DCS_CTRL.O1", "PS9_3_EPC1_DCS_CTRL.O1"]} {"level": "DEBUG", "message": "Zone 05-04 candidates: ['PS8_11']", "timestamp": "2025-09-01T14:18:50.694694", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Zones: rung", "timestamp": "2025-09-01T14:18:50.694921", "module": "src.routines.zones", "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", "zone": "05-04", "interlock": "MCM05", "dcs_list": ["PS8_11_EPC1_DCS_CTRL.O1"]} {"level": "DEBUG", "message": "Zone 05-05 candidates: ['PRS1_6', 'PRS1_7']", "timestamp": "2025-09-01T14:18:50.695281", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "No DCS controllers found for base PRS1_7 in zone 05-05", "timestamp": "2025-09-01T14:18:50.695494", "module": "src.routines.zones", "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"} {"level": "DEBUG", "message": "Zones: rung", "timestamp": "2025-09-01T14:18:50.695683", "module": "src.routines.zones", "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", "zone": "05-05", "interlock": "MCM05", "dcs_list": ["PRS1_6_EPC1_DCS_CTRL.O1", "PRS1_6_EPC2_DCS_CTRL.O1"]} {"level": "INFO", "message": "Successfully generated routine: zones", "timestamp": "2025-09-01T14:18:50.695886", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: estops", "timestamp": "2025-09-01T14:18:50.696075", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: estops", "timestamp": "2025-09-01T14:18:50.702567", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Safety routine generation results: {'inputs': True, 'outputs': True, 'resets': True, 'zones': True, 'estops': True}", "timestamp": "2025-09-01T14:18:50.702883", "module": "ModernSafetyProgramGenerator", "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"} {"level": "DEBUG", "message": "Added safety tag map with 29 tags", "timestamp": "2025-09-01T14:18:50.706913", "module": "ModernSafetyProgramGenerator", "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"} {"level": "INFO", "message": "Routines created (6): MainRoutine, R010_INPUTS, R011_OUTPUTS, R012_RESETS, R020_ESTOPS, R030_ZONES", "timestamp": "2025-09-01T14:18:50.707093", "module": "ModernSafetyProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R010_INPUTS: 65 rungs | example: XIC(Local:7:I.Pt02.Status)XIC(Local:7:I.Pt03.Status)OTE(MCM_EPB_STATUS);", "timestamp": "2025-09-01T14:18:50.707232", "module": "ModernSafetyProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R011_OUTPUTS: 5 rungs | example: XIC(EStop_MCM_OK)XIC(EStop_05_01_OK)[OTE(PRS2_1_VFD1:SO.STOOutput),OTE(PS8_1_VFD1:SO.STOOutput),OTE(PS8_2_VFD1:SO.STOOutput),OTE(ULC1_1_VFD1:SO.STOOutput),OT...", "timestamp": "2025-09-01T14:18:50.707356", "module": "ModernSafetyProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R012_RESETS: 18 rungs | example: [XIC(SFT_PRS1_6_S1_PB) ,XIC(SFT_MCM_S_PB)]OTE(RST_PRS1_6_EPC1_ESTOP);", "timestamp": "2025-09-01T14:18:50.707473", "module": "ModernSafetyProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R030_ZONES: 6 rungs | example: XIC(PRS2_1_EPC1_DCS_CTRL.O1)XIC(PRS2_1_EPC2_DCS_CTRL.O1)XIC(PS8_1_EPC1_DCS_CTRL.O1)XIC(PS8_2_EPC1_DCS_CTRL.O1)XIC(PS8_2_EPC2_DCS_CTRL.O1)XIC(ULC1_3_EPC1_DCS_...", "timestamp": "2025-09-01T14:18:50.707598", "module": "ModernSafetyProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R020_ESTOPS: 29 rungs | example: DCS(MCM_EPB_DCS_CTRL,EMERGENCY STOP,EQUIVALENT - ACTIVE HIGH,500,MANUAL,AUTOMATIC,Local:7:I.Pt02.Data,Local:7:I.Pt03.Data,MCM_EPB_STATUS,SFT_MCM_S_PB);", "timestamp": "2025-09-01T14:18:50.707785", "module": "ModernSafetyProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- MainRoutine: 1 rungs | example: [JSR(R010_INPUTS,0) ,JSR(R011_OUTPUTS,0) ,JSR(R012_RESETS,0) ,JSR(R020_ESTOPS,0) ,JSR(R030_ZONES,0) ];", "timestamp": "2025-09-01T14:18:50.707911", "module": "ModernSafetyProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "Successfully completed ModernSafetyProgramGenerator generation", "timestamp": "2025-09-01T14:18:50.708043", "module": "ModernSafetyProgramGenerator", "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"} {"level": "INFO", "message": "Written ModernSafetyProgramGenerator to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/SafetyProgram_Generated.L5X", "timestamp": "2025-09-01T14:18:50.710165", "module": "ModernSafetyProgramGenerator", "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"} {"level": "INFO", "message": "[SUCCESS] SafetyProgram written to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/SafetyProgram_Generated.L5X", "timestamp": "2025-09-01T14:18:50.710321", "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"} {"level": "INFO", "message": "Generating MainProgram L5X...", "timestamp": "2025-09-01T14:18:50.710472", "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"} {"level": "WARNING", "message": "LimitedMainProgramGenerator is deprecated; using ModernMainProgramGenerator", "timestamp": "2025-09-01T14:18:50.710600", "module": "src.container", "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"} {"level": "INFO", "message": "Starting ModernMainProgramGenerator generation", "timestamp": "2025-09-01T14:18:50.710769", "module": "ModernMainProgramGenerator", "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"} {"level": "DEBUG", "message": "Creating MainProgram XML structure", "timestamp": "2025-09-01T14:18:50.710889", "module": "ModernMainProgramGenerator", "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"} {"level": "DEBUG", "message": "Adding controller tags...", "timestamp": "2025-09-01T14:18:50.711030", "module": "ModernMainProgramGenerator", "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"} {"level": "DEBUG", "message": "Zones: subsystem key", "timestamp": "2025-09-01T14:18:50.882778", "module": "src.data_loader", "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", "subsystem": "DEFAULT", "found": false} {"level": "DEBUG", "message": "Zones: heuristic best match", "timestamp": "2025-09-01T14:18:50.957574", "module": "src.data_loader", "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", "best_key": "MCM05", "score": 12} {"level": "DEBUG", "message": "Zones: loaded", "timestamp": "2025-09-01T14:18:50.958073", "module": "src.data_loader", "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", "rows": 6} {"level": "DEBUG", "message": "Extracting PMM data", "timestamp": "2025-09-01T14:18:51.258361", "module": "DataLoader", "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", "stage": "data_extraction", "type": "PMM"} {"level": "INFO", "message": "Data: PMM entries=2", "timestamp": "2025-09-01T14:18:51.259626", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "PMM processing PDP14_PMM1", "timestamp": "2025-09-01T14:18:51.259945", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "PMM PDP14_PMM1 DPM=VSD_DPM3", "timestamp": "2025-09-01T14:18:51.260087", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "PMM PDP14_PMM1 PWM fault IO PDP14_FIO1:I.Pt12.Data", "timestamp": "2025-09-01T14:18:51.260964", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "PMM PDP14_PMM1 configuration stored", "timestamp": "2025-09-01T14:18:51.261286", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "PMM processing PDP11_PMM1", "timestamp": "2025-09-01T14:18:51.261537", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "PMM PDP11_PMM1 DPM=VSB_DPM2", "timestamp": "2025-09-01T14:18:51.261684", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "PMM PDP11_PMM1 PWM fault IO PDP11_FIO1:I.Pt12.Data", "timestamp": "2025-09-01T14:18:51.262675", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "PMM PDP11_PMM1 configuration stored", "timestamp": "2025-09-01T14:18:51.263122", "module": "DataLoader", "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"} {"level": "INFO", "message": "Data: PMM configs=2", "timestamp": "2025-09-01T14:18:51.263337", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "Extracting CB_MONITOR data", "timestamp": "2025-09-01T14:18:51.263549", "module": "DataLoader", "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", "stage": "data_extraction", "type": "CB_MONITOR"} {"level": "INFO", "message": "Data: CB PDPs=2", "timestamp": "2025-09-01T14:18:51.266359", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "CB_MONITOR PDP11: CBs=26 FIOs=2", "timestamp": "2025-09-01T14:18:51.266648", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "CB_MONITOR PDP11: configured CBs=26 positions=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26] fault=PDP11_FIO1:I.ConnectionFaulted", "timestamp": "2025-09-01T14:18:51.266835", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "CB_MONITOR PDP14: CBs=26 FIOs=2", "timestamp": "2025-09-01T14:18:51.266995", "module": "DataLoader", "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"} {"level": "DEBUG", "message": "CB_MONITOR PDP14: configured CBs=26 positions=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26] fault=PDP14_FIO1:I.ConnectionFaulted", "timestamp": "2025-09-01T14:18:51.267157", "module": "DataLoader", "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"} {"level": "INFO", "message": "Data: CB configs=2", "timestamp": "2025-09-01T14:18:51.267304", "module": "DataLoader", "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"} {"level": "INFO", "message": "Tags created: total=512 | standard=57 safety=118 dcs=29 modules=300", "timestamp": "2025-09-01T14:18:51.268367", "module": "src.writers.xml_tag_writer", "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", "stage": "summary"} {"level": "INFO", "message": "Added 512 controller tags", "timestamp": "2025-09-01T14:18:51.268740", "module": "ModernMainProgramGenerator", "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"} {"level": "INFO", "message": "Generating main program routines...", "timestamp": "2025-09-01T14:18:51.268938", "module": "ModernMainProgramGenerator", "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"} {"level": "DEBUG", "message": "Generating routine: mcm", "timestamp": "2025-09-01T14:18:51.269115", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: mcm", "timestamp": "2025-09-01T14:18:51.269243", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: rack", "timestamp": "2025-09-01T14:18:51.269384", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: rack", "timestamp": "2025-09-01T14:18:51.269515", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: dpm", "timestamp": "2025-09-01T14:18:51.269655", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: dpm", "timestamp": "2025-09-01T14:18:51.271213", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: fiom", "timestamp": "2025-09-01T14:18:51.271443", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: fiom", "timestamp": "2025-09-01T14:18:51.274611", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: apf", "timestamp": "2025-09-01T14:18:51.275430", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: apf", "timestamp": "2025-09-01T14:18:51.277106", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: flow_ctrl", "timestamp": "2025-09-01T14:18:51.277844", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: flow_ctrl", "timestamp": "2025-09-01T14:18:51.279808", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: estop_check", "timestamp": "2025-09-01T14:18:51.280139", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: estop_check", "timestamp": "2025-09-01T14:18:51.290624", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: encoder", "timestamp": "2025-09-01T14:18:51.291034", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: encoder", "timestamp": "2025-09-01T14:18:51.291538", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: safety_tag_map", "timestamp": "2025-09-01T14:18:51.291758", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Safety tag map: RST data has 29 rows", "timestamp": "2025-09-01T14:18:51.292150", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: MCM05 -> Local:5:I.Data.0", "timestamp": "2025-09-01T14:18:51.292663", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PRS1_6_S1_PB -> PRS1_4_FIO1:I.Pt12.Data", "timestamp": "2025-09-01T14:18:51.292965", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PRS1_6_S2_PB -> PRS1_4_FIO1:I.Pt14.Data", "timestamp": "2025-09-01T14:18:51.293216", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_11_S1_PB -> PS8_11_FIO1:I.Pt10.Data", "timestamp": "2025-09-01T14:18:51.293474", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_11_CH3_S1_PB -> PS8_11_FIO2:I.Pt06.Data", "timestamp": "2025-09-01T14:18:51.293736", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PRS2_1_S1_PB -> PS8_1_FIO1:I.Pt06.Data", "timestamp": "2025-09-01T14:18:51.294011", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PRS2_1_S2_PB -> PS8_1_FIO1:I.Pt08.Data", "timestamp": "2025-09-01T14:18:51.294266", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: ULC3_3_SS1_SPB -> PS8_1_FIO2:I.Pt04.Data", "timestamp": "2025-09-01T14:18:51.294502", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS9_2_S1_PB -> PS8_5_FIO1:I.Pt10.Data", "timestamp": "2025-09-01T14:18:51.294702", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS9_2_S2_PB -> PS8_5_FIO1:I.Pt12.Data", "timestamp": "2025-09-01T14:18:51.294932", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_5_S1_PB -> PS8_5_FIO1:I.Pt02.Data", "timestamp": "2025-09-01T14:18:51.295187", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_5_S2_PB -> PS8_5_FIO1:I.Pt04.Data", "timestamp": "2025-09-01T14:18:51.295420", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS9_3CH1_S1_PB -> PS9_3_FIO1:I.Pt08.Data", "timestamp": "2025-09-01T14:18:51.295673", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS9_3_S1_PB -> PS9_3_FIO2:I.Pt06.Data", "timestamp": "2025-09-01T14:18:51.295939", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS9_3CH3_S1_PB -> PS9_3_FIO2:I.Pt08.Data", "timestamp": "2025-09-01T14:18:51.296229", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_11_CH2_S1_PB -> PS8_11_FIOH1:I.ProcessDataIn.Connector_4_A_Pin_4", "timestamp": "2025-09-01T14:18:51.296563", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_11_CH4_S1_PB -> PS8_11_FIOH1:I.ProcessDataIn.Connector_2_A_Pin_4", "timestamp": "2025-09-01T14:18:51.296816", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_11_CH1_S1_PB -> PS8_11_FIOH1:I.ProcessDataIn.Connector_3_B_Pin_2", "timestamp": "2025-09-01T14:18:51.297069", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_1_SS1_SPB -> PS8_1_FIOH1:I.ProcessDataIn.Connector_8_A_Pin_4", "timestamp": "2025-09-01T14:18:51.297426", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: ULC1_3_SS1_SPB -> PS8_1_FIOH2:I.ProcessDataIn.Connector_7_A_Pin_4", "timestamp": "2025-09-01T14:18:51.297756", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: ULC1_3_SS2_SPB -> PS8_1_FIOH2:I.ProcessDataIn.Connector_3_A_Pin_4", "timestamp": "2025-09-01T14:18:51.298045", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: ULC2_3_SS1_SPB -> PS8_1_FIOH2:I.ProcessDataIn.Connector_8_A_Pin_4", "timestamp": "2025-09-01T14:18:51.298295", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: ULC4_3_SS1_SPB -> PS8_1_FIOH3:I.ProcessDataIn.Connector_7_A_Pin_4", "timestamp": "2025-09-01T14:18:51.298604", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_2_S1_PB -> PS8_1_FIOH3:I.ProcessDataIn.Connector_3_A_Pin_4", "timestamp": "2025-09-01T14:18:51.299126", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_2_S2_PB -> PS8_1_FIOH3:I.ProcessDataIn.Connector_1_A_Pin_4", "timestamp": "2025-09-01T14:18:51.299732", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_4_S1_PB -> PS8_4_FIOH1:I.ProcessDataIn.Connector_3_A_Pin_4", "timestamp": "2025-09-01T14:18:51.300014", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS8_4_S2_PB -> PS8_4_FIOH1:I.ProcessDataIn.Connector_1_A_Pin_4", "timestamp": "2025-09-01T14:18:51.300293", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS9_3CH2_S1_PB -> PS9_3_FIOH1:I.ProcessDataIn.Connector_1_A_Pin_4", "timestamp": "2025-09-01T14:18:51.300535", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Added safety tag mapping: PS9_3CH4_S1_PB -> PS9_3_FIOH2:I.ProcessDataIn.Connector_5_B_Pin_2", "timestamp": "2025-09-01T14:18:51.300721", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Safety tag map: Generating 29 rungs", "timestamp": "2025-09-01T14:18:51.300933", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 1: XIC(Local:5:I.Data.0)OTE(MCM05);", "timestamp": "2025-09-01T14:18:51.301092", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 2: XIC(PRS1_4_FIO1:I.Pt12.Data)OTE(PRS1_6_S1_PB);", "timestamp": "2025-09-01T14:18:51.301237", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 3: XIC(PRS1_4_FIO1:I.Pt14.Data)OTE(PRS1_6_S2_PB);", "timestamp": "2025-09-01T14:18:51.301371", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 4: XIC(PS8_1_FIO1:I.Pt06.Data)OTE(PRS2_1_S1_PB);", "timestamp": "2025-09-01T14:18:51.301496", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 5: XIC(PS8_1_FIO1:I.Pt08.Data)OTE(PRS2_1_S2_PB);", "timestamp": "2025-09-01T14:18:51.301621", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 6: XIC(PS8_1_FIOH1:I.ProcessDataIn.Connector_8_A_Pin_4)OTE(PS8_1_SS1_SPB);", "timestamp": "2025-09-01T14:18:51.301770", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 7: XIC(PS8_1_FIOH3:I.ProcessDataIn.Connector_3_A_Pin_4)OTE(PS8_2_S1_PB);", "timestamp": "2025-09-01T14:18:51.301939", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 8: XIC(PS8_1_FIOH3:I.ProcessDataIn.Connector_1_A_Pin_4)OTE(PS8_2_S2_PB);", "timestamp": "2025-09-01T14:18:51.302068", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 9: XIC(PS8_4_FIOH1:I.ProcessDataIn.Connector_3_A_Pin_4)OTE(PS8_4_S1_PB);", "timestamp": "2025-09-01T14:18:51.302219", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 10: XIC(PS8_4_FIOH1:I.ProcessDataIn.Connector_1_A_Pin_4)OTE(PS8_4_S2_PB);", "timestamp": "2025-09-01T14:18:51.302399", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 11: XIC(PS8_5_FIO1:I.Pt02.Data)OTE(PS8_5_S1_PB);", "timestamp": "2025-09-01T14:18:51.302562", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 12: XIC(PS8_5_FIO1:I.Pt04.Data)OTE(PS8_5_S2_PB);", "timestamp": "2025-09-01T14:18:51.302686", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 13: XIC(PS8_11_FIOH1:I.ProcessDataIn.Connector_3_B_Pin_2)OTE(PS8_11_CH1_S1_PB);", "timestamp": "2025-09-01T14:18:51.302814", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 14: XIC(PS8_11_FIOH1:I.ProcessDataIn.Connector_4_A_Pin_4)OTE(PS8_11_CH2_S1_PB);", "timestamp": "2025-09-01T14:18:51.302936", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 15: XIC(PS8_11_FIO2:I.Pt06.Data)OTE(PS8_11_CH3_S1_PB);", "timestamp": "2025-09-01T14:18:51.303061", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 16: XIC(PS8_11_FIOH1:I.ProcessDataIn.Connector_2_A_Pin_4)OTE(PS8_11_CH4_S1_PB);", "timestamp": "2025-09-01T14:18:51.303183", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 17: XIC(PS8_11_FIO1:I.Pt10.Data)OTE(PS8_11_S1_PB);", "timestamp": "2025-09-01T14:18:51.303301", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 18: XIC(PS8_5_FIO1:I.Pt10.Data)OTE(PS9_2_S1_PB);", "timestamp": "2025-09-01T14:18:51.303453", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 19: XIC(PS8_5_FIO1:I.Pt12.Data)OTE(PS9_2_S2_PB);", "timestamp": "2025-09-01T14:18:51.303581", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 20: XIC(PS9_3_FIO2:I.Pt06.Data)OTE(PS9_3_S1_PB);", "timestamp": "2025-09-01T14:18:51.303696", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 21: XIC(PS9_3_FIO1:I.Pt08.Data)OTE(PS9_3CH1_S1_PB);", "timestamp": "2025-09-01T14:18:51.303810", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 22: XIC(PS9_3_FIOH1:I.ProcessDataIn.Connector_1_A_Pin_4)OTE(PS9_3CH2_S1_PB);", "timestamp": "2025-09-01T14:18:51.303936", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 23: XIC(PS9_3_FIO2:I.Pt08.Data)OTE(PS9_3CH3_S1_PB);", "timestamp": "2025-09-01T14:18:51.304055", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 24: XIC(PS9_3_FIOH2:I.ProcessDataIn.Connector_5_B_Pin_2)OTE(PS9_3CH4_S1_PB);", "timestamp": "2025-09-01T14:18:51.304169", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 25: XIC(PS8_1_FIOH2:I.ProcessDataIn.Connector_7_A_Pin_4)OTE(ULC1_3_SS1_SPB);", "timestamp": "2025-09-01T14:18:51.304300", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 26: XIC(PS8_1_FIOH2:I.ProcessDataIn.Connector_3_A_Pin_4)OTE(ULC1_3_SS2_SPB);", "timestamp": "2025-09-01T14:18:51.304456", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 27: XIC(PS8_1_FIOH2:I.ProcessDataIn.Connector_8_A_Pin_4)OTE(ULC2_3_SS1_SPB);", "timestamp": "2025-09-01T14:18:51.304657", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 28: XIC(PS8_1_FIO2:I.Pt04.Data)OTE(ULC3_3_SS1_SPB);", "timestamp": "2025-09-01T14:18:51.304814", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Generated rung 29: XIC(PS8_1_FIOH3:I.ProcessDataIn.Connector_7_A_Pin_4)OTE(ULC4_3_SS1_SPB);", "timestamp": "2025-09-01T14:18:51.304942", "module": "src.routines.safety_tag_map", "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"} {"level": "DEBUG", "message": "Safety tag map: Generated 29 total rungs", "timestamp": "2025-09-01T14:18:51.305061", "module": "src.routines.safety_tag_map", "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"} {"level": "INFO", "message": "Successfully generated routine: safety_tag_map", "timestamp": "2025-09-01T14:18:51.305188", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: station_jr_pb", "timestamp": "2025-09-01T14:18:51.305354", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: station_jr_pb", "timestamp": "2025-09-01T14:18:51.306285", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: station_s_pb", "timestamp": "2025-09-01T14:18:51.306521", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: station_s_pb", "timestamp": "2025-09-01T14:18:51.306924", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: station_ss_pb", "timestamp": "2025-09-01T14:18:51.307127", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: station_ss_pb", "timestamp": "2025-09-01T14:18:51.307446", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: station_epc", "timestamp": "2025-09-01T14:18:51.307649", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: station_epc", "timestamp": "2025-09-01T14:18:51.308062", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: jpe", "timestamp": "2025-09-01T14:18:51.308288", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: jpe", "timestamp": "2025-09-01T14:18:51.308927", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: pmm", "timestamp": "2025-09-01T14:18:51.309137", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: pmm", "timestamp": "2025-09-01T14:18:51.309408", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: cb_monitor", "timestamp": "2025-09-01T14:18:51.309594", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: cb_monitor", "timestamp": "2025-09-01T14:18:51.309914", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: belt_tracking", "timestamp": "2025-09-01T14:18:51.310653", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Successfully generated routine: belt_tracking", "timestamp": "2025-09-01T14:18:51.311985", "module": "src.plugin_system", "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"} {"level": "DEBUG", "message": "Generating routine: main_routine", "timestamp": "2025-09-01T14:18:51.312255", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Generating MainRoutine with JSR calls", "timestamp": "2025-09-01T14:18:51.312468", "module": "src.routines.main_routine_plugin.MainRoutinePlugin", "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"} {"level": "INFO", "message": "Successfully generated MainRoutine", "timestamp": "2025-09-01T14:18:51.312718", "module": "src.routines.main_routine_plugin.MainRoutinePlugin", "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"} {"level": "INFO", "message": "Successfully generated routine: main_routine", "timestamp": "2025-09-01T14:18:51.312922", "module": "src.plugin_system", "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"} {"level": "INFO", "message": "Main routine generation results: {'mcm': True, 'rack': True, 'dpm': True, 'fiom': True, 'apf': True, 'flow_ctrl': True, 'estop_check': True, 'encoder': True, 'safety_tag_map': True, 'station_jr_pb': True, 'station_s_pb': True, 'station_ss_pb': True, 'station_epc': True, 'jpe': True, 'pmm': True, 'cb_monitor': True, 'belt_tracking': True, 'main_routine': True}", "timestamp": "2025-09-01T14:18:51.313116", "module": "ModernMainProgramGenerator", "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"} {"level": "INFO", "message": "Routines created (18): MainRoutine, R010_MCM, R011_RACK, R020_DPM, R030_FIOM, R040_APF, R050_FLOW_CTRL, R060_PMM, R070_CB_MONITOR, R080_ENCODER, R090_STATION_JR_PB, R095_STATION_S_PB, R096_STATION_SS_PB, R097_STATION_EPC, R100_JPE, R120_ESTOP_CHECK, R130_SAFETY_TAG_MAP, ZZZ_BeltTracking", "timestamp": "2025-09-01T14:18:51.313289", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R010_MCM: 2 rungs | example: NOP();", "timestamp": "2025-09-01T14:18:51.313497", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R011_RACK: 2 rungs | example: NOP();", "timestamp": "2025-09-01T14:18:51.313677", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R020_DPM: 11 rungs | example: NOP();", "timestamp": "2025-09-01T14:18:51.313922", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R030_FIOM: 58 rungs | example: NOP();", "timestamp": "2025-09-01T14:18:51.314094", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R040_APF: 28 rungs | example: NOP();", "timestamp": "2025-09-01T14:18:51.314276", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R050_FLOW_CTRL: 32 rungs | example: XIC(PRS1_4_VFD1.CTRL.STS.Enabled)OTE(PRS1_3_VFD1.CTRL.CMD.Interlock);", "timestamp": "2025-09-01T14:18:51.314432", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R120_ESTOP_CHECK: 28 rungs | example: XIO(FL2074_2_VFD1:SI.In00Data)XIO(FL2074_2_VFD1:SO.Out00Output)XIO(FL2074_2_VFD1:SO.STOOutput)XIC(FL2078_2_VFD1:SO.Out00Output)XIC(FL2078_2_VFD1:SO.STOOutput...", "timestamp": "2025-09-01T14:18:51.314581", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R080_ENCODER: 13 rungs | example: AOI_ENCODER(PS8_11_ENCODER.AOI,PS8_11_ENCODER.HMI,PS8_11_ENCODER.CTRL,PS8_11_VFD1.CTRL,NO_UPSTREAM,NO_DOWNSTREAM,PS8_11_VFD1:I.In_1,PS8_11_VFD1:I.ConnectionF...", "timestamp": "2025-09-01T14:18:51.314729", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R130_SAFETY_TAG_MAP: 30 rungs | example: XIC(Local:5:I.Data.0)OTE(MCM_S_PB);", "timestamp": "2025-09-01T14:18:51.314945", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R090_STATION_JR_PB: 75 rungs | example: AOI_STATION_JR_PB(FL2074_2_JR1_PB.AOI,FL2074_2_JR1_PB.HMI,FL2074_2_JR1_PB.CTRL,NO_PARTNER,FL2074_FIOH1:I.ProcessDataIn.Connector_6_A_Pin_4,FL2074_FIOH1:O.Pro...", "timestamp": "2025-09-01T14:18:51.315212", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R095_STATION_S_PB: 14 rungs | example: AOI_STATION_S_PB(PRS1_6_S1_PB_STATION.AOI,PRS1_6_S1_PB_STATION.HMI,PRS1_6_S1_PB_STATION.CTRL,PRS1_6_VFD1.CTRL,PRS1_4_FIO1:I.Pt12.Data,PRS1_4_FIO1:O.Pt13.Data);", "timestamp": "2025-09-01T14:18:51.315414", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R096_STATION_SS_PB: 6 rungs | example: AOI_STATION_SS_PB(PS8_1_SS1_STATION.AOI,PS8_1_SS1_STATION.HMI,PS8_1_SS1_STATION.CTRL,PS8_1_VFD1.CTRL,PS8_1_FIOH1:I.ConnectionFaulted,PS8_1_FIOH1:I.ProcessDat...", "timestamp": "2025-09-01T14:18:51.315607", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R097_STATION_EPC: 18 rungs | example: AOI_STATION_EPC(PRS1_6_EPC1_STATION.AOI,MCM.CTRL,PRS1_6_EPC1_STATION.HMI,PRS1_6_S1_PB_STATION.CTRL,PRS1_6_VFD1:I.ConnectionFaulted,PRS1_6_VFD1:SI.In00Data,PR...", "timestamp": "2025-09-01T14:18:51.315780", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R100_JPE: 42 rungs | example: AOI_JPE(PRS1_2A_JPE1.AOI,PRS1_2A_JPE1.HMI,PRS1_2A_JPE1.CTRL,PRS1_2A_VFD1.CTRL,PRS1_2A_JR1_PB.CTRL,PRS1_2A_VFD1:I.ConnectionFaulted,PRS1_2A_VFD1:I.In_2,YES,PR...", "timestamp": "2025-09-01T14:18:51.316021", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R060_PMM: 3 rungs | example: NOP();", "timestamp": "2025-09-01T14:18:51.316321", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- R070_CB_MONITOR: 3 rungs | example: NOP();", "timestamp": "2025-09-01T14:18:51.316529", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- ZZZ_BeltTracking: 35 rungs | example: NOP();", "timestamp": "2025-09-01T14:18:51.316739", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "- MainRoutine: 1 rungs | example: [JSR(R010_MCM,0) ,JSR(R011_RACK,0) ,JSR(R020_DPM,0) ,JSR(R030_FIOM,0) ,JSR(R040_APF,0) ,JSR(R050_FLOW_CTRL,0) ,JSR(R120_ESTOP_CHECK,0) ,JSR(R080_ENCODER,0) ,...", "timestamp": "2025-09-01T14:18:51.316935", "module": "ModernMainProgramGenerator", "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", "stage": "summary"} {"level": "INFO", "message": "Successfully completed ModernMainProgramGenerator generation", "timestamp": "2025-09-01T14:18:51.317125", "module": "ModernMainProgramGenerator", "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"} {"level": "INFO", "message": "Written ModernMainProgramGenerator to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/MainProgram_Generated.L5X", "timestamp": "2025-09-01T14:18:51.330290", "module": "ModernMainProgramGenerator", "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"} {"level": "INFO", "message": "[SUCCESS] MainProgram written to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/MainProgram_Generated.L5X", "timestamp": "2025-09-01T14:18:51.330566", "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"} {"level": "INFO", "message": "Generating safety tag mapping...", "timestamp": "2025-09-01T14:18:51.330757", "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"} {"level": "DEBUG", "message": "Creating MappingWriter wrapper", "timestamp": "2025-09-01T14:18:51.330970", "module": "src.container", "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"} {"level": "DEBUG", "message": "Creating DataLoader instance", "timestamp": "2025-09-01T14:18:51.331204", "module": "src.container", "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/Routines Generator/DESC_IP_MERGED.xlsx"} {"level": "INFO", "message": "[SUCCESS] Safety tag mapping written to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/SafetyTagMapping.txt", "timestamp": "2025-09-01T14:18:51.496567", "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"} {"level": "INFO", "message": " - Safety tags: 29", "timestamp": "2025-09-01T14:18:51.496802", "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"} {"level": "INFO", "message": "=== All artifacts generated successfully! ===", "timestamp": "2025-09-01T14:18:51.496977", "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 2: Routines Generator stdout === Found STATION_JR_PB config for PRS1_3_JR1_PB Found STATION_JR_PB config for PRS1_2A_JR1_PB Found STATION_JR_PB config for PRS1_2A_JR2_PB Found STATION_JR_PB config for PRS1_2B_JR1_PB Found STATION_JR_PB config for PRS1_2B_JR2_PB Found STATION_JR_PB config for PRS1_4_JR1_PB Found STATION_JR_PB config for PS8_11_JR1_PB Found STATION_JR_PB config for PS8_11_JR2_PB Found STATION_JR_PB config for ULC4_3_JR1_PB Found STATION_JR_PB config for ULC3_3_JR1_PB Found STATION_JR_PB config for PS8_9_JR1_PB Found STATION_JR_PB config for PS9_3_JR1_PB Found STATION_JR_PB config for S012001_JR1_PB Found STATION_JR_PB config for S012002_JR1_PB Found STATION_JR_PB config for S012009_JR1_PB Found STATION_JR_PB config for S012010_JR1_PB Found STATION_JR_PB config for S012019_JR1_PB Found STATION_JR_PB config for S012018_JR1_PB Found STATION_JR_PB config for S012027_JR1_PB Found STATION_JR_PB config for S012026_JR1_PB Found STATION_JR_PB config for S012037_JR1_PB Found STATION_JR_PB config for S012034_JR1_PB Found STATION_JR_PB config for S012045_JR1_PB Found STATION_JR_PB config for S012044_JR1_PB Found STATION_JR_PB config for S012055_JR1_PB Found STATION_JR_PB config for S012052_JR1_PB Found STATION_JR_PB config for S012063_JR1_PB Found STATION_JR_PB config for S012060_JR1_PB Found STATION_JR_PB config for S012070_JR1_PB Found STATION_JR_PB config for S012073_JR1_PB Found STATION_JR_PB config for S014008_JR1_PB Found STATION_JR_PB config for S014009_JR1_PB Found STATION_JR_PB config for S014016_JR1_PB Found STATION_JR_PB config for S014017_JR1_PB Found STATION_JR_PB config for S014024_JR1_PB Found STATION_JR_PB config for S014025_JR1_PB Found STATION_JR_PB config for S014026_JR1_PB Found STATION_JR_PB config for S014033_JR1_PB Found STATION_JR_PB config for S014036_JR1_PB Found STATION_JR_PB config for S014043_JR1_PB Found STATION_JR_PB config for S014044_JR1_PB Found STATION_JR_PB config for S014049_JR1_PB Found STATION_JR_PB config for S014052_JR1_PB Found STATION_JR_PB config for S014058_JR1_PB Found STATION_JR_PB config for S014057_JR1_PB Found STATION_JR_PB config for S014064_JR1_PB Found STATION_JR_PB config for S014065_JR1_PB Found STATION_JR_PB config for S014072_JR1_PB Found STATION_JR_PB config for S014073_JR1_PB Found STATION_JR_PB config for S014080_JR1_PB Found STATION_JR_PB config for S014081_JR1_PB Found STATION_JR_PB config for FL2074_2_JR1_PB Found STATION_JR_PB config for FL2074_2_JR2_PB Found STATION_JR_PB config for FL2086_2_JR1_PB Found STATION_JR_PB config for FL2086_2_JR2_PB Found STATION_JR_PB config for FL2090_2_JR1_PB Found STATION_JR_PB config for FL2090_2_JR2_PB Found STATION_JR_PB config for FL4066_2_JR1_PB Found STATION_JR_PB config for FL4066_2_JR2_PB Found STATION_JR_PB config for FL4074_2_JR1_PB Found STATION_JR_PB config for FL4074_2_JR2_PB Found STATION_JR_PB config for FL4082_2_JR1_PB Found STATION_JR_PB config for FL4082_2_JR2_PB Found STATION_JR_PB config for ULC1_3_JR1_PB Found STATION_JR_PB config for PS8_1_JR1_PB Found STATION_JR_PB config for PS8_1_JR2_PB Found STATION_JR_PB config for ULC2_3_JR1_PB Found STATION_JR_PB config for FL2078_2_JR1_PB Found STATION_JR_PB config for FL2078_2_JR2_PB Found STATION_JR_PB config for FL2094_2_JR1_PB Found STATION_JR_PB config for FL2094_2_JR2_PB Found STATION_JR_PB config for FL4070_2_JR1_PB Found STATION_JR_PB config for FL4070_2_JR2_PB Found STATION_JR_PB config for FL4078_2_JR1_PB Found STATION_JR_PB config for FL4078_2_JR2_PB Found STATION_S_PB config for PRS1_6_S1_PB Found STATION_S_PB config for PRS1_6_S2_PB Found STATION_S_PB config for PS8_11_S1_PB [WARNING] No VFD found for PS8_11_CH3_S1_PB with base PS8_11_CH3 Found STATION_S_PB config for PRS2_1_S1_PB Found STATION_S_PB config for PRS2_1_S2_PB Found STATION_S_PB config for PS9_2_S1_PB Found STATION_S_PB config for PS9_2_S2_PB Found STATION_S_PB config for PS8_5_S1_PB Found STATION_S_PB config for PS8_5_S2_PB [WARNING] No VFD found for PS9_3CH1_S1_PB with base PS9_3CH1 Found STATION_S_PB config for PS9_3_S1_PB [WARNING] No VFD found for PS9_3CH3_S1_PB with base PS9_3CH3 [WARNING] No VFD found for PS8_11_CH2_S1_PB with base PS8_11_CH2 [WARNING] No VFD found for PS8_11_CH4_S1_PB with base PS8_11_CH4 [WARNING] No VFD found for PS8_11_CH1_S1_PB with base PS8_11_CH1 Found STATION_S_PB config for PS8_2_S1_PB Found STATION_S_PB config for PS8_2_S2_PB Found STATION_S_PB config for PS8_4_S1_PB Found STATION_S_PB config for PS8_4_S2_PB [WARNING] No VFD found for PS9_3CH2_S1_PB with base PS9_3CH2 [WARNING] No VFD found for PS9_3CH4_S1_PB with base PS9_3CH4 Found STATION_SS_PB config for ULC3_3_SS1 Found STATION_SS_PB config for PS8_1_SS1 Found STATION_SS_PB config for ULC1_3_SS1 Found STATION_SS_PB config for ULC1_3_SS2 Found STATION_SS_PB config for ULC2_3_SS1 Found STATION_SS_PB config for ULC4_3_SS1 Found STATION_EPC config for PRS1_6_EPC1 Found STATION_EPC config for ULC1_3_EPC1 Found STATION_EPC config for ULC2_3_EPC1 Found STATION_EPC config for ULC3_3_EPC1 Found STATION_EPC config for ULC4_3_EPC1 Found STATION_EPC config for PS8_5_EPC1 Found STATION_EPC config for PRS2_1_EPC1 Found STATION_EPC config for PS8_1_EPC1 Found STATION_EPC config for PS9_2_EPC1 Found STATION_EPC config for PS9_3_EPC1 Found STATION_EPC config for PS8_11_EPC1 Found STATION_EPC config for PS8_2_EPC1 Found STATION_EPC config for PRS1_6_EPC2 Found STATION_EPC config for ULC1_3_EPC2 Found STATION_EPC config for PS8_5_EPC2 Found STATION_EPC config for PRS2_1_EPC2 Found STATION_EPC config for PS9_2_EPC2 Found STATION_EPC config for PS8_2_EPC2 Found ENCODER config for ULC1_3_ENCODER (upstream: NO_UPSTREAM, downstream: NO_DOWNSTREAM) Found ENCODER config for ULC2_3_ENCODER (upstream: NO_UPSTREAM, downstream: NO_DOWNSTREAM) Found ENCODER config for ULC3_3_ENCODER (upstream: NO_UPSTREAM, downstream: NO_DOWNSTREAM) Found ENCODER config for ULC4_3_ENCODER (upstream: NO_UPSTREAM, downstream: NO_DOWNSTREAM) Found ENCODER config for PS8_1_ENCODER (upstream: NO_UPSTREAM, downstream: PS8_2_VFD1.CTRL) Found ENCODER config for PS8_8_ENCODER (upstream: NO_UPSTREAM, downstream: PS8_9_VFD1.CTRL) Found ENCODER config for PS9_2_ENCODER (upstream: NO_UPSTREAM, downstream: PS9_3_VFD1.CTRL) Found ENCODER config for PS9_3_ENCODER (upstream: PS9_2_VFD1.CTRL, downstream: NO_DOWNSTREAM) Found ENCODER config for PS8_11_ENCODER (upstream: NO_UPSTREAM, downstream: NO_DOWNSTREAM) Found ENCODER config for PS8_2_ENCODER (upstream: PS8_1_VFD1.CTRL, downstream: NO_DOWNSTREAM) Found ENCODER config for PS8_5_ENCODER (upstream: PS8_4_VFD1.CTRL, downstream: PS8_6_VFD1.CTRL) Found ENCODER config for PS8_9_ENCODER (upstream: PS8_8_VFD1.CTRL, downstream: NO_DOWNSTREAM) Found ENCODER config for PS8_4_ENCODER (upstream: NO_UPSTREAM, downstream: PS8_5_VFD1.CTRL) Found JPE config for PRS1_6_JPE1 (missing station, missing beacon) Found JPE config for PRS1_6_JPE2 (missing station, missing beacon) Found JPE config for ULC1_3_JPE1 Found JPE config for ULC1_3_JPE2 Found JPE config for ULC2_3_JPE1 Found JPE config for ULC2_3_JPE2 Found JPE config for ULC3_3_JPE1 Found JPE config for ULC3_3_JPE2 Found JPE config for ULC4_3_JPE1 Found JPE config for ULC4_3_JPE2 Found JPE config for PRS1_2B_JPE1 Found JPE config for PRS1_2B_JPE2 Found JPE config for PRS1_4_JPE1 Found JPE config for PRS1_4_JPE2 Found JPE config for PRS1_2A_JPE1 Found JPE config for PRS1_2A_JPE2 Found JPE config for PRS1_3_JPE2 Found JPE config for PRS2_1_JPE1 (missing station) Found JPE config for PS8_1_JPE1 Found JPE config for PS8_1_JPE2 Found JPE config for PS8_1_JPE3 Found JPE config for PS8_8_JPE1 (missing station, missing beacon) Found JPE config for PS8_8_JPE2 (missing station, missing beacon) Found JPE config for PS9_2_JPE1 (missing station) Found JPE config for PS9_2_JPE2 (missing station) Found JPE config for PS9_3_JPE1 Found JPE config for PS9_3_JPE2 Found JPE config for PS8_2_JPE1 (missing station) Found JPE config for PS8_2_JPE2 (missing station) Found JPE config for PRS1_3_JPE1 Found JPE config for PS8_11_JPE1 Found JPE config for PS8_11_JPE2 Found JPE config for PS8_11_JPE3 Found JPE config for PS8_11_JPE4 Found JPE config for PS8_1_JPE6 Found JPE config for PS8_1_JPE4 Found JPE config for PS8_1_JPE5 Found JPE config for PS8_5_JPE1 (missing station) Found JPE config for PS8_9_JPE1 Found JPE config for PS9_3_JPE3 Found JPE config for PS8_4_JPE1 (missing station) Found JPE config for PS8_4_JPE2 (missing station) FIOM PDP11_FIO1 -> DPM PS8_5_DPM1 FIOM PDP14_FIO1 -> DPM VSD_DPM3 FIOM PRS1_1ACH_FIO1 -> DPM PRS1_3_DPM1 FIOM PRS1_1BCH_FIO1 -> DPM PRS1_3_DPM1 FIOM PRS1_4_FIO1 -> DPM PRS1_3_DPM1 FIOM PS8_1_FIO1 -> DPM PRS1_3_DPM1 FIOM PS8_1_FIO2 -> DPM PRS1_3_DPM1 FIOM PS8_5_FIO1 -> DPM PS8_5_DPM1 FIOM PS8_9_FIO1 -> DPM PS8_5_DPM1 FIOM PS8_11_FIO1 -> DPM PS8_5_DPM1 FIOM PS8_11_FIO2 -> DPM PS8_5_DPM1 FIOM PS9_3_FIO1 -> DPM PS8_5_DPM1 FIOM PS9_3_FIO2 -> DPM PS8_5_DPM1 FIOM VSB_DPM1_FIO1 -> DPM VSB_DPM1 FIOM VSB_DPM1_FIO2 -> DPM VSB_DPM1 FIOM VSB_DPM1_FIO3 -> DPM VSB_DPM1 FIOM VSB_DPM1_FIO4 -> DPM VSB_DPM1 FIOM VSB_DPM1_FIO5 -> DPM VSB_DPM1 FIOM VSB_DPM1_FIO6 -> DPM VSB_DPM1 FIOM VSB_DPM1_FIO7 -> DPM VSB_DPM1 FIOM VSB_DPM1_FIO8 -> DPM VSB_DPM1 FIOM VSB_DPM2_FIO1 -> DPM VSB_DPM2 FIOM VSB_DPM2_FIO2 -> DPM VSB_DPM2 FIOM VSB_DPM2_FIO3 -> DPM VSB_DPM2 FIOM VSB_DPM2_FIO4 -> DPM VSB_DPM2 FIOM VSB_DPM2_FIO5 -> DPM VSB_DPM2 FIOM VSB_DPM2_FIO6 -> DPM VSB_DPM2 FIOM VSB_DPM2_FIO7 -> DPM VSB_DPM2 FIOM VSB_DPM2_FIO8 -> DPM VSB_DPM2 FIOM VSB_DPM3_FIO1 -> DPM VSB_DPM3 FIOM VSB_DPM3_FIO2 -> DPM VSB_DPM3 FIOM VSB_DPM3_FIO3 -> DPM VSB_DPM3 FIOM VSB_DPM3_FIO4 -> DPM VSB_DPM3 FIOM VSB_DPM3_FIO6 -> DPM VSB_DPM3 FIOM VSB_DPM3_FIO8 -> DPM VSB_DPM3 FIOM VSD_DPM1_FIO1 -> DPM VSD_DPM1 FIOM VSD_DPM1_FIO2 -> DPM VSD_DPM1 FIOM VSD_DPM1_FIO3 -> DPM VSD_DPM1 FIOM VSD_DPM1_FIO4 -> DPM VSD_DPM1 FIOM VSD_DPM1_FIO5 -> DPM VSD_DPM1 FIOM VSD_DPM1_FIO6 -> DPM VSD_DPM1 FIOM VSD_DPM1_FIO7 -> DPM VSD_DPM1 FIOM VSD_DPM1_FIO8 -> DPM VSD_DPM1 FIOM VSD_DPM2_FIO1 -> DPM VSD_DPM2 FIOM VSD_DPM2_FIO2 -> DPM VSD_DPM2 FIOM VSD_DPM2_FIO3 -> DPM VSD_DPM2 FIOM VSD_DPM2_FIO4 -> DPM VSD_DPM2 FIOM VSD_DPM2_FIO5 -> DPM VSD_DPM2 FIOM VSD_DPM2_FIO6 -> DPM VSD_DPM2 FIOM VSD_DPM2_FIO7 -> DPM VSD_DPM2 FIOM VSD_DPM2_FIO8 -> DPM VSD_DPM2 FIOM VSD_DPM3_FIO1 -> DPM VSD_DPM3 FIOM VSD_DPM3_FIO2 -> DPM VSD_DPM3 FIOM VSD_DPM3_FIO3 -> DPM VSD_DPM3 FIOM VSD_DPM3_FIO4 -> DPM VSD_DPM3 FIOM VSD_DPM3_FIO5 -> DPM VSD_DPM3 FIOM VSD_DPM3_FIO6 -> DPM VSD_DPM3 APF FL2074_2_VFD1 -> DPM FL2086_DPM1 APF FL2078_2_VFD1 -> DPM FL2086_DPM1 APF FL2086_2_VFD1 -> DPM FL2086_DPM1 APF FL2090_2_VFD1 -> DPM FL2086_DPM1 APF FL2094_2_VFD1 -> DPM FL2086_DPM1 APF FL4066_2_VFD1 -> DPM FL4070_DPM1 APF FL4070_2_VFD1 -> DPM FL4070_DPM1 APF FL4074_2_VFD1 -> DPM FL4070_DPM1 APF FL4078_2_VFD1 -> DPM FL4070_DPM1 APF FL4082_2_VFD1 -> DPM FL4070_DPM1 APF PRS1_2A_VFD1 -> DPM PRS1_3_DPM1 APF PRS1_2B_VFD1 -> DPM PRS1_3_DPM1 APF PRS1_3_VFD1 -> DPM PRS1_3_DPM1 APF PRS1_4_VFD1 -> DPM PRS1_3_DPM1 APF PRS1_6_VFD1 -> DPM PRS1_3_DPM1 APF PRS2_1_VFD1 -> DPM PRS1_3_DPM1 APF PS8_1_VFD1 -> DPM PS8_5_DPM1 APF PS8_2_VFD1 -> DPM PS8_5_DPM1 APF PS8_6_VFD1 -> DPM PS8_5_DPM1 APF PS8_8_VFD1 -> DPM PS8_5_DPM1 APF PS8_11_VFD1 -> DPM PRS1_3_DPM1 APF PS9_2_VFD1 -> DPM PS8_5_DPM1 APF PS9_3_VFD1 -> DPM PS8_5_DPM1 APF ULC1_3_VFD1 -> DPM PS8_5_DPM1 APF ULC2_3_VFD1 -> DPM PS8_5_DPM1 APF ULC3_3_VFD1 -> DPM PS8_5_DPM1 APF ULC4_3_VFD1 -> DPM PS8_5_DPM1 - Added 28 E-stop check rungs [R090_STATION_JR_PB] Starting STATION_JR_PB routine generation... Found 75 STATION_JR_PB configurations Generated 75 STATION_JR_PB rungs [R0100_JPE] Starting JPE routine generation... Found 42 JPE configurations Generated 42 JPE rungs Belt tracking for FL2074_2_VFD1 -> zzz_FL2074_2Tracking Belt tracking for FL2078_2_VFD1 -> zzz_FL2078_2Tracking Belt tracking for FL2086_2_VFD1 -> zzz_FL2086_2Tracking Belt tracking for FL2090_2_VFD1 -> zzz_FL2090_2Tracking Belt tracking for FL2094_2_VFD1 -> zzz_FL2094_2Tracking Belt tracking for FL4066_2_VFD1 -> zzz_FL4066_2Tracking Belt tracking for FL4070_2_VFD1 -> zzz_FL4070_2Tracking Belt tracking for FL4074_2_VFD1 -> zzz_FL4074_2Tracking Belt tracking for FL4078_2_VFD1 -> zzz_FL4078_2Tracking Belt tracking for FL4082_2_VFD1 -> zzz_FL4082_2Tracking Belt tracking for PRS1_2A_VFD1 -> zzz_PRS1_2ATracking Belt tracking for PRS1_2B_VFD1 -> zzz_PRS1_2BTracking Belt tracking for PRS1_3_VFD1 -> zzz_PRS1_3Tracking Belt tracking for PRS1_4_VFD1 -> zzz_PRS1_4Tracking Belt tracking for PRS1_6_VFD1 -> zzz_PRS1_6Tracking Belt tracking for PRS2_1_VFD1 -> zzz_PRS2_1Tracking Belt tracking for PS8_1_VFD1 -> zzz_PS8_1Tracking Belt tracking for PS8_2_VFD1 -> zzz_PS8_2Tracking Belt tracking for PS8_4_VFD1 -> zzz_PS8_4Tracking Belt tracking for PS8_5_VFD1 -> zzz_PS8_5Tracking Belt tracking for PS8_6_VFD1 -> zzz_PS8_6Tracking Belt tracking for PS8_8_VFD1 -> zzz_PS8_8Tracking Belt tracking for PS8_9_VFD1 -> zzz_PS8_9Tracking Belt tracking for PS8_11_VFD1 -> zzz_PS8_11Tracking Belt tracking for PS9_2_VFD1 -> zzz_PS9_2Tracking Belt tracking for PS9_3_VFD1 -> zzz_PS9_3Tracking Belt tracking for ULC1_1_VFD1 -> zzz_ULC1_1Tracking Belt tracking for ULC1_3_VFD1 -> zzz_ULC1_3Tracking Belt tracking for ULC2_1_VFD1 -> zzz_ULC2_1Tracking Belt tracking for ULC2_3_VFD1 -> zzz_ULC2_3Tracking Belt tracking for ULC3_1_VFD1 -> zzz_ULC3_1Tracking Belt tracking for ULC3_3_VFD1 -> zzz_ULC3_3Tracking Belt tracking for ULC4_1_VFD1 -> zzz_ULC4_1Tracking Belt tracking for ULC4_3_VFD1 -> zzz_ULC4_3Tracking - Added 34 belt tracking AOI calls Created safety tag mapping file: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/SafetyTagMapping.txt === Step 2: Routines Generator stderr === [14:18:49] [INFO] [logging_config.py:128:_log_with_context] Logging to file: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/logs/workflow_MTN6_MCM05_20250901_141844.log [14:18:49] [INFO] [logging_config.py:128:_log_with_context] === Generating All PLC Artifacts === [14:18:49] [INFO] [logging_config.py:128:_log_with_context] Generating SafetyProgram L5X... [14:18:49] [WARNING] [logging_config.py:128:_log_with_context] LimitedSafetyProgramGenerator is deprecated; using ModernSafetyProgramGenerator [14:18:49] [INFO] [logging_config.py:128:_log_with_context] Starting ModernSafetyProgramGenerator generation [14:18:49] [DEBUG] [logging_config.py:128:_log_with_context] Creating SafetyProgram XML structure [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: main_routine (core) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: apf (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: belt_tracking (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: cb_monitor (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: d2c_chute (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: dpm (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: encoder (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: estops (safety) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: estop_check (safety) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: extendo (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: fioh (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: fiom (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: flow_ctrl (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: fpe (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: inputs (safety) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: jpe (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: mcm (core) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: outputs (safety) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: pb_chute (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: pmm (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: rack (core) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: resets (safety) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: safety_tag_map (core) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: speed_ctrl (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_epc (safety) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_jr_chute (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_jr_pb (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_ss_pb (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_s_pb (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: taching_belts (device) [14:18:49] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: zones (safety) [14:18:49] [INFO] [logging_config.py:128:_log_with_context] Generating safety routines... [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: inputs [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: inputs [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: outputs [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: subsystem key [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: heuristic best match [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: loaded [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: outputs [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: resets [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: resets [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: zones [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL2074_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL2078_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL2086_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL2090_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL2094_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL4066_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL4070_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL4074_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL4078_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for FL4082_1: {'ESTOP1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PRS1_6: {'EPC1', 'EPC2'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PRS2_1: {'EPC1', 'EPC2'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PS8_11: {'EPC1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PS8_1: {'EPC1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PS8_2: {'EPC1', 'EPC2'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PS8_5: {'EPC1', 'EPC2'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PS9_2: {'EPC1', 'EPC2'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PS9_3: {'EPC1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for ULC1_3: {'EPC1', 'EPC2'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for ULC2_3: {'EPC1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for ULC3_3: {'EPC1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for ULC4_3: {'EPC1'} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Available DCS controllers: {'FL2074_1': {'ESTOP1'}, 'FL2078_1': {'ESTOP1'}, 'FL2086_1': {'ESTOP1'}, 'FL2090_1': {'ESTOP1'}, 'FL2094_1': {'ESTOP1'}, 'FL4066_1': {'ESTOP1'}, 'FL4070_1': {'ESTOP1'}, 'FL4074_1': {'ESTOP1'}, 'FL4078_1': {'ESTOP1'}, 'FL4082_1': {'ESTOP1'}, 'PRS1_6': {'EPC1', 'EPC2'}, 'PRS2_1': {'EPC1', 'EPC2'}, 'PS8_11': {'EPC1'}, 'PS8_1': {'EPC1'}, 'PS8_2': {'EPC1', 'EPC2'}, 'PS8_5': {'EPC1', 'EPC2'}, 'PS9_2': {'EPC1', 'EPC2'}, 'PS9_3': {'EPC1'}, 'ULC1_3': {'EPC1', 'EPC2'}, 'ULC2_3': {'EPC1'}, 'ULC3_3': {'EPC1'}, 'ULC4_3': {'EPC1'}} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Zone 05-01 candidates: ['ULC1_1', 'ULC1_2', 'ULC1_3', 'ULC2_1', 'ULC2_2', 'ULC2_3', 'UL3_1', 'UL3_2', 'UL3_3', 'UL4_1', 'UL4_2', 'UL4_3', 'PS8_1', 'PS8_2', 'PRS2_1'] [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL3_1 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL3_2 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL3_3 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL4_1 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL4_2 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL4_3 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base ULC1_1 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base ULC1_2 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base ULC2_1 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base ULC2_2 in zone 05-01 [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Zone 05-02 candidates: ['PS8_4', 'PS8_5'] [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS8_4 in zone 05-02 [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Zone 05-03 candidates: ['PS9_2', 'PS9_3'] [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Zone 05-04 candidates: ['PS8_11'] [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Zone 05-05 candidates: ['PRS1_6', 'PRS1_7'] [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PRS1_7 in zone 05-05 [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: zones [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: estops [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: estops [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Safety routine generation results: {'inputs': True, 'outputs': True, 'resets': True, 'zones': True, 'estops': True} [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag map with 29 tags [14:18:50] [INFO] [logging_config.py:126:_log_with_context] Routines created (6): MainRoutine, R010_INPUTS, R011_OUTPUTS, R012_RESETS, R020_ESTOPS, R030_ZONES [14:18:50] [INFO] [logging_config.py:126:_log_with_context] - R010_INPUTS: 65 rungs | example: XIC(Local:7:I.Pt02.Status)XIC(Local:7:I.Pt03.Status)OTE(MCM_EPB_STATUS); [14:18:50] [INFO] [logging_config.py:126:_log_with_context] - R011_OUTPUTS: 5 rungs | example: XIC(EStop_MCM_OK)XIC(EStop_05_01_OK)[OTE(PRS2_1_VFD1:SO.STOOutput),OTE(PS8_1_VFD1:SO.STOOutput),OTE(PS8_2_VFD1:SO.STOOutput),OTE(ULC1_1_VFD1:SO.STOOutput),OT... [14:18:50] [INFO] [logging_config.py:126:_log_with_context] - R012_RESETS: 18 rungs | example: [XIC(SFT_PRS1_6_S1_PB) ,XIC(SFT_MCM_S_PB)]OTE(RST_PRS1_6_EPC1_ESTOP); [14:18:50] [INFO] [logging_config.py:126:_log_with_context] - R030_ZONES: 6 rungs | example: XIC(PRS2_1_EPC1_DCS_CTRL.O1)XIC(PRS2_1_EPC2_DCS_CTRL.O1)XIC(PS8_1_EPC1_DCS_CTRL.O1)XIC(PS8_2_EPC1_DCS_CTRL.O1)XIC(PS8_2_EPC2_DCS_CTRL.O1)XIC(ULC1_3_EPC1_DCS_... [14:18:50] [INFO] [logging_config.py:126:_log_with_context] - R020_ESTOPS: 29 rungs | example: DCS(MCM_EPB_DCS_CTRL,EMERGENCY STOP,EQUIVALENT - ACTIVE HIGH,500,MANUAL,AUTOMATIC,Local:7:I.Pt02.Data,Local:7:I.Pt03.Data,MCM_EPB_STATUS,SFT_MCM_S_PB); [14:18:50] [INFO] [logging_config.py:126:_log_with_context] - MainRoutine: 1 rungs | example: [JSR(R010_INPUTS,0) ,JSR(R011_OUTPUTS,0) ,JSR(R012_RESETS,0) ,JSR(R020_ESTOPS,0) ,JSR(R030_ZONES,0) ]; [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Successfully completed ModernSafetyProgramGenerator generation [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Written ModernSafetyProgramGenerator to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/SafetyProgram_Generated.L5X [14:18:50] [INFO] [logging_config.py:128:_log_with_context] [SUCCESS] SafetyProgram written to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/SafetyProgram_Generated.L5X [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Generating MainProgram L5X... [14:18:50] [WARNING] [logging_config.py:128:_log_with_context] LimitedMainProgramGenerator is deprecated; using ModernMainProgramGenerator [14:18:50] [INFO] [logging_config.py:128:_log_with_context] Starting ModernMainProgramGenerator generation [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Creating MainProgram XML structure [14:18:50] [DEBUG] [logging_config.py:128:_log_with_context] Adding controller tags... [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: subsystem key [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: heuristic best match [14:18:50] [DEBUG] [logging_config.py:126:_log_with_context] Zones: loaded [14:18:51] [DEBUG] [logging_config.py:126:_log_with_context] Extracting PMM data [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Data: PMM entries=2 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] PMM processing PDP14_PMM1 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] PMM PDP14_PMM1 DPM=VSD_DPM3 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] PMM PDP14_PMM1 PWM fault IO PDP14_FIO1:I.Pt12.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] PMM PDP14_PMM1 configuration stored [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] PMM processing PDP11_PMM1 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] PMM PDP11_PMM1 DPM=VSB_DPM2 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] PMM PDP11_PMM1 PWM fault IO PDP11_FIO1:I.Pt12.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] PMM PDP11_PMM1 configuration stored [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Data: PMM configs=2 [14:18:51] [DEBUG] [logging_config.py:126:_log_with_context] Extracting CB_MONITOR data [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Data: CB PDPs=2 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] CB_MONITOR PDP11: CBs=26 FIOs=2 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] CB_MONITOR PDP11: configured CBs=26 positions=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26] fault=PDP11_FIO1:I.ConnectionFaulted [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] CB_MONITOR PDP14: CBs=26 FIOs=2 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] CB_MONITOR PDP14: configured CBs=26 positions=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26] fault=PDP14_FIO1:I.ConnectionFaulted [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Data: CB configs=2 [14:18:51] [INFO] [logging_config.py:126:_log_with_context] Tags created: total=512 | standard=57 safety=118 dcs=29 modules=300 [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Added 512 controller tags [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Generating main program routines... [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: mcm [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: mcm [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: rack [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: rack [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: dpm [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: dpm [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: fiom [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: fiom [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: apf [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: apf [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: flow_ctrl [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: flow_ctrl [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: estop_check [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: estop_check [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: encoder [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: encoder [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: safety_tag_map [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Safety tag map: RST data has 29 rows [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: MCM05 -> Local:5:I.Data.0 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PRS1_6_S1_PB -> PRS1_4_FIO1:I.Pt12.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PRS1_6_S2_PB -> PRS1_4_FIO1:I.Pt14.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_11_S1_PB -> PS8_11_FIO1:I.Pt10.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_11_CH3_S1_PB -> PS8_11_FIO2:I.Pt06.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PRS2_1_S1_PB -> PS8_1_FIO1:I.Pt06.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PRS2_1_S2_PB -> PS8_1_FIO1:I.Pt08.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: ULC3_3_SS1_SPB -> PS8_1_FIO2:I.Pt04.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS9_2_S1_PB -> PS8_5_FIO1:I.Pt10.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS9_2_S2_PB -> PS8_5_FIO1:I.Pt12.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_5_S1_PB -> PS8_5_FIO1:I.Pt02.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_5_S2_PB -> PS8_5_FIO1:I.Pt04.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS9_3CH1_S1_PB -> PS9_3_FIO1:I.Pt08.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS9_3_S1_PB -> PS9_3_FIO2:I.Pt06.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS9_3CH3_S1_PB -> PS9_3_FIO2:I.Pt08.Data [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_11_CH2_S1_PB -> PS8_11_FIOH1:I.ProcessDataIn.Connector_4_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_11_CH4_S1_PB -> PS8_11_FIOH1:I.ProcessDataIn.Connector_2_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_11_CH1_S1_PB -> PS8_11_FIOH1:I.ProcessDataIn.Connector_3_B_Pin_2 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_1_SS1_SPB -> PS8_1_FIOH1:I.ProcessDataIn.Connector_8_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: ULC1_3_SS1_SPB -> PS8_1_FIOH2:I.ProcessDataIn.Connector_7_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: ULC1_3_SS2_SPB -> PS8_1_FIOH2:I.ProcessDataIn.Connector_3_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: ULC2_3_SS1_SPB -> PS8_1_FIOH2:I.ProcessDataIn.Connector_8_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: ULC4_3_SS1_SPB -> PS8_1_FIOH3:I.ProcessDataIn.Connector_7_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_2_S1_PB -> PS8_1_FIOH3:I.ProcessDataIn.Connector_3_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_2_S2_PB -> PS8_1_FIOH3:I.ProcessDataIn.Connector_1_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_4_S1_PB -> PS8_4_FIOH1:I.ProcessDataIn.Connector_3_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS8_4_S2_PB -> PS8_4_FIOH1:I.ProcessDataIn.Connector_1_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS9_3CH2_S1_PB -> PS9_3_FIOH1:I.ProcessDataIn.Connector_1_A_Pin_4 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS9_3CH4_S1_PB -> PS9_3_FIOH2:I.ProcessDataIn.Connector_5_B_Pin_2 [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Safety tag map: Generating 29 rungs [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 1: XIC(Local:5:I.Data.0)OTE(MCM05); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 2: XIC(PRS1_4_FIO1:I.Pt12.Data)OTE(PRS1_6_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 3: XIC(PRS1_4_FIO1:I.Pt14.Data)OTE(PRS1_6_S2_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 4: XIC(PS8_1_FIO1:I.Pt06.Data)OTE(PRS2_1_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 5: XIC(PS8_1_FIO1:I.Pt08.Data)OTE(PRS2_1_S2_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 6: XIC(PS8_1_FIOH1:I.ProcessDataIn.Connector_8_A_Pin_4)OTE(PS8_1_SS1_SPB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 7: XIC(PS8_1_FIOH3:I.ProcessDataIn.Connector_3_A_Pin_4)OTE(PS8_2_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 8: XIC(PS8_1_FIOH3:I.ProcessDataIn.Connector_1_A_Pin_4)OTE(PS8_2_S2_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 9: XIC(PS8_4_FIOH1:I.ProcessDataIn.Connector_3_A_Pin_4)OTE(PS8_4_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 10: XIC(PS8_4_FIOH1:I.ProcessDataIn.Connector_1_A_Pin_4)OTE(PS8_4_S2_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 11: XIC(PS8_5_FIO1:I.Pt02.Data)OTE(PS8_5_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 12: XIC(PS8_5_FIO1:I.Pt04.Data)OTE(PS8_5_S2_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 13: XIC(PS8_11_FIOH1:I.ProcessDataIn.Connector_3_B_Pin_2)OTE(PS8_11_CH1_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 14: XIC(PS8_11_FIOH1:I.ProcessDataIn.Connector_4_A_Pin_4)OTE(PS8_11_CH2_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 15: XIC(PS8_11_FIO2:I.Pt06.Data)OTE(PS8_11_CH3_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 16: XIC(PS8_11_FIOH1:I.ProcessDataIn.Connector_2_A_Pin_4)OTE(PS8_11_CH4_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 17: XIC(PS8_11_FIO1:I.Pt10.Data)OTE(PS8_11_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 18: XIC(PS8_5_FIO1:I.Pt10.Data)OTE(PS9_2_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 19: XIC(PS8_5_FIO1:I.Pt12.Data)OTE(PS9_2_S2_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 20: XIC(PS9_3_FIO2:I.Pt06.Data)OTE(PS9_3_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 21: XIC(PS9_3_FIO1:I.Pt08.Data)OTE(PS9_3CH1_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 22: XIC(PS9_3_FIOH1:I.ProcessDataIn.Connector_1_A_Pin_4)OTE(PS9_3CH2_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 23: XIC(PS9_3_FIO2:I.Pt08.Data)OTE(PS9_3CH3_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 24: XIC(PS9_3_FIOH2:I.ProcessDataIn.Connector_5_B_Pin_2)OTE(PS9_3CH4_S1_PB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 25: XIC(PS8_1_FIOH2:I.ProcessDataIn.Connector_7_A_Pin_4)OTE(ULC1_3_SS1_SPB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 26: XIC(PS8_1_FIOH2:I.ProcessDataIn.Connector_3_A_Pin_4)OTE(ULC1_3_SS2_SPB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 27: XIC(PS8_1_FIOH2:I.ProcessDataIn.Connector_8_A_Pin_4)OTE(ULC2_3_SS1_SPB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 28: XIC(PS8_1_FIO2:I.Pt04.Data)OTE(ULC3_3_SS1_SPB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 29: XIC(PS8_1_FIOH3:I.ProcessDataIn.Connector_7_A_Pin_4)OTE(ULC4_3_SS1_SPB); [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Safety tag map: Generated 29 total rungs [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: safety_tag_map [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: station_jr_pb [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: station_jr_pb [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: station_s_pb [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: station_s_pb [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: station_ss_pb [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: station_ss_pb [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: station_epc [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: station_epc [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: jpe [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: jpe [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: pmm [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: pmm [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: cb_monitor [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: cb_monitor [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: belt_tracking [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: belt_tracking [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: main_routine [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Generating MainRoutine with JSR calls [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated MainRoutine [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: main_routine [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Main routine generation results: {'mcm': True, 'rack': True, 'dpm': True, 'fiom': True, 'apf': True, 'flow_ctrl': True, 'estop_check': True, 'encoder': True, 'safety_tag_map': True, 'station_jr_pb': True, 'station_s_pb': True, 'station_ss_pb': True, 'station_epc': True, 'jpe': True, 'pmm': True, 'cb_monitor': True, 'belt_tracking': True, 'main_routine': True} [14:18:51] [INFO] [logging_config.py:126:_log_with_context] Routines created (18): MainRoutine, R010_MCM, R011_RACK, R020_DPM, R030_FIOM, R040_APF, R050_FLOW_CTRL, R060_PMM, R070_CB_MONITOR, R080_ENCODER, R090_STATION_JR_PB, R095_STATION_S_PB, R096_STATION_SS_PB, R097_STATION_EPC, R100_JPE, R120_ESTOP_CHECK, R130_SAFETY_TAG_MAP, ZZZ_BeltTracking [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R010_MCM: 2 rungs | example: NOP(); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R011_RACK: 2 rungs | example: NOP(); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R020_DPM: 11 rungs | example: NOP(); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R030_FIOM: 58 rungs | example: NOP(); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R040_APF: 28 rungs | example: NOP(); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R050_FLOW_CTRL: 32 rungs | example: XIC(PRS1_4_VFD1.CTRL.STS.Enabled)OTE(PRS1_3_VFD1.CTRL.CMD.Interlock); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R120_ESTOP_CHECK: 28 rungs | example: XIO(FL2074_2_VFD1:SI.In00Data)XIO(FL2074_2_VFD1:SO.Out00Output)XIO(FL2074_2_VFD1:SO.STOOutput)XIC(FL2078_2_VFD1:SO.Out00Output)XIC(FL2078_2_VFD1:SO.STOOutput... [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R080_ENCODER: 13 rungs | example: AOI_ENCODER(PS8_11_ENCODER.AOI,PS8_11_ENCODER.HMI,PS8_11_ENCODER.CTRL,PS8_11_VFD1.CTRL,NO_UPSTREAM,NO_DOWNSTREAM,PS8_11_VFD1:I.In_1,PS8_11_VFD1:I.ConnectionF... [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R130_SAFETY_TAG_MAP: 30 rungs | example: XIC(Local:5:I.Data.0)OTE(MCM_S_PB); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R090_STATION_JR_PB: 75 rungs | example: AOI_STATION_JR_PB(FL2074_2_JR1_PB.AOI,FL2074_2_JR1_PB.HMI,FL2074_2_JR1_PB.CTRL,NO_PARTNER,FL2074_FIOH1:I.ProcessDataIn.Connector_6_A_Pin_4,FL2074_FIOH1:O.Pro... [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R095_STATION_S_PB: 14 rungs | example: AOI_STATION_S_PB(PRS1_6_S1_PB_STATION.AOI,PRS1_6_S1_PB_STATION.HMI,PRS1_6_S1_PB_STATION.CTRL,PRS1_6_VFD1.CTRL,PRS1_4_FIO1:I.Pt12.Data,PRS1_4_FIO1:O.Pt13.Data); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R096_STATION_SS_PB: 6 rungs | example: AOI_STATION_SS_PB(PS8_1_SS1_STATION.AOI,PS8_1_SS1_STATION.HMI,PS8_1_SS1_STATION.CTRL,PS8_1_VFD1.CTRL,PS8_1_FIOH1:I.ConnectionFaulted,PS8_1_FIOH1:I.ProcessDat... [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R097_STATION_EPC: 18 rungs | example: AOI_STATION_EPC(PRS1_6_EPC1_STATION.AOI,MCM.CTRL,PRS1_6_EPC1_STATION.HMI,PRS1_6_S1_PB_STATION.CTRL,PRS1_6_VFD1:I.ConnectionFaulted,PRS1_6_VFD1:SI.In00Data,PR... [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R100_JPE: 42 rungs | example: AOI_JPE(PRS1_2A_JPE1.AOI,PRS1_2A_JPE1.HMI,PRS1_2A_JPE1.CTRL,PRS1_2A_VFD1.CTRL,PRS1_2A_JR1_PB.CTRL,PRS1_2A_VFD1:I.ConnectionFaulted,PRS1_2A_VFD1:I.In_2,YES,PR... [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R060_PMM: 3 rungs | example: NOP(); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - R070_CB_MONITOR: 3 rungs | example: NOP(); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - ZZZ_BeltTracking: 35 rungs | example: NOP(); [14:18:51] [INFO] [logging_config.py:126:_log_with_context] - MainRoutine: 1 rungs | example: [JSR(R010_MCM,0) ,JSR(R011_RACK,0) ,JSR(R020_DPM,0) ,JSR(R030_FIOM,0) ,JSR(R040_APF,0) ,JSR(R050_FLOW_CTRL,0) ,JSR(R120_ESTOP_CHECK,0) ,JSR(R080_ENCODER,0) ,... [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Successfully completed ModernMainProgramGenerator generation [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Written ModernMainProgramGenerator to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/MainProgram_Generated.L5X [14:18:51] [INFO] [logging_config.py:128:_log_with_context] [SUCCESS] MainProgram written to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/MainProgram_Generated.L5X [14:18:51] [INFO] [logging_config.py:128:_log_with_context] Generating safety tag mapping... [14:18:51] [DEBUG] [logging_config.py:128:_log_with_context] Creating MappingWriter wrapper [14:18:51] [DEBUG] [logging_config.py:126:_log_with_context] Creating DataLoader instance [14:18:51] [INFO] [logging_config.py:128:_log_with_context] [SUCCESS] Safety tag mapping written to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/SafetyTagMapping.txt [14:18:51] [INFO] [logging_config.py:128:_log_with_context] - Safety tags: 29 [14:18:51] [INFO] [logging_config.py:128:_log_with_context] === All artifacts generated successfully! === {"level": "INFO", "message": "Routine generation completed successfully", "timestamp": "2025-09-01T14:18:51.555695", "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 3: IO Tree Generator stdout === Enhanced MCM Generator - Project: MTN6_MCM05 - Excel: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/PLC Data Generator/DESC_IP_MERGED.xlsx - Boilerplate: MTN6_boilerplate - Mode: Single file -------------------------------------------------- Created 55 FIOH modules based on TERM analysis Found 57 IOLM modules Found 137 Beacon modules Found 10 DPM modules Found 2 PMM modules WARNING: 35 unknown modules found 1. FL2074_2_VFD1 - 35S_6D4_P111 (11.200.1.65) 2. FL2078_2_VFD1 - 35S_6D4_P111 (11.200.1.67) 3. FL2086_2_VFD1 - 35S_6D4_P111 (11.200.1.69) 4. FL2090_2_VFD1 - 35S_6D4_P111 (11.200.1.71) 5. FL2094_2_VFD1 - 35S_6D4_P111 (11.200.1.73) 6. FL4066_2_VFD1 - 35S_6D4_P111 (11.200.1.83) 7. FL4070_2_VFD1 - 35S_6D4_P111 (11.200.1.81) 8. FL4074_2_VFD1 - 35S_6D4_P111 (11.200.1.79) 9. FL4078_2_VFD1 - 35S_6D4_P111 (11.200.1.77) 10. FL4082_2_VFD1 - 35S_6D4_P111 (11.200.1.75) 11. PRS1_2A_VFD1 - 35S_6D4_P111 (11.200.1.31) 12. PRS1_2B_VFD1 - 35S_6D3_P101 (11.200.1.32) 13. PRS1_3_VFD1 - 35S_6D5_P111 (11.200.1.33) 14. PRS1_4_VFD1 - 35S_6D3_P101 (11.200.1.34) 15. PRS1_6_VFD1 - 35S_6D2_P101 (11.200.1.35) 16. PRS1_7_MDR1 - ITOH () 17. PRS2_1_VFD1 - 35S_6D5_P111 (11.200.1.30) 18. PS8_11_VFD1 - 35S_6D6_P111 (11.200.1.37) 19. PS8_1_VFD1 - 35S_6D5_P111 (11.200.1.51) 20. PS8_2_VFD1 - 35S_6D6_P111 (11.200.1.52) 21. PS8_4_VFD1 - 25B_D024N104 (11.200.1.53) 22. PS8_5_VFD1 - 25B_D024N104 (11.200.1.54) 23. PS8_6_VFD1 - 35S_6D4_P111 (11.200.1.55) 24. PS8_8_VFD1 - 35S_6D5_P111 (11.200.1.56) 25. PS8_9_VFD1 - 25B_D024N104 (11.200.1.36) 26. PS9_2_VFD1 - 35S_6D5_P111 (11.200.1.57) 27. PS9_3_VFD1 - 35S_6D5_P111 (11.200.1.58) 28. ULC1_1_VFD1 - PIONEER (11.200.1.43) 29. ULC1_3_VFD1 - 35S_6D2_P101 (11.200.1.44) 30. ULC2_1_VFD1 - PIONEER (11.200.1.45) 31. ULC2_3_VFD1 - 35S_6D2_P101 (11.200.1.46) 32. ULC3_1_VFD1 - PIONEER (11.200.1.47) 33. ULC3_3_VFD1 - 35S_6D2_P101 (11.200.1.48) 34. ULC4_1_VFD1 - PIONEER (11.200.1.49) 35. ULC4_3_VFD1 - 35S_6D2_P101 (11.200.1.50) Created 57 IOLM modules with boilerplate selection: Device 'PDP11_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PDP11_FIO1 (FIO PDP_FIO): Using variant boilerplate PDP_FIO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PDP_FIO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PDP_FIO_Module.L5X Device 'PDP14_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PDP14_FIO1 (FIO PDP_FIO): Using variant boilerplate PDP_FIO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PDP_FIO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PDP_FIO_Module.L5X Device 'PRS1_1ACH_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PRS1_1ACH_FIO1 (FIO D2CMaster): Using module-specific boilerplate PRS1_1ACH_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PRS1_1ACH_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PRS1_1ACH_FIO1_Module.L5X Device 'PRS1_1BCH_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PRS1_1BCH_FIO1 (FIO D2CMaster): Using module-specific boilerplate PRS1_1BCH_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PRS1_1BCH_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PRS1_1BCH_FIO1_Module.L5X Device 'PRS1_4_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PRS1_4_FIO1 (FIO D2CMaster): Using module-specific boilerplate PRS1_4_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PRS1_4_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PRS1_4_FIO1_Module.L5X Device 'PS8_11_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PS8_11_FIO1 (FIO D2CMaster): Using module-specific boilerplate PS8_11_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_11_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_11_FIO1_Module.L5X Device 'PS8_11_FIO2' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PS8_11_FIO2 (FIO D2CMaster): Using module-specific boilerplate PS8_11_FIO2_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_11_FIO2_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_11_FIO2_Module.L5X Device 'PS8_1_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PS8_1_FIO1 (FIO PalletBuildMaster): Using module-specific boilerplate PS8_1_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_1_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_1_FIO1_Module.L5X Device 'PS8_1_FIO2' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PS8_1_FIO2 (FIO D2CMaster): Using module-specific boilerplate PS8_1_FIO2_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_1_FIO2_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_1_FIO2_Module.L5X Device 'PS8_5_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PS8_5_FIO1 (FIO D2CMaster): Using module-specific boilerplate PS8_5_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_5_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_5_FIO1_Module.L5X Device 'PS8_9_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PS8_9_FIO1 (FIO D2CMaster): Using module-specific boilerplate PS8_9_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_9_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS8_9_FIO1_Module.L5X Device 'PS9_3_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PS9_3_FIO1 (FIO D2CMaster): Using module-specific boilerplate PS9_3_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS9_3_FIO1_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS9_3_FIO1_Module.L5X Device 'PS9_3_FIO2' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) PS9_3_FIO2 (FIO D2CMaster): Using module-specific boilerplate PS9_3_FIO2_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS9_3_FIO2_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PS9_3_FIO2_Module.L5X Device 'VSB_DPM1_FIO1' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM1_FIO1 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM1_FIO2' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM1_FIO2 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM1_FIO3' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM1_FIO3 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM1_FIO4' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM1_FIO4 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM1_FIO5' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM1_FIO5 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM1_FIO6' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM1_FIO6 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM1_FIO7' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM1_FIO7 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM1_FIO8' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM1_FIO8 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM2_FIO1' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM2_FIO1 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM2_FIO2' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM2_FIO2 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM2_FIO3' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM2_FIO3 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM2_FIO4' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM2_FIO4 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM2_FIO5' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM2_FIO5 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM2_FIO6' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM2_FIO6 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM2_FIO7' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM2_FIO7 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM2_FIO8' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM2_FIO8 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM3_FIO1' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM3_FIO1 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM3_FIO2' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM3_FIO2 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM3_FIO3' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM3_FIO3 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSB_DPM3_FIO4' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM3_FIO4 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM3_FIO6' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM3_FIO6 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSB_DPM3_FIO8' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSB_DPM3_FIO8 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM1_FIO1' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM1_FIO1 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM1_FIO2' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM1_FIO2 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM1_FIO3' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM1_FIO3 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM1_FIO4' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM1_FIO4 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM1_FIO5' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM1_FIO5 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM1_FIO6' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM1_FIO6 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM1_FIO7' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM1_FIO7 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM1_FIO8' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM1_FIO8 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM2_FIO1' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM2_FIO1 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM2_FIO2' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM2_FIO2 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM2_FIO3' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM2_FIO3 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM2_FIO4' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM2_FIO4 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM2_FIO5' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM2_FIO5 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM2_FIO6' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM2_FIO6 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM2_FIO7' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM2_FIO7 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM2_FIO8' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM2_FIO8 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM3_FIO1' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM3_FIO1 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM3_FIO2' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM3_FIO2 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM3_FIO3' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM3_FIO3 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM3_FIO4' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM3_FIO4 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Device 'VSD_DPM3_FIO5' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM3_FIO5 (FIO PalletBuildMaster): Using variant boilerplate PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PalletBuildMaster_Module.L5X Device 'VSD_DPM3_FIO6' matched pattern 'VS', assigned to: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) VSD_DPM3_FIO6 (FIO D2CMaster): Using variant boilerplate D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/D2CMaster_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/ZMX_Module.L5X Device 'FL2074_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Device 'FL2078_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Device 'FL2086_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Device 'FL2090_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Device 'FL2094_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Device 'FL4066_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Device 'FL4070_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Device 'FL4074_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Device 'FL4078_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Device 'FL4082_4_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1) Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/EXTENDO_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PMM_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PMM_Module.L5X FL2074_FIOH1: Detected 'FL' in name, using FL_Hub boilerplate FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X FL2086_FIOH1: Detected 'FL' in name, using FL_Hub boilerplate FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X FL2090_FIOH1: Detected 'FL' in name, using FL_Hub boilerplate FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X FL4066_FIOH1: Detected 'FL' in name, using FL_Hub boilerplate FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X FL4074_FIOH1: Detected 'FL' in name, using FL_Hub boilerplate FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X FL4082_FIOH1: Detected 'FL' in name, using FL_Hub boilerplate FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/FL_Hub_Module.L5X PDP11_FIOH1 (FIOH PDP_FIOH): Using variant boilerplate PDP_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PDP_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PDP_FIOH_Module.L5X PDP14_FIOH1 (FIOH PDP_FIOH): Using variant boilerplate PDP_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PDP_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/PDP_FIOH_Module.L5X PS8_11_FIOH1 (FIOH Chute_Chute): Using variant boilerplate Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X PS8_11_FIOH2 (FIOH Chute_Chute): Using variant boilerplate Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X PS8_1_FIOH1 (FIOH Chute_Chute): Using variant boilerplate Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X PS8_1_FIOH2 (FIOH Chute_Chute): Using variant boilerplate Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X PS8_1_FIOH3 (FIOH Chute_Chute): Using variant boilerplate Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X PS8_4_FIOH1 (FIOH Chute_Chute): Using variant boilerplate Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X PS9_3_FIOH1 (FIOH Chute_Chute): Using variant boilerplate Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X PS9_3_FIOH2 (FIOH Chute_Chute): Using variant boilerplate Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Chute_Chute_Hub_Module.L5X S012004_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012008_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012012_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012016_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012020_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012024_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012028_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012032_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012034_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012040_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012044_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012048_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012052_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012056_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012060_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012064_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012066_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012072_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012080_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012084_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S012096_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014004_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014008_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014012_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014016_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014020_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014024_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014026_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014032_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014036_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014040_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014044_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014048_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014052_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014056_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014058_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014064_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014072_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X S014080_FIOH1 (FIOH Sorter): Using variant boilerplate Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/Sorter_FIOH_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/SLOT5_IB16_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/SLOT7_IB16S_Module.L5X Successfully loaded boilerplate: MTN6_boilerplate/SLOT6_OB16E_Module.L5X No EN4TR modules registered for creation Importing AOIs/DataTypes from base: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/IO Tree Configuration Generator/BaseProgram.L5X Archived old L5X: MTN6_MCM05_20250831_222608.L5X Programs already exist (2 programs found), skipping empty program creation OK: Generated project: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/MTN6_MCM05_20250901_141857.L5X Single file generation complete - ['/mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/MTN6_MCM05_20250901_141857.L5X'] === Step 3 Batch Script Creation === Creating project folder compilation for: MTN6_MCM05 Source L5X: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05/MTN6_MCM05_20250901_141857.L5X Project directory: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/MTN6_MCM05 Generated batch file: compile_MTN6_MCM05.bat SUCCESS: Project compilation ready! To compile on Windows: cd "C:\\Users\\ilia.gurielidze\\Projects\\PLC Generation\\generated_projects\\MTN6_MCM05" compile_MTN6_MCM05.bat