3.9 KiB
3.9 KiB
// 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