Obsidean_VM/04-SIDEL/00 - MASTER/Source/source/CIPMain.md

108 lines
3.6 KiB
Markdown

```pascal
// Block Type: FC
// Block Number: 1930
// Original Network Languages: LAD
FUNCTION "CIPMain" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_TEMP
#_6S : Bool; // Auto-generated temporary
END_VAR
BEGIN
// Network 1: CIP - Low pressure (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" THEN
CIPLocal();
END_IF;
// Network 2: CIP - Product Tank Low Pressure (Original Language: LAD)
"gCIP_PrdTank_PressLow" := "HMI_PID"."RVM301"."Pv" < 1.0;
// Network 3: CIP - Product Tank Low Pressure (Original Language: LAD)
IF "gBlenderCIPMode" THEN
"gCIP_PrdTank_PressLow" := FALSE;
END_IF;
// Network 4: CIP Completed Signal (Original Language: LAD)
// PBox SymPy processed, logic in consumer
"mCIP_CompletedONS" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gIN_CIP_CIPCompleted"; // P_TRIG("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gIN_CIP_CIPCompleted") - Mem: "mCIP_CompletedONS"
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gIN_CIP_CIPCompleted" AND NOT "mCIP_CompletedONS" THEN
"CIP_Program_Variables"."Status"."Completed" := TRUE;
END_IF;
// Network 5: CIP Completed Signal (Original Language: LAD)
IF "gBlenderCIPMode" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gCIP_BlenderDrainDone") THEN
"CIP_Program_Variables"."Status"."Completed" := FALSE;
END_IF;
IF "gBlenderCIPMode" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gCIP_BlenderDrainDone") THEN
"CIP_Program_Variables"."Status"."BlenderDrainRunning" := FALSE;
END_IF;
// Network 6: CIP Flood (Original Language: LAD)
CIPMain_Flood();
// Network 7: CIp Total Drain (Original Language: LAD)
CIPMain_Total_Drain();
// Network 8: Blender total Drain In CIP Running (Original Language: LAD)
"HMI_Variables_Status"."Procedures"."CIP_BlenderDrainRun" := "CIP_Program_Variables"."Status"."BlenderDrainRunning";
// Network 9: Blender Empty (Original Language: LAD)
IF "CIP_Program_Variables"."Status"."CausticRecoveryRun" AND "gBlenderEmpty" THEN
"CIP_Program_Variables"."Status"."BlenderEmpty" := TRUE;
END_IF;
// Network 10: MIX - To CIP Room (Original Language: LAD)
"gOUT_CIPChangeReady" := "gIN_FillerCIPChangeReady";
// Network 11: Blender Empty (Original Language: LAD)
"mBlenderEmprtyTON"(IN := "CIP_Program_Variables"."Status"."CausticRecoveryRun", PT := S5T#6S); // TODO: Declarar "mBlenderEmprtyTON" : TON;
IF "mBlenderEmprtyTON".Q THEN
"CIP_Program_Variables"."Status"."BlenderEmpty" := FALSE;
END_IF;
// Network 12: Started (Original Language: LAD)
IF "gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Latch" AND "gIN_FillerCIPRequest" THEN
"CIP_Program_Variables"."Status"."Started" := TRUE;
END_IF;
// Network 13: Started (Original Language: LAD)
IF "gOUT_FillerCIPCompleted" OR "gBlenderCIPMode" THEN
"CIP_Program_Variables"."Status"."Started" := FALSE;
END_IF;
// Network 14: Alarms (Original Language: LAD)
"HMI_Alarms"."gH_Status" := "gIN_CIP_DrainRequest" AND "gBlenderCIPMode";
"HMI_Alarms"."gH_Status" := "DI_CIP_CIP_Enable" AND "HMI_Alarms"."gH_Status" AND "gBlenderCIPMode";
"HMI_Alarms"."gH_Status" := ("HMI_Alarms"."gH_Status" AND "gBlenderCIPMode") OR ("DI_CIP_End" AND "gBlenderCIPMode");
"HMI_Alarms"."gH_Status" := "DI_CIP_End" AND "DI_CIP_Fault" AND "gBlenderCIPMode";
"HMI_Alarms"."gH_Status" := "DI_CIP_End" AND "DI_Flr1_CIP/RinseFiller" AND "gBlenderCIPMode";
END_FUNCTION
```