SlideShare a Scribd company logo
1 of 89
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
Á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
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
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 István Erdei
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Á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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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-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
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
Á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
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
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
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
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
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
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
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
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
Á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
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
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
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
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
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
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
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
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
Á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
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-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
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
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Á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
Á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
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á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
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 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

More Related Content

What's hot

[Oil & Gas White Paper] Control Room Management - Alarm Management
[Oil & Gas White Paper] Control Room Management - Alarm Management [Oil & Gas White Paper] Control Room Management - Alarm Management
[Oil & Gas White Paper] Control Room Management - Alarm Management
Schneider Electric
 
Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models
Obeo
 
QM-046-品管員培訓教材
QM-046-品管員培訓教材QM-046-品管員培訓教材
QM-046-品管員培訓教材
handbook
 

What's hot (20)

Safety and Security Aspects of Automotive High Performance Controllers
Safety and Security Aspects of Automotive High Performance ControllersSafety and Security Aspects of Automotive High Performance Controllers
Safety and Security Aspects of Automotive High Performance Controllers
 
[Oil & Gas White Paper] Control Room Management - Alarm Management
[Oil & Gas White Paper] Control Room Management - Alarm Management [Oil & Gas White Paper] Control Room Management - Alarm Management
[Oil & Gas White Paper] Control Room Management - Alarm Management
 
David gimenez revista
David gimenez revistaDavid gimenez revista
David gimenez revista
 
07 connection to the process v1.00_en
07 connection to the process v1.00_en07 connection to the process v1.00_en
07 connection to the process v1.00_en
 
Foxboro Evo DCS - Εκδήλωση Explore Innovation - Αθήνα, Ιούνιος 2016
Foxboro Evo DCS - Εκδήλωση Explore Innovation - Αθήνα, Ιούνιος 2016Foxboro Evo DCS - Εκδήλωση Explore Innovation - Αθήνα, Ιούνιος 2016
Foxboro Evo DCS - Εκδήλωση Explore Innovation - Αθήνα, Ιούνιος 2016
 
An integrative solution towards SOTIF and AV safety
An integrative solution towards SOTIF and AV safetyAn integrative solution towards SOTIF and AV safety
An integrative solution towards SOTIF and AV safety
 
SIPROTEC 5 - The core of digital substations
SIPROTEC 5  - The core of digital substationsSIPROTEC 5  - The core of digital substations
SIPROTEC 5 - The core of digital substations
 
20160706 Automotive SYS: "Evolving Needs for Software Systems - Demonstrated"
20160706 Automotive SYS: "Evolving Needs for Software Systems - Demonstrated"20160706 Automotive SYS: "Evolving Needs for Software Systems - Demonstrated"
20160706 Automotive SYS: "Evolving Needs for Software Systems - Demonstrated"
 
Siemens win cc manual pcs 7 wincc basic process control
Siemens win cc manual pcs 7 wincc basic process controlSiemens win cc manual pcs 7 wincc basic process control
Siemens win cc manual pcs 7 wincc basic process control
 
Ch5 v70 cfc_en
Ch5 v70 cfc_enCh5 v70 cfc_en
Ch5 v70 cfc_en
 
Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models
 
Sitec 2017 Siemens Open Library Presentation
Sitec 2017 Siemens Open Library PresentationSitec 2017 Siemens Open Library Presentation
Sitec 2017 Siemens Open Library Presentation
 
ISO-26262-Webinar.pptx
ISO-26262-Webinar.pptxISO-26262-Webinar.pptx
ISO-26262-Webinar.pptx
 
Requirements of ISO 26262
Requirements of ISO 26262Requirements of ISO 26262
Requirements of ISO 26262
 
S.steele functional safety ppt
S.steele functional safety pptS.steele functional safety ppt
S.steele functional safety ppt
 
Asme b30-28-2015-balance-lifting-units
Asme b30-28-2015-balance-lifting-unitsAsme b30-28-2015-balance-lifting-units
Asme b30-28-2015-balance-lifting-units
 
Cfc for s7_e
Cfc for s7_eCfc for s7_e
Cfc for s7_e
 
QM-046-品管員培訓教材
QM-046-品管員培訓教材QM-046-品管員培訓教材
QM-046-品管員培訓教材
 
PLC and Industrial Automation - Technology Overview
PLC and Industrial Automation - Technology OverviewPLC and Industrial Automation - Technology Overview
PLC and Industrial Automation - Technology Overview
 
09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_en09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_en
 

Viewers also liked

WORKING AND PROGRAMMING OF KUKA ROBOT
WORKING AND PROGRAMMING OF KUKA ROBOTWORKING AND PROGRAMMING OF KUKA ROBOT
WORKING AND PROGRAMMING OF KUKA ROBOT
Shahid Faizee
 

Viewers also liked (13)

WORKING AND PROGRAMMING OF KUKA ROBOT
WORKING AND PROGRAMMING OF KUKA ROBOTWORKING AND PROGRAMMING OF KUKA ROBOT
WORKING AND PROGRAMMING OF KUKA ROBOT
 
Kuka Robotics
Kuka RoboticsKuka Robotics
Kuka Robotics
 
KUKA Software
KUKA SoftwareKUKA Software
KUKA Software
 
Textual Robot programming
Textual Robot programmingTextual Robot programming
Textual Robot programming
 
Industrial robotics
Industrial roboticsIndustrial robotics
Industrial robotics
 
KUKA KR 360-3 (Six-Axis Industrial Robot for Wheel Assembly System)
KUKA KR 360-3 (Six-Axis Industrial Robot for Wheel Assembly System)KUKA KR 360-3 (Six-Axis Industrial Robot for Wheel Assembly System)
KUKA KR 360-3 (Six-Axis Industrial Robot for Wheel Assembly System)
 
Robótica y programación Kuka
Robótica y programación KukaRobótica y programación Kuka
Robótica y programación Kuka
 
Robot programming
Robot programmingRobot programming
Robot programming
 
Components of industrial robotics
Components of industrial roboticsComponents of industrial robotics
Components of industrial robotics
 
Programación aplicada a robots (Gestual y textual)
Programación aplicada a robots (Gestual y textual)Programación aplicada a robots (Gestual y textual)
Programación aplicada a robots (Gestual y textual)
 
Métodos de programación de robots
Métodos de programación de robotsMétodos de programación de robots
Métodos de programación de robots
 
Industrial robots
Industrial robotsIndustrial robots
Industrial robots
 
Informe kuka sim pro
Informe kuka sim proInforme kuka sim pro
Informe kuka sim pro
 

Similar to KRL Kuka Robot Language - Timotei István Erdei - Timotei-Robotics (8)

Programozás és Digitális Tecnikák I. - Timotei István Erdei & Zsolt Molnár
Programozás és Digitális Tecnikák I. - Timotei István Erdei & Zsolt MolnárProgramozás és Digitális Tecnikák I. - Timotei István Erdei & Zsolt Molnár
Programozás és Digitális Tecnikák I. - Timotei István Erdei & Zsolt Molnár
 
Forráskódtárak gráfalapú statikus analízise
Forráskódtárak gráfalapú statikus analíziseForráskódtárak gráfalapú statikus analízise
Forráskódtárak gráfalapú statikus analízise
 
Berkes andrás pxml architektura 2013-01-16
Berkes andrás pxml architektura 2013-01-16Berkes andrás pxml architektura 2013-01-16
Berkes andrás pxml architektura 2013-01-16
 
Tóth Lajos - Személyes élmények az ITIL bevezetésével
Tóth Lajos - Személyes élmények az ITIL bevezetésévelTóth Lajos - Személyes élmények az ITIL bevezetésével
Tóth Lajos - Személyes élmények az ITIL bevezetésével
 
Linux alapok
Linux alapokLinux alapok
Linux alapok
 
Előadás2
Előadás2Előadás2
Előadás2
 
Objektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanObjektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatban
 
Oracle Perf Tuning Services - Database Services
Oracle Perf Tuning Services - Database ServicesOracle Perf Tuning Services - Database Services
Oracle Perf Tuning Services - Database Services
 

More from Timotei Robotics

More from Timotei Robotics (6)

DENZero -TÁMOP-4.2.2.A-11/1/KONV-2012-0041 2013. június 24. - Timotei István ...
DENZero -TÁMOP-4.2.2.A-11/1/KONV-2012-0041 2013. június 24. - Timotei István ...DENZero -TÁMOP-4.2.2.A-11/1/KONV-2012-0041 2013. június 24. - Timotei István ...
DENZero -TÁMOP-4.2.2.A-11/1/KONV-2012-0041 2013. június 24. - Timotei István ...
 
History of Metallography - Timotei István Erdei - Timotei-Robotics
History of Metallography - Timotei István Erdei - Timotei-RoboticsHistory of Metallography - Timotei István Erdei - Timotei-Robotics
History of Metallography - Timotei István Erdei - Timotei-Robotics
 
Heat Pump in Building Mechatronic II. - Timotei István Erdei - Timotei-Robotics
Heat Pump in Building Mechatronic II. - Timotei István Erdei - Timotei-RoboticsHeat Pump in Building Mechatronic II. - Timotei István Erdei - Timotei-Robotics
Heat Pump in Building Mechatronic II. - Timotei István Erdei - Timotei-Robotics
 
Heat Pump in Building Mechatronic - Timotei István Erdei - Timotei-Robotics
Heat Pump in Building Mechatronic - Timotei István Erdei - Timotei-RoboticsHeat Pump in Building Mechatronic - Timotei István Erdei - Timotei-Robotics
Heat Pump in Building Mechatronic - Timotei István Erdei - Timotei-Robotics
 
Materials Science Presentation - Timotei István Erdei - Timotei-Robotics
Materials Science Presentation - Timotei István Erdei - Timotei-RoboticsMaterials Science Presentation - Timotei István Erdei - Timotei-Robotics
Materials Science Presentation - Timotei István Erdei - Timotei-Robotics
 
Színpszichológia - Timotei-Robotics - Timotei István Erdei
Színpszichológia - Timotei-Robotics - Timotei István ErdeiSzínpszichológia - Timotei-Robotics - Timotei István Erdei
Színpszichológia - Timotei-Robotics - Timotei István Erdei
 

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

  • 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. Á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. 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. 1.1 A programok felépítése és szerkezete Kovács Levente Csaba – Timotei István Erdei
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 1.5 Megjegyzések Példa kód.: ;Megjegyzés Kovács Levente Csaba – Timotei István Erdei
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Á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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Á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. 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. 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. 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. 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. 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. 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. 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. 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. Á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. 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. 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. 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. 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. 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. 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. 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. 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. Á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. 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. 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. 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. Különbségek Lokális és Globális alprogramok között: Kovács Levente Csaba – Timotei István Erdei
  • 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. 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. Á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. 7 Adatlisták 7.1 Lokális adatlisták 7.2 Globális adatlisták Kovács Levente Csaba – Timotei István Erdei
  • 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. 7 Adatlisták 7.1 Lokális adatlisták 7.2 Globális adatlisták Kovács Levente Csaba – Timotei István Erdei
  • 87. 7.2 Globális adatlisták 1 Kulcsszavak: IMPORT és PUBLIC: Kovács Levente Csaba – Timotei István Erdei
  • 88. 7.2 Globális adatlisták 2 Kulcsszavak: GLOBALIS és PUBLIKUS: Kovács Levente Csaba – Timotei István Erdei
  • 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