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

3.6 KiB

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

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

VAR_TEMP
  #_6S : Bool; // Auto-generated temporary
END_VAR

BEGIN

  // Network 1: CIP - Low pressure (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" THEN
    CIPLocal();
  END_IF;

  // Network 2: CIP - Product Tank Low Pressure (Original Language: LAD)

  "gCIP_PrdTank_PressLow" := "HMI_PID"."RVM301"."Pv" < 1.0;

  // Network 3: CIP - Product Tank Low Pressure (Original Language: LAD)

  IF "gBlenderCIPMode" THEN
    "gCIP_PrdTank_PressLow" := FALSE;
  END_IF;

  // Network 4: CIP Completed Signal (Original Language: LAD)

  // PBox SymPy processed, logic in consumer
  "mCIP_CompletedONS" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gIN_CIP_CIPCompleted"; // P_TRIG("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gIN_CIP_CIPCompleted") - Mem: "mCIP_CompletedONS"

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gIN_CIP_CIPCompleted" AND NOT "mCIP_CompletedONS" THEN
    "CIP_Program_Variables"."Status"."Completed" := TRUE;
  END_IF;

  // Network 5: CIP Completed Signal (Original Language: LAD)

  IF "gBlenderCIPMode" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gCIP_BlenderDrainDone") THEN
    "CIP_Program_Variables"."Status"."Completed" := FALSE;
  END_IF;

  IF "gBlenderCIPMode" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" AND "gCIP_BlenderDrainDone") THEN
    "CIP_Program_Variables"."Status"."BlenderDrainRunning" := FALSE;
  END_IF;

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

  CIPMain_Flood();

  // Network 7: CIp Total Drain (Original Language: LAD)

  CIPMain_Total_Drain();

  // Network 8: Blender total Drain In CIP Running (Original Language: LAD)

  "HMI_Variables_Status"."Procedures"."CIP_BlenderDrainRun" := "CIP_Program_Variables"."Status"."BlenderDrainRunning";

  // Network 9: Blender Empty (Original Language: LAD)

  IF "CIP_Program_Variables"."Status"."CausticRecoveryRun" AND "gBlenderEmpty" THEN
    "CIP_Program_Variables"."Status"."BlenderEmpty" := TRUE;
  END_IF;

  // Network 10: MIX -  To CIP Room (Original Language: LAD)

  "gOUT_CIPChangeReady" := "gIN_FillerCIPChangeReady";

  // Network 11: Blender Empty (Original Language: LAD)

  "mBlenderEmprtyTON"(IN := "CIP_Program_Variables"."Status"."CausticRecoveryRun", PT := S5T#6S); // TODO: Declarar "mBlenderEmprtyTON" : TON;

  IF "mBlenderEmprtyTON".Q THEN
    "CIP_Program_Variables"."Status"."BlenderEmpty" := FALSE;
  END_IF;

  // Network 12: Started (Original Language: LAD)

  IF "gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Latch" AND "gIN_FillerCIPRequest" THEN
    "CIP_Program_Variables"."Status"."Started" := TRUE;
  END_IF;

  // Network 13: Started (Original Language: LAD)

  IF "gOUT_FillerCIPCompleted" OR "gBlenderCIPMode" THEN
    "CIP_Program_Variables"."Status"."Started" := FALSE;
  END_IF;

  // Network 14: Alarms (Original Language: LAD)

  "HMI_Alarms"."gH_Status" := "gIN_CIP_DrainRequest" AND "gBlenderCIPMode";

  "HMI_Alarms"."gH_Status" := "DI_CIP_CIP_Enable" AND "HMI_Alarms"."gH_Status" AND "gBlenderCIPMode";

  "HMI_Alarms"."gH_Status" := ("HMI_Alarms"."gH_Status" AND "gBlenderCIPMode") OR ("DI_CIP_End" AND "gBlenderCIPMode");

  "HMI_Alarms"."gH_Status" := "DI_CIP_End" AND "DI_CIP_Fault" AND "gBlenderCIPMode";

  "HMI_Alarms"."gH_Status" := "DI_CIP_End" AND "DI_Flr1_CIP/RinseFiller" AND "gBlenderCIPMode";

END_FUNCTION