Add technical documentation for parsing TIA Portal _XRef.xml files to generate call trees
- Introduced a comprehensive guide detailing the structure and interpretation of _XRef.xml files. - Explained key XML elements necessary for constructing call trees, including SourceObject, ReferenceObject, and Location. - Provided a step-by-step data extraction strategy for identifying caller-callee relationships. - Included example Python code for parsing XML and aggregating call relationships. - Addressed considerations for handling multiple files and variations across TIA Portal versions.
This commit is contained in:
parent
8fcb441003
commit
1f64cdf448
|
@ -0,0 +1,707 @@
|
|||
--- Log de Ejecución: x4.py ---
|
||||
Grupo: ObtainIOFromProjectTia
|
||||
Directorio de Trabajo: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport
|
||||
Inicio: 2025-05-05 12:09:26
|
||||
Fin: 2025-05-05 12:16:20
|
||||
Duración: 0:06:53.110393
|
||||
Estado: SUCCESS (Código de Salida: 0)
|
||||
|
||||
--- SALIDA ESTÁNDAR (STDOUT) ---
|
||||
--- TIA Portal Cross-Reference Exporter ---
|
||||
|
||||
Selected Project: C:/Trabajo/SIDEL/06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)/InLavoro/PLC/SAE196_c0.2/SAE196_c0.2.ap18
|
||||
Using Export Directory: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref
|
||||
|
||||
Connecting to TIA Portal V18.0...
|
||||
2025-05-05 12:09:30,267 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Global OpenPortal - Start TIA Portal, please acknowledge the security dialog.
|
||||
2025-05-05 12:09:30,279 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Global OpenPortal - With user interface
|
||||
Connected to TIA Portal.
|
||||
2025-05-05 12:09:48,418 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Portal GetProcessId - Process id: 24284
|
||||
Portal Process ID: 24284
|
||||
Opening project: SAE196_c0.2.ap18...
|
||||
2025-05-05 12:09:48,668 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Portal OpenProject - Open project... C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\InLavoro\PLC\SAE196_c0.2\SAE196_c0.2.ap18
|
||||
Project opened successfully.
|
||||
2025-05-05 12:10:06,156 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Project GetPlcs - Found plc PLC with parent name S71500/ET200MP station_1
|
||||
Found 1 PLC(s). Starting cross-reference export process...
|
||||
|
||||
--- Processing PLC: PLC ---
|
||||
|
||||
[PLC: PLC] Exporting Program Block Cross-References...
|
||||
Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\ProgramBlocks_CR
|
||||
Found 380 program blocks.
|
||||
Processing block: _CYCL_EXC...
|
||||
Exporting cross-references for _CYCL_EXC...
|
||||
Processing block: COMPLETE RESTART...
|
||||
Exporting cross-references for COMPLETE RESTART...
|
||||
Processing block: I/O_FLT1...
|
||||
Exporting cross-references for I/O_FLT1...
|
||||
Processing block: MOD_ERR...
|
||||
Exporting cross-references for MOD_ERR...
|
||||
Processing block: ProDiagOB...
|
||||
Exporting cross-references for ProDiagOB...
|
||||
Processing block: Programming error...
|
||||
Exporting cross-references for Programming error...
|
||||
Processing block: RACK_FLT...
|
||||
Exporting cross-references for RACK_FLT...
|
||||
Processing block: Time error interrupt...
|
||||
Exporting cross-references for Time error interrupt...
|
||||
Processing block: Baialage...
|
||||
Exporting cross-references for Baialage...
|
||||
Processing block: BlenderCtrl__Main...
|
||||
Exporting cross-references for BlenderCtrl__Main...
|
||||
Processing block: BlenderCtrl_CIPModeInit...
|
||||
Exporting cross-references for BlenderCtrl_CIPModeInit...
|
||||
Processing block: BlenderCtrl_ProdModeInit...
|
||||
Exporting cross-references for BlenderCtrl_ProdModeInit...
|
||||
Processing block: BlenderCtrl_ResetSPWord...
|
||||
Exporting cross-references for BlenderCtrl_ResetSPWord...
|
||||
Processing block: BlenderCtrl_UpdatePWord...
|
||||
Exporting cross-references for BlenderCtrl_UpdatePWord...
|
||||
Processing block: BlenderPID_NextRecipe...
|
||||
Exporting cross-references for BlenderPID_NextRecipe...
|
||||
Processing block: BlenderRinse...
|
||||
Exporting cross-references for BlenderRinse...
|
||||
Processing block: BlenderRinse_Done...
|
||||
Exporting cross-references for BlenderRinse_Done...
|
||||
Processing block: BlenderRun_ProdTime...
|
||||
Exporting cross-references for BlenderRun_ProdTime...
|
||||
Processing block: BlenderRun_Stopping...
|
||||
Exporting cross-references for BlenderRun_Stopping...
|
||||
Processing block: Blocco_1...
|
||||
Exporting cross-references for Blocco_1...
|
||||
Processing block: Block_compare...
|
||||
Exporting cross-references for Block_compare...
|
||||
Processing block: Block_move...
|
||||
Exporting cross-references for Block_move...
|
||||
Processing block: CarboWaterLine_Seq...
|
||||
Exporting cross-references for CarboWaterLine_Seq...
|
||||
Processing block: Cetrifugal_Head...
|
||||
Exporting cross-references for Cetrifugal_Head...
|
||||
Processing block: CIP CVQ...
|
||||
Exporting cross-references for CIP CVQ...
|
||||
Processing block: CIP FlipFlop...
|
||||
Exporting cross-references for CIP FlipFlop...
|
||||
Processing block: CIPLocal_ProgInizialize...
|
||||
Exporting cross-references for CIPLocal_ProgInizialize...
|
||||
Processing block: CIPLocal_WaitEvent_Ctrl...
|
||||
Exporting cross-references for CIPLocal_WaitEvent_Ctrl...
|
||||
Processing block: CIPMain...
|
||||
Exporting cross-references for CIPMain...
|
||||
Processing block: CIPMain_Flood...
|
||||
Exporting cross-references for CIPMain_Flood...
|
||||
Processing block: CIPMain_Total Drain...
|
||||
Exporting cross-references for CIPMain_Total Drain...
|
||||
Processing block: Clock Signal...
|
||||
Exporting cross-references for Clock Signal...
|
||||
Processing block: CO2 Solubility...
|
||||
Exporting cross-references for CO2 Solubility...
|
||||
Processing block: CO2EqPress...
|
||||
Exporting cross-references for CO2EqPress...
|
||||
Processing block: CO2InjPressure...
|
||||
Exporting cross-references for CO2InjPressure...
|
||||
Processing block: CTRLCoolingSystem...
|
||||
Exporting cross-references for CTRLCoolingSystem...
|
||||
Processing block: DeairCO2TempComp...
|
||||
Exporting cross-references for DeairCO2TempComp...
|
||||
Processing block: DeaireationValve...
|
||||
Exporting cross-references for DeaireationValve...
|
||||
Processing block: Deaireator StartUp_Seq...
|
||||
Exporting cross-references for Deaireator StartUp_Seq...
|
||||
Processing block: DeltaP...
|
||||
Exporting cross-references for DeltaP...
|
||||
Processing block: FeedForward...
|
||||
Exporting cross-references for FeedForward...
|
||||
Processing block: Flow_To_Press_Loss...
|
||||
Exporting cross-references for Flow_To_Press_Loss...
|
||||
Processing block: Freq_To_mmH2O...
|
||||
Exporting cross-references for Freq_To_mmH2O...
|
||||
Processing block: FrictionLoss...
|
||||
Exporting cross-references for FrictionLoss...
|
||||
Processing block: FW_DRand...
|
||||
Exporting cross-references for FW_DRand...
|
||||
Processing block: GetProdBrixCO2_Anal_Inpt...
|
||||
Exporting cross-references for GetProdBrixCO2_Anal_Inpt...
|
||||
Processing block: Interlocking_Panel_1...
|
||||
Exporting cross-references for Interlocking_Panel_1...
|
||||
Processing block: ITC Communic CIPRoom...
|
||||
Exporting cross-references for ITC Communic CIPRoom...
|
||||
Processing block: ITC Communic Filler...
|
||||
Exporting cross-references for ITC Communic Filler...
|
||||
Processing block: ITC Communic MainRoutine...
|
||||
Exporting cross-references for ITC Communic MainRoutine...
|
||||
Processing block: ITC Communic ProdRoom...
|
||||
Exporting cross-references for ITC Communic ProdRoom...
|
||||
Processing block: ITC DataIn...
|
||||
Exporting cross-references for ITC DataIn...
|
||||
Processing block: ITC DataOut...
|
||||
Exporting cross-references for ITC DataOut...
|
||||
Processing block: ITC Exchange MainRoutine...
|
||||
Exporting cross-references for ITC Exchange MainRoutine...
|
||||
Processing block: ITC MainRoutine...
|
||||
Exporting cross-references for ITC MainRoutine...
|
||||
Processing block: LIMIT_I...
|
||||
Exporting cross-references for LIMIT_I...
|
||||
Processing block: LIMIT_R...
|
||||
Exporting cross-references for LIMIT_R...
|
||||
Processing block: Maselli_PA_Control...
|
||||
Exporting cross-references for Maselli_PA_Control...
|
||||
Processing block: Maselli_PA_Ctrl_Transfer...
|
||||
Exporting cross-references for Maselli_PA_Ctrl_Transfer...
|
||||
Processing block: Maselli_PA_Ctrl_Write...
|
||||
Exporting cross-references for Maselli_PA_Ctrl_Write...
|
||||
Processing block: MFMAnalogValues_Totalize...
|
||||
Exporting cross-references for MFMAnalogValues_Totalize...
|
||||
Processing block: mmH2O_TO_Freq...
|
||||
Exporting cross-references for mmH2O_TO_Freq...
|
||||
Processing block: ModValveFault...
|
||||
Exporting cross-references for ModValveFault...
|
||||
Processing block: mPDS_SYR_PA_Control...
|
||||
Exporting cross-references for mPDS_SYR_PA_Control...
|
||||
Processing block: ONS_R...
|
||||
Exporting cross-references for ONS_R...
|
||||
Processing block: Prod Tank RunOut_Seq...
|
||||
Exporting cross-references for Prod Tank RunOut_Seq...
|
||||
Processing block: ProductLiterInTank...
|
||||
Exporting cross-references for ProductLiterInTank...
|
||||
Processing block: ProductPipeDrain_Seq...
|
||||
Exporting cross-references for ProductPipeDrain_Seq...
|
||||
Processing block: ProductPipeRunOut_Seq...
|
||||
Exporting cross-references for ProductPipeRunOut_Seq...
|
||||
Processing block: ProductQuality...
|
||||
Exporting cross-references for ProductQuality...
|
||||
Processing block: SEL_I...
|
||||
Exporting cross-references for SEL_I...
|
||||
Processing block: SEL_R...
|
||||
Exporting cross-references for SEL_R...
|
||||
Processing block: SelCheckBrixSource...
|
||||
Exporting cross-references for SelCheckBrixSource...
|
||||
Processing block: SLIM_Block...
|
||||
Exporting cross-references for SLIM_Block...
|
||||
Processing block: SpeedAdjust...
|
||||
Exporting cross-references for SpeedAdjust...
|
||||
Processing block: Syrup Line MFM Prep_Seq...
|
||||
Exporting cross-references for Syrup Line MFM Prep_Seq...
|
||||
Processing block: Syrup MFM StartUp_Seq...
|
||||
Exporting cross-references for Syrup MFM StartUp_Seq...
|
||||
Processing block: SyrupDensity...
|
||||
Exporting cross-references for SyrupDensity...
|
||||
Processing block: SyrupRoomCtrl...
|
||||
Exporting cross-references for SyrupRoomCtrl...
|
||||
Processing block: WaterDensity...
|
||||
Exporting cross-references for WaterDensity...
|
||||
Processing block: WritePeripheral...
|
||||
Exporting cross-references for WritePeripheral...
|
||||
Processing block: CIPRecipeManagement_Data...
|
||||
Exporting cross-references for CIPRecipeManagement_Data...
|
||||
Processing block: Co2_Counters_DB...
|
||||
Exporting cross-references for Co2_Counters_DB...
|
||||
Processing block: Default_SupervisionDB...
|
||||
Exporting cross-references for Default_SupervisionDB...
|
||||
Processing block: ITC Communic CIP DI...
|
||||
Exporting cross-references for ITC Communic CIP DI...
|
||||
Processing block: ITC Communic Filler DI...
|
||||
Exporting cross-references for ITC Communic Filler DI...
|
||||
Processing block: ITC Communic Mixer DI...
|
||||
Exporting cross-references for ITC Communic Mixer DI...
|
||||
Processing block: ITC Communic Product Room DI...
|
||||
Exporting cross-references for ITC Communic Product Room DI...
|
||||
Processing block: Key Read & Write Data...
|
||||
Exporting cross-references for Key Read & Write Data...
|
||||
Processing block: mPPM303StartUpRamp...
|
||||
Exporting cross-references for mPPM303StartUpRamp...
|
||||
Processing block: PID_RMM304_Data...
|
||||
Exporting cross-references for PID_RMM304_Data...
|
||||
Processing block: PID_RVN302_Data...
|
||||
Exporting cross-references for PID_RVN302_Data...
|
||||
Processing block: PID_RVS318_Data...
|
||||
Exporting cross-references for PID_RVS318_Data...
|
||||
Processing block: ProdBrixRecovery_DB...
|
||||
Exporting cross-references for ProdBrixRecovery_DB...
|
||||
Processing block: Prod Tank Drain_Seq...
|
||||
Exporting cross-references for Prod Tank Drain_Seq...
|
||||
Processing block: _StepMove...
|
||||
Exporting cross-references for _StepMove...
|
||||
Processing block: _StepMove_Test...
|
||||
Exporting cross-references for _StepMove_Test...
|
||||
Processing block: RecipeManagement_Data...
|
||||
Exporting cross-references for RecipeManagement_Data...
|
||||
Processing block: Blender_Procedure Data...
|
||||
Exporting cross-references for Blender_Procedure Data...
|
||||
Processing block: BlenderPID__Main_Data...
|
||||
Exporting cross-references for BlenderPID__Main_Data...
|
||||
Processing block: BlenderRun_MeasFil_Data...
|
||||
Exporting cross-references for BlenderRun_MeasFil_Data...
|
||||
Processing block: BrixTracking_Data...
|
||||
Exporting cross-references for BrixTracking_Data...
|
||||
Processing block: CO2Tracking_Data...
|
||||
Exporting cross-references for CO2Tracking_Data...
|
||||
Processing block: FirstProduction_Data...
|
||||
Exporting cross-references for FirstProduction_Data...
|
||||
Processing block: Input_Data...
|
||||
Exporting cross-references for Input_Data...
|
||||
Processing block: ISOonTCP_or_TCP_Protocol_DB...
|
||||
Exporting cross-references for ISOonTCP_or_TCP_Protocol_DB...
|
||||
Processing block: MFM_Analog_Value_Data...
|
||||
Exporting cross-references for MFM_Analog_Value_Data...
|
||||
Processing block: PID MAIN Data...
|
||||
Exporting cross-references for PID MAIN Data...
|
||||
Processing block: PID_Filling_Head_Data...
|
||||
Exporting cross-references for PID_Filling_Head_Data...
|
||||
Processing block: PID_RMM301_Data...
|
||||
Exporting cross-references for PID_RMM301_Data...
|
||||
Processing block: PID_RMM303_Data...
|
||||
Exporting cross-references for PID_RMM303_Data...
|
||||
Processing block: PID_RMP302_Data...
|
||||
Exporting cross-references for PID_RMP302_Data...
|
||||
Processing block: PID_RVM301_Data...
|
||||
Exporting cross-references for PID_RVM301_Data...
|
||||
Processing block: PID_RVM319_Data...
|
||||
Exporting cross-references for PID_RVM319_Data...
|
||||
Processing block: PID_RVP303_Data...
|
||||
Exporting cross-references for PID_RVP303_Data...
|
||||
Processing block: Sel_Check_Brix_Data...
|
||||
Exporting cross-references for Sel_Check_Brix_Data...
|
||||
Processing block: Signal_Gen_Data...
|
||||
Exporting cross-references for Signal_Gen_Data...
|
||||
Processing block: System_Run_Out_Data...
|
||||
Exporting cross-references for System_Run_Out_Data...
|
||||
Processing block: SubCarb_DB...
|
||||
Exporting cross-references for SubCarb_DB...
|
||||
Processing block: CYC_INT5...
|
||||
Exporting cross-references for CYC_INT5...
|
||||
Processing block: BlenderCtrl_All Auto...
|
||||
Exporting cross-references for BlenderCtrl_All Auto...
|
||||
Processing block: BlenderCtrl_InitErrors...
|
||||
Exporting cross-references for BlenderCtrl_InitErrors...
|
||||
Processing block: BlenderCtrl_ManualActive...
|
||||
Exporting cross-references for BlenderCtrl_ManualActive...
|
||||
Processing block: BlenderCtrl_MFM Command...
|
||||
Exporting cross-references for BlenderCtrl_MFM Command...
|
||||
Processing block: BlenderPID_FlowMeterErro...
|
||||
Exporting cross-references for BlenderPID_FlowMeterErro...
|
||||
Processing block: BlenderPID_PIDResInteg...
|
||||
Exporting cross-references for BlenderPID_PIDResInteg...
|
||||
Processing block: BlenderPIDCtrl_PresRelea...
|
||||
Exporting cross-references for BlenderPIDCtrl_PresRelea...
|
||||
Processing block: BlenderPIDCtrl_SaveValve...
|
||||
Exporting cross-references for BlenderPIDCtrl_SaveValve...
|
||||
Processing block: BlenderRun__Control...
|
||||
Exporting cross-references for BlenderRun__Control...
|
||||
Processing block: BlenderRun_SelectConstan...
|
||||
Exporting cross-references for BlenderRun_SelectConstan...
|
||||
Processing block: BlendFill StartUp_Seq...
|
||||
Exporting cross-references for BlendFill StartUp_Seq...
|
||||
Processing block: CIP_SimpleProgr_Init...
|
||||
Exporting cross-references for CIP_SimpleProgr_Init...
|
||||
Processing block: CIPLocal...
|
||||
Exporting cross-references for CIPLocal...
|
||||
Processing block: CIPLocal_ExecSimpleCIP...
|
||||
Exporting cross-references for CIPLocal_ExecSimpleCIP...
|
||||
Processing block: CIPLocal_ExecStep...
|
||||
Exporting cross-references for CIPLocal_ExecStep...
|
||||
Processing block: CIPLocal_ProgStepDown...
|
||||
Exporting cross-references for CIPLocal_ProgStepDown...
|
||||
Processing block: CIPLocal_ProgStepUp...
|
||||
Exporting cross-references for CIPLocal_ProgStepUp...
|
||||
Processing block: CIPReportManager...
|
||||
Exporting cross-references for CIPReportManager...
|
||||
Processing block: CPU_DP Global Diag...
|
||||
Exporting cross-references for CPU_DP Global Diag...
|
||||
Processing block: CVQ_1p7_8_Perc...
|
||||
Exporting cross-references for CVQ_1p7_8_Perc...
|
||||
Processing block: DELETE...
|
||||
Exporting cross-references for DELETE...
|
||||
Processing block: EQ_STRNG...
|
||||
Exporting cross-references for EQ_STRNG...
|
||||
Processing block: FillerControl...
|
||||
Exporting cross-references for FillerControl...
|
||||
Processing block: FillerControl_DataSend...
|
||||
Exporting cross-references for FillerControl_DataSend...
|
||||
Processing block: FillingTime...
|
||||
Exporting cross-references for FillingTime...
|
||||
Processing block: Input_CheckFlowMetersSta...
|
||||
Exporting cross-references for Input_CheckFlowMetersSta...
|
||||
Processing block: Input_DigitalCtrl...
|
||||
Exporting cross-references for Input_DigitalCtrl...
|
||||
Processing block: Input_DigitalScanner...
|
||||
Exporting cross-references for Input_DigitalScanner...
|
||||
Processing block: Instrument_Scanner...
|
||||
Exporting cross-references for Instrument_Scanner...
|
||||
Processing block: Interlocking_Panel...
|
||||
Exporting cross-references for Interlocking_Panel...
|
||||
Processing block: Maselli_PA_Ctrl_Read...
|
||||
Exporting cross-references for Maselli_PA_Ctrl_Read...
|
||||
Processing block: MaxCarboCO2 Vol...
|
||||
Exporting cross-references for MaxCarboCO2 Vol...
|
||||
Processing block: MessageScroll...
|
||||
Exporting cross-references for MessageScroll...
|
||||
Processing block: mPDS_SYR_PA_Ctrl_Read...
|
||||
Exporting cross-references for mPDS_SYR_PA_Ctrl_Read...
|
||||
Processing block: Output_CO2InjPress...
|
||||
Exporting cross-references for Output_CO2InjPress...
|
||||
Processing block: Pneumatic Valve Fault...
|
||||
Exporting cross-references for Pneumatic Valve Fault...
|
||||
Processing block: PPM O2...
|
||||
Exporting cross-references for PPM O2...
|
||||
Processing block: PPM303_VFC_Ctrl...
|
||||
Exporting cross-references for PPM303_VFC_Ctrl...
|
||||
Processing block: PPM305_VFC_Ctrl...
|
||||
Exporting cross-references for PPM305_VFC_Ctrl...
|
||||
Processing block: PPM307_VFC_Ctrl...
|
||||
Exporting cross-references for PPM307_VFC_Ctrl...
|
||||
Processing block: PPN301_VFC_Ctrl...
|
||||
Exporting cross-references for PPN301_VFC_Ctrl...
|
||||
Processing block: PPP302_VFC_Ctrl...
|
||||
Exporting cross-references for PPP302_VFC_Ctrl...
|
||||
Processing block: ProdBrixRecovery_BrixCal...
|
||||
Exporting cross-references for ProdBrixRecovery_BrixCal...
|
||||
Processing block: ProdReportManager...
|
||||
Exporting cross-references for ProdReportManager...
|
||||
Processing block: ProductQuality_Messages...
|
||||
Exporting cross-references for ProductQuality_Messages...
|
||||
Processing block: Profibus Network...
|
||||
Exporting cross-references for Profibus Network...
|
||||
Processing block: QCO Monitor...
|
||||
Exporting cross-references for QCO Monitor...
|
||||
Processing block: ReadAnalogIn...
|
||||
Exporting cross-references for ReadAnalogIn...
|
||||
Processing block: RecipeCalculation...
|
||||
Exporting cross-references for RecipeCalculation...
|
||||
Processing block: REPLACE_Mod...
|
||||
Exporting cross-references for REPLACE_Mod...
|
||||
Processing block: SyrBrix_SyrupCorrPerc...
|
||||
Exporting cross-references for SyrBrix_SyrupCorrPerc...
|
||||
Processing block: Syrup Rinse QCO_Seq...
|
||||
Exporting cross-references for Syrup Rinse QCO_Seq...
|
||||
Processing block: SyrupRoomCtrl_UpdateVal...
|
||||
Exporting cross-references for SyrupRoomCtrl_UpdateVal...
|
||||
Processing block: T_Timer...
|
||||
Exporting cross-references for T_Timer...
|
||||
Processing block: TankLevelToHeight...
|
||||
Exporting cross-references for TankLevelToHeight...
|
||||
Processing block: VacuumCtrl...
|
||||
Exporting cross-references for VacuumCtrl...
|
||||
Processing block: ValveFlow...
|
||||
Exporting cross-references for ValveFlow...
|
||||
Processing block: BlenderPID__Main...
|
||||
Exporting cross-references for BlenderPID__Main...
|
||||
Processing block: BlenderPID_BlendingFault...
|
||||
Exporting cross-references for BlenderPID_BlendingFault...
|
||||
Processing block: BlenderPID_PIDFFCalc...
|
||||
Exporting cross-references for BlenderPID_PIDFFCalc...
|
||||
Processing block: BlenderPID_PIDInitParam...
|
||||
Exporting cross-references for BlenderPID_PIDInitParam...
|
||||
Processing block: BlenderPID_PIDSPCalc...
|
||||
Exporting cross-references for BlenderPID_PIDSPCalc...
|
||||
Processing block: BlenderPIDCtrl_Monitor...
|
||||
Exporting cross-references for BlenderPIDCtrl_Monitor...
|
||||
Processing block: BlenderPIDCtrl_ReadAnIn...
|
||||
Exporting cross-references for BlenderPIDCtrl_ReadAnIn...
|
||||
Processing block: BlenderPIDCtrl_SaveInteg...
|
||||
Exporting cross-references for BlenderPIDCtrl_SaveInteg...
|
||||
Processing block: BlenderRun_MeasFilSpeed...
|
||||
Exporting cross-references for BlenderRun_MeasFilSpeed...
|
||||
Processing block: BrixTracking_ProdSamples...
|
||||
Exporting cross-references for BrixTracking_ProdSamples...
|
||||
Processing block: BrixTracking_SampleTime...
|
||||
Exporting cross-references for BrixTracking_SampleTime...
|
||||
Processing block: CIPRecipeManagement...
|
||||
Exporting cross-references for CIPRecipeManagement...
|
||||
Processing block: Co2_Counters...
|
||||
Exporting cross-references for Co2_Counters...
|
||||
Processing block: CO2Tracking...
|
||||
Exporting cross-references for CO2Tracking...
|
||||
Processing block: CO2Tracking_ProdSamples...
|
||||
Exporting cross-references for CO2Tracking_ProdSamples...
|
||||
Processing block: CO2Tracking_SampleTime...
|
||||
Exporting cross-references for CO2Tracking_SampleTime...
|
||||
Processing block: Default_SupervisionFB...
|
||||
Exporting cross-references for Default_SupervisionFB...
|
||||
Processing block: Delay...
|
||||
Exporting cross-references for Delay...
|
||||
Processing block: Input...
|
||||
Exporting cross-references for Input...
|
||||
Processing block: Integral...
|
||||
Exporting cross-references for Integral...
|
||||
Processing block: Key Read & Write...
|
||||
Exporting cross-references for Key Read & Write...
|
||||
Processing block: LowPassFilter...
|
||||
Exporting cross-references for LowPassFilter...
|
||||
Processing block: MFMAnalogValues...
|
||||
Exporting cross-references for MFMAnalogValues...
|
||||
Processing block: MSE Slope...
|
||||
Exporting cross-references for MSE Slope...
|
||||
Processing block: PID_Filling_Head_Calc...
|
||||
Exporting cross-references for PID_Filling_Head_Calc...
|
||||
Processing block: PID_RMM301...
|
||||
Exporting cross-references for PID_RMM301...
|
||||
Processing block: PID_RMM303...
|
||||
Exporting cross-references for PID_RMM303...
|
||||
Processing block: PID_RMM304...
|
||||
Exporting cross-references for PID_RMM304...
|
||||
Processing block: PID_RMP302...
|
||||
Exporting cross-references for PID_RMP302...
|
||||
Processing block: PID_RVM301...
|
||||
Exporting cross-references for PID_RVM301...
|
||||
Processing block: PID_RVM319_PRD...
|
||||
Exporting cross-references for PID_RVM319_PRD...
|
||||
Processing block: PID_RVN302...
|
||||
Exporting cross-references for PID_RVN302...
|
||||
Processing block: PID_RVP303...
|
||||
Exporting cross-references for PID_RVP303...
|
||||
Processing block: PID_RVS318...
|
||||
Exporting cross-references for PID_RVS318...
|
||||
Processing block: PIDControl...
|
||||
Exporting cross-references for PIDControl...
|
||||
Processing block: Procedure...
|
||||
Exporting cross-references for Procedure...
|
||||
Processing block: ProcedureBlendFill StartUp...
|
||||
Exporting cross-references for ProcedureBlendFill StartUp...
|
||||
Processing block: ProcedureBrixTracking...
|
||||
Exporting cross-references for ProcedureBrixTracking...
|
||||
Processing block: ProcedureCarboWaterLine...
|
||||
Exporting cross-references for ProcedureCarboWaterLine...
|
||||
Processing block: ProcedureDeaireator StartUp...
|
||||
Exporting cross-references for ProcedureDeaireator StartUp...
|
||||
Processing block: ProcedureFirstProduction...
|
||||
Exporting cross-references for ProcedureFirstProduction...
|
||||
Processing block: ProcedureProdBrixRecovery...
|
||||
Exporting cross-references for ProcedureProdBrixRecovery...
|
||||
Processing block: ProcedureProdTankDrain...
|
||||
Exporting cross-references for ProcedureProdTankDrain...
|
||||
Processing block: ProcedureProdTankRunOut...
|
||||
Exporting cross-references for ProcedureProdTankRunOut...
|
||||
Processing block: ProcedureSyrup RunOut...
|
||||
Exporting cross-references for ProcedureSyrup RunOut...
|
||||
Processing block: ProcedureSyrupLineMFMPrep...
|
||||
Exporting cross-references for ProcedureSyrupLineMFMPrep...
|
||||
Processing block: ProcedureSyrupMFMStartUp...
|
||||
Exporting cross-references for ProcedureSyrupMFMStartUp...
|
||||
Processing block: ProductAvailable...
|
||||
Exporting cross-references for ProductAvailable...
|
||||
Processing block: ProductPipeDrain...
|
||||
Exporting cross-references for ProductPipeDrain...
|
||||
Processing block: ProductPipeRunOut...
|
||||
Exporting cross-references for ProductPipeRunOut...
|
||||
Processing block: Signal Gen...
|
||||
Exporting cross-references for Signal Gen...
|
||||
Processing block: SlewLimit...
|
||||
Exporting cross-references for SlewLimit...
|
||||
Processing block: Statistical_Analisys...
|
||||
Exporting cross-references for Statistical_Analisys...
|
||||
Processing block: SubCarb...
|
||||
Exporting cross-references for SubCarb...
|
||||
Processing block: SyrBrix Autocorrection...
|
||||
Exporting cross-references for SyrBrix Autocorrection...
|
||||
Processing block: System_Run_Out...
|
||||
Exporting cross-references for System_Run_Out...
|
||||
Processing block: Blender_Constants...
|
||||
Exporting cross-references for Blender_Constants...
|
||||
Processing block: Blender_Variables...
|
||||
Exporting cross-references for Blender_Variables...
|
||||
Processing block: Blender_Variables_Pers...
|
||||
Exporting cross-references for Blender_Variables_Pers...
|
||||
Processing block: Blocco_dati_Test...
|
||||
Exporting cross-references for Blocco_dati_Test...
|
||||
Processing block: CIP_Program_Variables...
|
||||
Exporting cross-references for CIP_Program_Variables...
|
||||
Processing block: CIPRecipe#01...
|
||||
Exporting cross-references for CIPRecipe#01...
|
||||
Processing block: CIPRecipe#02...
|
||||
Exporting cross-references for CIPRecipe#02...
|
||||
Processing block: CIPRecipe#03...
|
||||
Exporting cross-references for CIPRecipe#03...
|
||||
Processing block: CIPRecipe#04...
|
||||
Exporting cross-references for CIPRecipe#04...
|
||||
Processing block: CIPRecipe#05...
|
||||
Exporting cross-references for CIPRecipe#05...
|
||||
Processing block: CIPRecipe#06...
|
||||
Exporting cross-references for CIPRecipe#06...
|
||||
Processing block: CIPRecipe#07...
|
||||
Exporting cross-references for CIPRecipe#07...
|
||||
Processing block: CIPRecipe#08...
|
||||
Exporting cross-references for CIPRecipe#08...
|
||||
Processing block: CIPRecipe#09...
|
||||
Exporting cross-references for CIPRecipe#09...
|
||||
Processing block: CIPRecipe#10...
|
||||
Exporting cross-references for CIPRecipe#10...
|
||||
Processing block: CIPRecipe#11...
|
||||
Exporting cross-references for CIPRecipe#11...
|
||||
Processing block: CIPRecipe#12...
|
||||
Exporting cross-references for CIPRecipe#12...
|
||||
Processing block: CIPRecipe#13...
|
||||
Exporting cross-references for CIPRecipe#13...
|
||||
Processing block: CIPRecipe#14...
|
||||
Exporting cross-references for CIPRecipe#14...
|
||||
Processing block: CIPRecipe#15...
|
||||
Exporting cross-references for CIPRecipe#15...
|
||||
Processing block: CIPRecipe#16...
|
||||
Exporting cross-references for CIPRecipe#16...
|
||||
Processing block: CIPRecipe#17...
|
||||
Exporting cross-references for CIPRecipe#17...
|
||||
Processing block: CIPRecipe#18...
|
||||
Exporting cross-references for CIPRecipe#18...
|
||||
Processing block: CIPRecipe#19...
|
||||
Exporting cross-references for CIPRecipe#19...
|
||||
Processing block: CIPRecipe#20...
|
||||
Exporting cross-references for CIPRecipe#20...
|
||||
Processing block: CIPRecipe#21...
|
||||
Exporting cross-references for CIPRecipe#21...
|
||||
Processing block: CIPRecipe#22...
|
||||
Exporting cross-references for CIPRecipe#22...
|
||||
Processing block: CIPRecipe#23...
|
||||
Exporting cross-references for CIPRecipe#23...
|
||||
Processing block: CIPRecipe#24...
|
||||
Exporting cross-references for CIPRecipe#24...
|
||||
Processing block: CIPRecipe#25...
|
||||
Exporting cross-references for CIPRecipe#25...
|
||||
Processing block: CIPRecipe#26...
|
||||
Exporting cross-references for CIPRecipe#26...
|
||||
Processing block: CIPRecipe#27...
|
||||
Exporting cross-references for CIPRecipe#27...
|
||||
Processing block: CIPRecipe#28...
|
||||
Exporting cross-references for CIPRecipe#28...
|
||||
Processing block: CIPRecipe#29...
|
||||
Exporting cross-references for CIPRecipe#29...
|
||||
Processing block: CIPRecipe#30...
|
||||
Exporting cross-references for CIPRecipe#30...
|
||||
Processing block: CIPReportDB...
|
||||
Exporting cross-references for CIPReportDB...
|
||||
Processing block: Filler_Head_Variables...
|
||||
Exporting cross-references for Filler_Head_Variables...
|
||||
Processing block: GLOBAL_DIAG_DB...
|
||||
Exporting cross-references for GLOBAL_DIAG_DB...
|
||||
Processing block: HMI CPU_DP Diag...
|
||||
Exporting cross-references for HMI CPU_DP Diag...
|
||||
Processing block: HMI Key User...
|
||||
Exporting cross-references for HMI Key User...
|
||||
Processing block: HMI_Alarms...
|
||||
Exporting cross-references for HMI_Alarms...
|
||||
Processing block: HMI_Digital...
|
||||
Exporting cross-references for HMI_Digital...
|
||||
ERROR accessing Program Blocks for cross-reference export: RemotingException: El objeto '/7a4a4a73_a97d_46f2_83b4_4f5e9d0e966e/df6uqosgttpdtg38rqj6huml_447.rem' se desconectó o no existe en el servidor.
|
||||
|
||||
[PLC: PLC] Exporting PLC Tag Table Cross-References...
|
||||
Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\PlcTags_CR
|
||||
Found 10 Tag Tables.
|
||||
Processing Tag Table: Memories...
|
||||
Exporting cross-references for Memories...
|
||||
Processing Tag Table: Tabella delle variabili standard...
|
||||
Exporting cross-references for Tabella delle variabili standard...
|
||||
Processing Tag Table: Timers_Counters...
|
||||
Exporting cross-references for Timers_Counters...
|
||||
Processing Tag Table: Inputs...
|
||||
Exporting cross-references for Inputs...
|
||||
Processing Tag Table: Outputs...
|
||||
Exporting cross-references for Outputs...
|
||||
Processing Tag Table: Tabella delle variabili_1...
|
||||
Exporting cross-references for Tabella delle variabili_1...
|
||||
Processing Tag Table: Tabella delle variabili_2...
|
||||
Exporting cross-references for Tabella delle variabili_2...
|
||||
Processing Tag Table: OutputsFesto...
|
||||
Exporting cross-references for OutputsFesto...
|
||||
Processing Tag Table: InputsMaster...
|
||||
Exporting cross-references for InputsMaster...
|
||||
Processing Tag Table: OutputsMaster...
|
||||
Exporting cross-references for OutputsMaster...
|
||||
Tag Table CR Export Summary: Exported=10, Skipped/Errors=0
|
||||
|
||||
[PLC: PLC] Exporting PLC Data Type (UDT) Cross-References...
|
||||
Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\PlcDataTypes_CR
|
||||
Found 24 UDTs.
|
||||
Processing UDT: AnalogInstrument...
|
||||
Exporting cross-references for AnalogInstrument...
|
||||
Processing UDT: CIP_Link_Type...
|
||||
Exporting cross-references for CIP_Link_Type...
|
||||
Processing UDT: CIP_Simple_Type...
|
||||
Exporting cross-references for CIP_Simple_Type...
|
||||
Processing UDT: CIP_Step_Type...
|
||||
Exporting cross-references for CIP_Step_Type...
|
||||
Processing UDT: CIP_WaitEvent_Type...
|
||||
Exporting cross-references for CIP_WaitEvent_Type...
|
||||
Processing UDT: Device...
|
||||
Exporting cross-references for Device...
|
||||
Processing UDT: DigitalInstrument...
|
||||
Exporting cross-references for DigitalInstrument...
|
||||
Processing UDT: FunctionButton...
|
||||
Exporting cross-references for FunctionButton...
|
||||
Processing UDT: PID...
|
||||
Exporting cross-references for PID...
|
||||
Processing UDT: QCO Phase...
|
||||
Exporting cross-references for QCO Phase...
|
||||
Processing UDT: QCO Spare...
|
||||
Exporting cross-references for QCO Spare...
|
||||
Processing UDT: QCO Timer...
|
||||
Exporting cross-references for QCO Timer...
|
||||
Processing UDT: QCO Timer_Array_1...
|
||||
Exporting cross-references for QCO Timer_Array_1...
|
||||
Processing UDT: Recipe_Prod...
|
||||
Exporting cross-references for Recipe_Prod...
|
||||
Processing UDT: ReportCIPSimpleData...
|
||||
Exporting cross-references for ReportCIPSimpleData...
|
||||
Processing UDT: TADDR_PAR...
|
||||
Exporting cross-references for TADDR_PAR...
|
||||
Processing UDT: TCON_PAR...
|
||||
Exporting cross-references for TCON_PAR...
|
||||
Processing UDT: TCON_PAR_LF...
|
||||
Exporting cross-references for TCON_PAR_LF...
|
||||
Processing UDT: Tipo di dati utente_1...
|
||||
Exporting cross-references for Tipo di dati utente_1...
|
||||
Processing UDT: Tipo di dati utente_2...
|
||||
Exporting cross-references for Tipo di dati utente_2...
|
||||
Processing UDT: ASLeds...
|
||||
Exporting cross-references for ASLeds...
|
||||
Processing UDT: IFLeds...
|
||||
Exporting cross-references for IFLeds...
|
||||
Processing UDT: SV_FB_State...
|
||||
Exporting cross-references for SV_FB_State...
|
||||
Processing UDT: SV_State...
|
||||
Exporting cross-references for SV_State...
|
||||
UDT CR Export Summary: Exported=24, Skipped/Errors=0
|
||||
|
||||
[PLC: PLC] Attempting to Export System Block Cross-References...
|
||||
Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\SystemBlocks_CR
|
||||
Found 9 system blocks (using get_system_blocks).
|
||||
Processing System Block: T_301...
|
||||
Exporting cross-references for T_301...
|
||||
Processing System Block: IEC_Timer_0_DB_9...
|
||||
Exporting cross-references for IEC_Timer_0_DB_9...
|
||||
Processing System Block: T_302...
|
||||
Exporting cross-references for T_302...
|
||||
Processing System Block: GET_Reciver...
|
||||
Exporting cross-references for GET_Reciver...
|
||||
Processing System Block: PUT_Send_Filler...
|
||||
Exporting cross-references for PUT_Send_Filler...
|
||||
Processing System Block: LED...
|
||||
Exporting cross-references for LED...
|
||||
Processing System Block: SCALE...
|
||||
Exporting cross-references for SCALE...
|
||||
Processing System Block: CONT_C...
|
||||
Exporting cross-references for CONT_C...
|
||||
Processing System Block: DeviceStates...
|
||||
Exporting cross-references for DeviceStates...
|
||||
System Block CR Export Summary: Exported=9, Skipped/Errors=0
|
||||
|
||||
[PLC: PLC] Attempting to Export Software Unit Cross-References...
|
||||
Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\SoftwareUnits_CR
|
||||
Found 0 Software Units.
|
||||
Software Unit CR Export Summary: Exported=0, Skipped/Errors=0
|
||||
|
||||
--- Finished processing PLC: PLC ---
|
||||
|
||||
Cross-reference export process completed.
|
||||
|
||||
Closing TIA Portal...
|
||||
2025-05-05 12:16:12,051 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Portal ClosePortal - Close TIA Portal
|
||||
TIA Portal closed.
|
||||
|
||||
Script finished.
|
||||
|
||||
--- ERRORES (STDERR) ---
|
||||
Traceback (most recent call last):
|
||||
File "D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\ObtainIOFromProjectTia\x4.py", line 100, in export_plc_cross_references
|
||||
block_name = block.get_name()
|
||||
^^^^^^^^^^^^^^^^
|
||||
ValueError: RemotingException: El objeto '/7a4a4a73_a97d_46f2_83b4_4f5e9d0e966e/df6uqosgttpdtg38rqj6huml_447.rem' se desconectó o no existe en el servidor.
|
||||
|
||||
--- FIN DEL LOG ---
|
|
@ -16,5 +16,11 @@
|
|||
"short_description": "Extrae IOs de un proyecto TIA Portal y genera un archivo Markdown.",
|
||||
"long_description": "Este script procesa un archivo AML exportado desde TIA Portal para extraer información de los IOs y generar un archivo Markdown con un resumen detallado.\n***\n**Lógica Principal:**\n\n1. **Selección de Archivo AML:** Abre un cuadro de diálogo para seleccionar el archivo AML exportado desde TIA Portal.\n2. **Procesamiento de Datos:**\n * Extrae información de dispositivos, redes y conexiones desde el archivo AML.\n * Identifica PLCs, redes y módulos IO.\n * Genera una estructura jerárquica de los dispositivos y sus conexiones.\n3. **Generación de Markdown:**\n * Crea un archivo Markdown con un resumen jerárquico de hardware y conexiones IO.\n * Incluye un árbol de conexiones IO hacia arriba para depuración.\n4. **Salida:** Guarda los resultados en archivos Markdown y JSON en el directorio configurado.",
|
||||
"hidden": false
|
||||
},
|
||||
"x4.py": {
|
||||
"display_name": "4: Exportar Referencias Cruzadas",
|
||||
"short_description": "Script para exportar las referencias cruzadas",
|
||||
"long_description": "",
|
||||
"hidden": false
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -103,13 +103,13 @@ def export_plc_cross_references(plc, export_base_dir):
|
|||
# Note: Consistency check might not be needed/available before cross-ref export
|
||||
print(f" Exporting cross-references for {block_name}...")
|
||||
block.export_cross_references(
|
||||
target_directory_path=str(
|
||||
target_directorypath=str(
|
||||
blocks_cr_path
|
||||
), # API likely needs string path
|
||||
filter=CROSS_REF_FILTER,
|
||||
)
|
||||
blocks_cr_exported += 1
|
||||
except ts.TiaException as block_ex:
|
||||
except RuntimeError as block_ex:
|
||||
print(
|
||||
f" TIA ERROR exporting cross-references for block {block_name}: {block_ex}"
|
||||
)
|
||||
|
@ -149,10 +149,10 @@ def export_plc_cross_references(plc, export_base_dir):
|
|||
try:
|
||||
print(f" Exporting cross-references for {table_name}...")
|
||||
table.export_cross_references(
|
||||
target_directory_path=str(tags_cr_path), filter=CROSS_REF_FILTER
|
||||
target_directorypath=str(tags_cr_path), filter=CROSS_REF_FILTER
|
||||
)
|
||||
tags_cr_exported += 1
|
||||
except ts.TiaException as table_ex:
|
||||
except RuntimeError as table_ex:
|
||||
print(
|
||||
f" TIA ERROR exporting cross-references for Tag Table {table_name}: {table_ex}"
|
||||
)
|
||||
|
@ -192,10 +192,10 @@ def export_plc_cross_references(plc, export_base_dir):
|
|||
try:
|
||||
print(f" Exporting cross-references for {udt_name}...")
|
||||
udt.export_cross_references(
|
||||
target_directory_path=str(udts_cr_path), filter=CROSS_REF_FILTER
|
||||
target_directorypath=str(udts_cr_path), filter=CROSS_REF_FILTER
|
||||
)
|
||||
udts_cr_exported += 1
|
||||
except ts.TiaException as udt_ex:
|
||||
except RuntimeError as udt_ex:
|
||||
print(
|
||||
f" TIA ERROR exporting cross-references for UDT {udt_name}: {udt_ex}"
|
||||
)
|
||||
|
@ -238,11 +238,11 @@ def export_plc_cross_references(plc, export_base_dir):
|
|||
try:
|
||||
print(f" Exporting cross-references for {sys_block_name}...")
|
||||
sys_block.export_cross_references(
|
||||
target_directory_path=str(sys_blocks_cr_path),
|
||||
target_directorypath=str(sys_blocks_cr_path),
|
||||
filter=CROSS_REF_FILTER,
|
||||
)
|
||||
sys_blocks_cr_exported += 1
|
||||
except ts.TiaException as sys_ex:
|
||||
except RuntimeError as sys_ex:
|
||||
print(
|
||||
f" TIA ERROR exporting cross-references for System Block {sys_block_name}: {sys_ex}"
|
||||
)
|
||||
|
@ -292,11 +292,11 @@ def export_plc_cross_references(plc, export_base_dir):
|
|||
try:
|
||||
print(f" Exporting cross-references for {unit_name}...")
|
||||
unit.export_cross_references(
|
||||
target_directory_path=str(sw_units_cr_path),
|
||||
target_directorypath=str(sw_units_cr_path),
|
||||
filter=CROSS_REF_FILTER,
|
||||
)
|
||||
sw_units_cr_exported += 1
|
||||
except ts.TiaException as unit_ex:
|
||||
except RuntimeError as unit_ex:
|
||||
print(
|
||||
f" TIA ERROR exporting cross-references for Software Unit {unit_name}: {unit_ex}"
|
||||
)
|
||||
|
@ -402,7 +402,7 @@ if __name__ == "__main__":
|
|||
|
||||
print("\nCross-reference export process completed.")
|
||||
|
||||
except ts.TiaException as tia_ex:
|
||||
except RuntimeError as tia_ex:
|
||||
print(f"\nTIA Portal Openness Error: {tia_ex}")
|
||||
traceback.print_exc()
|
||||
except FileNotFoundError:
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -233,6 +233,29 @@ if __name__ == "__main__":
|
|||
for xml_file in xml_files_found
|
||||
]
|
||||
|
||||
# --- NUEVO: Identificar bloques SCL nativos ---
|
||||
log_message("\n--- Fase 0.5: Identificando archivos .scl nativos existentes ---", log_f)
|
||||
native_scl_blocks = set()
|
||||
try:
|
||||
# Usar un patrón similar a la Fase 1.5 para encontrar SCLs en el proyecto fuente
|
||||
search_scl_pattern_native = os.path.join(xml_project_dir, "**", "*.scl")
|
||||
existing_scl_files_native = glob.glob(search_scl_pattern_native, recursive=True)
|
||||
|
||||
# Excluir directorios de salida para evitar auto-referencias si están anidados
|
||||
scl_output_dir_abs_native = os.path.abspath(os.path.join(xml_project_dir, cfg_scl_output_dirname))
|
||||
xref_output_dir_abs_native = os.path.abspath(os.path.join(xml_project_dir, cfg_xref_output_dirname))
|
||||
|
||||
for scl_file_path in existing_scl_files_native:
|
||||
if not os.path.abspath(os.path.dirname(scl_file_path)).startswith(scl_output_dir_abs_native) and \
|
||||
not os.path.abspath(os.path.dirname(scl_file_path)).startswith(xref_output_dir_abs_native):
|
||||
base_name = os.path.splitext(os.path.basename(scl_file_path))[0]
|
||||
native_scl_blocks.add(base_name)
|
||||
log_message(f"Se identificaron {len(native_scl_blocks)} posibles bloques SCL nativos (con archivo .scl).", log_f)
|
||||
except Exception as e:
|
||||
log_message(f"Error durante la identificación de SCL nativos: {e}. Se continuará sin priorización.", log_f)
|
||||
# --- FIN NUEVO ---
|
||||
|
||||
|
||||
# --- 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, cfg_scl_output_dirname) # Usar valor de config
|
||||
|
@ -252,6 +275,7 @@ if __name__ == "__main__":
|
|||
skipped_full_count = 0
|
||||
failed_count = 0
|
||||
skipped_partial_count = 0
|
||||
skipped_for_native_scl = 0 # <-- NUEVO: Contador para SCL nativos
|
||||
|
||||
for i, xml_filepath in enumerate(xml_files_found):
|
||||
relative_path = os.path.relpath(xml_filepath, working_directory)
|
||||
|
@ -266,6 +290,16 @@ if __name__ == "__main__":
|
|||
parsing_dir, f"{base_filename}_processed.json" # <-- Corregido: nombre correcto
|
||||
)
|
||||
|
||||
# --- NUEVO: Comprobar si es un SCL nativo ---
|
||||
if base_filename in native_scl_blocks:
|
||||
log_message(
|
||||
f"--- SALTANDO PROCESAMIENTO XML (x1, x2, x3) para: {relative_path}. Se usará el archivo .scl original existente. ---",
|
||||
log_f,
|
||||
)
|
||||
skipped_for_native_scl += 1
|
||||
continue # Pasar al siguiente archivo XML
|
||||
# --- FIN NUEVO ---
|
||||
|
||||
# 1. Comprobar estado de salto
|
||||
skip_info = check_skip_status(
|
||||
xml_filepath, processed_json_filepath, scl_output_dir, log_f
|
||||
|
@ -513,6 +547,10 @@ if __name__ == "__main__":
|
|||
log_f,
|
||||
)
|
||||
log_message(f"Archivos fallidos (en x1, x2, x3 o error inesperado): {failed_count}", log_f)
|
||||
log_message( # <-- NUEVO: Reportar SCL nativos saltados
|
||||
f"Archivos XML omitidos (priorizando .scl nativo): {skipped_for_native_scl}",
|
||||
log_f,
|
||||
)
|
||||
log_message(f"Archivos SCL existentes copiados (Fase 1.5): {copied_scl_count}", log_f) # <-- ADDED: Report copied SCL
|
||||
log_message(f"Archivos SCL existentes omitidos por conflicto (Fase 1.5): {skipped_scl_count}", log_f) # <-- ADDED: Report skipped SCL
|
||||
log_message(
|
||||
|
|
|
@ -295,6 +295,8 @@ def convert_xml_to_json(xml_filepath, json_filepath):
|
|||
print("Paso 3: Extrayendo atributos del bloque...")
|
||||
attribute_list_node = the_block.xpath("./AttributeList") # Buscar hijo directo
|
||||
block_name_val, block_number_val, block_lang_val = "Unknown", None, "Unknown"
|
||||
instance_of_name_val = None # <-- NUEVO: Para InstanceDB
|
||||
instance_of_type_val = None # <-- NUEVO: Para InstanceDB
|
||||
block_comment_val = ""
|
||||
|
||||
if attribute_list_node:
|
||||
|
@ -308,6 +310,12 @@ def convert_xml_to_json(xml_filepath, json_filepath):
|
|||
# Asignar lenguaje por defecto si no se encuentra
|
||||
block_lang_val = lang_node[0].strip() if lang_node else \
|
||||
("DB" if block_type_found in ["GlobalDB", "InstanceDB"] else "Unknown") # <-- MODIFIED: Include InstanceDB for DB language default
|
||||
# <-- NUEVO: Extraer info de instancia si es InstanceDB -->
|
||||
if block_type_found == "InstanceDB":
|
||||
inst_name_node = attr_list.xpath("./InstanceOfName/text()")
|
||||
instance_of_name_val = inst_name_node[0].strip() if inst_name_node else None
|
||||
inst_type_node = attr_list.xpath("./InstanceOfType/text()") # Generalmente 'FB'
|
||||
instance_of_type_val = inst_type_node[0].strip() if inst_type_node else None
|
||||
print(f"Paso 3: Atributos: Nombre='{block_name_val}', Número={block_number_val}, Lenguaje Bloque='{block_lang_val}'")
|
||||
|
||||
# Extraer comentario del bloque (puede estar en AttributeList o ObjectList)
|
||||
|
|
|
@ -62,10 +62,11 @@ INDENT_STEP = " "
|
|||
|
||||
|
||||
# --- Funciones de Análisis (find_calls_in_scl, find_db_tag_usage, find_plc_tag_usage sin cambios) ---
|
||||
# (Se omiten por brevedad, son las mismas de la versión anterior)
|
||||
def find_calls_in_scl(scl_code, block_data):
|
||||
# <-- MODIFICADO: Añadir instance_db_to_fb_map como parámetro -->
|
||||
def find_calls_in_scl(scl_code, block_data, instance_db_to_fb_map):
|
||||
calls = defaultdict(int)
|
||||
known_blocks = set(block_data.keys())
|
||||
# La lógica de known_instances puede ser menos relevante ahora, pero la dejamos por si acaso
|
||||
known_instances = set()
|
||||
for name, data in block_data.items():
|
||||
block_info = data.get("data", {})
|
||||
|
@ -146,17 +147,28 @@ def find_calls_in_scl(scl_code, block_data):
|
|||
potential_name_quoted = match.group(1)
|
||||
potential_name_clean = match.group(2)
|
||||
if potential_name_clean.upper() in system_funcs:
|
||||
continue
|
||||
is_instance_call = (
|
||||
potential_name_clean.startswith("#")
|
||||
or potential_name_quoted in known_instances
|
||||
)
|
||||
if is_instance_call:
|
||||
pass
|
||||
elif potential_name_clean in known_blocks:
|
||||
callee_type = block_data[potential_name_clean]["data"].get("block_type")
|
||||
if callee_type in ["FC", "FB"]:
|
||||
calls[potential_name_clean] += 1
|
||||
continue # Ignorar palabras clave del lenguaje y funciones estándar
|
||||
|
||||
# <-- NUEVO: Comprobar si es una llamada a un DB de instancia conocido -->
|
||||
fb_type_name = instance_db_to_fb_map.get(potential_name_clean)
|
||||
if fb_type_name:
|
||||
# ¡Encontrado! Es una llamada vía DB de instancia. Contabilizar para el FB base.
|
||||
calls[fb_type_name] += 1
|
||||
else:
|
||||
# <-- Lógica Original (modificada para else) -->
|
||||
# No es un DB de instancia conocido, ¿es una llamada a FC/FB directamente o una instancia local (#)?
|
||||
is_local_instance_call = potential_name_clean.startswith("#")
|
||||
# La comprobación 'potential_name_quoted in known_instances' es menos fiable, priorizamos el mapa.
|
||||
|
||||
if is_local_instance_call:
|
||||
# Podríamos intentar resolver el tipo de la instancia local si tuviéramos esa info aquí,
|
||||
# pero por ahora, simplemente la ignoramos para no contarla incorrectamente.
|
||||
pass
|
||||
elif potential_name_clean in known_blocks:
|
||||
# Es un nombre de bloque conocido, ¿es FC o FB?
|
||||
callee_type = block_data[potential_name_clean]["data"].get("block_type")
|
||||
if callee_type in ["FC", "FB"]:
|
||||
calls[potential_name_clean] += 1 # Llamada directa a FC o FB
|
||||
return calls
|
||||
|
||||
|
||||
|
@ -387,7 +399,7 @@ def generate_call_tree_output(call_graph, block_data, base_xref_dir, max_call_de
|
|||
a los archivos .md en xref_output/source.
|
||||
"""
|
||||
output_lines = ["# Árbol de Referencias Cruzadas de Llamadas\n"]
|
||||
output_lines.append(f"(Profundidad máxima: {MAX_CALL_DEPTH})\n")
|
||||
output_lines.append(f"(Profundidad máxima: {max_call_depth})\n") # <-- Usar el parámetro
|
||||
root_nodes = sorted( # Encontrar OBs
|
||||
[
|
||||
name
|
||||
|
@ -560,6 +572,21 @@ def generate_cross_references(
|
|||
if not block_data:
|
||||
print("Error: No se pudieron cargar datos.", file=sys.stderr)
|
||||
return False
|
||||
print(
|
||||
f"Datos cargados para {len(block_data)} bloques."
|
||||
)
|
||||
|
||||
# <-- NUEVO: Crear mapa de DB de Instancia a FB -->
|
||||
instance_db_to_fb_map = {}
|
||||
for block_name, block_entry in block_data.items():
|
||||
b_data = block_entry.get("data", {})
|
||||
if b_data.get("block_type") == "InstanceDB":
|
||||
instance_of_name = b_data.get("InstanceOfName") # Clave añadida en x1
|
||||
if instance_of_name and instance_of_name in block_data: # Verificar que el FB existe
|
||||
instance_db_to_fb_map[block_name] = instance_of_name
|
||||
elif instance_of_name:
|
||||
print(f"Advertencia: InstanceDB '{block_name}' instancia a '{instance_of_name}', pero ese FB no se encontró en los datos cargados.", file=sys.stderr)
|
||||
print(f"Mapa InstanciaDB -> FB creado con {len(instance_db_to_fb_map)} entradas.")
|
||||
print(
|
||||
f"Datos cargados para {len(block_data)} bloques ({len(plc_tag_names)} PLC Tags globales)."
|
||||
)
|
||||
|
@ -575,34 +602,37 @@ def generate_cross_references(
|
|||
if block_type not in ["OB", "FC", "FB"]:
|
||||
continue
|
||||
caller_name = block_name
|
||||
for network in data.get("networks", []):
|
||||
combined_scl = ""
|
||||
network_has_code = False
|
||||
for instruction in network.get("logic", []):
|
||||
if not instruction.get("grouped", False):
|
||||
scl_code = instruction.get("scl", "")
|
||||
edge_update_code = instruction.get("_edge_mem_update_scl", "")
|
||||
if scl_code or edge_update_code:
|
||||
network_has_code = True
|
||||
combined_scl += (
|
||||
(scl_code or "") + "\n" + (edge_update_code or "") + "\n"
|
||||
)
|
||||
if not network_has_code:
|
||||
continue
|
||||
calls_found = find_calls_in_scl(combined_scl, block_data)
|
||||
|
||||
# <-- MODIFICADO: Leer el archivo SCL completo en lugar de reconstruir desde JSON -->
|
||||
scl_filename = format_variable_name(caller_name) + ".scl"
|
||||
# Construir la ruta al archivo SCL dentro del directorio scl_output
|
||||
scl_filepath = os.path.join(project_root_dir, scl_output_dirname, scl_filename)
|
||||
full_scl_content = ""
|
||||
if os.path.exists(scl_filepath):
|
||||
try:
|
||||
with open(scl_filepath, "r", encoding="utf-8") as f_scl:
|
||||
full_scl_content = f_scl.read()
|
||||
except Exception as read_err:
|
||||
print(f" Advertencia: No se pudo leer el archivo SCL '{scl_filepath}' para análisis: {read_err}", file=sys.stderr)
|
||||
else:
|
||||
print(f" Advertencia: No se encontró el archivo SCL '{scl_filepath}' para análisis. El bloque podría no tener código ejecutable o hubo un error previo.", file=sys.stderr)
|
||||
|
||||
if full_scl_content:
|
||||
# <-- MODIFICADO: Pasar el mapa a find_calls_in_scl -->
|
||||
calls_found = find_calls_in_scl(full_scl_content, block_data, instance_db_to_fb_map)
|
||||
for callee_name, count in calls_found.items():
|
||||
if callee_name in block_data and block_data[callee_name]["data"].get(
|
||||
"block_type"
|
||||
) in ["FC", "FB"]:
|
||||
call_graph[caller_name][callee_name] += count
|
||||
db_usage_found = find_db_tag_usage(combined_scl)
|
||||
db_usage_found = find_db_tag_usage(full_scl_content)
|
||||
for db_tag, access_counts in db_usage_found.items():
|
||||
db_name_part = db_tag.split(".")[0]
|
||||
db_name_part = db_tag.split(".")[0].strip('"') # Limpiar comillas
|
||||
if db_name_part in all_db_names or (
|
||||
db_name_part.startswith("DB") and db_name_part[2:].isdigit()
|
||||
):
|
||||
db_users[db_name_part].add(caller_name)
|
||||
plc_usage_found = find_plc_tag_usage(combined_scl, plc_tag_names)
|
||||
plc_usage_found = find_plc_tag_usage(full_scl_content, plc_tag_names)
|
||||
for plc_tag, access_counts in plc_usage_found.items():
|
||||
plc_tag_users[plc_tag].add(caller_name)
|
||||
|
||||
|
@ -616,7 +646,7 @@ def generate_cross_references(
|
|||
try:
|
||||
# <-- MODIFICADO: Llamar a la nueva función sin project_root_dir -->
|
||||
call_tree_lines = generate_call_tree_output( # Pasar parámetros
|
||||
call_graph, block_data, output_dir_abs
|
||||
call_graph, block_data, output_dir_abs, max_call_depth, xref_source_subdir # <-- Pasar max_call_depth
|
||||
)
|
||||
with open(call_xref_path, "w", encoding="utf-8") as f:
|
||||
[f.write(line + "\n") for line in call_tree_lines]
|
||||
|
|
|
@ -0,0 +1,193 @@
|
|||
## Technical Documentation: Parsing TIA Portal `_XRef.xml` Files for Call Tree Generation
|
||||
|
||||
**Version:** 1.0 **Date:** 2025-05-05
|
||||
|
||||
### 1. Introduction
|
||||
|
||||
This document describes the structure and interpretation of the XML files (`*_XRef.xml`) generated by the TIA Portal Openness `export_cross_references` function (available via libraries like `siemens_tia_scripting`). The primary goal is to enable software developers to programmatically parse these files to extract block call relationships and build a comprehensive call tree for a PLC program.
|
||||
|
||||
The `_XRef.xml` file contains detailed information about all objects referenced _by_ a specific source object (e.g., an OB, FB, or FC). By processing these files for all relevant blocks, a complete picture of the program's call structure can be assembled.
|
||||
|
||||
### 2. File Format Overview
|
||||
|
||||
The `_XRef.xml` file is a standard XML document. Its high-level structure typically looks like this:
|
||||
|
||||
XML
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<CrossReferences xmlns:i="..." xmlns="...">
|
||||
<Sources>
|
||||
<SourceObject> <Name>...</Name>
|
||||
<Address>...</Address>
|
||||
<Device>...</Device>
|
||||
<Path>...</Path>
|
||||
<TypeName>...</TypeName>
|
||||
<UnderlyingObject>...</UnderlyingObject>
|
||||
<Children />
|
||||
<References> <ReferenceObject> <Name>...</Name>
|
||||
<Address>...</Address>
|
||||
<Device>...</Device>
|
||||
<Path>...</Path>
|
||||
<TypeName>...</TypeName> <UnderlyingObject>...</UnderlyingObject>
|
||||
<Locations> <Location>
|
||||
<Access>...</Access> <Address>...</Address>
|
||||
<Name>...</Name>
|
||||
<ReferenceLocation>...</ReferenceLocation> <ReferenceType>Uses</ReferenceType>
|
||||
</Location>
|
||||
</Locations>
|
||||
</ReferenceObject>
|
||||
</References>
|
||||
</SourceObject>
|
||||
</Sources>
|
||||
</CrossReferences>
|
||||
```
|
||||
|
||||
### 3. Key XML Elements for Call Tree Construction
|
||||
|
||||
To build a call tree, you need to identify the _caller_ and the _callee_ for each block call. The following XML elements are essential:
|
||||
|
||||
1. **`<SourceObject>`:** Represents the block performing the calls (the **caller**).
|
||||
|
||||
- **`<Name>`:** The symbolic name of the caller block (e.g., `_CYCL_EXC`).
|
||||
- **`<Address>`:** The absolute address (e.g., `%OB1`).
|
||||
- **`<TypeName>`:** The type of the caller block (e.g., `LAD-Organization block`).
|
||||
2. **`<ReferenceObject>`:** Represents an object being referenced by the `SourceObject`. This _could_ be the **callee**.
|
||||
|
||||
- **`<Name>`:** The symbolic name of the referenced object (e.g., `BlenderCtrl__Main`, `Co2_Counters_DB`).
|
||||
- **`<Address>`:** The absolute address (e.g., `%FC2000`, `%DB1021`).
|
||||
- **`<TypeName>`:** The type of the referenced object (e.g., `LAD-Function`, `Instance DB of Co2_Counters [FB1020]`). This is vital for identifying FCs and FBs (via their instance DBs).
|
||||
3. **`<Location>`:** Specifies exactly how and where the `ReferenceObject` is used within the `SourceObject`.
|
||||
|
||||
- **`<Access>`:** **This is the most critical element for call trees.** Look for the value `Call`. This indicates a direct Function Call (FC). An access type of `InstanceDB` indicates the usage of an instance DB, which implies a Function Block (FB) call is occurring.
|
||||
- **`<ReferenceLocation>`:** Provides human-readable context about where the reference occurs within the caller's code (e.g., `@_CYCL_EXC ▶ NW3 (Blender CTRL)`). Useful for debugging or visualization.
|
||||
|
||||
### 4. Data Extraction Strategy for Call Tree
|
||||
|
||||
A program parsing these files should follow these steps for each `_XRef.xml` file:
|
||||
|
||||
1. **Parse XML:** Load the `_XRef.xml` file using a suitable XML parsing library (e.g., Python's `xml.etree.ElementTree` or `lxml`).
|
||||
2. **Identify Caller:** Navigate to the `<SourceObject>` element and extract its `<Name>`. This is the caller block for all references within this file.
|
||||
3. **Iterate References:** Loop through each `<ReferenceObject>` within the `<References>` section of the `<SourceObject>`.
|
||||
4. **Iterate Locations:** For each `<ReferenceObject>`, loop through its `<Location>` elements.
|
||||
5. **Filter for Calls:** Check the text content of the `<Access>` tag within each `<Location>`.
|
||||
- **If `Access` is `Call`:**
|
||||
- The `<Name>` of the current `<ReferenceObject>` is the **callee** (an FC).
|
||||
- Record the relationship: `Caller Name` -> `Callee Name (FC)`.
|
||||
- **If `Access` is `InstanceDB`:**
|
||||
- This signifies an FB call is happening using this instance DB.
|
||||
- The `<Name>` of the current `<ReferenceObject>` is the Instance DB name (e.g., `Co2_Counters_DB`).
|
||||
- To find the actual FB being called, examine the `<TypeName>` of this `ReferenceObject`. It usually contains the FB name/number (e.g., `Instance DB of Co2_Counters [FB1020]`). Extract the FB name (`Co2_Counters`) or number (`FB1020`). This is the **callee**.
|
||||
- Record the relationship: `Caller Name` -> `Callee Name (FB)`.
|
||||
6. **Store Relationships:** Store the identified caller-callee pairs in a suitable data structure.
|
||||
|
||||
### 5. Building the Call Tree Data Structure
|
||||
|
||||
After parsing one or more `_XRef.xml` files, the extracted relationships can be stored. Common approaches include:
|
||||
|
||||
- **Dictionary (Adjacency List):** A dictionary where keys are caller names and values are lists of callee names.
|
||||
|
||||
Python
|
||||
|
||||
```python
|
||||
call_tree = {
|
||||
'_CYCL_EXC': ['BlenderCtrl__Main', 'MessageScroll', 'ITC_MainRoutine', 'Co2_Counters', 'ProcedureProdBrixRecovery', 'Key Read & Write', 'GNS_PLCdia_MainRoutine'],
|
||||
'BlenderCtrl__Main': ['SomeOtherBlock', ...],
|
||||
# ... other callers
|
||||
}
|
||||
```
|
||||
|
||||
- **Graph Representation:** Using libraries like `networkx` in Python to create a directed graph where blocks are nodes and calls are edges. This allows for more complex analysis (e.g., finding paths, cycles).
|
||||
- **Custom Objects:** Define `Block` and `Call` classes for a more object-oriented representation.
|
||||
|
||||
### 6. Handling Multiple Files
|
||||
|
||||
A single `_XRef.xml` file only details the references _from_ one `SourceObject`. To build a complete call tree for the entire program or PLC:
|
||||
|
||||
1. **Export References:** Use the Openness script to call `export_cross_references` for _all_ relevant OBs, FBs, and FCs in the project.
|
||||
2. **Process All Files:** Run the parsing logic described above on each generated `_XRef.xml` file.
|
||||
3. **Aggregate Results:** Combine the caller-callee relationships extracted from all files into a single data structure (e.g., merge dictionaries or add nodes/edges to the graph).
|
||||
|
||||
### 7. Example (Conceptual Python using `xml.etree.ElementTree`)
|
||||
|
||||
Python
|
||||
|
||||
```python
|
||||
import xml.etree.ElementTree as ET
|
||||
import re # For extracting FB name from TypeName
|
||||
|
||||
def parse_xref_for_calls(xml_file_path):
|
||||
"""Parses a _XRef.xml file and extracts call relationships."""
|
||||
calls = {} # {caller: [callee1, callee2, ...]}
|
||||
try:
|
||||
tree = ET.parse(xml_file_path)
|
||||
root = tree.getroot()
|
||||
|
||||
# Namespace handling might be needed depending on the xmlns
|
||||
ns = {'ns0': 'TestNamespace1'} # Adjust namespace if different in your file
|
||||
|
||||
for source_object in root.findall('.//ns0:SourceObject', ns):
|
||||
caller_name = source_object.findtext('ns0:Name', default='UnknownCaller', namespaces=ns)
|
||||
if caller_name not in calls:
|
||||
calls[caller_name] = []
|
||||
|
||||
for ref_object in source_object.findall('.//ns0:ReferenceObject', ns):
|
||||
ref_name = ref_object.findtext('ns0:Name', default='UnknownRef', namespaces=ns)
|
||||
ref_type_name = ref_object.findtext('ns0:TypeName', default='', namespaces=ns)
|
||||
|
||||
for location in ref_object.findall('.//ns0:Location', ns):
|
||||
access_type = location.findtext('ns0:Access', default='', namespaces=ns)
|
||||
|
||||
if access_type == 'Call':
|
||||
# Direct FC call
|
||||
if ref_name not in calls[caller_name]:
|
||||
calls[caller_name].append(ref_name)
|
||||
|
||||
elif access_type == 'InstanceDB':
|
||||
# FB call via Instance DB
|
||||
# Extract FB name/number from TypeName (e.g., "Instance DB of BlockName [FB123]")
|
||||
match = re.search(r'Instance DB of (.*?) \[([A-Za-z]+[0-9]+)\]', ref_type_name)
|
||||
callee_fb_name = 'UnknownFB'
|
||||
if match:
|
||||
# Prefer symbolic name if available, else use number
|
||||
callee_fb_name = match.group(1) if match.group(1) else match.group(2)
|
||||
elif 'Instance DB of' in ref_type_name: # Fallback if regex fails
|
||||
callee_fb_name = ref_type_name.split('Instance DB of ')[-1].strip()
|
||||
|
||||
if callee_fb_name not in calls[caller_name]:
|
||||
calls[caller_name].append(callee_fb_name)
|
||||
|
||||
except ET.ParseError as e:
|
||||
print(f"Error parsing XML file {xml_file_path}: {e}")
|
||||
except FileNotFoundError:
|
||||
print(f"Error: File not found {xml_file_path}")
|
||||
|
||||
# Clean up entries with no calls
|
||||
calls = {k: v for k, v in calls.items() if v}
|
||||
return calls
|
||||
|
||||
# --- Aggregation Example ---
|
||||
# all_calls = {}
|
||||
# for xref_file in list_of_all_xref_files:
|
||||
# file_calls = parse_xref_for_calls(xref_file)
|
||||
# for caller, callees in file_calls.items():
|
||||
# if caller not in all_calls:
|
||||
# all_calls[caller] = []
|
||||
# for callee in callees:
|
||||
# if callee not in all_calls[caller]:
|
||||
# all_calls[caller].append(callee)
|
||||
# print(all_calls)
|
||||
```
|
||||
|
||||
_Note: Namespace handling (`ns=...`) in ElementTree might need adjustment based on the exact default namespace declared in your XML files._
|
||||
|
||||
### 8. Considerations
|
||||
|
||||
- **Function Block Calls:** Remember that FB calls are identified indirectly via the `InstanceDB` access type and parsing the `<TypeName>` of the `ReferenceObject`.
|
||||
- **System Blocks (SFC/SFB):** Calls to system functions/blocks should appear similarly to FC/FB calls and can be included in the tree. Their `<TypeName>` might indicate they are system blocks.
|
||||
- **TIA Portal Versions:** While the basic structure is consistent, minor variations in tags or namespaces might exist between different TIA Portal versions. Always test with exports from your specific version.
|
||||
- **Data References:** This documentation focuses on the call tree. The XML also contains `Read`, `Write`, `RW` access types, which can be parsed similarly to build a full cross-reference map for tags and data blocks.
|
||||
|
||||
### 9. Conclusion
|
||||
|
||||
The `_XRef.xml` files provide a detailed, machine-readable description of block references within a TIA Portal project. By parsing the XML structure, focusing on the `<SourceObject>`, `<ReferenceObject>`, and specifically the `<Access>` tag within `<Location>`, developers can reliably extract block call information and construct program call trees for analysis, documentation, or visualization purposes. Remember to aggregate data from multiple files for a complete program overview.
|
841
data/log.txt
841
data/log.txt
|
@ -1,161 +1,680 @@
|
|||
[23:55:47] Iniciando ejecución de x0_main.py en C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport...
|
||||
[23:55:48] Advertencia: No se pudo importar 'format_variable_name' desde processors.processor_utils.
|
||||
[23:55:48] Usando una implementación local básica.
|
||||
[23:55:48] INFO: format_variable_name importado desde generators.generator_utils
|
||||
[23:55:48] INFO: format_variable_name importado desde generators.generator_utils
|
||||
[23:55:48] ======================================== LOG START ========================================
|
||||
[23:55:48] Directorio de trabajo base configurado: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport'
|
||||
[23:55:48] Buscando archivos XML recursivamente en el subdirectorio: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC'
|
||||
[23:55:48] Se encontraron 1 archivos XML para procesar:
|
||||
[23:55:48] - PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml
|
||||
[23:55:48] --- Fase 1: Procesamiento Individual (x1, x2, x3) ---
|
||||
[23:55:48] --- Procesando archivo: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
|
||||
[23:55:48] --- Ejecutando x1 (convert_xml_to_json) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
|
||||
[23:55:48] Iniciando conversión de 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml' a 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data.json'...
|
||||
[23:55:48] Cargando parsers de red...
|
||||
[23:55:48] Cargando parsers desde: 'D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\parsers'
|
||||
[23:55:48] Total de lenguajes con parser cargado: 5
|
||||
[23:55:48] Lenguajes soportados: ['LAD', 'FBD', 'GRAPH', 'SCL', 'STL']
|
||||
[23:55:48] Metadatos XML: ModTime=1746220371.8349743, Size=51679
|
||||
[23:55:48] Paso 1: Parseando archivo XML...
|
||||
[23:55:48] Paso 1: Parseo XML completado.
|
||||
[23:55:48] Paso 2: Detectando tipo de objeto principal...
|
||||
[23:55:48] Paso 2: No es UDT ni Tag Table. Buscando SW.Blocks.* ...
|
||||
[23:55:48] Paso 2b: Bloque SW.Blocks.InstanceDB (Tipo: InstanceDB) encontrado (ID=0).
|
||||
[23:55:48] Paso 3: Extrayendo atributos del bloque...
|
||||
[23:55:48] Paso 3: Atributos: Nombre='BlenderPID__Main_Data', Número=950, Lenguaje Bloque='DB'
|
||||
[23:55:48] Paso 3b: Comentario bloque: '...'
|
||||
[23:55:48] Paso 4: Extrayendo la interfaz del bloque...
|
||||
[23:55:48] Paso 5: Saltando procesamiento de redes para InstanceDB.
|
||||
[23:55:48] Paso 6: Escribiendo el resultado en el archivo JSON...
|
||||
[23:55:48] Paso 6: Escritura JSON completada.
|
||||
[23:55:48] Conversión finalizada. JSON guardado en: 'PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data.json'
|
||||
[23:55:48] --- Ejecutando x2 (process_json_to_scl) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
|
||||
[23:55:48] Cargando JSON desde: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data.json
|
||||
[23:55:48] Procesando bloque tipo: InstanceDB
|
||||
[23:55:48] INFO: El bloque es InstanceDB. Saltando procesamiento lógico de x2.
|
||||
[23:55:48] Guardando JSON de InstanceDB (con metadatos) en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data_processed.json
|
||||
[23:55:48] Guardado de InstanceDB completado.
|
||||
[23:55:48] --- Ejecutando x3 (generate_scl_or_markdown) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
|
||||
[23:55:48] Cargando JSON procesado desde: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\ProgramBlocks_XML\parsing\BlenderPID__Main_Data_processed.json
|
||||
[23:55:48] Generando salida para: InstanceDB 'BlenderPID__Main_Data' (Original: BlenderPID__Main_Data)
|
||||
[23:55:48] -> Modo de generación: INSTANCE_DATA_BLOCK SCL
|
||||
[23:55:48] WARNING: No se encontró definición para 'Integral'. Se buscó en directorios estándar.
|
||||
[23:55:48] WARNING: No se encontró definición para 'Integral'. Se buscó en directorios estándar.
|
||||
[23:55:48] WARNING: No se encontró definición para 'Integral'. Se buscó en directorios estándar.
|
||||
[23:55:48] WARNING: No se encontró definición para 'LowPassFilter'. Se buscó en directorios estándar.
|
||||
[23:55:48] WARNING: No se encontró definición para 'BlenderPID_PIDSPCalc'. Se buscó en directorios estándar.
|
||||
[23:55:48] WARNING: No se encontró definición para 'BlenderPID_PIDInitParam'. Se buscó en directorios estándar.
|
||||
[23:55:48] WARNING: No se encontró definición para 'BlenderPID_ActualRecipe'. Se buscó en directorios estándar.
|
||||
[23:55:48] -> Escribiendo archivo de salida final en: PLC\scl_output\BlenderPID__Main_Data.scl
|
||||
[23:55:48] Generación de .SCL completada.
|
||||
[23:55:48] --- Fase 2: Ejecutando x4_cross_reference.py (salida en 'xref_output/') ---
|
||||
[23:55:48] Ejecutando x4 (generate_cross_references) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output
|
||||
[23:55:48] --- Iniciando Generación de Referencias Cruzadas y Fuentes MD (x4) ---
|
||||
[23:55:48] Buscando archivos JSON procesados en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC
|
||||
[23:55:48] Directorio de salida XRef: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output
|
||||
[23:55:48] Directorio fuente SCL/MD: scl_output
|
||||
[23:55:48] Subdirectorio fuentes MD para XRef: source
|
||||
[23:55:48] Copiando y preparando archivos fuente para Obsidian en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\source
|
||||
[23:55:48] Archivos fuente preparados: 1 SCL convertidos, 0 MD copiados.
|
||||
[23:55:48] Archivos JSON encontrados: 1
|
||||
[23:55:48] Datos cargados para 1 bloques (0 PLC Tags globales).
|
||||
[23:55:48] Analizando llamadas y uso de DBs/PLC Tags...
|
||||
[23:55:48] Generando ÁRBOL XRef de llamadas en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\xref_calls_tree.md
|
||||
[23:55:48] Generando RESUMEN XRef de uso de DBs en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\xref_db_usage_summary.md
|
||||
[23:55:48] Generando RESUMEN XRef de uso de PLC Tags en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\xref_plc_tags_summary.md
|
||||
[23:55:48] --- Generación de Referencias Cruzadas y Fuentes MD (x4) Completada ---
|
||||
[23:55:48] --- Fase 3: Ejecutando x5_aggregate.py (salida en 'full_project_representation.md') ---
|
||||
[23:55:48] Ejecutando x5 (aggregate_outputs) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida agregada en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
|
||||
[23:55:48] --- Iniciando Agregación de Archivos (x5) ---
|
||||
[23:55:48] Leyendo desde directorios: 'scl_output' y 'xref_output' (relativos a la raíz)
|
||||
[23:55:48] Directorio Raíz del Proyecto: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC
|
||||
[23:55:48] Archivo de Salida: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
|
||||
[23:55:48] Buscando archivos SCL con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.scl
|
||||
[23:55:48] Buscando archivos MD con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.md
|
||||
[23:55:48] Se agregarán 5 archivos.
|
||||
[23:55:48] Agregando: ProgramBlocks_SCL\BlenderPID__Main.scl
|
||||
[23:55:48] Agregando: scl_output\BlenderPID__Main_Data.scl
|
||||
[23:55:48] Agregando: xref_output\source\BlenderPID__Main_Data.md
|
||||
[23:55:48] Agregando: xref_output\xref_db_usage_summary.md
|
||||
[23:55:48] Agregando: xref_output\xref_plc_tags_summary.md
|
||||
[23:55:48] Agregación completada. Archivo guardado en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
|
||||
[23:55:48] -------------------- Resumen Final del Procesamiento Completo --------------------
|
||||
[23:55:48] Total de archivos XML encontrados: 1
|
||||
[23:55:48] Archivos procesados/actualizados exitosamente (x1-x3): 1
|
||||
[23:55:48] Archivos completamente saltados (x1, x2, x3): 0
|
||||
[23:55:48] Archivos parcialmente saltados (x1, x2 saltados; x3 ejecutado): 0
|
||||
[23:55:48] Archivos fallidos (en x1, x2, x3 o error inesperado): 0
|
||||
[23:55:48] Fase 2 (Generación XRef - x4): Completada
|
||||
[23:55:48] Fase 3 (Agregación - x5): Completada
|
||||
[23:55:48] --------------------------------------------------------------------------------
|
||||
[23:55:48] Proceso finalizado exitosamente.
|
||||
[23:55:48] Proceso finalizado exitosamente. Consulta 'log.txt' para detalles.
|
||||
[23:55:48] ========================================= LOG END ==========================================
|
||||
[23:55:48] Ejecución de x0_main.py finalizada (success). Duración: 0:00:01.146105. Se detectaron errores (ver log).
|
||||
[23:55:48] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\log_x0_main.txt
|
||||
[00:02:17] Iniciando ejecución de x0_main.py en C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport...
|
||||
[00:02:18] Advertencia: No se pudo importar 'format_variable_name' desde processors.processor_utils.
|
||||
[00:02:18] Usando una implementación local básica.
|
||||
[00:02:18] INFO: format_variable_name importado desde generators.generator_utils
|
||||
[00:02:18] INFO: format_variable_name importado desde generators.generator_utils
|
||||
[00:02:18] ======================================== LOG START ========================================
|
||||
[00:02:18] Directorio de trabajo base configurado: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport'
|
||||
[00:02:18] Buscando archivos XML recursivamente en el subdirectorio: 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC'
|
||||
[00:02:18] Se encontraron 1 archivos XML para procesar:
|
||||
[00:02:18] - PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml
|
||||
[00:02:18] --- Fase 1: Procesamiento Individual (x1, x2, x3) ---
|
||||
[00:02:18] --- Procesando archivo: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml ---
|
||||
[00:02:18] --- SALTANDO TODO (x1, x2, x3) para: PLC\ProgramBlocks_XML\BlenderPID__Main_Data.xml (XML no modificado, salida final actualizada)
|
||||
[00:02:18] --- Fase 1.5: Copiando archivos SCL existentes desde 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC' a 'C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\scl_output' ---
|
||||
[00:02:18] Se encontraron 1 archivos .scl existentes para copiar:
|
||||
[00:02:18] Copia de SCL existentes finalizada. Copiados: 1, Omitidos (conflicto nombre): 0
|
||||
[00:02:18] --- Fase 2: Ejecutando x4_cross_reference.py (salida en 'xref_output/') ---
|
||||
[00:02:18] Ejecutando x4 (generate_cross_references) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output
|
||||
[00:02:18] --- Iniciando Generación de Referencias Cruzadas y Fuentes MD (x4) ---
|
||||
[00:02:18] Buscando archivos JSON procesados en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC
|
||||
[00:02:18] Directorio de salida XRef: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output
|
||||
[00:02:18] Directorio fuente SCL/MD: scl_output
|
||||
[00:02:18] Subdirectorio fuentes MD para XRef: source
|
||||
[00:02:18] Copiando y preparando archivos fuente para Obsidian en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\source
|
||||
[00:02:18] Archivos fuente preparados: 2 SCL convertidos, 0 MD copiados.
|
||||
[00:02:18] Archivos JSON encontrados: 1
|
||||
[00:02:18] Datos cargados para 1 bloques (0 PLC Tags globales).
|
||||
[00:02:18] Analizando llamadas y uso de DBs/PLC Tags...
|
||||
[00:02:18] Generando ÁRBOL XRef de llamadas en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\xref_calls_tree.md
|
||||
[00:02:18] Generando RESUMEN XRef de uso de DBs en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\xref_db_usage_summary.md
|
||||
[00:02:18] Generando RESUMEN XRef de uso de PLC Tags en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\xref_output\xref_plc_tags_summary.md
|
||||
[00:02:18] --- Generación de Referencias Cruzadas y Fuentes MD (x4) Completada ---
|
||||
[00:02:18] --- Fase 3: Ejecutando x5_aggregate.py (salida en 'full_project_representation.md') ---
|
||||
[00:02:18] Ejecutando x5 (aggregate_outputs) sobre: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC, salida agregada en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
|
||||
[00:02:18] --- Iniciando Agregación de Archivos (x5) ---
|
||||
[00:02:18] Leyendo desde directorios: 'scl_output' y 'xref_output' (relativos a la raíz)
|
||||
[00:02:18] Directorio Raíz del Proyecto: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC
|
||||
[00:02:18] Archivo de Salida: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
|
||||
[00:02:18] Buscando archivos SCL con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.scl
|
||||
[00:02:18] Buscando archivos MD con patrón: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\PLC\**\*.md
|
||||
[00:02:18] Se agregarán 7 archivos.
|
||||
[00:02:18] Agregando: ProgramBlocks_SCL\BlenderPID__Main.scl
|
||||
[00:02:18] Agregando: scl_output\BlenderPID__Main.scl
|
||||
[00:02:18] Agregando: scl_output\BlenderPID__Main_Data.scl
|
||||
[00:02:18] Agregando: xref_output\source\BlenderPID__Main.md
|
||||
[00:02:18] Agregando: xref_output\source\BlenderPID__Main_Data.md
|
||||
[00:02:18] Agregando: xref_output\xref_db_usage_summary.md
|
||||
[00:02:18] Agregando: xref_output\xref_plc_tags_summary.md
|
||||
[00:02:18] Agregación completada. Archivo guardado en: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\full_project_representation.md
|
||||
[00:02:18] -------------------- Resumen Final del Procesamiento Completo --------------------
|
||||
[00:02:18] Total de archivos XML encontrados: 1
|
||||
[00:02:18] Archivos procesados/actualizados exitosamente (x1-x3): 1
|
||||
[00:02:18] Archivos completamente saltados (x1, x2, x3): 1
|
||||
[00:02:18] Archivos parcialmente saltados (x1, x2 saltados; x3 ejecutado): 0
|
||||
[00:02:18] Archivos fallidos (en x1, x2, x3 o error inesperado): 0
|
||||
[00:02:18] Archivos SCL existentes copiados (Fase 1.5): 1
|
||||
[00:02:18] Archivos SCL existentes omitidos por conflicto (Fase 1.5): 0
|
||||
[00:02:18] Fase 2 (Generación XRef - x4): Completada
|
||||
[00:02:18] Fase 3 (Agregación - x5): Completada
|
||||
[00:02:18] --------------------------------------------------------------------------------
|
||||
[00:02:18] Proceso finalizado exitosamente.
|
||||
[00:02:18] Proceso finalizado exitosamente. Consulta 'log.txt' para detalles.
|
||||
[00:02:18] ========================================= LOG END ==========================================
|
||||
[00:02:18] Ejecución de x0_main.py finalizada (success). Duración: 0:00:01.136828. Se detectaron errores (ver log).
|
||||
[00:02:18] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\log_x0_main.txt
|
||||
[12:09:26] Iniciando ejecución de x4.py en C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport...
|
||||
[12:09:27] --- TIA Portal Cross-Reference Exporter ---
|
||||
[12:09:29] Selected Project: C:/Trabajo/SIDEL/06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)/InLavoro/PLC/SAE196_c0.2/SAE196_c0.2.ap18
|
||||
[12:09:29] Using Export Directory: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref
|
||||
[12:09:29] Connecting to TIA Portal V18.0...
|
||||
[12:09:30] 2025-05-05 12:09:30,267 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Global OpenPortal - Start TIA Portal, please acknowledge the security dialog.
|
||||
[12:09:30] 2025-05-05 12:09:30,279 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Global OpenPortal - With user interface
|
||||
[12:09:48] Connected to TIA Portal.
|
||||
[12:09:48] 2025-05-05 12:09:48,418 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Portal GetProcessId - Process id: 24284
|
||||
[12:09:48] Portal Process ID: 24284
|
||||
[12:09:48] Opening project: SAE196_c0.2.ap18...
|
||||
[12:09:48] 2025-05-05 12:09:48,668 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Portal OpenProject - Open project... C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\InLavoro\PLC\SAE196_c0.2\SAE196_c0.2.ap18
|
||||
[12:10:02] Project opened successfully.
|
||||
[12:10:06] 2025-05-05 12:10:06,156 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Project GetPlcs - Found plc PLC with parent name S71500/ET200MP station_1
|
||||
[12:10:08] Found 1 PLC(s). Starting cross-reference export process...
|
||||
[12:10:08] --- Processing PLC: PLC ---
|
||||
[12:10:08] [PLC: PLC] Exporting Program Block Cross-References...
|
||||
[12:10:08] Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\ProgramBlocks_CR
|
||||
[12:10:08] Found 380 program blocks.
|
||||
[12:10:09] Processing block: _CYCL_EXC...
|
||||
[12:10:09] Exporting cross-references for _CYCL_EXC...
|
||||
[12:10:11] Processing block: COMPLETE RESTART...
|
||||
[12:10:11] Exporting cross-references for COMPLETE RESTART...
|
||||
[12:10:12] Processing block: I/O_FLT1...
|
||||
[12:10:12] Exporting cross-references for I/O_FLT1...
|
||||
[12:10:12] Processing block: MOD_ERR...
|
||||
[12:10:12] Exporting cross-references for MOD_ERR...
|
||||
[12:10:12] Processing block: ProDiagOB...
|
||||
[12:10:12] Exporting cross-references for ProDiagOB...
|
||||
[12:10:12] Processing block: Programming error...
|
||||
[12:10:12] Exporting cross-references for Programming error...
|
||||
[12:10:12] Processing block: RACK_FLT...
|
||||
[12:10:12] Exporting cross-references for RACK_FLT...
|
||||
[12:10:12] Processing block: Time error interrupt...
|
||||
[12:10:12] Exporting cross-references for Time error interrupt...
|
||||
[12:10:12] Processing block: Baialage...
|
||||
[12:10:12] Exporting cross-references for Baialage...
|
||||
[12:10:13] Processing block: BlenderCtrl__Main...
|
||||
[12:10:13] Exporting cross-references for BlenderCtrl__Main...
|
||||
[12:10:16] Processing block: BlenderCtrl_CIPModeInit...
|
||||
[12:10:16] Exporting cross-references for BlenderCtrl_CIPModeInit...
|
||||
[12:10:16] Processing block: BlenderCtrl_ProdModeInit...
|
||||
[12:10:16] Exporting cross-references for BlenderCtrl_ProdModeInit...
|
||||
[12:10:16] Processing block: BlenderCtrl_ResetSPWord...
|
||||
[12:10:16] Exporting cross-references for BlenderCtrl_ResetSPWord...
|
||||
[12:10:17] Processing block: BlenderCtrl_UpdatePWord...
|
||||
[12:10:17] Exporting cross-references for BlenderCtrl_UpdatePWord...
|
||||
[12:10:18] Processing block: BlenderPID_NextRecipe...
|
||||
[12:10:18] Exporting cross-references for BlenderPID_NextRecipe...
|
||||
[12:10:19] Processing block: BlenderRinse...
|
||||
[12:10:19] Exporting cross-references for BlenderRinse...
|
||||
[12:10:19] Processing block: BlenderRinse_Done...
|
||||
[12:10:19] Exporting cross-references for BlenderRinse_Done...
|
||||
[12:10:19] Processing block: BlenderRun_ProdTime...
|
||||
[12:10:19] Exporting cross-references for BlenderRun_ProdTime...
|
||||
[12:10:19] Processing block: BlenderRun_Stopping...
|
||||
[12:10:19] Exporting cross-references for BlenderRun_Stopping...
|
||||
[12:10:19] Processing block: Blocco_1...
|
||||
[12:10:19] Exporting cross-references for Blocco_1...
|
||||
[12:10:19] Processing block: Block_compare...
|
||||
[12:10:19] Exporting cross-references for Block_compare...
|
||||
[12:10:20] Processing block: Block_move...
|
||||
[12:10:20] Exporting cross-references for Block_move...
|
||||
[12:10:20] Processing block: CarboWaterLine_Seq...
|
||||
[12:10:20] Exporting cross-references for CarboWaterLine_Seq...
|
||||
[12:10:20] Processing block: Cetrifugal_Head...
|
||||
[12:10:20] Exporting cross-references for Cetrifugal_Head...
|
||||
[12:10:21] Processing block: CIP CVQ...
|
||||
[12:10:21] Exporting cross-references for CIP CVQ...
|
||||
[12:10:21] Processing block: CIP FlipFlop...
|
||||
[12:10:21] Exporting cross-references for CIP FlipFlop...
|
||||
[12:10:21] Processing block: CIPLocal_ProgInizialize...
|
||||
[12:10:21] Exporting cross-references for CIPLocal_ProgInizialize...
|
||||
[12:10:21] Processing block: CIPLocal_WaitEvent_Ctrl...
|
||||
[12:10:21] Exporting cross-references for CIPLocal_WaitEvent_Ctrl...
|
||||
[12:10:22] Processing block: CIPMain...
|
||||
[12:10:22] Exporting cross-references for CIPMain...
|
||||
[12:10:22] Processing block: CIPMain_Flood...
|
||||
[12:10:22] Exporting cross-references for CIPMain_Flood...
|
||||
[12:10:22] Processing block: CIPMain_Total Drain...
|
||||
[12:10:22] Exporting cross-references for CIPMain_Total Drain...
|
||||
[12:10:23] Processing block: Clock Signal...
|
||||
[12:10:23] Exporting cross-references for Clock Signal...
|
||||
[12:10:23] Processing block: CO2 Solubility...
|
||||
[12:10:23] Exporting cross-references for CO2 Solubility...
|
||||
[12:10:23] Processing block: CO2EqPress...
|
||||
[12:10:23] Exporting cross-references for CO2EqPress...
|
||||
[12:10:23] Processing block: CO2InjPressure...
|
||||
[12:10:23] Exporting cross-references for CO2InjPressure...
|
||||
[12:10:23] Processing block: CTRLCoolingSystem...
|
||||
[12:10:23] Exporting cross-references for CTRLCoolingSystem...
|
||||
[12:10:23] Processing block: DeairCO2TempComp...
|
||||
[12:10:23] Exporting cross-references for DeairCO2TempComp...
|
||||
[12:10:23] Processing block: DeaireationValve...
|
||||
[12:10:23] Exporting cross-references for DeaireationValve...
|
||||
[12:10:24] Processing block: Deaireator StartUp_Seq...
|
||||
[12:10:24] Exporting cross-references for Deaireator StartUp_Seq...
|
||||
[12:10:25] Processing block: DeltaP...
|
||||
[12:10:25] Exporting cross-references for DeltaP...
|
||||
[12:10:25] Processing block: FeedForward...
|
||||
[12:10:25] Exporting cross-references for FeedForward...
|
||||
[12:10:25] Processing block: Flow_To_Press_Loss...
|
||||
[12:10:25] Exporting cross-references for Flow_To_Press_Loss...
|
||||
[12:10:25] Processing block: Freq_To_mmH2O...
|
||||
[12:10:25] Exporting cross-references for Freq_To_mmH2O...
|
||||
[12:10:25] Processing block: FrictionLoss...
|
||||
[12:10:25] Exporting cross-references for FrictionLoss...
|
||||
[12:10:25] Processing block: FW_DRand...
|
||||
[12:10:25] Exporting cross-references for FW_DRand...
|
||||
[12:10:25] Processing block: GetProdBrixCO2_Anal_Inpt...
|
||||
[12:10:25] Exporting cross-references for GetProdBrixCO2_Anal_Inpt...
|
||||
[12:10:25] Processing block: Interlocking_Panel_1...
|
||||
[12:10:25] Exporting cross-references for Interlocking_Panel_1...
|
||||
[12:10:26] Processing block: ITC Communic CIPRoom...
|
||||
[12:10:26] Exporting cross-references for ITC Communic CIPRoom...
|
||||
[12:10:26] Processing block: ITC Communic Filler...
|
||||
[12:10:26] Exporting cross-references for ITC Communic Filler...
|
||||
[12:10:26] Processing block: ITC Communic MainRoutine...
|
||||
[12:10:26] Exporting cross-references for ITC Communic MainRoutine...
|
||||
[12:10:26] Processing block: ITC Communic ProdRoom...
|
||||
[12:10:26] Exporting cross-references for ITC Communic ProdRoom...
|
||||
[12:10:27] Processing block: ITC DataIn...
|
||||
[12:10:27] Exporting cross-references for ITC DataIn...
|
||||
[12:10:27] Processing block: ITC DataOut...
|
||||
[12:10:27] Exporting cross-references for ITC DataOut...
|
||||
[12:10:27] Processing block: ITC Exchange MainRoutine...
|
||||
[12:10:27] Exporting cross-references for ITC Exchange MainRoutine...
|
||||
[12:10:27] Processing block: ITC MainRoutine...
|
||||
[12:10:27] Exporting cross-references for ITC MainRoutine...
|
||||
[12:10:27] Processing block: LIMIT_I...
|
||||
[12:10:27] Exporting cross-references for LIMIT_I...
|
||||
[12:10:27] Processing block: LIMIT_R...
|
||||
[12:10:27] Exporting cross-references for LIMIT_R...
|
||||
[12:10:27] Processing block: Maselli_PA_Control...
|
||||
[12:10:27] Exporting cross-references for Maselli_PA_Control...
|
||||
[12:10:27] Processing block: Maselli_PA_Ctrl_Transfer...
|
||||
[12:10:27] Exporting cross-references for Maselli_PA_Ctrl_Transfer...
|
||||
[12:10:28] Processing block: Maselli_PA_Ctrl_Write...
|
||||
[12:10:28] Exporting cross-references for Maselli_PA_Ctrl_Write...
|
||||
[12:10:28] Processing block: MFMAnalogValues_Totalize...
|
||||
[12:10:28] Exporting cross-references for MFMAnalogValues_Totalize...
|
||||
[12:10:28] Processing block: mmH2O_TO_Freq...
|
||||
[12:10:28] Exporting cross-references for mmH2O_TO_Freq...
|
||||
[12:10:28] Processing block: ModValveFault...
|
||||
[12:10:28] Exporting cross-references for ModValveFault...
|
||||
[12:10:29] Processing block: mPDS_SYR_PA_Control...
|
||||
[12:10:29] Exporting cross-references for mPDS_SYR_PA_Control...
|
||||
[12:10:29] Processing block: ONS_R...
|
||||
[12:10:29] Exporting cross-references for ONS_R...
|
||||
[12:10:29] Processing block: Prod Tank RunOut_Seq...
|
||||
[12:10:29] Exporting cross-references for Prod Tank RunOut_Seq...
|
||||
[12:10:30] Processing block: ProductLiterInTank...
|
||||
[12:10:30] Exporting cross-references for ProductLiterInTank...
|
||||
[12:10:30] Processing block: ProductPipeDrain_Seq...
|
||||
[12:10:30] Exporting cross-references for ProductPipeDrain_Seq...
|
||||
[12:10:30] Processing block: ProductPipeRunOut_Seq...
|
||||
[12:10:30] Exporting cross-references for ProductPipeRunOut_Seq...
|
||||
[12:10:31] Processing block: ProductQuality...
|
||||
[12:10:31] Exporting cross-references for ProductQuality...
|
||||
[12:10:31] Processing block: SEL_I...
|
||||
[12:10:31] Exporting cross-references for SEL_I...
|
||||
[12:10:31] Processing block: SEL_R...
|
||||
[12:10:31] Exporting cross-references for SEL_R...
|
||||
[12:10:32] Processing block: SelCheckBrixSource...
|
||||
[12:10:32] Exporting cross-references for SelCheckBrixSource...
|
||||
[12:10:32] Processing block: SLIM_Block...
|
||||
[12:10:32] Exporting cross-references for SLIM_Block...
|
||||
[12:10:32] Processing block: SpeedAdjust...
|
||||
[12:10:32] Exporting cross-references for SpeedAdjust...
|
||||
[12:10:33] Processing block: Syrup Line MFM Prep_Seq...
|
||||
[12:10:33] Exporting cross-references for Syrup Line MFM Prep_Seq...
|
||||
[12:10:33] Processing block: Syrup MFM StartUp_Seq...
|
||||
[12:10:33] Exporting cross-references for Syrup MFM StartUp_Seq...
|
||||
[12:10:34] Processing block: SyrupDensity...
|
||||
[12:10:34] Exporting cross-references for SyrupDensity...
|
||||
[12:10:34] Processing block: SyrupRoomCtrl...
|
||||
[12:10:34] Exporting cross-references for SyrupRoomCtrl...
|
||||
[12:10:34] Processing block: WaterDensity...
|
||||
[12:10:34] Exporting cross-references for WaterDensity...
|
||||
[12:10:34] Processing block: WritePeripheral...
|
||||
[12:10:34] Exporting cross-references for WritePeripheral...
|
||||
[12:10:34] Processing block: CIPRecipeManagement_Data...
|
||||
[12:10:34] Exporting cross-references for CIPRecipeManagement_Data...
|
||||
[12:10:36] Processing block: Co2_Counters_DB...
|
||||
[12:10:36] Exporting cross-references for Co2_Counters_DB...
|
||||
[12:10:36] Processing block: Default_SupervisionDB...
|
||||
[12:10:36] Exporting cross-references for Default_SupervisionDB...
|
||||
[12:10:37] Processing block: ITC Communic CIP DI...
|
||||
[12:10:37] Exporting cross-references for ITC Communic CIP DI...
|
||||
[12:10:41] Processing block: ITC Communic Filler DI...
|
||||
[12:10:41] Exporting cross-references for ITC Communic Filler DI...
|
||||
[12:10:46] Processing block: ITC Communic Mixer DI...
|
||||
[12:10:46] Exporting cross-references for ITC Communic Mixer DI...
|
||||
[12:10:50] Processing block: ITC Communic Product Room DI...
|
||||
[12:10:50] Exporting cross-references for ITC Communic Product Room DI...
|
||||
[12:10:54] Processing block: Key Read & Write Data...
|
||||
[12:10:54] Exporting cross-references for Key Read & Write Data...
|
||||
[12:10:55] Processing block: mPPM303StartUpRamp...
|
||||
[12:10:55] Exporting cross-references for mPPM303StartUpRamp...
|
||||
[12:10:55] Processing block: PID_RMM304_Data...
|
||||
[12:10:55] Exporting cross-references for PID_RMM304_Data...
|
||||
[12:10:56] Processing block: PID_RVN302_Data...
|
||||
[12:10:56] Exporting cross-references for PID_RVN302_Data...
|
||||
[12:10:56] Processing block: PID_RVS318_Data...
|
||||
[12:10:56] Exporting cross-references for PID_RVS318_Data...
|
||||
[12:10:57] Processing block: ProdBrixRecovery_DB...
|
||||
[12:10:57] Exporting cross-references for ProdBrixRecovery_DB...
|
||||
[12:10:57] Processing block: Prod Tank Drain_Seq...
|
||||
[12:10:57] Exporting cross-references for Prod Tank Drain_Seq...
|
||||
[12:10:58] Processing block: _StepMove...
|
||||
[12:10:58] Exporting cross-references for _StepMove...
|
||||
[12:10:58] Processing block: _StepMove_Test...
|
||||
[12:10:58] Exporting cross-references for _StepMove_Test...
|
||||
[12:10:58] Processing block: RecipeManagement_Data...
|
||||
[12:10:58] Exporting cross-references for RecipeManagement_Data...
|
||||
[12:11:00] Processing block: Blender_Procedure Data...
|
||||
[12:11:00] Exporting cross-references for Blender_Procedure Data...
|
||||
[12:11:03] Processing block: BlenderPID__Main_Data...
|
||||
[12:11:03] Exporting cross-references for BlenderPID__Main_Data...
|
||||
[12:11:06] Processing block: BlenderRun_MeasFil_Data...
|
||||
[12:11:06] Exporting cross-references for BlenderRun_MeasFil_Data...
|
||||
[12:11:07] Processing block: BrixTracking_Data...
|
||||
[12:11:07] Exporting cross-references for BrixTracking_Data...
|
||||
[12:11:09] Processing block: CO2Tracking_Data...
|
||||
[12:11:09] Exporting cross-references for CO2Tracking_Data...
|
||||
[12:11:12] Processing block: FirstProduction_Data...
|
||||
[12:11:12] Exporting cross-references for FirstProduction_Data...
|
||||
[12:11:13] Processing block: Input_Data...
|
||||
[12:11:13] Exporting cross-references for Input_Data...
|
||||
[12:11:22] Processing block: ISOonTCP_or_TCP_Protocol_DB...
|
||||
[12:11:22] Exporting cross-references for ISOonTCP_or_TCP_Protocol_DB...
|
||||
[12:11:28] Processing block: MFM_Analog_Value_Data...
|
||||
[12:11:28] Exporting cross-references for MFM_Analog_Value_Data...
|
||||
[12:11:32] Processing block: PID MAIN Data...
|
||||
[12:11:32] Exporting cross-references for PID MAIN Data...
|
||||
[12:11:46] Processing block: PID_Filling_Head_Data...
|
||||
[12:11:46] Exporting cross-references for PID_Filling_Head_Data...
|
||||
[12:11:47] Processing block: PID_RMM301_Data...
|
||||
[12:11:47] Exporting cross-references for PID_RMM301_Data...
|
||||
[12:11:48] Processing block: PID_RMM303_Data...
|
||||
[12:11:48] Exporting cross-references for PID_RMM303_Data...
|
||||
[12:11:49] Processing block: PID_RMP302_Data...
|
||||
[12:11:49] Exporting cross-references for PID_RMP302_Data...
|
||||
[12:11:49] Processing block: PID_RVM301_Data...
|
||||
[12:11:49] Exporting cross-references for PID_RVM301_Data...
|
||||
[12:11:50] Processing block: PID_RVM319_Data...
|
||||
[12:11:50] Exporting cross-references for PID_RVM319_Data...
|
||||
[12:11:51] Processing block: PID_RVP303_Data...
|
||||
[12:11:51] Exporting cross-references for PID_RVP303_Data...
|
||||
[12:11:51] Processing block: Sel_Check_Brix_Data...
|
||||
[12:11:51] Exporting cross-references for Sel_Check_Brix_Data...
|
||||
[12:11:52] Processing block: Signal_Gen_Data...
|
||||
[12:11:52] Exporting cross-references for Signal_Gen_Data...
|
||||
[12:11:52] Processing block: System_Run_Out_Data...
|
||||
[12:11:52] Exporting cross-references for System_Run_Out_Data...
|
||||
[12:11:54] Processing block: SubCarb_DB...
|
||||
[12:11:54] Exporting cross-references for SubCarb_DB...
|
||||
[12:11:55] Processing block: CYC_INT5...
|
||||
[12:11:55] Exporting cross-references for CYC_INT5...
|
||||
[12:11:55] Processing block: BlenderCtrl_All Auto...
|
||||
[12:11:55] Exporting cross-references for BlenderCtrl_All Auto...
|
||||
[12:11:55] Processing block: BlenderCtrl_InitErrors...
|
||||
[12:11:55] Exporting cross-references for BlenderCtrl_InitErrors...
|
||||
[12:11:55] Processing block: BlenderCtrl_ManualActive...
|
||||
[12:11:55] Exporting cross-references for BlenderCtrl_ManualActive...
|
||||
[12:11:55] Processing block: BlenderCtrl_MFM Command...
|
||||
[12:11:55] Exporting cross-references for BlenderCtrl_MFM Command...
|
||||
[12:11:55] Processing block: BlenderPID_FlowMeterErro...
|
||||
[12:11:55] Exporting cross-references for BlenderPID_FlowMeterErro...
|
||||
[12:11:56] Processing block: BlenderPID_PIDResInteg...
|
||||
[12:11:56] Exporting cross-references for BlenderPID_PIDResInteg...
|
||||
[12:11:56] Processing block: BlenderPIDCtrl_PresRelea...
|
||||
[12:11:56] Exporting cross-references for BlenderPIDCtrl_PresRelea...
|
||||
[12:11:56] Processing block: BlenderPIDCtrl_SaveValve...
|
||||
[12:11:56] Exporting cross-references for BlenderPIDCtrl_SaveValve...
|
||||
[12:11:56] Processing block: BlenderRun__Control...
|
||||
[12:11:56] Exporting cross-references for BlenderRun__Control...
|
||||
[12:11:58] Processing block: BlenderRun_SelectConstan...
|
||||
[12:11:58] Exporting cross-references for BlenderRun_SelectConstan...
|
||||
[12:11:58] Processing block: BlendFill StartUp_Seq...
|
||||
[12:11:58] Exporting cross-references for BlendFill StartUp_Seq...
|
||||
[12:11:59] Processing block: CIP_SimpleProgr_Init...
|
||||
[12:11:59] Exporting cross-references for CIP_SimpleProgr_Init...
|
||||
[12:12:01] Processing block: CIPLocal...
|
||||
[12:12:01] Exporting cross-references for CIPLocal...
|
||||
[12:12:03] Processing block: CIPLocal_ExecSimpleCIP...
|
||||
[12:12:03] Exporting cross-references for CIPLocal_ExecSimpleCIP...
|
||||
[12:12:03] Processing block: CIPLocal_ExecStep...
|
||||
[12:12:03] Exporting cross-references for CIPLocal_ExecStep...
|
||||
[12:12:04] Processing block: CIPLocal_ProgStepDown...
|
||||
[12:12:04] Exporting cross-references for CIPLocal_ProgStepDown...
|
||||
[12:12:05] Processing block: CIPLocal_ProgStepUp...
|
||||
[12:12:05] Exporting cross-references for CIPLocal_ProgStepUp...
|
||||
[12:12:05] Processing block: CIPReportManager...
|
||||
[12:12:05] Exporting cross-references for CIPReportManager...
|
||||
[12:12:06] Processing block: CPU_DP Global Diag...
|
||||
[12:12:06] Exporting cross-references for CPU_DP Global Diag...
|
||||
[12:12:06] Processing block: CVQ_1p7_8_Perc...
|
||||
[12:12:06] Exporting cross-references for CVQ_1p7_8_Perc...
|
||||
[12:12:06] Processing block: DELETE...
|
||||
[12:12:06] Exporting cross-references for DELETE...
|
||||
[12:12:07] Processing block: EQ_STRNG...
|
||||
[12:12:07] Exporting cross-references for EQ_STRNG...
|
||||
[12:12:07] Processing block: FillerControl...
|
||||
[12:12:07] Exporting cross-references for FillerControl...
|
||||
[12:12:10] Processing block: FillerControl_DataSend...
|
||||
[12:12:10] Exporting cross-references for FillerControl_DataSend...
|
||||
[12:12:11] Processing block: FillingTime...
|
||||
[12:12:11] Exporting cross-references for FillingTime...
|
||||
[12:12:12] Processing block: Input_CheckFlowMetersSta...
|
||||
[12:12:12] Exporting cross-references for Input_CheckFlowMetersSta...
|
||||
[12:12:13] Processing block: Input_DigitalCtrl...
|
||||
[12:12:13] Exporting cross-references for Input_DigitalCtrl...
|
||||
[12:12:14] Processing block: Input_DigitalScanner...
|
||||
[12:12:14] Exporting cross-references for Input_DigitalScanner...
|
||||
[12:12:14] Processing block: Instrument_Scanner...
|
||||
[12:12:14] Exporting cross-references for Instrument_Scanner...
|
||||
[12:12:15] Processing block: Interlocking_Panel...
|
||||
[12:12:15] Exporting cross-references for Interlocking_Panel...
|
||||
[12:12:17] Processing block: Maselli_PA_Ctrl_Read...
|
||||
[12:12:17] Exporting cross-references for Maselli_PA_Ctrl_Read...
|
||||
[12:12:18] Processing block: MaxCarboCO2 Vol...
|
||||
[12:12:18] Exporting cross-references for MaxCarboCO2 Vol...
|
||||
[12:12:18] Processing block: MessageScroll...
|
||||
[12:12:18] Exporting cross-references for MessageScroll...
|
||||
[12:12:18] Processing block: mPDS_SYR_PA_Ctrl_Read...
|
||||
[12:12:18] Exporting cross-references for mPDS_SYR_PA_Ctrl_Read...
|
||||
[12:12:19] Processing block: Output_CO2InjPress...
|
||||
[12:12:19] Exporting cross-references for Output_CO2InjPress...
|
||||
[12:12:19] Processing block: Pneumatic Valve Fault...
|
||||
[12:12:19] Exporting cross-references for Pneumatic Valve Fault...
|
||||
[12:12:19] Processing block: PPM O2...
|
||||
[12:12:19] Exporting cross-references for PPM O2...
|
||||
[12:12:19] Processing block: PPM303_VFC_Ctrl...
|
||||
[12:12:19] Exporting cross-references for PPM303_VFC_Ctrl...
|
||||
[12:12:20] Processing block: PPM305_VFC_Ctrl...
|
||||
[12:12:20] Exporting cross-references for PPM305_VFC_Ctrl...
|
||||
[12:12:20] Processing block: PPM307_VFC_Ctrl...
|
||||
[12:12:20] Exporting cross-references for PPM307_VFC_Ctrl...
|
||||
[12:12:20] Processing block: PPN301_VFC_Ctrl...
|
||||
[12:12:20] Exporting cross-references for PPN301_VFC_Ctrl...
|
||||
[12:12:20] Processing block: PPP302_VFC_Ctrl...
|
||||
[12:12:20] Exporting cross-references for PPP302_VFC_Ctrl...
|
||||
[12:12:21] Processing block: ProdBrixRecovery_BrixCal...
|
||||
[12:12:21] Exporting cross-references for ProdBrixRecovery_BrixCal...
|
||||
[12:12:21] Processing block: ProdReportManager...
|
||||
[12:12:21] Exporting cross-references for ProdReportManager...
|
||||
[12:12:24] Processing block: ProductQuality_Messages...
|
||||
[12:12:24] Exporting cross-references for ProductQuality_Messages...
|
||||
[12:12:24] Processing block: Profibus Network...
|
||||
[12:12:24] Exporting cross-references for Profibus Network...
|
||||
[12:12:25] Processing block: QCO Monitor...
|
||||
[12:12:25] Exporting cross-references for QCO Monitor...
|
||||
[12:12:26] Processing block: ReadAnalogIn...
|
||||
[12:12:26] Exporting cross-references for ReadAnalogIn...
|
||||
[12:12:26] Processing block: RecipeCalculation...
|
||||
[12:12:26] Exporting cross-references for RecipeCalculation...
|
||||
[12:12:27] Processing block: REPLACE_Mod...
|
||||
[12:12:27] Exporting cross-references for REPLACE_Mod...
|
||||
[12:12:27] Processing block: SyrBrix_SyrupCorrPerc...
|
||||
[12:12:27] Exporting cross-references for SyrBrix_SyrupCorrPerc...
|
||||
[12:12:27] Processing block: Syrup Rinse QCO_Seq...
|
||||
[12:12:27] Exporting cross-references for Syrup Rinse QCO_Seq...
|
||||
[12:12:27] Processing block: SyrupRoomCtrl_UpdateVal...
|
||||
[12:12:27] Exporting cross-references for SyrupRoomCtrl_UpdateVal...
|
||||
[12:12:27] Processing block: T_Timer...
|
||||
[12:12:27] Exporting cross-references for T_Timer...
|
||||
[12:12:28] Processing block: TankLevelToHeight...
|
||||
[12:12:28] Exporting cross-references for TankLevelToHeight...
|
||||
[12:12:28] Processing block: VacuumCtrl...
|
||||
[12:12:28] Exporting cross-references for VacuumCtrl...
|
||||
[12:12:28] Processing block: ValveFlow...
|
||||
[12:12:28] Exporting cross-references for ValveFlow...
|
||||
[12:12:28] Processing block: BlenderPID__Main...
|
||||
[12:12:28] Exporting cross-references for BlenderPID__Main...
|
||||
[12:12:29] Processing block: BlenderPID_BlendingFault...
|
||||
[12:12:29] Exporting cross-references for BlenderPID_BlendingFault...
|
||||
[12:12:30] Processing block: BlenderPID_PIDFFCalc...
|
||||
[12:12:30] Exporting cross-references for BlenderPID_PIDFFCalc...
|
||||
[12:12:30] Processing block: BlenderPID_PIDInitParam...
|
||||
[12:12:30] Exporting cross-references for BlenderPID_PIDInitParam...
|
||||
[12:12:31] Processing block: BlenderPID_PIDSPCalc...
|
||||
[12:12:31] Exporting cross-references for BlenderPID_PIDSPCalc...
|
||||
[12:12:32] Processing block: BlenderPIDCtrl_Monitor...
|
||||
[12:12:32] Exporting cross-references for BlenderPIDCtrl_Monitor...
|
||||
[12:12:33] Processing block: BlenderPIDCtrl_ReadAnIn...
|
||||
[12:12:33] Exporting cross-references for BlenderPIDCtrl_ReadAnIn...
|
||||
[12:12:33] Processing block: BlenderPIDCtrl_SaveInteg...
|
||||
[12:12:33] Exporting cross-references for BlenderPIDCtrl_SaveInteg...
|
||||
[12:12:34] Processing block: BlenderRun_MeasFilSpeed...
|
||||
[12:12:34] Exporting cross-references for BlenderRun_MeasFilSpeed...
|
||||
[12:12:35] Processing block: BrixTracking_ProdSamples...
|
||||
[12:12:35] Exporting cross-references for BrixTracking_ProdSamples...
|
||||
[12:12:35] Processing block: BrixTracking_SampleTime...
|
||||
[12:12:35] Exporting cross-references for BrixTracking_SampleTime...
|
||||
[12:12:36] Processing block: CIPRecipeManagement...
|
||||
[12:12:36] Exporting cross-references for CIPRecipeManagement...
|
||||
[12:12:37] Processing block: Co2_Counters...
|
||||
[12:12:37] Exporting cross-references for Co2_Counters...
|
||||
[12:12:37] Processing block: CO2Tracking...
|
||||
[12:12:37] Exporting cross-references for CO2Tracking...
|
||||
[12:12:37] Processing block: CO2Tracking_ProdSamples...
|
||||
[12:12:37] Exporting cross-references for CO2Tracking_ProdSamples...
|
||||
[12:12:38] Processing block: CO2Tracking_SampleTime...
|
||||
[12:12:38] Exporting cross-references for CO2Tracking_SampleTime...
|
||||
[12:12:38] Processing block: Default_SupervisionFB...
|
||||
[12:12:38] Exporting cross-references for Default_SupervisionFB...
|
||||
[12:12:38] Processing block: Delay...
|
||||
[12:12:38] Exporting cross-references for Delay...
|
||||
[12:12:38] Processing block: Input...
|
||||
[12:12:38] Exporting cross-references for Input...
|
||||
[12:12:41] Processing block: Integral...
|
||||
[12:12:41] Exporting cross-references for Integral...
|
||||
[12:12:41] Processing block: Key Read & Write...
|
||||
[12:12:41] Exporting cross-references for Key Read & Write...
|
||||
[12:12:46] Processing block: LowPassFilter...
|
||||
[12:12:46] Exporting cross-references for LowPassFilter...
|
||||
[12:12:46] Processing block: MFMAnalogValues...
|
||||
[12:12:46] Exporting cross-references for MFMAnalogValues...
|
||||
[12:12:48] Processing block: MSE Slope...
|
||||
[12:12:48] Exporting cross-references for MSE Slope...
|
||||
[12:12:48] Processing block: PID_Filling_Head_Calc...
|
||||
[12:12:48] Exporting cross-references for PID_Filling_Head_Calc...
|
||||
[12:12:48] Processing block: PID_RMM301...
|
||||
[12:12:48] Exporting cross-references for PID_RMM301...
|
||||
[12:12:49] Processing block: PID_RMM303...
|
||||
[12:12:49] Exporting cross-references for PID_RMM303...
|
||||
[12:12:49] Processing block: PID_RMM304...
|
||||
[12:12:49] Exporting cross-references for PID_RMM304...
|
||||
[12:12:50] Processing block: PID_RMP302...
|
||||
[12:12:50] Exporting cross-references for PID_RMP302...
|
||||
[12:12:50] Processing block: PID_RVM301...
|
||||
[12:12:50] Exporting cross-references for PID_RVM301...
|
||||
[12:12:50] Processing block: PID_RVM319_PRD...
|
||||
[12:12:50] Exporting cross-references for PID_RVM319_PRD...
|
||||
[12:12:51] Processing block: PID_RVN302...
|
||||
[12:12:51] Exporting cross-references for PID_RVN302...
|
||||
[12:12:52] Processing block: PID_RVP303...
|
||||
[12:12:52] Exporting cross-references for PID_RVP303...
|
||||
[12:12:52] Processing block: PID_RVS318...
|
||||
[12:12:52] Exporting cross-references for PID_RVS318...
|
||||
[12:12:52] Processing block: PIDControl...
|
||||
[12:12:52] Exporting cross-references for PIDControl...
|
||||
[12:12:53] Processing block: Procedure...
|
||||
[12:12:53] Exporting cross-references for Procedure...
|
||||
[12:12:53] Processing block: ProcedureBlendFill StartUp...
|
||||
[12:12:53] Exporting cross-references for ProcedureBlendFill StartUp...
|
||||
[12:12:54] Processing block: ProcedureBrixTracking...
|
||||
[12:12:54] Exporting cross-references for ProcedureBrixTracking...
|
||||
[12:12:54] Processing block: ProcedureCarboWaterLine...
|
||||
[12:12:54] Exporting cross-references for ProcedureCarboWaterLine...
|
||||
[12:12:55] Processing block: ProcedureDeaireator StartUp...
|
||||
[12:12:55] Exporting cross-references for ProcedureDeaireator StartUp...
|
||||
[12:12:56] Processing block: ProcedureFirstProduction...
|
||||
[12:12:56] Exporting cross-references for ProcedureFirstProduction...
|
||||
[12:12:56] Processing block: ProcedureProdBrixRecovery...
|
||||
[12:12:56] Exporting cross-references for ProcedureProdBrixRecovery...
|
||||
[12:12:57] Processing block: ProcedureProdTankDrain...
|
||||
[12:12:57] Exporting cross-references for ProcedureProdTankDrain...
|
||||
[12:12:57] Processing block: ProcedureProdTankRunOut...
|
||||
[12:12:57] Exporting cross-references for ProcedureProdTankRunOut...
|
||||
[12:12:58] Processing block: ProcedureSyrup RunOut...
|
||||
[12:12:58] Exporting cross-references for ProcedureSyrup RunOut...
|
||||
[12:12:58] Processing block: ProcedureSyrupLineMFMPrep...
|
||||
[12:12:58] Exporting cross-references for ProcedureSyrupLineMFMPrep...
|
||||
[12:12:59] Processing block: ProcedureSyrupMFMStartUp...
|
||||
[12:12:59] Exporting cross-references for ProcedureSyrupMFMStartUp...
|
||||
[12:13:00] Processing block: ProductAvailable...
|
||||
[12:13:00] Exporting cross-references for ProductAvailable...
|
||||
[12:13:00] Processing block: ProductPipeDrain...
|
||||
[12:13:00] Exporting cross-references for ProductPipeDrain...
|
||||
[12:13:00] Processing block: ProductPipeRunOut...
|
||||
[12:13:00] Exporting cross-references for ProductPipeRunOut...
|
||||
[12:13:01] Processing block: Signal Gen...
|
||||
[12:13:01] Exporting cross-references for Signal Gen...
|
||||
[12:13:01] Processing block: SlewLimit...
|
||||
[12:13:01] Exporting cross-references for SlewLimit...
|
||||
[12:13:01] Processing block: Statistical_Analisys...
|
||||
[12:13:01] Exporting cross-references for Statistical_Analisys...
|
||||
[12:13:02] Processing block: SubCarb...
|
||||
[12:13:02] Exporting cross-references for SubCarb...
|
||||
[12:13:02] Processing block: SyrBrix Autocorrection...
|
||||
[12:13:02] Exporting cross-references for SyrBrix Autocorrection...
|
||||
[12:13:03] Processing block: System_Run_Out...
|
||||
[12:13:03] Exporting cross-references for System_Run_Out...
|
||||
[12:13:04] Processing block: Blender_Constants...
|
||||
[12:13:04] Exporting cross-references for Blender_Constants...
|
||||
[12:13:06] Processing block: Blender_Variables...
|
||||
[12:13:06] Exporting cross-references for Blender_Variables...
|
||||
[12:13:12] Processing block: Blender_Variables_Pers...
|
||||
[12:13:12] Exporting cross-references for Blender_Variables_Pers...
|
||||
[12:13:14] Processing block: Blocco_dati_Test...
|
||||
[12:13:14] Exporting cross-references for Blocco_dati_Test...
|
||||
[12:13:16] Processing block: CIP_Program_Variables...
|
||||
[12:13:16] Exporting cross-references for CIP_Program_Variables...
|
||||
[12:13:30] Processing block: CIPRecipe#01...
|
||||
[12:13:30] Exporting cross-references for CIPRecipe#01...
|
||||
[12:13:32] Processing block: CIPRecipe#02...
|
||||
[12:13:32] Exporting cross-references for CIPRecipe#02...
|
||||
[12:13:34] Processing block: CIPRecipe#03...
|
||||
[12:13:34] Exporting cross-references for CIPRecipe#03...
|
||||
[12:13:36] Processing block: CIPRecipe#04...
|
||||
[12:13:36] Exporting cross-references for CIPRecipe#04...
|
||||
[12:13:38] Processing block: CIPRecipe#05...
|
||||
[12:13:38] Exporting cross-references for CIPRecipe#05...
|
||||
[12:13:40] Processing block: CIPRecipe#06...
|
||||
[12:13:40] Exporting cross-references for CIPRecipe#06...
|
||||
[12:13:42] Processing block: CIPRecipe#07...
|
||||
[12:13:42] Exporting cross-references for CIPRecipe#07...
|
||||
[12:13:44] Processing block: CIPRecipe#08...
|
||||
[12:13:44] Exporting cross-references for CIPRecipe#08...
|
||||
[12:13:46] Processing block: CIPRecipe#09...
|
||||
[12:13:46] Exporting cross-references for CIPRecipe#09...
|
||||
[12:13:48] Processing block: CIPRecipe#10...
|
||||
[12:13:48] Exporting cross-references for CIPRecipe#10...
|
||||
[12:13:49] Processing block: CIPRecipe#11...
|
||||
[12:13:49] Exporting cross-references for CIPRecipe#11...
|
||||
[12:13:51] Processing block: CIPRecipe#12...
|
||||
[12:13:51] Exporting cross-references for CIPRecipe#12...
|
||||
[12:13:54] Processing block: CIPRecipe#13...
|
||||
[12:13:54] Exporting cross-references for CIPRecipe#13...
|
||||
[12:13:56] Processing block: CIPRecipe#14...
|
||||
[12:13:56] Exporting cross-references for CIPRecipe#14...
|
||||
[12:13:58] Processing block: CIPRecipe#15...
|
||||
[12:13:58] Exporting cross-references for CIPRecipe#15...
|
||||
[12:14:01] Processing block: CIPRecipe#16...
|
||||
[12:14:01] Exporting cross-references for CIPRecipe#16...
|
||||
[12:14:03] Processing block: CIPRecipe#17...
|
||||
[12:14:03] Exporting cross-references for CIPRecipe#17...
|
||||
[12:14:05] Processing block: CIPRecipe#18...
|
||||
[12:14:05] Exporting cross-references for CIPRecipe#18...
|
||||
[12:14:07] Processing block: CIPRecipe#19...
|
||||
[12:14:07] Exporting cross-references for CIPRecipe#19...
|
||||
[12:14:09] Processing block: CIPRecipe#20...
|
||||
[12:14:09] Exporting cross-references for CIPRecipe#20...
|
||||
[12:14:11] Processing block: CIPRecipe#21...
|
||||
[12:14:11] Exporting cross-references for CIPRecipe#21...
|
||||
[12:14:13] Processing block: CIPRecipe#22...
|
||||
[12:14:13] Exporting cross-references for CIPRecipe#22...
|
||||
[12:14:15] Processing block: CIPRecipe#23...
|
||||
[12:14:15] Exporting cross-references for CIPRecipe#23...
|
||||
[12:14:17] Processing block: CIPRecipe#24...
|
||||
[12:14:17] Exporting cross-references for CIPRecipe#24...
|
||||
[12:14:19] Processing block: CIPRecipe#25...
|
||||
[12:14:19] Exporting cross-references for CIPRecipe#25...
|
||||
[12:14:21] Processing block: CIPRecipe#26...
|
||||
[12:14:21] Exporting cross-references for CIPRecipe#26...
|
||||
[12:14:24] Processing block: CIPRecipe#27...
|
||||
[12:14:24] Exporting cross-references for CIPRecipe#27...
|
||||
[12:14:27] Processing block: CIPRecipe#28...
|
||||
[12:14:27] Exporting cross-references for CIPRecipe#28...
|
||||
[12:14:30] Processing block: CIPRecipe#29...
|
||||
[12:14:30] Exporting cross-references for CIPRecipe#29...
|
||||
[12:14:32] Processing block: CIPRecipe#30...
|
||||
[12:14:32] Exporting cross-references for CIPRecipe#30...
|
||||
[12:14:34] Processing block: CIPReportDB...
|
||||
[12:14:34] Exporting cross-references for CIPReportDB...
|
||||
[12:14:39] Processing block: Filler_Head_Variables...
|
||||
[12:14:39] Exporting cross-references for Filler_Head_Variables...
|
||||
[12:14:40] Processing block: GLOBAL_DIAG_DB...
|
||||
[12:14:40] Exporting cross-references for GLOBAL_DIAG_DB...
|
||||
[12:14:41] Processing block: HMI CPU_DP Diag...
|
||||
[12:14:41] Exporting cross-references for HMI CPU_DP Diag...
|
||||
[12:14:44] Processing block: HMI Key User...
|
||||
[12:14:44] Exporting cross-references for HMI Key User...
|
||||
[12:15:10] Processing block: HMI_Alarms...
|
||||
[12:15:10] Exporting cross-references for HMI_Alarms...
|
||||
[12:15:14] Processing block: HMI_Digital...
|
||||
[12:15:14] Exporting cross-references for HMI_Digital...
|
||||
[12:15:17] ERROR accessing Program Blocks for cross-reference export: RemotingException: El objeto '/7a4a4a73_a97d_46f2_83b4_4f5e9d0e966e/df6uqosgttpdtg38rqj6huml_447.rem' se desconectó o no existe en el servidor.
|
||||
[12:15:17] [PLC: PLC] Exporting PLC Tag Table Cross-References...
|
||||
[12:15:17] Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\PlcTags_CR
|
||||
[12:15:17] Found 10 Tag Tables.
|
||||
[12:15:17] Processing Tag Table: Memories...
|
||||
[12:15:17] Exporting cross-references for Memories...
|
||||
[12:15:17] Processing Tag Table: Tabella delle variabili standard...
|
||||
[12:15:17] Exporting cross-references for Tabella delle variabili standard...
|
||||
[12:15:17] Processing Tag Table: Timers_Counters...
|
||||
[12:15:17] Exporting cross-references for Timers_Counters...
|
||||
[12:15:17] Processing Tag Table: Inputs...
|
||||
[12:15:17] Exporting cross-references for Inputs...
|
||||
[12:15:17] Processing Tag Table: Outputs...
|
||||
[12:15:17] Exporting cross-references for Outputs...
|
||||
[12:15:17] Processing Tag Table: Tabella delle variabili_1...
|
||||
[12:15:17] Exporting cross-references for Tabella delle variabili_1...
|
||||
[12:15:17] Processing Tag Table: Tabella delle variabili_2...
|
||||
[12:15:17] Exporting cross-references for Tabella delle variabili_2...
|
||||
[12:15:17] Processing Tag Table: OutputsFesto...
|
||||
[12:15:17] Exporting cross-references for OutputsFesto...
|
||||
[12:15:17] Processing Tag Table: InputsMaster...
|
||||
[12:15:17] Exporting cross-references for InputsMaster...
|
||||
[12:15:17] Processing Tag Table: OutputsMaster...
|
||||
[12:15:17] Exporting cross-references for OutputsMaster...
|
||||
[12:15:17] Tag Table CR Export Summary: Exported=10, Skipped/Errors=0
|
||||
[12:15:17] [PLC: PLC] Exporting PLC Data Type (UDT) Cross-References...
|
||||
[12:15:17] Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\PlcDataTypes_CR
|
||||
[12:15:17] Found 24 UDTs.
|
||||
[12:15:17] Processing UDT: AnalogInstrument...
|
||||
[12:15:17] Exporting cross-references for AnalogInstrument...
|
||||
[12:15:17] Processing UDT: CIP_Link_Type...
|
||||
[12:15:17] Exporting cross-references for CIP_Link_Type...
|
||||
[12:15:20] Processing UDT: CIP_Simple_Type...
|
||||
[12:15:20] Exporting cross-references for CIP_Simple_Type...
|
||||
[12:15:20] Processing UDT: CIP_Step_Type...
|
||||
[12:15:20] Exporting cross-references for CIP_Step_Type...
|
||||
[12:15:20] Processing UDT: CIP_WaitEvent_Type...
|
||||
[12:15:20] Exporting cross-references for CIP_WaitEvent_Type...
|
||||
[12:15:21] Processing UDT: Device...
|
||||
[12:15:21] Exporting cross-references for Device...
|
||||
[12:15:21] Processing UDT: DigitalInstrument...
|
||||
[12:15:21] Exporting cross-references for DigitalInstrument...
|
||||
[12:15:21] Processing UDT: FunctionButton...
|
||||
[12:15:21] Exporting cross-references for FunctionButton...
|
||||
[12:15:21] Processing UDT: PID...
|
||||
[12:15:21] Exporting cross-references for PID...
|
||||
[12:15:22] Processing UDT: QCO Phase...
|
||||
[12:15:22] Exporting cross-references for QCO Phase...
|
||||
[12:15:22] Processing UDT: QCO Spare...
|
||||
[12:15:22] Exporting cross-references for QCO Spare...
|
||||
[12:15:22] Processing UDT: QCO Timer...
|
||||
[12:15:22] Exporting cross-references for QCO Timer...
|
||||
[12:15:23] Processing UDT: QCO Timer_Array_1...
|
||||
[12:15:23] Exporting cross-references for QCO Timer_Array_1...
|
||||
[12:15:26] Processing UDT: Recipe_Prod...
|
||||
[12:15:26] Exporting cross-references for Recipe_Prod...
|
||||
[12:15:28] Processing UDT: ReportCIPSimpleData...
|
||||
[12:15:28] Exporting cross-references for ReportCIPSimpleData...
|
||||
[12:15:28] Processing UDT: TADDR_PAR...
|
||||
[12:15:28] Exporting cross-references for TADDR_PAR...
|
||||
[12:15:28] Processing UDT: TCON_PAR...
|
||||
[12:15:28] Exporting cross-references for TCON_PAR...
|
||||
[12:15:28] Processing UDT: TCON_PAR_LF...
|
||||
[12:15:28] Exporting cross-references for TCON_PAR_LF...
|
||||
[12:15:29] Processing UDT: Tipo di dati utente_1...
|
||||
[12:15:29] Exporting cross-references for Tipo di dati utente_1...
|
||||
[12:15:29] Processing UDT: Tipo di dati utente_2...
|
||||
[12:15:29] Exporting cross-references for Tipo di dati utente_2...
|
||||
[12:16:10] Processing UDT: ASLeds...
|
||||
[12:16:10] Exporting cross-references for ASLeds...
|
||||
[12:16:10] Processing UDT: IFLeds...
|
||||
[12:16:10] Exporting cross-references for IFLeds...
|
||||
[12:16:10] Processing UDT: SV_FB_State...
|
||||
[12:16:10] Exporting cross-references for SV_FB_State...
|
||||
[12:16:10] Processing UDT: SV_State...
|
||||
[12:16:10] Exporting cross-references for SV_State...
|
||||
[12:16:11] UDT CR Export Summary: Exported=24, Skipped/Errors=0
|
||||
[12:16:11] [PLC: PLC] Attempting to Export System Block Cross-References...
|
||||
[12:16:11] Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\SystemBlocks_CR
|
||||
[12:16:11] Found 9 system blocks (using get_system_blocks).
|
||||
[12:16:11] Processing System Block: T_301...
|
||||
[12:16:11] Exporting cross-references for T_301...
|
||||
[12:16:11] Processing System Block: IEC_Timer_0_DB_9...
|
||||
[12:16:11] Exporting cross-references for IEC_Timer_0_DB_9...
|
||||
[12:16:11] Processing System Block: T_302...
|
||||
[12:16:11] Exporting cross-references for T_302...
|
||||
[12:16:11] Processing System Block: GET_Reciver...
|
||||
[12:16:11] Exporting cross-references for GET_Reciver...
|
||||
[12:16:11] Processing System Block: PUT_Send_Filler...
|
||||
[12:16:11] Exporting cross-references for PUT_Send_Filler...
|
||||
[12:16:11] Processing System Block: LED...
|
||||
[12:16:11] Exporting cross-references for LED...
|
||||
[12:16:11] Processing System Block: SCALE...
|
||||
[12:16:11] Exporting cross-references for SCALE...
|
||||
[12:16:11] Processing System Block: CONT_C...
|
||||
[12:16:11] Exporting cross-references for CONT_C...
|
||||
[12:16:11] Processing System Block: DeviceStates...
|
||||
[12:16:11] Exporting cross-references for DeviceStates...
|
||||
[12:16:12] System Block CR Export Summary: Exported=9, Skipped/Errors=0
|
||||
[12:16:12] [PLC: PLC] Attempting to Export Software Unit Cross-References...
|
||||
[12:16:12] Target: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport\cross_ref\PLC\SoftwareUnits_CR
|
||||
[12:16:12] Found 0 Software Units.
|
||||
[12:16:12] Software Unit CR Export Summary: Exported=0, Skipped/Errors=0
|
||||
[12:16:12] --- Finished processing PLC: PLC ---
|
||||
[12:16:12] Cross-reference export process completed.
|
||||
[12:16:12] Closing TIA Portal...
|
||||
[12:16:12] 2025-05-05 12:16:12,051 [1] INFO Siemens.TiaPortal.OpennessApi18.Implementations.Portal ClosePortal - Close TIA Portal
|
||||
[12:16:15] TIA Portal closed.
|
||||
[12:16:15] Script finished.
|
||||
[12:16:20] Ejecución de x4.py finalizada (success). Duración: 0:06:53.110393. Se detectaron errores (ver log).
|
||||
[12:16:20] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\ObtainIOFromProjectTia\log_x4.txt
|
||||
|
|
Loading…
Reference in New Issue