Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "KRL Kuka Robot Language für KRC V5.3.5 Referent: Gregor Franz."—  Präsentation transkript:

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

2 Übersicht: 1.Allgemeines zu KRL-Programmen 2.Variablen und Vereinbarungen 3.Bewegungsprogrammierung 4.Programmablaufkontrolle 5.Ein-/Ausgabeanweisungen 6.Unterprogramme und Funktionen 7.Datenlisten

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

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.1Aufbau und Struktur von Programmen 1.2Programme erstellen und editieren 1.3Ändern von Programmen 1.4Verstecken von Programmteilen 1.5Kommentare

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.1Aufbau und Struktur von Programmen 1.2Programme erstellen und editieren 1.3Ändern von Programmen 1.4Verstecken von Programmteilen 1.5Kommentare

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.1Aufbau und Struktur von Programmen 1.2Programme erstellen und editieren 1.3Ändern von Programmen 1.4Verstecken von Programmteilen 1.5Kommentare

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 ;ENDFOLD

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

15 Code Bsp.: ;Kommentar

16 Übersicht: 1.Allgemeines zu KRL-Programmen 2.Variablen und Vereinbarungen 3.Bewegungsprogrammierung 4.Programmablaufkontrolle 5.Ein-/Ausgabeanweisungen 6.Unterprogramme und Funktionen 7.Datenlisten

17 2 Variablen und Vereinbarungen 2.1Variablen und Namen 2.2Datenobjekte 2.3Datenmanipulation 2.4Systemvariablen 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 2 Variablen und Vereinbarungen 2.1Variablen und Namen 2.2Datenobjekte 2.3Datenmanipulation 2.4Systemvariablen 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 2.2.2 Einfache Datentypen INT (32Bit): Wertezuweisungen können über Dezimalzahlen ( 90 ), Binärzahlen ( B ) und Hexadezimalzahlen ( H5A ) gemacht werden. REAL : BOOL : CHAR : Sclüsselwort INTREALBOOLCHAR BedeutungGanze ZahlenGleitkommazahlenZustand1 Zeichen Wertebereich E E 38 TRUE, FALSEASCII-Zeichen Code Bsp. Realzahl1 = Realzahl2 = 10 Realzahl3 = 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.4 Zeichenketten Code Bsp. DECL CHAR NAME[8] … NAME[3] = G NAME[] = ABCDE

24 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}

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 2 Variablen und Vereinbarungen 2.1Variablen und Namen 2.2Datenobjekte 2.3Datenmanipulation 2.4Systemvariablen und Systemdateien

28 Arithmetische Operatoren ` +, -, *, / ` 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.

29 Vergleichsoperatoren OperatorBeschreibungzulä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

30 Logische Operatoren Code Bsp. (A>5) AND (B<12) OperatorOperandenzahlBeschreibung NOT1 Invertierung AND2 logisches UND OR2 logisches ODER EXOR2 exklusives ODER

31 Bit-Operatoren OperatorOperandenzahlBeschreibung B_NOT1bitweise Invertierung B_AND2bitweise UND--Verknüpfung B_OR2bitweise ODER--Verknüpfung B_EXOR2bitweise exklusive ODERVerknüpfung

32 Prioritäten von Operatoren PrioritätOperator 1NOT B_NOT 2* / AND B_AND 5EXOR B_EXOR 6OR B_OR 7== <> >= <=

33 2.3.2 Standardfunktionen BeschreibungFunktionWertebereich Argument Wertebereich Ergebnis Betrag ABS(X) Wurzel SQRT(X) Sinus SIN(X) Cosinus COS(X) Tangens TAN(X) -...+*-...+ Arcuscos. ACOS(x) °...180° Arcustang. ATAN2(Y,X) °...+90° * keine ungeradzahlige Vielfache von 90°, d.h. X ¸ (2k-1)*90°, k Alle Datentypen sind vom Typ REAL

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

35 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: 1.Allgemeines zu KRL-Programmen 2.Variablen und Vereinbarungen 3.Bewegungsprogrammierung 4.Programmablaufkontrolle 5.Ein-/Ausgabeanweisungen 6.Unterprogramme und Funktionen 7.Datenlisten

40 3 Bewegungsprogrammierung 3.1Verwendung verschiedener Koordinatensysteme 3.2Punkt-zu-Punkt Bewegungen (PTP) 3.3Bahnbewegungen (CP-Bewegungen = Continous Path) 3.4Rechnervorlauf 3.5Überschleifbewegung 3.6Teachen von Punkten

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

42 3 Bewegungsprogrammierung 3.1Verwendung verschiedener Koordinatensysteme 3.2Punkt-zu-Punkt Bewegungen (PTP) 3.3Bahnbewegungen (CP-Bewegungen = Continous Path) 3.4Rechnervorlauf 3.5Überschleifbewegung 3.6Teachen 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.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.

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

47 3 Bewegungsprogrammierung 3.1Verwendung verschiedener Koordinatensysteme 3.2Punkt-zu-Punkt Bewegungen (PTP) 3.3Bahnbewegungen (CP-Bewegungen = Continous Path) 3.4Rechnervorlauf 3.5Überschleifbewegung 3.6Teachen von Punkten

48 3.3.1 Geschwindigkeiten und Beschleunigung (des TCP) Variablenname EinheitFunktion Geschwindigkeiten $VEL.CP m/sBahngeschwindigkeit $VEL.ORI1 °/sSchwenkgeschwindigkeit $VEL.ORI2 °/sDrehgeschwindigkeit Beschleunigungen $ACC.CP m/s²Bahnbeschleunigung $ACC.ORI1 °/s²Schwenkbeschleunigung $ACC.ORI2 °/s²Drehbeschleunigung Alle Variablen sind vom Typ REAL

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.

51 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

52 3 Bewegungsprogrammierung 3.1Verwendung verschiedener Koordinatensysteme 3.2Punkt-zu-Punkt Bewegungen (PTP) 3.3Bahnbewegungen (CP-Bewegungen = Continous Path) 3.4Rechnervorlauf 3.5Überschleifbewegung 3.6Teachen von Punkten

53 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

54 3 Bewegungsprogrammierung 3.1Verwendung verschiedener Koordinatensysteme 3.2Punkt-zu-Punkt Bewegungen (PTP) 3.3Bahnbewegungen (CP-Bewegungen = Continous Path) 3.4Rechnervorlauf 3.5Überschleifbewegung 3.6Teachen von Punkten

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

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

57 3.5.2 LIN-LIN-Überschleifen Als Überschleifkontur wird eine Parabelförmige Bahn berechnet. Überschleifbeginn mit: VariableDatentypEinheitBedeutungSchlüsselwort $APO.CDISREAL mmTranslatorisches Distanzkriterium C_DIS $APO.CORIREAL °Orientierungsdistanz C_ORI $APO.CVELINT %Geschwindigkeitskriterium C_VEL

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

59 3 Bewegungsprogrammierung 3.1Verwendung verschiedener Koordinatensysteme 3.2Punkt-zu-Punkt Bewegungen (PTP) 3.3Bahnbewegungen (CP-Bewegungen = Continous Path) 3.4Rechnervorlauf 3.5Überschleifbewegung 3.6Teachen von Punkten

60 Codezeile: Handgesteuertes Anfahren Code Bsp: PTP !

61 Übersicht: 1.Allgemeines zu KRL-Programmen 2.Variablen und Vereinbarungen 3.Bewegungsprogrammierung 4.Programmablaufkontrolle 5.Ein-/Ausgabeanweisungen 6.Unterprogramme und Funktionen 7.Datenlisten

62 4 Programmablaufkontrolle 4.1Programmverzweigungen 4.2Schleifen 4.3Warteanweisungen 4.4Anhalten eines Programms

63 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_NR CASE 1... CASE #NO1... DEFAULT ENDSWITCH

64 4 Programmablaufkontrolle 4.1Programmverzweigungen 4.2Schleifen 4.3Warteanweisungen 4.4Anhalten eines Programms

65 4.2 Schleifen FOR-Schleife WHILE-Schleife REPEAT-Schleife Endlosschleife (LOOP) Schleifenabbruch (EXIT) => beendet Schleife vorzeitig Code Bsp.: WHILE ( Ausführbedingung ) Anweisungen ENDWHILE Code Bsp.: REPEAT Anweisungen UNTIL ( Abbruchbedingung ) Code Bsp.: LOOP Anweisungen ENDLOOP Code Bsp.: FOR Zähler=Start TO Ende STEP Schrittweite Anweisungen ENDFOR

66 4 Programmablaufkontrolle 4.1Programmverzweigungen 4.2Schleifen 4.3Warteanweisungen 4.4Anhalten eines Programms

67 4.3 Warteanweisungen Bedingte Warteanweisung Wartezeiten Code Bsp.: WAIT FOR ( Bedingung ) Code Bsp.: WAIT SEC Zeit

68 4 Programmablaufkontrolle 4.1Programmverzweigungen 4.2Schleifen 4.3Warteanweisungen 4.4Anhalten eines Programms

69 4.4 Anhalten des Programms HALT => Unterbricht das Programm, führt jedoch die letzte Anweisung aus. BRAKE => Anweisung wird sofort angehalten

70 Übersicht: 1.Allgemeines zu KRL-Programmen 2.Variablen und Vereinbarungen 3.Bewegungsprogrammierung 4.Programmablaufkontrolle 5.Ein-/Ausgabeanweisungen 6.Unterprogramme und Funktionen 7.Datenlisten

71 5 Ein-/Ausgabeanweisungen 5.1Allgemeines 5.2Binäre Ein-/Ausgänge 5.3Digitale Ein-/Ausgänge 5.4Impulsausgänge

72 5.1 Allgemeines Kuka-Standartsteuerschrank -> Stecker X-11 (MFC-Baugruppe) sind folgende Ein- und Ausgänge: Eingänge Ausgänge (mit max. 100mA belastbar; 100% Gleichzeitigkeit) Ausgänge (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.

73 5 Ein-/Ausgabeanweisungen 5.1Allgemeines 5.2Binäre Ein-/Ausgänge 5.3Digitale Ein-/Ausgänge 5.4Impulsausgänge

74 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

75 5 Ein-/Ausgabeanweisungen 5.1Allgemeines 5.2Binäre Ein-/Ausgänge 5.3Digitale Ein-/Ausgänge 5.4Impulsausgänge

76 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 = `B ` AUS = `H23` Code Bsp: SIGNAL AUS $OUT[10] TO $OUT[20]

77 5 Ein-/Ausgabeanweisungen 5.1Allgemeines 5.2Binäre Ein-/Ausgänge 5.3Digitale Ein-/Ausgänge 5.4Impulsausgänge

78 PULSE($OUT[4],TRUE,0.7) -> Ausgang 4 wird 0,7 Sekunden auf TRUE(High) gesetzt. Impulszeiten zwischen 0,012 und 2 31 Sekunden sind möglich. Das Raster hat 0,1 Sekunde.

79 Übersicht: 1.Allgemeines zu KRL-Programmen 2.Variablen und Vereinbarungen 3.Bewegungsprogrammierung 4.Programmablaufkontrolle 5.Ein-/Ausgabeanweisungen 6.Unterprogramme und Funktionen 7.Datenlisten

80 6 Unterprogramme und Funktionen 6.1Deklarationen 6.2Aufruf und Parameterübergabe

81 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

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

83 Unterschied zwischen lokalen und globalen Unterprogrammen:

84 6 Unterprogramme und Funktionen 6.1Deklarationen 6.2Aufruf und Parameterübergabe

85 Call by value (IN) Call by value (OUT) Code Bsp.: DEFFCT INT FUNCTION(ZAHL: IN) INT ZAHL ZAHL = ZAHL* ZAHL RETURN(ZAHL) ENDFCT Code Bsp.: DEFFCT INT FUNCTION(ZAHL: OUT)... siehe oben... ENDFCT

86 Übersicht: 1.Allgemeines zu KRL-Programmen 2.Variablen und Vereinbarungen 3.Bewegungsprogrammierung 4.Programmablaufkontrolle 5.Ein-/Ausgabeanweisungen 6.Unterprogramme und Funktionen 7.Datenlisten

87 7 Datenlisten 7.1 Lokale Datenlisten 7.2Globale Datenlisten

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

89 7.2 Globale Datenlisten Schlüsselwörter IMPORT und PUBLIC :

90 7 Datenlisten 7.1 Lokale Datenlisten 7.2Globale Datenlisten

91 Schlüsselwörter GLOBAL und PUBLIC :

92 Ü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ürs Zuhören!


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

Ähnliche Präsentationen


Google-Anzeigen