Sie sind auf Seite 1von 57

Anwendungsbeispiel  01/2016

Ansteuerung eines
KUKA Industrieroboters
über eine SIMATIC S7-1500
SIMATIC S7-1500 / TIA Portal V13 SP1 / KUKA.PLC mxAutomation

https://support.industry.siemens.com/cs/ww/de/view/109482123
Gewährleistung und Haftung

Gewährleistung und Haftung


Hinweis Die Anwendungsbeispiele sind unverbindlich und erheben keinen Anspruch auf
Vollständigkeit hinsichtlich Konfiguration und Ausstattung sowie jeglicher
Eventualitäten. Die Anwendungsbeispiele stellen keine kundenspezifischen
Lösungen dar, sondern sollen lediglich Hilfestellung bieten bei typischen
Aufgabenstellungen. Sie sind für den sachgemäßen Betrieb der beschriebenen
Produkte selbst verantwortlich. Diese Anwendungsbeispiele entheben Sie nicht
der Verpflichtung zu sicherem Umgang bei Anwendung, Installation, Betrieb und
Wartung. Durch Nutzung dieser Anwendungsbeispiele erkennen Sie an, dass wir
über die beschriebene Haftungsregelung hinaus nicht für etwaige Schäden
haftbar gemacht werden können. Wir behalten uns das Recht vor, Änderungen
an diesen Anwendungsbeispiele jederzeit ohne Ankündigung durchzuführen. Bei
Abweichungen zwischen den Vorschlägen in diesem Anwendungsbeispiel und
anderen Siemens Publikationen, wie z. B. Katalogen, hat der Inhalt der anderen
Dokumentation Vorrang.

Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine


Gewähr.
Unsere Haftung, gleich aus welchem Rechtsgrund, für durch die Verwendung der
in diesem Applikationsbeispiel beschriebenen Beispiele, Hinweise, Programme,
Projektierungs- und Leistungsdaten usw. verursachte Schäden ist ausgeschlossen,
soweit nicht z. B. nach dem Produkthaftungsgesetz in Fällen des Vorsatzes, der
groben Fahrlässigkeit, wegen der Verletzung des Lebens, des Körpers oder der
 Siemens AG 2016 All rights reserved

Gesundheit, wegen einer Übernahme der Garantie für die Beschaffenheit einer
Sache, wegen des arglistigen Verschweigens eines Mangels oder wegen
Verletzung wesentlicher Vertragspflichten zwingend gehaftet wird. Der Schadens-
ersatz wegen Verletzung wesentlicher Vertragspflichten ist jedoch auf den
vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz oder
grobe Fahrlässigkeit vorliegt oder wegen der Verletzung des Lebens, des Körpers
oder der Gesundheit zwingend gehaftet wird. Eine Änderung der Beweislast zu
Ihrem Nachteil ist hiermit nicht verbunden.
Weitergabe oder Vervielfältigung dieser Anwendungsbeispiele oder Auszüge
daraus sind nicht gestattet, soweit nicht ausdrücklich von der Siemens AG
zugestanden.

Security- Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an,
hinweise die den sicheren Betrieb von Anlagen, Lösungen, Maschinen, Geräten und/oder
Netzwerken unterstützen. Sie sind wichtige Komponenten in einem
ganzheitlichen Industrial Security-Konzept. Die Produkte und Lösungen von
Siemens werden unter diesem Gesichtspunkt ständig weiterentwickelt. Siemens
empfiehlt, sich unbedingt regelmäßig über Produkt-Updates zu informieren.
Für den sicheren Betrieb von Produkten und Lösungen von Siemens ist es
erforderlich, geeignete Schutzmaßnahmen (z. B. Zellenschutzkonzept) zu
ergreifen und jede Komponente in ein ganzheitliches Industrial Security-Konzept
zu integrieren, das dem aktuellen Stand der Technik entspricht. Dabei sind auch
eingesetzte Produkte von anderen Herstellern zu berücksichtigen.
Weitergehende Informationen über Industrial Security finden Sie unter
http://www.siemens.com/industrialsecurity.
Um stets über Produkt-Updates informiert zu sein, melden Sie sich für unseren
produktspezifischen Newsletter an. Weitere Informationen hierzu finden Sie
unter http://support.industry.siemens.com.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 2
Inhaltsverzeichnis

Inhaltsverzeichnis
Gewährleistung und Haftung ...................................................................................... 2
1 Aufgabe............................................................................................................... 5
1.1 Einführung ............................................................................................ 5
1.2 Anforderungen ...................................................................................... 5
2 Lösung ................................................................................................................ 6
2.1 Übersicht .............................................................................................. 6
2.2 Verfügbare Kernfunktionalität ............................................................... 7
2.3 Hard- und Software-Komponenten ...................................................... 8
2.3.1 Gültigkeit............................................................................................... 8
2.3.2 Verwendete Komponenten ................................................................... 8
3 Grundlagen ....................................................................................................... 10
3.1 Aufbau eines KUKA Industrieroboters ............................................... 10
3.2 KUKA.PLC mxAutomation.................................................................. 11
3.2.1 Überblick............................................................................................. 11
3.2.2 Bausteinbibliothek KUKA.PLC mxAutomation ................................... 12
3.2.3 Interpreter auf der KUKA Robotersteuerung ...................................... 12
3.3 Bausteinverhalten nach PLCopen Standard ...................................... 12
3.3.1 Ein- und Ausgänge der Bausteine ..................................................... 12
3.3.2 Gekettete Ausführung von Bibliotheksbausteinen ............................. 13
 Siemens AG 2016 All rights reserved

4 Programmerstellung ........................................................................................ 15
4.1 Kopplung von KUKA Roboter und SIMATIC S7 ................................ 15
4.1.1 Roboter als PROFINET-Device ......................................................... 15
4.1.2 GSDML-Datei des Roboters installieren ............................................ 15
4.1.3 Roboter in die Hardware-Konfiguration einbinden ............................. 15
4.1.4 SIMATIC S7 und Roboter verbinden .................................................. 17
4.1.5 Mehrere Roboter über eine SIMATIC S7 ansteuern .......................... 17
4.2 Bausteinbibliothek importieren ........................................................... 18
4.2.1 Bausteinbibliothek entpacken ............................................................ 18
4.2.2 Bausteinbibliothek öffnen ................................................................... 18
4.2.3 Bausteine in das Anwenderprogramm übertragen ............................ 18
4.3 Grundlegender Programmaufbau ...................................................... 19
4.3.1 Konzept .............................................................................................. 19
4.3.2 Gliederung des Programms ............................................................... 20
4.3.3 Daten vom Roboter lesen................................................................... 20
4.3.4 Daten in der SIMATIC S7 verarbeiten ................................................ 21
4.3.5 Daten zum Roboter schreiben ........................................................... 21
4.4 Basisfunktionen programmieren ........................................................ 21
4.4.1 Roboter einschalten ........................................................................... 21
4.4.2 Roboter initialisieren ........................................................................... 23
4.4.3 Roboterstatus abfragen ...................................................................... 24
4.4.4 Robotermeldungen quittieren ............................................................. 27
4.4.5 Roboterposition auslesen ................................................................... 28
4.4.6 Geschwindigkeits-Override setzen ..................................................... 30
4.5 Bewegungsfunktionen programmieren .............................................. 30
4.5.1 Bewegungsarten ................................................................................ 30
4.5.2 Koordinatendefinition .......................................................................... 31
4.5.3 Punkt-zu-Punkt-Bewegung (PTP) ...................................................... 32
4.5.4 Lineare Bewegung ............................................................................. 33
4.5.5 Zirkulare Bewegung ........................................................................... 34
4.5.6 Bewegungsfunktionen Überschleifen ................................................. 35
4.5.7 Orientierungsführung .......................................................................... 36
4.5.8 Roboterachsen manuelle bewegen (JOG) ......................................... 36

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 3
Inhaltsverzeichnis

4.6 Zusammenfassendes Programmbeispiel ........................................... 38


4.6.1 Vollständige Programmübersicht ....................................................... 38
4.6.2 Detailansicht der Roboteransteuerung ............................................... 39
4.6.3 Detailansicht der Bewegungsansteuerung ......................................... 40
5 Zusätzliche Funktionen ................................................................................... 42
5.1 Werkzeugansteuerung (Greifer) ......................................................... 42
5.1.1 Ansteuerung über den Roboter-Controller ......................................... 42
5.1.2 Direkte Ansteuerung über die SIMATIC S7 ....................................... 42
5.2 Safety Integrated ................................................................................ 43
5.2.1 Komponenten ..................................................................................... 43
5.2.2 Funktionalität ...................................................................................... 44
5.2.3 Ansteuerung ....................................................................................... 44
5.3 PROFIenergy ..................................................................................... 44
5.4 Robotermeldungen im Klartext empfangen........................................ 45
5.4.1 Funktionsweise ................................................................................... 46
5.4.2 Programmierung ................................................................................. 46
6 Anhang.............................................................................................................. 48
6.1 Koordinatensysteme........................................................................... 48
6.1.1 Übersicht ............................................................................................ 48
6.1.2 Ursprungskoordinatensystem der Anlage (WORLD) ......................... 48
6.1.3 Basiskoordinatensystem des Roboters (ROBROOT) ........................ 49
6.1.4 Werkstückkoordinatensystem (BASE) ............................................... 49
6.1.5 Werkzeugkoordinatensystem (TOOL) ................................................ 50
 Siemens AG 2016 All rights reserved

6.2 Koordinatendefinition .......................................................................... 50


6.2.1 Roboterachsen ................................................................................... 50
6.2.2 Achskoordinaten ................................................................................. 51
6.2.3 Kartesische Koordinaten .................................................................... 51
6.2.4 Zusatzdaten „Status“ und „Turn“ ........................................................ 51
6.2.5 Singularitäten ..................................................................................... 54
6.2.6 Roboter-Bezugspunkt (TCP) .............................................................. 54
7 Literaturhinweise ............................................................................................. 55
8 Ansprechpartner .............................................................................................. 56
8.1 SIEMENS Robotik Support ................................................................ 56
8.2 KUKA Roboter GmbH ........................................................................ 56
8.3 Hotline der KUKA Roboter GmbH ...................................................... 57
8.4 Vertrieb für KUKA.PLC mxAutomation ............................................... 57
9 Historie.............................................................................................................. 57

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 4
1 Aufgabe
1.1 Einführung

1 Aufgabe
1.1 Einführung
Industrieroboter gelangen zu immer größerer Beliebtheit. Sie werden heutzutage
verstärkt in Maschinen und Anlage eingesetzt. Ihre standardisierte Mechanik ist
ausgereift und hoch flexibel in den möglichen Bewegungen, so dass immer häufi-
ger ein Roboter anstelle einer teuren Spezial-Mechanik eingesetzt wird. Damit ist
auch eine Produktion ab Losgröße eins ohne teure Umbauten an Maschinen und
Anlagen möglich.
Leider handelt es sich jedoch in der Regel bei der Anlagensteuerung und dem
Roboter-Controller um zwei unterschiedliche Systeme. Die Kommunikation zwi-
schen den beiden Steuerungen findet meist nur auf der Bit-Ebene statt und die
Bewegungsprogramme des Roboters sind auf dem Roboter-Controller fest hinter-
legt und können von der Anlagensteuerung nur abgerufen werden. Eine flexible
Reaktion des Roboters auf spezielle Anlagenereignisse ist somit relativ schwer
realisierbar.
Weiterhin unterscheidet sich die Programmierung der Anlagensteuerung und des
Roboters meist sehr stark voneinander, so dass die Betreuung beider Systeme in
der Regel nicht von einer Person durchgeführt werden kann. Schnittstellen- und
Abstimmungsprobleme sind damit vorprogrammiert.
 Siemens AG 2016 All rights reserved

1.2 Anforderungen
Eine vollständige Integration der Ansteuerung und der Bewegungsführung des
Roboters in die Maschinen- und Anlagensteuerung soll die Nutzung eines Indus-
trieroboters in einer Produktionsanlage vereinfachen und flexibler gestalten.

Folgende Anforderungen werden an die Automatisierungsaufgabe gestellt:


 Der Roboter soll vollständig über die Maschinen- und Anlagensteuerung (PLC)
programmier- und steuerbar sein.
 Die Roboterbedienung kann über das gleiche HMI der PLC bzw. der Maschine
erfolgen (Single Point of Operation)
 Die Roboterdiagnose soll vollständig über die PLC möglich sein.
 Weiterführende Funktionen, wie Safety Integrated und PROFIenergy, sollen
integrierbar und über die PLC ansteuerbar sein.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 5
2 Lösung
2.1 Übersicht

2 Lösung
2.1 Übersicht
Über eine SIMATIC S7-1500 Steuerung soll ein KUKA Industrieroboter vollständig
angesteuert und bedient werden. Dazu wird die Bausteinbibliothek KUKA.PLC
mxAutomation im TIA Portal genutzt, die alle dazu erforderlichen Funktionsbau-
steine bereitstellt.
Die Kommunikation zwischen der SIMATIC S7-1500 Steuerung und dem KUKA
Industrieroboter erfolgt über eine PROFINET-Verbindung. Über diese Verbindung
werden alle Kommandos und Statusinformationen zwischen der SIMATIC-Steu-
erung und dem Roboter ausgetauscht.

Hinweis Über eine SIMATIC S7-1500 Steuerung können mit Hilfe der Bausteinbibliothek
KUKA.PLC mxAutomation im TIA Portal bis zu fünf KUKA Industrieroboter
gleichzeitig angesteuert werden.
Das hier vorgestellte Anwendungsbeispiel beschränkt sich jedoch auf die Kopp-
lung eines Roboters an eine SIMATIC S7-1500.
 Siemens AG 2016 All rights reserved

Schema
Die folgende Abbildung zeigt schematisch die wichtigsten Komponenten der
Lösung:

Abbildung 2-1 Schematische Übersicht des Anwendungsbeispiels

SIMATIC CPU
S7-1516

KR 6 R900 SIXX
(KR AGILUS)

KR C4 compact

PROFINET IE

Die SIMATIC-Steuerung übernimmt die vollständige Ansteuerung des KUKA Indus-


trieroboters über die Bausteinbibliothek KUKA.PLC mxAutomation.
Der KUKA Industrieroboter besteht aus dem KUKA Roboter-Controller KR C4 und
der Roboter-Mechanik, dem eigentlichen Roboter. Auf dem Roboter-Controller ist
der Interpreter für die Befehle der KUKA.PLC mxAutomation Bausteinbibliothek
installiert. Der Interpreter nimmt die Befehle der SIMATIC-Steuerung entgegen und
bringt diese, inklusive der Kinematik-Transformation, auf der Roboter-Mechanik zur
Ausführung.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 6
2 Lösung
2.2 Verfügbare Kernfunktionalität

Vorteile
Die Ansteuerung eines KUKA Industrieroboters über eine SIMATIC S7-1500 Steu-
erung mit Hilfe der Bausteinbibliothek KUKA.PLC mxAutomation im TIA Portal
bietet folgende Vorteile:
 Für die Kopplung des Roboters mit der SIMATIC-Steuerung ist nur eine
PROFINET-Verbindung notwendig.
 Einfache Einbindung des Roboters im TIA Portal in der Hardwarekonfiguration
der SIMATIC-Steuerung über eine GSDML-Datei.
 Möglichkeit der vollständigen Bedienbarkeit der wichtigsten Roboterfunktionen
über die SIMATIC-Steuerung durch die Befehle der Bibliothek KUKA.PLC
mxAutomation.
 Möglichkeit zur Beauftragung von ereignisgesteuerten Roboterbewegungen in
Abhängigkeit des Zustands der an der SIMATIC-Steuerung angeschlossenen
Sensorik.
 Bedienung und Diagnose der Maschine bzw. der Anlage und des Roboters
über ein gemeinsames HMI.

Abgrenzung
Das hier beschriebene Anwendungsbeispiel stellt die Nutzung der Bausteinbiblio-
thek KUKA.PLC mxAutomation im TIA Portal exemplarisch vor und zeigt auf,
welche Roboterfunktionen mit Hilfe der Funktionsbausteine über die SIMATIC-
 Siemens AG 2016 All rights reserved

Steuerung angesteuert werden können.


Das Anwendungsbeispiel soll Ihnen die grundlegenden Funktionen und Möglich-
keiten der Bausteinbibliothek KUKA.PLC mxAutomation im TIA Portal nahe bringen
und Ihnen eine Hilfestellung bei der Entscheidungsfindung und Planung von eige-
nen Projekten und Anwenderprogrammen mit einem KUKA Industrieroboter bieten.
Eine Ausführliche Beschreibung der Funktionen und der Anwendung der Baustein-
bibliothek KUKA.PLC mxAutomation erhalten Sie über die KUKA-Dokumentationen
zur Bibliothek KUKA.PLC mxAutomation, die in der Literaturliste dieser Dokumen-
tation genannt sind oder über die Web-Seite der KUKA Roboter GmbH verfügbar
sind.

Vorausgesetzte Kenntnisse
Grundlegende Kenntnisse zur Erstellung eines Anwenderprogramms auf der
SIMATIC S7-1500 im TIA Portal oder der Aufbau der Hardwarekonfiguration
werden in diesem Anwendungsbeispiel nicht vermittelt, sondern werden voraus-
gesetzt.
Außerdem stellt dieses Anwendungsbeispiel keine Einführung in die Robotertech-
nik dar. Grundlegende Kenntnisse zur Anwendung und den Möglichkeiten eines
Industrieroboters werden ebenfalls vorausgesetzt.

2.2 Verfügbare Kernfunktionalität


Die Bausteinbibliothek KUKA.PLC mxAutomation verfügt im Überblick über
folgende Funktionen:
 Administrative Funktionen:
Einschalten des Roboters, Abfrage des aktuellen Roboter-Status, Lesen und
Schreiben von Werkzeug- und Basisdaten, Nutzung der Peripherie des
Roboter-Controllers, sowie Lesen und Schreiben der Endschalter-Daten.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 7
2 Lösung
2.3 Hard- und Software-Komponenten

 Bewegungsprogrammierung:
Verfahren der Roboter-Kinematik auf Geraden, Kreisbögen oder geschwindig-
keitsoptimierten Bewegungsbahnen. Bewegung der Roboterachsen im Tipp-
Betrieb.
 Programmablaufkontrolle:
Unterbrechen, Fortsetzen oder Abbrechen von Roboterprogrammen, die auf
dem Roboter-Controller fest hinterlegt sind.
 Interrupt-Programmierung:
Interrupts auf dem Roboter-Controller, definieren, aktivieren bzw. deaktivieren
und abfragen des aktuellen Status.
 Bahnbezogene Schaltaktionen:
Triggerbedingungen für bahnbezogene bzw. entfernungsbezogene Schaltfunk-
tionen auf dem Roboter-Controller definieren und aktivieren.
 Diagnosefunktionen:
Auslesen von Fehlermeldungen, Diagnosesignalen und des Roboter-Status.
 Sonderfunktionen:
Stützpunkte im Roboter-Controller teachen und ablegen, Bremsentest durch-
führen und Systemwerte lesen und schreiben.

ACHTUNG Nutzung der bei der Bedienung des Roboters über ein gemeinsames HMI
ohne Anwendung des KUKA Programmierhandgerät smartPAD.
 Siemens AG 2016 All rights reserved

Grundsätzlich sollte bei der Ansteuerung des KUKA Industrieroboters über eine
SIMATIC S7-1500 Steuerung mit Hilfe der Bausteinbibliothek KUKA.PLC
mxAutomation die zusätzliche Nutzung der KUKA Sicherheitsoption SafeOpe-
ration in Erwägung gezogen werden. Soll der Roboter jedoch über ein gemein-
sames HMI ohne Anwendung des KUKA Programmierhandgeräts smartPAD im
JOG-Betrieb verfahren werden, muss die KUKA Sicherheitsoption SafeOperation
zwingend genutzt werden.
Weiterführende Informationen zur KUKA Sicherheitsoption SafeOperation er-
halten Sie in Kapitel 5.2 dieser Dokumentation oder über die Hotline der KUKA
Roboter GmbH.

2.3 Hard- und Software-Komponenten


2.3.1 Gültigkeit

Diese Applikation ist gültig für


 STEP 7 ab TIA Portal V13 SP1
 S7-1500 ab Firmware-Version V1.5
 Bausteinbibliothek KUKA.PLC mxAutomation ab Version V2.0.2

2.3.2 Verwendete Komponenten

Die Applikation wurde mit den nachfolgenden Komponenten erstellt:

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 8
2 Lösung
2.3 Hard- und Software-Komponenten

Hardware-Komponenten
Tabelle 2-1 SIEMENS Komponenten
Komponente Anz. Artikelnummer Hinweis
SIMATIC CPU 1 6ES7 516-3AN00-0AB0 Firmware-Version: V1.5
S7-1516

Tabelle 2-2 KUKA Komponenten


Komponente Anz. Artikelnummer Hinweis
KR C4 compact 1 Roboter-Controller
mit Firmware V8.3
KR 6 R900 SIXX 1 Roboter
(KR AGILUS)

Software-Komponenten
Tabelle 2-3 SIEMENS Komponenten
Komponente Anz. Artikelnummer Hinweis
TIA Portal V13
STEP 7 1 6ES7 822-1AE03-0YA5 Version: V13 SP1
Professional
 Siemens AG 2016 All rights reserved

Tabelle 2-4 KUKA Komponenten


Komponente Anz. Artikelnummer Hinweis
KUKA.PLC 1 00-233-923 Version: V2.0.2
mxAutomation
KUKA.Profinet 1 00-244-976 Version: V3.2
Device Damit kann der Roboter als
PROFINET-Device betrieben
werden.
oder alternativ: 1 00-244-984 Version: V3.2
KUKA.Profient Alternativ zur KUKA.Profinet
ControllerDevice Device:
Damit kann der Roboter als
PROFINET-Device oder als
Controller betrieben werden.
KUKA GSD-Datei 1 Version: V2.25
für KR C4 Erstelldatum: 08.08.2013
mit Firmware V8.3

Beispieldateien und Projekte


Die folgende Liste enthält alle Dateien und Projekte, die in diesem Beispiel
verwendet werden.

Tabelle 2-5
Komponente Hinweis
109482123_S7-1500_KUKA_ Dieses Dokument.
mxAutomation_DOKU_v10_de.pdf

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 9
3 Grundlagen
3.1 Aufbau eines KUKA Industrieroboters

3 Grundlagen
Dieses Kapitel soll Ihnen grundlegende Funktionen und Hintergründe für die
Nutzung eines KUKA Industrieroboters im Zusammenhang mit der Bausteinbiblio-
thek KUKA.PLC mxAutomation vermitteln.

3.1 Aufbau eines KUKA Industrieroboters


Ein KUKA Industrieroboter besteht im Allgemeinen aus folgenden Komponenten

Abbildung 3-1 Aufbau eines KUKA Industrieroboters


 Siemens AG 2016 All rights reserved

Tabelle 3-1 Aufbau eines KUKA Industrieroboters


Nr. Komponente Funktion
1 Manipulator Der Manipulator stellt die eigentliche
Roboter-Mechanik, d.h. die Kinematik
dar, die die beauftragten Befehle aus-
führt.
2 Programmierhandgerät smartPAD Über das Programmierhandgerät
3 Verbindungsleitung/smartPAD smartPAD können Einstellungen auf
der Robotersteuerung eingegeben und
überpürft werden. Ebenso kann der
Roboter über das Programmierhand-
gerät manuell und automatisch bewegt
werden.
4 Robotersteuerung Die Robotersteuerung koordiniert die
5 Verbindungsleitung/Datenleitung Bewegungen des Roboters. In dieser
Steuerung wird die Koordinatentrans-
6 Verbindungsleitung/Motorleitung formation für die Roboterbewegungen
gerechnet und es wird die Ansteuerung
der Achsmotoren des Roboters vorge-
nommen.
Die Robotersteuerung kann auch die
Leistungsteile für die Achsmotoren des
Roboters enthalten.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 10
3 Grundlagen
3.2 KUKA.PLC mxAutomation

3.2 KUKA.PLC mxAutomation


3.2.1 Überblick

Die nachfolgende Grafik gibt einen funktionalen Überblick über das Funktionspaket
KUKA.PLC mxAutomation.

Abbildung 3-2 Funktionsüberblick zu KUKA.PLC mxAutomation

Lesen des Prozessabbilds

Funktionsbausteine des Anwenderprogramms

Lesen der Achswerte

mxA-Bibliotheksbaustein

mxA-Bibliotheksbaustein

Schreiben der Achswerte


 Siemens AG 2016 All rights reserved

KUKA.PLC mxAutomation (Bibliothek)

Funktionsbausteine des Anwenderprogramms

Schreiben des Prozessabbilds

Feldbus
SIMATIC Interface
PLC
PROFINET IE

Feldbus
Interface

Lesen der
Anweisungen

Schreiben Lesen Bahnberechnung


Befehls- Programm- Aktionen
puffer speicher

KUKA.PLC mxAutomation (Interpreter) Ausführen der


Anweisungen

KUKA
Roboter-Controller KR C4

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 11
3 Grundlagen
3.3 Bausteinverhalten nach PLCopen Standard

Das Optionspaket für einen KUKA Industrieroboter KUKA.PLC mxAutomation be-


steht aus zwei Teilen:
 Einer Bausteinbibliothek für die Ansteuerung eines KUKA Industrieroboters
von einer SIMATIC-Steuerung.
 Einem Interpreter auf der Robotersteuerung, der die Befehle der Funktionsbau-
steine aus der SIMATIC-Steuerung interpretiert und an die Bahnplanung des
Roboters weitergibt.

3.2.2 Bausteinbibliothek KUKA.PLC mxAutomation

Die Bausteinbibliothek KUKA.PLC mxAutomation stellt verschiedene Bausteine zur


Ansteuerung eines KUKA Industrieroboters zur Verfügung. Die gewünschten Funk-
tionen des KUKA Roboters können durch einfachen Aufruf des entsprechenden
Bausteins aus der Bausteinbibliothek angesteuert werden.
Durch den Aufruf eines Funktionsbausteins aus der Bausteinbibliothek werden die
entsprechenden Kommandos an die KUKA Robotersteuerung übertragen und dort
interpretiert.

3.2.3 Interpreter auf der KUKA Robotersteuerung

Der Interpreter auf der KUKA Robotersteuerung nimmt die Kommandos der Funk-
tionsbausteine aus der Bausteinbibliothek KUKA.PLC mxAutomation in der Robo-
tersteuerung entgegen und legt diese in einem Pufferspeicher ab. Aus dem Puffer-
 Siemens AG 2016 All rights reserved

speicher werden dann die Kommandos zum entsprechenden Zeitpunkt an die


Bahnplanung des Roboters weitergegeben, so dass der Roboter die über die
SIMATIC Steuerung beauftragten Funktionen ausführt.

3.3 Bausteinverhalten nach PLCopen Standard


Die Funktionsbausteine der Bausteinbibliothek KUKA.PLC mxAutomation sind in
ihrem Verhalten an den PLCopen Standard angelehnt.

3.3.1 Ein- und Ausgänge der Bausteine

Die Bausteine der Bausteinbibliothek KUKA.PLC mxAutomation verfügen grund-


sätzlich über folgende Ein- und Ausgänge:

Abbildung 3-3 Beispiel eines Bausteins der Bausteinbibliothek KUKA.PLC mxAutomation

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 12
3 Grundlagen
3.3 Bausteinverhalten nach PLCopen Standard

Tabelle 3-2 Bausteinschnittstellen angelehnt an den PLCopen Standard


Schnittstelle Funktion
Eingänge
AxisGroupIdx Auswahl des anzusteuernden Roboters.
ExecuteCmd Start der Funktion über eine steigende
Flanke am Eingang des Bausteins.
Ausgänge
Busy Die über den Funktionsbaustein beauftragte
Roboterfunktion wurde an die Robotersteu-
erung übertragen.
Active Die über den Funktionsbaustein beauftragte
Bewegung befindet sich aktuell in der Aus-
führung durch den Roboter.
Done Die Ausführung der Bewegung durch den
Roboter wurde erfolgreich beendet.
Aborted Die Ausführung des Funktionsbausteins
bzw. die Bewegung wurde abgebrochen.
Error Bei der Ausführung des Funktionsbausteins
ist ein Fehler aufgetreten.
ErrorID Fehlercode zur genauen Spezifikation der
Fehlerursache.
 Siemens AG 2016 All rights reserved

3.3.2 Gekettete Ausführung von Bibliotheksbausteinen

Mit einer steigenden Flanke am Eingang ExecuteCmd wird vom ausgewählten


Funktionsbaustein das Kommando zur Ausführung der gewünschten Roboterfunk-
tion an die Robotersteuerung übertragen. Diese Übertragung wird über den Aus-
gang Busy des Funktionsbausteins an das Anwenderprogramm zurückgemeldet.
Sollen mehrere Funktionsbausteine der Bausteinbibliothek hintereinander ausge-
führt werden, können diese in kurzer Folge an die Robotersteuerung übertragen
werden. Immer wenn ein über eine steigende Flanke gestarteter Funktionsbaustein
den Ausgang Busy setzt, wurde das Kommando an die Robotersteuerung über-
tragen und der nächste Funktionsbaustein kann gestartet werden.
Sollte der Ausgang Busy des gestarteten Funktionsbausteins nicht gesetzt werden,
ist entweder der Pufferspeicher auf der Robotersteuerung voll und das Anwender-
programm muss die Abarbeitung von beauftragten Kommandos durch den Roboter
abwarten, oder die Bearbeitung des Funktionsbausteins wurde durch einen Fehler
oder durch den Start eines anderen Funktionsbausteins abgebrochen.
Aufgetretene Fehler werden durch die Funktionsbausteine über den Ausgang Error
an das Anwenderprogramm zurückgemeldet. Abbrüche bzw. Ablösung der Bau-
steinbearbeitung durch den Start eines anderen Funktionsbausteins werden über
den Ausgang Aborted gemeldet.

Beispiel für den geketteten Aufruf von Funktionsbausteinen


In der folgenden Grafik ist beispielhaft der Aufruf von vier Bewegungsfunktionen
über die Funktionsbausteine der Bausteinbibliothek, z.B. den Funktionsbaustein
KRC_MoveLinearAbsolute, dargestellt, die in der Robotersteuerung gepuffert und
nacheinander ausgeführt werden.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 13
3 Grundlagen
3.3 Bausteinverhalten nach PLCopen Standard

Abbildung 3-4 Signalabfolge für den geketteten Aufruf von Funktionsbausteinen


1
Execute
Zeit
Busy
Bewegung Zeit
1 Active 4
Zeit
Done
2 Zeit

Execute
3 Zeit
Busy
5
Bewegung Zeit
2 Active 4
Zeit
Done
2 Zeit

Execute
3 Zeit
Busy
Bewegung Zeit
3 Active 4
Zeit
Done
2 Zeit

Execute
3 Zeit
Busy
Bewegung Zeit
4 Active 4
Zeit
Done
6 Zeit
 Siemens AG 2016 All rights reserved

Tabelle 3-3 Erläuterung der Signalabfolge


Nr. Erläuterung
1 Mit einer steigenden Flanke am Execute-Eingang der ersten Bewegungsfunktion
wird die Bewegungsfolge gestartet.
2 Sobald die Bewegungsfunktion Busy meldet, kann die nächste Bewegungsfunk-
tion mit einer steigenden Flanke am Eingang Execute gestartet werden.
3 Durch die Pufferung der Bewegungsfunktion in der Robotersteuerung wird die
Bewegung jeweils aktiv, sobald die vorherige Bewegungsfunktion beendet ist.
4 Meldet die Bewegungsfunktion Done, wurde die Bewegung vollständig ausgeführt
und der Eingang Execute kann zurückgenommen werden.
5 Kann der Auftragspuffer in der Robotersteuerung keine weiteren Aufträge mehr
entgegennehmen, wird das Busy-Signal solange verzögert, bis wieder neue Auf-
träge an die Robotersteuerung übergeben werden können.
6 Mit dem Done-Signal der letzten Bewegungsfunktion der Kette ist die Bewegungs-
folge vollständige abgearbeitet.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 14
4 Programmerstellung
4.1 Kopplung von KUKA Roboter und SIMATIC S7

4 Programmerstellung
Dieses Kapitel soll Ihnen grundlegend erläutern, wie Sie ein Anwenderprogramm
zur Ansteuerung eines KUKA Roboter über die Bibliothek KUKA.PLC mxAutoma-
tion aufbauen müssen.

Hinweis Genauere Informationen zur Funktion und den Parametern der Bausteine der
Bibliothek KUKA.PLC mxAutomation entnehmen Sie bitte der entsprechenden
KUKA Dokumentation.

4.1 Kopplung von KUKA Roboter und SIMATIC S7


4.1.1 Roboter als PROFINET-Device

Der KUKA Roboter wird als PROFINET IO-Device in die Hardwarekonfiguration


des TIA Portal Projekts integriert. Die Einbindung des Roboters erfolgt dabei über
eine zusätzlich in das TIA Portal zu integrierende GSDML-Datei, die die Hardware-
Beschreibung des Roboters und die möglichen Datentelegramme für den Daten-
austausch zwischen SIMATIC-Steuerung und Roboter enthält.
 Siemens AG 2016 All rights reserved

4.1.2 GSDML-Datei des Roboters installieren

Die GSDML-Datei des Roboters wird in der Regel zusammen mit dem Roboter
bzw. mit der Roboter-Dokumentation geliefert oder kann über den KUKA Service
bezogen werden.
Die GSDML-Datei kann dann über die Management-Funktion für GSD-Dateien in
das TIA Portal eingebunden werden.

Abbildung 4-1 GSDML-Datei importieren

4.1.3 Roboter in die Hardware-Konfiguration einbinden

Nach der Einbindung der GSDML-Datei in das TIA Portal kann der KUKA Roboter-
Controller KR C4 in der entsprechenden Firmware-Version in die Hardware-Konfi-
guration des TIA Portals per Drag & Drop eingebunden werden.
Über einen Doppelklick auf den Roboter-Controller in der Hardware-Konfiguration
können die Komponenten für den Datenaustausch mit der SIMATIC-Steuerung
weiter konfiguriert werden.
Damit die für die Ansteuerung des Roboters durch die SIMATIC-Steuerung not-
wendigen Daten ausgetauscht werden können, muss in der Hardware-Konfigura-
tion noch das notwendige Datenaustauschtelegramm mit dem Roboter-Controller

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 15
4 Programmerstellung
4.1 Kopplung von KUKA Roboter und SIMATIC S7

projektiert werden. Dazu muss mindestens das Telegramm für 256 digitale Ein-
und Ausgänge per Drag & Drop aus der Telegrammauswahl in die Komponente
Roboter-Controller der Hardware-Konfiguration integriert werden.

Abbildung 4-2 Auswahl des KUKA Roboters aus dem Hardware-Katalog


 Siemens AG 2016 All rights reserved

Abbildung 4-3 Datenaustausch zwischen SIMATIC-Steuerung und Roboter

Abbildung 4-4 Datentelegramm

Hinweis Optional können hier auch zusätzliche Telegramme bzw. Telegrammerwieterun-


gen für optionale Funktionen, wie z.B. Safety Integrated, ebenfalls gleich in den
Roboter-Controller integriert werden.
Die zusätzlichen Telegramme werden ebenfalls per Drag&Drop in der Hardware-
Konfiguration des TIA Portals in den Roboter-Controller integriert.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 16
4 Programmerstellung
4.1 Kopplung von KUKA Roboter und SIMATIC S7

4.1.4 SIMATIC S7 und Roboter verbinden

Abschließend müssen der Roboter-Controller und die SIMATIC-Steuerung noch


per PROFINET-Verbindung miteinander verbunden werden. Dazu sind geeignete
IP-Adressen an den einzelnen Geräten bzw. in der Hardware-Konfiguration zu
vergeben.
Optional kann hier auch ein HMI-Gerät in die Konfiguration mit eingebunden wer-
den, über das die Roboterfunktionen angesteuert und überwacht werden können.

Abbildung 4-5 Verbindung von Roboter, SIMATIC-Steuerung und HMI


 Siemens AG 2016 All rights reserved

4.1.5 Mehrere Roboter über eine SIMATIC S7 ansteuern

Über eine geeignete SIMATIC-Steuerung können mit Hilfe der Bausteinbibliothek


KUKA.PLC mxAutomation im Standardausbau bis zu fünf KUKA Roboter getrennt
voneinander angesteuert werden.
In dem mit der Bausteinbibliothek KUKA.PLC mxAutomation mitgelieferten Daten-
baustein sind dafür fünf Daten-Arrays für den Datenaustausch zwischen SIMATIC-
Steuerung und Roboter vorgesehen.
Die Zuordnung der Daten zum entsprechenden Roboter erfolgt über die definierten
Telegrammadressen im IO-Bereich der SIMATIC-Steuerung, wie sie in der Hard-
ware-Konfiguration festgelegt wurden.
Die Zuordnung der Funktionsbausteine, bzw. der Roboterfunktionen zu den einzel-
nen Robotern im Anwenderprogramm erfolgt über den Eingang AxisGroupIdx der
Bausteine, der den Index des Datenarrays im Datenbaustein MxADBRobots reprä-
sentiert.
Diese Funktionalität wird jedoch in den nachfolgenden Kapiteln noch ausführlich
erläutert.

Abbildung 4-6 Datenpool für 5 Roboter im Datenbaustein MxADBRobots

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 17
4 Programmerstellung
4.2 Bausteinbibliothek importieren

4.2 Bausteinbibliothek importieren


4.2.1 Bausteinbibliothek entpacken

Bevor Sie die Bausteinbibliothek KUKA.PLC mxAutomation in Ihrem Anwenderpro-


gramm nutzen können, müssen die Funktionsbausteine der Bausteinbibliothek in
Ihr TIA Portal Projekt übernommen werden.
Die Bausteinbibliothek KUKA.PLC mxAutomation für das TIA Portal wird als
globale Bibliothek ausgeliefert, aus der per Drag&Drop alle Funktionsbausteine der
Bausteinbibliothek in ein TIA Portal Projekt übernommen werden können.
Um die globale Bibliothek für das TIA Portal nutzbar zu machen, entpacken Sie
bitte das Archiv der globalen Bibliothek an einem geeigneten Ort auf der Festplatte
Ihres Programmiergeräts.

Hinweis Die Bausteinbibliothek KUKA.PLC mxAutomation für das TIA Portal kann über
den Service, bzw. die Hotline der KUKA Roboter GmbH angefordert werden.

4.2.2 Bausteinbibliothek öffnen


 Siemens AG 2016 All rights reserved

Nach dem Entpacken können Sie die globale Bibliothek über die Zugriffsfunktionen
des TIA Portals öffnen.

Abbildung 4-7 Bausteinbibliothek öffnen

Die Bausteinbibliothek KUKA.PLC mxAutomation ist als Kopiervorlage in der glo-


balen Bibliothek gespeichert

4.2.3 Bausteine in das Anwenderprogramm übertragen

Die Übertragung der Bausteinbibliothek KUKA.PLC mxAutomation in Ihr Anwen-


derprogramm erfolgt durch einfaches Drag&Drop aus der globalen Bibliothek.
Dabei müssen sowohl die notwendigen PLC-Datentypen, als auch die Funktions-
bausteine in Ihr TIA Portal Projekt übertragen werden.
 Ziehen Sie zuerst das in den Kopiervorlagen der globalen Bibliothek unter PLC
data types enthaltene Objekt auf den Ordner PLC-Datentypen in Ihrem Projekt.
Dort wird automatisch ein Unterordner angelegt, in dem alle PLC-Datentypen
der Bausteinbibliothek KUKA.PLC mxAutomation enthalten sind.
 Ziehen Sie danach das unter Program blocks enthaltene Objekt in den Ordner
Programmbausteine Ihres TIA Portal Projekts. Dort wird ebenfalls automatisch
ein Unterordner angelegt, in dem alle Funktionsbausteine der Bausteinbiblio-
thek KUKA.PLC mxAutomation enthalten sind.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 18
4 Programmerstellung
4.3 Grundlegender Programmaufbau

Abbildung 4-8 Bausteine und PLC-Datentypen in das Anwenderprogramm übertragen

Nun haben Sie alle notwendigen Datentypen und Funktionsbausteine der Bau-
steinbibliothek KUKA.PLC mxAutomation in Ihrem TIA Portal Projekt enthalten. Die
Funktionen der Bausteinbibliothek können nun in Ihrem Anwenderprogramm ver-
wendet werden.

4.3 Grundlegender Programmaufbau


 Siemens AG 2016 All rights reserved

4.3.1 Konzept

Konzeptionell lehnt sich der Datenaustausch zwischen SIMATIC-Steuerung und


KUKA Roboter mit Hilfe der Bausteinbibliothek KUKA.PLC mxAutomation an die
Funktionalität der SIMATIC-Steuerung an. Dieses Konzept muss jedoch im Anwen-
derprogramm der SIMATIC-Steuerung über die entsprechenden Bibliotheksbau-
steine realisiert werden.

Abbildung 4-9 Konzept des Datenaustauschs zwischen SIMATIC und Roboter

Main Read
Cycle Data

Function
1

Function
2

Write
Data

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 19
4 Programmerstellung
4.3 Grundlegender Programmaufbau

Im Organisationsbaustein, in dem das Roboter-Programm bearbeitet werden soll,


muss dazu als erster Baustein die Funktion zum Lesen der Roboter-Daten vom
Roboter-Controller aufgerufen werden. Als letzte Funktion im Organisationsbau-
stein ist die Funktion zum Schreiben der berechneten Daten an den Roboter-
Controller zu platzieren. Zwischen diesen beiden Bausteinen können dann die
Funktionsbausteine zur Realisierung des eigentlichen Roboter-Programms in der
SIMATIC-Steuerung platziert werden.
Für den Aufruf des Roboter-Programms in der SIMATIC-Steuerung ist in der Regel
die Nutzung des Standard-Organisationsbausteins (Main Cycle bzw. OB 1) aus-
reichend.

4.3.2 Gliederung des Programms

Zur Gliederung eines Anwenderprogramms für die Ansteuerung eines KUKA


Industrieroboters unter Nutzung der Bausteinbibliothek KUKA.PLC mxAutomation
kann folgende Empfehlung gegeben werden:
 Für jeden Roboter, der über die SIMATIC-Steuerung angesteuert werden soll,
sollte ein eigener Funktionsbaustein genutzt werden, der im Programmzyklus-
OB (OB 1) aufgerufen wird.
 Innerhalb des Funktionsbausteins eines Roboters sollte im ersten Netzwerk
der Baustein für das Lesen der Roboterdaten und im letzten Netzwerk der
 Siemens AG 2016 All rights reserved

Baustein für das Schreiben der Roboterdaten aufgerufen werden.


 Die dazwischenliegenden Aufrufe der anderen Funktionsbausteine der
Bausteinbibliothek KUKA.PLC mxAutomation können dann ebenfalls noch in
weitere funktional gegliederte Funktionsbausteine aufgeteilt werden.
 Alle Aufrufe der Bausteine aus der Bibliothek KUKA.PLC mxAutomation sollten
als Multiinstanz-Aufrufe in den aufrufenden Bausteinen ausgeführt werden.

4.3.3 Daten vom Roboter lesen

Der Baustein KRC_ReadAxisGroup (FB 953) aus der Bibliothek KUKA.PLC


mxAutomation erlaubt das Einlesen der Daten aus dem Roboter-Controller in die
interne Datenhaltung der Bausteinbibliothek KUKA.PLC mxAutomation.

Abbildung 4-10 Daten vom Roboter lesen

Damit werden die Daten des Roboters bzw. des Roboter-Controllers dem Anwen-
derprogramm in der SIMATIC-Steuerung für die weiteren Bausteine aus der
Bibliothek KUKA.PLC mxAutomation zur Verfügung gestellt.
Über den Eingang AxisGroupIdx, der dem Index des Datenarrays im Datenbau-
stein MxADBRobots entspricht, und den Eingang InputStartByte, an dem die Tele-
grammadresse des Roboters aus dem IO-Bereich der SIMATIC-Steuerung dem
Baustein mitgeteilt wird, wird die Zuordnung der Daten zum entsprechenden an der
SIMATIC-Steuerung angeschlossenen Roboter hergestellt.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 20
4 Programmerstellung
4.4 Basisfunktionen programmieren

Für die Zuordnung des Roboters zu den Programmbausteinen des Roboterpro-


gramms in der SIMATIC kann danach allein der Index des Eingangs AxisGroupIdx
genutzt werden.

4.3.4 Daten in der SIMATIC S7 verarbeiten

Nach dem Einlesen der Daten aus dem Roboter-Controller können nun alle Funk-
tionsbausteine aus der Bibliothek KUKA.PLC mxAutomation genutzt und aufgeru-
fen werden. Die Bausteine verwenden dazu die eingelesenen Daten, die im Daten-
baustein MxADBRobots abgelegt sind.

4.3.5 Daten zum Roboter schreiben

Der Baustein KRC_WriteAxisGroup (FB 954) aus der Bibliothek KUKA.PLC


mxAutomation überträgt nach der Verarbeitung des Roboter-Programms in der
SIMATIC-Steuerung die Daten aus dem Datenbaustein MxADBRobots an den über
die Telegrammadresse definierten Roboter.

Abbildung 4-11 Daten zum Roboter schreiben


 Siemens AG 2016 All rights reserved

ACHTUNG Achten Sie beim Eintrag der Telegrammadressen des Roboters für Lesen
und Schreiben auf die richtige Zuordnung. Andernfalls kann es zu einem
unerwarteten Verhalten des Roboters kommen.

4.4 Basisfunktionen programmieren


4.4.1 Roboter einschalten

Das Einschalten des Roboters wird über den Baustein KRC_AutoExt durchgeführt.
Dazu müssen die Eingänge des Bausteins in einer vorgegebenen Signalfolge und
in Abhängigkeit der Bausteinausgänge bedient werden.

Hinweis Um den Roboter über die Bausteinbibliothek KUKA.PLC mxAutomation bedie-


nen zu können, muss sich die Robotersteuerung in der Betriebsart EXT befin-
den. Diese muss gegebenenfalls zuerst über den Schlüsselschalter des KUKA
SmartPad angewählt werden.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 21
4 Programmerstellung
4.4 Basisfunktionen programmieren

Abbildung 4-12 Roboter einschalten über den Funktionsbaustein KRC_AutoExt


 Siemens AG 2016 All rights reserved

Das Einschalten des Roboters über den Baustein KRC_AutoExt wird über folgende
Signalfolge durchgeführt.

Abbildung 4-13 Standard-Signalabfolge für das Einschalten des Roboters


2
MOVE_ENABLE
Zeit

4 4
CONF_MESS
Zeit

2
DRIVES_OFF
KRC_AutoExt Zeit

3 3
IN DRIVES_ON
Zeit

5
EXT_START
Zeit

1
ENABLE_EXT
Zeit

2
ALARM_STOP
Zeit

3
PERI_RDY
Zeit

KRC_AutoExt
IO_ACTCONF
Zeit
OUT
4
STOPMESS
Zeit

5
PRO_ACT
Zeit

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 22
4 Programmerstellung
4.4 Basisfunktionen programmieren

Tabelle 4-1 Erläuterung der Signalabfolge


Nr. Erläuterung
1 Um den Roboter über die Bausteinbibliothek KUKA.PLC mxAutomation bedienen
zu können, muss am Baustein KRC_AutoExt ebenfalls zuerst die Betriebsart EXT
angewählt werden. Das wird durch das Setzen des Signals ENABLE_EXT am
Funktionsbaustein erreicht.
Hinweis:
Die Umschaltung in den Roboter-Modus EXT ist nur möglich, wenn diese Be-
triebsart auch am Roboter angewählt ist.
2 Setzen Sie danach die Eingangssignale MOVE_ENABLE und DRIVES_OFF des
Bausteins.
Der Roboter reagiert auf diese Signale mit dem Setzen des Ausgangssignals
ALARM_STOP.
3 Setzen Sie dann das Eingangssignale DRIVES_ON.
Der Roboter reagiert darauf mit einer Bereitschaftsmeldung der Peripherie über
das Ausgangssignal PERI_RDY.
Sobald die Peripherie bereit ist, können Sie das Eingangssignale DRIVES_ON am
Baustein wieder zurücksetzen.
4 Quittieren Sie danach anstehende Meldungen an der Roboter-Steuerung durch
Setzen des Eingangs CONF_MESS.
Der Roboter setzt nach der Quittierung der Meldungen den Ausgang STOPMESS
des Bausteins als Rückmeldesignal.
Der Eingang CONF_MESS kann nach der Rückmeldung durch den Roboter wie-
 Siemens AG 2016 All rights reserved

der zurückgesetzt werden.


5 Starten Sie danach den Roboter durch Setzen des Signals EXT_START.
Die Robotersteuerung signalisiert die Betriebsbereitschaft und das erfolgreiche
Einschalten des Roboters durch Setzen des Ausgangssignals PRO_ACT.
Nun ist der Roboter eingeschaltet und kann über die Funktionsbausteine der
Bausteinbibliothek KUKA.PLC mxAutomation bedient werden.

Hinweis Für das Einschalten des Roboters gibt es auch einen bereits vorbereiteten
Baustein des SIEMENS Robotik Support, der über die im Anhang genannte
Adresse bezogen werden kann.

4.4.2 Roboter initialisieren

Bevor Daten zwischen der SIMATIC S7 und dem Roboter ausgetauscht werden
können, muss die Schnittstelle von KUKA.PLC mxAutomation initialisiert werden.
Die Initialisierung erfolgt durch den Aufruf des Bausteins KRC_Initialize.
Die erfolgreiche Initialisierung der Schnittstelle wird über den Ausgang Done an
das Anwenderprogramm zurückgemeldet.
Zusätzlich gibt der Baustein noch die Versionskennungen des KUKA.PLC
mxAutomation Interpreters und der Bausteinbibliothek zu KUKA.PLC
mxAutomation und die Seriennummer der Robotersteuerung zurück:
 Seriennummer der Robotersteuerung: KRC_Serial
 Interpreter-Version: KRC_Major . KRC_Minor . KRC_Revision
 Version der Bausteinbibliothek: PLC_Major . PLC_Minor . PLC_Revision

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 23
4 Programmerstellung
4.4 Basisfunktionen programmieren

Abbildung 4-14 Roboter initialisieren

4.4.3 Roboterstatus abfragen

Der Roboterstatus bzw. der aktuelle Zustand des Roboters muss über mehrere
Funktionsbausteine der Bausteinbibliothek KUKA.PLC mxAutomation ermittelt
werden.

Roboterstatus abfragen
 Siemens AG 2016 All rights reserved

Über den Funktionsbaustein KRC_ReadMXAStatus kann der aktuelle Status der


Datenschnittstelle der Bibliothek KUKA.PLC mxAutomation ermittelt werden.

Abbildung 4-15 Roboterstatus abfragen

Die Statusinformationen werden über den PLC-Datentyp MXA_STATUS an einem


Ausgang des Bausteins zurückgemeldet, der folgende Zustände annehmen kann:
 Die Funktionsbausteine der Bibliothek KUKA.PLC mxAutomation können kei-
nen Datenaustausch mit dem Roboter-Controller durchführen.
 Auf der Datenschnittstelle ist ein Fehler aktiv
 Der Interpreter auf dem Roboter-Controller ist nicht aktiv, im StandBy oder
arbeitet gerade ein Programm ab.
 Der Roboter wurde angehalten und alle Anweisungen wurden abgebrochen.

Fehlermeldungen des Roboter-Controllers auslesen


Über den Funktionsbaustein KRC_ReadKRCError kann der aktuelle Fehlerzustand
des Roboter-Controllers ermittelt werden.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 24
4 Programmerstellung
4.4 Basisfunktionen programmieren

Abbildung 4-16 Fehlermeldungen des Roboter-Controllers auslesen

Der Roboter-Controller enthält einen Meldepuffer für mehrere Fehlermeldungen.


Bis zu zehn Meldungen gleichzeitig können mit einem Aufruf des Funktionsbau-
steins KRC_ReadKRCError aus dem Meldepuffer ausgelesen werden. Zusätzlich
 Siemens AG 2016 All rights reserved

enthält der Baustein auch einen Offset-Eingang, über den die restlichen Fehlermel-
dungen jeweils in Gruppen zu zehn Meldungen ausgelesen werden können.

Hinweis Fehlermeldungen des Roboter-Controllers müssen über den Eingang


CONF_MESS des Funktionsbausteins KRC_AutoExt der Bausteinbibliothek
KUKA.PLC mxAutomation quittiert werden.

Diagnosesignale des Roboter-Controllers abfragen


Über den Funktionsbaustein KRC_Diag können verschiedene Diagnosedaten des
Roboter-Controllers, bzw. des Submit-Interpreters für die Verarbeitung der Befehle
der Funktionsbausteine aus der Bausteinbibliothek KUKA.PLC mxAutomation auf
der Roboter-Steuerung ermittelt werden.
Folgende Diagnosedaten werden durch den Funktionsbaustein in der SIMATIC-
Steuerung bereitgestellt:
 Anzahl der gepufferten Anweisungen der Funktionsbausteine aus der Bau-
steinbibliothek KUKA.PLC mxAutomation im Roboter-Controller.
 Heartbeat-Signal des Submit-Interpreters, der die Kommandos der Funktions-
bausteine aus der Bibliothek KUKA.PLC mxAutomation auf der Robotersteue-
rung verarbeitet, als Lebenszeichenüberwachung.
 Aktuelle, kürzeste, längste und mittlere Zykluszeit des Submit-Interpreters.
 Fehlernummer des Roboter-Interpreters
 Fehlernummer des Submit-Interpreters
 Fehlernummer der PLC im Roboter-Controller

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 25
4 Programmerstellung
4.4 Basisfunktionen programmieren

Abbildung 4-17 Diagnosesignale des Roboter-Controllers abfragen


 Siemens AG 2016 All rights reserved

Hinweis Dieser Funktionsbaustein darf je Roboter nur einmal aufgerufen, bzw. instanziert
werden. Wird der Baustein mehrfach aufgerufen, kann es zu Dateninkonsistenz
bei der Ausgabe kommen.

Fehlermeldungen der Schnittstelle KUKA.PLC mxAutomation auslesen


Über den Funktionsbaustein KRC_ReadMXAError kann der aktuelle Fehlerzustand
einer Achsgruppe ermittelt werden. Die Fehlerursache wird dabei über den Aus-
gang ErrorID als Fehlernummer ausgegeben.

Abbildung 4-18 Fehlermeldungen der Schnittstelle KUKA.PLC mxAutomation auslesen

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 26
4 Programmerstellung
4.4 Basisfunktionen programmieren

4.4.4 Robotermeldungen quittieren

Zur Quittierung der diversen Fehlermeldungen stehen in der Bausteinbibliothek


KUKA.PLC mxAutomation ebenfalls mehrere Funktionsbausteine zur Verfügung.

Hinweis Fehlermeldungen des Roboter-Controllers können nur quittiert werden, wenn


sich der Roboter im Stillstand befindet.

Fehlermeldungen der Schnittstelle KUKA.PLC mxAutomation quittieren


Über den Funktionsbaustein KRC_MessageReset kann der aktuelle Fehlerzustand
einer Achsgruppe der Schnittstelle KUKA.PLC mxAutomation quittiert werden.

Abbildung 4-19 Fehlermeldungen der Schnittstelle KUKA.PLC mxAutomation quittieren


 Siemens AG 2016 All rights reserved

Fehlermeldungen des Roboter-Controllers quittieren


Über den Funktionsbaustein KRC_AutomaticExternal können durch eine steigende
Flanke am Eingang CONF_MESS Fehlermeldungen des Roboter-Controllers
quittiert werden.

Abbildung 4-20 Fehlermeldungen des Roboter-Controllers quittieren

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 27
4 Programmerstellung
4.4 Basisfunktionen programmieren

Hinweis Über diesen Baustein werden auch die Leistungsteile des Roboters eingeschal-
tet und die Betriebsarten der Robotersteuerung ausgewählt.

4.4.5 Roboterposition auslesen

Für das Auslesen der aktuellen Roboterposition stehen in der Bausteinbibliothek


KUKA.PLC mxAutomation zwei unterschiedliche Funktionsbausteine zur Ver-
fügung.

Auslesen der Roboter-Achspositionen


Über den Baustein KRC_ReadActAxisPos wird zyklisch die aktuelle Position der
Roboterachsen gelesen.

Abbildung 4-21 Roboter-Achspositionen


 Siemens AG 2016 All rights reserved

Abbildung 4-22 Auslesen der Roboter-Achspositionen

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 28
4 Programmerstellung
4.4 Basisfunktionen programmieren

Über den Ausgang AxisPosition wird die Position der Roboterachsen in der defi-
nierten Struktur E6AXIS ausgegeben. Zusätzlich enthalten die Ausgänge A1 bis A6
die gleiche Information als Einzelwerte.
Die Ausgänge E1 bis E6 stellen die aktuelle Position der ebenfalls über die Robo-
tersteuerung beeinflussbaren Zusatzachsen dar.

Auslesen der Roboterposition im kartesischen Koordinatensystem


Über den Baustein KRC_ReadActualPosition wird zyklisch die aktuelle Position
des Roboters bzw. der Werkzeugspitze (TCP = Tool Center Point) im aktuell
ausgewählten kartesischen Koordinatensystem gelesen.

Abbildung 4-23 Kartesische Roboter-Positionen


 Siemens AG 2016 All rights reserved

Abbildung 4-24 Auslesen der Werkzeugposition im kartesischen Koordinatensystem

Über den Ausgang Position wird die aktuelle Position in der definierten Struktur
E6POS ausgegeben. Zusätzlich enthalten die Ausgänge X bis Z und A bis C die
gleiche Information als Einzelwerte für die Position im Raum und die Drehung um
die Koordinatenachsen. Die Werte Status und Turn dienen zur genaueren Spezifi-
kation der Roboterausrichtung an der aktuellen Position.
Über die Ausgänge Tool und Base werden zusätzlich das aktuell aktive Werkzeug
und die Nummer des aktuell ausgewählten Koordinatensystems ausgegeben.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 29
4 Programmerstellung
4.5 Bewegungsfunktionen programmieren

Hinweis Weiteführende Informationen zu den Koordinatensystemen des Roboters finden


Sie im Anhang dieses Dokuments.

4.4.6 Geschwindigkeits-Override setzen

Die wichtigste Funktion bei der Inbetriebnahme und beim manuellen Verfahren des
Roboters ist die Override-Funktion. Mit dieser Funktion kann die vorgegebene
Geschwindigkeit des Roboters zwischen 0% und 100% beeinflusst werden.

Abbildung 4-25 Baustein KRC_SetOverride

Um die Override-Funktion zu jeder Zeit nutzen zu können, empfiehlt es sich, den


Funktionsbaustein KRC_SetOverride in jedem PLC-Zyklus aufzurufen und die
 Siemens AG 2016 All rights reserved

aktuelle Override-Einstellung an den Roboter zu übertragen.

Hinweis Starten Sie neu programmierte Bewegungen des Roboters oder manuelle Ver-
fahrbewegungen stets mit reduziertem Geschwindigkeits-Override und erhöhen
Sie die Geschwindigkeit erst, wenn der Roboter die gewünschte und erwartete
Bewegung ausführt.

4.5 Bewegungsfunktionen programmieren


4.5.1 Bewegungsarten

Es gibt zwei Möglichkeiten einen Roboter zu verfahren:


 Achsspezifisches Verfahren
Die einzelnen Achsen des Roboters werden völlig unabhängig voneinander
Verfahren. Zwischen den Achsen findet keine Interpolation statt. Die Bewe-
gungsbahn des Roboters ist aus diesem Grund nur schwer vorhersagbar und
von der aktuellen Stellung der Roboterachsen abhängig. Die Bewegung wird
mit der programmierten prozentualen Maximalgeschwindigkeit der einzelnen
Achsen ausgeführt bzw. durch diese begrenzt.
 Kartesisches Verfahren
Die einzelnen Achsen des Roboters werden koordiniert zueinander über die
Koordinatentransformation verfahren, so dass sich der Bezugspunkt des
Roboters auf der vorgegebenen Bahn bewegt. Auf diese Weise kann der
Bezugspunkt des Roboters auf einer Geraden oder Kreisbahn mit Koordinaten-
vorgabe im ausgewählten Koordinatensystem verfahren werden. Ebenso ist
eine Punkt-zu-Punkt-Bewegung im Koordinatensystem möglich.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 30
4 Programmerstellung
4.5 Bewegungsfunktionen programmieren

4.5.2 Koordinatendefinition

Für das achsspezifische Verfahren muss die Zielposition der einzelnen Achsen
über den PLC-Datentyp E6AXIS angegeben werden. Für die Definition der einzel-
nen Achswerte in diesem Datentyp steht eine Funktion in der Bausteinbibliothek
KUKA.PLC mxAutomation zur Verfügung, die die Einzelpositionen der Achsen in
den PLC-Datentyp E6AXIS überführt.

Abbildung 4-26 Funktion zur Einstellung des PLC-Datentyp E6AXIS


 Siemens AG 2016 All rights reserved

Ebenso steht für das kartesische Verfahren eine Funktion zur Definition der Koordi-
natenwerte X, Y und Z und der Drehung um die Koordinatenachsen A, B und C im
PLC-Datentyp E6POS in der Bibliothek KUKA.PLC mxAutomation zur Verfügung.
Zusätzlich können in diesem Datentyp noch die Parameter Status und Turn zur
genauen Definition der Achsstellung des Roboters mit übergeben werden.

Abbildung 4-27 Funktion zur Einstellung des PLC-Datentyp E6POS

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 31
4 Programmerstellung
4.5 Bewegungsfunktionen programmieren

Hinweis Die beiden Funktionen zur Einstellung der PLC-Datentypen E6AXIS und E6POS
enthalten zusätzlich noch Eingabeparameter für sechs Zusatzachsen E1 bis E6,
über die zusätzlich an den Roboter-Controller angeschlossene Achsen, z.B.
Förderbänder, Werkzeugachsen usw. angesteuert werden können.

Beim kartesischen Verfahren der Roboterachsen muss zusätzlich zur Zielposition


der Bewegung auch das Koordinatensystem ausgewählt sein. Dafür steht in der
Bausteinbibliothek KUKA.PLC mxAutomation eine Eingabefunktion für den PLC-
Datentyp COORDSYS zur Verfügung.

Abbildung 4-28 Funktion zur Einstellung des PLC-Datentyp COORDSYS

Über diese Funktion kann für alle kartesischen Bewegungsfunktionen folgende


Einstellung vorgenommen werden:
 Siemens AG 2016 All rights reserved

Tabelle 4-2 Parameter der Funktion mxA_ValuesToCOORDSYS


Schnittstelle Funktion
Eingänge
Tool Auswahl der Nummer des Werkzeug-
Koordinatensystems bzw. des aktiven
Werkzeugs.
Base Auswahl der Nummer des zu nutzenden
Base-Koordinatensystems.
IPO_Mode Auswahl des Interpolationsmodus, d.h. ob
das Werkzeug-Koordinatensystem oder das
Base-Koordinatensystem der Bewegung zu
Grunde gelegt werden soll.
Ausgänge
COORDSYS Datenstruktur für die Koordinatensystem-
definition von kartesischen Verfahrbewe-
gungen.

4.5.3 Punkt-zu-Punkt-Bewegung (PTP)

Bei einer Punkt-zu-Punkt-Bewegung wird der Bezugspunkt des Roboters auf den
vorgegebenen Zielpunkt bewegt. Die Bewegungsbahn zwischen der aktuellen
Position des Roboters und dem Zielpunkt ermittelt der Roboter-Controller selbst-
ständig, so dass eine möglichst hohe Verfahrgeschwindigkeit des Roboters
während der Bewegung erreicht wird.
Die Bewegungsbahn wird dabei durch den Roboter-Controller so gewählt, dass
langsame Roboterachsen, wie z.B. die Achsen A4 bis A6, bevorzugt kurze Bewe-

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 32
4 Programmerstellung
4.5 Bewegungsfunktionen programmieren

gungen ausführen, während die schneller Roboterachsen längere Wege zurück-


legen.
Punkt-zu-Punkt-Bewegungen können über die Bausteinbibliothek KUKA.PLC
mxAutomation mit folgenden Befehlen ausgeführt werden:
 KRC_MoveAxisAbsolute:
Achsspezifische Verfahrbewegung der Einzelachsen durch Vorgabe der abso-
luten Achspositionen des Zielpunkts.

Abbildung 4-29 Funktionsbaustein KRC_MoveAxisAbsolute

 KRC_MoveDirectAbsolute bzw. KRC_MoveDirectRelative:


Kartesische Verfahrbewegung durch Vorgabe der absoluten Position des Ziel-
 Siemens AG 2016 All rights reserved

punkts im ausgewählten Koordinatensystem, bzw. durch den relativen Abstand


des Zielpunkts zur aktuellen Position des Roboters im ausgewählten Koordina-
tensystem.

Abbildung 4-30 Funktionsbaustein KRC_MoveDirectAbsolute

Hinweis Bitte beachten Sie, dass bei einer Punkt-zu-Punkt-Bewegung die Vorhersage der
Bewegungsbahn nur schwer oder gar nicht möglich ist. Gerade in räumlich
begrenzten Bewegungsbereichen kann es daher zu einer unerwarteten Kollision
des Roboters mit der Umgebung kommen.

4.5.4 Lineare Bewegung

Mit Hilfe der Befehle KRC_MoveLinearAbsolute bzw. KRC_MoveLinearRelative


kann eine kartesische Roboterbewegung auf einer Geraden zwischen der aktuel-
len Roboterposition und der absolut vorgegebenen bzw. über den Abstand defi-

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 33
4 Programmerstellung
4.5 Bewegungsfunktionen programmieren

nierten Position des Zielpunkts ausgeführt werden. Die Positionsvorgabe des


Zielpunkts erfolgt im aktuell ausgewählten Koordinatensystem.

Abbildung 4-31 Funktionsbaustein KRC_MoveLineaAbsolute

Hinweis Lineare Bewegungen des Roboters werden in der Regel langsamer als Punkt-
zu-Punkt-Bewegungen ausgeführt, da bei der Bewegung auf einer Geraden alle
Achsen des Roboters definiert bewegt werden müssen.
 Siemens AG 2016 All rights reserved

4.5.5 Zirkulare Bewegung

Mit Hilfe der Befehle KRC_MoveCircAbsolute bzw. KRC_MoveCircRelative kann


eine kartesische Roboterbewegung auf einer Kreisbahn zwischen der aktuellen
Roboterposition und der absolut vorgegebenen bzw. über den Abstand definierten
Position des Zielpunkts ausgeführt werden.
Zur genauen Definition der Kreisbahn ist die Definition eines zusätzlichen absolu-
ten Hilfspunkts notwendig. Die Positionsvorgabe des Zielpunkts und des Hilfs-
punkts erfolgt im aktuell ausgewählten Koordinatensystem.

Abbildung 4-32 Funktionsbaustein KRC_MoveCircAbsolute

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 34
4 Programmerstellung
4.5 Bewegungsfunktionen programmieren

4.5.6 Bewegungsfunktionen Überschleifen

Die in den vorherigen Kapiteln genannten Bewegungsbefehle verfügen über so-


genannte Überschleifparameter, mit deren Hilfe das Anfahrverhalten des Ziel-
punkts der Bewegung festgelegt werden kann. Durch das Überschleifen kann das
Abfahren von aus Einzelbefehlen zusammengesetzten Bewegungsbahnen konti-
nuierlicher gestaltet werden.
Die Überschleifparameter für die Bewegungsbefehle werden über den PLC-Daten-
typ APO definiert, für dessen Einstellung in der Bausteinbibliothek KUKA.PLC
mxAutomation eine Funktion zur Verfügung steht.

Abbildung 4-33 Funktion zur Einstellung des PLC-Datentyp APO


 Siemens AG 2016 All rights reserved

Über diese Funktion kann für alle Bewegungsfunktionen folgende Einstellung vor-
genommen werden:

Tabelle 4-3 Parameter der Funktion mxA_ValuesToAPO


Schnittstelle Funktion
Eingänge
PTP_Mode Festlegung der Überschleifbewegung für
eine Punkt-zu-Punkt-Bewegung.
CP_MODE Festlegung der Überschleifbewegung für
eine interpolierte Bewegung, z.B. der Robo-
terbewegung auf einer Geraden oder Kreis-
bahn.
CPTP Überschleifdistanz in Prozent für eine
Punkt-zu-Punkt-Bewegung, ab der vor dem
Zielpunkt das Überschleifen frühestens be-
ginnen soll. Die Maximaldistanz von 100%
markiert dabei die halbe Entfernung zwi-
schen Start- und Zielpunkt.
CDIS Entfernung zum Zielpunkt in Millimeter, ab
der das Überschleifen frühestens beginnen
soll.
CORI Orientierungsparameter in Grad, ab dem
das Überschleifen frühestens beginnen
darf, wenn der dominierende Orientierungs-
winkel den hier angegebenen Wert zum
Zielpunkt unterschreitet.
CVEL Festlegung der Geschwindigkeit in Prozent,
ab der das Überschleifen in der Abbrems-
phase zum Zielpunkt frühestens beginnen
darf.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 35
4 Programmerstellung
4.5 Bewegungsfunktionen programmieren

Schnittstelle Funktion
Ausgänge
APO Datenstruktur für die Definition der Über-
schleifparameter.

4.5.7 Orientierungsführung

Über die Orientierungsführung kann die Orientierung (Ausrichtung) des Roboter-


bezugspunkts (TCP) während der Bewegung festgelegt werden.

Abbildung 4-34 Funktionsbaustein KRC_MoveLineaAbsolute


 Siemens AG 2016 All rights reserved

Für die Orientierungsführung sind an den Bausteinen für die Bewegungsführung


der Bibliothek KUKA.PLC mxAutomation folgende Einstellungen über den Ein-
gangsparameter OriType möglich:
 OriType = 0: VAR
Die Orientierung des Roboterbezugspunkts (TCP) ändert sich während der
Bewegung kontinuierlich.
 OriType = 1: CONSTANT
Die Orientierung des Roboterbezugspunkts (TCP) bleibt während der Bewe-
gung konstant.
 OriType = 2: JOINT
Die Orientierung des TCP ändert sich während der Bewegung kontinuierlich,
jedoch nicht ganz gleichmäßig. Dies geschieht durch lineare Überführung
(achsspezifisches Verfahren) der Handachswinkel.

4.5.8 Roboterachsen manuelle bewegen (JOG)

Für das manuelle Bewegen der Roboterachsen stellt die Bausteinbibliothek


KUKA.PLC mxAutomation die beiden Funktionsbausteine KRC_JogLinearRelative
und KRC_JogToolRelative zur Verfügung. Über diese beiden Funktionsbausteine
kann eine definierte kartesische Position im WORLD-Koordinatensystem bzw. im
TOOL-Koordinatensystem auf einer Gerade relativ zur aktuellen Position des
Roboters angefahren werden.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 36
4 Programmerstellung
4.5 Bewegungsfunktionen programmieren

Abbildung 4-35 Funktionsbaustein KRC_JogLinearRelative

Abbildung 4-36 Funktionsbaustein KRC_JogToolRelative


 Siemens AG 2016 All rights reserved

Beim Start der Jog-Funktionen werden immer alle am Roboter aktiven oder gepuf-
ferten Bewegungsfunktionen abgebrochen und der Roboter wird vor der Ausfüh-
rung der Jog-Bewegung bis zum Stillstand abgebremst.

Manuelles Verfahren der Roboterachse über Tipp-Tasten


Sollen die Roboterachsen über Tipp-Tasten verfahren werden, sind dafür die
beiden Funktionen KRC_MoveLineaAbsolute, für eine Bewegung im Koordinaten-
system, bzw. die Funktion KRC_MoveAxisAbsolute, für eine Bewegung der Robo-
terachsen, und die Funktion KRC_Abort in einem Funktionsbaustein zu verschal-
ten. Über achsspezifische Tipp-Tasten kann dann beispielsweise die mit einer
steigenden Signalflanke an der Taste die Bewegung der entsprechenden Achse
gestartet werden. Mit einer fallenden Signalflanke der Taste wird die Bewegung der
Achse über die Funktion KRC_Abort abgebrochen und damit die Achse wieder
angehalten.
Als Zielposition bei diesem Vorgehen ist für die entsprechende Achse ein Posi-
tionswert kurz vor dem Software-Endschalter der Achse zu wählen.

Hinweis Für das Verfahren des Roboters über Tipp-Tasten gibt es auch einen bereits
vorbereiteten Baustein des SIEMENS Robotik Support, der über die im Anhang
genannte Adresse bezogen werden kann.

Ein Beispiel eines solchen Jog-Bausteins zum Bewegen der Roboterachsen über
Tipp-Tasten ist in der nachfolgenden Grafik dargestellt.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 37
4 Programmerstellung
4.6 Zusammenfassendes Programmbeispiel

Abbildung 4-37 Vorbereiteter Baustein zum Verfahren der Roboterachsen über Tipp-Tasten
 Siemens AG 2016 All rights reserved

4.6 Zusammenfassendes Programmbeispiel


In diesem Kapitel soll Ihnen abschließend noch einmal der grundsätzliche Aufbau
eines Anwenderprogramms zur Ansteuerung eines KUKA Industrieroboters über
die Bausteinbibliothek KUKA.PLC mxAutomation verdeutlicht werden.

4.6.1 Vollständige Programmübersicht

Die nachfolgende Grafik zeigt beispielhaft die aus der Bausteinbibliothek mindes-
tens notwendigen Funktionsbausteine und deren Aufrufreihenfolge, um einen
KUKA Industrieroboter aus eines SIMATIC S7 heraus bewegen zu können.
Das Programmbeispiel ist dabei auf die Ansteuerung zwei getrennter KUKA Indus-
trieroboter aus der gleichen SIMATIC S7 Steuerung heraus ausgelegt.
Für jeden Roboter sind die Funktionsbausteine für das Lesen und Schreiben der
Roboterdaten dargestellt. Dazwischen werden zwei Funktionsbausteine aufge-
rufen, die die grundsätzliche Ansteuerung des Roboters über die Verwaltungsfunk-
tionen und die Bewegungsführung des Roboters enthalten. Diese beiden Baustei-
ne werden detailliert in den folgenden beiden Kapiteln erläutert.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 38
4 Programmerstellung
4.6 Zusammenfassendes Programmbeispiel

Abbildung 4-38 Zusammenfassendes Programmbeispiel

KRC_
Main
Robot_01 ReadAxis
Cycle
Group

siehe
Robot
Detailgrafik

siehe
RobotMove
Detailgrafik

KRC_
WriteAxis
Group

KRC_
Robot_02 ReadAxis
 Siemens AG 2016 All rights reserved

Group

siehe
Robot
Detailgrafik

RobotMove siehe
Detailgrafik

KRC_
WriteAxis
Group

4.6.2 Detailansicht der Roboteransteuerung

Der Funktionsbaustein Robot enthält die Verwaltungsfunktionen des Roboters,


über die folgende Funktionen durchgeführt werden können:
 Einschalten des Roboters über einen eigenen Funktionsbaustein.
 Initialisieren der Schnittstelle von KUKA.PLC mxAutomation.
 Abfrage des Status der Datenschnittstelle von KUKA.PLC mxAutomation.
 Lesen der Fehlermeldungen der Robotersteuerung, der Diagnosedaten des
Roboters und der Fehlermeldungen der Datenschnittstelle von KUKA.PLC
mxAutomation.
 Quittieren von anstehenden Fehlermeldungen an der Datenschnittstelle von
KUKA.PLC mxAutomation.
 Auswahl der Roboterbetriebsart, bzw. Quittierung von Roboter-Meldungen

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 39
4 Programmerstellung
4.6 Zusammenfassendes Programmbeispiel

 Setzen des Overrides für die Roboterbewegungen


 Auslesen der aktuellen Roboterposition in Achspositionen bzw. kartesischen
Koordinaten.

Abbildung 4-39 Detailansicht Funktionsbaustein Robot

Robot Power

KRC_
Initialize

KRC_
ReadMxa
Status
KRC_
ReadKrc
Error

KRC_
Diag
 Siemens AG 2016 All rights reserved

KRC_
ReadMxa
Error
KRC_
Message
Reset

KRC_
AutoExt

KRC_
SetOverride

KRC_
ReadAxis
Position
KRC_
ReadActual
Position

4.6.3 Detailansicht der Bewegungsansteuerung

Der Funktionsbaustein RobotMove enthält alle Funktionsbausteine für die Ausfüh-


rung der Roboterbewegungen. In diesem Baustein ist beispielhaft die
Programmierung einer Bewegungsfolge über verschiedene Bewegungsbausteine
aus der Bausteinbibliothek KUKA.PLC mxAutomation dargestellt.
In diesem Baustein werden für jede Bewegung zuerst die Parameter über die
entsprechenden Funktionen gesetzt und danach der Funktionsbaustein für die
gewünschte Bewegung aufgerufen.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 40
4 Programmerstellung
4.6 Zusammenfassendes Programmbeispiel

Am Beginn des Bausteins sind zudem die Funktionen für die Einstellung der
Parameter für das Überschleifen der Bewegungen und die Auswahl des
Koordinatensystems für die Ausführung der Bewegung dargestellt.
Am Beginn des Funktionsbausteins ist auch der vorbereitete Baustein für die Reali-
sierung der Achsbewegungen des Roboters über Tipp-Tasten integriert.

Abbildung 4-40 Detailansicht Funktionsbaustein RobotMove

RobotMove JOG

mxAValues
to
APO

mxAValues
to
COORDSYS
 Siemens AG 2016 All rights reserved

mxAValues KRC_
to MoveAxis
E6AXIS Absolute

mxAValues KRC_
to MoveAxis
E6AXIS Absolute

mxAValues KRC_
to MoveAxis
E6AXIS Absolute

mxAValues KRC_
to MoveAxis
E6AXIS Absolute
mxAValues
to
E6AXIS

Hinweis Sollen die einzelnen Bewegungen überschliffen werden, müssen die Funktions-
bausteine KRC_MoveAxisAbsolute über den Ausgang Busy verschaltet werden,
d.h. sobald ein Funktionsbaustein Busy meldet, kann der nächste Funktionsbau-
stein gestartet werden.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 41
5 Zusätzliche Funktionen
5.1 Werkzeugansteuerung (Greifer)

5 Zusätzliche Funktionen
Dieses Kapitel soll Ihnen ausgewählte Zusatzfunktionen vorstellen, die über die
grundsätzliche Ansteuerung eines KUKA Industrieroboters mit Hilfe der Bibliothek
KUKA.PLC mxAutomation hinausgehen.

5.1 Werkzeugansteuerung (Greifer)


Damit ein Industrieroboter die gewünschten Tätigkeiten ausführen kann, muss am
Roboter ein Werkzeug installiert werden. Diese Werkzeuge verfügen in der Regel
über zahlreiche Ein- und Ausgänge oder über einen Busanschluss, um das Werk-
zeug wie gewünscht ansteuern zu können oder den aktuellen Zustand des Werk-
zeugs abzufragen.
Da der Roboter mit Hilfe der Bausteinbibliothek KUKA.PLC mxAutomation über die
SIMATIC-S7-Steuerung angesteuert wird, gibt es für die Werkzeugansteuerung
zwei Möglichkeiten, dem Greifer die gewünschten Befehle zu übermitteln.

5.1.1 Ansteuerung über den Roboter-Controller

Der Roboter-Controller eines KUKA Industrieroboters verfügt ebenfalls über eine


eingebaute PLC-Steuerung, über die die Ein- und Ausgänge eines Werkzeugs an-
gesteuert werden können.
 Siemens AG 2016 All rights reserved

Damit können die Ein- und Ausgänge eines Werkzeugs auch direkt an den
Roboter-Controller angeschlossen werden.

Vorteile
Diese Art der Ansteuerung bietet folgende Vorteile:
 Roboter und Werkzeug bilden eine hardwaretechnische Einheit.
 Das Werkzeug kann über die Ansteuerung der Ein- und Ausgänge der PLC
des Roboter-Controllers mit Hilfe der Bausteine KRC_ReaddidigtalOutput und
KRC_WriteDigitalOutput aus der Bausteinbibliothek KUKA.PLC mxAutomation
angesteuert werden.

Nachteile
Diese Art der Ansteuerung bietet folgende Nachteile:
 Die Ansteuerdaten für das Werkzeug müssen zuerst auf den Roboter-
Controller übertragen werden.
 Müssen mehrere Daten-Bits gleichzeitig konsistent an das Werkzeug übertra-
gen werden, ist programmtechnisch für die Konsistenz der Daten zu sorgen,
was einen erhöhten Aufwand der Programmierung in der SIMATIC S7-Steue-
rung und auf dem Roboter-Controller mit sich bringt.
 Wird das Werkzeug über ein vom Roboter-Controller ausgehendes Bussystem
angesteuert, kann die Datenübertragung durch die Weitergabe der Daten im
Roboter-Controller an das zweite Bussystem verzögert werden.

5.1.2 Direkte Ansteuerung über die SIMATIC S7

Da die SIMATIC S7-Steuerung die vollständige Ansteuerung und Bewegungsfüh-


rung des Roboters übernimmt, kann das Werkzeug des Roboters auch direkt von

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 42
5 Zusätzliche Funktionen
5.2 Safety Integrated

der SIMATIC S7 oder einer an die Steuerung angeschlossenen dezentralen Peri-


pherie übernommen werden.
Die dezentrale Peripherie der SIMATIC S7-Steuerung kann dabei gegebenenfalls
auch direkt in das Werkzeug integriert werden.

Vorteile
Diese Art der Ansteuerung bietet folgende Vorteile:
 Einfache Ansteuerung des Werkzeugs aus dem Anwenderprogramm der
SIMATIC S7-Steuerung über die bekannten I/O-Befehle, integriert in das
Programm zur Erzeugung der Bewegungsbefehle des Roboters.
 Möglichkeit zur Integration der dezentralen Peripherie der SIMATIC S7-Steue-
rung direkt in das Werkzeug bzw. auf den Roboterarm, wodurch die I/O-Ver-
drahtung zum Werkzeug stark reduziert wird.
 Möglichkeit, den Datenaustausch mit der dezentralen Peripherie über draht-
lose Kommunikation durchzuführen.

Nachteile
Diese Art der Ansteuerung bietet folgende Nachteile:
 Für die Auslösung der Werkzeugfunktionen muss der aktuelle Status des Ro-
boters über die SIMATIC S7-Steuerung abgerufen und verglichen werden.
 Bewegungssynchrone Aktionen des Werkzeugs sind nicht oder nur schwer zu
 Siemens AG 2016 All rights reserved

realisieren.

5.2 Safety Integrated


Für die Verwendung der Funktionalität Safety Integrated zusammen mit einem
KUKA Industrieroboter stellt KUKA die Sicherheitsoption SafeOperation zur Ver-
fügung:

5.2.1 Komponenten

Folgende Komponenten sind in der Sicherheitsoption SafeOperation von KUKA


enthalten:

Software-Komponenten
Tabelle 5-1 KUKA Komponenten - Sicherheitsoption SafeOperation
Komponente Anz. Artikelnummer Hinweis
KUKA.SafeOperation 1 Version: V3.2

Hardware-Komponenten
Tabelle 5-2 KUKA Komponenten - Sicherheitsoption SafeOperation
Komponente Anz. Artikelnummer Hinweis
Referenztaster- 1 Zur automatisierten Überprü-
Baugruppe fung der am Roboter einge-
stellten Sicherheitsbereiche.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 43
5 Zusätzliche Funktionen
5.3 PROFIenergy

5.2.2 Funktionalität

Die Sicherheitsoption SafeOperation von KUKA enthält folgende Funktionalität:


 Sichere Überwachung von maximal 16 benutzerdefinierten achsspezifischen
oder kartesischen Überwachungsräumen.
 Sichere Überwachung eines benutzerdefinierten Zellenbereichs.
 Sichere Überwachung der achsspezifischen Geschwindigkeiten.
 Sichere Überwachung der raumspezifischen Geschwindigkeiten.
 Sichere Überwachung der kartesischen Geschwindigkeiten.
 Modellierung von bis zu 16 sicheren Werkzeugen mit sicherem TCP.
 Sicheres Anhalten über die Sicherheitssteuerung.
 Sicherer Betriebshalt für bis zu 6 Achsgruppen.
 Sichere Eingänge zum Aktivieren der Überwachungen.
 Sichere Ausgänge für Statusmeldungen der Überwachungen.
 Erstellen und Bearbeiten der Sicherheitskonfiguration auf der Robotersteue-
rung.

5.2.3 Ansteuerung
 Siemens AG 2016 All rights reserved

Die Ansteuerung der Sicherheitsoption SafeOperation erfolgt über die PROFINET-


Verbindung zwischen SIMATIC-Steuerung und Robotersteuerung mit Hilfe des
PROFIsafe Telegramms.
Soll diese Verbindung genutzt werden, kann die PROFIsafe-Erweiterung einfach in
die Telegrammkonfiguration des KUKA Roboter-Controller mit integriert werden.
Die PROFIsafe-Telegrammerweiterung ist dazu bereits in der GSDML-Datei des
KUKA Roboter-Controllers enthalten.

Abbildung 5-1 Ansteuerung der Sicherheitsoption SafeOperation über PROFIsafe

Hinweis Alternativ zum Datenaustausch über PROFIsafe können die Sicherheitsfunktio-


nen des Roboters auch über diskrete Hardware-Signale über die Schnittstelle
X11 der Roboter-Steuerung angesteuert werden.

5.3 PROFIenergy
Der KUKA Industrieroboter stellt bereits im Grundausbau ein PROFIenergy-Device
dar, mit dem die Energiesparoptionen von PROFIenergy genutzt werden können.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 44
5 Zusätzliche Funktionen
5.4 Robotermeldungen im Klartext empfangen

Über standardisierte PROFIenergy-Telegramme kann der Roboter in den Ruhezu-


stand versetzt oder wieder aus dem Ruhezustand geholt werden.
In Bezug auf PROFIenergy verfügt der KUKA Industrieroboter über folgende mög-
lichen Zustände:

Tabelle 5-3 Die PROFIenergy-Zustände des KUKA Industrieroboters


Zustand Funktion
Ready_To_Operate Der Roboter bzw. der Roboter-Controller ist
betriebsbereit und kann genutzt werden.
Antriebsbus AUS Die Antriebe des Roboters sind abgeschal-
tet, der Roboter kann nicht benutzt werden.
Hibernate Der Roboter-Controller befindet sich im
Ruhezustand. Es findet keine PROFINET-
Kommunikation statt.
Der Roboter-Controller reagiert nur auf das
Wake-On-LAN Paket, um den Controller
wieder aufzuwecken.
Bremsen eingefallen Der Roboter bzw. der Roboter-Controller ist
betriebsbereit, die Bremsen des Roboters
sind jedoch eingefallen.
Der Roboter reagiert nur auf den nächsten
Verfahrbefehl.
 Siemens AG 2016 All rights reserved

Hinweis Wenn die Produktionspause zu kurz ist, um den Zustand Antriebsbus AUS zu
verwenden, kann dennoch über den Zustand Bremsen eingefallen Energie ge-
spart werden.
Zum Aufruf dieses Zustands muss sich der Roboter jedoch im Zustand program-
mierter Stopp befinden.

Hinweis Bei der Einstellung einer Pausezeit für den Roboter, d.h. beim Aufruf eines ent-
sprechenden Pause-Zustands am Roboter, ist darauf zu achten, dass die Ge-
samtzeit größer als die Summe aus der Einschlafphase (Time_to_Pause) und
der Aufwachphase (Time_to_operate) des Roboters gewählt wird.

Hinweis Wird dem Roboter ein PROFIenergy-Telegramm gesendet, wird dieser Auftrag
im Roboter-Controller direkt ausgeführt. Es sollte deshalb darauf geachtet wer-
den, dem Roboter das PROFIenergy-Telegramm nur im Stillstand zu schicken.

5.4 Robotermeldungen im Klartext empfangen


Zusätzlich zu den in den vorherigen Kapiteln erwähnten Bausteinen zur Ermittlung
von Status- und Fehlermeldungen des Roboter-Controllers und der Datenschnitt-
stelle der Bausteinbibliothek KUKA.PLC mxAutomation besteht zusätzlich noch die
Möglichkeit, Robotermeldungen im Klartext über eine UDP-Schnittstelle vom Robo-
ter-Controller zu empfangen.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 45
5 Zusätzliche Funktionen
5.4 Robotermeldungen im Klartext empfangen

5.4.1 Funktionsweise

Der Roboter-Controller gibt alle Robotermeldungen über eine UDP-Verbindung auf


der PROFINET-Verbindung aus. Diese Meldungen können in der SIMATIC-Steue-
rung empfangen und gegebenenfalls auf dem HMI-Bediengerät zur Anzeige ge-
bracht werden.
Zusätzlich können über die UDP-Verbindung auch Kommandos an den Roboter-
Controller gesendet werden, über die der Versand der Robotermeldungen kon-
figuriert werden kann. Folgende Kommandos sind dazu möglich:

Tabelle 5-4 Kommandos zur Konfiguration der Robotermeldungen


Kommando Funktion
SwitchLanguage eng Umschaltung der Ausgabe der Robotermel-
Anzahl der Zeichen = 18 dungen auf englische Sprache.
SwitchLanguage deu Umschaltung der Ausgabe der Robotermel-
Anzahl der Zeichen = 18 dungen auf deutsche Sprache.
GetAllKrcMessages AllNoInfo Empfang der reinen Meldungstexte des
Anzahl der Zeichen = 27 Roboters.
In dieser Empfangsart ist ein Zieldatenbe-
reich für die Robotermeldungen von 150
Zeichen ausreichend.
 Siemens AG 2016 All rights reserved

Die Kommandos müssen zur Übermittlung an den Roboter-Controller wie in der


obigen Tabelle genannt in den Quelldatenbereich für die Kommandos eingetragen
werden. Für den Versand ist in der Tabelle jeweils auch die Länge des Komman-
dos, d.h. die Anzahl der Zeichen mit angegeben.
Der Quelldatenbereich für die Kommandos und der Zieldatenbereich der Roboter-
meldungen wird in der SIMATIC-Steuerung als Array[0..150] of Char angelegt.

5.4.2 Programmierung

Die UDP-Verbindung zwischen dem Roboter-Controller und der SIMATIC-Steue-


rung werden über den Roboter-Controller aufgebaut. Deshalb ist es wichtig, die
vom Roboter-Controller vorgegeben Verbindungs-ID für die Bausteine TUSEND
und TURCV zu benutzen. In der Regel ist im Roboter-Controller die Verbindungs-
ID von 256DEZ bzw. 16#100HEX eingestellt. Die Verbindungs-ID muss an den Bau-
steinen TUSEND und TURCV über den Parameter ID übergeben werden.
Weiterhin muss über den Parameter ADDR an den Bausteinen TUSEND und
TURCV die IP-Adresse und der Kommunikations-Port des Roboter-Controllers
übergeben werden. Die Daten werden als PLC-Datentyp TADDR_Param gespei-
chert, der ein Array für die IP-Adresse und die Port-Nummer enthält. Der Roboter-
Controller versendet die Robotermeldungen über den Port 9050 DEZ an die UDP-
Teilnehmer. Beim KUKA Roboter-Controller kann für die Bausteine TUSEND und
TURCV jeweils die gleiche Variable für den Parameter ADDR benutzt werden, da
sowohl die Kommandos als auch die Meldungen über den gleichen Port kommuni-
ziert werden.

Kommandos senden
Über den Baustein TUSEND werden mit einer steigenden Flanke am Eingang REQ
die gewünschten Ko0mmandos an den Roboter-Controller gesendet. Der Eingang
LEN muss dabei die Anzahl der zu sendenden Zeichen erhalten. Am Eingang

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 46
5 Zusätzliche Funktionen
5.4 Robotermeldungen im Klartext empfangen

DATA muss dazu der Quellspeicherbereich übergeben werden, in dem das zu


sendende Kommando abgespeichert ist.

Abbildung 5-2 Funktionsbaustein TU_SEND zum Senden über eine UDP-Verbindung

Robotermeldungen empfangen
Über den Baustein TURCV werden die Robotermeldungen empfangen, solange
der Eingang EN_R auf den Wert True gesetzt ist. Der Eingang LEN kann beim
Empfang der Robotermeldungen immer auf dem Wert 0 belassen werden. Am
Eingang DATA wird der Zielspeicherbereich übergeben, in dem die Meldung
abgespeichert werden soll.
 Siemens AG 2016 All rights reserved

Abbildung 5-3 Funktionsbaustein TU_SEND zum Empfangen über eine UDP-Verbindung

Der Baustein signalisiert über den Ausgang NDR das Vorliegen einer neuen Mel-
dung und gibt über den Ausgang RCVD_LEN die Anzahl der tatsächlich empfan-
genen Zeichen an das Anwenderprogramm weiter.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 47
6 Anhang
6.1 Koordinatensysteme

6 Anhang
Dieses Kapitel soll Ihnen zusätzliche Hintergrundinformationen zum Umgang und
der Programmierung von Industrierobotern bieten.

6.1 Koordinatensysteme
6.1.1 Übersicht

Im Roboter-Controller sind mehrere Koordinatensysteme definiert, über die die


Lage des Werkstücks und des Werkzeugs festgelegt sind und die den einzelnen
Roboterbewegungen zu Grunde liegen.

Abbildung 6-1 Übersicht der Roboter-Koordinatensysteme


 Siemens AG 2016 All rights reserved

6.1.2 Ursprungskoordinatensystem der Anlage (WORLD)

Das WORLD-Koordinatensystem bildet das Ursprungskoordinatensystem der


gesamten Anlage. Aus diesem Koordinatensystem gehen alle weiteren Koordina-
tensysteme durch Verschiebung und Drehung hervor.
Sind keine Drehungen und Verschiebungen der anderen Koordinatensysteme
definiert, befindet sich der Ursprung des WORLD-Koordinatensystems im Fuß des
Roboters.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 48
6 Anhang
6.1 Koordinatensysteme

Die Drehungen und Verschiebungen der anderen Koordinatensysteme in Bezug


auf das WORLD-Koordinatensystem werden im Roboterprogramm als Roboter-
position mit sechs Parametern übergeben, wobei die einzelnen Parameter folgen-
de Funktion haben:
 X-Koordinate: Verschiebung des Koordinatensystems in der X-Achse.
 Y-Koordinate: Verschiebung des Koordinatensystems in der Y-Achse.
 Z-Koordinate: Verschiebung des Koordinatensystems in der Z-Achse.
 A-Koordinate: Rechtshändige Drehung des Koordinatensystems um die X-
Achse des WORLD-Koordinatensystems.
 B-Koordinate: Rechtshändige Drehung des Koordinatensystems um die Y-
Achse des WORLD-Koordinatensystems.
 C-Koordinate: Rechtshändige Drehung des Koordinatensystems um die Z-
Achse des WORLD-Koordinatensystems.

Hinweis Die Drehung des Koordinatensystems um die Achsen des WORLD-Koordinaten-


systems erfolgt in folgender Reihenfolge:
 Drehung um die X-Achse um den Betrag der A-Koordinate
 Drehung um die Y-Achse um den Betrag der B-Koordinate
 Drehung um die Z-Achse um den Betrag der C-Koordinate
 Siemens AG 2016 All rights reserved

6.1.3 Basiskoordinatensystem des Roboters (ROBROOT)

Über das Basiskoordinatensystem des Roboters (ROBROOT) kann eine Verschie-


bung des Aufstellungsorts des Roboters zum Ursprung des WORLD-Koordinaten-
systems erreicht werden.

Hinweis Das Basiskoordinatensystem des Roboters muss in den Daten des Roboter-
Controllers bei der Inbetriebnahme des Roboters festgelegt werden.
Eine Veränderung dieser Daten aus dem Anwenderprogramm über Bausteine
der Bausteinbibliothek KUKA.PLC mxAutomation ist nicht möglich.

6.1.4 Werkstückkoordinatensystem (BASE)

Über das Werkstückkoordinatensystem (BASE) wird der Ursprung des Werkstücks,


das bearbeitet soll, in Bezug auf das WORLD-Koordinatensystem festgelegt.
Die Verschiebung und Drehung des Werkstückkoordinatensystems (BASE) kann
aus dem Anwenderprogramm über die Funktion KRC_WriteBaseData festgelegt
werden. Die aktuellen Einstellungen des Koordinatensystems bzw. der Koordina-
tensystemverschiebung können über die Funktion KRC_ReadBaseData ermittelt
werden.
Im Roboter-Controller können bis zu 32 verschiedene Koordinatensysteme bzw.
der Koordinatensystemverschiebungen für das Werkstückkoordinatensystem
(BASE) hinterlegt werden. Diese können dann zur einfachen Definition der Verfahr-
befehle des Roboters über das Anwenderprogramm ausgewählt werden.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 49
6 Anhang
6.2 Koordinatendefinition

6.1.5 Werkzeugkoordinatensystem (TOOL)

Über das Werkzeugkoordinatensystem (TOOL) wird der Ursprung des am Roboter


angebrachten Werkzeugs, in Bezug auf das WORLD-Koordinatensystem festge-
legt.
Die Verschiebung und Drehung des Werkzeugkoordinatensystem (TOOL) kann
aus dem Anwenderprogramm über die Funktion KRC_WriteToolData festgelegt
werden. Die aktuellen Einstellungen des Koordinatensystems bzw. der Koordina-
tensystemverschiebung können über die Funktion KRC_ReadToolData ermittelt
werden.
Im Roboter-Controller können bis zu 16 verschiedene Werkzeuge bzw. Werkzeug-
koordinatensystemverschiebungen (TOOL) hinterlegt werden. Diese können dann
zur einfachen Definition der Verfahrbefehle des Roboters über das Anwenderpro-
gramm ausgewählt werden.

6.2 Koordinatendefinition
6.2.1 Roboterachsen

Ein KUKA Industrieroboter verfügt über bis zu sechs Einzelachsen, über die die
Roboterkinematik bewegt werden kann. Diese Achsen können zur Positionierung
 Siemens AG 2016 All rights reserved

des Roboters entweder direkt aus dem Anwenderprogramm über die Achskoordi-
naten A1 bis A6 angesteuert werden, oder die Ansteuerung übernimmt die Koordi-
natentransformation im Roboter-Controller, in dem aus dem Anwenderprogramm
eine Position innerhalb eines im Roboter-Controller definierten Koordinatensys-
tems über die kartesischen Koordinaten X, Y und Z und die Drehwinkel um die
Koordinatenachsen A, B und C vorgegeben wird.

Abbildung 6-2 Achsen eines 6-Achs-Roboters

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 50
6 Anhang
6.2 Koordinatendefinition

Hinweis Zusätzlich zu den Roboterachsen A1 bis A6 stehen im KUKA Roboter-Controller


noch weitere sechs Zusatzachsen E1 bis E6 zur Verfügung, die ebenfalls über
das Anwenderprogramm von der SIMATIC-Steuerung aus beeinflusst werden
können.
Die Zusatzachsen E1 bis E6 sollen jedoch nicht Gegenstand dieses Beispiels
sein. Genauere Informationen dazu entnehmen Sie bitte der Dokumentation zu
KUKA.PLC mxAutomation oder zum Roboter-Controller.

6.2.2 Achskoordinaten

Eine direkte Positionierung der Roboterachsen können Sie über die Vorgabe der
gewünschten Achspositionen im Anwenderprogramm über den Datentyp E6AXIS
erreichen. Dafür steht der Befehl KRC_MoveAxisAbsolute zur Verfügung.
Über diesen Befehl werden die Roboterachsen direkt von der aktuellen Stellung in
die über E6AXIS vorgegeben Stellung überführt. Dabei kommt es zu keiner Koordi-
nierung der einzelnen Achsbewegungen. Jede Roboterachse bewegt sich mit dem
vorgegebenen Prozentsatz ihrer maximalen Achsgeschwindigkeit auf die vorge-
gebene Position.
 Siemens AG 2016 All rights reserved

6.2.3 Kartesische Koordinaten

Für die Positionierung der Roboterachsen mit Hilfe der Koordinatentransformation


des Roboter-Controllers stehen der Datentyp E6POS und verschiedene Bewe-
gungsbefehle zur Verfügung.
In Abhängigkeit des gewählten Koordinatensystems, wie Werkstückkoordinaten-
system (BASE) oder Werkzeugkoordinatensystem (TOOL) können die Roboter-
achsen durch Vorgabe einer kartesischen Position und des Orientierungsvektors in
dieser Position über die Koordinatentransformation positioniert werden.
Die Koordinatentransformation des Roboter-Controllers übernimmt dabei in Abhän-
gigkeit des gewählten Bewegungsbefehls die Koordination der Roboterachsen,
z.B. für die Bewegung des Roboter-Bezugspunkts auf einer Geraden oder Kreis-
bahn.

6.2.4 Zusatzdaten „Status“ und „Turn“

Wird der Roboter über die Koordinatentransformation des Roboter-Controllers


positioniert, reichen die Angaben von Position (X, Y, und Z) und Orientierung (A, B
und C) nicht aus, um die Achsstellung des Roboters in jeder Lage eindeutig festzu-
legen. Dafür stehen die zusätzlichen Angaben für Status (S) und Turn (T) zur Ver-
fügung.

Hinweis Der Roboter-Controller berücksichtigt vorgegebene Status- und Turn-Werte nur


bei Punkt-zu-Punkt (PTP) Bewegungen. Die erste Bewegung in einem Bewe-
gungsprogramm des Roboters muss deshalb immer eine vollständig definierte
PTP-Bewegung sein, damit für den Roboter eine eindeutige Ausgangslage
definiert ist. Für alle weiteren Bewegungsbefehle kann Status und Turn auf dem
Wert 0 belassen werden. Der Roboter-Controller legt die Achsstellung damit
selbst fest.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 51
6 Anhang
6.2 Koordinatendefinition

Zusatzdaten Status
Über die Bits 0 bis 4 des Status kann die Stellung der Roboterachsen bezogen auf
das Koordinatensystem an der Achse A1 im Roboter-Fuß festgelegt werden.

Tabelle 6-1 Zusatzdaten Status


Bit-Zustand
Status
0 1
Grundbereich Überkopfbereich
Der Schnittpunkt der Handachsen A4, Der Schnittpunkt der Handachsen A4,
Bit 0 A5 und A6 liegt über der positiven X- A5 und A6 liegt über der negativen X-
Achse des auf die Achse A1 bezoge- Achse des auf die Achse A1 bezoge-
nen Koordinatensystems. nen Koordinatensystems.
Die Position der Achse A3 ist kleiner Die Position der Achse A3 ist größer
Bit 1
Null. oder gleich Null.
Die Position der Achse A5 ist kleiner Die Position der Achse A5 ist größer
Bit 2
oder gleich Null. Null.
Bit 3 nicht benutzt nicht benutzt
Der Punkt wurde nicht mit einem Der Punkt wurde mit einem absolut-
Bit 4
absolutgenauen Roboter geteachet. genauen Roboter geteachet.
Bit 5 nicht benutzt nicht benutzt
 Siemens AG 2016 All rights reserved

Bit 6 nicht benutzt nicht benutzt


Bit 7 nicht benutzt nicht benutzt

Abbildung 6-3 Beispiel zu den Zusatzdaten Status – Bit 0

Schnittpunkt der Koordinaten-


Handachsen achse senkrecht
A4, A5 und A6 zu A1 und A2

Projektion des
Schnittpunkts
auf die
Koordinaten-
achse

Bit 0 = 1

Bit 0 = 0

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 52
6 Anhang
6.2 Koordinatendefinition

Zusatzdaten Turn
Über die Bits 0 bis 5 des Turn kann die direkte Stellung der Roboterachsen in den
Verfahrbereichen der Achsen festgelegt werden.

Tabelle 6-2 Zusatzdaten Turn


Bit-Zustand
Turn
0 1
Die Position der Achse A1 ist größer Die Position der Achse A1 ist kleiner
Bit 0
oder gleich Null. Null.
Die Position der Achse A2 ist größer Die Position der Achse A2 ist kleiner
Bit 1
oder gleich Null. Null.
Die Position der Achse A3 ist größer Die Position der Achse A3 ist kleiner
Bit 2
oder gleich Null. Null.
Die Position der Achse A4 ist größer Die Position der Achse A4 ist kleiner
Bit 3
oder gleich Null. Null.
Die Position der Achse A5 ist größer Die Position der Achse A5 ist kleiner
Bit 4
oder gleich Null. Null.
Die Position der Achse A6 ist größer Die Position der Achse A6 ist kleiner
Bit 5
oder gleich Null. Null.
Bit 6 nicht benutzt nicht benutzt
 Siemens AG 2016 All rights reserved

Bit 7 nicht benutzt nicht benutzt

Abbildung 6-4 Beispiel zu den Zusatzdaten Turn

Bit 3 Bit 2

Bit 5

Bit 0

Bit 4

Bit 1

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 53
6 Anhang
6.2 Koordinatendefinition

Hinweis Werden bei der Positionierung des Roboters keine Vorgaben für Status und Turn
gemacht, entscheidet der Roboter-Controller selbst über den Übergang von
einer Achsstellung des Roboters zur nächsten.

6.2.5 Singularitäten

KUKA Industrieroboter mit sechs Achsen besitzen folgende drei verschiedene


Singularitäten:
 Überkopf-Singularität
Die Achse A5 steht senkrecht auf der Achse A1.
 Strecklagen-Singularität
Die Achse A5 liegt in der Verlängerung von Achse A2 und A3 des Roboters.
 Handachsen-Singularität
Die Achsen A4 und A6 stehen parallel zu einander und die Achse A5 nimmt
gestreckte Haltung an, d.h. die Achse A5 liegt im Bereich von ±0,01812°.

Bei der Programmierung oder beim manuellen Anfahren von Punkten sind diese
Singularitäten zu beachten und nach Möglichkeit zu vermeiden, bzw. durch
abweichende Programmierung – wie z.B. das direkte bewegen der Roboterachsen
statt der Bewegung durch einen kartesischen Bewegungsbefehl – zu umgehen.
 Siemens AG 2016 All rights reserved

ACHTUNG Liegt mindestens eine Singularität innerhalb des gewünschten Arbeitsbe-


reichs des Roboters, so ist gegebenenfalls die Anordnung des Roboters in
der Anlage zu überprüfen und zu korrigieren, so dass die Singularität im
Arbeitsbereich nicht mehr auftritt.

6.2.6 Roboter-Bezugspunkt (TCP)

Alle kartesischen Bewegungsbefehle des Roboters beziehen sich auf die Werk-
zeugspitze (TCP = Tool Center Point). Der Bezugspunkt eines Werkzeugs wird
durch das Schreiben einer Werkzeugverschiebungen bezogen auf das WORLD-
Koordinatensystem über den Befehl KRC_WriteToolData festgelegt.
Ist kein Werkzeug angewählt, befindet sich der TCP am Roboter-Flansch, d.h. es
wird ein Werkzeug ohne Verschiebung und Rotation angenommen.

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 54
7 Literaturhinweise

7 Literaturhinweise
Tabelle 7-1
Themengebiet Titel
\1\ Siemens Industry http://support.industry.siemens.com
Online Support
\2\ Downloadseite https://support.industry.siemens.com/cs/ww/de/view/109482123
des Beitrages
Siemens SIMATIC S7 / Safety Integrated / PROFIenergy
\3\ SIMATIC SIMATIC
STEP 7 STEP 7 Professional V13 SP1
Professional Systemhandbuch
Ausgabe: 12/2014
Dokument-ID: Ausdruck der Online-Hilfe
Bestellnummer: -
https://support.industry.siemens.com/cs/ww/de/view/109011420/
\4\ SIMATIC SIMATIC PROFINET Systembeschreibung
PROFINET Systemhandbuch
Ausgabe: 03/2012
Dokument-ID: A5E00298287-06
Bestellnummer: -
https://support.industry.siemens.com/cs/ww/de/view/19292127/
 Siemens AG 2016 All rights reserved

\5\ SIMATIC SIMATIC Industrie Software


Safety SIMATIC Safety - Projektieren und Programmieren
Programmier- und Bedienhandbuch
Ausgabe: 11/2014
Dokument-ID: A5E02714439-AD
Bestellnummer-
https://support.industry.siemens.com/cs/ww/de/view/54110126
\6\ PROFIenergy Anwendungsleitfaden zur Umsetzung von Abschaltkonzepten mit
PROFIenergy
Anwendungsbeispiel
Ausgabe: 07/2014
https://support.industry.siemens.com/cs/ww/de/view/96837137
\7\ PROFIenergy Welche Baugruppen des Siemens-Portfolios unterstützen
PROFIenergy Funktionen?
FAQ
Ausgabe: 08/2014
https://support.industry.siemens.com/cs/ww/de/view/95848378
\8\ PROFIenergy SIMATIC S7
Bibliothek zur einfachen Parametrierung von PROFIenergy
Anwendungsbeispiel / Bausteinbibliothek
Ausgabe: 07/2015
https://support.industry.siemens.com/cs/ww/de/view/109478388
KUKA.PLC mxAutomation
\9\ KUKA KUKA Robotics
Homepage http://www.kuka-robotics.com
KUKA Download Center - Broschüren
http://www.kuka-
robotics.com/germany/de/downloads/search/?type=current&sc_MET
A_02=Brochures&rs_Language=de

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 55
8 Ansprechpartner

Themengebiet Titel
\10\ KUKA KUKA System Software
System Software KUKA System Software – Version 8.3
Bedien- und Programmieranleitung für Systemintegratoren
Ausgabe: 18.12.2012
Version: KSS 8.3 SI V1 de (PDF)
Bestellnummer: -
Diese Dokumentation kann über die KUKA-Hotline bezogen werden.
\11\ KUKA KUKA System Technology
System KUKA.PLC mxAutomation S7 – Version 2.0
Technology Produktbeschreibung und Handbuch
Ausgabe: 05.03.2015
Version: S7_Library_mxAutomation_20_de.pdf
Bestellnummer: 00-233-923
Diese Dokumentation kann über die KUKA-Hotline bezogen werden.
\12\ KUKA KUKA System Technology
System KUKA.SafeOperation – Version 3.2
Technology Montage- und Betriebsanleitung
Ausgabe: 18.03.2013
Version: KST SafeOperation 3.2 V2 de
Bestellnummer: -
Diese Dokumentation kann über die KUKA-Hotline bezogen werden.
\13\ KUKA KUKA Controller Option
 Siemens AG 2016 All rights reserved

Controller Option KUKA.ProfiNet Controller/Device 3.2


Dokumentation
Ausgabe: 03.09.2014
Version: KUKA.ProfiNet 3.2 V2
Bestellnummer: -
Diese Dokumentation kann über die KUKA-Hotline bezogen werden.

8 Ansprechpartner
Für weitere Fragen zu KUKA Industrierobotern oder der Bausteinbibliothek
KUKA.PLC mxAutomation, bzw. zum Anfordern der notwendigen KUKA
Dokumentationen finden Sie hier die entsprechenden Kontaktdaten.

8.1 SIEMENS Robotik Support


Den SIEMENS Robotik Support können Sie über folgende Email-Adresse
erreichen:
Email: robotic.industry@siemens.com

8.2 KUKA Roboter GmbH

KUKA Roboter GmbH – Headquarters


Zugspitzstraße 140
86165 Augsburg
Tel.: +49 821 797-4000
Fax: +49 821 797-4040
Email: info@kuka-roboter.de

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 56
9 Historie

8.3 Hotline der KUKA Roboter GmbH

KUKA Roboter GmbH – Hotline


Die Hotline ist für 24h pro Tag und 365 Tage im Jahr
telefonisch in Deutschland erreichbar:
Tel.: +49 821 797-1926

8.4 Vertrieb für KUKA.PLC mxAutomation

KUKA Roboter GmbH – Global Sales Center


Hery-Park 3000
86368 Gersthofen
Tel.: +49 821 4533-0
Fax: +49 821 4533-1616
Email: sales@kuka-roboter.de

Ansprechpartner:
Philipp Kremer
Productmanager
 Siemens AG 2016 All rights reserved

Tel.: +49 821 4533-3734


Fax: +49 821 797-41 3734
Philipp.Kremer@kuka.com

9 Historie
Tabelle 9-1
Version Datum Änderung
V1.0 01/2016 Erste Ausgabe
V1.1 01/2016 Textuelle Anpassungen

S7-1500 / mxAutomation
Beitrags-ID: 109482123, V1.1, 01/2016 57

Das könnte Ihnen auch gefallen