Obsidean_VM/04-SIDEL/06 - E5.007363 - Modifica O.../Source/source/ProcedureSyrup_RunOut.md

4.8 KiB

// 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 : STRUCT
    PT : Time;
    ET : Time;
    IN : Bool;
    Q : Bool;
  END_STRUCT;

  mSyrRunOutReqTP : STRUCT
    PT : Time;
    ET : Time;
    IN : Bool;
    Q : Bool;
  END_STRUCT;

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