PLC_Generation/logs/workflow_SAT9_MCM03_20250901_161728.log
2025-09-02 11:13:29 +04:00

1071 lines
152 KiB
Plaintext

{"level": "INFO", "message": "PLC Generation Workflow started", "timestamp": "2025-09-01T16:17:28.793366", "module": "__main__", "file": "logging_config.py", "line": 126, "function": "_log_with_context", "pathname": "/mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/Routines Generator/src/logging_config.py", "excel_file": "/mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/PLC Data Generator/data/SAT9_MCM03.xlsx", "project_name": "SAT9_MCM03"}
{"level": "INFO", "message": "Starting data processing step", "timestamp": "2025-09-01T16:17:28.793806", "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: ['DESC_PLC', 'NETWORK_PLC']
Found DESC sheet: DESC_PLC
Found NETWORK sheet: NETWORK_PLC
DESC columns: ['TAGNAME', 'TERM', 'DESCA', 'DESCB']
NETWORK columns: ['DPM', 'DPM_IP', 'Name', 'PartNumber', 'IP']
NOTE: Ignored 1 rows from DESC sheet with an empty TAGNAME.
Classifying signals and adding IO paths...
Signal classification results:
SPARE: 496
I: 220
O: 51
IOLink: 12
Device type distribution:
APF: 635
M12DR: 96
IB16: 16
OB16E: 16
IB16S: 16
IO Path mapping results:
Successful mappings: 779/779 (100.0%)
Found 3 TAGNAMEs present in DESC but not in NETWORK_PLC.
Adding unique DPM names not present in DESC or NETWORK_PLC.Name: ['DPM1_PS3_1', 'DPM1_PS4_1', 'DPM2_PS3_1', 'DPM2_PS4_1']
================================================================================
WARNING: The following issues were found but processing will continue:
================================================================================
- TAGNAME 'SLOT5_IB16' from DESC sheet not found in NETWORK_PLC sheet.
- TAGNAME 'SLOT6_OB16E' from DESC sheet not found in NETWORK_PLC sheet.
- TAGNAME 'SLOT7_IB16S' from DESC sheet not found in NETWORK_PLC sheet.
================================================================================
Continuing with processing...
Normalizing TAGNAME, DESC, and IO_PATH columns for VFDs only in the final output...
Final result has 790 rows
Sample of merged data:
TAGNAME TERM DESCA ... SIGNAL DEVICE_TYPE IO_PATH
0 SLOT5_IB16 I0 MCM03 ... I IB16 Local:5:I.Data.0
1 SLOT5_IB16 I1 MCM03 ... I IB16 Local:5:I.Data.1
2 SLOT5_IB16 I10 SPARE ... SPARE IB16 Local:5:I.Data.10
3 SLOT5_IB16 I11 SPARE ... SPARE IB16 Local:5:I.Data.11
4 SLOT5_IB16 I12 SPARE ... SPARE IB16 Local:5:I.Data.12
5 SLOT5_IB16 I13 SPARE ... SPARE IB16 Local:5:I.Data.13
6 SLOT5_IB16 I14 SPARE ... SPARE IB16 Local:5:I.Data.14
7 SLOT5_IB16 I15 SPARE ... SPARE IB16 Local:5:I.Data.15
8 SLOT5_IB16 I2 MCM03 ... I IB16 Local:5:I.Data.2
9 SLOT5_IB16 I3 MCM03 ... I IB16 Local:5:I.Data.3
[10 rows x 11 columns]
New Excel file created: SAT9_MCM03_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/SAT9_MCM03.xlsx
DEBUG: Full project pattern matched: SAT9_MCM03
DEBUG: Final subsystem name: SAT9_MCM03
Reading input file: SAT9_MCM03_DESC_IP_MERGED.xlsx
Removed 12 IOLink rows (including beacons, FIOH channels, and all other IOLink entries)
Removed 11 blank name/description rows
Saving output file: SAT9_MCM03_OUTPUT.csv
Processing complete!
Created standard output file: DESC_IP_MERGED.xlsx
=== Step 1: PLC Data Generator stderr ===
=== Step 1 File Copy ===
Copied SAT9_MCM03_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-01T16:17:32.282654", "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-01T16:17:32.283024", "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_SAT9_MCM03_20250901_161728.log", "timestamp": "2025-09-01T16:17:34.336672", "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-01T16:17:34.338259", "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-01T16:17:34.338441", "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-01T16:17:34.348108", "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-01T16:17:34.348299", "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-01T16:17:34.348421", "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-01T16:17:34.358651", "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-01T16:17:34.364573", "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-01T16:17:34.368959", "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-01T16:17:34.373775", "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-01T16:17:34.377748", "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-01T16:17:34.381188", "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-01T16:17:34.384853", "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-01T16:17:34.391684", "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-01T16:17:34.395337", "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-01T16:17:34.398888", "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-01T16:17:34.402572", "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-01T16:17:34.406011", "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-01T16:17:34.409522", "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-01T16:17:34.412856", "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-01T16:17:34.416208", "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-01T16:17:34.419571", "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-01T16:17:34.423063", "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-01T16:17:34.426311", "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-01T16:17:34.429627", "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-01T16:17:34.433485", "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-01T16:17:34.436672", "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-01T16:17:34.440551", "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-01T16:17:34.444096", "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-01T16:17:34.447603", "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-01T16:17:34.451307", "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-01T16:17:34.454992", "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-01T16:17:34.458287", "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-01T16:17:34.461613", "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-01T16:17:34.464681", "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-01T16:17:34.468347", "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-01T16:17:34.471784", "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-01T16:17:34.471975", "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-01T16:17:35.461445", "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-01T16:17:35.468184", "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-01T16:17:35.471769", "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-01T16:17:35.473609", "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-01T16:17:35.484287", "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": "MCM03", "score": 16}
{"level": "DEBUG", "message": "Zones: loaded", "timestamp": "2025-09-01T16:17:35.485278", "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": 9}
{"level": "INFO", "message": "Successfully generated routine: outputs", "timestamp": "2025-09-01T16:17:35.487240", "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-01T16:17:35.487481", "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-01T16:17:35.489875", "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-01T16:17:35.490098", "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 PS3_7: {'EPC2', 'EPC1'}", "timestamp": "2025-09-01T16:17:35.491091", "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 ILU007_ESTOP1: {'ESTOP1'}", "timestamp": "2025-09-01T16:17:35.491349", "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 PS4_7: {'EPC2', 'EPC1'}", "timestamp": "2025-09-01T16:17:35.491693", "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 UL10_2: {'ESTOP1'}", "timestamp": "2025-09-01T16:17:35.491948", "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 UL11_2: {'ESTOP1'}", "timestamp": "2025-09-01T16:17:35.492198", "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 UL12_1: {'EPC2', 'EPC1'}", "timestamp": "2025-09-01T16:17:35.492537", "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 UL7_1: {'EPC2', 'EPC1'}", "timestamp": "2025-09-01T16:17:35.492874", "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 UL8_2: {'ESTOP1'}", "timestamp": "2025-09-01T16:17:35.493083", "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 UL9_2: {'ESTOP1'}", "timestamp": "2025-09-01T16:17:35.493298", "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: {'PS3_7': {'EPC2', 'EPC1'}, 'ILU007_ESTOP1': {'ESTOP1'}, 'PS4_7': {'EPC2', 'EPC1'}, 'UL10_2': {'ESTOP1'}, 'UL11_2': {'ESTOP1'}, 'UL12_1': {'EPC2', 'EPC1'}, 'UL7_1': {'EPC2', 'EPC1'}, 'UL8_2': {'ESTOP1'}, 'UL9_2': {'ESTOP1'}}", "timestamp": "2025-09-01T16:17:35.493472", "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 03-01 candidates: ['PS3_1', 'PS3_2', 'PS3_3', 'PS3_4', 'PS3_5', 'PS3_6', 'PS3_7']", "timestamp": "2025-09-01T16:17:35.494030", "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 PS3_1 in zone 03-01", "timestamp": "2025-09-01T16:17:35.494243", "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 PS3_2 in zone 03-01", "timestamp": "2025-09-01T16:17:35.494430", "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 PS3_3 in zone 03-01", "timestamp": "2025-09-01T16:17:35.494634", "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 PS3_4 in zone 03-01", "timestamp": "2025-09-01T16:17:35.494838", "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 PS3_5 in zone 03-01", "timestamp": "2025-09-01T16:17:35.495007", "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 PS3_6 in zone 03-01", "timestamp": "2025-09-01T16:17:35.495173", "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-01T16:17:35.495344", "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": "03-01", "interlock": "MCM03", "dcs_list": ["PS3_7_EPC1_DCS_CTRL.O1", "PS3_7_EPC2_DCS_CTRL.O1"]}
{"level": "DEBUG", "message": "Zone 03-02 candidates: ['UL7_1', 'UL7_2', 'UL7_3', 'UL7_4', 'UL7_5', 'UL7_6', 'UL7_7']", "timestamp": "2025-09-01T16:17:35.495682", "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 UL7_2 in zone 03-02", "timestamp": "2025-09-01T16:17:35.495848", "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 UL7_3 in zone 03-02", "timestamp": "2025-09-01T16:17:35.496008", "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 UL7_4 in zone 03-02", "timestamp": "2025-09-01T16:17:35.496176", "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 UL7_5 in zone 03-02", "timestamp": "2025-09-01T16:17:35.496359", "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 UL7_6 in zone 03-02", "timestamp": "2025-09-01T16:17:35.496528", "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 UL7_7 in zone 03-02", "timestamp": "2025-09-01T16:17:35.496678", "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-01T16:17:35.496849", "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": "03-02", "interlock": "MCM03", "dcs_list": ["UL7_1_EPC1_DCS_CTRL.O1", "UL7_1_EPC2_DCS_CTRL.O1"]}
{"level": "DEBUG", "message": "Zone 03-03 candidates: ['UL8_1', 'UL8_2', 'UL8_3', 'UL8_4', 'UL8_5', 'UL8_6', 'UL8_7', 'UL8_8', 'UL8_9']", "timestamp": "2025-09-01T16:17:35.497201", "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 UL8_1 in zone 03-03", "timestamp": "2025-09-01T16:17:35.497391", "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 UL8_3 in zone 03-03", "timestamp": "2025-09-01T16:17:35.497536", "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 UL8_4 in zone 03-03", "timestamp": "2025-09-01T16:17:35.497689", "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 UL8_5 in zone 03-03", "timestamp": "2025-09-01T16:17:35.497836", "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 UL8_6 in zone 03-03", "timestamp": "2025-09-01T16:17:35.497981", "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 UL8_7 in zone 03-03", "timestamp": "2025-09-01T16:17:35.498158", "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 UL8_8 in zone 03-03", "timestamp": "2025-09-01T16:17:35.498325", "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 UL8_9 in zone 03-03", "timestamp": "2025-09-01T16:17:35.498485", "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-01T16:17:35.498640", "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": "03-03", "interlock": "MCM03", "dcs_list": ["UL8_2_ESTOP1_DCS_CTRL.O1"]}
{"level": "DEBUG", "message": "Zone 03-04 candidates: ['UL9_1', 'UL9_2', 'UL9_3', 'UL9_4', 'UL9_5', 'UL9_6', 'UL9_7', 'UL9_8', 'UL9_9']", "timestamp": "2025-09-01T16:17:35.498990", "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 UL9_1 in zone 03-04", "timestamp": "2025-09-01T16:17:35.499167", "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 UL9_3 in zone 03-04", "timestamp": "2025-09-01T16:17:35.499297", "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 UL9_4 in zone 03-04", "timestamp": "2025-09-01T16:17:35.499425", "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 UL9_5 in zone 03-04", "timestamp": "2025-09-01T16:17:35.499562", "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 UL9_6 in zone 03-04", "timestamp": "2025-09-01T16:17:35.499743", "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 UL9_7 in zone 03-04", "timestamp": "2025-09-01T16:17:35.499876", "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 UL9_8 in zone 03-04", "timestamp": "2025-09-01T16:17:35.500020", "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 UL9_9 in zone 03-04", "timestamp": "2025-09-01T16:17:35.500399", "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-01T16:17:35.508526", "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": "03-04", "interlock": "MCM03", "dcs_list": ["UL9_2_ESTOP1_DCS_CTRL.O1"]}
{"level": "DEBUG", "message": "Zone 03-05 candidates: ['PS4_1', 'PS4_2', 'PS4_3', 'PS4_4', 'PS4_5', 'PS4_6', 'PS4_7']", "timestamp": "2025-09-01T16:17:35.509174", "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 PS4_1 in zone 03-05", "timestamp": "2025-09-01T16:17:35.509431", "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 PS4_2 in zone 03-05", "timestamp": "2025-09-01T16:17:35.509630", "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 PS4_3 in zone 03-05", "timestamp": "2025-09-01T16:17:35.509803", "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 PS4_4 in zone 03-05", "timestamp": "2025-09-01T16:17:35.509961", "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 PS4_5 in zone 03-05", "timestamp": "2025-09-01T16:17:35.510132", "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 PS4_6 in zone 03-05", "timestamp": "2025-09-01T16:17:35.510329", "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-01T16:17:35.510519", "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": "03-05", "interlock": "MCM03", "dcs_list": ["PS4_7_EPC1_DCS_CTRL.O1", "PS4_7_EPC2_DCS_CTRL.O1"]}
{"level": "DEBUG", "message": "Zone 03-06 candidates: ['UL10_1', 'UL10_2', 'UL10_3', 'UL10_4', 'UL10_5', 'UL10_6', 'UL10_7', 'UL10_8']", "timestamp": "2025-09-01T16:17:35.510944", "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 UL10_1 in zone 03-06", "timestamp": "2025-09-01T16:17:35.511147", "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 UL10_3 in zone 03-06", "timestamp": "2025-09-01T16:17:35.511319", "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 UL10_4 in zone 03-06", "timestamp": "2025-09-01T16:17:35.511476", "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 UL10_5 in zone 03-06", "timestamp": "2025-09-01T16:17:35.511645", "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 UL10_6 in zone 03-06", "timestamp": "2025-09-01T16:17:35.511806", "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 UL10_7 in zone 03-06", "timestamp": "2025-09-01T16:17:35.511981", "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 UL10_8 in zone 03-06", "timestamp": "2025-09-01T16:17:35.512131", "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-01T16:17:35.512276", "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": "03-06", "interlock": "MCM03", "dcs_list": ["UL10_2_ESTOP1_DCS_CTRL.O1"]}
{"level": "DEBUG", "message": "Zone 03-07 candidates: ['UL11_1', 'UL11_2', 'UL11_3', 'UL11_4', 'UL11_5', 'UL11_6', 'UL11_7', 'UL11_8', 'UL11_9']", "timestamp": "2025-09-01T16:17:35.512656", "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 UL11_1 in zone 03-07", "timestamp": "2025-09-01T16:17:35.512843", "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 UL11_3 in zone 03-07", "timestamp": "2025-09-01T16:17:35.513016", "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 UL11_4 in zone 03-07", "timestamp": "2025-09-01T16:17:35.513195", "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 UL11_5 in zone 03-07", "timestamp": "2025-09-01T16:17:35.513377", "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 UL11_6 in zone 03-07", "timestamp": "2025-09-01T16:17:35.513517", "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 UL11_7 in zone 03-07", "timestamp": "2025-09-01T16:17:35.513693", "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 UL11_8 in zone 03-07", "timestamp": "2025-09-01T16:17:35.513883", "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 UL11_9 in zone 03-07", "timestamp": "2025-09-01T16:17:35.514045", "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-01T16:17:35.514220", "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": "03-07", "interlock": "MCM03", "dcs_list": ["UL11_2_ESTOP1_DCS_CTRL.O1"]}
{"level": "DEBUG", "message": "Zone 03-08 candidates: ['UL12_1', 'UL12_2', 'UL12_3', 'UL12_4', 'UL12_5', 'UL12_6', 'UL12_7', 'UL12_8', 'UL12_9']", "timestamp": "2025-09-01T16:17:35.514605", "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 UL12_2 in zone 03-08", "timestamp": "2025-09-01T16:17:35.514807", "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 UL12_3 in zone 03-08", "timestamp": "2025-09-01T16:17:35.514971", "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 UL12_4 in zone 03-08", "timestamp": "2025-09-01T16:17:35.515124", "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 UL12_5 in zone 03-08", "timestamp": "2025-09-01T16:17:35.515289", "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 UL12_6 in zone 03-08", "timestamp": "2025-09-01T16:17:35.515489", "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 UL12_7 in zone 03-08", "timestamp": "2025-09-01T16:17:35.515646", "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 UL12_8 in zone 03-08", "timestamp": "2025-09-01T16:17:35.515783", "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 UL12_9 in zone 03-08", "timestamp": "2025-09-01T16:17:35.515918", "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-01T16:17:35.516042", "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": "03-08", "interlock": "MCM03", "dcs_list": ["UL12_1_EPC1_DCS_CTRL.O1", "UL12_1_EPC2_DCS_CTRL.O1"]}
{"level": "INFO", "message": "Successfully generated routine: zones", "timestamp": "2025-09-01T16:17:35.516310", "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-01T16:17:35.516849", "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-01T16:17:35.520018", "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-01T16:17:35.520268", "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 7 tags", "timestamp": "2025-09-01T16:17:35.524661", "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-01T16:17:35.524845", "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: 30 rungs | example: XIC(Local:7:I.Pt02.Status)XIC(Local:7:I.Pt03.Status)OTE(MCM_EPB_STATUS);", "timestamp": "2025-09-01T16:17:35.524981", "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: 8 rungs | example: XIC(EStop_MCM_OK)XIC(EStop_03_01_OK)[OTE(PS3_1_VFD1:SO.STOOutput),OTE(PS3_2_VFD1:SO.STOOutput),OTE(PS3_3_VFD1:SO.STOOutput),OTE(PS3_4A_VFD1:SO.STOOutput),OTE...", "timestamp": "2025-09-01T16:17:35.525125", "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: 8 rungs | example: [XIC(SFT_PS3_7_S1_PB) ,XIC(SFT_MCM_S_PB)]OTE(RST_PS3_7_EPC1_ESTOP);", "timestamp": "2025-09-01T16:17:35.525339", "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: 9 rungs | example: XIC(PS3_7_EPC1_DCS_CTRL.O1)XIC(PS3_7_EPC2_DCS_CTRL.O1)OTE(EStop_03_01_OK);", "timestamp": "2025-09-01T16:17:35.525543", "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: 14 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-01T16:17:35.525714", "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-01T16:17:35.525907", "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-01T16:17:35.526083", "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/SAT9_MCM03/SafetyProgram_Generated.L5X", "timestamp": "2025-09-01T16:17:35.528513", "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/SAT9_MCM03/SafetyProgram_Generated.L5X", "timestamp": "2025-09-01T16:17:35.528708", "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-01T16:17:35.528880", "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-01T16:17:35.529048", "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-01T16:17:35.529329", "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-01T16:17:35.529537", "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-01T16:17:35.529756", "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-01T16:17:35.607852", "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-01T16:17:35.618089", "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": "MCM03", "score": 16}
{"level": "DEBUG", "message": "Zones: loaded", "timestamp": "2025-09-01T16:17:35.618723", "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": 9}
{"level": "DEBUG", "message": "Extracting FPE data", "timestamp": "2025-09-01T16:17:35.755270", "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": "FPE"}
{"level": "INFO", "message": "Data: FPE count=0", "timestamp": "2025-09-01T16:17:35.756456", "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 PMM data", "timestamp": "2025-09-01T16:17:35.756760", "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=0", "timestamp": "2025-09-01T16:17:35.758227", "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=0", "timestamp": "2025-09-01T16:17:35.758488", "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-01T16:17:35.758690", "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=0", "timestamp": "2025-09-01T16:17:35.759906", "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=0", "timestamp": "2025-09-01T16:17:35.760109", "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=314 | standard=20 safety=54 dcs=14 modules=218", "timestamp": "2025-09-01T16:17:35.761406", "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 314 controller tags", "timestamp": "2025-09-01T16:17:35.761688", "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-01T16:17:35.761898", "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-01T16:17:35.762099", "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-01T16:17:35.762271", "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-01T16:17:35.762479", "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-01T16:17:35.762635", "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-01T16:17:35.762842", "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-01T16:17:35.764521", "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-01T16:17:35.764773", "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-01T16:17:35.765981", "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": "Plugin fioh cannot generate with current data", "timestamp": "2025-09-01T16:17:35.766205", "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-01T16:17:35.766939", "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-01T16:17:35.769586", "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-01T16:17:35.770185", "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-01T16:17:35.772121", "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": "Extracting SPEED_CTRL data", "timestamp": "2025-09-01T16:17:35.772375", "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": "SPEED_CTRL"}
{"level": "INFO", "message": "Data: SPEED_CTRL VFDs=59", "timestamp": "2025-09-01T16:17:35.772830", "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": "SPEED_CTRL sample=PS3_1_VFD1, PS3_2_VFD1, PS3_3_VFD1, PS3_4A_VFD1, PS3_4B_VFD1...", "timestamp": "2025-09-01T16:17:35.773865", "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: SPEED_CTRL count=59", "timestamp": "2025-09-01T16:17:35.774068", "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": "Generating routine: speed_ctrl", "timestamp": "2025-09-01T16:17:35.774260", "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: speed_ctrl", "timestamp": "2025-09-01T16:17:35.774539", "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-01T16:17:35.774755", "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-01T16:17:35.778146", "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-01T16:17:35.778368", "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 7 rows", "timestamp": "2025-09-01T16:17:35.778579", "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: MCM03 -> Local:5:I.Data.0", "timestamp": "2025-09-01T16:17:35.778900", "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: PS3_7_S2_PB -> PS3_5_VFD1:I.IO_0", "timestamp": "2025-09-01T16:17:35.779174", "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: PS3_7_S1_PB -> PS3_7_VFD1:I.IO_0", "timestamp": "2025-09-01T16:17:35.779459", "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: PS4_7_S2_PB -> PS4_5_VFD1:I.IO_0", "timestamp": "2025-09-01T16:17:35.779714", "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: PS4_7_S1_PB -> PS4_7_VFD1:I.IO_0", "timestamp": "2025-09-01T16:17:35.779939", "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: UL12_1_SS1_SPB -> UL12_2_FIO1:I.Pt00.Data", "timestamp": "2025-09-01T16:17:35.780141", "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: UL7_1_SS1_SPB -> UL7_2_FIO1:I.Pt00.Data", "timestamp": "2025-09-01T16:17:35.780330", "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 7 rungs", "timestamp": "2025-09-01T16:17:35.780492", "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(MCM03);", "timestamp": "2025-09-01T16:17:35.780618", "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(PS3_7_VFD1:I.IO_0)OTE(PS3_7_S1_PB);", "timestamp": "2025-09-01T16:17:35.780752", "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(PS3_5_VFD1:I.IO_0)OTE(PS3_7_S2_PB);", "timestamp": "2025-09-01T16:17:35.780911", "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(PS4_7_VFD1:I.IO_0)OTE(PS4_7_S1_PB);", "timestamp": "2025-09-01T16:17:35.781093", "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(PS4_5_VFD1:I.IO_0)OTE(PS4_7_S2_PB);", "timestamp": "2025-09-01T16:17:35.781285", "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(UL7_2_FIO1:I.Pt00.Data)OTE(UL7_1_SS1_SPB);", "timestamp": "2025-09-01T16:17:35.781449", "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(UL12_2_FIO1:I.Pt00.Data)OTE(UL12_1_SS1_SPB);", "timestamp": "2025-09-01T16:17:35.781634", "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 7 total rungs", "timestamp": "2025-09-01T16:17:35.781808", "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-01T16:17:35.782031", "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-01T16:17:35.782213", "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-01T16:17:35.782545", "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-01T16:17:35.782735", "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-01T16:17:35.783141", "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-01T16:17:35.783415", "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-01T16:17:35.783783", "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-01T16:17:35.784033", "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-01T16:17:35.784819", "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": "Plugin fpe cannot generate with current data", "timestamp": "2025-09-01T16:17:35.785029", "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": "Plugin pmm cannot generate with current data", "timestamp": "2025-09-01T16:17:35.785228", "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": "Plugin cb_monitor cannot generate with current data", "timestamp": "2025-09-01T16:17:35.785442", "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-01T16:17:35.786043", "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-01T16:17:35.787658", "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-01T16:17:35.787897", "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-01T16:17:35.788091", "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-01T16:17:35.788332", "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-01T16:17:35.788522", "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, 'fioh': False, 'apf': True, 'flow_ctrl': True, 'speed_ctrl': True, 'estop_check': True, 'safety_tag_map': True, 'station_jr_pb': True, 'station_ss_pb': True, 'station_epc': True, 'jpe': True, 'fpe': False, 'pmm': False, 'cb_monitor': False, 'belt_tracking': True, 'main_routine': True}", "timestamp": "2025-09-01T16:17:35.788708", "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 (15): MainRoutine, R010_MCM, R011_RACK, R020_DPM, R030_FIOM, R040_APF, R050_FLOW_CTRL, R051_SPEED_CTRL, R090_STATION_JR_PB, R096_STATION_SS_PB, R097_STATION_EPC, R100_JPE, R120_ESTOP_CHECK, R130_SAFETY_TAG_MAP, ZZZ_BeltTracking", "timestamp": "2025-09-01T16:17:35.788860", "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-01T16:17:35.789056", "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-01T16:17:35.789205", "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: 5 rungs | example: NOP();", "timestamp": "2025-09-01T16:17:35.789359", "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: 8 rungs | example: NOP();", "timestamp": "2025-09-01T16:17:35.789561", "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: 60 rungs | example: NOP();", "timestamp": "2025-09-01T16:17:35.789733", "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: 55 rungs | example: XIC(PS3_2_VFD1.CTRL.STS.Enabled)OTE(PS3_1_VFD1.CTRL.CMD.Interlock);", "timestamp": "2025-09-01T16:17:35.789930", "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": "- R051_SPEED_CTRL: 1 rungs | example: [MOVE(Speed_350_FPM,PS3_1_VFD1.CTRL.CMD.Speed_FPM) ,MOVE(Speed_350_FPM,PS3_2_VFD1.CTRL.CMD.Speed_FPM) ,MOVE(Speed_350_FPM,PS3_3_VFD1.CTRL.CMD.Speed_FPM) ,MOV...", "timestamp": "2025-09-01T16:17:35.790090", "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: 13 rungs | example: [XIO(PS3_7_VFD1:SI.In00Data) ,XIO(PS3_7_VFD1:SI.In01Data) ]XIO(PS3_1_VFD1:SO.STOOutput)XIO(PS3_2_VFD1:SO.STOOutput)XIO(PS3_3_VFD1:SO.STOOutput)XIO(PS3_4A_VFD...", "timestamp": "2025-09-01T16:17:35.790241", "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: 8 rungs | example: XIC(Local:5:I.Data.0)OTE(MCM_S_PB);", "timestamp": "2025-09-01T16:17:35.790388", "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: 10 rungs | example: AOI_STATION_JR_PB(PS3_1_JR1_PB.AOI,PS3_1_JR1_PB.HMI,PS3_1_JR1_PB.CTRL,NO_PARTNER,UL8_9_VFD1:I.IO_0,UL8_9_VFD1:O.IO_1)MOVE(PS3_1_JR1_PB.CTRL.STS.Log,PS3_1_JR1...", "timestamp": "2025-09-01T16:17:35.790542", "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: 2 rungs | example: AOI_STATION_SS_PB(UL12_1_SS1_STATION.AOI,UL12_1_SS1_STATION.HMI,UL12_1_SS1_STATION.CTRL,UL12_1_VFD1.CTRL,UL12_2_FIO1:I.ConnectionFaulted,UL12_2_FIO1:I.Pt00.D...", "timestamp": "2025-09-01T16:17:35.790676", "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: 8 rungs | example: AOI_STATION_EPC(PS3_7_EPC1_STATION.AOI,MCM.CTRL,PS3_7_EPC1_STATION.HMI,PS3_7_S2_PB_STATION.CTRL,PS3_7_VFD1:I.ConnectionFaulted,PS3_7_VFD1:SI.In00Data,PS3_7_V...", "timestamp": "2025-09-01T16:17:35.790883", "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: 65 rungs | example: AOI_JPE(PS3_1_TPE1.AOI,PS3_1_TPE1.HMI,PS3_1_TPE1.CTRL,PS3_1_VFD1.CTRL,PS3_1_JR1_PB.CTRL,UL7_7_VFD1:I.ConnectionFaulted,UL7_7_VFD1:I.In_2,YES,UL8_8_VFD1:O.IO_0);", "timestamp": "2025-09-01T16:17:35.791044", "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: 60 rungs | example: NOP();", "timestamp": "2025-09-01T16:17:35.791195", "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(R051_SPEED_CTRL,0) ,JSR(R120_ESTOP_CHECK,0...", "timestamp": "2025-09-01T16:17:35.791361", "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-01T16:17:35.791547", "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/SAT9_MCM03/MainProgram_Generated.L5X", "timestamp": "2025-09-01T16:17:35.799849", "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/SAT9_MCM03/MainProgram_Generated.L5X", "timestamp": "2025-09-01T16:17:35.800211", "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-01T16:17:35.800411", "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-01T16:17:35.800596", "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-01T16:17:35.800780", "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/SAT9_MCM03/SafetyTagMapping.txt", "timestamp": "2025-09-01T16:17:35.881124", "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: 7", "timestamp": "2025-09-01T16:17:35.881403", "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-01T16:17:35.881606", "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 PS4_1_JR1_PB
Found STATION_JR_PB config for PS3_1_JR1_PB
Found STATION_JR_PB config for UL10_3_JR1_PB
Found STATION_JR_PB config for UL11_3_JR1_PB
Found STATION_JR_PB config for UL12_2_JR1_PB
Found STATION_JR_PB config for UL7_2_JR1_PB
Found STATION_JR_PB config for PS3_1_JR2_PB
Found STATION_JR_PB config for PS4_1_JR2_PB
Found STATION_JR_PB config for UL8_3_JR1_PB
Found STATION_JR_PB config for UL9_3_JR1_PB
Found STATION_S_PB config for PS3_7_S2_PB
Found STATION_S_PB config for PS3_7_S1_PB
Found STATION_S_PB config for PS4_7_S2_PB
Found STATION_S_PB config for PS4_7_S1_PB
Found STATION_SS_PB config for UL12_1_SS1
Found STATION_SS_PB config for UL7_1_SS1
Found STATION_EPC config for PS3_7_EPC1
Found STATION_EPC config for PS4_7_EPC1
Found STATION_EPC config for UL12_1_EPC1
Found STATION_EPC config for UL7_1_EPC1
Found STATION_EPC config for PS3_7_EPC2
Found STATION_EPC config for PS4_7_EPC2
Found STATION_EPC config for UL12_1_EPC2
Found STATION_EPC config for UL7_1_EPC2
Found JPE config for PS3_3_TPE2 (missing station, missing beacon)
Found JPE config for PS3_5_TPE1 (missing station, missing beacon)
Found JPE config for PS3_5_TPE2 (missing station, missing beacon)
Found JPE config for PS3_6_TPE1 (missing station, missing beacon)
Found JPE config for PS3_7_TPE1 (missing station, missing beacon)
Found JPE config for PS4_3_TPE2 (missing station, missing beacon)
Found JPE config for PS4_5_TPE1 (missing station, missing beacon)
Found JPE config for PS4_5_TPE2 (missing station, missing beacon)
Found JPE config for PS4_6_TPE1 (missing station, missing beacon)
Found JPE config for PS4_7_TPE1 (missing station, missing beacon)
Found JPE config for UL10_5_TPE1 (missing station, missing beacon)
Found JPE config for UL10_5_TPE2 (missing station, missing beacon)
Found JPE config for UL10_6_TPE1 (missing station, missing beacon)
Found JPE config for UL10_7_TPE1 (missing station, missing beacon)
Found JPE config for PS4_1_TPE1
Found JPE config for UL11_5_TPE1 (missing station, missing beacon)
Found JPE config for UL11_5_TPE2 (missing station, missing beacon)
Found JPE config for UL11_6_TPE1 (missing station, missing beacon)
Found JPE config for UL11_7_TPE1 (missing station, missing beacon)
Found JPE config for UL11_8_TPE1 (missing station, missing beacon)
Found JPE config for PS4_1_TPE2
Found JPE config for UL12_1_TPE1 (missing station, missing beacon)
Found JPE config for UL12_4_TPE1 (missing station, missing beacon)
Found JPE config for UL12_4_TPE2 (missing station, missing beacon)
Found JPE config for UL12_5_TPE1 (missing station, missing beacon)
Found JPE config for UL12_6_TPE1 (missing station, missing beacon)
Found JPE config for UL12_7_TPE1 (missing station, missing beacon)
Found JPE config for UL7_1_TPE1 (missing station, missing beacon)
Found JPE config for UL7_4_TPE1 (missing station, missing beacon)
Found JPE config for UL7_4_TPE2 (missing station, missing beacon)
Found JPE config for UL7_5_TPE1 (missing station, missing beacon)
Found JPE config for UL7_6_TPE1 (missing station, missing beacon)
Found JPE config for PS3_1_TPE1
Found JPE config for UL8_5_TPE1 (missing station, missing beacon)
Found JPE config for UL8_5_TPE2 (missing station, missing beacon)
Found JPE config for UL8_6_TPE1 (missing station, missing beacon)
Found JPE config for UL8_7_TPE1 (missing station, missing beacon)
Found JPE config for UL8_8_TPE1 (missing station, missing beacon)
Found JPE config for PS3_1_TPE2
Found JPE config for UL9_5_TPE1 (missing station, missing beacon)
Found JPE config for UL9_5_TPE2 (missing station, missing beacon)
Found JPE config for UL9_6_TPE1 (missing station, missing beacon)
Found JPE config for UL9_7_TPE1 (missing station, missing beacon)
Found JPE config for UL9_8_TPE1 (missing station, missing beacon)
Found JPE config for PS3_1_TPE3
Found JPE config for PS3_3_TPE1 (missing station, missing beacon)
Found JPE config for PS4_3_TPE1 (missing station, missing beacon)
Found JPE config for UL10_3_TPE3
Found JPE config for UL11_3_TPE3
Found JPE config for UL12_2_TPE2
Found JPE config for PS4_1_TPE3
Found JPE config for PS4_1_TPE4
Found JPE config for UL12_2_TPE1
Found JPE config for UL7_2_TPE1
Found JPE config for UL7_2_TPE2
Found JPE config for UL8_3_TPE3
Found JPE config for UL9_3_TPE3
Found JPE config for UL10_3_TPE1
Found JPE config for UL10_3_TPE2
Found JPE config for UL11_3_TPE1
Found JPE config for UL11_3_TPE2
Found JPE config for UL8_3_TPE1
Found JPE config for UL8_3_TPE2
Found JPE config for UL9_3_TPE1
Found JPE config for UL9_3_TPE2
FIOM PDP3_FIO1 -> DPM DPM2_PS4_1
FIOM UL7_2_FIO1 -> DPM DPM1_PS3_1
FIOM UL8_3_FIO1 -> DPM DPM1_PS3_1
FIOM UL9_3_FIO1 -> DPM DPM2_PS3_1
FIOM UL10_3_FIO1 -> DPM DPM1_PS4_1
FIOM UL11_3_FIO1 -> DPM DPM1_PS4_1
FIOM UL12_2_FIO1 -> DPM DPM2_PS4_1
APF PS3_1_VFD1 -> DPM DPM2_PS3_1
APF PS3_2_VFD1 -> DPM DPM2_PS3_1
APF PS3_3_VFD1 -> DPM DPM2_PS3_1
APF PS3_4A_VFD1 -> DPM DPM2_PS3_1
APF PS3_4B_VFD1 -> DPM DPM2_PS3_1
APF PS3_5_VFD1 -> DPM DPM2_PS3_1
APF PS3_6_VFD1 -> DPM DPM2_PS3_1
APF PS3_7_VFD1 -> DPM DPM2_PS3_1
APF PS3_8_VFD1 -> DPM DPM2_PS3_1
APF PS4_1_VFD1 -> DPM DPM2_PS4_1
APF PS4_2_VFD1 -> DPM DPM2_PS4_1
APF PS4_3_VFD1 -> DPM DPM2_PS4_1
APF PS4_4A_VFD1 -> DPM DPM2_PS4_1
APF PS4_4B_VFD1 -> DPM DPM2_PS4_1
APF PS4_5_VFD1 -> DPM DPM2_PS4_1
APF PS4_6_VFD1 -> DPM DPM2_PS4_1
APF PS4_7_VFD1 -> DPM DPM2_PS4_1
APF UL7_1_VFD1 -> DPM DPM1_PS3_1
APF UL7_2_VFD1 -> DPM DPM1_PS3_1
APF UL7_3_VFD1 -> DPM DPM1_PS3_1
APF UL7_4_VFD1 -> DPM DPM1_PS3_1
APF UL7_5_VFD1 -> DPM DPM1_PS3_1
APF UL7_6_VFD1 -> DPM DPM1_PS3_1
APF UL7_7_VFD1 -> DPM DPM1_PS3_1
APF UL8_3_VFD1 -> DPM DPM1_PS3_1
APF UL8_4_VFD1 -> DPM DPM1_PS3_1
APF UL8_5_VFD1 -> DPM DPM1_PS3_1
APF UL8_6_VFD1 -> DPM DPM1_PS3_1
APF UL8_7_VFD1 -> DPM DPM1_PS3_1
APF UL8_8_VFD1 -> DPM DPM1_PS3_1
APF UL8_9_VFD1 -> DPM DPM1_PS3_1
APF UL9_3_VFD1 -> DPM DPM2_PS3_1
APF UL9_4_VFD1 -> DPM DPM2_PS3_1
APF UL9_5_VFD1 -> DPM DPM2_PS3_1
APF UL9_6_VFD1 -> DPM DPM2_PS3_1
APF UL9_7_VFD1 -> DPM DPM2_PS3_1
APF UL9_8_VFD1 -> DPM DPM2_PS3_1
APF UL9_9_VFD1 -> DPM DPM2_PS3_1
APF UL10_3_VFD1 -> DPM DPM1_PS4_1
APF UL10_4_VFD1 -> DPM DPM1_PS4_1
APF UL10_5_VFD1 -> DPM DPM1_PS4_1
APF UL10_6_VFD1 -> DPM DPM1_PS4_1
APF UL10_7_VFD1 -> DPM DPM1_PS4_1
APF UL10_8_VFD1 -> DPM DPM1_PS4_1
APF UL11_3_VFD1 -> DPM DPM1_PS4_1
APF UL11_4_VFD1 -> DPM DPM1_PS4_1
APF UL11_5_VFD1 -> DPM DPM1_PS4_1
APF UL11_6_VFD1 -> DPM DPM1_PS4_1
APF UL11_7_VFD1 -> DPM DPM1_PS4_1
APF UL11_8_VFD1 -> DPM DPM1_PS4_1
APF UL11_9_VFD1 -> DPM DPM1_PS4_1
APF UL12_1_VFD1 -> DPM DPM2_PS4_1
APF UL12_2_VFD1 -> DPM DPM2_PS4_1
APF UL12_3_VFD1 -> DPM DPM2_PS4_1
APF UL12_4_VFD1 -> DPM DPM2_PS4_1
APF UL12_5_VFD1 -> DPM DPM2_PS4_1
APF UL12_6_VFD1 -> DPM DPM2_PS4_1
APF UL12_7_VFD1 -> DPM DPM2_PS4_1
APF UL12_8_VFD1 -> DPM DPM2_PS4_1
- Added 13 E-stop check rungs
[R090_STATION_JR_PB] Starting STATION_JR_PB routine generation...
Found 10 STATION_JR_PB configurations
Generated 10 STATION_JR_PB rungs
[R0100_JPE] Starting JPE routine generation...
Found 65 JPE configurations
Generated 65 JPE rungs
Belt tracking for PS3_1_VFD1 -> zzz_PS3_1Tracking
Belt tracking for PS3_2_VFD1 -> zzz_PS3_2Tracking
Belt tracking for PS3_3_VFD1 -> zzz_PS3_3Tracking
Belt tracking for PS3_4A_VFD1 -> zzz_PS3_4ATracking
Belt tracking for PS3_4B_VFD1 -> zzz_PS3_4BTracking
Belt tracking for PS3_5_VFD1 -> zzz_PS3_5Tracking
Belt tracking for PS3_6_VFD1 -> zzz_PS3_6Tracking
Belt tracking for PS3_7_VFD1 -> zzz_PS3_7Tracking
Belt tracking for PS3_8_VFD1 -> zzz_PS3_8Tracking
Belt tracking for PS4_1_VFD1 -> zzz_PS4_1Tracking
Belt tracking for PS4_2_VFD1 -> zzz_PS4_2Tracking
Belt tracking for PS4_3_VFD1 -> zzz_PS4_3Tracking
Belt tracking for PS4_4A_VFD1 -> zzz_PS4_4ATracking
Belt tracking for PS4_4B_VFD1 -> zzz_PS4_4BTracking
Belt tracking for PS4_5_VFD1 -> zzz_PS4_5Tracking
Belt tracking for PS4_6_VFD1 -> zzz_PS4_6Tracking
Belt tracking for PS4_7_VFD1 -> zzz_PS4_7Tracking
Belt tracking for UL7_1_VFD1 -> zzz_UL7_1Tracking
Belt tracking for UL7_2_VFD1 -> zzz_UL7_2Tracking
Belt tracking for UL7_3_VFD1 -> zzz_UL7_3Tracking
Belt tracking for UL7_4_VFD1 -> zzz_UL7_4Tracking
Belt tracking for UL7_5_VFD1 -> zzz_UL7_5Tracking
Belt tracking for UL7_6_VFD1 -> zzz_UL7_6Tracking
Belt tracking for UL7_7_VFD1 -> zzz_UL7_7Tracking
Belt tracking for UL8_3_VFD1 -> zzz_UL8_3Tracking
Belt tracking for UL8_4_VFD1 -> zzz_UL8_4Tracking
Belt tracking for UL8_5_VFD1 -> zzz_UL8_5Tracking
Belt tracking for UL8_6_VFD1 -> zzz_UL8_6Tracking
Belt tracking for UL8_7_VFD1 -> zzz_UL8_7Tracking
Belt tracking for UL8_8_VFD1 -> zzz_UL8_8Tracking
Belt tracking for UL8_9_VFD1 -> zzz_UL8_9Tracking
Belt tracking for UL9_3_VFD1 -> zzz_UL9_3Tracking
Belt tracking for UL9_4_VFD1 -> zzz_UL9_4Tracking
Belt tracking for UL9_5_VFD1 -> zzz_UL9_5Tracking
Belt tracking for UL9_6_VFD1 -> zzz_UL9_6Tracking
Belt tracking for UL9_7_VFD1 -> zzz_UL9_7Tracking
Belt tracking for UL9_8_VFD1 -> zzz_UL9_8Tracking
Belt tracking for UL9_9_VFD1 -> zzz_UL9_9Tracking
Belt tracking for UL10_3_VFD1 -> zzz_UL10_3Tracking
Belt tracking for UL10_4_VFD1 -> zzz_UL10_4Tracking
Belt tracking for UL10_5_VFD1 -> zzz_UL10_5Tracking
Belt tracking for UL10_6_VFD1 -> zzz_UL10_6Tracking
Belt tracking for UL10_7_VFD1 -> zzz_UL10_7Tracking
Belt tracking for UL10_8_VFD1 -> zzz_UL10_8Tracking
Belt tracking for UL11_3_VFD1 -> zzz_UL11_3Tracking
Belt tracking for UL11_4_VFD1 -> zzz_UL11_4Tracking
Belt tracking for UL11_5_VFD1 -> zzz_UL11_5Tracking
Belt tracking for UL11_6_VFD1 -> zzz_UL11_6Tracking
Belt tracking for UL11_7_VFD1 -> zzz_UL11_7Tracking
Belt tracking for UL11_8_VFD1 -> zzz_UL11_8Tracking
Belt tracking for UL11_9_VFD1 -> zzz_UL11_9Tracking
Belt tracking for UL12_1_VFD1 -> zzz_UL12_1Tracking
Belt tracking for UL12_2_VFD1 -> zzz_UL12_2Tracking
Belt tracking for UL12_3_VFD1 -> zzz_UL12_3Tracking
Belt tracking for UL12_4_VFD1 -> zzz_UL12_4Tracking
Belt tracking for UL12_5_VFD1 -> zzz_UL12_5Tracking
Belt tracking for UL12_6_VFD1 -> zzz_UL12_6Tracking
Belt tracking for UL12_7_VFD1 -> zzz_UL12_7Tracking
Belt tracking for UL12_8_VFD1 -> zzz_UL12_8Tracking
- Added 59 belt tracking AOI calls
Created safety tag mapping file: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03/SafetyTagMapping.txt
=== Step 2: Routines Generator stderr ===
[16:17:34] [INFO] [logging_config.py:128:_log_with_context] Logging to file: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/logs/workflow_SAT9_MCM03_20250901_161728.log
[16:17:34] [INFO] [logging_config.py:128:_log_with_context] === Generating All PLC Artifacts ===
[16:17:34] [INFO] [logging_config.py:128:_log_with_context] Generating SafetyProgram L5X...
[16:17:34] [WARNING] [logging_config.py:128:_log_with_context] LimitedSafetyProgramGenerator is deprecated; using ModernSafetyProgramGenerator
[16:17:34] [INFO] [logging_config.py:128:_log_with_context] Starting ModernSafetyProgramGenerator generation
[16:17:34] [DEBUG] [logging_config.py:128:_log_with_context] Creating SafetyProgram XML structure
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: main_routine (core)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: apf (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: belt_tracking (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: cb_monitor (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: d2c_chute (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: dpm (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: encoder (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: estops (safety)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: estop_check (safety)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: extendo (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: fioh (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: fiom (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: flow_ctrl (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: fpe (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: inputs (safety)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: jpe (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: mcm (core)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: outputs (safety)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: pb_chute (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: pmm (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: rack (core)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: resets (safety)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: safety_tag_map (core)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: speed_ctrl (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_epc (safety)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_jr_chute (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_jr_pb (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_ss_pb (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: station_s_pb (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: taching_belts (device)
[16:17:34] [DEBUG] [logging_config.py:126:_log_with_context] Registered plugin: zones (safety)
[16:17:34] [INFO] [logging_config.py:128:_log_with_context] Generating safety routines...
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: inputs
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: inputs
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: outputs
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: subsystem key
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: heuristic best match
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: loaded
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: outputs
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: resets
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: resets
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: zones
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PS3_7: {'EPC2', 'EPC1'}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for ILU007_ESTOP1: {'ESTOP1'}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for PS4_7: {'EPC2', 'EPC1'}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for UL10_2: {'ESTOP1'}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for UL11_2: {'ESTOP1'}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for UL12_1: {'EPC2', 'EPC1'}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for UL7_1: {'EPC2', 'EPC1'}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for UL8_2: {'ESTOP1'}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Found DCS controllers for UL9_2: {'ESTOP1'}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Available DCS controllers: {'PS3_7': {'EPC2', 'EPC1'}, 'ILU007_ESTOP1': {'ESTOP1'}, 'PS4_7': {'EPC2', 'EPC1'}, 'UL10_2': {'ESTOP1'}, 'UL11_2': {'ESTOP1'}, 'UL12_1': {'EPC2', 'EPC1'}, 'UL7_1': {'EPC2', 'EPC1'}, 'UL8_2': {'ESTOP1'}, 'UL9_2': {'ESTOP1'}}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Zone 03-01 candidates: ['PS3_1', 'PS3_2', 'PS3_3', 'PS3_4', 'PS3_5', 'PS3_6', 'PS3_7']
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS3_1 in zone 03-01
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS3_2 in zone 03-01
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS3_3 in zone 03-01
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS3_4 in zone 03-01
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS3_5 in zone 03-01
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS3_6 in zone 03-01
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Zone 03-02 candidates: ['UL7_1', 'UL7_2', 'UL7_3', 'UL7_4', 'UL7_5', 'UL7_6', 'UL7_7']
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL7_2 in zone 03-02
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL7_3 in zone 03-02
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL7_4 in zone 03-02
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL7_5 in zone 03-02
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL7_6 in zone 03-02
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL7_7 in zone 03-02
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Zone 03-03 candidates: ['UL8_1', 'UL8_2', 'UL8_3', 'UL8_4', 'UL8_5', 'UL8_6', 'UL8_7', 'UL8_8', 'UL8_9']
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL8_1 in zone 03-03
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL8_3 in zone 03-03
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL8_4 in zone 03-03
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL8_5 in zone 03-03
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL8_6 in zone 03-03
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL8_7 in zone 03-03
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL8_8 in zone 03-03
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL8_9 in zone 03-03
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Zone 03-04 candidates: ['UL9_1', 'UL9_2', 'UL9_3', 'UL9_4', 'UL9_5', 'UL9_6', 'UL9_7', 'UL9_8', 'UL9_9']
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL9_1 in zone 03-04
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL9_3 in zone 03-04
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL9_4 in zone 03-04
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL9_5 in zone 03-04
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL9_6 in zone 03-04
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL9_7 in zone 03-04
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL9_8 in zone 03-04
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL9_9 in zone 03-04
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Zone 03-05 candidates: ['PS4_1', 'PS4_2', 'PS4_3', 'PS4_4', 'PS4_5', 'PS4_6', 'PS4_7']
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS4_1 in zone 03-05
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS4_2 in zone 03-05
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS4_3 in zone 03-05
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS4_4 in zone 03-05
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS4_5 in zone 03-05
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base PS4_6 in zone 03-05
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Zone 03-06 candidates: ['UL10_1', 'UL10_2', 'UL10_3', 'UL10_4', 'UL10_5', 'UL10_6', 'UL10_7', 'UL10_8']
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL10_1 in zone 03-06
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL10_3 in zone 03-06
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL10_4 in zone 03-06
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL10_5 in zone 03-06
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL10_6 in zone 03-06
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL10_7 in zone 03-06
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL10_8 in zone 03-06
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Zone 03-07 candidates: ['UL11_1', 'UL11_2', 'UL11_3', 'UL11_4', 'UL11_5', 'UL11_6', 'UL11_7', 'UL11_8', 'UL11_9']
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL11_1 in zone 03-07
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL11_3 in zone 03-07
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL11_4 in zone 03-07
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL11_5 in zone 03-07
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL11_6 in zone 03-07
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL11_7 in zone 03-07
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL11_8 in zone 03-07
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL11_9 in zone 03-07
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Zone 03-08 candidates: ['UL12_1', 'UL12_2', 'UL12_3', 'UL12_4', 'UL12_5', 'UL12_6', 'UL12_7', 'UL12_8', 'UL12_9']
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL12_2 in zone 03-08
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL12_3 in zone 03-08
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL12_4 in zone 03-08
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL12_5 in zone 03-08
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL12_6 in zone 03-08
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL12_7 in zone 03-08
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL12_8 in zone 03-08
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] No DCS controllers found for base UL12_9 in zone 03-08
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: rung
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: zones
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: estops
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: estops
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Safety routine generation results: {'inputs': True, 'outputs': True, 'resets': True, 'zones': True, 'estops': True}
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag map with 7 tags
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] Routines created (6): MainRoutine, R010_INPUTS, R011_OUTPUTS, R012_RESETS, R020_ESTOPS, R030_ZONES
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R010_INPUTS: 30 rungs | example: XIC(Local:7:I.Pt02.Status)XIC(Local:7:I.Pt03.Status)OTE(MCM_EPB_STATUS);
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R011_OUTPUTS: 8 rungs | example: XIC(EStop_MCM_OK)XIC(EStop_03_01_OK)[OTE(PS3_1_VFD1:SO.STOOutput),OTE(PS3_2_VFD1:SO.STOOutput),OTE(PS3_3_VFD1:SO.STOOutput),OTE(PS3_4A_VFD1:SO.STOOutput),OTE...
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R012_RESETS: 8 rungs | example: [XIC(SFT_PS3_7_S1_PB) ,XIC(SFT_MCM_S_PB)]OTE(RST_PS3_7_EPC1_ESTOP);
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R030_ZONES: 9 rungs | example: XIC(PS3_7_EPC1_DCS_CTRL.O1)XIC(PS3_7_EPC2_DCS_CTRL.O1)OTE(EStop_03_01_OK);
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R020_ESTOPS: 14 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);
[16:17:35] [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) ];
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully completed ModernSafetyProgramGenerator generation
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Written ModernSafetyProgramGenerator to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03/SafetyProgram_Generated.L5X
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] [SUCCESS] SafetyProgram written to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03/SafetyProgram_Generated.L5X
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Generating MainProgram L5X...
[16:17:35] [WARNING] [logging_config.py:128:_log_with_context] LimitedMainProgramGenerator is deprecated; using ModernMainProgramGenerator
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Starting ModernMainProgramGenerator generation
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Creating MainProgram XML structure
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Adding controller tags...
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: subsystem key
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: heuristic best match
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Zones: loaded
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Extracting FPE data
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Data: FPE count=0
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Extracting PMM data
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Data: PMM entries=0
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Data: PMM configs=0
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Extracting CB_MONITOR data
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Data: CB PDPs=0
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Data: CB configs=0
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] Tags created: total=314 | standard=20 safety=54 dcs=14 modules=218
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Added 314 controller tags
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Generating main program routines...
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: mcm
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: mcm
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: rack
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: rack
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: dpm
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: dpm
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: fiom
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: fiom
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Plugin fioh cannot generate with current data
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: apf
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: apf
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: flow_ctrl
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: flow_ctrl
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Extracting SPEED_CTRL data
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Data: SPEED_CTRL VFDs=59
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] SPEED_CTRL sample=PS3_1_VFD1, PS3_2_VFD1, PS3_3_VFD1, PS3_4A_VFD1, PS3_4B_VFD1...
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Data: SPEED_CTRL count=59
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: speed_ctrl
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: speed_ctrl
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: estop_check
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: estop_check
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: safety_tag_map
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Safety tag map: RST data has 7 rows
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: MCM03 -> Local:5:I.Data.0
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS3_7_S2_PB -> PS3_5_VFD1:I.IO_0
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS3_7_S1_PB -> PS3_7_VFD1:I.IO_0
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS4_7_S2_PB -> PS4_5_VFD1:I.IO_0
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: PS4_7_S1_PB -> PS4_7_VFD1:I.IO_0
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: UL12_1_SS1_SPB -> UL12_2_FIO1:I.Pt00.Data
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Added safety tag mapping: UL7_1_SS1_SPB -> UL7_2_FIO1:I.Pt00.Data
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Safety tag map: Generating 7 rungs
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 1: XIC(Local:5:I.Data.0)OTE(MCM03);
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 2: XIC(PS3_7_VFD1:I.IO_0)OTE(PS3_7_S1_PB);
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 3: XIC(PS3_5_VFD1:I.IO_0)OTE(PS3_7_S2_PB);
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 4: XIC(PS4_7_VFD1:I.IO_0)OTE(PS4_7_S1_PB);
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 5: XIC(PS4_5_VFD1:I.IO_0)OTE(PS4_7_S2_PB);
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 6: XIC(UL7_2_FIO1:I.Pt00.Data)OTE(UL7_1_SS1_SPB);
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generated rung 7: XIC(UL12_2_FIO1:I.Pt00.Data)OTE(UL12_1_SS1_SPB);
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Safety tag map: Generated 7 total rungs
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: safety_tag_map
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: station_jr_pb
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: station_jr_pb
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: station_ss_pb
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: station_ss_pb
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: station_epc
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: station_epc
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: jpe
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: jpe
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Plugin fpe cannot generate with current data
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Plugin pmm cannot generate with current data
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Plugin cb_monitor cannot generate with current data
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: belt_tracking
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: belt_tracking
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Generating routine: main_routine
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Generating MainRoutine with JSR calls
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated MainRoutine
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully generated routine: main_routine
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Main routine generation results: {'mcm': True, 'rack': True, 'dpm': True, 'fiom': True, 'fioh': False, 'apf': True, 'flow_ctrl': True, 'speed_ctrl': True, 'estop_check': True, 'safety_tag_map': True, 'station_jr_pb': True, 'station_ss_pb': True, 'station_epc': True, 'jpe': True, 'fpe': False, 'pmm': False, 'cb_monitor': False, 'belt_tracking': True, 'main_routine': True}
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] Routines created (15): MainRoutine, R010_MCM, R011_RACK, R020_DPM, R030_FIOM, R040_APF, R050_FLOW_CTRL, R051_SPEED_CTRL, R090_STATION_JR_PB, R096_STATION_SS_PB, R097_STATION_EPC, R100_JPE, R120_ESTOP_CHECK, R130_SAFETY_TAG_MAP, ZZZ_BeltTracking
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R010_MCM: 2 rungs | example: NOP();
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R011_RACK: 2 rungs | example: NOP();
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R020_DPM: 5 rungs | example: NOP();
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R030_FIOM: 8 rungs | example: NOP();
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R040_APF: 60 rungs | example: NOP();
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R050_FLOW_CTRL: 55 rungs | example: XIC(PS3_2_VFD1.CTRL.STS.Enabled)OTE(PS3_1_VFD1.CTRL.CMD.Interlock);
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R051_SPEED_CTRL: 1 rungs | example: [MOVE(Speed_350_FPM,PS3_1_VFD1.CTRL.CMD.Speed_FPM) ,MOVE(Speed_350_FPM,PS3_2_VFD1.CTRL.CMD.Speed_FPM) ,MOVE(Speed_350_FPM,PS3_3_VFD1.CTRL.CMD.Speed_FPM) ,MOV...
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R120_ESTOP_CHECK: 13 rungs | example: [XIO(PS3_7_VFD1:SI.In00Data) ,XIO(PS3_7_VFD1:SI.In01Data) ]XIO(PS3_1_VFD1:SO.STOOutput)XIO(PS3_2_VFD1:SO.STOOutput)XIO(PS3_3_VFD1:SO.STOOutput)XIO(PS3_4A_VFD...
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R130_SAFETY_TAG_MAP: 8 rungs | example: XIC(Local:5:I.Data.0)OTE(MCM_S_PB);
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R090_STATION_JR_PB: 10 rungs | example: AOI_STATION_JR_PB(PS3_1_JR1_PB.AOI,PS3_1_JR1_PB.HMI,PS3_1_JR1_PB.CTRL,NO_PARTNER,UL8_9_VFD1:I.IO_0,UL8_9_VFD1:O.IO_1)MOVE(PS3_1_JR1_PB.CTRL.STS.Log,PS3_1_JR1...
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R096_STATION_SS_PB: 2 rungs | example: AOI_STATION_SS_PB(UL12_1_SS1_STATION.AOI,UL12_1_SS1_STATION.HMI,UL12_1_SS1_STATION.CTRL,UL12_1_VFD1.CTRL,UL12_2_FIO1:I.ConnectionFaulted,UL12_2_FIO1:I.Pt00.D...
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R097_STATION_EPC: 8 rungs | example: AOI_STATION_EPC(PS3_7_EPC1_STATION.AOI,MCM.CTRL,PS3_7_EPC1_STATION.HMI,PS3_7_S2_PB_STATION.CTRL,PS3_7_VFD1:I.ConnectionFaulted,PS3_7_VFD1:SI.In00Data,PS3_7_V...
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - R100_JPE: 65 rungs | example: AOI_JPE(PS3_1_TPE1.AOI,PS3_1_TPE1.HMI,PS3_1_TPE1.CTRL,PS3_1_VFD1.CTRL,PS3_1_JR1_PB.CTRL,UL7_7_VFD1:I.ConnectionFaulted,UL7_7_VFD1:I.In_2,YES,UL8_8_VFD1:O.IO_0);
[16:17:35] [INFO] [logging_config.py:126:_log_with_context] - ZZZ_BeltTracking: 60 rungs | example: NOP();
[16:17:35] [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(R051_SPEED_CTRL,0) ,JSR(R120_ESTOP_CHECK,0...
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Successfully completed ModernMainProgramGenerator generation
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Written ModernMainProgramGenerator to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03/MainProgram_Generated.L5X
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] [SUCCESS] MainProgram written to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03/MainProgram_Generated.L5X
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] Generating safety tag mapping...
[16:17:35] [DEBUG] [logging_config.py:128:_log_with_context] Creating MappingWriter wrapper
[16:17:35] [DEBUG] [logging_config.py:126:_log_with_context] Creating DataLoader instance
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] [SUCCESS] Safety tag mapping written to /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03/SafetyTagMapping.txt
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] - Safety tags: 7
[16:17:35] [INFO] [logging_config.py:128:_log_with_context] === All artifacts generated successfully! ===
{"level": "INFO", "message": "Routine generation completed successfully", "timestamp": "2025-09-01T16:17:35.953833", "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: SAT9_MCM03
- Excel: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/PLC Data Generator/DESC_IP_MERGED.xlsx
- Boilerplate: SAT9_boilerplate
- Mode: Single file
--------------------------------------------------
Found 7 IOLM modules
Found 12 LPE modules
Found 59 APF modules
Found 4 DPM modules
WARNING: 1 unknown modules found
1. PDP3_PMM - POWER MONITOR MODULE (11.200.1.107)
Created 7 IOLM modules with boilerplate selection:
Device 'PDP3_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
PDP3_FIO1 (FIO PDP_FIO): Using variant boilerplate PDP_FIO_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/PDP_FIO_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/PDP_FIO_Module.L5X
Device 'UL10_3_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
UL10_3_FIO1 (FIO D2CMaster): Using module-specific boilerplate UL10_3_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL10_3_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL10_3_FIO1_Module.L5X
Device 'UL11_3_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
UL11_3_FIO1 (FIO D2CMaster): Using module-specific boilerplate UL11_3_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL11_3_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL11_3_FIO1_Module.L5X
Device 'UL12_2_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
UL12_2_FIO1 (FIO D2CMaster): Using module-specific boilerplate UL12_2_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL12_2_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL12_2_FIO1_Module.L5X
Device 'UL7_2_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
UL7_2_FIO1 (FIO D2CMaster): Using module-specific boilerplate UL7_2_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL7_2_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL7_2_FIO1_Module.L5X
Device 'UL8_3_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
UL8_3_FIO1 (FIO D2CMaster): Using module-specific boilerplate UL8_3_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL8_3_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL8_3_FIO1_Module.L5X
Device 'UL9_3_FIO1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
UL9_3_FIO1 (FIO D2CMaster): Using module-specific boilerplate UL9_3_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL9_3_FIO1_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/UL9_3_FIO1_Module.L5X
Device 'UL10_1_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/EXTENDO_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/EXTENDO_Module.L5X
Device 'UL11_1_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/EXTENDO_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/EXTENDO_Module.L5X
Device 'UL8_1_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/EXTENDO_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/EXTENDO_Module.L5X
Device 'UL9_1_EX1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/EXTENDO_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/EXTENDO_Module.L5X
Device 'PS3_1_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Device 'PS3_2_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'PS3_3_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS3_4A_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS3_4B_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS3_5_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS3_6_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS3_7_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS3_8_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS4_1_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Device 'PS4_2_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'PS4_3_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS4_4A_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS4_4B_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS4_5_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS4_6_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'PS4_7_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL10_3_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'UL10_4_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'UL10_5_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL10_6_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL10_7_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL10_8_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL11_3_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'UL11_4_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'UL11_5_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL11_6_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL11_7_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL11_8_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL11_9_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL12_1_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL12_2_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Device 'UL12_3_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'UL12_4_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL12_5_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL12_6_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL12_7_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL12_8_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL7_1_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL7_2_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Device 'UL7_3_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'UL7_4_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL7_5_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL7_6_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL7_7_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL8_3_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Device 'UL8_4_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'UL8_5_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL8_6_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL8_7_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL8_8_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL8_9_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL9_3_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_5_HP.L5X
Device 'UL9_4_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_3_HP.L5X
Device 'UL9_5_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL9_6_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL9_7_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL9_8_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Device 'UL9_9_VFD1' matched no patterns, using fallback parent: SLOT2_EN4TR (Slot 2, IP 11.200.1.1)
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/APF_Module_2_HP.L5X
Successfully loaded boilerplate: SAT9_boilerplate/SLOT5_IB16_Module.L5X
Successfully loaded boilerplate: SAT9_boilerplate/SLOT7_IB16S_Module.L5X
Successfully loaded boilerplate: SAT9_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: SAT9_MCM03_20250901_155229.L5X
Programs already exist (2 programs found), skipping empty program creation
OK: Generated project: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03/SAT9_MCM03_20250901_161739.L5X
Single file generation complete
- ['/mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03/SAT9_MCM03_20250901_161739.L5X']
=== Step 3 Batch Script Creation ===
Creating project folder compilation for: SAT9_MCM03
Source L5X: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03/SAT9_MCM03_20250901_161739.L5X
Project directory: /mnt/c/Users/ilia.gurielidze/Projects/PLC Generation/generated_projects/SAT9_MCM03
Generated batch file: compile_SAT9_MCM03.bat
SUCCESS: Project compilation ready!
To compile on Windows:
cd "C:\\Users\\ilia.gurielidze\\Projects\\PLC Generation\\generated_projects\\SAT9_MCM03"
compile_SAT9_MCM03.bat