Professional Documents
Culture Documents
Version 1.02
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
Examples and the 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 Select the menu item
on the Z-axis procedure for the Load/Save and click Save
relevant axis (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 Click the Command tab Proceed to step 3
a moveL or moveP (or and select the relevant
circular motion) motion in 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 - maintains a fixed TCP - when it’s necessary that the TCP
motion) speed maintains the same speed through
several waypoints
- mainly intended for process
applications
MoveC (circular - circular motion - when the TCP has to make a
motion) - maintains a fixed TCP circular 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 beyond the point feature
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
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
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
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
Step Action
1. In the installation tab, click the Safety menu
2. Enter the safety password and click Unlock
3. Click the General Limits tab
4. Drag the slider to change the settings
5. Click Apply
6. Click Apply and restart
7. Click Confirm Safety Configuration
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 The waypoints are inserted relative to feature Plane_1. When the feature and workpiece are moved
left, 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