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

7.8 KiB

// Block Type: FC
// Block Number: 1931
// Original Network Languages: LAD

FUNCTION "CIPMain_Flood" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1

VAR_TEMP
  mProdTankFloodReq : Bool;
  mSyrTankFloodReq : Bool;
  mDeairTankFloodReq : Bool;
  mSyrTankFlooded : Bool;
END_VAR

  #_0MS : Bool; // Auto-generated temporary
  #_1M_15S : Bool; // Auto-generated temporary
  #_20S : Bool; // Auto-generated temporary
BEGIN

  // Network 1: HMI Variables Cmd (Original Language: LAD)

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

  "mProdTankFloodReq" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TM301FloodReq" AND NOT "M19062";
  "M19062" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TM301FloodReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TM301FloodReq") - Mem: "M19062"

  // Network 2: CIP Product Tank Flood Running (Original Language: LAD)

  "HMI_Variables_Status"."Procedures"."CIP_ProdTankFloodRun" := ("gIN_CIP_TankFilling" AND "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."CIP_System_Flooded" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode") OR ("gIN_CIP_TankFilling" AND "Interlocking_Variables"."SIDEL_FILLER_REC_DATA"."CIP_Cycle_Ended" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode");

  // Network 3: CIP Flood (Original Language: LAD)

  "mPrdTank_Flood"(IN := "gCIP_PrdTank_MaxLevel" AND ("HMI_Variables_Status"."Procedures"."CIP_ProdTankFloodRun" OR ("gIN_CIP_TankFilling" AND "gCIP_PrdTank_Flood")), PT := S5T#0MS); // TODO: Declarar "mPrdTank_Flood" : TON;

  "gCIP_PrdTank_Flood" := "mPrdTank_Flood".Q;

  "HMI_Variables_Status"."Procedures"."CIP_ProdTankFloodDone" := "mPrdTank_Flood".Q;

  // Network 4: From CIP Room Flood Request (Original Language: LAD)

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

  "mSyrTankFloodReq" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TP301FloodReq" AND NOT "M19063";
  "M19063" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TP301FloodReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TP301FloodReq") - Mem: "M19063"

  // Network 5: CIP Syrup Tank Flood Running (Original Language: LAD)

  "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" := ("mSyrTankFloodReq" AND "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "gCIP_SyrTank_Flood" AND "gBlenderCIPMode") OR ("gCIP_SyrTank_Flood" AND "gIN_CIP_TankFilling" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode");

  // Network 6: Procedure auxiliary variable (Original Language: LAD)

  IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
    "gSP_EV04" := TRUE;
  END_IF;

  IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
    "gSP_RVN301" := TRUE;
  END_IF;

  IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_PPN305" := TRUE;
  END_IF;

  IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_RVN301_1" := TRUE;
  END_IF;

  IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
    "gSP_PPN301" := TRUE;
  END_IF;

  IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
    "gSP_AVM317" := TRUE;
  END_IF;

  IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
    "gSP_AVM389" := TRUE;
  END_IF;

  IF "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "Procedure_Variables"."Blender_Run"."Latch" THEN
    "gSP_AVP361" := TRUE;
  END_IF;

  // Network 7: Tank Flooded (Original Language: LAD)

  "mSyrTankFlooded" := "HMI_Instrument"."LTP303"."PVFiltered" > 99.0;

  // Network 8: CIP Flood (Original Language: LAD)

  "mSyrTank_Flood"(IN := ("HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodRun" AND "HMI_Digital"."LAL_S3"."Filtered") OR ("gCIP_SyrTank_Flood" AND "gIN_CIP_TankFilling"), PT := S5T#20S); // TODO: Declarar "mSyrTank_Flood" : TON;

  "gCIP_SyrTank_Flood" := "mSyrTankFlooded" OR "mSyrTank_Flood".Q;

  "HMI_Variables_Status"."Procedures"."CIP_SyrTankFloodDone" := "mSyrTankFlooded" OR "mSyrTank_Flood".Q;

  // Network 9: ProdTankFloodREQ FP (Original Language: LAD)

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

  "mDeairTankFloodReq" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TN301FloodReq" AND NOT "M19064";
  "M19064" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TN301FloodReq"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_CIP_TN301FloodReq") - Mem: "M19064"

  // Network 10: CIP Deaerator Tank Flood Running (Original Language: LAD)

  "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" := ("mDeairTankFloodReq" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "gCIP_DeairTank_Flood" AND "gBlenderCIPMode") OR ("gCIP_SyrTank_Flood" AND "gIN_CIP_TankFilling" AND "gCIP_DeairTank_Flood" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode") OR ("gIN_CIP_TankFilling" AND "gSyrupRoomEn" AND "gCIP_DeairTank_Flood" AND "gCIP_PrdTank_Flood" AND "gBlenderCIPMode");

  // Network 11: CIP Flood (Original Language: LAD)

  "mDeairTank_Flood"(IN := ("gIN_CIP_TankFilling" AND "gCIP_DeairTank_Flood") OR ("HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "HMI_Digital"."LSN301L"."Filtered"), PT := S5T#1M_15S); // TODO: Declarar "mDeairTank_Flood" : TON;

  // Network 12: CIP Flood (Original Language: LAD)

  "mDeairTank2_Flood"(IN := ("gIN_CIP_TankFilling" AND "gCIP_DeairTank_Flood") OR ("HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "HMI_Digital"."LSN302L"."Filtered"), PT := S5T#1M_15S); // TODO: Declarar "mDeairTank2_Flood" : TON;

  // Network 13: CIP - Deaireator Tank Flood (Original Language: LAD)

  "gCIP_DeairTank_Flood" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "mDeairTank_Flood") OR ("mDeairTank_Flood" AND "mDeairTank2_Flood");

  "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodDone" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "mDeairTank_Flood") OR ("mDeairTank_Flood" AND "mDeairTank2_Flood");

  // Network 14: Procedure auxiliary variable (Original Language: LAD)

  IF "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "mDeairTank_Flood" THEN
    "gSP_RVN302" := TRUE;
  END_IF;

  IF "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "mDeairTank_Flood" THEN
    "gSP_PPN305" := TRUE;
  END_IF;

  IF "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "mDeairTank_Flood" THEN
    "gSP_RVN301_1" := TRUE;
  END_IF;

  IF "Procedure_Variables"."Blender_Run"."Latch" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "HMI_Variables_Status"."Procedures"."CIP_DeairTankFloodRun" AND "mDeairTank_Flood" THEN
    "gSP_RVN302_1" := TRUE;
  END_IF;

END_FUNCTION