```pascal // Block Type: FB // Block Name (Original): ProcedureSyrup RunOut // Block Number: 1812 // Original Network Languages: LAD FUNCTION_BLOCK "ProcedureSyrup_RunOut" { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR_STAT mSyrupRanOut : Bool; mAuxONS : Bool; mSyrRunOutReqCMDTPON : Bool; mSyrRunOutReqTPON : Bool; mSyrRunOutReqCMDTP : "TP_TIME:v1.0"; mSyrRunOutReqTP : "TP_TIME:v1.0"; END_VAR BEGIN // Network 1: Qualifier (Original Language: LAD) "Procedure_Variables"."Syr_RunOut"."Qualifier" := "gBlenderProdMode" AND "gBlenderSuppliesOk" AND "Blender_Variables_Pers"."gWaterRecipe"; // Network 2: MIX - Syrup RunOut (Original Language: LAD) // Network 2 did not produce printable SCL code. // Network 3: Wait (Original Language: LAD) "Procedure_Variables"."Syr_RunOut"."Wait" := "HMI_Device"."SyrupRoom_SyrupPump"."Alarm"; // Network 4: Reset (Original Language: LAD) // PBox SymPy processed, logic in consumer "SyrupRunOutReset" := ("System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."Syr_RunOut"."Request") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."FTP302Line_Preparation"."Done"); // P_TRIG(("System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."Syr_RunOut"."Request") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."FTP302Line_Preparation"."Done")) - Mem: "SyrupRunOutReset" "Procedure_Variables"."Syr_RunOut"."Reset" := ("Procedure_Variables"."Syr_RunOut"."Qualifier" AND "System_RunOut_Variables"."FastChangeOverActivated") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "gBlenderRinseMode"); // Network 5: Done (Original Language: LAD) IF "Procedure_Variables"."Syr_RunOut"."Reset" THEN "Procedure_Variables"."Syr_RunOut"."Done" := FALSE; END_IF; // Network 6: Latch (Original Language: LAD) "Procedure_Variables"."Syr_RunOut"."Latch" := ("Procedure_Variables"."Syr_RunOut"."Request" AND "Procedure_Variables"."Syr_RunOut"."Reset" AND "FirstScan" AND "Procedure_Variables"."Syr_RunOut"."Done") OR ("Procedure_Variables"."Syr_RunOut"."Reset" AND "FirstScan" AND "Procedure_Variables"."Syr_RunOut"."Latch" AND "Procedure_Variables"."Syr_RunOut"."Done"); // Network 7: Running (Original Language: LAD) "Procedure_Variables"."Syr_RunOut"."Running" := "Procedure_Variables"."Syr_RunOut"."Wait" AND "Procedure_Variables"."Syr_RunOut"."Latch"; // Network 8: RunOut Counter (Original Language: LAD) IF "Procedure_Variables"."Syr_RunOut"."Latch" AND "Procedure_Variables"."Syr_RunOut"."Done" THEN "HMI_Variables_Status"."Analog_Values"."TP301RunOutCount" := 0.0; END_IF; // Network 9: RunOut Counter (Original Language: LAD) IF "gPV_SyrDensOk" AND "Procedure_Variables"."Syr_RunOut"."Latch" THEN "Blender_Variables_Pers"."gSyrRunOutCountInit" := "HMI_Variables_Status"."Analog_Values"."SyrupTotalizerLt"; END_IF; // Network 10: RunOut Counter (Original Language: LAD) "mSyrupRanOut" := "HMI_Variables_Status"."Analog_Values"."TP301RunOutCount" > "HMI_Blender_Parameters"."ProcessSetup"."_SyrupRunOutLiters"; IF "gPV_SyrDensOk" AND "gBlenderBlending" AND "Procedure_Variables"."Syr_RunOut"."Latch" THEN "HMI_Variables_Status"."Analog_Values"."TP301RunOutCount" := "HMI_Variables_Status"."Analog_Values"."SyrupTotalizerLt" - "Blender_Variables_Pers"."gSyrRunOutCountInit"; END_IF; // Network 11: RunOut Counter (Original Language: LAD) IF "Procedure_Variables"."FTP302Line_Preparation"."Done" AND "Procedure_Variables"."Syr_RunOut"."Latch" AND "Procedure_Variables"."Syr_RunOut"."Done" THEN "HMI_Variables_Status"."Analog_Values"."TP301RunOutCount" := "HMI_Blender_Parameters"."ProcessSetup"."_SyrupRunOutLiters"; END_IF; // Network 12: Syrup Run Out Running (Original Language: LAD) "HMI_Variables_Status"."Procedures"."TP301RunOutRun" := "Procedure_Variables"."Syr_RunOut"."Latch"; // Network 13: Syrup Run Out Running (Original Language: LAD) // Syrup Run Out Running Message TO HMI "HMI_Alarms"."gH_Status" := "Procedure_Variables"."Syr_RunOut"."Running"; // Network 14: RunOut Done (Original Language: LAD) IF "Procedure_Variables"."Syr_RunOut"."Done" THEN "mSyrupRanOut" := FALSE; END_IF; // Network 15: RunOut Done (Original Language: LAD) "Procedure_Variables"."Syr_RunOut"."Done" := ("System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."Syr_RunOut"."Done") OR ("gBlenderRinseMode" AND "HMI_Variables_Cmd"."Recipe"."Transfer" AND "gBlenderCIPMode" AND "Procedure_Variables"."Syr_RunOut"."Done"); // Network 16: RunOut Done (Original Language: LAD) "HMI_Variables_Status"."System_Run_Out"."TP301RunOutDone" := "Procedure_Variables"."Syr_RunOut"."Done"; END_FUNCTION_BLOCK ```