92
KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Embed Size (px)

Citation preview

Page 1: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

KRL Kuka Robot Languagefür KRC V5.3.5

Referent:

Gregor Franz

Page 2: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Übersicht:

1. Allgemeines zu KRL-Programmen

2. Variablen und Vereinbarungen

3. Bewegungsprogrammierung

4. Programmablaufkontrolle

5. Ein-/Ausgabeanweisungen

6. Unterprogramme und Funktionen

7. Datenlisten

Page 3: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1 Allgemeines zu KRL-Programmen

1.1 Aufbau und Struktur von Programmen

1.2 Programme erstellen und editieren

1.3 Ändern von Programmen

1.4 Verstecken von Programmteilen

1.5 Kommentare

Page 4: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1.1 Aufbau und Strukturen von Programmen

Page 5: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1.1.1 Dateienkonzept

Jedes Programm besteht aus 2 Dateien.

• SRC-Datei (*.src)

• DAT-Datei (*.dat)

Page 6: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1.1.2 Dateinstruktur

DEF PROGRAMMNAME(X1: IN)Deklarationen

Initialisierungen

Anweisungen

END

Standardmäßig nicht sichtbar im Editor der KUKA HMI-Software

Page 7: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1 Allgemeines zu KRL-Programmen

1.1 Aufbau und Struktur von Programmen

1.2 Programme erstellen und editieren

1.3 Ändern von Programmen

1.4 Verstecken von Programmteilen

1.5 Kommentare

Page 8: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1.2.1 Erstellen eines Programms

In der Bedienoberfläche (KUKA HMI Software):

Menüleiste -> Datei -> Neu

• Expert • Expert Submit• Function• Modul• und 2 weitere

Page 9: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1.2.2 Programm editieren, kompilieren und binden

Mit Softkey „Öffnen“ , unter der Anwahl der Datei, wird der Editor gestartet.

Beim Schließen (Softkey „Schließen“) des Editors wird das Programm gespeichert und kompiliert.

 

Compiler: Fehler? => *.ERR-Datei

 

Binder: => Softkey „Anwählen“ => Fehler? => *.ERR-Datei

Page 10: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1 Allgemeines zu KRL-Programmen

1.1 Aufbau und Struktur von Programmen

1.2 Programme erstellen und editieren

1.3 Ändern von Programmen

1.4 Verstecken von Programmteilen

1.5 Kommentare

Page 11: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1.3 Ändern von Programmen

Es gibt zwei Möglichkeiten mit der Kuka HMI Software Programme zu editieren:

- Programm-Korrektur-Modus (PROGKOR-Modus)

- Editor: => gewöhnlichen Editor

Page 12: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1 Allgemeines zu KRL-Programmen

1.1 Aufbau und Struktur von Programmen

1.2 Programme erstellen und editieren

1.3 Ändern von Programmen

1.4 Verstecken von Programmteilen

1.5 Kommentare

Page 13: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1.4 Verstecken von Programmteilen

- Versteckte Programmteile werden ab der Experten Benutzergruppe sichtbar

- Versteckte Programmteile heißen „FOLD“ (von Folder = Ordner)

- Beschränkung der Informationsmenge (Detailansicht)

Code Bsp.:

;FOLD FOLDNAME

Code

Code

;ENDFOLD

Page 14: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1 Allgemeines zu KRL-Programmen

1.1 Aufbau und Struktur von Programmen

1.2 Programme erstellen und editieren

1.3 Ändern von Programmen

1.4 Verstecken von Programmteilen

1.5 Kommentare

Page 15: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

1.5 Kommentare

Code Bsp.: ;Kommentar

Page 16: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Übersicht:

1. Allgemeines zu KRL-Programmen

2. Variablen und Vereinbarungen

3. Bewegungsprogrammierung

4. Programmablaufkontrolle

5. Ein-/Ausgabeanweisungen

6. Unterprogramme und Funktionen

7. Datenlisten

Page 17: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2 Variablen und Vereinbarungen

2.1 Variablen und Namen

2.2 Datenobjekte

2.3 Datenmanipulation

2.4 Systemvariablen und Systemdateien

Page 18: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.1 Variablen und Namen

Namen:- maximal 24 Zeichen lang- Buchstaben(A-Z), Ziffern (0-9), sowie die Zeichen _ und $- Nicht mit Ziffern beginnen- Keine Schlüsselwörter sein

Lebensdauer einer Variablen- Innerhalb einer SRC-Datei deklariert -> beschränkt auf die

Laufzeit des Programms.- Innerhalb einer DAT-Datei deklariert -> solange DAT-Datei

exsistiert

Code Bsp: P1_BIS_P12$ = 10

Page 19: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2 Variablen und Vereinbarungen

2.1 Variablen und Namen

2.2 Datenobjekte

2.3 Datenmanipulation

2.4 Systemvariablen und Systemdateien

Page 20: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.2.1 Vereinbarungen und Initialisierung von Datenobjekten

- DECEL kann für die Datentypen INT, REAL, CHAR, BOOL, POS, E6POS, FRAME, AXIS, E6AXIS entfallen.

- Daten vom Typ POS benötigt keine Deklaration (POS=> Standardtyp)

Code Bsp.: DECEL INT ANZAHL, NUMMER

Page 21: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.2.2 Einfache Datentypen

• INT (32Bit):

Wertezuweisungen können über Dezimalzahlen (90), Binärzahlen (B1011110) und Hexadezimalzahlen (H5A) gemacht werden.

• REAL:

• BOOL:

• CHAR:

Sclüsselwort INT REAL BOOL CHAR

Bedeutung Ganze Zahlen Gleitkommazahlen Zustand 1 Zeichen

Wertebereich -231 ... 231-1 1.1E-38...3.4E38 TRUE, FALSE ASCII-Zeichen

Code Bsp. Realzahl1 = -13.156Realzahl2 = 10Realzahl3 = 34.65 E-12

Code Bsp. Zustand1 = TRUEZustand2 = FALSE

Code Bsp. Zeichen1 = „G”Zeichen2 = „?“

Page 22: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.2.3 Felder (Arrays)

Der Indexzähler beginnt immer ab 1 !

Code Bsp. DECL INT OTTO[2] …OTTO[1] = 5OTTO[2] = 90

Page 23: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.2.4 Zeichenketten

Code Bsp. DECL CHAR NAME[8]

NAME[3] = “G”

NAME[] = “ABCDE”

Page 24: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.2.5 Strukturen

Daten-Typerzeugung am Beispiel der Struktur POS:STRUC POS REAL X,Y,Z,A,B,C, INT S,T

Punkt-Separator:

DECL POS POSITION...POSITION.X = 34.4

  Erlaubt Zugriff auf Strukturvariablen, oder Zugriff über Aggregat: POSITION = {X 34.4, Y –23.5, ... ,T 6}POSITION = {POS : X 230,Y 0.0, ... ,T 5}

Page 25: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Vordefinierte Strukturen

In Datei $OPERATE.SRC definiert:

STRUC AXIS REAL A1,A2,A3,A4,A5,A6STRUC E6AXIS REAL A1,A2,A3,A4,A5,A6,E1,E2,E3,E4,E5,E6STRUC FRAME REAL X,Y,Z,A,B,CSTRUC POS REAL X,Y,Z,A,B,C, INT S,TSTRUC E6POS REAL X,Y,Z,A,B,C,E1,E2,E3,E4,E5,E6, INT S,T

Page 26: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.2.6 Aufzähltypen (ENUM)

Bsp. Daten-Typerzeugung:

ENUM MODE_OP T1,T2,AUT,EX,INVALD

Bsp. Variablendeklaration:

DECL MODE_OP $MODE_OP

Bsp. Initialisierung / Abfragen :

$MODE_OP = #T1

Page 27: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2 Variablen und Vereinbarungen

2.1 Variablen und Namen

2.2 Datenobjekte

2.3 Datenmanipulation

2.4 Systemvariablen und Systemdateien

Page 28: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.3.1.1 Arithmetische Operatoren ` + , - , * , / `

2.3.1.2 Geometrische Operatoren `:`

Bsp.: ERGEBNIS = VAR+5*VAR2/4-9

Bsp.: NEUSYS = BASIS:WERKZEUG

-führt zwischen den Datentypen FRAME und POS eine Frame-Verknüpfung durch.-Frame-Verknüpfung stellt eine Transformation von Koordinatensystemen dar.-Datentyp des Ergebnisses entspricht immer des rechts stehenden Operanden.

Page 29: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.3.1.3  Vergleichsoperatoren

Operator Beschreibung zulässige Datentypen

== gleich INT, REAL, CHAR, ENUM, BOOL

<> ungleich INT, REAL, CHAR, ENUM, BOOL

> größer INT, REAL, CHAR, ENUM

< kleiner INT, REAL, CHAR, ENUM

>= größer gleich INT, REAL, CHAR, ENUM

<= kleiner gleich INT, REAL, CHAR, ENUM

Page 30: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.3.1.4 Logische Operatoren

Code Bsp. (A>5) AND (B<12)

Operator Operandenzahl Beschreibung

NOT 1 Invertierung

AND 2 logisches UND

OR 2 logisches ODER

EXOR 2 exklusives ODER

Page 31: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.3.1.5 Bit-Operatoren

Operator

Operandenzahl

Beschreibung

B_NOT 1 bitweise Invertierung

B_AND 2 bitweise UND--Verknüpfung

B_OR 2 bitweise ODER--Verknüpfung

B_EXOR

2 bitweise exklusive ODER—Verknüpfung

Page 32: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.3.1.6 Prioritäten von Operatoren

Priorität Operator

1 NOT B_NOT

2 * /

3 + -

4 AND B_AND

5 EXOR B_EXOR

6 OR B_OR

7 == <> < > >= <=

Page 33: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.3.2 Standardfunktionen

Beschreibung Funktion Wertebereich Argument

Wertebereich Ergebnis

Betrag ABS(X) -∞...+∞ 0...+∞

Wurzel SQRT(X) 0...+∞ 0...+∞

Sinus SIN(X) -∞...+∞ -1...+1

Cosinus COS(X) -∞...+∞ -1...+1

Tangens TAN(X) -∞...+∞* -∞...+∞

Arcuscos. ACOS(x) -1...+1 0°...180°

Arcustang. ATAN2(Y,X) -∞...+∞ -90°...+90°

* keine ungeradzahlige Vielfache von 90°, d.h. X ¸ (2k-1)*90°, k Alle Datentypen sind vom Typ REAL

Page 34: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2 Variablen und Vereinbarungen

2.1 Variablen und Namen

2.2 Datenobjekte

2.3 Datenmanipulation

2.4 Systemvariablen und Systemdateien

Page 35: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.4 Systemvariablen und Systemdateien

Alle Systemvariablen beginnen mit $ gefolgt vom Namen.

Bsp.: $POS_ACT => aktuelle Roboterposition

$BASE => Basiskoordinatensystem

$VEL.CP => Bahngeschwindigkeit

Und viele weitere hinterlegt in der KRC-Dokumentation => Systemvariablen.pdf

Flags ($FLAG[1]bis $FLAG[1024]):

Können als globale Merker verwendet werden; Es gibt bis zu 1024 Flags

z.B. $FLAG[1] = TRUE => gesetzt

Page 36: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.4 Systemvariablen und Systemdateien

Zyklische Flags ($CYCFLAG[1] ... $CYCFLAG[32]):

Hier: $IN[2] und $IN[3] werden zyklisch ausgewertet. Egal wo der Programmlaufzeiger steht, wird die $CYCFLAG[10] beschreiben bzw. verändert.

Bei einer Zuweisung einer zyklischen Flag sind zulässig: • boolesche Systemvariablen und• boolesche Variablen, welche in einer Datenliste deklariert und initialisiert

wurden.Unzulässig sind:• Funktionen, welche einen booleschen Wert zurückliefern

Code Bsp.: $CYCFLAG[10] = $IN[2] AND $IN[3]

Page 37: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.4 Systemvariablen und Systemdateien

Timer:16 Timervariablen $TIMER[1] ... $TIMER[16]

Initialisierung der Timer bei Steuerungshochlauf mit:$TIMER_FLAG[1] bis [16] = FALSE$TIMER_STOP[1] bis [16] = TRUE$TIMER[1] bis [16] = 0

Timervariablen in Millisekunden (ms). Aktualisierung erfolgt alle 12ms.

Code Bsp.: Starten des Timers 4: $TIMER_STOP[4] = FALSE Stoppen des Timers 4: $TIMER_STOP[4] = TRUE Setzen des Timers 4: $TIMER[4] = 0

Page 38: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

2.4 Systemvariablen und Systemdateien

Vordefinierte Datenlisten mit vordefinierten Systemvariablen

• $MACHINE.DAT

• $CUSTOM.DAT

• $CONFIG.DAT

• $ROBOTER.DAT

Page 39: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Übersicht:

1. Allgemeines zu KRL-Programmen

2. Variablen und Vereinbarungen

3. Bewegungsprogrammierung

4. Programmablaufkontrolle

5. Ein-/Ausgabeanweisungen

6. Unterprogramme und Funktionen

7. Datenlisten

Page 40: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3 Bewegungsprogrammierung

3.1 Verwendung verschiedener Koordinatensysteme

3.2 Punkt-zu-Punkt Bewegungen (PTP)

3.3 Bahnbewegungen (CP-Bewegungen = Continous Path)

3.4 Rechnervorlauf

3.5 Überschleifbewegung

3.6 Teachen von Punkten

Page 41: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.1 Verwendung verschiedener Koordinatensysteme

Koordinatensystem Systemvariable Status

Weltkoordinatensystem $WORLD schreibgeschützt

Roboterkoordinatensystem $ROBROOT schreibgeschützt

Werkzeugkoordinatensystem $TOOL beschreibbar

Basis(Werkstück-)koordinatensystem $BASE beschreibbar

Page 42: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3 Bewegungsprogrammierung

3.1 Verwendung verschiedener Koordinatensysteme

3.2 Punkt-zu-Punkt Bewegungen (PTP)

3.3 Bahnbewegungen (CP-Bewegungen = Continous Path)

3.4 Rechnervorlauf

3.5 Überschleifbewegung

3.6 Teachen von Punkten

Page 43: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.2.1 Allgemein (Synchron-PTP)

Bedeutung:

Nur die führende Achse verfährt mit den programmierten Grenzwerten für Beschleunigung und Geschwindigkeit.

- $VEL_AXIS[Achsnummer] in Prozent- $ACC_AXIS[Achsennummer] in Prozent - Bezieht sich auf hinterlegten Höchstwert

Page 44: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.2.3 Höheres Fahrprofil ($OPT_MODE = #STEP1)

• Die Geschwindigkeiten werden immer dem maximal zulässigen Momenten angepasst.

• Die Geschwindigkeits- und Beschleunigungswerte wirken sich unmittelbar auf die maximal zulässigen Beschleunigungsmomente aus.

Page 45: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.2.3 Bewegungsbefehle

PTP {A1 0,A2 90,A3 –90,A4 0,A5 0,A6 30}

Absolutbewegung mit Achskoordinaten

PTP_REL {A1 35,A3 –45}

Realtivbewegung, wobei hier nur Achse 3 und 1 bewegt werden

NULLFRAME:

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

 

S (Status) und T (Turn):

Um Eindeutigkeit der Roboterstellung herzustellen.

Page 46: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

S (Status) und T (Turn):

Wert Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 A6 >= 0° A5 >= 0° A4 >= 0° A3 >= 0° A2 >= 0° A1 >= 0°

1 A6 < 0° A5 < 0 ° A4 < 0° A3 < 0° A2 < 0° A1 < 0°

Wert Bit 2 Bit 1 Bit 0

0 0° <= A5 < 180°A5 < -180°

A3 < Ф(Ф hängt vom Robotertyp ab)

Grundbereich 

1 -180° <= A5 < 0°A5 >= 180° 

A3 >= Ф(Ф hängt vom Robotertyp ab)

Überkopfbereich 

S:

T:

Page 47: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3 Bewegungsprogrammierung

3.1 Verwendung verschiedener Koordinatensysteme

3.2 Punkt-zu-Punkt Bewegungen (PTP)

3.3 Bahnbewegungen (CP-Bewegungen = Continous Path)

3.4 Rechnervorlauf

3.5 Überschleifbewegung

3.6 Teachen von Punkten

Page 48: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.3.1 Geschwindigkeiten und Beschleunigung (des TCP)

  Variablenname 

Einheit Funktion

Geschwindigkeiten $VEL.CP m/s Bahngeschwindigkeit

  $VEL.ORI1 °/s Schwenkgeschwindigkeit

  $VEL.ORI2 °/s Drehgeschwindigkeit

Beschleunigungen $ACC.CP m/s² Bahnbeschleunigung

  $ACC.ORI1 °/s² Schwenkbeschleunigung

  $ACC.ORI2 °/s² Drehbeschleunigung

Alle Variablen sind vom Typ REAL

Page 49: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.3.2 Orientierungsführung (des TCP)

Bei Linearbewegung:$ORI_TYPE = #CONSTANT Orientierung im Raum ändert sich nicht$ORI_TYPE = #VAR Orientierung im Raum ändert sichz.B.:  

Bei Kreisbewegung (CIRC):$CIRC_TYPE = #BASE Raumbezogene Orientierung$CIRC_TYPE = #VAR Bahnbezogene Orientierung Durch die Standardinitialisierung eines Programms mit BAS(#INITMOV,0) werden dieSystemvariablen $ORI_TYPE = #VAR und $CIRC_TYPE = #BASE gesetzt.

Page 50: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.3.3 Linearbewegung

LIN => Absolutbewegung mit kartesischen Koordinaten

LIN_REL => Relativbewegung in kartesischen Koordinaten

Bei beiden Befehlen sind nur die Datentypen FRAME oder POS zulässig

 

• Der Winkelstatus ‚S’ und ‚T’ des Endpunktes ist immer gleich der des Startpunkts, weil ‚S’ u. ‚T’ ignoriert werden. Somit ist HOME-Fahrt notwendig damit SAK erreicht wird.

Page 51: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.3.4 Kreisbewegung

CIRC => Absolutbewegung mit kartesischen Koordinaten

CIRC_REL => Relativbewegung ausgehend von Startposition mit kartesischen Koordinaten.

Code Bsp.: CIRC {Hilfspunkt-Koodinaten}, {Zielpunkt-Koordinaten}CA 235.0

Page 52: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3 Bewegungsprogrammierung

3.1 Verwendung verschiedener Koordinatensysteme

3.2 Punkt-zu-Punkt Bewegungen (PTP)

3.3 Bahnbewegungen (CP-Bewegungen = Continous Path)

3.4 Rechnervorlauf

3.5 Überschleifbewegung

3.6 Teachen von Punkten

Page 53: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.4 Rechnervorlauf

Über die Systemvariable $ADVANCE wird der Vorlauf in maximal zuvor abgearbeiteten Bewegungssätzen eingestellt. Der Hauptlaufzeiger eilt diesem nach und ist sichtbar durch den gelben Pfeil dargestellt.

Ein automatischer Vorlaufstop kann durch bestimmte Systemvariablen verursacht werden. Der Vorlaufstop kann mit CONTINUE aufgehoben werden, gilt jedoch nur für die folgende Zeile.

 

z.B. durch WAIT SEC 0

Page 54: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3 Bewegungsprogrammierung

3.1 Verwendung verschiedener Koordinatensysteme

3.2 Punkt-zu-Punkt Bewegungen (PTP)

3.3 Bahnbewegungen (CP-Bewegungen = Continous Path)

3.4 Rechnervorlauf

3.5 Überschleifbewegung

3.6 Teachen von Punkten

Page 55: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.5 Überschleifbewegung

• Der Programmierer hat nur Einfluss auf Beginn und Ende des Überschleifens.

• Der Rechnervorlauf ($ADVANCE =1) muss mindestens auf 1 gesetzt sein und kein automatischer Vorlaufstop sollte zuvor eingelegt werden.

Page 56: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.5.1 PTP-PTP-Überschleifen

- In Maschinendaten ist für jede Achse ein Winkel vordefiniert: $APO_DIS_PTP[1] bis [6]=90

- Über $APO.CPTP = Prozentsatz lässt sich der Beginn des Überschleifens einstellen.

- Je größer dieser Prozentsatz, desto mehr wird die Bahn abgerundet.

Page 57: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.5.2 LIN-LIN-Überschleifen

Als Überschleifkontur wird eine Parabelförmige Bahn berechnet.

Überschleifbeginn mit:Variable Datentyp Einheit Bedeutung Schlüsselwort

$APO.CDIS REAL mm Translatorisches Distanzkriterium C_DIS

$APO.CORI REAL ° Orientierungsdistanz C_ORI

$APO.CVEL INT % Geschwindigkeitskriterium C_VEL

Page 58: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.5.3 CIRC-CIRC-Überschleifen und CIRC-LIN-Überschleifen

Page 59: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3 Bewegungsprogrammierung

3.1 Verwendung verschiedener Koordinatensysteme

3.2 Punkt-zu-Punkt Bewegungen (PTP)

3.3 Bahnbewegungen (CP-Bewegungen = Continous Path)

3.4 Rechnervorlauf

3.5 Überschleifbewegung

3.6 Teachen von Punkten

Page 60: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

3.6 Teachen von Punkten

• Codezeile:

• Handgesteuertes Anfahren

Code Bsp: PTP !

Page 61: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Übersicht:

1. Allgemeines zu KRL-Programmen

2. Variablen und Vereinbarungen

3. Bewegungsprogrammierung

4. Programmablaufkontrolle

5. Ein-/Ausgabeanweisungen

6. Unterprogramme und Funktionen

7. Datenlisten

Page 62: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

4 Programmablaufkontrolle

4.1 Programmverzweigungen

4.2 Schleifen

4.3 Warteanweisungen

4.4 Anhalten eines Programms

Page 63: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

4.1 Programmverzweigungen

• Sprunganweisungen (GOTO)

 

• Bedingte Verzweigung (IF)

• Verteiler (SWITCH)

 

Code Bsp.:GOTO MARKE. . . MARKE:

Code Bsp.: IF (Ausführbedingung) THEN

Anweisung ELSE

Anweisung ENDIF

Code Bsp.: SWITCH PROG_NRCASE 1. . . CASE #NO1. . . DEFAULT

ENDSWITCH

Page 64: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

4 Programmablaufkontrolle

4.1 Programmverzweigungen

4.2 Schleifen

4.3 Warteanweisungen

4.4 Anhalten eines Programms

Page 65: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

4.2 Schleifen

• FOR-Schleife

• WHILE-Schleife

• REPEAT-Schleife

• Endlosschleife (LOOP)

• Schleifenabbruch (EXIT) => beendet Schleife vorzeitig

Code Bsp.:WHILE (Ausführbedingung )AnweisungenENDWHILE

Code Bsp.:REPEAT AnweisungenUNTIL (Abbruchbedingung)

Code Bsp.:LOOP AnweisungenENDLOOP

Code Bsp.:FOR Zähler=Start TO Ende STEP Schrittweite AnweisungenENDFOR

Page 66: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

4 Programmablaufkontrolle

4.1 Programmverzweigungen

4.2 Schleifen

4.3 Warteanweisungen

4.4 Anhalten eines Programms

Page 67: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

4.3 Warteanweisungen

• Bedingte Warteanweisung

• Wartezeiten

Code Bsp.: WAIT FOR (Bedingung)

Code Bsp.: WAIT SEC Zeit

Page 68: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

4 Programmablaufkontrolle

4.1 Programmverzweigungen

4.2 Schleifen

4.3 Warteanweisungen

4.4 Anhalten eines Programms

Page 69: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

4.4 Anhalten des Programms

• HALT => Unterbricht das Programm, führt jedoch die letzte Anweisung aus.

• BRAKE => Anweisung wird sofort angehalten

Page 70: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Übersicht:

1. Allgemeines zu KRL-Programmen

2. Variablen und Vereinbarungen

3. Bewegungsprogrammierung

4. Programmablaufkontrolle

5. Ein-/Ausgabeanweisungen

6. Unterprogramme und Funktionen

7. Datenlisten

Page 71: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

5 Ein-/Ausgabeanweisungen

5.1 Allgemeines

5.2 Binäre Ein-/Ausgänge

5.3 Digitale Ein-/Ausgänge

5.4 Impulsausgänge

Page 72: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

5.1 Allgemeines

Kuka-Standartsteuerschrank -> Stecker X-11 (MFC-Baugruppe) sind folgende Ein- und Ausgänge:

Eingänge 1 ... 16

Ausgänge 1 ... 16 (mit max. 100mA belastbar; 100% Gleichzeitigkeit)

Ausgänge 17 ... 20 (mit max. 2A belastbar; 100% Gleichzeitigkeit)

 • Über die Variablen $IN[Nr] bzw. $OUT[Nr] werden diese angesprochen.

Jeder Zugriff auf diese Variablen löst Vorlaufstopp aus.

Page 73: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

5 Ein-/Ausgabeanweisungen

5.1 Allgemeines

5.2 Binäre Ein-/Ausgänge

5.3 Digitale Ein-/Ausgänge

5.4 Impulsausgänge

Page 74: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

5.2 Binäre Ein-/Ausgänge

$OUT[Nr] = TRUE

$OUT[Nr] = FALSE

Werden Ein-/Ausgänge einzeln angesprochen, so sind diese binäre Ein-/Ausgänge.

SIGNAL -> Es ist möglich Ein-/Ausgängen Namen über ‚SIGNAL’ zuzuweisen

Code Bsp: BOOL SCHALTER

SIGNAL SCHALTER $IN[5]

Nun ist der Name des Eingangs 5 = Schalter

Page 75: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

5 Ein-/Ausgabeanweisungen

5.1 Allgemeines

5.2 Binäre Ein-/Ausgänge

5.3 Digitale Ein-/Ausgänge

5.4 Impulsausgänge

Page 76: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

5.3 Digitale Ein-/Ausgänge

Hier wird über den Signalnamen ‘AUS’ ein Digitaler Ausgang von 11Bit ($OUT[10] To $OUT[20]) definiert. Dem Ausgang kann nun ein Wert übermittelt werden:

AUS = 35

AUS = `B1000111`

AUS = `H23`

Code Bsp: SIGNAL AUS $OUT[10] TO $OUT[20]

Page 77: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

5 Ein-/Ausgabeanweisungen

5.1 Allgemeines

5.2 Binäre Ein-/Ausgänge

5.3 Digitale Ein-/Ausgänge

5.4 Impulsausgänge

Page 78: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

5.4 Impulsausgänge

PULSE($OUT[4],TRUE,0.7) -> Ausgang 4 wird 0,7 Sekunden auf TRUE(High) gesetzt.

 

Impulszeiten zwischen 0,012 und 231 Sekunden sind möglich. Das Raster hat 0,1 Sekunde.

Page 79: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Übersicht:

1. Allgemeines zu KRL-Programmen

2. Variablen und Vereinbarungen

3. Bewegungsprogrammierung

4. Programmablaufkontrolle

5. Ein-/Ausgabeanweisungen

6. Unterprogramme und Funktionen

7. Datenlisten

Page 80: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

6 Unterprogramme und Funktionen

6.1 Deklarationen

6.2 Aufruf und Parameterübergabe

Page 81: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

6.1 Deklarationen

• Lokale Unterprogramme/ Funktionen => Unterhalb des Hauptprogramms

• Globale Unterprogramme/ Funktionen => Eigene SRC-Datei

• Funktionen als Unterprogramm

Code Bsp.: DEF UNTERPROG(). . .END

Code Bsp.: DEFFCT INT FUNKTION(). . . RETURN(X)ENDFCT

Page 82: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Wichtige Sätze:

• Alle in der Datenliste (DAT-Datei) des Hauptprogramms deklarierten Variablen sind in den lokalen Unterprogrammen/Funktionen bekannt.

• Alle im Hauptprogramm (SRC-Datei) deklarierten Variabeln sind nur dem Hauptprogramm bekannt.

• Ein Hauptprogramm kann nicht auf lokale Unterprogramme oder Funktionen eines anderen Hauptprogramms zugreifen.

• Der Name von Unterprogrammen/ Funktionen darf 24 Zeichen lang sein.

Page 83: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Unterschied zwischen lokalen und globalen Unterprogrammen:

Page 84: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

6 Unterprogramme und Funktionen

6.1 Deklarationen

6.2 Aufruf und Parameterübergabe

Page 85: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

6.2 Aufruf und Parameterübergabe

• Call by value (IN)

 

• Call by value (OUT)

 

Code Bsp.: DEFFCT INT FUNCTION(ZAHL: IN)INT ZAHLZAHL = ZAHL* ZAHLRETURN(ZAHL)ENDFCT

Code Bsp.: DEFFCT INT FUNCTION(ZAHL: OUT). . . siehe oben . . .ENDFCT

Page 86: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Übersicht:

1. Allgemeines zu KRL-Programmen

2. Variablen und Vereinbarungen

3. Bewegungsprogrammierung

4. Programmablaufkontrolle

5. Ein-/Ausgabeanweisungen

6. Unterprogramme und Funktionen

7. Datenlisten

Page 87: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

7 Datenlisten

7.1 Lokale Datenlisten

7.2 Globale Datenlisten

Page 88: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

7.1 Lokale Datenlisten

Sätze:

• Die Datenliste ist lokal, obwohl sie eine eigene Datei ist.

• In einer Datenliste dürfen nur Deklarationen und Initialisierungen stehen.

• Es kann in einer Zeile deklariert und initialisiert werden.

• Nach Ausführen des Programms werden veränderte Werte in Datenliste gespeichert.

Page 89: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

7.2 Globale Datenlisten

Schlüsselwörter IMPORT und PUBLIC:

Page 90: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

7 Datenlisten

7.1 Lokale Datenlisten

7.2 Globale Datenlisten

Page 91: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

7.2 Globale Datenlisten

Schlüsselwörter GLOBAL und PUBLIC:

Page 92: KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz

Übersicht:

1. Allgemeines zu KRL-Programmen

2. Variablen und Vereinbarungen

3. Bewegungsprogrammierung

4. Programmablaufkontrolle

5. Ein-/Ausgabeanweisungen

6. Unterprogramme und Funktionen

7. Datenlisten

Geschafft!Vielen Dank für‘s Zuhören!