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

18 KiB

FUNCTION "CIP_SimpleProgr_Init" : Void
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.0
   VAR_INPUT 
      i_SimpleProgr : "CIP_Simple_Type";
      i_StepNumber : Int;
   END_VAR

   VAR_OUTPUT 
      o_Step : "CIP_Step_Type";
   END_VAR

   VAR_TEMP 
      m_Step : Array[1..15] of "CIP_Step_Type";
   END_VAR


BEGIN
	
	(* per ogni tipo di ricetta semplice, settare a true le uscite e le condizioni necessarie per ogni fase *)
	#m_Step := "CIP_Program_Variables".mCIP_SimpleEmpty ;
	CASE #i_SimpleProgr.CIP_SimpleCode OF
	    1:    (*    Rinse     *)
	        #m_Step[1].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;   (* Rinse away dust *)
	        #m_Step[1].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[1].CIP_RVP303 := TRUE ;
	        #m_Step[1].CIP_AVM317 := TRUE ;
	        #m_Step[1].CIP_AVP324 := TRUE ;
	        #m_Step[1].CIP_AVN327 := TRUE ;
	        #m_Step[1].CIP_AVS331 := TRUE ;
	        #m_Step[1].CIP_AVS332 := TRUE ;
	        #m_Step[1].CIP_AVS336 := FALSE ;
	        #m_Step[1].CIP_AVS337 := TRUE ;
	        #m_Step[1].CIP_AVS345 := TRUE ;
	        #m_Step[1].CIP_AVP361 := TRUE ;
	        #m_Step[1].CIP_AVP388 := TRUE ;
	        #m_Step[1].CIP_AVM380 := TRUE ;
	        #m_Step[1].CIP_AVM381 := TRUE ;
	        #m_Step[1].CIP_PPN301 := TRUE;
	        #m_Step[1].CIP_StepTime := 60 ;
	
	        #m_Step[2].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;   (* Rinse *)
	        #m_Step[2].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[2].CIP_RVP303 := TRUE ;
	        #m_Step[2].CIP_AVM317 := TRUE ;
	        #m_Step[2].CIP_AVP324 := TRUE ;
	        #m_Step[2].CIP_AVN327 := TRUE ;
	        #m_Step[2].CIP_AVS331 := TRUE ;
	        #m_Step[2].CIP_AVS332 := TRUE ;
	        #m_Step[2].CIP_AVS336 := FALSE ;
	        #m_Step[2].CIP_AVS337 := TRUE ;
	        #m_Step[2].CIP_AVS345 := TRUE ;
	        #m_Step[2].CIP_AVP361 := TRUE ;
	        #m_Step[2].CIP_AVP388 := TRUE ;
	        #m_Step[2].CIP_AVM380 := TRUE ;
	        #m_Step[2].CIP_AVM381 := TRUE ;
	        #m_Step[2].CIP_PPN301 := TRUE;
	        #m_Step[2].CIP_CIPRunning := TRUE ;
	        #m_Step[2].CIP_StepTime := #i_SimpleProgr.CIP_SetPoint_Time ;
	
	        #m_Step[3].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;   (* Check water conductivity - optional *)
	        #m_Step[3].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[3].CIP_RVP303 := TRUE ;
	        #m_Step[3].CIP_AVM317 := TRUE ;
	        #m_Step[3].CIP_AVP324 := TRUE ;
	        #m_Step[3].CIP_AVN327 := TRUE ;
	        #m_Step[3].CIP_AVS331 := TRUE ;
	        #m_Step[3].CIP_AVS332 := TRUE ;
	        #m_Step[3].CIP_AVS336 := FALSE ;
	        #m_Step[3].CIP_AVS337 := TRUE ;
	        #m_Step[2].CIP_AVS345 := TRUE ;
	        #m_Step[3].CIP_AVP361 := TRUE ;
	        #m_Step[3].CIP_AVM380 := TRUE ;
	        #m_Step[3].CIP_AVM381 := TRUE ;
	        #m_Step[3].CIP_PPN301 := TRUE;
	        #m_Step[3].CIP_Control.LowConductivity := #i_SimpleProgr.CIP_SetPoint_Cond <> 0 ;
	        #m_Step[3].CIP_StepTime :=60 ;
	
	    2:    (*    Recirculation   - chemicals, temperature and conductivity optional  *)
	        #m_Step[1].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;   (* Water and Syrup tank initial fill up *)
	        #m_Step[1].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;       (* with hot water pre-load optional *)
	        #m_Step[1].CIP_RVP303 := TRUE ;
	        #m_Step[1].CIP_AVS331 := TRUE ;
	        #m_Step[1].CIP_AVS332 := TRUE ;
	        #m_Step[1].CIP_AVS333 := #i_SimpleProgr.CIP_Chemical.Acid AND NOT "gIN_CIP_ChemicalProd";
	        #m_Step[1].CIP_AVS334 := #i_SimpleProgr.CIP_Chemical.Caustic AND NOT "gIN_CIP_ChemicalProd" ;
	        #m_Step[1].CIP_AVS335 := #i_SimpleProgr.CIP_Chemical.Disinfectant AND NOT "gIN_CIP_ChemicalProd" ;
	        #m_Step[1].CIP_AVS336 := TRUE ;
	        #m_Step[1].CIP_AVS337 := NOT #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[1].CIP_AVS338 := FALSE ;
	        #m_Step[1].CIP_AVS340 := FALSE ;
	        #m_Step[1].CIP_AVS341 := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[1].CIP_AVS343 := FALSE ;
	        #m_Step[1].CIP_AVS345 := NOT #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[1].CIP_AVS351 := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[1].CIP_AVS353 := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[1].CIP_AVP388 := TRUE ;
	        #m_Step[1].CIP_CIPRunning := TRUE ;
	        #m_Step[1].CIP_HOTWaterReq := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[1].CIP_Control.CIPHotWaterReceiving := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[1].CIP_StepTime := 10 ;
	
	        #m_Step[2].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;   (* End of hot water pre-load *)
	        #m_Step[2].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[2].CIP_RVP303 := TRUE ;
	        #m_Step[2].CIP_AVS331 := TRUE ;
	        #m_Step[2].CIP_AVS332 := TRUE ;
	        #m_Step[2].CIP_AVS333 := #i_SimpleProgr.CIP_Chemical.Acid AND NOT "gIN_CIP_ChemicalProd" ;
	        #m_Step[2].CIP_AVS334 := #i_SimpleProgr.CIP_Chemical.Caustic AND NOT "gIN_CIP_ChemicalProd" ;
	        #m_Step[2].CIP_AVS335 := #i_SimpleProgr.CIP_Chemical.Disinfectant AND NOT "gIN_CIP_ChemicalProd" ;
	        #m_Step[2].CIP_AVS336 := TRUE ;
	        #m_Step[2].CIP_AVS337 := NOT #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[2].CIP_AVS338 := FALSE ;
	        #m_Step[2].CIP_AVS340 := FALSE ;
	        #m_Step[2].CIP_AVS341 := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[2].CIP_AVS343 := FALSE ;
	        #m_Step[2].CIP_AVS345 := NOT #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[2].CIP_AVS351 := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[2].CIP_AVS353 := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[2].CIP_AVP388 := TRUE ;
	        #m_Step[2].CIP_CIPRunning := TRUE ;
	        #m_Step[2].CIP_HOTWaterReq := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[2].CIP_Control.CIPHotWaterStop := #i_SimpleProgr.CIP_HotWaterPreLoad ;
	        #m_Step[2].CIP_StepTime := 10 ;
	
	        #m_Step[3].CIP_Temp_En := #i_SimpleProgr.CIP_SetPoint_Temp <> 0 ;     (* Chemical preparation and optional warming up *)
	        #m_Step[3].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[3].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[3].CIP_RVP303 := TRUE ;
	        #m_Step[3].CIP_AVS331 := TRUE ;
	        #m_Step[3].CIP_AVS332 := NOT( #i_SimpleProgr.CIP_Chemical.Acid OR #i_SimpleProgr.CIP_Chemical.Caustic OR #i_SimpleProgr.CIP_Chemical.Disinfectant ) ;
	        #m_Step[3].CIP_AVS333 := #i_SimpleProgr.CIP_Chemical.Acid ;
	        #m_Step[3].CIP_AVS334 := #i_SimpleProgr.CIP_Chemical.Caustic ;
	        #m_Step[3].CIP_AVS335 := #i_SimpleProgr.CIP_Chemical.Disinfectant ;
	        #m_Step[3].CIP_AVS336 := TRUE ;
	        #m_Step[3].CIP_AVS341 := TRUE ;
	        #m_Step[3].CIP_CIPRunning := TRUE ;
	        #m_Step[3].CIP_Control.Temperature_Ok := #i_SimpleProgr.CIP_SetPoint_Temp <> 0 ;
	        #m_Step[3].CIP_Control.HighConductivity := #i_SimpleProgr.CIP_SetPoint_Cond <> 0 ;
	        #m_Step[3].CIP_StepTime := 15 ;
	
	        #m_Step[4].CIP_Temp_En := #i_SimpleProgr.CIP_SetPoint_Temp <> 0 ;     (* Solution recirculation *)
	        #m_Step[4].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[4].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[4].CIP_RVP303 := TRUE ;
	        #m_Step[4].CIP_AVS331 := TRUE ;
	        #m_Step[4].CIP_AVS332 := NOT( #i_SimpleProgr.CIP_Chemical.Acid OR #i_SimpleProgr.CIP_Chemical.Caustic OR #i_SimpleProgr.CIP_Chemical.Disinfectant ) ;
	        #m_Step[4].CIP_AVS333 := #i_SimpleProgr.CIP_Chemical.Acid ;
	        #m_Step[4].CIP_AVS334 := #i_SimpleProgr.CIP_Chemical.Caustic ;
	        #m_Step[4].CIP_AVS335 := #i_SimpleProgr.CIP_Chemical.Disinfectant ;
	        #m_Step[4].CIP_AVS336 := TRUE ;
	        #m_Step[4].CIP_AVS341 := TRUE ;
	        #m_Step[4].CIP_CIPRunning := TRUE ;
	        #m_Step[4].CIP_CIPHotPhase := TRUE ;
	        #m_Step[4].CIP_Control.HighConductivity := #i_SimpleProgr.CIP_SetPoint_Cond <> 0 ;
	        #m_Step[4].CIP_StepTime := #i_SimpleProgr.CIP_SetPoint_Time ;
	
	        #m_Step[5].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;   (* Venturi rinse *)
	        #m_Step[5].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[5].CIP_RVP303 := TRUE ;
	        #m_Step[5].CIP_AVS331 := TRUE ;
	        #m_Step[5].CIP_AVS332 := TRUE ;
	        #m_Step[5].CIP_AVS333 := FALSE ;
	        #m_Step[5].CIP_AVS334 := FALSE ;
	        #m_Step[5].CIP_AVS335 := FALSE ;
	        #m_Step[5].CIP_AVS336 := TRUE ;
	        #m_Step[5].CIP_AVS341 := TRUE ;
	        #m_Step[5].CIP_StepTime := 10 ;
	
	    3:     (*    Drain    *)
	        #m_Step[1].CIP_AVN314 := TRUE ;    (* Drain *)
	        #m_Step[1].CIP_AVM315 := TRUE ;
	        #m_Step[1].CIP_AVP316 := TRUE ;
	        #m_Step[1].CIP_AVM317 := TRUE ;
	        #m_Step[1].CIP_AVM323 := TRUE ;
	        #m_Step[1].CIP_AVP324 := TRUE ;
	        #m_Step[1].CIP_AVN327 := TRUE ;
	        #m_Step[1].CIP_AVS331 := TRUE ;
	        #m_Step[1].CIP_AVS332 := TRUE ;
	        #m_Step[1].CIP_AVS336 := TRUE ;
	        #m_Step[1].CIP_AVS337 := TRUE ;
	        #m_Step[1].CIP_AVS341 := TRUE ;
	        #m_Step[1].CIP_AVS342 := TRUE ;
	        #m_Step[1].CIP_AVP344 := TRUE ;
	        #m_Step[1].CIP_AVM345 := TRUE ;
	        #m_Step[1].CIP_AVP361 := TRUE ;
	        #m_Step[1].CIP_AVM369 := TRUE ;
	        #m_Step[1].CIP_AVM371 := TRUE ;
	        #m_Step[1].CIP_AVM380 := TRUE ;
	        #m_Step[1].CIP_AVM381 := TRUE ;
	        #m_Step[1].CIP_CIPDrainRequest := TRUE ;
	        #m_Step[1].CIP_StepTime := #i_SimpleProgr.CIP_SetPoint_Time  ;
	        
	        #m_Step[2].CIP_AVN314 := TRUE ;    (* Wait Drain Completed *)
	        #m_Step[2].CIP_AVM315 := TRUE ;
	        #m_Step[2].CIP_AVP316 := TRUE ;
	        #m_Step[2].CIP_AVM317 := TRUE ;
	        #m_Step[2].CIP_AVM323 := TRUE ;
	        #m_Step[2].CIP_AVP324 := TRUE ;
	        #m_Step[2].CIP_AVN327 := TRUE ;
	        #m_Step[2].CIP_AVS331 := TRUE ;
	        #m_Step[2].CIP_AVS332 := TRUE ;
	        #m_Step[2].CIP_AVS336 := TRUE ;
	        #m_Step[2].CIP_AVS337 := TRUE ;
	        #m_Step[2].CIP_AVS341 := TRUE ;
	        #m_Step[2].CIP_AVS342 := TRUE ;
	        #m_Step[2].CIP_AVP344 := TRUE ;
	        #m_Step[2].CIP_AVM345 := TRUE ;
	        #m_Step[2].CIP_AVP361 := TRUE ;
	        #m_Step[2].CIP_AVM369 := TRUE ;
	        #m_Step[2].CIP_AVM371 := TRUE ;
	        #m_Step[2].CIP_AVM380 := TRUE ;
	        #m_Step[2].CIP_AVM381 := TRUE ;
	        #m_Step[2].CIP_CIPDrainRequest := TRUE ;
	        #m_Step[2].CIP_Control.DrainCompleted := TRUE;
	        #m_Step[2].CIP_StepTime := 3 ;
	    
	    4:     (*    Flood    *)
	        #m_Step[1].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;   (* Filling Product tank *)
	        #m_Step[1].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[1].CIP_RVP303 := TRUE ;
	        #m_Step[1].CIP_AVM317 := TRUE ;
	        #m_Step[1].CIP_AVN327 := TRUE ;
	        #m_Step[1].CIP_AVS331 := TRUE ;
	        #m_Step[1].CIP_AVS332 := NOT( #i_SimpleProgr.CIP_Chemical.Acid OR #i_SimpleProgr.CIP_Chemical.Caustic OR #i_SimpleProgr.CIP_Chemical.Disinfectant ) ;
	        #m_Step[1].CIP_AVS333 := #i_SimpleProgr.CIP_Chemical.Acid ;
	        #m_Step[1].CIP_AVS334 := #i_SimpleProgr.CIP_Chemical.Caustic ;
	        #m_Step[1].CIP_AVS335 := #i_SimpleProgr.CIP_Chemical.Disinfectant ;
	        #m_Step[1].CIP_AVS336 := FALSE ;
	        #m_Step[1].CIP_AVS345 := TRUE ;
	        #m_Step[1].CIP_AVP361 := TRUE ;
	        #m_Step[1].CIP_AVP388 := TRUE ;
	        #m_Step[1].CIP_PPN301 := TRUE ;
	        #m_Step[1].CIP_Control.ProdTankMaxLev := TRUE ;
	        #m_Step[1].CIP_StepTime := 5  ;
	
	        #m_Step[2].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;   (* Filling Syrup tank *)
	        #m_Step[2].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[2].CIP_RVP303 := TRUE ;
	        #m_Step[2].CIP_AVM317 := FALSE ;
	        #m_Step[2].CIP_AVN327 := TRUE ;
	        #m_Step[2].CIP_AVS331 := TRUE ;
	        #m_Step[2].CIP_AVS332 := NOT( #i_SimpleProgr.CIP_Chemical.Acid OR #i_SimpleProgr.CIP_Chemical.Caustic OR #i_SimpleProgr.CIP_Chemical.Disinfectant ) ;
	        #m_Step[2].CIP_AVS333 := #i_SimpleProgr.CIP_Chemical.Acid ;
	        #m_Step[2].CIP_AVS334 := #i_SimpleProgr.CIP_Chemical.Caustic ;
	        #m_Step[2].CIP_AVS335 := #i_SimpleProgr.CIP_Chemical.Disinfectant ;
	        #m_Step[2].CIP_AVS336 := FALSE ;
	        #m_Step[2].CIP_AVS345 := TRUE ;
	        #m_Step[2].CIP_AVP361 := TRUE ;
	        #m_Step[2].CIP_AVP388 := TRUE ;
	        #m_Step[2].CIP_PPN301 := TRUE ;
	        #m_Step[2].CIP_Control.SyrupTankMaxLev := TRUE ;
	        #m_Step[2].CIP_StepTime := 5  ;
	
	        #m_Step[3].CIP_RVN302 := TRUE ;                                    (* Filling Water tank *)
	        #m_Step[3].CIP_RVP303 := FALSE ;
	        #m_Step[3].CIP_AVM317 := FALSE ;
	        #m_Step[3].CIP_AVN327 := TRUE ;
	        #m_Step[3].CIP_AVS331 := TRUE ;
	        #m_Step[3].CIP_AVS332 := NOT( #i_SimpleProgr.CIP_Chemical.Acid OR #i_SimpleProgr.CIP_Chemical.Caustic OR #i_SimpleProgr.CIP_Chemical.Disinfectant ) ;
	        #m_Step[3].CIP_AVS333 := #i_SimpleProgr.CIP_Chemical.Acid ;
	        #m_Step[3].CIP_AVS334 := #i_SimpleProgr.CIP_Chemical.Caustic ;
	        #m_Step[3].CIP_AVS335 := #i_SimpleProgr.CIP_Chemical.Disinfectant ;
	        #m_Step[3].CIP_AVS336 := FALSE ;
	        #m_Step[3].CIP_AVS345 := TRUE ;
	        #m_Step[3].CIP_AVP361 := FALSE ;
	        #m_Step[3].CIP_AVP388 := FALSE ;
	        #m_Step[3].CIP_PPN301 := TRUE ;
	        #m_Step[3].CIP_Control.DeairTankMaxLev := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        IF "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel THEN
	            #m_Step[3].CIP_StepTime := 5 ;
	        ELSE
	            #m_Step[3].CIP_StepTime := #i_SimpleProgr.CIP_SetPoint_Time ;
	        END_IF ;
	    
	    5:     (*    Rinse with CO2    *)
	        #m_Step[1].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[1].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[1].CIP_RVP303 := TRUE ;
	        #m_Step[1].CIP_AVM317 := TRUE ;
	        #m_Step[1].CIP_AVP324 := TRUE ;
	        #m_Step[1].CIP_AVN327 := TRUE ;
	        #m_Step[1].CIP_AVS331 := TRUE ;
	        #m_Step[1].CIP_AVS332 := TRUE ;
	        #m_Step[1].CIP_AVS336 := FALSE ;
	        #m_Step[1].CIP_AVS337 := TRUE ;
	        #m_Step[1].CIP_AVS345 := TRUE ;
	        #m_Step[1].CIP_AVP361 := TRUE ;
	        #m_Step[1].CIP_AVP388 := TRUE ;
	        #m_Step[1].CIP_AVM380 := TRUE ;
	        #m_Step[1].CIP_AVM381 := TRUE ;
	        #m_Step[1].CIP_PPN301 := TRUE;
	        #m_Step[1].CIP_CIPRunning := TRUE ;
	        #m_Step[1].CIP_StepTime := 3 ;
	
	        #m_Step[2].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;   (* Rinse *)
	        #m_Step[2].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[2].CIP_RVP303 := TRUE ;
	        #m_Step[2].CIP_AVM317 := TRUE ;
	        #m_Step[2].CIP_AVP324 := TRUE ;
	        #m_Step[2].CIP_AVN327 := TRUE ;
	        #m_Step[2].CIP_AVS331 := TRUE ;
	        #m_Step[2].CIP_AVS332 := TRUE ;
	        #m_Step[2].CIP_AVS336 := FALSE ;
	        #m_Step[2].CIP_AVS337 := TRUE ;
	        #m_Step[2].CIP_AVS345 := TRUE ;
	        #m_Step[2].CIP_AVP361 := TRUE ;
	        #m_Step[2].CIP_AVP388 := TRUE ;
	        #m_Step[2].CIP_AVM380 := TRUE ;
	        #m_Step[2].CIP_AVM381 := TRUE ;
	        #m_Step[2].CIP_PPN301 := TRUE;
	        #m_Step[2].CIP_CO2_Inj := TRUE;
	        #m_Step[2].CIP_CIPRunning := TRUE ;
	        #m_Step[2].CIP_StepTime := #i_SimpleProgr.CIP_SetPoint_Time ;
	        #m_Step[2].CIP_Control.LowConductivity := #i_SimpleProgr.CIP_SetPoint_Cond <> 0 ;
	    
	    6:     (*    CIP start    *)
	        #m_Step[1].CIP_CIPRunning := TRUE ;
	        #m_Step[1].CIP_Control.ReadyForCIP := TRUE ;
	        #m_Step[1].CIP_StepTime := 3 ;
	
	    7:     (*    Product Recover    *)
	        #m_Step[1].CIP_RVN301 := NOT "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[1].CIP_RVN302 := "HMI_Blender_Parameters".Processor_Options.Blender_OPT._DeaireatorLevel ;
	        #m_Step[1].CIP_RVP303 := TRUE ;
	        #m_Step[1].CIP_AVS331 := TRUE ;
	        #m_Step[1].CIP_AVS332 := TRUE ;
	        #m_Step[1].CIP_AVS333 := FALSE ;
	        #m_Step[1].CIP_AVS334 := FALSE ;
	        #m_Step[1].CIP_AVS335 := FALSE ;
	        #m_Step[1].CIP_AVS336 := TRUE ;
	        #m_Step[1].CIP_AVS341 := TRUE ;
	        #m_Step[1].CIP_CIPRunning := TRUE ;
	        #m_Step[1].CIP_SendSodaBack := #i_SimpleProgr.CIP_ChemicalRecovery ;
	        #m_Step[1].CIP_Control.CIPFreeSodaTank := #i_SimpleProgr.CIP_ChemicalRecovery ;
	        #m_Step[1].CIP_StepTime := 2 ;
	
	        #m_Step[2].CIP_RVN301 := FALSE ;
	        #m_Step[2].CIP_RVN302 := FALSE ;
	        #m_Step[2].CIP_RVP303 := FALSE ;
	        #m_Step[2].CIP_AVS336 := #i_SimpleProgr.CIP_WaterRecovery ;
	        #m_Step[2].CIP_AVS341 := #i_SimpleProgr.CIP_WaterRecovery ;
	        #m_Step[2].CIP_AVS343 := #i_SimpleProgr.CIP_WaterRecovery ;
	        #m_Step[2].CIP_AVS345 := #i_SimpleProgr.CIP_WaterRecovery ;
	        #m_Step[2].CIP_SendSodaBack := #i_SimpleProgr.CIP_ChemicalRecovery ;
	        #m_Step[2].CIP_Control.CIPFreeSodaTank := #i_SimpleProgr.CIP_ChemicalRecovery ;
	        #m_Step[2].CIP_Control.CIPLowLevel := TRUE ;
	        #m_Step[2].CIP_StepTime := 15 ;
	
	ELSE
	    #m_Step := "CIP_Program_Variables".mCIP_SimpleEmpty ;
	END_CASE ;
	#o_Step := #m_Step[#i_StepNumber] ;
	
END_FUNCTION