|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FB SEQ223 GLB : End of production |
|
|
|
Network 1: Define SSM last step #SSM(LAST_STEP := 2); |
|
|
|
Network 2: Actors fixed-setting with halt #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 NOT #Water_Access_Done AND #SSM.S.stepllo; "DI OUT P03".V316.VLV_O.CmdExe_WP := "HMI KEY".P03.V316.F12_Enable_WP AND #Water_Access_Done AND NOT #SSM.S.step0; "DI OUT P03".V319.VLV_O.CmdExe_WP := "HMI KEY".P03.V319.F12_Enable_WP AND NOT (#Water_Access_Done OR #SSM.S.step0); "DI OUT P02".V201.VLV_O.CmdExe_WP := "HMI KEY".P02.V201.F12_Enable_WP AND NOT #SSM.S.step0; "DI OUT P02".V203.VLV_O.CmdExe_WP := "HMI KEY".P02.V203.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".M201.DRV.CmdExe_WP := "HMI KEY".P02.M201.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 P03".G320C.DRV.Support.Cmd_MovJogWP := "HMI KEY".P03.G320C.F12_Enable_WP AND #SSM.S.stepllo; // Gas valve selection "DI OUT P03".V301.VLV_O.CmdExe_WP := "HMI KEY".Execute.Pressure_Maintenance_with_Air AND "HMI KEY".P03.V301.F12_Enable_WP AND NOT #SSM.S.step0; "DI OUT P03".V302.VLV_O.CmdExe_WP := "HMI KEY".Execute.Pressure_Maintenance_with_CO2 AND "HMI KEY".P03.V302.F12_Enable_WP AND NOT #SSM.S.step0; |
|
|
|
Network 3: Show message on HMI "DI MAIN GLB".SEQ200.Support.Water_access_Production_End := NOT #SSM.S.step0; "DI MAIN GLB".SEQ200.Support.SBT_to_Filler_Product_running := "DI OUT P03".V316.VLV_O.CmdExe_WP OR "DI OUT P03".V319.VLV_O.CmdExe_WP; |
|
|
|
Network 4: FIT102 Query medium volume meter IF "E01 FIT102 Pulse" AND NOT #FIT102_Pulse_REg THEN "DI OUT P01".Support.FIT102_Volum_meter := "DI OUT P01".Support.FIT102_Volum_meter + 1.0; IF "DI OUT P01".Support.FIT102_Volum_meter >= "HMI KEY".SetPoint.G120C_Product_inlet THEN #Water_Access_Done := TRUE; END_IF; END_IF; #FIT102_Pulse_REg := "E01 FIT102 Pulse"; |
|
|
|
Network 5: Calculate Pasteurization units, and temperature #SSM.S.stepllo := "DI OUT P02".V204.State = 3 AND "DI OUT P02".V205.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 P02".V203.FB_WP AND "DI OUT P03".V312.Output > 72.7 AND "DI OUT P02".V205.Output > 0.0 AND "HMI KEY".P02.V204.F12_Enable_WP;
"FC CALC PE UNITS"(PU_EXE := #SSM.S.stepllo AND NOT #SSM.S.step0, PIPE_DN := 80.0, PIPE_LENGTH := 51.0, HL_H := "DI OUT P01".FIT102.Support.Out_Scale, TEMP_ACT_VAL := "DI OUT P02".TT206.Support.Out_Scale, PU_SET_VAL := "HMI KEY".SetPoint.Pasteurization_Unit_PU, SET_POINT_TEMP => "HMI KEY".SetPoint.V204_Steam_Regulating, PU_ACT_VAL => #tmp_pu_act_val, TEMP_HOLD_TIME_SEC => #tmp_temp_hold_time); "DI OUT P02".V204.Setpoint := "HMI KEY".SetPoint.V204_Steam_Regulating * "HMI KEY".SetPoint.V204_Steam_Regulating_Factor; |
|
|
|
Network 6: CASE function corresponds to SEQ223 CASE #SSM.S.stepact OF 0: // Waiting for sequencer to start #SSM.S.stepd := #SSM.S.steps; #Water_Access_Done := FALSE;
1: // Query fixe-setting valves WP IF #SSM.S.DlyOff.Q THEN #SEQ315.G120C_Product_Inlet_RPM := "DI OUT P01".G120C.DRV.Support.SetVelo; "DI OUT P02".G220C.DRV.MC_MoveVelocity.Velocity := "HMI KEY".SetPoint.G220C_Heating_cycle; "DI OUT P03".G320C.DRV.Support.SetVelo := "HMI KEY".SetPoint.G320C_Product_Outlet; "DI OUT P02".V205.Setpoint := 0.0;//"HMI KEY".SetPoint.V205_Glycol_Regulating; "DI OUT P03".V312.ManualValue := "HMI KEY".SetPoint.V312_Product_inlet; "DI OUT P02".V205.Mode := "DI OUT P02".V204.Mode := 3; "DI OUT P03".V312.Mode := 4; "DI OUT P03".V312.ManualEnable := FALSE; "DI OUT P02".V204.ModeActivate := "DI OUT P02".V205.ModeActivate := "DI OUT P03".V312.ModeActivate := TRUE; RETURN; ELSE "DI OUT P02".V204.ModeActivate := "DI OUT P02".V205.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;
// G120C product inlet set value RPM 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;
// Pressure maintenance in SBT "HMI KEY".Execute.Pressure_Maintenance_in_STH_Start := TRUE; #SEQ506.SSM.S.steph := "DI MAIN GLB".SEQ200.SEQ223.SSM.S.steph OR NOT ("HMI KEY".Execute.Pressure_Maintenance_with_Air XOR "HMI KEY".Execute.Pressure_Maintenance_with_CO2); #SEQ506.SSM.S.steps := "DI MAIN GLB".SEQ200.Support.SEQ223_Start AND NOT "DI MAIN GLB".TOF_CmpltMaOFF_Pulse.Q; #SEQ506();
// Production end IF NOT "E03 LS307 min" AND "DI OUT P01".V110.FB_HP AND ("DI OUT P03".Support.SBT_Volum_Meter <= 0.0 OR "HMI KEY".Execute.Production_End) THEN "DI OUT P01".Support.FIT102_Volum_meter := 0.0; "DI MAIN GLB".SEQ200.Support.Prodction_Selected := "DI MAIN GLB".SEQ200.Support.SEQ223_Start := FALSE; END_IF; END_CASE; |
|