|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SEQ240 GLB : CIP with Lye |
|
|
|
Network 1: Start measuring runtime (Start Cycle) #SSM(LAST_STEP := 15); |
|
|
|
Network 2: Pulse generator IF "E04 FIT402 pulse" AND NOT #FIT402_Pulse_REg THEN IF "DI OUT P04".Support.FIT402_Volum_meter >= "HMI KEY".SetPoint.FIT402_CIP_Lye_Liquid_Handling THEN "HMI KEY".Message.CIP_Lye_Access_Complete := #FIT402_CIP_lye_access_done := TRUE; ELSE "DI OUT P04".Support.FIT402_Volum_meter := "DI OUT P04".Support.FIT402_Volum_meter + 1.0; END_IF; END_IF; #FIT402_Pulse_REg := "E04 FIT402 pulse" OR #FIT402_CIP_lye_access_done; |
|
|
|
Network 3: CALL distributor #SSM.S.stepllo := NOT (#SSM.S.step0 OR #SSM.S.steph); "DI OUT P01".G120C.DRV.Support.Cmd_MovJogWP := "HMI KEY".P01.G120C.F12_Enable_WP AND #SSM.S.stepllo; "DI OUT P01".V101.VLV_O.CmdExe_WP := "HMI KEY".P01.V101.F12_Enable_WP; "DI OUT P03".G320C.DRV.Support.Cmd_MovAbso := "HMI KEY".P03.G320C.F12_Enable_WP; "DI OUT P03".V306.VLV_O.CmdExe_WP := "HMI KEY".P03.V306.F12_Enable_WP AND NOT #SSM.S.step0; "DI OUT P04".M401.DRV.CmdExe_WP := "HMI KEY".P04.M401.F12_Enable_WP; "DI OUT P04".G420C.DRV.Support.Cmd_MovJogWP := "HMI KEY".P04.G420C.F12_Enable_WP AND #SSM.S.stepllo; #SSM.S.stepllo := "HMI KEY".Message.PT101_Pressure_Maintenance_reached AND "HMI KEY".Message.PT201_Pressure_Maintenance_reached; |
|
|
|
Network 4: First cycle evaluation CASE #SSM.S.stepact OF 0: // Waiting for sequencer to start #SSM.S.stepd := #SSM.S.steps; "DI OUT P01".M101.DRV.CmdExe_WP := "DI OUT P02".G220C.DRV.Support.Cmd_MovJogWP := "DI OUT P02".V202.VLV_O.CmdExe_WP := "DI OUT P02".V204.VLV_O.CmdExe_WP := "DI OUT P03".M301.DRV.CmdExe_WP := "DI OUT P04".V401.VLV_O.CmdExe_WP := "DI OUT P04".V413.VLV_O.CmdExe_WP := "DI OUT P04".V405.VLV_O.CmdExe_WP := "DI OUT P04".V408.VLV_O.CmdExe_WP := "DI OUT P04".V410.VLV_O.CmdExe_WP := "DI OUT P04".M402.DRV.CmdExe_WP := FALSE;
1: // V413,M402,V403,M401,V101,G120C,V102,V104,FIT402 - Filling SBT1 with Lye IF #SSM.S.DlyOff.Q THEN "DI OUT P01".G120C.DRV.Support.SetVelo := "HMI KEY".SetPoint.G120C_CIP_Circulation_Flow_RPM; "DI OUT P02".G220C.DRV.Support.SetVelo := "HMI KEY".SetPoint.G220C_Product_Inlet_Filler_RPM; "DI OUT P03".G320C.DRV.MC_MoveVelocity.Velocity := "HMI KEY".SetPoint.G320C_Heating_Circular_Flow_RPM; "DI OUT P03".V307.Mode := 3; "DI OUT P03".V307.ModeActivate := "HMI KEY".Execute.PT101_Pressure_Maintenace_SBT1 := "HMI KEY".Execute.PT201_Pressure_Maintenace_SBT2 := TRUE; RETURN; ELSE "DI OUT P03".V307.ModeActivate := FALSE; "DI OUT P04".V413.VLV_O.CmdExe_WP := "HMI KEY".P04.V413.F12_Enable_WP AND NOT #FIT402_CIP_lye_access_done; "DI OUT P04".M402.DRV.CmdExe_WP := "HMI KEY".P04.M402.F12_Enable_WP AND NOT #FIT402_CIP_lye_access_done; "DI OUT P04".V403.VLV_O.CmdExe_WP := "HMI KEY".P04.V403.F12_Enable_WP AND NOT #FIT402_CIP_lye_access_done; "DI OUT P01".V102.VLV_O.CmdExe_WP := "HMI KEY".P01.V102.F12_Enable_WP AND NOT #FIT402_CIP_lye_access_done; "DI OUT P01".V104.VLV_O.CmdExe_WP := "HMI KEY".P01.V104.F12_Enable_WP AND NOT #FIT402_CIP_lye_access_done; END_IF; // Waiting for step conditions to be met IF #FIT402_CIP_lye_access_done AND #SSM.S.stepllo AND "E01 LS102 low" AND "DI OUT P04".V413.FB_HP AND "DI OUT P04".M402.DRV.LampHP AND "DI OUT P04".V403.FB_HP AND "DI OUT P01".V102.FB_HP AND "DI OUT P01".V104.FB_HP THEN "DI OUT P04".Support.FIT402_Volum_meter := 0.0; #SSM.S.stepd := TRUE; END_IF;
2: // V107,M101,M401,V101,G120C,M301,V301,V305,V410,FIT101 - Filling up circular flow IF "E01 FIT101 pulse" AND NOT #FIT101_Pulse_REg THEN IF "DI OUT P01".Support.FIT101_Volum_meter >= "HMI KEY".SetPoint.FIT101_CIP_Discard_Used_Medium THEN #FIT101_CIP_lye_access_circular_flow_done := TRUE; ELSE "DI OUT P01".Support.FIT101_Volum_meter := "DI OUT P01".Support.FIT101_Volum_meter + 1.0; END_IF; END_IF; #FIT101_Pulse_REg := "E01 FIT101 pulse" OR #FIT101_CIP_lye_access_circular_flow_done; // Assign actors pre-setting "DI OUT P01".V107.VLV_O.CmdExe_WP := "HMI KEY".P01.V107.F12_Enable_WP AND NOT #FIT101_CIP_lye_access_circular_flow_done; "DI OUT P01".M101.DRV.CmdExe_WP := "HMI KEY".P01.M101.F12_Enable_WP AND NOT #FIT101_CIP_lye_access_circular_flow_done; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP; "DI OUT P03".V301.VLV_O.CmdExe_WP := "HMI KEY".P03.V301.F12_Enable_WP AND NOT #FIT101_CIP_lye_access_circular_flow_done; "DI OUT P03".V305.VLV_O.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP AND NOT #FIT101_CIP_lye_access_circular_flow_done; "DI OUT P04".V410.VLV_O.CmdExe_WP := "HMI KEY".P04.V410.F12_Enable_WP AND NOT #FIT101_CIP_lye_access_circular_flow_done; // Waiting for step conditions to be met IF #FIT101_CIP_lye_access_circular_flow_done AND #SSM.S.stepllo AND "DI OUT P01".V107.FB_HP AND "DI OUT P01".M101.DRV.LampHP AND "DI OUT P03".M301.DRV.LampWP AND "DI OUT P03".V301.FB_HP AND "DI OUT P03".V305.FB_HP AND "DI OUT P04".V410.FB_HP THEN "DI OUT P01".Support.FIT101_Volum_meter := 0.0; #SSM.S.stepd := TRUE; END_IF;
3: // V406,G420C,V402,M401,V101,G120C,M301,V301,V305,TT302 - Temperature preparation circular flow with Lye IF #SSM.S.DlyOff.Q THEN "DI OUT P03".V307.Setpoint := "HMI KEY".SetPoint.V307_Temperature_CIP_Circular_Flow; "DI OUT P04".G420C.DRV.Support.SetVelo := "HMI KEY".SetPoint.G420C_Filling_Circular_Flow_with_Water_RPM; ELSE // Assign actors pre-setting "DI OUT P04".V406.VLV_O.CmdExe_WP := "HMI KEY".P04.V406.F12_Enable_WP; "DI OUT P04".V402.VLV_O.CmdExe_WP := "HMI KEY".P04.V402.F12_Enable_WP AND NOT "HMI KEY".Message.TT302_Medium_Temperature_reached; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP; "DI OUT P03".V301.VLV_O.CmdExe_WP := "HMI KEY".P03.V301.F12_Enable_WP; "DI OUT P03".V305.VLV_O.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP; // Waiting for step conditions to be met #SSM.S.stepd := "HMI KEY".Message.TT302_Medium_Temperature_reached AND #SSM.S.stepllo AND "DI OUT P04".V406.FB_WP AND "DI OUT P04".V402.FB_HP AND "DI OUT P03".M301.DRV.LampWP AND "DI OUT P03".V301.FB_WP AND "DI OUT P03".V305.FB_WP; END_IF;
4: // V406,G420C,V409,V105,G120C,M301,V301,V305,TT302 - bypass circular flow 10sec IF #SSM.S.stepfc THEN #SSM.S.c1.set := 100; ELSE // Assign actors pre-setting "DI OUT P04".V406.VLV_O.CmdExe_WP := "HMI KEY".P04.V406.F12_Enable_WP; "DI OUT P04".V409.VLV_O.CmdExe_WP := "HMI KEY".P04.V409.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P01".V105.VLV_O.CmdExe_WP := "HMI KEY".P01.V105.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".V301.VLV_O.CmdExe_WP := "HMI KEY".P03.V301.F12_Enable_WP; "DI OUT P03".V305.VLV_O.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP; #SSM.S.c1.start := "HMI KEY".Message.TT302_Medium_Temperature_reached AND #SSM.S.stepllo AND "DI OUT P04".V406.FB_WP AND "DI OUT P04".G420C.DRV.Support.LampON AND "DI OUT P04".V409.FB_WP AND "DI OUT P01".V105.FB_WP AND "DI OUT P03".V301.FB_WP AND "DI OUT P03".V305.FB_WP; "HMI KEY".Message.Temperature_Actual_Hold_Time := #SSM.S.c1.act; END_IF; // Waiting for step conditions to be met IF #SSM.S.c1.done AND "DI OUT P04".V409.FB_HP AND "DI OUT P01".V105.FB_HP AND "DI OUT P04".G420C.DRV.Support.LampOFF THEN "DI OUT P04".G420C.DRV.Support.SetVelo := 0.0; IF "DI OUT P04".G420C.DRV.Support.LampOFF THEN #SSM.S.stepd := TRUE; END_IF; END_IF;
5: // V406,V412,M402,V403,M401,V101,G120C,M301,V301,V305,TT302 - Concentrate pipeline circular flow 10sec IF #SSM.S.stepfc THEN #SSM.S.c1.set := 100; ELSE // Assign actors pre-setting "DI OUT P04".V406.VLV_O.CmdExe_WP := "HMI KEY".P04.V406.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P04".V412.VLV_O.CmdExe_WP := "HMI KEY".P04.V412.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P04".M402.DRV.CmdExe_WP := "HMI KEY".P04.M402.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P04".V403.VLV_O.CmdExe_WP := "HMI KEY".P04.V403.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP; "DI OUT P03".V301.VLV_O.CmdExe_WP := "HMI KEY".P03.V301.F12_Enable_WP; "DI OUT P03".V305.VLV_O.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP; #SSM.S.c1.start := "HMI KEY".Message.TT302_Medium_Temperature_reached AND #SSM.S.stepllo AND "DI OUT P04".V406.FB_WP AND "DI OUT P04".V412.FB_WP AND "DI OUT P04".M402.DRV.LampWP AND "DI OUT P04".V403.FB_WP AND "DI OUT P03".M301.DRV.LampWP AND "DI OUT P03".V301.FB_WP AND "DI OUT P03".V305.FB_WP; "HMI KEY".Message.Temperature_Actual_Hold_Time := #SSM.S.c1.act; END_IF; // Waiting for step conditions to be met IF #SSM.S.c1.done AND "DI OUT P04".V406.FB_HP AND "DI OUT P04".V412.FB_HP AND "DI OUT P04".M402.DRV.LampHP AND "DI OUT P04".V403.FB_HP THEN #SSM.S.stepd := TRUE; END_IF;
6: // V107,M101,M401,V101,G120C,M301,V301,V305,V410,FIT101 - Discard circular flow IF "E01 FIT101 pulse" AND NOT #FIT101_Pulse_REg THEN IF "DI OUT P01".Support.FIT101_Volum_meter >= "HMI KEY".SetPoint.FIT101_CIP_Discard_Used_Medium THEN #FIT101_CIP_discard_used_medium_done := TRUE; ELSE "DI OUT P01".Support.FIT101_Volum_meter := "DI OUT P01".Support.FIT101_Volum_meter + 1.0; END_IF; END_IF; #FIT101_Pulse_REg := "E01 FIT101 pulse"; // Assign actors pre-setting "DI OUT P01".V107.VLV_O.CmdExe_WP := "HMI KEY".P01.V107.F12_Enable_WP; "DI OUT P01".M101.DRV.CmdExe_WP := "HMI KEY".P01.M101.F12_Enable_WP; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP; "DI OUT P03".V301.VLV_O.CmdExe_WP := "HMI KEY".P03.V301.F12_Enable_WP AND NOT #FIT101_CIP_discard_used_medium_done; "DI OUT P03".V305.VLV_O.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP AND NOT #FIT101_CIP_discard_used_medium_done; "DI OUT P04".V410.VLV_O.CmdExe_WP := "HMI KEY".P04.V410.F12_Enable_WP AND NOT #FIT101_CIP_discard_used_medium_done; // Waiting for step conditions to be met IF #FIT101_CIP_discard_used_medium_done AND #SSM.S.stepllo AND "DI OUT P01".V107.FB_WP AND "DI OUT P01".M101.DRV.LampWP AND "DI OUT P03".M301.DRV.LampWP AND "DI OUT P03".V301.FB_HP AND "DI OUT P03".V305.FB_HP AND "DI OUT P04".V410.FB_HP THEN "DI OUT P01".Support.FIT101_Volum_meter := 0.0; #FIT101_CIP_discard_used_medium_done := FALSE; #SSM.S.stepd := TRUE; END_IF;
7: // V107,M101,M401,V101,G120C,M301,V303,V201,FIT101 - CIP with Lye SBT2 IF "E01 FIT101 pulse" AND NOT #FIT101_Pulse_REg THEN IF "DI OUT P01".Support.FIT101_Volum_meter >= "HMI KEY".SetPoint.FIT101_CIP_Lye_SBT2 THEN #FIT101_CIP_lye_STB2_done := TRUE; ELSE "DI OUT P01".Support.FIT101_Volum_meter := "DI OUT P01".Support.FIT101_Volum_meter + 1.0; END_IF; END_IF; #FIT101_Pulse_REg := "E01 FIT101 pulse"; // Assign actors pre-setting "DI OUT P01".V107.VLV_O.CmdExe_WP := "HMI KEY".P01.V107.F12_Enable_WP AND NOT #FIT101_CIP_lye_STB2_done; "DI OUT P01".M101.DRV.CmdExe_WP := "HMI KEY".P01.M101.F12_Enable_WP AND NOT #FIT101_CIP_lye_STB2_done; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP; "DI OUT P03".V303.VLV_O.CmdExe_WP := "HMI KEY".P03.V303.F12_Enable_WP; "DI OUT P02".V201.VLV_O.CmdExe_WP := "HMI KEY".P02.V201.F12_Enable_WP; // Waiting for step conditions to be met IF #FIT101_CIP_lye_STB2_done AND #SSM.S.stepllo AND "DI OUT P01".V107.FB_HP AND "DI OUT P01".M101.DRV.LampHP THEN "DI OUT P01".Support.FIT101_Volum_meter := 0.0; #FIT101_CIP_lye_STB2_done := FALSE; #SSM.S.stepd := TRUE; END_IF;
8: // V406,G420C,V402,M401,V101,G120C,M301,V303,V201,V204,G220C,V205,V404,TT302 - SBT2 circular flow 30sec IF #SSM.S.stepfc THEN #SSM.S.c1.set := 300; "DI OUT P04".G420C.DRV.Support.SetVelo := "HMI KEY".SetPoint.G420C_Water_Circulation_Flow_RPM; "DI OUT P02".G220C.DRV.Support.SetVelo := "HMI KEY".SetPoint.G220C_CIP_Circulation_Flow_RPM; ELSE // Assign actors pre-setting "DI OUT P04".V406.VLV_O.CmdExe_WP := "HMI KEY".P04.V406.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P04".V402.VLV_O.CmdExe_WP := "HMI KEY".P04.V402.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP; "DI OUT P03".V303.VLV_O.CmdExe_WP := "HMI KEY".P03.V303.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P02".V201.VLV_O.CmdExe_WP := "HMI KEY".P02.V201.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P02".V204.VLV_O.CmdExe_WP := "HMI KEY".P02.V204.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P02".G220C.DRV.Support.Cmd_MovJogWP := "HMI KEY".P02.G220C.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P02".V205.VLV_O.CmdExe_WP := "HMI KEY".P02.V205.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P04".V404.VLV_O.CmdExe_WP := "HMI KEY".P04.V404.F12_Enable_WP AND NOT #SSM.S.c1.done; #SSM.S.c1.start := "HMI KEY".Message.TT302_Medium_Temperature_reached AND #SSM.S.stepllo AND "DI OUT P04".V406.FB_WP AND "DI OUT P04".G420C.DRV.Support.LampON AND "DI OUT P04".V402.FB_WP AND "DI OUT P03".M301.DRV.LampWP AND "DI OUT P03".V303.FB_WP AND "DI OUT P02".V201.FB_WP AND "DI OUT P02".V204.FB_WP AND "DI OUT P02".G220C.DRV.Support.LampON AND "DI OUT P02".V205.FB_WP AND "DI OUT P04".V404.FB_WP; "HMI KEY".Message.Temperature_Actual_Hold_Time := #SSM.S.c1.act; END_IF; // Waiting for step conditions to be met IF #SSM.S.c1.done AND "DI OUT P04".V406.FB_HP AND "DI OUT P04".V402.FB_HP AND "DI OUT P03".V303.FB_HP AND "DI OUT P02".V201.FB_HP AND "DI OUT P02".V204.FB_HP AND "DI OUT P02".G220C.DRV.Support.LampOFF AND "DI OUT P02".V205.FB_HP AND "DI OUT P04".V404.FB_HP AND "DI OUT P04".G420C.DRV.Support.LampOFF THEN "DI OUT P04".G420C.DRV.Support.SetVelo := 0.0; #SSM.S.stepd := TRUE; END_IF;
9: // V107,M101,M401,V101,G120C,M301,V401,TT302 - CIP filler 10sec IF #SSM.S.stepfc THEN #SSM.S.c1.set := 100; ELSE // Assign actors pre-setting "DI OUT P01".V107.VLV_O.CmdExe_WP := "HMI KEY".P01.V107.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P01".M101.DRV.CmdExe_WP := "HMI KEY".P01.M101.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP; "DI OUT P04".V401.VLV_O.CmdExe_WP := "HMI KEY".P04.V401.F12_Enable_WP AND NOT #SSM.S.c1.done; #SSM.S.c1.start := "HMI KEY".Message.TT302_Medium_Temperature_reached AND #SSM.S.stepllo AND "DI OUT P01".V107.FB_WP AND "DI OUT P01".M101.DRV.LampWP AND "DI OUT P03".M301.DRV.LampWP AND "DI OUT P04".V401.FB_WP; "HMI KEY".Message.Temperature_Actual_Hold_Time := #SSM.S.c1.act; END_IF; // Waiting for step conditions to be met IF #SSM.S.c1.done AND "DI OUT P01".V107.FB_HP AND "DI OUT P01".M101.DRV.LampHP AND "DI OUT P04".V401.FB_HP THEN #SSM.S.stepd := TRUE; END_IF;
10: // V406,G420C,V402,M401,V101,G120C,M301,V301,V305,TT302 - Resume circular flow 10sec IF #SSM.S.stepfc THEN #SSM.S.c1.set := 100; "DI OUT P04".G420C.DRV.Support.SetVelo := "HMI KEY".SetPoint.G420C_Water_Circulation_Flow_RPM; ELSE // Assign actors pre-setting "DI OUT P04".V406.VLV_O.CmdExe_WP := "HMI KEY".P04.V406.F12_Enable_WP; "DI OUT P04".V402.VLV_O.CmdExe_WP := "HMI KEY".P04.V402.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP; "DI OUT P03".V301.VLV_O.CmdExe_WP := "HMI KEY".P03.V301.F12_Enable_WP; "DI OUT P03".V305.VLV_O.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP; #SSM.S.c1.start := "HMI KEY".Message.TT302_Medium_Temperature_reached AND #SSM.S.stepllo AND "DI OUT P04".V406.FB_WP AND "DI OUT P04".G420C.DRV.Support.LampON AND "DI OUT P04".V402.FB_WP AND "DI OUT P03".M301.DRV.LampWP AND "DI OUT P03".V301.FB_WP AND "DI OUT P03".V305.FB_WP; "HMI KEY".Message.Temperature_Actual_Hold_Time := #SSM.S.c1.act; END_IF; // Waiting for step conditions to be met IF #SSM.S.c1.done AND "DI OUT P04".M402.DRV.LampHP THEN #SSM.S.stepd := TRUE; END_IF;
11: // V107,M101,M401. V406,G420C,V409,V105,M401,G120C,M301,V301,V305,TT302 - Emptying SBT1 + Resume bypass circular flow 10sec IF #SSM.S.stepfc THEN #SSM.S.c1.set := 100; ELSE // Assign actors pre-setting "DI OUT P01".V107.VLV_O.CmdExe_WP := "HMI KEY".P01.V107.F12_Enable_WP AND "E01 LS102 low"; "DI OUT P01".M101.DRV.CmdExe_WP := "HMI KEY".P01.M101.F12_Enable_WP AND "E01 LS102 low"; "DI OUT P04".V406.VLV_O.CmdExe_WP := "HMI KEY".P04.V406.F12_Enable_WP; "DI OUT P04".V409.VLV_O.CmdExe_WP := "HMI KEY".P04.V409.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P01".V105.VLV_O.CmdExe_WP := "HMI KEY".P01.V105.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP; "DI OUT P03".V301.VLV_O.CmdExe_WP := "HMI KEY".P03.V301.F12_Enable_WP; "DI OUT P03".V305.VLV_O.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP; #SSM.S.c1.start := "HMI KEY".Message.TT302_Medium_Temperature_reached AND #SSM.S.stepllo AND "DI OUT P01".V107.FB_HP AND "DI OUT P01".M101.DRV.LampHP AND "DI OUT P04".V406.FB_WP AND "DI OUT P04".G420C.DRV.Support.LampON AND "DI OUT P04".V409.FB_WP AND "DI OUT P01".V105.FB_WP AND "DI OUT P03".M301.DRV.LampWP AND "DI OUT P03".V301.FB_WP AND "DI OUT P03".V305.FB_WP; "HMI KEY".Message.Temperature_Actual_Hold_Time := #SSM.S.c1.act; END_IF; // Waiting for step conditions to be met IF #SSM.S.c1.done AND "DI OUT P01".V107.FB_HP AND "DI OUT P01".M101.DRV.LampHP AND "DI OUT P04".V409.FB_HP AND "DI OUT P01".V105.FB_HP THEN #SSM.S.stepd := TRUE; END_IF;
12: // V406,G420C,V402,M401,V101,G120C,M301,V301,V305,TT302 - Resume heating circular flow 10sec IF #SSM.S.stepfc THEN #SSM.S.c1.set := 100; ELSE // Assign actors pre-setting "DI OUT P04".V406.VLV_O.CmdExe_WP := "HMI KEY".P04.V406.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P04".V402.VLV_O.CmdExe_WP := "HMI KEY".P04.V402.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".V301.VLV_O.CmdExe_WP := "HMI KEY".P03.V301.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".V305.VLV_O.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP AND NOT #SSM.S.c1.done; #SSM.S.c1.start := "HMI KEY".Message.TT302_Medium_Temperature_reached AND #SSM.S.stepllo AND "DI OUT P04".V406.FB_WP AND "DI OUT P04".V402.FB_WP AND "DI OUT P04".G420C.DRV.Support.LampON AND "DI OUT P03".M301.DRV.LampWP AND "DI OUT P03".V301.FB_WP AND "DI OUT P03".V305.FB_WP; "HMI KEY".Message.Temperature_Actual_Hold_Time := #SSM.S.c1.act; END_IF; // Waiting for step conditions to be met IF #SSM.S.c1.done AND "DI OUT P04".V406.FB_HP AND "DI OUT P04".M402.DRV.LampHP AND "DI OUT P04".V402.FB_HP AND "DI OUT P03".M301.DRV.LampHP AND "DI OUT P03".V301.FB_HP AND "DI OUT P03".V305.FB_HP AND "DI OUT P04".G420C.DRV.Support.LampOFF THEN "DI OUT P04".G420C.DRV.Support.SetVelo := 0.0; #SSM.S.stepd := TRUE; END_IF;
13: // V107,M101,M401,V101,G120C,V102,V104 - CIP SBT1 300sec IF #SSM.S.stepfc THEN #SSM.S.c1.set := 300; ELSE // Assign actors pre-setting "DI OUT P01".V107.VLV_O.CmdExe_WP := "HMI KEY".P01.V107.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P01".M101.DRV.CmdExe_WP := "HMI KEY".P01.M101.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P01".V102.VLV_O.CmdExe_WP := "HMI KEY".P01.V102.F12_Enable_WP; "DI OUT P01".V104.VLV_O.CmdExe_WP := "HMI KEY".P01.V104.F12_Enable_WP AND NOT #SSM.S.c1.done; #SSM.S.c1.start := #SSM.S.stepllo AND "DI OUT P01".V107.FB_WP AND "DI OUT P01".M101.DRV.LampWP AND "DI OUT P01".V102.FB_WP AND "DI OUT P01".V104.FB_WP; "HMI KEY".Message.Temperature_Actual_Hold_Time := #SSM.S.c1.act; END_IF; // Waiting for step conditions to be met IF #SSM.S.c1.done AND "DI OUT P01".V107.FB_HP AND "DI OUT P01".M101.DRV.LampHP AND "DI OUT P01".V104.FB_HP THEN #SSM.S.stepd := TRUE; END_IF;
14: // M401,V101,G120C,V102,V104,V108,LS102+LS404 - Emptying SBT1 + PST (Primary Settling Tank) "DI OUT P01".V102.VLV_O.CmdExe_WP := "HMI KEY".P01.V102.F12_Enable_WP AND "E01 LS102 low"; "DI OUT P01".V104.VLV_O.CmdExe_WP := "HMI KEY".P01.V104.F12_Enable_WP AND "E01 LS102 low"; "DI OUT P01".V108.VLV_O.CmdExe_WP := "HMI KEY".P01.V108.F12_Enable_WP AND "E01 LS102 low"; // Waiting for step conditions to be met IF NOT ("E01 LS102 low" OR "E04 LS404 low") AND "DI OUT P01".V102.FB_HP AND "DI OUT P01".V104.FB_HP AND "DI OUT P01".V108.FB_HP THEN #SSM.S.stepd := TRUE; "DI OUT P01".G120C.DRV.Support.SetVelo := 0.0; END_IF;
15: // V202,V204,G220C,V205,V404,V305,V410,V408,LS202,L301,LS404 - Emptying SBT2 + RFTET (return flow temperature expansion tank) "DI OUT P02".V202.VLV_O.CmdExe_WP := "HMI KEY".P02.V202.F12_Enable_WP AND "E02 LS202 low"; "DI OUT P02".V204.VLV_O.CmdExe_WP := "HMI KEY".P02.V204.F12_Enable_WP AND "E02 LS202 low"; "DI OUT P02".G220C.DRV.Support.Cmd_MovJogWP := "HMI KEY".P02.G220C.F12_Enable_WP; "DI OUT P02".G220C.DRV.Support.SetVelo := 120.0; // rpm "DI OUT P02".V205.VLV_O.CmdExe_WP := "HMI KEY".P02.V205.F12_Enable_WP AND "E02 LS202 low"; "DI OUT P04".V404.VLV_O.CmdExe_WP := "HMI KEY".P04.V404.F12_Enable_WP AND "E02 LS202 low"; "DI OUT P03".V305.VLV_O.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP AND "E03 LS301 low"; "DI OUT P04".V408.VLV_O.CmdExe_WP := "HMI KEY".P04.V408.F12_Enable_WP; "DI OUT P04".V410.VLV_O.CmdExe_WP := "HMI KEY".P04.V410.F12_Enable_WP AND ("E03 LS301 low" OR "E02 LS202 low"); // Waiting for step conditions to be met IF NOT #SSM.S.DlyOff.Q AND "DI OUT P02".V202.FB_HP AND "DI OUT P02".V204.FB_HP AND "DI OUT P02".G220C.DRV.Support.LampOFF AND "DI OUT P02".V205.FB_HP AND "DI OUT P04".V404.FB_HP AND "DI OUT P03".V305.FB_HP AND "DI OUT P04".V410.FB_HP AND "DI OUT P04".V408.FB_WP THEN "DI OUT P02".G220C.DRV.Support.SetVelo := 0.0; // rpm "HMI KEY".Message.CIP_with_Lye_Complete := TRUE; "DI MAIN GLB".SEQ200.Support.SEQ240_Start := FALSE; END_IF; END_CASE; |
|