



|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FB38 MAM P01 : Manual operation |
|
|
|
|
|
Network 1: S200A1 Pick & Place Delta Robot - enable IF #PLANT_MANU AND NOT #SUPPORT_SEQ THEN IF "DI MAIN GLB".M00.EntirePlant_Run_Imp THEN #S200A1.ManualVelocity_1 := "DI OUT P01".S200A1.DRV.Support.SetVelo; // m/min END_IF; // MoveJog "DI OUT P01".S200A1.DRV.Support.SetVelo := #S200A1.ManualVelocity_1; #S200A1.CmdExe_slow_fast_WP := "HMI KEY".P01.S200A1.F3_Jog_slow_WP AND "HMI KEY".P01.S200A1.F12_Enable_WP AND NOT "HMI KEY".P01.S200A1.F21_HALT; #S200A1.CmdExe_slow_fast_HP := "HMI KEY".P01.S200A1.F4_Jog_slow_HP AND "HMI KEY".P01.S200A1."F11_Enable_HP" AND NOT "HMI KEY".P01.S200A1.F21_HALT; END_IF; // Enable disable operation (Modulo active) "HMI KEY".P01.S200A1.F11_Enable_HP := "DI OUT P01".S200A1.DRV.Support.InOperation AND NOT "DI OUT P01".S200A1.Common_FLT AND "DI OUT P01".S200A1.DRV.Support.ActPos >= "DI OUT P01".S200A1.DRV.Support.SW_EndLim_MinPos; "HMI KEY".P01.S200A1.F12_Enable_WP := "DI OUT P01".S200A1.DRV.Support.InOperation AND NOT "DI OUT P01".S200A1.Common_FLT AND "DI OUT P01".S200A1.DRV.Support.ActPos <= "DI OUT P01".S200A1.DRV.Support.SW_EndLim_MaxPos; |
|
|
|
|
|
Network 2: S200A2 Pick & Place Delta Robot - enable IF #PLANT_MANU AND NOT #SUPPORT_SEQ THEN IF "DI MAIN GLB".M00.EntirePlant_Run_Imp THEN #S200A2.ManualVelocity_1 := "DI OUT P01".S200A2.DRV.Support.SetVelo; // m/min END_IF; // MoveJog "DI OUT P01".S200A2.DRV.Support.SetVelo := #S200A2.ManualVelocity_1; #S200A2.CmdExe_slow_fast_WP := "HMI KEY".P01.S200A2.F3_Jog_slow_WP AND "HMI KEY".P01.S200A2.F12_Enable_WP AND NOT "HMI KEY".P01.S200A2.F21_HALT; #S200A2.CmdExe_slow_fast_HP := "HMI KEY".P01.S200A2.F4_Jog_slow_HP AND "HMI KEY".P01.S200A2."F11_Enable_HP" AND NOT "HMI KEY".P01.S200A2.F21_HALT; END_IF; // Enable disable operation (Modulo active) "HMI KEY".P01.S200A2.F11_Enable_HP := "DI OUT P01".S200A2.DRV.Support.InOperation AND NOT "DI OUT P01".S200A2.Common_FLT AND "DI OUT P01".S200A2.DRV.Support.ActPos >= "DI OUT P01".S200A2.DRV.Support.SW_EndLim_MinPos; "HMI KEY".P01.S200A2.F12_Enable_WP := "DI OUT P01".S200A2.DRV.Support.InOperation AND NOT "DI OUT P01".S200A2.Common_FLT AND "DI OUT P01".S200A2.DRV.Support.ActPos <= "DI OUT P01".S200A2.DRV.Support.SW_EndLim_MaxPos; |
|
|
|
|
|
Network 3: S200A3 Pick & Place Delta Robot - enable IF #PLANT_MANU AND NOT #SUPPORT_SEQ THEN IF "DI MAIN GLB".M00.EntirePlant_Run_Imp THEN #S200A3.ManualVelocity_1 := "DI OUT P01".S200A3.DRV.Support.SetVelo; // m/min END_IF; // MoveJog "DI OUT P01".S200A3.DRV.Support.SetVelo := #S200A3.ManualVelocity_1; #S200A3.CmdExe_slow_fast_WP := "HMI KEY".P01.S200A3.F3_Jog_slow_WP AND "HMI KEY".P01.S200A3.F12_Enable_WP AND NOT "HMI KEY".P01.S200A3.F21_HALT; #S200A3.CmdExe_slow_fast_HP := "HMI KEY".P01.S200A3.F4_Jog_slow_HP AND "HMI KEY".P01.S200A3."F11_Enable_HP" AND NOT "HMI KEY".P01.S200A3.F21_HALT; END_IF; // Enable disable operation (Modulo active) "HMI KEY".P01.S200A3.F11_Enable_HP := "DI OUT P01".S200A3.DRV.Support.InOperation AND NOT "DI OUT P01".S200A3.Common_FLT AND "DI OUT P01".S200A3.DRV.Support.ActPos >= "DI OUT P01".S200A3.DRV.Support.SW_EndLim_MinPos; "HMI KEY".P01.S200A3.F12_Enable_WP := "DI OUT P01".S200A3.DRV.Support.InOperation AND NOT "DI OUT P01".S200A3.Common_FLT AND "DI OUT P01".S200A3.DRV.Support.ActPos <= "DI OUT P01".S200A3.DRV.Support.SW_EndLim_MaxPos; |
|
|
|
|
|
Network 4: S200A4 Pick & Place Delta Robot - enable IF #PLANT_MANU AND NOT #SUPPORT_SEQ THEN IF "DI MAIN GLB".M00.EntirePlant_Run_Imp THEN #S200A4.ManualVelocity_1 := "DI OUT P01".S200A4.DRV.Support.SetVelo; // m/min END_IF; // MoveJog "DI OUT P01".S200A4.DRV.Support.SetVelo := #S200A4.ManualVelocity_1; #S200A4.CmdExe_slow_fast_WP := "HMI KEY".P01.S200A4.F3_Jog_slow_WP AND "HMI KEY".P01.S200A4.F12_Enable_WP AND NOT "HMI KEY".P01.S200A4.F21_HALT; #S200A4.CmdExe_slow_fast_HP := "HMI KEY".P01.S200A4.F4_Jog_slow_HP AND "HMI KEY".P01.S200A4."F11_Enable_HP" AND NOT "HMI KEY".P01.S200A4.F21_HALT; END_IF; // Enable disable operation (Modulo active) "HMI KEY".P01.S200A4.F11_Enable_HP := "DI OUT P01".S200A4.DRV.Support.InOperation AND NOT "DI OUT P01".S200A4.Common_FLT AND "DI OUT P01".S200A4.DRV.Support.ActPos >= "DI OUT P01".S200A4.DRV.Support.SW_EndLim_MinPos; "HMI KEY".P01.S200A4.F12_Enable_WP := "DI OUT P01".S200A4.DRV.Support.InOperation AND NOT "DI OUT P01".S200A4.Common_FLT AND "DI OUT P01".S200A4.DRV.Support.ActPos <= "DI OUT P01".S200A4.DRV.Support.SW_EndLim_MaxPos; |
|
|
|
|
|
Network 5: G120 Picking Control Conveyor - enable IF #PLANT_MANU AND NOT #SUPPORT_SEQ THEN IF "DI MAIN GLB".M00.EntirePlant_Run_Imp THEN #G120.ManualVelocity_1 := "DI OUT P01".G120.DRV.Support.SetVelo; // m/min END_IF; "DI OUT P01".G120.DRV.Support.SetVelo := #G120.ManualVelocity_1; // MoveJog (toggle function) IF "HMI KEY".P01.G120.F19_Jog_fast_WP AND NOT #G120.Jog_fast_WP_REg THEN #G120.CmdExe_slow_fast_WP := NOT #G120.CmdExe_slow_fast_WP AND "HMI KEY".P01.G120.F12_Enable_WP; #G120.CmdExe_slow_fast_HP := FALSE; ELSIF "HMI KEY".P01.G120.F20_Jog_fast_HP AND NOT #G120.Jog_fast_HP_REg THEN #G120.CmdExe_slow_fast_HP := NOT #G120.CmdExe_slow_fast_HP AND "HMI KEY".P01.G120.F11_Enable_HP; #G120.CmdExe_slow_fast_WP := FALSE; END_IF; #G120.Jog_fast_WP_REg := "HMI KEY".P01.G120.F19_Jog_fast_WP; #G120.Jog_fast_HP_REg := "HMI KEY".P01.G120.F20_Jog_fast_HP; END_IF; // Enable disable operation (Modulo active) "HMI KEY".P01.G120.F11_Enable_HP := "DI OUT P01".G120.DRV.Support.InOperation AND NOT ("DI OUT P01".G120.Common_FLT OR "DI MAIN P01".M00.FLT_ModuleFault_SR); "HMI KEY".P01.G120.F12_Enable_WP := "DI OUT P01".G120.DRV.Support.InOperation AND NOT ("DI OUT P01".G120.Common_FLT OR "DI MAIN P01".M00.FLT_ModuleFault_SR); // HALT moving IF "DI OUT P01".G120.HALT_01 OR #G120.ManualVelocity_1 = 0.0 THEN #G120.CmdExe_slow_fast_HP := #G120.CmdExe_slow_fast_WP := FALSE; END_IF; |
|
|
|
|
|
Network 6: ROBOT Pick & Place - enable "HMI KEY".P01.ROBOT.F8_Enabled := "DI OUT P01".ROBOT.DRV.Support.InOperation AND "DI OUT P01".ROBOT.DRV.Support.KINpos_Enabled AND NOT ("DI OUT P01".ROBOT.Common_FLT OR "HMI KEY".P01.ROBOT.F5_GroupStop); // Cancel GroupInerrupt and GroupContinue IF NOT ("DI OUT P01".ROBOT.DRV.Support.GroupInterrupt AND "HMI KEY".P01.ROBOT.F8_Enabled) THEN #ROBOT.CmdExe_GroupContinue := #ROBOT.CmdExe_GroupInterrupt := FALSE; END_IF; // Execute MoveLinearAbsolute IF "DI OUT P01".ROBOT.DRV.MC_MoveLinearAbsolute.Done OR NOT "HMI KEY".P01.ROBOT.F8_Enabled THEN #ROBOT.CmdExe_MoveLinearAbsolute := FALSE; END_IF; // Stop execute MoveLinearRelative IF "DI OUT P01".ROBOT.DRV.MC_MoveLinearRelative.Done OR NOT "HMI KEY".P01.ROBOT.F8_Enabled THEN #ROBOT.CmdExe_MoveLinearRelative := FALSE; END_IF; // Stop execute MoveCircularAbsolute IF "DI OUT P01".ROBOT.DRV.MC_MoveCircularAbsolute.Done OR NOT "HMI KEY".P01.ROBOT.F8_Enabled THEN #ROBOT.CmdExe_MoveCircularAbsolute := FALSE; END_IF; // Stop execute MoveCircularRelative IF "DI OUT P01".ROBOT.DRV.MC_MoveCircularRelative.Done OR NOT "HMI KEY".P01.ROBOT.F8_Enabled THEN #ROBOT.CmdExe_MoveCircularRelative := FALSE; END_IF; |
|
|
|
|
|
Network 7: M100 Intermediate Belt Conveyor - enable "HMI KEY".P01.M100.F12_Enable_WP := NOT "DI OUT P01".M100.Common_FLT AND "DI MAIN GLB".#M00.GLB_Estop; // Manual off switching IF NOT "HMI KEY".P01.M100.F12_Enable_WP OR "HMI KEY".P01.M100.F1_HP OR "DI MAIN GLB".M00.EntirePlant_STOP_Imp THEN "DI OUT P01".M100.DRV.CmdExe_WP := FALSE; END_IF; |
|
|
|
|
|
Network 8: Y100 Delta Robot Vacuum gripper - enable "HMI KEY".P01.Y100.F12_Enable_WP := NOT "DI OUT P01".Y100.Common_FLT AND "E00 AirPressure OK"; |
|
|
|
|
|
Network 9: C100 Picking Control Camera - enable "HMI KEY".P01.C100.F12_Enable_WP := NOT "DI OUT P01".TRACT_CONVEYOR.Common_FLT; |
|
|
|
|
|
Network 10: Monitoring manual operation *** IF NOT #PLANT_MANU THEN RETURN; ELSIF #MODULE_HP AND NOT #Support.HomPos_REg THEN "DI MAIN P01".M00.Initialization := TRUE; END_IF; #Support.HomPos_REg := #MODULE_HP; "DI MAIN P01".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 11: ROBOT Pick & Place Delta Robot - execute IF "HMI KEY".P01.ROBOT.F7_GroupContinue AND "DI OUT P01".ROBOT.DRV.Support.GroupInterrupt THEN #ROBOT.CmdExe_GroupContinue := "HMI KEY".P01.ROBOT.F8_Enabled; ELSIF "HMI KEY".P01.ROBOT.F6_GroupInterrupt THEN #ROBOT.CmdExe_GroupInterrupt := "HMI KEY".P01.ROBOT.F8_Enabled; ELSIF "HMI KEY".P01.ROBOT.F1_MoveLinearAbsolute THEN #ROBOT.CmdExe_MoveLinearAbsolute := "HMI KEY".P01.ROBOT.F8_Enabled; ELSIF "HMI KEY".P01.ROBOT.F2_MoveLinearRelative THEN #ROBOT.CmdExe_MoveLinearRelative := "HMI KEY".P01.ROBOT.F8_Enabled; ELSIF "HMI KEY".P01.ROBOT.F3_MoveCircularAbsolute THEN #ROBOT.CmdExe_MoveCircularAbsolute := "HMI KEY".P01.ROBOT.F8_Enabled; ELSIF "HMI KEY".P01.ROBOT.F4_MoveCircularRelative THEN #ROBOT.CmdExe_MoveCircularRelative := "HMI KEY".P01.ROBOT.F8_Enabled; END_IF; |
|
|
|
|
|
Network 12: M100 Intermediate Belt Conveyor - execute IF "HMI KEY".P01.M100.F2_WP THEN "DI OUT P01".M100.DRV.CmdExe_WP := "HMI KEY".P01.M100.F12_Enable_WP; END_IF; |
|
|
|
|
|
Network 13: Y100 Delta Robot Vacuum gripper - execute "DI OUT P01".Y100.VLV_O.CmdExe_WP:= "HMI KEY".P01.Y100.F12_Enable_WP AND NOT "HMI KEY".P01.Y100.F1_HP AND ("HMI KEY".P01.Y100.F2_WP OR "DI OUT P01".Y100.FEEDBACK_WP); |
|
|
|
|
|
Network 14: C100 Picking Control Camera - execute "DI OUT P01".C100.ActorJog_WP := "HMI KEY".P01.C100.F12_Enable_WP AND "HMI KEY".P01.C100.F2_WP AND "E00 C100 PartAvailable"; |
|