Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FB48 MAM P02 : Manual operation

 

 

 

Network 1: S210A1 Packaging Articulated Arm - enable

IF #PLANT_MANU AND NOT #SUPPORT_SEQ THEN

    IF "DI MAIN GLB".M00.EntirePlant_Run_Imp THEN

        #S210A1.ManualVelocity_1 := "DI OUT P02".S210A1.DRV.Support.SetVelo; // m/min

    END_IF;

    // MoveJog

    "DI OUT P02".S210A1.DRV.Support.SetVelo := #S210A1.ManualVelocity_1;

    #S210A1.CmdExe_slow_fast_WP := "HMI KEY".P02.S210A1.F3_Jog_slow_WP AND "HMI KEY".P02.S210A1.F12_Enable_WP AND NOT "HMI KEY".P02.S210A1.F21_HALT;

    #S210A1.CmdExe_slow_fast_HP := "HMI KEY".P02.S210A1.F4_Jog_slow_HP AND "HMI KEY".P02.S210A1."F11_Enable_HP" AND NOT "HMI KEY".P02.S210A1.F21_HALT;

END_IF;

// Enable disable operation (Modulo active)

"HMI KEY".P02.S210A1.F11_Enable_HP := "DI OUT P02".S210A1.DRV.Support.InOperation AND NOT "DI OUT P02".S210A1.Common_FLT

AND "DI OUT P02".S210A1.DRV.Support.ActPos >= "DI OUT P02".S210A1.DRV.Support.SW_EndLim_MinPos;

"HMI KEY".P02.S210A1.F12_Enable_WP := "DI OUT P02".S210A1.DRV.Support.InOperation AND NOT "DI OUT P02".S210A1.Common_FLT

AND "DI OUT P02".S210A1.DRV.Support.ActPos <= "DI OUT P02".S210A1.DRV.Support.SW_EndLim_MaxPos;

 

 

 

Network 2: S210A2 Packaging Articulated Arm - enable

IF #PLANT_MANU AND NOT #SUPPORT_SEQ THEN

    IF "DI MAIN GLB".M00.EntirePlant_Run_Imp THEN

        #S210A2.ManualVelocity_1 := "DI OUT P02".S210A2.DRV.Support.SetVelo; // m/min

    END_IF;

    // MoveJog

    "DI OUT P02".S210A2.DRV.Support.SetVelo := #S210A2.ManualVelocity_1;

    #S210A2.CmdExe_slow_fast_WP := "HMI KEY".P02.S210A2.F3_Jog_slow_WP AND "HMI KEY".P02.S210A2.F12_Enable_WP AND NOT "HMI KEY".P02.S210A2.F21_HALT;

    #S210A2.CmdExe_slow_fast_HP := "HMI KEY".P02.S210A2.F4_Jog_slow_HP AND "HMI KEY".P02.S210A2."F11_Enable_HP" AND NOT "HMI KEY".P02.S210A2.F21_HALT;

END_IF;

// Enable disable operation (Modulo active)

"HMI KEY".P02.S210A2.F11_Enable_HP := "DI OUT P02".S210A2.DRV.Support.InOperation AND NOT "DI OUT P02".S210A2.Common_FLT

AND "DI OUT P02".S210A2.DRV.Support.ActPos >= "DI OUT P02".S210A2.DRV.Support.SW_EndLim_MinPos;

"HMI KEY".P02.S210A2.F12_Enable_WP := "DI OUT P02".S210A2.DRV.Support.InOperation AND NOT "DI OUT P02".S210A2.Common_FLT

AND "DI OUT P02".S210A2.DRV.Support.ActPos <= "DI OUT P02".S210A2.DRV.Support.SW_EndLim_MaxPos;

 

 

 

Network 3: S210A3 Packaging Articulated Arm - enable

IF #PLANT_MANU AND NOT #SUPPORT_SEQ THEN

    IF "DI MAIN GLB".M00.EntirePlant_Run_Imp THEN

        #S210A3.ManualVelocity_1 := "DI OUT P02".S210A3.DRV.Support.SetVelo; // m/min

    END_IF;

    // MoveJog

    "DI OUT P02".S210A3.DRV.Support.SetVelo := #S210A3.ManualVelocity_1;

    #S210A3.CmdExe_slow_fast_WP := "HMI KEY".P02.S210A3.F3_Jog_slow_WP AND "HMI KEY".P02.S210A3.F12_Enable_WP AND NOT "HMI KEY".P02.S210A3.F21_HALT;

    #S210A3.CmdExe_slow_fast_HP := "HMI KEY".P02.S210A3.F4_Jog_slow_HP AND "HMI KEY".P02.S210A3."F11_Enable_HP" AND NOT "HMI KEY".P02.S210A3.F21_HALT;

END_IF;

// Enable disable operation (Modulo active)

"HMI KEY".P02.S210A3.F11_Enable_HP := "DI OUT P02".S210A3.DRV.Support.InOperation AND NOT "DI OUT P02".S210A3.Common_FLT

AND "DI OUT P02".S210A3.DRV.Support.ActPos >= "DI OUT P02".S210A3.DRV.Support.SW_EndLim_MinPos;

"HMI KEY".P02.S210A3.F12_Enable_WP := "DI OUT P02".S210A3.DRV.Support.InOperation AND NOT "DI OUT P02".S210A3.Common_FLT

AND "DI OUT P02".S210A3.DRV.Support.ActPos <= "DI OUT P02".S210A3.DRV.Support.SW_EndLim_MaxPos;

 

 

 

Network 4: S210A4 Packaging Orientation  - enable

IF #PLANT_MANU AND NOT #SUPPORT_SEQ THEN

    IF "DI MAIN GLB".M00.EntirePlant_Run_Imp THEN

        #S210A4.ManualVelocity_1 := "DI OUT P02".S210A4.DRV.Support.SetVelo; // m/min

    END_IF;

    // MoveJog

    "DI OUT P02".S210A4.DRV.Support.SetVelo := #S210A4.ManualVelocity_1;

    #S210A4.CmdExe_slow_fast_WP := "HMI KEY".P02.S210A4.F3_Jog_slow_WP AND "HMI KEY".P02.S210A4.F12_Enable_WP AND NOT "HMI KEY".P02.S210A4.F21_HALT;

    #S210A4.CmdExe_slow_fast_HP := "HMI KEY".P02.S210A4.F4_Jog_slow_HP AND "HMI KEY".P02.S210A4."F11_Enable_HP" AND NOT "HMI KEY".P02.S210A4.F21_HALT;

END_IF;

// Enable disable operation (Modulo active)

"HMI KEY".P02.S210A4.F11_Enable_HP := "DI OUT P02".S210A4.DRV.Support.InOperation AND NOT "DI OUT P02".S210A4.Common_FLT;

"HMI KEY".P02.S210A4.F12_Enable_WP := "DI OUT P02".S210A4.DRV.Support.InOperation AND NOT "DI OUT P02".S210A4.Common_FLT;

 

 

 

Network 5: M200 Packaging Input Conveyor - enable

"HMI KEY".P02.M200.F12_Enable_WP := NOT "DI OUT P02".M200.Common_FLT AND "DI MAIN GLB".#M00.GLB_Estop;

// Manual off switching

IF NOT "HMI KEY".P02.M200.F12_Enable_WP OR "HMI KEY".P02.M200.F1_HP OR "DI MAIN GLB".M00.EntirePlant_STOP_Imp THEN

    "DI OUT P02".M200.DRV.ActorJog_WP := FALSE;

END_IF;

 

 

 

Network 6: M201 Packaging Conveyor - enable

"HMI KEY".P02.M201.F12_Enable_WP := NOT "DI OUT P02".M201.Common_FLT AND "DI MAIN GLB".#M00.GLB_Estop;

// Manual off switching

IF NOT "HMI KEY".P02.M201.F12_Enable_WP OR "HMI KEY".P02.M201.F1_HP OR "DI MAIN GLB".M00.EntirePlant_STOP_Imp THEN

    "DI OUT P02".M201.DRV.ActorJog_WP := FALSE;

END_IF;

 

 

 

Network 7: M202 Packaging Output Conveyor - enable

"HMI KEY".P02.M202.F12_Enable_WP := NOT "DI OUT P02".M202.Common_FLT AND "DI MAIN GLB".#M00.GLB_Estop;

// Manual off switching

IF NOT "HMI KEY".P02.M202.F12_Enable_WP OR "HMI KEY".P02.M202.F1_HP OR "DI MAIN GLB".M00.EntirePlant_STOP_Imp THEN

    "DI OUT P02".M202.DRV.ActorJog_WP := FALSE;

END_IF;

 

 

 

Network 8: Y200 Packaging Gripper - enable

"HMI KEY".P02.Y200.F12_Enable_WP := NOT "DI OUT P02".Y200.Common_FLT AND "E00 AirPressure OK";

 

 

 

Network 9: Y201 Packaging Stopper - enable

"HMI KEY".P02.Y201.F12_Enable_WP := NOT "DI OUT P02".Y201.Common_FLT AND "E00 AirPressure OK";

 

 

 

Network 10: Y202 Packaging Pre-Stopper - enable

"HMI KEY".P02.Y202.F12_Enable_WP := NOT "DI OUT P02".Y202.Common_FLT AND "E00 AirPressure OK";

 

 

 

Network 11: ROBOT_ARM Packaging Arm - enable

"HMI KEY".P02.ROBOT_ARM.F8_Enabled := "DI OUT P02".ROBOT_ARM.DRV.Support.InOperation

AND NOT ("DI OUT P02".ROBOT_ARM.Common_FLT OR "DI MAIN GLB".M00.EntirePlant_STOP_Imp OR "HMI KEY".P02.ROBOT_ARM.F5_GroupStop);

// Stop GroupInterrupt and GroupContinue

IF NOT ("DI OUT P02".ROBOT_ARM.DRV.Support.GroupInterrupt AND "HMI KEY".P02.ROBOT_ARM.F8_Enabled) THEN

    #ROBOT_ARM.CmdExe_GroupContinue := #ROBOT_ARM.CmdExe_GroupInterrupt := FALSE;

END_IF;

// Stop MoveDirectAbsolute

IF "DI OUT P02".ROBOT_ARM.DRV.MC_MoveDirectAbsolute.Done OR NOT "HMI KEY".P02.ROBOT_ARM.F8_Enabled THEN

    #ROBOT_ARM.CmdExe_MoveDirectAbsolute := FALSE;

END_IF;

// Stop MoveDirectRelative

IF "DI OUT P02".ROBOT_ARM.DRV.MC_MoveDirectRelative.Done OR NOT "HMI KEY".P02.ROBOT_ARM.F8_Enabled THEN

    #ROBOT_ARM.CmdExe_MoveDirectRelative := FALSE;

END_IF;

 

 

 

Network 12: Monitoring manual operation ***

IF NOT #PLANT_MANU THEN

    RETURN;

ELSIF #MODULE_HP AND NOT #Support.HomPos_REg THEN

    "DI MAIN P02".M00.Initialization := TRUE;

END_IF;

#Support.HomPos_REg := #MODULE_HP;

"DI MAIN P02".M00.TOF_EntireModule_STOP_Pulse(IN := NOT #SUPPORT_SEQ AND #Support.HomPos_FEg,

                                              PT := t#500ms);

#Support.HomPos_FEg := #SUPPORT_SEQ;

IF #SUPPORT_SEQ THEN

    RETURN;

END_IF;

 

 

 

Network 13: ROBOT_ARM Packaging Articulated Arm - execute

IF "HMI KEY".P02.ROBOT_ARM.F7_GroupContinue AND "DI OUT P02".ROBOT_ARM.DRV.Support.GroupInterrupt THEN

    #ROBOT_ARM.CmdExe_GroupContinue := "HMI KEY".P02.ROBOT_ARM.F8_Enabled;

ELSIF "HMI KEY".P02.ROBOT_ARM.F6_GroupInterrupt THEN

    #ROBOT_ARM.CmdExe_GroupInterrupt := "HMI KEY".P02.ROBOT_ARM.F8_Enabled;

ELSIF "HMI KEY".P02.ROBOT_ARM.F10_MoveDirectAbsolute THEN

    #ROBOT_ARM.CmdExe_MoveDirectAbsolute := "HMI KEY".P02.ROBOT_ARM.F8_Enabled;

ELSIF "HMI KEY".P02.ROBOT_ARM.F11_MoveDirectRelative THEN

    #ROBOT_ARM.CmdExe_MoveDirectRelative := "HMI KEY".P02.ROBOT_ARM.F8_Enabled;

END_IF;

 

 

 

Network 14: M201 Packaging Conveyor - execute

IF "HMI KEY".P02.M201.F2_WP THEN

    "DI OUT P02".M201.DRV.ActorJog_WP := "HMI KEY".P02.M201.F12_Enable_WP;

END_IF;

 

 

 

Network 15: M200 Packaging Input Conveyor - execute

IF "HMI KEY".P02.M200.F2_WP THEN

    "DI OUT P02".M200.DRV.ActorJog_WP := "HMI KEY".P02.M200.F12_Enable_WP;

END_IF;

 

 

 

Network 16: M202 Packaging Output Conveyor - execute

IF "HMI KEY".P02.M202.F2_WP THEN

    "DI OUT P02".M202.DRV.ActorJog_WP := "HMI KEY".P02.M202.F12_Enable_WP;

END_IF;

 

 

 

Network 17: Y200 Packaging Gripper - execute

"DI OUT P02".Y200.VLV_O.CmdExe_WP :=

"HMI KEY".P02.Y200.F12_Enable_WP AND NOT "HMI KEY".P02.Y200.F1_HP AND ("HMI KEY".P02.Y200.F2_WP OR "DI OUT P02".Y200.FEEDBACK_WP);

 

 

 

Network 18: Y201 Packaging Stopper - execute

"DI OUT P02".Y201.VLV_O.CmdExe_WP :=

"HMI KEY".P02.Y201.F12_Enable_WP AND NOT "HMI KEY".P02.Y201.F1_HP AND ("HMI KEY".P02.Y201.F2_WP OR "DI OUT P02".Y201.FEEDBACK_WP);

 

 

 

Network 19: 202 Packaging Pre-Stopper - execute

"DI OUT P02".Y202.VLV_O.CmdExe_WP :=

"HMI KEY".P02.Y202.F12_Enable_WP AND NOT "HMI KEY".P02.Y202.F1_HP AND ("HMI KEY".P02.Y202.F2_WP OR "DI OUT P02".Y202.FEEDBACK_WP);