Textfeld: Textfeld: Textfeld: Textfeld: Textfeld: Textfeld: Textfeld: Textfeld: Textfeld:

 

Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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;