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

15 KiB

// Block Type: FC
// Block Name (Original): Deaireator StartUp_Seq
// Block Number: 1803
// Original Network Languages: STL, LAD

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

VAR_INOUT
  mStep : Int;
  mTimer : Int;
  mTransition : Bool;
END_VAR

VAR_TEMP
  mAuxStep : Int;
  mVacuumOk : Bool;
  mAuxTimer : Int;
  mAuxWaterSpeedPrimeOK : Bool;
  __PlcmigTempFillBit_6B1 : Bool;
  __PlcmigTempFillBit_6B2 : Bool;
  __PlcmigTempFillBit_6B3 : Bool;
  __PlcmigTempFillBit_6B4 : Bool;
  __PlcmigTempFillBit_6B5 : Bool;
  __PlcmigTempFillBit_6B6 : Bool;
  __PlcmigTempFillBit_6B7 : Bool;
  __PlcmigTempFillBit_7B0 : Bool;
  __PlcmigTempFillBit_7B1 : Bool;
  __PlcmigTempFillBit_7B2 : Bool;
  __PlcmigTempFillBit_7B3 : Bool;
  __PlcmigTempFillBit_7B4 : Bool;
  __PlcmigTempFillBit_7B5 : Bool;
  __PlcmigTempFillBit_7B6 : Bool;
  __PlcmigTempFillBit_7B7 : Bool;
END_VAR

  #_10S : Bool; // Auto-generated temporary
BEGIN

  // Network 1: STEP CONTROL (Original Language: STL)

  // --- BEGIN STL Network 1 ---
   
     	L	"mStep"
     	JL	LEND
     	JU	ST00
     	JU	ST01
     	JU	ST02
     	JU	ST03
     	JU	ST04
     	JU	ST05
     	JU	ST06
     	JU	ST07
     	JU	ST08
     	JU	ST09
     	JU	ST10
     LEND:   		JU	FULL
     FULL:   		L	0
     	T	"mStep"
     	JU	END
   
  // --- END STL Network 1 ---

  // Network 2: STEP 00 (Original Language: LAD)
  //   Step 0: Select if execute the procedure

  IF "AUX FALSE" THEN
    "gSP_LimitCO2PressValve" := TRUE;
  END_IF;

  // Network 3: STEP 00 (Original Language: LAD)

  SEL_I(G := "Procedure_Variables"."TN301_StartUp"."Done", IN0 := 1, IN1 := 5);

  // Network 4: STEP 00 (Original Language: LAD)

  SEL_I(G := "Procedure_Variables"."First_Production"."Done", IN0 := "mAuxStep", IN1 := 5);

  // Network 5:  (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_UVLamp" THEN
    "mAuxStep" := 2;
  END_IF;

  // Network 6: STEP 00 (Original Language: LAD)

  IF "gStillWaterByPassEn" THEN
    SEL_I(G := "Blender_Variables_Pers"."gSkipDeaireation" AND "gBlenderRinseMode", IN0 := 1, IN1 := 10);
  END_IF;

  // Network 7: STEP 00 (Original Language: STL)

  // --- BEGIN STL Network 7 ---
   
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 7 ---

  // Network 8: STEP 01 (Original Language: LAD)
  //   Step 1: Blow off the air from the buffer Tank and deareator

  "mTimeTN301_StartupFilter"(IN := "AUX FALSE", PT := S5T#10S); // TODO: Declarar "mTimeTN301_StartupFilter" : TON;

  "Procedure_Variables"."TN301_StartUp"."H2OFilterOK" := "mTimeTN301_StartupFilter".Q;

  // Network 9: STEP 01 (Original Language: LAD)

  IF "Procedure_Variables"."TN301_StartUp"."H2OFilterOK" THEN
    "gSP_EV83" := TRUE;
  END_IF;

  // Network 10: STEP 01 (Original Language: STL)

  // --- BEGIN STL Network 10 ---
   
     	A	"Blender_Variables".gInUVLampReady
     	A	"AUX FALSE"
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.H2OFilterOK
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 10 ---

  // Network 11: STEP 02 (Original Language: LAD)
  //   Step 2: Flush Deaireator Tank

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" AND "gFinalPressureOk" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0) THEN
    "gSP_AVN328" := TRUE;
  END_IF;

  // Network 12: STEP 02 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVM312" := TRUE;
  END_IF;

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVN314" := TRUE;
  END_IF;

  // Network 13: STEP 02 (Original Language: LAD)

  IF "AUX FALSE" THEN
    "gSP_LimitCO2PressValve" := TRUE;
  END_IF;

  // Network 14: STEP 02 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_BlendFillSystem" THEN
    "gSP_AVM315" := TRUE;
  END_IF;

  // Network 15: STEP 02 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_BlendFillSystem" THEN
    "gSP_AVM362" := TRUE;
  END_IF;

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_BlendFillSystem" THEN
    "gSP_AVM369" := TRUE;
  END_IF;

  // Network 16: STEP 02 (Original Language: STL)

  // --- BEGIN STL Network 16 ---
   
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 16 ---

  // Network 17: STEP 03 (Original Language: LAD)
  //   Step 3: In CASE OF SAG check that the product tank is empty before loading 
  //   product

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" AND "gFinalPressureOk" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0) THEN
    "gSP_AVN328" := TRUE;
  END_IF;

  // Network 18: STEP 03 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVM312" := TRUE;
  END_IF;

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVN314" := TRUE;
  END_IF;

  // Network 19: STEP 03 (Original Language: LAD)

  SEL_I(G := "HMI_Digital"."LSN301L"."Filtered" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation", IN0 := 4, IN1 := 2);

  // Network 20: STEP 03 (Original Language: STL)

  // --- BEGIN STL Network 20 ---
   
     	A_BRACK
     	O	"gPTM304_OkToRun"
     	O	"HMI_Blender_Parameters".Processor_Options.Blender_OPT._Deaireation
     	BRACKET
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"AUX TRUE"
     	A	"AUX FALSE"
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 20 ---

  // Network 21: STEP 04 (Original Language: LAD)
  //   Step 4: Wait FOR Vacuum if still product

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" AND "gFinalPressureOk" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0) THEN
    "gSP_AVN328" := TRUE;
  END_IF;

  // Network 22: STEP 04 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVM312" := TRUE;
  END_IF;

  // Network 23: STEP 04 (Original Language: STL)

  // --- BEGIN STL Network 23 ---
   
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 23 ---

  // Network 24: STEP 05 (Original Language: LAD)
  //   Step 5: Wait Vacuum IF Still Product

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVM312" := TRUE;
  END_IF;

  // Network 25: STEP 05 (Original Language: LAD)

  "mVacuumOk" := "gPTN313_Acheaved" OR ("HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_Deareation_Vacum" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair");

  // Network 26: STEP 05 (Original Language: STL)

  // --- BEGIN STL Network 26 ---
   
     	A	"mVacuumOk"
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 26 ---

  // Network 27: STEP 06 (Original Language: LAD)
  //   Step 6: Load Deair Tank Wait Minimum Level

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVM312" := TRUE;
  END_IF;

  // Network 28: MIX - Procedure auxiliary variable (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" AND "gFinalPressureOk" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0) THEN
    "gSP_AVN328" := TRUE;
  END_IF;

  // Network 29: STEP 06 (Original Language: LAD)

  IF "AUX FALSE" THEN
    "gSP_RVN301" := TRUE;
  END_IF;

  IF "AUX FALSE" THEN
    "gSP_AVM322" := TRUE;
  END_IF;

  // Network 30: STEP 06 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_PPN305" := TRUE;
  END_IF;

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_RVN301_1" := TRUE;
  END_IF;

  // Network 31: STEP 06 (Original Language: STL)

  // --- BEGIN STL Network 31 ---
   
     	A_BRACK
     	A	"HMI_Digital".LSN301L.Filtered
     	AN	"HMI_Blender_Parameters".Processor_Options.Blender_OPT._DoubleDeair
     	O
     	A	"HMI_Digital".LSN301L.Filtered
     	A	"HMI_Digital".LSN302L.Filtered
     	A	"HMI_Blender_Parameters".Processor_Options.Blender_OPT._DoubleDeair
     	BRACKET
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 31 ---

  // Network 32: STEP 07 (Original Language: LAD)
  //   Step 7: close EV22

  IF "gFinalPressureOk" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0) THEN
    "gSP_AVN328" := TRUE;
  END_IF;

  // Network 33: STEP 07 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVM312" := TRUE;
  END_IF;

  // Network 34: STEP 07 (Original Language: LAD)

  IF "AUX FALSE" THEN
    "gSP_RVN301" := TRUE;
  END_IF;

  IF "AUX FALSE" THEN
    "gSP_PPN301" := TRUE;
  END_IF;

  // Network 35: STEP 07 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_PPN305" := TRUE;
  END_IF;

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_RVN301_1" := TRUE;
  END_IF;

  // Network 36: Water Speed Prime OK (Original Language: LAD)

  "mAuxWaterSpeedPrimeOK" := "Profibus_Variables"."gFTN301_Flow" < 100.0;

  // Network 37: STEP 07 (Original Language: STL)

  // --- BEGIN STL Network 37 ---
   
     	A	"mAuxWaterSpeedPrimeOK"
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 37 ---

  // Network 38: STEP 08 (Original Language: LAD)
  //   Deaireator StartUp Sequence Completed

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" AND "gFinalPressureOk" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0) THEN
    "gSP_AVN328" := TRUE;
  END_IF;

  // Network 39: STEP 08 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVM312" := TRUE;
  END_IF;

  // Network 40: STEP 08 (Original Language: LAD)

  IF "AUX FALSE" THEN
    "gSP_RVN301" := TRUE;
  END_IF;

  IF "AUX FALSE" THEN
    "gSP_PPN301" := TRUE;
  END_IF;

  IF "AUX FALSE" THEN
    "gSP_AVM322" := TRUE;
  END_IF;

  // Network 41: STEP 08 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_PPN305" := TRUE;
  END_IF;

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_RVN301_1" := TRUE;
  END_IF;

  // Network 42: STEP 08 (Original Language: LAD)

  SEL_I(G := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_CoolerPresent", IN0 := 40, IN1 := 80);

  // Network 43: STEP 08 (Original Language: STL)

  // --- BEGIN STL Network 43 ---
   
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 43 ---

  // Network 44: STEP 09 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" THEN
    "gSP_AVM312" := TRUE;
  END_IF;

  // Network 45: MIX - Procedure auxiliary variable (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Deaireation" AND "gFinalPressureOk" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0) THEN
    "gSP_AVN328" := TRUE;
  END_IF;

  // Network 46: STEP 09 (Original Language: LAD)

  IF "AUX FALSE" THEN
    "gSP_RVN301" := TRUE;
  END_IF;

  IF "AUX FALSE" THEN
    "gSP_PPN301" := TRUE;
  END_IF;

  // Network 47: STEP 09 (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_PPN305" := TRUE;
  END_IF;

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DoubleDeair" THEN
    "gSP_RVN301_1" := TRUE;
  END_IF;

  // Network 48: STEP 09 (Original Language: STL)

  // --- BEGIN STL Network 48 ---
   
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B0"
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBit_7B1"
     	BLD	103
     	A	"Procedure_Variables".TN301_StartUp.Wait
     	=	"__PlcmigTempFillBit_7B2"
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBit_7B3"
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 48 ---

  // Network 49: STEP 10 (Original Language: LAD)

  IF Eq("mStep", 10) THEN
    "Procedure_Variables"."TN301_StartUp"."Done" := TRUE;
  END_IF;

  // Network 50: SEQUENCER END (Original Language: STL)

  // --- BEGIN STL Network 50 ---
   
     END:    		NOP_0
   
  // --- END STL Network 50 ---

END_FUNCTION