1
Robot Programming
Training Documentation
Thursday,
November 10,
2016
Contents
2
Structure of a KUKA robot system Base coordinate system
Robot arm & Parts Stop Reactions
Robot Axes Jogging with a fixed tool
Smart Pad Mastering principle
Loads on the robot
Robot Safety
Tool calibration
Axis-specific motion
Base Calibration
Coordinate systems
Calibration of a fixed tool
Cartesian coordinate system
Calibration of a robot-guided
World coordinate system workpiece
Tool coordinate system
Thursday, November 10, 2016
Contents
3
Executing robot programs
Working with program files
Creating and modifying Programmed motions
Singularity
Motion programming with external TCP
Using logic functions in the robot program
Working with variables
Thursday, November 10, 2016
Structure of a KUKA robot system
4
Manipulator (robot arm)
Controller ((V)KR C4 control
cabinet) Teach pendand (KUKAsmartPAD)
Thursday, November 10, 2016
Robot arm
5
1. Manipulator (robot arm)
2. Start of the kinematic chain: base of the robot (ROBROOT)
3. Free end of the kinematic chain: flange (FLANGE)
A1-A6 :Robot axes 1 to 6
Thursday, November 10, 2016
Robot arm: Parts
6
Link arm Arm
Counterbalancing
system Wrist
Rotating column
Base frame
Thursday, November 10, 2016
Robot Axes
7
Thursday, November 10, 2016
Smart Pad Keyswitch for calling the connection
manager
8
Button for disconnecting the smartPAD
EMERGENCY STOP
button
Keyboard key
Space Mouse
Stop key
Jog keys
Start backward
key
Program override key
Start key
Technology Jog override key
keys
Main menu key
Thursday, November 10, 2016
Robot programming
9
What language does the controller speak?
The programming language is KRL -KUKA Robot Language
A robot is programmed so that motion sequences and processes can be
executed automatically and repeatedly. For this, the controller requires a large
amount of information:
Robot position = position of the tool in space.
Type of motion
Velocity / acceleration
Signal information for wait conditions, branches, dpendances, etc.
Thursday, November 10, 2016
Robot Safety
10
1. Safety fence
2. Mechanical end stops or axis
range limitation for axes 1, 2 and 3
3. Safety gate with contact for
monitoring the closing function
4. EMERGENCY STOP button
(external)
5. EMERGENCY STOP button,
enabling switch, keyswitch for
calling the connection manager
6. Integrated (V)KR C4 safety
controller
Thursday, November 10, 2016
Executing an axis-specific motion
11
1. Select Axis as the option for the jog keys.
2. Set jog override.
Thursday, November 10, 2016
Procedure: Executing an axis-specific motion
12
3. Press the enabling switch into the center position and hold it down.
4. Press the Plus or Minus jog key to move an axis in
the positive or negative direction.
Thursday, November 10, 2016
Coordinate systems in conjunction with robots
13
WORLD | world coordinate system
ROBROOT | robot base coordinate
system
BASE | base coordinate system
FLANGE | flange coordinate system
TOOL | tool coordinate system
Thursday, November 10, 2016
Coordinate systems in conjunction with robots
14
Thursday, November 10, 2016
Cartesian coordinate system
15
Translational (in a straight line) along the orientation directions of the
coordinate system: X, Y, Z
Rotational (turning/pivoting) about the orientation directions of the
coordinate system: angles A, B and C
Thursday, November 10, 2016
World coordinate system
16
The robot tool can be moved with
reference to the coordinate axes of the
world coordinate system. In this case, all
robot axes move.
The jog keys or Space Mouse of the
KUKA smartPAD are used for this.
By default, the world coordinate system
is located in the base of the robot
(Robroot).
The velocity can be modified (jog
override: HOV).
Jogging is only possible in T1 mode.
The enabling switch must be pressed.
Thursday, November 10, 2016
Tool coordinate system
17
In the case of jogging in the tool coordinate system, the robot can be moved
relative to the coordinate axes of a previously calibrated tool.
The coordinate system is thus not fixed ,but guided by the robot.
The origin of the tool coordinate system is called the TCP and corresponds to
the working point of the tool .
Thursday, November 10, 2016
Base coordinate system
18
The robot tool can be moved with reference to the coordinate axes of the
base coordinate system. Base coordinate systems can be calibrated
individually and are often oriented along the edges of workpieces, workpiece
locations or pallets. This allows convenient jogging!
Thursday, November 10, 2016
Stop Reactions
19
Stop category 0
The drives are deactivated immediately and the brakes are applied. The
manipulator and any external axes (optional) perform path oriented braking.
Note: This stop category is called STOP 0 in this document.
Stop category 1
The manipulator and any external axes (optional) perform path-maintaining
braking. The drives are deactivated after 1 s and the brakes are applied.[STOP 1]
Stop category 2
The drives are not deactivated and the brakes are not applied. The manipulator
and any external axes (optional) are braked with a path maintaining braking
ramp.
Thursday, November 10, 2016
Stop reactions
20
Thursday, November 10, 2016
Exercise
21
Carry out the following tasks:
1. Switch the control cabinet on and wait for the system to boot.
2. Release and acknowledge the EMERGENCY STOP.
3. Ensure that T1 mode is set.
4. Activate axis-specific jogging.
5. Perform axis-specific jogging of the robot with various different jog
override (HOV) settings using the jog keys and Space Mouse.
6. Explore the motion range of the individual axes, being careful to avoid
any obstacles present, such as a table or cube magazine with fixed tool
(accessibility investigation).
7. On reaching the software limit switches, observe the message window.
8. In joint (axis-specific) mode, move the tool (gripper) to the reference tool
(black metal tip) from several different directions.
9. Repeat this procedure in the World coordinate system.
Thursday, November 10, 2016
Jogging with a fixed tool
22
Some production and machining processes require the robot to handle the
workpiece instead of tool. The advantage is that it is not necessary to
set the workpiece down first before it can be machined thus saving on
clamping fixtures.
For example:
Adhesive bonding applications
Welding applications etc.
Thursday, November 10, 2016
Jogging with a fixed tool: Procedure
23
1. Select the robot-guided workpiece in the tool selection window.
2. Select the fixed tool in the base
selection window.
3. Set Ipo Mode selection to External tool.
4. Set Tool as the option for the jog
keys/Space Mouse:
Set tool in order to be able to jog in the
coordinate system of the workpiece.
Set base in order to be able to jog in the
coordinate system of the external tool.
Thursday, November 10, 2016
Exercise: Jogging with a fixed tool
24
Jog a robot guiding a workpiece relative to a fixed tool
Thursday, November 10, 2016
Mastering principle
25
Why is mastering carried out?
Pose accuracy and path accuracy
EMD = Electronic Mastering Device
A reference value (e.g. 0) is assigned to
every axis in its mechanical zero position.
In this way, the mechanical and electrical
positions of the axis are matched,
Thursday, November 10, 2016
Angle values of the mechanical zero position
26
Axis Quantec robot Other robot types
generation (e.g. KR 16, etc.)
A1 -20 0
A2 -120 -90
A3 +120 +90
A4 0 0
A5 0 0
A6 0 0
Thursday, November 10, 2016
When mastering is required?
27
A robot must always be mastered. Mastering must be carried out in the following
cases:
During commissioning
Following maintenance work to components that are involved in the
acquisition of position values (e.g. motor with resolver or RDC)
If robot axes are moved without the controller (e.g. by means of a release
device)
Following mechanical repairs/problems, the robot must first be unmastered
before mastering can be carried out:
After exchanging a gear unit.
After an impact with an end stop at more than 250 mm/s
After a collision
Thursday, November 10, 2016
Safety instructions For mastering
28
Thursday, November 10, 2016
Terms Related To Mastering
29
Protective cap
Reference Notch Signal cable Connector X32
Pre-mastering
position Thursday, November 10, 2016
Safety instructions For mastering
30
1. EMD (Electronic Mastering Device)
2. Gauge cartridge
3. Gauge pin
4. Reference notch
5. Premastering mark Thursday, November 10, 2016
Procedure For First Mastering
31
Step1:
Move robot to the pre-mastering position.
Thursday, November 10, 2016
Procedure For First Mastering
32
Step2:
Select Start-up > Master > EMD > With load correction >First mastering
in the main menu.
Step3:
Remove the protective cap of the gauge cartridge on the axis highlighted in
the window.
Thursday, November 10, 2016
Procedure For First Mastering
33
Step4:
Then attach the signal cable to the EMD and plug into connector X32 on the
robot junction box..
Thursday, November 10, 2016
Procedure For First Mastering
34
Step5: Press Master
Step6:
Press the enabling switch into the center position and hold it down, and press
and hold down the Start key.
Thursday, November 10, 2016
Procedure For First Mastering
35
Step7: Remove the signal cable from the EMD. Then remove the EMD
from the gauge cartridge and replace the protective cap.
Step8: Repeat steps 2 to 5 for all axes to be mastered.
Step9: Close the window.
Step10: Remove signal cable from connection X32
Thursday, November 10, 2016
Robot Mastering Options
36
Why teach the
offset
Thursday, November 10, 2016
Exercise: Robot mastering
37
Move to pre-mastering position
Select the correct mastering type
Work with the Electronic Mastering Device (EMD)
Master all axes using the EMD
Thursday, November 10, 2016
Loads on the robot
38
Coming Soon
Thursday, November 10, 2016
Loads on the robot
39
Payload 3 Supplementary load on axis 2
2 Supplementary load on axis 3 4
Supplementary load on axis 1
Thursday, November 10, 2016
Effects Of The Load Data
40
The entered load data affect a wide range of controller processes.
For example:
Control algorithms (calculation of acceleration)
Velocity and acceleration monitoring
Torque monitoring
Collision detection
Energy monitoring
Thursday, November 10, 2016
Effects Of The Load Data
41
Thursday, November 10, 2016
Tool calibration
42
Tool calibration means the generation of a coordinate system which has its
origin in a reference point of the tool.
This reference point is called the TCP (Tool Center Point).
Tool calibration thus consists of calibration...
of the Origin
of the orientation
Thursday, November 10, 2016
Tool calibration: Origin
43
Thursday, November 10, 2016
Tool calibration: Orientation
44
Thursday, November 10, 2016
Tool calibration Options
45
Step Description
1 Definition of the origin of the TOOL coordinate system
The following methods are available:
XYZ 4-point
XYZ Reference
2 Definition of the orientation of the TOOL coordinate
system
The following methods are available:
ABC World
ABC 2-point
Alternative Numeric input
Thursday, November 10, 2016
Tool calibration: XYZ 4-point method
46
1. Select the menu Setup > Measure > Tool > XYZ 4-point.
2. Assign a number and a name for the tool to be calibrated. Confirm with Next.
3. Move the TCP to a reference point. Press the Calibrate softkey and
confirm the dialog Apply current position? Resuming calibration. with Yes.
4. Move the TCP to the reference point from a different direction. Press
Calibrate again and answer the dialog with Yes.
Thursday, November 10, 2016
Tool calibration: XYZ 4-point method
47
Thursday, November 10, 2016
Tool calibration: XYZ 4-point method
48
5. Repeat step 4 twice.
6. The load data entry window is opened. Enter the load data correctly and
confirm with Next.
7. The window with the calculated X, Y and Z values for the TCP opens and the
calibration inaccuracy can be read under Errors. Data can be saved directly
by pressing Save.
Thursday, November 10, 2016
Tool calibration: XYZ Reference method
49
In the case of the XYZ Reference method, a new tool is calibrated with a tool
that has already been calibrated.
The robot controller compares the flange positions and calculates the TCP of
the new tool.
Thursday, November 10, 2016
Tool Orientation Calibration: ABC World method
50
ABC World
5D 6D
Procedure :
1. If 5D is selected:
Align +XTOOL parallel to -ZWORLD. (+XTOOL = tool direction)
2. If 6D is selected:
Align +XTOOL parallel to -ZWORLD. (+XTOOL = tool direction)
Thursday, November 10, 2016
Tool Orientation Calibration: ABC World method
51
Procedure :
1. Start-up > Calibrate > Tool > ABC
World.
2. Enter the number of the tool. Confirm
with Next.
3. Select a variant in the box 5D/6D.
Confirm with Next.
Procedure :
1. If 5D is selected:
Align +XTOOL parallel to -ZWORLD. (+XTOOL = tool direction)
2. If 6D is selected:
Align +XTOOL parallel to -ZWORLD. (+XTOOL = tool direction)
Thursday, November 10, 2016
Tool Orientation Calibration: ABC World method
52
Procedure :
1. If 5D is selected:
Align +XT -ZW (+XTOOL = tool direction)
2. If 6D is selected:
Align +XT -ZW
Align +YT +YW
Align +ZT +XW
Please note: +XT = tool direction
Thursday, November 10, 2016
Tool Orientation Calibration: ABC 2-point method
53
Procedure: Start-up > Calibrate > Tool > ABC 2-point
A precondition is that the TCP has already
been calibrated by means of the XYZ
method
Thursday, November 10, 2016
Exercise: Tool calibration
54
Calibration of a tool using the XYZ 4-Point and ABC World methods
Activation of a calibrated tool
Moving the robot in the tool coordinate system
Moving the robot in the tool direction
Reorientation of the tool about the Tool Center Point (TCP)
Thursday, November 10, 2016
Base calibration
55
Calibration of a base means the creation of a
coordinate system at a specific point in the robot
environment, relative to the Robroot coordinate
system.
Base calibration is carried out in two steps:
1. Coordinate origin
2. Coordinate axes
Thursday, November 10, 2016
Base calibration: Advantages
56
Motion along the edges of the workpiece:
Thursday, November 10, 2016
Base calibration: Advantages
57
Reference coordinate system
Thursday, November 10, 2016
Base calibration: Advantages
58
Offset of the coordinate system
Thursday, November 10, 2016
Base calibration: Advantages
59
Offset of the coordinate system
Thursday, November 10, 2016
Base calibration: Methods
60
Methods Description
3-point 1. Definition of the origin
method 2. Definition of the positive X axis
3. Definition of the positive Y axis ( in XY plane)
Indirect The TCP is moved to 4 points in the required base, the
method coordinates of which must be known ( by CAD data). The
robot controller calculates the base from these points
Numeric Direct entry of the values
Please Note: Up to 32 different coordinate systems can be created and used
input
Thursday, November 10, 2016
Base calibration: 3-Point method
61
1. Start-up > Calibrate > Base > ABC 3-point.
2. Assign a number and a name for the base. Confirm with Next.
3. Enter the number of the tool whose TCP is to be used for base
calibration. Confirm with Next.
4. Move the TCP to the origin of the new base.
Thursday, November 10, 2016
Base calibration: 3-Point method
62
5. Move the TCP to a point on the positive
X axis of the new base
6. Move the TCP to positive Y value in the
XY plane
7. Press Save.
8. Close the menu- Base is calibrated
Thursday, November 10, 2016
Exercise: Base calibration of table, 3-point method
63
Define any base
Calibrate a base
Activate a calibrated base for jogging
Move the robot in the base coordinate system
Thursday, November 10, 2016
Calibration of a fixed tool
64
Consists of two steps:
1. Calculation of the distance
between the external TCP and
the origin of the WCS.
2. Orientation of the coordinate
system at the external TCP
Thursday, November 10, 2016
Calibration of a fixed tool: Concept
65
A calibrated, robot-guided tool is required for determining the TCP
Thursday, November 10, 2016
Calibration of a fixed tool: Concept
66
To determine the orientation, the flange coordinate system is aligned
parallel to the new coordinate system.
There are 2 variants:
Orientation
5D 6D
Thursday, November 10, 2016
Calibration of a fixed tool: Concept
67
5D: Only the tool direction of the fixed
tool is communicated to the robot
controller. By default, the tool direction is the
X axis. The orientation of the other axes is
automatically defined by the system.
+XB -ZF
6D: The orientation of all 3 axes is
communicated to the robot controller.
+XB -ZF
+YB +YF
+ZB +XF Thursday, November 10, 2016
Calibration of a robot-guided workpiece
68
Thursday, November 10, 2016
Calibration of a robot-guided workpiece
69
The origin and 2 further points of the workpiece are communicated to the
robot controller.
These 3 points uniquely define the workpiece:
Thursday, November 10, 2016
Calibration of a robot-guided workpiece: Procedure
70
1. Setup > Measure > Fixed tool > Workpiece > Direct measuring.
2. Assign a number & name for the workpiece. Confirm with Next.
3. Enter the number of the fixed tool. Confirm with Next.
4. Move the origin of the workpiece coordinate system to the TCP of the fixed tool.
Press Calibrate and confirm the position with Yes.
5. Move a point on the positive X axis of the workpiece coordinate system to the
TCP of the fixed tool. Press Calibrate and confirm the position with Yes.
6. Move a point with a positive Y value in the XY plane of the workpiece
coordinate system to the TCP of the fixed tool. Press Calibrate and confirm
the position with Yes.
7. Enter the load data of the workpiece and confirm with Next.
8. Press Save
Thursday, November 10, 2016
Exercise: Calibrating an external tool and robot-guided
71
workpiece
Calibrate fixed tools
Calibrate movable workpiece
Carry out jogging with an external tool
Thursday, November 10, 2016
Executing robot programs
72
Initialization run
Selecting and starting robot programs
Thursday, November 10, 2016
Executing robot programs : Initialization run
73
The initialization run of a KUKA robot is called a BCO run
BCO - Block COincidence.
A BCO run is carried out in the following cases:
Program selection (1)
Program reset (1)
Jogging in program mode (1)
Program modifications (2)
Thursday, November 10, 2016
Block selection (3)
Executing robot programs : Initialization run
74
Thursday, November 10, 2016
Selecting and starting robot programs
75
If a robot program is to be
executed, it must be selected!!
Program run modes
Program
Navigator: directory/data list
Navigator: directory structure
Button for selecting a program Thursday, November 10, 2016
Start forwards and Start backwards keys
76
Program run modes
77
Program run modes
78
Program State
79
Program State
80
Drive State
81
Starting a Program
82
1. Select program.
Starting a Program
83
Starting a Program
84
2. Set HOV POV
Starting a Program
85
3. Press enabling switch
Starting a Program
86
4. Press and hold down the Start (+) key
The INI line is executed.
The robot performs the BCO run
Starting a Program
87
Once the end position has been reached, the motion is stopped.
The notification message Programmed path reached (BCO) is displayed.
T1 and T2: Continue the program
by pressing the Start key.
AUT: Activate drives
Exercise: Executing robot programs
88
Select and deselect programs
Run, stop and reset programs in different operating modes
Perform and understand block selection
Carry out a BCO run
Working with program files
89
Creating program modules
Editing program modules
Archiving and restoring robot programs
Creating Program Modules
90
Subfolder for additional programs
Program module/module
Comment of a program module
Main folder for programs
Program module
91
Program module
92
Source code:
DEF BML ()
INI
PTP HOME Vel= 100% DEFAULT
PTP POINT1 Vel=100% PDAT1 TOOL[1] BASE[2]
PTP P2 Vel=100% PDAT2 TOOL[1] BASE[2]
Data list:
DECL E6POS XPOINT1={X 900, Y 0, Z 800, A 0, B 0, C 0, S 6, T 27, E1
0, E2 0, E3 0, E4 0, E5 0, E6 0}
DECL FDAT FPOINT1
Working with program files
93
Creating program modules
Editing program modules
Archiving and restoring robot programs
Editing Program Modules
94
Program modules can be edited in the Navigator of the KUKA smartPAD.
Editing tasks include:
Duplicate/Copy
Delete
Rename
Working with program files
95
Creating program modules
Editing program modules
Archiving and restoring robot programs
Archiving and Restoring Robot Programs
96
Sr. DATA Description
No
1 All The data that are required to restore an
existing system are archived
2 Applications All user-defined KRL modules (programs) and
their corresponding system
files are archived
3 Machine data The machine data are archived
4 Log data: The log files are archived
5 KrcDiag Archiving of data for fault analysis by KUKA
Roboter GmbH.
Creating and Modifying Programmed Motions
97
Creating new motion commands
Programming robot motions
Motion types
Creating cycle-time optimized motion (axis motion)
PTP
Approximate Positioning
Motion/Programming in PTP
Creating new motion commands
98
Creating new motion commands
99
Question Solution Keyword
How does the robot The positions of the tool in space are saved POS
remember its positions? (robot position in accordance with the tool
and base that are set).
How does the robot know From the specification of the motion type: PTP, LIN
how to move? PTP, CP CIRC
How fast does the robot The command velocity and the acceleration Vel.
move? are specified during programming. Acc.
Does the robot have to To save cycle time, points can also be CONT
stop at every point? approximated; no exact positioning is carried
out in this case.
What orientation does the The orientation control can be set individually ORI_TYPE
tool adopt when a point is for each motion.
reached?
Does the robot recognize No, the robot stubbornly follows its Collision
obstacles? programmed path. detection
Motion Types
100
Various motion types are available for programming motion commands.
Motions can be programmed in accordance with the specific requirements of
the robots work process.
Axis-specific motions (PTP: point-to-point)
CP motions: LIN (linear) and CIRC (circular)
SPLINE: Spline is a motion type that is suitable for particularly complex,
curved paths. Such paths can generally also be generated using LIN and
CIRC motions, but Spline nonetheless has advantages.
Motion Types
101
Point to Point
CP Motion
Point To Point Motion
102
The robot guides the TCP along the fastest path
to the end point.
The fastest path is generally not the shortest path.
The exact path of the motion cannot be predicted.
The leading axis is the axis that takes longest to
reach the end point.
SYNCHRO PTP: All axes start together and also
stop in a synchronized manner.
The first motion in the program must be a PTP
motion.
Linear Motion
103
Motion in a straight line:
The TCP of the tool is guided from the start point
to the end point with constant velocity and a defined
orientation.
The velocity and orientation refer to the TCP.
Circular Motion
104
Circular path motion is defined by a start point,
auxiliary point and end point.
The TCP of the tool is guided from the start point
to the end point with constant velocity and a defined
orientation.
The velocity and orientation refer to the TCP.
Approximate Positioning
105
Approximate positioning : point coordinates are not addressed exactly.
The robot leaves the path of the exact positioning contour.
The TCP is guided along an approximate positioning contour that leads into
the exact positioning contour of the next motion command.
Approximate Positioning
106
HOW??
Motion commands with CONT
WHY??
Reduced wear
Shorter cycle times
Approximate Positioning: Shorter Cycle time
107
Without Approximate
Positioning
With Approximate
Positioning
Computer Advance Run Pointer
108
The computer advance run loads the motion blocks in the advance run (not
visible for the operator) to allow the controller to carry out path planning in the
case of approximate positioning commands.
Main run Pointer
Possible Advance
run Pointer
Inline Command
109
Motion Types
Point Name
Approximation
Velocity
Motion Data
Motion Data
110
Acceleration Only if CONT is selected
Exercise: Dummy program
111
Select and deselect programs
Run, stop and reset programs in the required operating modes
Delete motion blocks and insert new PTP motions
Change the program run mode and carry out step-by-step movement to
programmed points
Perform and understand block selection
Carry out a BCO run
Singularity
112
A singularity position is characterized by the fact that unambiguous reverse
transformation is not possible, even though Status and Turn are specified.
In this case, or if very slight Cartesian changes cause very large changes to
the axis angles, one speaks of singularity positions.
This is a mathematical property, not a mechanical one, and thus only
exists for CP motions and not axis motions.
Singularity
113
KUKA robots with 6 degrees of freedom have 3 different singularity
positions:
1. Overhead singularity [1]
2. Extended position singularity [2]
3. Wrist axis singularity [5]
Overhead singularity [1]
114
In the overhead singularity, the wrist root
point ( center point of axis A5) is located
vertically above axis A1 of the robot.
The position of axis A1 cannot be determined
unambiguously by means of reverse
transformation and can thus take any value.
Extended position singularity [2]
115
In the extended position, the wrist root
point (center point of axis A5) is located in
the extension of axes A2 and A3 of the
robot.
The robot is at the limit of its work
envelope.
Wrist axis singularity [5]
116
In the wrist axis singularity position, the
axes A4 and A6 are parallel to one
another and axis A5 is within the range
0.01812.
There is an infinite number of possible
axis positions for axes A4 and A6 with
identical axis angle sums.
Exercise: CP motion and approximate positioning
117
Create simple motion programs with the motion types PTP, LIN and CIRC
Create motion programs with exact positioning points and approximate
positioning
Motion programming with external TCP
118
In the case of motion programming with a fixed tool, the motion sequence
differs from standard motion :
Labeling in inline form: the entry External TCP in the must be TRUE.
Motion programming with external TCP
119
The motion velocity then refers to the external TCP.
The orientation along the path then also refers to the external TCP.
Please Note: base coordinate system (fixed tool/external TCP) and the tool
coordinate system (moving workpiece) must be entered correctly.
Exercise: Motion programming with external TCP
120
Program motions with a robot guiding a workpiece relative to a fixed tool
Using logic functions in the robot program
121
Introduction to logic programming
Programming with wait functions
Programming simple switching functions
Programming time-distance functions
Introduction to Logic Programming
122
In order to implement communication with the periphery of the robot
controller, digital and analog inputs/outputs can be used.
Introduction to Logic Programming
123
Input and output signals are used for logic statements in the programming of
KUKA robots:
OUT | Switches an output at a specific point in the program
WAIT FOR | Signal-dependent wait function: the controller waits for a
signal here:
Input IN
Output OUT
Time signal TIMER
FLAG or CYCFLAG (if continuously and cyclically evaluated)
WAIT | Time-dependent wait function: the controller waits a specified
time at this point in the program
Programming With Wait Functions
124
WAIT | Time-dependent wait function: the controller waits for a specified
time at this point in the program.
WAIT FOR | Signal-dependent wait function: the controller waits for a
signal here:
Input IN
Output OUT
Time signal TIMER
FLAG or CYCFLAG (if continuously and cyclically evaluated)
Programming With Wait Functions : WAIT
125
WAIT | Time-dependent wait function: the controller waits for a
specified time at this point in the program.
Wait time 0 s
PTP P1 Vel=100% PDAT1
PTP P2 Vel=100% PDAT2
WAIT Time=2 sec
PTP P3 Vel=100% PDAT3
WAIT always triggers an advance run stop.
Programming With Wait Functions : WAIT
126
PTP P1 Vel=100% PDAT1
PTP P2 Vel=100% PDAT2
WAIT Time=2 sec
PTP P3 Vel=100% PDAT3
Motion interrupted for 2 seconds
at point P2
Computer Advance Run Pointer
127
The computer advance run loads the motion blocks in the advance run (not
visible for the operator) to allow the controller to carry out path planning in the
case of approximate positioning commands.
Command sets advance run stop
Main run Pointer
Possible Advance
run Pointer
Programming With Wait Functions : WAIT FOR
128
WAIT FOR | Signal-dependent wait function: the controller waits for a
signal here:
Input IN
Output OUT
Time signal TIMER
FLAG or CYCFLAG (if continuously and cyclically evaluated)
Programming With Wait Functions : WAIT FOR
129
External logic operations
AND,OR,EXOR,NOT, [Empty box]
Internal logic operations
AND,OR,EXOR,NOT, [Empty box]
Signals
IN,OUT,CYCFLAG,TIMER,FLAG
Number of the signal
1 4096
Name of the signal
Only in Expert mode
Approximate
positioning
WAIT FOR always triggers an advance run stop.
Programming Simple Switching Functions
130
A simple switching function can be used to send a digital signal to the
periphery
Output number Output name Output State Approximate
1 - 4096 [If specified] True, False Positioning
Programming Simple Switching Functions
131
A pulsed switching function can be used to send a digital signal to the
periphery however, the signal is withdrawn again after a defined time.
Output number Output name Output State
1 - 4096 [If specified] True, False
Approximate Length of the
Positioning pulse
Programming Simple Switching Functions
132
LIN P1 Vel=0.2 m/s CPDAT1
LIN P2 CONT Vel=0.2 m/s CPDAT2
LIN P3 CONT Vel=0.2 m/s CPDAT3
OUT 5 'rob_ready' State=TRUE
LIN P4 Vel=0.2 m/s CPDAT4
Programming Simple Switching Functions
133
LIN P1 Vel=0.2 m/s CPDAT1
LIN P2 CONT Vel=0.2 m/s CPDAT2
LIN P3 CONT Vel=0.2 m/s CPDAT3
OUT 5 'rob_ready' State=TRUE CONT
LIN P4 Vel=0.2 m/s CPDAT4
Programming Time-Distance Functions
134
Option Start/End
A switching action can be triggered relative to the start or end point of a
motion block.
Output No Output name Output State Switching Point
Switching action delay
1 to 4096 [If specified] True, False START, END
-1000 to +1000 ms
Programming Time-Distance Functions
135
Option Start/End
A switching action can be triggered relative to the start or end point of a
motion block.
Output No Output name Output State Switching Point
Switching action delay
1 to 4096 [If specified] True, False START, END
-1000 to +1000 ms
Programming Time-Distance Functions
136
Option PATH
With the option PATH, a switching action can be triggered relative to the end
point of a motion block.
Output No Output name Output State PATH: Switching is carried
1 to 4096 [If specified] True, False out relative to the end point
of the motion block.
Switching Point Switching action delay
START, END -1000 to +1000 ms
Exercise: Logic statements and switching functions
137
Program simple logic statements
Execute simple switching functions
Execute path-related switching functions
Program signal-dependent wait functions
Working with variables
138
Displaying and modifying variable values
Displaying robot states
Displaying and modifying variable values
139
Variables are assigned with their memory location, type, name and content.
There are two type of Memory location here:
Local
It only exists during the runtime of the program.
Global
If the variable is global, it can be displayed at any time