3HAC16587-1 Revg en
3HAC16587-1 Revg en
3HAC16587-1 Revg en
Conveyor tracking
Controller software IRC5 RobotWare 5.13
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.
Copyright 2004-2010 ABB. All rights reserved.
In no event shall ABB be liable for incidental or consequential damages arising from use of this manual and products described herein. This manual and parts thereof must not be reproduced or copied without ABB's written permission, and contents thereof must not be imparted to a third party nor be used for any unauthorized purpose. Contravention will be prosecuted. Additional copies of this manual may be obtained from ABB at its then current charge.
Copyright 2004-2010 ABB All rights reserved. ABB AB Robotics Products SE-721 68 Vsters Sweden
Table of contents
1.1 Physical components................................................................................. 10 1.2 Features..................................................................................................... 11 1.3 Limitations.................................................................................................. 13 1.4 Principles ................................................................................................... 14 1.4.1 Principles of conveyor tracking .............................................................. 14 1.4.2 Start window and queue tracking distance .................................... 16 1.4.3 Coordinate systems ....................................................................... 17
2 Installation
19
2.1 Hardware connections .............................................................................. 19 2.2 Installing the encoder for conveyor tracking .............................................. 20 2.3 Encoder location ........................................................................................ 22 2.4 Connecting the encoder to the encoder interface...................................... 23 2.5 Synchronization switch .............................................................................. 26 2.6 Connecting the encoder interface to the robot controller........................... 27
3 Configuration
29
3.1 Configuration and calibration .................................................................... 29 3.2 Direction of positive motion from the encoder ........................................... 30 3.3 Calibrating CountsPerMeter and QueueTrckDist ...................................... 31 3.4 Calibrating the conveyor base frame ......................................................... 32 3.5 Defining conveyor start window and sync separation ................................ 35 3.6 Defining the conveyor maximum and minimum distances......................... 36 3.7 Defining the robot adjustment speed ......................................................... 37 3.8 Additional adjustments............................................................................... 38
Copyright 2004-2010 ABB. All rights reserved.
3.9 Configuring a track motion following a conveyor ....................................... 39 3.10 Installing conveyor tracking software....................................................... 41 3.11 Installing additional conveyors for conveyor tracking .............................. 42
4 Programming
43
4.1 Programming conveyor tracking ............................................................... 43 4.2 Working with the object queue................................................................... 44 4.3 Activating the conveyor.............................................................................. 45 4.4 Defining a conveyor coordinated work object ............................................ 46 4.5 Waiting for a work object ........................................................................... 47 4.6 Programming the conveyor coordinated motion ........................................ 48 4.7 Dropping a work object .............................................................................. 49 4.8 Entering and exiting conveyor tracking motion in corner zones ................ 50 4.9 Information on FlexPendant....................................................................... 51 4.10 Programming considerations ................................................................... 52
3HAC16587-1 Revision G 3
Table of contents
5 System parameters
55
5.1 Topic I/O .................................................................................................... 56 5.2 Topic Process ............................................................................................ 57 5.3 Topic Motion .............................................................................................. 59
6 RAPID reference
61
6.1 Instructions ............................................................................................... 61 6.1.1 WaitWObj - Wait for work object on conveyor ....................................... 61 6.1.2 DropWObj - Drop work object on conveyor ................................... 64
65
7.1 Introduction to advanced queue tracking .................................................. 65 7.1.1 System parameters........................................................................ 66 7.2 Working with the object queue................................................................... 67 7.2.1 Checkpoint function ....................................................................... 68 7.2.2 Scale enc pulse ............................................................................. 69 7.2.3 Passed start window signal ........................................................... 70 7.2.4 Simulation mode ............................................................................ 71
73
8.1 Introduction to circular conveyor tracking ................................................. 73 8.2 Encoder type selection and location .......................................................... 74 8.3 Installation and configuration ..................................................................... 75 8.4 Calibrating the conveyor base frame ......................................................... 76 8.5 Manually calibrating the conveyor base frame .......................................... 77
Copyright 2004-2010 ABB. All rights reserved.
9 Accelerating conveyors
81
9.1 System parameters.................................................................................... 82 9.1.1 Speed filters................................................................................... 83 9.1.2 Update rate of robot path............................................................... 84 9.1.3 Encoder pollrate............................................................................. 85 9.2 Predicting speed changes ......................................................................... 86 9.2.1 Setting up the signals .................................................................... 87 9.2.2 UseAccProfile - Use acceleration profile ....................................... 88
10 Indexing conveyors
91
10.1 Tracking indexing conveyors ................................................................... 92 10.1.1 Setting up tracking for an indexing conveyor............................... 93
3HAC16587-1 Revision G
Table of contents
10.1.2 System parameters...................................................................... 94 10.1.3 RAPID instructions....................................................................... 95 10.1.4 RecordProfile ............................................................................... 96 10.1.5 WaitAndRecProf .......................................................................... 97 10.1.6 StoreProfile .................................................................................. 99 10.1.7 LoadProfile................................................................................. 100 10.1.8 ActivateProfile............................................................................ 101 10.1.9 DeactProfile ............................................................................... 102 10.1.10 CnvGenInstr............................................................................. 103 10.2 Indexing conveyor with servo control..................................................... 105 10.2.1 Setting up a servo controlled indexing conveyor ....................... 106 10.2.2 System parameters and configuration files................................ 107 10.2.3 Testing the indexing conveyor setup ......................................... 112 10.2.4 Calibrating the base frame......................................................... 113 10.2.5 indcnvdata ................................................................................. 114 10.2.6 IndCnvInit................................................................................... 115 10.2.7 IndCnvEnable and IndCnvDisable............................................. 116 10.2.8 IndCnvReset .............................................................................. 117 10.2.9 IndCnvAddObject....................................................................... 118 10.2.10 RAPID programming example ................................................. 119 10.2.11 Minimizing trigger time............................................................. 122
123
11.1 About conveyor tracking and MultiMove ............................................... 123 11.2 Two application examples ..................................................................... 124 11.2.1 Configuration example for UnsyncCnv ...................................... 125 11.2.2 Configuration example for SyncCnv .......................................... 127 11.3 Tasks and programming techniques...................................................... 129
Copyright 2004-2010 ABB. All rights reserved.
11.3.1 Independent movements, example UnsyncCnv ........................ 130 11.3.2 Coordinated synchronized movements, example SyncCnv ...... 132 11.3.3 Motion principles........................................................................ 135 11.3.4 Combining synchronized and unsynchronized mode ........................ 135
3HAC16587-1 Revision G
3HAC16587-1 Revision G
Table of contents
Description
Overview of the conveyor tracking options and physical components. Describes the principles of conveyor tracking, the coordinate systems, and object queues. How to install the hardware and information on the hardware requirements. How to configure and calibrate a conveyor. Also describes how to track a conveyor with robot coordinated to a track. How to program conveyor tracking. A complete list of all generic conveyor system parameters (parameters for specific applications are not included here). Description of RAPID instructions used for all types of conveyor tracking (instructions and data types for specific applications are not included here). How to configure and program advanced queue tracking. How to configure and calibrate a circular conveyor. How to configure and calibrate an accelerating conveyor. How to configure an indexing conveyor, either with or without control from the IRC5 controller.
Installation Configuration
RAPID reference
Copyright 2004-2010 ABB. All rights reserved.
Advanced queue tracking Circular conveyor tracking Accelerating conveyor tracking Indexing conveyors
Conveyor tracking and MultiMove How to configure and program for MultiMove systems.
3HAC16587-1 Revision G
References The manual contains references to the following information products: Reference
Product manual - IRC5 Product manual, Control Cabinet IRC5P Operating manual - IRC5 with FlexPendant Operating manual, IRC5P Operating manual - RobotStudio Technical reference manual - System parameters Technical reference manual - RAPID instructions, functions and data types Technical reference manual - RAPID overview Application manual - Additional axes and standalone controller Application manual - Engineering tools Application manual - MultiMove
Document ID
3HAC021313-001 3HNA009834-001 3HAC16590-1 3HNA008861-001 3HAC032104-001 3HAC17076-1 3HAC16581-1 3HAC16580-1 3HAC021395-001 3HAC020434-001 3HAC021272-001
Revisions The following revisions of this manual have been released. Revision
... G
Description
Released with RobotWare 5.04. ... Released with RobotWare 5.13. The option Indexing Conveyor Control was added. The manual was restructured. References to IRC5P added.
3HAC16587-1 Revision G
3HAC16587-1 Revision G
A B C D E IRB
Synchronization switch Conveyor Encoder, 24 V Encoder interface, DSQC 377B IRC5 controller Robot
The encoder and synchronization switch are connected to the encoder interface, DSQC 377B. One encoder can be connected to several encoder interfaces. If more than one robot should track the conveyor, then each robot controller must have an encoder interface. Option Indexing Conveyor Control A typical installation when using the option Indexing Conveyor Control includes the following components:
A B C D E IRB
An extra drive unit and SMB needs to be installed, see Application manual - Additional axis and standalone controller.
10 3HAC16587-1 Revision G
1.2 Features
Accuracy In automatic mode, at 150 mm/s constant conveyor speed, the tool center point (TCP) of the robot will stay within +/- 2 mm of the path as seen with no conveyor motion. This is valid as long as the robot is within its dynamic limits with the added conveyor motion. This figure depends on the calibration of the robot and conveyor and is applicable for linear conveyor tracking only. Object Queue For the option Conveyor Tracking, the encoder interface will maintain a queue of up to 254 objects that have passed the synchronization switch. For the option Indexing Conveyor Control, the queue can contain up to 100 objects. Start window A program can choose to wait for an object that is within a window past the normal starting point, or wait for an object to pass a specific distance, or immediately take the first object in the object tracking queue. Objects that go beyond the start window are automatically skipped. RAPID access to queue and conveyor data A RAPID program has access to the number of objects in the object queue, and the current position and speed of the conveyor. A RAPID program can also remove the first object in the tracking queue or all objects in the queue. Maximum distance A maximum tracking distance can be specified to stop the robot from tracking outside of the working or safety area. Track follows conveyor
Copyright 2004-2010 ABB. All rights reserved.
If the robot is mounted on a linear track, then the system can be configured so that the track will follow the conveyor and maintain the relative position to the conveyor. The TCP speed relative the work object on the conveyor will still be the programmed speed. Enter and exit conveyor tracking in corner zones It is possible to enter and exit conveyor tracking via corner zones as well as via fine points. Use corner zones to achieve a minimum cycle time. Exit and re-enter conveyor tracking to same object It is possible to exit and re-enter to the same object on the conveyor unlimited times until the object moves outside the working area, reaches the maximum distance, or is explicitly dropped by the RAPID program.
3HAC16587-1 Revision G
11
Multiple conveyors Up to six conveyors are supported with the option Conveyor Tracking. Each encoder must be connected to an encoder interface. Up to two indexed conveyors can be used with the option Indexing Conveyor Control. Coordinated finepoint A finepoint can be programmed while moving relative to the conveyor. This conveyor coordinated finepoint will ensure that the robot stops moving relative to the conveyor and will follow the conveyor while the RAPID program continues execution. The robot will hold the position within +/- 0.7 mm depending on calibration of the robot and conveyor. Calibration of linear conveyors A calibration method is provided for easy calibration of the position and direction of the conveyor motion in the robots workspace. The linear conveyor may take any position and orientation.
12
3HAC16587-1 Revision G
1.3 Limitations
Small orientation error with SingArea\Wrist There can be a small orientation error of the TCP while following the conveyor and make long motions with SingArea\Wrist. This error can be eliminated by using several short movements with SingArea\Wrist. Robot mounted on track If the robot is mounted on a track and the track is to be used to follow the conveyor motions, then the track and conveyor must be parallel. The motion on the track and the motion on the conveyor must have the same direction of positive motion. See Configuring a track motion following a conveyor on page 39. Calibrating circular conveyors There are no built-in methods for calibrating circular conveyors. This can be evaded by calculating a quaternion orientation manually or with other tools during base frame calibration. Additional axes For the option Conveyor Tracking, each conveyor is considered an additional axis. Thus the system limitation of 6 active additional axes must be reduced by the number of active and installed conveyors. The first installed conveyor will use measurement node 6 and the second conveyor will use measurement node 5. These measurement nodes are not available for additional axes and no resolvers should be connected to these nodes on any additional axes measurement boards. For the option Indexing Conveyor Control, each conveyor is considered as two additional axes. Object queue lost on warm start or power failure
Copyright 2004-2010 ABB. All rights reserved.
The object queue is kept on the encoder interface. If the system is restarted with a warm start or if the power supply to either the IRC5 controller or the encoder interface fails, then the object queue will be lost. Minimum and maximum speed The minimum conveyor speed to maintain smooth and accurate motions depends on the encoder selection. It can vary from 4 mm/s to 8 mm/s. See Minimum and maximum counts per second on page 21. There is no explicit maximum speed for the conveyor. Accuracy will degrade at speeds above the specification and with high speed robot motions or with very high conveyor speeds (> 500 mm/s) and the robot will no longer be able to follow the conveyor. WaitWObj after DropWObj If a WaitWObj instruction is used immediately after a DropWObj instruction, it may be necessary to add a WaitTime 0.1; after the DropWObj instruction.
3HAC16587-1 Revision G
13
14
3HAC16587-1 Revision G
Connecting to a work object The RAPID instruction WaitWObj is used to wait for a work object on the conveyor before starting conveyor coordinated motion. When the WaitWObj instruction is successful then the conveyor work object is said to be connected to the RAPID program. See WaitWObj - Wait for work object on conveyor on page 61. Once a RAPID program has connected to a work object on the conveyor then robot motion instructions and jogging commands can use this work object just as any other work object. When using the conveyor connected coordinated work object then all motions are relative to the work object on the conveyor. The robot can switch between the conveyor coordinated work object and another coordinated work object in the system, but only one conveyor work object can be connected. Disconnecting from a work object The work object will remain connected until one of the following occurs:
A DropWObj instruction is issued The maximum distance defined for the conveyor is reached Controller is restarted Power failure
The connection to the work object will not be lost when deactivating the conveyor mechanical unit, and will return on re-activation. The instruction DropWObj ends the connection before the maximum distance is reached. After a DropWObj instruction is issued it is possible to immediately wait for and connect to the next work object in the conveyor object queue.
3HAC16587-1 Revision G
15
A B C D E F G 1-7
Synchronization switch Work object user frame Minimum distance (minimum distance) Start window width (StartWinWidth) Working area Queue tracking distance (QueueTrckDist) Maximum distance (maximum distance) Objects on conveyor
The conditions and states of objects 1...7 can be described as in the table below. For descriptions of the system parameters StartWinWidth and QueueTrckDist see Type Fieldbus Command on page 56. For descriptions of the system parameters minimum distance and and maximum distance see Type Conveyor systems on page 57.
Object 1 Object 2 This object is connected as indicated by the coordinate frame attached to the objects position on the conveyor. Object 2 is outside the start window and is no longer tracked. This object will be skipped and cannot be connected by a WaitWObj instruction. It is skipped because the conveyor speed is such that coordination with the object could not be completed before the object moves outside the maximum distance or work area of the robot. These objects are within the start window and are tracked. If object 1 is dropped via a DropWObj instruction then object 3 is the next object to be connected when a WaitWObj instruction is issued. Because objects 3 and 4 were in the start window, the WaitWObj instruction will not wait but return immediately with object 3. These objects lie within the queue tracking distance and are tracked. If objects 3 and 4 were not present, then a WaitWObj instruction would stop program execution until object 5 entered the start window. This object has not yet passed the synchronization switch and has not yet been registered.
Copyright 2004-2010 ABB. All rights reserved.
Objects 3 and 4
Table 1
16
3HAC16587-1 Revision G
A B C D E F G H J K
Synchronization switch Base frame for conveyor User frame Object frame Minimum distance Start window width Queue tracking distance Maximum distance World frame Base frame for robot
The above graphic shows the principle coordinate frames used in conveyor tracking. See the table below. Coordinate system
Base frame of robot World frame Base frame of conveyor User frame, coordinated to conveyor Object frame (not shown)
Relative to
World frame N.a. World frame World frame via base frame of conveyor. User frame
3HAC16587-1 Revision G
17
Key frames and positions The two key frames in conveyor tracking are the base frame for the conveyor and the user frame in the conveyor coordinated work object. The position of user frame in the conveyor coordinated work object is determined from the position of the conveyor base frame and the linear position of the conveyor in meters. The encoder interface provides the position of the conveyor relative the synchronization switch and the Queue Tracking Distance. When the encoder interface sends a value of 0.0 meters to the IRC5 controller, then the user frame for the conveyor coordinated work object coincides with the base frame of the conveyor. As the conveyor moves, then the user frame in the conveyor coordinated work object moves along the x-axis of the conveyor base frame. Related information See Technical reference manual - RAPID overview, and Operating manual - IRC5 with FlexPendant.
18
3HAC16587-1 Revision G
Installation
Hardware connections
2 Installation
2.1 Hardware connections
Introduction to hardware installation For the option Conveyor tracking, the conveyor is connected to the IRC5 controller using an encoder and an encoder interface (DSQC 377B). See Installing the encoder for conveyor tracking on page 20. For the option Indexing Conveyor Control, the conveyor is controlled by a motor unit (ABB or other). See Installing the additional axis for servo control on page 106. Related information If the conveyor is used with IRC5P (for paint applications), see Product Manual, Control Cabinet IRC5P.
3HAC16587-1 Revision G
19
Installation
Installing the encoder for conveyor tracking
An example encoder is the Lenord & Bauer GEL 262. Technical specification for encoder interface DSQC 377B
Power supply Operating temperature Encoder frequency Encoder input current Digital input current 24 VDC, typically 50 mA, maximum 200 mA +5C - +60C 0 - 20 kHz 6.8 mA at 24 VDC* 6.8 mA at 24 VDC*
Copyright 2004-2010 ABB. All rights reserved.
20
3HAC16587-1 Revision G
Installation
Installing the encoder for conveyor tracking
Maximum speed
3HAC16587-1 Revision G
21
Installation
Encoder location
22
3HAC16587-1 Revision G
Installation
Connecting the encoder to the encoder interface
3HAC16587-1 Revision G
23
Installation
Connecting the encoder to the encoder interface
Connection for PNP encoder The below diagram shows a common encoder for two robots.
A B C
Robot 1 Robot 2 Encoder interface or queue tracking unit (with galvanic insulation) Opto Encoder External power Encoder 1 Do not connect internal supply if external is used. DSQC 354, DSQC 377, DSQC 377A, DSQC 377B. The units support only PNP and 'push-pull' (E2) encoders.
D E F G
24
3HAC16587-1 Revision G
Installation
Connecting the encoder to the encoder interface
H DI1 DI2
Used for backup encoder only. Used for backup encoder only.
If digital input is used as common sync switch, use the same connection method as for encoder. 24 V initiators with PNP or push-pull outputs can be used. Related information See Product manual - IRC5, for details on connecting the encoder to the encoder interface.
3HAC16587-1 Revision G
25
Installation
Synchronization switch
26
3HAC16587-1 Revision G
Installation
Connecting the encoder interface to the robot controller
3HAC16587-1 Revision G
27
Installation
Connecting the encoder interface to the robot controller
28
3HAC16587-1 Revision G
Configuration
Configuration and calibration
3 Configuration
3.1 Configuration and calibration
Introduction This section describes how to configure and calibrate the conveyor and encoder (if used) with respect to the robot and the robot world frame. The encoder descriptions in this chapter are only valid for the option Conveyor Tracking. Other descriptions apply also to the option Indexing Conveyor Control. Related information If the conveyor is used with IRC5P (painting), see Operators Manual, IRC5P.
3HAC16587-1 Revision G
29
Configuration
Direction of positive motion from the encoder
30
3HAC16587-1 Revision G
Configuration
Calibrating CountsPerMeter and QueueTrckDist
Calculating CountsPerMeter Move an object past the sync switch and stop the conveyor. Read the conveyor position from the Jogging window, position_1. Move the conveyor at least 1 meter and read position_2. The accuracy will be best if this distance is large as possible within the workspace. Use a tapemeasure (or differences in robot tool position) to find the exact distance between position_1 and position_2. This is called measured_meters. Use this formula to calculate Counts Per Meter:
3HAC16587-1 Revision G
31
Configuration
Calibrating the conveyor base frame
Synchronization Switch
QueueTrckDist
Base Frame z
y
x
0.0 m
Conveyor distance
Graphic 4: Definition points for a Linear Conveyor
Before defining the 4 positions, an object must be defined on the conveyor: Creating the work object Use this procedure to create a work object (applicable for the option Conveyor tracking). To create a work object for a servo controlled indexing conveyor, see Creating the work object on page 113. Action
1. Step forward through a RAPID program containing the two instructions:
Note
Define the conveyor coordinated work object, see Defining a conveyor coordinated work object on page 46
Note! Once a object is on the conveyor and beyond the 0.0 m point, it is possible to use the base frame calibration method to define the conveyor position and orientation in the workspace.
32
3HAC16587-1 Revision G
Configuration
Calibrating the conveyor base frame
Calibrating the base frame Use this procedure to calibrate the conveyor base frame (applicable for both Conveyor Tracking and Indexing Conveyor Control). Action
1. 2. 3. 4. 5. 6. 7. 8. Open the Calibration window on the FlexPendant and select the conveyor. Tap Base Frame. Tap 4 Point. Select the first point, Point 1. This point will be the origin for the user frame in the conveyor coordinated work object. Point out Point 1 on the object on the conveyor with the robots TCP. Modify the position by tapping ModPos. Move the conveyor in the positive direction and repeat the above for the points 2, 3, and 4. Tap OK to calculate the base frame for the selected conveyor mechanical unit. A dialog with the calibration result is shown. The calculation log shows the conveyor base frame expressed in the world coordinate system, see Calculation result for the base frame on page 33. To save calculation result in a separate file for later use in a PC: Tap File. Specify a name and a location where to save the result. Tap OK.
9.
10. If the estimated error is: Acceptable, tap OK to confirm the new user frame. Not acceptable, tap Cancel and redefine. 11. Restart the controller and verify the results of the calibration. See Verifying the calibration on page 34.
Field
Unit List contents Method Mean error Max error Cartesian X Cartesian Y Cartesian Z Quaternion 1-4
Description
The name of the mechanical unit for which the definition of base frame has be done. Description Displays the selected calibration method. The accuracy of the robot positioning against the reference point. The maximum error for one positioning. The x coordinate for the base frame. The y coordinate for the base frame. The z coordinate for the base frame. Orientation components for the base frame.
3HAC16587-1 Revision G
33
Configuration
Calibrating the conveyor base frame
Verifying the calibration After restarting the controller, use this procedure to verify the conveyor base frame calibration. Action
1. Create a work object, see: Creating the work object on page 32, for Conveyor Tracking. 2. 3. 4. 5. Calibrating the base frame on page 113, for Indexing Conveyor Control. Move the robot tool center point back to the previously chosen point 1 on the work object. From the Jogging window, read the X, Y, Z position of the tool center point. Use the accurate tool and use wobjcnv1. The robots TCP x, y, and z position in the work object coordinates should be 0.0 mm (or very close to that). Select WObj: wobjcnv1 together with Coord: WObj in the Jogging window and jog the robot in the conveyors x, y, and z directions. Verify that the x-direction is in the direction of positive motion of the conveyor.
34
3HAC16587-1 Revision G
Configuration
Defining conveyor start window and sync separation
3HAC16587-1 Revision G
35
Configuration
Defining the conveyor maximum and minimum distances
36
3HAC16587-1 Revision G
Configuration
Defining the robot adjustment speed
3HAC16587-1 Revision G
37
Configuration
Additional adjustments
38
3HAC16587-1 Revision G
Configuration
Configuring a track motion following a conveyor
Yconveyor
Conveyor direction
X conveyor
X robot
X
World, Track
Conveyor quaternion: 1, 0, 0, 0 Robot base quaternion: 0.7071, 0, 0, 0.7071 Track base quaternion: 1, 0, 0, 0
Graphic 5: Example Configuration of track and conveyor directions
Recommendations for programming Avoid moving the track when programming the conveyor coordinated instructions in the RAPID program. All motions of the track relative to the conveyor are saved and played back during conveyor tracking. Tracks typically have an acceleration ability that is far below that of the robot joints. If the track must move relative to the object then this will require an acceleration that will cause a reduction of the robots TCP speed along the path in order to maintain coordination.
3HAC16587-1 Revision G
39
Configuration
Configuring a track motion following a conveyor
Tracking the conveyor with a robot instead of a track If the robot base is not coordinated with the track axis, then the robot will do conveyor tracking without using the track. If the robot base frame is coordinated with the track, and conveyor tracking with the robot (instead of the track) is wanted, then change the parameter Track Conveyor With Robot in the type Robot (topic Motion). See Type Robot on page 59.
40
3HAC16587-1 Revision G
Configuration
Installing conveyor tracking software
The conveyor tracking software will automatically install an external I/O configuration for the encoder interface on a virtual bus. Before the DSQC 377B can be used the configuration needs to be changed so that the correct bus and address for the card is specified. Action
1. 2. Connect the DSQC 377B to the DeviceNet bus. Note the DeviceNet address on the unit. In RobotStudio of FlexPendant, change the following system parameters: Change the bus for the unit from Virtual1 to the correct bus, for example DeviceNet1. System parameter Connected to bus in the type Unit. Specify the correct address for the unit. System parameter DeviceNet Master Address in the type Unit.
If DeviceNet Master Address is changed, then the parameter Default Value (in the type Fieldbus Command Type) for the instance TimeKeeperInit must be changed to the same value. 3. In RobotStudio or FlexPendant, open the Configuration editor and reload the calibration parameters. Load the original file cnv1_moc.cfg from Mediapool\RobotWare_5.XX.XXXX\options\cnv Restart the system. There should be no errors and the CNV1 mechanical unit should be available in the Jogging window on the FlexPendant.
4.
Reloading saved Motion parameters If the CNV1 mechanical unit does not appear on the FlexPendant then the Motion parameters must be reloaded manually in RobotStudio or the FlexPendant, from Mediapool\RobotWare_5.XX.XXXX\options\cnv\cnv1_moc.cfg
3HAC16587-1 Revision G
41
Configuration
Installing additional conveyors for conveyor tracking
The CNV1, CNV2... CNV6 mechanical units should now be available in the Jogging window on the FlexPendant.
42
3HAC16587-1 Revision G
Programming
Programming conveyor tracking
4 Programming
4.1 Programming conveyor tracking
Prerequisites To create a program that uses conveyor tracking and a conveyor coordinated work object, a work object must be present in the start window. An object must be moved into the start window. If there are several objects already on the conveyor, then it can be necessary to first clear the object queue and then move the conveyor. Related information If the conveyor is used with IRC5P (painting), see Operators Manual, IRC5P.
3HAC16587-1 Revision G
43
Programming
Working with the object queue
Description
Group input showing the number of objects in the object queue. Remove First Pending Object from the object queue. Setting this signal will cause the first pending object to be dropped from the object queue. Pending objects are objects that are in the queue but are not connected to a work object. Remove All Pending Objects. Setting this signal will empty all objects from the object queue. If an object is connected, then it is not removed. Setting this signal will drop the tracked object and disconnect that object. The object is removed from the queue.This should not be set from RAPID, use a DropWobj instruction instead.
c1RemAllPObj c1DropWObj
44
3HAC16587-1 Revision G
Programming
Activating the conveyor
3HAC16587-1 Revision G
45
Programming
Defining a conveyor coordinated work object
Defines if a fixed user coordinate system is used: FALSE ufmec -> Movable user coordinate system, that is, coordinated to conveyor. (user frame mechanical unit) Data type: string
The conveyor mechanical unit with which the robot movements are coordinated. Specified with the name that is defined in the system parameters, for example CNV1.
46
3HAC16587-1 Revision G
Programming
Waiting for a work object
3HAC16587-1 Revision G
47
Programming
Programming the conveyor coordinated motion
ActUnit CNV1; ConfL/Off; MoveL waitp, v1000, fine, tool; WaitWObj wobjcnv1; 2.
Single-step the program past the WaitWObj instruction. If there is an object already in the start window on the conveyor then the instruction will return, else execution will stop while waiting for an object on the conveyor. Run the conveyor until a work object is created. The program exits the WaitWObj and is now connected to the object. Stop the conveyor with the object in an accessible position on the workspace. Program the MoveL, MoveC, PaintL, or PaintC instructions using the wobjcnv1 conveyor coordinated work object. End the coordinated motion with a fixed-frame work object (not coordinated to the conveyor). Note that this is the only way to end the use of the work object. Add a DropWObj wobjcnv1; instruction. If this is the end of the program, or the conveyor is no longer needed, then add a DeactUnit CNV1; instruction.
3.
4. 5. 6. 7.
Example The following program shows an example for a conveyor tracking program. ConfL\Off; MoveJ p0, vmax, fine, tool1; ActUnit CNV1; WaitWObj wobjcnv1; MoveL p10, v1000, z1, tool1\Wobj:=wobjcnv1; MoveL p20, v1000, z1, tool1\Wobj:=wobjcnv1; MoveL p30, v500, z20, tool1\Wobj:=wobjcnv1; MoveL p40, v500, fine, tool1; DropWObj wobjcnv1; MoveL p0, v500, fine; DeactUnit CNV1;
48
3HAC16587-1 Revision G
Programming
Dropping a work object
3HAC16587-1 Revision G
49
Programming
Entering and exiting conveyor tracking motion in corner zones
50
3HAC16587-1 Revision G
Programming
Information on FlexPendant
3HAC16587-1 Revision G
51
Programming
Programming considerations
affect conveyor tracking with coordinated track. They also have effect on the sensor taught position. Power fail restart is not possible with the synchronization option.
52
3HAC16587-1 Revision G
Programming
Finepoint programming
3HAC16587-1 Revision G
53
Programming
Operating modes
Operation in manual full speed mode (100%) Operation in manual mode (100%) is similar to operation in automatic mode. The program can be run by pressing and holding the start button, but once a WaitWObj instruction has been executed then it is no longer possible to step through the program with the forward and backward buttons while the conveyor is moving. Stop and restart When the start button is released, or emergency stop is pressed, the robot will stop immediately. If the program was stopped after a WaitWObj then the coordinated work object will not be lost but if the conveyor is moving then the object will quickly move out of the working area. It is not possible to restart from the current instruction and the program must be restarted either from the Main routine or with a WaitWObj instruction.
54
3HAC16587-1 Revision G
System parameters
5 System parameters
Introduction This chapter describes system parameters used for all conveyor tracking options. Some parameters that are specific for only one option are presented in procedure context if they need to be changed. All basic system parameters and the system parameter principles are listed in Technical reference manual - System parameters. System parameters are modified using the Configuration Editor in RobotStudio or on the FlexPendant.
3HAC16587-1 Revision G
55
System parameters
Topic I/O
Description
Gives the number of quadrature pulses per meter of motion of the conveyor. Should be in the range of 5000-10000 for linear conveyors. Sync signal separation (meters), this distance defines the minimum distance that the conveyor must move after a sync signal before a new sync signal is accepted as a valid object. The queue tracking distance defines the placement of the 0.0 meter point relative to the synchronization switch on the conveyor. All objects in this distance are tracked. The position returned for the object will be negative, relative to the 0.0 m point. All objects in this distance are tracked, but connection is not allowed until an object has passed 0.0 meters. This distance defines the start window. The start window defines the area that if a program starts using an object within the window, then all program coordination can end before the maximum distance or work area is reached. All objects within this window are tracked and are eligible for use in a coordinated work object. A WaitWObj instruction will connect to the first object in the window. Specifies the location of the real part of the poles in the left-half plane (in Hz). This is the break frequency for the speed filters in the encoder interface and regulates how hard the speed is filtered in the encoder interface. For stop and go conveyors this parameter should be set between 10 and 15 Hz to have a good accuracy during stop and start.
Copyright 2004-2010 ABB. All rights reserved.
SyncSeparation
QueueTrckDist
StartWinWidth
IIRFFP
56
3HAC16587-1 Revision G
System parameters
Topic Process
Description
The speed (in mm/s) at which the robot should catch up to the conveyor. It must be higher than the conveyor speed or the robot may never catch up to the conveyor.The adjustment speed must not be higher than 130% of conveyor speed to reduce perturbations on robot speed. The minimum distance (in millimeters) that a connected object can have before being automatically dropped. If an object is dropped during coordinated motion, then the motion is stopped and an error is produced. The maximum distance (in millimeters) that a connected object can have before being automatically dropped. If an object is dropped during coordinated motion, then the motion is stopped and an error is generated. The number of samples used to ramp down the correction when tracking is stopped. When tracking with a track axis this parameter should be increased to 30. For a robot switching between conveyors increasing the stop ramp will increase the distance needed to reach accurate tracking on next conveyor. For example, for an IRB 360 10 steps of 12 ms at 5 m/s this means 0.6 meters. The number of samples used to ramp up the correction when starting tracking. When tracking with a high speed conveyor this parameter can be increased. During the ramping the accuracy of tracking is not reached so be careful when increasing this parameter. For an IRB 360 the best choice is to use the default value (5) if the load not more than 1 kg. When switching between 2 conveyors with short distance between pick and place the use of time interpolation is the optimal solution. For example, put the robot in a wait position just above the pick conveyor with a very short distance to pick position. In this case a low speed or time interpolation should also be used. The maximum acceleration (in mm/s2) at which robot should catch up to the conveyor. By default no limitation. For big robots and heavy load or limited robot acceleration (like use of AccSet or PathAccLim) it can be necessary to set Adjustment accel according to the robot performances. With robot on track or trolley tracking with the track the performance of the track is automatically used. This parameter must be adjusted when the robot cannot continue its path but remains tracking the same position on the conveyor. For big robots like IRB 6600 Adjustment accel should be set around 1000 if conveyor speed is higher than 150 mm/s. The number of samples used for average filter of conveyor speed. Maximum value is 50. Default value 1, which equals no filter. Should be used only in case of high level of noise on conveyor speed and speed reduction on robot due to this noise.
minimum distance
maximum distance
Stop ramp
Start ramp
Adjustment accel
3HAC16587-1 Revision G
57
System parameters
Topic Process
Parameter
Description
Acc dependent filter Specifies the acceleration dependent filter. Default value is 1 m/s2. To value get good accuracy during acceleration this value should be set equal to the maximum acceleration of the conveyor. A low value means harder filtering. If there is a problem with noise this parameter should be reduced. If an IRB 360 is used for fast picking this parameter should be set to 0, this will turn off the filtering to improve the response times. syncfilter ratio Defines how fast the robot should adjust the speed to the conveyor speed. Default value is 0.8. For IRB 360 this can be reduced to 0.5 to improve the accuracy in fast pick and place applications. A too low value might result in jerky movements.
Type Conveyor can sensor The instance is named CAN1. The type Conveyor can sensor is used for the option Conveyor Tracking. The option Indexing Conveyor Control uses the type Conveyor Internal, see Type Conveyor Internal on page 108. Parameter
Eio unit name Connected signal Position signal Velocity signal Null_speed signal Data ready signal WaitWObj signal DropWObj signal ObjLost signal
Description
Name of the I/O unit. Name of the digital input signal for connection. Name of the analog input signal for conveyor position. Name of the analog input signal for conveyor speed. Name of the digital input signal indicating zero speed on the conveyor. Name of the digital input signal indicating a poll of the encoder interface. Name of the digital output signal to indicate that a connection is desired to an object in the queue. Name of the digital output signal to drop a connected object on the encoder interface.
Copyright 2004-2010 ABB. All rights reserved.
Name of the digital input signal to indicate that an object has gone past the start window without being connected.
Supervise max_dist Boolean to remove supervision of maximum and minimum distance. Off Rem1PObj signal RemAllPObj sig Name of digital output signal to drop first pending object in encoder interface queue Name of digital output signal to drop all pending objects in encoder interface queue
58
3HAC16587-1 Revision G
System parameters
Topic Motion
Description
The name of the unit, usually CNV1, CNV2 etc. This name is used in the Jogging window and from the program, for example when a unit should be activated. Defines if the conveyor should be activated automatically at start. Defines if the conveyor is allowed to be deactivated.
Type Motion Planner The instance is named motion_planner. See Regulating CPU load and accuracy on page 38. Parameter
Path Resolution
Description
The parameter corresponds in some sense to the distance between two points in the path. Increasing path resolution means increasing the distance, which leads to a decrease in the resolution of the path. Determines how often the process path information is calculated. Defines how long the robot waits when starting from a finepoint, that is how many positions will be calculated in advance by the motion planner Default value is motion_planner_1 for the first robot. Using 3steps mp1 will give a shorter time when starting from finepoint but with the risk that sometimes the robot will stop with warning 50024 (Corner zone executed as finepoint) on first move. mp1 stands for motion planner 1, that is, robot 1.
Type Robot The instance is named ROB_1, ROB_2 etc. See Additional adjustments on page 38, and Configuring a track motion following a conveyor on page 39. Parameter
Use kinematic for corvec
Description
If Yes, the position adjustment is made on six axes and as accurately as possible both in position and orientation. This is the default option for many robot types and should be used in most cases. This has no effect on coordinated track. If Yes, the position adjustment is made on six axes, and the orientation of the tool is exact. This has no effect on coordinated track. This option is only possible on six axis robots including IRB 640 and IRB 660 (where axes 4 and 5 are locked). Using this parameter takes slightly less CPU time than Use kinematic for corvec does. If Use kinematic for corvec is used then this parameter has no effect.
3HAC16587-1 Revision G
59
System parameters
Topic Motion
Parameter
Corvec correction level
Description
Defines how often corrections of robot positions are done. Default is 1. Increasing the value gives corrections more often. Should be set to 2 or 3 to get good accuracy during acceleration. For big robots like IRB 6600 it should be set to 1. Increasing it for big robots can lead to jerky movements. If Yes, the robot is allowed to start the tracking of an object that has not yet entered the work area of the robot. This means that the robot will start moving against an object even if it at that time is not reachable for the robot. If the object is reachable by the time the robot reaches its final destination the robot will continue the tracking operation. If the object cannot be reached by that time the robot will stop at the work area limit. If Yes, then the robot will track the conveyor without using the track axis even if robot is coordinated with the track. Default value is NO. Defines the maximum position adjustment allowed in the servo task. Can be increased for big robots with heavy load and high conveyor speed if error 50163 occurs. First verify that Adjustment speed and Adjustment accel are correctly defined (see Type Conveyor systems on page 57). Default value 0.2, maximum 0.8, minimum 0.1. Defined in meters. If increased, Start ramp and Stop ramp should also be increased to 20 or 30 (see Type Conveyor systems on page 57).
Type Single The instance is named CNV1. See Calibrating the conveyor base frame on page 32. Parameter
Base frame x Base frame y Base frame z Base frame q1-q4
Description
Defines the x, y, and z-direction of the base frame position in relation to the world frame (in meters). Defines the quarternions of the base frame orientation in relation to the world frame. That is, the orientation of the conveyor base coordinate system.
Copyright 2004-2010 ABB. All rights reserved.
Description
Defines what type of mechanics the single type uses.
Description
Defines if the conveyor is rotating (Yes) or linear (No).
60
3HAC16587-1 Revision G
RAPID reference
Instructions
6 RAPID reference
6.1 Instructions
Introduction These instructions are available for all types of conveyor tracking. Instructions and data types for specific applications are described in context.
mechanical unit. Example WaitWObj wobj_on_cnv1; The program connects to the first object in the object queue that is within the start window on the conveyor. If there is no object in the start window then execution stops and waits for an object. Arguments WaitWObj WObj WObj [\RelDist][\MaxTime][\TimeFlag] (Work Object) Data type: wobjdata
The moving work object (coordinate system) to which the robot position in the instruction is related. The mechanical unit conveyor is to be specified by the ufmec in the work object. [\RelDist]
Copyright 2004-2010 ABB. All rights reserved.
(Relative Distance)
Waits for an object to enter the start window and go beyond the distance specified by the argument. If the work object is already connected, then execution stops until the object passes the distance. If the object has already gone past the relative distance then execution continues. [\MaxTime] (Maximum Time) Data type: num
The maximum period of waiting time permitted, expressed in seconds. If this time runs out before the sensor connection or relative distance is reached, the error handler will be called, if there is one, with the error code ERR_WAIT_MAXTIME. If there is no error handler, the execution will be stopped. [\TimeFlag] (Timeout Flag) Data type: bool
The output parameter that contains the value TRUE if the maximum permitted waiting time runs out before the sensor connection or relative distance is reached. If this parameter is included in the instruction, it is not considered to be an error if the maximum time runs out. This argument is ignored if the MaxTime argument is not included in the instruction.
3HAC16587-1 Revision G
61
RAPID reference
WaitWObj - Wait for work object on conveyor
Program execution If there is no object in the start window then program execution stops. If an object is present, then the work object is connected to the conveyor and execution continues. If a second WaitWObj instruction is issued while connected then an error is returned unless the \RelDist optional argument is used. More examples Example 1 WaitWObj wobj_on_cnv1\RelDist:=500.0; If not connected, then wait for the object to enter the start window and then wait for the object to pass the 500 mm point on the conveyor. If already connected to the object, then wait for the object to pass 500 mm. Example 2 WaitWObj wobj_on_cnv1\RelDist:=0.0; If not connected, then wait for an object in the start window. If already connected, then continue execution as the object has already gone past 0.0 mm. Example 3 WaitWObj wobj_on_cnv1; WaitWObj wobj_on_cnv1\RelDist:=0.0; The first WaitWObj connects to the object in the start window. The second WaitWObj will return immediately if the object is still connected, but will wait for the next object if the previous object had moved past the maximum distance or was dropped. WaitWObj wobj_on_cnv1\RelDist:=500.0\MaxTime:=0.1\Timeflag:=flag1; The WaitWobj will return immediately if the object has passed 500 mm but otherwise will wait 0.1 sec for an object. If no object passes 500 mm during this 0.1 sec the instruction will return with flag1 =TRUE.
Example 4
Limitations 50 ms is required to connect to the first object in the start window. Once connected, a second WaitWObj instruction with \RelDist optional argument will take only normal RAPID instruction execution time. Error handling If following errors occur during execution of the WaitWobj instruction, the system variable ERRNO will be set. These errors can then be handled in the error handler.
ERR_CNV_NOT_ACT ERR_CNV_CONNECT ERR_CNV_DROPPED The conveyor is not activated. The WaitWobj instruction is already connected. The object that the instruction WaitWobj was waiting for has been dropped by another task (DSQC 377B: an object had passed the start window). The object did not come in time and there is no Timeflag.
Copyright 2004-2010 ABB. All rights reserved.
ERR_WAIT_MAXTIME
62
3HAC16587-1 Revision G
RAPID reference
WaitWObj - Wait for work object on conveyor
Syntax WaitWObj [ WObj ':=']< persistent (PERS) of wobjdata> ';' [ '\' RelDist ':=' < expression (IN) of num > ] [ '\' MaxTime ':=' <expression (IN) of num>] [ '\' TimeFlag ':=' <variable (VAR) of bool>] ';' Related information
See
DropWObj - Drop work object on conveyor on page 64. Technical reference manual - RAPID Instructions, Functions and Data Types
3HAC16587-1 Revision G
63
RAPID reference
DropWObj - Drop work object on conveyor
is ready for the next. Example MoveL *, MoveL *, DropWObj MoveL *, Arguments DropWObj WObj WObj (Work Object) Data type: wobjdata v1000, z10, tool, \WObj:=wobj_on_cnv1; v1000, fine, tool, \WObj:=wobj0; wobj_on_cnv1; v1000, z10, tool, \WObj:=wobj0;
The moving work object (coordinate system) to which the robot position in the instruction is related. The mechanical unit conveyor is to be specified by the ufmec in the work object. Program execution Dropping the work object means that the encoder interface not longer tracks the object. The object is removed from the object queue and cannot be recovered. Limitations If the instruction is issued while the robot is actively using the conveyor coordinated work object then the motion stops. The instruction can be issued only after a fixed work object has been used in the preceding motion instructions with either a fine point or several (>1) corner zones.
Copyright 2004-2010 ABB. All rights reserved.
Syntax DropWObj [ WObj ':='] < persistent (PERS) of wobjdata> ';' Related information
See
WaitWObj - Wait for work object on conveyor on page 61. Technical reference manual - RAPID Instructions, Functions and Data Types
64
3HAC16587-1 Revision G
3HAC16587-1 Revision G
65
Description
Group input showing the number of objects in the object queue. These objects have passed the synchronization switch but have not gone outside the start window. Remove first pending object from the object queue. Setting this signal will cause the first pending object to be dropped from the object queue. Pending objects are objects that are in the queue but are not connected to a work object. Remove all pending objects. Setting this signal will cause the encoder interface to empty all objects from the object queue. If an object is connected, then it is not removed. Setting this signal will cause the encoder interface to drop the tracked object and disconnect that object. The object is removed from the queue. This should not be set from RAPID, use the DropWobj instruction instead. DI new position from the encoder node to enter the job queue. GI counter value from encoder to main controller - low word. GI counter value from encoder to main controller - high word. DO strobe for a 32-bit position to the encoder node from the job queue. GO counter value from main controller to encoder - low word. GO counter value from main controller to encoder - high word. DI scaled-down encoder pulses. DO run this job even if the checkpoint should fail. DO send the position to MC to be stored in the job queue. (0 = Queue-tracking disabled. Same mode as DSQC 354)
Copyright 2004-2010 ABB. All rights reserved.
c1Rem1PObj
c1RemAllPObj
c1DropWObj
c1NewObjStrobe c1CntFromEnc1 c1CntFromEnc2 c1CntToEncStr c1CntToEnc1 c1CntToEnc2 c1ScaleEncPuls c1ForceJob c1PosInJobQ c1PassedStWin
DI notifies the main computer that an object has passed out of the start window (object lost). If the main process is waiting in a WaitWObj instruction, the program pointer will be moved to the nearest error handler, so appropriate action can be taken, for example pop the job queue. DI: 0 = Encoder A selected, 1= Encoder B selected DI Encoder A Fault DI Encoder B Fault DI direction of travel DI simulating mode DI power up status: Counters have been lost. DO puts the encoder interface in to simulation mode. DO soft-sync signal. Simulates Sync-input. DO soft-checkpoint signal. Simulates checkpoint input. DO: 0 = Encoder A selected, 1= Encoder B selected
c1EncSelected c1EncAFault c1EncBFault c1DirOfTravel: c1Simulating c1PowerUpStatus c1SimMode c1softSyncSig c1softCheckSig c1EncSelec
66
3HAC16587-1 Revision G
3HAC16587-1 Revision G
67
Note! Check Point Distance and Check Point Window Width must be set to zero when not used, or else this functionality can unintentionally drop objects from the queue.
68
3HAC16587-1 Revision G
3HAC16587-1 Revision G
69
70
3HAC16587-1 Revision G
3HAC16587-1 Revision G
71
72
3HAC16587-1 Revision G
2.44 rad
radius = 6 meter Y
Synch Switch
SyncSeparation = 0.005 rad At 6 m radius, = 30 mm QueueTrkDist = 0.017 rad At 6 m radius, = 100 mm
0.0 rad
Xworld
Yworld
Graphic 6: Example configuration of circular conveyor tracking
3HAC16587-1 Revision G
73
74
3HAC16587-1 Revision G
3HAC16587-1 Revision G
75
We recommend using the second method, with TCP as measuring tool. See TCP measurement method on page 78.
76
3HAC16587-1 Revision G
0.0 rad
X Y Y
0.0 rad
Xworld Yworld
Quaternion: 0.7071, 0, 0, 0.7071
Xworld Yworld
Quaternion: 0, 0.7071, -0.7071, 0
Base frame position and start window start calibration The conveyor base frame x, y, and z position must be specified relative to the world frame. This position must be calculated from the installation drawings or by using the robot as a measuring tool. Using the robot, one point can be marked on the edge of the circular conveyor and the TCP position is recorded for several points and the center point of the circle can be found. This is described in detail in the following section.
3HAC16587-1 Revision G
77
Defining the base frame orientation and start window start calibration The base frame quaternion defines where the 0.0 rad point is for the robot motion. The graphic below shows an example of the angles that are used when defining the base frame orientation for the circular conveyor:
Base
Synch switch
TP
Q
0.0 rad
Xworld
Q = TP = P = Base =
Yworld
Queue tracking distance angle Angle shown on FlexPendant Angle calculated from p_0 position Base frame angle to be converted to a quaternion
Graphic 8: Example measurement points for base frame calculation on a circular conveyor
78
3HAC16587-1 Revision G
Calculating the quaternion Use this procedure to calculate the quaternion for the base frame orientation. Action
1. 2. 3. Define a temporary conveyor base frame quaternion as 1, 0, 0, 0 Define a conveyor coordinated work object wobjcnv1 Step forward through a RAPID program containing the two instructions:
6.
7.
q1 q2 q3 q4
= = = =
cos ( Base 2 )
0.0 0.0
sin ( Base 2 )
Clockwise rotation:
q1 q2 q3 q4
= = = =
0.0
cos ( Base 2 ) sin ( Base 2 )
0.0
10. Enter the value for z (in meters) from p_0, and the values for the quaternions, q1, q2, q3, and q4, into the base frame for the conveyor, see Topic Motion on page 59.
3HAC16587-1 Revision G
79
Type
Transmission Single Type
Description
Defines if the conveyor is rotating (Yes) or linear (No). Defines the mechanical structure of the conveyor. Select EXT_ROT
80
3HAC16587-1 Revision G
Accelerating conveyors
9 Accelerating conveyors
Introduction This section describes how to optimize the tracking performance of accelerating and decelerating conveyors for the option Conveyor Tracking. This might be needed for example if good accuracy is needed during start and stop of the conveyor. To get good accuracy during tracking of accelerating conveyors it is important that all system parameters in the system are defined correctly. This chapter describes the parameters that are important for accelerating and decelerating conveyors. See System parameters on page 82. To further improve the accuracy it is possible to predict the speed change of the conveyor. This is done using a special RAPID function together with an I/O signal that is set just before the acceleration starts. See Predicting speed changes on page 86. For indexing conveyors, see Indexing conveyors on page 91. Prerequisites The conveyor and encoder must be set up and calibrated correctly, see Configuration and calibration on page 29.
3HAC16587-1 Revision G
81
Accelerating conveyors
System parameters
Note
See Speed filters on page 83. See Update rate of robot path on page 84.
82
3HAC16587-1 Revision G
Accelerating conveyors
Speed filters
Description
Specifies the location of the real part of the poles in the left-half plane (in Hz). This is the break frequency for the speed filters in the encoder interface and regulates how hard the speed is filtered. For accelerating conveyors this parameter should be defined to 10-15 Hz to have good accuracy during start and stop.
This parameter belongs to the type Conveyor Systems in the topic Process. Parameter Description
Acc dependent filter Specifies the setting of the acceleration dependent filter. Default value value is 1 m/s2. To get good accuracy during acceleration set it equal to the maximum acceleration of the conveyor. A low value gives harder filtering. If there is a problem with noise the value should be kept low. If IRB 360 is used for fast picking this parameter should be set to 0. This will turn off the filtering to improve the response times.
3HAC16587-1 Revision G
83
Accelerating conveyors
Update rate of robot path
Description
Defines how often corrections of robot path shall be done. Default is 1. Should be set to 2 or 3 in order to get good accuracy during acceleration. Set to 1 if the prediction of speed changes functionality is used, see Predicting speed changes on page 86. For big robots like IRB 6600 this parameter should have the value 1. Increasing this parameter for big robots might lead to jerky movements.
84
3HAC16587-1 Revision G
Accelerating conveyors
Encoder pollrate
Connection 1 Inter- Defines the pollrate of the card. Default is 20 ms. The minimum value val is 4 ms. A low value will give faster response on a conveyor speed change but also increase CPU load. We do not recommend a value lower than 10 ms. If more than one conveyor boards are used there is a risk that reducing pollrate value will create too high load on the DeviceNet bus. Therefore the default value is recommended.
This parameter belongs to the type Fieldbus Command in the topic I/O. This parameter should be changed for all units. Parameter
IIRFPeriod
Description
Defines the period of the speed filter on the encoder unit, must be the same as Connection 1 Interval for d377A.
This parameter belongs to the type CAN Interface in the topic Process. The instance is named CAN1. Parameter
Pos Update Time
Description
Defines how often the system reads the speed and position from the I/O system. For best performance it should be the same as Connection 1 Interval. It can be higher to reduce the system load.
3HAC16587-1 Revision G
85
Accelerating conveyors
Predicting speed changes
86
3HAC16587-1 Revision G
Accelerating conveyors
Setting up the signals
Description
Name of the digital input signal to synchronize the prediction and the speed change. The signal must be set a predefined time before the speed change of the conveyor. How far ahead the signal should be set is configured in the RAPID instruction UseAccProfile. Name of the digital input signal to synchronize the prediction and the speed change. The signal must be set a predefined time before the speed change of the conveyor. How far ahead the signal should be set is configured in the RAPID instruction UseAccProfile.
The system parameters that affect the accuracy during acceleration are described in System parameters on page 82.
3HAC16587-1 Revision G
87
Accelerating conveyors
UseAccProfile - Use acceleration profile
eration. The profile uses either the acceleration for the conveyor or the time that it takes for the conveyor to accelerate or decelerate. If two profiles are defined, they should use an acceleration value instead of a time value. The prediction of the conveyor acceleration is started by setting the I/O signal configured in Sensor start signal or Sensor stop signal. For best result this signal must be set at least 150 ms before the conveyor is starting to accelerate or decelerate. The settings for the acceleration can be changed during program execution. Example VAR intnum intno1; VAR triggdata trigg1; ... CONNECT intno1 With Acc_Dec; TriggInt trigg1, 0.5\Time, intno1; Resetset sensor_start_signal_DO; UseACCProfile CNV1, 0.4, 0, 1\acc, \stop_sig; SetDO STARTSTOP_CNV, 1; TriggL p0, v20, trigg1, z10, tool1\Wobj:=wobjconv; MoveJ p_start, v1000, fine, tool1; TRAP Acc_Dec PulseDO \HIGH, sensor_start_signal_DO; WaitTime 0.35; SetDO STARTSTOP_CNV, 0; ENDTRAP In this example the start and stop of the conveyor is controlled by the I/O signal STARTSTOP_CNV. The deceleration profile is setup with a trigger_time of 0.4 s, end velocity of 0 m/s and the deceleration is 0.2 m/s2. This means that the conveyor will decelerate from the current speed down to zero speed with a deceleration of 0.2 m/s2 and that the sensor stop signal is going to be set 0.4 s before the conveyor is starting to decelerate. The stop is triggered from a TriggL instruction. As seen in the trap routine the sensor_start_signal is set 0.35 s before the stop order to the conveyor. However in the setup of the profile it is said that this signal is coming 0.4 s before the stop. In this case it might be that there is a delay in the communication with the conveyor controller of 0.05 s and this is compensated in this way.
88
3HAC16587-1 Revision G
Accelerating conveyors
UseAccProfile - Use acceleration profile
Trigg
V1
V2
T1
T2
In the graphic above the profile from the example is shown. V1 is the speed before the deceleration and can in this case be for example 0.2 m/s. V2 is the speed after deceleration, in this case it is 0 m/s. T1 represents the time between the Trigg is coming and the conveyor is starting to decelerate, in this example 0.4 s. T2 is the length, in time, of the deceleration. Arguments UseAccProfile MechUnit, Trigger_time, V_end, Acc_time[\acc | time], [\start_sig | stop_sig]; MechUnit (Mechanical Unit) Data type: mechunit
The moving mechanical unit object (coordinate system) to which the robot position in the instruction is related. Trigger_time (time between signal and acc) Data type: num
The time between the start_sensor_signal is set and the time when the conveyor is starting to accelerate or decelerate. The time can be as big as possible but should not be smaller then 0.15 s. The value is given in seconds. In case of to small Trigger_time the profile might not be used. V_end
Copyright 2004-2010 ABB. All rights reserved.
(final velocity)
Velocity to be reached at the end of acceleration or deceleration. In case of a stop this should be 0 m/s. The value is given in m/s. Acc_time (acceleration time) Data type: num
Time from the start of the acceleration until the conveyor reaches the final speed (V_end). If [\acc] is set then this value ar considered to be an acceleration value in m/s2 describing the acceleration of the conveyor. [\acc | time] (acceleration or time) Data type: switch
Set to acc to use acceleration. Set to time to use acceleration time. [\start_sig | stop_sig](start signal or stop signal) Data type: switch
Set to start_sig to use the signal configured as Sensor start signal to trigger the profile. Set to stop_sig to use the signal configured as Sensor stop signal to trigger the profile.
3HAC16587-1 Revision G
89
Accelerating conveyors
UseAccProfile - Use acceleration profile
Program execution To get the best possible accuracy during acceleration or deceleration it is important that the Trigger_time is the same as the time between setting the Sensor start signal and the time when the conveyor starts to accelerate or decelerate. The bigger the difference is between these two times the poorer accuracy will be achieved. If two profiles are configured in the system at the same time it is very important that the \acc option is used. This is to secure a good behavior when for example there is a mix between a start and a stop profile. This could happen when the conveyor for example is stopping and a start order is given so that the stop ramp never is finished. Limitations Before UseAccProfile is executed, the Sensor start signal and Sensor stop signal must be reset.
90
3HAC16587-1 Revision G
Indexing conveyors
10 Indexing conveyors
Introduction There are two ways to track indexing conveyors. If the conveyor is not controlled by IRC5 then recorded profiles must be used, see Tracking indexing conveyors on page 92. If the conveyor is controlled by IRC5 the option Internal Conveyor Control should be used to get the best possible accuracy. See Indexing conveyor with servo control on page 105. About indexing conveyors An indexing conveyor advances in steps instead of running continuously. One step is one index, and one or several indexes creates the work object. The conveyor belt can have pockets or magazines for the products, which makes them perfectly aligned for picking.
3HAC16587-1 Revision G
91
Indexing conveyors
Tracking indexing conveyors
92
3HAC16587-1 Revision G
Indexing conveyors
Setting up tracking for an indexing conveyor
3HAC16587-1 Revision G
93
Indexing conveyors
System parameters
Description
Specifies the location of the real part of the poles in the left-half plane (in Hz). This is the break frequency for the speed filters in the encoder interface and regulates how hard the speed is filtered in the encoder interface. For indexing conveyors this parameter should be set between 10 and 15 Hz to have a good accuracy during stop and start.
Topic Process This parameter belongs to the type Conveyor systems in the topic Process. Parameter
Sensor_start_signal
Description
Name of the digital input signal to synchronize recorded profile and new index movement. The signal must be set before start of conveyor movement. For example when a cam to move the conveyor the sensor can be placed to be triggered 100 ms before conveyor moves.
94
3HAC16587-1 Revision G
Indexing conveyors
RAPID instructions
3HAC16587-1 Revision G
95
Indexing conveyors
RecordProfile
10.1.4 RecordProfile
Description
RecordProfile resets all profile data and records a new profile of the conveyor movement as soon as the sensor_start_signal is set.
To be able to make a recording it is important that a connection to a work object is made before the recording is started. This means that a WaitWobj instruction has to be executed before the recording starts. Example ActUnit CNV1; WaitWobj wobj_on_cnv1; RecordProfile CNV1, 1, index_profile; WaitTime 0.2; PulseDO \HIGH sensor_start_signal_DO; SetDO STARTSTOP_CNV 1; A profile of the conveyor is recorded as soon as the sensor_start_signal is set. In this example, the signal STARTSTOP_CNV starts the conveyor movement. Arguments RecordProfile MechUnit, Record_duration, Profile_type MechUnit (Mechanical Unit) Data type: mechunit
The moving mechanical unit object (coordinate system) to which the robot position in the instruction is related. Record_duration(duration of speed) Data type: num
Profile_type Value
index_profile
Recording is started by sensor_start_signal. A start and stop movement can be recorded. sensor_start_signal is used to record start movement and sensor_stop_signal is used to record stop_movement. Same as for start_and_stop_profile but the sensor_stop_signal is used first. The recording is started with sensor_stop_signal.
start_stop_profile
stop_start_profile stop_move_profile
96
3HAC16587-1 Revision G
Specifies the duration of record in seconds. Must be between 0.1 and pos_update_time * 300.
Indexing conveyors
WaitAndRecProf
10.1.5 WaitAndRecProf
Description
WaitAndRecProf resets all profile data and records a new profile of the conveyor movement
as soon as the sensor_start signal is set. This instruction does the same as the instruction RecordProfile but it also handles the connection to a work object on the conveyor. This instruction is intended for use in PickMaster where the instruction WaitWobj is not available. Example WaitAndRecProf CNV1, 1, index_profile; A profile of the conveyor is recorded as soon as the sensor_start_signal is set. Program execution Use this procedure to execute the instruction WaitAndRecProf. Action
1. 2. 3. Start the instruction WaitAndRecProf. A WaitWobj instruction is executed and the sys- A message appears on the Flextem waits for the sync signal. Pendant: Waiting for sync signal... Trigger the sync signal. A message appears on the FlexThe system will connect to the work object on the Pendant: Object connected conveyor. The recording functionality is set up and the system is waiting. Run the recording sequence. That is, set the sensor start signal and make the conveyor movement. When the recording is finished Tap OK to continue the execution. The system will drop the work object and finish the instruction. The messages Recording functionality initiated, Start recording! and Press OK when recording finished! appears on the FlexPendant. The messages Recording finished, object dropped and Don't forget to activate or store the recorded profile! appears on the FlexPendant.
Note/illustration
4.
5.
Copyright 2004-2010 ABB. All rights reserved.
Arguments WaitAndRecProf MechUnit, Record_duration, Profile_type MechUnit (Mechanical Unit) Data type: mechunit
The moving mechanical unit object (coordinate system) to which the robot position in the instruction is related. Record_duration(duration of speed) Data type: num
Specifies the duration of record in seconds. Must be between 0.1 and pos_update_time * 300.
3HAC16587-1 Revision G
97
Indexing conveyors
WaitAndRecProf
Profile_type Value
index_profile
Recording is started by sensor_start_signal. A start and stop movement can be recorded. sensor_start_signal is used to record start movement and sensor_stop_signal is used to record stop_movement. Same as for start_and_stop_profile but the sensor_stop_signal is used first.
start_stop_profile
stop_start_profile
98
3HAC16587-1 Revision G
Indexing conveyors
StoreProfile
10.1.6 StoreProfile
Description
StoreProfile activates and saves a recorded profile in a file.
Example ActUnit CNV1; WaitWobj wobj_on_cnv1; RecordProfile CNV1, 1, index_profile; WaitTime 0.2; PulseDO \HIGH sensor_start_signal_DO; SetDO STARTSTOP_CNV 1; WaitTime 2; SetDO STARTSTOP_CNV 0; StoreProfile CNV1, 0, Profile.log; A profile of the conveyor movement is recorded as soon as the sensor_start_signal is set and is stored in file profile.log. Arguments StoreProfile MechUnit, Delay, Filename MechUnit (Mechanical Unit) Data type: mechunit
The moving mechanical unit object (coordinate system) to which the robot position in the instruction is related. Delay (delay) Data type: num
The delay in seconds can be used to shift the record in time. It must be between 0.01 and 0.1. If the value is 0 (zero) no delay is added. The delay is not saved in the profile, it is only used for the activation. If the delay should be used together with a saved profile the delay has to be specified again in the instruction LoadProfile. Filename (name of file) Data type: string
3HAC16587-1 Revision G
99
Indexing conveyors
LoadProfile
10.1.7 LoadProfile
Description
LoadProfile loads a recorded profile from a file.
Example LoadProfile CNV1, 0, profile.log; WaitTime 0.2; PulseDO \HIGH sensor_start_signal_DO; SetDO STARTSTOP_CNV 1; ! !Work against the conveyor ! SetDO STARTSTOP_CNV 0; A saved profile of the conveyor movement is loaded and used for prediction of conveyor movement as soon as sensor_start_signal is set. Error warning SYS_ERR_MOC_CNV_REC_FILE_UNKNOWN if the file is not found. Arguments LoadProfile MechUnit, Delay, Filename MechUnit (Mechanical Unit) Data type: mechunit
The moving mechanical unit object (coordinate system) to which the robot position in the instruction is related. Delay (delay) Data type: num
The delay in seconds can be used to shift the record in time. It must be between 0.01 and 0.1. If the value is 0 (zero) no delay is added. Filename (name of file) Data type: string
Copyright 2004-2010 ABB. All rights reserved.
100
3HAC16587-1 Revision G
Indexing conveyors
ActivateProfile
10.1.8 ActivateProfile
Description
ActivateProfile activates a profile that was just recorded to use it without having to save
it before. If the system is restarted, all unsaved records are lost. Therefore, use LoadProfile after restarts. Do not use ActivateProfile after LoadProfile. Example ActivateProfile CNV1, 0; WaitTime 0.2; PulseDO \HIGH sensor_start_signal_DO; SetDO STARTSTOP_CNV 1; ! !Work against the conveyor ! SetDO STARTSTOP_CNV 0; A profile of the conveyor is activated and used for prediction of conveyor movement as soon as the sensor_start_signal is set. Error warning SYS_ERR_MOC_CNV_REC_NOT_READY if record not finished. Arguments ActivateProfile MechUnit, Delay MechUnit (Mechanical Unit) Data type: mechunit
The moving mechanical unit object (coordinate system) to which the robot position in the instruction is related. Delay
Copyright 2004-2010 ABB. All rights reserved.
(delay)
The delay in seconds can be used to shift the record in time. It must be between 0.01 and 0.1. If the value is 0 (zero) no delay is added.
3HAC16587-1 Revision G
101
Indexing conveyors
DeactProfile
10.1.9 DeactProfile
Description
DeactProfile deactivates a profile.
Example DeactProfile CNV1; A profile of the conveyor movement is deactivated and no longer used for prediction of conveyor movement. Arguments DeactProfile MechUnit MechUnit (Mechanical Unit) Data type: mechunit
The moving mechanical unit object (coordinate system) to which the robot position in the instruction is related.
102
3HAC16587-1 Revision G
Indexing conveyors
CnvGenInstr
10.1.10 CnvGenInstr
Description
CnvGenInstr sends a command to the conveyor process attached to the conveyor mechan-
ical unit. Example CnvGenIstr CNV1,CNV_ACTIV_REC,mycnvdata; The controller will activate the record. Arguments CnvGenInstr MechUnit, cnvcmd, Data MechUnit (Mechanical Unit) Data type: mechunit
The moving mechanical unit object (coordinate system) to which the robot position in the instruction is related. cnvcmd (Command) Data type: num
List of possible commands: CNV_START_REC,CNV_STOP_REC,CNV_ACTIV_REC, CNV_USE_FREC,CNV_RESET_ALPROF, CNV_DEACT_PROF,CNV_STORE_PROF Data (Data) Data type: cnvgendata
This structure is used to send num or string as parameters for different commands. Program execution All commands must be sent at least 0.2 seconds before start of conveyor movement.
Copyright 2004-2010 ABB. All rights reserved.
More examples Example1 VAR cnvgendata mycnvdata:=[0,0,0,0,"",""]; CnvGenInstr CNV2,CNV_START_REC,mycnvdata; mycnvdata.value1:=1; In this example, data.value1 specifies the duration of recording in seconds. This value must be between 0.1 and pos_update_time*300. Example 2 CnvGenInstr CNV2,CNV_STOP_REC,mycnvdata; This example can be used if CNV_START_REC has been sent with duration 0.
3HAC16587-1 Revision G
103
Indexing conveyors
CnvGenInstr
Example 3 CnvGenInstr CNV2,CNV_ACTIV_REC,mycnvdata; mycnvdata.value1:=0; In this example, data.value1 specifies a delay added to record in seconds. This value must be between 0.01 and 0.1 seconds. If value1 =0 default value: signal delay is used. Ready for use of profile on next index movement. Error warning SYS_ERR_MOC_CNV_REC_NOT_READY if record not finished. Example 4 CnvGenInstr CNV2,CNV_USE_FREC,mycnvdata; mycnvdata.string1:=myprofile: string1 must contain the name of the file where to read the recorded profile. The file must have been created by the command CNV_STORE_PROF. Ready for use of profile on next index movement. Error warning SYS_ERR_MOC_CNV_REC_FILE_UNKNOWN if record file not found. Example 5 CnvGenInstr CNV2,CNV_RESET_ALPROF,mycnvdata; Reset all profile data, ready for a new START_REC. Example 6 CnvGenInstr CNV2,CNV_DEACT_PROF,mycnvdata; Stop using profile. Example 7 CnvGenInstr CNV2,CNV_STORE_PROF,mycnvdata;
mycnvdata.string1:=myprofile;string1 must contain the name of the file to store
the profile. Limitations As access to files can take a lot of time it is recommended not to use CNV_USE_FREC and CNV_STORE_PROF while robot is moving. Repeatability error between record and real cycles must be less than 120 ms. A delay between sensor_start_signal and conveyor movement must not vary more than 120 ms. Error handling No error handling for this instruction. In case of E_stop of robot or conveyor the command CNV_DEACT_PROF should be used before restarting the robot. Syntax CnvGenInstr [ MechUnit ':=']< var of mechanical unit > ';' [ Command ':=']< expression (IN) of num> ';' [ Data ':=']< var of cnvgendata> ';'
Copyright 2004-2010 ABB. All rights reserved.
104
3HAC16587-1 Revision G
Indexing conveyors
Indexing conveyor with servo control
3HAC16587-1 Revision G
105
Indexing conveyors
Setting up a servo controlled indexing conveyor
Info
See Installing the additional axis for servo control on page 106.
5. 6.
Calibrate the base frame for CNV1. Create the RAPID program.
Installing the additional axis for servo control For the option Indexing Conveyor Control, install the indexing conveyor as an IRC5 additional axis. See Application manual - Additional axes and stand alone controller. When installed, the indexing conveyor should be running as an IRC5 additional axis. Installing the software The conveyor tracking RAPID instructions, data types, and mechanical unit CNV1 are specified in the key string and do not need to be installed. If the system consists of more than one conveyor, three more files must be installed per conveyor. The files to install are stored on the controller in the directory \ROBOTWARE_5.XX_XXXX\options\cnv. The second conveyor to install is called CNV2 and the Motion configuration file is named cnv2_moc.cfg. The other two files to install for internally controlled conveyors are cnvint2_prc.cfg and cnvint2_eio.cfg.
106
3HAC16587-1 Revision G
Indexing conveyors
System parameters and configuration files
Value
Virtual1
Type Unit Type The I/O unit must be of type Change of State.. Parameter
Connection 1 type
Value
Change Of State (COS)
Type Signal In the type Signal, configure a digital input signal for the photo eye which will trigger an indexing movement of the conveyor. Parameter
Name Type of Signal
Value
DI_Eye Digital Input
Topic Controller If the conveyor is configured in a MultiMove system and the indexing conveyor M7 is running in RAPID task 2 the following must be added. Type Tasks In the type Task. Parameter
Use Mechanical Unit Group
Value
M7
3HAC16587-1 Revision G
107
Indexing conveyors
System parameters and configuration files
Type Mechanical Unit Group In the type Mechanical Unit Group. Parameter
Mechanical Unit Group Mech Unit 1 Use Motionplanner
Value
M7 M7 motion_planner_2
Topic Process Type Conveyor systems In the type Conveyor systems, modify the following parameters to have good accuracy for high accelerating conveyors. Parameter
Syncfilter Ratio Acc Dependent Filter Value
Value
0.0001 0
Description
Name of the simulated I/O unit. Name of the digital input signal for connection. Name of the analog input signal for conveyor position. Name of the analog input signal for conveyor speed. Name of the digital input signal indicating zero speed on the conveyor. Name of the digital output signal to drop a connected object on the encoder interface. Name of the digital input signal to indicate that an object has gone past the start window without being connected. Name of the digital input signal to remove all Pobj. Name of the digital input signal to remove one Pobj. Defines how often position and velocity output signals are updated. Boolean to remove supervision of maximum and minimum distance. Name of digital output signal showing a new object in queue. Name of group output signal showing the number of objects in queue. Name of group output for new object position low word. Name of group output for new object position high word. Name of the single that is moving the indexing conveyor.
108
3HAC16587-1 Revision G
Indexing conveyors
System parameters and configuration files
Topic Motion Type Arm In the type Arm, enable Independent Joint and add joint limits. Parameter
Independent Joint Independent Upper Joint Bound Independent Lower Joint Bound
Value
On 2E+07 -2E+07
Type Single Type In the type Single Type, the parameter Pocket size defines the distance the conveyor will move when triggered by the photo eye, see graphic below. Time before indexing move defines the time from the photo eye is triggered until the conveyor movement starts. The recommended value is 0.3 (300 ms). Depending on the robot payload and deceleration distance, this value can be decreased (might be needed to increase for some applications). If it is important to use a value as small as possible, see Minimizing trigger time on page 122, for more information. Parameter
Mechanics Indexing move Time before indexing move Pocket size
Value
FREE_ROT YES 0.3 [s] 0.05 [m]
Pocket size
3HAC16587-1 Revision G
109
Indexing conveyors
System parameters and configuration files
Type Transmission The transmission must be represented by two integer parameters, Transmission Gear High and Transmission Gear Low. This is needed to avoid loosing accuracy after a very big number of indexing movements. These parameters are computed in a way that makes it possible for the controller to move the indexing conveyor exactly one pocket instead of for example 50 mm which could be the measured pocket size.
A B C D E
See the following example for the calculation of the parameters Transmission Gear High, Transmission Gear Low, and Transmission Gear Ratio. With this setup, the parameter Rotating Move must be set. Calculation example: W = Number of gear wheel teeth P = Number of pockets
Transmission Gear Low = W * P = 20 * 36 = 720
Copyright 2004-2010 ABB. All rights reserved.
In this example we use the gear box ratio 10, this means 10 motor revolutions correspond to one gear wheel revolution. The Transmission Gear High / Transmission Gear Low ratio can be given as 388800 / 720 but 540 / 1 is easier to comprehend. Parameter
Rotating move Transmission Gear Ratio Transmission Gear High Transmission Gear Low
Value
YES 540 (from example) 540 (from example) 1 (from example)
110
3HAC16587-1 Revision G
Indexing conveyors
System parameters and configuration files
Type Acceleration Data For an indexing conveyor the acceleration data is given in m/s2 even though the parameter Rotating Move is set. The indexing movement will be a symmetric triangular motion profile. If different values are given for acceleration and deceleration, the smallest value will be used when creating the motion path. Parameter
Nominal Acceleration Nominal Deceleration
Value
25 25
3HAC16587-1 Revision G
111
Indexing conveyors
Testing the indexing conveyor setup
112
3HAC16587-1 Revision G
Indexing conveyors
Calibrating the base frame
PulseDO \PLength:=0.1,c1RemAllPObj;
Add a new object to the object queue by executing the RAPID instruction:
IndCnvAddObject M7;
To be able to jog M7 during calibration it is necessary to reset the indexing functionality by executing the RAPID instruction:
IndCnvReset M7; Calibrating the base frame Start the base frame calibration routine of CNV1 and move the conveyor to the calibration positions by jogging the mechanical unit M7. See Calibrating the base frame on page 33. Continue with verifying the calibration, see Verifying the calibration on page 34.
3HAC16587-1 Revision G
113
Indexing conveyors
indcnvdata
10.2.5 indcnvdata
Description The data type indcnvdata contains information about the indexing movement and the number of pockets that the work object holds. Example VAR indcnvdata indcnvdata1:=[0,0,0,0,0,0,0]; indcnvdata1.speed:= 2000; indcnvdata1.acceleration := 25000; indcnvdata1.productsperpick := 6; indcnvdata1.productsperindex := 1; indcnvdata1.accuracytuning := 0; Components speed Conveyor speed in mm/s. Normally this parameter is set to a high value to create a motion profile that is triangular. acceleration Conveyor acceleration in mm/s2. This value cannot be higher than what is configured in Acceleration Data, see Type Acceleration Data on page 111. productsperpick The number of pockets that defines a work object. If there is one product in each pocket this parameter defines how many products the robot will pick in each robot cycle. productsperindex
Copyright 2004-2010 ABB. All rights reserved.
Use this parameter to set how many products that should enter each pocket before executing an indexing movement. accuracytuning This parameter can be used to tune the synchronisation between robot and indexing conveyor and requires a high speed camera. The tuning value is default 0 and can be adjusted +-10ms.
114
3HAC16587-1 Revision G
Indexing conveyors
IndCnvInit
10.2.6 IndCnvInit
Description
IndCnvInit used to set up the indexing conveyor functionality.
Example IndCnvInit M7, DI_Eye, indcnvdata1; Arguments IndCnvInit MechUnit, Signal, indcnvdata1; MechUnit (Mechanical Unit) Data type: mechunit
The name of the mechanical unit. Signal (Signal) Data type: signaldi
The name of the digital input signal that triggers the indexing movement. indcnvdata () Data type: indcnvdata
3HAC16587-1 Revision G
115
Indexing conveyors
IndCnvEnable and IndCnvDisable
will be performed even if the signal is triggered. Note! It is not possible to jog or run Move instructions on the indexing conveyor until a IndCnvReset instruction has been executed. Example IndCnvEnable M7; IndCnvDisable M7; Arguments IndCnvEnable MechUnit; IndCnvDisable MechUnit; MechUnit (Mechanical Unit) Data type: mechunit
116
3HAC16587-1 Revision G
Indexing conveyors
IndCnvReset
10.2.8 IndCnvReset
Description
IndCnvReset ends indexing mode and sets the system to normal mode which makes it pos-
sible to jog and run Move instructions. Example IndCnvReset M7; Arguments IndCnvReset MechUnit; MechUnit (Mechanical Unit) Data type: mechunit
3HAC16587-1 Revision G
117
Indexing conveyors
IndCnvAddObject
10.2.9 IndCnvAddObject
Description To manually add an object to the object queue, the RAPID instruction IndCnvAddObject can be executed. Example IndCnvAddObject M7; Arguments IndCnvAddObject MechUnit; MechUnit (Mechanical Unit) Data type: mechunit
118
3HAC16587-1 Revision G
Indexing conveyors
RAPID programming example
PERS tooldata Tool_2:=[TRUE,[[0,0,56.5],[1,0,0,0]], [2,[0,0,26],[1,0,0,0],0,0,0.0016]]; VAR triggdata EaciPick; VAR triggdata EaciPlace; VAR speeddata speed_eaci; VAR indcnvdata indcnvdata1:=[0,0,0,0,0,0,0]; VAR num prod_cnt; CONST stoppointdata stoppoint_eaci:=[3,FALSE,[0,0,0,0],0, 0.035,"",0,0]; PROC main() indcnvdata1.speed := 2000; indcnvdata1.acceleration := 25000; indcnvdata1.productsperpick := 6; indcnvdata1.productsperindex := 1;
3HAC16587-1 Revision G
119
Indexing conveyors
RAPID programming example
prod_cnt := 0; speed_eaci.v_tcp:= 5000; speed_eaci.v_ori:= 10000; ! Activate mechanical units ActUnit M7; ActUnit CNV1; ActUnit CNV2; ! Remove from queue and drop objects PulseDO \PLength:=0.1,c1RemAllPObj; PulseDO \PLength:=0.1,c2RemAllPObj; DropWObj wobj1; IF c2Connected = 1 THEN DropWObj wobj2; ENDIF ! Set up pick and place trigg data TriggEquip EaciPick, 2, 0.05 \DOp:=EaciSuck, 1; TriggEquip EaciPlace, 2, 0.05 \DOp:=EaciSuck, 0; ! Set indexing conveyor CNV1 in indexing mode and start listening to the photo eye signals IndCnvInit M7, DI_Eye, indcnvdata1; IndCnvEnable M7; ! Go to init position MoveL WaitPos, v1000, fine, Tool_2; WHILE TRUE DO ! CNV1 Pick WaitWObj wobj1\RelDist:=300; MoveL Cnv1_Above, speed_eaci, z20, Tool_2\WObj:=wobj1; TriggL Cnv1_Below, speed_eaci, EaciPick, z1\Inpos:=stoppoint_eaci, Tool_2\WObj:=wobj1; MoveL Cnv1_Above, speed_eaci, z20, Tool_2\WObj:=wobj1; IF prod_cnt >= 1 THEN DropWObj wobj2; ENDIF ! CNV2 Place WaitWObj wobj2\RelDist:=50; MoveL Cnv2_Above, speed_eaci, z20, Tool_2\WObj:=wobj2;
120
3HAC16587-1 Revision G
Indexing conveyors
RAPID programming example
TriggL Cnv2_Below, speed_eaci, EaciPlace, z1\Inpos:=stoppoint_eaci, Tool_2\WObj:=wobj2; MoveL Cnv2_Above, speed_eaci, z20, Tool_2\WObj:=wobj2; prod_cnt := prod_cnt + 1; TPErase; TPWrite " Number of products: "\Num:=prod_cnt; DropWObj wobj1; ENDWHILE ! ! Move program pointer to the instructions below to enable e.g. jogging ! Stop listening to the photo eye signals IndCnvDisable M7; ! Set indexing conveyor in normal mode IndCnvReset M7; ENDPROC ENDMODULE
3HAC16587-1 Revision G
121
Indexing conveyors
Minimizing trigger time
There is a risk that the value suggested by the service routine IndCnvOptimalTimeBefore is too small so some extra 10 ms margin might be needed. Possible solutions Change the following parameters in the type Motion Planner. Parameter
Dynamic Resolution Path Resolution Queue Time Group Queue Time
Value
0.3333 0.3333 0.032256 0.016128
Possible limitations If the error 50082 - Deceleration limit occurs, return to the original setting of Queue Time (which is 0.064512), in the type Motion Planner (topic Motion). If the error 50226 - Motor reference error occurs, return to the original setting of Group Queue Time (which is 0.032256), in the type Motion Planner (topic Motion).
Copyright 2004-2010 ABB. All rights reserved.
122
3HAC16587-1 Revision G
Additional information If the option Indexing Conveyor Control is used for a conveyor in a MultiMove system , then some additional parameters must be defined. See System parameters and configuration files on page 107. See also Indexing conveyor with servo control on page 105. Related information Application manual - MultiMove.
3HAC16587-1 Revision G
123
SyncCnv In the example SyncCnv, two robots arc weld on the same work piece. The work object is moved by a conveyor. One conveyor mechanical unit is used in a separate motion planner. Illustration SyncCnv
124
3HAC16587-1 Revision G
Type
NORMAL NORMAL
MotionTask
Yes Yes
Robot
ROB_1 ROB_2
Mech Unit 1
CNV1 CNV2
Name
ROB_1 ROB_2 CNV1 CNV2
Activate at Startup
Yes Yes No No
Deactivation Forbidden
No No No No
3HAC16587-1 Revision G
125
Illustration
126
3HAC16587-1 Revision G
Type
NORMAL NORMAL NORMAL
MotionTask
Yes Yes Yes
Robot
ROB_1 ROB_2
Mech Unit 1
CNV3
motion_planner_3
Name
ROB_1 ROB_2 CNV3
Activate at Startup
Yes Yes Yes
Deactivation Forbidden
No No No
3HAC16587-1 Revision G
127
Illustration
Calibration overview For unsynchronized movements each conveyor must be calibrated with its motion group robot (after the robots base calibration):
Cnv2 with Robot_2
Copyright 2004-2010 ABB. All rights reserved.
For synchronized movements Cnv3 is calibrated with one robot only: Robot_1.
128
3HAC16587-1 Revision G
3HAC16587-1 Revision G
129
MODULE module2 TASK PERS wobjdata wobj2 := [ FALSE, TRUE, "", [ [500, -200, 1000], [1, 0, 0 ,0] ], [ [100, 1200, 100], [1, 0, 0, 0] ] ]; TASK PERS wobjdata wobjcnv2 := [ FALSE, FALSE, "CNV2", [ [0, 0, 0], [1, 0, 0 ,0] ], [ [0, 0, 0], [1, 0, 0, 0] ] ]; TASK PERS tooldata tool2 := ... CONST robtarget p21 := ... ... CONST robtarget p24 := ... PROC main() ... IndependentMove; ... ENDPROC PROC IndependentMove() MoveL p21, v500, fine, tool2\WObj:=wobj2;
130 3HAC16587-1 Revision G
WaitWObj wobjcnv2\RelDist:=10; MoveL p22, v500, z10, tool2\WObj:=wobjcnv2; MoveL p23, v500, z10, tool2\WObj:=wobjcnv2; MoveL p24, v500, z10, tool2\WObj:=wobjcnv2; MoveL p21, v500, fine, tool2\WObj:=wobj2; ENDPROC ENDMODULE
3HAC16587-1 Revision G
131
132
3HAC16587-1 Revision G
TASK PERS tooldata tool2 := ... CONST robtarget p200 := ... ... CONST robtarget p299 := ... PROC main() ... SyncMove; ... ENDPROC PROC SyncMove() MoveJ p200, v1000, z50, tool2; WaitSyncTask sync1, all_tasks; MoveL p201, v500, fine, tool2 \WObj:=wobj2; SyncMoveOn sync2, all_tasks; MoveL p202\ID:=10, v300, fine, tool2\WObj:=wobjcnv3; MoveC p203, p204\ID:=20, v300, z10, tool2\WObj:=wobjcnv3; MoveL p205\ID:=30, v300, z10, tool2\WObj:=wobjcnv3; MoveC p206, p201\ID:=40, v300, fine, tool2\WObj:=wobj2; SyncMoveOff sync3; MoveL p299, v1000, fine, tool2; UNDO SyncMoveUndo; ENDPROC ENDMODULE CONV3 task program MODULE module3 VAR syncident sync1; VAR syncident sync2; VAR syncident sync3; PERS tasks all_tasks{3} := [["ROB1"],["ROB2"],["CONV3"]]; PERS wobjdata wobjcnv3 := [ FALSE, FALSE, "CNV3", [ [0, 0, 0], [1, 0, 0 ,0] ], [ [0, 0, 0], [1, 0, 0, 0] ] ]; CONST jointtarget angle_0 := [ [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9], [ 0, 9E9, 9E9, 9E9, 9E9, 9E9] ]; ... CONST jointtarget angle_360 := [ [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9],[ 360, 9E9, 9E9, 9E9, 9E9, 9E9] ]; PROC main() ... SyncMove; ... ENDPROC
3HAC16587-1 Revision G 133
PROC SyncMove() MoveExtJ angle_neg20, vrot50, fine; WaitSyncTask sync1, all_tasks; ! Wait for the robots WaitWObj wobjcnv3; SyncMoveOn sync2, all_tasks; MoveExtJ angle_20\ID:=10, vrot100, fine; WaitWObj wobjcnv3\RelDist:=100; MoveExtJ angle_160\ID:=20, vrot100, z10; MoveExtJ angle_200\ID:=30, rot100, z10; MoveExtJ angle_340\ID:=40, rot100, fine; SyncMoveOff sync3; DropWobj wobjcnv3; UNDO SyncMoveUndo; ENDPROC ENDMODULE
134
3HAC16587-1 Revision G
-name "CNV3" -sensor_type "CAN" -use_sensor "CAN3" adjustment_speed 250\ -min_dist -600 -max_dist 20000 correction_vector_ramp_length 10 # Conveyor CAN sensor -name "CAN1" -signal_delay 54 -connected_signal "c1Connected"\ -position_signal "c1Position" -velocity_signal "c1Speed"\ -null_speed_signal "c1NullSpeed" -wait_wobj_signal "c1WaitWObj"\ -drop_wobj_signal "c1DropWObj" -data_timestamp "c1DTimestamp"\ -rem_all_pobj_signal "c1RemAllPObj" -rem_one_pobj_signal "c1Rem1PObj"
3HAC16587-1 Revision G
135
-name "CAN2" -signal_delay 54 -connected_signal "c2Connected"\ -position_signal "c2Position" -velocity_signal "c2Speed"\ -null_speed_signal "c2NullSpeed" -wait_wobj_signal "c2WaitWObj"\ -drop_wobj_signal "c2DropWObj" -data_timestamp "c2DTimestamp"\ -rem_all_pobj_signal "c2RemAllPObj" -rem_one_pobj_signal "c2Rem1PObj" -name "CAN3" -signal_delay 54 -connected_signal "c1Connected"\ -position_signal "c1Position" -velocity_signal "c1Speed"\ -null_speed_signal "c1NullSpeed" -wait_wobj_signal "c1WaitWObj"\ -drop_wobj_signal "c1DropWObj" -data_timestamp "c1DTimestamp"\ -rem_all_pobj_signal "c1RemAllPObj" -rem_one_pobj_signal "c1Rem1PObj"
136
3HAC16587-1 Revision G
Index
Numerics 50024 Corner zone 59 50082 Deceleration Limit 38 A Acc dependent filter value accelerating conveyor 83 system parameter 58 Acceleration Data parameters for indexing conveyor 111 Activate at Startup system parameter 59 ActivateProfile instruction 101 activating connect 45 conveyor 45 profile 93 ActUnit instruction 45 additional axes limitation 13 additional conveyors 12 indexing conveyor 106 installing 42 Adjustment accel system parameter 57 Adjustment speed system parameter 57 adjustment speed circular conveyor 80 defining 37 Allow outside reach prefetch system parameter 60 Arm parameters for indexing conveyor 109 auto mode description 54 operation 54 B base frame calibrating 33 calibrating for indexing conveyor 113 calibration result 33 circular conveyor 76 conveyor 17 robot 17 verifying 34 Base frame q1-q4 system parameter 60 Base frame xyz system parameter 60
C c1DropWObj 44 c1ObjectsInQ 44 c1Rem1PObj 44 c1RemAllPObj 44 calibrating base frame 33 circular conveyor 78 conveyor base frame 32 CountsPerMeter 31 indexing conveyor base frame 113 QueueTrckDist 31 result 33 verifying 34 Check Point Distance parameter for queue tracking 68 Check Point Window Width parameter for queue tracking 68 checkpoint function 68 circuit diagram 24 circular conveyor encoder 74 limitation 13 CNV1, indexing conveyor 105 cnvcmd argument 103 CnvGenInstr indexing conveyor 95 instruction 103 configuring adjustment speed 37 maximum distance 36 minimum distance 36 start window 35 sync separation 35 track motion following conveyor 39 ConfL limitation 52 Connected signal system parameter 58, 108 connecting automatic 45 DSQC 377B to IRC5 27 encoder interface 27 work object 15 connections diagram 24 Controller parameters for indexing conveyor 107
3HAC16587-1 Revision G
137
Index
D Data argument 103 Data ready signal system parameter 58 data types Indcnvdata 114 wobjdata 61 deactivating conveyor 45 Deactivation Forbidden system parameter 59 DeactProfile instruction 102
F Fieldbus Command parameters for indexing conveyor 94 type 56 Filename argument 99, 100 finepoint 52 programming 53 FlexPendant displayed information 51
138
3HAC16587-1 Revision G
conveyor as mechanical unit 14 coordinated motion, programming 48 maximum and minimum distances 36 start window 35 conveyor base frame calibrating 32 Conveyor can sensor type 58 Conveyor Internal type 108 Conveyor systems parameters for indexing conveyor 94, 108 type 57 coordinate systems description 17 coordinated finepoint 12 coordinated motion 123 coordinated work object 14 corner zones dropping work object 49 entering and exiting 50 correction_vector_ramp_length system parameter 57 correction_vector_stop_ramp system parameter 57 Corvec correction level system parameter 60 Count1 from encoder system parameter 108 Count2 from encoder system parameter 108 CountsPerMeter calibrating 31 circular conveyor 75 system parameter 56 current input 20
DeactUnit 45 instruction 45 defining conveyor coordinated work object 46 Delay argument 99, 100, 101 digital input current 20 disconnecting work object 15 dropping work object 49 DropWObj 49 DropWObj signal system parameter 58, 108 DSQC 377B advanced queue tracking 65 encoder connection 23 power supply 20 E Eio unit name system parameter 58, 108 emergency stop automatic mode 54 encoder connection DSQC 377B 23 encoder interface 23 encoder frequency 20 encoder input current 20 encoder interface advanced queue tracking 65 connecting to IRC5 27 encoder connection 23 encoder location 22 circular conveyor 74 encoder type circular conveyor 74 selecting 20 encoder wiring 24 example applications 124 exit and re-enter 11
Index
G gear ratio circular conveyor 74 indexing conveyor 110 I I/O parameters for advanced queue tracking 66 parameters for indexing conveyor 94, 107 system parameters 56 I/O window 51 IIRFFP accelerating conveyor 83 indexing conveyor 94 system parameter 56 IndCnvAddObject instruction 118 Indcnvdata data type 114 IndCnvDisable instruction 116 IndCnvEnable instruction 116 IndCnvInit instruction 115 IndCnvReset instruction 117 indexing conveyor definition 91 limitations 105 indexing mode 105 indexing profile configuring 93 information on FlexPendant 51 installation overview 19 installing additional conveyors 42 encoder 20
instructions ActivateProfile 101 CnvGenInstr 103 ConfL 52 DeactProfile 102 EoffsOff 52 EoffsOn 52 EoffsSet 52 IndCnvAddObject 118 IndCnvDisable 116 IndCnvEnable 116 IndCnvInit 115 IndCnvReset 117 limitations 52 LoadProfile 100 MoveC 52 MoveL 52 RecordProfile 96 RestoPath 52 Search 52 StorePath 52 StoreProfile 99 WaitAndRecProf 97 J Jogging window 51 L limitations 13 indexing conveyors 105 loading Motion parameters 41 profile 93 LoadProfile instruction 100 M M7, indexing conveyor 105 manual mode description 54 operation 54 manual reduced speed mode 54 Max External Pos Adjustment system parameter 60 maximum distance circular conveyor 80 defining 36 system parameter 57 maximum speed conveyor limitation 21 limitation 13 MaxTime argument 61
3HAC16587-1 Revision G
139
Index
Mechanical Unit parameters for circular conveyors 80 parameters for MultiMove 127 Mechanical Unit Group parameters for indexing conveyor 108 parameters for MultiMove 127 mechanical unit parameters 38 Mechanics circular conveyor 80 system parameter 60 minimum distance circular conveyor 80 defining 36 system parameter 57 minimum speed conveyor limitation 21 limitation 13 Motion loading parameters 41 parameters for indexing conveyor 109 system parameters 59 motion instructions limitations 52 Motion Planner parameters for MultiMove 127 type 59 Motion System parameters for circular conveyors 80 MoveC 52 MoveJ 52 MoveL 52 MultiMove 123 programming 129 tasks 129 multiple conveyors 12 N Name mechanical unit 59 New object strobe system parameter 108 Null_speed signal system parameter 58, 108 O object frame 17 object queue working with 44, 67 object queue lost limitation 13 Objects in queue system parameter 108 ObjLost signal system parameter 58, 108
operating modes 54 operating temperature DSQC 377 20 orientation error SingAreaWrist 13 P parallel track limitation 13 passed start window signal 70 Path Resolution system parameter 59 performance limits 52 physical components conveyor tracking 10 PNP encoder 24 Pos Update time system parameter 108 Position signal system parameter 58, 108 positive motion circular conveyor 75 configuring 30 power supply DSQC 377B 20 principles 14 MultiMove 135 Process parameters for indexing conveyor 94, 108 system parameters 57 Process Update Time system parameter 59 profile indexing conveyor 93 Profile_type argument 96, 98 program example 130 programming conveyor coordinated motion 48 MultiMove 129 programming considerations 52 Q queue tracking installation 65 object queue 67 queue tracking distance description 16 QueueTrckDist calibrating 31 circular conveyor 75 system parameter 56
140
3HAC16587-1 Revision G
Index
R RAPID data type for indexing conveyor 114 example SyncCnv 132 example UnsyncCnv 130 instructions 61 limitations 52 recording profile for indexing conveyors 95 Record_duration argument 96, 97 recording profile 93 reference points 33 RecordProfile instruction 96 RelDist argument 61 Rem1PObj sig system parameter 108 Rem1PObj signal system parameter 58 RemAllPObj sig system parameter 58, 108 restart automatic mode 54 manual mode 54 Robot type 59 robot motion parameters 38 robot on track limitation 13 Rotating Move circular conveyor 80 system parameter 60 S
Copyright 2004-2010 ABB. All rights reserved.
Scale enc pulse parameter for queue tracking 69 Sensor_start_signal indexing conveyor 94 Signal parameters for advanced queue tracking 66 parameters for indexing conveyor 107 simulation mode 71 SimulationVel parameter for queue tracking 71 SingAreaWrist limitation 13 Single type 60 Single to track system parameter 108
Single Type parameters for circular conveyors 80 parameters for indexing conveyor 109 type 60 speed 135 limits 52 manual reduced speed 54 MultiMove 135 Speed filter length system parameter 57 speed filters 83 start automatic mode 54 Start ramp system parameter 57 start window circular conveyor 80 description 16 StartWinWidth defining 35 system parameter 56 stop automatic mode 54 mode mode 54 Stop ramp system parameter 57 StoreProfile instruction 99 Supervise max_dist Off system parameter 58, 108 sync separation 35 circular conveyor 80 SyncCnv code example 132 configuration 127 example 124 syncfilter ratio system parameter 58 synchronization switch selecting 26 synchronized motion 123 SyncMoveUndo 135 SyncSeparation defining 35 system parameter 56
3HAC16587-1 Revision G
141
Index
system parameters Acc dependent filter value 58 Activate at Startup 59 Adjustment accel 57 Adjustment speed 57 advanced queue tracking 66 Allow outside reach prefetch 60 Base frame q1-q4 60 Base frame xyz 60 Connected signal 58, 108 correction_vector_ramp_length 57 correction_vector_stop_ramp 57 Corvec correction level 60 Count1 from encoder 108 Count2 from encoder 108 CountsPerMeter 56 Data ready signal 58 Deactivation Forbidden 59 DropWObj signal 108 DropWobj signal 58 Eio unit name 58, 108 IIRFFP 56 Max External Pos Adjustment 60 maximum distance 57 Mechanics 60 minimum distance 57 Name 59 New object strobe 108 Null_speed signal 58, 108 Objects in queue 108 ObjLost signal 58, 108 Path Resolution 59 Pos Update time 108 Position signal 58, 108 Process Update Time 59 QueueTrckDist 56 Rem1PObj sig 108 Rem1PObj signal 58 RemAllPObj sig 58, 108 Rotating Move 60 Single to track 108 Speed filter length 57 StartWinWidth 56 Supervise max_dist Off 58, 108 syncfilter ratio 58 SyncSeparation 56 Track Conveyor With Robot 60 Use kinematic for corvec 59 Use Six Axis Corvec 59 Use spline parameters 59 Velocity signal 58, 108 WaitWobj signal 58
T Tasks parameters for indexing conveyor 107 parameters for MultiMove 127 tasks MultiMove 129 TCP measurement method circular conveyor 78 TimeFlag argument 61 topics Controller 107 I/O 56, 66, 94, 107 Motion 59, 109 Process 57, 94, 108 Track Conveyor With Robot defining 40 system parameter 60 track motion configuring 39 programming recommendation 39 Transmission parameters for circular conveyors 80 parameters for indexing conveyors 110 type 60 types Acceleration Data 111 Arm 109 Conveyor can sensor 58 Conveyor Internal 108 Conveyor systems 57, 94, 108 Fieldbus Command 31, 35, 56, 94 Mechanical Unit Group 108 Motion Planner 59 Robot 59 Signal 66, 107 Single 60 Single Type 60, 109 Tasks 107 Transmission 60, 110 Unit 107 Unit Type 107 U ufmec 46 ufprog 46 uncoordinated motion 123 Unit parameters for indexing conveyor 107 UnsyncCnv code example 130 configuration 125 example 124
142
3HAC16587-1 Revision G
Index
unsynchronized motion 123 Use kinematic for corvec system parameter 59 Use Six Axis Corvec system parameter 59 Use spline parameters system parameter 59 user frame coordinated to conveyor 17 V Velocity signal system parameter 58, 108 W WaitAndRecProf instruction 97 waiting for work object principle 14 programming considerations 47 WaitWObj corner zones 50 disable object lost 70 limitation after DropWObj 13 WaitWObj signal system parameter 58 wiring diagram 24 WObj argument 61, 64 wobjdata data type 61 work object connecting 15 defining conveyor coordinated 46 disconnecting 15 dropping 49 waiting 47 world frame 17
3HAC16587-1 Revision G
143
ABB AB Robotics Products S-721 68 VSTERS SWEDEN Telephone: +46 (0) 21 344000 Telefax: +46 (0) 21 132592
3HAC16587-1, Revision G, en