FB31 SET P01 Move CAM_DISC axis towards home position

 

 

 

Netzwerk 1: Query home position

"DI MAIN P01".M00.HomPosIS :=

"DI MAIN P01".SEQ1.Lap_No = 0

AND "DI OUT P01".S120_M.DRV.Support.HomeDone

AND "DI OUT P01".S120_S.DRV.Support.HomeDone

AND "DI OUT P01".S120_M.DRV.Support.LampOFF

AND "DI OUT P01".S120_S.DRV.Support.LampOFF

AND "DI OUT P01".G120.DRV.Support.LampOFF

AND "DI OUT P01".G120C.DRV.Support.LampOFF

AND "DI OUT P01".Y100.FB_HP AND "E00 S120_S LimHP"

AND NOT ("HMI KEY".P01.CAM_DISC.F16_Actor_On_WP OR "HMI KEY".P01.CAM_DISC.F15_Actor_On_HP);

 

 

 

Netzwerk 2: Define last step

#SSM(LAST_STEP := 9);

 

 

 

Netzwerk 3: Step Switching Mechanism (SSM)

CASE #SSM.S.stepact OF

    0: // Waiting for SET to start

        #SSM.S.stepd := #SSM.S.steps;

       

    1: // Pre-Setting

        IF #SSM.S.stepfc THEN

            "DI OUT P01".CAM_DISC.CAM.Support.Cam.Current_Position := #tmp_del_pos;

            "DI OUT P01".S120_S.DRV.Support.SetVelo := "HMI KEY".SetValues.Homing_Velocity;

            "DI OUT P01".CAM_DISC.CAM.Support.Write_Index := "DI OUT P01".CAM_DISC.CAM.Support.Read_Index := "DI OUT P01".CAM_DISC.CAM.Support.Output_Index := 0;

            "DI OUT P01".G120C.DRV.Support.Cmd_MoveJogWP := "DI OUT P01".G120.DRV.Support.Cmd_MoveAbso := FALSE;

            "HMI KEY".P01.S120_M.F21_Halt := "HMI KEY".P01.S120_S.F21_Halt :=

            "HMI KEY".P01.G120.F21_Halt := "HMI KEY".P01.G120C.F21_Halt := TRUE;

        ELSE

            "HMI KEY".P01.S120_M.F21_Halt := "HMI KEY".P01.S120_S.F21_Halt :=

            "HMI KEY".P01.G120.F21_Halt := "HMI KEY".P01.G120C.F21_Halt := #SSM.S.steplo;

            #SSM.S.stepd := "DI OUT P01".G120.DRV.Support.LampOFF AND "DI OUT P01".G120C.DRV.Support.LampOFF

            AND "DI OUT P01".S120_M.DRV.Support.LampOFF AND "DI OUT P01".S120_S.DRV.Support.LampOFF AND NOT #SSM.S.steplo;

        END_IF;

       

    2: // Query S120_M Deformable Rubber Winding Hub HomDone 

        #SSM.S.c1.start := "HMI KEY".P01.S120_M.F5_Set_Ref_Point := NOT "DI OUT P01".S120_M.DRV.Support.HomeDone;

        #SSM.S.c1.set := 25;

        #SSM.S.stepd := "DI OUT P01".S120_M.DRV.Support.HomeDone AND #SSM.S.c1.done OR "DI OUT P01".S120_M.DRV.Support.HomeDone

        AND NOT (#SSM.S.steplo OR #SSM.S.c1.done);

        IF #SSM.S.stepd THEN

            IF "DI OUT P01".S120_S.DRV.Support.ActPos = 100.0 THEN

                #SSM.S.stepnew := 5;

            END_IF;

        END_IF;

       

    3: // S120_S Rubber Steering Device MoveJog towards 0.0 position

        IF "DI OUT P01".S120_S.DRV.Support.ActPos <= 7.0 THEN

            "DI OUT P01".S120_S.DRV.Support.SetVelo := 1.0;

            #SSM.S.c1.start := TRUE;

            #SSM.S.c1.set := 25;

            "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogHP := FALSE;

            "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogWP := "HMI KEY".P01.S120_S.F12_Enable_WP AND #SSM.S.stepa AND #SSM.S.c1.done;

            IF "DI OUT P01".S120_S.DRV.Support.ActPos >= 0.0 THEN

                "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogHP := "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogWP := FALSE;

                #SSM.S.stepd := "DI OUT P01".S120_S.DRV.Support.LampOFF;

            END_IF;

        ELSIF "DI OUT P01".S120_S.DRV.Support.ActPos > 7.0 THEN

            "DI OUT P01".S120_S.DRV.Support.SetVelo := "HMI KEY".SetValues.Homing_Velocity;

            "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogWP := FALSE;

            "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogHP := "HMI KEY".P01.S120_S.F11_Enable_HP AND #SSM.S.stepa AND NOT #SSM.S.steplo;

        END_IF;

       

    4: // S120_S Rubber Steering Device MoveJog towards WindowRange

        IF "DI OUT P01".S120_S.DRV.Support.ActPos <= "DI OUT P01".S120_S.DRV.Support.WindowRange THEN

            "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogHP := "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogWP := FALSE;

            #SSM.S.stepd := "DI OUT P01".S120_S.DRV.Support.LampOFF AND "E00 S120_S StartPos";

        ELSIF "DI OUT P01".S120_S.DRV.Support.ActPos > "DI OUT P01".S120_S.DRV.Support.WindowRange THEN

            "DI OUT P01".S120_S.DRV.Support.SetVelo := 0.5;

            "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogWP := FALSE;

            "DI OUT P01".S120_S.DRV.Support.Cmd_MoveJogHP := "HMI KEY".P01.S120_S.F12_Enable_WP AND NOT #SSM.S.steplo;

        END_IF;

       

    5: // Query S120_S Rubber Steering Device HomDone

        #SSM.S.c1.start := "HMI KEY".P01.S120_S.F5_Set_Ref_Point := NOT "DI OUT P01".S120_S.DRV.Support.HomeDone;

        #SSM.S.c1.set := 25;

        #SSM.S.stepd := "DI OUT P01".S120_S.DRV.Support.HomeDone AND (#SSM.S.c1.done OR NOT (#SSM.S.steplo OR #SSM.S.c1.done));

       

    6: // S120_S Rubber Steering Device MoveAbsolute towards HomPos

        "DI OUT P01".S120_S.DRV.MC_MoveAbsolute.Position := 0.0;

        #SSM.S.stepd := "DI OUT P01".S120_S.DRV.Support.InPos AND NOT #SSM.S.steplo;

        "DI OUT P01".S120_S.DRV.Support.Cmd_MoveAbso := "DI OUT P01".S120_S.DRV.Support.Epos_Enabled AND NOT #SSM.S.stepd AND #SSM.S.stepa;

       

    7: // Y100 Rubber Cutting Device HP

        "DI OUT P01".Y100.VLV_O.CmdExe_WP := FALSE;

        #SSM.S.stepd := "DI OUT P01".Y100.FB_HP AND NOT #SSM.S.steplo;

       

    8: // Drive velocity pre-setting 0.0

        IF #SSM.S.stepfc THEN

            "DI OUT P01".G120.DRV.Support.SetVelo :=

            "DI OUT P01".G120C.DRV.Support.SetVelo :=

            "DI OUT P01".S120_M.DRV.Support.SetVelo :=

            "DI OUT P01".S120_S.DRV.Support.SetVelo := 0.0;

            "DI MAIN P01".SEQ1.Lap_No :=

            "DI OUT P01".CAM_DISC.CAM.Support.Get_Cam_No := 0;

        ELSE

            "HMI KEY".P01.CAM_DISC.F16_Actor_On_WP := "HMI KEY".P01.CAM_DISC.F15_Actor_On_HP := FALSE;

            #SSM.S.stepd := #SSM.S.steplo;

        END_IF;

       

    9: // Query P01 home position

        "DI MAIN P01".M00.HomPosRun := NOT "DI MAIN P01".M00.HomPosIS OR #SSM.S.steplo;

END_CASE;

 

 

Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO