|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SEQ223 GLB : Filling circular flow with product |
|
|
|
Network 1: Define SSM last step #SSM(LAST_STEP := 1); |
|
|
|
Network 2: FIT101 Metering product access before circular flow IF "E01 FIT101 pulse" AND NOT #FIT101_Pulse_REg THEN IF "DI OUT P01".Support.FIT101_Volum_meter >= "HMI KEY".SetPoint.FIT101_Filling_Circular_Flow_with_Product THEN #Filling_circular_flow_with_product_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 #Filling_circular_flow_with_product_done; |
|
|
|
Network 3: Assign actors required state with or without hold #SSM.S.stepllo := NOT (#SSM.S.step0 OR #SSM.S.steph); #tmp_llo_lic402_min := "HMI KEY".SYS.GLB.SliderControl > "HMI KEY".SetPoint.LIC402_Level_PST_min AND #SSM.S.stepllo; "DI OUT P01".G120C.DRV.Support.Cmd_MovJogWP := "HMI KEY".P01.G120C.F12_Enable_WP AND "DI OUT P01".M101.DRV.DelyOn; "DI OUT P01".M101.DRV.CmdExe_WP := "HMI KEY".P01.M101.F12_Enable_WP AND #SSM.S.stepllo; "DI OUT P03".M301.DRV.CmdExe_WP := "HMI KEY".P03.M301.F12_Enable_WP AND "DI OUT P01".G120C.DRV.Support.LampON; "DI OUT P03".G320C.DRV.Support.Cmd_MovAbso := "HMI KEY".P03.G320C.F12_Enable_WP; "DI OUT P04".M401.DRV.CmdExe_WP := "HMI KEY".P04.M401.F12_Enable_WP AND #tmp_llo_lic402_min AND #SSM.S.stepllo; "DI OUT P01".V101.VLV_O.CmdExe_WP := "HMI KEY".P01.V101.F12_Enable_WP; "DI OUT P01".V107.VLV_O.CmdExe_WP := "HMI KEY".P01.V107.F12_Enable_WP AND NOT #SSM.S.step0; "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; "DI OUT P03".V306.VLV_O.CmdExe_WP := "HMI KEY".P03.V306.F12_Enable_WP AND NOT #SSM.S.step0; "DI OUT P04".V410.VLV_O.CmdExe_WP := "HMI KEY".P04.V410.F12_Enable_WP AND NOT #SSM.S.step0; |
|
|
|
Network 4: CASE-Function correspond to actual SSM CASE #SSM.S.stepact OF 0: // Waiting for sequencer to start #SSM.S.stepd := #SSM.S.steps;
1: // Assign set point fixed setting and waiting for start temperature IF #SSM.S.DlyOff.Q THEN "DI OUT P01".G120C.DRV.Support.SetVelo := "HMI KEY".SetPoint.G120C_Filling_Circular_Flow_with_Product_RPM; "DI OUT P03".G320C.DRV.MC_MoveVelocity.Velocity := "HMI KEY".SetPoint.G320C_Heating_Circular_Flow_RPM; // Assign actor pre-setting "DI OUT P03".V307.Setpoint := "HMI KEY".SetPoint.V307_Temperature_Preparation_Water_Flow; "DI OUT P03".V307.Mode := 3; "DI OUT P03".V307.ModeActivate := "HMI KEY".P03.V307.F12_Enable_WP; RETURN; ELSE "DI OUT P03".V307.ModeActivate := FALSE; // Pressure maintenance in SBT1 and SBT2 "HMI KEY".Execute.PT101_Pressure_Maintenace_SBT1 := "HMI KEY".Execute.PT201_Pressure_Maintenace_SBT2 := TRUE; END_IF; // Waiting for step conditions to be met IF #Filling_circular_flow_with_product_done AND "HMI KEY".Message.PT101_Pressure_Maintenance_reached AND "HMI KEY".Message.PT201_Pressure_Maintenance_reached THEN "HMI KEY".Message.Filling_Circular_Flow_With_Product_Complete := TRUE; "DI OUT P01".Support.FIT101_Volum_meter := 0.0; #Filling_circular_flow_with_product_done := "DI MAIN GLB".SEQ200.Support.SEQ223_Start := FALSE; END_IF; END_CASE; |
|