Usersguide
Usersguide
ABB Robotics
The information in this document is subject to change without notice and should not be construed as a
commitment by ABB Robotics AB. ABB Robotics AB assumes no responsibility for any errors that may
appear in this document.
In no event shall ABB Robotics AB be liable for incidental or consequential damages arising from use
of this document or of the software and hardware described in this document.
This document and parts thereof must not be reproduced or copied without ABB Robotics AB´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 document may be obtained from ABB Robotics AB at its then current charge.
© ABB Robotics AB
ABB Robotics AB
S-721 68 Västerås
Sweden
User’s Guide
CONTENTS
Page
1 Introduction ..................................................................................................................... 5
1.1 How to use this manual .......................................................................................... 5
1.2 Other manuals......................................................................................................... 5
2 The PickMaster application ........................................................................................... 6
2.1 Overview ................................................................................................................ 6
2.2 A PickMaster project .............................................................................................. 7
2.2.1 Feeder........................................................................................................... 8
2.2.2 Robot............................................................................................................ 8
2.2.3 Position Source ............................................................................................ 8
2.2.4 Item .............................................................................................................. 8
2.2.5 Pattern .......................................................................................................... 8
2.2.6 Vision Model................................................................................................ 9
2.3 Security ................................................................................................................... 10
2.3.1 Recommended security ................................................................................ 10
3 Installation ....................................................................................................................... 12
3.1 PC Software............................................................................................................ 12
3.1.1 Acrobat Reader Installation ......................................................................... 12
3.1.2 MDAC Installation....................................................................................... 12
3.1.3 InterLink Installation.................................................................................... 12
3.1.4 Vision Software - OMI Installation ............................................................. 13
3.1.5 PickMaster Installation ................................................................................ 13
3.1.6 Add ODBC connection to the Log database................................................ 13
3.2 PC Hardware........................................................................................................... 13
3.2.1 Ethernet Communication Board................................................................... 13
3.2.2 Vision Interface Board ................................................................................. 13
3.2.3 Trig-Strobe Adapter Board (DSQC 524) ..................................................... 14
3.3 Camera Installation................................................................................................. 14
3.4 Robot Controller Software - RobotWare................................................................ 15
3.5 Robot Controller I/O Boards .................................................................................. 15
3.6 I/O Connections...................................................................................................... 15
3.7 I/O Configuration ................................................................................................... 19
4 Defining a PickMaster project ....................................................................................... 21
4.1 Wizards................................................................................................................... 21
4.1.1 General Wizard functions ............................................................................ 21
4.1.1.1 Presentation section ........................................................................... 22
4.1.1.2 Help section ....................................................................................... 23
1 Introduction
The application software for controlling the FlexPicker robot, IRB 340, via the
S4Cplus robot controller is called PickMaster. PickMaster is a programmable
application to provide fast, on the fly, single pick and place operations of items. A
vision system will be used to find randomly placed items on a feeder.
The PickMaster application is designed to handle one or more cells in the production.
The definition of a cell in this document is one robot performing a pick and place task.
A number of cells that work together form a line. The document PickMaster Product
Specification defines all configurations of cells handled by PickMaster.
The PickMaster User’s Guide is a reference manual with step by step instructions on
how to use the PickMaster.
An overview of the application and all involved objects is given in chapter 2, The
PickMaster application.
How to install and configure the application on both the PC and the robot controller is
described in chapter 3, Installation.
Viewing log information generated by the system is a useful function that is described
in chapter 7, Viewing logs from the system.
The programming language used to program the S4Cplus robot controller is described
in the RAPID Reference Manual. See document reference 2.
2.1 Overview
CELL 2 CELL 1
Robot Controller
All positions
filled Some positions
filled
Pattern
No positions
filled
Camera
Position
Source
Item
Feeder
Ethernet
PickMaster
Project
2.2.1 Feeder
A feeder is the location where the robot picks or places the items. The feeder can either
be a continuously moving conveyor or an indexed conveyor. It can also be a fixed
position where items are placed.
2.2.2 Robot
Each robot must have a pick or a place queue for each type of item.
A position source generates the location of the items. The location can be found by a
camera and a vision system or if they are known in advance, i.e. pre-programmed, can
they be defined in a file. A photocell or some other detection device can also be used as
a trigger.
2.2.4 Item
An item is an object which is picked and placed by the robot. An item can be an atomic
item or a compound item. The compound item is typically an item found by the vision
system with a number of pick or place positions. An example is a Blister.
2.2.5 Pattern
A pattern is a compound item with a number of fixed positions. Each position is defined
so that an atomic item can be encapsulated and picked or placed there. Normally a
pattern is used to place items in the pick and place task.
A vision model is the model used by the vision system to locate an item. An item can
have one or more models attached. A model can only be attached to one item. A vision
model is an image taken by a camera and stored as a picture in the PickMaster system.
2.3 Security
The PickMaster system is divided into a number of applications. These applications are
used to create PickMaster projects and to run and surveillance them. The applications
are normally runned by users with different roles, for example Programmers that
designs the projects and Operators that runs them. A users shall only be able to control
the parts of the system that involves his or her needs. This is an important issue, to be
sure that a tested and approved project cannot be changed by anyone without
permission. It is also important that only persons with knowledge about the cell can
start a pick and place task.
The PickMaster system does not handle security internally, there is no separate login
into the system. A recommendation is to handle the security with permissions in your
NT system.
One way to implement the security in NT is to create three user groups. These groups
shall correspond to the following roles: System Administrator, Programmer and
Operator/Maintenance. The group shall have permission to run one or more of the
applications. An ordinary NT user can then be connected to one or more groups in order
to have permission to run the applications. For more information about users and
groups, see Microsoft NT documentation.
The System Administrator role shall be allowed to run all PickMaster applications
without limitations.
The Operator/Maintenance role shall be allowed to run Operator’s Panel, Run Time
Log Collector and Log Viewer.
3 Installation
3.1 PC Software
The PC Software is delivered on a CD. The CD contains the Microsoft Data Access
Components software, the PickMaster 1.0 software, the Interlink 3.1 software, the
Cognex OMI 2.2 software (Vision software) and the Acrobat Reader 4.0. Each of these
software packaged are installed separately. The recommended installation order is.
1 Acrobat Reader
2 Microsoft Data Access Components (MDAC)
3 InterLink
4 Vision Software
5 PickMaster
After the installations an ODBC connection has to be defined to the Log database.
Notice! You must reboot the PC after installing the Vision Software otherwise the
PickMaster installation will fail. You must also make a reboot after the PickMaster
installation.
Notice! You should always read the “readme.txt” residing directly under the root of the
PickMaster CD. It contains last minute information that could be necessary at
installation time.
All on-line documentation in PickMaster needs Acrobat Reader 4.0 or higher. The
Acrobat Reader 4.05 is supplied on the PickMaster CD and is installed by executing the
file “ar405eng.exe” which resides under the “AcrobatReader” directory on the
PickMaster CD and follow the instructions given in the dialogues.
Notice! You should install MDAC before you install PickMaster, Interlink and Vision
Software.
On the PickMaster CD there is a directory “OMI”. This directory contains the original
OMI installation kit supplied by Cognex. You start the installation by executing
“setup.exe” and follow the instructions given in the dialogues.
Notice! At installation you are asked to select driver for your Vision Interface Board.
Be sure to select only the driver for the board you have purchased!
Notice! You should install the OMI software before you install the Vision Board. It is
not absolutely necessary but it is convenient to have access to the on-line
documentation of OMI hardware when installing the Vision Board.
Start the “Control Panel” on your NT system and select “Data Sources (ODBC)”.
Select tab “System DSN” and press “ADD” button. Select “Microsoft Access Driver
(*.mdb)” in the list and press “Finish”.
Give “PMLog” as the “Data Source Name” and as the “Description”. Use the “Select”
button and select the “PMLog.mdb” file on the directory where the PickMaster
application is installed.
The last thing is to press “OK” and your log database has been defined.
3.2 PC Hardware
The vision board is installed according to the instructions given in the hardware manual
for the board.
The Trig-Strobe Adapter Board only uses the PCI-bus to get its power so it is simply to
insert it into a free PCI-place, preferably adjacent to the Vision Interface Board. The
Trig-Strobe Adapter Board is connected to the Vision Interface Board by a flat ribbon
cable. This cable is different depending on the Vision Interface Board.
Connect the supplied cable to the Vision Interface Board´s Parallel I/O connector
(See Figure 2 “MVS-8110 frame grabber board” in chapter “Installing the MVS-
8110 Frame Grabber” in the Hardware Manual. Connect the other end of the
cable to the 8110 I/O Connector on the Trig-Strobe Adapter Board (See figure
below).
Supplied
Connector
Trig-Strobe
Adaptor Board
PCI slots
Figure 4 Trig-Strobe Adapter Board connection to the MVS-8110 Vision Interface Board
Notice! The connection to the S4C+ Robot Controller are described in I/O Connections
on page 15.
The cameras must be mounted stable to avoid vibrations and other dynamic movement.
The light situation must also be considered, an even light situation is necessary to get a
reliable result. The cameras should be mounted on such a height that the scene taken by
the camera covers the area where items are to be picked or placed.
It is also important to align the camera with the conveyor, i.e. the sides of the taken
scene should be parallel with the direction of the conveyor. There is a step in the
Calibration Wizard to support this adjustment of the camera mount.
The RobotWare Software is pre installed in the S4Cplus Robot Controller and is also
supplied on a CD together with the controller. For more information see the product
manual for the manipulator (e.g. IRB 340 Product Manual/Controller S4Cplus M2000/
9 Installation and Commissioning/3 Controller Software).
Depending on the selected option either zero, one or two Encoder Boards, DSQC 377,
are delivered. A standard DI/DO Board, DSQC 328, is always a part of the delivery.
The boards can be delivered separately to enable custom specific mounting location.
For more information see the product manual for the manipulator (e.g. IRB 340
Product Manual/Controller S4Cplus M2000/9 Installation and Commissioning/
Connecting Signals/2.13 Distributed I/O units).
Each conveyor has a Conveyor Controller which should be connected to the DSQC 328
DI/DO Board for control from PickMaster. In the drawings ACS 301-1P6-3 is used as
an example but other Conveyor Controllers may be used as well. The same apply for
the encoder used, a Lenord-Bauer Gel 260-V-02500A001.
The Trig-Strobe loop is an important part of the PickMaster concept. It enables very
high synchronization between conveyor tracking and vision. The Trig-Strobe PCI
Board closes this loop. The board have four channels, i.e. it can handle up to four
cameras. Each channel is individual, therefore each channel has its separate 24 VDC
supply (See Figure 5).
The Trig-Strobe Adapter is a separate box that should be mounted very close to the
1. In PickMaster 1.0 only position 3 is allowed, i.e. the camera must be mounted with its “belly” towards the
robot!!!
PickMaster PC (within 20 cm). It is connected directly to the Vision I/O Board used in
this case (Notice! This I/O Board is not used when the Trig-Strobe PCI Board is
delivered). The Trig-Strobe Adapter is replaced by the Trig-Strobe PCI Board (See
Figure 6).
The 24 VDC power supply in the drawings is common for all units. It can be separate
for each board if desired, it can even be separated for the X1 and X2 terminal of the
DSQC 328 DI/DO Board.
DSQC328
X3 X1 Conveyor Controller 1
1 ACS 301-1P6-3
GUARD
diSafeStop
2 goPICK1_CONTROL { doPICK1_START
doPICK1_STOP
1
2
Start/Stop
Back
6
7
X1-DI1
Conveyor 1
SENSOR1 3 doPICK1_BACK 3 X1-DI2
Speed Bit 0 8
SENSOR2 4
SENSOR3 5
goPICK1_v3 { doPICK1_v1
doPICK1_v2
4
5 Speed Bit 1 9
X1-DI3
X1-DI4
6 TRIGVIS1 6 24 VDC 5
X1-24VDC
7 TRIGVIS2 7
8 MANSYNC1 8 Encoder Lenord-Bauer
Gel 260-V-02500A001
9 9
A
10 10
F
B
X4 X2 C
1 MANSYNC2 1
2
3
VACBLOW {
VACUUM
BLOW
2
3 Conveyor Controller 2
4 doPICK2_START 4 ACS 301-1P6-3
goPICK2_CONTROL Start/Stop 6 Conveyor 2
5 doPICK2_STOP 5 X1-DI1
Back 7
6 doPICK2_BACK 6 X1-DI2
Speed Bit 0 8
7
8
goPICK2_v3 {
doPICK2_v1
doPICK2_v2
7
8 Speed Bit 1 9
X1-DI3
X1-DI4
9 9 24 VDC 5
X1-24VDC
10 10
Encoder Lenord-Bauer
Gel 260-V-02500A001
A
F
B
DSQC377
C
Conveyor 1 X20
in 1 DSQC 524
Power
{ in 2
+24V 1 Vision Trigger 1 Channel 1
out 3
Encoder #1
{ out
in
in
4
5
6
0V
+24V
A
B
2
3
4
5
GND
Vision Strobe 1
+24 V
GND
Synch Strobe #1
{ out
out
in
7
8
9
0V
Strobe Sig
6
7
8
Vision Trigger 2
GND
Vision Strobe 2
Channel 2
out 10
Encoder #2
{ out
in
in
11
12
13
9
10
11
12
+24 V
GND
Vision Trigger 3
GND
Channel 3
Synch Strobe #2
{ out
out
in
14
15
16
13
14
15
Vision Strobe 3
+24 V
GND
16 Vision Trigger 4 Channel 4
17 GND
DSQC377 18 Vision Strobe 4
19 + 24 V
Conveyor 2 X20 20 GND
in 1
Power
{ in 2
+24V
PickMaster PC
out 3
Encoder #1
{ out
in
in
4
5
6
0V
+24V
A
B
Synch Strobe #1
{ out 7
out 8
in 9
0V
Strobe Sig
out 10
Encoder #2
{ out 11
in 12
in 13
Synch Strobe #2
{ out 14
out 15
in 16
0V
+24V
S4C+ Robot Controller
Figure 5 I/O Connections for the PickMaster system (DSQC 524 - Trig-Strobe PCI Board)
DSQC328
X3 X1 Conveyor Controller 1
1 ACS 301-1P6-3
GUARD
diSafeStop
2 goPICK1_CONTROL { doPICK1_START
doPICK1_STOP
1
2
Start/Stop
Back
6
7
X1-DI1
Conveyor 1
SENSOR1 3 doPICK1_BACK 3 X1-DI2
Speed Bit 0 8
SENSOR2 4
SENSOR3 5
goPICK1_v3 { doPICK1_v1
doPICK1_v2
4
5 Speed Bit 1 9
X1-DI3
X1-DI4
6 TRIGVIS1 6 24 VDC 5
X1-24VDC
7 TRIGVIS2 7
8 MANSYNC1 8 Encoder Lenord-Bauer
Gel 260-V-02500A001
9 9
A
10 10
F
B
X4 X2 C
1 MANSYNC2 1
2
3
VACBLOW {
VACUUM
BLOW
2
3 Conveyor Controller 2
4 doPICK2_START 4 ACS 301-1P6-3
goPICK2_CONTROL Start/Stop 6 Conveyor 2
5 doPICK2_STOP 5 X1-DI1
Back 7
6 doPICK2_BACK 6 X1-DI2
Speed Bit 0 8
7
8
goPICK2_v3 {
doPICK2_v1
doPICK2_v2
7
8 Speed Bit 1 9
X1-DI3
X1-DI4
9 9 24 VDC 5
X1-24VDC
10 10
Encoder Lenord-Bauer
Gel 260-V-02500A001
A
F
B
DSQC377
C
Conveyor 1 X20
in 1 Trig-Strobe Box
Power
{ in 2
+24V
blue
Trig Conveyor 1
out 3 green
Encoder #1
{ out
in
in
4
5
6
0V
+24V
A
B
white
grey
red
Trig Conveyor 2
Trig Conveyor 3
S4 #1 Ground
S4 #1 24 VDC
Synch Strobe #1
{ out
out
in
7
8
9
0V
Strobe Sig
yellow
pink
brown
Strobe Conveyor 1
Strobe Conveyor 2
Strobe Conveyor 3
out
{
10
Encoder #2
out 11 PickMaster PC
in 12
in 13
Synch Strobe #2
{ out
out
in
14
15
16
DSQC377
Conveyor 2 X20
in 1
Power
{ in 2
+24V
out 3
Encoder #1
{ out 4
in
in
5
6
0V
+24V
A
B
Synch Strobe #1
{ out 7
out 8
in 9
0V
Strobe Sig
out 10
Encoder #2
{ out 11
in 12
in 13
Synch Strobe #2
{ out 14
out 15
in 16
0V
+24V
S4C+ Robot Controller
The I/O configuration is defined in the file “EIO.CFG”. The file consists of a header
line and a number of sections. “EIO.CFG” is generated from a number of files when
the controller is initiated. The parameters concerning PickWare are defined in a file
named “PPAEIO.CFG”.
The values for each parameter in both “PPAEIO.CFG” and “EIO.CFG” will differ
depending on the system but the set of parameters are always the same.
The “EIO.CFG” file is loaded from the controller to the PC when the PickMaster
application needs it. The configuration information is needed by InterLink.
To change information in the “EIO.CFG” file do as follows and load the file into the
Robot Controller before PickMaster is started. This is how it is done:
1 Make a backup from the Robot Controller (File:Save All As) on a floppy-disc.
2 Make a copy of the “EIO.CFG” file on the floppy-disc. (to another floppy-disc).
3 Do the changes in the newly created “EIO.CFG” and put the floppy-disc into the
Robot Controller and load the SysPar (File: Load Saved Parameters).
4 Save this floppy-disc as a SysPar backup.
Header line:
EIO:CFG_1.0::
Figure 7 PPAEIO.CFG
For more information about the I/O configuration see “User´s Guide for BaseWare OS
4.0” Chapter 12.3 “System Parameters/Topic:IO Signals”.
4.1 Wizards
The wizards are designed to help the user create a new project. Each wizard leads the
user through all necessary steps of the project definitions. The definitions can be
divided into an offline part and an online part.
Offline definitions can be done on any PC. There is no need of connections to robots,
cameras or other physical equipment. The output from the online part is a project with
all objects and the relations between these objects defined.
Online definitions can only be done by the PC connected to all equipment. The output
from the online part is a calibrated project with an initialized vision system.
Project
Offline Online
The wizard consists of four sections. A Presentation Section, a Help Section, an Input
Section and a Button Section. These sections are described in this chapter.
Input Section
Figure 9 General sections in a wizard
All wizards have a presentation part to the left where images or other visual help are
presented.
In some of the wizard forms a project tree is presented. The tree will be immediately
updated when new objects are added into the project. By clicking on the objects with
your right mouse-button some functions can be used, for example which models that
are bound to an item. Figure 10 presents the different object types in the project tree.
Item
Pattern
Vision
Model
Robot
Feeder
Position Source
(Vision)
Position Source
(File)
In every wizard there will be a help text presented in the middle of the form.
All wizards have an input part to the right of the wizard form. This area is used for all
kind of interaction with the user. This section will be further described for each step in
all wizards in chapter 4.1.2 to 4.1.4.
All wizards have a number of buttons at the bottom of the wizard form. They are used
to navigate back and forth with in the wizard, get online help and save the project.
4.1.1.5 Dialogues
All dialogues opened from any wizard have an OK and a Cancel button. OK saves all
properties in the dialogue together with the project. Cancel closes the dialogue without
saving anything.
The Configuration Wizard leads the user through the definitions of all objects and the
relations between them. The object types are explained in chapter 2.2. Each step will be
explained in detail in chapter 4.1.2.1 to 4.1.2.11.
Configuration Wizard
Offline
There are four steps for defining all objects in the project. In step 5 it is possible to use
a camera or a text file as a position source to the robot. In step 6 it is possible to define
the item as a single item or as a compound item, a pattern.
Object
Definitions
Items
There are four steps for defining all relations between objects in the project. The
relations are corresponding to the physical connections between the equipment in the
cell. They will be used as rules when defining the item flow in the system.
Any number of feeders, robots, position sources and items can be added even though
the PickMaster application only can handle a given number of each type. For more
information about limitations see document reference 1.
Object
Relations
Feeder to Robot Pos. Source to Feeder Item to Feeder Item to Pos. Source
Step 7 Step 8 Step 9 Step 10
Select root directory for the projects. It is possible to store many projects in the same
root directory.
The path to the currently selected root directory for project files. For example:
C:\PickerProjects
Browse...
Any directory in the file system can be defined as root directory. In the directory there
can be any number of projects. It is also possible to have more than one root directory
in your file system, but the application can only handle one at a time. Select one from
this dialogue.
Create a new project or copy an old one. In both cases the project name must be entered.
When an old project is copied, all configurations and calibrations will be copied into
the new project.
Projects
A list of existing projects in the currently selected project path. There might be more
projects stored in other root directories in the file system.
New...
Create a new project under this root directory. All objects and relations must be
defined. Calibrations must be done for all connected equipment and vision models
must be teached for the pick and place items.
Copy...
Delete...
Define feeders for the project. For each feeder the feeder name must be entered.
Feeders
New...
Add a new feeder to the current project. A small dialogue for entering the feeder name
will be shown.
Delete...
Define robots for the current project. A robot in a PickMaster project is represented by
the robot name which is a reference to a robot alias in InterLink. To each robot a RAPID
program is connected. This program includes detailed information about motion, speed
and acceleration in the pick and place task. For more information about RAPID
programming see document reference 2.
InterLink is responsible for the communication between PickMaster and the S4Cplus
controller which controls the robot. This means that the robot alias must be configured
in InterLink before it can be used in PickMaster. See Interlink Manual.
Robots
New...
Define a new robot. It is possible to select from all robot aliases defined in InterLink.
See Figure 19
Import...
Import a robot definition from another project. A file selection dialogue is shown where
a project shall be selected. When the project has been selected another dialogue is
shown where one or more robots can be imported into the new project. See Figure 20.
The robot alias for the imported robots must be defined in InterLink.
Edit...
Makes it possible to change connected RAPID program for the robot. See Figure 19.
Delete...
New/Edit Robot
When a new robot shall be added to a project, it must be defined in InterLink and then
selected in the selection list labelled “Robot Name”. After selecting a robot the RAPID
program for pick and place must be defined. The path and filename can be entered
directly or the “Browse” button can be used to select the file.
Robot Name
The robot name in the PickMaster project. The name is the same as the InterLink alias
for the defined robot.
RAPID Program
The path and filename of the RAPID program file that will be used in the pick and place
task. For example: C:\PickerProjects\CommonFiles\ppa.prg
New...
Launch the InterLink application where it is possible to add new robot aliases.
Browse...
Open a file selection dialogue for selecting the RAPID program file.
Import Robot
Robots defined in another project are listed in the left part of the form. Robots that will
be imported into the new project are listed in the right part of the project.
Available Robots
Selected Robots
Button: >
Copy the marked robot, in the list of available robots, to the list of robots that shall be
imported.
Button: <
Remove the marked robot from the list of robot that will be imported.
Define all position sources for the current project. A position source can be either a
vision position source or a file position source.
The vision position source is a camera. The file position source is a file with the pick
or place coordinates. The file position source can for example be used to point out a
position on an indexed conveyor or a fixed position on a tray. It is also a possibility to
use the file position source to point out the position in one direction and to use a
photocell as a trigger for the other direction.
Position Sources
New...
Define a new position source. The button opens a dialogue for editing the item
properties. See Figure 22.
Edit...
Makes it possible to edit all settings for a position source. A form for editing the Item
is presented. See Figure 22.
Delete...
The position source type. There are two possible types, Vision or File. Vision type if a
camera is used or file type if the positions shall be defined in a file.
Card Type
Select the vision card type. For more information about hardware limitations see
document reference 1.
Examples:
• Cognex MVS 8110 - One up to four cameras
Camera Number
Select connector number on the card for the camera. The connector on the card, marked
with the lowest number shall be numbered 1 in PickMaster, next 2 and so on. If the
connectors are not numbered, use the reference documentation for the vision card to
learn about the numbering.
Camera Type
Select the camera type. All types of cameras supported by the vision system are listed.
For more information about hardware limitations see document reference 1.
Examples:
• Sony XC55BB 640x480
• PULNIX TM-9701 640x480
Trigger Polarity
Define if the trigger, the acquired signal to the camera, is changed from low to high or
vice versa when a picture shall be acquired.
Strobe Polarity
Define if the strobe, the signal from the camera to the conveyor tracking, is changed
from low to high or vice versa when a picture has been acquired.
Overlap Edge
The frame overlap edge relative to the moving direction of the feeder.1
Overlap
1. In PickMaster 1.0 only position 3 is allowed, i.e. the camera must be mounted with its “belly” towards the
robot!!!
The position source type. There are two possible types, Vision or File. Vision type if a
camera is used or file type if the positions shall be defined in a file.
Use digital IO as trig signal when an item is in place for a pick or a place.
Robot Name
Signal Name
The name of the digital IO signal. The name must correspond to the signal name
defined in the RAPID program.
Poll interval
Positions in file: X, Y, Z
The coordinates for the pick/place position relative to the origin of the compound item,
e.g. the pattern.
The angle for the item in the pick/place position relative to the angle of the compound
item, e.g. the pattern.
New...
Define a new position in the pattern. The button opens a dialogue for editing the item
properties. See Figure 24.
Edit...
Makes it possible to edit all settings for a position in the pattern. A form for editing the
Item is presented. See Figure 24.
Delete...
Positions in file: X, Y, Z
The coordinates for the pick/place position relative to the origin of the compound item,
e.g. the pattern.
The angle for the item in the pick/place position relative to the angle of the compound
item, e.g. the pattern.
The wizard shows a list of items for the currently selected project. Items are objects
which are handled by the pick and place process. An item can be an atomic item or a
compound item.
A compound item is called a pattern. The pattern can for example be a blister or a box
where each item has its place holder position and orientation relative to the origin of
the pattern.
Items
New...
Define a new item or a pattern. A dialogue for defining the item properties is presented.
See Figure 26 and Figure 27.
Edit...
Makes it possible to edit all properties for an item. A form for editing the Item is
presented. See Figure 26 and Figure 27.
Delete...
New/Edit Item
In the “New/Edit Item” form all properties for an item must be given. If it is an atomic
item, only the upper part of the form must be filled in. If it is a compound item (pattern),
the table must also be used. Each row in the table defines one location in the pattern.
New/Edit Pattern
The same dialogue as the on for atomic items, by the lower part of it is used to define
a pattern.
Item Name
Load (g)
The weight of the item. The information is sent to the controller in order to control
motion, speed and acceleration of the robot.
Size (mm)
The size of the item given in X, Y and Z coordinates. The information is sent to the
controller in order to control motion, speed and acceleration of the robot.
Inertia (g/mm)
The inertia is defined in gram per millimetre. The information is sent to the robot
controller in order to control motion, speed and acceleration of the robot.
The center of gravity for the item. The center is a relative position seen from the origin
of the item. X, Y and Z coordinates shall be entered. The information is sent to the
controller in order to control motion, speed and acceleration of the robot.
Item
The item name for all defined items in the pattern. The items must be defined before
they can be used in this list.
X, Y, Z
The origin of the item relative to the origin of the compound item. See Figure 28.
AX, AY, AZ
The angle relative to the position of the compound item. See Figure 28.
New Item...
Add an already defined item to the pattern. A dialogue to select the item and give some
properties for it is presented. See Figure 29.
Edit Item...
Edit the properties for the selected item in the pattern. A dialogue for changing the
properties for the item is presented. See Figure 29.
Delete Item...
Import Pattern...
Import a complete pattern from any project. If a pattern is imported it overwrites all
currently defined pattern information. A dialogue for selecting project and pattern is
presented. See Figure 30.
Each item (atomic item) has a relative position and orientation in relation to the origin
of the pattern (compound item). In case of a box which is identified by a camera the
origin is determined by the vision modelling procedure.
AX
Item in pattern
Pattern origin X
AY AZ
AZ
Item in pattern
Pattern origin X
Item Name
The name of the item. It is possible to choose from all defined items.
ID in Pattern
Cartesian: X, Y, Z
The size in millimetres for the item in the pattern given in X, Y and Z coordinates.
Import Pattern
A complete pattern can be imported from an item in another project. All items in the
selected project are presented in the list
The wizard shows a list of feeders that can be connected to the corresponding robot.
Robot
Select one of the two physical feeders handled by the controller, “CNV1” or “CNV2”.
Available
Selected
Button: >
Connect the selected feeder to the robot. That is, move the feeder from the Available
list to the Selected list.
Button: <
Disconnect the selected feeder from the robot. That is, move the feeder from the
Selected list to the Available list.
The wizard shows all position sources that can be connected to the corresponding
feeder. To illustrate the connection, a position source icon will be added to the
presentation part of the wizard.
Feeder
Select the feeder to whom one or more positions sources shall be connected.
Available
Selected
Button: >
Connect the selected position source to the feeder. That is, move the position source
from the Available list to the Selected list.
Button: <
Disconnect the selected position source to the feeder. That is, move the position source
from the Selected list to the Available list.
The wizard shows all items that can be connected to the corresponding feeder.
Feeder
Available
Selected
Button: >
Connect the item to the feeder. That is, move the item from the Available list to the
Selected list.
Button: <
Disconnect the item to the feeder. That is, move the item from the Selected list to the
Available list.
The wizard shows all items that can be connected to the corresponding position source.
Both the feeder and the position source must be given because a feeder might have
more than one position source connected.
Feeder
Position Source
Select the position source to whom one or more items shall be connected.
Available
Selected
Button: >
Connect the item to the position source. That is, move the item from the Available list
to the Selected list.
Button: <
Disconnect the item to the position source. That is, move the item from the Selected list
to the Available list.
This is the final step in the Configuration Wizard. The last relations in the cell are
defined, that is the flow of items. The flow is defined by connecting different type of
items to different queues in the robot. The following steps have to be performed:
2. Create and/or select a pick or place queue in the robot for the selected item.
3. When both an item and a queue are selected, press “Define Flow” to connect them.
In the “Defined Flow” table at the bottom of the form, all connections between items
and queues are listed.
The information in this step is saved in a file that is called a Router file. The router file
is automatically saved when the project is saved. Advanced users can make changed in
this file to change the flow of items. This can be done from the Project Viewer
application, see 5.1.1.
When all flow information has been defined press “Finish” to store the project.
Notice! If the project is updated and there already exists a router file, the wizard will
save all project information but ask if the router file shall be regenerated. If you choose
to regenerate it, all manual changes in the router file will be lost. If you choose not to
regenerate it you may have a project that is inconsistent with the router file.
Items: Items
Queues: Queues
A list all defined item queues in the project. Each queue is connected to a robot and to
handle one type of item. The queue can be a pick or a place queue.
Queues: New...
Queues: Edit...
Edit the properties for the selected queue. See Figure 37.
Queues: Delete...
By pressing the “Define Flow” button, the connection between the selected item and
the selected queue is done. The button is only enabled when both an item and a queue
are selected.
Flows: Delete...
By pressing the “Delete...” button, the marked row in the “Defined Flow” table is
removed. The button is only enabled when a row is selected.
Table
A table that shows a list of all defined connections between position sources/items and
queues/queue types. The rows in this table define the flow of items in the pick and place
cell.
The queue is needed in the robot controller to handle pick and place tasks. Each queue
can handle a pick or a place task for one type of item.
There are four limits that can be set when a queue is defined. These limits is used to
control the robot and the conveyor. The robot is allowed to pick or place from the
ENTER limit on to the EXIT limit. When an object passes the STOP limit an output
signal is set from the robot. This signal can be used to stop the feeder. The signal is reset
when the first item in queue is beyond a predefined distance called the START limit.
These limits are described in detail later in this chapter.
Working area
Center of robot
ENTER
Image frame
Item
Robot
Queue Name
Queue Type
Set the queue type. There are two queue types, Pick or a Place queue.
Enter (mm)
Define the ENTER limit for items on the conveyor. When an item passes the limit it is
possible for the robot to pick or place it. The distance is calculated in millimetres from
the center of the robot. The range is positive if the limit is beyond the center of the robot,
relative to the moving direction of the feeder. See Figure 36 and Figure 38.
Make sure that the set ENTER limit is within the robots working area!1
Exit (mm)
Define the EXIT limit for items on the conveyor. When an item passes the limit it is no
longer possible for the robot to pick or place it. The distance is calculated in millimetres
from the center of the robot. The range is positive if the limit is beyond the center of the
robot, relative to the moving direction of the feeder. See Figure 36 and Figure 38. The
EXIT limit has to be well within the working area of the robot.
Make sure that the wanted EXIT limit is within the robots working area!
Note: A problem occurs if the robot tries to place an item on a position that was near
the EXIT limit when it was found. Then the conveyor will continue to move during the
time when the robot moves from the pick position to the place position. This implies
that a margin has to be taken into consideration when the EXIT limit is defined. The
problem does not exist if “Stop and Go” is used.
ConveyorSpeed × PickPlaceCycle
M arg in = ------------------------------------------------------------------------------------------
2
1. For IRB 340 this is normally set to 800x800 mm, i.e. +-400 for both x- and y-direction.
Margin: Distance in millimetres to make sure that the robot does not
exceed the EXIT limit
PickPlaceCycle: The complete cycle time (pick, place and back again) for a pick
and place task for the longest distance in the cell (“worst case”).
A table that can be used as a rule of thumbs when calculating the margin is presented
below:
Start-Stop Signal
Defines the START/STOP signal for the feeder. The signal is used to handle the “Stop
and Go” function. The signal must correspond to the one defined in the configuration
file for the controller.
Stop (mm)
Define the STOP limit for items on the conveyor. When an item reaches this limit an
start/stop signal is sent from the robot. The signal can be used to stop the feeder and
together with the START limit define a “Stop and Go” function, e.g stop the feeder
when an item reaches the STOP limit without being picked. The distance is calculated
in millimetres from the center of the robot. The range shall be positive if the limit is
beyond the center of the robot, relative to the moving direction of the feeder. See Figure
36 and Figure 38
Start (mm)
Define the START limit for items on the feeder. The START limit together with the
STOP limit is used for the “Stop and Go” function. When an item has reached the
STOP limit and the feeder has stopped, the robot will pick all items between the STOP
and the START limit before the start/stop signal is sent from the robot to start the feeder
again.
The distance is calculated in millimetres from the center of the robot. The range shall
be positive if the limit is beyond the center of the robot, relative to the moving direction
of the feeder. A rule of thumb is that the limit should be equal or greater than the width
of the pick/place item. See Figure 36 and Figure 38
On a “Stop and Go” conveyor the robot picks or places all items.The conveyor stops
temporary if the robot needs more time to handle all items.
The limits has to be set when the pick and place queues are defined for the robot. The
need of defined limits depends on if the conveyor supports “Stop and Go” or not.
If it is a continuously moving conveyor, only the ENTER and EXIT limits are needed.
If the conveyor supports “Stop and Go” all limits, e.g. ENTER, START, STOP and
EXIT, have to be defined as well as the START/STOP signal.
Place Feeder
START
STOP
EXIT
Example: Settings for the pick queue
Center of robot
Pick Feeder
“Stop and Go”
Items: Cookie1
ENTER
The Calibration Wizard leads the user through the needed steps of the calibration.
The wizard is divided into a number of steps. Each step will be explained in detail in
chapter 4.1.3.1 to 4.1.3.5.
Calibration Wizard
Online
Project selection Calibration selection Camera calibrations Feeder to robot calibrations Camera to robot calibrations
Step 1 Step 2 Step 3 Step 4 Step 5
Select current root directory and project. If the root directory is changed the project list
will be changed to projects stored in the selected root directory.
Root Directory
The path to the currently selected root directory for project files. For example:
C:\PickerProjects
Browse...
Use the button to select a root directory for the projects anywhere in the file system.
See Figure 15.
Project
In this wizard step a calibration is defined as the currently used. The following steps in
the wizard will only affect the selected calibration for the project. PickMaster can
handle any number of calibrations for a project. It is possible to create or delete a
calibration. A new calibration is created by copy of an old one.
There might be useful to have more than one calibration, e.g. if there are different kind
of light situations at different hours or if you want to test different camera settings to
improve the hit rate for the vision system.
Current Calibration
A list of existing calibrations. The selected calibration will be active for the project.
Name of Copy
Sets the new calibration name. To rename a calibration, copy it with a new name and
remove the old one.
Delete...
Copy
This step handles the camera calibration. It calibrates the lens of the camera and defines
the range between the camera and the feeder.
The Calibration Paper, with the Multi-Blob-Grid pattern, can be printed from the
camera calibration dialogue.
Camera Calibration
A list of existing cameras in the current project. If the camera has been calibrated
before, time and date for the calibration are presented in the Prev.Calib.Date list. If no
calibration has been performed, a “?” is presented as previous calibration date.
Calibrate...
Opens the camera calibration dialogue for the selected camera. See Figure 43
Exposure
The parameter sets the shutter speed for the camera. Not all cameras supports setting of
the shutter speed.
Contrast
This setting together with “Brightness” controls how different light situations are
mapped to pixel values. The setting for “Contrast” maps the image to a darker or lighter
range of pixel values. Use a low value when the inspected item contains dark features.
Brightness
This setting together with “Contrast” controls how different light situations are mapped
to pixel values. The setting for “Brightness” determines where the centre of the contrast
mapping window falls relative to the light levels. Use a low value when the inspected
item receives a high degree of light from the light source.
Camera distance
Give the distance between the camera and the feeder in millimeters. This parameter
helps the system to calculate the exact range.
Grid Pitch
Give the distance between the centres of two objects, blobs, in the grid. The default
value is 50 mm. Normally, if the predefined grid is used, this value shall not be
changed.
Print Grid
Prints the predefined Multi-Blob-Grid that shall be used. Be sure to have no scaling
settings for the printer active, i.e. the image printed should be 100% of the original.
Camera Button
mme
Acquire one image.
This dialogue is presented for the user to verify if the vision system has succeed in the
search procedure for the teached blob.
OK
Press “OK” button when the calibration is done correctly and all four blobs have been
found inside the region of interest, e.g if the region of interest looks like the image in
the dialogue above.
Faulty
Press “Faulty” button when the calibration has gone wrong and one or more of the four
blobs have not been found or been found outside the region of interest, e.g if the region
of interest does not look like the image in the dialogue.
This step handles the feeder to robot calibration. The calibration is partly done from the
teach pendant.
The calibrations consists of three main steps Calibration of Counts per Meter, Queue
Tracking Distance and Calibration of Conveyor Base Frame. These procedures are
described in detail later on in this chapter.
This wizard guides the user through the calibration. Additional information is given in
document reference 4, Conveyor Tracking, chapter 9.
A list of calibrations that has to be done for the project. The calibration procedure has
to be performed for every row in the list.
Calibrate...
Calibrates the feeder and robot selected in the list. The calibration is partly done from
the teach pendant. The calibration is supported from the PC by a number of wizard
dialogues that describes the actions. The wizard dialogues are:
• Introduction
• Calibration of Counts per Meter
• Queue Tracking Distance
• Scaling Factor
• Conveyor Base Frame Calibration - Step 1(4)
• Conveyor Base Frame Calibration - Step 2(4)
• Conveyor Base Frame Calibration - Step 3(4)
• Conveyor Base Frame Calibration - Step 4(4)
Introduction
This wizard step gives the user an introduction to the calibration procedure and starts
guiding the user through the steps involved in the feeder to robot calibration.
It is important to follow the order of the steps in the calibration to get a correct result.
Some of the steps will load RAPID programs to the controller in order to initiate it for
specific purposes. In these cases the controller must be in automatic mode.
The I/O parameter CountsPerMeter for the encoders defines the number of counts that
the encoder generates when the conveyor has moved one meter. Normally it should be
in the range of 5000 to 10000 counts per meter for linear conveyors.
Set the parameter via the Teach Pendant to 10000 counts per meter (default). This is
because we want to base the calibration on a known value.
The encoder unit I/O parameters are accessible via the System Parameters windows
under the I/O Signals topic:
• Teach Pendant: Choose Topics: I/O Signals
• Teach Pendant: Choose Types: Units
• Teach Pendant: Select encoder and press Enter .
• Teach Pendant: Select CountsPerMeter and change its value to 10000
• Teach Pendant: Press OK to confirm.
To get the CountsPerMeter parameter you have to produce three values that will be
used. These are:
ConveyorPosition1: Read the conveyor position in the Jog Window on the Teach
Pendant for an object/mark on the conveyor.
ConveyorPosition1 ought to be 0.0 when the RAPID program
has been executed. (Last step in Introduction.) The parameter
will not be 0.0 if the conveyor has been moved since the
program was executed.
ConveyorPosition2: Move the conveyor a distance (0.5-1.0 m) and then read the
When you have done this you shall type the values in the corresponding fields in the
wizard and the CountsPerMeter parameter is calculated automatically.
Press Next button in the wizard when the parameter is defined in the controller
Before proceeding with the calibration it is necessary to define the I/O parameter Queue
Tracking Distance for the encoders. It establishes the distance between the
synchronization switch and the 0.0 meter 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 meter point. It is not possible to connect to these objects.
The encoder unit I/O parameters are accessible via the System Parameters windows
Conveyor distance
The button “Base Frame-figure” presents an image that helps to describe the base
frame concept. See Figure 49.
Press Next button in the wizard.when the parameter is defined in the controller
Scaling Factor
It is also necessary to define the I/O parameter Scaling Factor for the encoders. It
defines the interval between trig signals to the vision system. The Scaling Factor
parameter is calculated by the wizard.
The encoder unit I/O parameters are accessible via the System Parameters windows
under the I/O Signals topic:
• Choose Topics: I/O Signals
• Choose Types: Units
• Select Encoder and press Enter .
• Select Scaling Factor and change it to the value calculated in the wizard.
• Press OK to confirm.
To get the Scaling Factor parameter you have to get three values. These are:
Frame Height: This value is generated in the camera calibration for the camera
connected to the conveyor/robot.
Overlap: This value is generated in the camera calibration for the camera
connected to the conveyor/robot.
All values are generated earlier in the calibration procedure and are, if the earlier steps
has been performed in a correct way, given as defaults.
Step 1:
The accuracy of the conveyor tracking is highly dependent upon the accuracy in
calibrating the conveyor base frame.
Before calibrating the base frame of the conveyor the values for the CountsPerMeter
and QueueTrckDist must have been defined and entered into the controller (as
described earlier in this chapter).
The conveyor base frame calibration method will use the measurement of 3 positions
of the same object on the conveyor to determine the conveyor base frame, See Figure
49.
Figure 51 Feeder to robot calibration - Conveyor Base Frame Calibration - Step 1(4).
Step 2:
Step 3:
Now it is time for the Base Frame calibration. There are some steps to do manually and
some to do with the Teach Pendant. The Base Frame calculation will be performed in
the controller and will be initiated via the Teach Pendant.
1 Place an object on the conveyor at the synchronization switch (in the camera
view, at the photo cell,...).
2 Put a mark (on a not moving part) at the object position. This position will be the
zero-point for the base frame and may be interesting for the user to remember.
3 Move the conveyor inside the working area of the robot.
4 Teach Pendant: Press the Miscellaneous key and select the Service win-
dow.
5 Teach Pendant: Choose View:BaseFrame.
6 Teach Pendant: A dialogue containing all synchronized mechanical units is
shown. Select the conveyor mechanical unit and press Enter or Def.
7 Teach Pendant: A dialogue like the one in Figure 53 will appear. Select the field
Method and press Enter .to choose definition method.
8 Teach Pendant: Choose number of points (3) to use for definition and press OK.
(Currently only the three point method is implemented.)
9 Teach Pendant: Select the first point Point 1. This point will be the origin for the
user frame in the conveyor coordinated work object.
10 Point out Point 1 on the object on the conveyor with the robot’s TCP.
11 Teach Pendant: Modify the position by pressing the function key ModPos.
12 Move the conveyor in the positive direction and repeat the above for the points
File... Cancel OK
The calculation log shows the conveyor base frame expressed in the world coordinate
system.
Field Description
Unit The name of the mechanical unit for which the definition of
base frame has to 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.
Figure 55 Feeder to robot calibration - Conveyor Base Frame Calibration - Step 3(4).
Step 4:
If you pressed OK on the Teach Pendant in the previous step and was satisfied with the
calibration results do the following steps to enable the new Base Frame calibration:
1 Teach Pendant: Choose File: Restart in the Service window to restart the con-
troller and activate the new Base Frame.
2 Press “Next” button in the wizard and the calibration is finished.
Figure 56 Feeder to robot calibration - Conveyor Base Frame Calibration - Step 4(4).
This step handles the camera to robot calibration. It defines how the positions, found by
the vision system, relates to the positions on the feeder in the working area of the robot.
The range from the positions found by the vision system and the positions handled by
the robot is defined by acquire an image of a known pattern, called a 4-Diamond-Grid
and then let the vision system calculate the coordinates for the four objects in the grid.
The grid is then moved into the working area of the robot by moving the feeder. The
robot is manually moved to point at each blob in the grid.
The same Calibration Paper is used, that was used in the Camera calibration. It is only
the pattern that is trained that is different. In this case one trains on a diamond instead
of a blob.
The Calibration paper, with the 4-Blob-Grid pattern, can be printed from the camera to
robot calibration dialogue.
A list of existing calibrations in the current project. If the camera to robot calibration
has been done before, time and date are presented in the list. If no calibration has been
performed, a “?” is presented as previous calibration date.
Calibrate...
Opens the camera to robot calibration dialogue for the selected camera. See Figure 58
When the robot positions have been read for all four diamonds, press the “OK” button
to finish .
.
Origin in the camera field of view Region of interest
Diamonds
Camera
The X an Y coordinates from the vision system for the four blobs found in the grid.
These X coordinates are presented after the teach procedure.
Robot
The X an Y coordinates from the controller for the four blobs on the feeder. These
coordinates are read from the controller when the corresponding “Read robot position”
button is pressed.
Gets the position of the tool centre point from the controller. Each button is used for the
corresponding blob.
Activates teach mode so it possible to teach a model for one of the blobs.
Press when the model is teached to start the vision system to search in the grid. Four
blobs shall be found.
Print Grid
Prints the predefined 4-Blob-Grid that shall be used.Be sure to have no scaling settings
for the printer active, i.e. the image printed should be 100% of the original.
Camera Button
mme
Acquire one image.
This dialogue is presented for the user to verify if the vision system has succeed in the
search procedure for the teached diamond.
OK
Press the “OK” button when the calibration is done correctly and all four blobs have
been found inside the region of interest, e.g if the region of interest looks like the image
in the dialogue.
Faulty
Press “Faulty” button when the calibration has gone wrong and one or more of the four
blobs haven’t been found or been found outside the region of interest, e.g if the region
of interest does not look like the image in the dialogue in Figure 59.
The Model Wizard leads the user through definitions of one or more vision models for
an item. The vision model is the picture, i.e. bitmap, that the vision system uses to
recognize the item. Each step will be explained in detail in chapter 4.1.4.1 to 4.1.4.3
Model Wizard
Online
Select current root directory and project. If the root directory is changed the project list
will differ.
Root Directory
The path to the currently selected root directory for project files. For example:
C:\PickerProjects
Browse...
Use the button to select a root directory for the projects anywhere in the file system.
See Figure 15.
Project
A list of all projects that are defined in the current root directory.
In this step vision models are defined. This is done by placing the item under the camera
that will act as the position source. It is important to use the correct camera to achieve
a good result in recognizing the item in runtime.
Models
New...
Create a new vision model for any item with any camera in the project. See Figure 63.
Edit...
Delete...
New/Edit Model
When a new model is defined, a specific camera is used to acquire the image used for
recognition in the vision system. In this form the user selects the camera and gives
some properties for the model before the picture is acquired. The procedure to acquire
a picture is called to Teach the model.
Pos. Sources
Model Name
Ignore Polarity
Ignoring the polarity. Polarity is the difference between light and dark parts in the item
relative to the vision model. Ignoring polarity increases the number of found patterns.
The examples below is recognized if the polarity is ignored.
Elasticity
Specifies the distance, in pixels, by which PatMax will allow feature locations to vary
within a found vision model before it reduces the score.
Teach Model...
Test Model...
Opens the test and tune model dialogue. See Figure 66.
The model is taught by selecting the part of the image that shows the item and then
moving the cross to the wanted grip point.
Moving the selection area is done by pointing at the lower right corner of the area with
the mouse pointer, and then to press the right mouse button. To move the area, the right
mouse button must be pressed down when moving the mouse pointer. Changing the
size of the selection area is done in the same way as moving it, but the mouse pointer
is pointed at the upper left corner instead.
When the area is in place, surrounding the item, and it has the right size the model can
be taught by pressing the “Teach” button. It is possible to teach the model any number
of times. When the “OK” button is pressed the model is stored in the project.
Region of interest
Camera Button
mme
Acquire one image and teaches the model.
When the model is taught the acquired image is shown in the “New/Edit Model”
dialogue.
When the model is taught, it can be tested. Place a number of items in the working area
of the camera and press the “Test Model” button. A form with information about all
recognized items is shown. By pressing the “Acquire” button the test can be done any
number of times.
Table: Pos
Table: X, Y
Coordinates for the found item calculated from the origin in the upper left corner of the
image.
Table: Angle
Score is a percentage that indicates how closely a found item matches the trained vision
model. A score of 100% indicates a perfect match.
Table: X Scale
X scale is a measurement that indicates how much the found item is stretched on the X-
axis relative to the teached model.A score of 100% indicates that there are no difference
between the found item and the teached vision model.
Table: Y Scale
Y scale is a measurement that indicates how much the found item is stretched on the Y-
axis relative to the teached vision model. A score of 100% indicates that there are no
difference between the found item and the teached vision model.
Table: Contrast
Contrast is the average difference in grey-level values between a found item and the
trained vision model.
Fit error is a measure of the variance between the shape of the trained vision model and
the shape of the found item. A fit error of 0 indicates that the shape of the found item
matches perfectly with the shape of the vision model.
Table: Coverage
Coverage is a measure of the extent to which all parts of the trained vision model are
also present in the found item. A score of 100% indicates that all of the trained vision
model is present in the found item.
Table: Clutter
Clutter is a measure of the extent to which the found item contains features that are not
present in the trained vision model. A score of 0 indicates that no extra features have
been recognized in the vision model.
Search Time
The time in milliseconds for the vision system to process an acquired image. The used
time is an indication on the graphical complexity of the vision model. The number of
items found by the vision system has a minor affect on the search time.
Angle
The angle between the vision model and the found item.
Acceptance
A percentage to define how much of the trained vision model that must match the
acquired image to get a hit. This values must in most cases be >50% to achieve a good
result.
Numbers to find
Search Algorithm
The search algorithm that will be used by the vision system. There are two algorithms
available, PaxMax and PatQuick. For more information see document reference 6.
Filters: Contrast
A threshold that makes the vision system accept hits where the contrast exceeds this
value.
A threshold that makes the vision system accept hits where the fit error is below this
value.
Filters: Coverage
A threshold that makes the vision system accept hits where the coverage exceeds this
value.
Filters: Clutter
A threshold that makes the vision system accept hits where the clutter is below this
value.
Angle: -deg/+deg
The acceptable rotation for the item. If the item has another rotation it will be discarded
by the vision system.
Uniform scale is a threshold that accept hits that differs in size relative to the teached
vision model. A score of 100% indicates that there are no difference between the found
item and the teached vision model. A value <100%.indicates a smaller item (Found
Item 1) and >100% a larger one.(Found Item 2)
Area overlap is a threshold expressed as a percentage of the vision model area that
overlaps another vision model, e.g. an item overlapping another item. If the area
overlap is less than the threshold, multiple items have been found by the vision system.
The uniform scale and angle thresholds are only used if the overlapping area exceeds
the area overlap threshold.
Overlap: Angle
The acceptable rotation between two or more items that overlaps each other. If the
angle is accepted, multiple items have been found by the vision system.
The acceptable difference in size between two or more items that overlaps each other.
If the difference in size is accepted, multiple items have been found by the vision
system.
In this step of the wizard one or more models can be connected to the corresponding
item defined in the configuration wizard, see Step 6: Item definitions on page 39.
Item
Available
Selected
Button: >
Connect the selected model. That is, move it from the Available list to the Selected list.
Button: <
Disconnect the selected model. That is, move it from the Selected list to the Available
list
The Project Viewer is designed to help the user view or edit an existing project. It
handles the same functions as the Configuration Wizard and the with the addition that
it is possible to navigate directly to the wanted step by clicking in the tree view in the
Viewer.
All definitions in the viewer can be done offline on any PC. There is no need of
connections to robots, cameras or other physical equipment.There is though a
possibility to start the wizards and the Operator’s Panel from the Viewer but then there
is a need for online connections.
Functions are reached by clicking with the right mouse button on the icons in the project
tree. There are different functions connected to different type of objects. The functions
are listed below.
Project
Functions:
- Configure
- Feeders
- Position Sources
- Robots
- Items
- Models
- Item Flow
- Router File
- Calibrate Project
- Project
- New
- Start
Item/Pattern
Functions:
- Configure
- Model
- Models
- Model 1
- Model 2 etc.
Vision Model
Functions:
- Items
- Item 1
- Item 2 etc.
Robot
Functions:
- Configure
- Feeders
- Feeders
- Feeder 1
- Feeder 2 etc.
Feeder
Functions:
- Configure
- Items
- Position Sources
- Calibrate
- Feeder to Robot
- Items
- Item 1
- Item 2 etc.
- Position Sources
- Position Source 1
- Position Source 2 etc.
Functions:
- Configure
- Items
- Items
- Item 1
- Item 2 etc.
The input section is used to present input dialogues for the user. The dialogues are
exactly the same as the input section of the steps in the Configuration and Model
Wizards.
The project tree in the navigation section is used to navigate to the dialogues. When a
dialogue is presented the “OK” button must be pressed to save changes in the project.
The “Cancel” button leaves the dialogue without changing it.
For further descriptions of the dialogues it see 4.1.2.3 to 4.1.2.11 and 4.1.4.2 to 4.1.4.3.
Operators panel presents all selectable projects in the Project Section and the status for
the currently selected object in the Status Section.
Project Section
All projects in the currently selected root directory is presented. The projects are
presented as a tree view. By double clicking on a project all involved objects will be
presented. Depending on the object type, different information is presented in the status
section.
Root directory can not be changed by a person with “Operator” security level.
Status Section
When a project is selected in the Project Section, see Figure 70, the Status Section
presents information about that project.
Correct Picks/Min
A calculation of the current pick speed, e.g. the number of pick and place cycles the
last minute. It is recalculated every 15 seconds and is based on the average speed the
last 5 minutes.
Failed Pick/Min
The number of failed pick and place cycles. It is recalculated every 15 seconds and is
based on the average speed the last 5 minutes.
Camera Images...
Opens a dialogue that presents the images for a maximum of 4 cameras. The dialogue
is updated every time one of the cameras acquire a new image. See Figure 71.
Start
Starts the project. The used RAPID program will be loaded to the controller, the vision
system initialized and the pick and place task started. A progress bar is presented while
the initialization is in progress.
Note: There are a number of problems that can occur during start-up of a project. See
chapter 6.2 Error Messages for more information. If you get an error message, for
example when the controller is in Manual mode instead of Auto mode, press “Retry”
to interrupt the initialization of the project and then start it again or press “Cancel” to
exit the Operator’s Panel.
Stop
Stops a running project. The last ordered pick and place cycle will be executed by the
robots before they stops.
This dialogue presents the last acquired image from each camera connected to the
vision board. All recognized items are marked with a green cross and an identification
number.
Camera 1
Camera 2
Camera 3
Camera 4
When a robot is selected in the project section the status section presents some
information connected to that robot controller.
Motor Status
The current motor status received from the controller. It can be On or Off.
Max Speed
The current robot speed defined in percent of the maximum speed. The information is
received from the controller. The “Max Speed” parameter can be defined in the
maintenance dialogue, see 6.1.2.1.
Maintenance
Controller State
One of ten state parameters received from the controller. The state values are as
follows:
• 0 - State Unknown
• 1 - Initialization
• 2 - Stand-by
• 3 - Power On
• 4 - Run
• 5 - Power Off
• 6 - Guard Stop
• 7 - Emergency Stop
• 8 - Guard Emergency Reset
• 9 - Stand-by Emergency Reset
Operational State
One of seven state parameters received from the controller. The state values are as
follows:
• 0 - S4 interface down, no communication possible
• 1 - Initialization
• 2 - Manual Reduced Speed
• 3 - Going to Auto
• 4 - Auto
• 5 - Going to Manual Full Speed
• 6 - Manual Full Speed
One of six state parameters received from the controller. The state values are as
follows:
• 0 - State Unknown
• 1 - Uninitialized
• 2 - Ready State
• 3 - Executing State
• 4 - Stopped State
• 5 - Full State (No more space)
Program State
One of five state parameters received from the controller. The state values are as
follows:
• 0 - State Unknown
• 1 - Empty
• 2 - Loaded
• 3 - Linked
• 4 - Initiated
Start Robot
Stop Robot
The maintenance dialogue is used to trim speed, angles and distances for the pick and
place cycle. It is also possible to enable logging of pick and place coordinates from the
controller. Another feature is that routines in the loaded RAPID program can be
executed from the dialogue. These routines can be defined to do specific tasks such as
“Wash Down Position”, “Home Position” and “Test Cycle”.
General: Z Offset
A general offset used to trim the pick and place height relative the feeder for all queues.
The offset is given in millimetres. The value is sent to the controller by pressing the
corresponding button.
A general offset to halt the robot in the pick task for all queues. The value is defined
for all queues. The time is given in seconds. The value is sent to the controller by
pressing the corresponding button.
A general offset to halt the robot in the place phase of the cycle. The value is defined
for all queues. The time is given in seconds. The value is sent to the controller by
pressing the corresponding button.
General: Speed
A general offset to slow down the robot. The value is given in millimetres per second.
The value is sent to the controller by pressing the corresponding button.
Position Adjustments: X
An offset for the selected queue to adjust the X position for the pick or place task. The
value is sent to the controller by pressing the corresponding button.
Position Adjustments: Y
An offset for the selected queue to adjust the Y position for the pick or place task. The
value is sent to the controller by pressing the corresponding button.
Position Adjustments: Z
An offset for the selected queue to adjust the Z position for the pick or place task. The
value is sent to the controller by pressing the corresponding button.
An offset for the selected queue to adjust the angle for the pick or place task. The value
is sent to the controller by pressing the corresponding button.
NOTE: When this function is enabled the amount of logged information increases very
much. This function shall only be used during a short period in order to get more
information about the project.
10 routines can be defined in the RAPID program used by the project. These routines
can be named and designed by the user. Typical use is tasks such as “Wash Down
Position”, “Home Position” and “Test Cycle”.
When a vision position source, e.g. a camera, is selected in the project section the status
section presents some information connected to that position source.
This dialogue presents detailed information for a specific camera. The last acquired
image, information about the found items and the used models is presented.
Camera Number
The number of the connector on the vision board to which the camera is connected.
Information
If “Show all images” is checked, the image in the dialogue is updated every time an
acquisition is made.
Vision Model
Vision Results: X
The X coordinate calculated from the origin of the image, e.g. from the upper left
corner.
Vision Results: Y
The Y coordinate calculated from the origin of the image, e.g. from the upper left
corner.
A percentage that indicates the quality of the match between the model and the found
item. 100% indicates a perfect match.
File position sources, e.g. a files with coordinates that controls the robot, is presented
as a document icon, see Figure 76, in the object section of the form. There are no
additional information presented when the file position source is selected.
There are a number of problems that can occur during execution or start-up of a
PickMaster project. The controller can be in the wrong state, there might be network
problems in your LAN or maybe hardware or cabling problems in some part of the
installation. All these problems will cause the Operator’s Panel fatal problems in
performing the Pick and Place task. Operator’s Panel will try to give an error message
that will help in the problem investigation. In some error situations there will be no
good hints, for example when a cable is broken.
The error messages have the options to “Retry” or “Cancel”. Press “Retry” to interrupt
the going operation, and continue as usual. It is also possible to exit the application by
pressing “Cancel”. This option should be used when the error is unrecoverable.
Collecting logs from both the controller and from the runtime part of PickMaster, e.g.
the Operator’s Panel, is an important function in the system. The Run Time Log
Collector retrieves log files from the controller to the PC. The application is started
automatically when Operator’s Panel is started. The logs can be very useful in order to
understand the behaviour of the system and used as help in investigations of error
situations.
C:\WINNT\SYSTEM32\ABBLOG\
The logfiles from the controller are stored in a directory named as the InterLink alias
for the controller, for example:
C:\WINNT\SYSTEM32\ABBLOG\ROBOT1\
The log files from the PC are stored in a directory named as the network name for the
PC, for example:
C:\WINNT\SYSTEM32\ABBLOG\PC4778\
Note: The logfiles can be very large an must in this version of the system be deleted
manually.
Figure 77 The Application dialogue for the Run Time Log Collector
A dialogue that presents the logs from the controller is presented from the menu
selection “Logs”, see Figure 78. If there are large logfiles it might take a long time to
start the dialogue.
Date
Domain
Type
Type of the log. The types can be “Error”, “Warning” and “State Change”.
Code
Text
The Log Viewer application is part of the PickMaster runtime environment. It is used to
navigate to view and filter logfiles. It is possible to navigate to any logfile directory in
the file system.
There are two groups of logfiles generated by the PickMaster system. One retrieved
from the controller part of the PickMaster software to the PC and the other generated
from the PC part. Both these files are stored in a predefined directory. For more
information about the directory structure see chapter 7.1.
Figure 79 Log Viewer Application (Controller logs to the left and PC logs to the right)
Log Path
The currently selected logfile directory. Depending on which logfile directory that is
pointed out, different domains are presented.
Date of interest
A filter function to define a period for which the logs shall be presented.
Log Types
Domains
A filter function to define which domains that shall be presented. The domains differs
between the logfiles for the controller and for the PC.
Automatic Refresh
Refresh
Select All
One View...
Presents a dialogue that shows all log messages that matches the current filter settings.
Note: If there are large logfiles it might take a long time to start the dialogue.
8.1 Methods
8.2 Events
Revision: A
Document Number:
Revision: A
Revision: A
4 Conveyor Tracking
Revision: A
Document Number: -
Revision: 2.2
Document Number: -
Revision: 2.2
2.1 Introduction
PPA stands for “Pick and Place Applications”. This appendix describes the RAPID
datatypes and instructions used to support PPA applications. It also describes the
general parts in RAPID programs used in the PickMaster application.
The program structure and naming of variables are closely connected to the design of
the PickMaster.
The RAPID program should in principle be considered as a part of the PPA software.
It is loaded to the controller by PickMaster when the application is started.
Description
Data type used to define different item sources, which are used to store pick or place
positions for the Pick and Place Application, and to control the conveyor tracking.
Characteristics
Itmsrc is a non-value data type. This means that data of this type is private to the
controller and does not permit any user value-oriented operations.
Related information
Described in:
Itmtgt Data Types - itmtgt
Description
Itmtgt identifies an item to pick or place and contains the position.
Components
tag (item identification) Data type: num
Type of item.
Examples
CONST itmtgt
pick-
pos:=[1,2,1,[[20,40,8],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9
,0,0]]];
A pick position is defined. The robtgt is to be defined in the user frame coordinated
to the conveyor. The external axis related to the used conveyors must be set to zero,
i.e. not marked as unused (by stating 9E9). Example: if you have two conveyors
set the two last external axis positions to zero.
Structure
<dataobject of itmtgt>
<tag of num>
<type of num>
<scene of num>
Related information
Described in:
Positioning instructions RAPID Summary - Motion
Coordinate systems Motion and I/O Principles - Coordinate
Systems
Handling configuration data Motion and I/O Principles - Robot
Configuration
Configuration of external axes User’s Guide - System Parameters
What is a quaternion? Data Types - Orient
Itmsrc Data Types - Itmsrc
Description
Itmsrcinstdat is used to store information about an item source name and IPM process
id.
Components
name (item source name) Data type: string
The IPM identity of the item source. Used e.g. when the PickMaster communi-
cates with the itmsrc. Type of item.
Structure
<dataobject of itmsrcinstdat>
<name of string>
<id of num>
Related information
Described in:
Itmsrc Data Types - Itmsrc
2.3 Instructions
Example
NewItmSrc PlaceSource PPA_PICK_NAME;
A new item source object PlaceSource with the name
place_source_1 is created.
Arguments
NewItmSrc ItmSrc, Name
ItmSrc Data type: itmsrc
Syntax
NewItmSrc
<var of itmsrc>
<var or pers (IN) of string>;
Error Handling
ERR_PPA_NONAME Not valid name
Related information
Described in:
Example
FreeItmSrc PlaceSource ;
The earlier created item source PlaceSource is deleted.
Arguments
FreeItmSrc ItmSrc
ItmSrc Data type: itmsrc
Syntax
FreeItmSrce
<var of itmsrc> ;
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Related information
Described in:
Example
ResetItmSrc PlaceSource ;
The earlier created item source PlaceSource is reset for a
new
ItmSrcCnvDat.
Arguments
ResetItmSrc ItmSrc
ItmSrc Data type: itmsrc
Syntax
ResetItmSrc
<var of itmsrc> ;
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Related information
Described in:
when starting a new program or after flush .This instruction is specific to 377 board .
Example
QstartItmSrc PlaceSource ;
The queue of objects in item source PlaceSource is started .
Arguments
QStartItmSrc ItmSrc
ItmSrc Data type: itmsrc
Syntax
QStartItmSrc
<var of itmsrc> ;
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Related information
Described in:
when stopping aprogram or after flush .This instruction is specific to 377 board .
Example
QstopItmSrc PlaceSource ;
The queue of objects in item source PlaceSource is stopped .
Arguments
QStopItmSrc ItmSrc
ItmSrc Data type: itmsrc
Syntax
QStopItmSrc
<var of itmsrc> ;
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Related information
Described in:
Example
var itmsrc ItmSrcList {4};
GetAllItmSrc ItmSrcList ;
The earlier created item sources are copied in ItmSrcList
Arguments
GetAllItmSrc ItmSrcList
ItmSrcList Data type: array of itmsrc
Syntax
GetAllItmSrc
<var array of itmsrc> ;
Error Handling
Related information
Described in:
Example
FlushItmSrc PlaceSource;
Arguments
FlushItmSrc ItmSrc
ItmSrc Data type: itmsrc
Program Execution
Limitations
Not to be used during execution of PutItmTgt or when Pickmaster is sending ItmTgt.
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Syntax
FlushItmSrc <var of itmsrc> ;
Related information
Described in:
Example
GetItmTgt PlaceSource, PlaceItem;
Arguments
GetItmTgt ItmSrc, ItmTgt
ItmSrc Data type: itmsrc
The item source from which the item target should be retrieved.
Program Execution
If there is no Itmtgt in buffer or not in ARO then program execution stops .If an Itmtgt
is ready then program execution continues .
Limitations
Need to make FlushItmSrc after ItmSrcCnvDat before using GetItmTgt
Syntax
GetItmTgt
<var (IN) of itmsrc>
<var or pers (OUT) of itmtgt> ;
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Related information
Described in:
The instruction first gets the next place target, then depending on item type, it selects
one of the pick item sources and requests an itmtgt from that itmsrc. The item type is
used as an index in the pick source list. When both targets are within ARO the instruc-
tion is released. If the place position goes out of ARO before the pick item is available
the requests are cancelled internally (calling the itmsrces) and the process starts over
again.
Example
GetItmTgts PickSrcList, PlaceSource, PickTarget, PlaceTar-
get;
Arguments
GetItmTgts PickSrcList, PlaceSource, PickTarget, PlaceTarget
PickSrcList Data type: array of itmsrc
An array of pick item sources where the index is the item type of the retrieved
place item target.
Program Execution
Limitations
Syntax
GetItmTgts
<array var (IN) of itmsrc>
<var (IN) of itmsrc>
<var or pers (OUT) of itmtgt>
<var or pers (OUT) of itmtgt> ;
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Related information
Described in:
Example
PutItmTgt PlaceSource, PlaceItem;
Arguments
PutItmTgt ItmSrc, ItmTgt
ItmSrc Data type: itmsrc
Program Execution
Limitations
Syntax
PutItmTgt
<var (IN) of itmsrc>
< var or pers (IN) of itmtgt> ;
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Related information
Described in:
Example
PutItmTgts NbItem,PlaceSource, PlaceItemList;
Arguments
PutItmTgts NbItem, ItmSrc, ItmTgtList
NbItem Data type: num
Program Execution
Limitations
NbItem must be less than 20 .
Syntax
PutItmTgts
<var (IN) of num>
<var (IN) of itmsrc>
<array of var (OUT) of itmtgt> ;
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Related information
Described in:
Example:
Program Execution
Limitations
Related information
Described in:
Example
ItmSrcCnvDat PlaceSource, CnvName, AROEnter, AROExit
\WorkAreaWarn := AROWarning
\DistCnvStart := DistCnvStart
\MinDistItm := MinDistItm
\EioNameStop := CnvStopSigName
\EioNameSensor := SensorSigName
\EioNameTrigVis := TrigVisSigName;
Arguments
The distance in millimetres from the vision system zero point (or synchroniza-
tion switch if vision system not used) to the ARO.
The distance in millimetres from the vision system zero point to the end of the
ARO. When the tracked item passes beyond this point it will be dropped. This limit
must be chosen well within the maximum work area of the robot. The robot must
be able to reach this position from an arbitrary position on the other conveyor
before the position goes out of reach.
When the item closest to the robot reaches this position, the conveyor is stopped.
If specified value is not null, EioNameStop and DistCnvStart must also be speci-
fied. If this parameter is not specified or the given value is null this feature is disa-
bled.
The conveyor is started when the scene changes or the x-position of the next item
is this far from the position of the item that stopped the conveyor.
The minimum distance between two items from consecutive scenes to be consid-
ered as different. Only used with 377 boards .
The name of the io-signal which is used to stop and start the conveyor. This should
be a digital output group signal. 1 is written to the output to start the conveyor and
2 to stop it.
The name of the io-signal which is used to sync the conveyor. This should be a dig-
ital input signal. If the name is CxxScaleEncPuls the 377 board generate periodic
pulses . The distance in meters between to pulses is defined using 2*ScalingFac-
tor/CountsPerMeter from cnvqxxeio.cfg for the corresponding 377 board .This sig-
nal is used only with 377 board .
The name of the io-signal which is used to trig vision image. This should be a dig-
ital output signal. This output is pulsed each a transition 0 to 1 is detected on EioN-
ameSensor signal .This output must be connected to the vision board . This signal
is used only with 377 board .
Program Execution
Limitations
Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined
Syntax
ItmSrcCnvDat
<var (IN) of itmsrc>
<var or pers (IN) of string>
<var or pers (IN) of num>
<var or pers (IN) of num>
[\WorkAreaWarning := <var or pers (IN) of num>
[\DistCnvDat :=<var or pers (IN) of num>
[\MinDistItm :=<var or pers (IN) of num>
[\EioNameStop :=<var or pers (IN) of string>]
[\EioNameSensor :=<var or pers (IN) of string>]
[\EioNameTrigVis :=<var or pers (IN) of string>]
;
Related information
Described in:
Example
CreateInstDat PlaceSource, PlaceId;
Arguments
CreateInstDat ItmSrc, InstallData
ItmSrc Data type: itmsrc
Syntax
CreateInstDat
<var (IN) of itmsrc>
<pers (OUT) of itmsrcinstdat> ;
Related information
Described in:
Example
ItmSrcByName PlaceSource PPA_PICK_NAME;
The item source with the name place_source_1 is connected to
the variable PlaceSource. If there is no such item source
errno ERR_ITMSRC_UNDEF is given, which, if so desired, can
be caught by a RAPID error routine.
Arguments
ItmSrcByName ItmSrc, Name
ItmSrc Data type: itmsrc
The item source variable to be updated with a reference to an existing item source
(created earlier by NewItmSrc).
Program Execution
Limitations
Syntax
ItmSrcByName
<var of itmsrc>
<var or pers (IN) of string>;
Error Handling
ERR_PPA_NONAME Not valid name
Related information
Described in:
Example:
...
“PickTrackTime” in this example, is where one indicates the tracking time. This is usu-
ally a constant value. However in the PPA case, the PickMaster is able to modify this
value as follows:
...
PickTrackPoint.followtime := PickTime;
Related information
Described in:
WHILE TRUE DO
WaitDO ppaExe, 1;
%RoutineName%;
SetDO ppaExe, 0;
ENDWHILE
IN:
CnvName string The conveyor mechanical unit name
ItmSrcName string The name to give the itmsrc created
AROEnter num The distance from the vision system zero
point to the ARO
AROWarning num When the item closest to the robot reaches
this position the conveyor is stopped. If
specified the CnvStopSigName must be
stated
AROExit num When the tracked item passes beyond this
point it will be dropped
CnvStopSigName string The name of the io-signal which is used to
stop and start the conveyor
DistCnvStart num The conveyor is started when the scene
changes or the x-position of the next item
is this far from the position of the item
that stopped the conveyor.
OUT:
InstDat itmsrcinstdat Name and IPM id of the itmsrc created
ItmSrcId num IPM id of the itmsrc created
ProcErrStatus errnum 0 if OK
LastRoutine string Name of the last subroutine executed
Every pick or place have to be acknowledged. Since RAPID execution is not coordi-
nated to the movement the acknowledgement is coordinated with the robot move-
ment via TriggIO /TriggL. The ProcId is retreived via the CreateInstDat insruction
and the selector to use is the installed symbol ITMSRC_ACKENTRY. The acknowl-
edgement is done when the robot has reached the corner position above the pick or
place position and has disconnected from the conveyor it was tracking. This must not
be changed.
Staring vacuum and stopping vacuum and start to blow is also handled via TriggIO/
TriggL to get it coordinated with the robot movement. The delay times for the trig-
ging might have to be adjusted to suit the vacuum system.
The new instruction SetStopPointTime is used to specify the time the robot should
follow the conveyor after reaching the position.
To avoid decreasing accuracy for axis 4 since in principle one rotation direction
might be dominating, the pick and place loop is broken now and then to make a reset
of independent axis (IndReset).