Sie sind auf Seite 1von 53

Software Option KUKA Roboter GmbH

KUKA Sunrise.ApplicationFramework 1.1

Für KUKA Sunrise.OS 1.14


Für KUKA Sunrise.Workbench 1.14

KUKA Sunri-

se.Applica-

tionFramewor

k 1.1

Stand: 06.07.2017

Version: KUKA Sunrise.Application Framework 1.1 V1


KUKA Sunrise.ApplicationFramework 1.1

© Copyright 2017
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 oder 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

Publikation: Pub KUKA Sunrise.Application Framework 1.1 (PDF) de


Buchstruktur: KUKA Sunrise.Application Framework 1.1 V1.1
Version: KUKA Sunrise.Application Framework 1.1 V1

2 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


Inhaltsverzeichnis

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

2 Produktbeschreibung ................................................................................. 7
2.1 Übersicht KUKA Sunrise.ApplicationFramework 1.1 ................................................. 7
2.2 Bestimmungsgemäße Verwendung ........................................................................... 7

3 Installation .................................................................................................... 9
3.1 Systemvoraussetzungen ............................................................................................ 9
3.2 Application Framework in Sunrise.Workbench installieren ........................................ 9

4 Bedienung .................................................................................................... 11
4.1 Übersicht Bedienoberfläche allgemein ...................................................................... 11
4.2 Perspektive oder Sicht einblenden ............................................................................ 13

5 Ablaufprogrammierung ............................................................................... 15
5.1 Ablaufdiagramm Übersicht ......................................................................................... 15
5.1.1 Standardelemente und Java-Blöcke ..................................................................... 16
5.1.1.1 Standardelemente ........................................................................................... 16
5.1.1.2 Ablaufdiagramme ............................................................................................. 16
5.1.1.3 Java-Blöcke ..................................................................................................... 17
5.1.2 Statusanzeige ....................................................................................................... 17
5.1.3 Blöcke und Verbindungen ..................................................................................... 17
5.2 Neues Ablaufdiagramm erstellen ............................................................................... 18
5.3 Elemente einfügen ..................................................................................................... 18
5.4 Teilablauf-Block mit Ablaufdiagramm verknüpfen ...................................................... 18
5.5 Ablaufdiagramm bearbeiten ....................................................................................... 19
5.5.1 Symbolleiste ......................................................................................................... 19
5.5.2 Elemente an anderen Elementen ausrichten ........................................................ 19
5.5.3 Mehrere Elemente auswählen .............................................................................. 20
5.5.4 Elemente kopieren und ausschneiden .................................................................. 20
5.5.5 Ablaufdiagramm vergrößern oder verkleinern ...................................................... 20
5.5.6 Elemente verschieben .......................................................................................... 21
5.5.7 Elemente vergrößern ............................................................................................ 21
5.5.8 Elemente und Verbindungen löschen ................................................................... 21
5.5.9 Ablaufdiagramm ausdrucken ................................................................................ 21
5.6 Fehler anzeigen ......................................................................................................... 21
5.7 Datenfluss .................................................................................................................. 22
5.7.1 Ablaufvariablen definieren .................................................................................... 22
5.7.2 Blockparameter zuweisen ..................................................................................... 23
5.7.3 Blockausgaben zuweisen ..................................................................................... 24

6 Programmierung .......................................................................................... 25
6.1 Übersicht .................................................................................................................... 25
6.1.1 Javadoc-Informationen anzeigen .......................................................................... 25

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 3 / 53


KUKA Sunrise.ApplicationFramework 1.1

6.1.2 Applikationsklasse programmieren ....................................................................... 25


6.1.3 Neue Java-Block-Klasse erstellen ........................................................................ 26
6.1.4 Vorbedingungen programmieren .......................................................................... 27
6.1.4.1 Zyklische Prüfung der Vorbedingungen aktivieren .......................................... 28
6.1.5 Blockparameter definieren .................................................................................... 28
6.1.6 Blockausgaben definieren .................................................................................... 29
6.1.7 Ausgänge bearbeiten ........................................................................................... 30
6.1.8 Icons für Blockklassen .......................................................................................... 30
6.1.9 Roboterapplikationen erstellen ............................................................................. 31

7 Bedienung KUKA smartHMI ....................................................................... 33


7.1 Benutzergruppen ....................................................................................................... 33
7.2 Applikationssicht mit Ablaufdiagramm ....................................................................... 33
7.2.1 Programmablauf durch Blockwechsel ändern ...................................................... 35
7.2.2 Blockparameter anzeigen und ändern .................................................................. 36
7.2.3 Ablaufvariablen anzeigen und ändern .................................................................. 37
7.2.4 Teilablauf öffnen ................................................................................................... 38
7.2.5 Programmablaufart wählen .................................................................................. 39
7.3 Übersicht Laufzeitverhalten ....................................................................................... 39
7.3.1 Verhalten vor und während der Ausführung ......................................................... 39
7.3.2 Verhalten bei Teilabläufen .................................................................................... 40
7.3.3 Verhalten während der Applikationspause ........................................................... 40
7.3.4 Verhalten während eines Fehlerfalls .................................................................... 40
7.3.5 Verhalten bei nicht zugewiesenen Blockparametern ............................................ 41
7.3.6 Verhalten bei fehlgeschlagenen Vorbedingungen ................................................ 41
7.3.7 Ignorieren von fehlgeschlagenen Vorbedingungen .............................................. 41

8 KUKA Service ............................................................................................... 43


8.1 Support-Anfrage ........................................................................................................ 43
8.2 KUKA Customer Support ........................................................................................... 43

Index ............................................................................................................. 51

4 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


1 Einleitung

1 Einleitung

1.1
t
Zielgruppe

Diese Dokumentation richtet sich an Benutzer mit folgenden Kenntnissen:


 Fortgeschrittene Systemkenntnisse in der Robotik
 Fortgeschrittene Java-Programmierkenntnisse

Für den optimalen Einsatz unserer Produkte empfehlen wir unseren


Kunden eine Schulung im KUKA College. Informationen zum Schu-
lungsprogramm sind unter www.kuka.com oder direkt bei den Nieder-
lassungen zu finden.

1.2 Dokumentation des Industrieroboters

Die Dokumentation zum Industrieroboter besteht aus folgenden Teilen:


 Dokumentation für die Robotermechanik
 Dokumentation für die Robotersteuerung
 Bedien- und Programmieranleitung für die System Software
 Anleitungen zu Optionen und Zubehör
 Teilekatalog auf Datenträger
Jede Anleitung ist ein eigenes Dokument.

1.3 Darstellung von Hinweisen

Sicherheit Diese Hinweise dienen der Sicherheit und müssen beachtet werden.

Diese Hinweise bedeuten, dass Tod oder schwere Ver-


letzungen sicher oder sehr wahrscheinlich eintreten
werden, wenn keine Vorsichtsmaßnahmen getroffen werden.

Diese Hinweise bedeuten, dass Tod oder schwere Ver-


letzungen eintreten können, wenn keine Vorsichtsmaß-
nahmen getroffen werden.

Diese Hinweise bedeuten, dass leichte Verletzungen


eintreten können, wenn keine Vorsichtsmaßnahmen
getroffen werden.

Diese Hinweise bedeuten, dass Sachschäden eintreten


können, wenn keine Vorsichtsmaßnahmen getroffen
werden.

Diese Hinweise enthalten Verweise auf sicherheitsrelevante Informa-


tionen oder allgemeine Sicherheitsmaßnahmen.
Diese Hinweise beziehen sich nicht auf einzelne Gefahren oder ein-
zelne Vorsichtsmaßnahmen.

Dieser Hinweis macht auf Vorgehensweisen aufmerksam, die der Vorbeu-


gung oder Behebung von Not- oder Störfällen dienen:

Die folgende Vorgehensweise genau einhalten!

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 5 / 53


KUKA Sunrise.ApplicationFramework 1.1

Mit diesem Hinweis gekennzeichnete Vorgehensweisen müssen genau ein-


gehalten werden.

Hinweise Diese Hinweise dienen der Arbeitserleichterung oder enthalten Verweise auf
weiterführende Informationen.

Hinweis zur Arbeitserleichterung oder Verweis auf weiterführende In-


formationen

1.4 Verwendete Begriffe

Begriff Beschreibung
Ablaufdiagramm Verdeutlicht den Programmablauf und bildet die Grund-
lage für die grafische Programmierung.
AppFw Application Framework
Exception Ausnahme oder Ausnahmesituation
Eine Ausnahme bezeichnet ein Verfahren, um Informa-
tionen über bestimmte Programmzustände, meist Fehl-
erzustände, an andere Programmebenen zur
Weiterbehandlung weiterzugeben.
JRE Java Runtime Environment
Laufzeitumgebung der Programmiersprache Java
KUKA Sunrise Steuerungshardware zum Betrieb von Industrierobo-
Cabinet tern
KUKA Sun- KUKA Sunrise.Operating System
rise.OS
System Software für Industrieroboter, die mit der Robo-
tersteuerung KUKA Sunrise Cabinet betrieben werden
KUKA smartHMI KUKA smart Human-Machine Interface
Die smartHMI ist die Bedienoberfläche der Roboter-
steuerung.
KUKA smart- Das smartPAD ist das Bedienhandgerät für die Robo-
PAD terzelle (Station).
Es bietet alle Bedien- und Anzeigemöglichkeiten, die
für die Bedienung der Station benötigt werden.

6 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


2 Produktbeschreibung

2 Produktbeschreibung
2

2.1
t
Übersicht KUKA Sunrise.ApplicationFramework 1.1
s

KUKA Sunrise.ApplicationFramework 1.1 ist eine Software mit der Program-


mabläufe modelliert und ausgeführt werden.
 Mit KUKA.Sunrise Workbench werden in einem grafischen Editor Robo-
terapplikationen mithilfe eines Ablaufdiagramms entwickelt.
 Die Roboterapplikationen werden auf der Robotersteuerung ausgeführt.
 Auf dem KUKA smartPAD wird der Ablauf der Robotersteuerung visuali-
siert. Der Bediener kann über das smartPAD in den Ablauf eingreifen.

2.2 Bestimmungsgemäße Verwendung

Verwendung KUKA Sunrise.ApplicationFramework 1.1 ist ein nachladbares Technologie-


paket zur Modellierung, Ausführung und Visualisierung von Programmabläu-
fen.
Benötigt werden:
 Entwicklungsrechner mit KUKA Sunrise.Workbench
 Robotersteuerung KUKA Sunrise Cabinet
 Bedienhandgerät KUKA smartPAD
Die Software darf ausschließlich unter den spezifizierten Systemvorausset-
zungen betrieben werden.

Fehlanwendung Alle von der bestimmungsgemäßen Verwendung abweichenden Anwendun-


gen gelten als Fehlanwendung und sind unzulässig. Für hieraus resultierende
Schäden haftet der Hersteller nicht. Das Risiko trägt allein der Betreiber.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 7 / 53


KUKA Sunrise.ApplicationFramework 1.1

8 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


3 Installation

3 Installation
s

3.1 Systemvoraussetzungen
t

Hardware  KUKA Sunrise Cabinet

Software  KUKA Sunrise.Workbench 1.14


 KUKA Sunrise.OS 1.14

3.2 Application Framework in Sunrise.Workbench installieren

Beschreibung Application Framework muss in Sunrise.Workbench installiert werden. Durch


die Installation wird der Software-Katalog von Sunrise.Workbench erweitert.
 Bei gemeinsamer Auslieferung mit Sunrise.Workbench wird die Software-
Option automatisch durch die Installation von Sunrise.Workbench mitins-
talliert.
 Ist Sunrise.Workbench bei Auslieferung der Software-Option bereits ins-
talliert, muss sie mit der folgenden Vorgehensweise nachträglich in Sunri-
se.Workbench installiert werden.
Folgende Dateien stehen für die Installation zur Auswahl (bei Auslieferung zu
finden im Ordner options):
 Datei com.kuka.appframework.swb.repository.zip

Voraussetzung  Sunrise.Workbench ist installiert.


 Datenträger mit der zu installierenden Software

Vorgehensweise 1. Menüfolge Hilfe > Neue Software installieren ... wählen. Das Fenster In-
stallieren öffnet sich.
2. Rechts vom Feld Work with auf Hinzufügen klicken. Das Fenster Repo-
sitory hinzufügen öffnet sich.
3. Auf Archiv … klicken und zur Installationsdatei navigieren:
com.kuka.appframework.swb.repository.zip
4. Die Datei markieren und mit Öffnen bestätigen. Das Feld Position zeigt
nun den Pfad zu der Datei an.
5. Auf OK klicken.
 Im Fenster Installieren zeigt das Feld Work with nun den Pfad zu der
Datei an.
 Das Fenster zeigt nun außerdem die Checkbox Sunrise.OS an.
6. Bei der Checkbox Sunrise.OS oder KUKA Application Framework ein
Häkchen setzen.
7. Die weiteren Einstellungen im Fenster Installieren belassen wie sie sind
und auf Weiter > klicken.
8. Die Übersicht Details zur Installation wird angezeigt. Die Einstellungen
belassen wie sie sind und auf Weiter > klicken.
9. Eine Lizenzvereinbarung wird angezeigt. Damit die Software installiert
werden kann, muss die Vereinbarung akzeptiert werden. Dann auf Fertig-
stellen klicken.
Der Installationsvorgang beginnt.
10. Eine Sicherheitswarnung bezüglich unsignierten Inhalts wird angezeigt.
Mit OK bestätigen.
11. Sicherheitsabfrage mit Ok bestätigen.
12. Eine Meldung zeigt an, dass Sunrise.Workbench neu gestartet werden
muss, um die Änderungen zu übernehmen. Auf Jetzt neu starten klicken.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 9 / 53


KUKA Sunrise.ApplicationFramework 1.1

13. Sunrise.Workbench startet neu. Danach ist die Installation in Sunri-


se.Workbench abgeschlossen.

10 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


4 Bedienung

4 Bedienung
4

4.1 Übersicht Bedienoberfläche allgemein

Die Bedienoberfläche von Application Framework besteht aus mehreren Sich-


ten. Der Zusammenschluss mehrerer Sichten wird als Perspektive bezeich-
net.
Standardmäßig wird die Perspektive Programmierung geöffnet. Nach der In-
stallation von Application Framework kann auch die Perspektive AppFw ein-
geblendet werden.

Abb. 4-1: Bedienoberfläche mit Perspektive Application Framework

Pos. Beschreibung
1 Symbolleiste zur Bearbeitung der Ablaufdiagramme im Editoren-
Bereich
(>>> 5.5.1 "Symbolleiste" Seite 19)
2 Perspektiven-Auswahl
(>>> 4.2 "Perspektive oder Sicht einblenden" Seite 13)
3 Sicht Paket-Explorer
Die Sicht enthält die erstellten Projekte und die zugehörigen Datei-
en.
4 Editoren-Bereich
In dem Editoren-Bereich werden die Ablaufdiagramme erstellt, be-
arbeitet und angezeigt.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 11 / 53


KUKA Sunrise.ApplicationFramework 1.1

Pos. Beschreibung
5 Sicht Palette
Die Sicht enthält Standardelemente und Java-Blöcke mit denen
Ablaufdiagramme erstellt werden können.
Zusätzlich werden alle verfügbaren Ablaufdiagramme angezeigt.
(>>> 5.1.1.1 "Standardelemente" Seite 16)
(>>> 5.1.1.2 "Ablaufdiagramme" Seite 16)
(>>> 5.1.1.3 "Java-Blöcke" Seite 17)
6 Sicht Eigenschaften
 Kopfzeile
Abhängig davon, ob in der Sicht Palette oder im Editoren-Be-
reich eine Auswahl getroffen wurde, wird Folgendes ange-
zeigt:
 Icon
 Name der Klasse (Ablaufdiagramm oder Java-Block)
 Blocknamen
 Allgemein:
 Wird ein Block im Ablaufdiagramm angewählt, werden
dessen Eigenschaften hier angezeigt, z. B. Name des
Blocks oder Definition der Ausgänge mit dem Namen der
entsprechenden Klasse.
 Wird ein Block in der Sicht Palette angewählt, werden die
allgemeinen Eigenschaften der Blockklasse angezeigt.
 Wird neben einem Ablaufdiagramm in den Editoren-Be-
reich geklickt, werden die Eigenschaften des Ablaufdia-
gramms angezeigt.
 Ablaufvariablen: In der Registerkarte werden die angelegten
Ablaufvariablen eines Ablaufdiagramms angezeigt. Wird nur
bei Klick in den Editoren-Bereich angezeigt.
(>>> 5.7.1 "Ablaufvariablen definieren" Seite 22)
 Blockparameter: In der Registerkarte werden die Parameter
eines Blocks angezeigt.
(>>> 6.1.5 "Blockparameter definieren" Seite 28)
(>>> 5.7.2 "Blockparameter zuweisen" Seite 23)
 Blockausgaben: In der Registerkarte werden die Ausgaben
eines Blocks angezeigt.
(>>> 6.1.6 "Blockausgaben definieren" Seite 29)
(>>> 5.7.3 "Blockausgaben zuweisen" Seite 24)
Sicht Fehler
In der Sicht wird eine Zusammenfassung der Fehler angezeigt.
(>>> 5.6 "Fehler anzeigen" Seite 21)
7 Sicht Java-Block Beschreibung
In der Sicht wird die Dokumentation des ausgewählten Blocks an-
gezeigt.
Diese Dokumentationen sind optional und müssen durch den Ap-
plikationsentwickler oder Systemintegrator ergänzt werden.

12 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


4 Bedienung

4.2 Perspektive oder Sicht einblenden

Beschreibung Die Bedienoberfläche kann in unterschiedlichen Perspektiven angezeigt wer-


den. Die Default-Perspektive ist Programmierung.
Perspektiven können an die Bedürfnisse des Benutzers angepasst werden,
z. B. durch das Ein- oder Ausblenden von Sichten oder Menüs. Es ist möglich,
die angepasste Perspektive als Default-Einstellung der Perspektive oder unter
einem eigenen Namen zu speichern.

Vorgehensweise Eine Perspektive zum ersten Mal einblenden:


 Menüfolge Fenster > Perspektive öffnen > Andere… wählen und die ge-
wünschte Perspektive auswählen. Mit OK bestätigen.
Die Perspektive öffnet sich. Außerdem blendet sich in der Perspektiven-
Auswahl die zugehörige Schaltfläche ein.
Eine bereits verwendete Perspektive einblenden:
 In der Perspektiven-Auswahl auf die Schaltfläche dieser Perspektive kli-
cken.
Sichten in der aktuellen Perspektive einblenden:
 Menüfolge Fenster > Sicht anzeigen und die gewünschte Sicht auswäh-
len.
Über den Menüpunkt Andere… können weitere Sichten ausgewählt wer-
den.
Benutzerdefinierte Perspektive speichern:
1. Menüfolge Fenster > Perspektive speichern als… wählen.
2. Im Feld Name einen Namen für die Perspektive eingeben und mit OK be-
stätigen.
Wenn eine bereits vorhandene Perspektive ausgewählt und überschrieben
wird, wird die Perspektive künftig mit diesen Einstellungen geöffnet.
Die aktuelle Perspektive wieder auf die Default-Einstellung zurückset-
zen:
 Menüfolge Fenster > Perspektive zurücksetzen… wählen und Sicher-
heitsabfrage mit Ja beantworten.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 13 / 53


KUKA Sunrise.ApplicationFramework 1.1

14 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


5 Ablaufprogrammierung

5
A
Ablaufprogrammierung

5.1 Ablaufdiagramm Übersicht


f

Beschreibung In einem Ablaufdiagramm werden Bearbeitungsschritte durch Blöcke darge-


stellt. Ein Block kann entweder ein Java-Block sein, der einen hinterlegten
Java-Code ausführt oder ein Teilablauf-Block, der ein anderes Diagramm
startet. Die möglichen Ergebniszustände der Blockverarbeitung werden durch
Ausgänge an den Blöcken definiert.
Die Ausgänge sind über Block-Verbindungen mit anderen Blöcken verbun-
den. Endet ein Bearbeitungsschritt mit einem bestimmten Ergebnis, wird der
Block ausgeführt, der mit diesem Ergebnis verbunden ist.
(>>> 5.1.3 "Blöcke und Verbindungen" Seite 17)
Bevor ein Bearbeitungsschritt ausgeführt wird, ist es möglich in einem Java-
Block Vorbedingungen zu prüfen. Nur wenn alle Vorbedingungen erfüllt sind,
wird der Java-Block ausgeführt.
(>>> 6.1.4 "Vorbedingungen programmieren" Seite 27)
(>>> 6.1.4.1 "Zyklische Prüfung der Vorbedingungen aktivieren" Seite 28)

Abb. 5-1: Übersicht Ablaufdiagramm mit geöffnetemTeilablauf-Block

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 15 / 53


KUKA Sunrise.ApplicationFramework 1.1

5.1.1 Standardelemente und Java-Blöcke

5.1.1.1 Standardelemente

Beschreibung Folgende Standardelemente stehen zur Verfügung:


 Startpunkt
 Endpunkt
 Teilablauf
Jedes Ablaufdiagramm muss einen Startpunkt und mindestens einen End-
punkt enthalten.

Abb. 5-2: Start- und Endpunkt

Der Aufbau von Java- und Teilablauf-Blöcken ist weitestgehend identisch.

Abb. 5-3: Aufbau Teilablauf-Block

Pos. Beschreibung
1 Kopfzeile mit dem Namen des Blocks
Ein beschreibender Name erleichtert die Programmierung und die
Orientierung im Programm. Innerhalb eines Ablaufdiagramms dür-
fen Blocknamen mehrfach vergeben werden. Ein Teilablauf-Block
ist durch Linien rechts und links gekennzeichnet und besteht aus
einem weiteren Ablaufdiagramm.
Der Name eines Blocks kann bis zu 2 Zeilen enthalten.
2 Nicht verbundene Ausgänge

5.1.1.2 Ablaufdiagramme

Beschreibung Im Ordner Ablaufdiagramme werden alle verfügbaren Ablaufdiagramme an-


gezeigt:
 Der Benutzer kann Ablaufdiagramme selbst erstellen.
 Auf ein Ablaufdiagramm doppelklicken, öffnet das entsprechende Ablauf-
diagramm Name.blm im Editoren-Bereich.
 Ein Ablaufdiagramm kann über Drag&Drop in ein geöffnetes Ablaufdia-
gramm in den Editoren-Bereich verschoben werden. Es wird ein Teilab-
lauf-Block erstellt.

16 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


5 Ablaufprogrammierung

5.1.1.3 Java-Blöcke

Beschreibung Im Ordner Java-Blöcke werden alle verfügbaren Java-Blöcke angezeigt. Die-


se werden aus den verfügbaren Java-Blockklassen des aktuellen Projekts ab-
geleitet. Der Benutzer kann weitere Java-Blockklassen selbst erstellen.
(>>> 6.1.3 "Neue Java-Block-Klasse erstellen" Seite 26)
In Ordner Java-Blöcke auf einen Java-Block doppelklicken, öffnet die ent-
sprechende Name.java-Datei im Editoren-Bereich.

5.1.2 Statusanzeige

Beschreibung Ist mindestens ein Parameter in der referenzierten Blockklasse definiert, wird
der Status des Parameters angezeigt. Die Statusanzeige ist auf dem jeweili-
gen Block am linken Rand sichtbar.

Status Beschreibung
Fehler
Ein Parameter ist fehlerhaft.
Warnung
Ein Parameter wurde nicht zugewiesen.
Status i. O.
Alle Parameter sind zugewiesen.

5.1.3 Blöcke und Verbindungen

Beschreibung Die Blöcke in einem Ablaufdiagramm müssen miteinander verbunden werden.


Jedes Ablaufdiagramm muss einen Startpunkt enthalten. Mit dem Block nach
dem Startpunkt startet die Applikation (Startblock).
Ein Block kann beliebig viele Ausgänge haben. Die Ausgänge der Blöcke kön-
nen mit weiteren Blöcken oder mit Endpunkten verbunden werden. Bei Errei-
chen des Endpunkts wird das Ablaufdiagramm verlassen.
Die Applikation endet, wenn ein nicht verbundener Ausgang oder ein End-
punkt im ersten Ablaufdiagramm erreicht wird.
Ein Endpunkt kann mit beliebig vielen Blöcken verbunden sein.

Abb. 5-4: Blöcke verbinden

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 17 / 53


KUKA Sunrise.ApplicationFramework 1.1

Pos. Beschreibung
1 Startpunkt
2 Startblock (hier: Teilablauf-Block)
3 Symbol für einen nicht verbunden Ausgang.
4 Symbol für einen verbundenen Ausgang. Ein Ausgang kann mit
maximal einer Blockverbindung belegt werden.
5 Die Blockverbindung zu einem Eingang wird immer in der Mitte
eines Blocks angelegt.
6 Java-Block
7 Blockverbindung von einem Ausgang zu einem Endpunkt.
8 Endpunkt

5.2 Neues Ablaufdiagramm erstellen

Vorgehensweise 1. Projekt im Paket-Explorer markieren.


2. Menüfolge Datei > Neu > Ablaufdiagramm wählen. Das Fenster Neues
Ablaufdiagramm öffnet sich.
3. Im Feld Paket den Namen des Pakets eingeben, in dem das Ablaufdia-
gramm erstellt werden soll.
4. Im Feld Name einen Namen für das Ablaufdiagramm eingeben.
5. Auf Fertigstellen klicken. Die Dateien Name.java und Name.blm werden
erstellt und im gewählten Paket des Projekts eingefügt.
Das Ablaufdiagramm Name.blm wird im Editoren-Bereich geöffnet. Ein
Startpunkt ist bereits vorhanden und muss nicht eigens angelegt werden.
Alternativ kann ein neues Ablaufdiagramm mithilfe des zusätzlichen Symbols
in der Sicht Palette erstellt werden:

Symbol Name / Beschreibung


Erstellt ein neues Ablaufdiagramm
Öffnet das Fenster Neues Ablaufdiagramm.

5.3 Elemente einfügen

Standard-Elemente, Ablaufdiagramme und Java-Blöcke können aus der Sicht


Palette über Drag&Drop in ein geöffnetes Ablaufdiagramm in den Editoren-
Bereich verschoben werden. Standard-Elemente, Ablaufdiagramme und
Java-Blöcke werden durch Verbindungen miteinander zu einem vollständigen
Ablaufdiagramm verknüpft.
In der Sicht Palette liegt ein Java-Block nur einmal vor, während der Java-
Block in einem Ablaufdiagramm mehrmals angelegt werden kann.

5.4 Teilablauf-Block mit Ablaufdiagramm verknüpfen

Beschreibung Ein Ablaufdiagramm kann als Teilablauf in einem anderen Ablaufdiagramm


verwendet werden. Dazu muss ein Ablaufdiagramm in den Editoren-Bereich
über Drag &Drop verschoben oder einen Teilablauf-Block mit dem zugehöri-
gen Ablaufdiagramm verknüpft werden.

Voraussetzung  Ablaufdiagramm für den Teilablauf ist erstellt.

Vorgehensweise 1. In den Editoren-Bereich auf den unverknüpften Teilablauf-Block doppelkli-


cken. Der Dialog Ressource öffnen wird angezeigt.

18 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


5 Ablaufprogrammierung

Im Dialog werden alle blm-Dateien angezeigt, die mit dem gewählten


Teilablauf-Block verknüpft werden können.
2. Objekt zuordnen. Mit OK bestätigen.
3. Der Teilablauf-Block übernimmt den Namen des verknüpften Ablaufdia-
gramms.

Abläufe mit Rekursionen sind ungültig und können nicht auf die Steu-
erung übertragen werden. Referenzen, die zu Rekursionen führen,
werden im Dialog rot gekennzeichnet.

Wird ein Ablaufdiagramm als Teilablauf verknüpft, werden die End-


punkte zu Blockausgängen.

5.5 Ablaufdiagramm bearbeiten

Das gesamte Ablaufdiagramm wird im Editoren-Bereich dargestellt und kann


auch hier bearbeitet werden.

5.5.1 Symbolleiste

Die Buttons, die defaultmäßig in den Symbolleisten zur Verfügung stehen,


sind abhängig von der aktiven Perspektive. Hier sind die Buttons der Perspek-
tive AppFw zur Bearbeitung des Ablaufdiagramms im Editoren-Bereich be-
schrieben.

Symbol Name / Beschreibung


Undo
Macht die letzte Eingabe rückgängig.
Redo
Stellt die zuletzt durch Undo rückgängig gemachte Eingabe
wieder her.
Löschen
Löscht das gewählte Element (z. B. Block).
Vergrößern
Vergrößert die Darstellung des Ablaufdiagramms.
Verkleinern
Verkleinert die Darstellung des Ablaufdiagramms.
Ausschneiden
Löscht das ausgewählte Element an der ursprünglichen Stelle
und kopiert es in die Zwischenablage.
Kopieren
Kopiert das ausgewählte Element in die Zwischenablage.
Einfügen
Fügt die ausgeschnittenen oder kopierten Standard-Ele-
mente, Ablaufdiagramme oder Java-Blöcke ein.

5.5.2 Elemente an anderen Elementen ausrichten

Vorgehensweise 1. Ein Element in der Sicht Palette anklicken und in den Editoren-Bereich
verschieben oder ein Element im Editoren-Bereich anklicken.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 19 / 53


KUKA Sunrise.ApplicationFramework 1.1

2. Die linke Maustaste gedrückt halten und das Element verschieben.


3. Bewegt man ein Element in die Reichweite eines benachbarten Elements
wird eine orange gestrichelte Hilfslinie angezeigt. Mit der Hilfslinie kann
das Element am Mittelpunkt oder an den Kanten des benachbarten Ele-
ments ausgerichtet werden.
4. In der Vorschau wird die neue Position angezeigt. Beim Loslassen der
Maustaste wird diese Position übernommen.

5.5.3 Mehrere Elemente auswählen

Vorgehensweise Mehrere Elemente auswählen:


1. In den Editoren-Bereich klicken.
2. Die linke Maustaste gedrückt halten. Der Mauszeiger verwandelt sich in
ein Fadenkreuz.
Mit dem Fadenkreuz über die Blöcke und Verbindungen ziehen, die aus-
gewählt werden sollen. Es werden auch die Blöcke ausgewählt, die nur
teilweise durch das Ziehen des Auswahlfensters berührt werden. Verbin-
dungen zwischen 2 gewählten Blöcken werden ebenfalls ausgewählt.
3. Beim Loslassen der Maustaste werden alle berührten Blöcke und Verbin-
dungen übernommen.
4. Die Auswahl anklicken. Die linke Maustaste gedrückt halten und die Aus-
wahl verschieben oder an benachbarten Elementen ausrichten.
5. In der Vorschau wird die neue Position angezeigt. Beim Loslassen der
Maustaste wird diese Position übernommen.
Alle Elemente auswählen:
1. In den Editoren-Bereich klicken.
2. Menüfolge Bearbeiten > Alles auswählen können alle Elemente ausge-
wählt werden.
Alternativ: Wie in Windows üblich über Tastenkombination.
3. Die Auswahl anklicken. Die linke Maustaste gedrückt halten und die Aus-
wahl verschieben.
4. In der Vorschau wird die neue Position angezeigt. Beim Loslassen der
Maustaste wird diese Position übernommen.

5.5.4 Elemente kopieren und ausschneiden

Ausgewählte Elemente und Verbindungen können kopiert und ausgeschnitten


werden. Werden die Elemente in ein beliebiges Ablaufdiagramm eingefügt,
werden referenzierte Java-Blockklassen oder Teilabläufe mitkopiert.
Referenzen und Dateien werden mitkopiert, wenn die ausgewählten Elemente
und Verbindungen vollständig gekennzeichnet wurden.
Ablaufvariablen werden nicht mitkopiert.

5.5.5 Ablaufdiagramm vergrößern oder verkleinern

Vorgehensweise 1. In das Ablaufdiagramm klicken.


2. Die STRG-Taste gedrückt halten und mit dem Mausrad scrollen.
 Mausrad nach oben: vergrößern
 Mausrad nach unten: verkleinern

20 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


5 Ablaufprogrammierung

5.5.6 Elemente verschieben

Vorgehensweise Verschieben mit der Maus:


1. Element anklicken.
2. Die linke Maustaste gedrückt halten und die Auswahl verschieben.
3. In der Vorschau wird die neue Position angezeigt. Beim Loslassen der
Maustaste wird diese Position übernommen.
Verschieben mit Pfeiltasten:
1. Element anklicken.
2. Mithilfe der Pfeiltasten der Tastatur verschieben.
3. In der Vorschau wird die neue Position angezeigt. Gewünschte Position
mit der Eingabe-Taste bestätigen.

5.5.7 Elemente vergrößern

Vorgehensweise 1. Element anklicken.


2. Mithilfe der Anfasspunkte an den Ecken oder über die Selektionskanten
das Element vergrößern oder verkleinern.
Werden keine Anfasspunkte angezeigt, kann die Größe des Elements
nicht verändert werden. Die Mindestgröße der Elemente kann nicht unter-
schritten werden.

5.5.8 Elemente und Verbindungen löschen

Vorgehensweise 1. In das Ablaufdiagramm klicken.


Elemente und Verbindungen auswählen, die gelöscht werden sollen. Bei
Elementen mit ein- oder ausgehenden Verbindungen, werden die Verbin-
dungen ebenso gelöscht.
2. Über die Button Löschen.
Alternativ: Wie in Windows üblich, über die Entfernen-Taste.

5.5.9 Ablaufdiagramm ausdrucken

Vorgehensweise Um ein Ablaufdiagramm auszudrucken:


1. Im Editoren-Bereich ein Ablaufdiagramm öffnen.
2. Menüfolge Datei > Drucken wählen. Das Fenster Drucker öffnet sich.
3. Den gewünschten Drucker auswählen.
Beim Drucken wird das Ablaufdiagramm automatisch auf die Seitengröße
des im Drucker konfigurierten Papiers angepasst.

5.6 Fehler anzeigen

Beschreibung In der Sicht Fehler wird eine Übersicht der Fehler in einer Tabelle zusammen-
gefasst. Die Tabelle enthält folgende Angaben:
 Spalte Beschreibung:
Kurze Beschreibung zur Art des Fehlers.
 Spalte Ressource:
Name.blm des Ablaufdiagramms oder der Applikation Name.java in der ein
Fehler aufgetreten ist.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 21 / 53


KUKA Sunrise.ApplicationFramework 1.1

 Spalte Pfad:
Angabe des Pfads im Paket-Explorer in dem das Ablaufdiagramm oder die
Applikation liegt
 Spalte Position:
Angabe der Zeile innerhalb der Applikation Name.java im Editoren Bereich
 Spalte Type:
Angabe des Fehlertyps (z. B. Ablaufdiagramm Fehler oder Java-Fehler)
Zusätzlich wird ein rundes oder rechteckiges Fehler-Symbol an folgenden
Icons dargestellt:
 Im Paket-Explorer an allen Ordnern des Pfads in dem das Ablaufdia-
gramm oder die Applikation abgelegt ist und an dem entsprechenden
Name.blm oder Name.java
 Im Editoren-Bereich
 An der Sicht Fehler

5.7 Datenfluss

Mithilfe der Blockausgaben und Blockparameter werden Daten während des


Programmablaufs von einem Block an andere Blöcke weitergegeben. Ablauf-
variablen können mit den Blockausgaben und Blockparametern verknüpft
werden und dienen als Zwischenspeicher der Daten:
 Ablaufvariablen:
Jedes Ablaufdiagramm kann beliebig viele Ablaufvariablen enthalten. Ab-
laufvariablen können in der Registerkarte Ablaufvariablen definiert wer-
den.
(>>> 5.7.1 "Ablaufvariablen definieren" Seite 22)
 Blockparameter:
Blockparameter können mit verschiedenen Quellen verknüpft werden. Der
jeweilige Wert wird dem Blockparameter vor Ausführung des Blocks zuge-
wiesen.
(>>> 5.7.2 "Blockparameter zuweisen" Seite 23)
 Blockausgaben:
Ein Block kann nach seiner Ausführung Daten über Blockausgaben bereit-
stellen. Blockausgaben können mit Ablaufvariablen verknüpft werden.
(>>> 5.7.3 "Blockausgaben zuweisen" Seite 24)

Es können nur Elemente vom selben Datentyp verknüpft werden.

5.7.1 Ablaufvariablen definieren

Bereits angelegte Ablaufvariablen können durch einen Klick auf den Tabellen-
eintrag markiert und geändert werden. Es können alle Parametertypen ausge-
wählt werden, die mit der Annotation @Input versehen sind.
Zusätzliches Symbol in der Registerkarte Ablaufvariablen:

Symbol Name / Beschreibung


Neue Ablaufvariable anlegen
Legt eine neue Ablaufvariable an.

Vorgehensweise Um neue Ablaufvariablen anzulegen:

22 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


5 Ablaufprogrammierung

1. Im Editoren-Bereich ein Ablaufdiagramm öffnen.


2. In den Editoren-Bereich klicken.
3. In der Registerkarte Ablaufvariablen das Symbol Neue Ablaufvariable
anlegen markieren.
4. Im Feld Name einen Namen für die neue Ablaufvariable eingeben.
5. In der Spalte Typ den Typ der neuen Ablaufvariable wählen:
 Enum: In einem Fenster können die Werte ausgewählt werden.
 Komplexe Parametertypen: Es können keine Werte eingegeben wer-
den.
6. In der Spalte Initialwert kann bei Bedarf ein zum Typ passender Startwert
für die Ablaufvariable vergeben werden.
7. In der Spalte Blockparameter das Häkchen setzen, wenn die Ablaufvari-
able als Blockparameter aktiviert werden soll.
 Mit Häkchen: Ablaufvariable als Blockparameter aktiviert.
Wird das entsprechende Ablaufdiagramm als Teilablauf-Block ver-
knüpft, wird die Ablaufvariable zu einem Blockparameter.
Die Änderung des Names einer Ablaufvariablen, wird an sämtlichen
Stellen übernommen, an denen das Ablaufdiagramm als Teilablauf-
Block verwendet wird.
 Ohne Häkchen: Ablaufvariable nicht als Blockparameter aktiviert.
Wird ein Häkchen entfernt, wird auch bei Verwendung des Ablaufdia-
gramms als Teilablauf-Block der entsprechende Blockparameter ge-
löscht. In diesem Fall muss eine neue Verknüpfung hergestellt
werden.

Für Teilablauf-Blöcke können keine Blockausgänge an-


gelegt werden.

5.7.2 Blockparameter zuweisen

Vorgehensweise 1. Im Editoren-Bereich einen Block aus dem Ablaufdiagramm auswählen.


2. In der Registerkarte Blockparameter einen Parameter markieren.
3. In der Spalte Quelle können je nach Parametertyp folgende Quellen aus-
gewählt werden:
 Konstante
 Variable
 Ausgabe
 Umgebung
4. In der Spalte Wert muss in Abhängigkeit der Quelle ein entsprechender
Eintrag erfolgen:
 Konstante: Zuweisen eines konstanten Werts vom Datentyp Integer,
Double, String, Boolean oder Enum
 Variable: Zuweisen einer Ablaufvariablen
 Ausgabe: Zuweisen einer Blockausgabe eines anderen Blocks im glei-
chen Diagramm
 Umgebung: Auswahl aus der Liste Umgebungsobjekt auswählen.
Diese Liste enthält Elemente vom passenden Typen , z. B. aus der
Sicht Objektvorlagen und der Sicht Applikationsdaten.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 23 / 53


KUKA Sunrise.ApplicationFramework 1.1

Für Ablaufvariablen und Blockausgaben ist es nicht notwendig, dass


der Blockausgang den Typ liefert, den der Blockparameter benötigt.
Abgeleitete Typen können allgemeineren Typen zuordnet werden:
 Blockausgänge können Blockparametern oder Ablaufvariablen zugeord-
net werden
 Ablaufvariablen können Blockparametern zugeordnet werden

5.7.3 Blockausgaben zuweisen

Vorgehensweise 1. Im Editoren-Bereich einen Block aus dem Ablaufdiagramm auswählen.


2. In der Registerkarte Blockausgaben einen Parameter markieren.
3. In der Spalte Zuweisung eine Ablaufvariable auswählen.

24 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


6 Programmierung

6 Programmierung

6.1 Übersicht

Die Programmierung gliedert sich in folgende Schritte:

Schritt Beschreibung
Applikationsklasse programmieren (>>> 6.1.2 "Applikationsklasse programmie-
ren" Seite 25)
Java-Blockklassen erstellen (>>> 6.1.3 "Neue Java-Block-Klasse erstellen"
Seite 26)
Vorbedingungen programmieren (>>> 6.1.4 "Vorbedingungen programmieren"
Seite 27)
Vorbedingungen prüfen (>>> 6.1.4.1 "Zyklische Prüfung der Vorbedin-
gungen aktivieren" Seite 28)
Blockparameter definieren (>>> 6.1.5 "Blockparameter definieren"
Seite 28)
Blockausgaben definieren (>>> 6.1.6 "Blockausgaben definieren"
Seite 29)
Icons für Blockklassen setzen (>>> 6.1.8 "Icons für Blockklassen" Seite 30)
Roboterapplikationen mithilfe von Application (>>> 6.1.9 "Roboterapplikationen erstellen"
Framework erstellen Seite 31)

6.1.1 Javadoc-Informationen anzeigen

Beschreibung Javadoc ist eine aus speziellen Java-Kommentaren generierte Dokumentati-


on. In Javadoc sind die Funktionalität und Verwendung von Klassen, Metho-
den und Bibliotheken beschrieben.
Es gibt verschiedenen Anzeigemöglichkeiten.

Vorgehensweise  Im Programmcode den Mauszeiger auf den gewünschten Element-Na-


men bewegen. Die zugehörigen Javadoc-Informationen werden automa-
tisch in einem Fenster im Editoren-Bereich angezeigt.
Folgende Elemente reagieren auf den Mauszeiger:
 Methoden
 Klassen (Datentypen, nicht selbst definierte Datenfelder)
 Schnittstellen
 Enums
 Gewünschtes Element im Programmcode markieren und F2 drücken.

6.1.2 Applikationsklasse programmieren

Beschreibung Ein Ablaufdiagramm, das als eigenständige Applikation auf dem smartPAD
angezeigt werden soll, benötigt eine Applikationsklasse. Die Applikationsklas-
se wird von der Schnittstelle IAppFwApplication abgeleitet und mit der Anno-
tation @AppFwApplicationCategory versehen.
Wird ein Ablaufdiagramm als Teilablauf verwendet, kann die Applikationsklas-
se entfallen.
Über die Annotation wird die Verbindung zwischen Applikationsklasse und Ab-
laufdiagramm hergestellt.
Um den Pfad des Ablaufdiagramms anzugeben, sind folgende Möglichkeiten
vorhanden:

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 25 / 53


KUKA Sunrise.ApplicationFramework 1.1

 Liegen Ablaufdiagramm und Applikation im gleichen Paket, wird nur der


Name des Ablaufdiagramms benötigt (z. B. @AppFwApplicationCatego-
ry(model = "BlockModel.blm")).
 Liegen Ablaufdiagramm und Applikation in unterschiedlichen Paketen,
muss der entsprechende Pfad des Ablaufdiagramms angegeben werden
(z. B. @AppFwApplicationCategory(model = "/differentPackage/BlockMo-
del.blm")). Unterschiedliche Quellenordner werden dabei nicht berück-
sichtigt.
Folgende Methoden müssen in der Applikationsklasse implementiert werden:

Methode Beschreibung
initialize() Diese Methode wird vor Ausführung der Applika-
tion aufgerufen.
dispose() Diese Methode wird nach der Ausführung der
Applikation aufgerufen.

Beispiel import com.kuka.appframework.IAppFwApplication;


import com.kuka.appframework.AppFwApplicationCategory;

@AppFwApplicationCategory(model = "TestBlockModel.blm")
public class TestBlockModel implements IAppFwApplication {
@Override
public void initialize()
{...}
@Override
public void dispose()
{...}
}

6.1.3 Neue Java-Block-Klasse erstellen

Zusätzliches Symbol in der Sicht Palette:

Symbol Name / Beschreibung


Neue Java-Block-Klasse erstellen
Öffnet das Fenster Neue Java-Block-Klasse.

Vorgehensweise 1. In der Sicht Palette das Symbol Neue Java-Block-Klasse erstellen mar-
kieren. Das Fenster Neue Java-Block-Klasse öffnet sich.
2. Im Feld Name einen Namen für die neue Java-Blockklasse eingeben.
3. Auf Fertigstellen klicken. Die neue Java-Blockklasse wird erstellt und im
Paket des Projekts und in der Sicht Palette eingefügt.
Die neue Java-Blockklasse Name.java wird im Editoren-Bereich geöffnet.
Folgende Methode steht zur Verfügung:

Methode Beschreibung
run(…) Diese Methode enthält den Code, der bei Aus-
führung des Blocks ausgeführt wird. Der von der
Methode zurückgegebene Rückgabewert ent-
scheidet, an welchem Ausgang der Block im
Ablaufdiagramm verlassen wird.

Beispiel Die im Editoren-Bereich geöffnete Java-Blockklasse enthält ein Enum-Typ


"Result" mit dem vordefinierten Bezeichner "OK". "Result" kann nach Belieben

26 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


6 Programmierung

verändert oder erweitert werden. Jeder der mit Komma abzutrennenden Be-
zeichner definiert einen neuen Blockausgang:
package application.blocks;
import com.kuka.appframework.ApplicationBlock;

public class Block extends ApplicationBlock<Block.Result>


{
public enum Result {
OK,
//...
}
@Override
public Result run() throws Exception
{
//...
return Result.OK;
}
}

Bei der Vergabe von Bezeichnung (z. B. Namen der Blockklassen


oder der Ausgänge) sind die Regeln der Java-Programmierung zu
beachten.

6.1.4 Vorbedingungen programmieren

Beschreibung Um eine Prüfung der Vorbedingungen für einen Block zu programmieren,


muss die Methode checkPreconditions() in der Java-Klasse des Blocks über-
schrieben werden. Die Methode wird unmittelbar vor der Ausführung der run()-
Methode aufgerufen und unterbricht den weiteren Ablauf, falls die Prüfung der
Vorbedingungen fehlschlägt.
Für jede zu prüfende Vorbedingung muss die check()-Methode von checker
aufgerufen werden. Der Methode muss ein boolescher Wert und ein Mel-
dungstext übergeben werden:
 true: Die Vorbedingung ist erfüllt.
 false: Die Vorbedingung ist verletzt.
 Der Meldungstext wird auf dem smartPAD angezeigt, wenn die Vorbedin-
gung verletzt ist.
(>>> 7.3.7 "Ignorieren von fehlgeschlagenen Vorbedingungen" Seite 41)

Die Methode soll keine aufwändigen Berechnungen oder langwieri-


ge Kommunikation durchführen, um den Ablauf nicht unnötig zu ver-
zögern.
 Mit der Methode sollen keine Aktionen ausgeführt werden (z. B. Roboter
verfahren, Ausgänge schalten).

Beispiel Es wird geprüft, ob der Greifer geschlossen und das Eingangssignal gesetzt
ist:
@Override
public void checkPreconditions(IChecker checker) throws Exception {
checker.check(isGripperClosed(),
"Gripper must be closed.");
checker.check(isSignalSet(),
"Signal must be set before executing this block.");
}

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 27 / 53


KUKA Sunrise.ApplicationFramework 1.1

6.1.4.1 Zyklische Prüfung der Vorbedingungen aktivieren

Beschreibung Damit die Laufzeitumgebung nach einer fehlgeschlagenen Prüfung der Vorbe-
dingungen selbstständig zyklische Prüfungen durchführt, kann die Blockklas-
se mit der Annotation @CyclicPreconditionCheck versehen werden. Die
Prüfungen werden im angegebenen Zeitintervall wiederholt, bis alle Vorbedin-
gungen erfüllt sind. Die nicht erfüllten Vorbedingungen werden auf dem smart-
PAD angezeigt und nach jeder Prüfung aktualisiert. Sind alle Vorbedingungen
erfüllt, muss der Programmablauf vom Anwender durch Drücken der Start-
Taste fortgesetzt werden.

Nach jedem Fortsetzen des Programmablaufs werden die Vorbedin-


gungen erneut geprüft. Sollen bereits erkannte nicht erfüllte Vorbe-
dingungen ignoriert werden, kann der Anwender auf dem smartPAD
die Option Vorbedingung ignorieren auswählen.
(>>> 7.3.7 "Ignorieren von fehlgeschlagenen Vorbedingungen" Seite 41)

Syntax @CyclicPreconditionCheck(interval=time)

Erläuterung der
Element Beschreibung
Syntax
time Zeit zwischen den einzelnen Prüfungen (Typ: int; Einheit:
ms)
Default: 1000
Wird der Parameter nicht angegeben, wird automatisch der
Default-Wert verwendet.
Hinweis: Um das System nicht zu überlasten, sollte ein
Zeitintervall > 400 ms gewählt werden.

6.1.5 Blockparameter definieren

Beschreibung Für jeden Blockparameter muss eine Methode definiert und mit der Annotation
@Input versehen werden. Der Parameter kann in einem Feld der Blockklasse
abgelegt und in der checkPreconditions()- und der run()-Methode verwendet
werden.
Folgende Bedingungen müssen erfüllt sein:
 Der Name der Methode muss mit set anfangen.
 Der Rückgabewert ist void.
 Die Methode ist nicht static.
 Die Methode ist public.
 Jede Methode hat nur einen Parameter mit einem unterstütztem Parame-
tertypen.
 Simple Parametertypen: String, int/Integer, double/Double, boo-
lean/Boolean
 Enum
 Komplexe Parametertypen: z. B. geometrische Typen aus der Ro-
boticsAPI. Damit können Umgebungsobjekte aus den Sichten Objekt-
vorlagen und Applikationsdaten zugewiesen werden.
 nicht unterstützt werden: Arrays, generische Parametertypen,
byte/Byte, char/Character, float/Float, long/Long, short/Short
 Jeder vergebene Name der Annotation @Input muss eindeutig sein.
 Der Blockparameter kann auch in einer Superklasse definiert werden.

28 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


6 Programmierung

 In der Registerkarte Blockparameter werden die Blockparameter für


Teilablauf- und Java-Blöcke angezeigt. Zusätzlich wird die entsprechende
Statusanzeige in der linke Spalte neben dem Namen angezeigt.

Beispiel Namen der Blockparameter: value und force


@Input
public void setValue(String value) {
this.value = value;
}
@Input
public void setForce(double force) {
this.force = force;
}

Nach dem Speichern der Änderungen der Blockparameter im Editor werden


die Änderungen in der Sicht Blockparameter angezeigt und können zugewie-
sen werden.

Falls der Datentyp als String dargestellt werden kann, kann ein Default-Wert
vorgegeben werden. Soll der Default-Wert bei Verwendung des Blocks im Edi-
tor für die initiale Parametrierung verwendet werden, kann dieser in der @In-
put-Annotation angegeben werden:
@Input(defaultValue="1.23")
public void setForce(double force) {
this.force = force;
}

6.1.6 Blockausgaben definieren

Beschreibung Für jede gewünschte Blockausgabe muss eine Methode definiert und mit der
Annotation @Output versehen werden.
Folgende Bedingungen müssen erfüllt sein:
 Der Name der Methode muss mit get anfangen.
 Die Methode ist nicht static.
 Die Methode ist public.
 Jede Methode hat nur einen Rückgabetyp mit einem unterstütztem Para-
metertypen:
 Simple Parametertypen: String, int/Integer, double/Double, boo-
lean/Boolean
 Enum
 Komlexe Parametertypen
 Die Blockausgabe kann auch in einer Superklasse definiert werden.
Die get-Methoden werden nach Ausführen der run-Methode aufgerufen.
Gibt eine get-Methode einen ungültigen Wert zurück oder löst eine Exception
aus, wird die Applikation mit einer entsprechenden Fehlermeldung pausiert. In
diesem Fall wird keine der mit dem Block verbundenen Ablaufvariablen aktu-
alisiert. Außerdem werden an die mit den Blockausgaben verbundenen Block-
eingänge keine Werte weitergeleitet.

Beispiel Namen der Blockausgaben: value und precision


@Output
public String getValue() {
return this.value;
}

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 29 / 53


KUKA Sunrise.ApplicationFramework 1.1

@Output
public double getPrecision() {
return 0.89;
}

6.1.7 Ausgänge bearbeiten

Um einen Ausgang in einem Block hinzuzufügen oder zu löschen, kann in der


Java-Blockklasse ein Wert zum Enum-Typ "Result" hinzugefügt oder gelöscht
werden.
(>>> 6.1.3 "Neue Java-Block-Klasse erstellen" Seite 26)
Wird ein verknüpfter Ausgang gelöscht, wird dieser nach dem Speichern der
Java-Blockklasse im Ablaufdiagramm rot angezeigt.

Abb. 6-1: Ausgang bearbeiten

Vorgehensweise 1. In das Ablaufdiagramm klicken.


Auf den Block doppelklicken, in dem der Name des Ausgangs geändert
werden soll. Die Java-Blockklasse wird im Editoren-Bereich geöffnet.
2. In der Java-Blockklasse den Namen des entsprechenden Werts des
Enum-Typ "Result" ändern.
Die Änderung wird nach dem Speichern der Java-Blockklasse in allen Ab-
laufdiagrammen übernommen.

6.1.8 Icons für Blockklassen

Beschreibung Jeder Blockklasse kann ein Icon zugewiesen werden. Die Zuordnung eines
Icons zu einer Blockklasse erfolgt über die Annotation @Icon. Das Icon wird
dauerhaft im Block des Ablaufdiagramms angezeigt.

Syntax @Icon (id=BlockIcon.Name)

Erläuterung der
Element Beschreibung
Syntax
Name Typ: Enum vom Typ BlockIcon
Name des Icons, das einem Block zugewiesen wird. Es
können nur vorgegebene Icons verwendet werden.

Name Symbol/Icon Name Symbol/Icon


CALCULATE MOVE

CAMERA ON_OFF

DECIDE PALLETIZE

DEPALLETIZE PICK

30 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


6 Programmierung

Name Symbol/Icon Name Symbol/Icon


DESTACK PLACE

ENTER REPEAT

INFORM REQUEST

LEAVE STACK

MEASURE WAIT

MEASURE_BA - -
SE

Beispiel Ein Block mit den Bewegungsabläufen soll zur Übersicht mit dem Icon MOVE
erweitert werden.
@Icon (id=BlockIcon.MOVE)
public class First extends ApplcationBlock<First.Result>

6.1.9 Roboterapplikationen erstellen

Beschreibung Um Roboterapplikationen mithilfe von Application Frameworks zu erstellen,


muss die Annotation @UseRoboticsAPIContext zur Applikationsklasse hinzu-
gefügt werden. Dadurch erhalten Applikationsklasse und Java-Blöcke Zugriff
auf RoboticsAPI-Typen über Dependency Injection.

Bei der Programmierung von Roboterbewegungen ist folgendes zu


beachten:
Die run()-Methode darf erst verlassen werden, wenn der Bewe-
gungsbefehl beendet wurde. Dies schließt eine Kommandierung mit mo-
veAsync() und IMotionContainer.append() als letztem Bewegungsbefehl
aus.
 Überschleifen von Bewegungen zwischen Blöcken wird nicht unterstützt.
Werden diese Punkte nicht beachtet, kann es zu Fehlbedienungen aufgrund
von Abweichungen zwischen Anzeige und Auswahl des aktiven Blocks kom-
men. Außerdem sind unerwartete Bewegungen des Roboters möglich.

Beispiel Ein Roboter soll mit dem Default-TCP eines Werkzeugs einen Zielpunkt an-
fahren und dabei eine Meldung ausgeben. Zielpunkt und Werkzeug sollen in
der Sunrise Workbench als Blockparameter konfigurierbar sein:
import static com.kuka.roboticsAPI.motionModel.BasicMotions.ptp;

import javax.inject.Inject;
import com.kuka.appframework.ApplicationBlock;
import com.kuka.appframework.Input;
import com.kuka.roboticsAPI.geometricModel.ObjectFrame;
import com.kuka.roboticsAPI.geometricModel.Tool;
import com.kuka.task.ITaskLogger;

public class MoveTool extends ApplicationBlock<MoveTool.Result> {


public enum Result {
OK
}
private Tool tool;
private ObjectFrame target;
@Inject

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 31 / 53


KUKA Sunrise.ApplicationFramework 1.1

private ITaskLogger log;

@Input
public void setTool(Tool tool) {
this.tool = tool;
}

@Input
public void setTarget(ObjectFrame target) {
this.target = target;
}

@Override
public Result run() throws Exception {
log.info("Moving tool" + tool +
"to frame" + target.getName());
tool.move(ptp(target));
return Result.OK;
}
}

32 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


7 Bedienung KUKA smartHMI

7 Bedienung KUKA smartHMI

7.1 Benutzergruppen

Benutzerrechte Standardmäßig wird keine spezielle Berechtigung benötigt, um die Funktionen


der Software auf der smartHMI auszuführen. Ist die Benutzergruppe Experte
installiert, darf der Standardbenutzer die folgenden Funktionen nicht mehr
ausführen. Der Benutzer muss mindestens als Experte angemeldet sein.

Sicherheitsin-
Funktion Bediener Experte
betriebnehmer
Blockparameter ändern

Ablaufvariablen ändern

Vorbedingungen ignorieren

Blockanwahl bei laufender Applika-


tion

7.2 Applikationssicht mit Ablaufdiagramm

Voraussetzung  Projekt ist synchronisiert.


 Die Applikationen mit den Ablaufdiagrammen stehen der Robotersteue-
rung zur Verfügung.

Vorgehensweise 1. In der Navigationsleiste unter Applikationen die gewünschte Applikation


auswählen.
2. Die Kachel Ablaufdiagramm drücken. Das ausgewählte Ablaufdiagramm
öffnet sich. Die Schaltfläche zur Bearbeitung wird angezeigt.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 33 / 53


KUKA Sunrise.ApplicationFramework 1.1

Abb. 7-1: Applikationssicht mit Ablaufdiagramm

Pos. Beschreibung
1 Schaltflächenleiste zur Bearbeitung
2 Anzeigebereich
Anzeige des Ablaufdiagramms

Schaltfläche Beschreibung
Kehrt zum übergeordneten Ablaufdiagramm zurück
(>>> 7.2.4 "Teilablauf öffnen" Seite 38)
Öffnet die Ansicht Ablaufvariablen
(>>> 7.2.3 "Ablaufvariablen anzeigen und ändern"
Seite 37)
Die Applikation kann im kontinuierlichen Modus oder
im Schrittmodus ausgeführt werden. Es kann jederzeit
umgeschaltet werden.
(>>> 7.2.5 "Programmablaufart wählen" Seite 39)

34 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


7 Bedienung KUKA smartHMI

Schaltfläche Beschreibung
Scroll-Funktion
Bei aktivierter Scroll-Funktion wird der Fensterinhalt
bei Programmausführung automatisch verschoben.
Der aktuell ausgeführte Block wird angezeigt.
Die Scroll-Funktion kann jederzeit aktiviert oder deakti-
viert werden.
Vergrößert und verkleinert das Ablaufdiagramm
 - : Zoom wird kleiner
 + : Zoom wird größer

7.2.1 Programmablauf durch Blockwechsel ändern

Beschreibung Innerhalb eines Ablaufdiagramms kann die Reihenfolge der Ausführung geän-
dert werden, indem zu einem beliebig gewählten Block, Start- oder Endpunkt
gesprungen wird.
Der gewählte Block wird unabhängig von der tatsächlichen Reihenfolge als
Nächstes ausgeführt. Falls noch ein Block aktiv ist, weil die Ausführung wäh-
rend einer Bewegung pausiert wurde, wechselt die Ausführung erst nachdem
dieser Block vollständig ausgeführt wurde.

Voraussetzung  Die Applikation ist pausiert.

Vorgehensweise 1. Den Block berühren, zu dem gewechselt werden soll. Ein Dialog wird ge-
öffnet. Der Blockname wird in der Kopfzeile der Blockauswahl angezeigt:

Abb. 7-2: Dialog

2. Gehe zu … drücken.
Der Dialog wird geschlossen. Innerhalb des Programmablaufs wird zum
gewünschten Block gewechselt.

Der Wechsel in einen Teilablauf-Block ist nur in der gleichen Ebene


oder in eine höhere Ebene möglich. Die aktuelle Ebene wird durch die
Vorschaumarkierung markiert.
Beim Wechsel in einen Teilablauf-Block in der gleichen Ebene springt die
Ausführung zum Startpunkt des Teilablauf-Blocks:
 Wird der Startpunkt nicht ausgeführt und es wird zu einem Block gewech-
selt, muss das Ablaufdiagramm initialisiert werden.
 Bei Wechsel zum Endpunkt dürfen die Ablaufvariablen nicht initialisiert
werden.

Beispiel Während ein Block ausgeführt wird, tritt ein Fehler oder eine Vorbedingung
schlägt fehl. Bei Wechsel in einen zweiten Block wird der Fehler automatisch
gelöscht, ohne dass die fehlgeschlagenen Vorbedingungen über ein Dialog-
fenster ignoriert werden müssen.
Erfolgt der Wechsel in der Mitte der Ausführung eines Teilablauf-Blocks zu ei-
nem Funktions-Block und wieder zurück in den Teilablauf-Block, wird die Aus-
führung des Teilablauf-Blocks erneut am Startpunkt gestartet.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 35 / 53


KUKA Sunrise.ApplicationFramework 1.1

Durch den Wechsel zu einem anderen Block kann es


durch den damit verbundenen Wechsel im Program-
mablauf zu unerwarteten Bewegungen des Roboters kommen.
Sind die Auswirkungen nicht bekannt, müssen die Blöcke in der Betriebsart
Manuell Reduzierte Geschwindigkeit (T1) getestet werden.

7.2.2 Blockparameter anzeigen und ändern

Voraussetzung  Die Applikation ist pausiert.

Vorgehensweise 1. Den Block berühren. Ein Dialog wird geöffnet. Der Blockname wird in der
Kopfzeile der Blockauswahl angezeigt:

Abb. 7-3: Dialog

2. Blockparameter drücken. Die Ansicht Blockparameter öffnet sich. Alle


Blockparameter werden angezeigt.
(>>> Abb. 7-4 )
3. Um einen Blockparameter zu ändern, den Namen des Blockparameters
berühren.
4. Den Wert ändern.
5. Um die Änderung zu übernehmen, Speichern drücken.

Beschreibung

Abb. 7-4: Ansicht Blockparameter ändern

36 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


7 Bedienung KUKA smartHMI

Pos. Beschreibung
1 Blockparameter des gewählten Blocks
2 Details zu den Blockparametern mit dem Eingabefeld zur Ände-
rung
3 Öffnet Fenster mit Dokumentation zum gewählten Blockparame-
ter.

 Ist der Blockparameter mit einer Konstanten (Quelle) vom Datentyp Inte-
ger, Double oder String verknüpft, kann der Wert durch die Eingabe von
Buchstaben oder Zahlen geändert werden.
 Beim Datentypen Enum kann der Wert aus einer Liste der zur Verfügung
stehenden Werte gewählt werden.
 Beim Datentypen Boolean kann der Wert durch Wählen von True/False
geändert werden.
 Ist der Blockparameter mit einer anderen Quelle verknüpft, sind keine Än-
derungen möglich.
 Blockparameter mit komplexen Parametertypen können nicht geändert
werden.

Die auf der smartHMI geänderten Blockparameter werden gespei-


chert und können durch eine Projektsynchronisation auf die Sunri-
se.Workbench übertragen werden.

7.2.3 Ablaufvariablen anzeigen und ändern

Voraussetzung  Die Applikation wird ausgeführt oder pausiert.

Vorgehensweise 1. Ablaufvariablen öffnen drücken.


(>>> Abb. 7-1 )
2. Die Ansicht Ablaufvariablen öffnet sich. Alle Ablaufvariablen des gewähl-
ten Ablaufdiagramms werden angezeigt.
(>>> Abb. 7-5 )
3. Um eine Ablaufvariable zu ändern, den Namen der Ablaufvariablen berüh-
ren.
4. Den Wert ändern. Die Ablaufvariablen von komplexen Parametertypen
können nicht geändert werden.
5. Um die Änderung zu übernehmen, Speichern drücken.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 37 / 53


KUKA Sunrise.ApplicationFramework 1.1

Beschreibung

Abb. 7-5: Ansicht Ablaufvariable ändern

Pos. Beschreibung
1 Ablaufvariablen des gewählten Ablaufdiagramms
2 Details zu den Ablaufvariablen mit dem Eingabefeld zur Änderung

 Ist die Ablaufvariable mit einer Konstanten (Quelle) vom Datentyp Integer,
Double oder String verknüpft, kann der Wert durch die Eingabe von Buch-
staben oder Zahlen geändert werden.
 Beim Datentypen Boolean kann der Wert durch Wählen von True/False
geändert werden.
 Ist die Ablaufvariable mit einem komplexen Parametertypen verknüpft,
wird der Datentyp als String angezeigt. Dadurch wird die toString()-Metho-
de aufgerufen.

Die auf der smartHMI in einem Teilablauf-Block oder Java-Block ge-


änderten Ablaufvariablen gelten für die aktuelle Ausführung und wer-
den nicht gespeichert.

7.2.4 Teilablauf öffnen

Voraussetzungen  Die Applikation ist angewählt.

Beschreibung Um die Details innerhalb eines Ablaufdiagramms anzuzeigen, können Teilab-


lauf-Blöcke geöffnet werden.

Vorgehensweise 1. Den Teilablauf-Block berühren. Ein Dialog wird geöffnet. Der Blockname
wird in der Kopfzeile angezeigt:

38 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


7 Bedienung KUKA smartHMI

Abb. 7-6: Dialog

2. Details drücken. Die Ansicht mit dem Teilablaufplan öffnet sich.


3. Um zum übergeordneten Ablaufdiagramm zurückzukehren, die Schaltflä-
che mit dem Pfeilsymbol drücken.

7.2.5 Programmablaufart wählen

Die Applikation kann im kontinuierlichen Modus oder im Schrittmodus ausge-


führt werden. Es kann jederzeit umgeschaltet werden.
(>>> 7.2 "Applikationssicht mit Ablaufdiagramm" Seite 33)
Abhängig von der Wahl der Programmablaufart:
 Schrittmodus
Im Schrittmodus führt das Programm jeden Block einzeln aus. Nach jedem
Block wird die Applikation pausiert. Um den nächsten Block auszuführen,
muss die Start-Taste erneut gedrückt werden.
 Kontinuierlicher Modus
Im kontinuierlichen Modus wird die Applikation ohne Unterbrechung
durchgeführt. Nach und nach werden automatisch die Kopfzeilen der Blö-
cke gekennzeichnet, in dem gerade die entsprechenden Programmab-
schnitte durchgeführt werden.

7.3 Übersicht Laufzeitverhalten

Bei Ausführung der Applikation werden in einem Ablaufdiagramm die Blöcke


ausgehend vom Startpunkt der Reihe nach ausgeführt. Das Ergebnis der Aus-
führung eines Blocks bestimmt die Wahl des Ausgangs und damit den jeweils
nächsten Block. Sobald ein Endpunkt oder ein nicht verschalteter Ausgang er-
reicht wird, endet die Applikation.
 Verhalten vor und während der Ausführung
(>>> 7.3.1 "Verhalten vor und während der Ausführung" Seite 39)
 Verhalten bei Teilabläufen
(>>> 7.3.2 "Verhalten bei Teilabläufen" Seite 40)
 Verhalten während der Applikationspause
(>>> 7.3.3 "Verhalten während der Applikationspause" Seite 40)
 Verhalten während eines Fehlerfalls
(>>> 7.3.4 "Verhalten während eines Fehlerfalls" Seite 40)
 Verhalten bei nicht zugewiesenen Blockparametern
(>>> 7.3.5 "Verhalten bei nicht zugewiesenen Blockparametern" Sei-
te 41)

7.3.1 Verhalten vor und während der Ausführung

Vor der Ausführung der Applikation ist der Startblock des Ablaufdiagramms
mit einem grünen Dreieck markiert (Vorschaumarkierung).
Nach dem Start wird die Kopfzeile des Startblocks mit einem grünen Hinter-
grund gekennzeichnet (Ausführungsmarkierung).

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 39 / 53


KUKA Sunrise.ApplicationFramework 1.1

Bei weiterem Programmablauf wird immer die Kopfzeile des Blocks gekenn-
zeichnet, der gerade ausgeführt wird.
Wird ein Endpunkt erreicht, wird die Ausführung ordnungsgemäß beendet und
der Endpunkt grün hinterlegt.

7.3.2 Verhalten bei Teilabläufen

Bei Erreichen eines Teilablauf-Blocks wird die Kopfzeile des Blocks grün ge-
kennzeichnet. Der Inhalt des Teilablauf-Blocks (z. B. weitere Teilabläufe) wird
nicht auf dem smartPAD angezeigt. Unabhängig von der Wahl der Program-
mablaufart wird die Kopfzeile des Blocks grün gekennzeichnet, bis der Teilab-
lauf-Block vollständig abgearbeitet ist.
Falls eine Ablaufvariable eines Teilablauf-Blocks einen Default-Wert hat, wird
die Ablaufvariable als Blockparameter gesetzt. Wird der Blockparameter des
Teilablauf-Blocks zum Ausgang eines anderen Blocks, dann wird Blockpara-
meter durch den Default-Wert der Ablaufvariabelen überschrieben.
Ist während der Programmausführung ein Teilablauf geöffnet, werden nur die
Kopfzeilen der Blöcke grün gekennzeichnet, die Teil dieses Teilablaufs sind.
Auch bei aktivierter Scroll-Funktion wird die Ansicht des Teilablaufs nicht au-
tomatisch verlassen.
(>>> 7.2.4 "Teilablauf öffnen" Seite 38)

7.3.3 Verhalten während der Applikationspause

Tritt eine Applikationspause ein, wird die Ausführungsmarkierung des aktuel-


len Blocks durch die Vorschaumarkierung ersetzt:
 Der aktuelle Block enthält einen oder mehrere Bewegungsbefehle:
Die Ausführung wird vor dem nächsten Bewegungsbefehl pausiert. Der
aktuelle Block wird durch die Vorschaumarkierung gekennzeichnet, bis
die Applikation fortgesetzt wird. Anschließend wird der Block weiter aus-
geführt.
 Der aktuelle Block enthält keinen Bewegungsbefehl:
Der aktuelle Block wird vollständig ausgeführt. Die Ausführung pausiert
vor dem nächsten Block. Der nächste Block wird abhängig vom Ergebnis
der Ausführung und der Verschaltung des aktuellen Blocks ausgewählt.
Der nächste Block wird durch die Vorschaumarkierung gekennzeichnet.

7.3.4 Verhalten während eines Fehlerfalls

Tritt während der Ausführung eines Blocks ein Programmfehler auf, wird die
Applikation pausiert. Der Block, in dem der Fehler ausgelöst wird, wird durch

die Vorschaumarkierung und das Fehler-Symbol gekennzeichnet:


Berührt man den gekennzeichneten Block, öffnet sich ein Fenster mit Details
zum Fehler.
Beim Fortsetzen der Applikation wird der Block erneut ausgeführt.
Tritt ein Fehler in einem Block innerhalb eines Teilablaufs auf, wird die ent-
sprechende Statusanzeige auf dem Teilablauf-Block angezeigt. Durch Öffnen
des Teilablauf-Blocks kann der Block, der den Fehler verursacht hat, identifi-
ziert werden.

40 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


7 Bedienung KUKA smartHMI

Es kann sein, dass der Block bis zum Auftreten des Feh-
lers bereits dauerhafte Änderungen durchgeführt hat,
die beim erneuten Ausführen des Blocks zu Folgefehlern führen könnten.
Sind die Auswirkungen nicht bekannt, müssen die Blöcke in der Betriebsart
Manuell Reduzierte Geschwindigkeit (T1) getestet werden.

7.3.5 Verhalten bei nicht zugewiesenen Blockparametern

Ist einem Blockparameter kein Wert zugewiesen, wird der Block mit der gel-
ben Statusanzeige gekennzeichnet. Wird ein Block ohne zugewiesene Block-
parameter im Programmablauf erreicht, wird die Ausführung vor dem Block
pausiert.
Blockparameter können auf dem smartPAD geändert werden.
(>>> 7.2.2 "Blockparameter anzeigen und ändern" Seite 36)
Ist einem Blockparameter innerhalb eines Teilablaufs kein Wert zugewiesen,
wird die entsprechende Statusanzeige auf dem Teilablauf-Block angezeigt.
Durch Öffnen des Teilablauf-Blocks kann der Block, der den Fehler verursacht
hat, identifiziert werden. Der fehlende Blockparameter kann nur in der Sunrise
Workbench zugewiesen werden, nicht auf dem smartPAD.

7.3.6 Verhalten bei fehlgeschlagenen Vorbedingungen

Vorhandene Vorbedingungen werden vor Ausführung eines Blocks geprüft.


Die Applikation pausiert, sobald eine Vorbedingung fehlschlägt. Zusätzlich
wird der Block durch ein rotes Symbol für verletzte Vorbedingungen gekenn-

zeichnet:
Berührt man den gekennzeichneten Block, öffnet sich der Dialog mit Details
zu den verletzten Vorbedingung.
Beim Fortsetzen des Programms werden die Vorbedingungen erneut geprüft.
Um einen Block trotz nicht erfüllter Vorbedingungen auszuführen, im Fenster
mit Details Häkchen bei Vorbedingungen ignorieren setzen.
(>>> 7.3.7 "Ignorieren von fehlgeschlagenen Vorbedingungen" Seite 41)
Ist eine Vorbedingung in einem Block innerhalb eines Teilablauf-Blocks fehl-
geschlagen, wird die entsprechende Statusanzeige auf dem Teilablauf-Block
angezeigt. Durch Öffnen des Teilablauf-Blocks kann der Block, der den Fehler
verursacht hat, identifiziert werden.

7.3.7 Ignorieren von fehlgeschlagenen Vorbedingungen

Ist die Prüfung von Vorbedingungen eines Blocks fehlgeschlagen, kann der
Block trotz nicht erfüllter Vorbedingungen ausgeführt werden. In diesem Fall
werden die Vorbedingungen ignoriert. Zusätzlich wird der Block durch ein gel-

bes Symbol kennzeichnet:


Berührt man den gekennzeichneten Block, öffnet sich ein Dialog:
 Ohne Häkchen: Fehlgeschlagene Vorbedingungen werden nicht ignoriert
Fehlgeschlagene Vorbedingungen verhindern die Ausführung des Blocks.
Durch Drücken der Start-Taste werden die Vorbedingungen erneut ge-
prüft. Sind die Vorbedingungen erfüllt, wird der Programmablauf fortge-
setzt.

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 41 / 53


KUKA Sunrise.ApplicationFramework 1.1

 Mit Häkchen: Fehlgeschlagene Vorbedingungen werden ignoriert


Der Block kann trotz fehlgeschlagener Vorbedingungen ausgeführt wer-
den. Der Programmablauf wird fortgesetzt.

Werden fehlgeschlagene Vorbedingungen ignoriert, kann es bei Aus-


führung des Blocks zu unerwartetem Systemverhalten oder unerwar-
teten Bewegungen des Roboters kommen. Diese Anwendung sollte
daher nur erfolgen, wenn die Auswirkungen bekannt sind.
Sind die Auswirkungen nicht bekannt, müssen die Blöcke, in denen diese
Bedingung aktiviert wurde, in der Betriebsart Manuell Reduzierte Geschwin-
digkeit (T1) getestet werden.

42 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


8 KUKA Service

8 KUKA Service
A

8.1 Support-Anfrage
v

Einleitung Diese Dokumentation bietet Informationen zu Betrieb und Bedienung und un-
terstützt Sie bei der Behebung von Störungen. Für weitere Anfragen steht Ih-
nen die lokale Niederlassung zur Verfügung.

Informationen Zur Abwicklung einer Anfrage werden folgende Informationen benötigt:


 Problembeschreibung inkl. Angaben zu Dauer und Häufigkeit der Störung
 Möglichst umfassende Informationen zu den Hardware- und Software-
Komponenten des Gesamtsystems
Die folgende Liste gibt Anhaltspunkte, welche Informationen häufig rele-
vant sind:
 Typ und Seriennummer der Kinematik, z. B. des Manipulators
 Typ und Seriennummer der Steuerung
 Typ und Seriennummer der Energiezuführung
 Bezeichnung und Version der System Software
 Bezeichnungen und Versionen weiterer/anderer Software-Komponen-
ten oder Modifikationen
 Diagnosepaket KRCDiag
Für KUKA Sunrise zusätzlich: Vorhandene Projekte inklusive Applika-
tionen
Für Versionen der KUKA System Software älter als V8: Archiv der
Software (KRCDiag steht hier noch nicht zur Verfügung.)
 Vorhandene Applikation
 Vorhandene Zusatzachsen

8.2 KUKA Customer Support

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

Australien KUKA Robotics Australia Pty Ltd


45 Fennell Street
Port Melbourne VIC 3207
Australien
Tel. +61 3 9939 9656
info@kuka-robotics.com.au
www.kuka-robotics.com.au

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 43 / 53


KUKA Sunrise.ApplicationFramework 1.1

Belgien KUKA Automatisering + Robots N.V.


Centrum Zuid 1031
3530 Houthalen
Belgien
Tel. +32 11 516160
Fax +32 11 526794
info@kuka.be
www.kuka.be

Brasilien KUKA Roboter do Brasil Ltda.


Travessa Claudio Armando, nº 171
Bloco 5 - Galpões 51/52
Bairro Assunção
CEP 09861-7630 São Bernardo do Campo - SP
Brasilien
Tel. +55 11 4942-8299
Fax +55 11 2201-7883
info@kuka-roboter.com.br
www.kuka-roboter.com.br

Chile Robotec S.A. (Agency)


Santiago de Chile
Chile
Tel. +56 2 331-5951
Fax +56 2 331-5952
robotec@robotec.cl
www.robotec.cl

China KUKA Robotics China Co., Ltd.


No. 889 Kungang Road
Xiaokunshan Town
Songjiang District
201614 Shanghai
P. R. China
Tel. +86 21 5707 2688
Fax +86 21 5707 2603
info@kuka-robotics.cn
www.kuka-robotics.com

Deutschland KUKA Roboter GmbH


Zugspitzstr. 140
86165 Augsburg
Deutschland
Tel. +49 821 797-1926
Fax +49 821 797-41 1926
Hotline.robotics.de@kuka.com
www.kuka-roboter.de

44 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


8 KUKA Service

Frankreich KUKA Automatisme + Robotique SAS


Techvallée
6, Avenue du Parc
91140 Villebon S/Yvette
Frankreich
Tel. +33 1 6931660-0
Fax +33 1 6931660-1
commercial@kuka.fr
www.kuka.fr

Indien KUKA Robotics India Pvt. Ltd.


Office Number-7, German Centre,
Level 12, Building No. - 9B
DLF Cyber City Phase III
122 002 Gurgaon
Haryana
Indien
Tel. +91 124 4635774
Fax +91 124 4635773
info@kuka.in
www.kuka.in

Italien KUKA Roboter Italia S.p.A.


Via Pavia 9/a - int.6
10098 Rivoli (TO)
Italien
Tel. +39 011 959-5013
Fax +39 011 959-5141
kuka@kuka.it
www.kuka.it

Japan KUKA Robotics Japan K.K.


YBP Technical Center
134 Godo-cho, Hodogaya-ku
Yokohama, Kanagawa
240 0005
Japan
Tel. +81 45 744 7691
Fax +81 45 744 7696
info@kuka.co.jp

Kanada KUKA Robotics Canada Ltd.


6710 Maritz Drive - Unit 4
Mississauga
L5W 0A1
Ontario
Kanada
Tel. +1 905 670-8600
Fax +1 905 670-8604
info@kukarobotics.com
www.kuka-robotics.com/canada

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 45 / 53


KUKA Sunrise.ApplicationFramework 1.1

Korea KUKA Robotics Korea Co. Ltd.


RIT Center 306, Gyeonggi Technopark
1271-11 Sa 3-dong, Sangnok-gu
Ansan City, Gyeonggi Do
426-901
Korea
Tel. +82 31 501-1451
Fax +82 31 501-1461
info@kukakorea.com

Malaysia KUKA Robot Automation (M) Sdn Bhd


South East Asia Regional Office
No. 7, Jalan TPP 6/6
Taman Perindustrian Puchong
47100 Puchong
Selangor
Malaysia
Tel. +60 (03) 8063-1792
Fax +60 (03) 8060-7386
info@kuka.com.my

Mexiko KUKA de México S. de R.L. de C.V.


Progreso #8
Col. Centro Industrial Puente de Vigas
Tlalnepantla de Baz
54020 Estado de México
Mexiko
Tel. +52 55 5203-8407
Fax +52 55 5203-8148
info@kuka.com.mx
www.kuka-robotics.com/mexico

Norwegen KUKA Sveiseanlegg + Roboter


Sentrumsvegen 5
2867 Hov
Norwegen
Tel. +47 61 18 91 30
Fax +47 61 18 62 00
info@kuka.no

Österreich KUKA Roboter CEE GmbH


Gruberstraße 2-4
4020 Linz
Österreich
Tel. +43 7 32 78 47 52
Fax +43 7 32 79 38 80
office@kuka-roboter.at
www.kuka.at

46 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


8 KUKA Service

Polen KUKA Roboter CEE GmbH Poland


Spółka z ograniczoną odpowiedzialnością
Oddział w Polsce
Ul. Porcelanowa 10
40-246 Katowice
Polen
Tel. +48 327 30 32 13 or -14
Fax +48 327 30 32 26
ServicePL@kuka-roboter.de

Portugal KUKA Robots IBÉRICA, S.A.


Rua do Alto da Guerra n° 50
Armazém 04
2910 011 Setúbal
Portugal
Tel. +351 265 729 780
Fax +351 265 729 782
info.portugal@kukapt.com
www.kuka.com

Russland KUKA Robotics RUS


Werbnaja ul. 8A
107143 Moskau
Russland
Tel. +7 495 781-31-20
Fax +7 495 781-31-19
info@kuka-robotics.ru
www.kuka-robotics.ru

Schweden KUKA Svetsanläggningar + Robotar AB


A. Odhners gata 15
421 30 Västra Frölunda
Schweden
Tel. +46 31 7266-200
Fax +46 31 7266-201
info@kuka.se

Schweiz KUKA Roboter Schweiz AG


Industriestr. 9
5432 Neuenhof
Schweiz
Tel. +41 44 74490-90
Fax +41 44 74490-91
info@kuka-roboter.ch
www.kuka-roboter.ch

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 47 / 53


KUKA Sunrise.ApplicationFramework 1.1

Spanien KUKA Robots Ibérica, S.A.


Pol. Industrial
Torrent de la Pastera
Carrer del Bages s/n
08800 Vilanova i la Geltrú (Barcelona)
Spanien
Tel. +34 93 8142-353
comercial@kukarob.es

Südafrika Jendamark Automation LTD (Agentur)


76a York Road
North End
6000 Port Elizabeth
Südafrika
Tel. +27 41 391 4700
Fax +27 41 373 3869
www.jendamark.co.za

Taiwan KUKA Robot Automation Taiwan Co., Ltd.


No. 249 Pujong Road
Jungli City, Taoyuan County 320
Taiwan, R. O. C.
Tel. +886 3 4331988
Fax +886 3 4331948
info@kuka.com.tw
www.kuka.com.tw

Thailand KUKA Robot Automation (M)SdnBhd


Thailand Office
c/o Maccall System Co. Ltd.
49/9-10 Soi Kingkaew 30 Kingkaew Road
Tt. Rachatheva, A. Bangpli
Samutprakarn
10540 Thailand
Tel. +66 2 7502737
Fax +66 2 6612355
atika@ji-net.com
www.kuka-roboter.de

Tschechien KUKA Roboter Austria GmbH


Organisation Tschechien und Slowakei
Sezemická 2757/2
193 00 Praha
Horní Počernice
Tschechische Republik
Tel. +420 22 62 12 27 2
Fax +420 22 62 12 27 0
support@kuka.cz

48 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


8 KUKA Service

Ungarn KUKA Robotics Hungaria Kft.


Fö út 140
2335 Taksony
Ungarn
Tel. +36 24 501609
Fax +36 24 477031
info@kuka-robotics.hu

USA KUKA Robotics Corporation


51870 Shelby Parkway
Shelby Township
48315-1787
Michigan
USA
Tel. +1 866 873-5852
Fax +1 866 329-5852
info@kukarobotics.com
www.kukarobotics.com

Vereinigtes König- KUKA Robotics UK Ltd


reich Great Western Street
Wednesbury West Midlands
WS10 7LL
Vereinigtes Königreich
Tel. +44 121 505 9970
Fax +44 121 505 6589
service@kuka-robotics.co.uk
www.kuka-robotics.co.uk

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 49 / 53


KUKA Sunrise.ApplicationFramework 1.1

50 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


Index

Index
A Elemente löschen 21
Ablaufdiagramm 6 Elemente vergrößern 21
Ablaufdiagramm ausdrucken 21 Elemente verschieben 21
Ablaufdiagramm bearbeiten 19 Exception 6
Ablaufdiagramm vergrößeren 20
Ablaufdiagramm verkleinern 20 F
Ablaufdiagramm, Applikationssicht 33 Fehler (Sicht) 21
Ablaufdiagramm, neu 18 Fehler anzeigen 21
Ablaufdiagramm, Übersicht 15
Ablaufdiagramme einfügen 18 H
Ablaufprogrammierung 15 Hardware 9
Ablaufvariablen (Registerkarte) 12 Hinweise 5
Ablaufvariablen ändern 37
Ablaufvariablen, definieren 22 I
Allgemein (Registerkarte) 12 Icons, Blockklassen 30
AppFw 6 initialize() 26
Applikationsklasse programmieren 25 Installation 9
Applikationssicht, Ablaufdiagramm 33
Ausdrucken, Ablaufdiagramm 21 J
Ausgänge bearbeiten 30 Java-Block Beschreibung 12
Ausrichten, Elemente 19 Java-Block-Klasse, neu erstellen 26
Auswählen, Elemente 20 Java-Blöcke einfügen 18
JRE 6
Ä
Ändern, Ablaufvariablen 37 K
Ändern, Blockparameter 36 Kenntnisse, benötigt 5
Kopieren, Elemente 20
B KUKA Customer Support 43
Bearbeiten, Ausgänge 30 KUKA smartHMI 6
Bedienung 11 KUKA smartPAD 6
Bedienung, KUKA smartHMI 33 KUKA Sunrise Cabinet 6
Begriffe, verwendet 6 KUKA Sunrise.OS 6
Benutzergruppen 33
Bestimmungsgemäße Verwendung 7 L
Blockausgaben (Registerkarte) 12 Löschen, Elemente 21
Blockausgaben definieren 29 Löschen, Verbindungen 21
Blockausgaben zuweisen 24
Blockparameter (Registerkarte) 12 Ö
Blockparameter ändern 36 Öffnen,Teilablauf 38
Blockparameter definieren 28
Blockparameter, zuweisen 23 P
Blockwechsel, Programmablauf 35 Paket-Explorer (Sicht) 11
Palette (Sicht) 12
D Perspektive, Default 13
Datenfluss 22 Perspektive, einblenden 13
Definieren, Blockausgaben 29 Perspektiven, auswählen 11
Definieren, Blockparameter 28 Produktbeschreibung 7
dispose() 26 Programmablauf, Blockwechsel 35
Dokumentation, Industrieroboter 5 Programmieren, Applikationsklasse 25
Programmieren, Vorbedingungen 27
E Programmierung 25
Editoren-Bereich 11 Programmierung (Perspektive) 13
Einblenden, Perspektive 13
Einblenden, Sicht 13 R
Einleitung 5 Roboterapplikationen, erstellen 31
Elemente ausrichten 19 run(…) 26
Elemente auswählen 20
Elemente kopieren 20

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 51 / 53


KUKA Sunrise.ApplicationFramework 1.1

S
Schulungen 5
Service, KUKA Roboter GmbH 43
Sicherheitshinweise 5
Sicht, einblenden 13
Software 9
Standard-Elemente einfügen 18
Statusanzeige 17
Support-Anfrage 43
Symbolleiste 11
Systemvoraussetzungen 9

T
Teilablauf öffnen 38
Teilablauf-Block verknüpfen 18

Ü
Übersicht 7, 11
Übersicht, Ablaufdiagramm 15

V
Verbindungen löschen 21
Vergrößern, Elemente 21
Verknüpfen, Teilablauf-Block 18
Verschieben, Elemente 21
Verwendete Begriffe 6
Vorbedingungen programmieren 27

Z
Zielgruppe 5
Zyklische Prüfung, Vorbedingungen 28

52 / 53 Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1


KUKA Sunrise.ApplicationFramework 1.1

Stand: 06.07.2017 Version: KUKA Sunrise.Application Framework 1.1 V1 53 / 53

Das könnte Ihnen auch gefallen