147 lines
7.8 KiB
Markdown
147 lines
7.8 KiB
Markdown
```pascal
|
|
// Block Type: FC
|
|
// Block Number: 1931
|
|
// Original Network Languages: LAD
|
|
|
|
FUNCTION "CIPMain_Flood" : Void
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_TEMP
|
|
mProdTankFloodReq : Bool;
|
|
mSyrTankFloodReq : Bool;
|
|
mDeairTankFloodReq : Bool;
|
|
mSyrTankFlooded : Bool;
|
|
END_VAR
|
|
|
|
#_0MS : Bool; // Auto-generated temporary
|
|
#_1M_15S : Bool; // Auto-generated temporary
|
|
#_20S : Bool; // Auto-generated temporary
|
|
BEGIN
|
|
|
|
// Network 1: HMI Variables Cmd (Original Language: LAD)
|
|
|
|
// Edge Logic handled by Coil 26
|
|
"M19062" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TM301FloodReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TM301FloodReq") - Mem: "M19062"
|
|
|
|
"mProdTankFloodReq" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TM301FloodReq" AND NOT "M19062";
|
|
"M19062" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TM301FloodReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TM301FloodReq") - Mem: "M19062"
|
|
|
|
// Network 2: CIP Product Tank Flood Running (Original Language: LAD)
|
|
|
|
"HMI_Variables_Status"."Procedures"."CIP_ProdTankFloodRun" := ("gIN_CIP_TankFilling" AND "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."CIP_System_Flooded" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode") OR ("gIN_CIP_TankFilling" AND "Interlocking_Variables"."SIDEL_FILLER_REC_DATA"."CIP_Cycle_Ended" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode");
|
|
|
|
// Network 3: CIP Flood (Original Language: LAD)
|
|
|
|
"mPrdTank_Flood"(IN := "gCIP_PrdTank_MaxLevel" AND ("HMI_Variables_Status"."Procedures"."CIP_ProdTankFloodRun" OR ("gIN_CIP_TankFilling" AND "gCIP_PrdTank_Flood")), PT := S5T#0MS); // TODO: Declarar "mPrdTank_Flood" : TON;
|
|
|
|
"gCIP_PrdTank_Flood" := "mPrdTank_Flood".Q;
|
|
|
|
"HMI_Variables_Status"."Procedures"."CIP_ProdTankFloodDone" := "mPrdTank_Flood".Q;
|
|
|
|
// Network 4: From CIP Room Flood Request (Original Language: LAD)
|
|
|
|
// Edge Logic handled by Coil 26
|
|
"M19063" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TP301FloodReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TP301FloodReq") - Mem: "M19063"
|
|
|
|
"mSyrTankFloodReq" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TP301FloodReq" AND NOT "M19063";
|
|
"M19063" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TP301FloodReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TP301FloodReq") - Mem: "M19063"
|
|
|
|
// Network 5: CIP Syrup Tank Flood Running (Original Language: LAD)
|
|
|
|
"HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" := ("mSyrTankFloodReq" AND "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "gCIP_SyrTank_Flood" AND "gBlenderCIPMode") OR ("gCIP_SyrTank_Flood" AND "gIN_CIP_TankFilling" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode");
|
|
|
|
// Network 6: Procedure auxiliary variable (Original Language: LAD)
|
|
|
|
IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
|
|
"gSP_EV04" := TRUE;
|
|
END_IF;
|
|
|
|
IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
|
|
"gSP_RVN301" := TRUE;
|
|
END_IF;
|
|
|
|
IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
|
|
"gSP_PPN305" := TRUE;
|
|
END_IF;
|
|
|
|
IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
|
|
"gSP_RVN301_1" := TRUE;
|
|
END_IF;
|
|
|
|
IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
|
|
"gSP_PPN301" := TRUE;
|
|
END_IF;
|
|
|
|
IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
|
|
"gSP_AVM317" := TRUE;
|
|
END_IF;
|
|
|
|
IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
|
|
"gSP_AVM389" := TRUE;
|
|
END_IF;
|
|
|
|
IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
|
|
"gSP_AVP361" := TRUE;
|
|
END_IF;
|
|
|
|
// Network 7: Tank Flooded (Original Language: LAD)
|
|
|
|
"mSyrTankFlooded" := "HMI_Instrument"."LTP303"."PVFiltered" > 99.0;
|
|
|
|
// Network 8: CIP Flood (Original Language: LAD)
|
|
|
|
"mSyrTank_Flood"(IN := ("HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "HMI_Digital"."LAL_S3"."Filtered") OR ("gCIP_SyrTank_Flood" AND "gIN_CIP_TankFilling"), PT := S5T#20S); // TODO: Declarar "mSyrTank_Flood" : TON;
|
|
|
|
"gCIP_SyrTank_Flood" := "mSyrTankFlooded" OR "mSyrTank_Flood".Q;
|
|
|
|
"HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodDone" := "mSyrTankFlooded" OR "mSyrTank_Flood".Q;
|
|
|
|
// Network 9: ProdTankFloodREQ FP (Original Language: LAD)
|
|
|
|
// Edge Logic handled by Coil 26
|
|
"M19064" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TN301FloodReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TN301FloodReq") - Mem: "M19064"
|
|
|
|
"mDeairTankFloodReq" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TN301FloodReq" AND NOT "M19064";
|
|
"M19064" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TN301FloodReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TN301FloodReq") - Mem: "M19064"
|
|
|
|
// Network 10: CIP Deaerator Tank Flood Running (Original Language: LAD)
|
|
|
|
"HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" := ("mDeairTankFloodReq" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "gCIP_DeairTank_Flood" AND "gBlenderCIPMode") OR ("gCIP_SyrTank_Flood" AND "gIN_CIP_TankFilling" AND "gCIP_DeairTank_Flood" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode") OR ("gIN_CIP_TankFilling" AND "gSyrupRoomEn" AND "gCIP_DeairTank_Flood" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode");
|
|
|
|
// Network 11: CIP Flood (Original Language: LAD)
|
|
|
|
"mDeairTank_Flood"(IN := ("gIN_CIP_TankFilling" AND "gCIP_DeairTank_Flood") OR ("HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "HMI_Digital"."LSN301L"."Filtered"), PT := S5T#1M_15S); // TODO: Declarar "mDeairTank_Flood" : TON;
|
|
|
|
// Network 12: CIP Flood (Original Language: LAD)
|
|
|
|
"mDeairTank2_Flood"(IN := ("gIN_CIP_TankFilling" AND "gCIP_DeairTank_Flood") OR ("HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "HMI_Digital"."LSN302L"."Filtered"), PT := S5T#1M_15S); // TODO: Declarar "mDeairTank2_Flood" : TON;
|
|
|
|
// Network 13: CIP - Deaireator Tank Flood (Original Language: LAD)
|
|
|
|
"gCIP_DeairTank_Flood" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "mDeairTank_Flood") OR ("mDeairTank_Flood" AND "mDeairTank2_Flood");
|
|
|
|
"HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodDone" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "mDeairTank_Flood") OR ("mDeairTank_Flood" AND "mDeairTank2_Flood");
|
|
|
|
// Network 14: Procedure auxiliary variable (Original Language: LAD)
|
|
|
|
IF "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "mDeairTank_Flood" THEN
|
|
"gSP_RVN302" := TRUE;
|
|
END_IF;
|
|
|
|
IF "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "mDeairTank_Flood" THEN
|
|
"gSP_PPN305" := TRUE;
|
|
END_IF;
|
|
|
|
IF "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "mDeairTank_Flood" THEN
|
|
"gSP_RVN301_1" := TRUE;
|
|
END_IF;
|
|
|
|
IF "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "mDeairTank_Flood" THEN
|
|
"gSP_RVN302_1" := TRUE;
|
|
END_IF;
|
|
|
|
END_FUNCTION
|
|
|
|
```
|