Professional Documents
Culture Documents
Reference Guide 1.01 - EN
Reference Guide 1.01 - EN
Version 1.01
Contents
Find the tool center point ..........................................................................................................................................3
Set up the tool center point (TCP) ............................................................................................................................4
Find the center of gravity .........................................................................................................................................5
Set up the center of gravity .......................................................................................................................................6
Set up the payload ....................................................................................................................................................7
Rename I/Os .............................................................................................................................................................8
Insert a motion and a waypoint.................................................................................................................................9
Choose a motion type ............................................................................................................................................ 10
Insert a wait command........................................................................................................................................... 11
Insert a set command ............................................................................................................................................. 12
Change payload using a set command ................................................................................................................... 13
Trigger reduced mode from input signal ............................................................................................................... 14
Add a point feature ................................................................................................................................................ 15
Set up a safety boundary using a point feature ...................................................................................................... 16
Add a blend radius ................................................................................................................................................. 17
Change speed and acceleration of a move ............................................................................................................. 18
Change speed and acceleration of a waypoint ....................................................................................................... 19
Pose editor ............................................................................................................................................................. 20
Create a folder ....................................................................................................................................................... 21
Insert and modify a variable .................................................................................................................................. 22
Set Initial Variable Values..................................................................................................................................... 23
Insert an If…else command ................................................................................................................................... 24
Create and call a subprogram ................................................................................................................................ 25
Pallet wizard .......................................................................................................................................................... 26
Insert a Popup command ....................................................................................................................................... 27
Teach tool center point (TCP) ............................................................................................................................... 28
Teach orientation ................................................................................................................................................... 29
Insert a loop command .......................................................................................................................................... 30
Prompt operator for input ...................................................................................................................................... 31
1
Insert a switch/case command ............................................................................................................................... 32
Insert circle move .................................................................................................................................................. 33
Set joint limits........................................................................................................................................................ 34
Adjust General limits ............................................................................................................................................. 35
Add a plane feature ................................................................................................................................................ 36
Insert motion relative to a feature .......................................................................................................................... 37
Insert a thread ........................................................................................................................................................ 38
Insert seek wizard .................................................................................................................................................. 39
Auto Initialize robot .............................................................................................................................................. 40
Auto Start default program .................................................................................................................................... 41
Insert BeforeStart sequence ................................................................................................................................... 42
2
Find the tool center point
Purpose The tool center point must be defined in Polyscope to ensure optimal performance of the robot and to prevent
protective stops
Definition The tool center point is the part of the tool that is in contact with the workpiece. For example the center of a
gripper, the end of a welding tool, or the nozzle of a dispenser tool.
Correct The tool center point (TCP) can be located by finding the point(s) of contact between the tool and the
Examples workpiece. The TCP is located in the center between the points of contact.
Incorrect
Examples
3
Set up the tool center point (TCP)
Purpose The tool center point must be defined in Polyscope to ensure optimal performance of the robot and to prevent
protective stops
Definition The tool center point is the part of the tool that is in contact with the workpiece. For example the center of a
gripper, the end of a welding tool, or the nozzle of a dispenser tool.
5. If Then Else
The TCP is not located directly Repeat the procedure Select the menu item
on the Z-axis for the relevant axis Load/Save and click Save
(X, Y or both)
4
Find the center of gravity
Purpose The center of gravity of the attached tool must be defined in the software in order to calculate how much force
to apply and to avoid protective stops
Definition The center of gravity is the point on the tool where the weight is distributed evenly on each side of the
point
Correct
Incorrect
5
Set up the center of gravity
Purpose The center of gravity of the attached tool must be defined in Polyscope in order to calculate how much force
to apply and to avoid protective stops
Definition The center of gravity is the point on the tool where the weight is distributed evenly on each side (of the point)
Step Action
1. Measure the distance from the center of gravity to the center of the tool flange (Z-axis)
6
Set up the payload
Purpose The robot needs to know the payload in order to calculate how much force to apply and to avoid protective
stops
Definition Payload is the weight of the attached tool (+ the weight of the workpiece)
Step Action
1. In Polyscope, select Program robot
2. Click the Installation tab
3. Select the menu item TCP configuration
4. Enter the weight of the tool (in kilograms) in the payload field
7
Rename I/Os
Purpose I/Os can be renamed to clarify the purpose of each I/O, thereby making it easier to use the I/Os when
programming the robot
Definition I/Os (inputs/outputs) are connectors in the control box that transfer signals to or from peripheral devices such
as sensors, scanners, buttons or PLCs
Step Action
1. Click the Installation tab
2. Click the menu item I/O Setup
3. Click the input or output you want to rename
4. Type in the new name of the input or output in the text box
8
Insert a motion and a waypoint
Purpose A basic robot program consists of waypoints and motion between the waypoints.
How it works A waypoint specifies the (next) location the robot moves to, and a motion type determines the path or
trajectory the robot moves through when moving to the waypoint.
Step Action
1. In the Structure tab, click the Move button to insert a motion and a waypoint
RESULT: a motion and a waypoint are inserted in the program tree
2.
If Then Else
The motion has to be a Click the Command tab and Proceed to step 3
moveL or moveP (or select the relevant motion in
circular motion) the dropdown menu
9
Choose a motion type
Purpose When the robot moves from one waypoint to another, the operator must choose which motion type the robot
uses to get from one waypoint to another.
How it works The motion type determines the path or trajectory the robot moves through when moving between waypoints.
Motion types
Motion type Feature When to use
MoveL (linear motion) - linear motion - when the path of the TCP is important
- in confined space
MoveP (process motion) - maintains a fixed TCP - when it’s necessary that the TCP
speed maintains the same speed through
several waypoints
- mainly intended for process
applications
MoveC (circular motion) - circular motion - when the TCP has to make a circular
- maintains a fixed TCP move
speed - mainly intended for process
- can only be used applications
combined with MoveP
10
Insert a wait command
Purpose A wait command can be inserted in the program tree to make the robot wait for and respond to a specific event
How it works The wait command makes the robot wait for e.g. a specific amount of time; for a digital or analog input to
change to a specific value (e.g. input from a sensor or a push button) or for a variable to change to a specific
value
Step Action
1. In the program tree, click the Waypoint where you want to insert the wait command
11
Insert a set command
Purpose The set command can be used to operate peripheral devices such as end-effectors/grippers, conveyor belts, to
change payload or modify the TCP.
How it works The set command sets either a digital or analogue output to a specific value.
Step Action
1. In the program tree, click the Waypoint where you want to insert the set command
12
Change payload using a set command
Purpose When the robot picks up or puts down a workpiece, the payload needs to be changed accordingly
Definition Payload is the weight of the end-effector/tool (+ any workpiece carried by the end-effector/tool)
13
Trigger reduced mode from input signal
Purpose An input signal (e.g. from a safety scanner, a sensor or a button) can be used to trigger reduced mode to lower
the risk of collision and accidents.
How it works Reduced mode means the robot moves at lower power, speed, force and momentum than when in normal
mode
Procedure Follow these steps to trigger reduced mode from an input signal:
Step Action
1. Click the Installation tab
2. Click the menu item Safety and unlock it using the safety password
3. In the Safety I/O tab, click the dropdown menu next to the relevant input signal
5. Click Apply
6. Click Apply and restart
7. Click Confirm Safety Configuration
14
Add a point feature
Purpose A (point) feature is a way to specify a location relative to the robot arm.
How it works A point feature can be used to tell the robot the location of a specific point relative to the location of the robot.
The point feature is perpendicular to the TCP and can be used as a reference point for various purposes. E.g.
to create a safety boundary which the robot cannot move beyond.
Example A point feature (dot with arrows) has been placed in front of the robot. The point feature can e.g. be used to
mark a boundary the robot cannot move beyond, or to trigger the robot to go into reduced mode when moving
Step Action
1. Click the Installation tab
2. Click the menu item Features
3. Click the Point button
RESULT: a point is inserted in the features menu
15
Set up a safety boundary using a point feature
Purpose A safety boundary can be used to prevent the robot TCP from operating in specific areas, or to trigger the
robot to operate in reduced mode in specific areas.
How it works A safety boundary is a specific location relative to the robot which the robot TCP cannot enter, or where the
robot will operate in reduced mode.
Step Action
1. Click the Installation tab
2. Click the menu item Safety, and unlock it using the safety password
3. In the Boundaries tab, select a Safety plane
4. In Copy Feature, select the feature you want to associate the safety plane with
5. In Boundary restricts, select the restriction you want to apply to the safety plane
6. Click Apply
7. Click Apply and restart
8. Click Confirm Safety Configuration
16
Add a blend radius
How it works A blend radius makes the robot arm trajectory move around the waypoint, instead of through the waypoint,
allowing the robot arm not to stop at the point. Thereby cycle time is reduced.
Example
without
Blend radius
Example
With
Blend radius
Step Action
1. In the program tree, click the Waypoint you want to add the blend radius to
2. Click the Command tab
3. Select Blend with radius
NOTE: A low value results in a sharp turn, and a high value results in a softer turn
17
Change speed and acceleration of a move
Purpose The speed and acceleration of a move can be adjusted individually to move slower or faster where relevant in
the robot program.
Procedure Follow these steps to change the speed and acceleration of a move:
Step Action
1. In the program tree, click the Move you want to change speed and acceleration of
NOTE: The new joint speed and acceleration will apply to all waypoints inside the
move
18
Change speed and acceleration of a waypoint
Purpose The speed and acceleration of a single waypoint can be adjusted individually to move slower or faster where
relevant in the robot program.
Procedure Follow these steps to change the speed and acceleration of a waypoint:
Step Action
1. In the program tree, click the Waypoint you want to change speed and acceleration of
19
Pose editor
Purpose The pose editor is used to fine tune the robot’s position at waypoints, e.g. to make sure that the gripper is
perpendicular to the workpiece it is about to pick up
How it works When configuring a waypoint, it is possible to configure the position and orientation of the robot arm very
precisely by using the pose editor
5. Select the feature you want to adjust the robot position relative to
20
Create a folder
Purpose Folders can be used to structure the robot program by storing different parts of the robot program in folders,
thereby making it easier to navigate and edit the program. For example, a pick-and-place application may
contain two folders named pick sequence and place sequence.
Step Action
1. Click the Structure tab
2. Click the Folder button
RESULT: a folder is inserted in the program tree
21
Insert and modify a variable
Purpose Variables are used in robot applications to keep track of relevant program information. E.g. to count the
number of workpieces processed, or to keep track of input from external devices.
Definition A variable is a “container” used to store information that can be referenced and modifyed in the robot
program. E.g. a variable may be named “Counter” and assigned the value 0. This value can be modifyed in the
robot program (increased or decreased). For example, the variable “Counter” may be increased by 1 every
time the robot completes a program cycle.
How it works The Assignment command assigns values to variables. An assignment command puts the computed value of
the right hand side into the variable on the left hand side. Here, the value of var_1 is equal to the value of
var_2 + 10
Step Action
1. In the structure tab, click the Advanced tab
2. Click the button Assignment
RESULT: a new variable and an assignment command is inserted
You are assigning a new value Select the relevant variable in the
to an existing variable dropdown menu
22
Set Initial Variable Values
Purpose This command is used to assign specific values to the variables used in the robot program before starting the
program.
How it works An Init Variables command is inserted before the Robot Program. In this command, you assign a starting
value to each of the variables used in the program. The Init Variables sequence is only executed prior to
running the main program.
Example An Init Variables command is inserted before the robot program, and the variable var_1 is assigned with the
initial value 5
NOTE: It is not possible to create new variables in the Init variables command/expression
editor. You can only set the value of variables that are already used in the robot program.
23
Insert an If…else command
Purpose If … else commands are used for parts of the program that is only to be executed if a certain condition is true,
e.g. a variable value or a sensor input.
How it works In the If statement, the operator states a condition that must be true in order for the robot to carry out the sub-
commands of the If statements.
In the else statement, the operator specifies what the robot is to do when the If condition is not true.
NOTE: an If statement does not need to have an associated else statement. When the If condition is not true
and there is no else statement, the robot will simply continue executing the program.
Example If the input from sensor_1 is equal to True (HI), the robot will move to Waypoint_1 – Else it will move to
Waypoint_2
5. Click the <empty> sub-command below the If statement and enter the commands to be
executed
6. OPTIONAL: To insert an else statement, click the If statement in the program tree
7. Click the Command tab
8. Click the Add Else button
RESULT: an else statement is inserted
9. Click the <empty> sub-command below the else statement and enter the commands to be
executed
24
Create and call a subprogram
Purpose A SubProgram can hold program parts that are needed several places. A SubProgram can be a separate file on
the disk and be used in other programs
How it works The SubProgram contains program data that is only executed when the SubProgram is called (activated) from
the mainprogram. The SubProgram can be called from one or more places in the main program and/or based
on certain conditions, such as the value of a variable or an input from an external device.
6. Enter new program data in the subprogram, or copy existing program data into it
25
Pallet wizard
Purpose The pallet wizard can be used to easily create a sequence that typically removes or places workpieces on e.g. a
pallet or in a box
How it works The pallet wizard contains two folders where the following data is
entered:
Step Action
1. In the structure tab, click the Wizards tab
2. Click the Pallet button
RESULT: a pallet program is inserted in the program tree
3. Click the Pattern folder in the program tree
4. Click the Command tab
5. Select the Pattern you want to use (Line, Square, Box or List)
RESULT: a number of positions is inserted in the Pattern folder
6. Specify the total number of positions for workpieces on your pallet/box
EXAMPLE BELOW: a square with room for 12 workpieces (4x3= a total of 12)
7. Teach the location of all the positions inserted in the Pattern folder
(i.e. 4 corners for a square, 8 corners for a box, 1 start and 1 end position for a line, any
required positions for a list)
8. At PatternPoint_1 program the pattern the robot has to execute at each position
9. At Approach_1 program how you want the robot to approach each position
10. At Exit_1 program how you want the robot to move away from each position after
executing the pattern
26
Insert a Popup command
Purpose A popup is a message that is displayed on the teach pendant when the program reaches the popup command in
the program tree.
How it works When the popup is displayed, the robot waits for the operator to press the “OK” button under the popup before
continuing the program.
27
Teach tool center point (TCP)
Purpose The tool center point must be defined in Polyscope to ensure optimal performance of the robot and to prevent
protective stops. The software can calculate the TCP by moving the tool to a fixed reference point from 4
different angles, thereby creating 4 different positions with the same TCP.
Definition The tool center point is the part of the tool that is in contact with the workpiece. For example the center of a
gripper, the end of a welding tool, or the nozzle of a dispenser tool.
5. Click OK
6. Repeat steps 3-5 for points 2, 3 and 4 from different angles, but using the same reference point
28
Teach orientation
Purpose If the tool is not mounted parallel with the Z axis (blue) of the tool flange, the robot needs to know the
orientation of the tool, which the software can calculate.
Step Action
1. In the installation tab, select TCP configuration
2. Click the Orientation button
3. Select base in the dropdown menu
4. Click Set point
5. Position the tool so it is parallel with the Z-axis of the base
6. Click Ok
7. Click Set
8. Select the menu item Load/Save and click the Save button
29
Insert a loop command
Purpose A loop can be used for program code that is to be repeated several times in a row.
How it works The program code that has to be repeated is placed inside a loop command. The loop command can be
configured to repeat infinitely, a specific number of times, or as long as an expression is true (e.g. based on a
variable or an input)
Example The commands inside the loop command are repeated 5 times, and then the robot moves on to waypoint 3
NOTE: if the Check expression continuously checkbox is selected, the robot will exit
the loop as soon as the expression is found not to be true, disregarding any remaining
commands inside the loop
6. Click <empty> and add commands to the loop
30
Prompt operator for input
Purpose It is possible to require the operator to make a decision or provide other input at some point when the program
is running. A variable can be used to prompt the operator for input.
How it works A variable is configured to prompt the operator for input. The input provided by the operator is assigned as the
value of the variable, which can be used to determine how the robot should proceed using an If…else
command or a Swith command.
Example The variable var_1 is configured to prompt the operator to answer yes or no to a question (get boolean). The
answer is assigned as the value of var_1. If the answer is yes (True), the robot moves to Waypoint_1. If the
answer is no (False), the robot moves to Waypoint_2.
Step Action
1. In the structure tab, click the Advanced tab
2. Click the button Assignment
RESULT: a new variable and an assignment command is inserted
6. Write the text that will be displayed in the prompt for the operator
7. Insert If…else command or Switch command to continue the program based on the
operator’s input
31
Insert a switch/case command
Purpose A switch/case command can be used to control the flow of your program based on the value of a variable.
How it works The Switch command is associated with a variable. A number of possible actions based on the variable value
can be defined by using Case commands. A Default Case can also be inserted, which will be executed if the
variable is not equal to any of the values specified in the Case commands
Example The Switch command checks the value of the variable var_1. If the value is 1, the command under Case 1
will be executed. If the value is 2, the command under Case 2 will be executed. If the value is neither 1 or 2,
the command under Default Case will be executed
Step Action
1. In the structure tab, click the Advanced tab
2. Click the Switch button
RESULT: a switch command is inserted
6. Type the variable value you want to assign an action for in the white field, and then
click the plus icon. You can insert as many Case commands as you need.
NOTE: marking the Default Case checkbox will insert a Default Case that is executed
if the variable is not equal to any of the other Case commands
7. Click <empty> and enter the commands to be executed
32
Insert circle move
Purpose A circle move is used to make the robot TCP perform a circular movement
How it works A circle move consists of two waypoints. The first waypoint specifies a via point on the circular arc, and the
second one is the endpoint of the movement. The robot will start the circle move from the waypoint
immediately before the circle move
Step Action
1. In the structure tab, click the Move button
2. Click the Command tab
3. Select MoveP in the dropdown menu
5. Click the first waypoint of the circle move and set the via point
6. Click the second waypoint of the circle move and set the end point
33
Set joint limits
Purpose Joint limits can be configured to restrict the working area of each of the joints to a specific area
How it works In the safety menu, the rotational position of the joints can be limited
6. Click Apply
7. Click Apply and restart
8. Click Confirm Safety Configuration
34
Adjust General limits
Purpose In the safety menu, general limits (force, power, speed and momentum) can be adjusted to customize the
safety settings to the robot task at hand
How it works General limits has 4 positions ranging from “very restricted” to “least restricted. Changing the setting will
either increase or decrease force, power, speed and momentum
35
Add a plane feature
Purpose The plane feature is typically used when there is a need for a frame with high precision, e.g. when working
with a vision system or doing movements relative to a table.
How it works A plane feature is a coordinate system defined by three location points that indicate the Z, X and Y axes. The
robot can perform movements relative to the plane feature/coordinate system, and the feature/coordinate
system can be moved to another location
3. Click each of the 3 points to configure them and create a coordinate system:
36
Insert motion relative to a feature
Purpose Motions can be inserted relative to a feature, which means that waypoints inside the motion will automatically
be relocated if the feature is moved/adjusted
How it works When inserting a motion, a feature can be associated with the motion. For waypoints inside this motion, the
position and orientation of the tool is relative to the feature. If the feature is moved, the waypoints will be
moved accordingly, still keeping the same position and orientation relative to the position of the feature
Example Waypoints 1 and 2 are inserted relative to feature Plane_1. When the feature and workpiece are moved right,
the waypoints are automatically repositioned relative to the feature
37
Insert a thread
Purpose A thread is a parallel process to the robot program and can be used e.g. to control an external machine
independently of the robot arm.
Example Thread_1 runs simultaneously with, and independent of, the robot program. The thread checks the input from
sensor1and turns digital output 1 on and off based on the input from sensor1. The thread is repeated every
0.01 second.
RESULT: The commands in the thread will be executed simultaneously with the commands
in the main program
38
Insert seek wizard
Purpose The seek wizard can be used to work with stacks of items, either for stacking or destacking.
How it works The seek function uses a sensor (condition) to determine when the correct position is reached to grab or drop
an item, which makes it well-suited for working on stacks of items with varying item thickness, or where the
exact positions of the items are not known or too hard to program
Example The robot can use the force feedback function to detect when it touches a workpiece
6. In the Item thickness field, enter the thickness of the item minus 20mm (seek distance for the
next object)
7. Click StartPos and configure the starting waypoint, i.e. from where the robot will start to seek
for a stack item
8. Configure FromPos in the same location as StartPos
9. Configure ToPos below the last workpiece of the stack
10. Click direction, and check the Stop after check box
11. Configure StackPos_1 to the same position as StartPos
12. Configure the Set command to either open or close the end-effector
13. Configure the Wait command to wait long enough for the end-effector to open/close
14. In Exit_1 program how to robot should exit the position
39
Auto Initialize robot
Purpose The robot can be set up to automatically initialize when the main power is turned on
How it works A digital input can be used to quickly initialize the robot
Example The robot initializes automatically when digital_in [3] signal switches from high to low
Step Action
1. In the installation tab, click the Default Program menu
2. Check the Auto brake release the robot checkbox
3. In the first dropdown menu, select the signal you want to use to trigger the auto initialize
4. In the second dropdown menu, select if the signal needs to change from low to high, or from
high to low
5. Click the Load/Save menu
6. Save as “default”
40
Auto Start default program
Purpose A default program can be automatically started when the robot has powered up.
Example The default program starts automatically when digital_in [0] switches from low to high
Step Action
1. In the installation tab, click the Default Program menu
2. Check the Auto Start the default program in the Run Tab checkbox
3. In the first dropdown menu, select the signal you want to use to trigger the auto start
4. In the second dropdown menu, select if the signal needs to change from low to high, or from
high to low
5. Click the Load/Save menu
6. Save as “default”
41
Insert BeforeStart sequence
Purpose A before start sequence can be added to make sure the robot is ready when the main program is executed, e.g.
to ensure the gripper is open or the robot is in the correct position.
How it works The BeforeStart sequence is carried out only once, before the main program is executed
Step Action
1. In the program tree, click Robot Program
2. Click the Command tab
3. Click the Add BeforeStart Sequence check box
4. Insert commands to be carried out before the start of the main program
42