KST UserTech 40 en
KST UserTech 40 en
KUKA.UserTech 4.0
For KUKA System Software 8.6 and 8.7
Issued: 27.10.2020
KST UserTech 4.0 V3
KUKA Deutschland GmbH
KUKA.UserTech 4.0
© Copyright 2020
KUKA Deutschland GmbH
Zugspitzstraße 140
D-86165 Augsburg
Germany
This documentation or excerpts therefrom may not be reproduced or disclosed to third parties
without the express permission of KUKA Deutschland GmbH.
Other functions not described in this documentation may be operable in the controller. The user
has no claims to these functions, however, in the case of a replacement or service work.
We have checked the content of this documentation for conformity with the hardware and soft-
ware described. Nevertheless, discrepancies cannot be precluded, for which reason we are not
able to guarantee total conformity. The information in this documentation is checked on a regu-
lar basis, however, and necessary corrections will be incorporated in the subsequent edition.
Subject to technical alterations without an effect on the function.
KIM-PS5-DOC
Translation of the original documentation
Contents
1 Introduction.............................................................................................. 7
1.1 Target group.......................................................................................................... 7
1.2 Industrial robot documentation.............................................................................. 7
1.3 Representation of warnings and notes................................................................. 7
1.4 Terms used............................................................................................................ 8
1.5 Trademarks............................................................................................................ 8
1.6 Licenses................................................................................................................. 8
2 Product description................................................................................. 9
2.1 Product description................................................................................................ 9
2.2 Overview of KUKA.UserTech 4.0.......................................................................... 9
2.3 Intended use and misuse...................................................................................... 10
3 Safety......................................................................................................... 11
4 Installation................................................................................................ 13
4.1 System requirements............................................................................................. 13
4.2 Installation via WorkVisual.................................................................................... 13
4.2.1 Installing or updating KUKA.UserTech 4.0........................................................... 13
4.2.2 Uninstalling KUKA.UserTech 4.0........................................................................... 14
4.3 Installation via smartHMI....................................................................................... 14
4.3.1 Installing or updating KUKA.UserTech 4.0........................................................... 14
4.3.2 Uninstalling KUKA.UserTech 4.0........................................................................... 16
5 Operation.................................................................................................. 17
5.1 Converter............................................................................................................... 17
5.1.1 Converting a KFD file............................................................................................ 17
5.1.2 Converting the smartHMI configuration file.......................................................... 17
6 Programming............................................................................................ 19
6.1 Overview of KFDx syntax..................................................................................... 19
6.2 Special characters................................................................................................. 20
6.3 Strings.................................................................................................................... 21
6.4 Parameter references............................................................................................ 22
6.5 Naming conventions and keywords...................................................................... 22
6.6 Areas of validity..................................................................................................... 22
6.7 Language files....................................................................................................... 23
6.8 Overview: programming a technology package................................................... 24
6.8.1 Creating a KFDx file.............................................................................................. 25
6.8.2 <Application>: defining a technology package..................................................... 26
6.8.3 <Param>: defining a parameter............................................................................ 27
6.8.4 Parameter types.................................................................................................... 29
6.8.4.1 Parameter type STATIC........................................................................................ 29
6.8.4.2 Parameter type FREE........................................................................................... 29
6.8.4.3 Parameter type NAME.......................................................................................... 30
6.8.4.4 Parameter type NUMBER..................................................................................... 30
6.8.4.5 Parameter type REAL........................................................................................... 31
6.8.4.6 Parameter type LIST............................................................................................. 33
7 Configuration............................................................................................ 71
7.1 Integrating inline forms and status keys into smartHMI....................................... 71
7.1.1 Menu structure for inline forms............................................................................. 72
7.1.2 Menu structure for status key bars....................................................................... 73
7.2 Integrating inline forms in WorkVisual.................................................................. 74
7.3 Examples of integration of technology packages................................................. 78
7.3.1 Twinkle technology................................................................................................ 78
7.3.1.1 Integrating the Twinkle technology in a menu..................................................... 79
7.3.1.2 Integrating the Twinkle technology in a submenu................................................ 80
7.3.2 Glue technology..................................................................................................... 81
7.3.2.1 Integrating the Glue technology in a menu.......................................................... 82
7.3.3 DispSet technology................................................................................................ 82
7.3.3.1 Integrating the DispSet technology in a menu..................................................... 84
8 Archiving................................................................................................... 87
8.1 Archiving files........................................................................................................ 87
8.2 Restoring files........................................................................................................ 88
9 KUKA Service........................................................................................... 89
9.1 Requesting support............................................................................................... 89
9.2 KUKA Customer Support...................................................................................... 89
Index 91
Introduction
1 Introduction
Safety
These warnings are provided for safety purposes and must be observed.
DANGER
These warnings mean that it is certain or highly probable that death or
severe injuries will occur, if no precautions are taken.
WARNING
These warnings mean that death or severe injuries may occur, if no
precautions are taken.
CAUTION
These warnings mean that minor injuries may occur, if no precautions
are taken.
NOTICE
These warnings mean that damage to property may occur, if no precau-
tions are taken.
Notices
Term Description
1.5 Trademarks
1.6 Licenses
The KUKA license conditions and the license conditions of the open-
source software used can be found in the following folders:
• Under .\LICENSE on the data storage medium with the installation
files of the KUKA software
• On the KUKA smartHMI, in the main menu under Help > Info, tab Li-
censes
• Under D:\KUKA_OPT\Option package name\LICENSE on the robot
controller
• In the license folder under the name of the option package in the Op-
tions catalog in WorkVisual
Product description
2 Product description
Description
The KUKA.UserTech 4.0 option package enables users to create their own
technology packages and programs.
Functions
The technologies and their elements are defined in KFDx files (XML for-
mat).
Converter
Technologies that were defined with an earlier UserTech version for KSS
8.1, 8.2, 8.3 or 8.5 can still be used. A converter is available for convert-
ing KFD files to the new file format. The corresponding smartHMI configu-
ration files can also be converted.
(>>> 5.1 "Converter" Page 17)
Scripts
Scripts can be defined for inline forms and status keys. These scripts can
be used to perform the following actions:
• Create KRL variables
• Read and write KRL variables
• Read and set the state of outputs
• Read and set the state of inputs
• Generate messages
• Generate user dialogs
Parameter types
• List boxes
• Check boxes that return a truth value
Folds
For inline forms, it is possible to define KRL macros (folds) that can be in-
serted into the module that is open in the editor:
• Values of parameters can be inserted.
• Scripts can be executed on opening and closing an inline form and on
pressing Touch-up.
• Folds that have been inserted can be opened again and the values
modified.
• The Touch-up script assigned to an inline form can be executed when
the fold is closed.
Language files
Message texts that are generated are used as a key for a language-spe-
cific message system:
• For this, there must be corresponding entries in a language file. The
data are stored in an XML format in a KXR file.
(>>> 6.7 "Language files" Page 23)
Directories
Templates
Use
Misuse
Safety
3 Safety
The safety information for the industrial robot can be found in the “Safety”
chapter of the Operating and Programming Instructions for System Inte-
grators or the Operating and Programming Instructions for End Users.
Comply with safety-relevant information
The safe use of this product requires knowledge of and compliance with
fundamental safety measures. Death, severe injuries or damage to prop-
erty may otherwise result.
• The “Safety” chapter in the operating and programming instructions
of the KUKA System Software (KSS) must be observed.
Installation
4 Installation
The option package can either be installed on the robot controller via the
smartHMI or via WorkVisual.
Hardware
• KR C4 or KR C5 robot controller
Software
KR C4 robot controller:
• KUKA System Software 8.6.x
KR C5 robot controller:
• KUKA System Software 8.7.x
Laptop/PC:
• WorkVisual 6.0.x
The numbers of the required releases/versions must be taken from the file
ReleaseNotes_[…].txt. The file is located on the data storage medium
containing KUKA.UserTech 4.0.
Description
Precondition
Procedure
with Yes.
6. An overview with the changes and a request for confirmation are dis-
played on the smartHMI. Answer this with Yes. The option package is
installed and the robot controller carries out a reboot.
LOG file
Description
Precondition
Procedure
LOG file
Installation
Precondition
NOTICE
Data loss due to USB sticks from third-party manufacturers
Data may be lost if USB sticks from manufacturers other than KUKA
are used for activities on the robot controller.
• For activities on the robot controller requiring a USB stick, use a
KUKA stick.
The KUKA sticks are validated for use with the robot controller.
Procedure
LOG file
Precondition
Procedure
LOG file
Operation
5 Operation
5.1 Converter
Description
The converter generates a KFDx file (new file format) from a KFD file (old
file format).
KUKA.UserTech 4.0 detects when a conversion is required and performs it
automatically:
• On booting the smartHMI
• On opening a UserTech inline form via the menu
• On switching the active UserTech status key bar
Search paths
LOG file
Description
Conversion of the smartHMI configuration files created for the inline forms
and status keys defined in KFD files (old file format) is not carried out au-
tomatically. This must be started manually by executing a conversion file.
Conversion file
Directory C:\KRC\TP\UserTech\SmartHMI
File KukaRoboter.UserTech.KfdConverter.exe
Search paths
The converter searches for smartHMI configuration files in the following di-
rectories:
• C:\KRC\USER (SmartHMI.User.config)
• Folders that are stored in the Windows registry database under
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\KUKA Robot-
erGmbH\Options\KFD
Procedure
Programming
6 Programming
Technologies
<Application>…</Application> Defining a technology package.
(>>> 6.8.2 "<Application>: defining a technology pack-
age" Page 26)
Inline forms
<Fold>…</Fold> Defining a fold.
(>>> 6.8.5 "<Fold>: defining a fold" Page 36)
<InlineForm>…</InlineForm> Defining an inline form.
(>>> 6.8.6 "<InlineForm>: defining an inline form"
Page 37)
<Param>…</Param> Defining a parameter.
(>>> 6.8.3 "<Param>: defining a parameter" Page 27)
Parameter lists
<Param Name="PL_">…</Param> Defining a data set structure for a parameter list.
(>>> 6.9.1 "<Param Name="PL_">: defining the data
set structure for a parameter list" Page 48)
<PList>…</PList> Defining a parameter list.
(>>> 6.9.2 "<PList>: defining a parameter list"
Page 48)
Status keys
<StatKey>…</StatKey> Defining a status key.
(>>> 6.10.1 "<StatKey>: defining a status key"
Page 55)
<StatkeyBar>…</StatkeyBar> Defining a status key bar.
(>>> 6.10.2 "<StatkeyBar>: defining a status key bar"
Page 61)
<Set>…</Set> Setting a status key or status key bar.
(>>> 6.10.3 "<Set>: setting a status key or status key
bar" Page 61)
Scripts
<Script>…</Script> Defining a script.
(>>> 6.11.1 "<Script>: defining a script" Page 62)
<Do Script…/> Executing a script.
(>>> 6.11.5 "<Do Script…/>: executing a script"
Page 65)
<Message…/> Defining a message text.
(>>> 6.11.6 "<Message…/>: defining a message"
Page 66)
<Redecl…/> Creating or overwriting a variable.
(>>> 6.11.4 "<Redecl…/>: creating or overwriting a var-
iable" Page 64)
<Set>…</Set> Setting a status key or status key bar.
(>>> 6.10.3 "<Set>: setting a status key or status key
bar" Page 61)
<SetVar…/> Setting a variable.
(>>> 6.11.2 "<SetVar…/>: setting a variable" Page 63)
<ShowVar…/> Reading a variable.
(>>> 6.11.3 "<ShowVar…/>: reading a variable"
Page 64)
<Switch Dialog ="FALSE"…> Requesting a variable and executing an event-depend-
ent script.
…</Switch>
(>>> 6.11.7 "<Switch Dialog ="FALSE"…>: requesting a
variable and executing a script" Page 67)
<Switch Dialog ="TRUE"…> Displaying a dialog and executes a response-depend-
ent script.
…</Switch>
(>>> 6.11.8 "<Switch Dialog ="TRUE"...>: displaying a
dialog and executing a script" Page 70)
ACCEPTINLINEFORM Predefined scripts
CANCELINLINEFORM (>>> 6.11.5.1 "Predefined scripts" Page 66)
END
NOTHING
Programming
Character Description
/ Cancels the special function of a subsequent character.
The character "/" itself is not displayed in the string.
Example:
• %INLINEFORM/
• %INLINEFORM
# Designates a value assignment
Examples:
• #%INLINEFORM
• #TOGGLE
| Identifies the parameters generated via the language key
of a message
Example:
6.3 Strings
Description
The following rules apply for strings in the KFDx format (e.g. in the attrib-
ute ShortName=""):
• The following characters are not allowed in strings: &, ', <, >, "
• The forbidden characters are function characters in XML. If these
characters are nevertheless to be part of the string, they must be re-
placed by the following masking character strings:
Example
Names
The names of all system variables begin with the “$” sign. To avoid con-
fusion, do not begin the names of user-defined variables with this sign.
The use of keywords reserved for KRL is not permitted. Further informa-
tion about keywords is contained in the “Operating and Programming In-
structions for System Integrators”.
Variables and data objects have local validity, i.e. in a defined technology
package, if they are declared within the statement <Application> … </
Application>.
Variables and data objects have global validity, i.e. in all technology pack-
ages, if they are declared outside the statement <Application> … </Appli-
cation>.
We recommend combining all global variables and data objects in a
KFDx file.
Programming
6.7 Language files
Description
Examples
The key can be used in the KFDx files, e.g. as a parameter name that is
then translated:
<Script Name="SHOW_ERROR_MESSAGE"
<Message Text="TestUser#LaserIsOnMessage|%TestBool" />
</Script>
<message key="LaserIsOnMessage">
<text xml:lang="de">Zustand: Laser ist an = {0} </text>
<text xml:lang="en">State: Laser is on = {0} </text>
</message>
Language abbreviation
Step Description
1 Create a KFDx file.
(>>> 6.8.1 "Creating a KFDx file" Page 25)
2 Define the technology.
(>>> 6.8.2 "<Application>: defining a technology pack-
age" Page 26)
Programming
Step Description
3 Define parameter for inline forms and parameter lists.
(>>> 6.8.3 "<Param>: defining a parameter" Page 27)
4 Define parameter lists.
(>>> 6.9 "Programming the parameter list" Page 47)
5 Define folds for inline forms.
(>>> 6.8.5 "<Fold>: defining a fold" Page 36)
6 Define inline forms.
(>>> 6.8.6 "<InlineForm>: defining an inline form"
Page 37)
7 Subprograms and functions which are to be inserted in
the program on closing an inline form must be made
available globally.
Note: Further information about programming subpro-
grams and functions is contained in the Operating and
Programming Instructions for System Integrators.
8 Program the status keys.
(>>> 6.10 "Programming status keys" Page 54)
9 Program the scripts.
(>>> 6.11 "Programming scripts" Page 62)
10 Integrate the technology into the graphical user interface.
(>>> 7.1 "Integrating inline forms and status keys into
smartHMI" Page 71)
Description
Procedure
• HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\KUKA Ro-
boter GmbH\Options\KFD
2. Right-click on the KFD folder and select New > String from the con-
text menu. A new string is created.
3. Enter the name that the TPName folder is to receive as the name of
the string.
4. Right-click on the new string and select Change... from the context
menu. The Edit String window is opened.
5. Under Value, enter the new key:
• %InstallationDir%\TP\TPName\Template
6. Confirm the key with OK.
Description
Define the technology package for which inline forms and/or status keys
are to be programmed.
Syntax
Element Description
Name Name of the technology
SOT Defines whether the technology can be selected via a
list box in the inline form.
Example 1
<Application Name="MyTech">
</Application>
<Application Name="OtherTech">
</Application>
The technologies MyTech and OtherTech can be selected via a list box
in the inline form.
Programming
Fig. 6-1: List box for selecting a technology
Example 2
Description
Syntax
Element Description
Name Name of the parameter
ShortName Name that is displayed for the parameter in the inline
form
ShortCut Prefix with which the parameter value set in the inline
form is saved in the data list
Unit Unit that is displayed for the parameter in the inline
form
Enable Activate/deactivate parameter in the inline form
Element Description
Value Type Type of parameter
• STATIC
(>>> 6.8.4.1 "Parameter type STATIC" Page 29)
• FREE
(>>> 6.8.4.2 "Parameter type FREE" Page 29)
• NAME
(>>> 6.8.4.3 "Parameter type NAME" Page 30)
• NUMBER
(>>> 6.8.4.4 "Parameter type NUMBER"
Page 30)
• REAL
(>>> 6.8.4.5 "Parameter type REAL" Page 31)
• LIST
(>>> 6.8.4.6 "Parameter type LIST" Page 33)
• BOOL
(>>> 6.8.4.7 "Parameter type BOOL" Page 34)
When an inline form is saved, the following attributes are either visible or
invisible, depending on the parameter type in the program code.
Type SHORTNAME SHORTCUT UNIT
STATIC Not visible Not visible Not visible
FREE Visible Not visible Visible
NAME Visible Not visible Visible
NUMBER Visible Not visible Visible
REAL Visible Not visible Visible
LIST Visible Not visible Not visible
BOOL Visible Not visible Not visible
Example
Programming
6.8.4 Parameter types
Description
Syntax
Element Description
Default Text displayed in the inline form
Example
<Param Name="FieldStatic">
<Value Type="STATIC" Default="Field cannot be edited" />
</Param>
Description
A text box is displayed in the inline form. The text can be edited.
Syntax
Element Description
Default Text that is displayed as standard when the inline
form is opened for the first time.
If no string is defined, the text box is empty.
Example
Description
Syntax
Element Description
Default Name of the variable, function or subprogram that is
displayed as standard when the inline form is first
opened
If the last character of a name is a number (0…9),
then the number is incremented by one as standard
when the inline form is newly created. The counter is
reset if the inline form is canceled after it is opened.
Example
When the inline form is first opened, the name “WPT1” is displayed by de-
fault. The next time the inline form is created, the number is incremented
by one and the value “WPT2” is displayed.
Description
• -2³¹-1 … 2³¹-1
Examples:
• 1; 32; 345
Programming
Syntax
Element Description
Default Parameter value that is displayed as standard when
the inline form is opened for the first time.
Default, if Default is not defined: 0
Min Minimum input value
Default, if Min is not defined: -2³¹-1
Max Maximum input value
Default, if Max is not defined: 2³¹-1
Step Increment for the cursor keys on the keyboard that
can be used for increasing and decreasing the pa-
rameter value.
Default, if Step is not defined: 0
Autolimit Automatic limitation of the parameter value
Example
Description
• +1.1E-38 … +3.4E+38
Examples:
Syntax
Element Description
Default Parameter value that is displayed as standard when
the inline form is opened for the first time.
Default, if Default is not defined: 0.0
Min Minimum input value
Default, if Min is not defined: +1.1E-38
Max Maximum input value
Default, if Max is not defined: +3.4E+38
Step Increment for the cursor keys on the keyboard that
can be used for increasing and decreasing the value
in the input box.
Default, if Step is not defined: 0.1
Autolimit Automatic limitation of the parameter value
Example
Programming
Description
A list box is displayed in the inline form. You can use the list to select a
parameter. The parameters in the list cannot be edited.
Syntax
<List SelectedItem="String">
<Item Key="String" Disp="String" />
<Item Key="String" Disp="String" />
...
<Item Key="String" Disp="String" />
</List>
Element Description
SelectedItem Parameter that is displayed as standard when the in-
line form is opened for the first time.
Key Parameter value that is processed
Note: A unique Key must be stored in the list for
each list parameter.
Disp Parameter value that is displayed
Default, if Disp is not defined: the displayed value
corresponds to the value Key.
Example 1
Example 2
The value Triangle selected in the list box WeavePattern is not the value
actually processed. In the MyFold fold, the value 3 is assigned to the
global variable Model.
KRL code in the program:
Description
The inline form displays a checkbox that can be activated and deactiva-
ted.
Syntax
Programming
Explanation of the syntax
Element Description
Default Value of the check box that is displayed as standard
when the inline form is opened for the first time
Example
Description
Define a fold.
For inline forms, it is possible to define folds that are inserted into the
module that is open in the editor.
Do not use control structures, such as branches and loops, in the folds!
They cannot be inserted into selected programs.
Syntax
<Fold Name="Name">
<Line>String1<Line/>
...
<Line>StringN<Line/>
</Fold>
Element Description
Name Name of the fold
String1 Contents of the fold lines 1 … N
… All parameter reference placeholders in a string are
replaced in the program by the values selected in the
StringN
inline form.
(>>> 6.4 "Parameter references" Page 22)
Example
<Fold Name="MyFold">
<Line>Laser(#%INLINEFORM/,%DataSet/,%Pattern/)</Line>
<Line>TRIGGER WHEN PATH=%DistanceWay/ DELAY=0 DO
LASER_ON=TRUE</Line>
</Fold>
Laser(#ON,DataSet6,STEP)
TRIGGER WHEN PATH=210 DELAY=0 DO LASER_ON=TRUE
Programming
6.8.6 <InlineForm>: defining an inline form
Description
Syntax
Element Description
Name Name of the inline form
IlfType Type of inline form
Specifies whether the folds of the inline form can be
inserted into a fold with a “Spline” control structure.
Element Description
Style Formatting of the KRL code
• WYSIWYG
(>>> 6.8.7.1 "Format type WYSIWYG" Page 42)
• SUB
(>>> 6.8.7.2 "Format type SUB" Page 42)
• DSUB
(>>> 6.8.7.3 "Format type DSUB" Page 43)
• FCT
(>>> 6.8.7.4 "Format type FCT" Page 44)
• DFCT
(>>> 6.8.7.5 "Format type DFCT" Page 45)
• ASS
(>>> 6.8.7.6 "Format type ASS" Page 46)
• ASSAGG
(>>> 6.8.7.7 "Format type ASSAGG" Page 46)
Default, if Style is not defined: WYSIWYG
Focus Number of the parameter (see element PRM Name)
that is focused on as standard when the inline form
is opened for the first time.
Precondition for this function:
• By pressing Change
• Via the menu Commands
(>>> 6.8.6.1 "Inline form with OnOpen and OnAccept
script" Page 41)
Programming
Element Description
NameFold1 Names of the folds 1 … N assigned to the inline form
… (>>> 6.8.5 "<Fold>: defining a fold" Page 36)
NameFoldN If no fold is assigned to the inline form, its contents
will be inserted into the program according to the set-
ting made under Style.
NameParam1 Names of the parameters 1 … N assigned to the in-
line form
…
(>>> 6.8.3 "<Param>: defining a parameter" Page 27)
NameParamN
The order in which the parameters are specified cor-
responds to the order in which they are displayed in
the inline form.
Example
In the LASER technology, inline forms for switching a laser on and off are
defined.
36 </Application>
Line Description
1 … 36 Definition of the technology LASER
2 … 4 Definition of the parameter DataSet
Type: NAME
5 … 7 Definition of the parameter DistanceWay
Type: NUMBER
8 … 10 Definition of the parameter DelayTime
Type: REAL
11 … 17 Definition of the Pattern parameter
Type: LIST
List of selectable parameter values:
• PULSE
• STEP
• CONT
18 … 21 Definition of the “LasOn” fold
Trigger to activate the laser
22 … 25 Definition of the “LasOff” fold
Trigger to deactivate the laser
26 … 31 Definition of the “LASER.ON” inline form for switching on
the laser
The following fold is assigned to the inline form:
• LasOn
The following parameters can be set in the inline form:
• DataSet
• DistanceWay
• Pattern
32 … 35 Definition of the “LASER.OFF” inline form for switching off
the laser
The following fold is assigned to the inline form:
• LasOff
The following parameter can be set in the inline form:
• DelayTime
Programming
Inline form LASER.ON
Description
An OnOpen script is executed if the inline form is opened via the Com-
mands menu or by pressing Change.
An OnAccept script is executed if the inline form is closed with Cmd OK.
KFDx file
1 <Application Name="TestScript">
2 <Script Name="OpenTest">
3 <Message Text="Fired when ILF is opened!" />
4 </Script>
5 <Script Name="CloseTest">
6 <Message Text="Fired when ILF is closed!" />
7 <Do Script="AcceptInlineForm" />
8 </Script>
9 <Fold Name="TestFold">
10 <Line>/;only for testing OnOpen event</Line>
11 </Fold>
12 <InlineForm Name="TestIlf" OnOpen="OpenTest"
OnAccept="CloseTest">
13 <FLD Name="TestFold" />
14 </InlineForm>
15 </Application>
Line Description
2 … 4 Definition of the OnOpen script which is to be executed on
opening the inline form
5 … 7 Definition of the OnAccept script which is to be executed on
closing the inline form
12 … 14 Definition of the inline form
Description
The formatting of the KRL code corresponds exactly to the text of the in-
line form.
Example
<Application Name="Laser">
<Param Name="Fieldlist" ShortName="Weave pattern: ">
<List SelectedItem="Triangle">
<Item Key="Triangle" />
<Item Key="Trapezoid" />
<Item Key="Sinus" />
</List>
</Param>
<Param Name="Fieldname" ShortName="WeldDataSet: ">
<Value Type="Name" Default="DataSet1" />
</Param
<Param Name="DistanceWay" ShortName="Distance: " Unit="mm">
<Value Type="NUMBER" Default="200" Min="0" Max="500" />
</Param>
<InlineForm Name="On" >
<PRM Name="Fieldname" />
<PRM Name="DistanceWay" />
<PRM Name="Fieldlist" />
</InlineForm>
<InlineForm Name="Off" />
</Application>
Description
Example
<Application Name="Laser">
<Param Name="Fieldlist" ShortName="Weave pattern: ">
<List SelectedItem="Triangle">
Programming
<Item Key="Triangle" />
<Item Key="Trapezoid" />
<Item Key="Sinus" />
</List>
</Param>
<Param Name="Fieldname" ShortName="WeldDataSet: ">
<Value Type="Name" Default="DataSet0" />
</Param>
<Param Name="DistanceWay" ShortName="Distance: " Unit="mm">
<Value Type="NUMBER" Default="200" Min="0" Max="500" />
</Param>
<InlineForm Name="On" Style="SUB">
<PRM Name="Fieldname" />
<PRM Name="DistanceWay" />
<PRM Name="Fieldlist" />
</InlineForm>
<InlineForm Name="Off" />
</Application>
Description
Example
<Application Name="Laser">
<Param Name="Fieldlist" ShortName="Weave pattern: ">
List SelectedItem="Triangle">
<Item Key="Triangle" />
<Item Key="Trapezoid" />
<Item Key="Sinus" />
</List>
</Param>
<Param Name="Fieldname" ShortName="WeldDataSet: ">
<Value Type="Name" Default="DataSet0" />
</Param>
<Param Name="DistanceWay" ShortName="Distance: " Unit="mm">
<Value Type="NUMBER" Default="200" Min="0" Max="500" />
</Param>
<InlineForm Name="On" Style="DSUB">
Description
Example
<Application Name="Laser">
<Param Name="Fieldlist" ShortName="Weave pattern: ">
<List SelectedItem="Triangle">
<Item Key="3" Disp="Triangle" />
<Item Key="Trapezoid" />
<Item Key="Sinus" />
</List>
</Param>
<Param Name="Fieldname" ShortName="WeldDataSet: ">
<Value Type="Name" Default="DataSet0" />
</Param>
<Param Name="DistanceWay" ShortName="Distance: " Unit="mm">
<Value Type="NUMBER" Default="200" Min="0" Max="500" />
</Param>
<InlineForm Name="On" Style="FCT">
<PRM Name="Fieldname" />
<PRM Name="DistanceWay" />
<PRM Name="Fieldlist" />
</InlineForm>
<InlineForm Name="Off" />
</Application>
Programming
Fig. 6-18: Inline form Laser.On
Description
Example
<Application Name="Laser">
<Param Name="Fieldlist" ShortName="Weave pattern: ">
<List SelectedItem="Triangle">
<Item Key="3" Disp="Triangle" />
<Item Key="Trapezoid" />
<Item Key="Sinus" />
</List>
</Param>
<Param Name="Fieldname" ShortName="WeldDataSet: ">
<Value Type="Name" Default="DataSet0" />
</Param>
<Param Name="DistanceWay" ShortName="Distance: " Unit="mm">
<Value Type="NUMBER" Default="200" Min="0" Max="500" />
</Param>
<InlineForm Name="On" Style="DFCT">
<PRM Name="Fieldname" />
<PRM Name="DistanceWay" />
<PRM Name="Fieldlist" />
</InlineForm>
<InlineForm Name="Off" />
</Application>
Description
Example
<Application Name="Laser">
<Param Name="Fieldlist" ShortName="Weave pattern: ">
<List SelectedItem="Triangle">
<Item Key="3" Disp="Triangle" />
<Item Key="Trapezoid" />
<Item Key="Sinus" />
</List>
</Param>
<Param Name="Fieldname" ShortName="WeldDataSet: ">
<Value Type="Name" Default="DataSet0" />
</Param>
<Param Name="DistanceWay" ShortName="Distance: " Unit="mm">
<Value Type="NUMBER" Default="200" Min="0" Max="500" />
</Param>
<InlineForm Name="On" Style="ASS">
<PRM Name="Fieldname" />
<PRM Name="DistanceWay" />
<PRM Name="Fieldlist" />
</InlineForm>
<InlineForm Name="Off" />
</Application>
Description
Programming
• An equals sign is inserted between the inline form name and the pa-
rameter list.
Example
<Application Name="SEARCH">
<Param Name="XDir" ShortName="X=" Unit="mm">
<Value Type="NUMBER" Default="1" />
</Param>
<Param Name="YDir" ShortName="Y=" Unit="mm">
<Value Type="NUMBER" Default="1" />
</Param>
<Param Name="ZDir" ShortName="Z=" Unit="mm">
<Value Type="NUMBER" Default="1" />
</Param>
<InlineForm Name="Direction" Style="ASSAGG">
<PRM Name="XDir" />
<PRM Name="YDir" />
<PRM Name="ZDir" />
</InlineForm>
</Application>
Description
A parameter list contains a data set with different parameters. This data
set is displayed in an option window on the KUKA.smartHMI. The struc-
ture and the properties of the data set must be programmed.
Overview
Step Description
1 Define the parameters of the parameter list.
(>>> 6.8.3 "<Param>: defining a parameter" Page 27)
2 Define a data set structure.
(>>> 6.9.1 "<Param Name="PL_">: defining the data set
structure for a parameter list" Page 48)
3 Define the structure data set and default data set in
$config.dat.
(>>> 6.9.3 "Defining the structure data type" Page 49)
4 Define the parameter list and assign it to a parameter of
type NAME.
(>>> 6.9.2 "<PList>: defining a parameter list" Page 48)
Example
6.9.1 <Param Name="PL_">: defining the data set structure for a parameter
list
Description
Syntax
Element Description
Name="PL_Name" Name of the data set
(>>> 6.9.2 "<PList>: defining a parameter list" Page 48)
ShortName Name of the data set that is displayed in the option window
on the smartHMI
ShortCut Name of the structure data type of the data set
(>>> 6.9.3 "Defining the structure data type" Page 49)
Unit Prefix of the default data set
(>>> 6.9.3 "Defining the structure data type" Page 49)
Var System name of the data set
<Value Type="FREE" Placeholder for the default values of the data set
Default="_" />
(>>> 6.9.3 "Defining the structure data type" Page 49)
Description
Syntax
Programming
Explanation of the syntax
Element Description
Name Name of the data set
(>>> 6.9.1 "<Param Name="PL_">: defining the data
set structure for a parameter list" Page 48)
Param Name of the parameter in the inline form to which the
data set is linked
Note: Only parameters of type NAME can be linked
with a parameter list.
NameParam1 Names of parameters 1 ... N of the data set
… The order in which the parameters are specified cor-
responds to the order in which they are displayed in
NameParamN
the option window.
The layout and range of values of the parameters
must be defined with <Param>.
(>>> 6.8.3 "<Param>: defining a parameter" Page 27)
Description
The structure data type of a data set and the default values of the struc-
ture data type must be defined in the file $config.dat.
Directory C:\KRC\ROBOTER\KRC\R1\SYSTEM
File $config.dat
Syntax
• STRUC Name
Type1 StructureNameParam1,
…,
TypeN StructureNameParamN
Default values:
Element Description
Name Name of the structure data type
(>>> 6.9.1 "<Param Name="PL_">: defining the
data set structure for a parameter list"
Page 48)
Type1 … TypeN Data types of the parameters of the data set
• INT
• REAL
• BOOL
StructureNamePar- Structure names of the parameters of the data
am1, set
…,
StructureNameParam1
Prefix Prefix of the default data set
(>>> 6.9.1 "<Param Name="PL_">: defining the
data set structure for a parameter list"
Page 48)
Default1 … DefaultN Default values of the parameters of the data
set
The default values are freely selectable.
KFDx file
Programming
20 <Param Name="GAS_PRE_FLOW" ShortName="PRE Flow Time"
ShortCut="PRE" Unit="ms">
21 <Value Type="NUMBER" Default="0" Min="0" Max="5000"
Step="100" Autolimit="True" />
22 </Param>
23 <Param Name="GAS_POST_FLOW" ShortName="POST Flow Time"
ShortCut="POST" Unit="ms">
24 <Value Type="NUMBER" Default="0" Min="0" Max="5000"
Step="100" Autolimit="True" />
25 </Param>
26 <Param Name="LSR_DLY" ShortName="Piercing Time"
ShortCut="LSR" Unit="ms">
27 <Value Type="NUMBER" Default="0" Min="0" Max="5000"
Step="100" Autolimit="True" />
28 </Param>
29 <Param Name="TestBool" ShortName="Laser" ShortCut="LS3">
30 <Value Type="BOOL" Default="True">
31 <False Disp="AUS" />
32 <True Disp="EIN" />
33 </Value>
34 </Param>
35 <Param Name="PL_LsrTool" ShortName="PLTOOL"
ShortCut="LT" Unit="TOOL" Var="LSC_TOOL_TYP">
36 <Value Type="FREE" Default="_" />
37 </Param>
38 <Fold Name="MyFold">
39 <Line>/;test</Line>
40 </Fold>
41 <Fold Name="PFold">
42 <Line>/;ParamList</Line>
43 </Fold>
44 <Fold Name="SPL_FOLD">
45 <Line>/;Spline Fold</Line>
46 </Fold>
47 <PList Name="LsrTool" Param="ParamList">
48 <Val>LSR_MAX_PWR</Val>
49 <Val>LSR_MIN_PWR</Val>
50 <Val>LSR_PRG</Val>
51 <Val>SNSR_PRG</Val>
52 <Val>GAS_PRESSURE</Val>
53 <Val>GAS_PRE_FLOW</Val>
54 <Val>GAS_POST_FLOW</Val>
55 <Val>LSR_DLY</Val>
56 </PList>
57 <InlineForm Name="MyCmd">
58 <FLD Name="MyFold" />
59 </InlineForm>
60 <InlineForm Name="ILF_With_ParamList">
61 <FLD Name="PFold" />
62 <PRM Name="ParamList" />
63 <PRM Name="TESTBOOL" />
64 </InlineForm>
65 </Application>
Line Description
1 … 65 Definition of the technology MyTech
2 … 4 Definition of the parameter ParamList
Type: NAME
This parameter is used to call a parameter list with a laser
data set in the inline form.
Note: Only parameters of type NAME can be linked with a
parameter list.
5 … 28 Definition of the parameters of the laser data set
Type: NUMBER
$config.dat
The structure data type LSC_TOOL_TYP and the default values of the
structure data type must be defined in $config.dat.
Section “Userdefined Types” in the USER GLOBALS fold:
Programming
Inline form
Item Description
1 Name of the technology
2 List box containing the inline forms of the technology package
• MyCmd
• ILF_With_ParamList
3 Name of the laser data set
The arrow is used to call the parameter list with the laser data
set.
4 Check box for switching the laser water on/off
Parameter list
The parameters of the laser data set are set in the PLTOOL option win-
dow.
A View A 4 SNSR_PRG
B View B 5 GAS_PRESSURE
1 LSR_MAX_PWR 6 GAS_PRE_FLOW
2 LSR_MIN_PWR 7 GAS_POST_FLOW
3 LSR_PRG 8 LSR_DLY
Description
Programming
Overview
Step Description
1 Define the status keys.
(>>> 6.10.1 "<StatKey>: defining a status key" Page 55)
2 Define the status key bar.
(>>> 6.10.2 "<StatkeyBar>: defining a status key bar"
Page 61)
3 Define scripts that are to be executed in the case of user
actions, e.g. press, release or hold down status key.
(>>> 6.11 "Programming scripts" Page 62)
Description
Syntax
<StatKey>
Element Description
Name Name of the status key
Enable Activation/deactivation of a status key
Element Description
UserMode Identification number of the lowest user group for
which the status key is active.
• #SWITCH
Single status key
One key is assigned to a single status key. The
key always has the PLUS function.
• #TOGGLE
Double status key
2 keys are assigned to a double status key. The
top key takes the PLUS function. The bottom key
takes the MINUS function.
Default, if Style is not defined: #SWITCH
Next Name of the next status key
<Picture />
Element Description
Default Path for the graphic displayed next to the status key
on the side panel of the smartHMI
KeyDown Path for the graphic displayed next to the status key
on the side panel of the smartHMI if the key with the
PLUS function is pressed
KeyDownMinus Path for the graphic displayed next to the status key
on the side panel of the smartHMI if the key with the
MINUS function is pressed
(>>> 6.10.1.1 "Image sizes" Page 58)
(>>> 6.10.1.2 "Layout" Page 59)
<Text />
Element Description
Top Text displayed next to the status key on the side pan-
el of the smartHMI (top)
Center Text displayed next to the status key on the side pan-
el of the smartHMI (centered)
Bottom Text displayed next to the status key on the side pan-
el of the smartHMI (bottom)
<Needs />
Programming
Element Description
SafetySwitch Activation of status key with enabling switch
• Free (2)
• Stop (4)
• Reset (8)
• End (16)
• Active (32)
If the status key is to be active in more than one op-
erating state, the values can be arranged consecu-
tively using the linking character “|”, e.g. Stop|End.
Default, if Prostate0 is not defined: status key is
active if a submit interpreter is running (= state Ac-
tive).
Note: An operating state can also be specified as a
decimal value and multiple operating states as added
decimal values, e.g. Stop|End = 20 (= 4+16).
Prostate Status key is active dependent on the operating state
of the robot interpreter.
• Free (2)
• Stop (4)
• Reset (8)
• End (16)
• Active (32)
If the status key is to be active in more than one op-
erating state, the values can be arranged consecu-
tively using the linking character “|”, e.g. Stop|End.
Default, if Prostate is not defined: status key is ac-
tive if a robot interpreter is not running (= state Free|
Stop|Reset|End).
Note: An operating state can also be specified as a
decimal value and multiple operating states as added
decimal values, e.g. Stop|End = 20 (= 4+16).
Element Description
ModeOp Status key is active dependent on the operating
mode.
• T1 (1)
• T2 (2)
• Aut (4)
• Ext (8)
If the status key is to be active in more than one op-
erating mode, the values can be arranged consecu-
tively using the linking character “|”, e.g. T1|T2.
Default, if ModeOp is not defined: status key is active
in T1, T2 and AUT (= state T1|T2|AUT).
Note: An operating mode can also be specified as a
decimal value and multiple operating modes as add-
ed decimal values, e.g. T1|T2 = 3 (= 1+2).
<Scripts />
Element Description
OnKeyDown Name of the script that is run when the key with the
PLUS function is pressed
OnKeyUp Name of the script that is run when the key with the
PLUS function is released
OnKeyShow Name of the script that is run when the key is called
via the main menu
OnKeyDown Name of the script that is run when the key with the
Minus MINUS function is pressed
OnKeyUpMinus Name of the script that is run when the key with the
MINUS function is released
OnKeyRepeat Name of the script that is run when the key with the
PLUS function is held down for longer
The script is repeatedly triggered until the key is re-
leased. The interval between repetitions becomes
shorter and shorter.
OnKeyRepeat Name of the script that is run when the key with the
Minus MINUS function is held down for longer
The script is repeatedly triggered until the key is re-
leased. The interval between repetitions becomes
shorter and shorter.
6.10.1.2 Layout
Programming
The specifications described here must be observed to ensure that the
graphics are optimally displayed next to the status keys on the smartHMI.
Background Color
If the graphic used has a background color that differs from that of the
smartHMI, this background is visible on the smartHMI.
If only the icon, and not the surrounding area, is to be visible on the
smartHMI, the following options are available depending on the specific
file type:
• Graphic of type *.ICO or *.PNG:
Define areas around the icon as transparent areas.
• Graphic of type *.BMP:
Color the area around the icon the same gray color as the smartHMI:
‒ Gray in RGB: R:160, G:165, B:170
Programming
6.10.2 <StatkeyBar>: defining a status key bar
Description
Syntax
<StatkeyBar Name="Name">
<SK Name="Name1" Pos="Number" />
...
<SK Name="Name4" Pos="Number" />
</StatkeyBar>
Element Description
Name Name of the status key bar
Note: The name of the status key bar must be unam-
biguous for all technology packages.
Name1 Names of status keys 1 … 4
… (>>> 6.10.1 "<StatKey>: defining a status key"
Page 55)
Name4
If Pos is not defined for any of the status keys, the
order in which the status keys are specified here cor-
responds to the sequence in which they are dis-
played (from top to bottom).
Pos Position of the status key
• 1 … 4
If, for example, Pos=3 is defined for the first
specified status key, it will be assigned to the third
status key from the top. Assuming that Pos is not de-
fined for the next status key, it will be assigned to the
next free position starting with the first status key
from the top.
Description
Syntax
Element Description
Name Name of the status key or status key bar that is to
be set
Once the name has been set, all attributes of the sta-
tus key or status key bar can be redefined.
(>>> 6.10.1 "<StatKey>: defining a status key"
Page 55)
(>>> 6.10.2 "<StatkeyBar>: defining a status key bar"
Page 61)
Description
Define a script.
Scripts can be defined for inline forms and status keys. These scripts can
be used to perform the following actions:
• Create KRL variables
• Read and write KRL variables
• Read and set the state of outputs
• Read and set the state of inputs
• Generate messages
• Generate user dialogs
Syntax
<Script Name="Name">
Actions
Programming
</Script>
Element Description
Name Name of the script to be called
Actions Actions to be executed with the script
(>>> 6.11.2 "<SetVar…/>: setting a variable"
Page 63)
(>>> 6.11.3 "<ShowVar…/>: reading a variable"
Page 64)
(>>> 6.11.4 "<Redecl…/>: creating or overwriting a
variable" Page 64)
(>>> 6.11.5 "<Do Script…/>: executing a script"
Page 65)
(>>> 6.11.6 "<Message…/>: defining a message"
Page 66)
(>>> 6.11.7 "<Switch Dialog ="FALSE"…>: requesting
a variable and executing a script" Page 67)
(>>> 6.11.8 "<Switch Dialog ="TRUE"...>: displaying a
dialog and executing a script" Page 70)
Description
Set variable.
The value of a variable can be modified within a script.
Syntax
Element Description
Fullpath Name of the variable to be set.
The parameter reference placeholders in the string
are replaced by the current values. The string is inter-
preted as a variable name with path specification.
Value Value of the variable to be set.
The parameter reference placeholders in the string
are replaced by the current values. The string is inter-
preted as a target value.
Example
<Application Name="MyTech">
<Script Name="Example">
<SetVar Fullpath="$OUT[20]" Value="True" />
</Script>
</Application>
• $OUT[20]==True
Description
Read a variable.
The value of a variable can be read within a script.
Syntax
Element Description
Fullpath Name of the variable to be read.
The parameter reference placeholders in the string
are replaced by the current values. The string is inter-
preted as a variable name with path specification.
Param Name of the parameter into which the read value is
to be written
Example
<Application Name="MyTech">
<Param Name="MyParam">
<Value Type="FREE" Default=""/>
</Param>
<Script Name="Example">
<ShowVar Fullpath="$MODE_OP" Param="MyParam" />
<Message Text="$MODE_OP=%MyParam/" />
</Script>
</Application>
After execution of the script with a program selected in T1 mode, the fol-
lowing message is displayed in the message window:
• $MODE_OP=#T1
Description
Syntax
Programming
Explanation of the syntax
Element Description
Global Scope of the variable
Example
<Script Name="Example">
<Redecl Path="%MODULE/" Declaration=
"DECL AXIS AnyPoint = {A1 09, A2 -90, A3 90, A4 0, A5 0,
A6 0}" />
</Script>
DEFDAT TEST
EXTERNAL DECLARATIONS
DECL AXIS AnyPoint={A1 9.00000, A2 -90.00000, A3 90.00000,
A4 0.0, A5 0.0, A6 0.0}
ENDDAT
Description
Execute script.
Syntax
Element Description
Script Name of the script to be executed
(>>> 6.11.1 "<Script>: defining a script" Page 62)
Name Description
ACCEPTINLINEFORM Only usable with OnAccept scripts
The inline form is closed and the modified parameters are ap-
plied.
(>>> 6.8.6 "<InlineForm>: defining an inline form" Page 37)
CANCELINLINEFORM Only usable with OnAccept scripts
The inline form is closed and the modified parameters are not
applied.
(>>> 6.8.6 "<InlineForm>: defining an inline form" Page 37)
END The currently running script is aborted.
NOTHING Placeholder for script
Description
Define a message.
A message that is displayed in the message window of the KUKA smartH-
MI can be defined within a script.
Syntax
Element Description
Text Message to be displayed
The parameter reference placeholders in the string
are replaced by the current values. The string is used
as a key in the language file with the texts to be
translated.
(>>> 6.7 "Language files" Page 23)
Example
<Application Name="MyTech">
<Param Name="MyParam">
<Value Type="FREE" Default=""/>
</Param>
<Script Name="Example">
<ShowVar Fullpath="$MODE_OP" Param="MyParam" />
<Message Text="$MODE_OP=%MyParam/" />
</Script>
</Application>
After execution of the script with a program selected in T1 mode, the fol-
lowing message is displayed in the message window:
• $MODE_OP=#T1
Programming
6.11.7 <Switch Dialog ="FALSE"…>: requesting a variable and executing a
script
Description
Syntax
Element Description
Condition Name of the variable to be polled
The parameter reference placeholders in the string
are replaced by the current values. The string is inter-
preted as a variable name with path specification.
The following keywords can be used with a Switch
statement in an OnOpen script:
• IsChange
Various different scripts can be executed, depend-
ing on how the inline form is opened:
‒ Case Value="True":
The script specified here is executed if the in-
line form was opened by pressing Change.
‒ Case Value="False":
The script specified here is executed if the in-
line form was opened via the Commands
menu.
• DoAlways
In the case of Case Value="True", the OnOpen
script is also executed on toggling between 2
UserTech inline forms.
String1 Result of the request (Case 1 … N)
… All parameter reference placeholders in a string are
replaced in the program by the values selected in the
StringN
inline form.
Element Description
Script1 Name of the script that is to be executed if case 1 …
N occurs
…
ScriptN
ScriptElse Name of the script that is to be executed if none of
the cases 1 … N occurs
Examples
Description
KFDx file
1 <Application Name="TestScript">
2 <Script Name="ChangeTest">
3 <Message Text="Fired only when ILF is changed!" />
4 </Script>
5 <Script Name="CreateTest">
6 <Message Text="Fired only when ILF is created!" />
7 </Script>
8 <Script Name="OpenTest">
9 <Switch Dialog="FALSE" Condition="IsChange">
10 <Case Value="True" Do="ChangeTest" />
11 <Case Value="False" Do="CreateTest" />
12 </Script>
13 <Script Name="CloseTest">
14 <Message Text="Fired when ILF is closed!" />
15 <Do Script="AcceptInlineForm" />
16 </Script>
17 <Fold Name="TestFold">
18 <Line>/;only for testing OnOpen event</Line>
19 </Fold>
20 <InlineForm Name="TestIlf" OnOpen="OpenTest"
OnAccept="CloseTest">
21 <FLD Name="TestFold" />
22 </InlineForm>
23 </Application>
Programming
Line Description
2 … 7 Definition of the scripts for the IsChange request that are to
be executed dependent on the result of the query
8 … 12 Definition of the OnOpen script with the IsChange request
which is to be executed on opening the inline form
• Case Value="True":
The script specified here is executed if the inline form
was opened by pressing Change.
• Case Value="False":
The script specified here is executed if the inline form
was opened via the Commands menu.
13 … 16 Definition of the OnAccept script which is to be executed on
closing the inline form
20 … 22 Definition of the inline form
Description
KFDx file
1 <Application Name="TestScript">
2 <Script Name="Script1">
3 <Message Text="Fired only once!" />
4 </Script>
5 <Script Name="AllOverScript">
6 <Message Text="Fired always!" />
7 </Script>
8 <Script Name="Script2">
9 <Switch Dialog="FALSE" Condition="DoAlways">
10 <Case Value="True" Do="AllOverScript" />
11 </Script>
12 <Fold Name="TestFold">
13 <Line>/;only for testing OnOpen event</Line>
14 </Fold>
15 <InlineForm Name="TestIlf1" OnOpen="TestScript1">
16 <FLD Name="TestFold" />
17 </InlineForm>
18 <InlineForm Name="TestIlf2" OnOpen="TestScript2">
19 <FLD Name="TestFold" />
20 </InlineForm>
21 </Application>
Line Description
2 … 4 Definition of the OnOpen script that is to be executed if an
inline form is opened by pressing Change or via the Com-
mands menu
5 … 7 Definition of the script for the DoAlways request
Line Description
8 … 12 Definition of the OnOpen script with the DoAlways request
which is to be executed every time an inline form is
opened.
15 … 20 Definition of the inline forms
Description
Syntax
Element Description
Condition Message text displayed in the dialog
The parameter reference placeholders in the string
are replaced by the current values. The string is used
as a key in the language file with the texts to be
translated.
(>>> 6.7 "Language files" Page 23)
String1 Answers 1 … 7 that are displayed on the buttons in
the dialog
…
If no string is defined, no button is displayed.
String7
The parameter reference placeholders in the string
are replaced by the current values. The string is used
as a key in the language file with the texts to be
translated.
(>>> 6.7 "Language files" Page 23)
Script1 Names of scripts 1 … 7 that are executed depending
on the answer
…
Script7
Configuration
7 Configuration
Description
Templates
• Technology: MyTech
• Inline forms: MyCmd and Ilf_With_ParamList
(>>> 6.9.4 "MyTech technology" Page 50)
TestStat.kfdx
Programming example for status keys
• Technology: StatkeyTest
• Status key bar: Test
Configuration files:
Directory C:\KRC\TP\UserTech\SmartHMI
Files SmartHMI.exe.UserTech.InlineForms.config
With configuration example for inline forms on the
smartHMI
(>>> 7.1.1 "Menu structure for inline forms"
Page 72)
SmartHMI.exe.UserTech.KeyBar.config
With configuration example for status keys on the
smartHMI
(>>> 7.1.2 "Menu structure for status key bars"
Page 73)
Examples
The menu structure for calling inline forms is predefined. The variable val-
ues are highlighted in the example.
1 <KukaRoboter.SmartHMI.Menu type="KukaRoboter.SmartHMI.…">
2 <!-- Menue tree of UserTech InlineForms -->
3 <MenuRoot SystemName="CommandMenu">
4 <MenuFolder DisplayName="UserTechILFs#UserTech" MergeOrder="902">
5 <MenuItem DisplayName="UserTechILFs#MyCmd" MergeOrder="110">
6 <CommandCall Target="LegacyLoader.InvokeModuleProc">
7 <Argument Name="PlugInName">INLINEFORM</Argument>
8 <Argument Name="ProcID">2011</Argument>
9 <Argument Name="ParamList">Kuka.UserTech;MYTECH;MyCmd</Argument>
10 </CommandCall>
11 </MenuItem>
12 <MenuItem DisplayName="UserTechILFs#Ilf_With_ParamList" MergeOrder="120">
13 ...
14 </MenuItem>
15 </MenuFolder>
16 </MenuRoot>
17 </KukaRoboter.SmartHMI.Menu>
Line Description
3, 16 The element MenuRoot defines the menu in which the in-
line form is called.
CommandMenu = Commands menu
4, 15 The element MenuFolder adds a menu item to the Com-
mands menu, in this case the menu item UserTech.
Attributes:
• DisplayName
Name of the menu item in the menu
The name can be used as a key in the UserTe-
chILFs.kxr language file.
• MergeOrder
Position of the menu item in the menu
5, 11 The element MenuItem adds a menu item to the Com-
mands menu > UserTech, in this case the menu item
MyCmd.
Attributes:
• DisplayName
Name of the menu item in the menu.
The name can be used as a key in the UserTe-
chILFs.kxr language file.
• MergeOrder
Position of the menu item in the menu
Menu items inserted using MenuItem must be assigned a
function.
6, 10 The element CommandCall calls the function of the menu
item, in this case the inline form MyCmd.
Configuration
Line Description
7 … 9 The function call for an inline form contains the following
Argument elements:
• PlugInName
Name of the function module:
‒ INLINEFORM
• ProcID
Number of the function module:
‒ 2011
• ParamList
Parameters of the function module:
‒ Kuka.UserTech
‒ MYTECH: The name of the technology, defined in
the KFDx file, in which the inline form is defined
‒ MyCmd: The name of the inline form, defined in the
KFDx file
12, 14 The element MenuItem adds a further menu item to the
Commands menu > UserTech, in this case the menu item
Ilf_With_ParamList.
Attributes:
• DisplayName
Name of the menu item in the menu
The name can be used as a key in the UserTe-
chILFs.kxr language file.
• MergeOrder
Position of the menu item in the menu
The menu structure for calling a status key bar is predefined. The variable
values are highlighted in the example.
1 <KukaRoboter.SmartHMI.Menu type="KukaRoboter.SmartHMI.…">
2 <MenuRoot SystemName="MainMenu">
3 <MenuFolder SystemName="Config">
4 <MenuFolder SystemName="ConfigStatKeys">
5 <MenuFolder DisplayName="UserTech">
6 <MenuItem DisplayName="Test" MergeOrder="100">
7 <CommandCall Target="UserkeyBarManager.OpenUserkeyBar"
Right="OperationTP">
8 <Argument
Name="UserkeyBarRepository">KukaRoboter.UserTech.StatKeys.ViewModels.Userkey
BarRepository</Argument>
9 <Argument Name="UserkeyBarID">Test</Argument>
10 </CommandCall>
11 </MenuItem>
12 </MenuFolder>
13 </MenuFolder>
14 </MenuFolder>
15 </MenuRoot>
16 </KukaRoboter.SmartHMI.Menu>
Line Description
2, 15 The element MenuRoot defines the menu in which the sta-
tus key bar is called.
MainMenu = main menu
3, 14 The two MenuFolder elements form the menu in the main
4, 13 menu in which the status key bar is called.
• DisplayName
Name of the menu item in the menu
6, 11 The element MenuItem adds a menu item to the Configu-
ration menu > Status keys > UserTech, in this case the
menu item Test.
Attributes:
• DisplayName
Name of the menu item in the menu.
• MergeOrder
Position of the menu item in the menu
Menu items inserted using MenuItem must be assigned a
function.
7, 10 The element CommandCall calls the function of the menu
item, in this case the status key bar Test.
9 UserkeyBarID is used to specify the name, defined in the
KFDx file, of the status key bar that is to be called, in this
case the status key bar Test.
Description
Templates
Configuration
Directory C:\ProgramData\KUKA Roboter GmbH\WorkVisual
\6.0\OptionPackages\UserTech\WorkVisual
File MyTech.kfdx
Programming example for inline forms
• Technology: MyTech
• Inline forms: MyCmd and Ilf_With_ParamList
(>>> 6.9.4 "MyTech technology" Page 50)
Configuration file:
Directory C:\ProgramData\KUKA Roboter GmbH\WorkVisual
\6.0\OptionPackages\UserTech\WorkVisual
File WorkVisual.exe.UserTech.InlineForms.config
With configuration example for inline forms in WorkVi-
sual
(>>> "Configuration file" Page 76)
Precondition
The user-defined inline forms can only be called under the following con-
ditions in WorkVisual:
• KUKA.UserTech is installed in WorkVisual.
• KUKA.UserTech is inserted as an option in the project.
Procedure
2. Click on the button or press CTRL + Enter. The context menu with the
available inline forms is displayed.
3. Select the desired inline form, e.g. the inline form UserTech >
MyCmd.
Configuration file
Line Description
8 New menu item in the context menu; here, UserTech
9 New submenu item in the context menu; here, MyCmd
Attributes:
• Provider=Kuka.UserTech
Name of the option package that provides the inline
form; is always Kuka.UserTech
• DisplayName="Menubar#MyCmd"
Name of the submenu item in the context menu
• Command="MYTECH"
The name of the technology, defined in the KFDx file, in
which the inline form is defined
• Variant="MyCmd"
The name of the inline form, defined in the KFDx file
Configuration
Line Description
10 New submenu item in the context menu; here,
Ilf_With_ParamList
Attributes:
• Provider=Kuka.UserTech
Name of the option package that provides the inline
form; is always Kuka.UserTech
• DisplayName="Menubar#Ilf_With_ParamList"
Name of the submenu item in the context menu
• Command="MYTECH"
The name of the technology, defined in the KFDx file, in
which the inline form is defined
• Variant="Ilf_With_ParamList"
The name of the inline form, defined in the KFDx file
Group
1 <KukaRoboter.InlineFormCommands
type="KukaRoboter.Technology.InlineFormCommand, KukaRoboter.Technology">
2 <InlineFormCommand DisplayName="UserTechILFs#UserTech"
3 <InlineFormCommand Provider="Kuka.UserTech" DisplayName="MenuBar#MyCmd"
Command="MYTECH" Variant="MyCmd"/>
4 <InlineFormCommand Provider="Kuka.UserTech"
DisplayName="MenuBar#Ilf_With_ParamList" Command="MYTECH"
Variant="ILF_With_ParamList"/>
5
6 <InlineFormCommand DisplayName="testSubMenue">
7 <InlineFormCommand Provider="Kuka.UserTech" DisplayName="SubMyCmd"
Command="MYTECH" Variant="MyCmd"/>
8 <InlineFormCommand Provider="Kuka.UserTech"
DisplayName="SubMyCmdwithParamList" Command="MYTECH"
Variant="ILF_With_ParamList"/>
9 </InlineFormCommand>
10
11 </InlineFormCommand>
12 </KukaRoboter.InlineFormCommands>
Constraints
For inline forms that also use scripts, it must be noted that runtime varia-
bles are not available in WorkVisual or are only available with “incorrect”
dummy values.
If, for example, the current position $POS_ACT is to be compared in the
inline form with another position using a script, this will always result in in-
correct values in WorkVisual. $POS_ACT is always the same in WorkVisu-
al, i.e. a position that a robot can definitely never reach. This ensures that
points with this position are taught using the smartPAD.
KFDx file
Line Description
1 … 30 Definition of the Twinkle technology
2 … 8 Definition of the fold “One”
9 … 19 Definition of the fold “Two”
Trigger to deactivate the laser
Configuration
Line Description
20 … 22 Definition of the inline form “Twinkle.once”
The following fold is assigned to the inline form:
• One
23 … 25 Definition of the inline form “Twinkle.twice”
The following fold is assigned to the inline form:
• Two
26 … 29 Definition of the inline form “Twinkle.triple”
The following folds are assigned to the inline form:
• One
• Two
Description
The menu item BlinkTech is added at the third position in the Com-
mands menu > UserTech and calls the inline form Twinkle.twice.
Configuration file
<KukaRoboter.SmartHMI.Menu type="KukaRoboter.SmartHMI.…">
<!-- Menue tree of UserTech InlineForms -->
<MenuRoot SystemName="CommandMenu">
<MenuFolder DisplayName="UserTechILFs#UserTech"
MergeOrder="902">
<MenuItem DisplayName="UserTechILFs#MyCmd"
MergeOrder="110">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">Kuka.UserTech;MYTECH;MyCmd</
Argument>
</CommandCall>
</MenuItem>
<MenuItem DisplayName="UserTechILFs#Ilf_With_ParamList"
MergeOrder="120">
...
</MenuItem>
<MenuItem DisplayName="UserTechILFs#BlinkTech"
MergeOrder="130">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">Kuka.UserTech;Twinkle;twice</
Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuRoot>
</KukaRoboter.SmartHMI.Menu>
Description
The menu item BlinkTech is added at the second position in the menu
Commands > UserTech. The BlinkTech submenu contains the menu
items One, Two and Three.
• Menu item One calls the inline form Twinkle.once.
• Menu item Two calls the inline form Twinkle.twice.
• Menu item Three calls the inline form Twinkle.triple.
Configuration file
<KukaRoboter.SmartHMI.Menu type="KukaRoboter.SmartHMI.…">
<!-- Menue tree of UserTech InlineForms -->
<MenuRoot SystemName="CommandMenu">
<MenuFolder DisplayName="UserTechILFs#UserTech"
MergeOrder="902">
<MenuItem DisplayName="UserTechILFs#MyCmd"
MergeOrder="110">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">Kuka.UserTech;MYTECH;MyCmd</
Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
<MenuFolder DisplayName="UserTechILFs#BlinkTech"
MergeOrder="903">
<MenuItem DisplayName="UserTechILFs#One" MergeOrder="110">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">Kuka.UserTech;Twinkle;once</
Argument>
</CommandCall>
</MenuItem>
<MenuItem DisplayName="UserTechILFs#Two" MergeOrder="120">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">Kuka.UserTech;Twinkle;twice</
Argument>
</CommandCall>
</MenuItem>
<MenuItem DisplayName="UserTechILFs#Three"
MergeOrder="130">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
Configuration
<Argument
Name="ParamList">Kuka.UserTech;Twinkle;triple</Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuRoot>
</KukaRoboter.SmartHMI.Menu>
KFDx file
1 <Application Name="Glue">
2 <StatKey Name="Key4">
3 <Picture Default="C:\KRC\TP\USERTECH\TEMPLATE\PICTURES
\Rinse1.BMP" />
4 <Text Top="Rinse" Bottom="On" />
5 <Needs Prostate0="Free|Stop|Reset|End|Active" />
6 </StatKey>
7 <Script Name="ScriptKeyUp">
8 <SetVar Fullpath="$OUT[2]" Value="False" />
9 <Set Name="Key4">
10 <Picture Default="C:\KRC\TP\USERTECH\TEMPLATE\PICTURES
\Rins12.BMP" />
11 <Text Bottom="On" />
12 </Set>
13 </Script>
14 <Script Name="ScriptKeyDown">
15 <SetVar Fullpath="$OUT[2]" Value="True" />
16 <Set Name="Key4">
17 <Picture Default="C:\KRC\TP\USERTECH\TEMPLATE\PICTURES
\Rinse2.BMP" />
18 <Text Bottom="Off" />
19 </Set>
20 </Script>
21 <Set Name="Key4">
22 <Scripts OnKeyDown="ScriptKeyDown"
OnKeyUp="ScriptKeyUp" />
23 </Set>
24 <StatkeyBar Name="Bar4">
25 <SK Name="Key4" Pos="4" />
26 </StatkeyBar>
27 </Application>
Line Description
1 … 27 Definition of the technology
2 … 6 Definition of the status key
5 The status key is always active, irrespective of the operat-
ing states of the submit interpreter.
7 … 13 Definition of the script that is to be executed when the sta-
tus key is released
14 … 20 Definition of the script that is to be executed when the sta-
tus key is pressed
21 … 23 Setting of the status key
Line Description
24 … 26 Definition of the status key bar
The status key bar consists of a single status key. The sta-
tus key is at the fourth position (= last status key from the
top).
Description
The menu item Rinse is inserted at the first position in the main menu
Configuration > Status keys and calls the status key bar of the technol-
ogy package.
Configuration file
1 <KukaRoboter.SmartHMI.Menu type="KukaRoboter.SmartHMI.…">
2 <MenuRoot SystemName="MainMenu">
3 <MenuFolder SystemName="Config">
4 <MenuFolder SystemName="ConfigStatKeys">
5 <MenuItem DisplayName="Rinse" MergeOrder="100">
6 <CommandCall
Target="UserkeyBarManager.OpenUserkeyBar"
Right="OperationTP">
7 <Argument
Name="UserkeyBarRepository">KukaRoboter.UserTech.StatKeys.
ViewModels.UserkeyBarRepository</Argument>
8 <Argument Name="UserkeyBarID">Bar4</Argument>
9 </CommandCall>
10 </MenuItem>
11 </MenuFolder>
12 </MenuFolder>
13 </MenuRoot>
14 </KukaRoboter.SmartHMI.Menu>
KFDx file
1 <Application Name="DispSet">
2 <Param Name="Bright">
3 <Value Type="NUMBER" Min="" Max="" />
4 </Param>
5 <Param Name="Cont">
6 <Value Type="NUMBER" Min="" Max="" />
7 </Param>
8 <Param Name="Temp">
9 <Value Type="NUMBER" Min="" Max="" />
10 </Param>
11 <Script Name="BrightHigh">
12 <ShowVar Fullpath="$PHGBRIGHT" Param="Bright" />
13 <SetVar Fullpath="$PHGBRIGHT" Value"%Bright +1" />
14 <ShowVar Fullpath="$PHGBRIGHT" Param="Bright" />
15 <ShowVar Fullpath="$PHGCONT" Param="Cont" />
16 <ShowVar Fullpath="$PHGTEMP" Param="Temp" />
17 <Message Text="Brightness Level: %Bright Contrast
Level: %Cont Display Temperature: %Temp °C" />
18 </Script>
Configuration
19 <Script Name="BrightLow">
20 <ShowVar Fullpath="$PHGBRIGHT" Param="Bright" />
21 <SetVar Fullpath="$PHGBRIGHT" Value"%Bright -1" />
22 <ShowVar Fullpath="$PHGBRIGHT" Param="Bright" />
23 <ShowVar Fullpath="$PHGCONT" Param="Cont" />
24 <ShowVar Fullpath="$PHGTEMP" Param="Temp" />
25 <Message Text="Brightness Level: %Bright Contrast
Level: %Cont Display Temperature: %Temp °C" />
26 </Script>
27 <Script Name="ContHigh">
28 <ShowVar Fullpath="$PHGCONT" Param="Cont" />
29 <SetVar Fullpath="$PHGCONT" Value"%Cont +1" />
30 <ShowVar Fullpath="$PHGCONT" Param="Cont" />
31 <ShowVar Fullpath="$PHGBRIGHT" Param="Bright" />
32 <ShowVar Fullpath="$PHGTEMP" Param="Temp" />
33 <Message Text="Brightness Level: %Bright Contrast
Level: %Cont Display Temperature: %Temp °C" />
34 </Script>
35 <Script Name="ContLow">
36 <ShowVar Fullpath="$PHGCONT" Param="Cont" />
37 <SetVar Fullpath="$PHGCONT" Value"%Cont -1" />
38 <ShowVar Fullpath="$PHGCONT" Param="Cont" />
39 <ShowVar Fullpath="$PHGBRIGHT" Param="Bright" />
40 <ShowVar Fullpath="$PHGTEMP" Param="Temp" />
41 <Message Text="Brightness Level: %Bright Contrast
Level: %Cont Display Temperature: %Temp °C" />
42 </Script>
43 <StatKey Name="Brightness" Enable="True" UserMode="10"
Style="#TOGGLE">
44 <Picture Default="C:\KRC\TP\USERTECH\TEMPLATE\PICTURES
\PHGBRIGHT.BMP" />
45 <Scripts OnKeyDown="BrightHigh"
OnKeyDownMinus="BrightLow" />
46 </StatKey>
47 <StatKey Name="Contrast" Enable="True" UserMode="10"
Style="#TOGGLE">
48 <Picture Default="C:\KRC\TP\USERTECH\TEMPLATE\PICTURES
\PHGCONT.BMP" />
49 <Scripts OnKeyDown="ContHigh"
OnKeyDownMinus="ContLow" />
50 </StatKey>
51 <StatkeyBar Name="Bar">
52 <SK Name="Brightness" Pos="1" />
53 <SK Name="Contrast" Pos="3" />
54 </StatkeyBar>
55 </Application>
Line Description
1 … 27 Definition of the technology
2 … 10 Definition of the parameters used in the scripts
11 … 18 Definition of the script “BrightHigh”
When the script is called, the value of the system variable
$PHGBRIGHT is increased by 1.
19 … 26 Definition of the script “BrightLow”
When the script is called, the value of the system variable
$PHGBRIGHT is decreased by 1.
Line Description
27 … 34 Definition of the script “ContHigh”
When the script is called, the value of the system variable
$PHGCONT is increased by 1.
35 … 42 Definition of the script “ContLow”
When the script is called, the value of the system variable
$PHGCONT is decreased by 1.
43 … 46 Definition of the status key “Brightness”
The brightness can be set using the double status key.
Description
The menu item Display is inserted at the second position in the main
menu Configuration > Status keys and calls the status key bar of the
technology package.
Configuration file
1 <KukaRoboter.SmartHMI.Menu type="KukaRoboter.SmartHMI.…">
2 <MenuRoot SystemName="MainMenu">
3 <MenuFolder SystemName="Config">
4 <MenuFolder SystemName="ConfigStatKeys">
5 <MenuItem DisplayName="Rinse" MergeOrder="100">
6 <CommandCall
Target="UserkeyBarManager.OpenUserkeyBar"
Right="OperationTP">
7 <Argument
Name="UserkeyBarRepository">KukaRoboter.UserTech.StatKeys.
ViewModels.UserkeyBarRepository</Argument>
8 <Argument Name="UserkeyBarID">Bar4</Argument>
9 </CommandCall>
10 </MenuItem>
11 <MenuItem DisplayName="Display" MergeOrder="200">
12 <CommandCall
Target="UserkeyBarManager.OpenUserkeyBar"
Right="OperationTP">
13 <Argument
Name="UserkeyBarRepository">KukaRoboter.UserTech.StatKeys.
ViewModels.UserkeyBarRepository</Argument>
14 <Argument Name="UserkeyBarID">Bar</Argument>
Configuration
15 </CommandCall>
16 </MenuItem>
17 </MenuFolder>
18 </MenuFolder>
19 </MenuRoot>
20 </KukaRoboter.SmartHMI.Menu>
Archiving
8 Archiving
Target locations
Description
Precondition
NOTICE
A non-bootable USB stick must be used.
We recommend using a non-bootable KUKA stick. Data may be lost if a
stick from a different manufacturer is used.
Procedure
1. In the main menu, select File > Archive > USB (KCP) or USB (cabi-
net) or Network and then select the menu item All.
If archiving is carried out using the menu item All and there is an
existing archive present, this will be overwritten.
2. Confirm the request for confirmation with Yes. The archive is created.
Once the archiving is completed, this is indicated in the message win-
dow.
3. If data were archived to a USB stick: The stick can now be removed.
CAUTION
Risk of injury due to archive from a different KSS version
Only archives from the same KSS version may be loaded into KSS. For
example:
• Only KSS 8.6 archives in KSS 8.6
• Only KSS 8.7 archives in KSS 8.7
If other archives are loaded, the following may occur:
• Error messages
• Robot controller is not operable.
• Personal injury and damage to property.
Description
If the archived files are not the same version as the files present in the
system, an error message is generated during restoration.
Similarly, if the version of the archived technology packages does not
match the installed version, an error message is generated.
Precondition
NOTICE
A non-bootable USB stick must be used.
We recommend using a non-bootable KUKA stick. Data may be lost if a
stick from a different manufacturer is used.
Procedure
1. In the main menu, select File > Restore > USB (KCP) or USB (cabi-
net) or Network and then select the menu item All.
2. Confirm the request for confirmation with Yes. Archived files are re-
stored to the robot controller.
A message indicates completion of the restoration process.
3. If data have been restored from a USB stick: The stick can now be re-
moved.
4. Reboot the robot controller.
KUKA Service
9 KUKA Service
Introduction
Information
Index Layout............................................................. 59
Licenses............................................................8
#SWITCH........................................................56
#TOGGLE....................................................... 56
$...................................................................... 22
$config.dat................................................ 47, 49 M
Message text, defining................................... 20
Message, defining.......................................... 66
A Misuse.............................................................10
Archiving......................................................... 87
Areas of validity..............................................22
ASS.................................................................46 N
ASSAGG.........................................................46 Naming conventions....................................... 22
C O
Configuration...................................................71 Open source..................................................... 8
Converter....................................................9, 17 Operation........................................................ 17
Overview, KFDx syntax.................................. 19
D
Data set structure, for parameter list...... 19, 48 P
DFCT.............................................................. 45 Parameter list, defining............................19, 48
Documentation, industrial robot....................... 7 Parameter list, programming..........................47
DSUB.............................................................. 43 Parameter reference.......................................21
Parameter references.....................................22
Parameter types............................................. 29
F Parameter, defining.................................. 19, 27
FCT................................................................. 44 Product description...........................................9
Fold, defining............................................19, 36 Programming.................................................. 19
Format types...................................................42
R
I Required knowledge/skills................................ 7
Image sizes.................................................... 58
Inline form, defining................................. 19, 37
Inline forms, integrating in WorkVisual.......... 74 S
Inline forms, integrating into smartHMI......... 71 Safety.............................................................. 11
Installation.......................................................13 Safety instructions............................................ 7
via smartHMI............................................. 14 Script, defining......................................... 20, 62
via WorkVisual...........................................13 Script, executing.......................................20, 65
Intended use...................................................10 Scripts, predefined..........................................66
Introduction....................................................... 7 Scripts, programming..................................... 62
smartHMI.......................................................... 8
smartHMI configuration file, converting......... 17
K smartPAD..........................................................8
Special characters.......................................... 20
Keywords........................................................ 22
Status key bar, defining...........................19, 61
KFD...................................................................8
Status key bar, setting...................... 19, 20, 61
KFD file, converting........................................17
Status key, defining..................................19, 55
KFDx................................................................. 8
Status key, setting............................. 19, 20, 61
KFDx file, creating..........................................25
Status keys, integrating into smartHMI......... 71
KFDx, syntax overview...................................19
Status keys, programming............................. 54
KRL................................................................... 8
String.................................................................8
KUKA Customer Support............................... 89
Strings.............................................................21
KUKA Service.................................................89
Structure data type, defining..........................49
SUB.................................................................42
Support request.............................................. 89
L System requirements......................................13
Language files..........................................10, 23 Hardware................................................... 13
Software.....................................................13
T
Target group..................................................... 7
Technology package, defining................. 19, 26
Technology, programming.............................. 24
Templates...........................................10, 71, 74
Terms used....................................................... 8
Trademarks....................................................... 8
Training............................................................. 7
U
Uninstalling
via smartHMI............................................. 16
via WorkVisual...........................................14
Updating via smartHMI...................................14
Updating via WorkVisual................................ 13
V
Variable, creating..................................... 20, 64
Variable, overwriting.................................20, 64
Variable, reading...................................... 20, 64
Variable, setting........................................20, 63
W
Warnings........................................................... 7
WYSIWYG...................................................... 42