KUKA Roboter

RoboDK unterstützt sämtliche KUKA Robotersteuerung seit KRC2, inklusive KUKA KRC3 und KRC4. Diese Dokumentation basiert auf der KRC4 Steuerung. Die KRC4 Steuerung läuft auf dem Microsoft Betriebssystem Windows 7. Ältere Steuerungen, wie KRC2, laufen auf Windows 95. Das Handprogrammiergerät zeigt „HMI“ an. Dies ist ein Programm, welches KUKA entwickelt hat und auf Windows läuft. Es beinhaltet das Interface, welches der Benutzer verwenden muss, um den Roboter zu bewegen.

Die folgenden Abschnitte zeigen das typische Vorgehen, bei der Verwendung eines KUKA Handprogrammiergeräts (Teach Pendants) zur Vorbereitung neuer Programme, zur anschließenden Übertragung auf den Roboter.

Übertragen eines Roboterprogramms

Folgen Sie diesen Schritten um ein Programm von einem USB Stick zu übertragen:

1.Stecken Sie den USB in den Robotercontroller (Dies ist viel schneller als eine Teachpendant/Handprogrammiergerät Verbindung)

2.Sollte der USB Stick nicht sichtbar sein, muss der Administrator Modus verwendet werden

3.Wählen Sie die Datei vom USB Stick aus

4.Wählen Sie Bearbeiten➔Kopieren

5.Wählen Sie einen Ordner innerhalb der KRC Einheit

6.Wählen Sie Bearbeiten➔Einfügen

Robots KUKA - Bild 1Robots KUKA - Bild 2

Verhalten des Postprozessors

Beim Erstellen von Roboterprogrammen für KUKA-KRC-Robotersteuerungen können Sie die Koordinatensysteme ($BASE) und Werkzeuge ($TOOL) entweder mit denselben Koordinaten definieren, die Sie in RoboDK eingegeben haben, oder über nummerierte Koordinatensysteme bzw. nummerierte Werkzeuge.

Standardmäßig exportiert RoboDK die vollständige Pose (XYZABC-Werte) Ihres Werkzeugs und Koordinatensystems genauso, wie Sie sie in RoboDK eingegeben haben. Der folgende Code zeigt ein Beispiel dafür, was RoboDK für ein KUKA-SRC-Roboterprogramm erzeugt:

; ---- Setting tool (TCP) ----------

; TOOL_DATA[3]={FRAME: X 116.058,Y 0.0,Z 219.481,A 0.0,B 60.0,C 0.0}

$TOOL = {FRAME: X 116.058,Y 0.0,Z 219.481,A 0.0,B 60.0,C 0.0}

; $TOOL=TOOL_DATA[3]

; ----------------------------------

 

; ---- Setting reference (Base) ----

; BASE_DATA[1]={FRAME: X 640.289,Y -290.0,Z 0.0,A 90.0,B 0.0,C 0.0}

$BASE = {FRAME: X 640.289,Y -290.0,Z 0.0,A 90.0,B 0.0,C 0.0}

; $BASE = BASE_DATA[1]

; ----------------------------------

Wenn Sie es hingegen vorziehen, Ihr Werkzeug (Variable $TOOL) und Koordinatensystem (Variable $BASE) mit nummerierten Werkzeugen und Bezugssystemen zu verknüpfen, können Sie die folgenden Variablen in Ihrem Postprozessor ändern:

FRAME_INDEX: Setzen Sie diese Variable auf True, um Ihr Koordinatensystem mit einem nummerierten Base-Frame zu verknüpfen. Stellen Sie sicher, dass Ihr Bezugssystem in Ihrer RoboDK-Station eine Nummer besitzt, wie im folgenden Bild gezeigt.

TOOL_INDEX: Setzen Sie diese Variable auf True, um Ihr Werkzeug mit einem nummerierten Werkzeug zu verknüpfen. Stellen Sie sicher, dass Ihr Werkzeug in Ihrer RoboDK-Station eine Nummer besitzt, wie im folgenden Bild gezeigt.

Robots KUKA - Bild 3

Ausführen eines Roboterprogramms

Folgen Sie diesen Schritten um ein Roboterprogramm auf dem KUKA KRC zu starten:

1.Wählen Sie ein Programm aus der KRC Speichereinheit aus

2.Wählen Sie Auswählen auf dem Bildschirm

3.Verwenden Sie den Knopf “R” (oben) und  setzen Sie das Programm zurück (Reset)

4.Starten Sie das Programm indem sie den grünen „Play“ Knopf auf dem Handprogrammiergerät verwenden.

Robots KUKA - Bild 4Robots KUKA - Bild 5

Auslesen des TCP

Die folgenden Schritte erlauben es einen TCP zu erstellen oder zu bearbeiten(Der TCP wird in der KUKA KRC Programmierung auch als $BASE bezeichnet):

1.Wählen Sie MENÜ➔Start-up➔Kalibrieren➔Tool/Werkzeug

2.Wählen Sie ein Werkzeug und ändern oder lesen Sie die X,Y,Z Position des TCP aus.

Robots KUKA - Bild 6Robots KUKA - Bild 7


Auslesen der Gelenkwinkelwerte

Die folgenden Schritte erlauben das Auslesen der Achswinkel des Roboters:

1.Wählen Sie MENÜ➔Anzeige➔Aktuelle Position

2.Wählen Sie den achsspezifischen Modus und verwenden Sie die linke Spalte um die Achswinkel zu erhalten

Robots KUKA - Bild 8Robots KUKA - Bild 9

Administrator Modus

Manche Untermenüs benötigen Administratorrechte. Mittels folgender Schritte können Sie den Administrator Modus aufrufen:

1.Wählen Sie MENÜ➔Konfiguration➔Benutzergruppe

2.Wählen Sie Administrator (oder eine andere).

3.Falls nötig, geben Sie das Passwort ein (Das Standardpasswort lautet “kuka”)

Robots KUKA - Bild 10Robots KUKA - Bild 11


RoboDK Robotertreiber für KUKA

Robotertreiber bieten eine Alternative zur Offline-Programmierung (bei der ein Programm erstellt und anschließend auf den Roboter übertragen und ausgeführt wird). Mit Robotertreibern ist es möglich, eine Simulation direkt auf dem Roboter auszuführen (Online-Programmierung). Weitere Informationen finden Sie im Abschnitt Robotertreiber.

Sie können eine Verbindung zwischen RoboDK und Ihrer KUKA-Steuerung herstellen, um den Roboter automatisch von Ihrem Computer aus zu bewegen. Dies ermöglicht die Verwendung der RoboDK-Option Auf Roboter ausführen für Online-Programmierung und Debugging. Die Verbindung kann über eine Standard-Ethernet-Verbindung (TCP/IP) hergestellt werden.

Wenn Sie keine aktuelle Version von RoboDK verwenden, nutzen Sie möglicherweise noch den Legacy-Treiber (apikuka, basierend auf dem KUKAVARPROXY-Projekt). Um den aktuellen Treiber zu verwenden, stellen Sie sicher, dass im Fenster Verbindung zum Roboter unter Weitere Optionen der Treiber kukabridge ausgewählt ist.

Robots KUKA - Bild 12

Folgen Sie diesen Schritten, um den RoboDK-Treiber für KUKA einzurichten:

Laden Sie die neueste Installationsdatei für den C3 Bridge Server (ausführbare Datei c3setup) über diesen Link herunter.

1.Kopieren Sie über die KUKA-HMI die Installationsdatei c3setup.exe auf den Desktop Ihrer Steuerung oder in einen Ordner des Steuerungssystems.

2.Schließen Sie eine Maus an (optional, aber empfohlen).    
Es ist möglich, USB-Geräte an das Teach-Pendant oder die Steuerung anzuschließen (ein Neustart ist nicht erforderlich).   
Alternativ ist es auch möglich, eine Remote-Desktop-Verbindung herzustellen.           
Diese Schritte können auch über den Touchscreen des Teach-Pendants und die virtuelle Tastatur durchgeführt werden.

3.Über die KUKA-HMI-Anwendung können Sie das Hauptmenü mit der KUKA-Schaltfläche oben links auf dem Bildschirm öffnen:

a. KUKAKonfigurationBenutzergruppewählen Sie Experte (Passwort: kuka)

b. KUKAStart-upServiceHMI minimieren (der Windows-Bildschirm erscheint)

4.Suchen Sie die zuvor kopierte Datei c3setup-X.Y.Z.exe (wobei X.Y.Z die Kukabridge-Releaseversion ist, z. B. 1.7.1) und führen Sie sie aus. Folgen Sie den Anweisungen des Installationsprogramms.

5.Geben Sie Port 7000 (oder einen anderen Port, falls Port 7000 belegt ist, siehe Anmerkung unten) für die TCP/UDP-Kommunikation frei (dieser Schritt ist bei KUKA-KRC2-Steuerungen nicht erforderlich):

a.Stellen Sie die HMI wieder her.

b. KUKAStart-upNetzwerkkonfigurationErweitert

c.NATPort hinzufügenPortnummer 7000

d.Legen Sie die zulässigen Protokolle fest: tcp/udp

Robots KUKA - Bild 13 Robots KUKA - Bild 14 Robots KUKA - Bild 15

6.Starten Sie den C3 Bridge Server über die Desktop-Verknüpfung oder den Eintrag im Startmenü (Sie können diesen Schritt überspringen, wenn Sie im letzten Installationsschritt Run C3 Bridge Server ausgewählt haben).

7.Um den C3 Bridge Server automatisch beim Systemstart zu starten, kopieren Sie die Anwendungsverknüpfung vom Desktop in den Autostart-Ordner des Startmenüs.

Der C3 Bridge Server ist nun bereit. Sie können dieses Programm weiterlaufen lassen. Dieser Server ermöglicht den Austausch globaler Variablenwerte zwischen der KUKA-Steuerung und dem entfernten PC, das Herunter- und Hochladen von KRL-Programmen, die Steuerung der Ausführung von KRL-Programmen und mehr.

Die weitere Konfiguration der Steuerung kann auf zwei Arten erfolgen: automatisch über den interaktiven Modus des Kukabridge-Treibers (nur KRC4) und manuell durch Bearbeiten der Dateien der Robotersteuerung in der KUKA-HMI. Schauen wir uns beide Ansätze an.

Ändern der Portnummer des C3 Bridge Servers

Der C3 Bridge Server speichert seine Einstellungen in der Windows-Registrierung. Gehen Sie wie folgt vor, um den Netzwerkport zu ändern:

1.Beenden Sie den C3 Bridge Server.

2.Öffnen Sie den Registrierungs-Editor und navigieren Sie zu HKEY_CURRENT_USER\SOFTWARE\C3 Bridge Interface.

3.Ändern Sie den Wert des Schlüssels NetworkTcpPort auf einen anderen Wert als 7000 (zum Beispiel 7001).

4.Starten Sie den C3 Bridge Server erneut und wiederholen Sie Schritt 6 des vorherigen Abschnitts (Freigabe des entsprechenden Ports).

Neuere Versionen des C3 Bridge Servers (1.7.1 und höher) unterstützen Befehlszeilenoptionen. Insbesondere kann der Serverport geändert werden, indem die Anwendung mit dem Parameter -tcpPort gestartet wird. Zum Beispiel:

c3bridge.exe -tcpPort 7001

Automatische Konfiguration mit einem Skript

Das Skript KUKA_Auto_Configuration.py im Ordner C:\RoboDK\Library\Scripts kann verwendet werden, um die automatische Konfiguration des KUKA-Steuerungssystems durchzuführen. In diesem Fall muss die aktuelle RoboDK-Station mindestens einen KUKA-Roboter mit der richtigen IP-Adresse und dem richtigen Port im Fenster Verbindung zum Roboter enthalten. Das Skript kann über das Menü ExtrasSkript ausführen oder über die Tastenkombination Umschalt+S aufgerufen werden.

Automatische Konfiguration

Voraussetzungen: RoboDK Version 5.5.2 oder höher, Windows-Betriebssystem, Installationspfad C:\RoboDK.

1.Öffnen Sie eine Eingabeaufforderung über STARTAlle ProgrammeZubehörEingabeaufforderung           
oder STARTAusführencmd.

2.Wechseln Sie in das Verzeichnis C:\RoboDK\bin und starten Sie kukabridge.exe, indem Sie die folgenden Befehle ausführen:

c:

cd C:\RoboDK\bin

..\api\Robot\kukabridge.exe

3.Der KUKA Bridge Driver läuft nun im interaktiven Modus.

4.Stellen Sie eine Verbindung zum Steuerungssystem her, indem Sie CONNECT <IP-Adresse des Roboters> <Port> <Anzahl der Roboterachsen> eingeben, zum Beispiel:

CONNECT 172.1.1.10 7000 6

5.Bei Erfolg sehen Sie die folgende Ausgabe:

SMS:Connecting

Connected

SMS:Working...

SMS:Ready

6.Fordern Sie die aktuelle Achsposition des Roboters mit dem Befehl CJNT an:

CJNT

SMS:Working...

JNTS 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000

SMS:Ready

7.Führen Sie die automatische Konfiguration mit dem Befehl CONFIGURE FORCE durch:

CONFIGURE FORCE

SMS:Working...

Requesting robot program state

Current robot program state is #P_FREE

Reading current configuration ($config.dat)

Read complete, updating configuration

Adding definition of variable COM_ACTION

Adding definition of variable COM_ACTCNT

Adding definition of variable COM_ROUNDM

Adding definition of variable COM_VALUE1

Adding definition of variable COM_VALUE2

Adding definition of variable COM_VALUE3

Adding definition of variable COM_VALUE4

Adding definition of variable COM_E6AXIS

Adding definition of variable COM_FRAME

Adding definition of variable COM_POS

Adding definition of variable COM_E6POS

Configuration lines have been updated: 11 added, 0 removed, 0 updated, 659 total

Checking existence of old backup file ($config.bak)

Old backup file exists, deleting it

Creating new backup file ($config.bak)

Backup completed, writing new configuration

New configuration was successfully written

Checking existence of program file (RoboDKsync543.src)

Program file does not exists

Writing program file to robot system

Configuration is complete

SMS:Ready

8.Ihr Roboter ist nun einsatzbereit. Sie müssen nur noch das Programm RoboDKsyncVER.src auswählen und ausführen (wobei VER die Version des Sync-Programms ist, z. B. 543).

9.Anmerkung: Bitte verwenden Sie die neuesten Versionen von RoboDKsync und Kukabridge, um Kompatibilitätsprobleme zu vermeiden.

Manuelle Konfiguration

Die nächsten Schritte bestehen darin, das Hauptprogramm, das die Roboterbewegungen verwaltet, manuell einzurichten:

1.Fügen Sie die Deklaration der folgenden globalen Variablen hinzu:      
Suchen und bearbeiten Sie dazu über die KUKA-HMI die Datei „KRC:\R1\SYSTEM\$CONFIG.DAT“. Auf den Ordner „KRC:\R1\“ kann auch über das Laufwerk C:\ unter folgendem Windows-Pfad zugegriffen werden: „C:\KRC\ROBOTER\KRC\“.

INT COM_ACTION=0

INT COM_ACTCNT=0

REAL COM_ROUNDM=0

REAL COM_VALUE1=0

REAL COM_VALUE2=0

REAL COM_VALUE3=0

REAL COM_VALUE4=0

DECL E6AXIS COM_E6AXIS

DECL FRAME COM_FRAME

DECL POS COM_POS

DECL E6POS COM_E6POS

2.Kopieren Sie das KUKA-SRC-Programm RoboDKsyncVER.src in den Ordner KRC\R1\PROGRAM. Das Suffix VER im Dateinamen bezeichnet die Version des Programms (zum Beispiel RoboDKsync543.src).

3.Starten Sie das Programm RoboDKsyncVER.src manuell, damit der Roboter auf Befehle vom Computer wartet.

Wenn das Programm RoboDKsyncVER.src nicht läuft, kann RoboDK die Roboterachsen dennoch auslesen, sofern der C3 Bridge Server auf der Robotersteuerung läuft.

Legacy-Treiber für KUKA (Kukavarproxy)

Der Legacy-Treiber für KUKA heißt apikuka und wird zusammen mit KUKAVARPROXY verwendet. Diese Lösung gilt inzwischen als veraltet und wird von RoboDK ausgemustert. Wenn Sie diesen Treiber verwenden möchten, stellen Sie sicher, dass er im Fenster Verbindung zum Roboter unter Weitere Optionen ausgewählt ist.

Folgen Sie diesen Schritten, um den Legacy-Treiber für KUKA einzurichten:

1.Schließen Sie eine Maus an (optional, aber dringend empfohlen). 
Es ist möglich, USB-Geräte an das Teach-Pendant oder die Steuerung anzuschließen (ein Neustart ist nicht erforderlich).   
Alternativ ist es auch möglich, eine Remote-Desktop-Verbindung herzustellen.           
Diese Schritte können auch über den Touchscreen des Teach-Pendants und die virtuelle Tastatur durchgeführt werden.

2.Über die KUKA-HMI-Anwendung können Sie das Hauptmenü mit der KUKA-Schaltfläche oben links auf dem Bildschirm öffnen:

a. KUKAKonfigurationBenutzergruppewählen Sie Administrator (Passwort: kuka)

b. KUKAStart-upServiceHMI minimieren (der Windows-Bildschirm erscheint)

3.Kopieren Sie den Ordner KUKAVARPROXY auf den Desktop (oder an eine andere Stelle auf dem Steuerungs-PC).

4.Geben Sie Port 7000 für die TCP/UDP-Kommunikation frei (dieser Schritt ist bei KUKA-KRC2-Steuerungen nicht erforderlich):

a.Wählen Sie die HMI.

b. KUKAStart-upNetzwerkkonfigurationErweitert

c.NATPort hinzufügenPortnummer 7000

d.Legen Sie die zulässigen Protokolle fest: tcp/udp

5.Starten Sie das Programm KUKAVARPROXY.EXE auf der Robotersteuerung (unter Windows).

6.Die folgenden Schritte ermöglichen es, den Treiber bei einem Neustart der Steuerung automatisch zu starten (empfohlen):

a.Erstellen Sie eine Verknüpfung der Datei KUKAVARPROXY.EXE

b.Wählen Sie Windows STARTAlle ProgrammeRechtsklick StartupÖffnen

c.Fügen Sie die Verknüpfung in den Startup-Ordner ein

Der KUKAVARPROXY-Server ist nun bereit. Sie können dieses Programm weiterlaufen lassen. Dieser Server ermöglicht den Austausch globaler Variablen zwischen der KUKA-Steuerung und dem entfernten PC.

Die nächsten Schritte bestehen darin, das Hauptprogramm, das die Roboterbewegungen verwaltet, einzurichten:

7.Fügen Sie die Deklaration der folgenden globalen Variablen hinzu:      
Suchen und bearbeiten Sie dazu über die KUKA-HMI die Datei „KRC:\R1\SYSTEM\$CONFIG.DAT“. Auf den Ordner „KRC:\R1\“ kann auch über das Laufwerk C:\ unter folgendem Windows-Pfad zugegriffen werden: „C:\KRC\ROBOTER\KRC\“.

INT COM_ACTION=0

INT COM_ACTCNT=0

REAL COM_ROUNDM=0

REAL COM_VALUE1=0

REAL COM_VALUE2=0

REAL COM_VALUE3=0

REAL COM_VALUE4=0

DECL E6AXIS COM_E6AXIS

DECL FRAME COM_FRAME

DECL POS COM_POS

DECL E6POS COM_E6POS

8.Kopieren Sie das KUKA-SRC-Programm RoboDKsyncVER.src in den Ordner KRC\R1\PROGRAM. Das Suffix VER im Dateinamen bezeichnet die Version des Programms (zum Beispiel RoboDKsync543.src).

9.Starten Sie das Programm RoboDKsyncVER.src manuell, damit der Roboter auf Befehle vom Computer wartet.

Wenn das Programm RoboDKsyncVER.src nicht läuft, kann RoboDK die Roboterachsen dennoch auslesen, sofern das Programm KUKAVARPROXY auf der Robotersteuerung läuft.

Fehlerbehebung

Dieser Abschnitt erklärt, wie Sie Probleme, die bei der Verwendung von KUKA-Robotertreibern mit RoboDK auftreten können, feststellen, diagnostizieren und beheben.

Überprüfen der Verfügbarkeit von Port 7000

Um Probleme mit Port 7000 zu beheben, sollten Sie sich auf der KUKA-Steuerung in der Benutzergruppe Experte anmelden.

1. KUKAKonfigurationBenutzergruppewählen Sie Experte (Passwort: kuka)

2. KUKAStart-upServiceHMI minimieren (der Windows-Bildschirm erscheint)

3.Öffnen Sie eine Eingabeaufforderung über STARTAlle ProgrammeZubehörEingabeaufforderung           
oder STARTAusführencmd

4.Fordern Sie mit dem folgenden Befehl eine Liste aller Verbindungen und lauschenden Ports an:

netstat -a -b -n -o -p TCP | findstr :7000

5.Wenn die Antwort keine Zeichenfolgen enthielt, ist Port 7000 frei und kann für den Treiberbetrieb verwendet werden. Die folgenden Schritte können übersprungen werden.

6.Wenn die Antwort auf den Befehl aus Schritt 4 wie folgt aussah:

TCP    0.0.0.0:7000           0.0.0.0:0              LISTENING       1840

7.Die letzte Zahl in der obigen Zeile ist die Prozess-ID (PID). Mit ihr können Sie über den folgenden Befehl Informationen zum Prozessnamen abrufen (verwenden Sie anstelle von 1840 Ihre eigene Nummer):

tasklist /fi "PID eq 1840"

8.Das Ergebnis des Befehls tasklist enthält Informationen über den Prozess, der auf Port 7000 lauscht. Beispielausgabe:

Image Name                     PID Session Name        Session#    Mem Usage

========================= ======== ================ =========== ============

c3bridge.exe                  1840 Console                    1      5,912 K

9.Wenn der Port von den Prozessen KukavarProxy.exe oder c3bridge.exe belegt ist, ist das System bereit, mit dem ausgewählten Treiber zu arbeiten. Wenn der Port von einer anderen Anwendung belegt ist, muss diese beendet oder die Portnummer des C3 Bridge Servers geändert werden.

Deinstallieren des Legacy-Treibers

Wenn Sie bisher KUKAVARPROXY verwendet haben und auf den C3 Bridge Server umsteigen möchten, ist kein spezielles Deinstallationsverfahren erforderlich. Minimieren Sie die KUKA-HMI, schließen Sie KUKAVARPROXY und stellen Sie sicher, dass es beim Systemstart nicht automatisch geladen wird (keine Verknüpfung unter STARTAlle ProgrammeStartup). Es ist nicht erforderlich, die ausführbare Datei von KUKAVARPROXY zu löschen.

Konfigurationsfehler

Verfahren zur automatischen oder manuellen Konfiguration des Steuerungssystems können fehlschlagen. Meist liegt dies daran, dass die Datei $config.dat nicht überschrieben werden kann. Diese Datei kann nur von einem Benutzer mit erweiterten Rechten (Experte) bearbeitet werden. Eine weitere Voraussetzung ist, dass alle Interpreter gestoppt werden: Roboter- und Submit-Interpreter. Um den Roboter-Interpreter zu stoppen, brechen Sie einfach ein ausgewähltes Programm ab, oder wählen Sie kein Programm aus, wenn das Steuerungssystem gerade erst geladen wurde. Um den Submit-Interpreter abzubrechen, verwenden Sie die HMI wie in den folgenden Abbildungen für KRC2- bzw. KRC4-Systeme gezeigt:

Falls die Datei $config.dat nach dem Stoppen aller Interpreter weiterhin gesperrt ist, können Sie die Ausführung des Softwareteils der Robotersteuerung vollständig stoppen. Klicken Sie im KRC2-System auf den rechteckigen Bereich neben den Statusanzeigen (S I R) und klicken Sie auf die Schaltfläche Exit:

Klicken Sie im KRC4-System auf das grüne Robotersymbol im Infobereich und wählen Sie Stop KRC:

Nachdem Sie die Steuerungssoftware gestoppt haben, kann die Datei C:\KRC\ROBOTER\KRC\R1\System\$config.dat mit einem beliebigen Texteditor bearbeitet werden. Führen Sie einen Neustart des Betriebssystems durch, um die Änderungen zu übernehmen.

Externe Achsen

Sie sollten in der Lage sein, den Treiber und den Postprozessor auch dann mit KUKA-Robotersteuerungen zu verwenden, wenn Sie externe Achsen wie einen Drehtisch einsetzen. Wir empfehlen die Verwendung eines nummerierten Koordinatensystems oder eines Koordinatensystems mit der korrekten Maschinendefinition, die bereits auf Ihrer Robotersteuerung definiert ist.

Die folgenden Dateien Ihrer KUKA-Robotersteuerung helfen Ihnen zu verstehen, wie das KUKA-System aufgebaut ist:

10.KRC\R1\System\$config.dat

11.KRC\R1\System\bas.src

12.KRC\R1\Mada\$machine.dat

Wenn Sie einen Drehtisch verwenden, sollte die Position seines Ursprungs in einer MACHINE_DEF-Variablen der Datei config.dat definiert sein. Wer auch immer das System installiert hat, sollte ein Beispiel für die Erstellung eines Programms mit einem synchronisierten, auf der BAS-Funktion basierenden Drehtisch bereitgestellt haben.

Wenn Sie beispielsweise die BAS-Funktion in Ihrer SRC-Datei mit dem Flag ex_BASE und einem bestimmten Index aufrufen, etwa Index 9:

BASE_DATA[9] = {FRAME: X 0, Y 0, Z 0, A 0, B 0, C 0}

BAS(#ex_BASE,9)

Damit geben Sie an, dass Sie Index 9 Ihres MACHINE_FRAME_DAT verwenden möchten. Sie sollten außerdem die Definitionen von BAS und EX_BASE prüfen, um zu sehen, auf welchen Maschinenindex (MACH_IDX) sich Ihre Steuerung standardmäßig bezieht. Das direkt vor dem Aufruf der BAS-Funktion in Ihrer SRC-Datei definierte BASE_DATA-Array könnte einfach der Versatz Ihrer auf dem Drehtisch montierten Vorrichtung sein.

Wenn Sie einen mit dem Roboterarm synchronisierten Drehtisch verwenden, müssen Sie unter Umständen die Variable $BASE in Ihrem Postprozessor oder Treiber manuell so ändern, dass sie dem Ursprung Ihres Drehtisches entspricht.

Wenn Ihnen beispielsweise der BASE_DATA-Index 9 zur Verfügung steht, sollten Sie den folgenden Code mit Ihrem Treiber verwenden.

  ;--------

  ; Replace this the $BASE definition by the following 2 lines

  ;    to make the KUKA RoboDKSynch driver work with external axes:

  ; $BASE = {FRAME: X 0, Y 0, Z 0, A 0, B 0, C 0} ; Comment this line

  BASE_DATA[9] = {FRAME: X 0, Y 0, Z 0, A 0, B 0, C 0}

  BAS(#ex_BASE,9)

  ; the BAS ex_BASE function links to a fixed MACHINE_DEF index

  ;   visible in the BAS function

 

  ; The previous two lines are equivalent to the following,

  ;   if the BAS function uses index 2 for the Machine definition

  ; BASE_DATA[9] = {FRAME: X 0, Y 0, Z 0, A 0, B 0, C 0}

  ; $BASE=EK(MACHINE_DEF[2].ROOT,MACHINE_DEF[2].MECH_TYPE,BASE_DATA[9])

  ;--------

$BASE=EK(EX_AX_DATA[1].ROOT,EX_AX_DATA[1].EX_KIN,EX_AX_DATA[1].OFFSET)

Für den Postprozessor könnten Sie die vorherige Zeile in der Funktion setFrame Ihres Postprozessors durch diese $BASE-Definition ersetzen, wenn Sie den Versatz zwischen dem Drehtisch und Ihrer Vorrichtung berücksichtigen möchten:

$BASE=EK(MACHINE_DEF[2].ROOT, MACHINE_DEF[2].MECH_TYPE, {%s})' % self.pose_2_str(pose)

Alternativ können Sie bei Verwendung des Treibers das Koordinatensystem isolieren, indem Sie das unten beschriebene Verfahren befolgen (sodass Sie die Kinematik Ihrer externen Achsen in RoboDK nicht exakt nachbilden müssen).

Um beispielsweise den RoboDK-Treiber standardmäßig verwenden zu können, sollte die Kinematik Ihrer in der Robotersteuerung definierten externen Achsen mit der in RoboDK erstellten Kinematik übereinstimmen. Wenn Sie außerdem einen Drehtisch verwenden, sollte dessen Nullpunkt mit der in RoboDK definierten Position des Drehtisches übereinstimmen.

Gehen Sie wie folgt vor, um den Treiber mit einem bekannten Koordinatensystem zu verwenden:

1.Wählen Sie ExtrasOptionenRegisterkarte Treiber.

2.Aktivieren Sie die Option Kartesische Koordinaten in Bezug auf das Bezugssystem bereitstellen.

Robots KUKA - Bild 16

3.Ersetzen Sie die Variable $BASE in Ihrer Programmdatei RoboDKsync.src durch das Koordinatensystem, das Sie verwenden möchten.

Wenn Sie beispielsweise das Bezugssystem Nummer 5 verwenden möchten, sollte die Datei RoboDKsync.src wie folgt aussehen (die erste Zeile ist auskommentiert, Sie finden sie etwa in Zeile 25):

; $BASE = {FRAME: X 0,Y 0,Z 0,A 0,B 0,C 0}

$BASE = BASE_DATA[5]

Dieses Koordinatensystem muss in der KUKA-Robotersteuerung definiert worden sein, und RoboDK wird diesen Wert nicht überschreiben.

Roboterkalibrierung

Sie können RoboDK verwenden, um KUKA-Roboter zu kalibrieren, die bereits von KUKA mit der Option Absolute Accuracy kalibriert wurden. Sie sollten jedoch sicherstellen, dass diese Option in der KUKA-Robotersteuerung deaktiviert ist. Wenn Sie einen KUKA-Roboter kalibrieren, der bereits von KUKA mit der Option Absolute Accuracy kalibriert wurde, ist es wichtig, diese Option zu deaktivieren, damit Sie ihn mit RoboDK kalibrieren können.

Um die Absolute Accuracy von KUKA zu deaktivieren, müssen Sie die Variable DEACTIVATE_ABS_ACCUR auf TRUE setzen. Diese Variable finden Sie in der Datei KRC:\STEU\MADA\$custom.dat (etwa in Zeile 73).

Sie können sicherstellen, dass die Absolute-Accuracy-Option von KUKA ordnungsgemäß deaktiviert wurde, indem Sie den Roboter in eine bekannte Position bewegen (bewegen Sie zum Beispiel die Achsen des realen Roboters und in RoboDK in die Home-Position) und sicherstellen, dass die von der Robotersteuerung angezeigte kartesische Position mit derselben von RoboDK angezeigten kartesischen Position übereinstimmt.