Se agregó una nueva ruta en el archivo de configuración del workspace de TwinCat y se realizaron mejoras en el script `x1_lad_converter.py`. Se añadió un nuevo directorio para exportaciones y se optimizó el manejo de expresiones en el convertidor, mejorando la legibilidad y la eficiencia del código. Además, se actualizaron los logs para reflejar la ejecución del script de documentación completa de IOs, incluyendo un resumen de las variables analizadas y los archivos generados.

This commit is contained in:
Miguel 2025-07-09 16:42:45 +02:00
parent 4a1b16117e
commit b4959e772f
3 changed files with 907 additions and 526 deletions

View File

@ -5,6 +5,9 @@
}, },
{ {
"path": "C:/Trabajo/SIDEL/13 - E5.007560 - Modifica O&U - SAE235/Reporte/Analisis" "path": "C:/Trabajo/SIDEL/13 - E5.007560 - Modifica O&U - SAE235/Reporte/Analisis"
},
{
"path": "C:/Trabajo/SIDEL/13 - E5.007560 - Modifica O&U - SAE235/Reporte/ExportTwinCat"
} }
], ],
"settings": {} "settings": {}

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,265 @@
[12:53:36] Iniciando ejecución de x1_lad_converter.py en C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis... [16:07:48] Iniciando ejecución de x6_full_io_documentation.py en C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis...
[12:53:36] === Convertidor Masivo LAD a SCL con SymPy === [16:07:48] 🚀 Iniciando documentación completa de IOs de TwinCAT
[12:53:36] No se encontraron archivos .EXP en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis [16:07:48] ================================================================================
[12:53:36] Ejecución de x1_lad_converter.py finalizada (success). Duración: 0:00:00.471141. [16:07:48] 📁 Directorio de trabajo: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis
[12:53:36] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\TwinCat\log_x1_lad_converter.txt [16:07:48] 📁 Directorio de resultados: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat
[16:07:48] 🔍 Escaneando definiciones TwinCAT activas en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat/scl
[16:07:48] ✅ Encontradas 141 definiciones de IO activas.
[16:07:48] 🔍 Buscando usos de variables definidas en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat/scl
[16:07:48] 📄 Analizando uso en: ADSVARREAD.scl
[16:07:48] 📄 Analizando uso en: ADSVARTRANSLATE.scl
[16:07:49] 📄 Analizando uso en: ADSVARWRITE.scl
[16:07:49] 📄 Analizando uso en: AMMONIACTRL.scl
[16:07:49] 📄 Analizando uso en: ARRAYTOREAL.scl
[16:07:49] 📄 Analizando uso en: BLENDERPROCEDURE_VARIABLES.scl
[16:07:49] 📄 Analizando uso en: BLENDERRINSE.scl
[16:07:49] 📄 Analizando uso en: BLENDER_PID_CTRL_LOOP.scl
[16:07:49] 📄 Analizando uso en: BLENDER_PROCEDURECALL.scl
[16:07:49] 📄 Analizando uso en: BLENDER_RUNCONTROL.scl
[16:07:49] 📄 Analizando uso en: BLENDER_VARIABLES.scl
[16:07:49] 📄 Analizando uso en: BLENDFILLRECSTRUCT.scl
[16:07:49] 📄 Analizando uso en: BLENDFILLSENDSTRUCT.scl
[16:07:49] 📄 Analizando uso en: BLENDFILLSYSTEM_STARTUP.scl
[16:07:49] 📄 Analizando uso en: BRIXTRACKING.scl
[16:07:49] 📄 Analizando uso en: BYTES_TO_DWORD.scl
[16:07:49] 📄 Analizando uso en: BYTES_TO_WORD.scl
[16:07:49] 📄 Analizando uso en: CALC_INJPRESS.scl
[16:07:49] 📄 Analizando uso en: CARBOWATERLINE.scl
[16:07:50] 📄 Analizando uso en: CENTRALCIP_CTRL.scl
[16:07:50] 📄 Analizando uso en: CETRIFUGAL_HEAD.scl
[16:07:50] 📄 Analizando uso en: CIPRECEIVESTRUCT.scl
[16:07:50] 📄 Analizando uso en: CIPSENDSTRUCT.scl
[16:07:50] 📄 Analizando uso en: CIP_CVQ.scl
[16:07:50] 📄 Analizando uso en: CIP_LINK_TYPE.scl
[16:07:50] 📄 Analizando uso en: CIP_LIST_ELEMENT.scl
[16:07:50] 📄 Analizando uso en: CIP_MAIN.scl
[16:07:50] 📄 Analizando uso en: CIP_PROGRAM_VARIABLES.scl
[16:07:50] 📄 Analizando uso en: CIP_SIMPLE_TYPE.scl
[16:07:50] 📄 Analizando uso en: CIP_STEP_TYPE.scl
[16:07:50] 📄 Analizando uso en: CIP_WAITEVENT_TYPE.scl
[16:07:50] 📄 Analizando uso en: CLEANBOOLARRAY.scl
[16:07:50] 📄 Analizando uso en: CLOCK_SIGNAL.scl
[16:07:50] 📄 Analizando uso en: CLOCK_VARIABLES.scl
[16:07:50] 📄 Analizando uso en: CO2EQPRESS.scl
[16:07:50] 📄 Analizando uso en: CO2INJPRESSURE.scl
[16:07:50] 📄 Analizando uso en: CO2_SOLUBILITY.scl
[16:07:50] 📄 Analizando uso en: CONVERTREAL.scl
[16:07:50] 📄 Analizando uso en: CVQ_0_6_PERC.scl
[16:07:50] 📄 Analizando uso en: CVQ_1P7_8_PERC.scl
[16:07:50] 📄 Analizando uso en: DATA_FROM_CIP.scl
[16:07:50] 📄 Analizando uso en: DATA_TO_CIP.scl
[16:07:50] 📄 Analizando uso en: DEAIRCO2TEMPCOMP.scl
[16:07:50] 📄 Analizando uso en: DEAIREATIONVALVE.scl
[16:07:50] 📄 Analizando uso en: DEAIREATOR_STARTUP.scl
[16:07:50] 📄 Analizando uso en: DELAY.scl
[16:07:50] 📄 Analizando uso en: DELTAP.scl
[16:07:50] 📄 Analizando uso en: DENSIMETER_CALIBRATION.scl
[16:07:50] 📄 Analizando uso en: DERIVE.scl
[16:07:50] 📄 Analizando uso en: DEVICENET_VARIABLES.scl
[16:07:50] 📄 Analizando uso en: DWORD_TO_BYTES.scl
[16:07:50] 📄 Analizando uso en: EXEC_SIMPLE_CIP.scl
[16:07:50] 📄 Analizando uso en: FASTRINSE.scl
[16:07:50] 📄 Analizando uso en: FB41_PIDCONTROLLER.scl
[16:07:50] 📄 Analizando uso en: FC_CONTROL_WORD.scl
[16:07:50] 📄 Analizando uso en: FC_STATUS_WORD.scl
[16:07:50] 📄 Analizando uso en: FEEDFORWARD.scl
[16:07:50] 📄 Analizando uso en: FILLERHEAD.scl
[16:07:50] 📄 Analizando uso en: FILLERRECEIVESTRUCT.scl
[16:07:50] 📄 Analizando uso en: FILLERRINSE.scl
[16:07:50] 📄 Analizando uso en: FILLERRINSETANK_CTRL.scl
[16:07:50] 📄 Analizando uso en: FILLERSENDSTRUCT.scl
[16:07:50] 📄 Analizando uso en: FILLER_CONTROL.scl
[16:07:50] 📄 Analizando uso en: FILLINGTIME.scl
[16:07:50] 📄 Analizando uso en: FIRSTPRODUCTION.scl
[16:07:51] 📄 Analizando uso en: FLOW_TO_PRESS_LOSS.scl
[16:07:51] 📄 Analizando uso en: FREQ_TO_MMH2O.scl
[16:07:51] 📄 Analizando uso en: FRICTIONLOSS.scl
[16:07:51] 📄 Analizando uso en: GETPRODBRIXCO2_FROMANALOGINPUT.scl
[16:07:51] 📄 Analizando uso en: GETPRODO2_FROMANALOGINPUT.scl
[16:07:51] 📄 Analizando uso en: GLOBAL_ALARMS.scl
[16:07:51] 📄 Analizando uso en: GLOBAL_VARIABLES_IN_OUT.scl
[16:07:51] 📄 Analizando uso en: HMI_ALARMS.scl
[16:07:51] 📄 Analizando uso en: HMI_BLENDER_PARAMETERS.scl
[16:07:51] 📄 Analizando uso en: HMI_IO_SHOWING.scl
[16:07:51] 📄 Analizando uso en: HMI_LOCAL_CIP_VARIABLES.scl
[16:07:51] 📄 Analizando uso en: HMI_SERVICE.scl
[16:07:51] 📄 Analizando uso en: HMI_VARIABLES_CMD.scl
[16:07:51] 📄 Analizando uso en: HMI_VARIABLES_STATUS.scl
[16:07:51] 📄 Analizando uso en: INPUT.scl
[16:07:51] 📄 Analizando uso en: INPUT_CIP_SIGNALS.scl
[16:07:51] 📄 Analizando uso en: INPUT_SIGNAL.scl
[16:07:51] 📄 Analizando uso en: INTEGRAL.scl
[16:07:51] 📄 Analizando uso en: LOCALCIP_CTRL.scl
[16:07:51] 📄 Analizando uso en: LOWPASSFILTER.scl
[16:07:51] 📄 Analizando uso en: LOWPASSFILTEROPT.scl
[16:07:51] 📄 Analizando uso en: MASELLI.scl
[16:07:51] 📄 Analizando uso en: MASELLIOPTO_TYPE.scl
[16:07:51] 📄 Analizando uso en: MASELLIUC05_TYPE.scl
[16:07:51] 📄 Analizando uso en: MASELLIUR22_TYPE.scl
[16:07:51] 📄 Analizando uso en: MASELLI_CONTROL.scl
[16:07:51] 📄 Analizando uso en: MAXCARBOCO2_VOL.scl
[16:07:51] 📄 Analizando uso en: MESSAGESCROLL.scl
[16:07:51] 📄 Analizando uso en: MESSAGE_SCROLL.scl
[16:07:51] 📄 Analizando uso en: MFMANALOG_VALUES.scl
[16:07:51] 📄 Analizando uso en: MFM_REAL_STRUCT.scl
[16:07:51] 📄 Analizando uso en: MMH2O_TO_FREQ.scl
[16:07:51] 📄 Analizando uso en: MODVALVEFAULT.scl
[16:07:51] 📄 Analizando uso en: MOVEARRAY.scl
[16:07:51] 📄 Analizando uso en: MPDS1000.scl
[16:07:51] 📄 Analizando uso en: MPDS1000_CONTROL.scl
[16:07:52] 📄 Analizando uso en: MPDS1000_TYPE.scl
[16:07:52] 📄 Analizando uso en: MPDS2000.scl
[16:07:52] 📄 Analizando uso en: MPDS2000_CONTROL.scl
[16:07:52] 📄 Analizando uso en: MPDS2000_TYPE.scl
[16:07:52] 📄 Analizando uso en: MPDS_PA_CONTROL.scl
[16:07:52] 📄 Analizando uso en: MSE_SLOPE.scl
[16:07:52] 📄 Analizando uso en: MYVAR.scl
[16:07:52] 📄 Analizando uso en: OR_ARRAYBOOL.scl
[16:07:52] 📄 Analizando uso en: OUTPUT.scl
[16:07:52] 📄 Analizando uso en: PARAMETERNAMETYPE.scl
[16:07:52] 📄 Analizando uso en: PA_MPDS.scl
[16:07:52] 📄 Analizando uso en: PERIPHERIAL.scl
[16:07:52] 📄 Analizando uso en: PID_VARIABLES.scl
[16:07:52] 📄 Analizando uso en: PLC CONFIGURATION.scl
[16:07:52] 📄 Analizando uso en: PNEUMATIC_VALVE_CTRL.scl
[16:07:52] 📄 Analizando uso en: PPM_O2.scl
[16:07:52] 📄 Analizando uso en: PRODBRIXRECOVERY.scl
[16:07:52] 📄 Analizando uso en: PRODTANK_DRAIN.scl
[16:07:52] 📄 Analizando uso en: PRODTANK_RUNOUT.scl
[16:07:52] 📄 Analizando uso en: PRODUCTAVAILABLE.scl
[16:07:52] 📄 Analizando uso en: PRODUCTION_VARIABLES.scl
[16:07:52] 📄 Analizando uso en: PRODUCTLITERINTANK.scl
[16:07:52] 📄 Analizando uso en: PRODUCTPIPEDRAIN.scl
[16:07:52] 📄 Analizando uso en: PRODUCTPIPERUNOUT.scl
[16:07:52] 📄 Analizando uso en: PRODUCTQUALITY.scl
[16:07:53] 📄 Analizando uso en: PRODUCTTANKBRIX.scl
[16:07:53] 📄 Analizando uso en: PRODUCTTANK_PRESSCTRL.scl
[16:07:53] 📄 Analizando uso en: PROFIBUS_DATA.scl
[16:07:53] 📄 Analizando uso en: PROFIBUS_NETWORK.scl
[16:07:53] 📄 Analizando uso en: PROFIBUS_VARIABLES.scl
[16:07:53] 📄 Analizando uso en: PULSEPRESSURE.scl
[16:07:53] 📄 Analizando uso en: PUMPSCONTROL.scl
[16:07:53] 📄 Analizando uso en: READANALOGIN.scl
[16:07:53] 📄 Analizando uso en: READPERIPHERIAL.scl
[16:07:53] 📄 Analizando uso en: SAFETIES.scl
[16:07:53] 📄 Analizando uso en: SELCHECKBRIXSOURCE.scl
[16:07:53] 📄 Analizando uso en: SIGNALS_INTEFACE.scl
[16:07:53] 📄 Analizando uso en: SIGNAL_GEN.scl
[16:07:53] 📄 Analizando uso en: SINUSOIDAL_SIGNAL.scl
[16:07:53] 📄 Analizando uso en: SLEWLIMIT.scl
[16:07:53] 📄 Analizando uso en: SLIM_BLOCK.scl
[16:07:53] 📄 Analizando uso en: SLIM_VARIABLES.scl
[16:07:53] 📄 Analizando uso en: SOFTNET_VARIABLES.scl
[16:07:53] 📄 Analizando uso en: SPEEDADJUST.scl
[16:07:53] 📄 Analizando uso en: SP_AND_P_VARIABLES.scl
[16:07:53] 📄 Analizando uso en: STANDARD.LIB_5.6.98 09_39_02.scl
[16:07:53] 📄 Analizando uso en: STATISTICALANALISYS.scl
[16:07:53] 📄 Analizando uso en: SYRBRIX_AUTOCORRECTION.scl
[16:07:53] 📄 Analizando uso en: SYRUPDENSITY.scl
[16:07:53] 📄 Analizando uso en: SYRUPROOMCTRL.scl
[16:07:53] 📄 Analizando uso en: SYRUP_LINE_MFM_PREP.scl
[16:07:53] 📄 Analizando uso en: SYRUP_MFM_STARTUP.scl
[16:07:53] 📄 Analizando uso en: SYRUP_RUNOUT.scl
[16:07:53] 📄 Analizando uso en: SYSTEMRUNOUT_VARIABLES.scl
[16:07:53] 📄 Analizando uso en: SYSTEM_DATAS.scl
[16:07:53] 📄 Analizando uso en: SYSTEM_RUN_OUT.scl
[16:07:53] 📄 Analizando uso en: TANKLEVEL.scl
[16:07:53] 📄 Analizando uso en: TANKLEVELTOHEIGHT.scl
[16:07:53] 📄 Analizando uso en: TASK CONFIGURATION.scl
[16:07:53] 📄 Analizando uso en: TCPLCUTILITIES.LIB_11.12.01 09_39_02.scl
[16:07:53] 📄 Analizando uso en: TCSYSTEM.LIB_16.9.02 09_39_02.scl
[16:07:53] 📄 Analizando uso en: TESTFLOWMETERS.scl
[16:07:54] 📄 Analizando uso en: UDP_STRUCT.scl
[16:07:54] 📄 Analizando uso en: UV_LAMP.scl
[16:07:54] 📄 Analizando uso en: VACUUMCTRL.scl
[16:07:54] 📄 Analizando uso en: VALVEFAULT.scl
[16:07:54] 📄 Analizando uso en: VALVEFLOW.scl
[16:07:54] 📄 Analizando uso en: VARIABLE_CONFIGURATION.scl
[16:07:54] 📄 Analizando uso en: VOID.scl
[16:07:54] 📄 Analizando uso en: WATERDENSITY.scl
[16:07:54] 📄 Analizando uso en: WORD_TO_BYTES.scl
[16:07:54] 📄 Analizando uso en: WRITEPERIPHERIAL.scl
[16:07:54] 📄 Analizando uso en: _BLENDER_CTRL_MAIN.scl
[16:07:54] 📄 Analizando uso en: _BLENDER_PID_MAIN.scl
[16:07:54] 📄 Analizando uso en: _BOOLARRAY_TO_DWORD.scl
[16:07:54] 📄 Analizando uso en: _BOOLARRAY_TO_WORD.scl
[16:07:54] 📄 Analizando uso en: _DWORD_SWAP_BYTEARRAY.scl
[16:07:54] 📄 Analizando uso en: _DWORD_TO_BOOLARRAY.scl
[16:07:54] 📄 Analizando uso en: _FILLING_HEAD_PID_CTRL.scl
[16:07:54] 📄 Analizando uso en: _PUMPCONTROL.scl
[16:07:54] 📄 Analizando uso en: _STEPMOVE.scl
[16:07:54] 📄 Analizando uso en: _WORD_TO_BOOLARRAY.scl
[16:07:54] ✅ Encontrados 196 usos para 61 variables distintas.
[16:07:54] 📄 Generando tabla resumen: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\TwinCAT_Full_IO_List.md
[16:07:54] ✅ Tabla resumen generada exitosamente.
[16:07:54] 📄 Generando reporte de snippets: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat\TwinCAT_IO_Usage_Snippets.md
[16:07:54] Generando snippets para 61 variables con uso...
[16:07:54] 📝 Procesando 1/61: gProduct_VFC_StatusWord (2 usos)
[16:07:54] 📝 Procesando 2/61: DI_AuxVoltage_On (1 usos)
[16:07:54] 📝 Procesando 3/61: DI_Reset_Horn_Btn (2 usos)
[16:07:54] 📝 Procesando 4/61: DI_Reset_Btn (77 usos)
[16:07:54] 📝 Procesando 5/61: DI_Blender_Stop_Btn (3 usos)
[16:07:54] 📝 Procesando 6/61: DI_Blender_Start_Btn (1 usos)
[16:07:54] 📝 Procesando 7/61: DI_PowerSuppliesOk (2 usos)
[16:07:54] 📝 Procesando 8/61: DI_Min_Deair_Level (1 usos)
[16:07:54] 📝 Procesando 9/61: DI_ProdTankEmpty (1 usos)
[16:07:54] 📝 Procesando 10/61: DI_BatteryNotReady (1 usos)
[16:07:54] 📝 Procesando 11/61: DI_VM1_Water_Valve_Closed (1 usos)
[16:07:54] 📝 Procesando 12/61: DI_VM2_Syrup_Valve_Closed (1 usos)
[16:07:54] 📝 Procesando 13/61: DI_VM3_CO2_Valve_Closed (1 usos)
[16:07:54] 📝 Procesando 14/61: DI_Product_Pump_Contactor (1 usos)
[16:07:54] 📝 Procesando 15/61: DI_SyrRoom_Pump_Ready (1 usos)
[16:07:54] 📝 Procesando 16/61: DI_CIP_CIPMode (1 usos)
[16:07:54] 📝 Procesando 17/61: DI_CIP_RinseMode (1 usos)
[16:07:54] 📝 Procesando 18/61: DI_CIP_DrainRequest (1 usos)
[16:07:54] 📝 Procesando 19/61: DI_CIP_CIPCompleted (1 usos)
[16:07:54] 📝 Procesando 20/61: DI_Air_InletPress_OK (1 usos)
[16:07:54] 📝 Procesando 21/61: DI_Syrup_Line_Drain_Sensor (1 usos)
[16:07:54] 📝 Procesando 22/61: gWaterTotCtrl_Node20 (3 usos)
[16:07:54] 📝 Procesando 23/61: gSyrControl_Node21 (7 usos)
[16:07:54] 📝 Procesando 24/61: gCO2Control_Node22 (7 usos)
[16:07:54] 📝 Procesando 25/61: gProductTotCtrl_Node17 (3 usos)
[16:07:54] 📝 Procesando 26/61: gProduct_VFC_ControlWord (2 usos)
[16:07:54] 📝 Procesando 27/61: gProduct_VFC_MainRefValue (2 usos)
[16:07:54] 📝 Procesando 28/61: DO_HoldBrixMeter (2 usos)
[16:07:54] 📝 Procesando 29/61: DO_SyrupRoomPump_Run (2 usos)
[16:07:54] 📝 Procesando 30/61: DO_SyrupRoomWaterReq (2 usos)
[16:07:54] 📝 Procesando 31/61: DO_CIP_CIPRequest (2 usos)
[16:07:54] 📝 Procesando 32/61: DO_CIP_DrainCompleted (2 usos)
[16:07:54] 📝 Procesando 33/61: DO_Horn (2 usos)
[16:07:54] 📝 Procesando 34/61: DO_Blender_Run_Lamp (2 usos)
[16:07:54] 📝 Procesando 35/61: DO_Alarm_Lamp (2 usos)
[16:07:54] 📝 Procesando 36/61: DO_RotorAlarm_Lamp (2 usos)
[16:07:54] 📝 Procesando 37/61: DO_Water_Pump_Run (2 usos)
[16:07:54] 📝 Procesando 38/61: DO_Syrup_Pump_Run (2 usos)
[16:07:54] 📝 Procesando 39/61: DO_Product_Pump_Run (3 usos)
[16:07:54] 📝 Procesando 40/61: DO_EV11_BlowOff_Valve (2 usos)
[16:07:54] 📝 Procesando 41/61: DO_EV13_Prod_Recirc_Valve (2 usos)
[16:07:54] 📝 Procesando 42/61: DO_EV14_DeairDrain_Valve (2 usos)
[16:07:54] 📝 Procesando 43/61: DO_EV15_ProductTank_Drain_Valve (2 usos)
[16:07:54] 📝 Procesando 44/61: DO_EV17_BufferTankSprayBall_Valve (2 usos)
[16:07:54] 📝 Procesando 45/61: DO_EV18_DeairOverfill_Valve (2 usos)
[16:07:54] 📝 Procesando 46/61: DO_EV21_ProdTankOverfill_Valve (2 usos)
[16:07:54] 📝 Procesando 47/61: DO_EV22_WaterPumpPrime_Valve (2 usos)
[16:07:54] 📝 Procesando 48/61: DO_EV23_SerpentineDrain_valve (2 usos)
[16:07:54] 📝 Procesando 49/61: DO_EV24_SyrupRecirc_Valve (2 usos)
[16:07:54] 📝 Procesando 50/61: DO_EV26_CO2InjShutOff_Valve (2 usos)
[16:07:54] 📝 Procesando 51/61: DO_EV27_DeairSprayBall_Valve (2 usos)
[16:07:54] 📝 Procesando 52/61: DO_EV28_DeairStartCO2Inj_Valve (2 usos)
[16:07:54] 📝 Procesando 53/61: DO_EV44_SyrupLineDrain (2 usos)
[16:07:54] 📝 Procesando 54/61: DO_EV45_ProductChillerDrain (2 usos)
[16:07:54] 📝 Procesando 55/61: DO_EV61_SyrupTankSprayBall (2 usos)
[16:07:54] 📝 Procesando 56/61: DO_EV62_ProductOutlet (3 usos)
[16:07:54] 📝 Procesando 57/61: DO_EV69_Blender_ProductPipeDrain (2 usos)
[16:07:54] 📝 Procesando 58/61: DO_EV81_Prod_Recirc_Chiller_Valve (2 usos)
[16:07:54] 📝 Procesando 59/61: DO_EV01_Deair_Lvl_Ctrl_Valve (2 usos)
[16:07:54] 📝 Procesando 60/61: DO_EV02_Deair_FillUp_Valve (2 usos)
[16:07:54] 📝 Procesando 61/61: gPAmPDSInlinePumpStop (2 usos)
[16:07:54] Generando tabla para 80 variables no usadas...
[16:07:54] ✅ Reporte de snippets generado exitosamente.
[16:07:54] 🎉 Análisis completado exitosamente!
[16:07:54] 📁 Archivos generados en: C:\Trabajo\SIDEL\13 - E5.007560 - Modifica O&U - SAE235\Reporte\Analisis\TwinCat
[16:07:54] 📄 TwinCAT_Full_IO_List.md
[16:07:54] 📄 TwinCAT_IO_Usage_Snippets.md
[16:07:54] Ejecución de x6_full_io_documentation.py finalizada (success). Duración: 0:00:06.496612.
[16:07:54] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\TwinCat\log_x6_full_io_documentation.txt