Beruflich Dokumente
Kultur Dokumente
Dokumen - Tips - KRL Kuka Robot Language Fuer KRC v535 Referent Gregor Franz
Dokumen - Tips - KRL Kuka Robot Language Fuer KRC v535 Referent Gregor Franz
Gregor Franz
Übersicht:
1. Allgemeines zu KRL-Programmen
3. Bewegungsprogrammierung
4. Programmablaufkontrolle
5. Ein-/Ausgabeanweisungen
7. Datenlisten
1 Allgemeines zu KRL-Programmen
• SRC-Datei (*.src)
• DAT-Datei (*.dat)
1.1.2 Dateinstruktur
• Expert
• Expert Submit
• Function
• Modul
• und 2 weitere
1.2.2 Programm editieren, kompilieren
und binden
Mit Softkey „Öffnen“ , unter der Anwahl der Datei, wird der Editor
gestartet.
- Programm-Korrektur-Modus (PROGKOR-Modus)
Code Bsp.:
;FOLD FOLDNAME
Code
Code
;ENDFOLD
1 Allgemeines zu KRL-Programmen
1. Allgemeines zu KRL-Programmen
3. Bewegungsprogrammierung
4. Programmablaufkontrolle
5. Ein-/Ausgabeanweisungen
7. Datenlisten
2 Variablen und Vereinbarungen
2.2 Datenobjekte
2.3 Datenmanipulation
Namen:
- maximal 24 Zeichen lang
- Buchstaben(A-Z), Ziffern (0-9), sowie die Zeichen _ und $
- Nicht mit Ziffern beginnen
- Keine Schlüsselwörter sein
Code Bsp: P1_BIS_P12$ = 10
Lebensdauer einer Variablen
- Innerhalb einer SRC-Datei deklariert -> beschränkt auf die
Laufzeit des Programms.
- Innerhalb einer DAT-Datei deklariert -> solange DAT-Datei
exsistiert
2 Variablen und Vereinbarungen
2.2 Datenobjekte
2.3 Datenmanipulation
• INT (32Bit):
Wertezuweisungen können über Dezimalzahlen (90), Binärzahlen
(B1011110) und Hexadezimalzahlen (H5A) gemacht werden.
• REAL: Code Bsp. Realzahl1 = -13.156
Realzahl2 = 10
Realzahl3 = 34.65 E-12
• BOOL: Code Bsp. Zustand1 = TRUE
Zustand2 = FALSE
• CHAR: Code Bsp. Zeichen1 = „G”
Zeichen2 = „?“
2.2.3 Felder (Arrays)
Punkt-Separator:
Bsp. Daten-Typerzeugung:
ENUM MODE_OP T1,T2,AUT,EX,INVALD
Bsp. Variablendeklaration:
DECL MODE_OP $MODE_OP
2.2 Datenobjekte
2.3 Datenmanipulation
NOT 1 Invertierung
AND 2 logisches UND
OR 2 logisches ODER
EXOR 2 exklusives ODER
Priorität Operator
1 NOT B_NOT
2 */
3 +-
4 AND B_AND
5 EXOR B_EXOR
6 OR B_OR
2.2 Datenobjekte
2.3 Datenmanipulation
Timer:
16 Timervariablen $TIMER[1] ... $TIMER[16]
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
1. Allgemeines zu KRL-Programmen
3. Bewegungsprogrammierung
4. Programmablaufkontrolle
5. Ein-/Ausgabeanweisungen
7. Datenlisten
3 Bewegungsprogrammierung
3.4 Rechnervorlauf
3.5 Überschleifbewegung
3.4 Rechnervorlauf
3.5 Überschleifbewegung
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
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.
3.2.3 Bewegungsbefehle
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.
S (Status) und T (Turn):
3.4 Rechnervorlauf
3.5 Überschleifbewegung
Bei Linearbewegung:
$ORI_TYPE = #CONSTANT Orientierung im Raum ändert sich nicht
$ORI_TYPE = #VAR Orientierung im Raum ändert sich
z.B.:
3.4 Rechnervorlauf
3.5 Überschleifbewegung
3.4 Rechnervorlauf
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.
3.5.1 PTP-PTP-Überschleifen
3.4 Rechnervorlauf
3.5 Überschleifbewegung
• Codezeile:
Code Bsp: PTP !
• Handgesteuertes Anfahren
Übersicht:
1. Allgemeines zu KRL-Programmen
3. Bewegungsprogrammierung
4. Programmablaufkontrolle
5. Ein-/Ausgabeanweisungen
7. Datenlisten
4 Programmablaufkontrolle
4.1 Programmverzweigungen
4.2 Schleifen
4.3 Warteanweisungen
4.1 Programmverzweigungen
4.2 Schleifen
4.3 Warteanweisungen
4.1 Programmverzweigungen
4.2 Schleifen
4.3 Warteanweisungen
• Bedingte Warteanweisung
• Wartezeiten
4.1 Programmverzweigungen
4.2 Schleifen
4.3 Warteanweisungen
1. Allgemeines zu KRL-Programmen
3. Bewegungsprogrammierung
4. Programmablaufkontrolle
5. Ein-/Ausgabeanweisungen
7. Datenlisten
5 Ein-/Ausgabeanweisungen
5.1 Allgemeines
5.4 Impulsausgänge
5.1 Allgemeines
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.
5 Ein-/Ausgabeanweisungen
5.1 Allgemeines
5.4 Impulsausgänge
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.
5.1 Allgemeines
5.4 Impulsausgänge
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`
5 Ein-/Ausgabeanweisungen
5.1 Allgemeines
5.4 Impulsausgänge
5.4 Impulsausgänge
1. Allgemeines zu KRL-Programmen
3. Bewegungsprogrammierung
4. Programmablaufkontrolle
5. Ein-/Ausgabeanweisungen
7. Datenlisten
6 Unterprogramme und Funktionen
6.1 Deklarationen
6.1 Deklarationen
1. Allgemeines zu KRL-Programmen
3. Bewegungsprogrammierung
4. Programmablaufkontrolle
5. Ein-/Ausgabeanweisungen
7. Datenlisten
7 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.
7.2 Globale Datenlisten
1. Allgemeines zu KRL-Programmen
3. Geschafft!
Bewegungsprogrammierung
5. Ein-/Ausgabeanweisungen
7. Datenlisten