diff --git a/backend/script_groups/IO_adaptation/esquema_work.json b/backend/script_groups/IO_adaptation/esquema_work.json index 1c9e43a..d203b3d 100644 --- a/backend/script_groups/IO_adaptation/esquema_work.json +++ b/backend/script_groups/IO_adaptation/esquema_work.json @@ -1,4 +1,17 @@ { "type": "object", - "properties": {} + "properties": { + "siemens_exp_directory": { + "type": "string", + "title": "Directorio base donde esta la exportación de el proyecto de Tia", + "description": "", + "format": "directory" + }, + "tags_exp_directory": { + "type": "string", + "title": "Directorio con el archivo Excel de Tags exportado de Tia", + "description": "", + "format": "directory" + } + } } \ No newline at end of file diff --git a/backend/script_groups/IO_adaptation/work_dir.json b/backend/script_groups/IO_adaptation/work_dir.json index d70c408..5afb796 100644 --- a/backend/script_groups/IO_adaptation/work_dir.json +++ b/backend/script_groups/IO_adaptation/work_dir.json @@ -1,6 +1,8 @@ { - "path": "C:\\Trabajo\\SIDEL\\13 - E5.007560 - Modifica O&U - SAE235\\Reporte\\IOTags", + "path": "C:\\Trabajo\\SIDEL\\13 - E5.007560 - Modifica O&U - SAE235\\Reporte\\Analisis\\Siemens", "history": [ + "C:\\Trabajo\\SIDEL\\13 - E5.007560 - Modifica O&U - SAE235\\Reporte\\Analisis\\Siemens", + "C:\\Trabajo\\SIDEL\\13 - E5.007560 - Modifica O&U - SAE235\\Reporte\\Analisis", "C:\\Trabajo\\SIDEL\\13 - E5.007560 - Modifica O&U - SAE235\\Reporte\\IOTags", "C:\\Users\\migue\\OneDrive\\Miguel\\Obsidean\\Trabajo\\VM\\04-SIDEL\\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\\IO", "D:\\Trabajo\\VM\\44 - 98050 - Fiera\\Reporte\\ExportsTia", diff --git a/backend/script_groups/TwinCat/.doc/backend_setup.md b/backend/script_groups/TwinCat/.doc/backend_setup.md index 94af892..f05cb45 100644 --- a/backend/script_groups/TwinCat/.doc/backend_setup.md +++ b/backend/script_groups/TwinCat/.doc/backend_setup.md @@ -325,4 +325,86 @@ def main(): if __name__ == "__main__": main() -``` \ No newline at end of file +``` + +### 8.3 Servicios de LLM (Modelos de Lenguaje Grandes) + +El proyecto integra una fábrica de servicios (`LLMFactory`) para interactuar con diferentes Modelos de Lenguaje Grandes (LLMs). Esto permite a los scripts aprovechar la IA generativa para tareas como el análisis de código, la generación de descripciones semánticas, etc. + +#### 8.3.1 Configuración de API Keys + +La mayoría de los servicios de LLM requieren una clave de API para funcionar. El sistema gestiona esto de forma centralizada a través de variables de entorno. + +1. **Crear el archivo `.env`**: En el **directorio raíz del proyecto**, crea un archivo llamado `.env` (si aún no existe). + +2. **Añadir las API Keys**: Abre el archivo `.env` y añade las claves para los servicios que planeas utilizar. El sistema cargará estas variables automáticamente al inicio. + + ```env + # Ejemplo de contenido para el archivo .env + # (Solo necesitas añadir las claves de los servicios que vayas a usar) + + OPENAI_API_KEY="sk-..." + GROQ_API_KEY="gsk_..." + CLAUDE_API_KEY="sk-ant-..." + GEMINI_API_KEY="AIzaSy..." + GROK_API_KEY="TU_API_KEY_DE_GROK" + ``` + + **Nota**: El servicio `ollama` se ejecuta localmente y no requiere una clave de API. + +#### 8.3.2 Ejemplo de importación y uso + +El siguiente ejemplo muestra cómo un script puede cargar su configuración, inicializar un servicio de LLM y usarlo para generar texto. Este patrón es similar al utilizado en `x3_generate_semantic_descriptions.py`. + +```python +# Asegúrate de tener el path raíz configurado +# ... (código de configuración de sys.path) + +from services.llm.llm_factory import LLMFactory +from backend.script_utils import load_configuration + +def main(): + # Cargar la configuración del script, que puede incluir qué LLM usar + configs = load_configuration() + llm_configs = configs.get("llm", {}) + + # Obtener el tipo de servicio y otros parámetros del config + # Por defecto, usamos 'groq' si no se especifica + service_type = llm_configs.get("service", "groq") + + print(f"🤖 Inicializando servicio LLM: {service_type}") + + # Crear una instancia del servicio usando la fábrica + # La fábrica se encarga de pasar las API keys desde las variables de entorno + llm_service = LLMFactory.create_service(service_type, **llm_configs) + + if not llm_service: + print(f"❌ Error: No se pudo crear el servicio LLM '{service_type}'. Abortando.") + return + + # Usar el servicio para generar texto + try: + prompt = "Explica la computación cuántica en una sola frase." + print(f"Enviando prompt: '{prompt}'") + + description = llm_service.generate_text(prompt) + + print("\nRespuesta del LLM:") + print(description) + + except Exception as e: + print(f"Ocurrió un error al contactar al servicio LLM: {e}") + +if __name__ == "__main__": + main() +``` + +#### 8.3.3 Servicios Disponibles + +La `LLMFactory` soporta los siguientes tipos de servicio (`service_type`): +- `openai` +- `groq` +- `claude` +- `gemini` +- `grok` +- `ollama` (para ejecución local) \ No newline at end of file diff --git a/data/log.txt b/data/log.txt index 5ad63c8..fb19c14 100644 --- a/data/log.txt +++ b/data/log.txt @@ -1,577 +1,290 @@ -[12:16:08] Iniciando ejecución de x1.5_full_io_documentation.py en C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis... -[12:16:09] 🚀 Iniciando documentación completa de IOs de TwinCAT -[12:16:09] ================================================================================ -[12:16:09] 📁 Directorio de trabajo: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis -[12:16:09] 📁 Directorio de resultados: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat -[12:16:09] 🔍 Escaneando definiciones TwinCAT activas en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat/scl -[12:16:09] ✅ Encontradas 141 definiciones de IO activas. -[12:16:09] 🔍 Buscando usos de variables definidas en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat/scl -[12:16:09] 📄 Analizando uso en: ADSVARREAD.scl -[12:16:09] 📄 Analizando uso en: ADSVARTRANSLATE.scl -[12:16:09] 📄 Analizando uso en: ADSVARWRITE.scl -[12:16:09] 📄 Analizando uso en: AMMONIACTRL.scl -[12:16:09] 📄 Analizando uso en: ARRAYTOREAL.scl -[12:16:09] 📄 Analizando uso en: BLENDERPROCEDURE_VARIABLES.scl -[12:16:09] 📄 Analizando uso en: BLENDERRINSE.scl -[12:16:09] 📄 Analizando uso en: BLENDER_PID_CTRL_LOOP.scl -[12:16:10] 📄 Analizando uso en: BLENDER_PROCEDURECALL.scl -[12:16:10] 📄 Analizando uso en: BLENDER_RUNCONTROL.scl -[12:16:10] 📄 Analizando uso en: BLENDER_VARIABLES.scl -[12:16:10] 📄 Analizando uso en: BLENDFILLRECSTRUCT.scl -[12:16:10] 📄 Analizando uso en: BLENDFILLSENDSTRUCT.scl -[12:16:10] 📄 Analizando uso en: BLENDFILLSYSTEM_STARTUP.scl -[12:16:10] 📄 Analizando uso en: BRIXTRACKING.scl -[12:16:10] 📄 Analizando uso en: BYTES_TO_DWORD.scl -[12:16:10] 📄 Analizando uso en: BYTES_TO_WORD.scl -[12:16:10] 📄 Analizando uso en: CALC_INJPRESS.scl -[12:16:10] 📄 Analizando uso en: CARBOWATERLINE.scl -[12:16:10] 📄 Analizando uso en: CENTRALCIP_CTRL.scl -[12:16:10] 📄 Analizando uso en: CETRIFUGAL_HEAD.scl -[12:16:10] 📄 Analizando uso en: CIPRECEIVESTRUCT.scl -[12:16:10] 📄 Analizando uso en: CIPSENDSTRUCT.scl -[12:16:10] 📄 Analizando uso en: CIP_CVQ.scl -[12:16:10] 📄 Analizando uso en: CIP_LINK_TYPE.scl -[12:16:10] 📄 Analizando uso en: CIP_LIST_ELEMENT.scl -[12:16:10] 📄 Analizando uso en: CIP_MAIN.scl -[12:16:10] 📄 Analizando uso en: CIP_PROGRAM_VARIABLES.scl -[12:16:10] 📄 Analizando uso en: CIP_SIMPLE_TYPE.scl -[12:16:10] 📄 Analizando uso en: CIP_STEP_TYPE.scl -[12:16:10] 📄 Analizando uso en: CIP_WAITEVENT_TYPE.scl -[12:16:10] 📄 Analizando uso en: CLEANBOOLARRAY.scl -[12:16:10] 📄 Analizando uso en: CLOCK_SIGNAL.scl -[12:16:10] 📄 Analizando uso en: CLOCK_VARIABLES.scl -[12:16:10] 📄 Analizando uso en: CO2EQPRESS.scl -[12:16:10] 📄 Analizando uso en: CO2INJPRESSURE.scl -[12:16:10] 📄 Analizando uso en: CO2_SOLUBILITY.scl -[12:16:10] 📄 Analizando uso en: CONVERTREAL.scl -[12:16:10] 📄 Analizando uso en: CVQ_0_6_PERC.scl -[12:16:11] 📄 Analizando uso en: CVQ_1P7_8_PERC.scl -[12:16:11] 📄 Analizando uso en: DATA_FROM_CIP.scl -[12:16:11] 📄 Analizando uso en: DATA_TO_CIP.scl -[12:16:11] 📄 Analizando uso en: DEAIRCO2TEMPCOMP.scl -[12:16:11] 📄 Analizando uso en: DEAIREATIONVALVE.scl -[12:16:11] 📄 Analizando uso en: DEAIREATOR_STARTUP.scl -[12:16:11] 📄 Analizando uso en: DELAY.scl -[12:16:11] 📄 Analizando uso en: DELTAP.scl -[12:16:11] 📄 Analizando uso en: DENSIMETER_CALIBRATION.scl -[12:16:11] 📄 Analizando uso en: DERIVE.scl -[12:16:11] 📄 Analizando uso en: DEVICENET_VARIABLES.scl -[12:16:11] 📄 Analizando uso en: DWORD_TO_BYTES.scl -[12:16:11] 📄 Analizando uso en: EXEC_SIMPLE_CIP.scl -[12:16:11] 📄 Analizando uso en: FASTRINSE.scl -[12:16:11] 📄 Analizando uso en: FB41_PIDCONTROLLER.scl -[12:16:11] 📄 Analizando uso en: FC_CONTROL_WORD.scl -[12:16:11] 📄 Analizando uso en: FC_STATUS_WORD.scl -[12:16:11] 📄 Analizando uso en: FEEDFORWARD.scl -[12:16:11] 📄 Analizando uso en: FILLERHEAD.scl -[12:16:11] 📄 Analizando uso en: FILLERRECEIVESTRUCT.scl -[12:16:11] 📄 Analizando uso en: FILLERRINSE.scl -[12:16:11] 📄 Analizando uso en: FILLERRINSETANK_CTRL.scl -[12:16:11] 📄 Analizando uso en: FILLERSENDSTRUCT.scl -[12:16:11] 📄 Analizando uso en: FILLER_CONTROL.scl -[12:16:11] 📄 Analizando uso en: FILLINGTIME.scl -[12:16:11] 📄 Analizando uso en: FIRSTPRODUCTION.scl -[12:16:11] 📄 Analizando uso en: FLOW_TO_PRESS_LOSS.scl -[12:16:11] 📄 Analizando uso en: FREQ_TO_MMH2O.scl -[12:16:11] 📄 Analizando uso en: FRICTIONLOSS.scl -[12:16:11] 📄 Analizando uso en: GETPRODBRIXCO2_FROMANALOGINPUT.scl -[12:16:11] 📄 Analizando uso en: GETPRODO2_FROMANALOGINPUT.scl -[12:16:12] 📄 Analizando uso en: GLOBAL_ALARMS.scl -[12:16:12] 📄 Analizando uso en: GLOBAL_VARIABLES_IN_OUT.scl -[12:16:12] 📄 Analizando uso en: HMI_ALARMS.scl -[12:16:12] 📄 Analizando uso en: HMI_BLENDER_PARAMETERS.scl -[12:16:12] 📄 Analizando uso en: HMI_IO_SHOWING.scl -[12:16:12] 📄 Analizando uso en: HMI_LOCAL_CIP_VARIABLES.scl -[12:16:12] 📄 Analizando uso en: HMI_SERVICE.scl -[12:16:12] 📄 Analizando uso en: HMI_VARIABLES_CMD.scl -[12:16:12] 📄 Analizando uso en: HMI_VARIABLES_STATUS.scl -[12:16:12] 📄 Analizando uso en: INPUT.scl -[12:16:12] 📄 Analizando uso en: INPUT_CIP_SIGNALS.scl -[12:16:12] 📄 Analizando uso en: INPUT_SIGNAL.scl -[12:16:12] 📄 Analizando uso en: INTEGRAL.scl -[12:16:12] 📄 Analizando uso en: LOCALCIP_CTRL.scl -[12:16:12] 📄 Analizando uso en: LOWPASSFILTER.scl -[12:16:12] 📄 Analizando uso en: LOWPASSFILTEROPT.scl -[12:16:12] 📄 Analizando uso en: MASELLI.scl -[12:16:12] 📄 Analizando uso en: MASELLIOPTO_TYPE.scl -[12:16:12] 📄 Analizando uso en: MASELLIUC05_TYPE.scl -[12:16:12] 📄 Analizando uso en: MASELLIUR22_TYPE.scl -[12:16:12] 📄 Analizando uso en: MASELLI_CONTROL.scl -[12:16:12] 📄 Analizando uso en: MAXCARBOCO2_VOL.scl -[12:16:13] 📄 Analizando uso en: MESSAGESCROLL.scl -[12:16:13] 📄 Analizando uso en: MESSAGE_SCROLL.scl -[12:16:13] 📄 Analizando uso en: MFMANALOG_VALUES.scl -[12:16:13] 📄 Analizando uso en: MFM_REAL_STRUCT.scl -[12:16:13] 📄 Analizando uso en: MMH2O_TO_FREQ.scl -[12:16:13] 📄 Analizando uso en: MODVALVEFAULT.scl -[12:16:13] 📄 Analizando uso en: MOVEARRAY.scl -[12:16:13] 📄 Analizando uso en: MPDS1000.scl -[12:16:13] 📄 Analizando uso en: MPDS1000_CONTROL.scl -[12:16:13] 📄 Analizando uso en: MPDS1000_TYPE.scl -[12:16:13] 📄 Analizando uso en: MPDS2000.scl -[12:16:13] 📄 Analizando uso en: MPDS2000_CONTROL.scl -[12:16:13] 📄 Analizando uso en: MPDS2000_TYPE.scl -[12:16:13] 📄 Analizando uso en: MPDS_PA_CONTROL.scl -[12:16:13] 📄 Analizando uso en: MSE_SLOPE.scl -[12:16:13] 📄 Analizando uso en: MYVAR.scl -[12:16:13] 📄 Analizando uso en: OR_ARRAYBOOL.scl -[12:16:13] 📄 Analizando uso en: OUTPUT.scl -[12:16:13] 📄 Analizando uso en: PARAMETERNAMETYPE.scl -[12:16:13] 📄 Analizando uso en: PA_MPDS.scl -[12:16:13] 📄 Analizando uso en: PERIPHERIAL.scl -[12:16:13] 📄 Analizando uso en: PID_VARIABLES.scl -[12:16:13] 📄 Analizando uso en: PLC CONFIGURATION.scl -[12:16:13] 📄 Analizando uso en: PNEUMATIC_VALVE_CTRL.scl -[12:16:13] 📄 Analizando uso en: PPM_O2.scl -[12:16:13] 📄 Analizando uso en: PRODBRIXRECOVERY.scl -[12:16:13] 📄 Analizando uso en: PRODTANK_DRAIN.scl -[12:16:14] 📄 Analizando uso en: PRODTANK_RUNOUT.scl -[12:16:14] 📄 Analizando uso en: PRODUCTAVAILABLE.scl -[12:16:14] 📄 Analizando uso en: PRODUCTION_VARIABLES.scl -[12:16:14] 📄 Analizando uso en: PRODUCTLITERINTANK.scl -[12:16:14] 📄 Analizando uso en: PRODUCTPIPEDRAIN.scl -[12:16:14] 📄 Analizando uso en: PRODUCTPIPERUNOUT.scl -[12:16:14] 📄 Analizando uso en: PRODUCTQUALITY.scl -[12:16:14] 📄 Analizando uso en: PRODUCTTANKBRIX.scl -[12:16:14] 📄 Analizando uso en: PRODUCTTANK_PRESSCTRL.scl -[12:16:14] 📄 Analizando uso en: PROFIBUS_DATA.scl -[12:16:14] 📄 Analizando uso en: PROFIBUS_NETWORK.scl -[12:16:14] 📄 Analizando uso en: PROFIBUS_VARIABLES.scl -[12:16:14] 📄 Analizando uso en: PULSEPRESSURE.scl -[12:16:14] 📄 Analizando uso en: PUMPSCONTROL.scl -[12:16:14] 📄 Analizando uso en: READANALOGIN.scl -[12:16:14] 📄 Analizando uso en: READPERIPHERIAL.scl -[12:16:14] 📄 Analizando uso en: SAFETIES.scl -[12:16:14] 📄 Analizando uso en: SELCHECKBRIXSOURCE.scl -[12:16:14] 📄 Analizando uso en: SIGNALS_INTEFACE.scl -[12:16:14] 📄 Analizando uso en: SIGNAL_GEN.scl -[12:16:14] 📄 Analizando uso en: SINUSOIDAL_SIGNAL.scl -[12:16:14] 📄 Analizando uso en: SLEWLIMIT.scl -[12:16:14] 📄 Analizando uso en: SLIM_BLOCK.scl -[12:16:14] 📄 Analizando uso en: SLIM_VARIABLES.scl -[12:16:14] 📄 Analizando uso en: SOFTNET_VARIABLES.scl -[12:16:14] 📄 Analizando uso en: SPEEDADJUST.scl -[12:16:14] 📄 Analizando uso en: SP_AND_P_VARIABLES.scl -[12:16:15] 📄 Analizando uso en: STANDARD.LIB_5.6.98 09_39_02.scl -[12:16:15] 📄 Analizando uso en: STATISTICALANALISYS.scl -[12:16:15] 📄 Analizando uso en: SYRBRIX_AUTOCORRECTION.scl -[12:16:15] 📄 Analizando uso en: SYRUPDENSITY.scl -[12:16:15] 📄 Analizando uso en: SYRUPROOMCTRL.scl -[12:16:15] 📄 Analizando uso en: SYRUP_LINE_MFM_PREP.scl -[12:16:15] 📄 Analizando uso en: SYRUP_MFM_STARTUP.scl -[12:16:15] 📄 Analizando uso en: SYRUP_RUNOUT.scl -[12:16:15] 📄 Analizando uso en: SYSTEMRUNOUT_VARIABLES.scl -[12:16:15] 📄 Analizando uso en: SYSTEM_DATAS.scl -[12:16:15] 📄 Analizando uso en: SYSTEM_RUN_OUT.scl -[12:16:15] 📄 Analizando uso en: TANKLEVEL.scl -[12:16:15] 📄 Analizando uso en: TANKLEVELTOHEIGHT.scl -[12:16:15] 📄 Analizando uso en: TASK CONFIGURATION.scl -[12:16:15] 📄 Analizando uso en: TCPLCUTILITIES.LIB_11.12.01 09_39_02.scl -[12:16:15] 📄 Analizando uso en: TCSYSTEM.LIB_16.9.02 09_39_02.scl -[12:16:15] 📄 Analizando uso en: TESTFLOWMETERS.scl -[12:16:15] 📄 Analizando uso en: UDP_STRUCT.scl -[12:16:15] 📄 Analizando uso en: UV_LAMP.scl -[12:16:15] 📄 Analizando uso en: VACUUMCTRL.scl -[12:16:15] 📄 Analizando uso en: VALVEFAULT.scl -[12:16:15] 📄 Analizando uso en: VALVEFLOW.scl -[12:16:15] 📄 Analizando uso en: VARIABLE_CONFIGURATION.scl -[12:16:15] 📄 Analizando uso en: VOID.scl -[12:16:15] 📄 Analizando uso en: WATERDENSITY.scl -[12:16:15] 📄 Analizando uso en: WORD_TO_BYTES.scl -[12:16:15] 📄 Analizando uso en: WRITEPERIPHERIAL.scl -[12:16:15] 📄 Analizando uso en: _BLENDER_CTRL_MAIN.scl -[12:16:16] 📄 Analizando uso en: _BLENDER_PID_MAIN.scl -[12:16:16] 📄 Analizando uso en: _BOOLARRAY_TO_DWORD.scl -[12:16:16] 📄 Analizando uso en: _BOOLARRAY_TO_WORD.scl -[12:16:16] 📄 Analizando uso en: _DWORD_SWAP_BYTEARRAY.scl -[12:16:16] 📄 Analizando uso en: _DWORD_TO_BOOLARRAY.scl -[12:16:16] 📄 Analizando uso en: _FILLING_HEAD_PID_CTRL.scl -[12:16:16] 📄 Analizando uso en: _PUMPCONTROL.scl -[12:16:16] 📄 Analizando uso en: _STEPMOVE.scl -[12:16:16] 📄 Analizando uso en: _WORD_TO_BOOLARRAY.scl -[12:16:16] ✅ Encontrados 224 usos para 83 variables distintas. -[12:16:16] 📄 Generando tabla resumen: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\TwinCAT_Full_IO_List.md -[12:16:16] ✅ Tabla resumen generada exitosamente. -[12:16:16] 📄 Generando reporte de snippets: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\TwinCAT_IO_Usage_Snippets.md -[12:16:16] Generando snippets para 83 variables con uso... -[12:16:16] 📝 Procesando 1/83: AI_ProductTankLevel (1 usos) -[12:16:16] 📝 Procesando 2/83: AI_ProductTankPressure (1 usos) -[12:16:16] 📝 Procesando 3/83: AI_DeaireationValve_VEP4 (2 usos) -[12:16:16] 📝 Procesando 4/83: AI_ProdTankPressureValve_VEP1 (1 usos) -[12:16:16] 📝 Procesando 5/83: AI_ProductTemperature (1 usos) -[12:16:16] 📝 Procesando 6/83: AI_SyrupTankLevel (1 usos) -[12:16:16] 📝 Procesando 7/83: AI_DeairWaterTemperature (1 usos) -[12:16:16] 📝 Procesando 8/83: AI_InjectionPressure (2 usos) -[12:16:16] 📝 Procesando 9/83: gProduct_VFC_MainActualValue (1 usos) -[12:16:16] 📝 Procesando 10/83: DI_AuxVoltage_On (1 usos) -[12:16:16] 📝 Procesando 11/83: DI_Reset_Horn_Btn (2 usos) -[12:16:16] 📝 Procesando 12/83: DI_Reset_Btn (79 usos) -[12:16:16] 📝 Procesando 13/83: DI_Blender_Stop_Btn (3 usos) -[12:16:16] 📝 Procesando 14/83: DI_Blender_Start_Btn (1 usos) -[12:16:16] 📝 Procesando 15/83: DI_PowerSuppliesOk (3 usos) -[12:16:16] 📝 Procesando 16/83: DI_Min_Deair_Level (1 usos) -[12:16:16] 📝 Procesando 17/83: DI_ProdTankEmpty (1 usos) -[12:16:16] 📝 Procesando 18/83: DI_BatteryNotReady (1 usos) -[12:16:16] 📝 Procesando 19/83: DI_VM1_Water_Valve_Closed (1 usos) -[12:16:16] 📝 Procesando 20/83: DI_VM2_Syrup_Valve_Closed (1 usos) -[12:16:16] 📝 Procesando 21/83: DI_VM3_CO2_Valve_Closed (1 usos) -[12:16:16] 📝 Procesando 22/83: DI_Water_Pump_Contactor (1 usos) -[12:16:16] 📝 Procesando 23/83: DI_Syrup_Pump_Ovrld (1 usos) -[12:16:16] 📝 Procesando 24/83: DI_Syrup_Pump_Contactor (1 usos) -[12:16:16] 📝 Procesando 25/83: DI_Product_Pump_Contactor (1 usos) -[12:16:16] 📝 Procesando 26/83: DI_SyrRoom_Pump_Ready (1 usos) -[12:16:16] 📝 Procesando 27/83: DI_CIP_CIPMode (1 usos) -[12:16:16] 📝 Procesando 28/83: DI_CIP_RinseMode (1 usos) -[12:16:16] 📝 Procesando 29/83: DI_CIP_DrainRequest (1 usos) -[12:16:16] 📝 Procesando 30/83: DI_CIP_CIPCompleted (1 usos) -[12:16:16] 📝 Procesando 31/83: DI_Air_InletPress_OK (1 usos) -[12:16:16] 📝 Procesando 32/83: DI_Syrup_Line_Drain_Sensor (1 usos) -[12:16:16] 📝 Procesando 33/83: gWaterTotCtrl_Node20 (3 usos) -[12:16:16] 📝 Procesando 34/83: gSyrControl_Node21 (7 usos) -[12:16:16] 📝 Procesando 35/83: gCO2Control_Node22 (7 usos) -[12:16:16] 📝 Procesando 36/83: gProductTotCtrl_Node17 (3 usos) -[12:16:16] 📝 Procesando 37/83: AO_WaterCtrlValve_VM1 (1 usos) -[12:16:16] 📝 Procesando 38/83: AO_SyrupCtrlValve_VM2 (1 usos) -[12:16:16] 📝 Procesando 39/83: AO_CarboCO2CtrlValve_VM3 (1 usos) -[12:16:16] 📝 Procesando 40/83: AO_ProdTankPressureValve_VEP1 (1 usos) -[12:16:16] 📝 Procesando 41/83: AO_DeaireationValve_VEP4 (2 usos) -[12:16:16] 📝 Procesando 42/83: AO_ProdTempCtrlValve (1 usos) -[12:16:16] 📝 Procesando 43/83: AO_SyrupInletValve_VEP3 (1 usos) -[12:16:16] 📝 Procesando 44/83: AO_InjectionPressure (1 usos) -[12:16:16] 📝 Procesando 45/83: gProduct_VFC_MainRefValue (1 usos) -[12:16:16] 📝 Procesando 46/83: DO_SyrupInletValve_Enable (1 usos) -[12:16:16] 📝 Procesando 47/83: DO_HoldBrixMeter (2 usos) -[12:16:16] 📝 Procesando 48/83: DO_SyrupRoomPump_Run (2 usos) -[12:16:16] 📝 Procesando 49/83: DO_SyrupRoomWaterReq (2 usos) -[12:16:16] 📝 Procesando 50/83: DO_CIP_CIPRequest (2 usos) -[12:16:16] 📝 Procesando 51/83: DO_CIP_DrainCompleted (2 usos) -[12:16:16] 📝 Procesando 52/83: DO_Horn (2 usos) -[12:16:16] 📝 Procesando 53/83: DO_Blender_Run_Lamp (2 usos) -[12:16:16] 📝 Procesando 54/83: DO_Alarm_Lamp (2 usos) -[12:16:16] 📝 Procesando 55/83: DO_RotorAlarm_Lamp (2 usos) -[12:16:16] 📝 Procesando 56/83: DO_Water_Pump_Run (2 usos) -[12:16:16] 📝 Procesando 57/83: DO_Syrup_Pump_Run (2 usos) -[12:16:16] 📝 Procesando 58/83: DO_Product_Pump_Run (3 usos) -[12:16:16] 📝 Procesando 59/83: DO_EV11_BlowOff_Valve (2 usos) -[12:16:16] 📝 Procesando 60/83: DO_EV13_Prod_Recirc_Valve (2 usos) -[12:16:16] 📝 Procesando 61/83: DO_EV14_DeairDrain_Valve (2 usos) -[12:16:16] 📝 Procesando 62/83: DO_EV15_ProductTank_Drain_Valve (2 usos) -[12:16:16] 📝 Procesando 63/83: DO_EV16_SyrupTank_Drain_Valve (2 usos) -[12:16:16] 📝 Procesando 64/83: DO_EV17_BufferTankSprayBall_Valve (2 usos) -[12:16:16] 📝 Procesando 65/83: DO_EV18_DeairOverfill_Valve (2 usos) -[12:16:16] 📝 Procesando 66/83: DO_EV21_ProdTankOverfill_Valve (2 usos) -[12:16:16] 📝 Procesando 67/83: DO_EV22_WaterPumpPrime_Valve (2 usos) -[12:16:16] 📝 Procesando 68/83: DO_EV23_SerpentineDrain_valve (2 usos) -[12:16:16] 📝 Procesando 69/83: DO_EV24_SyrupRecirc_Valve (2 usos) -[12:16:16] 📝 Procesando 70/83: DO_EV26_CO2InjShutOff_Valve (2 usos) -[12:16:16] 📝 Procesando 71/83: DO_EV27_DeairSprayBall_Valve (2 usos) -[12:16:16] 📝 Procesando 72/83: DO_EV28_DeairStartCO2Inj_Valve (2 usos) -[12:16:16] 📝 Procesando 73/83: DO_EV44_SyrupLineDrain (2 usos) -[12:16:16] 📝 Procesando 74/83: DO_EV45_ProductChillerDrain (2 usos) -[12:16:16] 📝 Procesando 75/83: DO_EV61_SyrupTankSprayBall (2 usos) -[12:16:16] 📝 Procesando 76/83: DO_EV62_ProductOutlet (3 usos) -[12:16:16] 📝 Procesando 77/83: DO_EV69_Blender_ProductPipeDrain (2 usos) -[12:16:16] 📝 Procesando 78/83: DO_EV81_Prod_Recirc_Chiller_Valve (2 usos) -[12:16:16] 📝 Procesando 79/83: DO_EV01_Deair_Lvl_Ctrl_Valve (2 usos) -[12:16:16] 📝 Procesando 80/83: DO_EV02_Deair_FillUp_Valve (2 usos) -[12:16:16] 📝 Procesando 81/83: gPAmPDSFreeze (2 usos) -[12:16:16] 📝 Procesando 82/83: gPAmPDSCarboStop (2 usos) -[12:16:16] 📝 Procesando 83/83: gPAmPDSInlinePumpStop (2 usos) -[12:16:16] Generando tabla para 58 variables no usadas... -[12:16:16] ✅ Reporte de snippets generado exitosamente. -[12:16:16] 🎉 Análisis completado exitosamente! -[12:16:16] 📁 Archivos generados en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat -[12:16:16] 📄 TwinCAT_Full_IO_List.md -[12:16:16] 📄 TwinCAT_IO_Usage_Snippets.md -[12:16:16] Ejecución de x1.5_full_io_documentation.py finalizada (success). Duración: 0:00:08.050593. -[12:16:16] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\TwinCat\log_x1.5_full_io_documentation.txt -[12:28:26] Iniciando ejecución de x1.5_full_io_documentation.py en C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis... -[12:28:27] 🚀 Iniciando documentación completa de IOs de TwinCAT -[12:28:27] ================================================================================ -[12:28:27] 📁 Directorio de trabajo: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis -[12:28:27] 📁 Directorio de resultados: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat -[12:28:27] 🔍 Escaneando definiciones TwinCAT activas en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat/scl -[12:28:27] ✅ Encontradas 141 definiciones de IO activas. -[12:28:27] 🔍 Buscando usos de variables definidas en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat/scl -[12:28:27] 📄 Analizando uso en: ADSVARREAD.scl -[12:28:27] 📄 Analizando uso en: ADSVARTRANSLATE.scl -[12:28:27] 📄 Analizando uso en: ADSVARWRITE.scl -[12:28:27] 📄 Analizando uso en: AMMONIACTRL.scl -[12:28:27] 📄 Analizando uso en: ARRAYTOREAL.scl -[12:28:27] 📄 Analizando uso en: BLENDERPROCEDURE_VARIABLES.scl -[12:28:27] 📄 Analizando uso en: BLENDERRINSE.scl -[12:28:27] 📄 Analizando uso en: BLENDER_PID_CTRL_LOOP.scl -[12:28:27] 📄 Analizando uso en: BLENDER_PROCEDURECALL.scl -[12:28:28] 📄 Analizando uso en: BLENDER_RUNCONTROL.scl -[12:28:28] 📄 Analizando uso en: BLENDER_VARIABLES.scl -[12:28:28] 📄 Analizando uso en: BLENDFILLRECSTRUCT.scl -[12:28:28] 📄 Analizando uso en: BLENDFILLSENDSTRUCT.scl -[12:28:28] 📄 Analizando uso en: BLENDFILLSYSTEM_STARTUP.scl -[12:28:28] 📄 Analizando uso en: BRIXTRACKING.scl -[12:28:28] 📄 Analizando uso en: BYTES_TO_DWORD.scl -[12:28:28] 📄 Analizando uso en: BYTES_TO_WORD.scl -[12:28:28] 📄 Analizando uso en: CALC_INJPRESS.scl -[12:28:28] 📄 Analizando uso en: CARBOWATERLINE.scl -[12:28:28] 📄 Analizando uso en: CENTRALCIP_CTRL.scl -[12:28:28] 📄 Analizando uso en: CETRIFUGAL_HEAD.scl -[12:28:28] 📄 Analizando uso en: CIPRECEIVESTRUCT.scl -[12:28:28] 📄 Analizando uso en: CIPSENDSTRUCT.scl -[12:28:28] 📄 Analizando uso en: CIP_CVQ.scl -[12:28:28] 📄 Analizando uso en: CIP_LINK_TYPE.scl -[12:28:28] 📄 Analizando uso en: CIP_LIST_ELEMENT.scl -[12:28:28] 📄 Analizando uso en: CIP_MAIN.scl -[12:28:28] 📄 Analizando uso en: CIP_PROGRAM_VARIABLES.scl -[12:28:28] 📄 Analizando uso en: CIP_SIMPLE_TYPE.scl -[12:28:28] 📄 Analizando uso en: CIP_STEP_TYPE.scl -[12:28:28] 📄 Analizando uso en: CIP_WAITEVENT_TYPE.scl -[12:28:28] 📄 Analizando uso en: CLEANBOOLARRAY.scl -[12:28:28] 📄 Analizando uso en: CLOCK_SIGNAL.scl -[12:28:28] 📄 Analizando uso en: CLOCK_VARIABLES.scl -[12:28:28] 📄 Analizando uso en: CO2EQPRESS.scl -[12:28:28] 📄 Analizando uso en: CO2INJPRESSURE.scl -[12:28:28] 📄 Analizando uso en: CO2_SOLUBILITY.scl -[12:28:28] 📄 Analizando uso en: CONVERTREAL.scl -[12:28:28] 📄 Analizando uso en: CVQ_0_6_PERC.scl -[12:28:28] 📄 Analizando uso en: CVQ_1P7_8_PERC.scl -[12:28:28] 📄 Analizando uso en: DATA_FROM_CIP.scl -[12:28:28] 📄 Analizando uso en: DATA_TO_CIP.scl -[12:28:28] 📄 Analizando uso en: DEAIRCO2TEMPCOMP.scl -[12:28:28] 📄 Analizando uso en: DEAIREATIONVALVE.scl -[12:28:28] 📄 Analizando uso en: DEAIREATOR_STARTUP.scl -[12:28:29] 📄 Analizando uso en: DELAY.scl -[12:28:29] 📄 Analizando uso en: DELTAP.scl -[12:28:29] 📄 Analizando uso en: DENSIMETER_CALIBRATION.scl -[12:28:29] 📄 Analizando uso en: DERIVE.scl -[12:28:29] 📄 Analizando uso en: DEVICENET_VARIABLES.scl -[12:28:29] 📄 Analizando uso en: DWORD_TO_BYTES.scl -[12:28:29] 📄 Analizando uso en: EXEC_SIMPLE_CIP.scl -[12:28:29] 📄 Analizando uso en: FASTRINSE.scl -[12:28:29] 📄 Analizando uso en: FB41_PIDCONTROLLER.scl -[12:28:29] 📄 Analizando uso en: FC_CONTROL_WORD.scl -[12:28:29] 📄 Analizando uso en: FC_STATUS_WORD.scl -[12:28:29] 📄 Analizando uso en: FEEDFORWARD.scl -[12:28:29] 📄 Analizando uso en: FILLERHEAD.scl -[12:28:29] 📄 Analizando uso en: FILLERRECEIVESTRUCT.scl -[12:28:29] 📄 Analizando uso en: FILLERRINSE.scl -[12:28:29] 📄 Analizando uso en: FILLERRINSETANK_CTRL.scl -[12:28:29] 📄 Analizando uso en: FILLERSENDSTRUCT.scl -[12:28:29] 📄 Analizando uso en: FILLER_CONTROL.scl -[12:28:29] 📄 Analizando uso en: FILLINGTIME.scl -[12:28:29] 📄 Analizando uso en: FIRSTPRODUCTION.scl -[12:28:29] 📄 Analizando uso en: FLOW_TO_PRESS_LOSS.scl -[12:28:29] 📄 Analizando uso en: FREQ_TO_MMH2O.scl -[12:28:29] 📄 Analizando uso en: FRICTIONLOSS.scl -[12:28:29] 📄 Analizando uso en: GETPRODBRIXCO2_FROMANALOGINPUT.scl -[12:28:29] 📄 Analizando uso en: GETPRODO2_FROMANALOGINPUT.scl -[12:28:29] 📄 Analizando uso en: GLOBAL_ALARMS.scl -[12:28:29] 📄 Analizando uso en: GLOBAL_VARIABLES_IN_OUT.scl -[12:28:30] 📄 Analizando uso en: HMI_ALARMS.scl -[12:28:30] 📄 Analizando uso en: HMI_BLENDER_PARAMETERS.scl -[12:28:30] 📄 Analizando uso en: HMI_IO_SHOWING.scl -[12:28:30] 📄 Analizando uso en: HMI_LOCAL_CIP_VARIABLES.scl -[12:28:30] 📄 Analizando uso en: HMI_SERVICE.scl -[12:28:30] 📄 Analizando uso en: HMI_VARIABLES_CMD.scl -[12:28:30] 📄 Analizando uso en: HMI_VARIABLES_STATUS.scl -[12:28:30] 📄 Analizando uso en: INPUT.scl -[12:28:30] 📄 Analizando uso en: INPUT_CIP_SIGNALS.scl -[12:28:30] 📄 Analizando uso en: INPUT_SIGNAL.scl -[12:28:30] 📄 Analizando uso en: INTEGRAL.scl -[12:28:30] 📄 Analizando uso en: LOCALCIP_CTRL.scl -[12:28:30] 📄 Analizando uso en: LOWPASSFILTER.scl -[12:28:30] 📄 Analizando uso en: LOWPASSFILTEROPT.scl -[12:28:30] 📄 Analizando uso en: MASELLI.scl -[12:28:30] 📄 Analizando uso en: MASELLIOPTO_TYPE.scl -[12:28:30] 📄 Analizando uso en: MASELLIUC05_TYPE.scl -[12:28:30] 📄 Analizando uso en: MASELLIUR22_TYPE.scl -[12:28:30] 📄 Analizando uso en: MASELLI_CONTROL.scl -[12:28:30] 📄 Analizando uso en: MAXCARBOCO2_VOL.scl -[12:28:30] 📄 Analizando uso en: MESSAGESCROLL.scl -[12:28:30] 📄 Analizando uso en: MESSAGE_SCROLL.scl -[12:28:30] 📄 Analizando uso en: MFMANALOG_VALUES.scl -[12:28:30] 📄 Analizando uso en: MFM_REAL_STRUCT.scl -[12:28:30] 📄 Analizando uso en: MMH2O_TO_FREQ.scl -[12:28:30] 📄 Analizando uso en: MODVALVEFAULT.scl -[12:28:30] 📄 Analizando uso en: MOVEARRAY.scl -[12:28:30] 📄 Analizando uso en: MPDS1000.scl -[12:28:30] 📄 Analizando uso en: MPDS1000_CONTROL.scl -[12:28:31] 📄 Analizando uso en: MPDS1000_TYPE.scl -[12:28:31] 📄 Analizando uso en: MPDS2000.scl -[12:28:31] 📄 Analizando uso en: MPDS2000_CONTROL.scl -[12:28:31] 📄 Analizando uso en: MPDS2000_TYPE.scl -[12:28:31] 📄 Analizando uso en: MPDS_PA_CONTROL.scl -[12:28:31] 📄 Analizando uso en: MSE_SLOPE.scl -[12:28:31] 📄 Analizando uso en: MYVAR.scl -[12:28:31] 📄 Analizando uso en: OR_ARRAYBOOL.scl -[12:28:31] 📄 Analizando uso en: OUTPUT.scl -[12:28:31] 📄 Analizando uso en: PARAMETERNAMETYPE.scl -[12:28:31] 📄 Analizando uso en: PA_MPDS.scl -[12:28:31] 📄 Analizando uso en: PERIPHERIAL.scl -[12:28:31] 📄 Analizando uso en: PID_VARIABLES.scl -[12:28:31] 📄 Analizando uso en: PLC CONFIGURATION.scl -[12:28:31] 📄 Analizando uso en: PNEUMATIC_VALVE_CTRL.scl -[12:28:31] 📄 Analizando uso en: PPM_O2.scl -[12:28:31] 📄 Analizando uso en: PRODBRIXRECOVERY.scl -[12:28:31] 📄 Analizando uso en: PRODTANK_DRAIN.scl -[12:28:31] 📄 Analizando uso en: PRODTANK_RUNOUT.scl -[12:28:31] 📄 Analizando uso en: PRODUCTAVAILABLE.scl -[12:28:32] 📄 Analizando uso en: PRODUCTION_VARIABLES.scl -[12:28:32] 📄 Analizando uso en: PRODUCTLITERINTANK.scl -[12:28:32] 📄 Analizando uso en: PRODUCTPIPEDRAIN.scl -[12:28:32] 📄 Analizando uso en: PRODUCTPIPERUNOUT.scl -[12:28:32] 📄 Analizando uso en: PRODUCTQUALITY.scl -[12:28:32] 📄 Analizando uso en: PRODUCTTANKBRIX.scl -[12:28:32] 📄 Analizando uso en: PRODUCTTANK_PRESSCTRL.scl -[12:28:32] 📄 Analizando uso en: PROFIBUS_DATA.scl -[12:28:32] 📄 Analizando uso en: PROFIBUS_NETWORK.scl -[12:28:32] 📄 Analizando uso en: PROFIBUS_VARIABLES.scl -[12:28:32] 📄 Analizando uso en: PULSEPRESSURE.scl -[12:28:32] 📄 Analizando uso en: PUMPSCONTROL.scl -[12:28:32] 📄 Analizando uso en: READANALOGIN.scl -[12:28:32] 📄 Analizando uso en: READPERIPHERIAL.scl -[12:28:32] 📄 Analizando uso en: SAFETIES.scl -[12:28:32] 📄 Analizando uso en: SELCHECKBRIXSOURCE.scl -[12:28:32] 📄 Analizando uso en: SIGNALS_INTEFACE.scl -[12:28:32] 📄 Analizando uso en: SIGNAL_GEN.scl -[12:28:32] 📄 Analizando uso en: SINUSOIDAL_SIGNAL.scl -[12:28:32] 📄 Analizando uso en: SLEWLIMIT.scl -[12:28:32] 📄 Analizando uso en: SLIM_BLOCK.scl -[12:28:32] 📄 Analizando uso en: SLIM_VARIABLES.scl -[12:28:32] 📄 Analizando uso en: SOFTNET_VARIABLES.scl -[12:28:32] 📄 Analizando uso en: SPEEDADJUST.scl -[12:28:32] 📄 Analizando uso en: SP_AND_P_VARIABLES.scl -[12:28:32] 📄 Analizando uso en: STANDARD.LIB_5.6.98 09_39_02.scl -[12:28:32] 📄 Analizando uso en: STATISTICALANALISYS.scl -[12:28:32] 📄 Analizando uso en: SYRBRIX_AUTOCORRECTION.scl -[12:28:32] 📄 Analizando uso en: SYRUPDENSITY.scl -[12:28:33] 📄 Analizando uso en: SYRUPROOMCTRL.scl -[12:28:33] 📄 Analizando uso en: SYRUP_LINE_MFM_PREP.scl -[12:28:33] 📄 Analizando uso en: SYRUP_MFM_STARTUP.scl -[12:28:33] 📄 Analizando uso en: SYRUP_RUNOUT.scl -[12:28:33] 📄 Analizando uso en: SYSTEMRUNOUT_VARIABLES.scl -[12:28:33] 📄 Analizando uso en: SYSTEM_DATAS.scl -[12:28:33] 📄 Analizando uso en: SYSTEM_RUN_OUT.scl -[12:28:33] 📄 Analizando uso en: TANKLEVEL.scl -[12:28:33] 📄 Analizando uso en: TANKLEVELTOHEIGHT.scl -[12:28:33] 📄 Analizando uso en: TASK CONFIGURATION.scl -[12:28:33] 📄 Analizando uso en: TCPLCUTILITIES.LIB_11.12.01 09_39_02.scl -[12:28:33] 📄 Analizando uso en: TCSYSTEM.LIB_16.9.02 09_39_02.scl -[12:28:33] 📄 Analizando uso en: TESTFLOWMETERS.scl -[12:28:33] 📄 Analizando uso en: UDP_STRUCT.scl -[12:28:33] 📄 Analizando uso en: UV_LAMP.scl -[12:28:33] 📄 Analizando uso en: VACUUMCTRL.scl -[12:28:33] 📄 Analizando uso en: VALVEFAULT.scl -[12:28:33] 📄 Analizando uso en: VALVEFLOW.scl -[12:28:33] 📄 Analizando uso en: VARIABLE_CONFIGURATION.scl -[12:28:33] 📄 Analizando uso en: VOID.scl -[12:28:33] 📄 Analizando uso en: WATERDENSITY.scl -[12:28:33] 📄 Analizando uso en: WORD_TO_BYTES.scl -[12:28:33] 📄 Analizando uso en: WRITEPERIPHERIAL.scl -[12:28:33] 📄 Analizando uso en: _BLENDER_CTRL_MAIN.scl -[12:28:33] 📄 Analizando uso en: _BLENDER_PID_MAIN.scl -[12:28:34] 📄 Analizando uso en: _BOOLARRAY_TO_DWORD.scl -[12:28:34] 📄 Analizando uso en: _BOOLARRAY_TO_WORD.scl -[12:28:34] 📄 Analizando uso en: _DWORD_SWAP_BYTEARRAY.scl -[12:28:34] 📄 Analizando uso en: _DWORD_TO_BOOLARRAY.scl -[12:28:34] 📄 Analizando uso en: _FILLING_HEAD_PID_CTRL.scl -[12:28:34] 📄 Analizando uso en: _PUMPCONTROL.scl -[12:28:34] 📄 Analizando uso en: _STEPMOVE.scl -[12:28:34] 📄 Analizando uso en: _WORD_TO_BOOLARRAY.scl -[12:28:34] ✅ Encontrados 224 usos para 83 variables distintas. -[12:28:34] 📄 Generando tabla resumen: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\TwinCAT_Full_IO_List.md -[12:28:34] ✅ Tabla resumen generada exitosamente. -[12:28:34] 📄 Generando reporte de snippets: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\TwinCAT_IO_Usage_Snippets.md -[12:28:34] Generando snippets para 83 variables con uso... -[12:28:34] 📝 Procesando 1/83: AI_ProductTankLevel (1 usos) -[12:28:34] 📝 Procesando 2/83: AI_ProductTankPressure (1 usos) -[12:28:34] 📝 Procesando 3/83: AI_DeaireationValve_VEP4 (2 usos) -[12:28:34] 📝 Procesando 4/83: AI_ProdTankPressureValve_VEP1 (1 usos) -[12:28:34] 📝 Procesando 5/83: AI_ProductTemperature (1 usos) -[12:28:34] 📝 Procesando 6/83: AI_SyrupTankLevel (1 usos) -[12:28:34] 📝 Procesando 7/83: AI_DeairWaterTemperature (1 usos) -[12:28:34] 📝 Procesando 8/83: AI_InjectionPressure (2 usos) -[12:28:34] 📝 Procesando 9/83: gProduct_VFC_MainActualValue (1 usos) -[12:28:34] 📝 Procesando 10/83: DI_AuxVoltage_On (1 usos) -[12:28:34] 📝 Procesando 11/83: DI_Reset_Horn_Btn (2 usos) -[12:28:34] 📝 Procesando 12/83: DI_Reset_Btn (79 usos) -[12:28:34] 📝 Procesando 13/83: DI_Blender_Stop_Btn (3 usos) -[12:28:34] 📝 Procesando 14/83: DI_Blender_Start_Btn (1 usos) -[12:28:34] 📝 Procesando 15/83: DI_PowerSuppliesOk (3 usos) -[12:28:34] 📝 Procesando 16/83: DI_Min_Deair_Level (1 usos) -[12:28:34] 📝 Procesando 17/83: DI_ProdTankEmpty (1 usos) -[12:28:34] 📝 Procesando 18/83: DI_BatteryNotReady (1 usos) -[12:28:34] 📝 Procesando 19/83: DI_VM1_Water_Valve_Closed (1 usos) -[12:28:34] 📝 Procesando 20/83: DI_VM2_Syrup_Valve_Closed (1 usos) -[12:28:34] 📝 Procesando 21/83: DI_VM3_CO2_Valve_Closed (1 usos) -[12:28:34] 📝 Procesando 22/83: DI_Water_Pump_Contactor (1 usos) -[12:28:34] 📝 Procesando 23/83: DI_Syrup_Pump_Ovrld (1 usos) -[12:28:34] 📝 Procesando 24/83: DI_Syrup_Pump_Contactor (1 usos) -[12:28:34] 📝 Procesando 25/83: DI_Product_Pump_Contactor (1 usos) -[12:28:34] 📝 Procesando 26/83: DI_SyrRoom_Pump_Ready (1 usos) -[12:28:34] 📝 Procesando 27/83: DI_CIP_CIPMode (1 usos) -[12:28:34] 📝 Procesando 28/83: DI_CIP_RinseMode (1 usos) -[12:28:34] 📝 Procesando 29/83: DI_CIP_DrainRequest (1 usos) -[12:28:34] 📝 Procesando 30/83: DI_CIP_CIPCompleted (1 usos) -[12:28:34] 📝 Procesando 31/83: DI_Air_InletPress_OK (1 usos) -[12:28:34] 📝 Procesando 32/83: DI_Syrup_Line_Drain_Sensor (1 usos) -[12:28:34] 📝 Procesando 33/83: gWaterTotCtrl_Node20 (3 usos) -[12:28:34] 📝 Procesando 34/83: gSyrControl_Node21 (7 usos) -[12:28:34] 📝 Procesando 35/83: gCO2Control_Node22 (7 usos) -[12:28:34] 📝 Procesando 36/83: gProductTotCtrl_Node17 (3 usos) -[12:28:34] 📝 Procesando 37/83: AO_WaterCtrlValve_VM1 (1 usos) -[12:28:34] 📝 Procesando 38/83: AO_SyrupCtrlValve_VM2 (1 usos) -[12:28:34] 📝 Procesando 39/83: AO_CarboCO2CtrlValve_VM3 (1 usos) -[12:28:34] 📝 Procesando 40/83: AO_ProdTankPressureValve_VEP1 (1 usos) -[12:28:34] 📝 Procesando 41/83: AO_DeaireationValve_VEP4 (2 usos) -[12:28:34] 📝 Procesando 42/83: AO_ProdTempCtrlValve (1 usos) -[12:28:34] 📝 Procesando 43/83: AO_SyrupInletValve_VEP3 (1 usos) -[12:28:34] 📝 Procesando 44/83: AO_InjectionPressure (1 usos) -[12:28:34] 📝 Procesando 45/83: gProduct_VFC_MainRefValue (1 usos) -[12:28:34] 📝 Procesando 46/83: DO_SyrupInletValve_Enable (1 usos) -[12:28:34] 📝 Procesando 47/83: DO_HoldBrixMeter (2 usos) -[12:28:34] 📝 Procesando 48/83: DO_SyrupRoomPump_Run (2 usos) -[12:28:34] 📝 Procesando 49/83: DO_SyrupRoomWaterReq (2 usos) -[12:28:34] 📝 Procesando 50/83: DO_CIP_CIPRequest (2 usos) -[12:28:34] 📝 Procesando 51/83: DO_CIP_DrainCompleted (2 usos) -[12:28:34] 📝 Procesando 52/83: DO_Horn (2 usos) -[12:28:34] 📝 Procesando 53/83: DO_Blender_Run_Lamp (2 usos) -[12:28:34] 📝 Procesando 54/83: DO_Alarm_Lamp (2 usos) -[12:28:34] 📝 Procesando 55/83: DO_RotorAlarm_Lamp (2 usos) -[12:28:34] 📝 Procesando 56/83: DO_Water_Pump_Run (2 usos) -[12:28:34] 📝 Procesando 57/83: DO_Syrup_Pump_Run (2 usos) -[12:28:34] 📝 Procesando 58/83: DO_Product_Pump_Run (3 usos) -[12:28:34] 📝 Procesando 59/83: DO_EV11_BlowOff_Valve (2 usos) -[12:28:34] 📝 Procesando 60/83: DO_EV13_Prod_Recirc_Valve (2 usos) -[12:28:34] 📝 Procesando 61/83: DO_EV14_DeairDrain_Valve (2 usos) -[12:28:34] 📝 Procesando 62/83: DO_EV15_ProductTank_Drain_Valve (2 usos) -[12:28:34] 📝 Procesando 63/83: DO_EV16_SyrupTank_Drain_Valve (2 usos) -[12:28:34] 📝 Procesando 64/83: DO_EV17_BufferTankSprayBall_Valve (2 usos) -[12:28:34] 📝 Procesando 65/83: DO_EV18_DeairOverfill_Valve (2 usos) -[12:28:34] 📝 Procesando 66/83: DO_EV21_ProdTankOverfill_Valve (2 usos) -[12:28:34] 📝 Procesando 67/83: DO_EV22_WaterPumpPrime_Valve (2 usos) -[12:28:34] 📝 Procesando 68/83: DO_EV23_SerpentineDrain_valve (2 usos) -[12:28:34] 📝 Procesando 69/83: DO_EV24_SyrupRecirc_Valve (2 usos) -[12:28:34] 📝 Procesando 70/83: DO_EV26_CO2InjShutOff_Valve (2 usos) -[12:28:34] 📝 Procesando 71/83: DO_EV27_DeairSprayBall_Valve (2 usos) -[12:28:34] 📝 Procesando 72/83: DO_EV28_DeairStartCO2Inj_Valve (2 usos) -[12:28:34] 📝 Procesando 73/83: DO_EV44_SyrupLineDrain (2 usos) -[12:28:34] 📝 Procesando 74/83: DO_EV45_ProductChillerDrain (2 usos) -[12:28:34] 📝 Procesando 75/83: DO_EV61_SyrupTankSprayBall (2 usos) -[12:28:34] 📝 Procesando 76/83: DO_EV62_ProductOutlet (3 usos) -[12:28:34] 📝 Procesando 77/83: DO_EV69_Blender_ProductPipeDrain (2 usos) -[12:28:34] 📝 Procesando 78/83: DO_EV81_Prod_Recirc_Chiller_Valve (2 usos) -[12:28:34] 📝 Procesando 79/83: DO_EV01_Deair_Lvl_Ctrl_Valve (2 usos) -[12:28:34] 📝 Procesando 80/83: DO_EV02_Deair_FillUp_Valve (2 usos) -[12:28:34] 📝 Procesando 81/83: gPAmPDSFreeze (2 usos) -[12:28:34] 📝 Procesando 82/83: gPAmPDSCarboStop (2 usos) -[12:28:34] 📝 Procesando 83/83: gPAmPDSInlinePumpStop (2 usos) -[12:28:34] Generando tabla para 58 variables no usadas... -[12:28:34] ✅ Reporte de snippets generado exitosamente. -[12:28:34] 📄 Generando reporte JSON: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\TwinCAT_IO_Usage_Snippets.json -[12:28:34] ✅ Reporte JSON generado exitosamente. -[12:28:34] 🎉 Análisis completado exitosamente! -[12:28:34] 📁 Archivos generados en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat -[12:28:34] 📄 TwinCAT_Full_IO_List.md -[12:28:34] 📄 TwinCAT_IO_Usage_Snippets.md -[12:28:34] 📄 TwinCAT_IO_Usage_Snippets.json -[12:28:34] Ejecución de x1.5_full_io_documentation.py finalizada (success). Duración: 0:00:07.683469. -[12:28:34] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\TwinCat\log_x1.5_full_io_documentation.txt +[16:38:15] Iniciando ejecución de x2_full_io_documentation.py en C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat... +[16:38:16] 🚀 Iniciando documentación completa de IOs de TwinCAT +[16:38:16] ================================================================================ +[16:38:16] 📁 Directorio de trabajo: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat +[16:38:16] 📁 Directorio de resultados: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\result +[16:38:16] 🔍 Escaneando definiciones TwinCAT activas en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\scl +[16:38:16] ✅ Encontradas 141 definiciones de IO activas. +[16:38:16] 🔍 Buscando usos de variables definidas en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\scl +[16:38:16] 📄 Analizando uso en: ADSVARREAD.scl +[16:38:16] 📄 Analizando uso en: ADSVARTRANSLATE.scl +[16:38:16] 📄 Analizando uso en: ADSVARWRITE.scl +[16:38:16] 📄 Analizando uso en: AMMONIACTRL.scl +[16:38:16] 📄 Analizando uso en: ARRAYTOREAL.scl +[16:38:16] 📄 Analizando uso en: BLENDERPROCEDURE_VARIABLES.scl +[16:38:16] 📄 Analizando uso en: BLENDERRINSE.scl +[16:38:16] 📄 Analizando uso en: BLENDER_PID_CTRL_LOOP.scl +[16:38:17] 📄 Analizando uso en: BLENDER_PROCEDURECALL.scl +[16:38:17] 📄 Analizando uso en: BLENDER_RUNCONTROL.scl +[16:38:17] 📄 Analizando uso en: BLENDER_VARIABLES.scl +[16:38:17] 📄 Analizando uso en: BLENDFILLRECSTRUCT.scl +[16:38:17] 📄 Analizando uso en: BLENDFILLSENDSTRUCT.scl +[16:38:17] 📄 Analizando uso en: BLENDFILLSYSTEM_STARTUP.scl +[16:38:17] 📄 Analizando uso en: BRIXTRACKING.scl +[16:38:17] 📄 Analizando uso en: BYTES_TO_DWORD.scl +[16:38:17] 📄 Analizando uso en: BYTES_TO_WORD.scl +[16:38:17] 📄 Analizando uso en: CALC_INJPRESS.scl +[16:38:17] 📄 Analizando uso en: CARBOWATERLINE.scl +[16:38:17] 📄 Analizando uso en: CENTRALCIP_CTRL.scl +[16:38:17] 📄 Analizando uso en: CETRIFUGAL_HEAD.scl +[16:38:17] 📄 Analizando uso en: CIPRECEIVESTRUCT.scl +[16:38:17] 📄 Analizando uso en: CIPSENDSTRUCT.scl +[16:38:17] 📄 Analizando uso en: CIP_CVQ.scl +[16:38:17] 📄 Analizando uso en: CIP_LINK_TYPE.scl +[16:38:17] 📄 Analizando uso en: CIP_LIST_ELEMENT.scl +[16:38:17] 📄 Analizando uso en: CIP_MAIN.scl +[16:38:18] 📄 Analizando uso en: CIP_PROGRAM_VARIABLES.scl +[16:38:18] 📄 Analizando uso en: CIP_SIMPLE_TYPE.scl +[16:38:18] 📄 Analizando uso en: CIP_STEP_TYPE.scl +[16:38:18] 📄 Analizando uso en: CIP_WAITEVENT_TYPE.scl +[16:38:18] 📄 Analizando uso en: CLEANBOOLARRAY.scl +[16:38:18] 📄 Analizando uso en: CLOCK_SIGNAL.scl +[16:38:18] 📄 Analizando uso en: CLOCK_VARIABLES.scl +[16:38:18] 📄 Analizando uso en: CO2EQPRESS.scl +[16:38:18] 📄 Analizando uso en: CO2INJPRESSURE.scl +[16:38:18] 📄 Analizando uso en: CO2_SOLUBILITY.scl +[16:38:18] 📄 Analizando uso en: CONVERTREAL.scl +[16:38:18] 📄 Analizando uso en: CVQ_0_6_PERC.scl +[16:38:18] 📄 Analizando uso en: CVQ_1P7_8_PERC.scl +[16:38:18] 📄 Analizando uso en: DATA_FROM_CIP.scl +[16:38:18] 📄 Analizando uso en: DATA_TO_CIP.scl +[16:38:18] 📄 Analizando uso en: DEAIRCO2TEMPCOMP.scl +[16:38:18] 📄 Analizando uso en: DEAIREATIONVALVE.scl +[16:38:18] 📄 Analizando uso en: DEAIREATOR_STARTUP.scl +[16:38:18] 📄 Analizando uso en: DELAY.scl +[16:38:18] 📄 Analizando uso en: DELTAP.scl +[16:38:18] 📄 Analizando uso en: DENSIMETER_CALIBRATION.scl +[16:38:18] 📄 Analizando uso en: DERIVE.scl +[16:38:18] 📄 Analizando uso en: DEVICENET_VARIABLES.scl +[16:38:18] 📄 Analizando uso en: DWORD_TO_BYTES.scl +[16:38:18] 📄 Analizando uso en: EXEC_SIMPLE_CIP.scl +[16:38:18] 📄 Analizando uso en: FASTRINSE.scl +[16:38:18] 📄 Analizando uso en: FB41_PIDCONTROLLER.scl +[16:38:18] 📄 Analizando uso en: FC_CONTROL_WORD.scl +[16:38:18] 📄 Analizando uso en: FC_STATUS_WORD.scl +[16:38:18] 📄 Analizando uso en: FEEDFORWARD.scl +[16:38:18] 📄 Analizando uso en: FILLERHEAD.scl +[16:38:18] 📄 Analizando uso en: FILLERRECEIVESTRUCT.scl +[16:38:18] 📄 Analizando uso en: FILLERRINSE.scl +[16:38:18] 📄 Analizando uso en: FILLERRINSETANK_CTRL.scl +[16:38:18] 📄 Analizando uso en: FILLERSENDSTRUCT.scl +[16:38:18] 📄 Analizando uso en: FILLER_CONTROL.scl +[16:38:19] 📄 Analizando uso en: FILLINGTIME.scl +[16:38:19] 📄 Analizando uso en: FIRSTPRODUCTION.scl +[16:38:19] 📄 Analizando uso en: FLOW_TO_PRESS_LOSS.scl +[16:38:19] 📄 Analizando uso en: FREQ_TO_MMH2O.scl +[16:38:19] 📄 Analizando uso en: FRICTIONLOSS.scl +[16:38:19] 📄 Analizando uso en: GETPRODBRIXCO2_FROMANALOGINPUT.scl +[16:38:19] 📄 Analizando uso en: GETPRODO2_FROMANALOGINPUT.scl +[16:38:19] 📄 Analizando uso en: GLOBAL_ALARMS.scl +[16:38:19] 📄 Analizando uso en: GLOBAL_VARIABLES_IN_OUT.scl +[16:38:19] 📄 Analizando uso en: HMI_ALARMS.scl +[16:38:19] 📄 Analizando uso en: HMI_BLENDER_PARAMETERS.scl +[16:38:19] 📄 Analizando uso en: HMI_IO_SHOWING.scl +[16:38:19] 📄 Analizando uso en: HMI_LOCAL_CIP_VARIABLES.scl +[16:38:19] 📄 Analizando uso en: HMI_SERVICE.scl +[16:38:19] 📄 Analizando uso en: HMI_VARIABLES_CMD.scl +[16:38:19] 📄 Analizando uso en: HMI_VARIABLES_STATUS.scl +[16:38:19] 📄 Analizando uso en: INPUT.scl +[16:38:19] 📄 Analizando uso en: INPUT_CIP_SIGNALS.scl +[16:38:20] 📄 Analizando uso en: INPUT_SIGNAL.scl +[16:38:20] 📄 Analizando uso en: INTEGRAL.scl +[16:38:20] 📄 Analizando uso en: LOCALCIP_CTRL.scl +[16:38:20] 📄 Analizando uso en: LOWPASSFILTER.scl +[16:38:20] 📄 Analizando uso en: LOWPASSFILTEROPT.scl +[16:38:20] 📄 Analizando uso en: MASELLI.scl +[16:38:20] 📄 Analizando uso en: MASELLIOPTO_TYPE.scl +[16:38:20] 📄 Analizando uso en: MASELLIUC05_TYPE.scl +[16:38:20] 📄 Analizando uso en: MASELLIUR22_TYPE.scl +[16:38:20] 📄 Analizando uso en: MASELLI_CONTROL.scl +[16:38:20] 📄 Analizando uso en: MAXCARBOCO2_VOL.scl +[16:38:20] 📄 Analizando uso en: MESSAGESCROLL.scl +[16:38:20] 📄 Analizando uso en: MESSAGE_SCROLL.scl +[16:38:20] 📄 Analizando uso en: MFMANALOG_VALUES.scl +[16:38:20] 📄 Analizando uso en: MFM_REAL_STRUCT.scl +[16:38:20] 📄 Analizando uso en: MMH2O_TO_FREQ.scl +[16:38:20] 📄 Analizando uso en: MODVALVEFAULT.scl +[16:38:20] 📄 Analizando uso en: MOVEARRAY.scl +[16:38:20] 📄 Analizando uso en: MPDS1000.scl +[16:38:20] 📄 Analizando uso en: MPDS1000_CONTROL.scl +[16:38:20] 📄 Analizando uso en: MPDS1000_TYPE.scl +[16:38:20] 📄 Analizando uso en: MPDS2000.scl +[16:38:20] 📄 Analizando uso en: MPDS2000_CONTROL.scl +[16:38:20] 📄 Analizando uso en: MPDS2000_TYPE.scl +[16:38:20] 📄 Analizando uso en: MPDS_PA_CONTROL.scl +[16:38:20] 📄 Analizando uso en: MSE_SLOPE.scl +[16:38:20] 📄 Analizando uso en: MYVAR.scl +[16:38:20] 📄 Analizando uso en: OR_ARRAYBOOL.scl +[16:38:20] 📄 Analizando uso en: OUTPUT.scl +[16:38:20] 📄 Analizando uso en: PARAMETERNAMETYPE.scl +[16:38:20] 📄 Analizando uso en: PA_MPDS.scl +[16:38:20] 📄 Analizando uso en: PERIPHERIAL.scl +[16:38:20] 📄 Analizando uso en: PID_VARIABLES.scl +[16:38:20] 📄 Analizando uso en: PLC CONFIGURATION.scl +[16:38:21] 📄 Analizando uso en: PNEUMATIC_VALVE_CTRL.scl +[16:38:21] 📄 Analizando uso en: PPM_O2.scl +[16:38:21] 📄 Analizando uso en: PRODBRIXRECOVERY.scl +[16:38:21] 📄 Analizando uso en: PRODTANK_DRAIN.scl +[16:38:21] 📄 Analizando uso en: PRODTANK_RUNOUT.scl +[16:38:21] 📄 Analizando uso en: PRODUCTAVAILABLE.scl +[16:38:21] 📄 Analizando uso en: PRODUCTION_VARIABLES.scl +[16:38:21] 📄 Analizando uso en: PRODUCTLITERINTANK.scl +[16:38:21] 📄 Analizando uso en: PRODUCTPIPEDRAIN.scl +[16:38:21] 📄 Analizando uso en: PRODUCTPIPERUNOUT.scl +[16:38:21] 📄 Analizando uso en: PRODUCTQUALITY.scl +[16:38:21] 📄 Analizando uso en: PRODUCTTANKBRIX.scl +[16:38:21] 📄 Analizando uso en: PRODUCTTANK_PRESSCTRL.scl +[16:38:21] 📄 Analizando uso en: PROFIBUS_DATA.scl +[16:38:21] 📄 Analizando uso en: PROFIBUS_NETWORK.scl +[16:38:21] 📄 Analizando uso en: PROFIBUS_VARIABLES.scl +[16:38:21] 📄 Analizando uso en: PULSEPRESSURE.scl +[16:38:21] 📄 Analizando uso en: PUMPSCONTROL.scl +[16:38:21] 📄 Analizando uso en: READANALOGIN.scl +[16:38:21] 📄 Analizando uso en: READPERIPHERIAL.scl +[16:38:21] 📄 Analizando uso en: SAFETIES.scl +[16:38:22] 📄 Analizando uso en: SELCHECKBRIXSOURCE.scl +[16:38:22] 📄 Analizando uso en: SIGNALS_INTEFACE.scl +[16:38:22] 📄 Analizando uso en: SIGNAL_GEN.scl +[16:38:22] 📄 Analizando uso en: SINUSOIDAL_SIGNAL.scl +[16:38:22] 📄 Analizando uso en: SLEWLIMIT.scl +[16:38:22] 📄 Analizando uso en: SLIM_BLOCK.scl +[16:38:22] 📄 Analizando uso en: SLIM_VARIABLES.scl +[16:38:22] 📄 Analizando uso en: SOFTNET_VARIABLES.scl +[16:38:22] 📄 Analizando uso en: SPEEDADJUST.scl +[16:38:22] 📄 Analizando uso en: SP_AND_P_VARIABLES.scl +[16:38:22] 📄 Analizando uso en: STANDARD.LIB_5.6.98 09_39_02.scl +[16:38:22] 📄 Analizando uso en: STATISTICALANALISYS.scl +[16:38:22] 📄 Analizando uso en: SYRBRIX_AUTOCORRECTION.scl +[16:38:22] 📄 Analizando uso en: SYRUPDENSITY.scl +[16:38:22] 📄 Analizando uso en: SYRUPROOMCTRL.scl +[16:38:22] 📄 Analizando uso en: SYRUP_LINE_MFM_PREP.scl +[16:38:22] 📄 Analizando uso en: SYRUP_MFM_STARTUP.scl +[16:38:22] 📄 Analizando uso en: SYRUP_RUNOUT.scl +[16:38:22] 📄 Analizando uso en: SYSTEMRUNOUT_VARIABLES.scl +[16:38:22] 📄 Analizando uso en: SYSTEM_DATAS.scl +[16:38:22] 📄 Analizando uso en: SYSTEM_RUN_OUT.scl +[16:38:22] 📄 Analizando uso en: TANKLEVEL.scl +[16:38:22] 📄 Analizando uso en: TANKLEVELTOHEIGHT.scl +[16:38:22] 📄 Analizando uso en: TASK CONFIGURATION.scl +[16:38:22] 📄 Analizando uso en: TCPLCUTILITIES.LIB_11.12.01 09_39_02.scl +[16:38:22] 📄 Analizando uso en: TCSYSTEM.LIB_16.9.02 09_39_02.scl +[16:38:22] 📄 Analizando uso en: TESTFLOWMETERS.scl +[16:38:22] 📄 Analizando uso en: UDP_STRUCT.scl +[16:38:22] 📄 Analizando uso en: UV_LAMP.scl +[16:38:22] 📄 Analizando uso en: VACUUMCTRL.scl +[16:38:22] 📄 Analizando uso en: VALVEFAULT.scl +[16:38:22] 📄 Analizando uso en: VALVEFLOW.scl +[16:38:22] 📄 Analizando uso en: VARIABLE_CONFIGURATION.scl +[16:38:22] 📄 Analizando uso en: VOID.scl +[16:38:22] 📄 Analizando uso en: WATERDENSITY.scl +[16:38:22] 📄 Analizando uso en: WORD_TO_BYTES.scl +[16:38:22] 📄 Analizando uso en: WRITEPERIPHERIAL.scl +[16:38:22] 📄 Analizando uso en: _BLENDER_CTRL_MAIN.scl +[16:38:23] 📄 Analizando uso en: _BLENDER_PID_MAIN.scl +[16:38:23] 📄 Analizando uso en: _BOOLARRAY_TO_DWORD.scl +[16:38:23] 📄 Analizando uso en: _BOOLARRAY_TO_WORD.scl +[16:38:23] 📄 Analizando uso en: _DWORD_SWAP_BYTEARRAY.scl +[16:38:23] 📄 Analizando uso en: _DWORD_TO_BOOLARRAY.scl +[16:38:23] 📄 Analizando uso en: _FILLING_HEAD_PID_CTRL.scl +[16:38:23] 📄 Analizando uso en: _PUMPCONTROL.scl +[16:38:23] 📄 Analizando uso en: _STEPMOVE.scl +[16:38:23] 📄 Analizando uso en: _WORD_TO_BOOLARRAY.scl +[16:38:23] ✅ Encontrados 224 usos para 83 variables distintas. +[16:38:23] 📄 Generando tabla resumen: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\result\TwinCAT_Full_IO_List.md +[16:38:23] ✅ Tabla resumen generada exitosamente. +[16:38:23] 📄 Generando reporte de snippets: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\result\TwinCAT_IO_Usage_Snippets.md +[16:38:23] Generando snippets para 83 variables con uso... +[16:38:23] 📝 Procesando 1/83: AI_ProductTankLevel (1 usos) +[16:38:23] 📝 Procesando 2/83: AI_ProductTankPressure (1 usos) +[16:38:23] 📝 Procesando 3/83: AI_DeaireationValve_VEP4 (2 usos) +[16:38:23] 📝 Procesando 4/83: AI_ProdTankPressureValve_VEP1 (1 usos) +[16:38:23] 📝 Procesando 5/83: AI_ProductTemperature (1 usos) +[16:38:23] 📝 Procesando 6/83: AI_SyrupTankLevel (1 usos) +[16:38:23] 📝 Procesando 7/83: AI_DeairWaterTemperature (1 usos) +[16:38:23] 📝 Procesando 8/83: AI_InjectionPressure (2 usos) +[16:38:23] 📝 Procesando 9/83: gProduct_VFC_MainActualValue (1 usos) +[16:38:23] 📝 Procesando 10/83: DI_AuxVoltage_On (1 usos) +[16:38:23] 📝 Procesando 11/83: DI_Reset_Horn_Btn (2 usos) +[16:38:23] 📝 Procesando 12/83: DI_Reset_Btn (79 usos) +[16:38:23] 📝 Procesando 13/83: DI_Blender_Stop_Btn (3 usos) +[16:38:23] 📝 Procesando 14/83: DI_Blender_Start_Btn (1 usos) +[16:38:23] 📝 Procesando 15/83: DI_PowerSuppliesOk (3 usos) +[16:38:23] 📝 Procesando 16/83: DI_Min_Deair_Level (1 usos) +[16:38:23] 📝 Procesando 17/83: DI_ProdTankEmpty (1 usos) +[16:38:23] 📝 Procesando 18/83: DI_BatteryNotReady (1 usos) +[16:38:23] 📝 Procesando 19/83: DI_VM1_Water_Valve_Closed (1 usos) +[16:38:23] 📝 Procesando 20/83: DI_VM2_Syrup_Valve_Closed (1 usos) +[16:38:23] 📝 Procesando 21/83: DI_VM3_CO2_Valve_Closed (1 usos) +[16:38:23] 📝 Procesando 22/83: DI_Water_Pump_Contactor (1 usos) +[16:38:23] 📝 Procesando 23/83: DI_Syrup_Pump_Ovrld (1 usos) +[16:38:23] 📝 Procesando 24/83: DI_Syrup_Pump_Contactor (1 usos) +[16:38:23] 📝 Procesando 25/83: DI_Product_Pump_Contactor (1 usos) +[16:38:23] 📝 Procesando 26/83: DI_SyrRoom_Pump_Ready (1 usos) +[16:38:23] 📝 Procesando 27/83: DI_CIP_CIPMode (1 usos) +[16:38:23] 📝 Procesando 28/83: DI_CIP_RinseMode (1 usos) +[16:38:23] 📝 Procesando 29/83: DI_CIP_DrainRequest (1 usos) +[16:38:23] 📝 Procesando 30/83: DI_CIP_CIPCompleted (1 usos) +[16:38:23] 📝 Procesando 31/83: DI_Air_InletPress_OK (1 usos) +[16:38:23] 📝 Procesando 32/83: DI_Syrup_Line_Drain_Sensor (1 usos) +[16:38:23] 📝 Procesando 33/83: gWaterTotCtrl_Node20 (3 usos) +[16:38:23] 📝 Procesando 34/83: gSyrControl_Node21 (7 usos) +[16:38:23] 📝 Procesando 35/83: gCO2Control_Node22 (7 usos) +[16:38:23] 📝 Procesando 36/83: gProductTotCtrl_Node17 (3 usos) +[16:38:23] 📝 Procesando 37/83: AO_WaterCtrlValve_VM1 (1 usos) +[16:38:23] 📝 Procesando 38/83: AO_SyrupCtrlValve_VM2 (1 usos) +[16:38:23] 📝 Procesando 39/83: AO_CarboCO2CtrlValve_VM3 (1 usos) +[16:38:23] 📝 Procesando 40/83: AO_ProdTankPressureValve_VEP1 (1 usos) +[16:38:23] 📝 Procesando 41/83: AO_DeaireationValve_VEP4 (2 usos) +[16:38:23] 📝 Procesando 42/83: AO_ProdTempCtrlValve (1 usos) +[16:38:23] 📝 Procesando 43/83: AO_SyrupInletValve_VEP3 (1 usos) +[16:38:23] 📝 Procesando 44/83: AO_InjectionPressure (1 usos) +[16:38:23] 📝 Procesando 45/83: gProduct_VFC_MainRefValue (1 usos) +[16:38:23] 📝 Procesando 46/83: DO_SyrupInletValve_Enable (1 usos) +[16:38:23] 📝 Procesando 47/83: DO_HoldBrixMeter (2 usos) +[16:38:23] 📝 Procesando 48/83: DO_SyrupRoomPump_Run (2 usos) +[16:38:23] 📝 Procesando 49/83: DO_SyrupRoomWaterReq (2 usos) +[16:38:23] 📝 Procesando 50/83: DO_CIP_CIPRequest (2 usos) +[16:38:23] 📝 Procesando 51/83: DO_CIP_DrainCompleted (2 usos) +[16:38:23] 📝 Procesando 52/83: DO_Horn (2 usos) +[16:38:23] 📝 Procesando 53/83: DO_Blender_Run_Lamp (2 usos) +[16:38:23] 📝 Procesando 54/83: DO_Alarm_Lamp (2 usos) +[16:38:23] 📝 Procesando 55/83: DO_RotorAlarm_Lamp (2 usos) +[16:38:23] 📝 Procesando 56/83: DO_Water_Pump_Run (2 usos) +[16:38:23] 📝 Procesando 57/83: DO_Syrup_Pump_Run (2 usos) +[16:38:23] 📝 Procesando 58/83: DO_Product_Pump_Run (3 usos) +[16:38:23] 📝 Procesando 59/83: DO_EV11_BlowOff_Valve (2 usos) +[16:38:23] 📝 Procesando 60/83: DO_EV13_Prod_Recirc_Valve (2 usos) +[16:38:23] 📝 Procesando 61/83: DO_EV14_DeairDrain_Valve (2 usos) +[16:38:23] 📝 Procesando 62/83: DO_EV15_ProductTank_Drain_Valve (2 usos) +[16:38:23] 📝 Procesando 63/83: DO_EV16_SyrupTank_Drain_Valve (2 usos) +[16:38:23] 📝 Procesando 64/83: DO_EV17_BufferTankSprayBall_Valve (2 usos) +[16:38:23] 📝 Procesando 65/83: DO_EV18_DeairOverfill_Valve (2 usos) +[16:38:23] 📝 Procesando 66/83: DO_EV21_ProdTankOverfill_Valve (2 usos) +[16:38:23] 📝 Procesando 67/83: DO_EV22_WaterPumpPrime_Valve (2 usos) +[16:38:23] 📝 Procesando 68/83: DO_EV23_SerpentineDrain_valve (2 usos) +[16:38:23] 📝 Procesando 69/83: DO_EV24_SyrupRecirc_Valve (2 usos) +[16:38:23] 📝 Procesando 70/83: DO_EV26_CO2InjShutOff_Valve (2 usos) +[16:38:23] 📝 Procesando 71/83: DO_EV27_DeairSprayBall_Valve (2 usos) +[16:38:23] 📝 Procesando 72/83: DO_EV28_DeairStartCO2Inj_Valve (2 usos) +[16:38:23] 📝 Procesando 73/83: DO_EV44_SyrupLineDrain (2 usos) +[16:38:23] 📝 Procesando 74/83: DO_EV45_ProductChillerDrain (2 usos) +[16:38:23] 📝 Procesando 75/83: DO_EV61_SyrupTankSprayBall (2 usos) +[16:38:23] 📝 Procesando 76/83: DO_EV62_ProductOutlet (3 usos) +[16:38:23] 📝 Procesando 77/83: DO_EV69_Blender_ProductPipeDrain (2 usos) +[16:38:23] 📝 Procesando 78/83: DO_EV81_Prod_Recirc_Chiller_Valve (2 usos) +[16:38:23] 📝 Procesando 79/83: DO_EV01_Deair_Lvl_Ctrl_Valve (2 usos) +[16:38:23] 📝 Procesando 80/83: DO_EV02_Deair_FillUp_Valve (2 usos) +[16:38:23] 📝 Procesando 81/83: gPAmPDSFreeze (2 usos) +[16:38:23] 📝 Procesando 82/83: gPAmPDSCarboStop (2 usos) +[16:38:23] 📝 Procesando 83/83: gPAmPDSInlinePumpStop (2 usos) +[16:38:23] Generando tabla para 58 variables no usadas... +[16:38:23] ✅ Reporte de snippets generado exitosamente. +[16:38:23] 📄 Generando reporte JSON: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\result\TwinCAT_IO_Usage_Snippets.json +[16:38:23] ✅ Reporte JSON generado exitosamente. +[16:38:23] 🎉 Análisis completado exitosamente! +[16:38:23] 📁 Archivos generados en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\result +[16:38:23] 📄 TwinCAT_Full_IO_List.md +[16:38:23] 📄 TwinCAT_IO_Usage_Snippets.md +[16:38:23] 📄 TwinCAT_IO_Usage_Snippets.json +[16:38:23] Ejecución de x2_full_io_documentation.py finalizada (success). Duración: 0:00:07.976669. +[16:38:23] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\TwinCat\log_x2_full_io_documentation.txt diff --git a/templates/index.html b/templates/index.html index 78e67fa..4abb45f 100644 --- a/templates/index.html +++ b/templates/index.html @@ -198,7 +198,7 @@
-

Directorio de Trabajo

+

Directorio de Resultados

@@ -227,7 +227,7 @@
-

Configuración del Directorio

+

Configuración del Proyecto