149 lines
8.7 KiB
Markdown
149 lines
8.7 KiB
Markdown
```pascal
|
|
// Block Type: FC
|
|
// Block Number: 2019
|
|
// Original Network Languages: LAD
|
|
|
|
FUNCTION "BlenderRinse" : Void
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_TEMP
|
|
mColdReq : Bool;
|
|
mWarmReq : Bool;
|
|
mColdStop : Bool;
|
|
mWarmStop : Bool;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
|
|
// Network 1: Qualifier (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."Blender_Rinse"."Qualifier" := "HMI_Variables_Status"."System"."Blender_Prod_CIP" AND "gBlenderSuppliesOk" AND "gBlenderBlending" AND "gBlenderCIPMode" AND "Procedure_Variables"."TM301_Drain"."Latch";
|
|
|
|
// Network 2: Stop / Request (Original Language: LAD)
|
|
|
|
// PBox SymPy processed, logic in consumer
|
|
"M19014" := ("System_RunOut_Variables"."FastChangeOverActivated" AND "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_ColdRinseReq") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "System_RunOut_Variables"."ProdPipe_RunOut"."Done" AND "Blender_Variables_Pers"."gCoolerEnabled"); // P_TRIG(("System_RunOut_Variables"."FastChangeOverActivated" AND "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_ColdRinseReq") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "System_RunOut_Variables"."ProdPipe_RunOut"."Done" AND "Blender_Variables_Pers"."gCoolerEnabled")) - Mem: "M19014"
|
|
|
|
"mColdReq" := ("System_RunOut_Variables"."FastChangeOverActivated" AND "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_ColdRinseReq" AND "Procedure_Variables"."Blender_Rinse"."Qualifier" AND NOT "M19014") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "System_RunOut_Variables"."ProdPipe_RunOut"."Done" AND "Blender_Variables_Pers"."gCoolerEnabled" AND "Procedure_Variables"."Blender_Rinse"."Qualifier" AND NOT "M19014");
|
|
|
|
"mColdStop" := ("ColdRinseON" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_ColdRinseReq" AND NOT "M19014") OR ("ColdRinseON" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "System_RunOut_Variables"."ProdPipe_RunOut"."Done" AND "Blender_Variables_Pers"."gCoolerEnabled" AND NOT "M19014");
|
|
|
|
// Network 3: Warm Request / Stop (Original Language: LAD)
|
|
|
|
// PBox SymPy processed, logic in consumer
|
|
"M19015" := ("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_WarmRinseReq" AND "System_RunOut_Variables"."FastChangeOverActivated") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "System_RunOut_Variables"."ProdPipe_RunOut"."Done" AND "Blender_Variables_Pers"."gCoolerEnabled"); // P_TRIG(("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_WarmRinseReq" AND "System_RunOut_Variables"."FastChangeOverActivated") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "System_RunOut_Variables"."ProdPipe_RunOut"."Done" AND "Blender_Variables_Pers"."gCoolerEnabled")) - Mem: "M19015"
|
|
|
|
"mWarmReq" := ("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_WarmRinseReq" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."Blender_Rinse"."Qualifier" AND NOT "M19015") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "System_RunOut_Variables"."ProdPipe_RunOut"."Done" AND "Blender_Variables_Pers"."gCoolerEnabled" AND "Procedure_Variables"."Blender_Rinse"."Qualifier" AND NOT "M19015");
|
|
|
|
"mWarmStop" := ("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_WarmRinseReq" AND "WarmRinseON" AND "System_RunOut_Variables"."FastChangeOverActivated" AND NOT "M19015") OR ("WarmRinseON" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "System_RunOut_Variables"."ProdPipe_RunOut"."Done" AND "Blender_Variables_Pers"."gCoolerEnabled" AND NOT "M19015");
|
|
|
|
// Network 4: Rinse Request (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."Blender_Rinse"."Request" := ("mColdReq" AND "Procedure_Variables"."Blender_Rinse"."Qualifier") OR ("mWarmReq" AND "Procedure_Variables"."Blender_Rinse"."Qualifier");
|
|
|
|
// Network 5: ColdRinseSR (Original Language: LAD)
|
|
|
|
// Network 5 did not produce printable SCL code.
|
|
|
|
// Network 6: WarmRinse (Original Language: LAD)
|
|
|
|
// Network 6 did not produce printable SCL code.
|
|
|
|
// Network 7: Wait (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."Blender_Rinse"."Wait" := "Procedure_Variables"."TM301_Drain"."Latch" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" AND "Procedure_Variables"."TN301_StartUp"."Done");
|
|
|
|
// Network 8: Reset (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."Blender_Rinse"."Reset" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_TM301DrainReq" OR "gBlenderCIPMode";
|
|
|
|
// Network 9: Done (Original Language: LAD)
|
|
|
|
IF "Procedure_Variables"."Blender_Rinse"."Reset" OR "Procedure_Variables"."Blender_Rinse"."Latch" THEN
|
|
"HMI_Variables_Status"."Procedures"."Rinse_WarmRinseDone" := FALSE;
|
|
END_IF;
|
|
|
|
IF "Procedure_Variables"."Blender_Rinse"."Reset" OR "Procedure_Variables"."Blender_Rinse"."Latch" THEN
|
|
"HMI_Variables_Status"."Procedures"."Rinse_ColdRinseDone" := FALSE;
|
|
END_IF;
|
|
|
|
// Network 10: Latch (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."Blender_Rinse"."Latch" := ("Procedure_Variables"."Blender_Rinse"."Reset" AND "Procedure_Variables"."Blender_Rinse"."Latch" AND "FirstScan" AND "Procedure_Variables"."Blender_Rinse"."Done") OR ("Procedure_Variables"."Blender_Rinse"."Reset" AND "Procedure_Variables"."Blender_Rinse"."Request" AND "FirstScan" AND "Procedure_Variables"."Blender_Rinse"."Done");
|
|
|
|
// Network 11: Rinse Mode (Original Language: LAD)
|
|
|
|
"gBlenderRinseMode" := "Procedure_Variables"."Blender_Rinse"."Latch";
|
|
|
|
IF "Procedure_Variables"."Blender_Rinse"."Latch" THEN
|
|
"HMI_Variables_Status"."Procedures"."BlenderStateNum" := 18;
|
|
END_IF;
|
|
|
|
// Network 12: Running (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."Blender_Rinse"."Running" := "Procedure_Variables"."Blender_Rinse"."Latch" AND "Procedure_Variables"."Blender_Rinse"."Wait";
|
|
|
|
// Network 13: Warm Rinse Running (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Status" := "WarmRinseON" AND "Procedure_Variables"."Blender_Rinse"."Latch";
|
|
|
|
"HMI_Variables_Status"."Procedures"."WarmRinseRun" := "WarmRinseON" AND "Procedure_Variables"."Blender_Rinse"."Latch";
|
|
|
|
// Network 14: Cold Rinse Running (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Status" := "ColdRinseON" AND "Procedure_Variables"."Blender_Rinse"."Latch";
|
|
|
|
"HMI_Variables_Status"."Procedures"."ColdRinseRun" := "ColdRinseON" AND "Procedure_Variables"."Blender_Rinse"."Latch";
|
|
|
|
// Network 15: Rinse Drain Active (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Status" := "gBlenderRinseMode" AND "Procedure_Variables"."TM301_Drain"."Latch";
|
|
|
|
"gRinseDrainRunning" := "gBlenderRinseMode" AND "Procedure_Variables"."TM301_Drain"."Latch";
|
|
|
|
// Network 16: Done (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."Blender_Rinse"."Done" := ("Procedure_Variables"."Blender_Rinse"."Latch" AND "Procedure_Variables"."TM301_Drain"."Done") OR ("Procedure_Variables"."Blender_Rinse"."Latch" AND "M19077") OR ("Procedure_Variables"."Blender_Rinse"."Reset" AND "Procedure_Variables"."Blender_Rinse"."Done" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FastChangeOverEnabled");
|
|
|
|
// Network 17: Done (Original Language: LAD)
|
|
|
|
IF "Procedure_Variables"."Blender_Rinse"."Done" OR "gBlenderCIPMode" THEN
|
|
"Blender_Variables_Pers"."gFillerRinse_DoneLatch" := FALSE;
|
|
END_IF;
|
|
|
|
// Network 18: Rinse Completed (Original Language: LAD)
|
|
|
|
// PBox SymPy processed, logic in consumer
|
|
"M19020" := "System_RunOut_Variables"."In_Flr_FastRinseComplete"; // P_TRIG("System_RunOut_Variables"."In_Flr_FastRinseComplete") - Mem: "M19020"
|
|
|
|
IF ("WarmRinseON" AND "mWarmStop") OR ("Procedure_Variables"."Blender_Rinse"."Latch" AND "System_RunOut_Variables"."In_Flr_FastRinseComplete") THEN
|
|
"Blender_Variables_Pers"."gFillerRinse_DoneLatch" := TRUE;
|
|
END_IF;
|
|
|
|
IF ("WarmRinseON" AND "mWarmStop") OR ("WarmRinseON" AND "Procedure_Variables"."Blender_Rinse"."Latch" AND "System_RunOut_Variables"."In_Flr_FastRinseComplete") THEN
|
|
"HMI_Variables_Status"."Procedures"."Rinse_WarmRinseDone" := TRUE;
|
|
END_IF;
|
|
|
|
IF ("ColdRinseON" AND "WarmRinseON" AND "mWarmStop") OR ("ColdRinseON" AND "Procedure_Variables"."Blender_Rinse"."Latch" AND "System_RunOut_Variables"."In_Flr_FastRinseComplete") THEN
|
|
"HMI_Variables_Status"."Procedures"."Rinse_ColdRinseDone" := TRUE;
|
|
END_IF;
|
|
|
|
// Network 19: Rinse Done ONS (Original Language: LAD)
|
|
|
|
// Edge Logic handled by Coil 26
|
|
"M19021" := "Procedure_Variables"."Blender_Rinse"."Done"; // P_TRIG("Procedure_Variables"."Blender_Rinse"."Done") - Mem: "M19021"
|
|
|
|
"Procedure_Variables"."Blender_Rinse"."ONS_Done" := "Procedure_Variables"."Blender_Rinse"."Done" AND NOT "M19021";
|
|
"M19021" := "Procedure_Variables"."Blender_Rinse"."Done"; // P_TRIG("Procedure_Variables"."Blender_Rinse"."Done") - Mem: "M19021"
|
|
|
|
// Network 20: Blender Rinse Done (Original Language: LAD)
|
|
|
|
IF "Procedure_Variables"."Blender_Rinse"."ONS_Done" THEN
|
|
BlenderRinse_Done();
|
|
END_IF;
|
|
|
|
END_FUNCTION
|
|
|
|
```
|