|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FB SEQ242 GLB : CIP with Water |
|
|
|
Network 1: Define SSM last step #SSM(LAST_STEP := 1); |
|
|
|
Network 2: Valves fixed-setting with hold, and without hold #SSM.S.stepllo := NOT (#SSM.S.step0 OR #SSM.S.steph); "DI OUT P01".V110.VLV_O.CmdExe_WP := "HMI KEY".P01.V110.F12_Enable_WP AND #SSM.S.stepllo; "DI OUT P02".V202.VLV_O.CmdExe_WP := "HMI KEY".P02.V202.F12_Enable_WP AND "DI OUT P02".V204.Output < 50.0 AND NOT #SSM.S.step0; "DI OUT P01".V107.VLV_O.CmdExe_WP := "HMI KEY".P01.V107.F12_Enable_WP AND "DI OUT P02".V202.VLV_O.CmdExe_WP AND "M00 Clock_0.5Hz"; "DI OUT P02".V201.VLV_O.CmdExe_WP := "HMI KEY".P02.V201.F12_Enable_WP AND NOT #SSM.S.step0; "DI OUT P01".G120C.DRV.Support.Cmd_MovJogWP := "HMI KEY".P01.G120C.F12_Enable_WP AND #SSM.S.stepllo; "DI OUT P02".G220C.DRV.Support.Cmd_MovAbso := "HMI KEY".P02.G220C.F12_Enable_WP AND #SSM.S.stepllo; "DI OUT P02".M201.DRV.CmdExe_WP := "HMI KEY".P02.M201.F12_Enable_WP AND #SSM.S.stepllo; // Activate CO2 gas valve "DI OUT P03".V302.VLV_O.CmdExe_WP := "HMI KEY".P03.V302.F12_Enable_WP AND "HMI KEY".Execute.Pressure_Maintenance_with_CO2 AND NOT #SSM.S.step0; |
|
|
|
Network 3: CASE function corresponds to SEQ242 CASE #SSM.S.stepact OF 0: // Waiting for sequencer to start #SSM.S.stepd := #SSM.S.steps;
1: // Query fixe-setting valves WP IF #SSM.S.DlyOff.Q THEN IF "DI OUT P01".G120C.DRV.Support.SetVelo < "HMI KEY".SetPoint.G120C_Product_inlet_min THEN #SEQ315.G120C_Product_Inlet_RPM := "HMI KEY".SetPoint.G120C_Product_inlet_min; END_IF; "HMI KEY".SetPoint.PT302_PressureMaintainace := 80.0; "DI OUT P01".G120C.DRV.Support.SetVelo := #SEQ315.G120C_Product_Inlet_RPM; "DI OUT P02".G220C.DRV.MC_MoveVelocity.Velocity := "HMI KEY".SetPoint.G220C_Heating_cycle; "DI OUT P02".V204.Setpoint := "HMI KEY".SetPoint.Temperature_CIP_Lye * "HMI KEY".SetPoint.V204_Steam_Regulating_Factor; "DI OUT P03".V312.ManualValue := "HMI KEY".SetPoint.V312_Product_inlet; "DI OUT P02".V204.Mode := 3; "DI OUT P03".V312.Mode := 4; "HMI KEY".Execute.Pressure_Maintenance_with_Air := "DI OUT P03".V312.ManualEnable := FALSE; "DI OUT P02".V205.Reset := "HMI KEY".Execute.Pressure_Maintenance_with_CO2 := "DI OUT P02".V204.ModeActivate := "DI OUT P03".V312.ModeActivate := TRUE; RETURN; ELSE "DI OUT P02".V205.Reset := "DI OUT P02".V204.ModeActivate := "DI OUT P03".V312.ModeActivate := FALSE; END_IF;
// V312 force manual value product inlet regulating valve "DI OUT P03".V312.ManualEnable := "HMI KEY".P03.V312.F12_Enable_WP;
// Pressure maintenance in SBT with CO2 "HMI KEY".Execute.Pressure_Maintenance_in_STH_Start := TRUE; #SEQ506.SSM.S.steph := "DI MAIN GLB".SEQ200.SEQ242.SSM.S.steph OR NOT "DI OUT P03".V302.FB_WP; #SEQ506.SSM.S.steps := "DI MAIN GLB".SEQ200.Support.SEQ242_Start AND NOT "DI MAIN GLB".TOF_CmpltMaOFF_Pulse.Q; #SEQ506();
// G120C product inlet set value IF #SEQ315.G120C_Product_Inlet_RPM * 1.5 < "HMI KEY".SetPoint.G120C_Product_inlet_max THEN "DI OUT P01".G120C.DRV.Support.SetVelo := #SEQ315.G120C_Product_Inlet_RPM; END_IF;
// G120C calculation flow capacity #SEQ315.SSM.S.steph := "DI MAIN GLB".SEQ200.SEQ242.SSM.S.steph OR NOT "DI OUT P01".G120C.DRV.Support.Cmd_MovJogWP; #SEQ315.SSM.S.steps := "DI MAIN GLB".SEQ200.Support.SEQ242_Start AND NOT ("DI MAIN GLB".TOF_CmpltMaOFF_Pulse.Q OR "DI OUT P02".V202.VLV_O.CmdExe_WP); #SEQ315();
// Query control set values ok #SSM.S.stepllo := "DI OUT P02".V204.State = 3 AND "DI OUT P03".V312.State = 4 AND "DI OUT P01".G120C.NexDrv_DlyOn AND "DI OUT P02".G220C.NexDrv_DlyOn AND "DI OUT P02".M201.NexDrv_DlyOn AND "DI OUT P02".V201.FB_WP AND "DI OUT P03".V312.Output > 0.0 AND "HMI KEY".P02.V204.F12_Enable_WP;
// Delay start valve clocking in 203 with SBT #SSM.S.c1.start := "DI MAIN GLB".SEQ200.Support.Pressure_Maintenance_reached AND "DI OUT P02".V204.Output > "HMI KEY".SetPoint.Temperature_CIP_Lye AND "DI OUT P02".V202.FB_HP AND #SSM.S.stepllo;
// Execute CIP clocking valves in 203 with SBT #SEQ512.SSM.S.steph := "DI MAIN GLB".SEQ200.SEQ242.SSM.S.steph OR NOT "DI OUT P01".G120C.DRV.Support.Cmd_MovJogWP; #SEQ512.SSM.S.steps := "DI MAIN GLB".SEQ200.Support.SEQ242_Start AND NOT "DI MAIN GLB".TOF_CmpltMaOFF_Pulse.Q AND #SSM.S.c1.done; #SEQ512(); // Clocking valves in 242 with SBT
IF #SEQ512.Done THEN "DI OUT P01".Support.FIT102_Volum_meter := 0.0; "DI MAIN GLB".SEQ200.Support.CIP_with_Water_running_Complete := TRUE; "HMI KEY".Execute.Pressure_Maintenance_with_CO2 := "DI MAIN GLB".SEQ200.Support.SEQ242_Start := FALSE; END_IF; END_CASE; |
|