Top Banner
Application manual Conveyor Tracking Controller software IRC5 RobotWare 5.0
109
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Application manualConveyor TrackingController software IRC5RobotWare 5.0

Page 2: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Application manual3HAC 16587-1

Revision BConveyor tracking

RobotWare 5.0

Page 3: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

The information in this manual is subject to change without notice and should not be construed as a commitment by ABB. ABB assumes no re-sponsibility 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 pur-pose or the like.

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 2003 ABB All rights reserved.

ABB Automation Technology Products ABRobotics

SE-721 68 VästeråsSweden

Page 4: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Table of Contents

1 Conveyor tracking Introduction 7

2 Overview of conveyor tracking 9

2.0.1 Physical components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.0.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.0.3 Limitations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Principles of conveyor tracking in IRC5 15

3.0.1 Start window and queue tracking distance . . . . . . . . . . . . . . . . . . 17

3.0.2 Coordinate systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Programming conveyor tracking 21

4.0.1 Working with the object queue . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.0.2 Activating the conveyor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.0.3 Defining a conveyor coordinated work object . . . . . . . . . . . . . . . 22

4.0.4 Waiting for a work object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.0.5 Programming the conveyor coordinated motion . . . . . . . . . . . . . . 23

4.0.6 Dropping a work object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.0.7 Entering and exiting conveyor tracking motion in corner zones. . 25

4.0.8 Information on FlexPendant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.0.9 Programming considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.0.10 Finepoint programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.0.11 Modes of operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5 Rapid Programming 31

5.1 Rapid Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.1.1 WaitWObj - Wait for work object on conveyor . . . . . . . . . . . . . . 31

5.1.2 DropWObj - Drop work object on conveyor. . . . . . . . . . . . . . . . . 35

3HAC 16587-1 Revision B 3

Page 5: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Table of Contents

6 Hardware configuration and connections 37

6.0.1 Encoder type selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

6.0.2 Encoder location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.0.3 Encoder connection to DSQC 377A . . . . . . . . . . . . . . . . . . . . . . . 39

6.0.4 Synchronization switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.0.5 Connecting the DSQC 377A to the IRC5 cabinet . . . . . . . . . . . . . 40

6.1 Software installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.1.1 Installation of 2,3 up to 6 conveyors . . . . . . . . . . . . . . . . . . . . . . . 42

7 Conveyor setup and calibration 43

7.0.1 Direction of positive motion from encoder . . . . . . . . . . . . . . . . . . 43

7.0.2 Calibration of counts per meter . . . . . . . . . . . . . . . . . . . . . . . . . . 43

7.0.3 Defining the queue tracking distance. . . . . . . . . . . . . . . . . . . . . . . 45

7.0.4 Conveyor base frame calibration . . . . . . . . . . . . . . . . . . . . . . . . . . 46

7.0.5 Conveyor start window and sync separation . . . . . . . . . . . . . . . . . 49

7.0.6 Conveyor maximum and minimum distances . . . . . . . . . . . . . . . . 50

7.0.7 Verifying signal delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

7.0.8 Robot adjustment speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7.0.9 Motion parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

7.0.10 Motion mechanical unit parameters . . . . . . . . . . . . . . . . . . . . . . 54

7.0.11 Configuration for track motion following conveyor . . . . . . . . . . 55

7.0.12 Motion robot parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8 Conveyor tracking parameters 59

8.0.1 Topic: I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8.0.2 Topic: Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.0.3 Topic: Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4 Revision B 3HAC 16587-1

Page 6: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Table of Contents

8.1 Circular conveyor tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

8.1.1 Encoder type selection and location . . . . . . . . . . . . . . . . . . . . . . . 68

8.1.2 Software installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8.1.3 Direction of positive motion from encoder . . . . . . . . . . . . . . . . . 68

8.1.4 Calibration of counts per meter . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8.1.5 Defining the queue tracking distance . . . . . . . . . . . . . . . . . . . . . . 69

8.1.6 Circular conveyor base frame calibration - manual method . . . . . 69

8.1.7 Circular conveyor base frame calibration - TCP measurement method 71

8.1.8 Conveyor start window and sync separation . . . . . . . . . . . . . . . . 73

8.1.9 Conveyor maximum and minimum distances . . . . . . . . . . . . . . . . 74

8.1.10 Conveyor adjustment speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8.1.11 Motion system parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8.1.12 Motion mechanical unit parameters . . . . . . . . . . . . . . . . . . . . . . 74

8.1.13 Motion transmission and single type . . . . . . . . . . . . . . . . . . . . . 74

9 How to use DSQC377A in queue tracking mode 77

9.0.1 DSQC377A Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

9.0.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

9.0.3 System parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

9.0.4 Working with the Object Queue . . . . . . . . . . . . . . . . . . . . . . . . . . 79

9.0.5 Check point function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

9.0.6 Scale enc pulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

9.0.7 Passed Start window signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

9.0.8 Simulation mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

10 Indexing conveyor tracking 83

10.0.1 Topic: I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

3HAC 16587-1 Revision B 5

Page 7: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Table of Contents

10.0.2 Topic: process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

10.0.3 CnvGenInstr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

10.0.4 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

10.0.5 Program execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

10.0.6 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

10.0.7 Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

10.0.8 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

11 Conveyor tracking and Multimove 87

11.0.1 About Conveyor tracking and MultiMove . . . . . . . . . . . . . . . . . 87

11.0.2 About the example applications . . . . . . . . . . . . . . . . . . . . . . . . . 87

11.0.3 Configuration example for "SyncCnv" . . . . . . . . . . . . . . . . . . . . 91

11.0.4 Tasks and programming techniques . . . . . . . . . . . . . . . . . . . . . . 94

11.0.5 Motion principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

11.0.6 Programming recommendations . . . . . . . . . . . . . . . . . . . . . . . . 100

6 Revision B 3HAC 16587-1

Page 8: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor tracking Introduction

1 Conveyor tracking Introduction

DescriptionThis document contains a description of the Conveyor Tracking functionality for IRC5.

Conveyor Tracking, or Line Tracking, is the function whereby the robot follows a work object which is mounted on a moving conveyor. This document describes how a conveyor tracking application is installed, programmed, and operated.

The document is organised as follows:

• Section 2 presents an overview of the conveyor tracking features and necessary physical components.

• Section 3 describes the principles of conveyor tracking in IRC5, the coordinate sys-tems, and object queues.

• Section 4 provides information on how conveyor tracking is to be programmed.

• Section 5 presents the new RAPID instructions.

• see Hardware configuration and connections. page 37and see Software installation. page 39 present information on the hardware requirements and software installation.

• see Conveyor setup and calibration. page 43 goes through the configuration and cal-ibration of a linear conveyor.

• see Circular conveyor tracking. page 67 marks the differences for configuration and calibration of a circular conveyor.

• see Conveyor tracking parameters. page 57 a complete list of all conveyor system parameters.

It is possible to track conveyor with robot coordinated to track .See Section 9.10 Configura-tion for Track Motion following Conveyor

3HAC 16587-1 Revision B 7

Page 9: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor tracking Introduction

8 Revision B 3HAC 16587-1

Page 10: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingOverview of conveyor tracking

2 Overview of conveyor tracking

DescriptionIn conveyor tracking, the robot’s Tool Centre Point (TCP) will automatically follow a work object that is defined on the moving conveyor. While tracking the conveyor the IRC5 will maintain the programmed TCP speed relative to the work object even if the conveyor runs at different speeds.

2.0.1 Physical components

Figure 1 Physical Components in Conveyor Tracking

The IRC5 solution for conveyor tracking consists of the following components:

• IRC5 Controller and IRB robot

• 24V Encoder

• Option Conveyor Tracking , DSQC 377A Encoder Interface Unit.

• Synchronization Switch, indicating object presence on conveyor

• Conveyor

The encoder and synchronization switch are connected to the DSQC 377A.

One encoder can be connected to several Encoder Interface Units but each IRC5 controller must have a DSQC 377A if more than one robot is to track the conveyor.

Encoder

Encoder UnitDSQC 377A

IRC5 Controller

IRB robot

ConveyorSync Switch

3HAC 16587-1 Revision B 9

Page 11: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingFeatures

2.0.2 Features

The IRC5 conveyor tracking option provides the following features:

Accuracy: In Auto operation, at 150 mm/s constant conveyor speed, the Tool Centre 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 upon the calibration of the robot and conveyor and is applicable for linear conveyor tracking only.

Object Queue:The DSQC 377A Encoder Interface Unit will maintain a queue of up to 254 objects that have passed the synchronization switch.

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 may also remove the first object in the tracking queue or all objects in the queue.

Maximum Distance:A maximum tracking distance may be specified to stop the robot from tracking outside of the working or safety area.

Track follows ConveyorIf the robot is mounted on a linear track, then the system can be configured such 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.

10 Revision B 3HAC 16587-1

Page 12: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingFeatures

Enter and Exit Conveyor Tracking in Corner ZonesIt is possible to enter and exit conveyor tracking via corner zones as well as via fine points. Using corner zones allows a minimum cycle time to be achieved.

Exit and Re-enter Conveyor Tracking to Same ObjectIt 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.

Multiple ConveyorsUp to 4 conveyors are supported via the standard option. Each encoder must be connected to a DSC377A board .

Coordinated FinepointA finepoint may be programmed while making motions relative to the conveyor. This con-veyor 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 upon calibration of the robot and conveyor.

Calibration of Linear ConveyorsA calibration method is provided for easy calibration of the position and direction of the conveyor motion in the robot’s workspace. The linear conveyor may take any position and orientation.

3HAC 16587-1 Revision B 11

Page 13: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingLimitations

2.0.3 Limitations

Small Orientation Error with SingArea\WristThere 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 making several short motions with SingArea\Wrist.

Track Parallel to ConveyorIf 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 Section 7.0.11 Configuration for track motion following conveyor.

Calibration of Circular ConveyorsThere are no built-in methods for the calibration of circular conveyors. This limitation can be relaxed if the user is willing to calculate a quaternion orientation manually or with other tools during base frame calibration.

Limitation on Additional AxesEach conveyor is considered an additional axes. Thus the system limitation of 6 active addi-tional 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.

Object Queue Lost on Warm Start or Power FailureThe object queue is kept on the DSQC 377A. If the system is restarted with a Warm Start or if the power supply to either the IRC5 controller or the DSQC 377A fails, then the object queue will be lost.

12 Revision B 3HAC 16587-1

Page 14: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingLimitations

Minimum and Maximum SpeedThere is a minimum conveyor speed in order to maintain smooth and accurate motions. This speed is dependent upon the encoder selection and can vary from 4 mm/s to 8 mm/s. See Minimum and maximum counts per second under 6.0.1 Encoder type selection.

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 DropWObjIf a WaitWObj instruction is used immediately after a DropWObj instruction, it may be nec-essary to add a WaitTime 0.1; after the DropWObj instruction.

3HAC 16587-1 Revision B 13

Page 15: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingLimitations

14 Revision B 3HAC 16587-1

Page 16: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingPrinciples of conveyor tracking in IRC5

3 Principles of conveyor tracking in IRC5

DescriptionConveyor Tracking is built upon the coordinated work object concept taken from coordinated motion with additional axes. See Application manual - Additional axes for additional infor-mation.

Conveyor as a Mechanical UnitPrimary to this concept is the treatment of the conveyor as a mechanical unit. For the IRC5, the conveyor is a mechanical unit with all features of a mechanical unit except that it is not under control of the IRC5 controller. As a mechanical unit it may be activated, deactivated, the position of the conveyor appears in the FlexPendant Jogging Window and in the robtarget when a MODPOS operation is performed.

Conveyor Coordinated Work ObjectFor conveyor tracking, the robot movements are coordinated to the movements of a user frame connected to the conveyor mechanical unit. E.g. a user frame is placed on the conveyor and connected to its movements. An work object is used for this purpose and it is marked with the name of the conveyor mechanical unit, and that the work object is moveable. The con-veyor tracking coordination will be active if the mechanical unit is active, and the conveyor coordinated work object is active. When the conveyor coordinated work object is used, in jogging or in a move instruction, the data in the “uframe” component will be ignored and the location of the user coordinate system will only depend on the movements of the conveyor mechanical unit. However the “oframe” component will still work giving an object frame related to the user frame and also the displacement frame may be used.

Waiting for a Work Object on the ConveyorThe difference between a conveyor coordinated work object and a work object that is coordi-nated to another type of mechanical unit is that there is no work object for coordination until an object appears on the conveyor. Before the robot can coordinate the TCP positions to a conveyor, there must be a work object present on the conveyor.

Work objects on the conveyor are detected by means of the synchronization switch that is connected to the DSQC 377A Encoder Interface Unit. This unit will track all objects that have gone past the synchronization switch and are within specified distances in the work area.

3HAC 16587-1 Revision B 15

Page 17: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingPrinciples of conveyor tracking in IRC5

Before starting coordinated motion with the conveyor, the RAPID program must first check with the Encoder Interface Unit whether or not there is a work object available on the con-veyor. If an object is available then execution continues and the motions may use the coordi-nated work object. If there is no object, then the RAPID program waits until a work object is available.

Connecting to a Work ObjectThe RAPID instruction WaitWObj, see Section WaitWObj - Wait for work object on con-veyor, DropWObj - Drop work object on conveyor below for more details, is used to wait for a work object on the conveyor before starting conveyor coordinated motion. When the Wait-WObj instruction is successful then the conveyor work object is said to be “connected” to the RAPID program.

Once a RAPID program has connected to a work object on the conveyor then robot motion instructions and jogging commands may 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 user may change work objects several times and thus coordinate the robot to other work objects in the system and still return to the conveyor coor-dinated work object.

Disconnecting from a Work Object

The IRC5 controller and Encoder Interface Unit will maintain the connection to the work object until one of the following events occurs:

• A DropWObj instruction is issued,

• the Maximum Distance, as defined for the conveyor, is reached,

• restart of the controller,

• power supply failure to either the Encoder Interface Unit or controller.

The connection to the work object will not be lost with deactivation of the conveyor mechan-ical unit and will return upon re-activation.

The DropWObj instruction is used to end 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.

If a DropWObj instruction is not issued, then the object will be automatically disconnected and dropped when the Maximum Distance is reached.

16 Revision B 3HAC 16587-1

Page 18: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingStart window and queue tracking distance

3.0.1 Start window and queue tracking distance

The IRC5 controller and DSQC 377A will maintain the object queue based upon a set of distances relative to the conveyor and synchronization switch. The following figure shows these relationships:

Figure 2 Relationships between Distances along the Conveyor

Using the above distance definitions the conditions and states of objects 1...7 in Tabell 2 may be described

Conveyor Direction

SynchronizationSwitch

Working AreaStart Window Width

Queue Track. Dist.

0.0 m

Maximum Distance

Minimum Dist.

- +

x

yz

2 134567

Work ObjectUser Frame

Queue Tracking Distance

This distance defines the placement of the 0.0 meter point relative to the synchronisation switch on the conveyor. The Encoder Interface Unit tracks all objects in this distance. The position returned from the Encoder unit for the object will be negative, relative to the 0.0 m point.

Start Window Width

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.

3HAC 16587-1 Revision B 17

Page 19: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingStart window and queue tracking distance

Tabell 1

Tabell 2

Maximum Distance

This distance is the maximum distance that a connected object may have before being automatically dropped. If an object is dropped, then any coordinated motions are terminated with an error message.

Minimum Distance

This is the minimum distance that a connected object may have before being automatically dropped. If the conveyor stops and runs backwards, then there will be an automatic drop when the connected object goes past the minimum distance. This may be greater than or less than the Queue Tracking Distance.

Object 1 This object is connected as indicated by the coordinate frame attached to the object’s position on the conveyor.

Object 2 Object 2 is outside the start window and is no longer tracked by the Encoder unit. 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 moved outside the maximum distance or work area of the robot.

Objects 3 and 4

These objects are within the start window and are tracked by the Encoder unit. If Object 1 was dropped via a DropWObj instruction then Object 3 would be the next object to be connected when a WaitWObj instruction was issued. Because Objects 3 and 4 were in the start window, the WaitWObj instruction will not wait but return immediately with object 3.

Objects 5 and 6

These objects lie within the queue tracking distance and are tracked by the Encoder unit. If objects 3 and 4 were not present, then a WaitWObj instruction would stop program execution until object 5 entered the start window.

Object 7 This object has not yet passed the synchronization switch and has not yet been registered by the Encoder Interface Unit.

18 Revision B 3HAC 16587-1

Page 20: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingCoordinate systems

3.0.2 Coordinate systems

Figure 3 Conveyor Tracking Coordinate Systems

The above figure shows the principle coordinate frames used in conveyor tracking. The Tabell 3 below provides an overview of these coordinate frames

Tabell 3

Conveyor Direction

SynchronizationSwitch

Start Window Width

Queue Track. Dist. Maximum Distance

Minimum Dist.

x

yz

User Frame

x

y

z

x

yz

x

yz

World FrameBase Frame (Robot)

Base Frame

0.0 m

(conveyor)

x

yz

Object Frame

Coordinate System Defined Where Relative to

Base Frame of robot Service/View: BaseFrame.

Base frame definition of robot gives relation between world and base frame.

World Frame

World Frame No definition needed Nothing

Base Frame of conveyor Defined from measurements using robot. See Installation and Calibration below. World Frame

User Frame, coordinated to conveyor

Program/View: Data Types - wobjdata

Select conveyor mechanical unit

World Frame via Base Frame of conveyor.

Object Frame (not shown) Program/View: Data Types - wobjdata User Frame

3HAC 16587-1 Revision B 19

Page 21: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingCoordinate systems

The two key frames in conveyor tracking are the Base Frame of 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 DSQC 377A Encoder Interface Unit provides the position of the conveyor relative the synchronization switch and the Queue Tracking Distance. When the encoder unit sends a value of 0.0 meters to the IRC5 controller, then the User Frame for the conveyor coordinated work object is coincident 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 con-veyor Base Frame.

20 Revision B 3HAC 16587-1

Page 22: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingProgramming conveyor tracking

4 Programming conveyor tracking

DescriptionIn order to make a program that uses conveyor tracking and a conveyor coordinated work object, one must first make sure that a work object is present within the start window of the Encoder Interface Unit. To accomplish this an object must be moved past the synchronization switch and into the start window. If there are several objects already on the conveyor, then it may be necessary to first clear the object queue and then move the conveyor.

4.0.1 Working with the object queue

The IRC5 conveyor option provides several I/O signals which allow a user or RAPID pro-gram to monitor and control the Object Queue on the encoder unit. The following table shows the I/O signals which impact the Object Queue.

I/O Signal Description

c1ObjectsInQ Group input showing the number of objects in the Object Queue. These objects have passed the synchronization switch but have not gone outside the startwindow.

c1Rem1PObj 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.

c1RemAllPObj Remove All Pending Objects. Setting this signal will cause the Encoder Interface Unit to empty all objects from the Object Queue. If an object is connected, then it is not removed.

c1DropWObj Setting this signal will cause the encoder unit to drop the tracked object and disconnect that object. The object is removed from the queue.This should not be set from Rapid: use DropWobj instruction instead .

3HAC 16587-1 Revision B 21

Page 23: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingActivating the conveyor

4.0.2 Activating the conveyor

As an external axis and mechanical unit the conveyor must be activated before it may be used for work object coordination. The usual ActUnit instruction is used to activate the conveyor and DeactUnit may be used to deactivate the conveyor.

By default, the conveyor is installed non-active on start. If desired, the conveyor may be configured to be always active upon start. See Section 7.0.10 Motion mechanical unit param-eters below.

Automatic Connection upon Activation:When a conveyor mechanical unit is activated, it first checks the state of the encoder unit to see whether the object was previously connected. If the encoder unit, via the I/O signal c1Connected, indicates connection, then the object on the conveyor will automatically be connected upon activation. The purpose of this feature is to automatically reconnect in case of a power failure with power backup on the Encoder Interface Unit.

4.0.3 Defining a conveyor coordinated work object

From the programming window, view the wobjdata and create a new work object, wobjcnv1. Set the ufprog and ufmec as follows:

ufprog (user frame programmed) Data type: bool

Defines whether or not a fixed user coordinate system is used:

FALSE-> Movable user coordinate system, i.e. coordinated to conveyor.

ufmec (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, e.g. “CNV1”.

22 Revision B 3HAC 16587-1

Page 24: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingWaiting for a work object

4.0.4 Waiting for a work object

Motions that are to be coordinated to the conveyor can not be programmed until an object on the conveyor has been connected via a WaitWObj instruction.

If the object on the conveyor is already connected from a previous WaitWObj or if connection was established during activation, then execution of a 2nd WaitWObj instruction will cause an error. This error can be handled in an error handler if desired.

The details of the WaitWObj are given on "WaitWObj - Wait for work object on conveyor".

4.0.5 Programming the conveyor coordinated motion

1. Create a program with the following instructions:

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.

3. Run the conveyor until an object passes the sync signal. The program should exit the WaitWObj and is now ‘connected’ to the object. Stop the conveyor with the object in an accessible portion of the workspace.

4. Teach the MoveL, MoveC, PaintL, or PaintC instructions using the wobjcnv1 conveyor coordinated work object.

5. End the coordinated motion with a fixed-frame work object (not coordinated to the con-veyor). Note that this is the only way to end the use of the work object.

6. Program a DropWObj wobjcnv1; instruction.

7. If this is the end of the program, or the conveyor is no longer needed, then program a DeactUnit CNV1; instruction.

3HAC 16587-1 Revision B 23

Page 25: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingDropping a work object

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;

4.0.6 Dropping a work object

A connected work object may be dropped once conveyor coordinated motion has ended. It is important to make sure that the robot motion is no longer using the conveyor positions when the work object is dropped. If motion still requires the positions then a Stop will occur when the object is dropped.

Conveyor coordinated motion does not end in a finepoint. As long as the work object is coordinated to the conveyor, the robot motion will be coupled to the conveyor even in a finepoint. A fixed-frame or non-conveyor work object must be used in a motion instruction before dropping the conveyor work object.

Care must be taken when ending coordination in a corner zone and executing the DropWObj instruction as the work object will be dropped before the robot has left the corner zone and the motion still requires the conveyor coordinated work object.

It is not necessary to be connected in order to execute a DropWObj instruction. No error will be returned if there was no connected object.

24 Revision B 3HAC 16587-1

Page 26: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingEntering and exiting conveyor tracking motion in corner zones

4.0.7 Entering and exiting conveyor tracking motion in corner zones

Once a WaitWObj instruction has connected to a work object on the conveyor then it is pos-sible to enter and exit coordinated motion with the conveyor via corner zones.

The following is an example:

MoveL p10, v1000, fine, tool1;WaitWObj wobjcnv1;MoveL p20, v1000, z50, tool1;- enter coordination in zoneMoveL p30, v500, z1, tool1\Wobj:=wobjcnv1;MoveL p40, v500, z1, tool1\Wobj:=wobjcnv1;MoveL p50, v500, z20, tool1\Wobj:=wobjcnv1;MoveL p60, v1000, z50, tool1;- exit coordination in zoneMoveL p70, v500, fine, tool1;DropWObj wobjcnv1;MoveL p10, v500, fine, tool1;

The move instruction ending coordination must be a ‘fixed’ work object. e.g. ufprog is TRUE.

As noted above, care must be taken when exiting coordination in a corner zone and executing a DropWObj instruction. The following example shows an incorrect method for ending coor-dination in corner zones:

...

MoveL p50, v500, z20, tool1\Wobj:=wobjcnv1;MoveL p60, v1000, z50, tool1;- exit coordination in zoneDropWObj wobjcnv1;

- ERROR, work object is dropped while robot is still in corner zone.

3HAC 16587-1 Revision B 25

Page 27: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingInformation on FlexPendant

4.0.8 Information on FlexPendant

The user has access to the conveyor position and speed via the FlexPendant.

Jog Window:The position in millimeters of the conveyor object is shown in the jog window. This value will be negative if a Queue Tracking Distance is defined. When an object passes the synchro-nization switch then the position will be automatically updated in the jog window.

I/O Window:From the I/O Window the user has access to all the signals that are defined on the Encoder Interface Unit. From this window it is possible to view the conveyor position in meters, and the conveyor speed in meters/s. The speed will be 0 m/s until an object has passed the syn-chronization switch.

4.0.9 Programming considerations

Performance limitsConveyor tracking will be lost if joint speed limits are reached, particularly in singularities. It is the responsibility of the programmer to ensure that the path during tracking does not exceed the robots speed and motion capabilities.

Motion commandsOnly Linear and Circular motion commands are allowed for conveyor tracking.

Change of toolChanging the tool is not allowed during conveyor tracking as the motion during a tool change is a joint motion.

26 Revision B 3HAC 16587-1

Page 28: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingProgramming considerations

FinepointsFinepoints are allowed during conveyor tracking. The robot will hold the TCP still relative to the conveyor and RAPID execution will continue, see Section 4.0.10 Finepoint programming below.

ConfLThe RAPID instruction ConfL\Off must be executed before coordination with the conveyor. The purpose is to avoid configuration errors that would otherwise occur as the robot changes configuration during conveyor tracking.

Other RAPID limitationsThe commands, StorePath, RestoPath do not function during conveyor tracking.

No Search commands function during conveyor tracking.

EoffsSet, EoffsOn, EoffsOff have no effect for the conveyor external axis ,but may affect conveyor tracking with coordinated track .

3HAC 16587-1 Revision B 27

Page 29: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingFinepoint programming

4.0.10 Finepoint programming

While tracking the conveyor it is possible to use a finepoint. The following program example shows how motion may be stopped with respect to the conveyor so that an I/O signal may be set:

WaitWObj wobjcnv1MoveL p1, v500, z20, tool1\Wobj:=wobjcnv1;MoveL p2, v500, fine, tool1\Wobj:=wobjcnv1;SetDO release_gripper;WaitTime 0.1;MoveL p3, v500, z20, tool1\Wobj:=wobjcnv1;MoveL p4, v500, fine, tool1;DropWObj wobjcnv1;

In the above example the SetDO will be executed after the robot arrives at p2. The robot will then track the conveyor for 0.1 seconds while the WaitTime instruction is executed. It will then move to p3 and on to p4 via a corner zone before ending coordination with a fixed work object (wobj0 in this case).

There is also another possibility for fine point programming: use stoppointdata .To have the robot following the conveyor during 0.1 s the program can be written like this .

VAR stoppointdata followtime:=[3,FALSE,[0,0,0,0],0,0.1,"",0,0];

WaitWObj wobjcnv1MoveL p1, v500, z20, tool1\Wobj:=wobjcnv1;MoveL p2,v500,z1\Inpos:=followtime,tool1\WObj:=wobjcnv1;SetDO release_gripper;MoveL p3, v500, z20, tool1\Wobj:=wobjcnv1;MoveL p4, v500, fine, tool1;DropWObj wobjcnv1;

28 Revision B 3HAC 16587-1

Page 30: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingModes of operation

4.0.11 Modes of operation

Operation under manual reduced speed mode (< 250 mm/s)When the conveyor is not moving, then the FWD, BWD buttons may be used to step through the program. New instructions may be added and MODPOS may be used to modify pro-grammed positions.

In order to facilitate programming, the conveyor may be moved to new positions between instructions. The robot will return to the correct position when FWD or BWD is pressed.

The robot will recover as normal if the Enable switch is released during motion.

The robot cannot perform coordinated motions to the conveyor while in Manual Reduced Speed mode and the conveyor is moving.

Operation under AUTOOnce a WaitWObj instruction has been executed, then it is no longer possible to step through the program with FWD and BWD while the conveyor is moving.

Start/StopThe robot will stop and no longer track the conveyor if the STOP button is pressed or Stop, StopMove RAPID instructions are executed between the WaitWObj and DropWObj instruc-tions.

The conveyor coordinated work object will not be lost but if the conveyor is moving then the object will quickly move out of the working area. RESTART from the current instruction is not possible and the program must be restarted from either from MAIN or a WaitWObj instruction.

Emergency Stop/RestartWhen the 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 con-veyor is moving then the object will quickly move out of the working area. RESTART from the current instruction is not possible and the program must be restarted either from MAIN or a WaitWObj instruction.

3HAC 16587-1 Revision B 29

Page 31: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingModes of operation

Operation under manual full speed mode (100%)Operation under Manual (100%) is similar to operation under AUTO. The program may be run by 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 FWD and BWD buttons while the conveyor is moving.

Stop/RestartWhen the START button is released, or Emergency Stop is pressed, the robot will stop imme-diately. 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. RESTART from the current instruction is not possible and the program must be restarted either from MAIN or a WaitWObj instruction.

30 Revision B 3HAC 16587-1

Page 32: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingRapid Programming

5 Rapid Programming

5.1 Rapid Instructions

5.1.1 WaitWObj - Wait for work object on conveyor

DescriptionWaitWObj (Wait Work Object) connects to a work object in the start window on the conveyor mechanical unit.

ExampleWaitWObj 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 [ \RelDist ][\MaxTime][\TimeFlag]

WObj (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 ] (Relative Distance) Data type: num

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 given 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 reldist reached, the error handler will be called, if there is one,

3HAC 16587-1 Revision B 31

Page 33: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingWaitWObj - Wait for work object on conveyor

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 reldist reached. If this parameter is included in the instruction, it is not considered to be an error if the max. time runs out. This argument is ignored if the MaxTime argument is not included in the instruction.

Program executionIf 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.

ExamplesWaitWObj 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.

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.

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.

32 Revision B 3HAC 16587-1

Page 34: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingWaitWObj - Wait for work object on conveyor

WaitWObj wobj_on_cnv1\RelDist:=500.0\MaxTime:=0.1\Time-flag:=flag1;

The WaitWobj will return immediately if the object thas 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.

LimitationsIt requires 50 ms to connect to the first object in the start window. Once connected, a second WaitWObj with \RelDist optional argument will take only normal RAPID instruction execu-tion time.

Error handlingIf following errors occurs during execution of the WaitWobj instruction, the system variable ERRNO will be set. These errors can then be handled in the error handler.

SyntaxWaitWObj[ WObj ’:=’]< persistent (PERS) of wobjdata> ‘;’

[ ’\’ RelDist ’:=’ < expression (IN) of num > ]

[’\’MaxTime ’:=’<expression (IN) of num>]

[’\’TimeFlag’:=’<variable (VAR) of bool>] ’;’

ERR_CNV_NOT_ACT The conveyor is not activated.

ERR_CNV_CONNECT The WaitWobj instruction is already connected.

ERR_CNV_DROPPED The object that the instruction WaitWobj was waiting for has been dropped by another task (DSQC 354Revision 2: an object had passed the start window)

ERR_WAIT_MAXTIME The object did not come in time and there is no Timeflag

3HAC 16587-1 Revision B 33

Page 35: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingWaitWObj - Wait for work object on conveyor

34 Revision B 3HAC 16587-1

Page 36: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingDropWObj - Drop work object on conveyor

5.1.2 DropWObj - Drop work object on conveyor

DescriptionDropWObj (Drop Work Object) is used to disconnect from the current object and the program is ready for the next.

ExampleMoveL *, v1000, z10, tool, \WObj:=wobj_on_cnv1;

MoveL *, v1000, fine, tool, \WObj:=wobj0;

DropWObj wobj_on_cnv1;

MoveL *, v1000, z10, tool, \WObj:=wobj0;

Arguments

DropWObj WObj

WObj (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.

Program executionDropping the work object means that the encoder unit not longer tracks the object. The object is removed from the object queue and cannot be recovered.

LimitationsIf the instruction is issued while the robot is actively using the conveyor coordinated work object then the motion stops.The instruction may 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.

SyntaxDropWObj[ WObj ’:=’] < persistent (PERS) of wobjdata> ‘;’

3HAC 16587-1 Revision B 35

Page 37: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingDropWObj - Drop work object on conveyor

36 Revision B 3HAC 16587-1

Page 38: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingHardware configuration and connections

6 Hardware configuration and connections

DescriptionThe conveyor interface to the IRC5 controller is via the DSQC 377A Encoder Interface unit.

6.0.1 Encoder type selection

The encoder provides a series of pulses indicating the motion of the conveyor. This is used to synchronize the motions of the robot to the motion of the conveyor.

The encoder has two pulse channels, A and B which differ in phase by 90°. Each channel will send a fixed number of pulses per revolution depending upon the construction of the encoder.

The number of pulses per revolution for the encoder must be selected in relation to the gearing between the conveyor and the encoder. The pulse ratio from the encoder should be in the range of 1250 - 2000 pulses per meter of conveyor motion. The pulses from channels A and B are used in quadrature to multiply the pulse ratio by 4 to get counts. This means that the control software will measure 5000 - 10000 counts per meter for an encoder with the pulse ratio given above. Reducing the number of measured counts below 5000 will reduce the accu-racy of the robot tracking. Increasing the number of measured counts beyond 10000 will have no significant effect as inaccuracies in robot and cell calibration will be the dominating fac-tors for accuracy.

The encoder must be of 2 phase type for quadrature pulses, to enable registration of reverse conveyor motion, and to avoid false counts due to vibration etc. when the conveyor is not moving.

An example encoder is the Lenord & Bauer GEL 262.

Output signal: Open collector PNP output

Voltage: 10 - 30 V (normally supplied by 24 VDC from DSQC 377A)

Current 50 - 100 mA

Phase: 2 phase with 90 degree phase shift

Duty cycle: 50%

3HAC 16587-1 Revision B 37

Page 39: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingEncoder location

Minimum and maximum counts per second

Minimum speedThere is a lower limit on the number of counts per second before the encoder unit signals zero speed. This limit is 40 counts per second. If the speed of the conveyor is lower than this value, zero speed will be indicated.

At 10,000 counts per meter, the minimum conveyor speed is 4 mm/s.

Maximum speedThere is a upper limit on the number of counts per second before the encoder unit can no longer keep track of the counts along the conveyor. This limit is 20,000 counts per second.

At 10,000 counts per meter, the maximum conveyor speed is 2,000 mm/s.

6.0.2 Encoder location

The encoder is normally installed on the conveyor drive unit. The encoder may be connected to an output shaft on the drive unit, directly or via a gear belt arrangement. If the encoder is connected directly to a drive unit shaft, it is important to install a specially designed flexible coupling to prevent applying mechanical forces to the encoder rotor. A coupling using a plas-tic/rubber hose should be avoided. If the drive unit includes a clutch arrangement, the encoder must be connected on the conveyor side of the clutch.

If the conveyor drive unit is located a long distance away from the robot then the conveyor itself may be a source of inaccuracy as the conveyor will stretch or flex over the distance from the drive unit to the robot cell. In such a case it may be better to mount the encoder closer to the robot cell with a different coupling arrangement.

38 Revision B 3HAC 16587-1

Page 40: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingEncoder connection to DSQC 377A

6.0.3 Encoder connection to DSQC 377A

One encoder may be connected to one or more Encoder Interface Units. The Encoder Inter-face Units may be connected to the same IRC5 cabinet as in the case for 2 conveyors, or to different IRC5 cabinets when two different robots shall follow the same conveyor.

If the encoder is connected to Encoder Interface Units that are connected to different IRC5 cabinets, a diode should be installed on each of the 24 V DC connections to the encoder to prevent parallel wiring of the power supplies.

The encoder should be connected to the robot by a screened cable to reduce noise. If this cable is long, the inductance in the cable will produce spike pulses on the encoder signal which may, over a period of time, damage the opto couplers in the Encoder Interface Unit. The spike pulses can be removed by installing a capacitor between the signal wire and ground for each of the 2 phases. The capacitors should be connected on the terminal board where the encoder is connected and not on the DSQC 377A. Typical capacitor values are 100 nF - 1 F, depend-ing on the length of the cable. The longer the cable, the larger the capacitor. The correct capacitance value can be determined by viewing the encoder signal on an oscilloscope.

See the Product Manual, Installation and Commissioning, for details on connecting the encoder to the Encoder Interface Unit.

6.0.4 Synchronization switch

The synchronization switch indicates the presence of objects on the conveyor. This switch should be chosen so that it provides a reliable and repeatable signal for objects on the con-veyor regardless of conveyor speed.

If the conveyor can run backwards, then the switch should be constructed not to give a signal if an object runs backwards past the switch.

If the synchronization switch can give multiple signals when an object passes then the param-eter SyncSeparation can be set to so that only one signal is accepted as an object before a given distance is covered on the conveyor. See Section 7.0.5 Conveyor start window and sync separation.

3HAC 16587-1 Revision B 39

Page 41: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConnecting the DSQC 377A to the IRC5 cabinet

6.0.5 Connecting the DSQC 377A to the IRC5 cabinet

See the documentation on the CAN bus distributed I/O and DSQC 377A for information on physically connecting to the CAN bus in the IRC5.

40 Revision B 3HAC 16587-1

Page 42: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingSoftware installation

6.1 Software installation

Description

InstallationThe conveyor tracking feature and the RAPID instructions WaitWObj, DropWObj, are spec-ified in the key string. Normally the Conveyor software is preloaded at the factory and does not need to be re-installed unless access to the Motion System parameters is necessary.

The following instructions are intended for use when the Conveyor option is to be added to an existing system.

The conveyor option will install three additional configurations: I/O for the DSQC 377A, Conveyor process description, and a Motion mechanical unit description.

The DSQC 377A should be connected to the CAN bus before installing the conveyor tracking software. The conveyor tracking software will automatically install an External I/O configu-ration for the encoder unit on address 15 on the CAN bus. If the encoder unit is not at this address, I/O errors will occur at startup.

The recommended installation sequence can be described as follows:

Step Action

1. Connect the DSQC 377A to the CAN bus. Note the CAN address on the unit.

2. Install the Conveyor Tracking software. If the DSQC 377A is not on address 15 then I/O errors can be expected.

3. If necessary, with Robot Studio ,correct the address for the encoder unit specified in the Configuration: I/O topic.

4. Reload the manipulator calibration parameters .Use Robot studio Configuration Load Parameters. Load the original file cnv1_moc.cfg from Medi-apool\RobotWare_5.XX.XXXX\options\cnv

5. Restart the system. There should be no errors and the CNV1 mechanical unit should be available under the Jog Window of the FlexPendant.

3HAC 16587-1 Revision B 41

Page 43: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingInstallation of 2,3 up to 6 conveyors

Reloading Motion Saved ParametersDuring installation, the conveyor option will load a specific conveyor external axis configu-ration file into the motion parameters. If during Step 4 above, you loaded saved motion parameters that were defined before the installation of conveyor software then the CNV1 mechanical unit will not appear on the FlexPendant in Step 5.

In order to recover the CNV1 mechanical unit the motion configuration file must be loaded manually from Mediapool\RobotWare_5.XX.XXXX\options\cnv.

1. In Robot Studio Configuration window Load Parameters File: Add new parameters, load the file cnv1_moc from the CNV directory.

2. Restart the system.

The CNV1 mechanical unit should now be available under the Jog Window of the FlexPen-dant.

6.1.1 Installation of 2,3 up to 6 conveyors

The conveyor option automatically installs one conveyor into the IRC5 parameters. If two to six conveyors are to be used with the same IRC5 cabinet then the parameters for the 2nd conveyor must be loaded manually.

The 2nd conveyor I/O configuration for the 2nd DSQC 377A will use address 16 by default.The 3rd conveyor board will use address 17 by default .

The CNV1 ,CNV2 ,CNV3 and CNV6 mechanical units should now be available under the Jog Window of the FlexPendant

Step Action

1. Connect the 2nd DSQC 377A to the CAN bus. Note the address on the CAN bus.

2. Under the Configuration window: Load parameters, load the files: cnv2_eio, cnv2_prc, and cnv2_moc from the CNV directory.

3. For the third conveyor .File: Load parameters, load the files: cnv3_eio, cnv3_prc, and cnv3_moc from the CNV directory.Same up to the sixth one .

4. Restart the system.

5. If necessary, correct the address for the Encoder2 unit to Encoder6 unit specified in the Configuration: I/O topic.

42 Revision B 3HAC 16587-1

Page 44: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor setup and calibration

7 Conveyor setup and calibration

DescriptionThis section describes how the conveyor and encoder are to be calibrated with respect to the robot and the robot world frame.

7.0.1 Direction of positive motion from encoder

The encoder direction of positive motion may be checked after the correct installation of the conveyor tracking software. Run an object past the synchronization switch while viewing the conveyor position from either the Jog Window or the I/O Window. If the value is negative, reverse the A and B inputs from the encoder to the Encoder Interface Unit.

7.0.2 Calibration of counts per meter

If the exact gear ratio between the encoder and the conveyor is unknown (typically the case) then the user must make a manual calibration of the counts per meter using either a tape-measure or the robot TCP as a measuring device. If the robot TCP is to be used as the measuring device then an accurately defined tool should be used.First configure the Encoder Interface Unit for 10000 counts per meter (default) and a Queue Tracking Distance of 0.0 m.The encoder unit I/O parameters are accessible via the Configuration windows under the I/O topic.

Step Action

1. Choose Topics: I/O

2. Choose Types: Fieldbus Command

3. Select CountsPerMeter and change its value to 10000

4. Press OK to confirm.

5. Select QueueTrckDist and change its value to 0.0

6. Press OK to confirm.

3HAC 16587-1 Revision B 43

Page 45: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingCalibration of counts per meter

Move an object past the sync switch and stop the conveyor. Read the conveyor position from the Jog Window, position_1. Move the conveyor at least 1 meter and read the Jog Window, position_2. The accuracy will be best if this distance is large as possible within the work-space.Use a tape-measure (or differences in robot tool position) to find the exact number of meters from position_1 to position_2, call this value measured_meters.The counts per meter are calculated:

Enter the correctly calculated counts per meter into the I/O configuration for the Encoder Interface Unit CountsPerMeter.

Parameter Description

CountsPerMeter Gives the number of counts per meter of motion of the conveyor. Should be in the range of 5000-10000 for linear conveyors.

QueueTrckDist Queue Tracking Distance, this distance defines the placement of the synchronization switch relative to the 0.0 meter point on the conveyor. The encoder unit tracks all the objects in this distance but does not allow connection until object has passed 0.0 meters.

counts per meterposition_2 - position_1� � 10000�

measured_meters---------------------------------------------------------------------------------=

44 Revision B 3HAC 16587-1

Page 46: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingDefining the queue tracking distance

7.0.3 Defining the queue tracking distance

Before proceeding with conveyor setup and calibration it is necessary to define the desired Queue Tracking Distance. As presented earlier, the Queue Tracking Distance establishes the distance between the synchronization switch and the 0.0 m point on the conveyor. The encoder unit will keep track of all objects that have passed the synchronization switch but have not yet passed the 0.0 m point. It is not possible to connect to these objects.Under the Configuration window,

Step Action

1. Choose Topics: I/O

2. Choose Types: Fiedbus command

3. Select QueueTrckDist and change its value.

4. Press OK to confirm.

Parameter Description

QueueTrckDist Queue Tracking Distance (meters), this distance defines the place-ment of the synchronization switch relative to the 0.0 meter point on the conveyor. The encoder unit tracks all the objects in this distance but does not allow connection until the object has passed 0.0 meters.

3HAC 16587-1 Revision B 45

Page 47: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor base frame calibration

7.0.4 Conveyor base frame calibration

The accuracy of the conveyor tracking is highly dependent upon the accuracy in calibrating the conveyor base frame. For linear conveyors a method is provided which uses the robot TCP in order to measure the position and orientation of the conveyor in the workspace.Before calibrating the base frame of the conveyor the values for the CountsPerMeter and QueueTrkDist must have been entered into the IRC5 controller and verified to be correct.The conveyor base frame calibration method will use the measurement of 4 positions of the same object on the conveyor to determine the conveyor base frame, as shown in Figure 1, Definition points for a Linear Conveyor.

Figure 1 Definition points for a Linear Conveyor

Prior to defining the 4 positions, an object must be defined on the conveyor:

Conveyor Direction

SynchronizationSwitch

0.0 m

p_1 p_3

QueueTrckDist

Conveyor distance

x

yz

Base Frame

p_2

Step Action Note/illustration

1. Step FWD through a RAPID program contain-ing the two commands:

ActUnit CNV1;WaitWObj wobjcnv1;

Define the conveyor coordinated work object as described in Sec-tion 4.0.3 Defining a conveyor coordinated work object

2. Run the conveyor until an object passes through the sync switch and beyond the 0.0 m point.

The WaitWObj instruction will end execution.

3. Stop the conveyor.

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:

46 Revision B 3HAC 16587-1

Page 48: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor base frame calibration

To record reference points1. Select the first point Point 1. This point will be the origin for the user frame in the con-

veyor coordinated work object.

2. Point out Point 1 on the object on the conveyor with the robot’s TCP.

3. Modify the position by pressing the function key ModPos.

4. Move the conveyor in the positive direction and repeat the above for the points Point 2, Point 3 and Point 4.

To calculate the base frame• Press OK to calculate the base frame for the selected conveyor mechanical unit.

When the calculation is finished a dialog with the calibration result will be shown. The cal-culation log shows the conveyor base frame expressed in the world coordinate system.

The calculation result can be saved in a separate file for later use in a PC:

4. Choose the Calibration view on the FlexPen-dant.

5. Choose CNV1.

6. Choose Base Frame

7. Choose 4 Point

Step Action Note/illustration

Field Description

Unit The name of the mechanical unit for which the definition of base frame has be done.

List contents Description

Method Displays the selected calibration method.

Mean error The accuracy of the robot positioning against the reference point.

Max error The maximum error for one positioning.

Cartesian X The x coordinate for the base frame.

Cartesian Y The y coordinate for the base frame.

Cartesian Z The z coordinate for the base frame.

Quaternion 1-4 Orientation components for the base frame.

3HAC 16587-1 Revision B 47

Page 49: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor base frame calibration

1. Press the function key File.

2. Specify a name and a location where to save the result.

3. Choose OK to confirm the save.

If the estimated error is:

• acceptable, press OK to confirm the new user frame.

• not acceptable, redefine by pressing Cancel.

• Restart the controller.

Verify the Results of the Calibration:

After restartingAfter restarting the controller, verify the conveyor base frame calibration as follows:

Step Action

1. Step FWD through a RAPID program containing the two commands:

ActUnit CNV1;WaitWObj wobjcnv1;

2. Run the conveyor until another object passes through the sync switch and beyond the 0.0 m point. The WaitWObj instruction will end execution. Stop the conveyor.

3. Move the robot Tool Centre Point back to the previously chosen Point 1 on the work object.

4. From the Jogging Window, read the X, Y, Z position of the Tool Centre Point. Use the accurate tool and use wobjcnv1.

5. The robot’s TCP x, y, and z position in the work object coordinates should be 0.0 mm (or very close to that).

6. Select WObj: wobjcnv1 together with Coord: WObj in the Jogging Window and jog the robot in the conveyor’s x, y, and z directions. Verify that the x-direction is in the direction of positive motion of the conveyor.

48 Revision B 3HAC 16587-1

Page 50: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor start window and sync separation

7.0.5 Conveyor start window and sync separation

The Start Window is the length along the conveyor in which objects are tracked by the encoder unit and are ready for connection. When a WaitWObj instruction is issued the system will connect to the first object inside the start window or wait otherwise.If an object goes beyond the start window then it is no longer tracked and it is not available for connection. Such objects are automatically skipped.The purpose of the start window is to provide a buffer of objects for speed variations of the conveyor. If an object is connected within the start window then it should be certain that the motion coordinated to the object can be completed before the working area limit or maximum distance is reached.The Sync Separation parameter is used to filter out unwanted sync signals from a synchroni-zation switch. This parameter establishes a minimum distance that the conveyor must move after one sync signal before a new sync signal is accepted as a valid object.Under the Configuration window,

Step Action

1. Choose Topics: I/O

2. Choose Types: Fieldbus Command

3. Select the parameters and change values.

4. Press OK to confirm.

Parameter Description

StartWinWidth Start Window Width (meters), this distance defines the size of the start window. All objects within this window are tracked and are eligi-ble for use in a coordinated work object. A WaitWObj instruction will connect to the first object in the window.

SyncSeparation 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.

3HAC 16587-1 Revision B 49

Page 51: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor maximum and minimum distances

7.0.6 Conveyor maximum and minimum distances

It is possible to monitor the position of the conveyor and automatically drop any connected objects which move outside the maximum or minimum specified distance.The purpose is to prevent coordination of motion beyond the work area of the robot for both forward and backward operation of the conveyor.Under the Configuration window, .

Step Action

1. Choose Topics: Process.

2. Choose Types: Conveyor Systems.

3. Select CNV1.

4. Select the parameters Maximum distance and Minimum distance and change the values.

5. Press OK to confirm.

Parameter Description

Maximum distance The maximum distance (in millimeters) that a connected object may have before being automatically dropped. If an object is dropped during coordinated motion, then the motion is stopped and an error is produced.

Minimum distance The minimum distance (in millimeters) that a connected object may have before being automatically dropped. If an object is dropped during coordinated motion, then the motion is stopped and an error is produced.

50 Revision B 3HAC 16587-1

Page 52: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingVerifying signal delay

7.0.7 Verifying signal delay

This should be done after counts per meter and conveyor base frame calibration .To verify signal delay in your system :make a program containing the following instructions

ActUnit CNV1; MoveL p1,v100,fine,curr_tool;WaitWObj curr_wobjcnv;MoveL Offs(ptest, 0,0,100),v400,z20,curr_tool\WObj:=curr_wobjcnv;MoveL ptest,v100,fine,curr_tool\WObj:=curr_wobjcnv;WaitTime 2.0;MoveL p1,v100,fine,curr_tool;DropWObj curr_wobjcnv;

Then run the program at different conveyor speed . If you found an offset between teached tcp position and conveyor position proportional to conveyor speed you have to adjust signal_delay .If robot is delayed increase signal delay and if robot is an advance relative to conveyor you should reduce signal delay . This parameter unit is millisecond .The offset divided by conveyor speed should give the adjustment needed on signal delay .

Under the System Parameters window,

Step Action

1. Choose Topics: Process.

2. Choose Types: Can Interface.

3. Select CAN1.

4. Select the parameter Signal delay and change the values.

5. Press OK to confirm.

3HAC 16587-1 Revision B 51

Page 53: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingRobot adjustment speed

7.0.8 Robot adjustment speed

When entering conveyor tracking, the robot must adjust its speed up to the speed of the con-veyor. The rate at which the robot ‘catches up’ to the conveyor for the first motion is con-trolled by the Adjustment Speed parameter.

If the conveyor has a speed above 200 mm/s then this parameter may have to be increased in order for the robot to quickly move to the first point on the conveyor.

Under the Configuration window,

Step Action

1. Choose Types: Conveyor Systems.

2. Select CNV1.

3. Select the parameter Adjustment Speed and change the values.

4. Press OK to confirm.

Parameter Description

Adjustment Speed The speed (in mm/s) at which the robot should catch up to the con-veyor for the first point coordinated to the conveyor position. It must be higher than the conveyor speed or the robot may never catch up to the conveyor.

52 Revision B 3HAC 16587-1

Page 54: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingMotion parameters

7.0.9 Motion parameters

There are two parameters that should be adjusted under the motion system. These parameters regulate the cpu load and the accuracy of the conveyor tracking under extreme conditions.

The first parameter is Path resolution. This parameter specifies the period of the path planner in planning steps along the path (no units). Step calculations require lots of cpu time and if steps cannot be calculated in time to keep the robot on the path then error 50082 Deceleration Limit may occur. As conveyor tracking increases the general cpu load then the Path resolution parameter must be increased in order to prevent this error.

The second parameter is Process update time. This parameter specifies the period (in seconds) at which the conveyor process should update the robot kinematics for path planning purposes. This parameter will affect conveyor accuracy only when the robot must make large reductions of programmed TCP speed due to dynamic considerations (singularities, large reorientations, and slow additional axes).

If the Process update time is set too large then errors in tracking will be small in the beginning of tracking but get larger after reductions of TCP speed. Decreasing Process update time will increase the cpu load and an increase of the Path resolution will be necessary.

.

Step Action

1. Choose Topics: Motion

2. Choose Types: Motion planner

3. Select motion_planner.

4. Select the parameters Path resolution, and Process update time and change the values.

5. Press OK to confirm.

Parameter Description

Path resolution The period at which steps along the path are calculated. Increase by 20% for conveyor tracking.

Process update time The time (in seconds) at which the conveyor process updates the robot kinematics on the conveyor position. Set to 0.09677 by default

Cpu_load_equalization This parameter should be set equal to 1 to have a smooth track-ing speed.Set to 2 by default on most of robots.

3HAC 16587-1 Revision B 53

Page 55: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingMotion mechanical unit parameters

7.0.10 Motion mechanical unit parameters

The mechanical unit parameters define the name used by the conveyor for RAPID and the FlexPendant as well as the conditions for activation and deactivation.

These parameters may be changed to give a customer defined name to the conveyor and to ensure activation of the conveyor.

Under the Configuration window, :

Step Action

1. Choose Types: Mechanical Unit

2. Select CNV1.

3. Select the parameters and change the values:

Parameter Description

Name

This name will subsequently be used in the Jogging window and from the pro-gram, e.g. when an unit is to be activated.

The name of the unit (max. 7 characters).

Activate at start up The conveyor is to be activated automatically at start up.

Deactivation Forbidden. The conveyor cannot be deactivated.

54 Revision B 3HAC 16587-1

Page 56: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConfiguration for track motion following conveyor

7.0.11 Configuration for track motion following conveyor

If the robot is mounted on a track, and the track is parallel to the conveyor, then the motion can be configured such that the track follows the conveyor.

The IRB robot manipulator and track must be configured for Coordinated Track Motion. See the Operator’s manual - IRC5 with FlexPendant for information on configuring the robot and track for coordinated motion.

Once the robot and track are configured for coordinated motion, then conveyor tracking will automatically use the track to follow the conveyor. The track will maintain the same position relative to the object as the object moves on the conveyor as it was during programming.

The track and robot base frame must be defined such that positive motion of the track is in the same direction as the conveyor. In some installations this may require a re-definition of the track’s direction of positive motion and calibration position. See Figure 4 below.

Figure 4 Example Configuration of Track and Conveyor Directions

Conveyor Direction

X

Y

X

Y

X

Y

World, Track

World, Track

conveyor

conveyor

robot

robot

0.0 m + Direction of Track-

Conveyor Quaternion: 1, 0, 0, 0Robot Base Quaternion: 0.7071, 0, 0, 0.7071Track Base Quaternion: 1, 0, 0, 0

3HAC 16587-1 Revision B 55

Page 57: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConfiguration for track motion following conveyor

Performance Considerations:Avoid moving the track when making the conveyor coordinated portion of the RAPID pro-gram. 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 robot’s TCP speed along the path in order to maintain coordination.

To track conveyor with robot instead of trackIf robot base not coordinated with track axis the robot do conveyor tracking without using the track .If the user wants robot base coordinated with track and use robot instead of track for conveyor tracking the following parameter must be changed .

Under the Configuration window,

Step Action

1. Choose Topics: Motion.

2. Choose Types: Robot.

3. Select robot.

Parameter Description

Track_conveyor_with_Robot If Yes, then the robot will track the conveyor without using the track axis even if robot is coordinated with track .

Default value is NO.

56 Revision B 3HAC 16587-1

Page 58: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingMotion robot parameters

7.0.12 Motion robot parameters

Under the Configuration window, .

Step Action

1. Choose Topics: Motion

2. Choose Types: Robot.

3. Select robot.

4. Select the paramters and change the values.

5. Press OK to confirm.

Parameter Description

Use kinematic for cor-vec

If Yes, The position adjustment is on six axis and as accurate as possible both in position and orientation. This is the default option for every robot type and should be used in most cases. This has no effect on coordinated track.

Use six axes corvec If Yes, then the position adjustment is on six axis: in this case the orientation of the tool is exact. .This has no effect on coordinated track .This option is only possible on six axis robots including IRB640 and IRB660(where axis 4 and 5 are locked). This choice takes a little less cpu time then the option Use_kinematic_for_corvec does. If the Use_kinematic_for_corvec option is used then this choice will not have any effect.

Allow outside reach prefetch

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 it’s final destination the robot will continue the track-ing operation. If the object is not reachable by that time the robot will stopp at the work area limit.

3HAC 16587-1 Revision B 57

Page 59: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingMotion robot parameters

58 Revision B 3HAC 16587-1

Page 60: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor tracking parameters

8 Conveyor tracking parameters

DescriptionThis section presents a summary of all system parameters that affect conveyor tracking. They are organised by topic as found under the Configuration window on the RSO.

8.0.1 Topic: I/O

1. Choose Types: FieldBus command

2. Select .

Parameter Description

CountsPerMeter Gives the number of quadrature pulses per meter of motion of the conveyor. Should be in the range of 5000-10000 for linear con-veyors.

SyncSeparation Sync Signal Separation (meters), this distance defines the mini-mum distance that the conveyor must move after a sync signal before a new sync signal is accepted as a valid object.

QueueTrckDist Queue Tracking Distance (meters), this distance defines the placement of the synchronization switch relative to the 0.0 meter point on the conveyor. The encoder unit tracks all objects in this distance but does not allow connection until an object has passed 0.0 meters.

StartWinWidth Start Window Width (meters), this distance defines the size of the start window. All objects within this window are tracked and are eligible for use in a coordinated work object. A WaitWObj instruc-tion will connect to the first object in the window.

IIRFPeriod Internal Use: Specifies the period of the speed filter on the encoder unit, must be the same as the Connection 1 Interval .

IIRFNoOfPoles Internal Use: Specifies the number of poles in the Infinite Impulse Response (IIR) speed filter.

IIRFNoOfZeros Internal Use: Specifies the number of zeros in the speed filter.

IIRFXfrmMetPol Internal Use: Specifies the transform method for discreting the speed filter coefficients for the filter poles.

IIRFXfrmMetZero Internal Use: Specifies the transform method for discreting the speed filter coefficients for the filter zeros.

3HAC 16587-1 Revision B 59

Page 61: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTopic: I/O

In case of noisy measurements or jerky conveyor following parameters can be used FIRLengh

=2 with FIRB0 =0.5 and FIRB1 =0.5 also IIRFFP can be reduced to 1Hz.

IIRFFZ Internal Use: Specifies the location of the real part of the zeros in the left-half plane (in Hz) when zeros have been given.

IIRFDZ Internal Use: Specifies the damping of the zeros and thus the imaginary portion of the zero location in the left-half plane.

IIRFFP 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 unit and regulates how hard the speed is filtered in the encoder unit.For stop and go conveyors this parameter should be set between 10 and 15 Hz to have a good accuracy during stop and start .

IIRFDP Internal Use: Specifies the damping of the poles and thus the imaginary portion of the zero location in the left-half plane.

IIRFGain Internal Use: Specifies gain of the speed filter. Must be 1.0

FIRLengh Internal Use: Specifies the length of the Finite Impulse Response (FIR) filter on the position.

FIRB0 Internal Use: Specifies the weight on the first coefficient in the FIR position filter.

FIRB1 Internal Use: Specifies the weight on the second coefficient in the FIR position filter

Parameter Description

60 Revision B 3HAC 16587-1

Page 62: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTopic: Process

8.0.2 Topic: Process

1. Choose Types: Conveyor Systems.

2. Select CNV1 .

Parameter Description

Adjustment Speed The speed (in mm/s) at which the robot should catch up to the con-veyor. 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.

Minimum distance The minimum distance (in millimeters) that a connected object may have before being automatically dropped. If an object is dropped during coordinated motion, then the motion is stopped and an error is pro-duced.

Maximum distance The maximum distance (in millimeters) that a connected object may have before being automatically dropped. If an object is dropped during coordinated motion, then the motion is stopped and an error is gener-ated.

Correction_vector_stop_ramp

The number of samples used to ramp down the correction when track-ing is stopped .In case of tracking with a track axis this parameter should be increased to 30.

Correction_vector_ramp_length

The number of samples used to ramp up the correction when start tracking .In case of tracking with a high speed conveyor this parameter should be increased.

Adjustment_accel The maximum acceleration (in mm/s^2) 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 perfor-mances .With robot on trak or trolley tracking with the track the perfor-mace of the track is automaticilly used .This parameter must be adjusted when the robot can’t contimue his path but remains tracking the same position on the conveyor.For big robots like IRB6600 adjustemt_accel should be set around 1000 if conveyor speed is higher than 150 mm/s.

Speed_filter_length The number of samples used for average filter of conveyor speed .Max-imum value is 50 .Default value 1 :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 .

3HAC 16587-1 Revision B 61

Page 63: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTopic: Process

CAN Interface1. Choose Types: CAN Interface.

2. Select CAN1 .

Parameter Description

Signal delay The delay (in milliseconds) for adjusting the prediction time of the con-veyor position using the conveyor speed.

Connected signal Name of the digital input signal for connection.

Position signal Name of the analog input signal for conveyor position.

Velocity signal Name of the analog input signal for conveyor speed.

Null speed signal Name of the digital input signal indicating zero speed on the conveyor.

Data ready signal Name of the digital input signal indicating a poll of the encoder unit.

WaitWObj signal Name of the digital output signal to indicate that a connection is desired to an object in the queue.

DropWObj signal Name of the digital output signal to drop a connected object on the encoder unit.

PassStartW signal Name of the digital input signal to indicate that an object has gone past the start window without being connected.

62 Revision B 3HAC 16587-1

Page 64: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTopic: Motion

8.0.3 Topic: Motion

1. Choose Types: Motion planner.

2. Select motion_planner.

Mechanical Unit1. Choose Types: Mechanical Unit

2. Select CNV1 .

Single1. Choose Types: Single.

2. Select CNV1 .

Parameter Description

Path resolution The period at which steps along the path are calculated.

Process update time The time (in seconds) at which the conveyor process updates the robot kinematics on the conveyor position.

Parameter Description

Name

This name will subsequently be used in the Jogging window and from the program, e.g. when an unit is to be activated.

The name of the unit (max. 7 characters).

Activate at start up The conveyor is to be activated automatically at start up.

Deactivation Forbidden. The conveyor cannot be deactivated.

Parameter Description

Base frame x The X-coordinate of the conveyor’s base coordinate system’s position in relation to the world coordinate system (in metres).

Base frame y The Y-coordinate of the conveyor’s base coordinate system (in metres).

3HAC 16587-1 Revision B 63

Page 65: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTopic: Motion

Single type1. Choose Types: Single type.

2. Select CNV1 .

Transmission1. Choose Types: Transmission.

2. Select CNV1 .

Base frame z The Z-coordinate of the conveyor’s base coordinate system (in metres).

Base frame q1-q4 The orientation of the conveyor base coordinate system in relation to the world coordinate system (expressed in quaternions q1-q4).

Parameter Description

Parameter Description

Mechanics Specifies the mechanical structure of the conveyor.

Parameter Description

Rotating move Specifies if the conveyor is rotating (Yes) or linear (No).

64 Revision B 3HAC 16587-1

Page 66: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTopic: Motion

RobotUnder the Configuration window,

Step Action

1. Choose Topics: Motion.

2. Choose Types: Robot.

3. Select robot.

4. Select the paramters and change the values.

5. Press OK to confirm.

Parameter Description

Use kinematic for cor-vec

If Yes, The position adjustment is on six axis and as accurate as possible both in position and orientation. This is the default option for every robot type and should be used in most cases. This has no effect on coordinated track.

Use six axes corvec If Yes, then the position adjustment is on six axis: in this case the orientation of the tool is exact. .This has no effect on coordinated track .This option is only possible on six axis robots including IRB640 and IRB660(where axis 4 and 5 are locked). This choice takes a little less cpu time then the option Use_kinematic_for_corvec does. If the Use_kinematic_for_corvec option is used then this choice will not have any effect.

Allow outside reach prefetch

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 it’s final destination the robot will continue the track-ing operation. If the object is not reachable by that time the robot will stopp at the work area limit.

3HAC 16587-1 Revision B 65

Page 67: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTopic: Motion

66 Revision B 3HAC 16587-1

Page 68: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingCircular conveyor tracking

8.1 Circular conveyor tracking

DescriptionThe conveyor tracking software provides the capability of tracking circular conveyors. The fundamental principle for configuration of circular conveyor tracking is to replace all refer-ences to ‘meters’ by ‘radians’ and proceed with the configuration as given in the Section 7 Conveyor setup and calibration. This section will review the steps in setup and configuration and note those places where the configuration must be changed to accommodate a circular conveyor.

ExampleThe following figure shows an example of circular conveyor tracking with example units and distances:

Figure 5 Example Configuration of Circular Conveyor Tracking

Xworld

Yworld

radius = 6 meter

XY

Direction of Rotation

0.0 rad

QueueTrkDist = 0.017 rad

StartWinWidth = 0.017 rad

Minimum Distance = -100 milliradians

Maximum Distance = 420 milliradians

Synch Switch

CountsPerMeter = 40000 counts per radianAt 6 m radius, one count = 0.15 mm

At 6 m radius, = 100 mm

At 6 m radius, = 100 mm

At 6 m radius, = 2520 mm

At 6 m radius, = -600 mm

SyncSeparation = 0.005 radAt 6 m radius, = 30 mm

2.44 rad

Conveyor Base Frame:

The X axis is rotated 2.44 rad fromthe World X,Base frame q1 = 0.3420Base frame q2 = 0.0000Base frame q3 = 0.0000Base frame q4 = 0.9397

Base frame x = 8.0 mBase frame y = 0.0 mBase frame z = 0.0 m

3HAC 16587-1 Revision B 67

Page 69: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingEncoder type selection and location

8.1.1 Encoder type selection and location

The goal in selecting an encoder for circular conveyor tracking is to have 0.1 mm to 0.2 mm resolution per count at the maximum radius of conveyor tracking.

Example:

Following see Example Configuration of Circular Conveyor Tracking. page 67, at a 6 meter radius in order to have 0.15 mm per count, we must have 40,000 counts per radian at the centre of the table.

The counts are quadrature encoded (four counts per pulse), thus the encoder must give 10,000 pulses per radian of circular conveyor movement. For a full revolution there are radians per revolution, giving a requirement for pulses per revolution of the circular conveyor.

Gear Ratio Selection:

If an encoder with 1000 pulses per revolution is selected, then we require a gear ratio of 1 to 62.83185 between the circular conveyor and the encoder shaft.

8.1.2 Software installation

The DSQC 354 Encoder Interface Unit and conveyor tracking software are connected and installed in the same manner as for linear conveyors.

8.1.3 Direction of positive motion from encoder

See the description for linear conveyors, Section 7.0.1.

8.1.4 Calibration of counts per meter

For a circular conveyor, the setting of the CountsPerMeter parameter should be known from the selection of the encoder and the gear ratio between the circular conveyor and the encoder shaft.If the value is not known, then it is possible to measure the value following the same steps as outlined for a linear conveyor with extra equipment for measuring the change in angle of the conveyor between position_1, and position_2.

2�10000 2�� 62831,85=

Note!The maximum value for configuration of CountsPerMeter in the encoder software is 50000. This limitation should be taken into consideration when selecting gearing and encoder.

68 Revision B 3HAC 16587-1

Page 70: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingDefining the queue tracking distance

8.1.5 Defining the queue tracking distance

Before proceeding with conveyor setup and calibration it is necessary to define the desired Queue Tracking Distance. The Queue Tracking Distance establishes the distance between the synchronization switch and the 0.0 rad point on the circular conveyor. The encoder unit will keep track of all objects that have passed the synchronization switch but have not yet passed the 0.0 rad point.

Under the System Parameters window:

.

8.1.6 Circular conveyor base frame calibration - manual method

The accuracy of the circular conveyor tracking is highly dependent upon the accuracy in specifying the conveyor base frame. In this software release, there are two choices available for base frame calibration of a circular conveyor:

1. Enter the orientation and position of the base frame based on drawings of the robot installation and simple TCP measurements.

2. Use the robot TCP as a measuring tool and measure several points along the conveyor with some trigonometric calculations to calculate the conveyor base frame position and quaternion.

Step Action

1. Choose Topics: I/O Signals

2. Choose Types: Units

3. Select Encoder.

4. Select QueueTrckDist and change its value.

5. Press OK to confirm

Parameter Description

QueueTrckDist Queue Tracking Distance (radians for circular conveyor). This distance defines the placement of the synchronization switch relative to the 0.0 rad point on the conveyor. The encoder unit tracks all objects in this distance but does not allow connection until an object has passed 0.0 rad.

3HAC 16587-1 Revision B 69

Page 71: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingCircular conveyor base frame calibration - manual method

In this section, the first choice using a manually calculated quaternion is described. However, the second choice is the recommended approach and is discussed in Section 8.1.7 Circular conveyor base frame calibration - TCP measurement method.

Orientation - manual methodDefinition of the quaternion for conveyor orientation will also define the location of the 0.0 rad point on the circular conveyor. The direction of the X axis will define the 0.0 rad point while the direction of the Z axis will define the direction of positive rotation using the right-hand-rule.The following figure shows two installations, one with clockwise rotation and the other with counterclockwise rotation and the corresponding quaternions. In cases where the 0.0 rad point is not an even multiple of 90 from the World frame, calculation of the conveyor orientation quaternion must be done using manual calculations of the quaternion. The TCP can be used to help make measurements, see Section 8.1.7.

Figure 6 Circular Conveyor Orientation Quaternions

Base frame position and start window start calibration - manual methodThe 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 may be marked on the edge of the circular con-

Xworld

Yworld

X

Y

Direction of

0.0 rad

Xworld

Yworld

X

Y

Direction of Rotation

0.0 rad

Quaternion: 0.7071, 0, 0, 0.7071 Quaternion: 0, 0.7071, -0.7071, 0

QueueTrckDistRotation

70 Revision B 3HAC 16587-1

Page 72: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingCircular conveyor base frame calibration - TCP measurement method

veyor and the TCP position is recorded for several points and the centre point of the circle can be found. This is described in detail in the following section.

8.1.7 Circular conveyor base frame calibration - TCP measurement method

It is possible to use TCP measurements and RAPID programs to assist in the calculation of the conveyor base frame position and quaternion. This section outlines the necessary steps for a circular conveyor.

Base frame X, Y, Z positionThe following method uses 3 measured points on the circular conveyor to calculate the centre of rotation. The 3 points should be spaced as far apart as possible around the periphery.

Base frame orientation and start window start calibrationThe purpose of this section is to define the base frame quaternion and the Z value of the base frame. The base frame quaternion will define where the 0.0 rad point is for the robot motion.

Step Action

1. Use Wobj0 on the FlexPendant. Pick out a reference point on the circular conveyor, jog the TCP to this point and record p_0.

2. Run the conveyor to another position. Jog the TCP back to the reference point and record p_1.

3. Run the conveyor to a third position, jog the TCP back to the reference point and record p_2.

4. Use the utility function, UTL_cirCntr, with the points p_0, p1, and p_2, to calculate the centre of the circle, p_centre.

5. Take the X and Y values from p_centre and enter them into the Base Frame values for the Conveyor, converting to meters, see Section 8.0.3. These are shown in Figure 6. The Z value will be entered later, once the work object zero position has been chosen.

3HAC 16587-1 Revision B 71

Page 73: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingCircular conveyor base frame calibration - TCP measurement method

The following figure shows an example of the angles that are to be used in defining the base frame orientation for the circular conveyor:

Figure 7 Example Measurement Points for Base Frame Calculation on a Circular Conveyor

The following procedure can be used to calculate the quaternion for the base frame orienta-tion.

1. Define a temporary conveyor base frame quaternion as 1, 0, 0, 0

2. Define a conveyor coordinated work object wobjcnv1

3. Step FWD through a RAPID program containing the two commands:

ActUnit CNV1;

WaitWObjwobjcnv1;

4. Run the conveyor until an object passes through the sync switch and beyond the Queue Tracking Distance. The WaitWObj instruction will end execution. Stop the con-veyor.

5. Using wobjcnv1, move the robot Tool Centre Point to the desired zero position on the work object, record this point, p_0. Write down the X_0, Y_0, and Z_0 coordinates of the point p_0 as shown on the FlexPendant when using the wobjcnv1 work object.

Xworld

Yworld

Counter-Clockwise

p_0 0.0 rad

X, Y

X_0, Y_0

P�

Base�

Q�TP

= Queue Tracking Distance angle = Angle shown on FlexPendant

= Angle calculated from p_0 position. = Base frame angle to be converted into

a quaternion.

Q�

TP�

P�

Base�

Synch Switch

p_centre

Rotation

72 Revision B 3HAC 16587-1

Page 74: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor start window and sync separation

6. Write down the angle shown in the Jogging Window for the CNV1 conveyor. This is angle , see Figure 7

7. Calculate from the X_0 and Y_0 coordinates of p_0 and the atan function. X_0 and Y_0 should both be positive when using the atan function. Check the value, it may be necessary to add 90 degrees:

8. Calculate the value of :

9. Calculate the quaternion for the Base frame taking into account the direction of rotation:

Counter clockwise rotation:

q1 =

q2 = 0.0

q3 = 0.0

q4 =

Clockwise rotation:

q1 = 0.0

q2 =

q3 =

q4 = 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 System Parameters, Section 8.0.3 Topic: Motion.

8.1.8 Conveyor start window and sync separation

For circular conveyor tracking these distances are to be specified in radians.

TP�

P�

P�Y_0X_0-------------� �atan=

Base�

Base�

P�

TP�

–=

Base�

2�� �cos

Base�

2�� �sin

Base�

2�� �cos

Base�

2�� �sin–

3HAC 16587-1 Revision B 73

Page 75: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor maximum and minimum distances

8.1.9 Conveyor maximum and minimum distances

For circular conveyor tracking these distances are to be specified in milliradians.

8.1.10 Conveyor adjustment speed

The same as for linear conveyors.

8.1.11 Motion system parameters

The same as for linear conveyors.

8.1.12 Motion mechanical unit parameters

The same as for linear conveyors.

8.1.13 Motion transmission and single type

The motion configuration of the conveyor must be adjusted to account for a circular motion of the conveyor. There are two parameters that must be adjusted.

Under the System Parameters window,

Step Action Note/illustration

1. Choose Topics: Manipulator.

2. Choose Types: Transmission.

3. Select CNV1.

4. Select the parameter Rotating move and change the value

Rotating move

Specifies if the conveyor is rotating (Yes) or linear (No).

5. Press OK to confirm.

6. Choose Types: Single type.

7. Select CNV1.

8. Select the parameter Mechanics and change the value

Mechanics

Specifies the mechanical structure of the conveyor. Choose EXT_ROT

74 Revision B 3HAC 16587-1

Page 76: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingMotion transmission and single type

3HAC 16587-1 Revision B 75

Page 77: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingMotion transmission and single type

76 Revision B 3HAC 16587-1

Page 78: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingHow to use DSQC377A in queue tracking mode

9 How to use DSQC377A in queue tracking mode

9.0.1 DSQC377A Features

Supports Queue-tracking mode (Job queue is External to 377A, which means it can be

handled by MC/Rapid code)

Supports Queue-tracking disabled ( queue handled in board means "old 354-mode")

9.0.2 Installation

The conveyor option automatically installs one conveyor into the IRC5 system parame-ters.The conveyor I/O configuration is Queue-tracking disabled by default as c1PosInJob =0.

Set c1PosInJob to 1 .

9.0.3 System parameters

Topic: I/O

1. Choose Types: Signal.

To view the value of the signal choose the Input and Output view on the FlexPendant or the I/O System view in RSO.

I/O Signal Description

c1ObjectsInQ Group input showing the number of objects in the Object Queue. These objects have passed the synchronization switch but have not gone outside the startwindow.

c1Rem1PObj Remove First Pending Object from the Object Queue. Setting this sig-nal 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.

c1RemAllPObj Remove All Pending Objects. Setting this signal will cause the Encoder Interface Unit to empty all objects from the Object Queue. If an object is connected, then it is not removed.

c1DropWObj Setting this signal will cause the encoder unit to drop the tracked object and disconnect that object. The object is removed from the queue.This should not be set from Rapid: use DropWobj instruction instead .

3HAC 16587-1 Revision B 77

Page 79: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingSystem parameters

c1NewObjStrobe DI New position from the encoder node to enter the job queue

c1CntFromEnc1 GI Counter value from Encoder to main controller - low word

c1CntFromEnc2 GI Counter value from Encoder to main controller - high word

c1CntToEncStr DO Strobe for a 32-bit position to the encoder node from the job queue

c1CntToEnc1 GO Counter value from main controller to Encoder - low word

c1CntToEnc2 GO Counter value from main controller to Encoder - high word

c1ScaleEncPuls DI Scaled-down encoder pulses

c1ForceJob DO Run this job even if the checkpoint should fail

c1PosInJobQ DO Send the position to MC to be stored in the job queue

(0 = Queue-tracking disabled; Same mode as DSQC 354)

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 Wait-WObj instruction, the program pointer will be moved to the nearest error handler, so appropriate action can be taken, e.g. Pop the job queue.

c1EncSelected DI: 0 = Encoder A selected, 1= Encoder B selected

c1EncAFault DI Encoder A Fault

c1EncBFault DI Encoder B Fault

c1DirOfTravel: DI Direction of travel

c1Simulating DI Simulating Mode

c1PowerUpStatus DI: Power Up Status: Counters have been lost

c1SimMode DO Puts the encoder board in to simulation mode

c1softSyncSig DO Soft-sync signal. Simulates Sync-input.

c1softCheckSig DO Soft-checkpoint signal. Simulates checkpoint input

c1EncSelec DO: 0 = Encoder A selected, 1= Encoder B selected

78 Revision B 3HAC 16587-1

Page 80: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingWorking with the Object Queue

9.0.4 Working with the Object Queue

The IRC5 conveyor option provides several I/O signals which allow a user or RAPID pro-gram to monitor and control the Object Queue . The previous table shows the I/O signals which impact the Object Queue.The counter values have to do with the Queue-tracking func-tion. Positions detected on the encoder node are sent to the main computer to be stored in the Job queue handled by the robot controller. Values are returned to Encoder when object is ready to be tracked.To handle the object queue in rapid the program must store the counters values for each new object on the conveyor and write them to the conveyor board when the user wants to track this object .The rapid program needs the following elements .

SetDO c1PosInJobQ, 1;

!so the board will update the counters

CONNECT NewObj WITH NewObjOnConvey;

ISignalDI c1NewObjStrobe, high, NewObj;

! To save the counters when a new object is detected

TRAP NewObjOnConvey

! Toggle has arrived; Read a new position from input group

ObjectPosition1 := GInput(c1Count1FromEnc);

ObjectPosition2 := GInput(c2Count2FromEnc);

RETURN;

ENDTRAP

TRAP TrackNewObj

! Want to track new obj : Write a new reference to output group

SetGO c1Count1ToEnc, ObjectPosition1;

SetGO c1Count2ToEnc, ObjectPosition2;

WaitTime 0.05;

! Validate the new reference

PulseDO c1CountToEncStr;

RETURN;

ENDTRAP

3HAC 16587-1 Revision B 79

Page 81: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingCheck point function

9.0.5 Check point function

Checkpoint Distance is used when running queue tracking. In addition to the normal sync switch you have a check point switch right before the start window.

This switch will check if the object is within the limits set by the Check point window width.

If not, the object will be discarded from the object queue, unless the c1ForceJob signal is active.

Checkpoint signal is connected on input 16.

Checkpoint parameters:

• Check point distance - distance to check point from 0.0

• Check point window width - tolerance window for the check point

9.0.6 Scale enc pulse

Topic: I/O

1. Choose Types: Signal

9.0.7 Passed Start window signal

Notification of Object LostIn certain applications it is important to know whether an object has gone through the start window without being connected. The DSQC377A Encoder interface unit supports an addi-tional feature which allows the IRC5 software to detect when an object has passed the start window without being connected and is thus lost.

The detection of the lost object is done on the next WaitWObj instruction. The next Wait-WObj instruction, following after an object has moved outside the start window, will return with the error ERR_CNV_DROPPED. This error can be handled in the RAPID Error handler.

Note!Check point distance and Check point window width must be set to zero when not used, or else this functionality may inadvertedly drop objects from the queue.

Parameter Description

ScalingFactor ScaleFactor tells after how many counts the signal c1ScaleEncPuls should toggle.So distance between scale enc pulses = (ScaleFactor * 2)/CountsPerMeter. Max value of ScaleFactor is 25000.

80 Revision B 3HAC 16587-1

Page 82: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingSimulation mode

The DSQC 377A unit returns a new I/O signal, c1PassStw, on physical signal 44 from the Encoder interface unit. This signal will go high when the next connect is attempted and one or more objects have left the start window without being connected. It may be desirable to disable the automatic use of the c1PassStw signal and use this signal directly in the user’s RAPID application.

Disabling the Object Lost Feature in WaitWObjThis feature of the DSQC 377A unit may not be desirable in all applications as it may limit backwards compatibility or may complicate the application.

The feature can be disabled via removing a Conveyor I/O signal:

Under System Parameters, Process, Types: Conveyor Systems. Remove the signal name used for PassStartW signal.

This will stop the ERR_CNV_DROPPED from occurring on the next WaitWObj instruction. The c1PassStw signal from the DSQC 377A will still go high but the conveyor tracking pro-cess will no longer be looking for the signal.

9.0.8 Simulation mode

Topic: I/O

1. Choose Signal.

In I/O Window

2. Choose View: User Signal

3. Select c1Simulating

The simulated encoder starts when the simulation signal is set.The sim encoder counts is set to the real encoder counts when the the simulation signal is set.

If simulation signal is reset the encoder value returns to real encoder position

Parameter Description

SimulationVel Simulation speed of the encoder

3HAC 16587-1 Revision B 81

Page 83: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingSimulation mode

82 Revision B 3HAC 16587-1

Page 84: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingIndexing conveyor tracking

10 Indexing conveyor tracking

DescriptionThis section presents a summary of how to track indexing conveyor. New io signal must be defined in Eio.cfg, Proc.cfg and connected. A new Rapid instruction must be used to handle record of conveyor position. As the prediction is based of recorded profile the repeatability is very important for the accuracy. This function is not adapted if the conveyor movements are not repeatable.

10.0.1 Topic: I/O

• Choose Types: Fieldbus command

10.0.2 Topic: process

1. Choose Types: Conveyor Systems.

2. Select CNV1.

10.0.3 CnvGenInstr

CnvGenInstr sends a command to conveyor process attached to conveyor mechanical unit.

Parameter Description

IIRFFP 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 unit and regulates how hard the speed is filtered in the encoder unit. For indexing conveyors this parameter should be set between 10 and 15 Hz to have a good accuracy during stop and start.

Parameter Description

Sensor_start_signal Name of the digital input signal to synchronize recorded profile and new index movement. The signal must be set before start of con-veyor movement. For example when a cam to move the conveyor the sensor can be placed to be trigged 100 ms before conveyor moves.

3HAC 16587-1 Revision B 83

Page 85: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingArguments

ExampleCnvGenIstr CNV1,CNV_ACTIV_REC,mycnvdata;

The controller will activate the record.

10.0.4 Arguments

CnvGenInstr MechUnit ,cnvcmd ,Data

MechUnit (Mechanical Unit ) Data type: mechanical unit

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.

10.0.5 Program execution

All commands must be sent at least 0.2 second before start of conveyor movement.

Examples

Example1

VAR cnvgendata mycnvdata:=[0,0,0,0,"",""];

CnvGenInstr CNV2,CNV_START_REC,mycnvdata;

mycnvdata.value1:=1;

• For this command data.value1 specify the duration of record in seconds. This value must be situaated between 0.1 and pos_update_time*300.

84 Revision B 3HAC 16587-1

Page 86: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingProgram execution

Example 2

CnvGenInstr CNV2,CNV_STOP_REC,mycnvdata;;

• This commend can be used if CNV_START_REC has been sent with duration 0.

Example 3

CnvGenInstr CNV2,CNV_ACTIV_REC,mycnvdata;

mycnvdata.value1:=0;

• For this command data.value1 specify a delay added to record in seconds. This value must be situated 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 fin-ished.

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 movementError 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.

3HAC 16587-1 Revision B 85

Page 87: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingLimitations

10.0.6 Limitations

As access to files may take a lot of time it is recommanded 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: delay between sensor_start_signal and conveyor movement must not vary more than 120 ms.

10.0.7 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 restart of robot.

10.0.8 Syntax

CnvGenInstr[ MechUnit’:=’]< var of mechanical unit > ‘;’

[ Command’:=’]< expression (IN) of num> ‘;’

[Data’:=’]< var of cnvgendata> ‘;’

86 Revision B 3HAC 16587-1

Page 88: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConveyor tracking and Multimove

11 Conveyor tracking and Multimove

11.0.1 About Conveyor tracking and MultiMove

PurposeHere are some examples of applications:

• Several robots can work on the same object moving on a conveyor.

• Several robots can cooperate to pick objects on a conveyor .

11.0.2 About the example applications

Two examples These example robot system setups are called "UnsyncCnv" and "SyncCnv" " and will help you to understand how to combine multimove and conveyor tracking ..

Example "UnsyncCnv"

About example "UnsyncCnv"In this example, two robots work independently on one work piece for each robot. They do not cooperate in any way and do not have to wait for each other.For this case one conveyor mechanical unit for each robot .Two 377 boards may be connected to the same encoder .

3HAC 16587-1 Revision B 87

Page 89: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingAbout the example applications

Illustration

Figure 8 xx0300000590

Example "SyncCnv"

About example "SyncCnv"In this example, two robots perform arc welding on the same work piece. The work object is moved by a conveyor . One conveyor mechanical unit in a separate motion planner.

Illustration

Figure 9 xx0300000594Configuration

88 Revision B 3HAC 16587-1

Page 90: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingAbout the example applications

Configuration example for "UnsyncCnv"

About this exampleThis is an example of how to configure example "UnsyncCnv", two independent robots. The robots are handled by one task each.

Tasks

Mechanical Unit Group

Task Type MotionTask Use Mechanical Unit Group

T_ROB1 NORMAL Yes rob1

T_ROB2 NORMAL Yes rob2

Name Robot Mech Unit 1 Use Motion Planner

rob1 ROB_1 CNV1 motion_planner_1

rob2 ROB_2 CNV2 motion_planner_2

3HAC 16587-1 Revision B 89

Page 91: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingAbout the example applications

Motion Planner

Mechanical Unit

Name

motion_planner_1

motion_planner_2

NameAllow move of user frame

Activate at Start Up

Deactivation Forbidden

ROB_1 No Yes No

ROB_2 No Yes No

CNV1 Yes No No

CNV2 Yes No No

90 Revision B 3HAC 16587-1

Page 92: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConfiguration example for "SyncCnv"

Illustration

Figure 10 en0400000773

11.0.3 Configuration example for "SyncCnv"

About this exampleThis is an example of how to configure example "SyncCnv", two robots and a positioner. These three mechanical units are handled by one task each.

3HAC 16587-1 Revision B 91

Page 93: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConfiguration example for "SyncCnv"

Tasks

Mechanical Unit Group

Motion Planner

Mechanical Unit

Task Type MotionTask Use Mechanical Unit Group

T_ROB1 NORMAL Yes rob1

T_ROB2 NORMAL Yes rob2

T_CONV3 NORMAL Yes conv3

Name Robot Mech Unit 1 Use Motion Planner

rob1 ROB_1 motion_planner_1

rob2 ROB_2 motion_planner_2

conv3 CNV3 motion_planner_3

Name

motion_planner_1

motion_planner_2

motion_planner_3

NameAllow move of user frame

Activate at Start Up

Deactivation Forbidden

ROB_1 No Yes No

ROB_2 No Yes No

CNV3 Yes Yes No

92 Revision B 3HAC 16587-1

Page 94: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingConfiguration example for "SyncCnv"

Illustration

Figure 11 en0400000774

Calibration overviewFor Unsync movements each conveyor must be calibrated with his motion group robot: Cnv1 with Robot_1 and Cnv2 with Robot_2. After robots base calibration.

For Sync movements Cnv3 calibrated with one robot only: Robot_1.

3HAC 16587-1 Revision B 93

Page 95: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTasks and programming techniques

11.0.4 Tasks and programming techniques

Different tasksEach task program can handle the movements for one robot and up to 6 additional axes. Several tasks can be used, each containing a program quite similar to the program of the main task in a single robot application. For more information about the tasks, see the section about Multitasking in Application manual - Engineering tools.

One task program per robotEach task program can only handle one TCP. This means that you must have one task for each robot.

Conveyor in separate tasksConveyor that move a work object can be handled by the same task program as one of the robots for unsync movements .For synchronized movements the conveyor should be able to move independent of the robots, it is best to let a separate task program handle the conveyor .

Independent movements: Example "UnsyncCnv" .

ROB1 task program

MODULE module1

TASK PERS wobjdata wobj1 :=

[ FALSE, TRUE, "",

[ [500, -200, 1000], [1, 0, 0 ,0] ],

[ [100, 200, 100], [1, 0, 0, 0] ] ];

TASK PERS wobjdata wobjcnv1 :=

[ FALSE, FALSE, "CNV1",

[ [0, 0, 0], [1, 0, 0 ,0] ],

[ [0, 0, 0], [1, 0, 0, 0] ] ];

TASK PERS tooldata tool1 := ...

CONST robtarget p11 := ...

94 Revision B 3HAC 16587-1

Page 96: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTasks and programming techniques

...

CONST robtarget p14 := ...

PROC main()

...

IndependentMove;

...

ENDPROC

PROC IndependentMove()

MoveL p11, v500, fine, tool1\WObj:=wobj1;

WaitWObj wobjcnv1\RelDist:=10;

MoveC p12, p13, v500, z10, tool1\WObj:=wobjcnv1;

MoveC p14, p11, v500, fine, tool1\WObj:=wobj1;

ENDPROC

ENDMODULE

ROB2 task program

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()

3HAC 16587-1 Revision B 95

Page 97: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTasks and programming techniques

...

IndependentMove;

...

ENDPROC

PROC IndependentMove()

MoveL p21, v500, fine, tool2\WObj:=wobj2;

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

Coordinated synchronized movements: Example "SyncCnv"

ROB1 task program

MODULE module1

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] ] ];

TASK PERS tooldata tool1 := ...

CONST robtarget p100 := ...

...

CONST robtarget p199 := ...

96 Revision B 3HAC 16587-1

Page 98: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTasks and programming techniques

PROC main()

...

SyncMove;

...

ENDPROC

PROC SyncMove()

MoveJ p100, v1000, z50, tool1;

WaitSyncTask sync1, all_tasks;

MoveL p101, v500, fine, tool1 \WObj:=wobj1;

SyncMoveOn sync2, all_tasks;

MoveL p102\ID:=10, v300, fine, tool1

\WObj:=wobjcnv3;

MoveC p103, p104\ID:=20, v300, z10, tool1

\WObj:=wobjcnv3;

MoveL p105\ID:=30, v300, z10, tool1

\WObj:=wobjcnv3;

MoveC p106, p101\ID:=40, v300, fine, tool1

\WObj:=wobj1;

SyncMoveOff sync3;

MoveL p199, v1000, fine, tool1;

UNDO

SyncMoveUndo;

ENDPROC

ENDMODULE

ROB2 task program

MODULE module2

VAR syncident sync1;

VAR syncident sync2;

VAR syncident sync3;

PERS tasks all_tasks{3} :=

[["ROB1"],["ROB2"],["CONV3"]];

PERS wobjdata wobjcnv3 :=

3HAC 16587-1 Revision B 97

Page 99: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTasks and programming techniques

[ FALSE, FALSE, "CNV3",

[ [0, 0, 0], [1, 0, 0 ,0] ],

[ [0, 0, 0], [1, 0, 0, 0] ] ];

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

98 Revision B 3HAC 16587-1

Page 100: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingTasks and programming techniques

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

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;

3HAC 16587-1 Revision B 99

Page 101: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingMotion principles

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

11.0.5 Motion principles

Robot speedsWhen the movements of several robots are synchronized, all robots adjust their speed to finish their movements simultaneously. This means that the robot movement that takes the longest time will determine the speed of the other robots.

11.0.6 Programming recommendations

Combining sync and unsync If combination of sync and unsync mode is needed with a single conveyor it is needed to have two mechanical units for unsync mode for instance CNV1 and CNV2 connected eventually to the same encoder .CNV3 can be configured using the same IO signals as CNV1 in Proc.cfg replace defalut C3xx signals name by C1xx .(ie position_signal c3position becomes position_signal c1position ) .

So Proc.cfg will look like this:

100 Revision B 3HAC 16587-1

Page 102: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingProgramming recommendations

Conveyor:

-name "CNV1" -sensor_type "CAN" -use_sensor "CAN1" -adjustment_speed 250\

-min_dist -600 -max_dist 20000 -correction_vector_ramp_length 10

-name "CNV2" -sensor_type "CAN" -use_sensor "CAN2" -adjustment_speed 250\

-min_dist -600 -max_dist 20000 -correction_vector_ramp_length 10

-name "CNV3" -sensor_type "CAN" -use_sensor "CAN3" -adjustment_speed 250\

-min_dist -600 -max_dist 20000 -correction_vector_ramp_length 10

#

3HAC 16587-1 Revision B 101

Page 103: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Conveyor trackingProgramming recommendations

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"

-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"

102 Revision B 3HAC 16587-1

Page 104: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Index

Numerics

50082 Deceleration Limit, 53

A

Activate at Start Up, 90, 92Activate at start up, 54, 63Activating the conveyor, 22ActUnit, 22Adjustment Speed, 61Adjustment_accel, 61Allow move of user frame, 90, 92Arguments, 31, 35, 84Automatic Connection upon Activation

, 22

B

Base Frame of conveyor, 19Base Frame of robot, 19Base frame orientation and start window start cali-bration, 71Base frame position and start window start calibra-tion - manual method, 70Base frame q1-q4, 64Base frame x, 63Base frame X, Y, Z position, 71Base frame y, 63Base frame z, 64

C

c1CntFromEnc1, 78c1CntFromEnc2, 78c1CntToEnc1, 78c1CntToEnc2, 78c1CntToEncStr, 78c1DirOfTravel

, 78

c1DropWObj, 21, 77c1EncAFault, 78c1EncBFault, 78c1EncSelec, 78c1EncSelected, 78

c1ForceJob, 78c1NewObjStrobe, 78c1ObjectsInQ, 21, 77c1PassedStWin, 78c1PosInJobQ, 78c1PowerUpStatus, 78c1Rem1PObj, 21, 77c1RemAllPOb, 21c1RemAllPObj, 77c1ScaleEncPuls, 78c1SimMode, 78c1Simulating, 78c1softCheckSig, 78c1softSyncSig, 78calibration, 93Calibration of Circular Conveyors, 12Calibration of counts per meter, 43, 68Calibration of Linear Conveyors, 11Change of tool, 26Check point function, 80Circular conveyor base frame calibration - manualmethod, 69cnv1_moc, 42cnvcmd, 84CnvGenInstr, 83CnvGenInstr sends a command to conveyor pro-cess attached to conveyor mechanical unit, 83Configuration for track motion following convey-or, 55ConfL, 27Connected signal, 62Connecting the DSQC 377A to the IRC5 cabinet,40Connecting to a Work Object, 16Conveyor adjustment speed, 74Conveyor as a Mechanical Unit, 15Conveyor base frame calibration, 46Conveyor Coordinated Work Object, 15Conveyor maximum and minimum distances, 50,74Conveyor setup and calibration, 43

3HAC 16587-1 103

Page 105: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Index

Conveyor start window and sync separation, 49, 73Coordinate systems, 19Coordinated Finepoint, 11Correction_vector_ramp_length, 61Correction_vector_stop_ramp, 61CountsPerMeter, 59Cpu_load_equalization, 53

D

Data, 84Data ready signal, 62Deactivation Forbidden, 90, 92DeactUnit, 22Defining a conveyor coordinated work object, 22Defining the queue tracking distance, 45, 69Direction of positive motion from encoder, 43, 68Disabling the Object Lost Feature in WaitWObj,81Do not allow deact., 54, 63Dropping a work object, 24DropWObj, 24DropWObj (Drop Work Object), 35DropWObj signal, 62DSQC 377A, 20, 40, 41DSQC377A Features, 77

E

Emergency Stop/Restart, 29Encoder, 69, 77, 81Encoder connection to DSQC 377A, 39Encoder location, 38Encoder type selection, 37Encoder type selection and location, 68Entering and exiting conveyor tracking motion incorner zones, 25Error handling, 33, 86Example, 31, 35, 84example applications, 87Examples, 32, 84, 85Exit and Re-enter Conveyor Tracking to Same Ob-ject, 11

F

Features, 10Finepoint programming, 28Finepoints, 27FIRB0, 60FIRB1, 60FIRLengh, 60

H

Hardware configuration and connections, 37

I

I/O Window, 26

IIRFDP, 60IIRFDZ, 60IIRFFP, 60, 83IIRFFZ, 60IIRFGain, 60IIRFNoOfPoles, 59IIRFNoOfZeros, 59IIRFPeriod, 59IIRFXfrmMetPol, 59IIRFXfrmMetZero, 59Information on FlexPendant, 26Installation, 77Installation of 2, 3 up to 6 conveyors, 42

J

Jog Window, 26

L

Limitation on Additional Axes, 12Limitations, 12, 33, 35, 86

M

Maximum Distance, 18Maximum distance, 50, 61Maximum speed, 38, 31Mechanical Unit, 90, 92

104 3HAC 16587-1

Page 106: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Index

Mechanical Unit Group, 89, 92Mechanics, 64, 74MechUnit, 84Minimum and Maximum Speed, 13Minimum Distance, 18Minimum distance, 50, 61Minimum speed, 38Modes of operation, 29Motion commands, 26Motion mechanical unit parameters, 54, 74Motion parameters, 53Motion Planner, 90, 92Motion robot parameters, 57Motion system parameters, 74Motion transmission and single type, 74MotionTask, 89, 92Motor

parameters, 51

Multiple Conveyors, 11

N

Name, 54, 63Notification of Object Lost, 80Null speed signal, 62

O

Object 1, 18Object 2, 18Object 7, 18Object Queue Lost on Warm Start or Power Fail-ure, 12Objects 3 and 4, 18Objects 5 and 6, 18Operation under AUTO, 29Operation under manual full speed mode (100%),30Operation under manual reduced speed mode (, 29Orientation - manual method, 70Other RAPID limitations, 27

P

Passed Start window signal, 80

PassStartW signal, 62Path resolution, 53, 63Performance Considerations

, 56

Performance limits, 26Physical components, 9Position signal, 62Process update time, 53, 63program example, 94Program execution, 32, 35, 84Programming considerations, 26Programming the conveyor coordinated motion, 23

Q

Queue Tracking Distance, 17QueueTrckDist, 59, 69

R

RAPID example, 94, 31Robot adjustment speed, 51robot speed, 100Rotating move, 64

S

Scale enc pulse, 80ScalingFactor, 80Sensor_start_signal, 83Signal delay, 62Simulation mode, 81SimulationVel, 81Small Orientation Error with SingAreaWrist, 12Software installation, 68speed, 100Start window and queue tracking distance, 17Start Window Width, 17Start/Stop, 29StartWinWidth, 49, 59Stop/Restart, 30SyncArc, 88, 91, 96Synchronization switch, 39SyncMoveUndo, 100

3HAC 16587-1 105

Page 107: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

Index

SyncSeparation, 49, 59Syntax, 33, 35, 86System parameters, 77

T

Task, 89, 92Tasks, 89, 92tasks, 94TCP measurement method, 71, 32To calculate the base frame, 47To record reference points, 47To track conveyor with robot instead of track, 56Topic

I/O, 59, 83

I/O Signals Topic, 80

Motion, 63

Process, 61

process, 83

Track Parallel to Conveyor, 12Type, 89, 92Types

CAN Interface., 62

Conveyor Systems, 50, 52, 61, 83

Fiedbus command, 45

FieldBus command, 59

Fieldbus Command, 43, 49

Fieldbus command, 83

Mechanical Unit, 54, 63

Motion planner, 53, 63

Robot, 57, 65

Robots, 56

Single, 63

Single type, 64, 74

Transmission, 64, 74

Units, 69, 77, 80, 81

U

ufmec, 22

ufprog, 22UnsyncArc, 87, 89, 94Use Mechanical Unit Group, 89, 92Use Motion Planner, 89, 92Use_six_axis_corvec, 57, 65User Frame, coordinated to conveyor, 19

V

Velocity signal, 62

W

Waiting for a work object, 23Waiting for a Work Object on the Conveyor, 15WaitWObj, 25WaitWObj (Wait Work Object), 31WaitWObj after DropWObj, 13WaitWObj signal, 62WObj, 31, 35Working with the Object Queue, 79Working with the qbject queue, 21World Frame, 19

106 3HAC 16587-1

Page 108: IRC5-Conveyor Tracking 3HAC16587-1 RevB En
Page 109: IRC5-Conveyor Tracking 3HAC16587-1 RevB En

���ABB Automation Technologies ABRoboticsS-721 68 VÄSTERÅSSWEDENTelephone: +46 (0) 21 344000Telefax: +46 (0) 21 132592

3HA

C 1

6587

-1, R

evis

ion

B, e

n