ABB MultiMove Applications Manual
ABB MultiMove Applications Manual

ABB MultiMove Applications Manual

Hide thumbs Also See for MultiMove:
Table of Contents

Advertisement

Quick Links

ROBOTICS
Application manual
MultiMove

Advertisement

Table of Contents
loading

Summary of Contents for ABB MultiMove

  • Page 1 ROBOTICS Application manual MultiMove...
  • Page 2 Trace back information: Workspace R18-2 version a11 Checked in 2018-10-11 Skribenta version 5.3.008...
  • Page 3 Application manual MultiMove RobotWare 6.08 Document ID: 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved. Specifications subject to change without notice.
  • Page 4 The information in this manual is subject to change without notice and should not be construed as a commitment by ABB. ABB assumes no responsibility for any errors that may appear in this manual. Except as may be expressly stated anywhere in this manual, nothing herein shall be construed as any kind of guarantee or warranty by ABB for losses, damages to persons or property, fitness for a specific purpose or the like.
  • Page 5: Table Of Contents

    RAPID components ................... Tasks and programming techniques ..............Coordinated work objects ................... Independent movements ..................6.4.1 About independent movements ..............6.4.2 Example "UnsyncArc" with independent movements ........Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 6 Example of creating asynchronously raised error ............ Example with movements in error handler ............. Running a subset of a MultiMove system How to continue with one or more drive units inactive..........Running a subset in the “Unsync Arc” examples .............
  • Page 7: Overview Of This Manual

    Usage This manual can be used either as a brief description to find out if MultiMove is the right choice for solving a problem, or as a description of how to use it. This manual provides information about system parameters and RAPID components related to MultiMove, and many examples of how to use them.
  • Page 8 • Added information about the Ethernet switch, see Ethernet connections on page Released with RobotWare 6.02. Section Create a MultiMove system on page 27 updated to use Installation Manager. Released with RobotWare 6.04. • Minor corrections. Released with RobotWare 6.05.
  • Page 9: Product Documentation

    Product documentation Categories for user documentation from ABB Robotics The user documentation from ABB Robotics is divided into a number of categories. This listing is based on the type of information in the documents, regardless of whether the products are standard or optional.
  • Page 10 The operating manuals describe hands-on handling of the products. The manuals are aimed at those having first-hand operational contact with the product, that is production cell operators, programmers, and troubleshooters. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 11: Safety

    Safety regulations Before beginning work with the robot, make sure you are familiar with the safety regulations described in the manual Operating manual - General safety information. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 12 This page is intentionally left blank...
  • Page 13: Introduction

    Several robots can cooperate to lift heavy objects. Included functionality MultiMove allows up to 7 tasks to be motion tasks (task that has move instructions). Since no more than 4 drive modules can be used, a controller can handle up to 4 robots.
  • Page 14: Terminology

    Cartesian coordinates (x, y and z). Task program The same as a program. It is just a way of specifying that it is a program for one specific task. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 15: Example Applications

    The examples are also consistent, i.e. the RAPID code example for "SyncSpot" is made for a robot system configured as the configuration example for "SyncSpot". Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 16: Example "Unsyncarc

    In this example, two robots work independently on one work piece for each robot. They do not cooperate in any way and do not have to wait for each other. Illustration xx0300000590 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 17: Example "Syncarc

    About example "SyncArc" In this example, two robots perform arc welding on the same work piece. The work object is rotated by a positioner. Illustration xx0300000594 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 18 This page is intentionally left blank...
  • Page 19: Installation

    One Ethernet cable and one safety signal cable for each additional drive module must be connected to the control module. A MultiMove control module is equipped with an extra Ethernet switch to communicate with the additional drive modules. This manual only describes what is specific for a MultiMove installation. For more information about installation and commissioning of the controller, see Product manual - IRC5.
  • Page 20: Connections On The Control Module

    MultiMove Ethernet switch DSQC1007 (3HAC045976-001) Main computer DSQC1000 Panel board DSQC 643 Slots for inserting communication cables into the control cabinet Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 21 It is important that the right drive module is connected to the right Ethernet connection. If the order of the Ethernet connections do not match the selections made in Installation Manager (see Create a MultiMove system on page 27), the robot configuration will not correlate to the correct robot.
  • Page 22 (already connected at delivery) Note The Ethernet switch is mandatory for MultiMove, also when running MultiMove with only one axis computer in the system. For example, when running MultiMove on one robot together with a positioner or additional axes. Continues on next page...
  • Page 23 The safety signal cable from a drive unit is connected to the Panel board according to the following figure: xx0400001295 Connector for safety signal cable to drive module #1(already connected at deliv- ery) Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 24 Connector for safety signal cable to drive module #3 Connector for safety signal cable to drive module #4 Remove the jumper connector and replace it with the safety signal cable. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 25: Connections On The Drive Module

    2.1.3 Connections on the drive module Already connected at delivery When a MultiMove system is delivered from ABB, the Ethernet cable and the safety signal cable are already connected to the drive module. You only need to know how these cables are connected if you are going to change the hardware configuration or replace parts.
  • Page 26 The safety signal cable is connected to the Contactor interface board (A43), connector X1. There is also a connector that needs to be connected to a cable with a connector marked K41.X1. K41.X1 xx0600002786 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 27: Software Installation

    Creating a new system is described in Operating manual - RobotStudio. Select the MultiMove option under System Options. What is specific for a MultiMove system is that in the tab Drive Modules, one robot should be selected for each drive module.
  • Page 28 If the default configuration is changed so that a robot uses the wrong motion planner, the robot motion will be affected. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 29: Configuration

    About the system parameters This chapter contains a brief description of each parameter that is specific for MultiMove. Parameters that are used the same way as for a single robot system are not mentioned here. For more information about system parameters, see Technical reference manual - System parameters.
  • Page 30: System Parameters

    Mech Unit 2 refers to the parameter Name for the type Mechanical Unit in the topic Motion. Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 31 Defines which motion planner is used for calculating the movements of Planner this mechanical unit group. Use Motion Planner refers to the parameter Name for the type Motion Planner in the topic Motion. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 32: Motion Topic

    Indicates if it should be possible to deactivate the mechanical unit. In a single robot system it is not possible to deactivate a robot. In a MultiMove system, one robot can be deactivated while an- other is still active. Motion Planner A motion planner calculates the movements of a mechanical unit group.
  • Page 33 If Speed Control Warning is set to Yes, a warning will be issued when the actual speed is slower than this percentage of the programmed speed. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 34: I/O Topic

    For all other values for Status the system output does not refer to a single robot, and Argument is not required. Argument refers to the parameter Name for the type Mechanical Unit in the topic Motion. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 35: Configuration Examples

    Name Robot Mech Unit 1 Use Motion Planner rob1 ROB_1 motion_planner_1 rob2 ROB_2 motion_planner_2 Motion Planner Name Speed Control Warning motion_planner_1 motion_planner_2 Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 36 3 Configuration 3.3.1 Configuration example for "UnsyncArc" Continued Illustration en0400000773 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 37: Configuration Example For "Syncarc

    Speed Control Percent motion_planner_1 motion_planner_2 motion_planner_3 Mechanical Unit Name Allow move of user Activate at Start Up Deactivation Forbidden frame ROB_1 ROB_2 STN_1 Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 38 3 Configuration 3.3.2 Configuration example for "SyncArc" Continued Illustration en0400000774 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 39: I/O Configuration Example

    System Input Signal Name Action Argument Argument 2 di_position Interrupt SetStartPosition T_STN1 System Output Status Signal Name Argument TCP Speed ao_speed1 ROB_1 TCP Speed ao_speed2 ROB_2 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 40 This page is intentionally left blank...
  • Page 41: Calibration

    Calibrate an object coordinate system, relative to the user coordinate system. For description of how to calibrate an object coordinate system, see Operating manu- al - IRC5 Integrator's guide. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 42: Relative Calibration

    Relative calibration is used to calibrate the base coordinate system of one robot, using a robot that is already calibrated. This calibration method can only be used for a MultiMove system where two robots are placed close enough to have some part of their working areas in common.
  • Page 43 Tap OK. The calibration result is shown. Tap OK to accept the calibration. Restart the controller. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 44: Calibration Chains

    If you would use robot 1 as reference for robot 2, robot 2 as reference for robot 3 and robot 3 as reference for robot 4, the accuracy for robot 4 would be poor. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 45: Examples Of Coordinate Systems

    Base coordinate system for robot 1 Base coordinate system for robot 2 User coordinate system for both robots Object coordinate system for robot 1 Object coordinate system for robot 2 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 46: Example "Syncarc

    Base coordinate system for robot 1 Base coordinate system for robot 2 Base coordinate system for positioner User coordinate system for both robots Object coordinate system for both robots Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 47: User Interface Specific For Multimove

    5.1 FlexPendant for MultiMove system About FlexPendant for MultiMove system Working with the FlexPendant in a MultiMove system is not very different from a single robot system. This chapter will explain a few things that are specific for a MultiMove system. For general information about the FlexPendant, see Operating manual - IRC5 with FlexPendant.
  • Page 48: Status Bar Indications

    An additional axis that is not active. Either the mechanical unit is deactivated, or the task inactive. xx0400001170 Example en0400001158 This is an example of a MultiMove system with 4 robots and 2 additional axes, where... • robot 1 belongs to a task that is inactive. •...
  • Page 49 5 User interface specific for MultiMove 5.2 Status bar indications Continued • additional axis 1 is selected mechanical unit and robot 3 and 4 are coordinated with additional axis 1. Any jogging at this point will move these three mechanical units.
  • Page 50: Opening The Program Editor

    5 User interface specific for MultiMove 5.3 Opening the Program Editor 5.3 Opening the Program Editor Select task When opening the Program Editor for a system with more than one task, a list of all the tasks will be displayed. By tapping the task you want, the program code for that task is displayed.
  • Page 51: Production Window

    5 User interface specific for MultiMove 5.4 Production Window 5.4 Production Window The graphical display In a system with more than one motion task there will be one tab for each motion task. By tapping a tab, you can see the program code for that task and where the program pointer and motion pointer are in that task.
  • Page 52: Mechanical Unit Menu

    5 User interface specific for MultiMove 5.5 Mechanical unit menu 5.5 Mechanical unit menu The graphical display In the QuickSet menu, tap the Mechanical unit menu button. All mechanical units will be shown. en0400000789 The selected mechanical unit is highlighted with a frame around it.
  • Page 53: Select Which Tasks To Start With Start Button

    This will only work in manual mode, no STATIC or SEMISTATIC task can be started, stepped, or stopped in auto mode. Task Panel Settings To start the Task Panel Settings, tap the ABB menu, and then Control Panel, FlexPendant and Task Panel Settings. Selecting tasks Use this procedure to select which of the tasks are to be started with the START button.
  • Page 54 5 User interface specific for MultiMove 5.6 Select which tasks to start with START button Continued Resetting debug settings in manual mode Use this procedure to resume normal execution manual mode. Action Select Only Normal tasks in the Task Panel Settings.
  • Page 55: Programming

    6.1 RAPID components 6 Programming 6.1 RAPID components Data types This is a brief description of each data type in MultiMove. For more information, see the respective data type in Technical reference manual - RAPID Instructions, Functions and Data types. Data type...
  • Page 56 MoveExtJ is used to move additional axes, in a task without any robot. Functions This is a brief description of each function in MultiMove. For more information, see the respective function in Technical reference manual - RAPID Instructions, Functions and Data types.
  • Page 57 ID values are ascending for consecutive move instructions (e.g. 10, 20, 30, ...). Move instructions that are not between the SyncMoveOn and SyncMoveOff instructions must not have the argument ID. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 58: Tasks And Programming Techniques

    However, if the additional axes should be able to move independent of the robots, it is best to let a separate task program handle the additional axes. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 59: Coordinated Work Objects

    ROB_2 that coordinates the work object for ROB_1. PERS wobjdata wobj_rob1 := [FALSE, FALSE, "ROB_2", [[0,0,0],[1,0,0,0]], [[0,0,250],[1,0,0,0]]]; Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 60: Independent Movements

    These interactions can be solved with: • the instruction WaitSyncTask • I/O signals • persistent variables together with WaitUntil See the section about Multitasking in Application manual - Controller software IRC5. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 61: Example "Unsyncarc" With Independent Movements

    [ [500, -200, 1000], [1, 0, 0 ,0] ], [ [100, 200, 100], [1, 0, 0, 0] ] ]; TASK PERS tooldata tool1 := ... CONST robtarget p11 := ... Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 62 MoveL p21, v500, fine, tool2\WObj:=wobj2; MoveL p22, v500, z10, tool2\WObj:=wobj2; MoveL p23, v500, z10, tool2\WObj:=wobj2; MoveL p24, v500, z10, tool2\WObj:=wobj2; MoveL p21, v500, fine, tool2\WObj:=wobj2; ENDPROC ENDMODULE Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 63: Semi Coordinated Movements

    The advantage is that each robot can work independently with the work object. If the different robots perform very different assignments, this may save cycle time compared to letting all the robot movements be synchronized. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 64: Example "Syncarc" With Semi Coordinated Movements

    (e.g. ArcL). For more information about arc welding, see Application manual - Arc and Arc Sensor. Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 65 PERS wobjdata wobj_stn1 := [ FALSE, FALSE, "STN_1", [ [0, 0, 0], [1, 0, 0 ,0] ], [ [0, 0, 250], [1, 0, 0, 0] ] ]; TASK PERS tooldata tool1 := ... Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 66 TASK PERS tooldata tool2 := ... CONST robtarget p21 := ... CONST robtarget p29 := ... PROC main() SemiSyncMove; ENDPROC PROC SemiSyncMove() ! Wait for the positioner Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 67 ! Sync to let the robots move WaitSyncTask sync1, all_tasks; ! Wait for the robots WaitSyncTask sync2, all_tasks; MoveExtJ angle_neg90, vrot50, fine; WaitSyncTask sync3, all_tasks; Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 68 6 Programming 6.5.2 Example "SyncArc" with semi coordinated movements Continued WaitSyncTask sync4, all_tasks; ENDPROC ENDMODULE Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 69: Considerations And Limitations When Using Semi Coordinated Movements

    [[0,0,0],[1,0,0,0]],[[155.241,-51.5938,57.6297], [0.493981,0.506191,-0.501597,0.49815]]]; VAR syncident sync0; VAR syncident sync1; VAR syncident sync2; VAR syncident sync3; VAR syncident sync4; PROC main() WaitSyncTask sync0, task_list; Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 70 (rob2_obj) needs to move to the desired position. After that a WaitSyncTask is needed (identity sync3) before the semicoordinated movement can be performed. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 71: Coordinated Synchronized Movements

    Limitations Coordinated synchronized movements can only be used if you have the RobotWare option MultiMove Coordinated. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 72: Example "Syncarc" With Coordinated Synchronized Movement

    PERS wobjdata wobj_stn1 := [ FALSE, FALSE, "STN_1", [ [0, 0, 0], [1, 0, 0 ,0] ], [ [0, 0, 250], [1, 0, 0, 0] ] ]; TASK PERS tooldata tool1 := ... Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 73 MoveJ p200, v1000, z50, tool2; WaitSyncTask sync1, all_tasks; MoveL p201, v500, fine, tool2 \WObj:=wobj_stn1; SyncMoveOn sync2, all_tasks; MoveL p202\ID:=10, v300, z10, tool2 \WObj:=wobj_stn1; Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 74 ! Wait for the robots SyncMoveOn sync2, all_tasks; MoveExtJ angle_20\ID:=10, vrot100, z10; MoveExtJ angle_160\ID:=20, vrot100, z10; MoveExtJ angle_200\ID:=30, vrot100, z10; MoveExtJ angle_340\ID:=40, vrot100, fine; SyncMoveOff sync3; UNDO SyncMoveUndo; ENDPROC ENDMODULE Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 75: Program Execution

    SyncMoveOn and SyncMoveOff must have stop points. Part of T_ROB1 task program: MoveL p11, v500, z50, tool1; WaitSyncTask sync1, all_tasks; MoveL p12, v500, fine, tool1; SyncMoveOn sync2, all_tasks; Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 76 MoveL p22, v500, fine, tool2; SyncMoveOn sync2, all_tasks; MoveL p23\ID:=10, v500, z10, tool2 \WObj:=wobj_stn1; MoveL p24\ID:=20, v500, fine, tool2 \WObj:=wobj_stn1; SyncMoveOff sync3; MoveL p25, v500, fine, tool2; Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 77: Synchronization Behavior

    WaitDI di1, 1; SyncMoveOff sync2; Part of T_ROB2 task program: SyncMoveOn sync1, all_tasks; MoveJ p21\ID:=10, v500, fine, tool2 \WObj:=wobj_stn1; MoveL p22\ID:=20, v500, fine, tool2 \WObj:=wobj_stn1; SyncMoveOff sync2; Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 78: Dummy Instructions

    MoveL p1\ID:=30, v500, fine, tool1 \WObj:=wobj_stn1; ELSE ! Add dummy move instructions MoveL p1\ID:=20, v500, fine, tool1 \WObj:=wobj_stn1; MoveL p1\ID:=30, v500, fine, tool1 \WObj:=wobj_stn1; ENDIF SyncMoveOff sync2; Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 79: Motion Principles

    SyncMoveOn sync1, all_tasks; MoveL p12\ID:=10, v100, fine, tool1; Part of T_ROB2 task program: MoveJ p21, v1000, fine, tool2; SyncMoveOn sync1, all_tasks; MoveL p22\ID:=10, v500, fine, tool2; xx0400000907 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 80: Modify Position

    See also example on circular movement in the description of modifying positions in Operating manual - IRC5 with FlexPendant. Modify circular position in synchronized movement mode CirPoint CirPoint xx1400001119 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 81: Moving A Program Pointer

    Task1 works independently. In this situation, the user taps Move PP to Main for Task1. The program pointers for Task2 and Task3 will be lost. xx0500001444 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 82: Tool Orientation At Circular Movements

    This means that, in the example, you should step through the program and then modify p12 and p22 at the same time. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 83: Applications Affected By Multimove

    A world zone declared in one task program is only valid for the mechanical units that belong to that task. For a world zone to affect all mechanical units, it must be declared in all task programs. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 84: Programming Recommendations

    If the program pointer is then manually moved before the SyncMoveOff instruction is executed, the Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 85 Make sure that only one of the robots is in the common area at a time by using one of the following: • WaitSyncTask • World Zones • I/O signal Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 86 This page is intentionally left blank...
  • Page 87: Rapid Error Recovery

    Because of the synchronization, the other tasks will not continue to move. When the error has been resolved the movement can continue in all task programs. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 88: Simple Error Recovery Example

    IF ERRNO = ERR_DIVZERO THEN b:=1; RETRY; ENDIF T_HANDLEROB task program SyncMoveOn, sync1, motion_tasks; MoveL p201\ID:=10, v100, z10, grip1; MoveL p202\ID:=20, v100, fine, grip1; SyncMoveOff sync2; Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 89: Asynchronously Raised Errors

    If the task program is not in synchronized movements mode, StorePath and RestoPath act just like they do in a single robot system. This means that the same Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 90 StorePath and RestoPath require the option Path Recovery. For more information about StorePath and RestoPath, see Application manual - Controller software IRC5. Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 91: Example Of Creating Asynchronously Raised Error

    PROC my_proc_on() SetDO do_myproc, 1; CONNECT proc_sup_int WITH iprocfail; ISignalDI di_proc_sup, 1, proc_sup_int; ENDPROC PROC my_proc_off() SetDO do_myproc, 0; IDelete proc_sup_int; ENDPROC Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 92 PROC main() SyncMoveOn, sync1, motion_tasks; MoveL p201\ID:=10, v100, z10, grip1; MoveL p202\ID:=20, v100, fine, grip1; SyncMoveOff sync2; ERROR IF ERRNO = ERR_PATH_STOP THEN StartMoveRetry; ENDIF ENDPROC Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 93: Example With Movements In Error Handler

    VAR robtarget p199; p199 := CRobT(\Tool:=gun1 \WObj:=wobj0); MoveL pclean, v100, fine, gun1; MoveL p199, v100, fine, gun1; ENDPROC T_ROB2 task program SyncMoveOn, sync1, all_tasks; Continues on next page Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 94 MoveL pclean, v100, fine, gun2; MoveL p299, v100, fine, gun2; ENDPROC T_STN1 task program SyncMoveOn, sync1, all_tasks; MoveExtJ angle_20\ID:=10, vrot50, z10; ERROR IF ERRNO=ERR_PATH_STOP THEN StorePath; RestoPath; StartMoveRetry; ENDIF Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 95: Running A Subset Of A Multimove System

    8 Running a subset of a MultiMove system 8.1 How to continue with one or more drive units inactive. 8 Running a subset of a MultiMove system 8.1 How to continue with one or more drive units inactive. Overview It is possible to disconnect a drive module and continue working, for example: •...
  • Page 96 8 Running a subset of a MultiMove system 8.1 How to continue with one or more drive units inactive. Continued Action Info/illustration Remove the connector from X22 in the drive module. When the connector is removed the following message appears on the Flex Pendant: Event Message 50320, Drive Module Disconnected.
  • Page 97 8 Running a subset of a MultiMove system 8.1 How to continue with one or more drive units inactive. Continued Action Info/illustration Switch on the power to the controller. Select a new robot system that is configured without the disconnected mechanical unit.
  • Page 98: Running A Subset In The "Unsync Arc" Examples

    8 Running a subset of a MultiMove system 8.2 Running a subset in the “Unsync Arc” examples 8.2 Running a subset in the “Unsync Arc” examples Example with Drive Module Disconnect In this example the configuration is according to “UnsyncArc”, and an error occurs on the process equipment on robot 1.
  • Page 99 8 Running a subset of a MultiMove system 8.2 Running a subset in the “Unsync Arc” examples Continued Action Info/illustration Remove the safety signal connection of drive module 1 Ethernet connections on from X7 on the panel board in the control module. Move...
  • Page 100 This page is intentionally left blank...
  • Page 101 55 System Input, 34, 39 independent movements, 60 System Output, 34, 39 installation, 19 system parameters, 30 instructions, 55 IsSyncMoveOn, 56 Task, 30, 35, 37 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 102 WaitSyncTask, 55, 63 work object, 59 UNDO, 84 world coordinate system, 45–46 UnsyncArc, 16, 35, 45, 61, 98 World Zones, 83 Use Mechanical Unit Group, 30, 35, 37 Application manual - MultiMove 3HAC050961-001 Revision: E © Copyright 2004-2018 ABB. All rights reserved.
  • Page 104 PuDong District SHANGHAI 201319, China Telephone: +86 21 6105 6666 ABB Inc. Robotics and Motion 1250 Brown Road Auburn Hills, MI 48326 Telephone: +1 248 391 9000 abb.com/robotics © Copyright 2004-2018 ABB. All rights reserved. Specifications subject to change without notice.

Table of Contents