15 KiB
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