1 / 92

KRL Kuka Robot Language für KRC V5.3.5

KRL Kuka Robot Language für KRC V5.3.5. Referent: Gregor Franz. Übersicht:. Allgemeines zu KRL-Programmen Variablen und Vereinbarungen Bewegungsprogrammierung Programmablaufkontrolle Ein-/Ausgabeanweisungen Unterprogramme und Funktionen Datenlisten. 1 Allgemeines zu KRL-Programmen.

Download Presentation

KRL Kuka Robot Language für KRC V5.3.5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KRL Kuka Robot Languagefür KRC V5.3.5 Referent: Gregor Franz

  2. Übersicht: • Allgemeines zu KRL-Programmen • Variablen und Vereinbarungen • Bewegungsprogrammierung • Programmablaufkontrolle • Ein-/Ausgabeanweisungen • Unterprogramme und Funktionen • Datenlisten

  3. 1 Allgemeines zu KRL-Programmen 1.1 Aufbau und Struktur von Programmen 1.2Programme erstellen und editieren 1.3Ändern von Programmen 1.4 Verstecken von Programmteilen 1.5 Kommentare

  4. 1.1 Aufbau und Strukturen von Programmen

  5. 1.1.1 Dateienkonzept Jedes Programm besteht aus 2 Dateien. • SRC-Datei (*.src) • DAT-Datei (*.dat)

  6. 1.1.2 Dateinstruktur DEF PROGRAMMNAME(X1: IN) Deklarationen Initialisierungen Anweisungen END Standardmäßig nicht sichtbar im Editor der KUKA HMI-Software

  7. 1 Allgemeines zu KRL-Programmen 1.1 Aufbau und Struktur von Programmen 1.2Programme erstellen und editieren 1.3Ändern von Programmen 1.4 Verstecken von Programmteilen 1.5 Kommentare

  8. 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

  9. 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

  10. 1 Allgemeines zu KRL-Programmen 1.1 Aufbau und Struktur von Programmen 1.2Programme erstellen und editieren 1.3Ändern von Programmen 1.4 Verstecken von Programmteilen 1.5 Kommentare

  11. 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

  12. 1 Allgemeines zu KRL-Programmen 1.1 Aufbau und Struktur von Programmen 1.2Programme erstellen und editieren 1.3Ändern von Programmen 1.4 Verstecken von Programmteilen 1.5 Kommentare

  13. 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

  14. 1 Allgemeines zu KRL-Programmen 1.1 Aufbau und Struktur von Programmen 1.2Programme erstellen und editieren 1.3Ändern von Programmen 1.4 Verstecken von Programmteilen 1.5 Kommentare

  15. 1.5 Kommentare Code Bsp.: ;Kommentar

  16. Übersicht: • Allgemeines zu KRL-Programmen • Variablen und Vereinbarungen • Bewegungsprogrammierung • Programmablaufkontrolle • Ein-/Ausgabeanweisungen • Unterprogramme und Funktionen • Datenlisten

  17. 2Variablen und Vereinbarungen 2.1 Variablen und Namen 2.2 Datenobjekte 2.3 Datenmanipulation 2.4 Systemvariablen und Systemdateien

  18. 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

  19. 2Variablen und Vereinbarungen 2.1 Variablen und Namen 2.2 Datenobjekte 2.3 Datenmanipulation 2.4 Systemvariablen und Systemdateien

  20. 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

  21. 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 2.2.2 Einfache Datentypen • INT(32Bit): Wertezuweisungen können über Dezimalzahlen (90), Binärzahlen (B1011110) und Hexadezimalzahlen (H5A) gemacht werden. • REAL: • BOOL: • CHAR: Code Bsp.Realzahl1 = -13.156 Realzahl2 = 10 Realzahl3 = 34.65 E-12 Code Bsp.Zustand1 = TRUE Zustand2 = FALSE Code Bsp.Zeichen1 = „G” Zeichen2 = „?“

  22. 2.2.3 Felder (Arrays) Der Indexzähler beginnt immer ab 1 ! Code Bsp. DECL INT OTTO[2] … OTTO[1] = 5 OTTO[2] = 90

  23. 2.2.4Zeichenketten Code Bsp. DECL CHAR NAME[8] … NAME[3] = “G” NAME[] = “ABCDE”

  24. 2.2.5 Strukturen Daten-Typerzeugung am Beispiel der StrukturPOS: 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}

  25. Vordefinierte Strukturen In Datei $OPERATE.SRC definiert: STRUC AXIS REAL A1,A2,A3,A4,A5,A6 STRUC E6AXIS REAL A1,A2,A3,A4,A5,A6,E1,E2,E3,E4,E5,E6 STRUC FRAME REAL X,Y,Z,A,B,C STRUC POS REAL X,Y,Z,A,B,C, INT S,T STRUC E6POS REAL X,Y,Z,A,B,C,E1,E2,E3,E4,E5,E6, INT S,T

  26. 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

  27. 2Variablen und Vereinbarungen 2.1 Variablen und Namen 2.2 Datenobjekte 2.3 Datenmanipulation 2.4 Systemvariablen und Systemdateien

  28. 2.3.1.1 Arithmetische Operatoren ` + , - , * , / ` Bsp.: ERGEBNIS = VAR+5*VAR2/4-9 2.3.1.2 Geometrische Operatoren `:` 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.

  29. 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 2.3.1.3Vergleichsoperatoren

  30. Operator Operandenzahl Beschreibung NOT 1 Invertierung AND 2 logisches UND OR 2 logisches ODER EXOR 2 exklusives ODER 2.3.1.4 Logische Operatoren Code Bsp. (A>5) AND (B<12)

  31. 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 2.3.1.5 Bit-Operatoren

  32. Priorität Operator 1 NOT B_NOT 2 * / 3 + - 4 AND B_AND 5 EXOR B_EXOR 6 OR B_OR 7 == <> < > >= <= 2.3.1.6Prioritäten von Operatoren

  33. 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 2.3.2Standardfunktionen

  34. 2Variablen und Vereinbarungen 2.1 Variablen und Namen 2.2 Datenobjekte 2.3 Datenmanipulation 2.4 Systemvariablen und Systemdateien

  35. 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

  36. 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]

  37. 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

  38. 2.4 Systemvariablen und Systemdateien Vordefinierte Datenlisten mit vordefinierten Systemvariablen • $MACHINE.DAT • $CUSTOM.DAT • $CONFIG.DAT • $ROBOTER.DAT

  39. Übersicht: • Allgemeines zu KRL-Programmen • Variablen und Vereinbarungen • Bewegungsprogrammierung • Programmablaufkontrolle • Ein-/Ausgabeanweisungen • Unterprogramme und Funktionen • Datenlisten

  40. 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

  41. Koordinatensystem Systemvariable Status Weltkoordinatensystem $WORLD schreibgeschützt Roboterkoordinatensystem $ROBROOT schreibgeschützt Werkzeugkoordinatensystem $TOOL beschreibbar Basis(Werkstück-)koordinatensystem $BASE beschreibbar 3.1 Verwendung verschiedener Koordinatensysteme

  42. 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

  43. 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

  44. 3.2.3Hö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.

  45. 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.

  46. Wert Wert Bit 5 Bit 2 Bit 4 Bit 3 Bit 1 Bit 2 Bit 1 Bit 0 Bit 0 0 0° <= A5 < 180° A5 < -180° A3 < Ф (Ф hängt vom Robotertyp ab) Grundbereich 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° 1 -180° <= A5 < 0° A5 >= 180° A3 >= Ф (Ф hängt vom Robotertyp ab) Überkopfbereich S (Status) und T (Turn): T: S:

  47. 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

  48. 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 3.3.1 Geschwindigkeiten und Beschleunigung (des TCP)

  49. 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 sich z.B.: Bei Kreisbewegung (CIRC): $CIRC_TYPE = #BASE Raumbezogene Orientierung $CIRC_TYPE = #VAR Bahnbezogene Orientierung Durch die Standardinitialisierung eines Programms mit BAS(#INITMOV,0) werden die Systemvariablen $ORI_TYPE = #VAR und $CIRC_TYPE = #BASE gesetzt.

  50. 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.

More Related