36797445 kuka userprogramming

62
ProgAnwenderR4.1 08.01.03 en 1 of 60 SOFTWARE KR C... User Programming KUKA System Software (KSS) Release 4.1 Issued: 14 Jul 2003 Version: 03

Upload: akram-ben-khemis

Post on 27-Nov-2015

103 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: 36797445 KUKA UserProgramming

ProgAnwenderR4.1 08.01.03 en

1 of 60

SOFTWARE

KR C...

User Programming

KUKA System Software (KSS)

Release 4.1

Issued: 14 Jul 2003 Version: 03

Page 2: 36797445 KUKA UserProgramming

2 of 60

ProgAnwenderR4.1 08.01.03 en

e Copyright KUKA Roboter GmbHThis documentation or excerpts therefrommay not be reproduced or disclosed to third parties without the express permission of the publishers.Other functions not described in this documentation may be operable in the controller. The user has no claim to these functions, however, inthe case of a replacement or service work.We have checked the content of this documentation for conformity with the hardware and software described. Nevertheless, discrepanciescannot be precluded, for which reason we are not able to guarantee total conformity. The information in this documentation is checked on aregular basis, however, and necessary corrections will be incorporated in subsequent editions.Subject to technical alterations without an effect on the function.

PD Interleaf

Page 3: 36797445 KUKA UserProgramming

3 of 60

ProgAnwenderR4.1 08.01.03 en

Contents

1 Program editing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.1 General 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2 Programs 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.1 New 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.2 Selecting 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.3 Open (Edit) 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.4 Print 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.4.1 Current program 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.4.2 Logbook 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.5 Saving changes 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.6 Saving programs to floppy disk (Archive) 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.7 Duplicate 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2.8 Delete 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3 Editing a selected program 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1 Delete 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.2 Find 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.3 Cancel program 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.4 Reset program 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4 Working with the program editor 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.1 Delete 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.2 Find 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.3 Close editor 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Program commands 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1 Last command 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Motion 21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.2.1 Point--to--point motions (PTP) 24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.2.2 Linear motions (LIN) 28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.2.3 Circular motions (CIRC) 32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3 Motion parameters 37. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4 Logic 38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4.1 Wait functions 38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4.1.1 Time--dependent wait function (WAIT) 38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4.1.2 Signal--dependent wait function (WAIT FOR) 39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4.2 Switching functions 41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4.2.1 Simple switching function (OUT) 41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4.2.2 Simple pulse function (PULSE) 43. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4.2.3 Path--dependent switching function (SYN OUT) 45. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4.2.4 Path--dependent pulse function (SYN PULSE) 49. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4.3 Coupling and decoupling the INTERBUS segment (IBUS--Seg on/off) 51. . . . . . . . . . . . . . . . .

2.5 Analog output 52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.5.1 Static 53. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.5.2 Dynamic 54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.6 Comment 56. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.6.1 Normal 56. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Page 4: 36797445 KUKA UserProgramming

User Programming

4 of 60

ProgAnwenderR4.1 08.01.03 en

2.6.2 Stamp 57. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.6.3 ...changing comment lines 58. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.6.4 ...Delete 58. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Page 5: 36797445 KUKA UserProgramming

1 Program editing

5 of 60

ProgAnwenderR4.1 08.01.03 en

1 Program editing

1.1 General

Before creating a robot program for the first time, you should familiarize yourself with theKUKA file manager “Navigator”.

If you wish to create a new program, you must first create a so--called “skeleton program”.If, on the other hand, you wish to modify an existing program, you simply need to select itor load it in the editor.

More detailed information on using the file manager may be found in the documentation[Operator Control], chapter [Navigator].

1.2 Programs

More detailed information about programs can be found in the documentation [OperatorControl], chapter [Navigator], section [“File” menu].Block functions (e.g. Copy) are also available at expert level. Moredetailed information canbe found in the Programming Handbook in the documentation [Expert Programming].

1.2.1 New

With the Navigator active, press the softkey “New”.

If a program has been selected or there is a program in the editor, you must first toggle tothe file selection window, otherwise no new program can be created.

Enter the desired program name (max. 24 characters) and the corresponding comment inthe input line.

Program name Comment

Wherepossible, create user programs in thedirectory “R1\Program” in order to ensure thatthey are automatically saved via the menu item “File” --> “Archive” --> “Applications”.

1.2.2 Selecting

The softkey “Select” is available for the purposes of program execution.

Page 6: 36797445 KUKA UserProgramming

User Programming

6 of 60

ProgAnwenderR4.1 08.01.03 en

In this way the program can also to be tested at the same time as being created.

The desired program is displayed in the program window. The assignment of the menu key,softkey and status key bars changes at the same time, in order to make functions availablewhich are necessary for programming the robot.

1.2.3 Open (Edit)

If you wish to make modifications to an existing program, you can either select the programor load it into the editor. While you are editing one program in the editor, another (selected)program can simultaneously be executed.

The command “Open” is provided in the softkey bar for loading files into the editor.

The desired program is displayed in the program window. The assignment of the menu key,softkey and status key bars changes at the same time, in order to make functions availablewhich are necessary for programming the robot.

If a program has already been selected, the option “Open” is no longer available in thesoftkey bar.

Instead, use the menu command “File” --> “Open” --> “File/Folder”.

The following options are available for processing two programs simultaneously:

Select program then edit another

Select the desired program, toggle back to the Navigator and load the next program into theeditor via the menu “File” --> “Open”.

Page 7: 36797445 KUKA UserProgramming

1 Program editing (continued)

7 of 60

ProgAnwenderR4.1 08.01.03 en

A selected program cannot be edited at the same time.

Load program into the editor then select another program

Load the desired program into the editor, toggle to theNavigator and select the next programfor editing using the softkey “Select”.

A program in the editor cannot be selected.

1.2.4 PrintIf you have connected a printer to your control computer or network, you can print outprogram listings or the logbook. This is done using the command “File” --> “Print”.

The print function is only available if a printer has been configured in the operating system.More detailed information on this can be found in the “Windows” online help file.

1.2.4.1 Current program

If you wish to print a selected program, you can, if you so desire, include the Folds. It is notnecessary to open the Folds first. The relevant request for confirmation is made in themessage window:

The printout contains opened Folds

The Folds are not printed

The action is cancelled; nothing is sent to the printer

Do you want to print with opened Folds?

Page 8: 36797445 KUKA UserProgramming

User Programming

8 of 60

ProgAnwenderR4.1 08.01.03 en

Here is an example of a file without Folds:

File name KRC:\R1\TEST02.SRC

1 INI2 PTP HOME Vel= 100 % DEFAULT3 PTP P1 Vel= 100 % PDAT1 Tool[1] Base[0]4 WAIT FOR IN 1 ’Enable’ State= TRUE5 PTP P2 Vel= 100 % PDAT2 Too[1] Base[0]6 WAIT FOR IN 2 ’Periphery’ State= TRUE7 PTP P3 Vel= 100 % PDAT3 Tool[1] Base[0]8 PTP P4 Vel= 100 % PDAT4 Tool[1] Base[0]910 PTP HOME Vel= 100 % DEFAULT

1.2.4.2 Logbook

This function sends the logbook file, which can be viewed via the menu “Display” -->“Diagnosis” --> “Logbook” --> “Display”, to the printer.

#1-------------------------------------------------------------------10:36:08’056 28.03.2000 Nr.:0: New command: SN 63: WAIT FOR IN 2’Periphery’ State= TRUESource: TP_KUKA

#2-------------------------------------------------------------------10:35:35’596 28.03.2000 Nr.:0: New command: SN 51: WAIT FOR IN 1’Enable’ State= TRUESource: TP_KUKA

#3-------------------------------------------------------------------10:35:20’386 28.03.2000 Nr.:0: Change IO name: Input, 2, Input->EnableSource: ProjLangText..

Detailed information on the logbook can be found in the Operating Handbook, in thedocumentation [Monitor], chapter [Diagnosis], section [Log book].

1.2.5 Saving changes

You can deselect a selected program by using the menu command “Program” --> “Cancelprogram”. A program in the editor can be closed using the command “Program” --> “Close”.Alternatively, you can press the softkey “Close”. The changes are automatically saved, aftera request for confirmation where relevant.

Page 9: 36797445 KUKA UserProgramming

1 Program editing (continued)

9 of 60

ProgAnwenderR4.1 08.01.03 en

The softkey “deselect” is only available in the softkey bar if no program window is open.

1.2.6 Saving programs to floppy disk (Archive)

This function allows you to save important data to floppy disk. All files are saved incompressed form as Zip files.Compressed data require much less storage space than the original data, but must bedecompressed before they can be read. This is carried out automatically in this case. WithNavigator, the user can see what is stored in the archives.

*1 Not available below the user group “Expert”

*1

A request for confirmation is generated which must be answered before the saving processis carried out.

Completion of the operation is indicated in the message window:

Page 10: 36797445 KUKA UserProgramming

User Programming

10 of 60

ProgAnwenderR4.1 08.01.03 en

Information about saved files can be found in the documentation [Operator Control],chapter [Navigator], section [“File” menu].

1.2.7 Duplicate

The option “Duplicate” creates a copy of a program.

Program name Comment

1.2.8 Delete

If you want to delete a program, it must not be currently selected or being edited. You mightfirst have to deselect the program or close the editor. The program is permanently deletedafter a request for confirmation.

Page 11: 36797445 KUKA UserProgramming

1 Program editing (continued)

11 of 60

ProgAnwenderR4.1 08.01.03 en

1.3 Editing a selected program

1.3.1 Delete

Use the arrow keys to move the edit cursor to the line you want to delete.

Edit cursor

Press the menu key “Program” and select the command “Delete” from the menu that isopened.

Read the message displayed in the message window.

Press the softkey “Yes” if you are sure that you want to delete the selected line. Pressing thissoftkey removes the line from the program.

Pressing the softkey “No” or “Cancel” cancels the action.

Page 12: 36797445 KUKA UserProgramming

User Programming

12 of 60

ProgAnwenderR4.1 08.01.03 en

1.3.2 Find

Here you can search through the program for a character string of your choice.

Press the menu key “Program” and select the option “Find...” from the menu that is opened.

Alternatively, you can use the keyboard shortcut “CTRL” + “F”.

This function searches through the program for a character string entered by the user. Oncethe command has been selected, the search form is displayed in the program window:

This function searches through the program for a character string entered by the user. Thesearch is started by pressing the softkey “Find” or the Enter key and commences at theposition where the edit cursor is located.

If the search program finds the character string entered, the corresponding line is selected.

The character string entered remains displayed in the search form as a suggestion. You cannow search further through the program by pressing the softkey “Find” or the Enter key, orsearch for a new string.

Page 13: 36797445 KUKA UserProgramming

1 Program editing (continued)

13 of 60

ProgAnwenderR4.1 08.01.03 en

If the term being searched for is not found, a corresponding text is displayed in the messagewindow:

Only the visible area of the program is searched.

The expert must switch the option “Detail view ” on if hidden Folds are also to be includedin the search.

Alternatively, you can terminate the search function by pressing the softkey “Cancel” or theEscape key. The edit cursor is then located in the line in which the last character string wasfound.

If the search function is called again, the last string to be entered is shown in the form asa suggestion.

1.3.3 Cancel program

This command saves the changes made to the program and closes the program window.

Press the menu key “Program” and select the option “Cancel program” from the menu thatis opened.

Page 14: 36797445 KUKA UserProgramming

User Programming

14 of 60

ProgAnwenderR4.1 08.01.03 en

1.3.4 Reset program

With the menu function “Program” --> “Reset program”, a program that has been stoppedor interrupted can be returned to the initial state it had when selected.

The yellow block pointer then jumps to the first line of the indicated program. The selectedprogram can subsequently be restarted.

Page 15: 36797445 KUKA UserProgramming

1 Program editing (continued)

15 of 60

ProgAnwenderR4.1 08.01.03 en

1.4 Working with the program editor

1.4.1 Delete

Use the arrow keys to move the edit cursor to the line you want to delete.

Edit cursor

Press the menu key “Program” and select the option “Delete” from the menu that is opened.

Read the message displayed in the message window.

Press the softkey “Yes” if you are sure that you want to delete the selected line. Pressing thissoftkey removes the line from the program.

Pressing the softkey “No” or “Cancel” cancels the action.

1.4.2 Find

Here you can search through the program for a character string of your choice.

Press the menu key “Program” and select the option “Find...” from the menu that is opened.

Alternatively, you can use the keyboard shortcut “CTRL” + “F”.

This function searches through the program for a character string entered by the user. Oncethe command has been selected, the search form is displayed in the program window:

Page 16: 36797445 KUKA UserProgramming

User Programming

16 of 60

ProgAnwenderR4.1 08.01.03 en

This function searches through the program for a character string entered by the user. Thesearch is started by pressing the softkey “Find” or the Enter key and commences at theposition where the edit cursor is located.

If the search program finds the character string entered, the corresponding line is selected.

The character string entered remains displayed in the search form as a suggestion. You cannow search further through the program by pressing the softkey “Find” or the Enter key, orsearch for a new string.

If the term being searched for is not found, a corresponding text is displayed in the messagewindow:

Only the visible area of the program is searched.

The expert must switch the option “Detail view ” on if hidden Folds are also to be includedin the search.

Alternatively, you can terminate the search function by pressing the softkey “Cancel” or theEscape key. The edit cursor is then located in the line in which the last character string wasfound.

If the search function is called again, the last string to be entered is shown in the form asa suggestion.

Page 17: 36797445 KUKA UserProgramming

1 Program editing (continued)

17 of 60

ProgAnwenderR4.1 08.01.03 en

1.4.3 Close editor

This command saves on the hard drive the changes made in the editor and loads them intothe real--time system. The program window is then closed.

Press the menu key “Program” and select the option “Close” from the menu that is opened.

The menu command “Close” is also available in the softkey bar if the editor is displayedin the program window.

Page 18: 36797445 KUKA UserProgramming

User Programming

18 of 60

ProgAnwenderR4.1 08.01.03 en

Page 19: 36797445 KUKA UserProgramming

2 Program commands

19 of 60

ProgAnwenderR4.1 08.01.03 en

2 Program commandsThis chapter is intended to provide an overview of the fundamentals of the PLC instructionsavailable, as well as their functions and the procedure for programming.

Within a program, you can add so--called PLC instructions, for example, to a motioncommand. These instructions are then executed depending on the PLC trigger.

Further information about the trigger can be found in the Programming Handbook.

The meaning of the symbols, icons and particular font conventions is explained in thechapter [About this documentation].

This chapter describes the functions provided in the KCP menu “Commands”.

Overview

Last command Instruction for entering the last command executed

Motion Enables the programming of PTP, LIN and CIRC motions

Moveparams Programming of torque monitoring

LogicProgramming of logic commands and wait times,path--dependent switching and pulse functions, settingor polling inputs and outputs

Analog output Setting of analog outputs under program control

Comment Used to insert comments in programs

KRL assistant Syntax--supported KRL programming of special functions

The “Commands” menu is only available if a program has been selected or loaded in theeditor.

Page 20: 36797445 KUKA UserProgramming

User Programming

20 of 60

ProgAnwenderR4.1 08.01.03 en

2.1 Last command

This instruction allows you to enter the last command executed, with suggested valuesalready entered in the input boxes.

Use the menu key “Commands” to open the menu and there select the menu item “Lastcommand”.

If the “GRIPPERTech” option has been selected from the “Configure -- Status keys” menu,the softkey “Last Cmd”, which has the same function, is available in the softkey bar.

This softkey is not available if “Configure -- Status keys -- ARC Tech 10” or “ARC Tech 20”has been selected.

Page 21: 36797445 KUKA UserProgramming

2 Program commands (continued)

21 of 60

ProgAnwenderR4.1 08.01.03 en

2.2 Motion

To move a robot tool to a point under program control, a corresponding motion instructionmust beprogrammed. This instruction contains the typeof motionand the velocity, the defini-tion of the end point -- for circular paths also a midpoint -- and other settings depending onthe type of motion.

All the motion instructions, their significance and their intended application are described inthe following sections.

Types of motion

The following types of motion are available for programming movements:

Standard motions

PTP (point--to--point) The tool is moved as quickly as possible along a curved path inspace to a end point

LIN (linear) The tool is guided at a defined velocity along a straight line

CIRC (circular) Motion of the tool at a defined velocity along a circular path

In sequences of motion instructions, there are two alternatives for selecting howmovementsbetween individual points are executed:

Motion between the individual points

Exact positioning The motion stops exactly at the programmed point.

Approximatepositioning (Cont)

A smooth transition can be made from one motion to the nextwithout exact positioning at the end point.

Please note:If one or more of the robot axes hits its end stop without being braked and at morethan 20 cm/s (manual velocity set by themanufacturer), the buffer concerned mustbe replaced immediately.If this happens to axis 1 of a wall--mounted robot, its rotating column must bereplaced.

Programming

To program a motion command, you must select a program or load it in the editor. Moredetailed information on creating and altering programs can be found in the chapter[Program editing].

Please note the position of the editcursor. The next line you add to theprogram will be inserted as a new lineafter the cursor.

Page 22: 36797445 KUKA UserProgramming

User Programming

22 of 60

ProgAnwenderR4.1 08.01.03 en

Open the menu using the menu key “Commands”. From this menu select “Motion”. Thefollowing submenu is displayed:

You can now make your selection from the motion instructions (PTP, LIN or CIRC) offered.

Infinitely rotating axes

All the robot axes (A1 ... A6) are defined by the manufacturer as finitely rotating axes(i.e. with software limit switches). For certain applications, however, axes A4 and A6 canbe configured as infinitely rotating axes. The corresponding settings are made in the file“$MACHINE.DAT”.

A4 and A6 also definable as infinitelyrotating axes [$MACHINE.DAT]

All other axes arefinitely rotating axes.

If the machine data have been altered to define the axes A4 and/or A6 as infinitely rotatingaxes, please bear in mind that each rotation is executed along the shortest path.This can cause problems if a tool with supply lines (for example, a welding gun) isinstalled on the robot.

Page 23: 36797445 KUKA UserProgramming

2 Program commands (continued)

23 of 60

ProgAnwenderR4.1 08.01.03 en

In the following example, two motion instructions (P1 -- P2 and P2 -- P3) are programmedand the coordinates saved. Please refer to the following sketch.

P3 (220_)

actual:160_

P1 (0_)

P4 (380_)

100_

100_

P4 (120_)

P5 (20_)

Tool

Robot flange

(desired: 200_)

The first motion instruction in thisexample causes axis A6 to turn120_ from P1 (0_) to P2. The sec-ondmotion command rotates A6 afurther 100_ from P2 (120_) to P3(220_).

With the third motion command isintended to move the tool 200_ inthe opposite direction from P2 toP3, i.e. to the position 20_ from thestarting position P1.When the program is executed,however, axis A6will turn along theshorter path from P3 (220_) to P4(380_), covering just 160_.

It is therefore necessary for thesecond (return) motion to be splitup into two motion instructions.In this example, two motions(P3--P4 and P4--P5) have beenprogrammed, each with an angleof rotation of 100_. This ensuresthat the toolmoves to the endpointin the correct direction when theprogam is executed.

This will inevitably result in anysupply lines from the robot tothe tool being “wound” roundthe wrist.

P1 (0_)

P3 (220_)

P1 (0_)

P3 (220_)

P3 (220_)

P2 (120_)

P3 (120_)

Page 24: 36797445 KUKA UserProgramming

User Programming

24 of 60

ProgAnwenderR4.1 08.01.03 en

2.2.1 Point--to--point motions (PTP)

Here, the robot system is positioned using the quickest route between two points. Since themotion starts and ends in all of the axes at the same time, the axes have to be synchronized.The path taken by the robot cannot, therefore, be predicted exactly.

When this instruction is used, motion is executed on a path defined by the robot. Inorder to take into account dynamic effects and avoid collisions, the path shouldinitially be executed at reduced program override (POV).

Point names may not begin with “POINT” as this is a keyword.

PTP motions with exact positioning

In the case of PTPmotions with exact positioning, the robot stops exactly at each end point.

P2

P1P3

PossiblePTP path

PossiblePTP path

Exact positioning

Exact positioning

PTP motions with approximate positioning

During approximate positioning, the controller monitors a so--called approximate positioningrange around the end point. This, in our example, is the point P2. When the TCP enters thisarea, the robot motion immediately proceeds towards the end point of the next motioncommand.

P2

P1

P3

Approximatepositioning range

Page 25: 36797445 KUKA UserProgramming

2 Program commands (continued)

25 of 60

ProgAnwenderR4.1 08.01.03 en

Programming a PTP motion

After the option “PTP” is selected from the menu “Motion”, the inline form for entering thevalues required for executing this instruction is opened in the program window.

Box name Function Range of values

PTP Type of motion PTP, LIN, CIRC

P1 Point name Max. 23 characters

Tool Tool number Nullframe, Tool_Data[1]...[16]

Base Workpiece number Nullframe, Base_Data[1]...[16],EX_AX_DATA[1]...[6]

externalTCP Robot guides tool/workpiece True, False

CONT Approximate positioning ON “ ”, Cont

Vel=100% Velocity 1 to 100% of the maximum value(default: 100%)

PDAT1 Motion parameters

Acceleration Acceleration 0 ... 100

ApproximationDistance *1

Approximate positioningrange 0 ... 100

*1 Only available if “CONT” has been switched on

The assignment of the softkey bar changes at the same time, as follows:

It is possible to abort programming of the PTP motion at any time by pressing the softkey“Cmd Abort” or the ESC key. The command will not be saved in this case.

If the program window is in focus, the various input windows can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The program window can be activated by repeatedly pressing the “Window selection” keyuntil the entire window is highlighted in color.

Move the cursor to the left--hand input box. The status key (at the bottom right of the display)changes its assignment.

Using this status key, you can choose between the different types of motion again.

The type of motion can also be set using the softkey “LIN/CIRC”.

Move the cursor to the next input box on the right, here “P1”.

A parameter list is opened for entering data relating to the workpiece and tool. Activate thisparameter list using the “Window selection” key.

Page 26: 36797445 KUKA UserProgramming

User Programming

26 of 60

ProgAnwenderR4.1 08.01.03 en

ToolSelect here from the 16 available tools.BaseSelect here one of the 16 savedworkpiece coordinate sys-tems (BASE).external TCPTell the controller here whether the robot is guiding the toolor the workpiece:

Robot guiding tool: external TCP = FalseRobot guiding workpiece: external TCP = True

Now activate the program window again using the “Window selection” key.

If the softkey “Suggest” is pressed, the program finds the lowest standard point nameavailable in the local data list and enters this name in the open inline form, i.e. if points P1and P3 are occupied, P2 will be suggested.

Then move the robot to the end point you wish to program. There press the softkey “TouchUp”. Read the messages displayed in the message window.

The softkey “Touch Up” allows you, at any moment, to save the current robot coordinatesfor the program line in which the edit cursor is positioned. You thus have the possibility, forexample, to program a sequence ofmotion instructions and thendefine theexact endpointcoordinates later.The coordinates of the programmed point are saved in the data list.

Move the cursor to the next input box on the right. The status key (at the bottom right of thedisplay) changes its assignment.

The approximate positioning function can be switched on or off using this status key.

Inline form“Exactpositioning”.

Using the status key,choose between “Exactpositioning” and “Approxi-mate positioning” (CONT).

Press the status key onthe bottom right--hand side.The menu is openedin the inline form.

Press theEnter keyand the menuis closed.

Move the cursor to the box “Vel=”.

Here you can specify what percentage of the maximum possible velocity the robot shoulduse later when executing the motion. You can either enter the value using the keyboard oralter it using the status key to the right of the display.

Move the cursor to the next input box on the right, here “PDAT2”.

Page 27: 36797445 KUKA UserProgramming

2 Program commands (continued)

27 of 60

ProgAnwenderR4.1 08.01.03 en

A parameter list is opened, inwhichdatamust beenteredcharacterizing themotion ingreaterdetail. Activate this status window using the “Window selection” key. You can either enter thevalues in the input boxes using the keyboard or alter them using the status key to the rightof the display.

AccelerationHere you can reduce the acceleration to be used in themotion.Depending on the length of the path, the degree ofacceleration and the approximation distance, it ispossible that the programmed velocity will not bereached.This is liable to happen when the wrist axes would haveto turn at an infinitely high speed when passing throughthe extended position and would thus exceed themaximum permissible values.Therefore please be sure to use practically feasiblevalues.

Approximation DistanceHere you can reduce the approximate positioning rangeto be used in the motion.

Now press the softkey “Cmd Ok” or the Enter key. The motion function is now fullyprogrammed and saved.

If the position of the end point has not yet been taught (Touch Up), the current position ofthe robot is automatically saved.

You can use the softkey “Comment” at any time to insert a comment line into your program,irrespective of the input box that is currently in focus.

Detailed information on comments in robot programs can be found in the section[Comment].

You can use the softkey “Logic” at any time to insert a so--called logic command into yourprogram, irrespective of the input box that is currently in focus.

Detailed information on logic commands can be found in the section [Logic].

Page 28: 36797445 KUKA UserProgramming

User Programming

28 of 60

ProgAnwenderR4.1 08.01.03 en

2.2.2 Linear motions (LIN)

With a linear motion, the robot axes are coordinated in such away that the TCP or workpiecereference point is moved along a straight line to the end point.

Linear motions are used if the robot has to follow anexact path to apoint at a defined velocity.

Only the reference point follows the programmed path. The actual tool or workpiece is ableto change its orientation during the motion.Point names may not begin with “POINT” as this is a keyword.

LIN motions with exact positioning

In the case of LIN motions with exact positioning, the robot stops exactly at each end point.

P2P1

P3

Exact positioning

Exact positioning

LIN motions with approximate positioning

During approximate positioning, the controller monitors a so--called approximate positioningrange around the end point. This, in our example, is the point P2. When the TCP enters thisarea, the robot motion immediately proceeds towards the end point of the next motioncommand.

P2

P1

P3

Approximatepositioning range

Page 29: 36797445 KUKA UserProgramming

2 Program commands (continued)

29 of 60

ProgAnwenderR4.1 08.01.03 en

Programming a LIN motion

After the option “LIN” is selected from the menu “Motion”, the inline form for entering thevalues required for executing this instruction is opened in the program window.

Box name Function Range of values

LIN Type of motion PTP, LIN, CIRC

P1 Point name Max. 23 characters

Tool Tool number Nullframe, Tool_Data[1]...[16]

Base Workpiece number Nullframe, Base_Data[1]...[16]

externalTCP Robot guides tool/workpiece True, False

CONT Approximate positioning ON “ ”, Cont

Vel=2m/s Velocity 0.001 ... 2 m/s (Default 2 m/s)

CPDAT1 Motion parameters

Acceleration Acceleration 0 ... 100

ApproximationDistance *1

Approximate positioningrange 0 ... 300

*1 Only available if “CONT” has been switched on

The assignment of the softkey bar changes at the same time, as follows:

It is possible to abort programming of the LIN motion at any time by pressing the softkey“Cmd Abort” or the ESC key. The command will not be saved in this case.

If the program window is in focus, the various input windows can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The program window can be activated by repeatedly pressing the “Window selection” keyuntil the entire window is highlighted in color.

Move the cursor to the left--hand input box. The status key (at the bottom right of the display)changes its assignment.

Using this status key, you can choose between the different types of motion again.

The type of motion can also be set using the softkey “CIRC/PTP”.

Move the cursor to the next input box on the right, here “P1”.

If the softkey “Suggest” is pressed, the program finds the lowest standard point name avail-able in the local data list and enters this name in the open inline form, i.e. if points P1 andP3 are occupied, P2 will be suggested.

A status window is opened for entering data relating to the workpiece and tool. Activate thisstatus window using the “Window selection” key.

Page 30: 36797445 KUKA UserProgramming

User Programming

30 of 60

ProgAnwenderR4.1 08.01.03 en

ToolSelect here from the 16 available tools.BaseSelect here one of the 16 savedworkpiece coordinate sys-tems (BASE).external TCPTell the controller here whether the robot is guiding the toolor the workpiece:

Robot guiding tool: external TCP = FalseRobot guiding workpiece: external TCP = True

Now activate the program window again using the “Window selection” key.

Then move the robot to the end point you wish to program. There press the softkey “TouchUp”. Read the messages displayed in the message window.

The softkey “Touch Up” allows you, at any moment, to save the current robot coordinatesfor the program line in which the edit cursor is positioned. You thus have the possibility, forexample, to program a sequence ofmotion instructions and thendefine theexact endpointcoordinates later.The coordinates of the programmed point are saved in the data list.

Move the cursor to the next input box on the right. The status key (at the bottom right of thedisplay) changes its assignment.

The approximate positioning function can be switched on or off using this status key.

Inline form“Exactpositioning”.

Using the status key,choose between “Exactpositioning” and “Approxi-mate positioning” (CONT).

Press the status key onthe bottom right--hand side.The menu is openedin the inline form.

Press theEnter keyand the menuis closed.

Move the cursor to the box “Vel=”.

Here you can specify the velocity at which the robot should execute the motion. You caneither enter the value using the keyboard or alter it using the status key to the right of thedisplay.

Depending on the length of the path, the degree of acceleration and the approximation di-stance, it is possible that the programmed velocity will not be reached.

Move the cursor to the next input box on the right, here “CPDAT1”.

A parameter list is opened, inwhichdatamust beenteredcharacterizing themotion ingreaterdetail. Activate this parameter list using the “Window selection” key. You can either enter thevalues in the input boxes using the keyboard or alter them using the status key to the rightof the display.

Page 31: 36797445 KUKA UserProgramming

2 Program commands (continued)

31 of 60

ProgAnwenderR4.1 08.01.03 en

AccelerationHere you can reduce the acceleration to be used in themotion.Depending on the length of the path, the degree ofacceleration and the approximation distance, it ispossible that the programmed velocity will not bereached.This is liable to happen when the wrist axes would haveto turn at an infinitely high speed when passing throughthe extended position and would thus exceed themaximum permissible values.Therefore please be sure to use practically feasiblevalues.

Approximation DistanceHere you can reduce the approximate positioning rangeto be used in the motion.

Now press the softkey “Cmd Ok” or the Enter key. The motion function is now fullyprogrammed and saved.

If the position of the end point has not yet been taught (Touch Up), the current position ofthe robot is automatically saved.

You can use the softkey “Comment” at any time to insert a comment line into your program,irrespective of the input box that is currently in focus.

Detailed information on comments in robot programs can be found in the section[Comment].

You can use the softkey “Logic” at any time to insert a so--called logic command into yourprogram, irrespective of the input box that is currently in focus.

Detailed information on logic commands can be found in the section [Logic].

Page 32: 36797445 KUKA UserProgramming

User Programming

32 of 60

ProgAnwenderR4.1 08.01.03 en

2.2.3 Circular motions (CIRC)

Here, the TCP or workpiece reference point moves to the target point along an arc. The pathis definedusing start, auxiliary andendpoints. Theend point of amotion instruction executedwith exact positioning serves as the start point for the subsequent motion. The orientationchanges uniformly over the whole length of the path.

CIRC motions are used when processing operations are to be executed at a preset velocityalong a circular path.

The start, auxiliary and end points lie in a plane in space. In order for the controller to beable to determine this plane as accurately as possible, these three points should be as farapart as possible. Only the reference point follows the programmed path. The actual toolis able to change its orientation during the motion.Point names may not begin with “POINT” as this is a keyword.

CIRC motions with exact positioning

In the case of CIRCmotions with exact positioning, the robot stops exactly at each endpoint.

Auxiliary point End point

Startpoint

Startpoint

Auxiliary point

End point

End point

CIRC motions with approximate positioning

During approximate positioning, the controller monitors a so--called approximate positioningrange around the end point. When the TCP enters this area, the robot motion immediatelyproceeds towards the end point of the next motion command.

Startpoint

Startpoint

Auxiliary pointAuxiliary point

End point

End point

Approximatepositioningrange

Page 33: 36797445 KUKA UserProgramming

2 Program commands (continued)

33 of 60

ProgAnwenderR4.1 08.01.03 en

Programming a CIRC motion

After the option “CIRC” is selected from the menu “Motion”, the inline form for entering thevalues required for executing this instruction is opened in the program window.

Box name Function Range of values

CIRC Type of motion PTP, LIN, CIRC

P1 Auxiliary point name Max. 23 characters

P2 Point name Max. 23 characters

Tool Tool number Nullframe, Tool_Data[1]...[16]

Base Workpiece number Nullframe, Base_Data[1]...[16]

externalTCP Robot guides tool/workpiece True, False

CONT Approximate positioning ON “ ”, Cont

Vel=2m/s Velocity 0.001 ... 2 m/s (Default 2 m/s)

PDAT1 Motion parameters

Acceleration Acceleration 0 ... 100

ApproximationDistance *1

Approximate positioningrange 0 ... 300

*1 Only available if “CONT” has been switched on

The assignment of the softkey bar changes at the same time, as follows:

Teach Aux Teach End

It is possible to abort programming of the LIN motion at any time by pressing the softkey“Cmd Abort” or the ESC key. The command will not be saved in this case.

If the program window is in focus, the various input windows can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The program window can be activated by repeatedly pressing the “Window selection” keyuntil the entire window is highlighted in color.

Move the cursor to the left--hand input box. The status key (at the bottom right of the display)changes its assignment.

Using this status key, you can choose between the different types of motion again.

The type of motion can also be set using the softkey “PTP/LIN”.

Move the cursor to the next input box on the right, here “P1”.

If the softkey “Suggest” is pressed, the program finds the lowest standard point nameavailable in the local data list and enters this name in the open inline form, i.e. if points P1and P3 are occupied, P2 will be suggested.

Now move the robot to the auxiliary point. There press the softkey “Teach Aux”. Read themessages displayed in the message window.

Teach Aux

Page 34: 36797445 KUKA UserProgramming

User Programming

34 of 60

ProgAnwenderR4.1 08.01.03 en

The coordinates of the auxiliary point must be saved manually before conclusion of themotion command; they are not automatically saved. If you want to define the pointcoordinates later, “Teach Aux” can be carried out first in any robot position.

Move the cursor to the next input box on the right, here “P2”.

A status window is opened for entering data relating to the workpiece and tool. Activate thisstatus window using the “Window selection” key.

ToolSelect here from the 16 available tools.BaseSelect here one of the 16 savedworkpiece coordinate sys-tems (BASE).external TCPTell the controller here whether the robot is guiding the toolor the workpiece:

Robot guiding tool: external TCP = FalseRobot guiding workpiece: external TCP = True

Now activate the program window again using the “Window selection” key.

Then move the robot to the end point you wish to program. There press the softkey “TouchUp”. Read the messages displayed in the message window.

The softkey “Touch Up” allows you, at any moment, to save the current robot coordinatesfor the program line in which the edit cursor is positioned. You thus have the possibility, forexample, to program a sequence ofmotion instructions and thendefine theexact endpointcoordinates later.The coordinates of the programmed point are saved in the data list.

Move the cursor to the next input box on the right. The status key (at the bottom right of thedisplay) changes its assignment.

The approximate positioning function can be switched on or off using this status key.

Inline form“Exactpositioning”.

Using the status key,choose between “Exactpositioning” and “Approxi-mate positioning” (CONT).

Press the status key onthe bottom right--hand side.The menu is openedin the inline form.

Press theEnter keyand the menuis closed.

Teach End

Page 35: 36797445 KUKA UserProgramming

2 Program commands (continued)

35 of 60

ProgAnwenderR4.1 08.01.03 en

Move the cursor to the box “Vel=”.

Here you can specify the velocity at which the robot should execute the motion. You caneither enter the value using the keyboard or alter it using the status key to the right of thedisplay.

Move the cursor to the next input box on the right, here “CPDAT1”.

A parameter list is opened, inwhichdatamust beenteredcharacterizing themotion ingreaterdetail. Activate this parameter list using the “Window selection” key. You can either enter thevalues in the input boxes using the keyboard or alter them using the status key to the rightof the display.

AccelerationHere you can reduce the acceleration to be used in themotion.Depending on the length of the path, the degree ofacceleration and the approximation distance, it ispossible that the programmed velocity will not bereached.This is liable to happen when the wrist axes would haveto turn at an infinitely high speed when passing throughthe extended position and would thus exceed themaximum permissible values.Therefore please be sure to use practically feasiblevalues.

Approximation DistanceHere you can reduce the approximate positioning rangeto be used in the motion.

Now press the softkey “Cmd Ok” or the Enter key. The motion function is now fullyprogrammed and saved.

If the position of the end point has not yet been taught (Touch Up), the current position ofthe robot is automatically saved.

You can use the softkey “Comment” at any time to insert a comment line into your program,irrespective of the input box that is currently in focus.

Detailed information on comments in robot programs can be found in the section[Comment].

Page 36: 36797445 KUKA UserProgramming

User Programming

36 of 60

ProgAnwenderR4.1 08.01.03 en

You can use the softkey “Logic” at any time to insert a so--called logic command into yourprogram, irrespective of the input box that is currently in focus.

Detailed information on logic commands can be found in the section [Logic].

Please note:A full circle must be made up of at least two segments to prevent the circle from tilting inthe plane.

Page 37: 36797445 KUKA UserProgramming

2 Program commands (continued)

37 of 60

ProgAnwenderR4.1 08.01.03 en

2.3 Motion parameters

This function allows themonitoring tunnel for collisionmonitoring to be changed. The sensiti-vity of the collision monitoring can be defined in this way.

Detailed information on the subject “TorqMon” may be found in the Programming Hand-book, in the documentation [Expert Programming], chapter [Motion programming].

Page 38: 36797445 KUKA UserProgramming

User Programming

38 of 60

ProgAnwenderR4.1 08.01.03 en

2.4 Logic

Inputs and outputs of the controller enable the robot system to communicate with its periph-eral environment. Specific commands are provided for polling inputs and setting outputs.

It is also possible for wait times to be programmed in order to ensure that operations arecompleted before the robot starts moving again.

Programming

To program a so--called logic command, you must select a program or load it in the editor.More detailed information on creating and altering programs can be found in the chapter[Program editing].

Pay attention to the position of theedit cursor. The next program linecreated by you will be inserted as anew line after the cursor.

Open themenu using themenukey “Commands”. From thismenu select “Logic”. The follow-ing submenu is displayed:

You can now make your selection from the logic instructions offered.

2.4.1 Wait functions

2.4.1.1 Time--dependent wait function (WAIT)

You can use this function to program a defined wait time. After selecting the menu item“WAIT”, the inline form for entering the wait time is opened in the programming window.

The assignment of the softkey bar changes at the same time, as follows:

It is possible to abort programming of the wait function at any time by pressing the softkey“Cmd Abort” or the ESC key. The command will not be saved in this case.

Pressing the softkey “Motion” switches immediately to motion instruction programming,cancelling programming of the time--dependent wait function.

Page 39: 36797445 KUKA UserProgramming

2 Program commands (continued)

39 of 60

ProgAnwenderR4.1 08.01.03 en

Pressing the softkey “W_F/IBUS” switches immediately to programming of the signal--dependent wait function, cancelling programming of the time--dependent wait function.

Pressing the softkey “Comment” switches immediately to the programming function forcomment lines, cancelling programming of the time--dependent wait function.

You can alter the default wait time in increments of 0.05 seconds using this status key. Youcan also enter the desired value using the numeric keypad.

Now press the softkey “Cmd Ok” or the Enter key. The command is now fully programmedand saved.

2.4.1.2 Signal--dependent wait function (WAIT FOR)

This function waits until the named input/output has assumed the defined state: True orFalse.

After selecting the menu option “WAITFOR”, the inline form for entering the parameters thatare required for executing the signal--dependent wait function is opened in the programmingwindow.

Box name Function Range of values

WAIT FOR IN Type of wait function WAIT FOR IN, WAIT FOR OUT

1 Input/output 1 ... 1024

Demo Long text The long text assigned to the input oroutput

State State TRUE, FALSE

CONT Approximate positioning “ ”, CONT

The assignment of the softkey bar changes at the same time:

It is possible to abort programming of the wait function at any time by pressing the softkey“Cmd Abort” or the ESC key. The command will not be saved in this case.

If the programming window is in focus, the various input boxes can be selected using the “�”and “�” arrow keys. The box that is currently selected is highlighted by a color background.

The programming window can be activated by repeatedly pressing the “Window selection”key until the window is highlighted in color.

Pressing the softkey “Motion” switches immediately to motion instruction programming,cancelling programming of the signal--dependent wait function.

Pressing the softkey “IBUS/WAIT” switches immediately to the function for coupling anddecoupling an INTERBUS segment under program control. Programming of the signal--dependent wait function is thus cancelled.

Pressing the softkey “Comment” switches immediately to the programming function forcomment lines, cancelling programming of the signal--dependent wait function.

Page 40: 36797445 KUKA UserProgramming

User Programming

40 of 60

ProgAnwenderR4.1 08.01.03 en

The long text belonging to the corresponding input/output can be modified by pressing the“Longtext” softkey. This option is not available in the user group “User”.

Move the cursor to the left--hand input box. The assignment of the status key at the bottomright of the display changes accordingly. Here you can specify whether or not the systemshould wait for an input or output signal.

Move the cursor to the next input box, here “1”. The assignment of the status key at thebottom right of the display changes. Using the numeric keypad, specify the input or outputfor which the system is to wait. It is also possible to change the value shown in the input boxusing the status key (at the bottom right of the display).

The long text of the input or output can be modified in the next input box. To do so, the usergroup “Expert” must be active. Press the “Longtext” softkey and enter the desired name.

Move the cursor to the input box “State”. The assignment of the status key at the bottom rightof the display changes. Using this status key, you can specify the state at which the motionprogram is to be resumed.

In the last input box you can activate the option “CONT” (Continue). This option causes thecondition to be checked as soon as the advance run pointer reaches the “WaitFor” line. If thecondition is fulfilled at this time, the advance run pointer jumps to the next line. Otherwise,it stops at this point and waits until the condition is fulfilled.

Now press the softkey “Cmd Ok” or the Enter key. The command is now fully programmedand saved.

Page 41: 36797445 KUKA UserProgramming

2 Program commands (continued)

41 of 60

ProgAnwenderR4.1 08.01.03 en

2.4.2 Switching functions

After selecting the menu item “OUT”, a submenu with further options is opened:

This menu offers you various switching functions, which are described in detail below.

2.4.2.1 Simple switching function (OUT)

Sets an output to True or False.

After selecting the menu option “OUT”, the inline form for entering the parameters that arerequired for executing the simple switching function is opened in the programming window.

Box name Function Range of values

1 Output 1 ... 1024

Demo Long text Name of the input or output

State State TRUE, FALSE

CONT Approximate positioning “ ”, CONT

The assignment of the softkey bar changes at the same time:

It is possible to abort programming of the switching function at any time by pressing thesoftkey “Cmd Abort” or the ESC key. The command will not be saved in this case.

If the programming window is in focus, the various input boxes can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The programming window can be activated by repeatedly pressing the “Window selection”key until the window is highlighted in color.

Pressing the softkey “PULSE” switches immediately to programming of the simple pulsefunction, cancelling programming of the simple switching function.

Pressing the softkey “SYNOUT” switches immediately to programming of the path--dependent switching function, canceling programming of the simple switching function.

The long text belonging to the corresponding output can be modified by pressing the“Longtext” softkey. This option is not available below the user group “Expert”.

Move the cursor to the input box “OUT”. The assignment of the status key at the bottom rightof the display changes. Using the numeric keypad, specify the output that is to be set. It isalso possible to change the value shown in the input box using the status key (at the bottomright of the display).

Page 42: 36797445 KUKA UserProgramming

User Programming

42 of 60

ProgAnwenderR4.1 08.01.03 en

The long text of the output can be modified in the next input box. To do so, the user group“Expert” must be active. Press the “Longtext” softkey and enter the desired name.

Move the cursor to the input box “State”. The assignment of the status key at the bottom rightof the display changes. With this status key, you can specify the state to which the selectedoutput is to be set.

Move the cursor to the input box “CONT”. The assignment of the status key at the bottomright of the display changes. If you set “CONT”, the output is set with theadvance runpointer.If “CONT” is not selected, the output is set with the main run pointer, i.e. as soon as theadvance run pointer reaches this function, it is stopped until the main run pointer has alsoreached this function.

Now press the softkey “Cmd Ok” or the Enter key. The command is now fully programmedand saved.

Page 43: 36797445 KUKA UserProgramming

2 Program commands (continued)

43 of 60

ProgAnwenderR4.1 08.01.03 en

2.4.2.2 Simple pulse function (PULSE)

This function sets a selected output to TRUE/FALSE for the duration of a defined pulse time.

After selecting themenu option “PULSE”, the inline form for entering the parameters that arerequired for executing the simple switching function is opened in the programming window.

Box name Function Range of values

1 Output 1...1024

Demo Long text Name of the input or output

State State TRUE, FALSE

CONT Approximate positioning “ ”, CONT

Time Length of the pulse 0.1 ... 3 s

The assignment of the softkey bar changes at the same time:

It is possible to abort programming of the pulse function at any time by pressing the softkey“Cmd Abort” or the ESC key. The command will not be saved in this case.

If the programming window is in focus, the various input boxes can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The programming window can be activated by repeatedly pressing the “Window selection”key until the window is highlighted in color.

Pressing the softkey “OUT” switches immediately to programming of the simple switchingfunction, cancelling programming of the simple pulse function.

Pressing the softkey “SYNPULSE” switches immediately to programming of the path--dependent pulse function, cancelling programming of the simple pulse function.

The long text belonging to the corresponding output can be modified by pressing the“Longtext” softkey. This option is not available below the user group “Expert”.

Move the cursor to the input box “PULSE”. The assignment of the status key at the bottomright of the display changes. Using the numeric keypad, specify the output that is to be set.It is also possible to change the value shown in the input box using the status key (at thebottom right of the display).

The long text of the output can be modified in the next input box. To do so, the user group“Expert” must be active. Press the “Longtext” softkey and enter the desired name.

Move the cursor to the input box “State”. The assignment of the status key at the bottom rightof the display changes. With this status key, you can specify the state to which the selectedoutput is to be set.

Page 44: 36797445 KUKA UserProgramming

User Programming

44 of 60

ProgAnwenderR4.1 08.01.03 en

Move the cursor to the input box “CONT”. The assignment of the status key at the bottomright of the display changes. If you set “CONT”, the function is executed when reached bythe advance run pointer. If “CONT” is not selected, the function is executed when the mainrun pointer arrives, i.e. as soon as the advance runpointer reaches this function, it is stoppeduntil the main run pointer has also reached this function.

Move the cursor to the input box “Time”. The assignment of the status key at the bottom rightof the display changes. Using this status key, you can set the length of the pulse between0.1 and 3 seconds in increments of 0.1 seconds.

Now press the softkey “Cmd Ok” or the Enter key. The command is now fully programmedand saved.

Page 45: 36797445 KUKA UserProgramming

2 Program commands (continued)

45 of 60

ProgAnwenderR4.1 08.01.03 en

2.4.2.3 Path--dependent switching function (SYN OUT)

After selecting the menu option “SYNOUT”, the inline form for entering the parameters thatare required for executing the path--dependent switching function is opened in theprogramming window.

Box name Function Range of values

SYN OUT Output 1...1024

Demo Long text Name of the input or output

State State TRUE, FALSE

at Time at which the switchingfunction is executed

START, END, PATH

Distance from the endpoint at which the output isset *1)

--2000 ... 2000 mm

Delay Delay of the switchingaction

--1000 ... 1000 ms

*1) Only available if “PATH” is selected as the start option

The assignment of the softkey bar changes at the same time:

It is possible to abort programming of the switching function at any time by pressing thesoftkey “Cmd Abort” or the ESC key. The command will not be saved in this case.

If the programming window is in focus, the various input boxes can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The programming window can be activated by repeatedly pressing the “Window selection”key until the window is highlighted in color.

Pressing the softkey “SYNPULSE” switches immediately to programming of the path--dependent pulse function. Programming of the path--dependent switching function iscancelled first.

Pressing the softkey “OUT” switches immediately to programming of the simple switchingfunction. Programming of the path--dependent switching function is cancelled first.

The long text belonging to the corresponding output can be modified by pressing the“Longtext” softkey. This option is not available below the user group “Expert”.

Move the cursor to the input box “SYN OUT”. Using the numeric keypad, specify the outputthat is to be set. It is also possible to change the value shown in the input box using the statuskey (at the bottom right of the display).

The long text of the output can be modified in the next input box. To do so, the user group“Expert” must be active. Press the “Longtext” softkey and enter the desired name.

Page 46: 36797445 KUKA UserProgramming

User Programming

46 of 60

ProgAnwenderR4.1 08.01.03 en

Move the cursor to the input box “State”. The assignment of the status key at the bottom rightof the display changes. With this status key, you can specify the state to which the selectedoutput is to be set.

Move the cursor to the input box “at”. The assignment of the status key at the bottom rightof the display changes. With this status key, you can specify the point of the path segmentat which the selected output is to be set.

Move the cursor to the input box “Delay”. Theassignment of the status key at the bottom rightof the display changes. With this status key, you can shift the time at which the selected out-put is to be set, by any amount in increments of 1 ms between the start and end points ofthe path segment. It is also possible to enter the value via the numeric keypad.

If, on the other hand, you want to set the output in relation to the path, you must select theoption “PATH” in the input box “at”.

An additional input box then appears in the inline form in which you can specify the distancefrom the end point at which the output should be set. If, for example, you want the output tobe set between the start point and the end point, you must enter a value with a negative sign.

The current value of the variable $DIST_NEXT can be displayed and altered by means ofthe menu function “Monitor” -- “Variable” -- “Single”

The motion commands (type: LIN) before and after the SYNOUT function are important fordetermining locally the start and end points and the points along the path.

G Case 1: the start point and end point are exact positioning points

P1 P2

Start

ENDPATH

+

--

Program:LIN P1SYN OUTLIN P2

G Case 2: the start point is approximated, the end point is an exact positioning point

Page 47: 36797445 KUKA UserProgramming

2 Program commands (continued)

47 of 60

ProgAnwenderR4.1 08.01.03 en

P2

P3

Start

ENDPATH

P1

+ --

Program:LIN P1LIN P2 CONTSYN OUTLIN P3

G Case 3: the end point is approximated, the start point is an exact positioning point

P1

P2

Start

ENDPATH

P3

+

+

--

Program:LIN P1SYN OUTLIN P2 CONTLIN P3

G Case 4: the start point and end point are approximated

P2

P3

Start

ENDPATH

P4

+

+

--

P1

Program:LIN P2 CONTSYN OUTLIN P3 CONTLIN P4

Page 48: 36797445 KUKA UserProgramming

User Programming

48 of 60

ProgAnwenderR4.1 08.01.03 en

Example:Adhesive application:An adhesive gun is to start applying adhesive at a certain point on the workpiece. For thispurpose the command SYN OUT is set. When output 1= TRUE, the adhesive gun isactivated. PATH=10mmdefines thepoint at which theadhesive application is to begin. Theadhesive gun itself, however, must be activated approximately 15 ms earlier, as a certainadvance time is required before the adhesive begins to flow. The delay time is thus set to--15 ms.

PATH

+10 mm

P3

--15 ms

Output 1 is set to TRUEat this point

Extract from the illustrationrelating to “case 4”

P4

P2

Adhesive application

Now press the softkey “Cmd Ok” or the Enter key. The command is now fully programmedand saved.

Page 49: 36797445 KUKA UserProgramming

2 Program commands (continued)

49 of 60

ProgAnwenderR4.1 08.01.03 en

2.4.2.4 Path--dependent pulse function (SYN PULSE)

After selecting the menu option “SYN PULSE”, the inline form for entering the parametersthat are required for executing the path--dependent pulse function is opened in the program-ming window.

Box name Function Range of values

SYNPULSE

Output 1...1024

Demo Long text Name of the input or output

State State TRUE, FALSE

Time Pulse duration 0.1 ... 3 s

at Time at which the pulsefunction is executed

START, END, PATH

Distance from the endpoint at which the output isset *1)

--2000 ... 2000 mm

Delay Delay of the pulse function --1000 ... 1000 ms

*1) Only available if “PATH” is selected as the start option

The assignment of the softkey bar changes at the same time:

It is possible to abort programming of the pulse function at any time by pressing the softkey“Cmd Abort” or the ESC key. The command will not be saved in this case.

If the programming window is in focus, the various input boxes can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The programming window can be activated by repeatedly pressing the “Window selection”key until the window is highlighted in color.

Pressing the softkey “SYNOUT” switches immediately to programming of the path--dependent switching function, cancelling programming of the path--dependent pulsefunction.

Pressing the softkey “PULSE” switches immediately to programming of the simple pulsefunction, cancelling programming of the path--dependent pulse function.

The long text belonging to the corresponding output can be modified by pressing the“Longtext” softkey. This option is not available below the user group “Expert”.

Move the cursor to the input box “SYN PULSE”. The assignment of the status key at thebottom right of the display changes. Using the numeric keypad, specify the output that is tobe set. It is also possible to change the value shown in the input box using the status key (atthe bottom right of the display).

The long text of the output can be modified in the next input box. To do so, the user group“Expert” must be active. Press the “Longtext” softkey and enter the desired name.

Page 50: 36797445 KUKA UserProgramming

User Programming

50 of 60

ProgAnwenderR4.1 08.01.03 en

Move the cursor to the input box “State”. The assignment of the status key at the bottom rightof the display changes. With this status key, you can switch between the states to which theselected output can be set.

Move the cursor to the input box “Time”. The assignment of the status key at the bottom rightof thedisplay changes. You can set the length of thepulse in increments of 0.1 secondswithinthe range of 0.1 to 3 seconds using this status key. It is also possible to enter the value viathe numeric keypad.

Move the cursor to the input box “at”. The assignment of the status key at the bottom rightof the display changes. With this status key, you can specify the point of the path segmentat which the selected output is to be set.

Move the cursor to the input box “Delay”. Theassignment of the status key at the bottom rightof the display changes. With this status key, you can shift the time at which the selected out-put is to be set, by any amount in increments of 1 ms between the start and end points ofthe path segment. It is also possible to enter the value via the numeric keypad.

If, on the other hand, you want to set the output in relation to the path, you must select theoption “PATH” in the input box “at”.

An additional input box then appears in the inline form in which you can specify the distancefrom the end point at which the output should be set. If, for example, you want the output tobe set between the start point and the end point, you must enter a value with a negative sign.

The motion commands (type: LIN and CIRC) before and after the SYN PULSE function areimportant for determining locally the start and end points and the points along the path.Compare cases 1 to 4 for the previous function SYN OUT!

Now press the softkey “Cmd Ok” or the Enter key. The command is now fully programmedand saved.

Page 51: 36797445 KUKA UserProgramming

2 Program commands (continued)

51 of 60

ProgAnwenderR4.1 08.01.03 en

2.4.3 Coupling and decoupling the INTERBUS segment (IBUS--Seg on/off)

After selecting the menu option “IBUS--Seg. on/off”, the inline form for programming thecoupling and decoupling of the INTERBUS segment is opened in the programming window.

Box name Function Range of values

IBUS Coupling and decouplingan IBus segment

ON, OFF

The assignment of the softkey bar changes at the same time:

It is possible to abort programming of this function at any time by pressing the softkey “CmdAbort” or the ESC key. The command will not be saved in this case.

If the programming window is in focus, the various input boxes can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The programming window can be activated by repeatedly pressing the “Window selection”key until the window is highlighted in color.

Pressing the softkey “Motion” switches immediately to motion instruction programming,cancelling programming of the function.

Pressing the softkey “WAIT/W_F” switches immediately to programming of motion instruc-tions, cancelling programming of the function.

Pressing the softkey “Comment” switches immediately to the programming function forcomment lines, cancelling programming of the function.

By pressing the status key “CMD”, you can switch between coupling and decoupling of theINTERBUS.

Now press the softkey “Cmd Ok” or the Enter key. The command is now fully programmedand saved.

Page 52: 36797445 KUKA UserProgramming

User Programming

52 of 60

ProgAnwenderR4.1 08.01.03 en

2.5 Analog output

The eight analog outputs of the robot controller are set under program control using thisfunction.

Programming

To program the analog output, you must select a program or load it in the editor. Moredetailed information on creating and altering programs can be found in the chapter[Program creation].

Pay attention to the position of the editcursor. The next program line createdby you will be inserted as a new lineafter the cursor.

Page 53: 36797445 KUKA UserProgramming

2 Program commands (continued)

53 of 60

ProgAnwenderR4.1 08.01.03 en

2.5.1 Static

This option is used to set ananalog output with a fixed value. After selecting themenuoption,the inline form for entering the necessary values is opened in the program window.

Box name Function Range of values

ANOUT Analog output 1 ... 32

0 Output voltage 0 ... 1

The assignment of the softkey bar changes at the same time:

It is possible to abort programming of the function at any time by pressing the softkey “CmdAbort” or the ESC key. The command will not be saved in this case.

If the program window is in focus, the various input windows can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The program window can be activated by repeatedly pressing the “Window selection” keyuntil the entire window is highlighted in color.

Move the cursor to the left--hand input box. The assignment of the status key at the bottomright of the display changes. Here you can specify whichof theeight analogoutputs youwantto set.

Move the cursor to the next input box, here “0”. The assignment of the status key at thebottom right of the display changes. Using the numeric keypad, enter the value the analogoutput should take. It is also possible to change the value shown in the input box using thestatus key (at the bottom right of the display) in increments of 10 mV.

Now press the softkey “Cmd Ok” or the Enter key. The command is now fully programmedand saved.

Page 54: 36797445 KUKA UserProgramming

User Programming

54 of 60

ProgAnwenderR4.1 08.01.03 en

2.5.2 Dynamic

This option is used to set an analog output depending on the velocity or technology. Afterselecting the menu option, the inline form for entering the necessary values is opened in theprogram window.

Box name Function Range of values

ANOUT Switching simulation modeon and off

ON, OFF

CHANNEL 1 Analog output 1 ... 32

1 Multiplier 0 ... 10

VEL ACT Velocity or technology pa-rameters

VEL ACT, TECHVAL1 ... TECHVAL6

Offset Offset voltage --1 ... 1

Delay Delay --0.2 ... 0.5 s

The assignment of the softkey bar changes at the same time:

It is possible to abort programming of the function at any time by pressing the softkey “CmdAbort” or the ESC key. The command will not be saved in this case.

If the program window is in focus, the various input windows can be selected using the “�”and “�” arrow keys. The window that is currently selected is highlighted by a color back-ground.

The program window can be activated by repeatedly pressing the “Window selection” keyuntil the entire window is highlighted in color.

Move the cursor to the left--hand input box. The assignment of the status key at the bottomright of the display changes. Here you can specify whether you wish to switch the analogoutput on or off.

Move the cursor to the next input box, here “Channel 1”. The assignment of the status keyat the bottom right of the display changes. Here you can specify which of the eight analogoutputs you want to set or reset.

Move the cursor to the next input box, here “1”. The assignment of the status key at thebottom right of the display changes. Using the numeric keypad, enter the factor by which the

Page 55: 36797445 KUKA UserProgramming

2 Program commands (continued)

55 of 60

ProgAnwenderR4.1 08.01.03 en

corresponding velocity/technology parameters are to be multiplied. It is also possible tochange the value shown in the input box using the status key (at the bottom right of thedisplay) in increments of 0.05.

Move the cursor to the next input box, here “VEL_ACT”. The assignment of the status keyat the bottom right of the display changes. Here you can specify the velocity/technologyparameters with which the selected analog output is to be combined.

Move the cursor to the next input box, here “Offset”. The assignment of the status key at thebottom right of the display changes. Using the numeric keypad, enter the value of the offsetvoltage for the selected analog output. It is also possible to change the value shown in theinput box using the status key (at the bottom right of the display) in increments of 100 mV.

Move the cursor to the next input box, here “Delay”. The assignment of the status key at thebottom right of the display changes. Using the numeric keypad, enter a delay value. It is alsopossible to change the value shown in the input box using the status key (at the bottom rightof the display) in increments of 1/100 second.

Now press the softkey “Cmd Ok” or the Enter key. The command is now fully programmedand saved.

Page 56: 36797445 KUKA UserProgramming

User Programming

56 of 60

ProgAnwenderR4.1 08.01.03 en

2.6 Comment

For the purpose of giving your programs a clearer structure, comment lines should beinserted containing texts explaining the program modules.

Place the edit cursor one line above the position where you want to insert the comment line.Open the menu by means of the menu key “Commands” and from it select the submenu“Comment”.

You can now select one of the comment types “Normal” or “Stamp”.

2.6.1 Normal

Using the command “Normal”, you can insert a comment line containing any text into yourprogram. A semicolon ( ; ) will automatically be inserted at thebeginning of the comment line.

Any text

Press the softkey “Cmd Abort” to discard your entries and close the inline form withoutinserting a comment line into the program listing.

You can switch to the inline form for the stamp directly by using the softkey “Stamp”.

If you would like to enter a different text, you can delete the entry by means of the softkey“New text”.

Press the softkey “CmdOk” to discard your entries and close the inline form without enteringthem into the program listing.

Any text

When the “Comment” command is selectedagain, thepreviously enteredstringwill alreadybe offered as a default text in the inline form.

Page 57: 36797445 KUKA UserProgramming

2 Program commands (continued)

57 of 60

ProgAnwenderR4.1 08.01.03 en

2.6.2 Stamp

You can also insert a stamp in your program, however. In this instance, it is a comment linewith the time and date added. A semicolon ( ; ) will automatically be inserted at the beginningof the line in this case as well.

Any text

Use this type of comment to document changes to programs.

You can enter your name in the first input box after NAME. Enter an abbreviation for thechange that has been made in the second box after CHANGES.

Press the softkey “Cmd Abort” to discard your entries and close the inline form withoutinserting a comment line into the program listing.

You can switch to the inline form for a normal comment directly by using the softkey “Normal”.

The new system time and the system date are entered into the inline form by pressing thesoftkey “New time”.

If you would like to enter a different name, the previous entry can be deleted by pressing thesoftkey “New name”.

If you want to enter something else after CHANGES, press the softkey “New text”. Thisdeletes the previous entry and a new text can now be entered.

Use the softkey “Cmd Ok” to save your entry, close the inline form and insert the commentline.

Any text

When the “Comment” command is selectedagain, thepreviously enteredstringwill alreadybe offered as a default text in the inline form.

Page 58: 36797445 KUKA UserProgramming

User Programming

58 of 60

ProgAnwenderR4.1 08.01.03 en

2.6.3 ...changing comment lines

Move the program cursor to the line that is to bealtered andpress the softkey “Change”. Thisopens an inline form. The existing text is displayed as a suggestion in the input box.Depending on the type of comment, ’Normal’ or ’Stamp’, the softkey bar has one of thesetwo assignments:

Now alter the text as desired.

Press the softkey “Cmd Abort” to discard your entries and close the inline form withoutcarrying out the change to the program.

You can switch to the inline form for the stamp directly by using the softkey “Stamp”.

You can switch to the inline form for a normal comment directly by using the softkey “Normal”.

The new system time and the system date are entered into the inline form by pressing thesoftkey “New time”.

If you would like to enter a different name, the previous entry can be deleted by pressing thesoftkey “New name”.

If you would like to enter a different text, you can delete the entry by means of the softkey“New text”.

Use the softkey “CmdOk” to terminate your entry, close the inline formandalter the commentline accordingly.

2.6.4 ...Delete

Use the “�” or “�” arrow key to move the edit cursor to the line you want to delete.

Press the menu key “Program” and select the option “Delete” from the menu that is opened.

Read the message displayed in the message window.

Page 59: 36797445 KUKA UserProgramming

2 Program commands (continued)

59 of 60

ProgAnwenderR4.1 08.01.03 en

Press the softkey “Yes” if you are sure that you want to delete the selected line. When youpress this softkey, the selected line will be removed from the program.

Pressing the softkey “No” cancels the action.

Page 60: 36797445 KUKA UserProgramming

User Programming

60 of 60

ProgAnwenderR4.1 08.01.03 en

NOTES:

1

Page 61: 36797445 KUKA UserProgramming

Index

Index -- i

AAcceleration, 25, 27, 29, 31, 33, 35Analog output, 52Approximate positioning, 21, 28, 32Approximation Distance, 25, 29, 33at, 46, 50

CChanging comment lines, 58CIRC, 21, 32Circular motions, 32Close editor, 17CMD, 51Comment, 39, 51, 56CONT, 21, 25, 26, 29, 30, 33, 34, 40, 42,44CPDAT1, 29

DDelay, 46, 50Delay value, 55Delete, 15, 58Deleting comment lines, 58Deleting programs, 10Depending on the technology, 54Depending on the velocity, 54Duplicate, 10

EEdit, 6Edit cursor, 21, 38, 52Exact positioning, 21, 28, 32

FFind, 12, 15Full circle, 36

IIBUS--Seg on/off, 51IBUS/WAIT, 39Infinitely rotating axes, 22

LLast command, 20LIN, 21, 28

Linear motions, 28Loading and saving programs, 9Logic, 38Long text, 40, 41, 43, 45, 49

MMotion, 21, 39, 51Motion commands, 21Motion parameters, 37

NNew, 5New name, 57New text, 57New time, 57Normal, 56, 57, 58

OOffset voltage, 55Open, 6Orientation, 28, 32OUT, 41, 43, 45

PPATH, 46, 50PDAT1, 25, 33Point--to--point motions, 24Program editing, 5Program editor, 15Programmed velocity, 27, 31, 35Programming, 38, 52Programming a LIN motion, 29Programming a PTP motion, 25Programming movements, 21Programs, 5PTP, 21, 24PTP motions with approximate positioning, 24PTP motions with exact positioning, 24PULSE, 41, 43, 49

RRobot coordinates, 26, 30, 34

SSave, 27, 31, 35Save the current robot coordinates, 26, 30,34

Page 62: 36797445 KUKA UserProgramming

Index

Index -- ii

Select/open/save a program, 5Stamp, 57Standard motions, 21State, 40, 42, 43, 46, 50SYN OUT, 45SYN PULSE, 49SYNOUT, 41, 49SYNPULSE, 43, 45

TTechnology parameters, 55Time, 44, 50Touch Up, 26, 30, 34Types of motion, 21

VVel, 25, 29, 33Velocity parameters, 55

WW_F/IBUS, 39WAIT, 38WAIT FOR, 39Wait functions, 38WAIT/W_F, 51

ZZip file, 9