KRL Kuka Robot Language
(Kuka Robot Nyelv)
KRC V5.3.5-nek
Referent:
Gregor Franz
Fordította:
Kovács Levente Csaba – Timote...
Áttekintés:
1. Általános információk a KRL programokhoz
2. Változók és konstansok
3. Mozgás programozás
4. Program lefutás...
1 Általános információk a KRL programokhoz
1.1 A programok felépítése és szerkezete
1.2 Programok előállítása és szerkeszt...
1.1 A programok felépítése és szerkezete
Kovács Levente Csaba – Timotei István Erdei
1.1.1 Adatkoncepció
Minden program 2 fájlból áll.
• SRC-fájl (*.src)
• DAT-fájl (*.dat)
Kovács Levente Csaba – Timotei Ist...
1.1.2 Adatstruktúra
DEF PROGRAMMNAME(X1: IN)
Deklaráció
Inicializálás
Utasítások
END
Alapértelmezésben nem
látható a KUKA ...
1 Általános információk a KRL programokhoz
1.1 A programok felépítése és szerkezete
1.2 Programok előállítása és szerkeszt...
1.2.1 Egy program előállítása, megírása
A felhasználói felületen (KUKA HMI Software):
Menu -> File -> New
• Expert
• Exper...
1.2.2 Program szerkesztése, kompilálása
és csatolása (binden)
Az „Open“ funkciógombbal, ami „File” menüpont alatt találhat...
1 Általános információk a KRL programokhoz
1.1 A programok felépítése és szerkezete
1.2 Programok előállítása és szerkeszt...
1.3 Programok megváltoztatása
A Kuka HMI-vel két lehetőségünk van a programok változtatására
(szerkesztésére):
- Program-C...
1 Általános információk a KRL programokhoz
1.1 A programok felépítése és szerkezete
1.2 Programok előállítása és szerkeszt...
1.4 Rejtett programrészek
- A rejtett programrészek az ú.n. Szerkesztői Csoportok (Expert
Groups) számára válik láthatóvá
...
1 Általános információk a KRL programokhoz
1.1 A programok felépítése és szerkezete
1.2 Programok előállítása és szerkeszt...
1.5 Megjegyzések
Példa kód.: ;Megjegyzés
Kovács Levente Csaba – Timotei István Erdei
Áttekintés:
1. Általános információk a KRL programokhoz
2. Változók és konstansok
3. Mozgás programozás
4. Program lefutás...
2 Változók és konstansok
2.1 Változok és nevek
2.2 Adat objektumok
2.3 Adatkezelés
2.4 Rendszerváltozók és Rendszeradatok
...
2 Változók és konstansok
2.1 Változok és nevek
2.2 Adat objektumok
2.3 Adatkezelés
2.4 Rendszerváltozók és Rendszeradatok
...
2.2.3 Tömbök (Arrays)
Az Index számok mindig 1-től indulnak!
Példa kód: DECL INT OTTO[2]
…
OTTO[1] = 5
OTTO[2] = 90
Kovács...
2.2.4 Karakterláncok (Strings)
Példa kód: DECL CHAR NAME[8]
…
NAME[3] = “G”
NAME[] = “ABCDE”
Kovács Levente Csaba – Timote...
2.2.5 Struktúrák (Structures)
Adattípus feldolgozás a POS struktúra alapján:
STRUC POS REAL X,Y,Z,A,B,C, INT S,T
Pont-elvá...
Előre definiált struktúrák
Az $OPERATE.SRC fájlban definiáltak:
STRUC AXIS REAL A1,A2,A3,A4,A5,A6
STRUC E6AXIS REAL A1,A2,...
2.2.6 Felsoroló típus (ENUM)
Példa: Adattípus feldolgozás:
ENUM MODE_OP T1,T2,AUT,EX,INVALD
Példa: Változó deklaráció:
DEC...
2 Változók és konstansok
2.1 Változok és nevek
2.2 Adat objektumok
2.3 Adatkezelés
2.4 Rendszerváltozók és Rendszeradatok
...
2.3.1.1 Aritmetikai operátorok` + , - , * , / `
2.3.1.2 Geometriai operátorok`:`
Pl.: RESULT = VAR+5*VAR2/4-9
Pl.: NEUSYS ...
2.3.1.3 Összehasonlító operátorok
Operátor Leírás Megengedett adat típúsok
== egyenlő INT, REAL, CHAR, ENUM, BOOL
<> nem e...
2.3.1.4 Logikai operátorok
Példa kód: (A>5) AND (B<12)
Operátor Operandusszám Leírás
NOT 1 invartálás
AND 2 logikai ÉS
OR ...
2.3.1.5 Bit-Operátorok
Operátor Operandusszám Leírás
B_NOT 1 bitenkénti inverzió
B_AND 2 bitenkénti ÉS--Kapcsolat
B_OR 2 b...
2.3.1.6 Operátorprioritások
Priorítás Operátor
1 NOT B_NOT
2 * /
3 + -
4 AND B_AND
5 EXOR B_EXOR
6 OR B_OR
7 == <> < > >= ...
2.3.2 Alapfüggvények
Leírás Függvény Argumentum
értéktartománya
Eredmény
értéktartománya
Összeg ABS(X) -∞...+∞ 0...+∞
Gyök...
2 Változók és konstansok
2.1 Változok és nevek
2.2 Adat objektumok
2.3 Adatkezelés
2.4 Rendszerváltozók és Rendszeradatok
...
2.4 Rendszerváltozók és Rendszeradatok
Minden rendszerváltozó $-al kezdődik, amit a neve követ.
Példa.: $POS_ACT => Aktuál...
2.4 Rendszerváltozók és Rendszeradatok
Ciklikus Flag-ek ($CYCFLAG[1] ... $CYCFLAG[32]):
Itt: $IN[2] és $IN[3] ciklikusan l...
2.4 Rendszerváltozók és Rendszeradatok
Időzítő:
16 időváltozó $TIMER[1] ... $TIMER[16]
Az időzítők inicializálása rendszer...
2.4 Rendszerváltozók és Rendszeradatok
Előre meghatározott adatlisták, előre meghatározott
rendszerváltozókkal:
• $MACHINE...
Áttekintés:
1. Általános információk a KRL programokhoz
2. Változók és konstansok
3. Mozgás programozás
4. Program lefutás...
3 Mozgás programozás
3.1 Különböző koordinátarendszerek használata
3.2 Ponttól pontig mozgás (PTP)
3.3 Pályasebesség (CP-M...
3.1 Különböző koordinátarendszerek
használata
Kordináta rendszer Rendszerváltozó Státusz
Világ kordináta-rendszer $WORLD Í...
3 Mozgás programozás
3.1 Különböző koordinátarendszerek használata
3.2 Ponttól pontig mozgás (PTP)
3.3 Pályasebesség (CP-M...
3.2.1 Általános (Synchron-PTP)
Jelentés:
A programozott sebesség és gyorsulás határértékekkel, csak a
vezető tengely mozog...
3.2.3 Magasabb irányítási profil
($OPT_MODE = #STEP1)
• A sebességek mindig a megengedett legnagyobb
nyomatékokhoz lesznek...
3.2.3 Mozgás parancsok
PTP {A1 0,A2 90,A3 –90,A4 0,A5 0,A6 30}
Abszolút mozgás axiális koordinátákkal
PTP_REL {A1 35,A3 –4...
S (Státusz) und T (Fordulat):
Érték 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
...
3 Mozgás programozás
3.1 Különböző koordinátarendszerek használata
3.2 Ponttól pontig mozgás (PTP)
3.3 Pályasebesség (CP-M...
3.3.1 Sebesség és gyorsulás (TCP)
Változónevek Mértékegységek Funkció
Sebességek $VEL.CP m/s Pályasebesség
$VEL.ORI1 /s Sc...
3.3.2 Orientáció vezetés (TCP)
Lineáris mozgás esetén:
$ORI_TYPE = #CONSTANT Az orientáció a térben nem változik
$ORI_TYPE...
3.3.3 Lineáris mozgás
LIN => Abszolút mozgás derékszögű koordinátarendszerben
LIN_REL => Relatív mozgás derékszögű koordin...
3.3.4 Körmozgás
CIRC => Abszolút mozgás derékszögű koordinátarendszerben
CIRC_REL => Relatív mozgás derékszögű koordinátar...
3 Mozgás programozás
3.1 Különböző koordinátarendszerek használata
3.2 Ponttól pontig mozgás (PTP)
3.3 Pályasebesség (CP-M...
3.4 Számítóegység előretartása
Az $ADVANCE rendszerváltozón keresztül az előretartás a bealított és
feldolgozott mozgás ké...
3 Mozgás programozás
3.1 Különböző koordinátarendszerek használata
3.2 Ponttól pontig mozgás (PTP)
3.3 Pályasebesség (CP-M...
3.5 Megközelítéses pályamozgás
• A programozónak a megközelítés kezdő- és végpontjára van
befolyással.
• Az előreértelmezé...
3.5.1 PTP-PTP-közelítés
- A gépadatokban minden tengelyhez egy szög van:
$APO_DIS_PTP[1]-től[6]=90-ig
- A $APO.CPTP = száz...
3.5.2 LIN-LIN-közelítés
Ennél a megközelítésnél a pálya parabolaformát vesz fel.
Pályaközelítés:
Változó Adattípus Mért.e....
3.5.3 CIRC-CIRC-közelítés és CIRC-LIN
közelítés
Kovács Levente Csaba – Timotei István Erdei
3 Mozgás programozás
3.1 Különböző koordinátarendszerek használata
3.2 Ponttól pontig mozgás (PTP)
3.3 Pályasebesség (CP-M...
3.6 Teachen von Punkten
• Kódsor:
• Kézileg ellenőrzött megközelítés
Példa kód: PTP !
Kovács Levente Csaba – Timotei Istvá...
Áttekintés:
1. Általános információk a KRL programokhoz
2. Változók és konstansok
3. Mozgás programozás
4. Program lefutás...
4 Program lefutás irányítás
4.1 Program ágak
4.2 Ciklusok
4.3 Várakozási utasítások
4.4 Program megállítása
Kovács Levente...
4.1 Program ágak
• Ugrás utasítás (GOTO)
• Feltételes ág (IF)
• Osztó (SWITCH)
Példa kód: GOTO MARKE
. . .
MARKE:
Példa kó...
4 Program lefutás irányítás
4.1 Program ágak
4.2 Ciklusok
4.3 Várakozási utasítások
4.4 Program megállítása
Kovács Levente...
4.2 Ciklusok
• FOR-ciklus
• WHILE-ciklus
• REPEAT-ciklus
• Hurok (LOOP)
• Ciklus megszüntetése (EXIT) => idő előtti megáll...
4 Program lefutás irányítás
4.1 Program ágak
4.2 Ciklusok
4.3 Várakozási utasítások
4.4 Program megállítása
Kovács Levente...
4.3 Várakozási utasítások
• Feltételes várakozási utasítások
• Idővárakozás (delay)
Példa kód: WAIT FOR (Feltétel)
Példa k...
4 Program lefutás irányítás
4.1 Program ágak
4.2 Ciklusok
4.3 Várakozási utasítások
4.4 Program megállítása
Kovács Levente...
4.4 Program megállítása
• HALT => Felfüggeszti a programot, viszont az utolsó utasítást
végrehajtja.
• BRAKE => Az utasítá...
Áttekintés:
1. Általános információk a KRL programokhoz
2. Változók és konstansok
3. Mozgás programozás
4. Program lefutás...
5 I/O utasítások
5.1 Általános
5.2 Bináris ki- és bemenetek
5.3 Digitális ki- és bemenetek
5.4 Impulzuskimenetek
Kovács Le...
5.1 Általános
Kuka-Alap vezérlőszekrény -> Dugó X-11 (MFC-Modul) -> a következő ki-
és bemenetek vannak:
Bemenetek 1 ... 1...
5 I/O utasítások
5.1 Általános
5.2 Bináris ki- és bemenetek
5.3 Digitális ki- és bemenetek
5.4 Impulzuskimenetek
Kovács Le...
5.2 Bináris ki- és bemenetek
$OUT[Nr] = TRUE
$OUT[Nr] = FALSE
A ki- és bemenetek külön-külön lesznek megcímezve, ezek biná...
5 I/O utasítások
5.1 Általános
5.2 Bináris ki- és bemenetek
5.3 Digitális ki- és bemenetek
5.4 Impulzuskimenetek
Kovács Le...
5.3 Digitális ki- és bemenetek
Itt a „KI” signalnéven keresztül egy 11 bites ($OUT[10] To $OUT[20])
digitális kimenet van ...
5 I/O utasítások
5.1 Általános
5.2 Bináris ki- és bemenetek
5.3 Digitális ki- és bemenetek
5.4 Impulzuskimenetek
Kovács Le...
5.4 Impulzuskimenetek
PULSE($OUT[4],TRUE,0.7) -> 4-es kimenet 0,7 másodpercig
TRUE(High)-ra, azaz logikai 1 értékre lesz á...
Áttekintés:
1. Általános információk a KRL programokhoz
2. Változók és konstansok
3. Mozgás programozás
4. Program lefutás...
6 Alprogramok és Függvények
6.1 Deklarálások
6.2 Meghívás és Paraméterátadás
Kovács Levente Csaba – Timotei István Erdei
6.1 Deklarálások
• Lokális alprogramok / függvények => A főprogram alatt
• Globális alprogramok / függvények => Saját SRC-...
Kulcsfontosságú mondatok:
• A főprogram adatlistájában (DAT-fájl) deklarált minden változó a lokális
alprogramok / függvén...
Különbségek Lokális és Globális
alprogramok között:
Kovács Levente Csaba – Timotei István Erdei
6 Alprogramok és Függvények
6.1 Deklarálások
6.2 Meghívás és Paraméterátadás
Kovács Levente Csaba – Timotei István Erdei
6.2 Meghívás és Paraméterátadás
• Call by value (IN)
• Call by value (OUT)
Példa kód: DEFFCT INT FUNCTION(SZÁM: IN)
INT SZ...
Áttekintés:
1. Általános információk a KRL programokhoz
2. Változók és konstansok
3. Mozgás programozás
4. Program lefutás...
7 Adatlisták
7.1 Lokális adatlisták
7.2 Globális adatlisták
Kovács Levente Csaba – Timotei István Erdei
7.1 Lokális adatlisták
Készletek:
• Az adatlista lokális, annak ellenére, hogy ő egy saját maga egy adat.
• Egy adatlistáb...
7 Adatlisták
7.1 Lokális adatlisták
7.2 Globális adatlisták
Kovács Levente Csaba – Timotei István Erdei
7.2 Globális adatlisták 1
Kulcsszavak: IMPORT és PUBLIC:
Kovács Levente Csaba – Timotei István Erdei
7.2 Globális adatlisták 2
Kulcsszavak: GLOBALIS és PUBLIKUS:
Kovács Levente Csaba – Timotei István Erdei
Áttekintés:
1. Általános információk a KRL programokhoz
2. Változók és konstansok
3. Mozgás programozás
4. Program lefutás...
Upcoming SlideShare
Loading in...5
×

KRL Kuka Robot Language - Timotei István Erdei - Timotei-Robotics

554

Published on

KRL Kuka Robot Language

Timotei István Erdei

Mechatronic Engineer/Researcher

University of Debrecen
Department of Electrical Engineering and Mechatronics

Facebook WebSite:
https://www.facebook.com/pages/Timotei-Robotics/468710276611086

Publications Researchgate:
https://www.researchgate.net/profile/Timotei_Erdei/?ev=hdr_xprf

Google+
https://plus.google.com/104757115611446684876/posts

Deviantart:
http://timotei-robotics.deviantart.com/

My Youtube Channel
https://www.youtube.com/channel/UCLrrzYaYaypXJjvwby6g3XA

EEEI Explore:
http://ieeexplore.ieee.org/search/searchresult.jsp?searchWithin=p_Authors:.QT.Erdei,%20T.I..QT.&newsearch=true

Linkedin:
http://hu.linkedin.com/pub/timotei-istv%C3%A1n-erdei/a9/b04/117

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
554
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

KRL Kuka Robot Language - Timotei István Erdei - Timotei-Robotics

  1. 1. KRL Kuka Robot Language (Kuka Robot Nyelv) KRC V5.3.5-nek Referent: Gregor Franz Fordította: Kovács Levente Csaba – Timotei István Erdei
  2. 2. Áttekintés: 1. Általános információk a KRL programokhoz 2. Változók és konstansok 3. Mozgás programozás 4. Program lefutás irányítás 5. I/O utasítások 6. Alprogramok és Függvények 7. Adatlisták Kovács Levente Csaba – Timotei István Erdei
  3. 3. 1 Általános információk a KRL programokhoz 1.1 A programok felépítése és szerkezete 1.2 Programok előállítása és szerkesztése 1.3 Programok megváltoztatása 1.4 Rejtett programrészek 1.5 Megjegyzések Kovács Levente Csaba – Timotei István Erdei
  4. 4. 1.1 A programok felépítése és szerkezete Kovács Levente Csaba – Timotei István Erdei
  5. 5. 1.1.1 Adatkoncepció Minden program 2 fájlból áll. • SRC-fájl (*.src) • DAT-fájl (*.dat) Kovács Levente Csaba – Timotei István Erdei
  6. 6. 1.1.2 Adatstruktúra DEF PROGRAMMNAME(X1: IN) Deklaráció Inicializálás Utasítások END Alapértelmezésben nem látható a KUKA HMI- szoftver szerkesztőjében Kovács Levente Csaba – Timotei István Erdei
  7. 7. 1 Általános információk a KRL programokhoz 1.1 A programok felépítése és szerkezete 1.2 Programok előállítása és szerkesztése 1.3 Programok megváltoztatása 1.4 Rejtett programrészek 1.5 Megjegyzések Kovács Levente Csaba – Timotei István Erdei
  8. 8. 1.2.1 Egy program előállítása, megírása A felhasználói felületen (KUKA HMI Software): Menu -> File -> New • Expert • Expert Submit • Function • Modul • és még 2 további Kovács Levente Csaba – Timotei István Erdei
  9. 9. 1.2.2 Program szerkesztése, kompilálása és csatolása (binden) Az „Open“ funkciógombbal, ami „File” menüpont alatt található, indítható el a Szerkesztő (Editor). A „Close” funkciógomb a Szerkesztő bezárását eredményezi, ami a program mentésével és fordításával jár. Fordító: Error? => *.ERR-File Csatoló:=> Funkciógomb „Choose“ => Error? => *.ERR-Datei Kovács Levente Csaba – Timotei István Erdei
  10. 10. 1 Általános információk a KRL programokhoz 1.1 A programok felépítése és szerkezete 1.2 Programok előállítása és szerkesztése 1.3 Programok megváltoztatása 1.4 Rejtett programrészek 1.5 Megjegyzések Kovács Levente Csaba – Timotei István Erdei
  11. 11. 1.3 Programok megváltoztatása A Kuka HMI-vel két lehetőségünk van a programok változtatására (szerkesztésére): - Program-Correct-Mode (PROGCOR-Mode) - Editor: => megszokott Szerkesztő Kovács Levente Csaba – Timotei István Erdei
  12. 12. 1 Általános információk a KRL programokhoz 1.1 A programok felépítése és szerkezete 1.2 Programok előállítása és szerkesztése 1.3 Programok megváltoztatása 1.4 Rejtett programrészek 1.5 Megjegyzések Kovács Levente Csaba – Timotei István Erdei
  13. 13. 1.4 Rejtett programrészek - A rejtett programrészek az ú.n. Szerkesztői Csoportok (Expert Groups) számára válik láthatóvá - A rejtett programrészleteket „FOLD“-nak nevezik ami Folder, azaz Mappa szóból ered - Az információk mennyiségének korlátozása (részletek) Code Bsp.: ;FOLD FOLDNAME Code Code ;ENDFOLD Kovács Levente Csaba – Timotei István Erdei
  14. 14. 1 Általános információk a KRL programokhoz 1.1 A programok felépítése és szerkezete 1.2 Programok előállítása és szerkesztése 1.3 Programok megváltoztatása 1.4 Rejtett programrészek 1.5 Megjegyzések Kovács Levente Csaba – Timotei István Erdei
  15. 15. 1.5 Megjegyzések Példa kód.: ;Megjegyzés Kovács Levente Csaba – Timotei István Erdei
  16. 16. Áttekintés: 1. Általános információk a KRL programokhoz 2. Változók és konstansok 3. Mozgás programozás 4. Program lefutás irányítás 5. I/O utasítások 6. Alprogramok és Függvények 7. Adatlisták Kovács Levente Csaba – Timotei István Erdei
  17. 17. 2 Változók és konstansok 2.1 Változok és nevek 2.2 Adat objektumok 2.3 Adatkezelés 2.4 Rendszerváltozók és Rendszeradatok Kovács Levente Csaba – Timotei István Erdei
  18. 18. 2 Változók és konstansok 2.1 Változok és nevek 2.2 Adat objektumok 2.3 Adatkezelés 2.4 Rendszerváltozók és Rendszeradatok Kovács Levente Csaba – Timotei István Erdei
  19. 19. 2.2.3 Tömbök (Arrays) Az Index számok mindig 1-től indulnak! Példa kód: DECL INT OTTO[2] … OTTO[1] = 5 OTTO[2] = 90 Kovács Levente Csaba – Timotei István Erdei
  20. 20. 2.2.4 Karakterláncok (Strings) Példa kód: DECL CHAR NAME[8] … NAME[3] = “G” NAME[] = “ABCDE” Kovács Levente Csaba – Timotei István Erdei
  21. 21. 2.2.5 Struktúrák (Structures) Adattípus feldolgozás a POS struktúra alapján: STRUC POS REAL X,Y,Z,A,B,C, INT S,T Pont-elválasztó: DECL POS POSITION ... POSITION.X = 34.4 Hozzáférést biztosít Strukturális változókhoz, vagy egységekhez: POSITION = {X 34.4, Y –23.5, ... ,T 6} POSITION = {POS : X 230,Y 0.0, ... ,T 5} Kovács Levente Csaba – Timotei István Erdei
  22. 22. Előre definiált struktúrák Az $OPERATE.SRC fájlban definiáltak: 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 Kovács Levente Csaba – Timotei István Erdei
  23. 23. 2.2.6 Felsoroló típus (ENUM) Példa: Adattípus feldolgozás: ENUM MODE_OP T1,T2,AUT,EX,INVALD Példa: Változó deklaráció: DECL MODE_OP $MODE_OP Példa: Inicializálás / Lekérdezés (query) : $MODE_OP = #T1 Kovács Levente Csaba – Timotei István Erdei
  24. 24. 2 Változók és konstansok 2.1 Változok és nevek 2.2 Adat objektumok 2.3 Adatkezelés 2.4 Rendszerváltozók és Rendszeradatok Kovács Levente Csaba – Timotei István Erdei
  25. 25. 2.3.1.1 Aritmetikai operátorok` + , - , * , / ` 2.3.1.2 Geometriai operátorok`:` Pl.: RESULT = VAR+5*VAR2/4-9 Pl.: NEUSYS = BASE:TOOL -A FRAME és POS adattípusok között egy keret-kapcsolatot vezet keresztül. -A keret-kapcsolat koordinátarendszer transzformációt jelent. -Az eredmény adattípusa megfelel a jobb oldali operandusénak. Kovács Levente Csaba – Timotei István Erdei
  26. 26. 2.3.1.3 Összehasonlító operátorok Operátor Leírás Megengedett adat típúsok == egyenlő INT, REAL, CHAR, ENUM, BOOL <> nem egyenlő INT, REAL, CHAR, ENUM, BOOL > nagyobb INT, REAL, CHAR, ENUM < kisebb INT, REAL, CHAR, ENUM >= nagyobb vagy egyenlő INT, REAL, CHAR, ENUM <= kisebb vagy egyenlő INT, REAL, CHAR, ENUM Kovács Levente Csaba – Timotei István Erdei
  27. 27. 2.3.1.4 Logikai operátorok Példa kód: (A>5) AND (B<12) Operátor Operandusszám Leírás NOT 1 invartálás AND 2 logikai ÉS OR 2 logikai VAGY EXOR 2 kizáró VAGY Kovács Levente Csaba – Timotei István Erdei
  28. 28. 2.3.1.5 Bit-Operátorok Operátor Operandusszám Leírás B_NOT 1 bitenkénti inverzió B_AND 2 bitenkénti ÉS--Kapcsolat B_OR 2 bitenkénti VAGY--Kapcsolat B_EXOR 2 bitenkénti kizáró VAGY—Kapcsolat Kovács Levente Csaba – Timotei István Erdei
  29. 29. 2.3.1.6 Operátorprioritások Priorítás Operátor 1 NOT B_NOT 2 * / 3 + - 4 AND B_AND 5 EXOR B_EXOR 6 OR B_OR 7 == <> < > >= <= Kovács Levente Csaba – Timotei István Erdei
  30. 30. 2.3.2 Alapfüggvények Leírás Függvény Argumentum értéktartománya Eredmény értéktartománya Összeg ABS(X) -∞...+∞ 0...+∞ Gyök 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 * Nincs páratlan többszöröse 90 -tól, ezért: X ¸ (2k-1)*90 , k Minden adattípus: REAL Kovács Levente Csaba – Timotei István Erdei
  31. 31. 2 Változók és konstansok 2.1 Változok és nevek 2.2 Adat objektumok 2.3 Adatkezelés 2.4 Rendszerváltozók és Rendszeradatok Kovács Levente Csaba – Timotei István Erdei
  32. 32. 2.4 Rendszerváltozók és Rendszeradatok Minden rendszerváltozó $-al kezdődik, amit a neve követ. Példa.: $POS_ACT => Aktuális robot pozíció $BASE => Bázis koordinátarendszer $VEL.CP => Pályasebesség Több példa a KRC-Dokumentációban található => Systemvariablen.pdf Flags ($FLAG[1]-től $FLAG[1024]-ig): Globális Merkereknek használhatóak. Flag-ek egészen 1024-ig vannak. Példa: $FLAG[1] = TRUE => készlet Kovács Levente Csaba – Timotei István Erdei
  33. 33. 2.4 Rendszerváltozók és Rendszeradatok Ciklikus Flag-ek ($CYCFLAG[1] ... $CYCFLAG[32]): Itt: $IN[2] és $IN[3] ciklikusan lesznek kiértékelve. A $CYCFLAG[10] felül lesz írva, illetve meg lesz változtatva, nem számít, hogy a programmutató hol áll. Egy gyűrűs Flag kiosztásánál elfogadhatóak: • Logikai rendszerváltozók és • Logikai változók, amelyek egy adatlistában voltak deklarálva és inicializálva. Elfogadhatatlan: • Függvények, amelyek egy logikai értéket térítenek vissza Példa kód.: $CYCFLAG[10] = $IN[2] AND $IN[3] Kovács Levente Csaba – Timotei István Erdei
  34. 34. 2.4 Rendszerváltozók és Rendszeradatok Időzítő: 16 időváltozó $TIMER[1] ... $TIMER[16] Az időzítők inicializálása rendszerinduláskor (control startup): $TIMER_FLAG[1] - [16] = FALSE $TIMER_STOP[1] - [16] = TRUE $TIMER[1] - [16] = 0 Az időváltozók miliszekundumban értendők. Frissítés minden 12 ms-ban. Példa kód: a 4-es időzítő indítása: $TIMER_STOP[4] = FALSE a 4-es időzítő leállítása: $TIMER_STOP[4] = TRUE a 4-es időzítő beírása: $TIMER[4] = 0 Kovács Levente Csaba – Timotei István Erdei
  35. 35. 2.4 Rendszerváltozók és Rendszeradatok Előre meghatározott adatlisták, előre meghatározott rendszerváltozókkal: • $MACHINE.DAT • $CUSTOM.DAT • $CONFIG.DAT • $ROBOTER.DAT Kovács Levente Csaba – Timotei István Erdei
  36. 36. Áttekintés: 1. Általános információk a KRL programokhoz 2. Változók és konstansok 3. Mozgás programozás 4. Program lefutás irányítás 5. I/O utasítások 6. Alprogramok és Függvények 7. Adatlisták Kovács Levente Csaba – Timotei István Erdei
  37. 37. 3 Mozgás programozás 3.1 Különböző koordinátarendszerek használata 3.2 Ponttól pontig mozgás (PTP) 3.3 Pályasebesség (CP-Mozgás = Continous Path) 3.4 Számítóegység előretartása 3.5 Megközelítéses pályamozgás 3.6 Pontok betanítása Kovács Levente Csaba – Timotei István Erdei
  38. 38. 3.1 Különböző koordinátarendszerek használata Kordináta rendszer Rendszerváltozó Státusz Világ kordináta-rendszer $WORLD Írásvédett Robot kordináta-rendszer $ROBROOT Írásvédett Szerszám kordináta-rendszer $TOOL Írható Bázis(Munkadarab) kordináta-rendszer $BASE Írható Kovács Levente Csaba – Timotei István Erdei
  39. 39. 3 Mozgás programozás 3.1 Különböző koordinátarendszerek használata 3.2 Ponttól pontig mozgás (PTP) 3.3 Pályasebesség (CP-Mozgás = Continous Path) 3.4 Számítóegység előretartása 3.5 Megközelítéses pályamozgás 3.6 Pontok betanítása Kovács Levente Csaba – Timotei István Erdei
  40. 40. 3.2.1 Általános (Synchron-PTP) Jelentés: A programozott sebesség és gyorsulás határértékekkel, csak a vezető tengely mozog. - $VEL_AXIS[Tengelyszám] százalékban - $ACC_AXIS[Tengelyszám] százalékban - Tárolt magas értékre vonatkozik Kovács Levente Csaba – Timotei István Erdei
  41. 41. 3.2.3 Magasabb irányítási profil ($OPT_MODE = #STEP1) • A sebességek mindig a megengedett legnagyobb nyomatékokhoz lesznek hozzáigazítva. • A sebesség- és gyorsulásértékek közvetlen hatást gyakorolnak a megengedett legnagyobb gyorsulásnyomatékra. Kovács Levente Csaba – Timotei István Erdei
  42. 42. 3.2.3 Mozgás parancsok PTP {A1 0,A2 90,A3 –90,A4 0,A5 0,A6 30} Abszolút mozgás axiális koordinátákkal PTP_REL {A1 35,A3 –45} Relatív mozgás, ahol csak a 3. és 1. tengely mozog NULLFRAME: $NULLFRAME = {FRAME: X 0,Y 0,Z 0,A 0,B 0,C 0} S (Státusz) és T (Fordulat): Robotpozíciók egyértelmű előállítására. Kovács Levente Csaba – Timotei István Erdei
  43. 43. S (Státusz) und T (Fordulat): Érték 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 Érték Bit 2 Bit 1 Bit 0 0 0 <= A5 < 180 A5 < -180 A3 < Ф (Ф robottípustól függ) Alaptartomány 1 -180 <= A5 < 0 A5 >= 180 A3 >= Ф (Ф robottípustól függ) Fej feletti tartomány S: T: Kovács Levente Csaba – Timotei István Erdei
  44. 44. 3 Mozgás programozás 3.1 Különböző koordinátarendszerek használata 3.2 Ponttól pontig mozgás (PTP) 3.3 Pályasebesség (CP-Mozgás = Continous Path) 3.4 Számítóegység előretartása 3.5 Megközelítéses pályamozgás 3.6 Pontok betanítása Kovács Levente Csaba – Timotei István Erdei
  45. 45. 3.3.1 Sebesség és gyorsulás (TCP) Változónevek Mértékegységek Funkció Sebességek $VEL.CP m/s Pályasebesség $VEL.ORI1 /s Schwenkgeschwindigkeit $VEL.ORI2 /s Forgási sebesség Gyorsulások $ACC.CP m/s² Pályasebesség $ACC.ORI1 /s² Schwenkbeschleunigung $ACC.ORI2 /s² Forgási sebesség A fenti változók REAL típusúak Kovács Levente Csaba – Timotei István Erdei
  46. 46. 3.3.2 Orientáció vezetés (TCP) Lineáris mozgás esetén: $ORI_TYPE = #CONSTANT Az orientáció a térben nem változik $ORI_TYPE = #VAR Az orientáció a térben változik Pl.: Körmozgásnál (CIRC): $CIRC_TYPE = #BASE Térbeli orientáció $CIRC_TYPE = #VAR Pálya szerinti orientáció Egy program BAS(#INITMOV,0) szerinti alapinicializálásával a $ORI_TYPE = #VAR und $CIRC_TYPE = #BASE rendszerváltozók lesznek beállítva Kovács Levente Csaba – Timotei István Erdei
  47. 47. 3.3.3 Lineáris mozgás LIN => Abszolút mozgás derékszögű koordinátarendszerben LIN_REL => Relatív mozgás derékszögű koordinátarendszerben Mindkét parancsnál a FRAME és POS adattípusok használhatóak. • A végpontok ‚S’ és ‚T’ szög státusza mindig egyforma a kezdőpontokéval, mivel ‚S’ és ‚T’ figyelmen kívül vannak hagyva. Így a HOME-ba állás szükséges, mert a SAK így elérve lesz Kovács Levente Csaba – Timotei István Erdei
  48. 48. 3.3.4 Körmozgás CIRC => Abszolút mozgás derékszögű koordinátarendszerben CIRC_REL => Relatív mozgás derékszögű koordinátarendszerben a kezdő helyzetből kiindulva. Példa kód: CIRC {segédpont-koord.}, {célpont-koord.} CA 235.0 Kovács Levente Csaba – Timotei István Erdei
  49. 49. 3 Mozgás programozás 3.1 Különböző koordinátarendszerek használata 3.2 Ponttól pontig mozgás (PTP) 3.3 Pályasebesség (CP-Mozgás = Continous Path) 3.4 Számítóegység előretartása 3.5 Megközelítéses pályamozgás 3.6 Pontok betanítása Kovács Levente Csaba – Timotei István Erdei
  50. 50. 3.4 Számítóegység előretartása Az $ADVANCE rendszerváltozón keresztül az előretartás a bealított és feldolgozott mozgás készletek előtt kerül beállításra. A főmutató ezt követve látható a sárga nyíl által. Egy automatikus előretartás stopot okozhatnak bizonyos rendszerváltozók. Az előretartás stop visszafordítható a CONTINUE-val, de ami csak a következő sorra vonatkozik. Például WAIT SEC 0 -ra Kovács Levente Csaba – Timotei István Erdei
  51. 51. 3 Mozgás programozás 3.1 Különböző koordinátarendszerek használata 3.2 Ponttól pontig mozgás (PTP) 3.3 Pályasebesség (CP-Mozgás = Continous Path) 3.4 Számítóegység előretartása 3.5 Megközelítéses pályamozgás 3.6 Pontok betanítása Kovács Levente Csaba – Timotei István Erdei
  52. 52. 3.5 Megközelítéses pályamozgás • A programozónak a megközelítés kezdő- és végpontjára van befolyással. • Az előreértelmezést($ADVANCE =1) legalább 1-re kell beállítani, valamint előtte nem következhet be automatikus előrefutás leállás. Kovács Levente Csaba – Timotei István Erdei
  53. 53. 3.5.1 PTP-PTP-közelítés - A gépadatokban minden tengelyhez egy szög van: $APO_DIS_PTP[1]-től[6]=90-ig - A $APO.CPTP = százalékos értéken keresztül lehet a közelítés (kerekítés) kezdetét beállítani. - Minél nagyobb a százalék értéke, annál jobban lesz a pálya lekerekítve. Kovács Levente Csaba – Timotei István Erdei
  54. 54. 3.5.2 LIN-LIN-közelítés Ennél a megközelítésnél a pálya parabolaformát vesz fel. Pályaközelítés: Változó Adattípus Mért.e. Jelentés Kulcsszó $APO.CDIS REAL mm Transzlációs távolságkritérium C_DIS $APO.CORI REAL Orientációs távolság C_ORI $APO.CVEL INT % Sebességkritérium C_VEL Kovács Levente Csaba – Timotei István Erdei
  55. 55. 3.5.3 CIRC-CIRC-közelítés és CIRC-LIN közelítés Kovács Levente Csaba – Timotei István Erdei
  56. 56. 3 Mozgás programozás 3.1 Különböző koordinátarendszerek használata 3.2 Ponttól pontig mozgás (PTP) 3.3 Pályasebesség (CP-Mozgás = Continous Path) 3.4 Számítóegység előretartása 3.5 Megközelítéses pályamozgás 3.6 Pontok betanítása Kovács Levente Csaba – Timotei István Erdei
  57. 57. 3.6 Teachen von Punkten • Kódsor: • Kézileg ellenőrzött megközelítés Példa kód: PTP ! Kovács Levente Csaba – Timotei István Erdei
  58. 58. Áttekintés: 1. Általános információk a KRL programokhoz 2. Változók és konstansok 3. Mozgás programozás 4. Program lefutás irányítás 5. I/O utasítások 6. Alprogramok és Függvények 7. Adatlisták Kovács Levente Csaba – Timotei István Erdei
  59. 59. 4 Program lefutás irányítás 4.1 Program ágak 4.2 Ciklusok 4.3 Várakozási utasítások 4.4 Program megállítása Kovács Levente Csaba – Timotei István Erdei
  60. 60. 4.1 Program ágak • Ugrás utasítás (GOTO) • Feltételes ág (IF) • Osztó (SWITCH) Példa kód: GOTO MARKE . . . MARKE: Példa kód: IF (végrehajtási feltétel) THEN Utasítás ELSE Utasítás ENDIF Példa kód: SWITCH PROG_NR CASE 1 . . . CASE #NO1 . . . DEFAULT ENDSWITCH Kovács Levente Csaba – Timotei István Erdei
  61. 61. 4 Program lefutás irányítás 4.1 Program ágak 4.2 Ciklusok 4.3 Várakozási utasítások 4.4 Program megállítása Kovács Levente Csaba – Timotei István Erdei
  62. 62. 4.2 Ciklusok • FOR-ciklus • WHILE-ciklus • REPEAT-ciklus • Hurok (LOOP) • Ciklus megszüntetése (EXIT) => idő előtti megállítás Példa kód: WHILE (Végrehajtási feltétel ) Utasítások ENDWHILE Példa kód: REPEAT Utasítások UNTIL (Befejés feltétele) Példa kód: LOOP Utasítások ENDLOOP Példa kód: FOR számláló=Start TO Vége STEP Növekmény Utasítások ENDFOR Kovács Levente Csaba – Timotei István Erdei
  63. 63. 4 Program lefutás irányítás 4.1 Program ágak 4.2 Ciklusok 4.3 Várakozási utasítások 4.4 Program megállítása Kovács Levente Csaba – Timotei István Erdei
  64. 64. 4.3 Várakozási utasítások • Feltételes várakozási utasítások • Idővárakozás (delay) Példa kód: WAIT FOR (Feltétel) Példa kód: WAIT SEC TIME Kovács Levente Csaba – Timotei István Erdei
  65. 65. 4 Program lefutás irányítás 4.1 Program ágak 4.2 Ciklusok 4.3 Várakozási utasítások 4.4 Program megállítása Kovács Levente Csaba – Timotei István Erdei
  66. 66. 4.4 Program megállítása • HALT => Felfüggeszti a programot, viszont az utolsó utasítást végrehajtja. • BRAKE => Az utasítást azonnal leállítja Kovács Levente Csaba – Timotei István Erdei
  67. 67. Áttekintés: 1. Általános információk a KRL programokhoz 2. Változók és konstansok 3. Mozgás programozás 4. Program lefutás irányítás 5. I/O utasítások 6. Alprogramok és Függvények 7. Adatlisták Kovács Levente Csaba – Timotei István Erdei
  68. 68. 5 I/O utasítások 5.1 Általános 5.2 Bináris ki- és bemenetek 5.3 Digitális ki- és bemenetek 5.4 Impulzuskimenetek Kovács Levente Csaba – Timotei István Erdei
  69. 69. 5.1 Általános Kuka-Alap vezérlőszekrény -> Dugó X-11 (MFC-Modul) -> a következő ki- és bemenetek vannak: Bemenetek 1 ... 16 Kimenetek 1 ... 16 (max. 100mA terhelés; 100% egyidejűség) Kimenetek 17 ... 20 (max. 2A terhelés; 100% egyidejűség) • A következő változókkal történik a címzésük: $IN[Nr] illetve $OUT[Nr]. • E változók használata előrehaladási stopot vált ki. (Jeder Zugriff auf diese Variablen löst Vorlaufstopp aus.) Kovács Levente Csaba – Timotei István Erdei
  70. 70. 5 I/O utasítások 5.1 Általános 5.2 Bináris ki- és bemenetek 5.3 Digitális ki- és bemenetek 5.4 Impulzuskimenetek Kovács Levente Csaba – Timotei István Erdei
  71. 71. 5.2 Bináris ki- és bemenetek $OUT[Nr] = TRUE $OUT[Nr] = FALSE A ki- és bemenetek külön-külön lesznek megcímezve, ezek bináris ki- és bemenetek. A SIGNAL segítségével lehetőségünk van ki- és bemenetekhez nevet hozzáfűzni. Példa kód: BOOL KAPCSOLÓ SIGNAL KAPCSOLÓ $IN[5] Így az 5-ös bemenet neve: KAPCSOLÓ Kovács Levente Csaba – Timotei István Erdei
  72. 72. 5 I/O utasítások 5.1 Általános 5.2 Bináris ki- és bemenetek 5.3 Digitális ki- és bemenetek 5.4 Impulzuskimenetek Kovács Levente Csaba – Timotei István Erdei
  73. 73. 5.3 Digitális ki- és bemenetek Itt a „KI” signalnéven keresztül egy 11 bites ($OUT[10] To $OUT[20]) digitális kimenet van definiálva. Így a kimenetre ki lehet küldeni egy értéket: KI = 35 KI = `B1000111` KI = `H23` Példa kód: SIGNAL KI $OUT[10] TO $OUT[20] Kovács Levente Csaba – Timotei István Erdei
  74. 74. 5 I/O utasítások 5.1 Általános 5.2 Bináris ki- és bemenetek 5.3 Digitális ki- és bemenetek 5.4 Impulzuskimenetek Kovács Levente Csaba – Timotei István Erdei
  75. 75. 5.4 Impulzuskimenetek PULSE($OUT[4],TRUE,0.7) -> 4-es kimenet 0,7 másodpercig TRUE(High)-ra, azaz logikai 1 értékre lesz állítva Impulzus idők 0,012 és 231 másodperc között lehetségesek. A rácsnak 0,1 másodperc van. Kovács Levente Csaba – Timotei István Erdei
  76. 76. Áttekintés: 1. Általános információk a KRL programokhoz 2. Változók és konstansok 3. Mozgás programozás 4. Program lefutás irányítás 5. I/O utasítások 6. Alprogramok és Függvények 7. Adatlisták Kovács Levente Csaba – Timotei István Erdei
  77. 77. 6 Alprogramok és Függvények 6.1 Deklarálások 6.2 Meghívás és Paraméterátadás Kovács Levente Csaba – Timotei István Erdei
  78. 78. 6.1 Deklarálások • Lokális alprogramok / függvények => A főprogram alatt • Globális alprogramok / függvények => Saját SRC-Fájl • Függvények mint alprogramok Példa kód: DEF ALPROG() . . . END Példa kód: DEFFCT INT FÜGGVÉNY() . . . RETURN(X) ENDFCT Kovács Levente Csaba – Timotei István Erdei
  79. 79. Kulcsfontosságú mondatok: • A főprogram adatlistájában (DAT-fájl) deklarált minden változó a lokális alprogramok / függvények-ben érvényesek. • A főprogramban (SRC-fájl) deklarált változók csak a főprogramban érvényesek • Egy főprogram nem tud egy másik főprogram alprogramjaihoz és függvényeihez hozzáférni. • Az alprogramok és függvények nevei egyenként maximum 24 karakterből állhatnak. Kovács Levente Csaba – Timotei István Erdei
  80. 80. Különbségek Lokális és Globális alprogramok között: Kovács Levente Csaba – Timotei István Erdei
  81. 81. 6 Alprogramok és Függvények 6.1 Deklarálások 6.2 Meghívás és Paraméterátadás Kovács Levente Csaba – Timotei István Erdei
  82. 82. 6.2 Meghívás és Paraméterátadás • Call by value (IN) • Call by value (OUT) Példa kód: DEFFCT INT FUNCTION(SZÁM: IN) INT SZÁM SZÁM = SZÁM * SZÁM RETURN(SZÁM) ENDFCT Példa kód: DEFFCT INT FUNCTION(SZÁM: OUT) . . . Lásd fent. . . ENDFCT Kovács Levente Csaba – Timotei István Erdei
  83. 83. Áttekintés: 1. Általános információk a KRL programokhoz 2. Változók és konstansok 3. Mozgás programozás 4. Program lefutás irányítás 5. I/O utasítások 6. Alprogramok és Függvények 7. Adatlisták Kovács Levente Csaba – Timotei István Erdei
  84. 84. 7 Adatlisták 7.1 Lokális adatlisták 7.2 Globális adatlisták Kovács Levente Csaba – Timotei István Erdei
  85. 85. 7.1 Lokális adatlisták Készletek: • Az adatlista lokális, annak ellenére, hogy ő egy saját maga egy adat. • Egy adatlistában csak deklarációk és inicializálások lehetnek. • Ugyanabban a sorban lehet deklarálni és inicializálni is. • A program lefutása után a változtatott értékek az adatlistában lesznek tárolva. Kovács Levente Csaba – Timotei István Erdei
  86. 86. 7 Adatlisták 7.1 Lokális adatlisták 7.2 Globális adatlisták Kovács Levente Csaba – Timotei István Erdei
  87. 87. 7.2 Globális adatlisták 1 Kulcsszavak: IMPORT és PUBLIC: Kovács Levente Csaba – Timotei István Erdei
  88. 88. 7.2 Globális adatlisták 2 Kulcsszavak: GLOBALIS és PUBLIKUS: Kovács Levente Csaba – Timotei István Erdei
  89. 89. Áttekintés: 1. Általános információk a KRL programokhoz 2. Változók és konstansok 3. Mozgás programozás 4. Program lefutás irányítás 5. I/O utasítások 6. Alprogramok és Függvények 7. Adatlisták Sikerült! Köszönöm a figyelmet! Kovács Levente Csaba – Timotei István Erdei

×