Segundo paso para la integracion de Procesador de XML a SCL

This commit is contained in:
Miguel 2025-05-03 11:55:10 +02:00
parent fceebd1e2d
commit eacce5d8bd
13 changed files with 8589 additions and 47 deletions

View File

@ -0,0 +1,6 @@
{
"name": "Exportador de objetos de Tia Portal y procesador de CAx",
"description": "Este conjunto de scripts exporta desde Tia Portal los objetos en fomarto XML y los objetos CAx. Luego se puede generar documentacion desde estos CAx de la periferia IO del PLC exportado.",
"version": "1.0",
"author": "Miguel"
}

View File

@ -0,0 +1,6 @@
{
"name": "Procesador de XML exportado de TIA",
"description": "Conjunto de scripts que procesan archivos XML exportados de TIA, conviertiendo los objetos LAD a SCL y generando documentación en formato Markdown. ",
"version": "1.0",
"author": "Miguel"
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,454 @@
--- Log de Ejecución: x0_main.py ---
Grupo: XML Parser to SCL
Directorio de Trabajo: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport
Inicio: 2025-05-03 00:25:13
Fin: 2025-05-03 00:26:04
Duración: 0:00:50.753593
Estado: ERROR (Código de Salida: 1)
--- SALIDA ESTÁNDAR (STDOUT) ---
Advertencia: No se pudo importar 'format_variable_name' desde processors.processor_utils.
Usando una implementación local básica.
INFO: format_variable_name importado desde generators.generator_utils
======================================== LOG START ========================================
Directorio de trabajo base configurado: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport'
Buscando archivos XML recursivamente en el subdirectorio: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC'
Se encontraron 408 archivos XML para procesar:
- PLC\PlcDataTypes\AnalogInstrument.xml
- PLC\PlcDataTypes\CIP_Link_Type.xml
- PLC\PlcDataTypes\CIP_Simple_Type.xml
- PLC\PlcDataTypes\CIP_Step_Type.xml
- PLC\PlcDataTypes\CIP_WaitEvent_Type.xml
- PLC\PlcDataTypes\Device.xml
- PLC\PlcDataTypes\DigitalInstrument.xml
- PLC\PlcDataTypes\FunctionButton.xml
- PLC\PlcDataTypes\PID.xml
- PLC\PlcDataTypes\QCO Phase.xml
- PLC\PlcDataTypes\QCO Spare.xml
- PLC\PlcDataTypes\QCO Timer.xml
- PLC\PlcDataTypes\QCO Timer_Array_1.xml
- PLC\PlcDataTypes\Recipe_Prod.xml
- PLC\PlcDataTypes\ReportCIPSimpleData.xml
- PLC\PlcDataTypes\TADDR_PAR.xml
- PLC\PlcDataTypes\TCON_PAR.xml
- PLC\PlcDataTypes\TCON_PAR_LF.xml
- PLC\PlcDataTypes\Tipo di dati utente_1.xml
- PLC\PlcDataTypes\Tipo di dati utente_2.xml
- PLC\PlcTags\IO Not in Hardware\InputsMaster.xml
- PLC\PlcTags\IO Not in Hardware\OutputsMaster.xml
- PLC\PlcTags\Inputs.xml
- PLC\PlcTags\Memories.xml
- PLC\PlcTags\Outputs.xml
- PLC\PlcTags\OutputsFesto.xml
- PLC\PlcTags\Tabella delle variabili standard.xml
- PLC\PlcTags\Tabella delle variabili_1.xml
- PLC\PlcTags\Tabella delle variabili_2.xml
- PLC\PlcTags\Timers_Counters.xml
- PLC\ProgramBlocks_XML\40_10_GNS_PLCdia Main\GNS PLCdia MainRoutine.xml
- PLC\ProgramBlocks_XML\40_10_GNS_PLCdia Main\GNS PLCdia Profibus.xml
- PLC\ProgramBlocks_XML\40_10_GNS_PLCdia Main\GNS PLCdia ProfibusData.xml
- PLC\ProgramBlocks_XML\40_10_GNS_PLCdia Main\GNS PLCdia Profinet.xml
- PLC\ProgramBlocks_XML\40_10_GNS_PLCdia Main\GNS PLCdia ProfinetData.xml
- PLC\ProgramBlocks_XML\Baialage.xml
- PLC\ProgramBlocks_XML\BlendFill StartUp_Seq.xml
- PLC\ProgramBlocks_XML\BlenderCtrl_All Auto.xml
- PLC\ProgramBlocks_XML\BlenderCtrl_CIPModeInit.xml
- PLC\ProgramBlocks_XML\BlenderCtrl_InitErrors.xml
- PLC\ProgramBlocks_XML\BlenderCtrl_MFM Command.xml
- PLC\ProgramBlocks_XML\BlenderCtrl_MachineInit.xml
- PLC\ProgramBlocks_XML\BlenderCtrl_ManualActive.xml
- PLC\ProgramBlocks_XML\BlenderCtrl_ProdModeInit.xml
- PLC\ProgramBlocks_XML\BlenderCtrl_ResetSPWord.xml
- PLC\ProgramBlocks_XML\BlenderCtrl_UpdatePWord.xml
- PLC\ProgramBlocks_XML\BlenderCtrl__Main.xml
- PLC\ProgramBlocks_XML\BlenderPIDCtrl_Monitor.xml
- PLC\ProgramBlocks_XML\BlenderPIDCtrl_PresRelea.xml
- PLC\ProgramBlocks_XML\BlenderPIDCtrl_ReadAnIn.xml
- PLC\ProgramBlocks_XML\BlenderPIDCtrl_SaveInteg.xml
- PLC\ProgramBlocks_XML\BlenderPIDCtrl_SaveValve.xml
- PLC\ProgramBlocks_XML\BlenderPIDCtrl_WriteAnOu.xml
- PLC\ProgramBlocks_XML\BlenderPIDCtrl__Loop.xml
- PLC\ProgramBlocks_XML\BlenderPID_ActualRecipe.xml
- PLC\ProgramBlocks_XML\BlenderPID_BlendingFault.xml
- PLC\ProgramBlocks_XML\BlenderPID_FlowMeterErro.xml
- PLC\ProgramBlocks_XML\BlenderPID_NextRecipe.xml
- PLC\ProgramBlocks_XML\BlenderPID_PIDFFCalc.xml
- PLC\ProgramBlocks_XML\BlenderPID_PIDInitParam.xml
- PLC\ProgramBlocks_XML\BlenderPID_PIDResInteg.xml
- PLC\ProgramBlocks_XML\BlenderPID_PIDSPCalc.xml
- PLC\ProgramBlocks_XML\BlenderPID__Main.xml
- PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml
- PLC\ProgramBlocks_XML\BlenderRinse.xml
- PLC\ProgramBlocks_XML\BlenderRinse_Done.xml
- PLC\ProgramBlocks_XML\BlenderRun_MeasFilSpeed.xml
- PLC\ProgramBlocks_XML\BlenderRun_MeasFil_Data.xml
- PLC\ProgramBlocks_XML\BlenderRun_ProdTime.xml
- PLC\ProgramBlocks_XML\BlenderRun_SelectConstan.xml
- PLC\ProgramBlocks_XML\BlenderRun_Stopping.xml
- PLC\ProgramBlocks_XML\BlenderRun__Control.xml
- PLC\ProgramBlocks_XML\Blender_Constants.xml
- PLC\ProgramBlocks_XML\Blender_Procedure Data.xml
- PLC\ProgramBlocks_XML\Blender_Variables.xml
- PLC\ProgramBlocks_XML\Blender_Variables_Pers.xml
- PLC\ProgramBlocks_XML\Blocco_1.xml
- PLC\ProgramBlocks_XML\Blocco_dati_Test.xml
- PLC\ProgramBlocks_XML\Block_compare.xml
- PLC\ProgramBlocks_XML\Block_move.xml
- PLC\ProgramBlocks_XML\BrixTracking_Data.xml
- PLC\ProgramBlocks_XML\BrixTracking_ProdSamples.xml
- PLC\ProgramBlocks_XML\BrixTracking_SampleTime.xml
- PLC\ProgramBlocks_XML\CIP CVQ.xml
- PLC\ProgramBlocks_XML\CIP FlipFlop.xml
- PLC\ProgramBlocks_XML\CIPLocal.xml
- PLC\ProgramBlocks_XML\CIPLocal_ExecSimpleCIP.xml
- PLC\ProgramBlocks_XML\CIPLocal_ExecStep.xml
- PLC\ProgramBlocks_XML\CIPLocal_ProgInizialize.xml
- PLC\ProgramBlocks_XML\CIPLocal_ProgStepDown.xml
- PLC\ProgramBlocks_XML\CIPLocal_ProgStepUp.xml
- PLC\ProgramBlocks_XML\CIPLocal_WaitEvent_Ctrl.xml
- PLC\ProgramBlocks_XML\CIPMain.xml
- PLC\ProgramBlocks_XML\CIPMain_Flood.xml
- PLC\ProgramBlocks_XML\CIPMain_Total Drain.xml
- PLC\ProgramBlocks_XML\CIPRecipe#01.xml
- PLC\ProgramBlocks_XML\CIPRecipe#02.xml
- PLC\ProgramBlocks_XML\CIPRecipe#03.xml
- PLC\ProgramBlocks_XML\CIPRecipe#04.xml
- PLC\ProgramBlocks_XML\CIPRecipe#05.xml
- PLC\ProgramBlocks_XML\CIPRecipe#06.xml
- PLC\ProgramBlocks_XML\CIPRecipe#07.xml
- PLC\ProgramBlocks_XML\CIPRecipe#08.xml
- PLC\ProgramBlocks_XML\CIPRecipe#09.xml
- PLC\ProgramBlocks_XML\CIPRecipe#10.xml
- PLC\ProgramBlocks_XML\CIPRecipe#11.xml
- PLC\ProgramBlocks_XML\CIPRecipe#12.xml
- PLC\ProgramBlocks_XML\CIPRecipe#13.xml
- PLC\ProgramBlocks_XML\CIPRecipe#14.xml
- PLC\ProgramBlocks_XML\CIPRecipe#15.xml
- PLC\ProgramBlocks_XML\CIPRecipe#16.xml
- PLC\ProgramBlocks_XML\CIPRecipe#17.xml
- PLC\ProgramBlocks_XML\CIPRecipe#18.xml
- PLC\ProgramBlocks_XML\CIPRecipe#19.xml
- PLC\ProgramBlocks_XML\CIPRecipe#20.xml
- PLC\ProgramBlocks_XML\CIPRecipe#21.xml
- PLC\ProgramBlocks_XML\CIPRecipe#22.xml
- PLC\ProgramBlocks_XML\CIPRecipe#23.xml
- PLC\ProgramBlocks_XML\CIPRecipe#24.xml
- PLC\ProgramBlocks_XML\CIPRecipe#25.xml
- PLC\ProgramBlocks_XML\CIPRecipe#26.xml
- PLC\ProgramBlocks_XML\CIPRecipe#27.xml
- PLC\ProgramBlocks_XML\CIPRecipe#28.xml
- PLC\ProgramBlocks_XML\CIPRecipe#29.xml
- PLC\ProgramBlocks_XML\CIPRecipe#30.xml
- PLC\ProgramBlocks_XML\CIPRecipeManagement.xml
- PLC\ProgramBlocks_XML\CIPRecipeManagement_Data.xml
- PLC\ProgramBlocks_XML\CIPReportDB.xml
- PLC\ProgramBlocks_XML\CIPReportManager.xml
- PLC\ProgramBlocks_XML\CIP_Program_Variables.xml
- PLC\ProgramBlocks_XML\CIP_SimpleProgr_Init.xml
- PLC\ProgramBlocks_XML\CO2 Solubility.xml
- PLC\ProgramBlocks_XML\CO2EqPress.xml
- PLC\ProgramBlocks_XML\CO2InjPressure.xml
- PLC\ProgramBlocks_XML\CO2Tracking.xml
- PLC\ProgramBlocks_XML\CO2Tracking_Data.xml
- PLC\ProgramBlocks_XML\CO2Tracking_ProdSamples.xml
- PLC\ProgramBlocks_XML\CO2Tracking_SampleTime.xml
- PLC\ProgramBlocks_XML\COMPLETE RESTART.xml
- PLC\ProgramBlocks_XML\CPU_DP Global Diag.xml
- PLC\ProgramBlocks_XML\CTRLCoolingSystem.xml
- PLC\ProgramBlocks_XML\CVQ_1p7_8_Perc.xml
- PLC\ProgramBlocks_XML\CYC_INT5.xml
- PLC\ProgramBlocks_XML\CarboWaterLine_Seq.xml
- PLC\ProgramBlocks_XML\Cetrifugal_Head.xml
- PLC\ProgramBlocks_XML\Clock Signal.xml
- PLC\ProgramBlocks_XML\Co2_Counters.xml
- PLC\ProgramBlocks_XML\Co2_Counters_DB.xml
- PLC\ProgramBlocks_XML\DELETE.xml
- PLC\ProgramBlocks_XML\DeairCO2TempComp.xml
- PLC\ProgramBlocks_XML\DeaireationValve.xml
- PLC\ProgramBlocks_XML\Deaireator StartUp_Seq.xml
- PLC\ProgramBlocks_XML\Default_SupervisionDB.xml
- PLC\ProgramBlocks_XML\Delay.xml
- PLC\ProgramBlocks_XML\DeltaP.xml
- PLC\ProgramBlocks_XML\EQ_STRNG.xml
- PLC\ProgramBlocks_XML\FW_DRand.xml
- PLC\ProgramBlocks_XML\FeedForward.xml
- PLC\ProgramBlocks_XML\FillerControl.xml
- PLC\ProgramBlocks_XML\FillerControl_DataSend.xml
- PLC\ProgramBlocks_XML\Filler_Head_Variables.xml
- PLC\ProgramBlocks_XML\FillingTime.xml
- PLC\ProgramBlocks_XML\FirstProduction_Data.xml
- PLC\ProgramBlocks_XML\Flow_To_Press_Loss.xml
- PLC\ProgramBlocks_XML\Freq_To_mmH2O.xml
- PLC\ProgramBlocks_XML\FrictionLoss.xml
- PLC\ProgramBlocks_XML\GLOBAL_DIAG_DB.xml
- PLC\ProgramBlocks_XML\GetProdBrixCO2_Anal_Inpt.xml
- PLC\ProgramBlocks_XML\HMI CPU_DP Diag.xml
- PLC\ProgramBlocks_XML\HMI Key User.xml
- PLC\ProgramBlocks_XML\HMI_Alarms.xml
- PLC\ProgramBlocks_XML\HMI_Blender_Parameters.xml
- PLC\ProgramBlocks_XML\HMI_Device.xml
- PLC\ProgramBlocks_XML\HMI_Digital.xml
- PLC\ProgramBlocks_XML\HMI_IO_Showing.xml
- PLC\ProgramBlocks_XML\HMI_Instrument.xml
- PLC\ProgramBlocks_XML\HMI_Local_CIP_Variables.xml
- PLC\ProgramBlocks_XML\HMI_PID.xml
- PLC\ProgramBlocks_XML\HMI_Recipe_Edit.xml
- PLC\ProgramBlocks_XML\HMI_Recipe_Name.xml
- PLC\ProgramBlocks_XML\HMI_Refrige_IO_Showing.xml
- PLC\ProgramBlocks_XML\HMI_Service.xml
- PLC\ProgramBlocks_XML\HMI_Variables_Cmd.xml
- PLC\ProgramBlocks_XML\HMI_Variables_Status.xml
- PLC\ProgramBlocks_XML\IO_FLT1.xml
- PLC\ProgramBlocks_XML\ISOonTCP_or_TCP_Protocol.xml
- PLC\ProgramBlocks_XML\ISOonTCP_or_TCP_Protocol_DB.xml
- PLC\ProgramBlocks_XML\ITC Communic CIP DI.xml
- PLC\ProgramBlocks_XML\ITC Communic CIPRoom.xml
- PLC\ProgramBlocks_XML\ITC Communic Filler DI.xml
- PLC\ProgramBlocks_XML\ITC Communic Filler.xml
- PLC\ProgramBlocks_XML\ITC Communic MainData.xml
- PLC\ProgramBlocks_XML\ITC Communic MainRoutine.xml
- PLC\ProgramBlocks_XML\ITC Communic Mixer DI.xml
- PLC\ProgramBlocks_XML\ITC Communic ProdRoom.xml
- PLC\ProgramBlocks_XML\ITC Communic Product Room DI.xml
- PLC\ProgramBlocks_XML\ITC DataIn.xml
- PLC\ProgramBlocks_XML\ITC DataOut.xml
- PLC\ProgramBlocks_XML\ITC Exchange MainRoutine.xml
- PLC\ProgramBlocks_XML\ITC MainRoutine.xml
- PLC\ProgramBlocks_XML\Input.xml
- PLC\ProgramBlocks_XML\Input_CheckFlowMetersSta.xml
- PLC\ProgramBlocks_XML\Input_Data.xml
- PLC\ProgramBlocks_XML\Input_DigitalCtrl.xml
- PLC\ProgramBlocks_XML\Input_DigitalScanner.xml
- PLC\ProgramBlocks_XML\Instrument_Scanner.xml
- PLC\ProgramBlocks_XML\Integral.xml
- PLC\ProgramBlocks_XML\Interlocking_Panel.xml
- PLC\ProgramBlocks_XML\Interlocking_Panel_1.xml
- PLC\ProgramBlocks_XML\Interlocking_Variables.xml
- PLC\ProgramBlocks_XML\Key Read & Write Data.xml
- PLC\ProgramBlocks_XML\Key Read & Write.xml
- PLC\ProgramBlocks_XML\LIMIT_I.xml
- PLC\ProgramBlocks_XML\LIMIT_R.xml
- PLC\ProgramBlocks_XML\LowPassFilter.xml
- PLC\ProgramBlocks_XML\MFMAnalogValues.xml
- PLC\ProgramBlocks_XML\MFMAnalogValues_Totalize.xml
- PLC\ProgramBlocks_XML\MFM_Analog_Value_Data.xml
- PLC\ProgramBlocks_XML\MOD_ERR.xml
- PLC\ProgramBlocks_XML\MSE Slope.xml
- PLC\ProgramBlocks_XML\Machine_Co2_Cons.xml
- PLC\ProgramBlocks_XML\Maselli_PA_Control.xml
- PLC\ProgramBlocks_XML\Maselli_PA_Ctrl_Read.xml
- PLC\ProgramBlocks_XML\Maselli_PA_Ctrl_Transfer.xml
- PLC\ProgramBlocks_XML\Maselli_PA_Ctrl_Write.xml
- PLC\ProgramBlocks_XML\Maselli_PA_Data.xml
- PLC\ProgramBlocks_XML\MaxCarboCO2 Vol.xml
- PLC\ProgramBlocks_XML\MessageScroll.xml
- PLC\ProgramBlocks_XML\ModValveFault.xml
- PLC\ProgramBlocks_XML\ONS_R.xml
- PLC\ProgramBlocks_XML\Output.xml
- PLC\ProgramBlocks_XML\Output_AnalogValueToHMI.xml
- PLC\ProgramBlocks_XML\Output_CO2InjPress.xml
- PLC\ProgramBlocks_XML\PID MAIN Data.xml
- PLC\ProgramBlocks_XML\PIDControl.xml
- PLC\ProgramBlocks_XML\PID_Filling_Head.xml
- PLC\ProgramBlocks_XML\PID_Filling_Head_Calc.xml
- PLC\ProgramBlocks_XML\PID_Filling_Head_Data.xml
- PLC\ProgramBlocks_XML\PID_RMM301.xml
- PLC\ProgramBlocks_XML\PID_RMM301_Data.xml
- PLC\ProgramBlocks_XML\PID_RMM303.xml
- PLC\ProgramBlocks_XML\PID_RMM303_Data.xml
- PLC\ProgramBlocks_XML\PID_RMM304.xml
- PLC\ProgramBlocks_XML\PID_RMM304_Data.xml
- PLC\ProgramBlocks_XML\PID_RMP302.xml
- PLC\ProgramBlocks_XML\PID_RMP302_Data.xml
- PLC\ProgramBlocks_XML\PID_RVM301.xml
- PLC\ProgramBlocks_XML\PID_RVM301_Data.xml
- PLC\ProgramBlocks_XML\PID_RVM319_Data.xml
- PLC\ProgramBlocks_XML\PID_RVM319_PRD.xml
- PLC\ProgramBlocks_XML\PID_RVN302.xml
- PLC\ProgramBlocks_XML\PID_RVN302_Data.xml
- PLC\ProgramBlocks_XML\PID_RVP303.xml
- PLC\ProgramBlocks_XML\PID_RVP303_Data.xml
- PLC\ProgramBlocks_XML\PID_RVS318.xml
- PLC\ProgramBlocks_XML\PID_RVS318_Data.xml
- PLC\ProgramBlocks_XML\PID_Variables.xml
- PLC\ProgramBlocks_XML\PPM O2.xml
- PLC\ProgramBlocks_XML\PPM303_VFC_Ctrl.xml
- PLC\ProgramBlocks_XML\PPM305_VFC_Ctrl.xml
- PLC\ProgramBlocks_XML\PPM307_VFC_Ctrl.xml
- PLC\ProgramBlocks_XML\PPN301_VFC_Ctrl.xml
- PLC\ProgramBlocks_XML\PPP302_VFC_Ctrl.xml
- PLC\ProgramBlocks_XML\Pneumatic Valve Ctrl.xml
- PLC\ProgramBlocks_XML\Pneumatic Valve Fault DB.xml
- PLC\ProgramBlocks_XML\Pneumatic Valve Fault.xml
- PLC\ProgramBlocks_XML\Procedure.xml
- PLC\ProgramBlocks_XML\ProcedureBlendFill StartUp.xml
- PLC\ProgramBlocks_XML\ProcedureBrixTracking.xml
- PLC\ProgramBlocks_XML\ProcedureCarboWaterLine.xml
- PLC\ProgramBlocks_XML\ProcedureDeaireator StartUp.xml
- PLC\ProgramBlocks_XML\ProcedureFirstProduction.xml
- PLC\ProgramBlocks_XML\ProcedureProdBrixRecovery.xml
- PLC\ProgramBlocks_XML\ProcedureProdTankDrain.xml
- PLC\ProgramBlocks_XML\ProcedureProdTankRunOut.xml
- PLC\ProgramBlocks_XML\ProcedureSyrup RunOut.xml
- PLC\ProgramBlocks_XML\ProcedureSyrupLineMFMPrep.xml
- PLC\ProgramBlocks_XML\ProcedureSyrupMFMStartUp.xml
- PLC\ProgramBlocks_XML\Procedure_Variables.xml
- PLC\ProgramBlocks_XML\Prod Tank Drain_Seq.xml
- PLC\ProgramBlocks_XML\Prod Tank PressCtrl.xml
- PLC\ProgramBlocks_XML\Prod Tank RunOut_Seq.xml
- PLC\ProgramBlocks_XML\ProdBrixRecovery_BrixCal.xml
- PLC\ProgramBlocks_XML\ProdBrixRecovery_DB.xml
- PLC\ProgramBlocks_XML\ProdReportDB.xml
- PLC\ProgramBlocks_XML\ProdReportManager.xml
- PLC\ProgramBlocks_XML\ProductAvailable.xml
- PLC\ProgramBlocks_XML\ProductLiterInTank.xml
- PLC\ProgramBlocks_XML\ProductPipeDrain.xml
- PLC\ProgramBlocks_XML\ProductPipeDrain_Seq.xml
- PLC\ProgramBlocks_XML\ProductPipeRunOut.xml
- PLC\ProgramBlocks_XML\ProductPipeRunOut_Seq.xml
- PLC\ProgramBlocks_XML\ProductQuality.xml
- PLC\ProgramBlocks_XML\ProductQuality_Messages.xml
- PLC\ProgramBlocks_XML\Profibus Network.xml
- PLC\ProgramBlocks_XML\Profibus_Variables.xml
- PLC\ProgramBlocks_XML\Programming error.xml
- PLC\ProgramBlocks_XML\PumpsControl.xml
- PLC\ProgramBlocks_XML\QCO Monitor.xml
- PLC\ProgramBlocks_XML\QCO Timing DB.xml
- PLC\ProgramBlocks_XML\RACK_FLT.xml
- PLC\ProgramBlocks_XML\REPLACE_Mod.xml
- PLC\ProgramBlocks_XML\ReadAnalogIn.xml
- PLC\ProgramBlocks_XML\ReadAnalogIn_Fault_DB.xml
- PLC\ProgramBlocks_XML\Recipe #01.xml
- PLC\ProgramBlocks_XML\Recipe #02.xml
- PLC\ProgramBlocks_XML\Recipe #03.xml
- PLC\ProgramBlocks_XML\Recipe #04.xml
- PLC\ProgramBlocks_XML\Recipe #05.xml
- PLC\ProgramBlocks_XML\Recipe #06.xml
- PLC\ProgramBlocks_XML\Recipe #07.xml
- PLC\ProgramBlocks_XML\Recipe #08.xml
- PLC\ProgramBlocks_XML\Recipe #09.xml
- PLC\ProgramBlocks_XML\Recipe #10.xml
- PLC\ProgramBlocks_XML\Recipe #11.xml
- PLC\ProgramBlocks_XML\Recipe #12.xml
- PLC\ProgramBlocks_XML\Recipe #13.xml
- PLC\ProgramBlocks_XML\Recipe #14.xml
- PLC\ProgramBlocks_XML\Recipe #15.xml
- PLC\ProgramBlocks_XML\Recipe #16.xml
- PLC\ProgramBlocks_XML\Recipe #17.xml
- PLC\ProgramBlocks_XML\Recipe #18.xml
- PLC\ProgramBlocks_XML\Recipe #19.xml
- PLC\ProgramBlocks_XML\Recipe #20.xml
- PLC\ProgramBlocks_XML\Recipe #21.xml
- PLC\ProgramBlocks_XML\Recipe #22.xml
- PLC\ProgramBlocks_XML\Recipe #23.xml
- PLC\ProgramBlocks_XML\Recipe #24.xml
- PLC\ProgramBlocks_XML\Recipe #25.xml
- PLC\ProgramBlocks_XML\Recipe #26.xml
- PLC\ProgramBlocks_XML\Recipe #27.xml
- PLC\ProgramBlocks_XML\Recipe #28.xml
- PLC\ProgramBlocks_XML\Recipe #29.xml
- PLC\ProgramBlocks_XML\Recipe #30.xml
- PLC\ProgramBlocks_XML\Recipe #31.xml
- PLC\ProgramBlocks_XML\Recipe #32.xml
- PLC\ProgramBlocks_XML\Recipe #33.xml
- PLC\ProgramBlocks_XML\Recipe #34.xml
- PLC\ProgramBlocks_XML\Recipe #35.xml
- PLC\ProgramBlocks_XML\Recipe #36.xml
- PLC\ProgramBlocks_XML\Recipe #37.xml
- PLC\ProgramBlocks_XML\Recipe #38.xml
- PLC\ProgramBlocks_XML\Recipe #39.xml
- PLC\ProgramBlocks_XML\Recipe #40.xml
- PLC\ProgramBlocks_XML\Recipe #41.xml
- PLC\ProgramBlocks_XML\Recipe #42.xml
- PLC\ProgramBlocks_XML\Recipe #43.xml
- PLC\ProgramBlocks_XML\Recipe #44.xml
- PLC\ProgramBlocks_XML\Recipe #45.xml
- PLC\ProgramBlocks_XML\Recipe #46.xml
- PLC\ProgramBlocks_XML\Recipe #47.xml
- PLC\ProgramBlocks_XML\Recipe #48.xml
- PLC\ProgramBlocks_XML\Recipe #49.xml
- PLC\ProgramBlocks_XML\Recipe #50.xml
- PLC\ProgramBlocks_XML\RecipeCalculation.xml
- PLC\ProgramBlocks_XML\RecipeEditDataSave.xml
- PLC\ProgramBlocks_XML\RecipeManagement - Prod.xml
- PLC\ProgramBlocks_XML\RecipeManagement_Data.xml
- PLC\ProgramBlocks_XML\SEL_I.xml
- PLC\ProgramBlocks_XML\SEL_R.xml
- PLC\ProgramBlocks_XML\SLIM_Block.xml
- PLC\ProgramBlocks_XML\SLIM_Variables.xml
- PLC\ProgramBlocks_XML\Safeties.xml
- PLC\ProgramBlocks_XML\SelCheckBrixSource.xml
- PLC\ProgramBlocks_XML\Sel_Check_Brix_Data.xml
- PLC\ProgramBlocks_XML\Signal Gen.xml
- PLC\ProgramBlocks_XML\Signal_Gen_Data.xml
- PLC\ProgramBlocks_XML\SlewLimit.xml
- PLC\ProgramBlocks_XML\SpeedAdjust.xml
- PLC\ProgramBlocks_XML\Statistical_Analisys.xml
- PLC\ProgramBlocks_XML\SubCarb.xml
- PLC\ProgramBlocks_XML\SubCarb_DB.xml
- PLC\ProgramBlocks_XML\SyrBrix Autocorrection.xml
- PLC\ProgramBlocks_XML\SyrBrix_SyrupCorrPerc.xml
- PLC\ProgramBlocks_XML\Syrup Line MFM Prep_Seq.xml
- PLC\ProgramBlocks_XML\Syrup MFM StartUp_Seq.xml
- PLC\ProgramBlocks_XML\Syrup Rinse QCO_Seq.xml
- PLC\ProgramBlocks_XML\SyrupDensity.xml
- PLC\ProgramBlocks_XML\SyrupRoomCtrl.xml
- PLC\ProgramBlocks_XML\SyrupRoomCtrl_UpdateVal.xml
- PLC\ProgramBlocks_XML\System_RunOut_Variables.xml
- PLC\ProgramBlocks_XML\System_Run_Out.xml
- PLC\ProgramBlocks_XML\System_Run_Out_Data.xml
- PLC\ProgramBlocks_XML\T_Timer.xml
- PLC\ProgramBlocks_XML\TankLevel.xml
- PLC\ProgramBlocks_XML\TankLevelToHeight.xml
- PLC\ProgramBlocks_XML\Time error interrupt.xml
- PLC\ProgramBlocks_XML\VacuumCtrl.xml
- PLC\ProgramBlocks_XML\ValveFlow.xml
- PLC\ProgramBlocks_XML\WaterDensity.xml
- PLC\ProgramBlocks_XML\WritePeripheral.xml
- PLC\ProgramBlocks_XML\_CYCL_EXC.xml
- PLC\ProgramBlocks_XML\_StepMove.xml
- PLC\ProgramBlocks_XML\_StepMove_Test.xml
- PLC\ProgramBlocks_XML\mPDS_PA_Control.xml
- PLC\ProgramBlocks_XML\mPDS_PA_Ctrl_Parameters.xml
- PLC\ProgramBlocks_XML\mPDS_PA_Ctrl_Read.xml
- PLC\ProgramBlocks_XML\mPDS_PA_Ctrl_Transfer.xml
- PLC\ProgramBlocks_XML\mPDS_PA_Ctrl_Write.xml
- PLC\ProgramBlocks_XML\mPDS_PA_Data.xml
- PLC\ProgramBlocks_XML\mPDS_SYR_PA_Control.xml
- PLC\ProgramBlocks_XML\mPDS_SYR_PA_Ctrl_Param.xml
- PLC\ProgramBlocks_XML\mPDS_SYR_PA_Ctrl_Read.xml
- PLC\ProgramBlocks_XML\mPDS_SYR_PA_Ctrl_Trans.xml
- PLC\ProgramBlocks_XML\mPDS_SYR_PA_Ctrl_Write.xml
- PLC\ProgramBlocks_XML\mPDS_SYR_PA_Data.xml
- PLC\ProgramBlocks_XML\mPPM303StartUpRamp.xml
- PLC\ProgramBlocks_XML\mmH2O_TO_Freq.xml
--- Fase 1: Procesamiento Individual (x1, x2, x3) ---
--- ERRORES (STDERR) ---
Traceback (most recent call last):
File "c:\Users\migue\.vscode\extensions\ms-python.debugpy-2025.6.0-win32-x64\bundled\libs\debugpy\_vendored\pydevd\pydevd.py", line 3717, in <module>
main()
File "c:\Users\migue\.vscode\extensions\ms-python.debugpy-2025.6.0-win32-x64\bundled\libs\debugpy\_vendored\pydevd\pydevd.py", line 3702, in main
globals = debugger.run(setup["file"], None, None, is_module)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\migue\.vscode\extensions\ms-python.debugpy-2025.6.0-win32-x64\bundled\libs\debugpy\_vendored\pydevd\pydevd.py", line 2698, in run
return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\migue\.vscode\extensions\ms-python.debugpy-2025.6.0-win32-x64\bundled\libs\debugpy\_vendored\pydevd\pydevd.py", line 2706, in _exec
globals = pydevd_runpy.run_path(file, globals, "__main__")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\migue\.vscode\extensions\ms-python.debugpy-2025.6.0-win32-x64\bundled\libs\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 310, in run_path
return _run_module_code(code, init_globals, run_name, pkg_name=pkg_name, script_name=fname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\migue\.vscode\extensions\ms-python.debugpy-2025.6.0-win32-x64\bundled\libs\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 127, in _run_module_code
_run_code(code, mod_globals, init_globals, mod_name, mod_spec, pkg_name, script_name)
File "c:\Users\migue\.vscode\extensions\ms-python.debugpy-2025.6.0-win32-x64\bundled\libs\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 118, in _run_code
exec(code, run_globals)
File "d:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\x0_main.py", line 349, in <module>
relative_path = os.path.relpath(xml_filepath, script_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen ntpath>", line 796, in relpath
ValueError: path is on mount 'C:', start on mount 'd:'
--- FIN DEL LOG ---

View File

@ -0,0 +1,9 @@
{
"level1": {
"api_key": "your-api-key-here",
"model": "gpt-3.5-turbo"
},
"level2": {},
"level3": {},
"working_directory": "C:\\Trabajo\\SIDEL\\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\\Reporte\\IOExport"
}

View File

@ -0,0 +1,6 @@
{
"path": "C:\\Trabajo\\SIDEL\\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\\Reporte\\IOExport",
"history": [
"C:\\Trabajo\\SIDEL\\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\\Reporte\\IOExport"
]
}

View File

@ -276,6 +276,7 @@ XREF_OUTPUT_DIRNAME = "xref_output"
if __name__ == "__main__":
configs = load_configuration()
working_directory = configs.get("working_directory")
script_dir = os.path.dirname(os.path.abspath(__file__))
# <-- MODIFICADO: Abrir archivo log -->
log_filepath = os.path.join(
@ -287,19 +288,28 @@ if __name__ == "__main__":
log_message("=" * 40 + " LOG START " + "=" * 40, log_f)
# --- PARTE 1: BUSCAR ARCHIVOS ---
xml_project_dir = working_directory
# <-- MODIFICADO: Apuntar al subdirectorio 'PLC' dentro del working_directory -->
plc_subdir_name = "PLC" # Nombre estándar del subdirectorio de TIA Portal
xml_project_dir = os.path.join(working_directory, plc_subdir_name)
log_message(
f"Buscando archivos XML recursivamente en: '{xml_project_dir}'", log_f
f"Directorio de trabajo base configurado: '{working_directory}'", log_f
)
log_message(
f"Buscando archivos XML recursivamente en el subdirectorio: '{xml_project_dir}'", log_f
)
# Verificar si el directorio PLC existe
if not os.path.isdir(xml_project_dir):
log_message(
f"Error: El directorio '{xml_project_dir}' no existe.",
f"Error: El subdirectorio '{plc_subdir_name}' no existe dentro de '{working_directory}'. "
f"Se esperaba encontrar la estructura del proyecto TIA Portal en '{xml_project_dir}'.",
log_f,
also_print=False,
)
print(
f"Error: El directorio '{xml_project_dir}' no existe.", file=sys.stderr
f"Error: El subdirectorio '{plc_subdir_name}' no existe dentro de '{working_directory}'. "
f"Asegúrese de que la ruta del directorio de trabajo apunte a la carpeta que *contiene* la carpeta '{plc_subdir_name}'.", file=sys.stderr
)
sys.exit(1)
search_pattern = os.path.join(xml_project_dir, "**", "*.xml")
@ -315,11 +325,12 @@ if __name__ == "__main__":
)
xml_files_found.sort()
[
log_message(f" - {os.path.relpath(xml_file, script_dir)}", log_f)
log_message(f" - {os.path.relpath(xml_file, working_directory)}", log_f) # Mostrar ruta relativa al working_directory original
for xml_file in xml_files_found
]
# --- Directorios de salida ---
# Estos directorios ahora se crearán DENTRO de xml_project_dir (es decir, dentro de 'PLC')
scl_output_dir = os.path.join(xml_project_dir, SCL_OUTPUT_DIRNAME)
xref_output_dir = os.path.join(xml_project_dir, XREF_OUTPUT_DIRNAME)
@ -334,8 +345,8 @@ if __name__ == "__main__":
failed_count = 0
skipped_partial_count = 0
for xml_filepath in xml_files_found:
relative_path = os.path.relpath(xml_filepath, script_dir)
for i, xml_filepath in enumerate(xml_files_found):
relative_path = os.path.relpath(xml_filepath, working_directory)
log_message(f"\n--- Procesando archivo: {relative_path} ---", log_f)
status = {"x1_ok": None, "x2_ok": None, "x3_ok": None}
file_status[relative_path] = status
@ -443,7 +454,7 @@ if __name__ == "__main__":
if run_x4:
log_message(
f"Ejecutando {script4} sobre: {xml_project_dir}, salida en: {xref_output_dir}",
f"Ejecutando {script4} sobre el directorio: {xml_project_dir}, salida en: {xref_output_dir}",
log_f,
)
success_x4 = run_script(
@ -472,10 +483,11 @@ if __name__ == "__main__":
run_x5 = False
if run_x5:
output_agg_file = os.path.join(xml_project_dir, AGGREGATED_FILENAME)
# El archivo agregado se guarda en el working_directory original, un nivel por encima de xml_project_dir
output_agg_file = os.path.join(working_directory, AGGREGATED_FILENAME)
log_message(
f"Ejecutando {script5} sobre: {xml_project_dir}, salida en: {output_agg_file}",
log_f,
f"Ejecutando {script5} sobre el directorio: {xml_project_dir}, salida agregada en: {output_agg_file}",
log_f
)
success_x5 = run_script(
script5, xml_project_dir, log_f, "-o", output_agg_file
@ -555,5 +567,5 @@ if __name__ == "__main__":
print(f"Advertencia: Error durante flush/fsync final del log: {flush_err}", file=sys.stderr)
# <-- FIN NUEVO -->
print(f"\n{final_console_message} Consulta '{LOG_FILENAME}' para detalles.")
# Mensaje final ya impreso antes del flush
sys.exit(exit_code) # Salir con el código apropiado

View File

@ -1,3 +1,9 @@
"""
LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL
Este script convierte archivos XML de Siemens LAD/FUP a un formato JSON simplificado.
"""
# ToUpload/x1_to_json.py
# -*- coding: utf-8 -*-
import json
@ -10,6 +16,11 @@ from lxml import etree
from collections import defaultdict
import copy
import time # <-- NUEVO: Para obtener metadatos
script_root = os.path.dirname(
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
)
sys.path.append(script_root)
from backend.script_utils import load_configuration
# Importar funciones comunes y namespaces desde el nuevo módulo de utils
try:
@ -448,6 +459,8 @@ def convert_xml_to_json(xml_filepath, json_filepath, parser_map):
# --- Punto de Entrada Principal (__main__) ---
if __name__ == "__main__":
configs = load_configuration()
working_directory = configs.get("working_directory")
parser = argparse.ArgumentParser(
description="Convert Simatic XML (FC/FB/OB/DB/UDT/TagTable) to simplified JSON using dynamic parsers and add XML metadata."
)

View File

@ -1,3 +1,10 @@
"""
LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL
Este script convierte un archivo JSON simplificado (resultado de un análisis de un XML de Siemens) a un
JSON enriquecido con lógica SCL. Se enfoca en la lógica de programación y la agrupación de instrucciones IF.
"""
# -*- coding: utf-8 -*-
import json
import argparse
@ -8,6 +15,11 @@ import re
import importlib
import sys
import sympy
script_root = os.path.dirname(
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
)
sys.path.append(script_root)
from backend.script_utils import load_configuration
# Import necessary components from processors directory
from processors.processor_utils import format_variable_name, sympy_expr_to_scl
@ -520,6 +532,8 @@ def process_json_to_scl(json_filepath, output_json_filepath):
# --- Ejecución (MODIFICADO) ---
if __name__ == "__main__":
configs = load_configuration()
working_directory = configs.get("working_directory")
parser = argparse.ArgumentParser(
description="Process simplified JSON to embed SCL logic, copying XML metadata. Expects original XML filepath."
) # <-- MODIFICADO

View File

@ -1,3 +1,9 @@
"""
LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL
Este script es parte de un conjunto de herramientas para convertir proyectos de Siemens LAD/FUP a SCL.
"""
# ToUpload/x3_generate_scl.py
# -*- coding: utf-8 -*-
import json
@ -6,6 +12,11 @@ import re
import argparse
import sys
import traceback
script_root = os.path.dirname(
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
)
sys.path.append(script_root)
from backend.script_utils import load_configuration
# --- Importar Generadores Específicos ---
try:
@ -132,6 +143,8 @@ def generate_scl_or_markdown(
# --- Ejecución (MODIFICADO para usar SCL_OUTPUT_DIRNAME) ---
if __name__ == "__main__":
configs = load_configuration()
working_directory = configs.get("working_directory")
parser = argparse.ArgumentParser(
description=f"Generate final SCL/Markdown file into '{SCL_OUTPUT_DIRNAME}/'."
) # <-- MODIFICADO

View File

@ -1,3 +1,9 @@
"""
LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL
Este script genera documentacion MD de Cross Reference para Obsidian
"""
# ToUpload/x4_cross_reference.py
# -*- coding: utf-8 -*-
import json
@ -10,6 +16,11 @@ import re
import urllib.parse
import shutil # <-- NUEVO: Para copiar archivos
from collections import defaultdict
script_root = os.path.dirname(
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
)
sys.path.append(script_root)
from backend.script_utils import load_configuration
# --- Importar format_variable_name (sin cambios) ---
try:
@ -627,6 +638,8 @@ def generate_cross_references(project_root_dir, output_dir):
# --- Punto de Entrada (sin cambios) ---
if __name__ == "__main__":
configs = load_configuration()
working_directory = configs.get("working_directory")
parser = argparse.ArgumentParser(
description="Genera refs cruzadas y prepara archivos fuente MD para Obsidian."
)

View File

@ -1,3 +1,9 @@
"""
LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL
Este script genera documentación en Markdown y SCL a partir de un proyecto XML de Siemens LAD/FUP.
"""
# ToUpload/x5_aggregate.py
# -*- coding: utf-8 -*-
import os
@ -5,6 +11,11 @@ import argparse
import sys
import glob
import traceback
script_root = os.path.dirname(
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
)
sys.path.append(script_root)
from backend.script_utils import load_configuration
# --- Constantes ---
# Nombre del archivo de salida por defecto (se creará en el directorio raíz del proyecto)
@ -98,6 +109,8 @@ def aggregate_files(project_root_dir, output_filepath):
# --- Punto de Entrada ---
if __name__ == "__main__":
configs = load_configuration()
working_directory = configs.get("working_directory")
parser = argparse.ArgumentParser(
description="Agrega archivos .scl y .md generados en un único archivo Markdown."
)

File diff suppressed because it is too large Load Diff