Obsidean_VM/04-SIDEL/00 - MASTER/Source/source/mPDS_PA_Control.md

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