```pascal FUNCTION "CIPLocal_ExecStep" : Void { S7_Optimized_Access := 'FALSE' } VERSION : 0.0 VAR_TEMP i : Int; END_VAR BEGIN "HMI_Alarms".gH_Status["CIP_Program_Variables".mCIP_ActualStep.CIP_StatusMsgCode]:= FALSE ; IF "CLK_1.0S" THEN (* One Second Clock *) IF "CIP_Program_Variables".General_Data.mStepTimeValue > "CIP_Program_Variables".General_Data.StepActualTime THEN #i:= "CIP_Program_Variables".General_Data.ActualSimpleNum; "HMI_Local_CIP_Variables".Cip_Recipe.ActualSimpleProgram := "HMI_Local_CIP_Variables".Cip_Recipe.ActualLinkProgram.CIP_Simple_Prog[#i] ; "CIP_SimpleProgr_Init"(i_SimpleProgr:= "HMI_Local_CIP_Variables".Cip_Recipe.ActualSimpleProgram , i_StepNumber:= "CIP_Program_Variables".General_Data.ActualStepNum, o_Step=> "CIP_Program_Variables".mCIP_ActualStep); "CIP_Program_Variables".Status.WaitEventRequest := "CIP_Program_Variables".mCIP_ActualStep.CIP_Control ; IF (%DB963.%DBW6 <> 0) AND ((%DB963.%DBW4 XOR %DB963.%DBW6) <> 0) THEN "CIP_Program_Variables".Status.WaitAnyCond := TRUE ; ELSE "CIP_Program_Variables".Status.WaitAnyCond := FALSE ; END_IF ; "CIP_Program_Variables".General_Data.SPConductivity := "HMI_Local_CIP_Variables".Cip_Recipe.ActualSimpleProgram.CIP_SetPoint_Cond ; "CIP_Program_Variables".General_Data.SPTemperature := "HMI_Local_CIP_Variables".Cip_Recipe.ActualSimpleProgram.CIP_SetPoint_Temp ; IF NOT "CIP_Program_Variables".Status.Completed THEN "CIP_Program_Variables".General_Data.TotalElapsedTime := "CIP_Program_Variables".General_Data.TotalElapsedTime + 1 ; IF NOT "CIP_Program_Variables".CIP_Run.Wait THEN "CIP_Program_Variables".General_Data.StepActualTime := "CIP_Program_Variables".General_Data.StepActualTime + 1 ; "CIP_Program_Variables".General_Data.mStepTotalActualTime := "CIP_Program_Variables".General_Data.mStepTotalActualTime + 1 ; END_IF ; END_IF ; ELSE "CIPLocal_ProgStepUp"() ; END_IF ; END_IF ; "HMI_Alarms".gH_Status["CIP_Program_Variables".mCIP_ActualStep.CIP_StatusMsgCode]:= TRUE ; (************************************************************************************************************) (* Transfer the X in the Simple program i-th Step to the Sp Sustain Memory *) (************************************************************************************************************) "gSP_CIP_Temp_En" :="CIP_Program_Variables".mCIP_ActualStep.CIP_Temp_En ; "gSP_RVN301" :="CIP_Program_Variables".mCIP_ActualStep.CIP_RVN301 ; "gSP_RVN302" :="CIP_Program_Variables".mCIP_ActualStep.CIP_RVN302 ; "gSP_RVN301_1" :="CIP_Program_Variables".mCIP_ActualStep.CIP_RVN301 ; "gSP_RVN302_1" :="CIP_Program_Variables".mCIP_ActualStep.CIP_RVN302 ; "gSP_RVP303" :="CIP_Program_Variables".mCIP_ActualStep.CIP_RVP303 ; "gSP_CIP_CO2_Inj" :="CIP_Program_Variables".mCIP_ActualStep.CIP_CO2_Inj ; "gSP_AVM313" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM313 ; "gSP_AVN314" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVN314 ; "gSP_AVM315" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM315 ; "gSP_AVP316" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVP316 ; "gSP_AVM317" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM317 ; "gSP_AVM322" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM322 ; "gSP_AVM323" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM323 ; "gSP_AVP324" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVP324 ; "gSP_AVN327" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVN327 ; "gSP_AVS331" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVS331 ; "gSP_AVS332" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVS332 ; "gSP_AVS333" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVS333 ; "gSP_AVS334" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVS334 ; "gSP_AVS335" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVS335 ; "gSP_AVS336" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVS336 ; "gSP_AVS337" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVS337 ; "gSP_AVS338" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVS338 ; "gSP_AVP344" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVP344 ; "gSP_AVM345" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM345 ; "gSP_AVP361" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVP361 ; "gSP_AVM369" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM369 ; "gSP_AVM371" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM371 ; "gSP_AVM380" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM380 ; "gSP_AVM381" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM381 ; "gSP_AVM388" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM388 ; "gSP_AVM389" :="CIP_Program_Variables".mCIP_ActualStep.CIP_AVM389 ; "gSP_CIPRunning" :="CIP_Program_Variables".mCIP_ActualStep.CIP_CIPRunning ; "gSP_CIPDrainRequest" :="CIP_Program_Variables".mCIP_ActualStep.CIP_CIPDrainRequest ; "gSP_CIPHotPhase" :="CIP_Program_Variables".mCIP_ActualStep.CIP_CIPHotPhase ; "gSP_HotWaterRequest" :="CIP_Program_Variables".mCIP_ActualStep.CIP_HOTWaterReq ; "gSP_SendSodaRequest" :="CIP_Program_Variables".mCIP_ActualStep.CIP_SendSodaBack ; "gSP_PPN301" :="CIP_Program_Variables".mCIP_ActualStep.CIP_PPN301 ; "gSP_SyrRoomPump" :="CIP_Program_Variables".mCIP_ActualStep.CIP_SyrRoomPump ; END_FUNCTION ```