Beruflich Dokumente
Kultur Dokumente
KUKA.UserTech 3.0
Stand: 18.05.2010
© Copyright 2010
KUKA Roboter GmbH
Zugspitzstraße 140
D-86165 Augsburg
Deutschland
Diese Dokumentation darf – auch auszugsweise – nur mit ausdrücklicher Genehmigung der KUKA
Roboter GmbH vervielfältigt oder Dritten zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffä-
hig sein. Es besteht jedoch kein Anspruch auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Soft-
ware geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für die voll-
ständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in dieser Druckschrift werden
jedoch regelmäßig überprüft und notwendige Korrekturen sind in der nachfolgenden Auflage enthal-
ten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
Original-Dokumentation
KIM-PS5-DOC
Inhaltsverzeichnis
1 Einleitung ..................................................................................................... 5
1.1 Zielgruppe .................................................................................................................. 5
1.2 Dokumentation des Industrieroboters ........................................................................ 5
1.3 Darstellung von Hinweisen ........................................................................................ 5
1.4 Verwendete Begriffe .................................................................................................. 6
1.5 Warenzeichen ............................................................................................................ 6
2 Produktbeschreibung ................................................................................. 7
2.1 Übersicht KUKA.UserTech ........................................................................................ 7
3 Sicherheit ..................................................................................................... 9
4 Installation .................................................................................................... 11
4.1 Systemvoraussetzungen ............................................................................................ 11
4.2 KUKA.UserTech installieren oder updaten ................................................................ 11
4.3 KUKA.UserTech deinstallieren .................................................................................. 11
5 Programmierung .......................................................................................... 13
5.1 Übersicht KFD-Syntax ............................................................................................... 13
5.2 Zeichen und Schriftarten ............................................................................................ 13
5.3 Wichtige KFD-Begriffe ............................................................................................... 14
5.3.1 Sonderzeichen ...................................................................................................... 14
5.3.2 Strings ................................................................................................................... 15
5.3.3 Parameterreferenz ................................................................................................ 15
5.3.4 Namenskonventionen und Schlüsselwörter .......................................................... 15
5.3.5 Einfache Datentypen ............................................................................................ 16
5.3.6 Geltungsbereiche .................................................................................................. 16
5.4 Technologie programmieren ...................................................................................... 17
5.4.1 Technologie konzipieren ....................................................................................... 17
5.4.2 KFD-Datei anlegen ............................................................................................... 18
5.4.3 DEFTP ... ENDTP ................................................................................................. 18
5.4.4 DECL PARAM ...................................................................................................... 19
5.4.5 Feldtypen .............................................................................................................. 20
5.4.5.1 Statischer Feldtyp ................................................................................................. 20
5.4.5.2 Freier Feldtyp ........................................................................................................ 20
5.4.5.3 Feldtyp Name ....................................................................................................... 20
5.4.5.4 Feldtyp Nummer ................................................................................................... 21
5.4.5.5 Feldtyp REAL ........................................................................................................ 22
5.4.5.6 Feldtyp Liste ......................................................................................................... 23
5.4.6 DECL FOLD .......................................................................................................... 25
5.4.7 KRL-Code erzeugen ............................................................................................. 25
5.4.8 DECL INLINEFORM ............................................................................................. 26
5.4.9 Formatiertypen ...................................................................................................... 27
5.4.9.1 Formatiertyp WYSIWYG ....................................................................................... 27
5.4.9.2 Formatiertyp SUB ................................................................................................. 28
5.4.9.3 Formatiertyp DSUB ............................................................................................... 29
5.4.9.4 Formatiertyp FCT .................................................................................................. 29
5.4.9.5 Formatiertyp DFCT ............................................................................................... 30
6 Beispiele ....................................................................................................... 49
6.1 Technologie LASER .................................................................................................. 49
6.2 Beispielprogramm für eine Parameterliste ................................................................ 50
6.3 Skripte durch Aktionen aufrufen ................................................................................ 53
6.3.1 Skript-Aufruf nach Öffnen und Schließen des Inline-Formulars ........................... 54
6.3.2 Skript-Aufruf nach Ändern und Anlegen des Inline-Formulars ............................. 55
6.3.3 Skript-Aufruf nach Wechsel des Inline-Formulars ................................................ 56
6.4 Beispiele für die Integration von Technologien .......................................................... 57
6.4.1 Technologie TWINKLE ......................................................................................... 57
6.4.1.1 Technologie TWINKLE in Menü integrieren ......................................................... 57
6.4.1.2 Technologie TWINKLE in Untermenü integrieren ................................................ 58
6.4.2 Technologie GLUE ............................................................................................... 60
6.4.2.1 Technologie GLUE in Menü integrieren ............................................................... 60
6.4.3 Technologie DISPSET .......................................................................................... 62
6.4.3.1 Technologie DISPSET in Menü integrieren .......................................................... 63
Index ............................................................................................................. 73
1 Einleitung
1.1 Zielgruppe
Sicherheit Hinweise, die mit diesem Piktogramm gekennzeichnet sind, dienen der Si-
cherheit und müssen beachtet werden.
Gefahr!
Dieser Warnhinweis bedeutet, dass Tod, schwere Körperverletzungen oder
erheblicher Sachschaden eintreten werden, wenn keine Vorsichtsmaßnah-
men getroffen werden.
Warnung!
Dieser Warnhinweis bedeutet, dass Tod, schwere Körperverletzungen oder
erheblicher Sachschaden eintreten können, wenn keine Vorsichtsmaßnah-
men getroffen werden.
Achtung!
Dieser Warnhinweis bedeutet, dass leichte Körperverletzungen oder leichter
Sachschaden eintreten können, wenn keine Vorsichtsmaßnahmen getrof-
fen werden.
Hinweise Hinweise, die mit diesem Piktogramm gekennzeichnet sind, dienen entweder
der Arbeitserleichterung oder enthalten Verweise auf weiterführende Informa-
tionen.
Begriff Beschreibung
KFD KUKA Form Description
KFD-Datei Dateiformat, in der Technologien beschrieben werden
KRL KUKA Robot Language
KRL ist die KUKA Roboter Programmiersprache.
KUKA smartHMI smart Human-Machine Interface
KUKA smartHMI ist die Bedienoberfläche der KUKA
System Software.
1.5 Warenzeichen
2 Produktbeschreibung
3 Sicherheit
Warnung!
Das Kapitel "Sicherheit" in der Bedien- und Programmieranleitung muss be-
achtet werden. Tod von Personen, schwere Körperverletzungen oder erheb-
liche Sachschäden können sonst die Folge sein.
4 Installation
4.1 Systemvoraussetzungen
Es wird empfohlen, vor dem Update einer Software alle zugehörigen Daten
zu archivieren.
5 Programmierung
Technologien
DEFTP … ENDTP (>>> 5.4.3 "DEFTP ... ENDTP" Seite 18)
Inline-Formulare
DECL FOLD (>>> 5.4.6 "DECL FOLD" Seite 25)
DECL INLINEFORM (>>> 5.4.8 "DECL INLINEFORM" Seite 26)
DECL PARAM (>>> 5.4.4 "DECL PARAM" Seite 19)
Parameterlisten
DECL PARAM PL_ (>>> 5.5.1 "DECL PARAM PL_" Seite 32)
DECL PLIST (>>> 5.5.3 "DECL PLIST" Seite 34)
Technologie-Keys
DECL STATKEY (>>> 5.6.2 "DECL STATKEY" Seite 35)
DECL STATKEYBAR (>>> 5.6.3 "DECL STATKEYBAR" Seite 39)
SET (>>> 5.6.4 "SET" Seite 39)
Skripte
DEFSCRIPT … ENDSCRIPT (>>> 5.7.1 "DEFSCRIPT … ENDSCRIPT" Seite 40)
DO (>>> 5.7.5 "DO" Seite 42)
MESSAGE (>>> 5.7.6 "MESSAGE" Seite 42)
REDECL (>>> 5.7.4 "REDECL" Seite 41)
SET (>>> 5.6.4 "SET" Seite 39)
SETVAR (>>> 5.7.2 "SETVAR" Seite 40)
SHOWVAR (>>> 5.7.3 "SHOWVAR" Seite 41)
SWITCH … CASE(ELSE) … (>>> 5.7.7 "SWITCH … CASE (ELSE) … ENDSWITCH"
ENDSWITCH Seite 42)
SWITCH DIALOG … CASE … (>>> 5.7.8 "SWITCH DIALOG … CASE … ENDSWITCH"
ENDSWITCH Seite 43)
ACCEPTINLINEFORM (>>> 5.7.9 "Vordefinierte Skripte" Seite 44)
CANCELINLINEFORM
END
NOTHING
Syntax-Element Darstellung
KRL-Code Schriftart Courier
Großschreibung
Beispiele: GLOBAL; ANIN ON; OFFSET
Elemente, die durch pro- Kursiv
grammspezifische Anga- Groß-/Kleinschreibung
ben ersetzt werden müssen
Beispiele: Strecke; Zeit; Format
Syntax-Element Darstellung
Optionale Elemente In spitzen Klammern
5.3.1 Sonderzeichen
Zeichen Beschreibung
; Kennzeichnet einen Kommentar
Beispiel:
;Dies ist ein Kommentar
_ Eine Anweisung in KFD muss in einer durchgehenden Pro-
grammzeile stehen.
Mit "_" wird eine Programmzeile trotz eines Zeilenum-
bruchs fortgeführt. Zwischen vorangehender Programm-
zeile und dem Zeichen "_" muss ein Leerzeichen stehen.
Beispiel:
decl _
int _
zahl
(= Programmzeile: decl int zahl)
/ Hebt die Sonderfunktion eines nachfolgenden Zeichens
auf. Das Zeichen "/" wird in der Zeichenkette nicht ausge-
geben.
Beispiele:
/%: Funktion des Zeichens "%" zur Kennzeichnung ei-
ner Parameterreferenz ist aufgehoben.
/;: Funktion des Zeichens ";" zur Kennzeichnung eines
Kommentars ist aufgehoben.
Zeichen Beschreibung
% Kennzeichnet eine Parameterreferenz
(>>> 5.3.3 "Parameterreferenz" Seite 15)
Nach der Parameterreferenz muss das Zeichen "/" oder ein
Leerzeichen eingefügt werden. Bei Verwendung des Leer-
zeichens muss ein zweites Leerzeichen eingefügt werden,
wenn auf die Parameterreferenz ein weiteres Zeichen oder
ein weiterer Ausdruck folgt.
Ein Leerzeichen, das eine Parameterreferenz abschließt,
wird in der Zeichenkette nicht ausgegeben.
Beispiel:
%INLINEFORM/
%INLINEFORM
# Kennzeichnet eine Wertzuweisung
Beispiele:
#%INLINEFORM
#TOGGLE
5.3.2 Strings
5.3.3 Parameterreferenz
Name Beschreibung
%TP Name der Technologie
Erster Parameter in jedem Inline-Formular
%INLINEFORM Name des Inline-Formulars
Zweiter Parameter in jedem Inline-Formular
%MODULE Name des Programms im Navigator
5.3.6 Geltungsbereiche
Die Technologien MyTech und OtherTech können über ein Listenfeld im Inli-
ne-Formular ausgewählt werden.
Die Technologien MyTech und OtherTech können nicht über ein Listenfeld
im Inline-Formular ausgewählt werden.
Es kann ein ganzzahliger Wert zwischen 0 und 100 eingegeben werden. Das
Feld ist vom Typ Nummer.
Über die Cursor-Tasten auf der Tastatur kann der Wert im Eingabefeld schritt-
weise um 2 erhöht oder verringert werden.
5.4.5 Feldtypen
Beschreibung Auf dem Inline-Formular wird ein statischer Text angezeigt, der nicht editiert
werden kann.
Beschreibung Im Eingabefeld wird ein Text angezeigt, der editiert werden kann.
Beschreibung Im Eingabefeld wird ein ganzzahliger Wert angezeigt, der über den Nummern-
block auf der Tastatur editiert werden kann.
Über die Cursor-Tasten auf der Tastatur kann der Wert im Eingabefeld schritt-
weise um 2 erhöht oder verringert werden.
Beschreibung Im Eingabefeld wird eine Gleitkommazahl angezeigt, die über den Nummern-
block auf der Tastatur editiert werden kann.
Über die Cursor-Tasten auf der Tastatur kann der Wert im Eingabefeld schritt-
weise um 0.5 erhöht oder verringert werden.
Beschreibung Im Inline-Formular wird ein Listenfeld angezeigt. Über die Liste kann ein Pa-
rameter ausgewählt werden. Die Parameter in der Liste können nicht editiert
werden.
ENDTP
Element Beschreibung
ILF_TYPE Legt fest, ob der Fold des Inline-Formulars in einen Fold
mit SPLINE-Kontrollstruktur eingefügt werden kann.
IN_SPLINE: Fold kann in einen SPLINE-Fold ein-
gefügt werden.
OFF_SPLINE: Fold kann nicht in einen SPLINE-
Fold eingefügt werden.
ALL: Fold kann in jeden Fold eingefügt werden.
Default, wenn bei ILF_TYPE ein ungültiger oder kein
Wert eingetragen wird: OFF_SPLINE
STYLE Formatierung des KRL-Codes
WYSIWYG
SUB
DSUB
FCT
DFCT
ASS
ASSAGG
Default, wenn STYLE nicht definiert ist: WYSIWYG
(>>> 5.4.9 "Formatiertypen" Seite 27)
ONACCEPT Name des Skripts, das beim Drücken auf Befehl OK
ausgeführt wird
(>>> 6.3.1 "Skript-Aufruf nach Öffnen und Schließen
des Inline-Formulars" Seite 54)
ONTOUCHUP Name des Skripts, das beim Drücken auf Touch Up
ausgeführt wird
ONOPEN Name des Skripts, das beim Öffnen des Inline-Formu-
lars ausgeführt wird (Drücken auf Ändern oder Aus-
wahl über das Menü Befehle)
(>>> 6.3.1 "Skript-Aufruf nach Öffnen und Schließen
des Inline-Formulars" Seite 54)
5.4.9 Formatiertypen
Beschreibung Die Formatierung des KRL-Codes entspricht genau dem Text des Inline-For-
mulars.
ENDTP
KRL-Code im Programm:
ENDTP
KRL-Code im Programm:
ENDTP
KRL-Code im Programm:
ENDTP
KRL-Code im Programm:
ENDTP
KRL-Code im Programm:
ENDTP
KRL-Code im Programm:
ENDTP
KRL-Code im Programm:
Ein Eingabefeld vom Feldtyp Name kann mit einer Parameterliste verknüpft
werden. Jede Parameterliste enthält einen Datensatz. Dieser Datensatz wird
in einem Optionsfenster angezeigt. Die Struktur und die Eigenschaften des
Datensatzes müssen programmiert werden.
Beschreibung Der Strukturdatentyp eines Datensatzes und die Default-Werte des Struktur-
datentyps müssen in der Datei C:\KRC\ROBOTER\KRC\R1\SYSTEM\$CON-
FIG.DAT im Abschnitt "Userdefined Types" des Folds USER GLOBALS
definiert werden.
Syntax Strukturdatentyp:
STRUC Name
Typ1 StrukturnameParam1,
…,
TypN StrukturnameParamN
Default-Werte:
DECL Name PräfixDEFAULT =
{StrukturnameParam1 Default1,
…,
StrukturnameParamN DefaultN}
...
Name[n] = NameParamN
Mit KUKA.UserTech können die 4 Technologie-Keys auf der linken Seite des
KCPs mit Funktionen belegt werden.
Funktionen der Technologie-Keys festlegen.
Layout der Technologie-Keys festlegen.
Größe der Technologie-Keys festlegen.
Bedingungen für die Aktivierung der Technologie-Keys festlegen.
Skripte festlegen, die mit Aktionen des Benutzers aufgerufen werden,
z. B. Technologie-Key drücken, loslassen oder gedrückt halten.
Layout:
Element Beschreibung
TOPTEXT[] Text, der neben dem Technologie-Key angezeigt
wird (oben)
CENTERTEXT[] Text, der neben dem Technologie-Key angezeigt
wird (zentriert)
BOTTOMTEXT[] Text, der neben dem Technologie-Key angezeigt
wird (unten)
PICTURE[] Pfadangabe für die Grafik, die neben dem Tech-
nologie-Key angezeigt wird
(>>> 5.6.2.1 "Benötigte Bildgrößen" Seite 38)
Element Beschreibung
KEYDOWN_ Pfadangabe für die Grafik, die neben dem Tech-
PICTURE[] nologie-Key angezeigt wird, wenn die Taste mit
der PLUS-Funktion gedrückt wird
(>>> 5.6.2.1 "Benötigte Bildgrößen" Seite 38)
Wird hier kein Pfad angegeben, wird die bei PIC-
TURE[ ] angegebene Grafik angezeigt.
KEYDOWNMINUS_ Pfadangabe für die Grafik, die neben dem Tech-
PICTURE[] nologie-Key angezeigt wird, wenn die Taste mit
der MINUS-Funktion gedrückt wird
(>>> 5.6.2.1 "Benötigte Bildgrößen" Seite 38)
Wird hier kein Pfad angegeben, wird die bei PIC-
TURE[ ] angegebene Grafik angezeigt.
STYLE Format des Technologie-Keys
#SWITCH: Einfacher Technologie-Key
Einem einfachen Technologie-Key ist
1 Taste zugeordnet. Die Taste übernimmt im-
mer die PLUS-Funktion.
#TOGGLE: Doppelter Technologie-Key
Einem doppelten Technologie-Key sind
2 Tasten zugeordnet. Die obere Taste über-
nimmt die MINUS-Funktion. Die untere Taste
übernimmt die PLUS-Funktion.
Default, wenn STYLE nicht definiert ist:
#SWITCH
Aktivierungsoptionen:
Element Beschreibung
ENABLE Aktivieren des Technologie-Keys
TRUE: Technologie-Key ist aktiviert.
FALSE: Technologie-Key ist deaktiviert.
Default, wenn ENABLE nicht definiert ist: TRUE
NEED_SAFETY- TRUE: Technologie-Key ist aktiv, wenn der Zu-
SWITCH stimmungsschalter gedrückt wird.
NEED_DRIVESOK TRUE: Technologie-Key ist aktiv, wenn die An-
triebe eingeschaltet sind.
NEED_PROSTATEO Typ: INT
Aktivierung des Technologie-Keys ist vom Be-
triebszustand des Submit-Interpreters abhängig.
Default-Wert: 32 (= Technologie-Key ist aktiv,
wenn der Submit-Interpreter läuft.)
(>>> 5.6.2.2 "Dezimalwert für Aktivierungsoptio-
nen ermitteln" Seite 38)
Element Beschreibung
NEED_PROSTATE Typ: INT
Aktivierung des Technologie-Keys ist vom Be-
triebszustand des Roboter-Interpreters abhän-
gig.
Default-Wert: 30 (= Technologie-Key ist aktiv,
wenn die Start-Taste gelöst ist.)
(>>> 5.6.2.2 "Dezimalwert für Aktivierungsoptio-
nen ermitteln" Seite 38)
NEED_MODEOP Typ: INT
Aktivierung des Technologie-Keys ist von der Be-
triebsart abhängig.
Default-Wert: 7 (= Technologie-Key ist in den Be-
triebsarten T1, T2 und AUT aktiv.)
Beispiel: Damit der Technologie-Key in allen Be-
triebsarten und bei ungültiger Schlüsselschalter-
Stellung aktiv ist, muss der Wert 31 programmiert
werden.
(>>> 5.6.2.2 "Dezimalwert für Aktivierungsoptio-
nen ermitteln" Seite 38)
USERMODE Typ: INT
Kennzahl der Benutzergruppe, ab der der Tech-
nologie-Key aktiv ist
0: In jeder Benutzergruppe aktiv
10: Anwender
20: Experte
30: Administrator
Default, wenn USERMODE nicht definiert ist: 0
Element Beschreibung
ONKEYDOWN Name des Skripts, das ausgeführt wird, wenn die
Taste mit der PLUS-Funktion gedrückt wird
ONKEYUP Name des Skripts, das ausgeführt wird, wenn die
Taste mit der PLUS-Funktion losgelassen wird
ONKEYSHOW Name des Skripts, das ausgeführt wird, wenn der
Technologie-Key über das Hauptmenü aktiviert
wird
ONKEYDOWNMINUS Name des Skripts, das ausgeführt wird, wenn die
Taste mit der MINUS-Funktion gedrückt wird
ONKEYUPMINUS Name des Skripts, das ausgeführt wird, wenn die
Taste mit der MINUS-Funktion losgelassen wird
Element Beschreibung
ONKEYREPEAT Name des Skripts, das ausgeführt wird, wenn die
Taste mit der PLUS-Funktion länger gedrückt
wird
Das Skript wird bis zum Loslassen der Taste wie-
derholt ausgelöst. Die Zeitabstände werden da-
bei immer geringer.
ONKEYREPEATMINUS Name des Skripts, das ausgeführt wird, wenn die
Taste mit der MINUS-Funktion länger gedrückt
wird
Das Skript wird bis zum Loslassen der Taste wie-
derholt ausgelöst. Die Zeitabstände werden da-
bei immer geringer.
Für die Grafiken können Icons (*.ico) oder Bitmaps (*.bmp) verwendet wer-
den. Empfohlen wird die Verwendung von Icons.
Folgende Bildgrößen werden benötigt:
34 x 48 Pixel für einen einfachen Technologie-Key
34 x 128 Pixel für einen doppelten Technologie-Key
Beschreibung Ein Technologie-Key kann abhängig von den Betriebszuständen des Submit-
Interpreters oder des Roboterinterpreters und abhängig von den Betriebsarten
aktiviert werden:
NEED_PROSTATEO (Submit-Interpreter)
NEED_PROSTATE (Roboterinterpreter)
NEED_MODEOP (Betriebsarten)
5.6.4 SET
SET kann innerhalb und außerhalb von Skripten verwendet werden. Innerhalb
von Skripten sind Platzhalter erlaubt, die ihre Wertzuweisung vor der Ausfüh-
rung des Skripts erhalten haben, z. B. %INLINEFORM.
5.7.2 SETVAR
5.7.3 SHOWVAR
Nach dem Ausführen des Skripts bei einem angewählten Programm in der Be-
triebsart T1 wird im Meldungsfenster folgende Meldung ausgegeben:
$MODE_OP=#T1
5.7.4 REDECL
Nach dem Ausführen des Skripts bei einem angewählten Programm wird die
Variable HOME in der zugehörigen Datenliste angelegt.
DEFDAT TEST
EXTERNAL DECLARATIONS
DECL AXIS HOME={A1 5.5, A2 -95.5, A3 95.5, A4 5.5, A5 5.5, A6 5.5}
ENDDAT
5.7.5 DO
Syntax DO Name
5.7.6 MESSAGE
Beschreibung Ruft eines von mehreren möglichen Skripten auf, abhängig von der Abfrage
einer Variablen. Die CASE-Zeile, deren Ergebnis mit der Variablen überein-
stimmt, wird ausgewählt.
Wenn das zugehörige Skript ausgeführt ist, wird das Programm nach ENDS-
WITCH fortgesetzt.
Wenn kein Ergebnis mit der Variablen übereinstimmt, wird die CASE ELSE-
Zeile ausgewählt. Ist diese nicht vorhanden oder kein zugehöriges Skript de-
finiert, wird kein Skript ausgeführt und das Programm nach ENDSWITCH fort-
gesetzt.
Beschreibung Ermöglicht einen Dialog zwischen Programm und Benutzer. Der Dialog wird
in einem eigenen Fenster angezeigt. Der Benutzer antwortet über Schaltflä-
chen, die definierte Skripte aufrufen. Die Antworten und zugehörigen Skripte
werden in den CASE-Zeilen definiert.
Wenn das Skript ausgeführt ist, wird das Programm nach ENDSWITCH fort-
gesetzt.
Name Beschreibung
ACCEPTINLINE- Das Inline-Formular wird geschlossen und die
FORM geänderten Parameter werden übernommen.
CANCELINLINE- Das Inline-Formular wird geschlossen und die
FORM geänderten Parameter werden nicht übernom-
men.
END Das laufende Skript wird abgebrochen.
NOTHING Platzhalter für ein Skript
Bei globalen Skripten wird auf das Modul KUKATPUSER zugegriffen. Bei Mel-
dungen und Schaltflächen muss für jede Sprache der passende Schlüssel im
Sprachsystem angelegt sein.
Wenn der Zugriff auf das Sprachsystem scheitert, werden die Meldungen oder
Schaltflächen nicht in der ausgewählten Sprache, sondern der Schlüssel an-
gezeigt. Als Absender einer Meldung wird der Name der Technologie ange-
zeigt, in der das ausführende Skript definiert ist.
Bei parametrierten Ausgaben muss jeder Parameter in einer geschweiften
Klammer an den Schlüssel gehängt werden.
Beschreibung Mit dieser Funktion kann KUKA.UserTech bei laufender Robotersteuerung ak-
tualisiert werden, z. B. um Inline-Formulare anzuzeigen, die der Benutzer neu
definiert hat.
KUKA.UserTech wird ohne einen Systemstart reinitialisiert. Der Fortschritt der
Reinitialisierung wird im Meldungsfenster angezeigt.
<?xml version="1.0"?>
<configuration>
...
<!--Menu -->
<KukaRoboter.SmartHMI.Menu type= _
"KukaRoboter.SmartHMI.UIFramework.Menu.MenuRootImpl, SmartHMI">
<MenuRoot SystemName="CommandMenu">
<MenuFolder DisplayName="MenuBar#CmdUserTech" _
MergeOrder="1100">
<MenuFolder DisplayName="MenuBar#CmdMyTech" MergeOrder="100">
<MenuItem DisplayName="MenuBar#CmdMyCmd" MergeOrder="100">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">KUKATPUSER;MyTech; _
MyCmd</Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuFolder>
</MenuRoot>
<MenuRoot SystemName="MainMenu">
...
...
</KukaRoboter.SmartHMI.Menu>
...
</configuration>
Element Beschreibung
<MenuRoot SystemName= Mit dem Element <MenuRoot…> wird das Menü festgelegt, in
"Name"> das ein Menüpunkt eingefügt wird.
… CommandMenu: Menüpunkt wird im Menü Befehle einge-
fügt.
</MenuRoot>
MainMenu: Menüpunkt wird im Hauptmenü eingefügt.
<MenuFolder DisplayName= <MenuFolder…> ist ein Kindelement von <MenuRoot…>. Mit
"Name" MergeOrder= dem Element wird die Menüstruktur abgebildet.
"Position">
Das Attribut DisplayName enthält den Namen des Menüpunkts
… im Menü. Der Name wird als Sprachsystem-Schlüssel verwen-
det.
</MenuFolder>
Das Attribut MergeOrder legt die Position des Menüpunkts im
Menü fest.
Element Beschreibung
<MenuItem DisplayName= <MenuItem…> ist ein Kindelement von <MenuFolder…>. Mit
"Name" MergeOrder= dem Element wird ein Menüpunkt eingefügt, der mit einer Funk-
"Position"> tion belegt ist, z. B. Inline-Formular aufrufen oder Technologie-
Keys anzeigen.
…
Das Attribut DisplayName enthält den Namen des Menüpunkts
</MenuItem>
im Menü. Der Name wird als Sprachsystem-Schlüssel verwen-
det.
Das Attribut MergeOrder legt die Position des Menüpunkts im
Menü fest.
<CommandCall Target= <CommandCall…> ist ein Kindelement von <MenuItem…>.
"LegacyLoader.Invoke Mit dem Element wird die Funktion des Menüpunkts aufgerufen.
ModuleProc">
…
</CommandCall>
<ArgumentName="Name"> <Argument…> ist ein Kindelement von <CommandCall…>.
Variable</Argument> <CommandCall…> enthält 3 Argumente.
PlugInName: Name des Funktionsmoduls
INLINEFORM: Inline-Formular
USERSTATKEYBAROCX: Technologie-Key-Leiste
ProcID: Nummer des Funktionsmoduls
2011: Inline-Formular
11: Technologie-Key-Leiste
ParamList: Parameter des Funktionsmoduls
Vollständige Syntax der ParamList:
KUKATPUSER;TechName.IlfName|StatkeybarName
TechName: Name der Technologie, in der das Funk-
tionsmodul definiert ist
IlfName: Name des Inline-Formulars, das mit dem
Menüpunkt aufgerufen wird
StatkeybarName: Name der Technologie-Key-Leiste,
die mit dem Menüpunkt aufgerufen wird
Voraussetzung Windows-Ebene
Beispiele (>>> 6.4 "Beispiele für die Integration von Technologien" Seite 57)
6 Beispiele
Zeile Beschreibung
19 Deklaration des Inline-Formulars LASER.ON
Folgende Felder stehen zur Verfügung:
Eingabefeld für den Schweißdatensatz
Eingabefeld für den Distanzparameter
Listenfeld für die Auswahl der Schweißart
LASER.ON ist Fold LasOn zugeordnet.
21 Deklaration des Inline-Formulars LASER.OFF
Folgende Felder stehen zur Verfügung:
Eingabefeld für den Zeitparameter
LASER.OFF ist Fold LasOff zugeordnet.
Inline-Formulare
Inline-Formular
Pos. Beschreibung
1 Listenfeld mit den Inline-Formularen der Technologie
MyCmd
ILF_With_ParamList
2 Eingabefeld ParamList für den Laserdatensatz
Die Parameter des Datensatzes werden im Optionsfenster
PLTOOL eingestellt.
Parameterliste
A Ansicht A 4 SNSR_PRG
B Ansicht 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
Übersicht Bei der Definition von Inline-Formularen können Skripte angegeben werden,
die nach folgenden Aktionen aufgerufen werden:
Zeile Beschreibung
22 … 25 Definition des Skripts CL_Test
Bei Aufruf des Skripts wird im Meldungsfenster die Meldung
"Fired when ILF is closed!" angezeigt.
38 Deklaration des Inline-Formulars
ONOPEN: Schlüsselwort für den Aufruf eines Skripts,
wenn das Inline-Formular geöffnet wird
ONACCEPT: Schlüsselwort für den Aufruf eines Skripts,
wenn das Inline-Formular geschlossen wird
Zeile Beschreibung
15 … 19 Definition des Skripts Test_2
Bei Aufruf des Skripts wird mit dem Schlüsselwort DOAL-
WAYS abgefragt, ob zwischen 2 Inline-Formularen gewech-
selt wurde.
CASE "TRUE": Bei einem Wechsel von Inline-Formular
TestILF_1 zu Inline-Formular TestILF_2, wird das Skript
AL_Test aufgerufen.
32 … 33 Deklaration der Inline-Formulare TestILF_1 und TestILF_2
ONOPEN: Schlüsselwort für den Aufruf eines Skripts,
wenn das Inline-Formular geöffnet wird
Beschreibung Der Menüpunkt BlinkTech wird im Menü Befehle > UserTech an der zweiten
Position eingefügt und ruft das Inline-Formular Twinkle.twice auf.
...
<!--Menu -->
<KukaRoboter.SmartHMI.Menu type= _
"KukaRoboter.SmartHMI.UIFramework.Menu.MenuRootImpl, SmartHMI">
<MenuRoot SystemName="CommandMenu">
<MenuFolder DisplayName="MenuBar#CmdUserTech" _
MergeOrder="1100">
<MenuFolder DisplayName="MenuBar#CmdMyTech" MergeOrder="100">
<MenuItem DisplayName="MenuBar#CmdMyCmd" MergeOrder="100">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">KUKATPUSER;MyTech; _
MyCmd</Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuFolder>
<MenuFolder DisplayName="MenuBar#CmdUserTech" _
MergeOrder="1100">
<MenuItem DisplayName="BlinkTech" MergeOrder="200">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">KUKATPUSER;Twinkle; _
twice</Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuRoot>
...
</KukaRoboter.SmartHMI.Menu>
...
</configuration>
Beschreibung Der Menüpunkt BlinkTech wird im Menü Befehle > UserTech an der zweiten
Position eingefügt. Das Untermenü von BlinkTech enthält die Menüpunkte
One, Two und Three.
Der Menüpunkt One ruft das Inline-Formular Twinkle.once auf.
Der Menüpunkt Two ruft das Inline-Formular Twinkle.twice auf.
Der Menüpunkt Three ruft das Inline-Formular Twinkle.triple auf.
...
<!--Menu -->
<KukaRoboter.SmartHMI.Menu type= _
"KukaRoboter.SmartHMI.UIFramework.Menu.MenuRootImpl, SmartHMI">
<MenuRoot SystemName="CommandMenu">
<MenuFolder DisplayName="MenuBar#CmdUserTech" _
MergeOrder="1100">
<MenuFolder DisplayName="MenuBar#CmdMyTech" MergeOrder="100">
<MenuItem DisplayName="MenuBar#CmdMyCmd" MergeOrder="100">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">KUKATPUSER;MyTech; _
MyCmd</Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
<MenuFolder DisplayName="BlinkTech" MergeOrder="200">
<MenuItem DisplayName="One" MergeOrder="210">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">KUKATPUSER;Twinkle; _
once</Argument>
</CommandCall>
</MenuItem>
<MenuItem DisplayName="Two" MergeOrder="220">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">KUKATPUSER;Twinkle; _
twice</Argument>
</CommandCall>
</MenuItem>
<MenuItem DisplayName="Three" MergeOrder="230">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">KUKATPUSER;Twinkle; _
triple</Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuFolder>
</MenuRoot>
...
</KukaRoboter.SmartHMI.Menu>
...
</configuration>
...
<!--Menu -->
<KukaRoboter.SmartHMI.Menu type= _
"KukaRoboter.SmartHMI.UIFramework.Menu.MenuRootImpl, SmartHMI">
<MenuRoot SystemName="CommandMenu">
...
</MenuRoot>
<MenuRoot SystemName="MainMenu">
<MenuFolder DisplayName="MenuBar#Config"
<MenuFolder DisplayName="MenuBar#ConfigStatKeys" _
MergeOrder="210">
<MenuItem DisplayName="MenuBar#Rinse">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName"> _
USERSTATKEYBAROCX</Argument>
<Argument Name="ProcID">11</Argument>
<Argument Name="ParamList">KUKATPUSER; _
Glue.Bar4</Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuFolder>
</MenuRoot>
...
</KukaRoboter.SmartHMI.Menu>
...
</configuration>
Zeile Beschreibung
6 … 13 Definition des Skripts BrightHigh
Bei Aufruf des Skripts wird der Wert der Systemvariablen
$PHGBRIGHT um 1 erhöht.
15 … 22 Definition des Skripts BrightLow
Bei Aufruf des Skripts wird der Wert der Systemvariablen
$PHGBRIGHT um 1 verringert.
24 … 31 Definition des Skripts ContHigh
Bei Aufruf des Skripts wird der Wert der Systemvariablen
$PHGCONT um 1 erhöht.
33 … 40 Definition des Skripts ContLow
Bei Aufruf des Skripts wird der Wert der Systemvariablen
$PHGCONT um 1 verringert.
42 Deklaration des Technologie-Keys Brightness
Mit dem doppelten Technologie-Key kann die Helligkeit einge-
stellt werden.
Beim Drücken der Taste mit der PLUS-Funktion wird das
Skript BrightHigh aufgerufen.
Beim Drücken der Taste mit der MINUS-Funktion wird das
Skript BrightLow aufgerufen.
44 Deklaration des Technologie-Keys Contrast
Mit dem doppelten Technologie-Key kann der Kontrast einge-
stellt werden.
Beim Drücken der Taste mit der PLUS-Funktion wird das
Skript ContHigh aufgerufen.
Beim Drücken der Taste mit der MINUS-Funktion wird das
Skript ContLow aufgerufen.
46 Deklaration der Technologie-Key-Leiste
...
<!--Menu -->
<KukaRoboter.SmartHMI.Menu type= _
"KukaRoboter.SmartHMI.UIFramework.Menu.MenuRootImpl, SmartHMI">
<MenuRoot SystemName="CommandMenu">
...
</MenuRoot>
<MenuRoot SystemName="MainMenu">
<MenuFolder DisplayName="MenuBar#Config"
<MenuFolder DisplayName="MenuBar#ConfigStatKeys" _
MergeOrder="210">
<MenuItem DisplayName="MenuBar#Rinse" MergeOrder="100">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName"> _
USERSTATKEYBAROCX</Argument>
<Argument Name="ProcID">11</Argument>
<Argument Name="ParamList">KUKATPUSER; _
Glue.Bar4 </Argument>
</CommandCall>
</MenuItem>
<MenuItem DisplayName="MenuBar#Display" MergeOrder="200">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName"> _
USERSTATKEYBAROCX</Argument>
<Argument Name="ProcID">11</Argument>
<Argument Name="ParamList">KUKATPUSER; _
DispSet.Bar</Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuFolder>
</MenuRoot>
...
</KukaRoboter.SmartHMI.Menu>
...
</configuration>
7 KUKA Service
7.1 Support-Anfrage
Einleitung Die Dokumentation der KUKA Roboter GmbH bietet Informationen zu Betrieb
und Bedienung und unterstützt Sie bei der Behebung von Störungen. Für wei-
tere Anfragen steht Ihnen die lokale Niederlassung zur Verfügung.
Verfügbarkeit Der KUKA Customer Support ist in vielen Ländern verfügbar. Bei Fragen ste-
hen wir gerne zur Verfügung!
Argentinien Ruben Costantini S.A. (Agentur)
Luis Angel Huergo 13 20
Parque Industrial
2400 San Francisco (CBA)
Argentinien
Tel. +54 3564 421033
Fax +54 3564 428877
ventas@costantini-sa.com
Index
Symbole KFD-Datei 6
#SWITCH 36 KFD-Datei, anlegen 18
#TOGGLE 36 Kommentar 14
$ 16 KRL 6
$CONFIG.DAT 32, 33, 52 KRL-Code, erzeugen 25
KUKA Customer Support 65
A KUKA.UserTech, aktualisieren 45
ASS 31
ASSAGG 31 M
Menüelemente, definieren 47
B MESSAGE 42
Begriffe, verwendete 6
Beispiele 49 N
Namen 15
D NEED_MODEOP 37, 39
Datentypen, einfache 16 NEED_PROSTATE 37, 39
DECL FOLD 25 NEED_PROSTATEO 36, 38, 60
DECL INLINEFORM 26
DECL PARAM 19 O
DECL PARAM PL_ 32 ONACCEPT 27, 54, 56
DECL PLIST 34 ONOPEN 27, 54, 56, 57
DECL STATKEY 35 ONTOUCHUP 27
DECL STATKEYBAR 39
DEFSCRIPT … ENDSCRIPT 40 P
DEFTP ... ENDTP 18 Parameterliste, Beispielprogramm 50
Deinstallieren, KUKA.UserTech 11 Parameterlisten, programmieren 32
DFCT 30 Parameterreferenz 15
DO 42 Produktbeschreibung 7
DOALWAYS 43, 57 Programmierung 13
Dokumentation, Industrieroboter 5
DSUB 29 R
REDECL 41
E
Einleitung 5 S
Schlüsselwörter 16
F Schriftarten 13
FCT 29 Schulungen 5
Feldtypen 20 Service, KUKA Roboter 65
Formatiertypen 27 SET 39
Funktionen 7 SETVAR 40
SHOWVAR 41
G Sicherheit 9
Geltungsbereiche 16 Sicherheitshinweise 5
Skripte, aufrufen 53
H Skripte, programmieren 40
Hinweise 5 Skripte, vordefinierte 44
smartHMI 6
I SmartHMI.EXE.UserTech.Config 45
Icons, Technologie-Keys 38 Software 11
IncOnOpen, Schlüssel 21 Sonderzeichen 14
Installation 11 Sprachsystem, Schlüssel 44
Installieren, KUKA.UserTech 11 Strings 15
ISCHANGE 43, 55 Strukturdatentyp, definieren 33
SUB 28
K Support-Anfrage 65
KFD 6 SWITCH … CASE (ELSE) … ENDSWITCH 42
KFD, Syntax Übersicht 13 SWITCH DIALOG … CASE … ENDSWITCH 43
KFD, wichtige Begriffe 14 Systemvoraussetzungen 11
T
Technologie, in smartHMI integrieren 45
Technologie, programmieren 17
Technologie-Keys aktivieren, Optionen 36, 38
Technologie-Keys, Bildgrößen 38
Technologie-Keys, programmieren 34
U
Updaten, KUKA.UserTech 11
UserTech reinitialisieren (Menüpunkt) 45
Ü
Übersicht, KUKA.UserTech 7
V
Verwendete Begriffe 6
W
Warenzeichen 6
WYSIWYG 27
Z
Zeichen 13
Zielgruppe 5