Se copian los archivos scl exportados del Tia Portal tambien para completar los archivos fuentes

This commit is contained in:
Miguel 2025-05-04 20:43:45 +02:00
parent 24cf3c670b
commit 625b639ff5
4 changed files with 160 additions and 76 deletions

View File

@ -1,30 +1,35 @@
2025-05-03 23:55:48.463 - ======================================== LOG START ======================================== 2025-05-04 00:02:18.418 - ======================================== LOG START ========================================
2025-05-03 23:55:48.464 - Directorio de trabajo base configurado: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport' 2025-05-04 00:02:18.418 - Directorio de trabajo base configurado: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport'
2025-05-03 23:55:48.464 - Buscando archivos XML recursivamente en el subdirectorio: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC' 2025-05-04 00:02:18.418 - Buscando archivos XML recursivamente en el subdirectorio: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC'
2025-05-03 23:55:48.464 - Se encontraron 1 archivos XML para procesar: 2025-05-04 00:02:18.420 - Se encontraron 1 archivos XML para procesar:
2025-05-03 23:55:48.465 - - PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml 2025-05-04 00:02:18.420 - - PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml
2025-05-03 23:55:48.465 - 2025-05-04 00:02:18.421 -
--- Fase 1: Procesamiento Individual (x1, x2, x3) --- --- Fase 1: Procesamiento Individual (x1, x2, x3) ---
2025-05-03 23:55:48.465 - 2025-05-04 00:02:18.421 -
--- Procesando archivo: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml --- --- Procesando archivo: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
2025-05-03 23:55:48.465 - --- Ejecutando x1 (convert_xml_to_json) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml --- 2025-05-04 00:02:18.422 - --- SALTANDO TODO (x1, x2, x3) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml (XML no modificado, salida final actualizada)
2025-05-03 23:55:48.474 - --- Ejecutando x2 (process_json_to_scl) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml --- 2025-05-04 00:02:18.422 -
2025-05-03 23:55:48.477 - --- Ejecutando x3 (generate_scl_or_markdown) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml --- --- Fase 1.5: Copiando archivos SCL existentes desde 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC' a 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\scl_output' ---
2025-05-03 23:55:48.480 - 2025-05-04 00:02:18.424 - Se encontraron 1 archivos .scl existentes para copiar:
2025-05-04 00:02:18.424 - - Copiando 'ProgramBlocks_SCL\BlenderPID__Main.scl' a 'PLC\scl_output\BlenderPID__Main.scl'
2025-05-04 00:02:18.427 - Copia de SCL existentes finalizada. Copiados: 1, Omitidos (conflicto nombre): 0
2025-05-04 00:02:18.427 -
--- Fase 2: Ejecutando x4_cross_reference.py (salida en 'xref_output/') --- --- Fase 2: Ejecutando x4_cross_reference.py (salida en 'xref_output/') ---
2025-05-03 23:55:48.480 - Ejecutando x4 (generate_cross_references) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output 2025-05-04 00:02:18.427 - Ejecutando x4 (generate_cross_references) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output
2025-05-03 23:55:48.488 - 2025-05-04 00:02:18.435 -
--- Fase 3: Ejecutando x5_aggregate.py (salida en 'full_project_representation.md') --- --- Fase 3: Ejecutando x5_aggregate.py (salida en 'full_project_representation.md') ---
2025-05-03 23:55:48.488 - Ejecutando x5 (aggregate_outputs) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida agregada en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md 2025-05-04 00:02:18.435 - Ejecutando x5 (aggregate_outputs) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida agregada en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
2025-05-03 23:55:48.494 - 2025-05-04 00:02:18.443 -
-------------------- Resumen Final del Procesamiento Completo -------------------- -------------------- Resumen Final del Procesamiento Completo --------------------
2025-05-03 23:55:48.494 - Total de archivos XML encontrados: 1 2025-05-04 00:02:18.443 - Total de archivos XML encontrados: 1
2025-05-03 23:55:48.494 - Archivos procesados/actualizados exitosamente (x1-x3): 1 2025-05-04 00:02:18.444 - Archivos procesados/actualizados exitosamente (x1-x3): 1
2025-05-03 23:55:48.494 - Archivos completamente saltados (x1, x2, x3): 0 2025-05-04 00:02:18.444 - Archivos completamente saltados (x1, x2, x3): 1
2025-05-03 23:55:48.494 - Archivos parcialmente saltados (x1, x2 saltados; x3 ejecutado): 0 2025-05-04 00:02:18.444 - Archivos parcialmente saltados (x1, x2 saltados; x3 ejecutado): 0
2025-05-03 23:55:48.494 - Archivos fallidos (en x1, x2, x3 o error inesperado): 0 2025-05-04 00:02:18.444 - Archivos fallidos (en x1, x2, x3 o error inesperado): 0
2025-05-03 23:55:48.494 - Fase 2 (Generación XRef - x4): Completada 2025-05-04 00:02:18.444 - Archivos SCL existentes copiados (Fase 1.5): 1
2025-05-03 23:55:48.494 - Fase 3 (Agregación - x5): Completada 2025-05-04 00:02:18.444 - Archivos SCL existentes omitidos por conflicto (Fase 1.5): 0
2025-05-03 23:55:48.494 - -------------------------------------------------------------------------------- 2025-05-04 00:02:18.444 - Fase 2 (Generación XRef - x4): Completada
2025-05-03 23:55:48.494 - Proceso finalizado exitosamente. 2025-05-04 00:02:18.444 - Fase 3 (Agregación - x5): Completada
2025-05-03 23:55:48.494 - ========================================= LOG END ========================================== 2025-05-04 00:02:18.444 - --------------------------------------------------------------------------------
2025-05-04 00:02:18.444 - Proceso finalizado exitosamente.
2025-05-04 00:02:18.444 - ========================================= LOG END ==========================================

View File

@ -1,9 +1,9 @@
--- Log de Ejecución: x0_main.py --- --- Log de Ejecución: x0_main.py ---
Grupo: XML Parser to SCL Grupo: XML Parser to SCL
Directorio de Trabajo: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport Directorio de Trabajo: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport
Inicio: 2025-05-03 23:55:47 Inicio: 2025-05-04 00:02:17
Fin: 2025-05-03 23:55:48 Fin: 2025-05-04 00:02:18
Duración: 0:00:01.146105 Duración: 0:00:01.136828
Estado: SUCCESS (Código de Salida: 0) Estado: SUCCESS (Código de Salida: 0)
--- SALIDA ESTÁNDAR (STDOUT) --- --- SALIDA ESTÁNDAR (STDOUT) ---
@ -20,46 +20,11 @@ Se encontraron 1 archivos XML para procesar:
--- Fase 1: Procesamiento Individual (x1, x2, x3) --- --- Fase 1: Procesamiento Individual (x1, x2, x3) ---
--- Procesando archivo: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml --- --- Procesando archivo: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
--- Ejecutando x1 (convert_xml_to_json) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml --- --- SALTANDO TODO (x1, x2, x3) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml (XML no modificado, salida final actualizada)
Iniciando conversión de 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml' a 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data.json'...
Cargando parsers de red...
Cargando parsers desde: 'D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\parsers'
Total de lenguajes con parser cargado: 5 --- Fase 1.5: Copiando archivos SCL existentes desde 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC' a 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\scl_output' ---
Lenguajes soportados: ['LAD', 'FBD', 'GRAPH', 'SCL', 'STL'] Se encontraron 1 archivos .scl existentes para copiar:
Metadatos XML: ModTime=1746220371.8349743, Size=51679 Copia de SCL existentes finalizada. Copiados: 1, Omitidos (conflicto nombre): 0
Paso 1: Parseando archivo XML...
Paso 1: Parseo XML completado.
Paso 2: Detectando tipo de objeto principal...
Paso 2: No es UDT ni Tag Table. Buscando SW.Blocks.* ...
Paso 2b: Bloque SW.Blocks.InstanceDB (Tipo: InstanceDB) encontrado (ID=0).
Paso 3: Extrayendo atributos del bloque...
Paso 3: Atributos: Nombre='BlenderPID__Main_Data', Número=950, Lenguaje Bloque='DB'
Paso 3b: Comentario bloque: '...'
Paso 4: Extrayendo la interfaz del bloque...
Paso 5: Saltando procesamiento de redes para InstanceDB.
Paso 6: Escribiendo el resultado en el archivo JSON...
Paso 6: Escritura JSON completada.
Conversión finalizada. JSON guardado en: 'PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data.json'
--- Ejecutando x2 (process_json_to_scl) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
Cargando JSON desde: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data.json
Procesando bloque tipo: InstanceDB
INFO: El bloque es InstanceDB. Saltando procesamiento lógico de x2.
Guardando JSON de InstanceDB (con metadatos) en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data_processed.json
Guardado de InstanceDB completado.
--- Ejecutando x3 (generate_scl_or_markdown) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
Cargando JSON procesado desde: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data_processed.json
Generando salida para: InstanceDB 'BlenderPID__Main_Data' (Original: BlenderPID__Main_Data)
-> Modo de generación: INSTANCE_DATA_BLOCK SCL
WARNING: No se encontró definición para 'Integral'. Se buscó en directorios estándar.
WARNING: No se encontró definición para 'Integral'. Se buscó en directorios estándar.
WARNING: No se encontró definición para 'Integral'. Se buscó en directorios estándar.
WARNING: No se encontró definición para 'LowPassFilter'. Se buscó en directorios estándar.
WARNING: No se encontró definición para 'BlenderPID_PIDSPCalc'. Se buscó en directorios estándar.
WARNING: No se encontró definición para 'BlenderPID_PIDInitParam'. Se buscó en directorios estándar.
WARNING: No se encontró definición para 'BlenderPID_ActualRecipe'. Se buscó en directorios estándar.
-> Escribiendo archivo de salida final en: PLC\scl_output\BlenderPID__Main_Data.scl
Generación de .SCL completada.
--- Fase 2: Ejecutando x4_cross_reference.py (salida en 'xref_output/') --- --- Fase 2: Ejecutando x4_cross_reference.py (salida en 'xref_output/') ---
Ejecutando x4 (generate_cross_references) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output Ejecutando x4 (generate_cross_references) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output
@ -69,7 +34,7 @@ Directorio de salida XRef: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE1
Directorio fuente SCL/MD: scl_output Directorio fuente SCL/MD: scl_output
Subdirectorio fuentes MD para XRef: source Subdirectorio fuentes MD para XRef: source
Copiando y preparando archivos fuente para Obsidian en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\source Copiando y preparando archivos fuente para Obsidian en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\source
Archivos fuente preparados: 1 SCL convertidos, 0 MD copiados. Archivos fuente preparados: 2 SCL convertidos, 0 MD copiados.
Archivos JSON encontrados: 1 Archivos JSON encontrados: 1
Datos cargados para 1 bloques (0 PLC Tags globales). Datos cargados para 1 bloques (0 PLC Tags globales).
Analizando llamadas y uso de DBs/PLC Tags... Analizando llamadas y uso de DBs/PLC Tags...
@ -86,9 +51,11 @@ Directorio Raíz del Proyecto: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U -
Archivo de Salida: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md Archivo de Salida: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
Buscando archivos SCL con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.scl Buscando archivos SCL con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.scl
Buscando archivos MD con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.md Buscando archivos MD con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.md
Se agregarán 5 archivos. Se agregarán 7 archivos.
Agregando: ProgramBlocks_SCL\BlenderPID__Main.scl Agregando: ProgramBlocks_SCL\BlenderPID__Main.scl
Agregando: scl_output\BlenderPID__Main.scl
Agregando: scl_output\BlenderPID__Main_Data.scl Agregando: scl_output\BlenderPID__Main_Data.scl
Agregando: xref_output\source\BlenderPID__Main.md
Agregando: xref_output\source\BlenderPID__Main_Data.md Agregando: xref_output\source\BlenderPID__Main_Data.md
Agregando: xref_output\xref_db_usage_summary.md Agregando: xref_output\xref_db_usage_summary.md
Agregando: xref_output\xref_plc_tags_summary.md Agregando: xref_output\xref_plc_tags_summary.md
@ -98,9 +65,11 @@ Agregación completada. Archivo guardado en: C:\Trabajo\SIDEL\06 - E5.007363 - M
-------------------- Resumen Final del Procesamiento Completo -------------------- -------------------- Resumen Final del Procesamiento Completo --------------------
Total de archivos XML encontrados: 1 Total de archivos XML encontrados: 1
Archivos procesados/actualizados exitosamente (x1-x3): 1 Archivos procesados/actualizados exitosamente (x1-x3): 1
Archivos completamente saltados (x1, x2, x3): 0 Archivos completamente saltados (x1, x2, x3): 1
Archivos parcialmente saltados (x1, x2 saltados; x3 ejecutado): 0 Archivos parcialmente saltados (x1, x2 saltados; x3 ejecutado): 0
Archivos fallidos (en x1, x2, x3 o error inesperado): 0 Archivos fallidos (en x1, x2, x3 o error inesperado): 0
Archivos SCL existentes copiados (Fase 1.5): 1
Archivos SCL existentes omitidos por conflicto (Fase 1.5): 0
Fase 2 (Generación XRef - x4): Completada Fase 2 (Generación XRef - x4): Completada
Fase 3 (Agregación - x5): Completada Fase 3 (Agregación - x5): Completada
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

View File

@ -17,6 +17,7 @@ import time
import traceback import traceback
import json import json
import datetime # <-- NUEVO: Para timestamps import datetime # <-- NUEVO: Para timestamps
import shutil # <-- ADDED: Import shutil for file copying
script_root = os.path.dirname( script_root = os.path.dirname(
os.path.dirname(os.path.dirname(os.path.dirname(__file__))) os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
) )
@ -236,6 +237,10 @@ if __name__ == "__main__":
# Estos directorios ahora se crearán DENTRO de xml_project_dir (es decir, dentro de 'PLC') # Estos directorios ahora se crearán DENTRO de xml_project_dir (es decir, dentro de 'PLC')
scl_output_dir = os.path.join(xml_project_dir, cfg_scl_output_dirname) # Usar valor de config scl_output_dir = os.path.join(xml_project_dir, cfg_scl_output_dirname) # Usar valor de config
xref_output_dir = os.path.join(xml_project_dir, cfg_xref_output_dirname) # Usar valor de config xref_output_dir = os.path.join(xml_project_dir, cfg_xref_output_dirname) # Usar valor de config
# <-- ADDED: Ensure output directories exist -->
os.makedirs(scl_output_dir, exist_ok=True)
os.makedirs(xref_output_dir, exist_ok=True)
# <-- END ADDED -->
# --- PARTE 2: PROCESAMIENTO INDIVIDUAL (x1, x2, x3) --- # --- PARTE 2: PROCESAMIENTO INDIVIDUAL (x1, x2, x3) ---
log_message("\n--- Fase 1: Procesamiento Individual (x1, x2, x3) ---", log_f) log_message("\n--- Fase 1: Procesamiento Individual (x1, x2, x3) ---", log_f)
@ -348,6 +353,50 @@ if __name__ == "__main__":
failed_count += 1 failed_count += 1
continue # Pasar al siguiente archivo continue # Pasar al siguiente archivo
# <-- ADDED: Phase 1.5: Copy existing SCL files -->
log_message(f"\n--- Fase 1.5: Copiando archivos SCL existentes desde '{xml_project_dir}' a '{scl_output_dir}' ---", log_f)
copied_scl_count = 0
skipped_scl_count = 0
try:
search_scl_pattern = os.path.join(xml_project_dir, "**", "*.scl")
existing_scl_files = glob.glob(search_scl_pattern, recursive=True)
# Exclude files already in the target scl_output_dir or xref_output_dir to avoid self-copying if nested
scl_output_dir_abs = os.path.abspath(scl_output_dir)
xref_output_dir_abs = os.path.abspath(xref_output_dir)
filtered_scl_files = [
f for f in existing_scl_files
if not os.path.abspath(os.path.dirname(f)).startswith(scl_output_dir_abs) and \
not os.path.abspath(os.path.dirname(f)).startswith(xref_output_dir_abs)
]
if not filtered_scl_files:
log_message("No se encontraron archivos .scl existentes para copiar (excluyendo directorios de salida).", log_f)
else:
log_message(f"Se encontraron {len(filtered_scl_files)} archivos .scl existentes para copiar:", log_f)
for src_scl_path in filtered_scl_files:
relative_scl_path = os.path.relpath(src_scl_path, xml_project_dir)
dest_scl_path = os.path.join(scl_output_dir, os.path.basename(src_scl_path)) # Copy directly into scl_output_dir
# Check if a file with the same name was already generated from XML
if os.path.exists(dest_scl_path):
log_message(f" - Omitiendo copia de '{relative_scl_path}': Ya existe un archivo generado con el mismo nombre en el destino.", log_f, also_print=False)
skipped_scl_count += 1
else:
try:
log_message(f" - Copiando '{relative_scl_path}' a '{os.path.relpath(dest_scl_path, working_directory)}'", log_f, also_print=False)
shutil.copy2(src_scl_path, dest_scl_path) # copy2 preserves metadata
copied_scl_count += 1
except Exception as copy_err:
log_message(f" - ERROR copiando '{relative_scl_path}': {copy_err}", log_f)
# Decide if this should count as a general failure
log_message(f"Copia de SCL existentes finalizada. Copiados: {copied_scl_count}, Omitidos (conflicto nombre): {skipped_scl_count}", log_f)
except Exception as e:
log_message(f"Error durante la Fase 1.5 (Copia SCL): {e}", log_f)
# <-- END ADDED -->
# --- PARTE 3: EJECUTAR x4 (Referencias Cruzadas) --- # --- PARTE 3: EJECUTAR x4 (Referencias Cruzadas) ---
log_message( log_message(
f"\n--- Fase 2: Ejecutando x4_cross_reference.py (salida en '{cfg_xref_output_dirname}/') ---", # Usar valor de config f"\n--- Fase 2: Ejecutando x4_cross_reference.py (salida en '{cfg_xref_output_dirname}/') ---", # Usar valor de config
@ -464,12 +513,8 @@ if __name__ == "__main__":
log_f, log_f,
) )
log_message(f"Archivos fallidos (en x1, x2, x3 o error inesperado): {failed_count}", log_f) log_message(f"Archivos fallidos (en x1, x2, x3 o error inesperado): {failed_count}", log_f)
# El detalle de archivos fallidos es más difícil de rastrear ahora sin el dict 'file_status' log_message(f"Archivos SCL existentes copiados (Fase 1.5): {copied_scl_count}", log_f) # <-- ADDED: Report copied SCL
# Se podría reintroducir si es necesario, actualizándolo en cada paso. log_message(f"Archivos SCL existentes omitidos por conflicto (Fase 1.5): {skipped_scl_count}", log_f) # <-- ADDED: Report skipped SCL
# Por ahora, solo mostramos el conteo.
# if failed_count > 0:
# log_message("Archivos fallidos:", log_f)
# ... (lógica para mostrar cuáles fallaron) ...
log_message( log_message(
f"Fase 2 (Generación XRef - x4): {'Completada' if run_x4 and success_x4 else ('Fallida' if run_x4 and not success_x4 else 'Omitida')}", f"Fase 2 (Generación XRef - x4): {'Completada' if run_x4 and success_x4 else ('Fallida' if run_x4 and not success_x4 else 'Omitida')}",
log_f, log_f,

View File

@ -94,3 +94,68 @@
[23:55:48] ========================================= LOG END ========================================== [23:55:48] ========================================= LOG END ==========================================
[23:55:48] Ejecución de x0_main.py finalizada (success). Duración: 0:00:01.146105. Se detectaron errores (ver log). [23:55:48] Ejecución de x0_main.py finalizada (success). Duración: 0:00:01.146105. Se detectaron errores (ver log).
[23:55:48] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\log_x0_main.txt [23:55:48] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\log_x0_main.txt
[00:02:17] Iniciando ejecución de x0_main.py en C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport...
[00:02:18] Advertencia: No se pudo importar 'format_variable_name' desde processors.processor_utils.
[00:02:18] Usando una implementación local básica.
[00:02:18] INFO: format_variable_name importado desde generators.generator_utils
[00:02:18] INFO: format_variable_name importado desde generators.generator_utils
[00:02:18] ======================================== LOG START ========================================
[00:02:18] Directorio de trabajo base configurado: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport'
[00:02:18] Buscando archivos XML recursivamente en el subdirectorio: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC'
[00:02:18] Se encontraron 1 archivos XML para procesar:
[00:02:18] - PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml
[00:02:18] --- Fase 1: Procesamiento Individual (x1, x2, x3) ---
[00:02:18] --- Procesando archivo: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
[00:02:18] --- SALTANDO TODO (x1, x2, x3) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml (XML no modificado, salida final actualizada)
[00:02:18] --- Fase 1.5: Copiando archivos SCL existentes desde 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC' a 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\scl_output' ---
[00:02:18] Se encontraron 1 archivos .scl existentes para copiar:
[00:02:18] Copia de SCL existentes finalizada. Copiados: 1, Omitidos (conflicto nombre): 0
[00:02:18] --- Fase 2: Ejecutando x4_cross_reference.py (salida en 'xref_output/') ---
[00:02:18] Ejecutando x4 (generate_cross_references) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output
[00:02:18] --- Iniciando Generación de Referencias Cruzadas y Fuentes MD (x4) ---
[00:02:18] Buscando archivos JSON procesados en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC
[00:02:18] Directorio de salida XRef: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output
[00:02:18] Directorio fuente SCL/MD: scl_output
[00:02:18] Subdirectorio fuentes MD para XRef: source
[00:02:18] Copiando y preparando archivos fuente para Obsidian en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\source
[00:02:18] Archivos fuente preparados: 2 SCL convertidos, 0 MD copiados.
[00:02:18] Archivos JSON encontrados: 1
[00:02:18] Datos cargados para 1 bloques (0 PLC Tags globales).
[00:02:18] Analizando llamadas y uso de DBs/PLC Tags...
[00:02:18] Generando ÁRBOL XRef de llamadas en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\xref_calls_tree.md
[00:02:18] Generando RESUMEN XRef de uso de DBs en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\xref_db_usage_summary.md
[00:02:18] Generando RESUMEN XRef de uso de PLC Tags en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\xref_plc_tags_summary.md
[00:02:18] --- Generación de Referencias Cruzadas y Fuentes MD (x4) Completada ---
[00:02:18] --- Fase 3: Ejecutando x5_aggregate.py (salida en 'full_project_representation.md') ---
[00:02:18] Ejecutando x5 (aggregate_outputs) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida agregada en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
[00:02:18] --- Iniciando Agregación de Archivos (x5) ---
[00:02:18] Leyendo desde directorios: 'scl_output' y 'xref_output' (relativos a la raíz)
[00:02:18] Directorio Raíz del Proyecto: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC
[00:02:18] Archivo de Salida: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
[00:02:18] Buscando archivos SCL con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.scl
[00:02:18] Buscando archivos MD con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.md
[00:02:18] Se agregarán 7 archivos.
[00:02:18] Agregando: ProgramBlocks_SCL\BlenderPID__Main.scl
[00:02:18] Agregando: scl_output\BlenderPID__Main.scl
[00:02:18] Agregando: scl_output\BlenderPID__Main_Data.scl
[00:02:18] Agregando: xref_output\source\BlenderPID__Main.md
[00:02:18] Agregando: xref_output\source\BlenderPID__Main_Data.md
[00:02:18] Agregando: xref_output\xref_db_usage_summary.md
[00:02:18] Agregando: xref_output\xref_plc_tags_summary.md
[00:02:18] Agregación completada. Archivo guardado en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
[00:02:18] -------------------- Resumen Final del Procesamiento Completo --------------------
[00:02:18] Total de archivos XML encontrados: 1
[00:02:18] Archivos procesados/actualizados exitosamente (x1-x3): 1
[00:02:18] Archivos completamente saltados (x1, x2, x3): 1
[00:02:18] Archivos parcialmente saltados (x1, x2 saltados; x3 ejecutado): 0
[00:02:18] Archivos fallidos (en x1, x2, x3 o error inesperado): 0
[00:02:18] Archivos SCL existentes copiados (Fase 1.5): 1
[00:02:18] Archivos SCL existentes omitidos por conflicto (Fase 1.5): 0
[00:02:18] Fase 2 (Generación XRef - x4): Completada
[00:02:18] Fase 3 (Agregación - x5): Completada
[00:02:18] --------------------------------------------------------------------------------
[00:02:18] Proceso finalizado exitosamente.
[00:02:18] Proceso finalizado exitosamente. Consulta 'log.txt' para detalles.
[00:02:18] ========================================= LOG END ==========================================
[00:02:18] Ejecución de x0_main.py finalizada (success). Duración: 0:00:01.136828. Se detectaron errores (ver log).
[00:02:18] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\log_x0_main.txt