Beruflich Dokumente
Kultur Dokumente
KUKA.UserTech 4.0
Für KUKA System Software 8.6 und 8.7
Stand: 13.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
Deutschland
Diese Dokumentation darf – auch auszugsweise – nur mit ausdrücklicher Genehmigung der KU-
KA Deutschland 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 oder im
Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und
Software geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für
die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in dieser Druck-
schrift werden jedoch regelmäßig überprüft und notwendige Korrekturen sind in der nachfolgen-
den Auflage enthalten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
KIM-PS5-DOC
Original-Dokumentation
Inhaltsverzeichnis
1 Einleitung.................................................................................................. 7
1.1 Zielgruppe.............................................................................................................. 7
1.2 Dokumentation des Industrieroboters................................................................... 7
1.3 Darstellung von Hinweisen.................................................................................... 7
1.4 Verwendete Begriffe.............................................................................................. 8
1.5 Marken................................................................................................................... 8
1.6 Lizenzen................................................................................................................. 8
2 Produktbeschreibung.............................................................................. 11
2.1 Produktbeschreibung............................................................................................. 11
2.2 Übersicht KUKA.UserTech 4.0.............................................................................. 11
2.3 Bestimmungsgemäße Verwendung und Fehlanwendung.................................... 12
3 Sicherheit.................................................................................................. 13
4 Installation................................................................................................ 15
4.1 Systemvoraussetzungen........................................................................................ 15
4.2 Installation über WorkVisual.................................................................................. 15
4.2.1 KUKA.UserTech 4.0 installieren oder updaten..................................................... 15
4.2.2 KUKA.UserTech 4.0 deinstallieren........................................................................ 16
4.3 Installation über smartHMI.................................................................................... 16
4.3.1 KUKA.UserTech 4.0 installieren oder updaten..................................................... 16
4.3.2 KUKA.UserTech 4.0 deinstallieren........................................................................ 18
5 Bedienung................................................................................................. 19
5.1 Konverter............................................................................................................... 19
5.1.1 KFD-Datei konvertieren......................................................................................... 19
5.1.2 smartHMI-Konfigurationsdatei konvertieren.......................................................... 19
6 Programmierung...................................................................................... 21
6.1 Übersicht KFDx-Syntax......................................................................................... 21
6.2 Sonderzeichen....................................................................................................... 22
6.3 Strings.................................................................................................................... 23
6.4 Parameterreferenzen............................................................................................. 24
6.5 Namenskonventionen und Schlüsselwörter.......................................................... 24
6.6 Geltungsbereiche................................................................................................... 24
6.7 Sprachdateien........................................................................................................ 25
6.8 Übersicht: Technologie programmieren................................................................ 27
6.8.1 KFDx-Datei anlegen.............................................................................................. 27
6.8.2 <Application>: Technologie definieren.................................................................. 28
6.8.3 <Param>: Parameter definieren............................................................................ 29
6.8.4 Parametertypen..................................................................................................... 31
6.8.4.1 Parameter Typ STATIC......................................................................................... 31
6.8.4.2 Parameter Typ FREE............................................................................................ 31
6.8.4.3 Parameter Typ NAME........................................................................................... 32
6.8.4.4 Parameter Typ NUMBER...................................................................................... 32
6.8.4.5 Parameter Typ REAL............................................................................................ 34
6.8.4.6 Parameter Typ LIST.............................................................................................. 35
7 Konfiguration............................................................................................ 73
7.1 Inline-Formulare und Statustasten in smartHMI einbinden.................................. 73
7.1.1 Menüstruktur für Inline-Formulare......................................................................... 74
7.1.2 Menüstruktur für Statustastenleisten..................................................................... 75
7.2 Inline-Formulare in WorkVisual einbinden............................................................ 76
7.3 Beispiele für das Einbinden von Technologien.................................................... 80
7.3.1 Technologie Twinkle.............................................................................................. 80
7.3.1.1 Technologie Twinkle in Menü einbinden............................................................... 81
7.3.1.2 Technologie Twinkle in Untermenü einbinden...................................................... 82
7.3.2 Technologie Glue................................................................................................... 83
7.3.2.1 Technologie Glue in Menü einbinden................................................................... 84
7.3.3 Technologie DispSet.............................................................................................. 84
7.3.3.1 Technologie DispSet in Menü einbinden.............................................................. 86
8 Archivierung............................................................................................. 89
8.1 Dateien archivieren................................................................................................ 89
8.2 Dateien wiederherstellen....................................................................................... 90
9 KUKA Service........................................................................................... 91
9.1 Support-Anfrage..................................................................................................... 91
9.2 KUKA Customer Support...................................................................................... 91
Index 93
1 Einleitung
Einleitung
1.1 Zielgruppe
Für den optimalen Einsatz der KUKA Produkte empfehlen wir Schulun-
gen im KUKA College. Informationen zum Schulungsprogramm sind un-
ter www.kuka.com oder direkt bei den Niederlassungen zu finden.
Sicherheit
WARNUNG
Diese Hinweise bedeuten, dass Tod oder schwere Verletzungen eintre-
ten können, wenn keine Vorsichtsmaßnahmen getroffen werden.
VORSICHT
Diese Hinweise bedeuten, dass leichte Verletzungen eintreten können,
wenn keine Vorsichtsmaßnahmen getroffen werden.
HINWEIS
Diese Hinweise bedeuten, dass Sachschäden eintreten können, wenn
keine Vorsichtsmaßnahmen getroffen werden.
Hinweise
Begriff Beschreibung
1.5 Marken
1.6 Lizenzen
Einleitung
Weitere Informationen zu Open-Source-Lizenzen können unter folgender
Adresse angefordert werden: opensource@kuka.com
2 Produktbeschreibung
Produktbeschreibung
2.1 Produktbeschreibung
Beschreibung
Funktionen
Konverter
Technologien, die mit einer früheren UserTech-Version für KSS 8.1, 8.2,
8.3 oder 8.5 definiert wurden, können weiter verwendet werden. Es steht
ein Konverter zur Verfügung, der KFD-Dateien in das neue Dateiformat
konvertiert. Die zugehörigen smartHMI-Konfigurationsdateien können
ebenfalls konvertiert werden.
(>>> 5.1 "Konverter" Seite 19)
Skripte
Parametertypen
Folds
Sprachdateien
Verzeichnisse
Vorlagen
Verwendung
Fehlanwendung
3 Sicherheit
Sicherheit
Die Sicherheitsinformationen zum Industrieroboter sind im Kapitel "Sicher-
heit" der Bedien- und Programmieranleitung für Systemintegratoren oder
der Bedien- und Programmieranleitung für Endanwender zu finden.
Sicherheitsrelevante Informationen beachten
Die sichere Nutzung dieses Produkts erfordert die Kenntnis und Einhal-
tung grundlegender Sicherheitsmaßnahmen. Tod, schwere Verletzungen
oder Sachschäden können sonst die Folge sein.
• Das Kapitel "Sicherheit" in der Bedien- und Programmieranleitung
der KUKA System Software (KSS) muss beachtet werden.
4 Installation
Installation
Das Optionspaket kann entweder über die smartHMI oder über WorkVisu-
al auf der Robotersteuerung installiert werden.
4.1 Systemvoraussetzungen
Hardware
• Robotersteuerung KR C4 oder KR C5
Software
Robotersteuerung KR C4:
• KUKA System Software 8.6.x
Robotersteuerung KR C5:
• KUKA System Software 8.7.x
Laptop/PC:
• WorkVisual 6.0.x
Die Nummern der erforderlichen Releases/Versionen müssen der Datei
ReleaseNotes_[…].txt entnommen werden. Die Datei befindet sich auf
dem Datenträger mit KUKA.UserTech 4.0.
Beschreibung
Voraussetzung
• Benutzergruppe Experte
• Betriebsart T1 oder T2
• Es ist kein Programm angewählt.
• Netzwerkverbindung zur Robotersteuerung
• Optionspaket liegt als KOP-Datei vor.
Vorgehensweise
LOG-Datei
Beschreibung
Voraussetzung
• Benutzergruppe Experte
• Betriebsart T1 oder T2
• Es ist kein Programm angewählt.
• Netzwerkverbindung zur Robotersteuerung
Vorgehensweise
LOG-Datei
Voraussetzung
Installation
• Benutzerrechte: Funktionsgruppe Allgemeine Konfiguration
Mindestens jedoch Benutzergruppe Experte
• Betriebsart T1 oder T2
• Es ist kein Programm angewählt.
• USB-Stick mit dem Optionspaket (KOP-Datei)
HINWEIS
Datenverlust durch USB-Sticks von Fremdherstellern
Wenn bei Tätigkeiten an der Robotersteuerung USB-Sticks von anderen
Herstellern als KUKA verwendet werden, kann dies zu Datenverlust füh-
ren.
• Für Tätigkeiten an der Robotersteuerung, die einen USB-Stick erfor-
dern, einen KUKA-Stick verwenden.
Die KUKA-Sticks sind für den Einsatz an der Robotersteuerung vali-
diert.
Vorgehensweise
LOG-Datei
Installation
Voraussetzung
Vorgehensweise
LOG-Datei
5 Bedienung
Bedienung
5.1 Konverter
Beschreibung
Der Konverter erzeugt aus einer KFD-Datei (altes Dateiformat) eine KFDx-
Datei (neues Dateiformat).
KUKA.UserTech 4.0 erkennt, wenn eine Konvertierung erforderlich ist, und
führt diese automatisch durch:
• Beim Hochlauf der smartHMI
• Beim Öffnen eines UserTech-Inline-Formulars über das Menü
• Beim Wechseln der aktiven UserTech-Statustastenleiste
Suchpfade
LOG-Datei
Beschreibung
Konvertierungsdatei
Verzeichnis C:\KRC\TP\UserTech\SmartHMI
Datei KukaRoboter.UserTech.KfdConverter.exe
Suchpfade
Vorgehensweise
6 Programmierung
Programmierung
6.1 Übersicht KFDx-Syntax
Technologien
<Application>…</Application> Technologie definieren.
(>>> 6.8.2 "<Application>: Technologie definieren" Sei-
te 28)
Inline-Formulare
<Fold>…</Fold> Fold definieren.
(>>> 6.8.5 "<Fold>: Fold definieren" Seite 38)
<InlineForm>…</InlineForm> Inline-Formular definieren.
(>>> 6.8.6 "<InlineForm>: Inline-Formular definieren"
Seite 39)
<Param>…</Param> Parameter definieren.
(>>> 6.8.3 "<Param>: Parameter definieren" Seite 29)
Parameterlisten
<Param Name="PL_">…</Param> Datensatzstruktur für Parameterliste definieren.
(>>> 6.9.1 "<Param Name="PL_">: Datensatzstruktur
für Parameterliste definieren" Seite 50)
<PList>…</PList> Parameterliste definieren.
(>>> 6.9.2 "<PList>: Parameterliste definieren" Sei-
te 50)
Statustasten
<StatKey>…</StatKey> Statustaste definieren.
(>>> 6.10.1 "<StatKey>: Statustaste definieren" Sei-
te 56)
<StatkeyBar>…</StatkeyBar> Statustastenleiste definieren.
(>>> 6.10.2 "<StatkeyBar>: Statustastenleiste definie-
ren" Seite 62)
<Set>…</Set> Statustaste oder Statustastenleiste setzen.
(>>> 6.10.3 "<Set>: Statustaste oder Statustastenleiste
setzen" Seite 62)
Skripte
<Script>…</Script> Skript definieren.
(>>> 6.11.1 "<Script>: Skript definieren" Seite 63)
<Do Script…/> Skript ausführen.
(>>> 6.11.5 "<Do Script…/>: Skript ausführen" Sei-
te 67)
<Message…/> Meldungstext definieren.
(>>> 6.11.6 "<Message…/>: Meldung definieren" Sei-
te 67)
<Redecl…/> Variable neu anlegen oder überschreiben.
(>>> 6.11.4 "<Redecl…/>: Variable anlegen oder über-
schreiben" Seite 66)
<Set>…</Set> Statustaste oder Statustastenleiste setzen.
(>>> 6.10.3 "<Set>: Statustaste oder Statustastenleiste
setzen" Seite 62)
<SetVar…/> Variable setzen.
(>>> 6.11.2 "<SetVar…/>: Variable setzen" Seite 64)
<ShowVar…/> Variable auslesen.
(>>> 6.11.3 "<ShowVar…/>: Variable auslesen" Sei-
te 65)
<Switch Dialog ="FALSE"…> Variable abfragen und ergebnisabhängiges Skript aus-
führen.
…</Switch>
(>>> 6.11.7 "<Switch Dialog ="FALSE"…>: Variable ab-
fragen und Skript ausführen" Seite 68)
<Switch Dialog ="TRUE"…> Dialog anzeigen und antwortabhängiges Skript ausfüh-
ren.
…</Switch>
(>>> 6.11.8 "<Switch Dialog ="TRUE"...>: Dialog anzei-
gen und Skript ausführen" Seite 71)
ACCEPTINLINEFORM Vordefinierte Skripte
CANCELINLINEFORM (>>> 6.11.5.1 "Vordefinierte Skripte" Seite 67)
END
NOTHING
6.2 Sonderzeichen
Programmierung
Zeichen Beschreibung
/ Hebt die Sonderfunktion eines nachfolgenden Zeichens
auf. Das Zeichen "/" wird in der Zeichenkette nicht aus-
gegeben.
Beispiel:
• %INLINEFORM/
• %INLINEFORM
# Kennzeichnet eine Wertzuweisung
Beispiele:
• #%INLINEFORM
• #TOGGLE
| Kennzeichnet die Parameter, die über den Sprachschlüs-
sel einer Meldung ausgegeben werden
Beispiel:
6.3 Strings
Beschreibung
Funktionszeichen Maskierungszeichenkette
& &
' '
< <
> >
" "
Beispiel
Programmierung
6.4 Parameterreferenzen
Namen
6.6 Geltungsbereiche
Programmierung
6.7 Sprachdateien
Beschreibung
Beispiele
</Param>
Programmierung
<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>
Sprachkürzel
Sprache Sprachkürzel
Chinesisch zh
Dänisch da
Deutsch de
Englisch en
Finnisch fi
Französisch fr
Griechisch el
Italienisch it
Japanisch ja
Koreanisch ko
Niederländisch nl
Polnisch pl
Portugiesisch pt
Rumänisch ro
Russisch ru
Schwedisch sv
Slowakisch sk
Slowenisch sl
Spanisch es
Tschechisch cs
Türkisch tr
Ungarisch hu
Vietnamesisch vi
Programmierung
6.8 Übersicht: Technologie programmieren
Schritt Beschreibung
1 KFDx-Datei anlegen.
(>>> 6.8.1 "KFDx-Datei anlegen" Seite 27)
2 Technologie definieren.
(>>> 6.8.2 "<Application>: Technologie definieren" Sei-
te 28)
3 Parameter für Inline-Formulare und Parameterlisten defi-
nieren.
(>>> 6.8.3 "<Param>: Parameter definieren" Seite 29)
4 Parameterlisten definieren.
(>>> 6.9 "Parameterliste programmieren" Seite 49)
5 Folds für Inline-Formulare definieren.
(>>> 6.8.5 "<Fold>: Fold definieren" Seite 38)
6 Inline-Formulare definieren.
(>>> 6.8.6 "<InlineForm>: Inline-Formular definieren" Sei-
te 39)
7 Unterprogramme und Funktionen, die beim Schließen ei-
nes Inline-Formulars im Programm eingefügt werden sol-
len, global verfügbar machen.
Hinweis: Weitere Informationen zur Programmierung von
Unterprogrammen und Funktionen sind in der Bedien-
und Programmieranleitung für Systemintegratoren zu fin-
den.
8 Statustasten programmieren.
(>>> 6.10 "Statustasten programmieren" Seite 56)
9 Skripte programmieren.
(>>> 6.11 "Skripte programmieren" Seite 63)
10 Technologie in Bedienoberfläche einbinden.
(>>> 7.1 "Inline-Formulare und Statustasten in smartHMI
einbinden" Seite 73)
Beschreibung
Vorgehensweise
Beschreibung
Syntax
Element Beschreibung
Name Name der Technologie
SOT Legt fest, ob die Technologie über ein Listenfeld im
Inline-Formular ausgewählt werden kann.
Beispiel 1
Programmierung
<Application Name="MyTech">
</Application>
<Application Name="OtherTech">
</Application>
Beispiel 2
Die Technologien MyTech und OtherTech können nicht über ein Listen-
feld im Inline-Formular ausgewählt werden.
Beschreibung
Syntax
Element Beschreibung
Name Name des Parameters
ShortName Name, der im Inline-Formular für den Parameter an-
gezeigt wird
ShortCut Präfix, mit dem der im Inline-Formular eingestellte
Parameterwert in der Datenliste gespeichert wird
Unit Einheit, die im Inline-Formular für den Parameter an-
gezeigt wird
Element Beschreibung
Enable Parameter im Inline-Formular aktivieren/deaktivieren
• STATIC
(>>> 6.8.4.1 "Parameter Typ STATIC" Seite 31)
• FREE
(>>> 6.8.4.2 "Parameter Typ FREE" Seite 31)
• NAME
(>>> 6.8.4.3 "Parameter Typ NAME" Seite 32)
• NUMBER
(>>> 6.8.4.4 "Parameter Typ NUMBER" Sei-
te 32)
• REAL
(>>> 6.8.4.5 "Parameter Typ REAL" Seite 34)
• LIST
(>>> 6.8.4.6 "Parameter Typ LIST" Seite 35)
• BOOL
(>>> 6.8.4.7 "Parameter Typ BOOL" Seite 37)
Beispiel
Über die Cursor-Tasten auf der Tastatur kann der Parameterwert schritt-
Programmierung
weise um 2 erhöht oder verringert werden.
6.8.4 Parametertypen
Beschreibung
Auf dem Inline-Formular wird ein statischer Text angezeigt, der nicht edi-
tiert werden kann.
Syntax
Element Beschreibung
Default Text, der auf dem Inline-Formular angezeigt wird
Beispiel
<Param Name="FieldStatic">
<Value Type="STATIC" Default="Field cannot be edited" />
</Param>
Beschreibung
Im Inline-Formular wird ein Textfeld angezeigt. Der Text kann editiert wer-
den.
Syntax
Element Beschreibung
Default Text, der standardmäßig beim ersten Öffnen des Inli-
ne-Formulars angezeigt wird
Wenn kein String definiert wird, ist das Textfeld leer.
Beispiel
Nur Parameter vom Typ NAME können mit einer Parameterliste ver-
knüpft werden.
Beschreibung
Syntax
Element Beschreibung
Default Name der Variablen, der Funktion oder des Unterpro-
gramms, der standardmäßig beim ersten Öffnen des
Inline-Formulars angezeigt wird
Wenn das letzte Zeichen des Namens eine Ziffer (0…
9) ist, wird die Ziffer standardmäßig um eins hochge-
zählt, wenn das Inline-Formular neu angelegt wird.
Wird das Inline-Formular nach dem Öffnen abgebro-
chen, wird der Zähler nicht zurückgesetzt.
Beispiel
Beschreibung
Programmierung
• -2³¹-1 … 2³¹-1
Beispiele:
• 1; 32; 345
Syntax
Element Beschreibung
Default Parameterwert, der standardmäßig beim ersten Öff-
nen des Inline-Formulars angezeigt wird
Default, wenn Default nicht definiert ist: 0
Min Minimaler Eingabewert
Default, wenn Min nicht definiert ist: -2³¹-1
Max Maximaler Eingabewert
Default, wenn Max nicht definiert ist: 2³¹-1
Step Schrittweite für die Cursor-Tasten auf der Tastatur,
über die der Parameterwert erhöht und verringert
werden kann
Default, wenn Step nicht definiert ist: 0
Autolimit Automatische Begrenzung des Parameterwerts
Beispiel
Über die Cursor-Tasten auf der Tastatur kann der Parameterwert schritt-
weise um 2 erhöht oder verringert werden.
Beschreibung
• +1.1E-38 … +3.4E+38
Beispiele:
Syntax
Element Beschreibung
Default Parameterwert, der standardmäßig beim ersten Öff-
nen des Inline-Formulars angezeigt wird
Default, wenn Default nicht definiert ist: 0.0
Min Minimaler Eingabewert
Default, wenn Min nicht definiert ist: +1.1E-38
Max Maximaler Eingabewert
Default, wenn Max nicht definiert ist: +3.4E+38
Step Schrittweite für die Cursor-Tasten auf der Tastatur,
über die der Wert im Eingabefeld erhöht und verrin-
gert werden kann
Default, wenn Step nicht definiert ist: 0.1
Autolimit Automatische Begrenzung des Parameterwerts
Beispiel
Programmierung
Abb. 6-8: Parameter Typ REAL
Über die Cursor-Tasten auf der Tastatur kann der Parameterwert schritt-
weise um 0.5 erhöht oder verringert werden.
Beschreibung
Im Inline-Formular wird ein Listenfeld angezeigt. Über die Liste kann ein
Parameter ausgewählt werden. Die Parameter in der Liste können nicht
editiert werden.
Syntax
<List SelectedItem="String">
<Item Key="String" Disp="String" />
<Item Key="String" Disp="String" />
...
<Item Key="String" Disp="String" />
</List>
Element Beschreibung
SelectedItem Parameter, der standardmäßig beim ersten Öffnen
des Inline-Formulars angezeigt wird
Key Parameterwert, der verarbeitet wird
Hinweis: Für jeden Listenparameter muss ein Key
hinterlegt sein, der innerhalb der Liste eindeutig ist.
Disp Parameterwert, der angezeigt wird
Default, wenn Disp nicht definiert ist: Der angezeigte
Wert entspricht dem Wert Key.
Beispiel 1
Beispiel 2
Programmierung
Beschreibung
Syntax
Element Beschreibung
Default Wert der Checkbox, der standardmäßig beim ersten
Öffnen des Inline-Formulars angezeigt wird
Beispiel
Beschreibung
Fold definieren.
Für Inline-Formulare können Folds definiert werden, die in das im Editor
geöffnete Modul eingefügt werden.
In den Folds keine Kontrollstrukturen, z. B. Verzweigungen und Schlei-
fen, verwenden! Diese können in angewählten Programmen nicht einge-
fügt werden.
Syntax
<Fold Name="Name">
<Line>String1<Line/>
...
<Line>StringN<Line/>
</Fold>
Element Beschreibung
Name Name des Folds
String1 Inhalt der Fold-Zeilen 1 … N
… Alle Parameterreferenzen eines Strings werden im
Programm durch die im Inline-Formular ausgewählten
StringN
Werte ersetzt.
(>>> 6.4 "Parameterreferenzen" Seite 24)
Beispiel
<Fold Name="MyFold">
<Line>Laser(#%INLINEFORM/,%DataSet/,%Pattern/)</Line>
<Line>TRIGGER WHEN PATH=%DistanceWay/ DELAY=0 DO
LASER_ON=TRUE</Line>
</Fold>
Programmierung
• DataSet = DataSet6
• DistanceWay = 210
• Pattern = STEP
• INLINEFORM = ON
KRL-Code im Programm:
Laser(#ON,DataSet6,STEP)
TRIGGER WHEN PATH=210 DELAY=0 DO LASER_ON=TRUE
Beschreibung
Inline-Formular definieren.
Einem Inline-Formular können Parameter und Folds zugeordnet werden.
Außerdem können Skripte angegeben werden, die beim Öffnen oder beim
Schließen des Inline-Formulars ausgeführt werden sollen, oder beim Drü-
cken auf Touch-Up.
Syntax
Element Beschreibung
Name Name des Inline-Formulars
IlfType Typ des Inline-Formulars
Legt fest, ob die Folds des Inline-Formulars in einen
Fold mit Spline-Kontrollstruktur eingefügt werden kön-
nen.
Element Beschreibung
Style Formatierung des KRL-Codes
• WYSIWYG
(>>> 6.8.7.1 "Formatiertyp WYSIWYG" Seite 44)
• SUB
(>>> 6.8.7.2 "Formatiertyp SUB" Seite 44)
• DSUB
(>>> 6.8.7.3 "Formatiertyp DSUB" Seite 45)
• FCT
(>>> 6.8.7.4 "Formatiertyp FCT" Seite 46)
• DFCT
(>>> 6.8.7.5 "Formatiertyp DFCT" Seite 47)
• ASS
(>>> 6.8.7.6 "Formatiertyp ASS" Seite 48)
• ASSAGG
(>>> 6.8.7.7 "Formatiertyp ASSAGG" Seite 48)
Default, wenn Style nicht definiert ist: WYSIWYG
Focus Nummer des Parameters (siehe Element PRM Name),
der standardmäßig beim ersten Öffnen des Inline-For-
mulars im Fokus steht
Voraussetzung für diese Funktion:
Programmierung
Element Beschreibung
OnOpen Name des Skripts, das ausgeführt wird, wenn das In-
line-Formular mit einer der folgenden Aktionen geöff-
net wird:
Beispiel
26 <InlineForm Name="ON">
Programmierung
Zeile Beschreibung
1 … 36 Definition der Technologie LASER
2 … 4 Definition des Parameters DataSet
Typ: NAME
5 … 7 Definition des Parameters DistanceWay
Typ: NUMBER
8 … 10 Definition des Parameters DelayTime
Typ: REAL
11 … 17 Definition des Parameters Pattern
Typ: LIST
Liste der auswählbaren Parameterwerte:
• PULSE
• STEP
• CONT
18 … 21 Definition des Folds LasOn
Trigger zum Einschalten des Lasers
22 … 25 Definition des Folds LasOff
Trigger zum Ausschalten des Lasers
26 … 31 Definition des Inline-Formulars LASER.ON zum Einschalten
des Lasers
Folgender Fold ist dem Inline-Formular zugeordnet:
• LasOn
Folgende Parameter können im Inline-Formular eingestellt
werden:
• DataSet
• DistanceWay
• Pattern
32 … 35 Definition des Inline-Formulars LASER.OFF zum Ausschal-
ten des Lasers
Folgender Fold ist dem Inline-Formular zugeordnet:
• LasOff
Folgender Parameter kann im Inline-Formular eingestellt
werden:
• DelayTime
Inline-Formular LASER.ON
Programmierung
Abb. 6-13: Inline-Formular LASER.ON
Inline-Formular LASER.OFF
Beschreibung
KFDx-Datei
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>
Zeile Beschreibung
2 … 4 Definition des OnOpen-Skripts, das beim Öffnen des Inline-
Formulars ausgeführt werden soll
5 … 7 Definition des OnAccept-Skripts, das beim Schließen des
Inline-Formulars ausgeführt werden soll
12 … 14 Definition des Inline-Formulars
6.8.7 Formatiertypen
Beschreibung
Die Formatierung des KRL-Codes entspricht genau dem Text des Inline-
Formulars.
Beispiel
<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>
KRL-Code im Programm:
Beschreibung
Beispiel
<Application Name="Laser">
<Param Name="Fieldlist" ShortName="Weave pattern: ">
<List SelectedItem="Triangle">
Programmierung
<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>
KRL-Code im Programm:
Beschreibung
Beispiel
<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">
KRL-Code im Programm:
Beschreibung
Beispiel
<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>
Programmierung
Abb. 6-18: Inline-Formular Laser.On
KRL-Code im Programm:
Beschreibung
Beispiel
<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>
KRL-Code im Programm:
Beschreibung
Beispiel
<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>
KRL-Code im Programm:
Beschreibung
Programmierung
• Zwischen Inline-Formular-Name und Parameterliste wird ein Gleich-
heitszeichen gesetzt.
Beispiel
<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>
KRL-Code im Programm:
Beschreibung
Übersicht
Schritt Beschreibung
1 Parameter der Parameterliste definieren.
(>>> 6.8.3 "<Param>: Parameter definieren" Seite 29)
2 Datensatzstruktur definieren.
(>>> 6.9.1 "<Param Name="PL_">: Datensatzstruktur für
Parameterliste definieren" Seite 50)
3 Strukturdatensatz und Default-Datensatz in der $con-
fig.dat definieren.
(>>> 6.9.3 "Strukturdatentyp definieren" Seite 51)
4 Parameterliste definieren und einem Parameter vom Typ
NAME zuordnen.
(>>> 6.9.2 "<PList>: Parameterliste definieren" Seite 50)
Beispiel
Programmierung
Beschreibung
Syntax
Element Beschreibung
Name="PL_Name" Name des Datensatzes
(>>> 6.9.2 "<PList>: Parameterliste definieren" Seite 50)
ShortName Name des Datensatzes, der im Optionsfenster auf der
smartHMI angezeigt wird
ShortCut Name des Strukturdatentyps des Datensatzes
(>>> 6.9.3 "Strukturdatentyp definieren" Seite 51)
Unit Präfix des Default-Datensatzes
(>>> 6.9.3 "Strukturdatentyp definieren" Seite 51)
Var Systemname des Datensatzes
<Value Type="FREE" Platzhalter für die Default-Werte des Datensatzes
Default="_" />
(>>> 6.9.3 "Strukturdatentyp definieren" Seite 51)
Beschreibung
Syntax
Programmierung
Element Beschreibung
Name Name des Datensatzes
(>>> 6.9.1 "<Param Name="PL_">: Datensatzstruktur
für Parameterliste definieren" Seite 50)
Param Name des Parameters im Inline-Formular, mit dem
der Datensatz verknüpft wird
Hinweis: Nur Parameter vom Typ NAME können mit
einer Parameterliste verknüpft werden.
NameParam1 Namen der Parameter 1 … N des Datensatzes
… Die Reihenfolge, in der die Parameter angegeben
werden, entspricht der Anzeigefolge im Optionsfens-
NameParamN
ter.
Layout und Wertebereich der Parameter müssen mit
<Param> definiert sein.
(>>> 6.8.3 "<Param>: Parameter definieren" Seite 29)
Beschreibung
Syntax
Strukturdatentyp:
• STRUC Name
Typ1 StrukturnameParam1,
…,
TypN StrukturnameParamN
Default-Werte:
Element Beschreibung
Name Name des Strukturdatentyps
(>>> 6.9.1 "<Param Name="PL_">: Datensatz-
struktur für Parameterliste definieren" Seite 50)
Typ1 … TypN Datentypen der Parameter des Datensatzes
• INT
• REAL
• BOOL
StrukturnameParam1, Strukturnamen der Parameter des Datensatzes
…,
StrukturnameParamN
Präfix Präfix des Default-Datensatzes
(>>> 6.9.1 "<Param Name="PL_">: Datensatz-
struktur für Parameterliste definieren" Seite 50)
Defautl1 … DefaultN Default-Werte der Parameter des Datensatzes
Die Default-Werte sind frei wählbar.
KFDx-Datei
22 </Param>
Programmierung
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>
Zeile Beschreibung
1 … 65 Definition der Technologie MyTech
2 … 4 Definition des Parameters ParamList
Typ: NAME
Über diesen Parameter wird eine Parameterliste mit einem
Laserdatensatz im Inline-Formular aufgerufen.
Hinweis: Nur Parameter vom Typ NAME können mit einer
Parameterliste verknüpft werden.
Zeile Beschreibung
5 … 28 Definition der Parameter des Laserdatensatzes
Typ: NUMBER
$config.dat
Inline-Formular
Programmierung
Pos. Beschreibung
1 Name der Technologie
2 Listenfeld mit den Inline-Formularen der Technologie
• MyCmd
• ILF_With_ParamList
3 Name des Laserdatensatzes
Über den Pfeil wird die Parameterliste mit dem Laserdatensatz
aufgerufen.
4 Checkbox zum Ein-/Ausschalten des Lasers
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
Beschreibung
Die 4 Statustasten auf der linken Seite des smartPAD können mit Funktio-
nen belegt werden.
Übersicht
Schritt Beschreibung
1 Statustasten definieren.
(>>> 6.10.1 "<StatKey>: Statustaste definieren" Sei-
te 56)
2 Statustastenleiste definieren.
(>>> 6.10.2 "<StatkeyBar>: Statustastenleiste definieren"
Seite 62)
3 Skripte definieren, die bei Bedienaktionen ausgeführt wer-
den sollen, z. B. Statustaste drücken, loslassen oder ge-
drückt halten.
(>>> 6.11 "Skripte programmieren" Seite 63)
Beschreibung
Statustaste definieren.
Nebem dem Format und dem Layout einer Statustaste kann definiert wer-
den, unter welchen Bedingungen sie aktiv sein soll, z. B. nur in einer be-
stimmten Betriebsart oder bei gedrücktem Zustimmungsschalter.
Außerdem können Skripte angegeben werden, die beim Drücken, Loslas-
sen oder Gedrückt halten der Statustaste ausgeführt werden sollen oder
wenn die Statustaste über das Hauptmenü aufgerufen wird.
Syntax
<StatKey>
Programmierung
Element Beschreibung
Name Name der Statustaste
Enable Statustaste aktivieren/deaktivieren
• #SWITCH
Einfache Statustaste
Einer einfachen Statustaste ist eine Taste zuge-
ordnet. Die Taste übernimmt immer die PLUS-
Funktion.
• #TOGGLE
Doppelte Statustaste
Einer doppelten Statustaste sind 2 Tasten zuge-
ordnet. Die obere Taste übernimmt die PLUS-
Funktion. Die untere Taste übernimmt die MINUS-
Funktion.
Default, wenn Style nicht definiert ist: #SWITCH
Next Name der nächsten Statustaste
<Picture />
Element Beschreibung
Default Pfadangabe für die Grafik, die neben der Statustaste
auf dem Seitenrahmen der smartHMI angezeigt wird
KeyDown Pfadangabe für die Grafik, die neben der Statustaste
auf dem Seitenrahmen der smartHMI angezeigt wird,
wenn die Taste mit der PLUS-Funktion gedrückt wird
KeyDownMinus Pfadangabe für die Grafik, die neben der Statustaste
auf dem Seitenrahmen der smartHMI angezeigt wird,
wenn die Taste mit der MINUS-Funktion gedrückt
wird
(>>> 6.10.1.1 "Bildgrößen" Seite 60)
(>>> 6.10.1.2 "Layout" Seite 60)
<Text />
Element Beschreibung
Top Text, der neben der Statustaste auf dem Seitenrah-
men der smartHMI angezeigt wird (oben)
Center Text, der neben der Statustaste auf dem Seitenrah-
men der smartHMI angezeigt wird (zentriert)
Element Beschreibung
Bottom Text, der neben der Statustaste auf dem Seitenrah-
men der smartHMI angezeigt wird (unten)
<Needs />
Element Beschreibung
SafetySwitch Statustaste mit Zustimmungsschalter aktivieren
• Free (2)
• Stop (4)
• Reset (8)
• End (16)
• Active (32)
Wenn die Statustaste in mehreren Betriebszuständen
aktiv sein soll, können die Werte mit dem Verket-
tungszeichen | aneinandergereiht werden, z. B. Stop|
End.
Default, wenn Prostate0 nicht definiert ist: Status-
taste ist aktiv, wenn ein Submit-Interpreter läuft (= Zu-
stand Active).
Hinweis: Ein Betriebszustand kann auch als Dezimal-
wert und mehrere Betriebszustände als addierte Dezi-
malwerte angegeben werden, z. B. Stop|End = 20 (=
4+16).
Programmierung
Element Beschreibung
Prostate Statustaste ist abhängig vom Betriebszustand des
Roboter-Interpreters aktiv.
• Free (2)
• Stop (4)
• Reset (8)
• End (16)
• Active (32)
Wenn die Statustaste in mehreren Betriebszuständen
aktiv sein soll, können die Werte mit dem Verket-
tungszeichen | aneinandergereiht werden, z. B. Stop|
End.
Default, wenn Prostate nicht definiert ist: Statustas-
te ist aktiv, wenn der Roboter-Interpreter nicht läuft (=
Zustand Free|Stop|Reset|End).
Hinweis: Ein Betriebszustand kann auch als Dezimal-
wert und mehrere Betriebszustände als addierte Dezi-
malwerte angegeben werden, z. B. Stop|End = 20 (=
4+16).
ModeOp Statustaste ist abhängig von der Betriebsart aktiv.
• T1 (1)
• T2 (2)
• Aut (4)
• Ext (8)
Wenn die Statustaste in mehreren Betriebsarten aktiv
sein soll, können die Werte mit dem Verkettungszei-
chen | aneinandergereiht werden, z. B. T1|T2.
Default, wenn ModeOp nicht definiert ist: Statustaste
ist in T1, T2 und AUT aktiv (= Zustand T1|T2|AUT).
Hinweis: Eine Betriebsart kann auch als Dezimalwert
und mehrere Betriebsarten als addierte Dezimalwerte
angegeben werden, z. B. T1|T2 = 3 (= 1+2).
<Scripts />
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 die
Taste über das Hauptmenü aufgerufen wird
OnKeyDown Name des Skripts, das ausgeführt wird, wenn die
Minus 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
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 wieder-
holt ausgelöst. Die Zeitabstände werden dabei immer
geringer.
Element Beschreibung
OnKeyRepeat Name des Skripts, das ausgeführt wird, wenn die
Minus Taste mit der MINUS-Funktion länger gedrückt wird
Das Skript wird bis zum Loslassen der Taste wieder-
holt ausgelöst. Die Zeitabstände werden dabei immer
geringer.
6.10.1.1 Bildgrößen
Für die Grafiken können Icons (*.ICO), Bitmaps (*.BMP) oder portable
Netzwerkgrafiken (*.PNG) verwendet werden. Empfohlen wird die Verwen-
dung von Icons.
Folgende Bildgrößen werden benötigt:
6.10.1.2 Layout
Um die Grafiken neben den Statustasten auf der smartHMI optimal anzu-
zeigen, sind die hier beschriebenen Vorgaben zu beachten.
Programmierung
Eine Grafik von 32 x 96 Pixel wird in 3 gleich hohe Blöcke à 32 x 32 Pi-
xel zerlegt. Auf der smartHMI werden diese Blöcke getrennt voneinander
angezeigt. Die Grafik, die in einem Block zur Anzeige kommen soll, muss
jeweils zentriert werden.
Hintergrundfarbe
Wenn die verwendete Grafik eine Hintergrundfarbe besitzt, die von der
Farbe der smartHMI abweicht, ist diese auf der smartHMI sichtbar.
Soll nur das verwendete Symbol auf der smartHMI zu sehen sein und
nicht die umgebende Fläche, gibt es je nach Dateityp folgende Möglichkei-
ten:
• Grafik vom Typ *.ICO oder *.PNG:
Bereiche, die das Symbol umgeben, als transparente Bereiche definie-
ren.
Beschreibung
Statustastenleiste definieren.
Eine Statustastenleiste kann bis zu 4 Statustasten enthalten.
Syntax
<StatkeyBar Name="Name">
<SK Name="Name1" Pos="Number" />
...
<SK Name="Name4" Pos="Number" />
</StatkeyBar>
Element Beschreibung
Name Name der Statustastenleiste
Hinweis: Der Name der Statustastenleiste muss über
alle Technologien hinweg eindeutig sein.
Name1 Namen der Statustasten 1 … 4
… (>>> 6.10.1 "<StatKey>: Statustaste definieren" Sei-
te 56)
Name4
Wenn Pos für keine der Statustasten definiert ist, ent-
spricht die Reihenfolge, in der die Statustasten hier
angegeben werden, der Anzeigefolge (von oben nach
unten).
Pos Position der Statustaste
• 1 … 4
Ist z. B. für die als Erste angegebene Statustaste
Pos=3 definiert, wird sie der 3. Statustaste von oben
zugeordnet. Angenommen für die nächste Statustaste
ist Pos nicht definiert, wird diese auf den nächsten
freien Platz gelegt beginnend mit der ersten Status-
taste von oben.
Beschreibung
Der Befehl kann innerhalb und außerhalb von Skripten verwendet werden.
Programmierung
Innerhalb von Skripten sind Platzhalter erlaubt, die ihre Wertzuweisung vor
der Ausführung des Skripts erhalten haben, z. B. %INLINEFORM.
Syntax
Statustaste setzen:
<Set Name="Name" Enable="Bool" UserMode="IdNumber"
Style="Format" Next="Name">
<Picture Default="String" KeyDown="String"
KeyDownMinus="String" />
<Text Top="String" Center="String" Bottom="String" />
<Needs SafetySwitch="Bool" DrivesOk="Bool"
Prostate0="Activation value" Prostate="Activation value"
ModeOp="Activation value" />
<Scripts OnKeyDown="Script" OnKeyUp="Script"
OnKeyShow="Script" OnKeyDownMinus="Script"
OnKeyUpMinus="Script" OnKeyRepeat="Script"
OnKeyRepeatMinus="Script" />
</Set>
Statustastenleiste setzen:
<Set Name="Name">
<SK Name="Name1" />
...
<SK Name="Name4" />
</Set>
Element Beschreibung
Name Name der Statustaste oder Statustastenleiste, die ge-
setzt werden soll
Nach dem Setzen des Namens können alle Attribute
der Statustaste oder Statustastenleiste neu definiert
werden.
(>>> 6.10.1 "<StatKey>: Statustaste definieren" Sei-
te 56)
(>>> 6.10.2 "<StatkeyBar>: Statustastenleiste definie-
ren" Seite 62)
Beschreibung
Skript definieren.
Für Inline-Formulare und Statustasten können Skripte definiert werden.
Mithilfe dieser Skripte können folgende Aktionen ausgeführt werden:
• KRL-Variablen anlegen
Syntax
<Script Name="Name">
Actions
</Script>
Element Beschreibung
Name Name des Skripts, das aufgerufen werden soll
Actions Aktionen, die mit dem Skript ausgeführt werden sol-
len
(>>> 6.11.2 "<SetVar…/>: Variable setzen" Seite 64)
(>>> 6.11.3 "<ShowVar…/>: Variable auslesen" Sei-
te 65)
(>>> 6.11.4 "<Redecl…/>: Variable anlegen oder
überschreiben" Seite 66)
(>>> 6.11.5 "<Do Script…/>: Skript ausführen" Sei-
te 67)
(>>> 6.11.6 "<Message…/>: Meldung definieren" Sei-
te 67)
(>>> 6.11.7 "<Switch Dialog ="FALSE"…>: Variable
abfragen und Skript ausführen" Seite 68)
(>>> 6.11.8 "<Switch Dialog ="TRUE"...>: Dialog an-
zeigen und Skript ausführen" Seite 71)
Beschreibung
Variable setzen.
Innerhalb eines Skripts kann der Wert einer Variablen geändert werden.
Syntax
Programmierung
Element Beschreibung
Fullpath Name der Variablen, die gesetzt werden soll
Die Parameterreferenzen im String werden durch die
aktuellen Werte ersetzt. Der String wird als Variablen-
name mit Pfadangabe interpretiert.
Value Wert der Variablen, die gesetzt werden soll
Die Parameterreferenzen im String werden durch die
aktuellen Werte ersetzt. Der String wird als Zielwert
interpretiert.
Beispiel
<Application Name="MyTech">
<Script Name="Example">
<SetVar Fullpath="$OUT[20]" Value="True" />
</Script>
</Application>
Beschreibung
Variable auslesen.
Innerhalb eines Skripts kann der Wert einer Variablen ausgelesen werden.
Syntax
Element Beschreibung
Fullpath Name der Variablen, die ausgelesen werden soll
Die Parameterreferenzen im String werden durch die
aktuellen Werte ersetzt. Der String wird als Variablen-
name mit Pfadangabe interpretiert.
Param Name des Parameters, in den der ausgelesene Wert
geschrieben werden soll
Beispiel
<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>
Nach Ausführen des Skripts bei einem angewählten Programm in der Be-
Programmierung
Beschreibung
Syntax
Element Beschreibung
Global Geltungsbereich der Variablen
Beispiel
<Script Name="Example">
<Redecl Path="%MODULE/" Declaration=
"DECL AXIS AnyPoint = {A1 09, A2 -90, A3 90, A4 0, A5 0,
A6 0}" />
</Script>
Wird das Skript in einem Programm ausgeführt, wird die Deklaraton in die
Datenliste des Programms geschrieben.
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
Programmierung
6.11.5 <Do Script…/>: Skript ausführen
Beschreibung
Skript ausführen.
Syntax
Element Beschreibung
Script Name des Skripts, das ausgeführt werden soll
(>>> 6.11.1 "<Script>: Skript definieren" Seite 63)
Name Beschreibung
ACCEPTINLINEFORM Nur verwendbar bei OnAccept-Skripten
Das Inline-Formular wird geschlossen und die geänderten Pa-
rameter werden übernommen.
(>>> 6.8.6 "<InlineForm>: Inline-Formular definieren" Seite 39)
CANCELINLINEFORM Nur verwendbar bei OnAccept-Skripten
Das Inline-Formular wird geschlossen und die geänderten Pa-
rameter werden nicht übernommen.
(>>> 6.8.6 "<InlineForm>: Inline-Formular definieren" Seite 39)
END Das laufende Skript wird abgebrochen.
NOTHING Platzhalter für Skript
Beschreibung
Meldung definieren.
Innerhalb eines Skripts kann eine Meldung definiert werden, die im Mel-
dungsfenster der KUKA smartHMI angezeigt wird.
Syntax
Element Beschreibung
Text Meldung, die angezeigt werden soll
Die Parameterreferenzen im String werden durch die
aktuellen Werte ersetzt. Der String wird in der
Sprachdatei mit den zu übersetzenden Texten als
Schlüssel verwendet.
(>>> 6.7 "Sprachdateien" Seite 25)
Beispiel
Programmierung
<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>
Nach Ausführen des Skripts bei einem angewählten Programm in der Be-
triebsart T1 wird im Meldungsfenster folgende Meldung ausgegeben:
• $MODE_OP=#T1
Beschreibung
Syntax
Programmierung
Element Beschreibung
Condition Name der Variablen, die abgefragt wird
Die Parameterreferenzen im String werden durch die
aktuellen Werte ersetzt. Der String wird als Variablen-
name mit Pfadangabe interpretiert.
Bei einer Switch-Anweisung in einem OnOpen-Skript
können folgende Schlüsselwörter verwendet werden:
• IsChange
Abhängig davon, wie das Inline-Formular geöffnet
wird, können verschiedene Skripte ausgeführt
werden:
‒ Case Value="True":
Das hier angegebene Skript wird ausgeführt,
wenn das Inline-Formular durch Drücken auf
Ändern geöffnet wurde.
‒ Case Value="False":
Das hier angegebene Skript wird ausgeführt,
wenn das Inline-Formular über das Menü Be-
fehle geöffnet wurde.
• DoAlways
Bei Case Value="True" wird das OnOpen-Skript
auch ausgeführt, wenn zwischen 2 UserTech-Inli-
ne-Formularen umgeschaltet wird.
String1 Ergebnis der Abfrage (Fall 1 … N)
… Alle Parameterreferenzen eines Strings werden im
Programm durch die im Inline-Formular ausgewählten
StringN
Werte ersetzt.
Script1 Name des Skripts, das ausgeführt werden soll, wenn
Fall 1 … N eintritt
…
ScriptN
ScriptElse Name des Skripts, das ausgeführt werden soll, wenn
keiner der Fälle 1 … N eintritt
Beispiele
Beschreibung
KFDx-Datei
1 <Application Name="TestScript">
2 <Script Name="ChangeTest">
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>
Zeile Beschreibung
2 … 7 Definition der Skripte für die IsChange-Abfrage, die abhän-
gig vom Ergebnis der Abfrage ausgeführt werden sollen
8 … 12 Definition des OnOpen-Skripts mit der IsChange-Abfrage,
das beim Öffnen des Inline-Formulars ausgeführt werden
soll
• Case Value="True":
Das hier angegebene Skript wird ausgeführt, wenn das
Inline-Formular durch Drücken auf Ändern geöffnet wur-
de.
• Case Value="False":
Das hier angegebene Skript wird ausgeführt, wenn das
Inline-Formular über das Menü Befehle geöffnet wurde.
13 … 16 Definition des OnAccept-Skripts, das beim Schließen des
Inline-Formulars ausgeführt werden soll
20 … 22 Definition des Inline-Formulars
Beschreibung
KFDx-Datei
1 <Application Name="TestScript">
2 <Script Name="Script1">
3 <Message Text="Fired only once!" />
4 </Script>
Programmierung
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>
Zeile Beschreibung
2 … 4 Definition des OnOpen-Skripts, das ausgeführt werden soll,
wenn ein Inline-Formular durch Drücken auf Ändern oder
über das Menü Befehle geöffnet wird
5 … 7 Definition des Skripts für die DoAlways-Abfrage
8 … 12 Definition des OnOpen-Skripts mit der DoAlways-Abfrage,
das bei jedem Öffnen eines Inline-Formulars ausgeführt
werden soll.
15 … 20 Definition der Inline-Formulare
Beschreibung
Syntax
Element Beschreibung
Condition Meldungstext, der im Dialog angezeigt wird
Die Parameterreferenzen im String werden durch die
aktuellen Werte ersetzt. Der String wird in der
Sprachdatei mit den zu übersetzenden Texten als
Schlüssel verwendet.
(>>> 6.7 "Sprachdateien" Seite 25)
String1 Antworten 1 … 7, die auf den Schaltflächen im
Dialog angezeigt werden
…
Wenn kein String definiert ist, wird keine Schaltfläche
String7
angezeigt.
Die Parameterreferenzen im String werden durch die
aktuellen Werte ersetzt. Der String wird in der
Sprachdatei mit den zu übersetzenden Texten als
Schlüssel verwendet.
(>>> 6.7 "Sprachdateien" Seite 25)
Script1 Namen der Skripte 1 … 7, die je nach Antwort aus-
geführt werden
…
Script7
7 Konfiguration
Konfiguration
7.1 Inline-Formulare und Statustasten in smartHMI einbinden
Beschreibung
Vorlagen
• Technologie: MyTech
• Inline-Formulare: MyCmd und Ilf_With_ParamList
(>>> 6.9.4 "Technologie MyTech" Seite 52)
TestStat.kfdx
Programmierbeispiel für Statustasten
• Technologie: StatkeyTest
• Statustastenleiste: Test
Konfigurationsdateien:
Verzeichnis C:\KRC\TP\UserTech\SmartHMI
Dateien SmartHMI.exe.UserTech.InlineForms.config
Mit Konfigurationsbeispiel für Inline-Formulare auf der
smartHMI
(>>> 7.1.1 "Menüstruktur für Inline-Formulare" Sei-
te 74)
SmartHMI.exe.UserTech.KeyBar.config
Mit Konfigurationsbeispiel für Statustasten auf der
smartHMI
(>>> 7.1.2 "Menüstruktur für Statustastenleisten" Sei-
te 75)
Beispiele
Die Menüstruktur für den Aufruf von Inline-Formularen ist vorgegeben. Die
variablen Werte im Beispiel sind hervorgehoben.
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>
Zeile Beschreibung
3, 16 Das Element MenuRoot legt das Menü fest, in dem das In-
line-Formular aufgerufen wird.
CommandMenu = Menü Befehle
4, 15 Das Element MenuFolder fügt einen Menüpunkt in das
Menü Befehle ein, hier den Menüpunkt UserTech.
Attribute:
• DisplayName
Name des Menüpunkts im Menü
Der Name kann als Schlüssel in der Sprachdatei User-
TechILFs.kxr verwendet werden.
• MergeOrder
Position des Menüpunkts im Menü
5, 11 Das Element MenuItem fügt einen Menüpunkt in das Menü
Befehle > UserTech ein, hier den Menüpunkt MyCmd.
Attribute:
• DisplayName
Name des Menüpunkts im Menü.
Der Name kann als Schlüssel in der Sprachdatei User-
TechILFs.kxr verwendet werden.
• MergeOrder
Position des Menüpunkts im Menü
Mit MenuItem eingefügte Menüpunkte müssen mit einer
Funktion belegt sein.
6, 10 Das Element CommandCall ruft die Funktion des Menü-
punkts auf, hier das Inline-Formular MyCmd.
Konfiguration
Zeile Beschreibung
7 … 9 Der Funktionsaufruf für ein Inline-Formular enthält folgende
Argument-Elemente:
• PlugInName
Name des Funktionsmoduls:
‒ INLINEFORM
• ProcID
Nummer des Funktionsmoduls:
‒ 2011
• ParamList
Parameter des Funktionsmoduls:
‒ Kuka.UserTech
‒ MYTECH: Der in der KFDx-Datei definierte Name
der Technologie, in der das Inline-Formular definiert
ist
‒ MyCmd: Der in der KFDx-Datei definierte Name des
Inline-Formulars
12, 14 Das MenuItem-Element fügt einen weiteren Menüpunkt in
das Menü Befehle > UserTech ein, hier den Menüpunkt
Ilf_With_ParamList.
Attribute:
• DisplayName
Name des Menüpunkts im Menü
Der Name kann als Schlüssel in der Sprachdatei User-
TechILFs.kxr verwendet werden.
• MergeOrder
Position des Menüpunkts im Menü
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>
Konfiguration
13 </MenuFolder>
14 </MenuFolder>
15 </MenuRoot>
16 </KukaRoboter.SmartHMI.Menu>
Zeile Beschreibung
2, 15 Das Element MenuRoot legt das Menü fest, in dem die
Statustastenleiste aufgerufen wird.
MainMenu = Hauptmenü
3, 14 Die beiden MenuFolder-Elemente bilden das Menü im
4, 13 Hauptmenü ab, in dem die Statustastenleiste aufgerufen
wird.
• DisplayName
Name des Menüpunkts im Menü
6, 11 Das Element MenuItem fügt einen Menüpunkt in das Menü
Konfiguration > Statustasten > UserTech ein, hier den
Menüpunkt Test.
Attribute:
• DisplayName
Name des Menüpunkts im Menü.
• MergeOrder
Position des Menüpunkts im Menü
Mit MenuItem eingefügte Menüpunkte müssen mit einer
Funktion belegt sein
7, 10 Das Element CommandCall ruft die Funktion des Menü-
punkts auf, hier die Statustastenleiste Test.
9 Mit UserkeyBarID wird der in der KFDx-Datei definierte
Name der Statustastenleiste angegeben, die aufgerufen
werden soll, hier die Statustastenleiste Test.
Beschreibung
Vorlagen
Konfiguration
Es stehen ein Programmier- und Konfigurationsbeispiel zur Verfügung, die
als Vorlage verwendet werden können.
Programmierbeispiel:
Verzeichnis C:\ProgramData\KUKA Roboter GmbH\WorkVisual
\6.0\OptionPackages\UserTech\WorkVisual
Datei MyTech.kfdx
Programmierbeispiel für Inline-Formulare
• Technologie: MyTech
• Inline-Formulare: MyCmd und Ilf_With_ParamList
(>>> 6.9.4 "Technologie MyTech" Seite 52)
Konfigurationsdatei:
Verzeichnis C:\ProgramData\KUKA Roboter GmbH\WorkVisual
\6.0\OptionPackages\UserTech\WorkVisual
Datei WorkVisual.exe.UserTech.InlineForms.config
Mit Konfigurationsbeispiel für Inline-Formulare in
WorkVisual
(>>> "Konfigurationsdatei" Seite 78)
Voraussetzung
Vorgehensweise
Konfigurationsdatei
Konfiguration
Zeile Beschreibung
8 Neuer Menüpunkt im Kontextmenü, hier UserTech
9 Neuer Untermenüpunkt im Kontextmenü, hier MyCmd
Attribute:
• Provider=Kuka.UserTech
Name des Optionspakets, das das Inline-Formular be-
reitstellt; ist immer Kuka.UserTech
• DisplayName="Menubar#MyCmd"
Name des Untermenüpunkts im Kontextmenü
• Command="MYTECH"
Der in der KFDx-Datei definierte Name der Technologie,
in der das Inline-Formular definiert ist
• Variant="MyCmd"
Der in der KFDx-Datei definierte Name des Inline-For-
mulars
10 Neuer Untermenüpunkt im Kontextmenü, hier Ilf_With_Pa-
ramList
Attribute:
• Provider=Kuka.UserTech
Name des Optionspakets, das das Inline-Formular be-
reitstellt; ist immer Kuka.UserTech
• DisplayName="Menubar#Ilf_With_ParamList"
Name des Untermenüpunkts im Kontextmenü
• Command="MYTECH"
Der in der KFDx-Datei definierte Name der Technologie,
in der das Inline-Formular definiert ist
• Variant="Ilf_With_ParamList"
Der in der KFDx-Datei definierte Name des Inline-For-
mulars
Gruppieren
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>
Einschränkungen
KFDx-Datei
22 </InlineForm>
Konfiguration
23 <InlineForm Name="twice">
24 <FLD Name="two" />
25 </InlineForm>
26 <InlineForm Name="triple">
27 <FLD Name="one" />
28 <FLD Name="two" />
29 </InlineForm>
30 </Application>
Zeile Beschreibung
1 … 30 Definition der Technologie Twinkle
2 … 8 Definition des Folds One
9 … 19 Definition des Folds Two
Trigger zum Ausschalten des Lasers
20 … 22 Definition des Inline-Formulars Twinkle.once
Folgender Fold ist dem Inline-Formular zugeordnet:
• One
23 … 25 Definition des Inline-Formulars Twinkle.twice
Folgender Fold ist dem Inline-Formular zugeordnet:
• Two
26 … 29 Definition des Inline-Formulars Twinkle.triple
Folgende Folds sind dem Inline-Formular zugeordnet:
• One
• Two
Inline-Formular Twinkle.twice
Beschreibung
Der Menüpunkt BlinkTech wird im Menü Befehle > UserTech an der drit-
ten Position eingefügt und ruft das Inline-Formular Twinkle.twice auf.
Konfigurationsdatei
<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">
Konfiguration
<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>
Beschreibung
Konfigurationsdatei
<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>
Konfiguration
</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>
<Argument
Name="ParamList">Kuka.UserTech;Twinkle;triple</Argument>
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuRoot>
</KukaRoboter.SmartHMI.Menu>
KFDx-Datei
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>
Zeile Beschreibung
1 … 27 Definition der Technologie
2 … 6 Definition der Statustaste
5 Die Statustaste ist unabhängig von den Betriebszuständen
der Submit-Interpreter immer aktiv.
7 … 13 Definition des Skripts, das ausgeführt werden soll, wenn die
Statustaste losgelassen wird
14 … 20 Definition des Skripts, das ausgeführt werden soll, wenn die
Statustaste gedrückt wird
21 … 23 Setzen der Statustaste
24 … 26 Definition der Statustastenleiste
Die Statustastenleiste besteht aus einer einzigen Statustas-
te. Die Statustaste befindet sich an der vierten Position (=
letzte Statustaste von oben).
Beschreibung
Konfigurationsdatei
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-Datei
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">
Konfiguration
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>
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>
Zeile Beschreibung
1 … 27 Definition der Technologie
2 … 10 Definition der Parameter, die in den Skripten verwendet
werden
11 … 18 Definition des Skripts "BrightHigh"
Bei Aufruf des Skripts wird der Wert der Systemvariablen
$PHGBRIGHT um 1 erhöht.
19 … 26 Definition des Skripts "BrightLow"
Bei Aufruf des Skripts wird der Wert der Systemvariablen
$PHGBRIGHT um 1 verringert.
27 … 34 Definition des Skripts "ContHigh"
Bei Aufruf des Skripts wird der Wert der Systemvariablen
$PHGCONT um 1 erhöht.
35 … 42 Definition des Skripts "ContLow"
Bei Aufruf des Skripts wird der Wert der Systemvariablen
$PHGCONT um 1 verringert.
43 … 46 Definition der Statustaste "Brightness"
Mit der doppelten Statustaste kann die Helligkeit eingestellt
werden.
Beschreibung
Konfigurationsdatei
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
Konfiguration
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>
15 </CommandCall>
16 </MenuItem>
17 </MenuFolder>
18 </MenuFolder>
19 </MenuRoot>
20 </KukaRoboter.SmartHMI.Menu>
8 Archivierung
Archivierung
Zielorte
Beschreibung
Voraussetzung
HINWEIS
Es muss ein nicht-bootfähiger USB-Stick verwendet werden.
Es wird empfohlen, einen nicht-bootfähigen KUKA-Stick zu verwenden.
Wenn ein Stick eines anderen Herstellers verwendet wird, können Daten
verloren gehen.
Vorgehensweise
VORSICHT
Verletzungsgefahr durch Archiv aus anderer KSS-Version
In die KSS dürfen ausschließlich Archive aus derselben KSS-Version
geladen werden, z. B.:
• In die KSS 8.6 nur Archive der KSS 8.6
• In die KSS 8.7 nur Archive der KSS 8.7
Wenn andere Archive geladen werden, können als Folgen auftreten:
• Fehlermeldungen
• Robotersteuerung ist nicht lauffähig.
• Personen- und Sachschäden
Beschreibung
Wenn die archivierten Dateien nicht die gleiche Version haben wie die im
System vorhandenen Dateien, wird beim Wiederherstellen eine Fehlermel-
dung ausgegeben.
Wenn die Version der archivierten Technologien nicht mit der installierten
Version übereinstimmt, wird ebenfalls eine Fehlermeldung ausgegeben.
Voraussetzung
HINWEIS
Es muss ein nicht-bootfähiger USB-Stick verwendet werden.
Es wird empfohlen, einen nicht-bootfähigen KUKA-Stick zu verwenden.
Wenn ein Stick eines anderen Herstellers verwendet wird, können Daten
verloren gehen.
Vorgehensweise
9 KUKA Service
KUKA Service
9.1 Support-Anfrage
Einleitung
Informationen
Index K
#SWITCH........................................................57 Kenntnisse, benötigt......................................... 7
#TOGGLE....................................................... 57 KFD...................................................................8
$...................................................................... 24 KFD-Datei, konvertieren................................. 19
$config.dat................................................ 49, 51 KFDx................................................................. 8
KFDx-Datei, anlegen...................................... 27
KFDx, Syntax Übersicht................................. 21
A Konfiguration...................................................73
Archivierung.................................................... 89 Konverter.................................................. 11, 19
ASS.................................................................48 KRL................................................................... 8
ASSAGG.........................................................48 KUKA Customer Support............................... 91
KUKA Service.................................................91
B
Bedienung.......................................................19 L
Begriffe, verwendet...........................................8 Layout............................................................. 60
Bestimmungsgemäße Verwendung................12 Lizenzen............................................................8
Bildgrößen.......................................................60
M
D Marken.............................................................. 8
Datensatzstruktur, für Parameterliste...... 21, 50 Meldung, definieren........................................ 67
Deinstallieren Meldungstext, definieren................................ 22
über smartHMI...........................................18
über WorkVisual........................................ 16
DFCT.............................................................. 47 N
Dokumentation, Industrieroboter...................... 7 Namenskonventionen..................................... 24
DSUB.............................................................. 45
O
E Open-Source.....................................................8
Einleitung.......................................................... 7
P
F Parameter, definieren...............................21, 29
FCT................................................................. 46 Parameterliste, definieren........................ 21, 50
Fehlanwendung.............................................. 12 Parameterliste, programmieren...................... 49
Fold, definieren........................................ 21, 38 Parameterreferenz.......................................... 23
Formatiertypen................................................44 Parameterreferenzen...................................... 24
Parametertypen.............................................. 31
Produktbeschreibung...................................... 11
G Programmierung............................................. 21
Geltungsbereiche............................................24
S
H Schlüsselwörter...............................................24
Hinweise........................................................... 7 Schulungen....................................................... 7
Sicherheit........................................................ 13
Sicherheitshinweise.......................................... 7
Skript, ausführen...................................... 22, 67
I Skript, definieren...................................... 22, 63
Inline-Formular, definieren....................... 21, 39 Skripte, programmieren.................................. 63
Inline-Formulare, in smartHMI einbinden...... 73 Skripte, vordefiniert.........................................67
Inline-Formulare, in WorkVisual einbinden.... 76 smartHMI.......................................................... 8
Installation.......................................................15 smartHMI-Konfigurationsdatei, konvertieren.. 19
über smartHMI...........................................16 smartPAD..........................................................8
über WorkVisual........................................ 15 Sonderzeichen................................................ 22
Sprachdateien.......................................... 12, 25
T
Technologie, definieren............................ 21, 28
Technologie, programmieren.......................... 27
U
Übersicht, KFDx-Syntax................................. 21
Update, über smartHMI..................................16
Update, über WorkVisual............................... 15
V
Variable, anlegen............................................66
Variable, auslesen....................................22, 65
Variable, neu anlegen.................................... 22
Variable, setzen........................................22, 64
Variable, überschreiben........................... 22, 66
Verwendete Begriffe......................................... 8
Vorlagen............................................. 12, 73, 77
W
WYSIWYG...................................................... 44
Z
Zielgruppe......................................................... 7