Vortrag_KRL (1)
-
Upload
eugenio-carvalho -
Category
Documents
-
view
199 -
download
8
Transcript of Vortrag_KRL (1)
![Page 1: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/1.jpg)
KRL Kuka Robot Languagefür KRC V5.3.5
Referent:
Gregor Franz
![Page 2: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/2.jpg)
Ü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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/3.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/4.jpg)
1.1 Aufbau und Strukturen von Programmen
![Page 5: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/5.jpg)
1.1.1 Dateienkonzept
Jedes Programm besteht aus 2 Dateien.
• SRC-Datei (*.src)
• DAT-Datei (*.dat)
![Page 6: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/6.jpg)
1.1.2 Dateinstruktur
DEF PROGRAMMNAME(X1: IN)Deklarationen
Initialisierungen
Anweisungen
END
Standardmäßig nicht sichtbar im Editor der KUKA HMI-Software
![Page 7: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/7.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/8.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/9.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/10.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/11.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/12.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/13.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/14.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/15.jpg)
1.5 Kommentare
Code Bsp.: ;Kommentar
![Page 16: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/16.jpg)
Ü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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/17.jpg)
2 Variablen und Vereinbarungen
2.1 Variablen und Namen
2.2 Datenobjekte
2.3 Datenmanipulation
2.4 Systemvariablen und Systemdateien
![Page 18: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/18.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/19.jpg)
2 Variablen und Vereinbarungen
2.1 Variablen und Namen
2.2 Datenobjekte
2.3 Datenmanipulation
2.4 Systemvariablen und Systemdateien
![Page 20: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/20.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/21.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/22.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/23.jpg)
2.2.4 Zeichenketten
Code Bsp. DECL CHAR NAME[8]
…
NAME[3] = “G”
NAME[] = “ABCDE”
![Page 24: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/24.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/25.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/26.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/27.jpg)
2 Variablen und Vereinbarungen
2.1 Variablen und Namen
2.2 Datenobjekte
2.3 Datenmanipulation
2.4 Systemvariablen und Systemdateien
![Page 28: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/28.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/29.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/30.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/31.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/32.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/33.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/34.jpg)
2 Variablen und Vereinbarungen
2.1 Variablen und Namen
2.2 Datenobjekte
2.3 Datenmanipulation
2.4 Systemvariablen und Systemdateien
![Page 35: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/35.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/36.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/37.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/38.jpg)
2.4 Systemvariablen und Systemdateien
Vordefinierte Datenlisten mit vordefinierten Systemvariablen
• $MACHINE.DAT
• $CUSTOM.DAT
• $CONFIG.DAT
• $ROBOTER.DAT
![Page 39: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/39.jpg)
Ü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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/40.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/41.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/42.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/43.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/44.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/45.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/46.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/47.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/48.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/49.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/50.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/51.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/52.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/53.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/54.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/55.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/56.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/57.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/58.jpg)
3.5.3 CIRC-CIRC-Überschleifen und CIRC-LIN-Überschleifen
![Page 59: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/59.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/60.jpg)
3.6 Teachen von Punkten
• Codezeile:
• Handgesteuertes Anfahren
Code Bsp: PTP !
![Page 61: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/61.jpg)
Ü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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/62.jpg)
4 Programmablaufkontrolle
4.1 Programmverzweigungen
4.2 Schleifen
4.3 Warteanweisungen
4.4 Anhalten eines Programms
![Page 63: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/63.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/64.jpg)
4 Programmablaufkontrolle
4.1 Programmverzweigungen
4.2 Schleifen
4.3 Warteanweisungen
4.4 Anhalten eines Programms
![Page 65: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/65.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/66.jpg)
4 Programmablaufkontrolle
4.1 Programmverzweigungen
4.2 Schleifen
4.3 Warteanweisungen
4.4 Anhalten eines Programms
![Page 67: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/67.jpg)
4.3 Warteanweisungen
• Bedingte Warteanweisung
• Wartezeiten
Code Bsp.: WAIT FOR (Bedingung)
Code Bsp.: WAIT SEC Zeit
![Page 68: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/68.jpg)
4 Programmablaufkontrolle
4.1 Programmverzweigungen
4.2 Schleifen
4.3 Warteanweisungen
4.4 Anhalten eines Programms
![Page 69: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/69.jpg)
4.4 Anhalten des Programms
• HALT => Unterbricht das Programm, führt jedoch die letzte Anweisung aus.
• BRAKE => Anweisung wird sofort angehalten
![Page 70: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/70.jpg)
Ü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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/71.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/72.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/73.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/74.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/75.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/76.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/77.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/78.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/79.jpg)
Ü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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/80.jpg)
6 Unterprogramme und Funktionen
6.1 Deklarationen
6.2 Aufruf und Parameterübergabe
![Page 81: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/81.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/82.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/83.jpg)
Unterschied zwischen lokalen und globalen Unterprogrammen:
![Page 84: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/84.jpg)
6 Unterprogramme und Funktionen
6.1 Deklarationen
6.2 Aufruf und Parameterübergabe
![Page 85: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/85.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/86.jpg)
Ü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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/87.jpg)
7 Datenlisten
7.1 Lokale Datenlisten
7.2 Globale Datenlisten
![Page 88: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/88.jpg)
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: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/89.jpg)
7.2 Globale Datenlisten
Schlüsselwörter IMPORT und PUBLIC:
![Page 90: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/90.jpg)
7 Datenlisten
7.1 Lokale Datenlisten
7.2 Globale Datenlisten
![Page 91: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/91.jpg)
7.2 Globale Datenlisten
Schlüsselwörter GLOBAL und PUBLIC:
![Page 92: Vortrag_KRL (1)](https://reader033.fdokument.com/reader033/viewer/2022061301/54dd71414a7959ef358b5341/html5/thumbnails/92.jpg)
Ü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!