```pascal 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 ```