```pascal // Block Type: FC // Block Number: 1880 // Original Network Languages: LAD FUNCTION "mPDS_PA_Control" : Void { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR_TEMP mPAReset : Bool; mPASel : Bool; mRetAux : Int; mWordAux : Word; END_VAR #_0000 : Bool; // Auto-generated temporary #_16 : Bool; // Auto-generated temporary BEGIN // Network 1: Temporary placeholder variable (Original Language: LAD) "mPDS_PA_Data"."Input_From_mPDS"."gPAmPDS_Enabled" := Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_MeterType", 5); "mPASel" := Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_MeterType", 5); // Network 2: Output (Original Language: LAD) IF "mPASel" THEN "mWordAux" := W OR D#16#0000; END_IF; // Network 3: No Freeze Product Meter (Original Language: LAD) // Network 3 did not produce printable SCL code. // Network 4: Freeze To PDS (Original Language: LAD) "P_PDS_Freeze_To_PDS" := "gNoFreezeProductMeter"; // Network 5: Stop (Original Language: LAD) // Network 5 did not produce printable SCL code. // Network 6: Stop To PDS (Original Language: LAD) "P_PDS_Stop_to_PDS" := "gCARBOStopProductMeter"; // Network 7: Start (Original Language: LAD) IF "HMI_Digital"."LSM302L"."Filtered" AND (("gCARBOStopProductMeter" AND "CIP_Program_Variables"."Status"."BlenderDrainRunning" AND "Procedure_Variables"."Blender_Run"."Latch" AND "gBlenderCIPMode") OR ("gBlenderMinLevel" AND (("gCARBOStopProductMeter" AND "gBlenderProdMode" AND "Procedure_Variables"."First_Production"."Done" AND "gBlenderRinseMode") OR ("gCARBOStopProductMeter" AND "gBlenderProdMode" AND "Procedure_Variables"."First_Production"."Latch" AND "Procedure_Variables"."First_Production"."Done" AND "gBlenderRinseMode")))) THEN "gCARBOStopProductMeter" := FALSE; END_IF; // Network 8: Run (Original Language: LAD) IF ("gNoFreezeProductMeter" AND "mPASel" AND "HMI_Variables_Status"."Meters"."QTM3012_PRD_Fault" AND "mPDS_PA_Data"."Input_From_mPDS"."gPAmPDS_CommActive") OR ("gNoFreezeProductMeter" AND "mPASel" AND "HMI_Variables_Status"."Meters"."QTM3012_PRD_Fault" AND "mPDS_PA_Data"."Input_From_mPDS"."gPAmPDS_ReceiveOnly") THEN "HMI_Variables_Status"."Meters"."QTM3012_PRD_Run" := TRUE; END_IF; // Network 9: ProductMeterOK (Original Language: LAD) "gProductMeterOK" := ("mPASel" AND "mPDS_PA_Data"."Input_From_mPDS"."gPAmPDS_CommActive" AND "mPDS_PA_Data"."Input_From_mPDS"."gPAmPDS_Error") OR ("mPASel" AND "mPDS_PA_Data"."Input_From_mPDS"."gPAmPDS_ReceiveOnly" AND "mPDS_PA_Data"."Input_From_mPDS"."gPAmPDS_Error"); // Network 10: Receive Only (Original Language: LAD) "mPDS_PA_Data"."Input_From_mPDS"."gPAmPDS_ReceiveOnly" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_MeterReceiveOnly" OR "mPDS_PA_Data"."Input_From_mPDS"."gPAmPDS_ProfibusStatus"."_DavisON"; // Network 11: Freeze Meter Enable (Original Language: LAD) "mPDS_PA_OutDigitByteDI1E" := "AUX TRUE"; // Network 12: Delay Freeze Meter (Original Language: LAD) // Network 12 did not produce printable SCL code. // Network 13: CARBO Stop Enable (Original Language: LAD) "mPDS_PA_OutDigitByteDI2E" := "AUX TRUE"; // Network 14: Delay Carbo Stop (Original Language: LAD) // Network 14 did not produce printable SCL code. // Network 15: Recipe Nr "mPDS_PA_Data".Output_To_mPDS.gPAmPDSNumRecipe (Original Language: LAD) "mPDS_PA_Data"."Output_To_mPDS"."OUT_Block01" := "mPDS_PA_Data"."Output_To_mPDS"."gPAmPDSNumRecipe"; // Network 16: Transfer (Original Language: LAD) "mPDS_PA_Data"."Output_To_mPDS"."OUT_Block01" := "mPDS_PA_OutDigitByte"; // Network 17: Reset (Original Language: LAD) // Network 17 did not produce printable SCL code. // Network 18: Ctrl Transfer (Original Language: LAD) IF "mPAReset" THEN mPDS_PA_Ctrl_Transfer(); END_IF; // Network 19: Read / Write (Original Language: LAD) IF "mPASel" THEN mPDS_PA_Ctrl_Read(); mPDS_PA_Ctrl_Write(); END_IF; END_FUNCTION ```