```pascal // Block Type: FB // Block Number: 1802 // Original Network Languages: LAD FUNCTION_BLOCK "ProcedureCarboWaterLine" { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR_STAT mStepNum : Int; mTimeStep : Int; mTransition : Bool; mCarboWaterLineONS : Bool; mCarboWaterLineTPON : Bool; mCarboWaterLineTP : "TP_TIME:v1.0"; END_VAR VAR_TEMP mLowCO2Flow : Bool; SP_PV : Real; SP_PV_ABS : Real; CO2_Mul : Real; END_VAR BEGIN // Network 1: Qualifier (Original Language: LAD) "Procedure_Variables"."CarboWaterLine"."Qualifier" := "Procedure_Variables"."TN301_StartUp"."Done" AND "Blender_Variables_Pers"."gCarboStillProduct" AND (("gBlenderCIPMode" AND "gBlenderSuppliesOk" AND (("gBlenderProdMode" AND "gBlenderRinseMode") OR ("gBlenderProdMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch"))) OR ("gBlenderCIPMode" AND "Procedure_Variables"."CarboWaterLine"."Done" AND (("gBlenderProdMode" AND "gBlenderRinseMode") OR ("gBlenderProdMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch")))); // Network 2: Request (Original Language: LAD) // PBox SymPy processed, logic in consumer "mCarboWaterLineONS" := ("System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch") OR ("gBlenderRinseMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TN301_StartUp"."Done" AND "Procedure_Variables"."Blender_Run"."Latch"); // P_TRIG(("System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch") OR ("gBlenderRinseMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TN301_StartUp"."Done" AND "Procedure_Variables"."Blender_Run"."Latch")) - Mem: "mCarboWaterLineONS" "Procedure_Variables"."CarboWaterLine"."Request" := ("Procedure_Variables"."CarboWaterLine"."Qualifier" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch" AND NOT "mCarboWaterLineONS") OR ("Procedure_Variables"."CarboWaterLine"."Qualifier" AND "gBlenderRinseMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TN301_StartUp"."Done" AND "Procedure_Variables"."Blender_Run"."Latch" AND NOT "mCarboWaterLineONS"); // Network 3: Reset (Original Language: LAD) "Procedure_Variables"."CarboWaterLine"."Reset" := "Procedure_Variables"."CarboWaterLine"."Qualifier" OR ("Procedure_Variables"."CarboWaterLine"."Latch" AND "gEmergencyPressed"); // Network 4: Done (Original Language: LAD) IF "Procedure_Variables"."CarboWaterLine"."Reset" THEN "mStepNum" := 0; "mTimeStep" := 0; END_IF; IF "Procedure_Variables"."CarboWaterLine"."Reset" THEN "Procedure_Variables"."CarboWaterLine"."Done" := FALSE; END_IF; // Network 5: Limit Co2 Low (Original Language: LAD) "SP_PV" := "HMI_PID"."RMM303"."Sp" - "HMI_PID"."RMM303"."Pv"; "CO2_Mul" := "HMI_PID"."RMM303"."Sp" * 0.1; // Network 6: Wait (Original Language: LAD) "Procedure_Variables"."CarboWaterLine"."Wait" := ("HMI_Digital"."_PAL_S11"."Filtered" AND "gWorkshopTest") OR ("gCO2LowPress_Fault" AND "gWorkshopTest"); // Network 7: Latch (Original Language: LAD) "Procedure_Variables"."CarboWaterLine"."Latch" := ("Procedure_Variables"."CarboWaterLine"."Latch" AND "Procedure_Variables"."CarboWaterLine"."Reset" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done") OR ("Procedure_Variables"."CarboWaterLine"."Reset" AND "Procedure_Variables"."CarboWaterLine"."Request" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done"); IF ("Procedure_Variables"."CarboWaterLine"."Latch" AND "Procedure_Variables"."CarboWaterLine"."Reset" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done") OR ("Procedure_Variables"."CarboWaterLine"."Reset" AND "Procedure_Variables"."CarboWaterLine"."Request" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done") THEN "HMI_Variables_Status"."Procedures"."BlenderStateNum" := 7; END_IF; // Network 8: Water Line Carbonating Running (Original Language: LAD) // Message TO HMI: Water Line Carbonating Running "HMI_Alarms"."gH_Status" := "Procedure_Variables"."CarboWaterLine"."Latch"; "Procedure_Variables"."CarboWaterLine"."Running" := "Procedure_Variables"."CarboWaterLine"."Latch" AND "Procedure_Variables"."CarboWaterLine"."Wait"; // Network 9: Carbo Water Line Step Sequence (Original Language: LAD) // #Seq_Preset_Time is Not Used IF "Procedure_Variables"."CarboWaterLine"."Running" THEN CarboWaterLine_Seq(mStep_Number := "mStepNum", mTimer := "mTimeStep", mTransition := "mTransition"); END_IF; // Network 10: Running (Original Language: LAD) "HMI_Variables_Status"."System_Run_Out"."CarboWaterLineRun" := "Procedure_Variables"."CarboWaterLine"."Latch"; // Network 11: Done (Original Language: LAD) "HMI_Variables_Status"."System_Run_Out"."CarboWaterLineDone" := "Procedure_Variables"."CarboWaterLine"."Done"; END_FUNCTION_BLOCK ```