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

2.5 KiB

// Block Type: FB
// Block Number: 1806
// Original Network Languages: LAD

FUNCTION_BLOCK "ProcedureProdBrixRecovery"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1

VAR_STAT
  TooMuchProdInTank : Bool;
  mAuxONS : Bool;
END_VAR

BEGIN

  // Network 1: Qualifier (Original Language: LAD)

  "Procedure_Variables"."ProdBrix_Recovery"."Qualifier" := "gBlenderProdMode" AND "Procedure_Variables"."First_Production"."Done" AND "gProductMeterOK" AND "Blender_Variables_Pers"."gSugarBeverage" AND "Blender_Variables_Pers"."gWaterRecipe";

  // Network 2: Request (Original Language: LAD)

  // Edge Logic handled by Coil 26
  "ProdBrixRecoveryReq" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_ProdBrixRecoveryReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_ProdBrixRecoveryReq") - Mem: "ProdBrixRecoveryReq"

  "Procedure_Variables"."ProdBrix_Recovery"."Request" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_ProdBrixRecoveryReq" AND NOT "ProdBrixRecoveryReq";
  "ProdBrixRecoveryReq" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_ProdBrixRecoveryReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_ProdBrixRecoveryReq") - Mem: "ProdBrixRecoveryReq"

  // Network 3: Reset (Original Language: LAD)

  "Procedure_Variables"."ProdBrix_Recovery"."Reset" := "Procedure_Variables"."ProdBrix_Recovery"."Qualifier";

  // Network 4: Wait (Original Language: LAD)

  "Procedure_Variables"."ProdBrix_Recovery"."Wait" := "TooMuchProdInTank";

  // Network 5: Tank Product Amount (Original Language: LAD)

  ProductLiterInTank(i_TankLevel := "HMI_Instrument"."LTM302"."PVFiltered");

  // Network 6: Too Much Product in Tank (Original Language: LAD)

  ProdBrixRecovery_BrixCal();

  // Network 7: Recovery Latch (Original Language: LAD)

  "Procedure_Variables"."ProdBrix_Recovery"."Latch" := ("FirstScan" AND "Procedure_Variables"."ProdBrix_Recovery"."Reset" AND "Procedure_Variables"."ProdBrix_Recovery"."Done" AND "Procedure_Variables"."ProdBrix_Recovery"."Request") OR ("FirstScan" AND "Procedure_Variables"."ProdBrix_Recovery"."Reset" AND "Procedure_Variables"."ProdBrix_Recovery"."Done" AND "Procedure_Variables"."ProdBrix_Recovery"."Latch");

  // Network 8: Recovery Running (Original Language: LAD)

  "Procedure_Variables"."ProdBrix_Recovery"."Running" := "Procedure_Variables"."ProdBrix_Recovery"."Wait" AND "Procedure_Variables"."ProdBrix_Recovery"."Latch";

  "HMI_Variables_Status"."Procedures"."ProdBrixRecoveryRun" := "Procedure_Variables"."ProdBrix_Recovery"."Latch";

END_FUNCTION_BLOCK