|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FB32 SEQ1 P01 : Progressive Stamping |
|
|
|
Network 1: Pre-Setting "DI MAIN P01".M00.RdyToStart := "DI MAIN P01".M00.HomPos_IS AND "DI MAIN GLB".M00.AutoEntirePlant_run; |
|
|
|
Network 2: Define last step #SSM(LAST_STEP := 5); |
|
|
|
Network 3: Step Switching Mechanism (SSM) CASE #SSM.S.stepact OF 0: // Waiting for SEQ to start "DI MAIN P01".to_P02.EnableToGo := "DI MAIN P01".to_P02.Request := "DI MAIN P02".M00.SEQ1_Busy := FALSE; IF #SSM.S.steps THEN IF "HMI KEY".Message.Parts_Production_Done OR "DI MAIN P01".to_P02.Done THEN "DI MAIN GLB".M00.AutoEntirePlant_run := FALSE; ELSE #SSM.S.stepd := "DI MAIN P01".to_P02.Request := "DI MAIN P01".M00.RdyToStart; END_IF; END_IF;
1: // S120M Master Sheet Metal MoveJogWP STARTS Infeed IF #SSM.S.stepfc THEN #RunTimeCounter := 0; "DI MAIN P02".M00.SEQ1_Busy := TRUE; "DI OUT P01".S120M.DRV.Support.SetVelo := "HMI KEY".Values.SCADA.CAM_DISC_Velocity_Slow; "HMI KEY".Values.OEM.Web.Rest_Length := "HMI KEY".Values.OEM.Web.Rest_Length - "HMI KEY".Values.OEM.Progressive_Stamping.Infeed_Imposing_Roller_Perimeter / 1000.0; ELSE "DI OUT P01".S120M.DRV.Support.Cmd_MoveJogWP := "HMI KEY".P01.S120M.F12_Enable_WP AND "DI MAIN P02".to_P01.Request AND #SSM.S.stepa; #SSM.S.stepd := "DI OUT P01".S120M.DRV.Support.LampON AND NOT "DI OUT P01".S120M.DRV.Support.InPos; END_IF;
2: // CAM_DISC Progressing Stamping moves synchronically "DI OUT P01".S120M.DRV.Support.Cmd_MoveJogWP := "HMI KEY".P01.S120M.F12_Enable_WP AND #SSM.S.stepa; #tmp_llo := "HMI KEY".P01.CAM_DISC_S1.F10_Execute AND "DI OUT P01".S120M.DRV.Support.InPos AND "DI OUT P01".S120M.DRV.Support.LampON; "DI OUT P01".CAM_DISC_S1.CAM.MC_MeasuringInput.Execute := "DI OUT P01".CAM_DISC_S1.CAM.Support.ReadyTo_ReStart AND "HMI KEY".P01.CAM_DISC_S1.F11_Enable_HP AND #tmp_llo; #tmp_llo := "HMI KEY".P01.CAM_DISC_S2.F10_Execute AND "DI OUT P01".S120M.DRV.Support.InPos AND "DI OUT P01".S120M.DRV.Support.LampON; "DI OUT P01".CAM_DISC_S2.CAM.MC_MeasuringInput.Execute := "DI OUT P01".CAM_DISC_S2.CAM.Support.ReadyTo_ReStart AND "HMI KEY".P01.CAM_DISC_S2.F11_Enable_HP AND #tmp_llo;
#SSM.S.stepd := "DI OUT P01".CAM_DISC_S2.CAM.MC_CamIn.InSync AND "DI OUT P01".CAM_DISC_S1.CAM.MC_CamIn.InSync AND "DI OUT P01".S120S1.DRV.Support.LampON AND "DI OUT P01".S120S2.DRV.Support.LampON AND NOT ("E00 S120S1 Ref.punkt" OR "E00 S120S2 Ref.punkt"); "HMI KEY".P01.CAM_DISC_S1.F10_Execute := "HMI KEY".P01.CAM_DISC_S2.F10_Execute := NOT #SSM.S.stepd;
3: // S120M Master Sheet Metal MoveJogWP STOPS Infeed IF "E00 S120S1 Ref.punkt" AND "E00 S120S2 Ref.punkt" AND "DI OUT P01".S120M.DRV.Support.InPos THEN "DI MAIN P02".to_P01.EnableToGo := "DI OUT P01".S120M.DRV.Support.Cmd_MoveJogWP := FALSE; "DI MAIN P01".to_P02.EnableToGo := #SSM.S.stepd := "DI OUT P01".S120S1.DRV.Support.LampOFF AND "DI OUT P01".S120S2.DRV.Support.LampOFF AND "DI OUT P01".S120M.DRV.Support.LampOFF; END_IF;
4: // V100 Sheet Metal Cutter CmdExe_WP "DI OUT P01".V100.VLV_O.CmdExe_WP := "HMI KEY".P01.V100.F12_Enable_WP AND #SSM.S.stepa; #SSM.S.c1.set := 10; #SSM.S.c1.start := "DI OUT P01".V100.FB_WP; IF #SSM.S.c1.done THEN "DI OUT P01".V100.VLV_O.CmdExe_WP := FALSE; #SSM.S.stepd := "DI OUT P01".V100.FB_HP; IF NOT "E00 G120C FullyOccupied" THEN #SSM.S.stepnew := 1; END_IF; END_IF;
5: // Waiting for P02_to_P01.EnableToGo or P02".to_P01.Done IF "DI MAIN P02".to_P01.Done THEN "DI MAIN P01".to_P02.Done := TRUE; "DI MAIN P01".M00.SEQ1_Done := "HMI KEY".Message.Parts_Production_Done; ELSIF "DI MAIN P02".to_P01.EnableToGo THEN #SSM.S.stepnew := 1; #SSM.S.stepd := TRUE; END_IF; END_CASE; |
|