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

8.5 KiB

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

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

VAR_TEMP
  ons_1 : Bool;
END_VAR

BEGIN

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

  "Machine_Co2_Cons"."Drain" := "Machine_Co2_Cons"."Drain";

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

  // PBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_1_A" := "Machine_Co2_Cons"."Drain"; // P_TRIG("Machine_Co2_Cons"."Drain") - Mem: "Machine_Co2_Cons"."Ons_1_A"

  IF "Machine_Co2_Cons"."Drain" AND NOT "Machine_Co2_Cons"."Ons_1_A" THEN
    "Machine_Co2_Cons"."CO2_Counter_Drain_Start_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_2_A" := "Machine_Co2_Cons"."Drain"; // N_TRIG("Machine_Co2_Cons"."Drain") - Mem: "Machine_Co2_Cons"."Ons_2_A"

  IF "Machine_Co2_Cons"."Ons_2_A" AND NOT "Machine_Co2_Cons"."Drain" THEN
    "Machine_Co2_Cons"."CO2_Counter_Drain_End_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_3_A" := "Machine_Co2_Cons"."Drain"; // N_TRIG("Machine_Co2_Cons"."Drain") - Mem: "Machine_Co2_Cons"."Ons_3_A"

  IF "Machine_Co2_Cons"."Ons_3_A" AND NOT "Machine_Co2_Cons"."Drain" THEN
    "Machine_Co2_Cons"."CO2_Counter_Drain_Total" := "Machine_Co2_Cons"."CO2_Counter_Rinser_End_Value" - "Machine_Co2_Cons"."CO2_Counter_Drain_Start_Value";
  END_IF;

  // Network 3: RINSE ON (Original Language: LAD)

  "Machine_Co2_Cons"."Rinser" := "ColdRinseON";

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

  // PBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_4_A" := "Machine_Co2_Cons"."Rinser"; // P_TRIG("Machine_Co2_Cons"."Rinser") - Mem: "Machine_Co2_Cons"."Ons_4_A"

  IF "Machine_Co2_Cons"."Rinser" AND NOT "Machine_Co2_Cons"."Ons_4_A" THEN
    "Machine_Co2_Cons"."CO2_Counter_Rinser_Start_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_5_A" := "Machine_Co2_Cons"."Rinser"; // N_TRIG("Machine_Co2_Cons"."Rinser") - Mem: "Machine_Co2_Cons"."Ons_5_A"

  IF "Machine_Co2_Cons"."Ons_5_A" AND NOT "Machine_Co2_Cons"."Rinser" THEN
    "Machine_Co2_Cons"."CO2_Counter_Rinser_End_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_6_A" := "Machine_Co2_Cons"."Rinser"; // N_TRIG("Machine_Co2_Cons"."Rinser") - Mem: "Machine_Co2_Cons"."Ons_6_A"

  IF "Machine_Co2_Cons"."Ons_6_A" AND NOT "Machine_Co2_Cons"."Rinser" THEN
    "Machine_Co2_Cons"."CO2_Counter_Rinser_Total" := "Machine_Co2_Cons"."CO2_Counter_Rinser_End_Value" - "Machine_Co2_Cons"."CO2_Counter_Rinser_Start_Value";
  END_IF;

  // Network 5: PROD RUNNING (Original Language: LAD)

  "Machine_Co2_Cons"."First_Prod" := "Procedure_Variables"."First_Production"."Running";

  // Network 6: STARTUP DEAREATION (Original Language: LAD)

  // PBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_10_A" := "Procedure_Variables"."TN301_StartUp"."Latch"; // P_TRIG("Procedure_Variables"."TN301_StartUp"."Latch") - Mem: "Machine_Co2_Cons"."Ons_10_A"

  IF "Procedure_Variables"."TN301_StartUp"."Latch" AND NOT "Machine_Co2_Cons"."Ons_10_A" THEN
    "Machine_Co2_Cons"."CO2_Counter_Dear_Prep_Start_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_11_A" := "Procedure_Variables"."TN301_StartUp"."Latch"; // N_TRIG("Procedure_Variables"."TN301_StartUp"."Latch") - Mem: "Machine_Co2_Cons"."Ons_11_A"

  IF "Machine_Co2_Cons"."Ons_11_A" AND NOT "Procedure_Variables"."TN301_StartUp"."Latch" THEN
    "Machine_Co2_Cons"."CO2_Counter_Dear_Prep_End_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_12_A" := "Procedure_Variables"."TN301_StartUp"."Latch"; // N_TRIG("Procedure_Variables"."TN301_StartUp"."Latch") - Mem: "Machine_Co2_Cons"."Ons_12_A"

  IF "Machine_Co2_Cons"."Ons_12_A" AND NOT "Procedure_Variables"."TN301_StartUp"."Latch" THEN
    "Machine_Co2_Cons"."CO2_Counter_Dear_Prep_Total" := "Machine_Co2_Cons"."CO2_Counter_Dear_Prep_End_Value" - "Machine_Co2_Cons"."CO2_Counter_Dear_Prep_Start_Value";
  END_IF;

  // Network 7: CARBO WATER LINE (Original Language: LAD)

  // PBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_16_A" := "Procedure_Variables"."CarboWaterLine"."Latch"; // P_TRIG("Procedure_Variables"."CarboWaterLine"."Latch") - Mem: "Machine_Co2_Cons"."Ons_16_A"

  IF "Procedure_Variables"."CarboWaterLine"."Latch" AND NOT "Machine_Co2_Cons"."Ons_16_A" THEN
    "Machine_Co2_Cons"."CO2_Carb_Water_Line_Start_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_17_A" := "Procedure_Variables"."CarboWaterLine"."Latch"; // N_TRIG("Procedure_Variables"."CarboWaterLine"."Latch") - Mem: "Machine_Co2_Cons"."Ons_17_A"

  IF "Machine_Co2_Cons"."Ons_17_A" AND NOT "Procedure_Variables"."CarboWaterLine"."Latch" THEN
    "Machine_Co2_Cons"."CO2_Carb_Water_Line_End_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_18_A" := "Procedure_Variables"."CarboWaterLine"."Latch"; // N_TRIG("Procedure_Variables"."CarboWaterLine"."Latch") - Mem: "Machine_Co2_Cons"."Ons_18_A"

  IF "Machine_Co2_Cons"."Ons_18_A" AND NOT "Procedure_Variables"."CarboWaterLine"."Latch" THEN
    "Machine_Co2_Cons"."CO2_Carb_Water_Line_Total" := "Machine_Co2_Cons"."CO2_Carb_Water_Line_End_Value" - "Machine_Co2_Cons"."CO2_Carb_Water_Line_Start_Value";
  END_IF;

  // Network 8: PRODUCTION LATCH (Original Language: LAD)

  "Machine_Co2_Cons"."First_Prod" := "Procedure_Variables"."First_Production"."Latch";

  // Network 9: FIRST PRODUCTION (Original Language: LAD)

  // PBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_7_A" := "Machine_Co2_Cons"."First_Prod"; // P_TRIG("Machine_Co2_Cons"."First_Prod") - Mem: "Machine_Co2_Cons"."Ons_7_A"

  IF "Machine_Co2_Cons"."First_Prod" AND NOT "Machine_Co2_Cons"."Ons_7_A" THEN
    "Machine_Co2_Cons"."CO2_Counter_First_Prod_Start_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_8_A" := "Machine_Co2_Cons"."First_Prod"; // N_TRIG("Machine_Co2_Cons"."First_Prod") - Mem: "Machine_Co2_Cons"."Ons_8_A"

  IF "Machine_Co2_Cons"."Ons_8_A" AND NOT "Machine_Co2_Cons"."First_Prod" THEN
    "Machine_Co2_Cons"."CO2_Counter_First_Prod_End_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_9_A" := "Machine_Co2_Cons"."First_Prod"; // N_TRIG("Machine_Co2_Cons"."First_Prod") - Mem: "Machine_Co2_Cons"."Ons_9_A"

  IF "Machine_Co2_Cons"."Ons_9_A" AND NOT "Machine_Co2_Cons"."First_Prod" THEN
    "Machine_Co2_Cons"."CO2_Counter_First_Prod_Total" := "Machine_Co2_Cons"."CO2_Counter_First_Prod_End_Value" - "Machine_Co2_Cons"."CO2_Counter_First_Prod_Start_Value";
  END_IF;

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

  "Machine_Co2_Cons"."First_Prod" := "Procedure_Variables"."First_Production"."Running";

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

  // PBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_13_A" := "gBlenderCIPMode"; // P_TRIG("gBlenderCIPMode") - Mem: "Machine_Co2_Cons"."Ons_13_A"

  IF "gBlenderCIPMode" AND NOT "Machine_Co2_Cons"."Ons_13_A" THEN
    "Machine_Co2_Cons"."CO2_Counter_First_Prod_Start_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_14_A" := "gBlenderCIPMode"; // N_TRIG("gBlenderCIPMode") - Mem: "Machine_Co2_Cons"."Ons_14_A"

  IF "Machine_Co2_Cons"."Ons_14_A" AND NOT "gBlenderCIPMode" THEN
    "Machine_Co2_Cons"."CO2_Counter_CIP_End_Value" := "Machine_Co2_Cons"."CO2_Actual_Counter";
  END_IF;

  // NBox SymPy processed, logic in consumer
  "Machine_Co2_Cons"."Ons_15_A" := "gBlenderCIPMode"; // N_TRIG("gBlenderCIPMode") - Mem: "Machine_Co2_Cons"."Ons_15_A"

  IF "Machine_Co2_Cons"."Ons_15_A" AND NOT "gBlenderCIPMode" THEN
    "Machine_Co2_Cons"."CO2_Counter_CIP_Total" := "Machine_Co2_Cons"."CO2_Counter_CIP_End_Value" - "Machine_Co2_Cons"."CO2_Counter_CIP_Start_Value";
  END_IF;

  // Network 12: ACTUAL COUNTER (Original Language: LAD)

  "Machine_Co2_Cons"."CO2_Actual_Counter" := "Tag_24";

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

  // Network 13 has no logic elements.

END_FUNCTION_BLOCK