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

5.1 KiB

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

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

VAR_STAT
  mStepNum : Int;
  mTimeStep : Int;
  mTransition : Bool;
  mCarboWaterLineONS : Bool;
  mCarboWaterLineTPON : Bool;
  mCarboWaterLineTP : STRUCT
    PT : Time;
    ET : Time;
    IN : Bool;
    Q : Bool;
  END_STRUCT;

END_VAR

VAR_TEMP
  mLowCO2Flow : Bool;
  SP_PV : Real;
  SP_PV_ABS : Real;
  CO2_Mul : Real;
END_VAR

BEGIN

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

  "Procedure_Variables"."CarboWaterLine"."Qualifier" := "Procedure_Variables"."TN301_StartUp"."Done" AND "Blender_Variables_Pers"."gCarboStillProduct" AND (("gBlenderCIPMode" AND "gBlenderSuppliesOk" AND (("gBlenderProdMode" AND "gBlenderRinseMode") OR ("gBlenderProdMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch"))) OR ("gBlenderCIPMode" AND "Procedure_Variables"."CarboWaterLine"."Done" AND (("gBlenderProdMode" AND "gBlenderRinseMode") OR ("gBlenderProdMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch"))));

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

  // PBox SymPy processed, logic in consumer
  "mCarboWaterLineONS" := ("System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch") OR ("gBlenderRinseMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TN301_StartUp"."Done" AND "Procedure_Variables"."Blender_Run"."Latch"); // P_TRIG(("System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch") OR ("gBlenderRinseMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TN301_StartUp"."Done" AND "Procedure_Variables"."Blender_Run"."Latch")) - Mem: "mCarboWaterLineONS"

  "Procedure_Variables"."CarboWaterLine"."Request" := ("Procedure_Variables"."CarboWaterLine"."Qualifier" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch" AND NOT "mCarboWaterLineONS") OR ("Procedure_Variables"."CarboWaterLine"."Qualifier" AND "gBlenderRinseMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TN301_StartUp"."Done" AND "Procedure_Variables"."Blender_Run"."Latch" AND NOT "mCarboWaterLineONS");

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

  "Procedure_Variables"."CarboWaterLine"."Reset" := "Procedure_Variables"."CarboWaterLine"."Qualifier" OR ("Procedure_Variables"."CarboWaterLine"."Latch" AND "gEmergencyPressed");

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

  IF "Procedure_Variables"."CarboWaterLine"."Reset" THEN
    "mStepNum" := 0;
    "mTimeStep" := 0;
  END_IF;

  IF "Procedure_Variables"."CarboWaterLine"."Reset" THEN
    "Procedure_Variables"."CarboWaterLine"."Done" := FALSE;
  END_IF;

  // Network 5: Limit Co2 Low (Original Language: LAD)

  "SP_PV" := "HMI_PID"."RMM303"."Sp" - "HMI_PID"."RMM303"."Pv";

  "CO2_Mul" := "HMI_PID"."RMM303"."Sp" * 0.1;

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

  "Procedure_Variables"."CarboWaterLine"."Wait" := ("HMI_Digital"."_PAL_S11"."Filtered" AND "gWorkshopTest") OR ("gCO2LowPress_Fault" AND "gWorkshopTest");

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

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

  IF ("Procedure_Variables"."CarboWaterLine"."Latch" AND "Procedure_Variables"."CarboWaterLine"."Reset" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done") OR ("Procedure_Variables"."CarboWaterLine"."Reset" AND "Procedure_Variables"."CarboWaterLine"."Request" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done") THEN
    "HMI_Variables_Status"."Procedures"."BlenderStateNum" := 7;
  END_IF;

  // Network 8: Water Line Carbonating Running (Original Language: LAD)
  //   Message TO HMI: Water Line Carbonating Running

  "HMI_Alarms"."gH_Status" := "Procedure_Variables"."CarboWaterLine"."Latch";

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

  // Network 9: Carbo Water Line Step Sequence (Original Language: LAD)
  //   #Seq_Preset_Time is Not Used

  IF "Procedure_Variables"."CarboWaterLine"."Running" THEN
    CarboWaterLine_Seq(mStep_Number := "mStepNum", mTimer := "mTimeStep", mTransition := "mTransition");
  END_IF;

  // Network 10: Running (Original Language: LAD)

  "HMI_Variables_Status"."System_Run_Out"."CarboWaterLineRun" := "Procedure_Variables"."CarboWaterLine"."Latch";

  // Network 11: Done (Original Language: LAD)

  "HMI_Variables_Status"."System_Run_Out"."CarboWaterLineDone" := "Procedure_Variables"."CarboWaterLine"."Done";

END_FUNCTION_BLOCK