KR C...
KUKA.EthernetRSIXML
Release V1.0.0
KUKA Interleaf
KUKA.EthernetRSIXML_03.de 2 von 16
Inhaltsverzeichnis
1 Einleitung......................................................................................4
1.1 Systemvoraussetzungen.................................................................................... 4
1.2 Einschränkungen................................................................................................ 5
1.3 Installation.......................................................................................................... 5
2 Inbetriebnahme, Konfiguration..................................................... 7
2.1 Das RSI ST_COROB Objekt.............................................................................. 7
2.2 Instanz-Parameter.............................................................................................. 7
2.3 Laufzeit-Parameter............................................................................................. 8
2.4 Objekteingänge.................................................................................................. 9
2.5 Objektausgänge............................................................................................... 10
3 Ablauf Datenaustausch.............................................................. 11
3.1 KRC Daten – Roboterdaten senden................................................................. 13
3.2 Externe Daten – Sensordaten empfangen....................................................... 15
KUKA.EthernetRSIXML_03.de 3 von 16
1 Einleitung
Für die Kommunikationsform wurde das XML Protokoll gewählt. Dieses ist fest vorgegeben
und muss von dem externen System nach Vorgabe realisiert werden. Dabei können die
wichtigsten Parameter zur Einflussnahme auf das Robotersystem ausgewertet und für eine
weitere Verarbeitung benutzt werden.
1.1 Systemvoraussetzungen
Die Systemvoraussetzungen für KUKA.EthernetRSIXML sind:
Hardware:
• Steuerung KR C2 oder KR C2ed05
• Externes System (z.B. externer Host- oder Server-Rechner, Sensor)
KRC
Externes
Ethernet System
CoRob 1 1
1 1
KUKA.EthernetRSIXML_03.de 4 von 16
1.2 Einschränkungen
Aus Gründen der Netzwerkanbindung stehen Schrankabhängige Freigaben zur Verfügung.
Folgende Softwarestände werden für eine Standard KRC2 nicht unterstützt.
KSS Release: V1, V2, V3, V4, V5.1, V5.2, V5.4.0, V5.4.1, V5.4.2, V5.4.3, V5.4.4, V5.3.2
HF1, V5.3.2 HF2, V6
Für eine stabile Netzwerkverbindung ist darauf zu achten, dass eine Punkt zu
Punktverbindung realisiert wird. Es kann sich unter Umständen negativ auswirken, die
Kommunikation über ein Firmennetzwerk laufen zu lassen.
Eine Beeinflussung mit anderen Technologiepaketen ist nicht auszuschließen und kann zu
Problemen während der Kommunikation führen. Speziell rechenintensive Software führt zu
einer Verzögerung in der Netzwerkschicht und resultiert in einem Abbruch durch
Paketverspätungen.
Bei Verwendung einer MFC2, zu erkennen an dem Netzwerkstecker der an der MFC sitzt,
wird der Netzwerktreiber für Windows gelöscht. Für ein Windowsnetzwerk muss eine
zusätzliche Netzwerkkarte eingebaut werden.
1.3 Installation
Ab KSS Release 5 werden Technologiepakete ausschließlich als nachladbare Software-
Module angeboten. Diese werden auf einer CD-ROM als Datenträger zur Verfügung
gestellt.
Allgemeine Informationen zur Installation, Deinstallation, Reinstallation und dem Update
von Technologiepaketen sind in der Dokumentation [Installation/Deinstallation/Update
TechPakete] detailliert
beschrieben.
KUKA.EthernetRSIXML_03.de 5 von 16
Starten sie die Datei: SetupAll.exe im Wurzelverzeichnis der Installations-CD um die
EthernetRSIXML Software zu installieren. Wenn die Schnittstelle zum ersten Mal installiert
wird, erscheint, wie in Abb.2 gezeigt, die Abfrage einer Netzwerkadresse.
Tragen Sie hier eine gültige Netzwerkadresse ein, die der KUKA Steuerung zugeordnet
werden soll. Über diese Kommuniziert das EthernetRSIXML Paket mit dem externen
System.
INFO:
Die Netzwerkadresse wird in die Datei C:\Windows\vxWin.ini eingetragen. Eine
Überprüfung kann mit dem Befehl „version“ auf der TELNETSHELL (telnetk 192.0.1.1)
erfolgen. Alternativ kann diese Datei zu einem späteren Zeitpunkt auch von Hand
entsprechend angepasst werden. Eine Veränderung hat in der Adressvariable e={.......} zu
erfolgen.
Mit dem Modul EthernetRSIXML werden die Pakete:
RSI ASock
CoRob
1. RSI- Modul
2. ASock- Modul
3. CoRob- Modul
KUKA.EthernetRSIXML_03.de 6 von 16
Korrigieren sie gegebenenfalls die Reihenfolge in der Datei iosys.ini entsprechend.
2 Inbetriebnahme, Konfiguration
In diesem Kapitel werden die Grundeinstellungen für die EthernetRSIXML- Schnittstelle
beschrieben. Für eine weitergehende Programmierung der Schnittstelle sind Kenntnisse in
der Programmierung mit dem Technologiepaket Robot Sensor Interface Voraussetzung.
Beachten Sie die Dokumentation „RSI_xxx_de.pdf“ im Technologiepaket RSI.
2.2 Instanz-Parameter
Die Instanz-Parameter werden beim Anlegen des Objektes verwendet. Es wird der
Konstruktor des Objektes aufgerufen und das Objekt initialisiert.
Die Funktion ST_COROB(..) liefert einen Statuswert vom Typ RSIERR zurück. Ein
Rückgabewert kann eRSIOk, wenn das Öffnen der Verbindung erfolgreich war, und
eRSIBad, wenn ein Fehler aufgetreten ist, beinhalten. eRSIBad wird ebenfalls
zurückgeliefert, wenn ein interner Fehler aufgetreten ist. Tabelle1 zeigt die Parameter mit
ihren Bedeutungen.
Tabelle 1: Instanz-Parameter
KUKA.EthernetRSIXML_03.de 7 von 16
2.3 Laufzeit-Parameter
Im Programmablauf kann die Kommunikation mit den Laufzeit-Parametern beeinflusst
werden. Dazu ist der RSI-Objekt Bezeichner des ST_COROB Objektes anzugeben (laut
Instanz-Parameter) und der entsprechende Parameter mit der Funktion
ST_SETPARAM(iObjId, iPar, fValue) zu setzen. Der Parameter eCRParDebug ist im
Dauerbetrieb auf eCROff zu stellen, da es sonst zu einem Überlauf im Meldungspuffer
kommen kann. Für eine Beeinflussung des Verhaltens bei zu spät gekommenen Paketen
ist die Variable eCRParOutputMode zuständig. Diese kann zwei Zustände annehmen.
Zustand eCRZeroValue bedeutet dabei, dass im Fall zu spät gekommener Pakete NULL
Werte auf den Objektausgängen liegen. Mit eCRLastValue behalten die Objektausgänge
den letzten Wert bei, solange kein neues Datenpaket empfangen wird oder die maximal
mögliche Anzahl der verlorenen Datenpakete überschritten wird.
Tabelle 2: Laufzeit-Parameter
KUKA.EthernetRSIXML_03.de 8 von 16
Je nach Parametrisierung von eCRParOutputMode, der Verspätung von Daten „Verspätet“,
dem Zustand von eCROutErr und eCRInEnable werden abhängig vom
Kommunikationsstatus die Objektausgänge eCROutX bis eCROutC mit Werten belegt,
beibehalten oder auf Null gesetzt. Siehe dazu Tabelle 3. Details zu den Objektausgängen
sind in Kapitel 2.5 zu finden.
2.4 Objekteingänge
Jedes RSI Objekt, so auch das ST:COROB, verfügt über spezifische Eingänge, die je nach
Objektzustand und Definition verarbeitet werden. Ein Eingang wird anhand von RSI
Befehlen mit anderen RSI Objekten verbunden. Das Verknüpfen mit anderen Objekten
erfolgt mit dem RSI Befehl ST_NEWLINK(...). Mit der Verknüpfung externer Daten wird das
Sendeprotokoll mit diesen Werten gefüllt. Es erfolgt keine weitere Verarbeitung, wie
Typecasting oder Berechnungen.
Das Kommunikationsobjekt verarbeitet die Daten, wie in Tabelle 3 angegeben. Es ist
darauf zu achten, dass diese Datentypabhängig sind.
KUKA.EthernetRSIXML_03.de 9 von 16
Objektbeispiel
Name Type Unit Funktion mit passendem
Ausgang
eCRInEnable Bool - Enable für den Objektausgang. ST_DIGIN
eCRInX Long - Import / Sendung von 6 ST_SMSENS
eCRInY Integerwerten
eCRInZ
eCRInA
eCRInB
eCRInC
eCRInBool1 Bool - Import / Sendung von 5 Booleans
eCRInBool2
eCRInBool3
eCRInBool4
eCRInBool5
eCRInDig Long - Import / Sendung von 8 ST_DIGIN
Steuerungseingängen
2.5 Objektausgänge
Die Objektausgänge bezeichnen die Werte, welche das Objekt empfängt und an andere
RSI-Objekte weiterleitet. Dementsprechend muss das ST_COROB Objekt mit anderen
RSI-Objekten verknüpft werden. Das Verknüpfen mit anderen Objekten erfolgt mit dem RSI
Befehl ST_NEWLINK(...). Das Kommunikationsobjekt kann die in Tabelle 5 angegebenen
Daten empfangen b.z.w. setzt Statusausgänge zur Kommunikationskontrolle. Es ist darauf
zu achten, dass diese Datentypabhängig sind.
Ein eCROutErr ist eine Boolsche Variable, welche den Kommunikationsstaus wiedergibt.
Mit diesem Ausgang kann eine Fehlerbehandlung, in KRL programmiert, angestoßen
werden.
Objektbeispiel
Name Type Unit Funktion mit passendem
Eingang
eCROutErr Bool - Wird zu TRUE bei internen CoRob ST_STOP
Fehlern, wie z.B.
Kommunikationszusammenbruch
eCROutX Double [m] Export / Empfang von 3 Double ST_PATHCORR
(Translation)
eCROutY
eCROutZ
eCROutA Double - Export / Empfang von 3 Double
(Rotation)
eCROutB
eCROutC
KUKA.EthernetRSIXML_03.de 10 von 16
Objektbeispiel
Name Type Unit Funktion mit passendem
Eingang
eCROutDig Long - Export / Empfang von 8 ST_MAP2DIGOUT
Steuerungseingängen
eCROutA1 Double - Export / Empfang von 6 Double ST_AXISCORR
(Achswinkel)
eCROutA2
eCROutA3
eCROutA4
eCROutA5
eCROutA6
eCROutA7 Double - Export / Empfang von 6 Double
(Achswinkel externe Achsen)
eCROutA8
eCROutA9
eCROutA10
eCROutA11
eCROutA12
Tabelle 5: Objektausgänge
3 Ablauf Datenaustausch
Die KRC (Client) verbindet sich auf ein externes System (Server). Die Daten werden von
beiden Seiten als XML- Dokumente übertragen. Die Struktur und der Inhalt der XML-
Dokumente wird jeweils nach einem Schema festgelegt. Siehe Abschnitte 3.1 KRC Daten
und 3.2 Externe Daten.
Die KRC leitet den zyklischen Datenaustausch mit dem Senden der KRC- Daten ein. Von
nun an sendet die KRC bis auf weiteres alle 12ms die KRC- Daten. Das externe System
muss jedes KRC-Datenpaket binnen 4ms mit einem eigenen Datenpaket beantworten. Mit
ST_SETPARAM(.eCRParMaxLate) kann die maximale Anzahl an externen Datenpaketen
festgelegt werden, die in einem Block zu spät kommen dürfen. Sollte diese Grenze
überschritten werden, wird der Roboter mit einem RSI- Fehler angehalten. Mit
ST_SETPARAM(.eCRParAtDisableZero) wird festgelegt, ob Nullwerte oder die letzten
eingegangenen Werte auf den Ausgang (2 bis 7 und 9 bis 20) des ST_COROB Objektes
gelegt werden, wenn sich ein externes Datenpaket verspätet.
Der Datenaustausch wird mit der RSI- Funktion ST_OFF() angehalten und kann mit
ST_ON() fortgesetzt werden. Siehe Abbildung 4
KUKA.EthernetRSIXML_03.de 11 von 16
KRC (Client) Externes System (Server)
ST_COROB
Data : KrcData
[Erfolgreich]
KRCDataSend
ST_ON Sendet KRC Daten Empfängt KRC Daten
Daten Halt
ST_OFF
ST_RESET ExternalDataReceived
Empfängt externe Daten Sendet externe Daten
Data : ExternalData
Nachdem das erste externe Datenpaket von der KRC empfangen wurde, wechselt der
Kommunikationsstatus des ST_COROB Objektes von start auf continuous. Wird die RSI-
Funktion ST_OFF(..) aufgerufen, geht der Kommunikationsstatus von continuous zu
stopped über. Siehe Abbildung 5. Bevor das ST_COROB Objekt den Datenaustausch
einstellt, werden die KRC- Daten noch einmal mit dem Kommunikationsstatus stopped
übertragen.
start
ExternalDataReceived
KRCDataSend
continous
ST_OFF
stoped
Die Verbindung auf TCP/IP Ebene wird erst abgebrochen, wenn das CoRob- Objekt
zerstört wird oder ein Fehler auftritt. Folgende Abbildung zeigt schematisch das
Sequenzdiagramm für eine Kommunikation.
KUKA.EthernetRSIXML_03.de 12 von 16
Externes System
RsiAppProgram.src
ST_COROB
CoRob
Open
ST_ON KrcData
ExternalData
KrcData
ExternalData
KrcData
ExternalData
KrcData
ST_OFF ExternalData
KrcData
ST_RESET Close
Abbildung 6: Sequenzdiagramm
KUKA.EthernetRSIXML_03.de 13 von 16
Name Bedeutung Objekteingan
g
Abbildung 7: KrcData.xml
KUKA.EthernetRSIXML_03.de 14 von 16
3.2 Externe Daten – Sensordaten empfangen
In Tabelle 7 sind die Daten zusammengefasst, die das externe System an die Steuerung
(ST_COROB Objekt) sendet. In Abbildung 8 ist ein passendes Beispiel XML- Dokument zu
sehen.
Abbildung 8: ExternalData.xml
KUKA.EthernetRSIXML_03.de 15 von 16
4 Anforderung an das externe System
Das externe System ist ein prozessorgestütztes System, z.B.: PC mit Windows oder Linux,
Mikrocontroller mit VxWorks.
Das externe System besitzt eine Ethernetnetzwerkkarte.
Die Netzwerkkarte des externen Systems muss auf 10MBit/s Voll- Duplex konfiguriert sein.
Die Verbindung basiert auf dem TCP/IP- Protokoll.
Die KRC verbindet sich als Client mit dem externen System (Server).
Das externe System empfängt und sendet XML- Dokumente über einen Port.
4.1 Sicherheitshinweise
Für die EthernetRSIXML gelten dieselben Sicherheitshinweise wie für das RSI
Technologiepaket!
KUKA.EthernetRSIXML_03.de 16 von 16