Se actualizaron los archivos de configuración JSON para incluir nuevos parámetros de directorios relacionados con las exportaciones de Tia. Además, se mejoró la documentación en el archivo backend_setup.md, añadiendo una sección sobre servicios de Modelos de Lenguaje Grandes (LLM) y su configuración. Se realizaron cambios en la interfaz de usuario en index.html, renombrando secciones para mayor claridad.

This commit is contained in:
Miguel 2025-07-10 16:44:20 +02:00
parent 7afdbca03a
commit e6b875aac1
5 changed files with 392 additions and 582 deletions

View File

@ -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"
}
}
}

View File

@ -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",

View File

@ -326,3 +326,85 @@ def main():
if __name__ == "__main__":
main()
```
### 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)

View File

@ -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

View File

@ -198,7 +198,7 @@
<!-- Working Directory -->
<div class="mb-8 bg-white p-6 rounded-lg shadow">
<h2 class="text-xl font-bold mb-4">Directorio de Trabajo</h2>
<h2 class="text-xl font-bold mb-4">Directorio de Resultados</h2>
<div class="flex gap-4">
<div class="flex-1 flex gap-2">
<input type="text" id="working-directory" class="flex-1 p-2 border rounded bg-green-50">
@ -227,7 +227,7 @@
<!-- Level 3 Configuration -->
<div class="mb-8 bg-white p-6 rounded-lg shadow">
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold">Configuración del Directorio</h2>
<h2 class="text-xl font-bold">Configuración del Proyecto</h2>
<button class="bg-blue-500 text-white px-4 py-2 rounded" onclick="toggleConfig('level3-content')">
Ocultar Configuración
</button>