03.11.2015 Views

PGA_0310_hu_hu-HU

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Munka-előkészítés<br />

SINUMERIK<br />

SINUMERIK 840D sl / 828D<br />

Munka-előkészítés<br />

Programozási kézikönyv<br />

___________________<br />

Előszó<br />

___________________<br />

Rugalmas NC programozás<br />

1<br />

___________________<br />

Fájl- és program-kezelés<br />

2<br />

___________________<br />

Védelmi tartományok<br />

3<br />

___________________<br />

Speciális út-utasítások<br />

4<br />

Koordináta-transzformációk<br />

___________________<br />

(FRAMES)<br />

5<br />

___________________<br />

Transzformációk<br />

6<br />

___________________<br />

Szerszámkorrekciók<br />

7<br />

___________________<br />

Pályaviselkedés<br />

8<br />

___________________<br />

Tengely-csatolások<br />

9<br />

___________________<br />

Mozgásszinkron-akciók<br />

10<br />

___________________<br />

Ingázás 11<br />

___________________<br />

Lyukasztás és sapkázás<br />

12<br />

___________________<br />

Köszörülés 13<br />

___________________<br />

További funkciók<br />

14<br />

___________________<br />

Saját leforgácsoló-program 15<br />

___________________<br />

Táblázatok<br />

16<br />

___________________ A<br />

Függelék<br />

Érvényes<br />

Vezérlések<br />

SINUMERIK 840D sl / 840DE sl<br />

SINUMERIK 828D<br />

Szoftver<br />

NCU rendszerszoftver<br />

Verzió<br />

2.6 SP1<br />

03/2010<br />

6FC5398-2BP20-1QA0


Jogi megjegyzések<br />

Jogi megjegyzések<br />

Figyelmeztetési utasítás tervezet<br />

A kézikönyv útmutatásokat tartalmaz, amelyeket személyes biztonsága, valamint az anyagi károk megelőzése<br />

érdekében követnie kell. A személyes biztonságához kapcsolódó útmutatásokat veszélyjelző háromszög emeli ki,<br />

Az általános anyagi károkhoz kapcsolódó útmutatásoknál nincs veszélyjelző háromszög. A veszély súlyossági<br />

fokától függően a veszélyjelző útmutatásokat a súlyostól a kevésbé súlyos veszély felé haladva a<br />

következőképpen ábrázolják.<br />

VESZÉLY<br />

Azt jelenti, hogy halálos baleset vagy súlyos sérüléstörténik, ha nem hozzák meg a megfelelő elővigyázatossági<br />

rendszabályokat.<br />

FIGYELMEZTETÉS<br />

Azt jelenti, hogy halálos baleset vagy súlyos sérüléstörténhet, ha nem hozzák meg a megfelelő<br />

elővigyázatossági rendszabályokat.<br />

VIGYÁZAT<br />

A veszélyjelző háromszöggel együtt azt jelenti, hogy könnyű sérülés történhet, ha nem hozzák meg a megfelelő<br />

elővigyázatossági rendszabályokat.<br />

VIGYÁZAT<br />

Veszélyjelző háromszög nélkül azt jelenti, hogy anyagi kár történhet, ha nem hozzák meg a megfelelő<br />

elővigyázatossági rendszabályokat.<br />

FIGYELEM<br />

Azt jelenti, hogy nem kívánt eredmény vagy állapot következhet be, ha nem követik a megfelelő útmutatást.<br />

Ha a különböző súlyossági fokú veszélyből egyszerre több áll fenn, mindig a legsúlyosabb fokú veszélyhez<br />

tartozó veszélyjelző háromszöget használják. Ha veszélyjelző háromszöggel ellátott veszélyjelző útmutatás<br />

személyi sérülések lehetőségére figyelmeztet, az útmutatáshoz anyagi károk veszélyét jelző útmutatás is<br />

társítható.<br />

Szakképzett személyzet<br />

Az ehhez a dokumentációhoz tartozó terméket/rendszert csak az adott feladatkörre kiképzett személyzet<br />

kezelheti az adott feladatkörre vonatkozó dokumentáció figyelembevételével, különös tekintettel az abban foglalt<br />

biztonsági és figyelmeztető utasításokra. A kiképzett személyzet a kiképzésére és tapasztalatára alapozva képes<br />

az ezekkel a termékekkel/rendszerekkel történő munkák során a kockázatok felismerésére és a lehetséges<br />

veszélyek elkerülésére.<br />

Siemens termékek rendeltetésszerű használata<br />

Ennél a következőket kell követni:<br />

FIGYELMEZTETÉS<br />

A Siemens termékek csak a katalógusban és a hozzátartozó műszaki dokumentációban meghatározott<br />

alkalmazási esetekre használhatók. Ha idegen termékek és –egységek alkalmazására kerül sor, akkor be kell<br />

szerezni a Siemens javaslatát ill. engedélyét. A termékek kifogástalan és biztonságos üzemeltetésének<br />

előfeltétele a szakszerű szállítás, szakszerű tárolás, felállítás, összeszerelés, telepítés, üzembe helyezés,<br />

kezelés és karbantartás. A megengedett környezeti feltételeket be kell tartani. A hozzátartozó<br />

dokumentációkban szereplő utasításokat figyelembe kell venni.<br />

Védjegyek<br />

Az ® oltalmi jogi megjegyzéssel jelölt minden elnevezés a Siemens AG. bejegyzett védjegye. A dokumentációban<br />

használt többi elnevezés olyan védjegy lehet, amelyeknek harmadik fél részéről saját célra történő használata<br />

sértheti a tulajdonosaik jogait.<br />

Felelősség kizárása<br />

Megvizsgáltuk, hogy a nyomtatvány tartalma egyezik-e az ismertetett hardverrel és szoftverrel. Ennek ellenére<br />

nem zárható ki, hogy eltérések vannak közöttük, ezért a maradéktalan egyezésért nem vállalunk felelősséget. A<br />

nyomtatvány tartalmát rendszeresen átnézzük, a szükséges javításokat a soron következő kiadásokban<br />

szerepeltetjük.<br />

Siemens AG<br />

Industry Sector<br />

Postfach 48 48<br />

90026 NÜRNBERG<br />

NÉMETORSZÁG<br />

Dokumentum rendelési szám: 6FC5398-2BP20-1QA0<br />

P 09/2010<br />

Copyright © Siemens AG 2010.<br />

A műszaki változtatások jogát<br />

fenntartjuk


Előszó<br />

SINUMERIK dokumentáció<br />

A SINUMERIK dokumentáció 3 kategóriába van sorolva:<br />

● Általános dokumentáció<br />

● Felhasználói dokumentáció<br />

● Gyártói-/szerviz-dokumentáció<br />

Az interneten a http://www.siemens.com/motioncontrol/docu helyen információk vannak a<br />

következő témákhoz:<br />

● Dokumentáció megrendelése<br />

Itt található az aktuális dokumentációk jegyzéke.<br />

● Dokumentáció letöltése<br />

További helyek a fájlok letöltéséhez a Service & Support-tól.<br />

● Dokumentáció online keresése<br />

Információk a DOConCD-hez és közvetlen hozzáférés a dokumentációkhoz a<br />

DOConWEB-en.<br />

● Dokumentációt a Siemens tartalom alapján összeállítani a My Documentation Managerrel<br />

(MDM), lásd http://www.siemens.com/mdm<br />

A My Documentation Manager egy egész sor funkciót nyújt Önnek a saját gépdokumentáció<br />

létrehozásához.<br />

● Oktatás és FAQ-k<br />

Az oktatás ajánlatról és a FAQ-król (frequently asked questions) információk találhatók az<br />

oldal-navigációnál.<br />

Célcsoport<br />

Ez a kiadvány a következőkhöz szól:<br />

● programozók<br />

● tervezők<br />

Haszon<br />

Ez a programozási kézikönyv képessé teszi a célcsoportot programok és szoftver-felületek<br />

tervezésére, írására, tesztelésére és a hibák megszüntetésére.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 3


Előszó<br />

Alap terjedelem<br />

Jelen programozási utasításban az alap terjedelem funkcionalitása kerül leírásra. A<br />

gépgyártó által végzett kiegészítéseket és változtatásokat a gépgyártó dokumentálja.<br />

A vezérlésben működhetnek további, ebben a dokumentációban nem leírt funkciók is.<br />

Ezekre a funkciókra azonban nem lehet igényt támasztani egy új szállításnál ill. szerviz<br />

esetén.<br />

Ez a dokumentáció az áttekinthetőség miatt nem tartalmazza a termék összes típusának<br />

valamennyi részletes információját és nem veheti figyelembe az alkalmazás, az üzemeltetés<br />

és a karbantartás valamennyi elképzelhető esetét.<br />

Műszaki támogatás<br />

Kérjük, hogy kérdéseikkel forduljanak a következő Hotline-hoz:<br />

Európa / Afrika<br />

Telefon +49 180 5050 - 222<br />

Fax +49 180 5050 - 223<br />

0,14 €/perc a német vonalas hálózatból, eltérő mobiltelefon árak lehetségesek.<br />

Internet<br />

http://www.siemens.de/automation/support-request<br />

Amerika<br />

Telefon +1 423 262 2522<br />

Fax +1 423 262 2200<br />

E-Mail<br />

mailto:techsupport.sea@siemens.com<br />

Ázsia / Óceánia<br />

Telefon +86 1064 757575<br />

Fax +86 1064 747474<br />

E-Mail<br />

mailto:support.asia.automation@siemens.com<br />

Megjegyzés<br />

Országonkénti telefonszámok találhatók a műszaki támogatáshoz az interneten:<br />

http://www.automation.siemens.com/partner<br />

Munka-előkészítés<br />

4 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Előszó<br />

Kérdések a dokumentációhoz<br />

A dokumentációval kapcsolatos kérdésekkel (javaslatok, javítások) küldjenek egy faxot vagy<br />

E-Mail-t a következő címre:<br />

Fax: +49 9131- 98 2176<br />

E-Mail: mailto:docu.motioncontrol@siemens.com<br />

A fax formanyomtatvány a dokumentáció végén található.<br />

Internet cím SINUMERIK-hez<br />

http://www.siemens.com/sinumerik<br />

Programozási kézikönyv "Alapok" és "Munka-előkészítés"<br />

Az NC programozás leírása két kézikönyvre van felosztva:<br />

1. Alapok<br />

Az "Alapok" programozási kézikönyv a gépkezelő szakmunkások részére készült és<br />

feltételezi a fúrási, marási és esztergálási megmunkálások megfelelő ismereteket .<br />

Egyszerű programozási példákon elmagyarázásra kerülnek a DIN 66025 szerint<br />

ismeretes utasítások és parancsok is.<br />

2. Munka-előkészítés<br />

A "Munka-előkészítés" Programozási utasítás technológusok részére ismereteket ad a<br />

teljes programozási lehetőségekről. A SINUMERIK vezérlés egy speciális programozói<br />

nyelv segítségével lehetővé teszi egy komplex munkadarabprogram programozását (pl.<br />

szabad formafelületek, csatorna-koordinálás,...) és megkönnyíti a technológusok részére<br />

a bonyolultabb programozást.<br />

A leírt NC nyelvi elemek rendelkezésre állása<br />

Az ebben a kézikönyvben leírt NC nyelvi elelemek a SINUMERIK 840D sl esetén állnak<br />

rendelkezésre. A rendelkzésre állás a SINUMERIK 828D esetén az "828D" oszlopban<br />

"Utasítások listája (Oldal 719)" látható.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 5


Előszó<br />

Munka-előkészítés<br />

6 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tartalomjegyzék<br />

Előszó........................................................................................................................................................ 3<br />

1 Rugalmas NC programozás..................................................................................................................... 15<br />

1.1 Változók .......................................................................................................................................15<br />

1.1.1 Általános információk a változókhoz............................................................................................15<br />

1.1.2 Rendszerváltozók ........................................................................................................................16<br />

1.1.3 Előre definiált felhasználói változók: Számítási paraméterek (R)................................................18<br />

1.1.4 Előre definiált felhasználói változók: Link-változók......................................................................20<br />

1.1.5 Felhasználói változók definíciója (DEF).......................................................................................22<br />

1.1.6 Rendszerváltozók, felhasználói változók és NC utasítások újra definiálása (FRDEF)................28<br />

1.1.7 Tulajdonság: Inicializálási érték ...................................................................................................30<br />

1.1.8 Tulajdonság: Határértékek (LLI, ULI)...........................................................................................34<br />

1.1.9 Tulajdonság: Fizikai egység (P<strong>HU</strong>) .............................................................................................35<br />

1.1.10 Tulajdonság: Hozzáférési jog (APR, APW, APRP, APWP, APRB, APWB) ................................38<br />

1.1.11 Definiálható és újra definiálható tulajdonságok áttekintése.........................................................43<br />

1.1.12 Mező-változók (DEF, SET, REP) definíciója és inicializálása .....................................................44<br />

1.1.13 Mező-változók (DEF, SET, REP) definíciója és inicializálása: További információk...................49<br />

1.1.14 Adattípusok ..................................................................................................................................52<br />

1.2 Közvetett programozás ................................................................................................................53<br />

1.2.1 Címek közvetett programozása ...................................................................................................53<br />

1.2.2 G-kódok közvetett programozása................................................................................................56<br />

1.2.3 Pozíció tulajdonságok (GP) közvetett programozása..................................................................57<br />

1.2.4 Munkadarabprogram sorok közvetett programozása (EXECSTRING) .......................................60<br />

1.3 Számítási műveletek....................................................................................................................61<br />

1.4 Összehasonlító és logikai műveletek...........................................................................................64<br />

1.5 Pontosság-korrekció összehasonlítási hibáknál (TRUNC)..........................................................66<br />

1.6 Változók minimuma, maximuma és tartománya (MINVAL, MAXVAL, BOUND) .........................68<br />

1.7 Műveletek prioritása.....................................................................................................................70<br />

1.8 Lehetséges típus-konverziók .......................................................................................................71<br />

1.9 String műveletek ..........................................................................................................................72<br />

1.9.1 Típus-konverzió STRING-re (AXSTRING) .................................................................................73<br />

1.9.2 Típus-konverzió STRING-ből (NUMBER, ISNUMBER, AXNAME) ............................................74<br />

1.9.3 Stringek láncolása (


Tartalomjegyzék<br />

1.12 Vezérlő struktúrák ....................................................................................................................... 95<br />

1.12.1 Program<strong>hu</strong>rkok alternatívával (IF, ELSE, ENDIF) ...................................................................... 96<br />

1.12.2 Végtelen program<strong>hu</strong>rok (LOOP, ENDLOOP) ............................................................................. 98<br />

1.12.3 Számláló <strong>hu</strong>rok (FOR ... TO ..., ENDFOR)................................................................................. 99<br />

1.12.4 Program<strong>hu</strong>rok feltétellel a <strong>hu</strong>rok elején (WHILE, ENDWHILE) ................................................ 100<br />

1.12.5 Program<strong>hu</strong>rok feltétellel a <strong>hu</strong>rok végén (REPEAT, UNTIL)...................................................... 101<br />

1.12.6 Programpélda skatulyázott vezérlő-struktúrákkal ..................................................................... 102<br />

1.13 Program koordináció (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) ............... 103<br />

1.14 Interrupt rutinok (ASUP)............................................................................................................ 109<br />

1.14.1 Egy interrupt-rutin funkciója ...................................................................................................... 109<br />

1.14.2 Interrupt-rutin létrehozása......................................................................................................... 110<br />

1.14.3 Interrupt-rutint hozzárendelni és indítani (SETINT, PRIO, BLSYNC)....................................... 111<br />

1.14.4 Egy interrupt-rutin hozzárendelését deaktiválni/újra-aktiválni (DISABLE, ENABLE)................ 113<br />

1.14.5 Egy interrupt-rutin hozzárendelésének törlése (CLRINT)......................................................... 114<br />

1.14.6 Gyors leemelés a kontúrról (SETINT LIFTFAST, ALF) ............................................................ 115<br />

1.14.7 Mozgásirány gyors leemelésnél a kontúrról.............................................................................. 117<br />

1.14.8 Mozgás-lefutások interrupt-rutinoknál....................................................................................... 120<br />

1.15 Tengely-csere, orsó-csere (RELEASE, GET, GETD)............................................................... 121<br />

1.16 Tengelyt egy másik csatornának átadni (AXTOCHAN) ............................................................ 126<br />

1.17 Gépadatokat hatásossá tenni (NEWCONF) ............................................................................. 128<br />

1.18 Fájl írás (WRITE) ...................................................................................................................... 129<br />

1.19 Fájl törlés (DELETE) ................................................................................................................. 132<br />

1.20 Sorok olvasása fájlban (READ) ................................................................................................ 134<br />

1.21 Egy fájl létezését megvizsgálni (ISFILE)................................................................................... 137<br />

1.22 Fájl információkat kiolvasni (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) ......... 139<br />

1.23 Ellenőrző-összeg képzése egy mezőhöz (CHECKSUM) ......................................................... 142<br />

1.24 Felkerekítés (ROUNDUP)......................................................................................................... 144<br />

1.25 Alprogram-technika ................................................................................................................... 145<br />

1.25.1 Általános.................................................................................................................................... 145<br />

1.25.1.1 Alprogram.................................................................................................................................. 145<br />

1.25.1.2 Alprogramnevek ........................................................................................................................ 146<br />

1.25.1.3 Alprogramok egymásba skatulyázása ...................................................................................... 147<br />

1.25.1.4 Keresési ág ............................................................................................................................... 148<br />

1.25.1.5 Formális és aktuális paraméterek ............................................................................................. 149<br />

1.25.1.6 Paraméter-átadás ..................................................................................................................... 150<br />

1.25.2 Egy alprogram definíciója.......................................................................................................... 152<br />

1.25.2.1 Alprogram paraméter-átadás nélkül.......................................................................................... 152<br />

1.25.2.2 Alprogram Call-by-Value paraméter-átadással (PROC)........................................................... 153<br />

1.25.2.3 Alprogram Call-by-Reference paraméter-átadással (PROC, VAR).......................................... 155<br />

1.25.2.4 Modális G-funkciókat menteni (SAVE)...................................................................................... 157<br />

1.25.2.5 Egyes-mondat feldolgozás elnyomás (SBLOF, SBLON).......................................................... 158<br />

1.25.2.6 Aktuális mondatkijelzés elnyomása (DISPLOF, DISPLON, ACTBLOCNO)............................. 164<br />

1.25.2.7 Alprogramokat előkészítéssel megjelölni (PREPRO) ............................................................... 168<br />

1.25.2.8 Alprogram-visszaugrás M17 ..................................................................................................... 169<br />

1.25.2.9 Alprogram-visszaugrás RET ..................................................................................................... 170<br />

1.25.2.10 Paraméterezhető alprogram-visszaugrás (RET...) .............................................................. 171<br />

1.25.3 Egy alprogram felhívása ........................................................................................................... 178<br />

1.25.3.1 Alprogram hívása paraméter-átadás nélkül.............................................................................. 178<br />

Munka-előkészítés<br />

8 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tartalomjegyzék<br />

1.25.3.2 Alprogram felhívása paraméter-átadással (EXTERN)...............................................................180<br />

1.25.3.3 Program ismétlések száma (P)..................................................................................................183<br />

1.25.3.4 Modális alprogram-hívás (MCALL) ............................................................................................185<br />

1.25.3.5 Közvetett alprogram-hívás (CALL) ............................................................................................187<br />

1.25.3.6 Közvetett alprogram-hívás a végrehajtandó programrész megadásával (CALL BLOCK ...<br />

TO ...) .........................................................................................................................................188<br />

1.25.3.7 Egy ISO-nyelven programozott program közvetett felhívása (ISOCALL) .................................190<br />

1.25.3.8 Alprogramot ág-megadással és paraméterekkel felhívni (PCALL)............................................191<br />

1.25.3.9 Keresőágat alprogram-hívásnál bővíteni (CALLPATH).............................................................192<br />

1.25.3.10 Külső alprogram feldolgozás (EXTCALL).............................................................................193<br />

1.25.4 Ciklusok......................................................................................................................................197<br />

1.25.4.1 Ciklusok: Felhasználói ciklusok paraméterezése ......................................................................197<br />

1.26 Makró-technika (DEFINE...AS)..................................................................................................201<br />

2 Fájl- és program-kezelés ....................................................................................................................... 205<br />

2.1 Programtároló ............................................................................................................................205<br />

2.2 Munkatároló (CHANDATA, COMPLETE, INITIAL)....................................................................210<br />

2.3 Struktúra-utasítás a lépés-szerkesztőben (SEFORM)...............................................................213<br />

3 Védelmi tartományok ............................................................................................................................. 215<br />

3.1 Védelmi tartományok megadása (CPROTDEF, NPROTDEF) ..................................................215<br />

3.2 Védelmi tartományok aktiválása/deaktiválása (CPROT, NPROT) ............................................219<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok vizsgálata<br />

(CALCPOSI)...............................................................................................................................223<br />

4 Speciális út-utasítások........................................................................................................................... 231<br />

4.1 Kódolt pozíciókra menni (CAC, CIC, CDC, CACP, CACN) .......................................................231<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO,<br />

ENAT, ETAN, PW, SD, PL) .......................................................................................................233<br />

4.3 Spline-kötelék (SPLINEPATH)...................................................................................................245<br />

4.4 NC-mondat kompresszió (COMPON, COMPCURV, COMPCAD, COMPOF) ..........................247<br />

4.5 Polinom-interpoláció (POLY, POLYPATH, PO, PL) ..................................................................250<br />

4.6 Beállítható pálya-vonatkoztatás: (SPATH, UPATH) ..................................................................256<br />

4.7 Mérés kapcsoló tapintóval (MEAS, MEAW) ..............................................................................259<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció) ....................................................262<br />

4.9 Speciális funkciók OEM-felhasználóknak (OEMIPO1, OEMIPO2, G810 ... G829)...................272<br />

4.10 Előtolás-csökkentés sarokkésleltetéssel (FENDNORM, G62, G621) .......................................273<br />

4.11 Programozható mozgás vége kritériumok (FINEA, COARSEA, IPOENDA, IPOBRKA,<br />

ADISPOSA)................................................................................................................................274<br />

4.12 Programozható szervó paraméterkészlet (SCPARA)................................................................278<br />

5 Koordináta-transzformációk (FRAMES)................................................................................................. 279<br />

5.1 Koordináta-transzformáció frame változókkal............................................................................279<br />

5.1.1 Előre definiált frame változók ($P_BFRAME, $P_IFRAME, $P_PFRAME,<br />

$P_ACTFRAME)........................................................................................................................281<br />

5.2 Mező-változókhoz / frame-khez értéket rendelni.......................................................................286<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 9


Tartalomjegyzék<br />

5.2.1 Közvetlen érték-hozzárendelés (tengelyérték, szög, mérték)................................................... 286<br />

5.2.2 Frame komponensek olvasása és megváltoztatása (TR, FI, RT, SC, MI) ............................... 289<br />

5.2.3 Teljes frame-k láncolása ........................................................................................................... 290<br />

5.2.4 Új frame-k definiálása (DEF FRAME) ....................................................................................... 292<br />

5.3 Durva és finom eltolás (CFINE, CTRANS) ............................................................................... 293<br />

5.4 Külső nullaponteltolás ............................................................................................................... 295<br />

5.5 Preset-eltolás (PRESETON)..................................................................................................... 296<br />

5.6 Frame-számítás 3 térbeli mérési pontból (MEAFRAME).......................................................... 298<br />

5.7 NCU-globális frame-k................................................................................................................ 302<br />

5.7.1 Csatorna-specifikus frame-k ($P_CHBFR, $P_UBFR) ............................................................. 303<br />

5.7.2 Csatornában hatásos frame-k................................................................................................... 304<br />

6 Transzformációk .................................................................................................................................... 309<br />

6.1 A transzformáció fajták általános programozása...................................................................... 309<br />

6.1.1 Tájolási mozgások a transzformációknál .................................................................................. 312<br />

6.1.2 TRAORI tájolási transzformáció áttekintése ............................................................................. 315<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI).......................................................... 317<br />

6.2.1 Általános összefüggések kardán szerszámfejnél ..................................................................... 317<br />

6.2.2 Három-, négy- és öt-tengelyes transzformáció (TRAORI)........................................................ 320<br />

6.2.3 Tájolás programozás és alaphelyzet változatok (OTIRESET).................................................. 321<br />

6.2.4 Szerszámtájolás programozása (A..., B..., C..., LEAD, TILT)................................................... 323<br />

6.2.5 Homlokmarás (3D-marás A4, B4, C4, A5, B5, C5)................................................................... 329<br />

6.2.6 A tájolótengelyek vonatkoztatása (ORIWKS, ORIMKS) ........................................................... 331<br />

6.2.7 Tájolótengelyek programozása (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2,<br />

ORIVIRT1, ORIVIRT2).............................................................................................................. 333<br />

6.2.8 Tájolás programozása egy kúppalást-felület mentén (ORIPLANE, ORICONCW,<br />

ORICONCCW, ORICONTO, ORICONIO) ................................................................................ 335<br />

6.2.9 Két érintőpont tájolás-megadása (ORICURVE, PO[XH]=, PO[YH]=, PO[ZH]=)....................... 339<br />

6.3 Tájolási polinomok (PO[szög], PO[koordináta])........................................................................ 341<br />

6.4 Szerszámtájolás forgatásai (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) ............. 343<br />

6.5 Pálya-viszonyítású tájolás......................................................................................................... 346<br />

6.5.1 Pályához viszonyított tájolási módok ........................................................................................ 346<br />

6.5.2 Szerszámtájolás pályára vonatkoztatott forgatása (ORIPATH, ORIPATHS, forgásszög) ....... 348<br />

6.5.3 Szerszámforgatás pályára vonatkozatott interpolációja (ORIROTC, THETA) ......................... 349<br />

6.5.4 A tájolás lefutásának simítása (ORIPATHS A8=, B8=, C8=).................................................... 351<br />

6.6 A tájolás komprimálása (COMPON, COMPCURV, COMPCAD).............................................. 353<br />

6.7 Tájolás lefutás simítása (ORISON, ORISOF)........................................................................... 357<br />

6.8 Kinematikus transzformációk .................................................................................................... 359<br />

6.8.1 Eszterga-munkadarabok maró-megmunkálása (TRANSMIT).................................................. 359<br />

6.8.2 Hengerpalást-transzformáció (TRACYL) .................................................................................. 362<br />

6.8.3 Ferde tengely (TRAANG).......................................................................................................... 371<br />

6.8.4 Ferde tengely programozása (G05, G07)................................................................................. 374<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben.................................................................... 376<br />

6.9.1 PTP TRANSMIT-nál.................................................................................................................. 381<br />

6.10 Peremfeltételek egy transzformáció felhívásánál ..................................................................... 385<br />

6.11 Transzformáció kikapcsolása (TRAFOOF) ............................................................................... 386<br />

6.12 Láncolt transzformációk (TRACON, TRAFOOF) ...................................................................... 387<br />

Munka-előkészítés<br />

10 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tartalomjegyzék<br />

7 Szerszámkorrekciók .............................................................................................................................. 389<br />

7.1 Korrekció-tároló..........................................................................................................................389<br />

7.2 Additív korrekciók.......................................................................................................................392<br />

7.2.1 Additív korrekciókat kiválasztani (DL)........................................................................................392<br />

7.2.2 Kopási és beállítási érték megadása ($TC_SCPxy[t,d], $TC_ECPxy[t,d]) ................................394<br />

7.2.3 Additív korrekciókat törölni (DELDL)..........................................................................................395<br />

7.3 Szerszámkorrekció - különleges kezelés...................................................................................396<br />

7.3.1 Szerszámhosszak tükrözése .....................................................................................................398<br />

7.3.2 Kopás előjel értékelés................................................................................................................399<br />

7.3.3 Aktív megmunkálás koordinátarendszere (TOWSTD, TOWMCS, TOWWCS, TOWBCS,<br />

TOWTCS, TOWKCS) ................................................................................................................400<br />

7.3.4 Szerszámhossz és síkcsere ......................................................................................................403<br />

7.4 Online-szerszámkorrekció (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) .............404<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)...................................................409<br />

7.5.1 3D-s szerszámkorrekciók aktiválása (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF, ISD)..........409<br />

7.5.2 3D-s szerszámkorrekciók: Kerüleimarás, homlokmarás ...........................................................411<br />

7.5.3 3D-s szerszámkorrekciók: Szerszámformák és szerszámadatok homlokmaráshoz.................413<br />

7.5.4 3D-s szerszámkorrekciók: Korrekció a pályán, pálya-görbültség, bemerülési mélység<br />

(CUT3DC, ISD) ..........................................................................................................................415<br />

7.5.5 3D-s szerszámkorrekciók: Belső sarkok / külső sarkok és metszéspont eljárás<br />

(G450/G451) ..............................................................................................................................417<br />

7.5.6 3D-s szerszámkorrekciók: 3D-s kerületmarás határoló felületekkel..........................................419<br />

7.5.7 3D-s szerszámkorrekciók: Határoló felület figyelembe vétele (CUT3DCC, CUT3DCCD) ........419<br />

7.6 Szerszám-tájolás (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)......................423<br />

7.7 Szabad D-szám megadás, vágóélszám ....................................................................................429<br />

7.7.1 Szabad D-szám megadás, vágóél-szám (CE cím)....................................................................429<br />

7.7.2 Szabad D-szám megadás: D-számot vizsgálni (CHKDNO) ......................................................430<br />

7.7.3 Szabad D-szám megadás: D-számot átnevezni (GETDNO, SETDNO)....................................431<br />

7.7.4 Szabad D-szám megadás: T-számot a megadott D-számhoz megállapítani (GETACTTD).....432<br />

7.7.5 Szabad D-szám megadás: D-számot érvénytelenné tenni (DZERO) .......................................433<br />

7.8 Szerszámtartó kinematika..........................................................................................................434<br />

7.9 Szerszámhossz-korrekció tájolható szerszámtartókra (TCARR, TCOABS, TCOFR,<br />

TCOFRX, TCOFRY, TCOFRZ)..................................................................................................439<br />

7.10 Online szerszámhossz-korrekció (TOFFON, TOFFOF) ............................................................443<br />

7.11 Vágóél adatok módosítása forgatható szerszámoknál (CUTMOD)...........................................446<br />

8 Pályaviselkedés..................................................................................................................................... 453<br />

8.1 Érintőleges vezérlés (TANG, TANGON, TANGOF, TLIFT, TANGDEL)....................................453<br />

8.2 Előtolás lefutás (FNORM, FLIN, FCUB, FPO)...........................................................................460<br />

8.3 Programlefutás előrefutás tárolóval (STARTFIFO, STOPFIFO, STOPRE) ..............................465<br />

8.4 Feltételesen megszakítható programszakaszok (DELAYFSTON, DELAYFSTOF) ..................468<br />

8.5 Programhely tiltása SERUPRO számára (IPTRLOCK, IPTRUNLOCK)....................................473<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)..................................................................476<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 11


Tartalomjegyzék<br />

8.7 Mozgás-vezetés befolyásolása................................................................................................. 486<br />

8.7.1 Százalékos rándítás-korrekció (JERKLIM) ............................................................................... 486<br />

8.7.2 Százalékos sebesség-korrekció (VELOLIM) ............................................................................ 487<br />

8.7.3 Programpélda VELOLIM-ra és JERKLIM-re............................................................................. 490<br />

8.8 Programozható kontúr-/tájolás-tűrés (CTOL, OTOL, ATOL) .................................................... 491<br />

8.9 Tűrés G0 mozgásoknál (STOLF).............................................................................................. 495<br />

9 Tengely-csatolások................................................................................................................................ 497<br />

9.1 Vontatás (TRAILON, TRAILOF)................................................................................................ 497<br />

9.2 Görbe-táblázatok (CTAB).......................................................................................................... 501<br />

9.2.1 Görbe-táblázatot definiálni (CTABDEF, CATBEND) ................................................................ 502<br />

9.2.2 Egy görbe-táblázat előfordulását megvizsgálni (CTABEXISTS) .............................................. 508<br />

9.2.3 Görbe-táblázatok törlése (CTABDEL)....................................................................................... 508<br />

9.2.4 Görbe-táblázatok zárolása törlésre és átírásra (CTABLOCK, CTABUNLOCK) ....................... 510<br />

9.2.5 Görbe-táblázatok: Táblázat tulajdonságok megállapítása (CTABID, CTABISLOCK,<br />

CTABMEMTYP, CTABPERIOD) .............................................................................................. 511<br />

9.2.6 Görbe-táblázat értékeinek olvasása (CTABTSV, CTABTEV, CTABTSP, CTABTEP,<br />

CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX)...................................... 513<br />

9.2.7 Görbe-táblázatok: Erőforrások használatának vizsgálata (CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL, CTABMPOL) ..................................................................................... 518<br />

9.3 Tengely vezető érték csatolás (LEADON, LEADOF)................................................................ 520<br />

9.4 Elektronikus hajtómű (EG) ........................................................................................................ 526<br />

9.4.1 Elektronikus hajtómű definíció (EGDEF) .................................................................................. 526<br />

9.4.2 Elektronikus hajtóművet bekapcsolni (EGON, EGONSYN, EGONSYNE) ............................... 528<br />

9.4.3 Elektronikus hajtómű kikapcsolása (EGOFS)........................................................................... 531<br />

9.4.4 Egy elektronikus hajtómű definícióját törölni (EGDEL) ............................................................. 532<br />

9.4.5 Fordulat-előtolás (G95) / Elektronikus hajtómű (FPR).............................................................. 533<br />

9.5 Szinkron-orsó ............................................................................................................................ 534<br />

9.5.1 Szinkronorsó: Programozás (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF,<br />

COUPOFS, COUPRES, WAITC).............................................................................................. 535<br />

9.6 Master-/Slave egyesülés (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS).............. 546<br />

10 Mozgásszinkron-akciók ......................................................................................................................... 551<br />

10.1 Alapok ....................................................................................................................................... 551<br />

10.1.1 Érvényességi tartomány és feldolgozási sorrend (ID, IDS) ...................................................... 553<br />

10.1.2 A feltétel ciklikus vizsgálata (WHEN, WHENEVER, FROM, EVERY) ...................................... 555<br />

10.1.3 Akciók (DO)............................................................................................................................... 557<br />

10.2 Műveletek feltételekre és akciókra............................................................................................ 558<br />

10.3 Főfutás változók szinkron-akciókhoz ........................................................................................ 560<br />

10.3.1 Rendszerváltozók...................................................................................................................... 560<br />

10.3.2 Implicit típus-átalakítás.............................................................................................................. 562<br />

10.3.3 GUD-változók............................................................................................................................ 563<br />

10.3.4 Alap tengelyjelölő (NO_AXIS) ................................................................................................... 565<br />

10.3.5 Szinkron-akció jelölő ($AC_MARKER[n]) ................................................................................. 566<br />

10.3.6 Szinkron-akció paraméter ($AC_PARAM[n]) ............................................................................ 566<br />

10.3.7 Számítási paraméterek ($R[n]) ................................................................................................. 567<br />

10.3.8 NC gép- és beállítási-adatok olvasása/írása ............................................................................ 568<br />

10.3.9 Időzítés-változók ($AC_Timer[n]).............................................................................................. 570<br />

10.3.10 FIFO-változók ($AC_FIFO1[n] ... $AC_FIFO10[n])................................................................... 571<br />

Munka-előkészítés<br />

12 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tartalomjegyzék<br />

10.3.11 Felvilágosítás a mondattípusokról az interpolátorban ($AC_BLOCKTYPE,<br />

$AC_BLOCKTYPEINFO, $AC_SPLITBLOCK)..........................................................................573<br />

10.4 Akciók a szinkron-akciókban......................................................................................................576<br />

10.4.1 Lehetséges szinkron-akciók áttekintése ....................................................................................576<br />

10.4.2 Segédfunkciók kiadása ..............................................................................................................579<br />

10.4.3 Beolvasás tiltást beállítani (RDISABLE) ....................................................................................580<br />

10.4.4 Előrefutás-állj-t megszüntetni (STOPREOF) .............................................................................581<br />

10.4.5 Maradékút törlés (DELDTG) ......................................................................................................582<br />

10.4.6 Polinom definíció (FCTDEF) ......................................................................................................584<br />

10.4.7 Szinkronfunkció (SYNFCT)........................................................................................................586<br />

10.4.8 Távolság szabályozás korlátozott korrekcióval ($AA_OFF_MODE)..........................................590<br />

10.4.9 Online szerszámkorrekció (FTOC) ............................................................................................593<br />

10.4.10 Online szerszámhossz-korrekció ($AA_TOFF) .........................................................................596<br />

10.4.11 Pozícionáló mozgások ...............................................................................................................598<br />

10.4.12 Tengely pozícionálás (POS) ......................................................................................................599<br />

10.4.13 Pozíció a megadott referencia-tartományban (POSRANGE)....................................................601<br />

10.4.14 Tengely indítás/megállítás (MOV)..............................................................................................602<br />

10.4.15 Tengelycsere (RELEASE, GET)................................................................................................603<br />

10.4.16 Tengely előtolás (FA).................................................................................................................607<br />

10.4.17 Szoftver-végállás .......................................................................................................................607<br />

10.4.18 Tengely koordináció...................................................................................................................608<br />

10.4.19 Valósérték beállítás (PRESETON) ............................................................................................609<br />

10.4.20 Orsó-mozgások..........................................................................................................................610<br />

10.4.21 Vontatás (TRAILON, TRAILOF).................................................................................................611<br />

10.4.22 Vezetőérték csatolás (LEADON, LEADOF)...............................................................................613<br />

10.4.23 Mérés (MEAWA, MEAC)............................................................................................................616<br />

10.4.24 Mező-változók inicializálása (SET, REP)...................................................................................617<br />

10.4.25 Várakozás jelölőt beállítani/törölni (SETM, CLEARM)...............................................................618<br />

10.4.26 Hiba-reakciók (SETAL) ..............................................................................................................619<br />

10.4.27 Fix-ütközőre menet (FXS, FXST, FXSW, FOCON, FOCOF) ....................................................620<br />

10.4.28 A pályaérintő szögének meghatározása szinkron-akciókban....................................................623<br />

10.4.29 Az aktuális override meghatározása..........................................................................................623<br />

10.4.30 Terhelés-kiértékelés a szinkron-akciók időigényével.................................................................624<br />

10.5 Technológiai ciklusok.................................................................................................................626<br />

10.5.1 Kontextus-változó ($P_TECCYCLE) .........................................................................................629<br />

10.5.2 Call-By-Value paraméter............................................................................................................630<br />

10.5.3 Alapbeállítás paraméter inicializálása........................................................................................630<br />

10.5.4 Technológiai ciklusok feldolgozásának vezérlése (ICYCOF, ICYCON)....................................631<br />

10.5.5 Technológiai ciklusok sorba kapcsolása....................................................................................632<br />

10.5.6 Technológiai ciklusok mondatonkénti szinkron-akciókban ........................................................632<br />

10.5.7 IF vezérlő-szerkezetek...............................................................................................................632<br />

10.5.8 Ugrás utasítások (GOTO, GOTOF, GOTOB) ............................................................................633<br />

10.5.9 Tiltás, engedélyezés, megszakítás (LOCK, UNLOCK, RESET) ...............................................634<br />

10.6 Szinkron-akció törlés (CANCEL)................................................................................................636<br />

10.7 A vezérlés viselkedése adott üzemállapotokban.......................................................................637<br />

11 Ingázás.................................................................................................................................................. 641<br />

11.1 Aszinkron ingázás (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) ............641<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)..........................................................................647<br />

12 Lyukasztás és sapkázás........................................................................................................................ 655<br />

12.1 Aktiválás, deaktiválás.................................................................................................................655<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 13


Tartalomjegyzék<br />

12.1.1 Lyukasztás és sapkázás be vagy ki (SPOF, SON, PON, SONS, PONS, PDELAYON,<br />

PDELAYOF, PUNCHACC) ....................................................................................................... 655<br />

12.2 Automatikus útfeldolgozás ........................................................................................................ 660<br />

12.2.1 Út felosztás pályatengelyeknél ................................................................................................. 663<br />

12.2.2 Út felosztás egyes tengelyeknél ............................................................................................... 665<br />

13 Köszörülés............................................................................................................................................. 667<br />

13.1 Köszörülés-specifikus szerszámfelügyelet munkadarabprogramokban (TMON, TMOF) ........ 667<br />

14 További funkciók.................................................................................................................................... 669<br />

14.1 Tengely funkciók (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL)............ 669<br />

14.2 Átkapcsolható geometria-tengelyek (GEOAX).......................................................................... 672<br />

14.3 Tengely-konténer (AXCTWE, AXCTWED) ............................................................................... 677<br />

14.4 Várni érvényes tengelypozícióra (WAITENC)........................................................................... 681<br />

14.5 NC-nyelv meglevő terjedelmének vizsgálata (STRINGIS) ....................................................... 683<br />

14.6 ISVAR funkció-felhívás és gépadat array-index olvasás .......................................................... 687<br />

14.7 Kompenzációs jelleggörbék betanulása (QECLRNON, QECLRNOF) ..................................... 689<br />

14.8 Ablakot munkadarabprogramból interaktívan felhívni (MMC)................................................... 691<br />

14.9 Program futásidő / munkadarab számláló ................................................................................ 692<br />

14.9.1 Program futásidő / munkadarab számláló (áttekintés) ............................................................. 692<br />

14.9.2 Program futásidő....................................................................................................................... 692<br />

14.9.3 Munkadarab számláló............................................................................................................... 697<br />

14.10 Vészjelzések (SETAL) .............................................................................................................. 699<br />

15 Saját leforgácsoló-program.................................................................................................................... 701<br />

15.1 A leforgácsolást támogató funkciók .......................................................................................... 701<br />

15.2 Kontúr-táblázatot létrehozni (CONTPRON).............................................................................. 702<br />

15.3 Kódolt kontúr-táblázatot létrehozni (CONTPRON) ................................................................... 708<br />

15.4 Két kontúrelem metszéspontját megállapítani (INTERSEC) .................................................... 712<br />

15.5 Egy táblázat kontúrelemeinek mondatonkénti megtétele (EXECTAB)..................................... 714<br />

15.6 Kör-adatok kiszámítása (CALCDAT) ........................................................................................ 715<br />

15.7 Kontúr-feldolgozást kikapcsolni (EXECUTE)............................................................................ 717<br />

16 Táblázatok ............................................................................................................................................. 719<br />

16.1 Utasítások listája ....................................................................................................................... 719<br />

A Függelék................................................................................................................................................ 791<br />

A.1 Rövidítések listája ..................................................................................................................... 791<br />

A.2 Visszacsatolás a dokumentációhoz .......................................................................................... 797<br />

A.3 Dokumentáció áttekintés........................................................................................................... 799<br />

Fogalmak............................................................................................................................................... 801<br />

Index...................................................................................................................................................... 823<br />

Munka-előkészítés<br />

14 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás 1<br />

1.1 Változók<br />

1.1.1 Általános információk a változókhoz<br />

A változók alkalmazásával, különösen a számítási és vezérlési funkciókkal kapcsolatban, a<br />

munkadarabprogramot és ciklusokat különösen rugalmasan alakíthatjuk ki. Ehhez a<br />

rendszer három különböző típusú változót bocsájt rendelkezésre:<br />

● Rendszerváltozók<br />

A rendszerváltozók a rendszerben definiált és felhasználó rendelkezésére bocsájtott fix<br />

jelentésű változók. Ezeket a rendszerszoftver is olvassa és írja. Példa: Gépadatok<br />

Egy rendszerváltozó jelentése és tulajdonságait a rendszer a legmesszebb menőkig<br />

meghatározza. A tulajdonságokat azonban a felhasználó újra definiálással csekély<br />

mértékben még meg tudja változtatni.<br />

● Felhasználói változók<br />

A felhasználói változók olyan változók, amelyek jelentését a rendszer nem ismeri és<br />

amelyeket a rendszer nem is értékel ki. A jelentést kizárólag a felhasználó adja meg.<br />

A felhasználói változók felosztása:<br />

– Előre definiált felhasználói változók<br />

Az előre definiált felhasználói változók a rendszerben már definiált változók,<br />

amelyeknek a számát a felhasználónak specifikus gépadatokkal még paramétereznie<br />

kell. Ezeknek a változóknak a tulajdonságait a felhasználó messzemenően illesztheti.<br />

– Felhasználó által definiált változók<br />

A felhasználó által definiált változók olyan változók, melyeket kizárólag a felhasználó<br />

definiált és amelyeket a rendszer csak a futásidőben hoz létre. Ezek számát,<br />

adattípusát, láthatóságát és összes többi tulajdonságát kizárólag a felhasználó adja<br />

meg.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 15


Rugalmas NC programozás<br />

1.1 Változók<br />

1.1.2 Rendszerváltozók<br />

A rendszerváltozók a rendszerben előre definiált változók, amelyek lehetővé teszik a<br />

munkadarabprogramokban és ciklusokban a hozzáférést a vezérlés paraméterezéséhez,<br />

továbbá a gép, a vezérlés és a folyamat állapotaihoz.<br />

Előrefutás-változók<br />

Az előrefutás-változók azok a változók, amelyeket az előrefutás állapotában, vagyis a<br />

munkadarabprogram mondatnak, amelyikben a rendszerváltozó programozva van,<br />

értelmezése időpontjában lehet olvasni és írni. Az előrefutás-változók nem váltanak ki<br />

előrefutás-álljt.<br />

Főfutás-változók<br />

Az főfutás-változók azok a változók, amelyeket a főfutás állapotában, vagyis a<br />

munkadarabprogram mondatnak, amelyikben a rendszerváltozó programozva van,<br />

végrehajtása időpontjában lehet olvasni és írni. A főfutás-változók:<br />

● rendszerváltozók, amelyeket a szinkronakciókban lehet programozni (olvasni/írni)<br />

● rendszerváltozók, amelyeket a munkadarabprogramban lehet programozni és előrefutásálljt<br />

kiváltani (olvasni/írni)<br />

● rendszerváltozók, amelyeket a munkadarabprogramban lehet programozni és az értéket<br />

az előrefutásban megállapítani, de csak a főfutásban lesz írva (főfutás-szinkron: csak<br />

írni)<br />

Prefix szisztéma<br />

A rendszerváltozók külön jelölésére normál esetben a név előtt egy prefix van, amely egy $<br />

karakterből és az azt követő egy vagy két betűből és alsó-vonalból tevődik össze.<br />

$ + 1. Betű Jelentés: adatfajta<br />

Előrefutásban olvasható / írható rendszerváltozók<br />

$M gépadatok 1)<br />

$S beállítási adatok, védőtartományok 1)<br />

$T szerszámkezelési adatok<br />

$P programozott értékek<br />

$C ISO-ciklusok ciklusváltozói<br />

$O opció adatok<br />

R R-paraméterek (számítási paraméterek) 2)<br />

Főfutásban olvasható / írható rendszerváltozók<br />

$$M gépadatok 1)<br />

$$S beállítási adatok 1)<br />

$A aktuális főfutás-adatok<br />

$V szervó-adatok<br />

Munka-előkészítés<br />

16 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

$ + 1. Betű Jelentés: adatfajta<br />

$R R-paraméterek (számítási paraméterek) 2)<br />

1) A gépadatok és beállítási adatoknak használatánál a munkadarabprogramban / ciklusban<br />

előrefutás-változóként a prefix egy $ karakterrel lesz írva. A szinkronakciókban főfutás-változóként<br />

használatnál a prefix két $ karakterrel lesz írva.<br />

2) Az R-paramétereknek használatánál a munkadarabprogramban / ciklusban előrefutás-változóként<br />

nem lesz prefix írva, pl R10. A szinkronakciókban főfutás-változóként használatnál a prefix egy $<br />

karakterrel lesz írva, pl. $R10.<br />

2. Betű Jelentés: láthatóság<br />

N<br />

NCK-globális változó (NCK)<br />

C<br />

csatorna-specifikus változó (Channel)<br />

A<br />

tengely-specifikus változó (Axis)<br />

Peremfeltételek<br />

Kivételek a prefix szisztémában<br />

A következő rendszerváltozók eltérnek az előzőekben leírt prefix szisztémától:<br />

● $TC_...: A 2. betű, C, nem egy csatorna-specifikus, hanem szerszámtartó-specifikus<br />

rendszerváltozóra utal (TC = Tool Carrier)<br />

● $P_ ...: csatorna-specifikus rendszerváltozók<br />

Gépadatok és beállítási adatok használata szinkronakciókban<br />

A gépadatok és beállítási adatok használatánál szinkronakciókban a prefix-szel lehet<br />

meghatározni, hogy a gépadatot vagy a beállítási adatot előrefutás- vagy főfutás-szinkron<br />

lehet olvasni/írni..<br />

Ha az adat a megmunkálás alatt változatlan marad, lehet előrefutás-szinkron olvasni.<br />

A gépadatok és beállítási adatok prefixét egy $ karakterrel kell kezdeni.<br />

Programkód<br />

ID=1 WHENEVER G710 $AA_IM[z] < $SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0<br />

Ha az adat a megmunkálás alatt változik, főfutás-szinkron kell olvasni / írni. A gépadatok és<br />

beállítási adatok prefixét ehhez két $ karakterrel kell írni:<br />

Programkód<br />

ID=1 WHENEVER $AA_IM[z] < $$SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 17


Rugalmas NC programozás<br />

1.1 Változók<br />

Megjegyzés<br />

Gépadatok írása<br />

Egy gépadat vagy beállítási adat írásánál ügyelni kell arra, hogy az aktív hozzáférési fok a<br />

munkadarabprogram / ciklus végrehajtásánál az írás hozzáférést megengedje és az adat<br />

hatásossága "IMMEDIATE" legyen.<br />

Irodalom<br />

A rendszerváltozók tulajdonságainak a felsorolása itt található:<br />

/<strong>PGA</strong>1/ Rendszerváltozók jegyzékes kézikönyv<br />

1.1.3 Előre definiált felhasználói változók: Számítási paraméterek (R)<br />

Funkció<br />

A számítási paraméterek vagy R-paraméterek előre definiált felhasználói változók az R<br />

megjelöléssel, REAL típusú mezőként definiálva. Történeti okokból az R-paraméterekre a<br />

mezőindexes írásmód pl. R[10] mellet mezőindex nélküli írásmód pl.R10 is megengedett.<br />

A szinkronakciókban való alkalmazásnál a $ karaktert kell elé írni pl. $R10.<br />

Szintaxis<br />

Előrefutás-változóként használatnál:<br />

R<br />

R[]<br />

Főfutás-változóként használatnál:<br />

$R<br />

$R[]<br />

Munka-előkészítés<br />

18 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

Jelentés<br />

R: jelölő előrefutás-változóként használatnál pl. munkadarabprogramban<br />

$R:<br />

jelölő főfutás-változóként használatnál pl. szinkronakciókban<br />

típus: REAL<br />

értéktartomány: Nem exponenciális írásmódnál:<br />

± (0.000 0001 ... 9999 9999)<br />

Utalás:<br />

Maximum 8 decimális hely megengedett<br />

Exponenciális írásmódnál:<br />

± (1*10 -300 ... 1*10 +300 )<br />

Utalás:<br />

Írásmód: EX pl. 8.2EX-3<br />

Maximum 10 jegy megengedett az előjellel és a<br />

tizedesponttal együtt.<br />

:<br />

:<br />

R-paraméter száma<br />

típus: INT<br />

értéktartomány: 0 - MAX_INDEX<br />

Utalás<br />

MAX_INDEX az R-paraméterek paraméterezett számából<br />

adódik:<br />

MAX_INDEX = (MD28050 $MN_MM_NUM_R_PARAM) - 1<br />

mező-index<br />

A mezőindex lehet egy tetszőleges kifejezés, amennyiben a kifejezés<br />

eredményét INT adattípusba át lehet alakítani (INT, REAL, BOOL, CHAR)<br />

Példa<br />

Hozzárendelés R-paraméterhez és az R-paraméterek használata matematikai funkciókban:<br />

Programkód<br />

Kommentár<br />

R0=3.5678 ; hozzárendelés előrefutásban<br />

R[1]=-37.3 ; hozzárendelés előrefutásban<br />

R3=-7 ; hozzárendelés előrefutásban<br />

$R4=-0.1EX-5 ; hozzárendelés főfutásban R4 = -0.1 * 10^-5<br />

$R[6]=1.874EX8 ; hozzárendelés főfutásban R6 = 1.874 * 10^8<br />

R7=SIN(25.3) ; hozzárendelés előrefutásban<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 19


Rugalmas NC programozás<br />

1.1 Változók<br />

Programkód<br />

Kommentár<br />

R[R2]=R10 ; közvetett címzés R-paraméterrel<br />

R[(R1+R2)*R3]=5 ; közvetett címzés matematikai kifejezéssel<br />

X=(R1+R2) ; mozgás X tengellyel az R1 és R2 összegéből adódó<br />

pozícióra<br />

Z=SQRT(R1*R1+R2*R2) ; mozgás Z tengellyel a (R1^2 + R2^2) négyzetgyök<br />

pozícióra<br />

1.1.4 Előre definiált felhasználói változók: Link-változók<br />

Funkció<br />

A Link-változókkal az "NCU-Link" funkció keretében egy hálózatban egymással összekötött<br />

NCU-k között ciklikusan adatokat lehet cserélni. Ezek lehetővé tesznek egy adatformátum<br />

specifikus hozzáférést a Link-változó tárolóhoz. A Link-változó tárolót a felhasználó a<br />

nagysága és az adatszerkezete szempontjából felhasználó- / gépgyártó-specifikusan adja<br />

meg.<br />

A Link-változók rendszer-globális felhasználói változók, amelyeket létrehozott Linkkommunikációnál<br />

a Link-egyesülés összes NCU-ja a munkadarabprogramokból és<br />

ciklusokból olvasni és írni tud. A globális felhasználói változókkal (GUD) ellentétben a Linkváltozók<br />

a szinkronakciókban is alkalmazhatók.<br />

Az aktív NCU-Link nélküli berendezésekben a Link-változók a vezérlésekben helyileg<br />

használhatók a globális felhasználói változók (GUD) mellett kiegészítő globális felhasználói<br />

változókként.<br />

Szintaxis<br />

$A_DLB[]<br />

$A_DLW[]<br />

$A_DLD[]<br />

$A_DLR[]<br />

Jelentés<br />

$A_DLB:<br />

$A_DLW:<br />

$A_DLD:<br />

BYTE adatformátumú Link-változó (1 bájt)<br />

adattípus: UINT<br />

értéktartomány: 0 ... 255<br />

WORD adatformátumú Link-változó (2 bájt)<br />

adattípus: INT<br />

értéktartomány: -32768 ... 32767<br />

DWORD adatformátumú Link-változó (4 bájt)<br />

adattípus: INT<br />

értéktartomány: -2147483648 ... 2147483647<br />

Munka-előkészítés<br />

20 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

$A_DLR:<br />

:<br />

REAL adatformátumú Link-változó (8 bájt)<br />

adattípus: REAL<br />

értéktartomány: ±(2,2*10 -308 … 1,8*10 +308 )<br />

cím-index bájtban, a Link-változó tároló elejétől számítva<br />

adattípus: INT<br />

értéktartomány: 0 - MAX_INDEX<br />

Utalás<br />

Az MAX_INDEX a Link-változó tároló paraméterezett<br />

méretéből adódik: MAX_INDEX = (MD18700<br />

$MN_MM_SIZEOF_LINKVAR_DATA) - 1<br />

Csak olyan indexeket szabad programozni, hogy a Linkváltozó<br />

tárolóban címzett bájtok egy adatformátum<br />

határra essenek ⇒<br />

index = n * bájt, n = 0, 1, 2, ...<br />

– $A_DLB[i]: i = 0, 1, 2, ...<br />

– $A_DLW[i]: i = 0, 2, 4, ...<br />

– $A_DLD[i]: i = 0, 4, 8, ...<br />

– $A_DLR[i]: i = 0, 8, 16, ...<br />

Példa<br />

Az automatizálási berendezésben 2 NCU van (NCU1 és NCU2). Az NCU1-hez az AX2<br />

géptengely van csatlakoztatva, amelyet Link-tengelyként az NCU2 fog mozgatni.<br />

Az NCU1 ciklikusan írja az AX2 tengely áram-valósértékét ($VA_CURR) a Link-változó<br />

tárolóba. Az NCU2 ciklikusan olvassa a Link-kommunikációval az átadott áram-valósértéket<br />

és a túllépésnél a 61000 vészjelzést adja.<br />

A Link-változó tároló adatszerkezetét a következő kép ábrázolja. Az áram-valósérték a<br />

REAL értékkel lesz átvive.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 21


Rugalmas NC programozás<br />

1.1 Változók<br />

NCU1<br />

Az NCU1 egy statikus szinkronakcióban ciklikusan IPO-ütemben írja az AX2 áramvalósértékét<br />

a $A_DLR[ 16 ] Link-változóval a Link-változó tárolóba.<br />

Programkód<br />

N111 IDS=1 WHENEVER TRUE DO $A_DLR[16]=$VA_CURR[AX2]<br />

NCU2<br />

Az NCU2 egy statikus szinkronakcióban ciklikusan IPO-ütemben olvassa az AX2 áramvalósértékét<br />

a $A_DLR[ 16 ] Link-változóval a Link-változó tárolóból. Ha az áram-valósérték<br />

nagyobb, mint 23.0 A, a 61000 vészjelzés lesz kijelezve.<br />

Programkód<br />

N222 IDS=1 WHEN $A_DLR[16] > 23.0 DO SETAL(61000)<br />

1.1.5 Felhasználói változók definíciója (DEF)<br />

Funkció<br />

A DEF utasítással tudunk saját változókat definiálni és azoknak értéket adni.<br />

A rendszerváltozóktól való elhatárolás céljából ezek felhasználó által definiált változóknak<br />

vagy felhasználói változóknak (User Data) hívjuk.<br />

A felhasználói változóknak az érvényességi tartományuk, vagyis azon tartomány, amelyben<br />

láthatóak, szerint a következő kategóriáik vannak:<br />

● Lokális felhasználói változók (LUD)<br />

A lokális felhasználói változók (LUD) olyan változók, amelyek egy<br />

munkadarabprogramban definiálva, amely a feldolgozás időpontjában nem a főprogram.<br />

Ezek a munkadarabprogram felhívásánál lesznek létrehozva és a munkadarabprogram<br />

végével ill. NC-Reset-tel törölve. A LUD-hoz csak az a munkadarabprogram tud<br />

hozzáférni, amelyikben definiálva lett.<br />

● Program-globális felhasználói változók (PUD)<br />

A program-globális felhasználói változók (PUD) olyan változók, amelyek egy<br />

főprogramként használt munkadarabprogramban lettek definiálva. Ezek a<br />

munkadarabprogram indításával lesznek létrehozva és a munkadarabprogram végével ill.<br />

NC-Reset-tel törölve. A PUD-hoz a főprogramban és az összes alprogramban hozzá<br />

lehet férni.<br />

● Globális felhasználói változók (GUD)<br />

A globális felhasználói változók (GUD) NC- ill. csatorna-globális változók, amelyek egy<br />

adatmodulban (SGUD, MGUD, UGUD, GUD4 ... GUD9) vannak definiálva és<br />

megmaradnak a Power On-on túl is. A GUD-hoz minden munkadarabprogramban hozzá<br />

lehet férni.<br />

Munka-előkészítés<br />

22 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

A felhasználói változókat az alkalmazásuk (olvasás / írás) előtt definiálni kell. Ennél a<br />

következő szabályokat kell figyelembe venni:<br />

● A GUD-okat mindig egy definíciós fájlban, pl. _N_DEF_DIR/_M_SGUD_DEF, kell<br />

definiálni.<br />

● A PUD-okat és LUD-okat egy munkadarabprogram definíciós részében kell definiálni.<br />

● Az adatok definíciója egy önálló mondatban kell legyen.<br />

● Egy adat-definícióban csak egy adattípust lehet használni.<br />

● Adat-definíciókként azonos adattípusú több változót lehet definiálni.<br />

Szintaxis<br />

DEF <br />

<br />

[,,]=<br />

Jelentés<br />

DEF:<br />

:<br />

:<br />

:<br />

:<br />

:<br />

utasítás GUD, PUD és LUD felhasználói változók definíciójára<br />

érvényességi tartomány, csak GUD-nál számít:<br />

NCK: NC-globális felhasználói változó<br />

CHAN: csatorna-globális felhasználói változó<br />

adattípus:<br />

INT:<br />

egészszám előjellel<br />

REAL:<br />

valósszám (LONG REAL IEEE<br />

szerint)<br />

BOOL: igazságérték IGAZ (1) / HAMIS (0)<br />

CHAR:<br />

ASCII karakter<br />

STRING[]: adott hosszú karakterlánc<br />

AXIS:<br />

tengely-/orsó-jelölő<br />

FRAME:<br />

geometriai adatok egy statikus<br />

transzformációhoz<br />

előrefutás-állj, csak GUD-nál számít (opcionális)<br />

SYNR: előrefutás-állj olvasásnál<br />

SYNW: előrefutás-állj írásnál<br />

SYNRW: előrefutás-állj olvasásnál/írásnál<br />

változók újra-inicializálásának időpontja (opcionális)<br />

INIPO: Power On<br />

INIRE: főprogram vége, NC-Reset vagy Power On<br />

INICF: NewConfig vagy főprogram vége, NC-Reset vagy<br />

Power On<br />

PRLOC: főprogram vége, NC-Reset helyi változások után<br />

vagy Power On<br />

fizikai egység (opcionális)<br />

P<strong>HU</strong> :<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 23


Rugalmas NC programozás<br />

1.1 Változók<br />

:<br />

:<br />

:<br />

[,<br />

,<br />

]:<br />

:<br />

alsó vagy felső határérték (opcionális)<br />

LLI :<br />

ULI :<br />

alsó határérték (lower limit)<br />

felső határérték (upper limit)<br />

hozzáférési jogok GUD írásra / olvasásra munkadarabprogramból<br />

vagy BTSS-ről (opcionális)<br />

APRP :olvasás: munkadarabprogram<br />

APWP :írás: munkadarabprogram<br />

APRB :olvasás: BTSS<br />

APWB :írás: BTSS<br />

Védelmi fokozat értéktartomány: 0 ... 7<br />

változók neve<br />

Utalás<br />

maximum 31 karakter<br />

Az első két jelnek betűnek és/vagy alsó-vonalnak kell lennie.<br />

A "$" karakter a rendszerváltozókra foglalt és nem szabad<br />

használni.<br />

mező-méretek megadása 1 .. max, 3 dimenziójú mező-változókra<br />

(opcionális)<br />

inicializálási érték (opcionális)<br />

Példák<br />

Példa 1: Felhasználói változók definíciója adatmodulban gépgyártónak<br />

Programkód<br />

%_N_MGUD_DEF ; GUD modul: Gépgyártó<br />

$PATH=/_N_DEF_DIR<br />

DEF CHAN REAL P<strong>HU</strong> 24 LLI 0 ULI 10 STROM_1, STROM_2<br />

; leírás<br />

; két GUD definíciója: STROM_1, STROM_2<br />

; érvényességi terület csatornában<br />

; adattípus: REAL<br />

; EF-állj: nincs programozva => alapérték = nincs EF-állj<br />

; fizi. egység: 24 = [A]<br />

; határértékek: Low = 0.0, High = 10.0<br />

; hozzáférési jogok: nincs programozva => alapérték = 7 = kulcsos-kapcsoló állás 0<br />

; inicializálási érték: nincs programozva => alapérték = 0.0<br />

DEF NCK REAL P<strong>HU</strong> 13 LLI 10 APWP 3 APRP 3 APWB 0 APRB 2 ZEIT_1=12, ZEIT_2=45<br />

; leírás<br />

; két GUD definíciója: ZEIT_1, ZEIT_2<br />

; érvényességi terület NCK-ban<br />

; adattípus: REAL<br />

Munka-előkészítés<br />

24 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

Programkód<br />

; EF-állj: nincs programozva => alapérték = nincs EF-állj<br />

; fizi. egység: 13 = [s]<br />

; határértékek: Low = 10.0, High = nincs programozva => felső definíciós tartomány határ<br />

; hozzáférési jogok:<br />

; munkadarabprogram: írás/olvasás = 3 = végfelhasználó<br />

; BTSS: írás = 0 = Siemens, olvasás = 3 = végfelhasználó<br />

; inicializálási érték: ZEIT_1 = 12.0, ZEIT_2 = 45.0<br />

DEF NCK APWP 3 APRP 3 APWB 0 APRB 3 STRING[5] GUD5_NAME = "COUNTER"<br />

; leírás<br />

; Egy GUD definíciója: GUD5_NAME<br />

; érvényességi terület NCK-ban<br />

; adattípus: STRING, max. 5 karakter<br />

; EF-állj: nincs programozva => alapérték = nincs EF-állj<br />

; fizi. egység: nincs programozva => alapérték = 0 = nincs fizikai egység<br />

; határértékek: nincs programozva => definíciós taromány határok: Low = 0, High = 255<br />

; hozzáférési jogok:<br />

; munkadarabprogram: írás/olvasás = 3 = végfelhasználó<br />

; BTSS: írás = 0 = Siemens, olvasás = 3 = végfelhasználó<br />

; inicializálási érték: "COUNTER"<br />

M30<br />

Példa 2: Program-globális és -lokális felhasználói változók (PUD / LUD)<br />

Programkód<br />

PROC MAIN<br />

DEF INT VAR1<br />

...<br />

SUB2<br />

...<br />

M30<br />

Kommentár<br />

; Főprogram<br />

; PUD definíció<br />

; alprogramhívás<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 25


Rugalmas NC programozás<br />

1.1 Változók<br />

Programkód<br />

PROC SUB2<br />

DEF INT VAR2<br />

...<br />

IF (VAR1==1)<br />

VAR1=VAR1+1<br />

VAR2=1<br />

ENDIF<br />

SUB3<br />

...<br />

M17<br />

Kommentár<br />

; SUB2 alprogram<br />

; LUD-DEFINITION<br />

; PUD olvasás<br />

; PUD olvasás és írás<br />

; LUD írás<br />

; alprogramhívás<br />

Programkód<br />

PROC SUB3<br />

...<br />

IF (VAR1==1)<br />

VAR1=VAR1+1<br />

VAR2=1<br />

ENDIF<br />

...<br />

M17<br />

Kommentár<br />

; SUB3 alprogram<br />

; PUD olvasás<br />

; PUD olvasás és írás<br />

; hiba: LUD a SUB2-ből nem ismert<br />

Példa 3: Felhasználói változó definíció és alkalmazás, adattípus: AXIS<br />

Programkód<br />

Kommentár<br />

DEF AXIS ABSZISSE<br />

; 1. geometria-tengely<br />

DEF AXIS SPINDLE<br />

; Orsó<br />

...<br />

IF ISAXIS(1) == FALSE GOTOF WEITER<br />

ABSZISSE = $P_AXN1<br />

WEITER:<br />

...<br />

SPINDLE=(S1)<br />

1. Orsó<br />

OVRA[SPINDLE]=80 ; orsó-override = 80%<br />

SPINDLE=(S3)<br />

3. Orsó<br />

Munka-előkészítés<br />

26 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

Peremfeltételek<br />

Globális felhasználói változók (GUD)<br />

A globális felhasználói változók (GUD) definíciója keretében a következő gépadatokat kell<br />

figyelembe venni:<br />

Nr. Jelölő: $MN_ Jelentés<br />

11140 GUD_AREA_ SAVE_TAB GUD modulok kiegészítő mentése<br />

18118 1) MM_NUM_GUD_MODULES GUD fájlok száma az aktív fájlrendszerben<br />

18120 1) MM_NUM_GUD_NAMES_NCK globális GUD nevek száma<br />

18130 1) MM_NUM_GUD_NAMES_CHAN csatorna-spec. GUD nevek<br />

18140 1) MM_NUM_GUD_NAMES_AXIS tengely-spec. GUD nevek<br />

18150 1) MM_GUD_VALUES_MEM tárolóhely globális GUD értékekre<br />

18660 1) MM_NUM_SYNACT_GUD_REAL REAL adattípusú létrehozható GUD-ok száma<br />

18661 1) MM_NUM_SYNACT_GUD_INT INT adattípusú létrehozható GUD-ok száma<br />

18662 1) MM_NUM_SYNACT_GUD_BOOL BOOL adattípusú létrehozható GUD-ok száma<br />

18663 1) MM_NUM_SYNACT_GUD_AXIS AXIS adattípusú létrehozható GUD-ok száma<br />

18664 1) MM_NUM_SYNACT_GUD_CHAR CHAR adattípusú létrehozható GUD-ok száma<br />

18665 1) MM_NUM_SYNACT_GUD_STRING STRING adattípusú létrehozható GUD-ok<br />

száma<br />

1)<br />

SINUMERIK 828D-nél nincs.<br />

Program-globális felhasználói változók (PUD)<br />

FIGYELEM<br />

Program-lokális felhasználói változók (PUD) láthatósága<br />

A főprogramban definiált program-lokális felhasználói változók (PUD) csak akkor láthatók,<br />

ha a következő gépadat be van állítva:<br />

MD11120 $MN_LUD_EXTENDED_SCOPE = 1<br />

Az MD11120 = 0 értékével főprogramban definiált program-lokális felhasználói változók<br />

(PUD) csak a főprogramban láthatók.<br />

AXIS adattípusú NCK-globális felhasználói változók csatornákat átfogó alkalmazása<br />

Egy AXIS adattípusú NCK-globális felhasználói változót, amely a definíciónál az<br />

adatmodulban egy tengely-jelölővel lett inicializálva, csak akkor lehet az NC különböző<br />

csatornáiban használni, hat a tengelynek ezekben a csatornákban azonos csatornatengelyszáma<br />

van.<br />

Ha ez nem így van, a változót a munkadarabprogram elején kell betölteni vagy, mint a<br />

következő példában az AXNAME(...) funkciót kell használni.<br />

Programkód<br />

DEF NCK STRING[5] ACHSE="X"<br />

Kommentár<br />

; definíció az adatmodulban<br />

N100 AX[AXNAME(ACHSE)]=111 G00<br />

; alkalmazás a munkadarabprogramban<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 27


Rugalmas NC programozás<br />

1.1 Változók<br />

1.1.6 Rendszerváltozók, felhasználói változók és NC utasítások újra definiálása<br />

(FRDEF)<br />

Funkció<br />

A REDEF utasítással a rendszerváltozók, felhasználói változók és NC utasítások<br />

tulajdonságait meg lehet változtatni.. Az újra definiálás előfeltétele, hogy időben a megfelelő<br />

definíció után legyen végrehajtva.<br />

Az újra definiálásnál több jellemzőt lehet egyszerre megváltoztatni. Minden<br />

megváltoztatandó tulajdonságra egy külön REDEF utasítást kell programozni.<br />

Ha több konkuráló tulajdonság-változtatás van programozva, mindig az utolsó változtatás<br />

aktív.<br />

Újra definiálható tulajdonságok<br />

lásd "Definiálható és újra definiálható tulajdonságok áttekintése (Oldal 43)"<br />

Lokális felhasználói változók (PUD / LUD)<br />

A lokális felhasználói változókra (PUD / LUD) nem lehetséges az újra definiálás.<br />

Szintaxis<br />

REDEF <br />

REDEF <br />

REDEF <br />

REDEF <br />

REDEF <br />

REDEF <br />

Jelentés<br />

REDEF:<br />

:<br />

:<br />

utasítás rendszerváltozók, felhasználói változók és NC utasítások egy<br />

bizonyos tulajdonságának a megváltoztatására<br />

egy már definiált változó vagy NC utasítás neve<br />

előrefutás-állj<br />

SYNR:<br />

előrefutás-állj olvasásnál<br />

SYNW:<br />

előrefutás-állj írásnál<br />

SYNRW: előrefutás-állj olvasásnál/írásnál<br />

Munka-előkészítés<br />

28 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

:<br />

:<br />

:<br />

:<br />

:<br />

fizikai egység<br />

P<strong>HU</strong> :<br />

lásd "Tulajdonság: Fizikai egység (P<strong>HU</strong>) (Oldal 35)"<br />

Utalás<br />

Nem definiálható újra:<br />

Rendszerváltozók<br />

Globális felhasználói adatok(GUD)<br />

Adattípusok: BOOL, AXIS, STRING, FRAME<br />

alsó és/vagy felső határérték<br />

LLI : alsó határérték (lower limit)<br />

ULI : felső határérték (upper limit)<br />

lásd "Tulajdonság: Határértékek (LLI, ULI) (Oldal 34)"<br />

Utalás<br />

Nem definiálható újra:<br />

Rendszerváltozók<br />

Globális felhasználói adatok(GUD)<br />

Adattípusok: BOOL, AXIS, STRING, FRAME<br />

hozzáférési jogok írásra / olvasásra munkadarabprogramból vagy<br />

BTSS-ről<br />

APX : végrehajtás: NC nyelvi elem<br />

APRP : olvasás: munkadarabprogram<br />

APWP : írás: munkadarabprogram<br />

APRB : olvasás: BTSS<br />

APWB : írás: BTSS<br />

védelmi fokozat értéktartomány: 0 ... 7<br />

lásd "Tulajdonság: Hozzáférési jog (APR, APW, APRP, APWP,<br />

APRB, APWB) (Oldal 38)"<br />

változók újra-inicializálásának időpontja<br />

INIPO: PowerOn<br />

INIRE: főprogram vége, NC-Reset vagy Power On<br />

INICF: NewConfig vagy főprogram vége, NC-Reset vagy<br />

Power On<br />

PRLOC: főprogram vége, NC-Reset helyi változások után<br />

vagy Power On<br />

lásd "Tulajdonság: Inicializálási érték (Oldal 30)"<br />

Inicializálási érték<br />

Az inicializálási értek újra definiálásánál mindig meg kell adni egy újra<br />

inicializálási időpontot (lásd is.<br />

lásd "Tulajdonság: Inicializálási érték (Oldal 30)"<br />

Utalás<br />

Nem definiálható újra:<br />

rendszerváltozók, kivéve a beállítási adatokat<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 29


Rugalmas NC programozás<br />

1.1 Változók<br />

Példa<br />

A $TC_DPC1 rendszerváltozó újra definiálása adatmodulban gépgyártó számára<br />

Programkód<br />

%_N_MGUD_DEF ; GUD modul: Gépgyártó<br />

$PATH=/_N_DEF_DIR<br />

REDEF $TC_DPC1 APWB 2 APWP 3<br />

REDEF $TC_DPC1 P<strong>HU</strong> 21<br />

REDEF $TC_DPC1 LLI 0 ULI 200<br />

REDEF $TC_DPC1 INIPO (100, 101, 102, 103)<br />

; leírás<br />

; írás hozzáférési jog: BTSS = védelmi fok 2, munkadarabprogram = védelmi fok 3<br />

; Utalás<br />

; Az ACCESS fájlok használatánál a hozzáférési jogok újra definiálását a<br />

; _N_MGUD_DEF-ból a _N_MACCESS_DEF-be kell áthelyezni<br />

; fizikai egység = [ % ]<br />

; határértékek: alsó = 0, felső = 200<br />

; A mező-változó a Power On-nál négy értékkel lesz inicializálva<br />

M30<br />

Peremfeltételek<br />

Granularitás<br />

Az újra definiálás mindig a teljes, a neve által egyértelműen megadott változóra vonatkozik.<br />

Nem lehetséges pl. a mező-változóknál az egyes mezőelemekhez eltérő tulajdonságértékeket<br />

hozzárendelni.<br />

1.1.7 Tulajdonság: Inicializálási érték<br />

Felhasználói változók definíciója (DEF)<br />

A definíciónál a következő felhasználói változókra lehet megadni inicializálási értéket:<br />

● Globális felhasználói változók (GUD)<br />

● Program-globális felhasználói változók (PUD)<br />

● Lokális felhasználói változók (LUD)<br />

Munka-előkészítés<br />

30 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

Rendszerváltozók és felhasználói változók újra definíciója (REDEF)<br />

Az újra definíciónál a következő változókra lehet megadni inicializálási értéket:<br />

● Rendszeradatok<br />

– beállítási-adatok<br />

● Felhasználói adatok<br />

– R-paraméterek<br />

– szinkronizációs változók ($AC_MARKER, $AC_PARAM, $AC_TIMER)<br />

– szinkronakciók–GUD (SYG_xy[ ], x=R, I, B, A, C, S és y=S, M, U, 4, ..., 9)<br />

– EPS-paraméterek<br />

– OEM szerszámadatok<br />

– OEM táradatok<br />

– globális felhasználói változók (GUD)<br />

Újra inicializálás időpont<br />

Az újra definíciónál meg lehet adni egy időpontot, amikor a változót újra inicializálni, vagyis<br />

ismét az inicializálási értékre kell állítani:<br />

● INIPO (Power On)<br />

A változó Power On-nál újra lesz inicializálva.<br />

● INIRE (Reset)<br />

A változó NC-Reset-nél, BAG-Reset-nél, munkadarabprogram végénél (M02 / M30) vagy<br />

Power On-nál újra lesz inicializálva.<br />

● INICF (NewConfig)<br />

A változó NewConf igénynél a HMI-től, NEWCONFIG munkadarab utasításnál vagy NC-<br />

Reset-nél, BAG-Reset-nél, munkadarabprogram végénél (M02 / M30) vagy Power On-nál<br />

újra lesz inicializálva.<br />

● PRLOC (program-lokális változás)<br />

A változó csak akkor lesz NC-Reset-nél, BAG-Reset-nél vagy a munkadarabprogram<br />

végénél (M02 / M30) újra inicializálva, ha az aktuális munkadarabprogram keretében lett<br />

megváltoztatva.<br />

A PRLOC tulajdonságot csak a programozható beállítási adatokkal (lásd a következő<br />

táblázatot) összefüggésben szabad használni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 31


Rugalmas NC programozás<br />

1.1 Változók<br />

Táblázat 1- 1 Programozható beállítási adatok<br />

Szám Jelölők G-utasítás 1)<br />

42000 $SC_THREAD_START_ANGLE SF<br />

42010 $SC_THREAD_RAMP_DISP DITS / DITE<br />

42400 $SA_PUNCH_DWELLTIME PDELAYON<br />

42800 $SA_SPIND_ASSIGN_TAB SETMS<br />

43210 $SA_SPIND_MIN_VELO_G25 G25<br />

43220 $SA_SPIND_MAX_VELO_G26 G26<br />

43230 $SA_SPIND_MAX_VELO_LIMS LIMS<br />

43300 $SA_ASSIGN_FEED_PER_REV_SOURCE FPRAON<br />

43420 $SA_WORKAREA_LIMIT_PLUS G26<br />

43430 $SA_WORKAREA_LIMIT_MINUS G25<br />

43510 $SA_FIXED_STOP_TORQUE FXST<br />

43520 $SA_FIXED_STOP_WINDOW FXSW<br />

43700 $SA_OSCILL_REVERSE_POS1 OSP1<br />

43710 $SA_OSCILL_REVERSE_POS2 OSP2<br />

43720 $SA_OSCILL_DWELL_TIME1 OST1<br />

43730 $SA_OSCILL_DWELL_TIME2 OST2<br />

43740 $SA_OSCILL_VELO FA<br />

43750 $SA_OSCILL_NUM_SPARK_CYCLES OSNSC<br />

43760 $SA_OSCILL_END_POS OSE<br />

43770 $SA_OSCILL_CTRL_MASK OSCTRL<br />

43780 $SA_OSCILL_IS_ACTIVE OS<br />

43790 $SA_OSCILL_START_POS OSB<br />

1) ezzel a G-utasítással lesz a beállítási adat megszólítva<br />

Peremfeltételek<br />

Inicializálási érték: Globális felhasználói változók (GUD)<br />

● A globális felhasználói változókra (GUD) az NCK érvényességi tartománnyal az<br />

inicializálási időpontra csak INIPO (Power On) adható meg.<br />

● A globális felhasználói változókra (GUD) a CHAN érvényességi tartománnyal az<br />

inicializálási időpontra az INIPO (Power On) mellett INIRE (Reset) vagy INICF (NewConfig)<br />

is megadható.<br />

● A globális felhasználói változóknál (GUD) a CHAN érvényességi tartománnyal és INIRE<br />

(Reset) vagy INICF (NewConfig) inicializálási időponttal, az NC-Reset-nél, BAG-Reset-nél<br />

és NewConfig-nál a változók csak azokban a csatornákban lesznek újra inicializálva,<br />

amelyekben a megnevezett esemény ki lett váltva.<br />

Munka-előkészítés<br />

32 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

Inicializálási érték: FRAME adattípus<br />

A FRAME adattípusú változókra nem szabad inicializálási értéket megadni. FRAME adattípusú<br />

változók közvetetten mindig az alap-frame-mel lesznek inicializálva.<br />

Inicializálási érték: CHAR adattípus<br />

A CHAR adattípusú változókra az ASCII kód (0...255) lehet a megfelelő ASCII karaktert is<br />

idézőjelek között programozni, pl. "A"<br />

Inicializálási érték: STRING adattípus<br />

A STRING adattípusú változókra a karakterláncot idézőjelek között kell megadni,<br />

pl.: ...= "MASCHINE_1"<br />

Inicializálási érték: AXIS adattípus<br />

Az AXIS adattípusú változókra a tengely-jelölőt a bővített cím-írásmódnál zárójelekben kell<br />

megadni, pl..: ...=(X3)<br />

Inicializálási érték: Rendszerváltozó<br />

A rendszerváltozókra az újra definíciónál nem lehet felhasználó-specifikus inicializálási<br />

értékeket megadni: A rendszerváltozók inicializálási értékét a rendszer adja meg. Az újra<br />

definícióval a reinicializálás időpontot (INIRE, INICF) a rendszerváltozókhoz meg lehet<br />

változtatni.<br />

Közvetett inicializálási érték: AXIS adattípus<br />

Az AXIS adattípusú változókra a következő közvetett inicializálási érték lesz használva:<br />

● rendszeradatok: "első geometria-tengely"<br />

● szinkronizációs GUD (jelölés: SYG_A*), PUD, LUD:<br />

tengely-jelölő gépadatból: MD20082 $MC_AXCONF_CHANAX_DEFAULT_NAME<br />

Közvetett inicializálási érték: szerszám- és táradatok<br />

A szerszám- és táradatokra az inicializálási értékeket a következő gépadatokkal lehet<br />

megadni: MD17520 $MN_TOOL_DEFAULT_DATA_MASK<br />

FIGYELEM<br />

Szinkronizálás<br />

Az események szinkronizálása, amit egy globális változó újra inicializálása vált ki ezen<br />

változónak egy más helyen való olvasásával, kizárólag a felhasználó / gépgyártó<br />

felelőssége.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 33


Rugalmas NC programozás<br />

1.1 Változók<br />

1.1.8 Tulajdonság: Határértékek (LLI, ULI)<br />

A definíciós tartományokra felső és alsó határértéket csak a következő adattípusokra lehet<br />

megadni:<br />

● INT<br />

● REAL<br />

● CHAR<br />

Felhasználói változók definíciója (DEF): Határértékek és implicit inicializálási értékek<br />

Ha a felhasználói változók definíciójánál a fenti adattípusok egyikénél nincs inicializálási<br />

érték definiálva, a változó az adattípus implicit inicializálási értékére lesz beállítva:<br />

● INT: 0<br />

● REAL: 0.0<br />

● CHAR: 0<br />

Ha az implicit inicializálási érték a programozott határértékekkel megadott definíciós<br />

tartományon kívül esik, azzal a határértékkel lesz inicializálva, amelyik az implicit<br />

inicializálási értékhez a legközelebb van.<br />

● implicit inicializálási érték < alsó határérték (LLI) ⇒<br />

inicializálási érték = alsó határérték<br />

● implicit inicializálási érték > felső határérték (ULI) ⇒<br />

inicializálási érték = felső határérték<br />

Példák:<br />

Programkód<br />

Kommentár<br />

DEF REAL GUD1 ;<br />

;<br />

;<br />

;<br />

alsó határérték = definíciós tartomány határ<br />

felső határérték = definíciós tartomány határ<br />

nincs inicializálási érték programozva<br />

=> implicit inicializálási érték = 0.0<br />

DEF REAL LLI 5.0 GUD2 ;<br />

;<br />

;<br />

alsó határérték = 5.0<br />

felső határérték = definíciós tartomány határ<br />

=> inicializálási érték = 5.0<br />

DEF REAL ULI –5 GUD3 ;<br />

;<br />

;<br />

alsó határérték = definíciós tartomány határ<br />

felső határérték = -5.0<br />

=> inicializálási érték = -5.0<br />

Munka-előkészítés<br />

34 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

Felhasználói változók újra definíciója (REDEF): Határértékek ás aktuális valósértékek<br />

Ha az újra definíciónál egy felhasználói változó határértékei úgy lesznek megváltoztatva,<br />

hogy az aktuális valósérték az új definíciós tartományon kívül van, egy vészjelzés történik és<br />

a határértékek nem lesznek átvéve.<br />

Megjegyzés<br />

Felhasználói változók újra definíciója (REDEF):<br />

Egy felhasználói változó határértékeinek újra definiálásánál ügyelni kell a következő értékek<br />

konzisztens változtatására:<br />

határértékek<br />

Valósérték<br />

Inicializálási érték újra definiálásnál és automatikus újra definiálásnál INIPO, INIRE vagy<br />

INICF miatt<br />

1.1.9 Tulajdonság: Fizikai egység (P<strong>HU</strong>)<br />

Fizikai egységet csak a következő adattípusú változókra lehet megadni:<br />

● INT<br />

● REAL<br />

Programozható fizikai egységek (P<strong>HU</strong>)<br />

A fizikai egység megadása fixpontos számként történik: P<strong>HU</strong> <br />

A következő fizikai egységeket lehet programozni:<br />

Jelentés Fizikai egység<br />

0 nincs fizikai egység -<br />

1 lineáris- vagy szögpozíció 1)2) [ mm ], [ hüvelyk], [ fok]<br />

2 lineáris pozíció 2) [ mm ], [ hüvelyk]<br />

3 szögpozíció [ fok ]<br />

4 lineáris- vagy szögsebesség 1)2) [ mm/perc ], [ hüvelyk/perc ], [ ford/perc ]<br />

5 lineáris sebesség 2) [ mm/perc ]<br />

6 szögsebesség [ ford/perc ]<br />

7 lineáris- vagy szög-gyorsulás 1)2) [ m/s 2 ], [ hüv/s 2 ], [ ford/s 2 ]<br />

8 lineáris gyorsulás 2) [ m/s 2 ], [ hüv/s 2 ]<br />

9 szög-gyorsulás [ ford/s 2 ]<br />

10 lineáris- vagy szög-rándítás 1)2) [ m/s 3 ], [ hüv/s 3 ], [ ford/s 3 ]<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 35


Rugalmas NC programozás<br />

1.1 Változók<br />

Jelentés Fizikai egység<br />

11 lineáris rándítás 2) [ m/s 3 ], [ hüv/s 3 ]<br />

12 szög-rándítás [ ford/s 3 ]<br />

13 idő [ s ]<br />

14 helyzetszabályzó erősítés [ 16.667/s ]<br />

15 fordulati előtolás 2) [ mm/ford ], [ hüvelyk/ford ]<br />

16 hőmérséklet-kompenzáció 1)2) [ mm ], [ hüvelyk]<br />

18 erő [ N ]<br />

19 tömeg [ kg ]<br />

20 tehetetlenségi nyomaték 3) [ kgm 2 ]<br />

21 százalék [ % ]<br />

22 frekvencia [ Hz ]<br />

23 feszültség [ V ]<br />

24 áram [ A ]<br />

25 hőmérséklet [ °C ]<br />

26 szög [ fok ]<br />

27 KV [ 1000/perc ]<br />

28 lineáris- vagy szögpozíció 3) [ mm ], [ hüvelyk], [ fok]<br />

29 vágósebesség 2) : [ m/perc ], [ láb/perc ]<br />

30 kerületi sebesség 2) [ m/perc ], [ láb/perc ]<br />

31 ellenállás [ Ohm ]<br />

32 induktivitás [ mH ]<br />

33 forgatónyomaték 3) [ Nm ]<br />

34 forgatónyomaték állandó 3) [ Nm/A ]<br />

35 áramszabályzó erősítés [ V/A ]<br />

36 fordulatszámszabályzó erősítés 3) [ Nm/(rad*s) ]<br />

37 fordulatszám [ ford/perc ]<br />

42 teljesítmény [ kW ]<br />

43 áram, kicsi [ μA ]<br />

46 forgatónyomaték, kicsi 3) [ μNm ]<br />

48 ezrelék -<br />

49 - [ Hz/s ]<br />

65 áramlás [ l/perc ]<br />

66 nyomás [ bar ]<br />

67 térfogat 3) [ cm 3 ]<br />

68 szakasz erősítés 3) [ mm/(V*perc) ]<br />

69 erőszabályzó szakasz erősítés [ N/V ]<br />

155 menetemelkedés 3) [ mm/ford ], [ hüvelyk/ford ]<br />

156 menetemelkedés változás 3) [ mm/ford / ford ], [ hüvelyk/ford / ford]<br />

Munka-előkészítés<br />

36 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

Jelentés Fizikai egység<br />

1)A fizikai egységek függnek a tengelytípustól: lineáris- vagy körtengely<br />

2) mértékrendszer átkapcsolás<br />

G70/G71(hüvelyk/metrikus)<br />

Az alaprendszer átkapcsolása után (MD10240 $MN_SCALING_SYSTEM_IS_METRIC) G70/G71-<br />

gyel az író/olvasó hozzáférésnél a hosszúság vonatkozású rendszer- és felhasználói változókra nem<br />

lesz érték-átszámítás (valósérték, alapérték és határértékek)<br />

G700/G710(hüvelyk/metrikus)<br />

Az alaprendszer átkapcsolása után (MD10240 $MN_SCALING_SYSTEM_IS_METRIC) G700/G710-<br />

gyel az író/olvasó hozzáférésnél a hosszúság vonatkozású rendszer- és felhasználói változókra nem<br />

lesz érték-átszámítás (valósérték, alapérték és határértékek)<br />

3) A változó nem lesz automatikusan átszámítva az NC aktuális mértékrendszerébe<br />

(hüvelyk/metrikus). Az átszámítás kizárólag a felhasználó / gépgyártó felelőssége.<br />

Megjegyzés<br />

Szint túlcsordulás formátum-számítással<br />

Az összes felhasználói változó (GUD / PUD / LUD) belső tárolási formátuma a hosszvonatkozású<br />

egységeknél metrikus. Az ilyen változók intenzív használata az NCK<br />

főfutásában, pl. szinkronakciókban, a mértékrendszer átkapcsolásánál számítási idő<br />

túlcsordulást okozhat az interpolátor-szinten, vészjelzés 4240.<br />

FIGYELEM<br />

Egységek kompatibilitása<br />

A változók használatánál (hozzárendelés, összehasonlítás, kiszámítás, stb.) az érintett<br />

egységek kompatibilitása nem lesz megvizsgálva. Az esetleg szükséges átszámítás<br />

kizárólag a felhasználó / gépgyártó felelőssége.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 37


Rugalmas NC programozás<br />

1.1 Változók<br />

1.1.10 Tulajdonság: Hozzáférési jog (APR, APW, APRP, APWP, APRB, APWB)<br />

A hozzáférési jognak a programozásnál megadandó következő védelmi fokok felelnek meg:<br />

Hozzáférési jog<br />

védelmi fokozat<br />

rendszer jelszó 0<br />

gépgyártó jelszó 1<br />

szerviz jelszó 2<br />

vég-felhasználó jelszó 3<br />

kulcsos-kapcsoló 3 4<br />

kulcsos-kapcsoló 2 5<br />

kulcsos-kapcsoló 1 6<br />

kulcsos-kapcsoló 0 7<br />

Felhasználói változók definíciója (DEF)<br />

Hozzáférési jogokat (APR... / APW...) a következő változókra lehet definiálni:<br />

● Globális felhasználói adatok(GUD)<br />

Rendszerváltozók és felhasználói változók újra definíciója (REDEF)<br />

Hozzáférési jogokat (APR... / APW...) a következő változókra lehet definiálni:<br />

● Rendszeradatok<br />

– gépadatok<br />

– beállítási-adatok<br />

– FRAME<br />

– folyamat adatok<br />

– orsó-emelkedési hiba kompenzáció (EEC)<br />

– belógás kompenzáció (CEC)<br />

– negyed-hiba kompenzáció (QEC)<br />

– táradatok<br />

– szerszámadatok<br />

– védelmi tartományok<br />

– tájolható szerszámtartó<br />

– kinemtikus láncok<br />

– 3D-s védelmi tartományok<br />

– munkatér-határolás<br />

– ISO szerszámadatok<br />

Munka-előkészítés<br />

38 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

● Felhasználói adatok<br />

– R-paraméterek<br />

– szinkronizációs változók ($AC_MARKER, $AC_PARAM, $AC_TIMER)<br />

– szinkronakciók–GUD (SYG_xy[ ], x=R, I, B, A, C, S és y=S, M, U, 4, ..., 9)<br />

– EPS-paraméterek<br />

– OEM szerszámadatok<br />

– OEM táradatok<br />

– globális felhasználói változók (GUD)<br />

Megjegyzés<br />

Az újra definiálásnál egy változó védelmi fokozatát a legalacsonyabb védelmi fokozat<br />

7 és a saját védelmi fokozat, pl. 1 (gépgyártó) között szabadon lehet megadni.<br />

NC nyelvi elemek újra definíciója (REDEF)<br />

A hozzáférési és végrehajtási jogot (APX) a következő NC utasításokra lehet újra definiálni:<br />

● G-funkciók / út-feltételek<br />

Irodalom:<br />

/PG/ Programozási utasítás alapok; fejezet: G-funkciók / út-feltételek<br />

● Előre definiált funkciók<br />

Irodalom:<br />

/PG/ Programozási utasítás alapok; fejezet: Előre definiált funkciók<br />

● Előre definiált alprogram-hívások<br />

Irodalom:<br />

/PG/ Programozási utasítás alapok; fejezet: Előre definiált alprogram-hívások<br />

● DO utasítás szinkronakcióknál<br />

● Ciklusok programjelölői<br />

A ciklusnak egy ciklus-könyvtárban kell lenni és egy PROC utasítást tartalmazni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 39


Rugalmas NC programozás<br />

1.1 Változók<br />

Munkadarabprogramok és ciklusok hozzáférési jogai (APRP, APWP)<br />

Egy munkadarabprogramban ill. ciklusban a legkülönbözőbb hozzáférési jogoknak van<br />

hatása a hozzáférésre:<br />

● APRP 0 / APWP 0<br />

– a munkadarabprogram végrehajtásánál a rendszer jelszó be kell legyen állítva<br />

– a ciklusnak az _N_CST_DIR (rendszer) könyvtárban kell lennie<br />

– az _N_CST_DIR könyvtárban az MD11160 $MN_ACCESS_EXEC_CST-ben a<br />

végrehajtási jog rendszerre kell legyen állítva<br />

● APRP 1 / APWP 1 ill. APRP 2 / APWP 2<br />

– a munkadarabprogram végrehajtásánál a gépgyártó ill. szerviz jelszó be kell legyen<br />

állítva<br />

– a ciklusnak az _N_CMA_DIR (gépgyártó) vagy az _N_CST_DIR könyvtárban kell<br />

lennie<br />

– az _N_CMA_DIR ill. _N_CST_DIR könyvtárakra az MD11161<br />

$MN_ACCESS_EXEC_CMA ill. MD11160 $MN_ACCESS_EXEC_CST gépadatban a<br />

végrehajtási jog legalább gépgyártóra kell legyen állítva<br />

● APRP 3 / APWP 3<br />

– a munkadarabprogram végrehajtásánál a végfelhasználó jelszó be kell legyen állítva<br />

– a ciklusnak az _N_CUS_DIR (felhasználó), az _N_CMA_DIR vagy az _N_CST_DIR<br />

könyvtárban kell lennie<br />

– az _N_CUS_DIR, _N_CMA_DIR ill. _N_CST_DIR könyvtárakra az MD11162<br />

$MN_ACCESS_EXEC_CUS, MD11161 $MN_ACCESS_EXEC_CMA ill. MD11160<br />

$MN_ACCESS_EXEC_CST gépadatban a végrehajtási jog legalább végfelhasználóra<br />

kell legyen állítva<br />

● APRP 4...7 / APWP 4...7<br />

– a munkadarabprogram végrehajtásánál a 3 ... 0 kulcsoskapcsoló állás be kell legyen<br />

állítva<br />

– a ciklusnak az _N_CUS_DIR, _N_CMA_DIR vagy _N_CST_DIR könyvtárban kell<br />

lennie<br />

– az _N_CUS_DIR, _N_CMA_DIR ill. _N_CST_DIR könyvtárakra az MD11162<br />

$MN_ACCESS_EXEC_CUS, MD11161 $MN_ACCESS_EXEC_CMA ill. MD11160<br />

$MN_ACCESS_EXEC_CST gépadatban a végrehajtási jog legalább a megfelelő<br />

kulcsoskapcsoló állásra kell legyen állítva<br />

Munka-előkészítés<br />

40 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

BTSS hozzáférési jogai (APRP, APWP)<br />

A hozzáférési jogok (APRB, APWB) a BTSS-en az összes komponensre (HMI, PLC, külső<br />

számítógép, EPS szolgálatok, stb) a hozzáférést a rendszerváltozókhoz és a felhasználói<br />

változókhoz azonos mértékben korlátozzák.<br />

Megjegyzés<br />

HMI lokális hozzáférési jogok<br />

A rendszeradatok hozzáférési jogainak a változtatásánál ügyelni kell arra, hogy ezek a HMI<br />

mechanizmusokkal megadott hozzáférési jogokkal konzisztensen történjenek.<br />

Hozzáférési jogok APR / APW<br />

Kompatibilitási okokból a APR és APW tulajdonságok közvetve le lesznek képezve az APRP /<br />

APRB és APWP / APWB tulajdonságokra:<br />

● APR x ⇒ APRP x APRB x<br />

● APW y ⇒ APWP y APWB y<br />

Hozzáférési jogok beállítása ACCESS fájlokkal<br />

Az ACCESS fájlok alkalmazásánál a hozzáférési jogok megadására a rendszeradatok,<br />

felhasználói adatok és NC utasítások hozzáférési jogainak újra definiálását csak ezekben az<br />

ACCESS fájlokban szabad programozni. Kivételt képeznek a globális felhasználói adatok<br />

(GUD). Ezekre, ha szükségesnek látszik, a hozzáférési jogok újra definiálását továbbra is a<br />

megfelelő definíciós fájlokban kell programozni.<br />

Egy következetes hozzáférési védelemhez a hozzáférési jogok gépadatait és a megfelelő<br />

könyvtárak hozzáférés védelmét következetesen kell illeszteni.<br />

A következő elvi eljárás adódik:<br />

● A szükséges definíciós fájlok létrehozása:<br />

– _N_DEF_DIR/_N_SACCESS_DEF<br />

– _N_DEF_DIR/_N_MACCESS_DEF<br />

– _N_DEF_DIR/_N_UACCESS_DEF<br />

● A definíciós fájlok írási jogainak paraméterezése az újra definiáláshoz szükséges értékre:<br />

– MD11170 $MN_ACCESS_WRITE_SACCESS<br />

– MD11171 $MN_ACCESS_WRITE_MACCESS<br />

– MD11172 $MN_ACCESS_WRITE_UACCESS<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 41


Rugalmas NC programozás<br />

1.1 Változók<br />

● A védett elemekhez hozzáférésre a ciklusokból a _N_CST_DIR, _N_CMA_DIR és<br />

_N_CST_DIR ciklus-könyvtárak végrehajtási és írási jogait illeszteni kell.<br />

Végrehajtási jogok<br />

– MD11160 $MN_ACCESS_EXEC_CST<br />

– MD11161 $MN_ACCESS_EXEC_CMA<br />

– MD11162 $MN_ACCESS_EXEC_CUS<br />

Írási jogok<br />

– MD11165 $MN_ACCESS_WRITE_CST<br />

– MD11166 $MN_ACCESS_WRITE_CMA<br />

– MD11167 MN_ACCESS_WRITE_CUS<br />

A végrehajtási fokot legalább a használt elemek legmagasabb védelmi fokával azonos<br />

védelmi fokra kell állítani.<br />

Az írási jog legalább a végrehajtási joggal azonos védelmi fokra kell legyen állítva.<br />

● A HMI lokális ciklus-könyvtárak védelmi jogait az NC lokális ciklus-könyvtárakkal azonos<br />

védelmi fokra kell állítani.<br />

Irodalom<br />

/BAD/ HMI-Advanced kezelési kézikönyv,<br />

fejezet: Szolgálatok kezelési tartomány > Adatok kezelése > Tulajdonságokat megváltoztatni<br />

Alprogram-hívások ACCESS fájlokban<br />

A hozzáférési jogok további strukturálásához az ACCESS fájlokban lehet alprogramokat<br />

(SPF vagy MPF jelölő) is felhívni. Az alprogramok ekkor öröklik a felhívó ACCESS fájl<br />

végrehajtási jogait.<br />

Megjegyzés<br />

Az ACCESS fájlokban csak a hozzáférési jogokat lehet újra definiálni. A többi<br />

tulajdonságokat továbbra is a megfelelő definíciós fájlokban lehet programozni ill. újra<br />

definiálni.<br />

Munka-előkészítés<br />

42 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

1.1.11 Definiálható és újra definiálható tulajdonságok áttekintése<br />

A következő táblázat mutatja, hogy melyik adatfajtáknál melyik tulajdonságokat lehet<br />

definiálni (DEF) és/vagy újra definiálni (REDEF).<br />

Rendszeradatok<br />

Adatfajta Inic_érték Határértékek Fiz. egység Hozzáférési jogok<br />

gépadatok --- --- --- REDEF<br />

beállítási-adatok REDEF --- --- REDEF<br />

FRAME adatok --- --- --- REDEF<br />

folyamat adatok --- --- --- REDEF<br />

orsó-emelkedési hiba-komp. (EEC) --- --- --- REDEF<br />

belógás kompenzáció (CEC) --- --- --- REDEF<br />

negyed-hiba kompenzáció (QEC) --- --- --- REDEF<br />

táradatok --- --- --- REDEF<br />

szerszámadatok --- --- --- REDEF<br />

védelmi tartományok --- --- --- REDEF<br />

tájolható szerszámtartó --- --- --- REDEF<br />

kinemtikus láncok --- --- --- REDEF<br />

3D-s védelmi tartományok --- --- --- REDEF<br />

munkatér-határolás --- --- --- REDEF<br />

ISO szerszámadatok --- --- --- REDEF<br />

Felhasználói adatok<br />

Adatfajta Inic_érték Határértékek Fiz. egység Hozzáférési jogok<br />

R-paraméterek REDEF REDEF REDEF REDEF<br />

szinkronakció változók ($AC_...) REDEF REDEF REDEF REDEF<br />

szinkronakció GUD (SYG_...) REDEF REDEF REDEF REDEF<br />

EPS-paraméterek REDEF REDEF REDEF REDEF<br />

OEM szerszámadatok REDEF REDEF REDEF REDEF<br />

OEM táradatok REDEF REDEF REDEF REDEF<br />

globális felhasználói változók (GUD) DEF / REDEF DEF DEF DEF / REDEF<br />

lokális felhasználói változók (PUD / LUD) DEF DEF DEF ---<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 43


Rugalmas NC programozás<br />

1.1 Változók<br />

1.1.12 Mező-változók (DEF, SET, REP) definíciója és inicializálása<br />

Funkció<br />

Egy felhasználói változót 1-től maximum 3-dimenziós mezőként (array) lehet definiálni:<br />

● 1-dimenziós: DEF []<br />

● 2-dimenziós: DEF [,]<br />

● 3-dimenziós: DEF [,,]<br />

Megjegyzés<br />

A STRING típusú felhasználói változókat maximum 2-dimenziós mezőként lehet<br />

definiálni.<br />

Adattípusok<br />

Felhasználói változókat mezőkként a következő adattípusokkal lehet definiálni: BOOL,<br />

CHAR, INT, REAL, STRING, AXIS, FRAME<br />

Érték-hozzárendelés mezőelemekhez<br />

Az érték-hozzárendelések a mezőelemekhez a következő időpontokban történhetnek:<br />

● mezők definíciójánál (inicializálási értékek)<br />

● programfutás közben<br />

Érték-hozzárendelés történhet:<br />

● egy mezőelem közvetlen megadásával<br />

● egy mezőelem közvetlen megadásával kezdőelemként és egy értéklista megadásával<br />

(SET)<br />

● egy mezőelem közvetlen megadásával kezdőelemként és egy érték és az ismétlések<br />

számának megadásával (REP)<br />

Megjegyzés<br />

A FRAME adattípusú felhasználói változókhoz nem lehet inicializálási értékeket<br />

hozzárendelni.<br />

Szintakszis (DEF)<br />

DEF [,,]<br />

DEF STRING [] [,]<br />

Munka-előkészítés<br />

44 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

Szintakszis (DEF...=SET...)<br />

Egy értéklista használata:<br />

● a definíciónál:<br />

DEF [,,]= SET(,,...)<br />

azonos jelentésű:<br />

DEF [,,]= (,,...)<br />

Megjegyzés<br />

Az inicializálásnál értéklistával a SET megadása opcionális.<br />

● egy érték-hozzárendelésnél:<br />

[,,]= SET(,,...)<br />

Szintakszis (DEF...=REP...)<br />

Egy érték használata ismétléssel<br />

● a definíciónál:<br />

DEF [,,]= REP()<br />

DEF [,,]= REP(,)<br />

● egy érték-hozzárendelésnél:<br />

[,,]= REP()<br />

[,,]= REP(,)<br />

Jelentés<br />

DEF:<br />

:<br />

:<br />

:<br />

[,,]:<br />

:<br />

utasítás változók definíciójához<br />

változók adattípusa<br />

értéktartomány:<br />

rendszerváltozóknál:<br />

BOOL, CHAR, INT, REAL, STRING, AXIS<br />

GUD vagy LUD változóknál:<br />

BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME<br />

karakterek maximális száma STRING adattípusnál<br />

változó-név<br />

mezőméretek ill. mezőindexek<br />

1. dimenzió mezőméret ill. mezőindex<br />

típus: INT (rendszerváltozóknál AXIS is)<br />

értéktartomány: max. mezőméret: 65535<br />

mező-index: 0 ≤ n ≤ 65534<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 45


Rugalmas NC programozás<br />

1.1 Változók<br />

:<br />

:<br />

SET:<br />

(,,...):<br />

REP:<br />

:<br />

:<br />

2. dimenzió mezőméret ill. mezőindex<br />

típus: INT (rendszerváltozóknál AXIS is)<br />

értéktartomány: max. mezőméret: 65535<br />

mező-index: 0 ≤ m ≤ 65534<br />

3. dimenzió mezőméret ill. mezőindex<br />

típus: INT (rendszerváltozóknál AXIS is)<br />

értéktartomány: max. mezőméret: 65535<br />

mező-index: 0 ≤ o ≤ 65534<br />

érték-hozzárendelés a megadott értéklistával<br />

értéklista<br />

érték-hozzárendelés a megadott -kel<br />

érték, amivel a mezőelemek a REP-pel való<br />

inicializálásnál írva lesznek.<br />

mezőelemek száma, amelyek a megadott -kel<br />

írva lesznek. A maradék mezőelemekre érvényes az<br />

időponttól függően:<br />

inicializálás a mező definíciónál:<br />

→ a maradék mezőelemek nullával lesznek írva<br />

hozzárendelés programfutás közben:<br />

→ a mezőelemek aktuális értékei változatlanok<br />

maradnak<br />

Ha a paraméter nincs programozva, az összes<br />

mezőelem az -kel lesz írva.<br />

Ha a paraméter nulla, az időponttól függően érvényes:<br />

inicializálás a mező definíciónál:<br />

→ összes elem nullával lesz feltöltve<br />

hozzárendelés programfutás közben:<br />

→ a mezőelemek aktuális értékei változatlanok<br />

maradnak<br />

Munka-előkészítés<br />

46 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

Mező-index<br />

A mezőelemek közvetett sorrendje pl. egy SET vagy REP érték-hozzárendelésnél a<br />

mezőindexek szerint iterálva jobbról balra történik.<br />

Példa: Egy 3-dimenziós mező inicializálása 24 mezőelemmel:<br />

DEF INT FELD[2,3,4] = REP(1,24)<br />

FELD[0,0,0] = 1<br />

1. mezőelem<br />

FELD[0,0,1] = 1<br />

2. mezőelem<br />

FELD[0,0,2] = 1<br />

3. mezőelem<br />

FELD[0,0,3] = 1<br />

4. mezőelem<br />

...<br />

FELD[0,1,0] = 1<br />

FELD[0,1,1] = 1<br />

...<br />

FELD[0,2,3] = 1<br />

FELD[1,0,0] = 1<br />

FELD[1,0,1] = 1<br />

...<br />

FELD[1,2,3] = 1<br />

megfelelően:<br />

5. mezőelem<br />

6. mezőelem<br />

12. mezőelem<br />

13. mezőelem<br />

14. mezőelem<br />

24. mezőelem<br />

FOR n=0 TO 1<br />

FOR m=0 TO 2<br />

ENDFOR<br />

ENDFOR<br />

FOR o=0 TO 3<br />

FELD[n,m,o] = 1<br />

ENDFOR<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 47


Rugalmas NC programozás<br />

1.1 Változók<br />

Példa: Teljes változómezők inicializálása<br />

Aktuális kitöltést lásd az ábrában.<br />

Programkód<br />

N10 DEF REAL FELD1[10,3]=SET(0,0,0,10,11,12,20,20,20,30,30,30,40,40,40,)<br />

N20 FELD1[0,0]=REP(100)<br />

N30 FELD1[5,0]=REP(-100)<br />

N40 FELD1[0,0]=SET(0,1,2,-10,-11,-12,-20,-20,-20,-30, , , ,-40,-40,-50,-60,-70)<br />

N50 FELD1[8,1]=SET(8.1,8.2,9.0,9.1,9.2)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

48 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

1.1.13 Mező-változók (DEF, SET, REP) definíciója és inicializálása: További<br />

információk<br />

További információk (SET)<br />

Inicializálás a definíciónál<br />

● Az 1. mezőelemtől kezdődően annyi mezőelem lesz az értéklista elemeivel inicializálva,<br />

amennyi elem az értéklistában programozva van<br />

● Az érték megadás nélküli mezőelemek (hézagok az értéklistákban) 0-val lesznek<br />

feltöltve.<br />

● Az AXIS típusú változóknál a hézagok az értéklistákban nem megengedettek.<br />

● Ha az értéklista több értéket tartalmaz, mint amennyi mezőelem definiálva van, egy<br />

vészjelzés lesz kijelezve.<br />

Érték-hozzárendelés a programfutásban<br />

Az érték-hozzárendelés a programfutásban a definícióknál előbb leírt szabályok érvényesek.<br />

Továbbá a következő lehetőségek vannak:<br />

● Az értéklista elemeiként kifejezések is megengedettek.<br />

● Az érték-hozzárendelés a programozott mezőindexnél kezdődik. Ezzel lehetséges részmezőket<br />

célzottan értékekkel ellátni.<br />

Példa:<br />

Programkód<br />

Kommentár<br />

DEF INT FELD[5,5] ; mező definíció<br />

FELD[0,0]=SET(1,2,3,4,5) ; érték-hozzárendelés az első 5 mezőelemhez<br />

[0,0] - [0,4]<br />

FELD[0,0]=SET(1,2, , ,5) ; érték-hozzárendelés az első 5 mezőelemhez<br />

[0,0] - [0,4], mezőelem [0,2] és [0,3] = 0<br />

FELD[2,3]=SET(VARIABLE,4*5.6) ; érték-hozzárendelés változóval és<br />

kifejezéssel a [2,3] mezőindextől:<br />

[2,3] = VARIABLE<br />

[2,4] = 4 * 5.6 = 22.4<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 49


Rugalmas NC programozás<br />

1.1 Változók<br />

További információk (REP)<br />

Inicializálás a definíciónál<br />

● Az összes vagy az opcionálisan megadott számú mezőelem a megadott értékkel<br />

(állandó) lesz inicializálva.<br />

● FRAME adattípusú változókat nem lehet inicializálni.<br />

Példa:<br />

Programkód<br />

Kommentár<br />

DEF REAL varName[10]=REP(3.5,4) ; mező definíció és [0] ... [3] mezőelemek<br />

inicializálása 3,5 értékkel<br />

Érték-hozzárendelés a programfutásban<br />

Az érték-hozzárendelés a programfutásban a definícióknál előbb leírt szabályok érvényesek.<br />

Továbbá a következő lehetőségek vannak:<br />

● Az értéklista elemeiként kifejezések is megengedettek.<br />

● Az érték-hozzárendelés a programozott mezőindexnél kezdődik. Ezzel lehetséges részmezőket<br />

célzottan értékekkel ellátni.<br />

Példák:<br />

Programkód<br />

Kommentár<br />

DEF REAL varName[10] ; mező definíció<br />

varName[5]=REP(4.5,3) ; [5] ... [7] mezőelemek = 4,5<br />

R10=REP(2.4,3) ; R10 ... R12 R-paraméterek = 2,4<br />

DEF FRAME FRM[10] ; mező definíció<br />

FRM[5]=REP(CTRANS(X,5)) ; [5] ... [9] mezőelemek = CTRANS(X,5)<br />

Munka-előkészítés<br />

50 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.1 Változók<br />

További információk (általános)<br />

Érték-hozzárendelések tengely gépadatokkal<br />

A tengely gépadatoknak elvileg AXIS adattípusú mezőindexe van. Érték-hozzárendeléseknél<br />

a tengely gépadatokkal SET vagy REP által ez a mezőindex nem lesz figyelembe véve ill.<br />

lefuttatva.<br />

Példa: Érték-hozzárendelés a MD36200 $MA_AX_VELO_LIMIT gépadathoz<br />

$MA_AX_VELO_LIMIT[1,AX1]=SET(1.1, 2.2, 3.3)<br />

Megfelel:<br />

$MA_AX_VELO_LIMIT[1,AX1]=1.1<br />

$MA_AX_VELO_LIMIT[2,AX1]=2.2<br />

$MA_AX_VELO_LIMIT[3,AX1]=3.3<br />

FIGYELEM<br />

Érték-hozzárendelések tengely gépadatokkal<br />

Érték-hozzárendeléseknél a tengely gépadatokkal SET vagy REP az AXIS adattípusú<br />

mezőindex nem lesz figyelembe véve ill. lefuttatva.<br />

Tárolóigény<br />

Adattípus<br />

BOOL<br />

CHAR<br />

INT<br />

REAL<br />

STRING<br />

FRAME<br />

AXIS<br />

Tárolóigény elemenként<br />

1 bájt<br />

1 bájt<br />

4 bájt<br />

8 bájt<br />

(string-hossz + 1) bájt<br />

∼ 400 bájt, tengely-számtól függően<br />

4 bájt<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 51


Rugalmas NC programozás<br />

1.1 Változók<br />

1.1.14 Adattípusok<br />

A következő adattípusok állnak rendelkezésre az NC-ben:<br />

Adattípus Jelentés Értéktartomány<br />

INT egészszám előjellel -2147483648 ... +2147483647<br />

REAL valósszám (LONG REAL IEEE szerint) ±(∼2,2*10 -308 … ∼1,8*10 +308 )<br />

BOOL igazságérték IGAZ (1) és HAMIS (0) 1, 0<br />

CHAR ASCII karakter ASCII kód 0 ... 255<br />

STRING adott hosszú karakterlánc maximum 200 karakter (nem különleges karakter)<br />

AXIS tengely-/orsó-jelölő csatornajelölő<br />

FRAME<br />

geometriai adatok egy statikus koordinátatranszformációhoz<br />

(eltolás, forgatás, skálázás,<br />

tükrözés)<br />

---<br />

Közvetett adattípus átalakítások<br />

A következő adattípus átalakítások lehetségesek és hozzárendelésnél és paraméterátadásnál<br />

közvetetten lesznek végrehajtva:<br />

ből↓/ be → REAL INT BOOL<br />

REAL x o &<br />

INT x x &<br />

BOOL x x x<br />

x: korlátozás nélkül lehetséges<br />

o: adatvesztés lehetséges az értéktartomány túllépése miatt ⇒ vészjelzés;<br />

kerekítés: tizedespont utáni érték ≥ 0,5 ⇒ felkerekíteni, tizedespont utáni érték < 0,5 ⇒ lekerekíteni<br />

&: érték≠ 0 ⇒ IGAZ, érték== 0 ⇒ HAMIS<br />

Munka-előkészítés<br />

52 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.2 Közvetett programozás<br />

1.2 Közvetett programozás<br />

1.2.1 Címek közvetett programozása<br />

Funkció<br />

A címek közvetett programozásánál a bővített cím (index) egy megfelelő típusú változóval<br />

lesz helyettesítve.<br />

Megjegyzés<br />

A címek közvetett programozása nem lehetséges:<br />

N (mondatszám)<br />

L (alprogram)<br />

beállítható címek<br />

(pl. X[1] nem megengedett az X1 helyett)<br />

Szintaxis<br />

[]<br />

Jelentés<br />

[...]:<br />

:<br />

fix cím bővítéssel (index)<br />

változó pl. orsó-szám, tengely....<br />

Példák<br />

Példa 1: Egy orsó-szám közvetett programozása<br />

Közvetlen programozás:<br />

Programkód<br />

Kommentár<br />

S1=300 ; 300 ford/perc fordulatszám az 1-es számú orsónak<br />

Közvetett programozás:<br />

Programkód<br />

Kommentár<br />

DEF INT SPINU=1 ; INT típusú változó definiálása és érték-hozzárendelés<br />

S[SPINU]=300 ; 300 ford/perc fordulatszám az orsónak, amelynek a száma a<br />

SPINU változóban van (ebben a példában az 1-es számú<br />

orsónak)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 53


Rugalmas NC programozás<br />

1.2 Közvetett programozás<br />

Példa 2: Egy tengely közvetett programozása<br />

Közvetlen programozás:<br />

Programkód<br />

Kommentár<br />

FA[U]=300 ; előtolás 300 az "U" tengelyre<br />

Közvetett programozás:<br />

Programkód<br />

Kommentár<br />

DEF AXIS AXVAR2=U ; AXIS típusú változó definiálása és érték-hozzárendelés<br />

FA[AXVAR2]=300 ; előtolás 300 a tengelyre, amelynek tengelyneve at AXVAR2<br />

változóban van<br />

Példa 3: Egy tengely közvetett programozása<br />

Közvetlen programozás:<br />

Programozás<br />

Kommentár<br />

$AA_MM[X] ; "X" tengely mérőtapintó mérésértékét (GKR) olvasni<br />

Közvetett programozás:<br />

Programkód<br />

Kommentár<br />

DEF AXIS AXVAR3=X ; AXIS típusú változó definiálása és érték-hozzárendelés<br />

$AA_MM[AXVAR3] ; mérőtapintó mérésértékét (GKR) olvasni tengelyre, amelynek<br />

a neve az AXVAR3 változóban van<br />

Példa 4: Egy tengely közvetett programozása<br />

Közvetlen programozás:<br />

Programkód<br />

X1=100 X2=200<br />

Közvetett programozás:<br />

Programkód<br />

Kommentár<br />

DEF AXIS AXVAR1 AXVAR2 ; két AXIS típusú változó definíciója<br />

AXVAR1=(X1) AXVAR2=(X2) ; tengelynevek hozzárendelése<br />

AX[AXVAR1]=100 AX[AXVAR2]=200 ; tengelyek mozgatása, amelyek tengelyneve az<br />

AXVAR1 és AXVAR2 nevű változókban van<br />

Munka-előkészítés<br />

54 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.2 Közvetett programozás<br />

Példa 5: Egy tengely közvetett programozása<br />

Közvetlen programozás:<br />

Programkód<br />

G2 X100 I20<br />

Közvetett programozás:<br />

Programkód<br />

Kommentár<br />

DEF AXIS AXVAR1=X ; AXIS típusú változó definiálása és értékhozzárendelés<br />

G2 X100 IP[AXVAR1]=20 ; középpont megadás közvetett programozás a<br />

tengelyre, amelynek tengelyneve az AXVAR1 nevű<br />

változóban van<br />

Példa 6: Mezőelemek közvetett programozása<br />

Közvetlen programozás:<br />

Programkód<br />

Kommentár<br />

DEF INT FELD1[4,5] ; 1. mező definíciója<br />

Közvetett programozás:<br />

Programkód<br />

Kommentár<br />

DEFINE DIM1 AS 4 ; A mező-dimenzióknál a mezőméreteket fix<br />

értékekként kell megadni.<br />

DEFINE DIM2 AS 5<br />

DEF INT FELD[DIM1,DIM2]<br />

FELD[DIM1-1,DIM2-1]=5<br />

Példa 7: Közvetett alprogramhívás<br />

Programkód<br />

Kommentár<br />

CALL "L"


Rugalmas NC programozás<br />

1.2 Közvetett programozás<br />

1.2.2 G-kódok közvetett programozása<br />

Funkció<br />

A G-kódok közvetett programozása hatékony ciklus-programozást tesz lehetővé.<br />

Szintaxis<br />

G[]=<br />

Jelentés<br />

G[...]:<br />

:<br />

:<br />

G utasítás bővítéssel (index)<br />

index paraméter G funkciócsoport<br />

típus: INT<br />

változó a G-kód számhoz<br />

típus: INT vagy REAL<br />

Megjegyzés<br />

Általában csak a nem szintakszis-meghatározó G-kódokat lehet közvetetten programozni.<br />

A szintakszis-meghatározó G-kódok közül csak a G funkciócsoport 1 lehetséges.<br />

A szintakszis-meghatározó G funkciócsoport 2, 3 és 4 nem lehetséges.<br />

Megjegyzés<br />

A közvetett G-kód programozásban aritmetikai funkciók nem megengedettek. Ha szükséges<br />

a G-kód szám kiszámítása, az külön programsorban kell történjen a közvetett G-kód<br />

programozás előtt.<br />

Példák<br />

Példa 1: Beállítható nullaponteltolás (G funkciócsoport 8)<br />

Programkód<br />

Kommentár<br />

N1010 DEF INT INT_VAR<br />

N1020 INT_VAR=2<br />

...<br />

N1090 G[8]=INT_VAR G1 X0 Y0 ; G54<br />

N1100 INT_VAR=INT_VAR+1 ; G-kód számítás<br />

N1110 G[8]=INT_VAR G1 X0 Y0 ; G55<br />

Munka-előkészítés<br />

56 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.2 Közvetett programozás<br />

Példa 2: Sík választás (G funkciócsoport 6)<br />

Programkód<br />

Kommentár<br />

N2010 R10=$P_GG[6] ; G funkciócsoport 6 aktív G-funkcióját<br />

olvasni<br />

...<br />

N2090 G[6]=R10<br />

Irodalom<br />

Információk a G funkciócsoportokhoz, lásd:<br />

Programozási kézikönyv, alapok; fejezet: "G funkciócsoportok"<br />

1.2.3 Pozíció tulajdonságok (GP) közvetett programozása<br />

Funkció<br />

A pozíció tulajdonságokat, mint pl. a tengelypozíciók növekményes vagy abszolút<br />

programozása a GP kulcsszóval változóként lehet közvetetten programozni.<br />

Alkalmazás<br />

A pozíció tulajdonságok közvetett programozását a helyettesítő ciklusokban használjuk, mert<br />

a következő előnyei vannak a pozíció tulajdonságok kulcsszóként (pl. IC, AC, ...) való<br />

programozásával szemben:<br />

A változóként való közvetett programozás miatt nem szükséges CASE utasítás, ami az összes<br />

lehetséges pozíció tulajdonságra elágazna.<br />

Szintaxis<br />

[]=<br />

GP(,


Rugalmas NC programozás<br />

1.2 Közvetett programozás<br />

Jelentés<br />

[]:<br />

A következő pozícionáló utasításokat lehet a GP<br />

kulcsszóval együtt programozni:<br />

POS, POSA,SPOS, SPOSA<br />

Ezen kívül lehetséges:<br />

a csatornában előforduló összes tengely-/orsó-jelölő:<br />

<br />

változó tengely-/orsó-jelölő AX<br />

:<br />

engely/orsó, amit pozícionálni kell.<br />

GP():<br />

kulcsszó pozícionáláshoz<br />

: paraméter 1<br />

tengely-/orsópozíció állandóként vagy változóként<br />

: paraméter 2<br />

pozíció tulajdonság(pl. pozícióra menet modus)<br />

változóként (pl. $P_SUB_SPOSMODE) vagy<br />

kulcsszóként (IC, AC, ...)<br />

A változó által adott értékek jelentése a következő:<br />

Érték Jelentés Megengedett:<br />

0 Nincs pozíció tulajdonság változás<br />

1 AC POS, POSA,SPOS, SPOSA,AX, tengelycím<br />

2 IC POS, POSA,SPOS, SPOSA,AX, tengelycím<br />

3 DC POS, POSA,SPOS, SPOSA,AX, tengelycím<br />

4 ACP POS, POSA,SPOS, SPOSA,AX, tengelycím<br />

5 ACN POS, POSA,SPOS, SPOSA,AX, tengelycím<br />

6 OC -<br />

7 PC -<br />

8 DAC POS, POSA,AX, tengelycím<br />

9 DIC POS, POSA,AX, tengelycím<br />

10 RAC POS, POSA,AX, tengelycím<br />

11 RIC POS, POSA,AX, tengelycím<br />

12 CAC POS, POSA<br />

13 CIC POS, POSA<br />

14 CDC POS, POSA<br />

15 CACP POS, POSA<br />

16 CACN POS, POSA<br />

Munka-előkészítés<br />

58 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.2 Közvetett programozás<br />

Példa<br />

Egy aktív szinkronorsó-csatolásnál az S1 vezetőorsó és az S2 követőorsó között az SPOS<br />

utasítással a főprogramban a következő helyettesítő-ciklus lesz felhívva az orsó<br />

pozícionálásához.<br />

A pozícionálás az N2230-ban levő utasítással történik:<br />

SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)<br />

SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)<br />

Az elérendő pozíció az $P_SUB_SPOSIT rendszerváltozóból, a pozícióra menet modus a<br />

$P_SUB_SPOSMODE rendszerváltozóból lesz olvasva.<br />

Programkód<br />

N1000 PROC LANG_SUB DISPLOF SBLOF<br />

...<br />

N2100 IF($P_SUB_AXFCT==2)<br />

N2110<br />

N2185 DELAYFSTON<br />

N2190 COUPOF(S2,S1)<br />

N2200<br />

N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)<br />

N2220<br />

N2230 SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)<br />

SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)<br />

N2250 ELSE<br />

N2260<br />

N2270 M1=19 M2=19<br />

N2280 ENDIF<br />

N2285 DELAYFSTOF<br />

N2290 COUPON(S2,S1)<br />

N2410 ELSE<br />

N2420<br />

...<br />

N3300 ENDIF<br />

...<br />

N9999 RET<br />

Kommentár<br />

; Az SPOS / SPOSA / M19 utasítások<br />

helyettesítése aktív szinkronorsócsatolásnál<br />

; állj késleltetés tartomány kezdete<br />

; szinkronorsó-csatolás deaktiválása<br />

; vezető- és követő-orsót pozícionálni<br />

; orsót SPOS-sal pozícionálni:<br />

; orsót M19-cel pozícionálni:<br />

; vezető- és követő-orsót pozícionálni<br />

; állj késleltetés tartomány vége<br />

; szinkronorsó-csatolás aktiválása<br />

; további helyettesítés lekérdezése<br />

Peremfeltételek<br />

● A szinkronakciókban a pozíció tulajdonságok közvetett programozása nem lehetséges.<br />

Irodalom<br />

Alap funkciók működési kézikönyv; BAG, csatorna, program-üzem, Reset viselkedés (K1),<br />

fejezet: NC funkciók helyettesítése alprogramokkal<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 59


Rugalmas NC programozás<br />

1.2 Közvetett programozás<br />

1.2.4 Munkadarabprogram sorok közvetett programozása (EXECSTRING)<br />

Funkció<br />

AZ EXECSTRING programutasítással lehetséges egy előzőleg létrehozott string változót<br />

munkadarabprogram sorként végrehajtani.<br />

Szintaxis<br />

Az EXECSTRING egy külön munkadarabprogram sorban lesz programozva:<br />

EXECSTRING()<br />

Jelentés<br />

EXECSTRING:<br />

:<br />

utasítás egy string változó végrehajtására munkadarabprogram<br />

sorként<br />

STRING típusú változó, amely a végrehajtandó<br />

munkadarabprogram sort tartalmazza<br />

Megjegyzés<br />

A EXECSTRING-gel az összes munkadarabprogram konstrukció megvalósítható, amelyek egy<br />

munkadarabprogram programrészként programozhatók. Ezzel kizártak a PROC és DEF<br />

utasítások, valamint általában az INI és DEF fájlok.<br />

Példa<br />

Programkód<br />

N100 DEF STRING[100] BLOCK<br />

N110 DEF STRING[10] MFCT1="M7"<br />

...<br />

N200 EXECSTRING(MFCT1


Rugalmas NC programozás<br />

1.3 Számítási műveletek<br />

1.3 Számítási műveletek<br />

Funkció<br />

A számítási műveleteket elsősorban REAL típusú R-paramétereknél és változóknál (vagy<br />

állandóknál és funkcióknál használjuk. Megengedett az INT és CHAR típus is.<br />

Operátorok / számítási<br />

funkciók<br />

+<br />

-<br />

*<br />

/<br />

DIV<br />

MOD<br />

:<br />

Sin()<br />

COS()<br />

TAN<br />

ASIN<br />

ACOS<br />

ATAN2(,)<br />

SQRT()<br />

ABS()<br />

POT()<br />

TRUNC()<br />

ROUND()<br />

LN()<br />

EXP()<br />

MINVAL()<br />

Jelentés<br />

összeadás<br />

kivonás<br />

szorzás<br />

osztás<br />

figyelem:<br />

(INT típus)/(INT típus)=(REAL típus); példa: 3/4 = 0.75<br />

osztás INT és REAL változó-típusokra<br />

figyelem:<br />

(INT típus)DIV(INT típus)=(INT típus); példa: 3 DIV 4 = 0<br />

modulo-osztás (csak INT típusra) egy INT-ostás maradékát<br />

adja<br />

Példa: 3 MOD 4 = 3<br />

láncolás operátor (csak FRAME változóknál)<br />

sinus<br />

cosinus<br />

tangens<br />

arcussinus<br />

arcuscosinus<br />

arcustangens2<br />

négyzetgyök<br />

érték<br />

2. hatvány (négyzet)<br />

egészszámú rész<br />

pontosság összehasonlító műveleteknél beállítható TRUNCkal<br />

(lásd"Pontosság-korrekció összehasonlítási hibáknál<br />

(TRUNC) (Oldal 66)")<br />

kerekítés egészszámra<br />

természetes logaritmus<br />

exponenciális függvény<br />

kisebb érték két változóból<br />

(lásd "Változók minimuma, maximuma és tartománya<br />

(MINVAL, MAXVAL, BOUND) (Oldal 68)")<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 61


Rugalmas NC programozás<br />

1.3 Számítási műveletek<br />

MAXVAL()<br />

BOUND()<br />

CTRANS()<br />

CROT()<br />

CSCALE()<br />

CMIRROR()<br />

nagyobb érték két változóból<br />

(lásd "Változók minimuma, maximuma és tartománya<br />

(MINVAL, MAXVAL, BOUND) (Oldal 68)")<br />

változóérték a definiált értéktartományban<br />

(lásd "Változók minimuma, maximuma és tartománya<br />

(MINVAL, MAXVAL, BOUND) (Oldal 68)")<br />

eltolás<br />

forgatás<br />

lépték változtatás<br />

tükrözés<br />

Programozás<br />

A számítási műveleteknél a szokásos matematikai írásmód érvényes. A feldolgozási<br />

sorrendet a kerek zárójelekkel lehet meghatározni. A trigonometriai és azok inverz<br />

függvényeire a szögmegadás érvényes (derékszög= 90°).<br />

Példák<br />

Példa 1: ATAN2<br />

<br />

<br />

<br />

<br />

<br />

<br />

AZ ATAN2 számítási funkció kiszámítja két<br />

egymásra merőleges vektorból az eredő<br />

vektor szögét.<br />

Az eredmény a négy negyed tartományában<br />

van (–180° < 0 < +180°).<br />

A szög vonatkoztatásának alapja mindig a 2.<br />

értéktől pozitív irányban.<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

62 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.3 Számítási műveletek<br />

Példa 2: Teljes változómezők inicializálása<br />

Programkód<br />

Kommentár<br />

R1=R1+1 ; új R1 = régi R1 +1<br />

R1=R2+R3 R4=R5-R6 R7=R8*R9<br />

R10=R11/R12 R13=SIN(25.3)<br />

R14=R1*R2+R3<br />

; A pont-műveletek megelőzik a vonal-művelteket.<br />

R14=(R1+R2)*R3<br />

; Először a zárójelek lesznek kiszámítva.<br />

R15=SQRT(POT(R1)+POT(R2))<br />

; Először a belső zárójelek lesznek feloldva:.<br />

R15 = (R1+R2) négyzetgyöke<br />

RESFRAME=FRAME1:FRAME2<br />

; A láncoló operátorral a frame-ek<br />

FRAME3=CTRANS(…):CROT(…)<br />

egy eredő frame-be lesznek összefogva vagy<br />

a frame komponensekhez értékek lesznek<br />

hozzárendelve.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 63


Rugalmas NC programozás<br />

1.4 Összehasonlító és logikai műveletek<br />

1.4 Összehasonlító és logikai műveletek<br />

Funkció<br />

Összehasonlító operátorok használhatók pl. egy ugrás-feltétel megadásához.<br />

Összehasonlíthatók összetett kifejezések is.<br />

Az összehasonlító műveletek a CHAR, INT, REAL és BOOL típusú változókra alkalmazhatók.. A<br />

CHAR típusnál a kódérték kerül összehasonlításra.<br />

A STRING, AXIS és FRAME típusoknál a következők lehetségesek: == és , amelyek a STRING<br />

típus műveleteire szinkron-akciókban is alkalmazhatók.<br />

Az összehasonlító műveletek eredménye mindig BOOL típusú.<br />

Logikai műveletek az igazság-értékek összekapcsolását szolgálják.<br />

A logikai műveletek csak a BOOL típusú változókra alkalmazhatók. Belső típus-átalakításokkal<br />

a CHAR, INT, és REAL adattípusokra is alkalmazhatók.<br />

A logikai (Bool) műveleteknél a BOOL, CHAR,INT és REAL adattípusokra érvényes:<br />

● 0-nak megfelel: FALSE<br />

● nem egyenlő 0-nak megfelel: TRUE<br />

Bitenkénti logikai operátorok<br />

A CHAR és INT típusú változókkal lehet bitenkénti logikai műveleteket is végezni. Adott<br />

esetben a típuskonverzió automatikusan történik.<br />

Programozás<br />

Összehasonlító operátor<br />

==<br />

<br />

><br />

<<br />

>=<br />


Rugalmas NC programozás<br />

1.4 Összehasonlító és logikai műveletek<br />

Bitenkénti logikai operátorok<br />

B_AND<br />

B_OR<br />

B_NOT<br />

B_XOR<br />

Jelentés<br />

bitenkénti ÉS<br />

bitenkénti VAGY<br />

bitenkénti negálás<br />

bitenkénti kizáró VAGY<br />

Megjegyzés<br />

Az aritmetikai kifejezésekben a kerek zárójelek alkalmazásával a műveletek feldolgozási<br />

sorrendjét meg lehet adni és ezzel eltérni a normális prioritási szabályoktól.<br />

Megjegyzés<br />

A BOOL operandusok és az operátorok között kihagyás kell legyen.<br />

Megjegyzés<br />

A B_NOT operátor csak egy operandusra vonatkozik. Ez a művelet után áll.<br />

Példák<br />

Példa 1: Összehasonlító operátorok<br />

IF R10>=100 GOTOF ZIEL<br />

vagy<br />

R11=R10>=100<br />

IF R11 GOTOF ZIEL<br />

Az R10>=100 összehasonlítás eredménye az R11 közbenső tárolásra kerül.<br />

Példa 2: Logikai operátorok<br />

IF (R10=17.5) GOTOF ZIEL<br />

vagy<br />

IF NOT R10 GOTOB START<br />

A NOT operátor csak egy operandusra vonatkozik.<br />

Példa 3: Bitenkénti logikai operátorok<br />

IF $MC_RESET_MODE_MASK B_AND 'B10000' GOTOF ACT_PLANE<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 65


Rugalmas NC programozás<br />

1.5 Pontosság-korrekció összehasonlítási hibáknál (TRUNC)<br />

1.5 Pontosság-korrekció összehasonlítási hibáknál (TRUNC)<br />

Funkció<br />

A TRUNC utasítás levágja az egy pontossági-tényezővel összeszorzott operandusokat.<br />

Beállítható pontosság összehasonlító utasításoknál<br />

A REAL típusú munkadarabprogram-adatok belül 64 bites IEEE-formátumban vannak<br />

ábrázolva. Ezen ábrázolási forma miatt a decimális számok leképezése pontatlan lehet, ami<br />

az ideálisan számított értékkel összehasonlítva váratlan eredményhez vezethet.<br />

Relatív egyenlőség<br />

Az összehasonlító utasításoknál nem az abszolút egyenlőség, hanem egy relatív<br />

egyenlőség lesz megvizsgálva, így az ábrázolási forma által okozott pontatlanság nem<br />

befolyásolja a program lefutását.<br />

Szintaxis<br />

Pontosság-korrekció összehasonlítási hibáknál<br />

TRUNC (R1*1000)<br />

Jelentés<br />

TRUNC:<br />

tizedesjegyek levágása<br />

A figyelembe vett relatív egyenlőség 10 -12 a következőknél<br />

● egyenlő: (==)<br />

● nem egyenlő: ()<br />

● nagyobb-egyenlő: (>=)<br />

● kisebb-egyenlő: ()<br />

● kisebb: () és (


Rugalmas NC programozás<br />

1.5 Pontosság-korrekció összehasonlítási hibáknál (TRUNC)<br />

Szinkron-akciók<br />

Az összehasonlító műveletek leírt viselkedése érvényes szinkron-akcióknál is.<br />

Példák<br />

Példa 1: Pontosság személetek<br />

Programkód<br />

Kommentár<br />

N40 R1=61.01 R2=61.02 R3=0.01<br />

; kezdőértékek hozzárendelése<br />

N41 IF ABS(R2-R1) > R3 GOTOF FEHLER<br />

; az ugrás eddig végre lett volna<br />

hajtva<br />

N42 M30<br />

; programvég<br />

N43 FEHLER: SETAL(66000) ;<br />

R1=61.01 R2=61.02 R3=0.01<br />

; kezdőértékek hozzárendelése<br />

R11=TRUNC(R1*1000) R12=TRUNC(R2*1000)<br />

; pontosság-korrekció<br />

R13=TRUNC(R3*1000)<br />

IF ABS(R12-R11) > R13 GOTOF FEHLER<br />

; az ugrás többé nem lesz<br />

végrehajtva<br />

M30 ; programvég<br />

FEHLER: SETAL(66000) ;<br />

Példa 2: Két operandus hányadosának képzésére és kiértékelésére<br />

Programkód<br />

Kommentár<br />

R1=61.01 R2=61.02 R3=0.01<br />

; kezdőértékek hozzárendelése<br />

IF ABS((R2-R1)/R3)-1) > 10EX-5 GOTOF FEHLER ; az ugrás nem lesz végrehajtva<br />

M30 ; programvég<br />

FEHLER: SETAL(66000) ;<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 67


Rugalmas NC programozás<br />

1.6 Változók minimuma, maximuma és tartománya (MINVAL, MAXVAL, BOUND)<br />

1.6 Változók minimuma, maximuma és tartománya (MINVAL, MAXVAL,<br />

BOUND)<br />

Funkció<br />

A MINVAL és MAXVAL műveletekkel össze lehet egymással hasonlítani két változó értékét.<br />

Eredményként a kisebb érték (MINVAL-nál) ill. a nagyobb érték (MAXVAL-nál) lesz visszaadva.<br />

A BOUND művelet megvizsgálja, hogy egy vizsgált változó értéke a definiált értéktartományban<br />

van-e.<br />

Szintaxis<br />

=MINVAL(,)<br />

=MAXVAL(,)<br />

=(,,)<br />

Jelentés<br />

MINVAL:<br />

:<br />

MAXVAL:<br />

:<br />

BOUND:<br />

:<br />

:<br />

:<br />

megállapítja a kisebb értéket két változóból (,<br />

)<br />

a MINVAL utasítás eredmény-vátozója<br />

a kisebb változóértékre lesz beállítva<br />

megállapítja a nagyobb értéket két változóból (,<br />

)<br />

a MAXVAL utasítás eredmény-vátozója<br />

a nagyobb változóértékre lesz beállítva<br />

megvizsgálja, hogy egy változó () egy definiált<br />

értéktartományon belül van-e<br />

változó, ami az értéktartomány minimum értékét definiálja<br />

változó, ami az értéktartomány maximum értékét definiálja<br />

a BOUND utasítás eredmény-vátozója<br />

Ha a vizsgált változó értéke a definiált értéktartományon belül van,<br />

akkor az eredmény-változó a vizsgált változó értékére lesz<br />

beállítva.<br />

Ha a vizsgált változó értéke nagyobb a maximum értéknél, akkor<br />

az eredmény-változó a definíciós tartomány maximum értékére<br />

lesz beállítva.<br />

Ha a vizsgált változó értéke kisebb a minimum értéknél, akkor az<br />

eredmény-változó a definíciós tartomány minimum értékére lesz<br />

beállítva.<br />

Munka-előkészítés<br />

68 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.6 Változók minimuma, maximuma és tartománya (MINVAL, MAXVAL, BOUND)<br />

Megjegyzés<br />

MINVAL, MAXVAL és BOUND programozható szinkron-akciókban is.<br />

Megjegyzés<br />

Viselkedés egyenlőségnél<br />

Egyenlőség esetén a MINVAL/MAXVAL műveleteknél azonos érték lesz visszaadva. A BOUND<br />

esetén a vizsgálandó változó értéke lesz visszaadva.<br />

Példa<br />

Programkód<br />

Kommentár<br />

DEF REAL rVar1=10.5, rVar2=33.7, rVar3, rVar4, rVar5, rValMin, rValMax, rRetVar<br />

rValMin=MINVAL(rVar1,rVar2)<br />

; rValMin értékét 10.5-re állítja<br />

rValMax=MAXVAL(rVar1,rVar2)<br />

; rValMax értékét 33.7-re állítja<br />

rVar3=19.7<br />

rRetVar=BOUND(rVar1,rVar2,rVar3)<br />

; rVar3 a határokon belül van, rRetVar értékét 19.7-re<br />

állítja<br />

rVar3=1.8<br />

rRetVar=BOUND(rVar1,rVar2,rVar3)<br />

; rVar3 a minimum-határ alatt van, rRetVar értékét<br />

10.5-re állítja<br />

rVar3=45.2<br />

rRetVar=BOUND(rVar1,rVar2,rVar3)<br />

; rVar3 a maximum-határ felett van, rRetVar értékét<br />

33.7-re állítja<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 69


Rugalmas NC programozás<br />

1.7 Műveletek prioritása<br />

1.7 Műveletek prioritása<br />

Funkció<br />

Minden művelethez van egy prioritás rendelve. Egy kifejezés kiértékelésénél először a<br />

magasabb prioritású műveletek lesznek végrehajtva. Azonos prioritású műveleteknél a<br />

végrehajtás balról jobbra halad.<br />

Az aritmetikai kifejezésekben a kerek zárójelek alkalmazásával a műveletek feldolgozási<br />

sorrendjét meg lehet adni és ezzel eltérni a normális prioritási szabályoktól.<br />

Műveletek sorrendje<br />

A legmagasabbtól a legalacsonyabb prioritásig<br />

1. NOT, B_NOT negálás, bitenkénti negálás<br />

2. *, /, DIV, MOD szorzás, osztás<br />

3. +, – összeadás, kivonás<br />

4. B_AND bitenkénti ÉS<br />

5. B_XOR bitenkénti kizáró VAGY<br />

6. B_OR bitenkénti VAGY<br />

7. AND ÉS<br />

8. XOR kizáró VAGY<br />

9. OR VAGY<br />

10. , =,


Rugalmas NC programozás<br />

1.8 Lehetséges típus-konverziók<br />

1.8 Lehetséges típus-konverziók<br />

Funkció<br />

Típus-konverzió hozzárendelésnél<br />

Az állandó érték, a változó vagy a kifejezés, amit egy változóhoz hozzárendelünk, annak a<br />

típusával összeférő kell legyen. Ha ez adott, a hozzárendelésnél a típus-konverzió<br />

automatikusan megtörténik.<br />

Lehetséges típus-konverziók<br />

-ba REAL INT BOOL CHAR STRING AXIS FRAME<br />

-ból<br />

REAL igen igen* igen 1 ) igen* – – –<br />

INT igen igen igen 1 ) igen 2) – – –<br />

BOOL igen igen igen igen igen – –<br />

CHAR igen igen igen 1) igen igen – –<br />

STRING – – igen 4) igen 3) igen – –<br />

AXIS – – – – – igen –<br />

FRAME – – – – – – igen<br />

Magyarázatok<br />

* A típus-konverziónál REAL-ból INT-ra a >= 0.5 törtérték felfelé lesz kerekítve,<br />

egyébként lefelé (mint a ROUND funkció)<br />

1) érték 0-ak megfelel a TRUE-nak, érték== 0-nak megfelel a FALSE-nak<br />

2) ha az érték a megengedett számtartományban van<br />

3) ha csak 1 karakter<br />

4) string-hossz 0 = > FALSE, egyébként TRUE<br />

Megjegyzés<br />

Ha a konverziónál az érték nagyobb, mint a céltartomány, hibajelzés keletkezik.<br />

Ha egy kifejezésben vegyesen vannak típusok, a típusok illesztése automatikusan<br />

megtörténik. Típus-átalakítások lehetségesek szinkron-akcióknál is, lásd. Mozgásszinkronakciók,<br />

implicit típus-átalakítás.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 71


Rugalmas NC programozás<br />

1.9 String műveletek<br />

1.9 String műveletek<br />

String műveletek<br />

A klasszikus "Hozzárendelés" és "Összehasonlítás" műveletek mellett további lehetőségek<br />

vannak a stringek manipulálására:<br />

● Típus-konverzió STRING-re (AXSTRING)<br />

● Típus-konverzió STRING-ből (NUMBER, ISNUMBER, AXNAME)<br />

● Stringek láncolása (


Rugalmas NC programozás<br />

1.9 String műveletek<br />

1.9.1 Típus-konverzió STRING-re (AXSTRING)<br />

Funkció<br />

A "Típus-konverzió STRING-re" funkcióval lehetséges a különböző típusú változókat egy<br />

üzenet (MSG) részeként használni.<br />

A


Rugalmas NC programozás<br />

1.9 String műveletek<br />

1.9.2 Típus-konverzió STRING-ből (NUMBER, ISNUMBER, AXNAME)<br />

Funkció<br />

A NUMBER utasítással lehet STRING-ből REAL-re konvertálni. A konvertálhatóságot az<br />

ISNUMBER utasítással lehet megvizsgálni.<br />

Az AXNAME utasítással egy stringet az AXIS adattípusra lehet konvertálni.<br />

Szintaxis<br />

=NUMBER("")<br />

=ISNUMBER("")<br />

=AXNAME("")<br />

Jelentés<br />

NUMBER:<br />

:<br />

:<br />

ISNUMBER:<br />

:<br />

AXNAME:<br />

:<br />

A NUMBER utasítás a -gel ábrázolt számot REAL értékként adja<br />

vissza.<br />

STRING típusú konvertálandó változó<br />

változó a NUMBER típus-konverzió eredményének<br />

típus: REAL<br />

Az ISNUMBER utasítással meg lehet vizsgálni, hogy a et át lehet-e<br />

alakítani egy érvényes számra.<br />

változó az ISNUMBER lekérdezés eredményének<br />

típus: BOOL<br />

Érték: TRUE Az ISNUMBER az IGAZ értéket adja, ha a <br />

egy, a nyelv szabályainak megfelelő érvényes<br />

REAL-számot ad meg.<br />

FALSE Ha az ISNUMBER a FALSE értéket adja, a NUMBER<br />

felhívásánál azonos -gel vészjelzés lesz<br />

kiadva.<br />

Az AXNAME utasítás a megadott -et átalakítja egy tengely-jelölővé.<br />

Utalás:<br />

Ha a -hez nem lehet egy megtervezett tengely-jelölőt<br />

hozzárendelni, vészjelzés lesz kiadva.<br />

változó az AXNAME típus-konverzió eredményének<br />

típus: AXIS<br />

Munka-előkészítés<br />

74 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.9 String műveletek<br />

Példa<br />

Programkód<br />

DEF BOOL BOOL_ERG<br />

DEF REAL REAL_ERG<br />

DEF AXIS AXIS_ERG<br />

BOOL_ERG=ISNUMBER("1234.9876Ex-7")<br />

BOOL_ERG=ISNUMBER("1234XYZ")<br />

REAL_ERG=NUMBER("1234.9876Ex-7")<br />

AXIS_ERG=AXNAME("X")<br />

Kommentár<br />

; BOOL_ERG == TRUE<br />

; BOOL_ERG == FALSE<br />

; REAL_ERG == 1234.9876Ex-7<br />

; AXIS_ERG == X<br />

1.9.3 Stringek láncolása (


Rugalmas NC programozás<br />

1.9 String műveletek<br />

Megjegyzés<br />

A FRAME és AXIS típusok ezzel a "


Rugalmas NC programozás<br />

1.9 String műveletek<br />

1.9.4 Kis- /nagybetű átalakítás (TOLOWER, TOUPPER)<br />

Funkció<br />

A "Kis- /nagybetű átalakítás" funkció lehetővé teszi egy string minden betűjét egységes<br />

ábrázolásúra alakítani.<br />

Szintaxis<br />

=TOUPPER("")<br />

=TOLOWER("")<br />

Jelentés<br />

TOUPPER:<br />

TOLOWER:<br />

:<br />

:<br />

A TOUPPER utasítással egy karakterlánc összes betűje nagybetűre lesz<br />

átalakítva.<br />

A TOLOWER utasítással egy karakterlánc összes betűje kisbetűre lesz<br />

átalakítva.<br />

átalakítandó karakterlánc<br />

típus: STRING<br />

változó az átalakítás eredményének<br />

típus: STRING<br />

Példa<br />

Mivel ez lehetséges a kezelőfelület alkalmazói beadásaira is, az egységes ábrázolás kisvagy<br />

nagybetűkkel elérhető:<br />

Programkód<br />

DEF STRING [29] STRG<br />

...<br />

IF "LEARN.CNC"==TOUPPER(STRG) GOTOF LOAD_LEARN<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 77


Rugalmas NC programozás<br />

1.9 String műveletek<br />

1.9.5 String hosszának meghatározása (STRLEN)<br />

Funkció<br />

A STRLEN utasítás lehetővé teszi egy karakterlánc hosszának a meghatározását.<br />

Szintaxis<br />

=STRLEN("")<br />

Jelentés<br />

STRLEN:<br />

:<br />

:<br />

A STRLEN utasítással lesz meghatározva a megadott karakterlánc hossza.<br />

A kezdettől számítva a 0-tól eltérő karakterek száma lesz visszaadva.<br />

karakterlánc, aminek a hosszát meg kell határozni<br />

típus: STRING<br />

változó a meghatározás eredményének<br />

típus: INT<br />

Példa<br />

A funkció lehetővé teszi az egyes karakter eléréssel együtt egy string végének a<br />

meghatározását:<br />

Programkód<br />

IF (STRLEN(BAUSTEIN_NAME)>10) GOTOF FEHLER<br />

1.9.6 Karakter/string keresése stringben (INDEX, RINDEX, MINDEX, MATCH)<br />

Funkció<br />

Ez a funkció lehetővé teszi egyes karakterek ill. egy string keresését egy további stringben.<br />

A funkció eredménye megadja, hogy a megvizsgált string melyik helyén található a keresett<br />

karakter/string.<br />

Szintaxis<br />

INT_ERG=INDEX(STRING,CHAR) ; eredmény-típus: INT<br />

INT_ERG=RINDEX(STRING,CHAR) ; eredmény-típus: INT<br />

INT_ERG=MINDEX(STRING,STRING) ; eredmény-típus: INT<br />

INT_ERG=MATCH(STRING,STRING) ; eredmény-típus: INT<br />

Munka-előkészítés<br />

78 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.9 String műveletek<br />

Szemantika<br />

Kereső funkciók: Ezek visszaadják azt a helyet a stringben (első paraméter), ahol a keresés<br />

sikeres volt. Ha a karakter/string nem található, a –1 érték kerül visszaadásra. Az első hely itt<br />

a 0 pozíció.<br />

Jelentés<br />

INDEX: keresi a második paraméterként megadott karaktert (elölről) az első<br />

paraméterben<br />

RINDEX: keresi a második paraméterként megadott karaktert (hátulról) az első<br />

paraméterben<br />

MINDEX: megfelel az INDEX funkciónak azzal az eltéréssel, hogy a karakterek egy<br />

listája kerül megadásra (stringként), amelyekből az első megtalált karakter<br />

indexe lesz visszaadva<br />

MATCH: keres egy stringet egy stringben<br />

Így lehet a stringeket meghatározott szempontok szerint szétbontani, pl. az üres jeleknél<br />

vagy az ág elválasztó jeleknél ("/").<br />

Példa<br />

Egy beadás felbontására ág- és modulnévre<br />

Programkód<br />

DEF INT PFADIDX, PROGIDX<br />

DEF STRING[26] EINGABE<br />

DEF INT LISTIDX<br />

EINGABE = "/_N_MPF_DIR/_N_EXECUTE_MPF"<br />

LISTIDX = MINDEX (EINGABE, "M,N,O,P") + 1<br />

Kommentár<br />

; A LISTIDX a 3 értéket adja vissza;<br />

mivel az "N" az első karakter elölről<br />

a EINGABE paraméterben a választéklistából.<br />

PFADIDX = INDEX (EINGABE, "/") +1 ; ezzel érvényes: PFADIDX = 1<br />

PROGIDX = RINDEX (EINGABE, "/") +1 ; ezzel érvényes: PROGIDX = 12<br />

a következő bekezdésben bevezetésre<br />

kerülő SUBSTR funkció segítségével<br />

a EINGABE változót az "ág" és a<br />

"modul" komponensekre lehet<br />

felbontani:<br />

VARIABLE = SUBSTR (EINGABE, PFADIDX, PROGIDX-PFADIDX-1) ; "_N_MPF_DIR"-t ad<br />

VARIABLE = SUBSTR (EINGABE, PROGIDX)<br />

; "_N_EXECUTE_MPF"-t ad<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 79


Rugalmas NC programozás<br />

1.9 String műveletek<br />

1.9.7 Rész-string kiválasztása (SUBSTR)<br />

Funkció<br />

Ez a funkció lehetővé teszi egy rész-string kiválasztását egy stringből. Ehhez az első<br />

karakter indexét és esetleg a kívánt hosszat kell megadni. Ha a hossz nincs megadva, a<br />

maradék-stringről van szó.<br />

Szintaxis<br />

STRING_ERG = SUBSTR (STRING,INT) ; eredmény-típus: INT<br />

STRING_ERG = SUBSTR(STRING,INT, INT) ; eredmény-típus: INT<br />

Szemantika<br />

Az első esetben egy rész-string kerül visszaadásra a második paraméterrel megadott helytől<br />

a string végéig.<br />

A második esetben a harmadik paraméterrel megadott maximális hosszra korlátozott részstring<br />

kerül visszaadásra.<br />

Ha a kezdőhely a string vége mögött van, egy üres string (" ") kerül visszaadásra.<br />

Ha a kezdőhely vagy a hossz negatív, vészjelzés lesz kiadva.<br />

Példa<br />

Programkód<br />

Kommentár<br />

DEF STRING[29] ERG<br />

ERG = SUBSTR ("QUITTUNG:10 bis 99", 10, 2) ; ezzel érvényes: ERG == "10"<br />

1.9.8 Egy karakter kiválasztása (STRINGVAR, STRINGFELD)<br />

Funkció<br />

Ez a funkció lehetővé teszi egy string egyes karaktereinek a kiválasztását. Ez az olvasó és<br />

az író hozzáférésre egyaránt érvényes.<br />

Szintaxis<br />

CHAR_ERG = STRINGVAR [IDX] ; eredmény-típus: CHAR<br />

CHAR_ERG = STRINGFELD [IDX_FELD, IDX_CHAR] ; eredmény-típus: CHAR<br />

Szemantika<br />

Egy stringben az a karakter kerül olvasásra/írásra, amelyik a megadott helyen áll. Ha a<br />

helymegadás negatív vagy a stringnél nagyobb, vészjelzés kerül kiadásra.<br />

Munka-előkészítés<br />

80 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.9 String műveletek<br />

Példa jelentések:<br />

Egy tengely-jelölő beillesztése egy előre elkészített stringbe.<br />

Programkód<br />

DEF STRING [50] MELDUNG = "Achse n hat Position erreicht"<br />

MELDUNG [6] = "X"<br />

MSG (MELDUNG)<br />

Kommentár<br />

; "Achse X hat Position erreicht"<br />

jelentést adja<br />

Paraméter<br />

Az egyes karakter hozzáférés csak a felhasználó-definiált változókra (LUD-,GUD- és PUDadatok)<br />

lehetséges.<br />

Ezen kívül ez a hozzáférés fajta az alprogram-hívásnál csak a "Call-By-Value" típusú<br />

paraméterekre lehetséges.<br />

Példák<br />

Példa 1: Egyes karakter hozzáférésre egy gép-, rendszeradat, ... esetén<br />

Programkód<br />

DEF STRING [50] STRG<br />

DEF CHAR QUITTUNG<br />

…<br />

STRG = $P_MMCA<br />

QUITTUNG = STRG [0]<br />

Kommentár<br />

; nyugtázás komponens kiértékelése<br />

Példa 2: Egyes karakter hozzáférésre Call-By-Reference paraméternél<br />

Programkód<br />

DEF STRING [50] STRG<br />

DEF CHAR CHR1<br />

EXTERN UP_CALL (VAR CHAR1)<br />

…<br />

CHR1 = STRG [5]<br />

UP_CALL (CHR1)<br />

STRG [5] = CHR1<br />

Kommentár<br />

; Call-By-Reference paraméter!<br />

; Call-By-Reference<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 81


Rugalmas NC programozás<br />

1.10 Program ugrások és elágazások<br />

1.10 Program ugrások és elágazások<br />

1.10.1 Visszaugrás a programkezdetre (GOTOS)<br />

Funkció<br />

A GOTOS utasítással lehetséges a fő- és alprogramok kezdetére visszaugrani a<br />

programismétlés céljából.<br />

Gépadattal be lehet állítani, hogy a programkezdetre visszaugrásnál:<br />

● a program-futásidő "0"-ra legyen állítva<br />

● a munkadarab-számláló "1"-gyel növelve legyen.<br />

Szintaxis<br />

GOTOS<br />

Jelentés<br />

GOTOS:<br />

ugrás utasítás programkezdet ugráscéllal<br />

A végrehajtást az NC/PLC interfészjel vezérli:<br />

DB21, ... DBX384.0 (program-elágzást vezérelni)<br />

Érték: Jelentés:<br />

0 Nincs visszaugrás a programkezdetre. A program végrehajtása a<br />

következő programmondatban a GOTOS után lesz folytatva..<br />

1 Visszaugrás a programkezdetre. A program ismételve lesz.<br />

Peremfeltételek<br />

● GOTOS kivált egy STOPRE-t (előrefutás-állj).<br />

● Egy munkadarabprogramban adat-definíciókkal (LUD változók) a GOTOS-sal az ugrás a<br />

definíciós szakasz utáni első programmondatra történik, vagyis az adat-definíciók nem<br />

lesznek újra végrehajtva. A definiált változók viszont megtartják a GOTOS mondatban elért<br />

értéket és nem lesznek visszaállítva a definíciós szakaszban programozott alapértékükre.<br />

● A szinkron-akciókban és a technológiai ciklusokban a GOTOS utasítás nem áll<br />

rendelkezésre.<br />

Munka-előkészítés<br />

82 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.10 Program ugrások és elágazások<br />

Példa<br />

Programkód<br />

N10 ...<br />

...<br />

N90 GOTOS<br />

...<br />

Kommentár<br />

; programkezdet<br />

; ugrás a programkezdetre<br />

1.10.2 Programugrások ugrás-jelölőkre (GOTOB, GOTOF, GOTO, GOTOC)<br />

Funkció<br />

Egy programban be lehet állítani ugrás-jelölőket (címkék), amelyekre ugyanannak a<br />

programnak más helyeiről a GOTOF, GOTOB, GOTO ill. GOTOC utasításokkal rá lehet ugrani. A<br />

program végrehajtása az ugrás-jelölő utáni utasítással folytatódik. Ezzel a programon belül<br />

elágazások valósíthatók meg.<br />

Az ugrás-jelölők mellet ugráscélként lehetségesek fő- és mellémondat számok is.<br />

Ha az ugrás utasítás előtt egy ugrás-feltétel (IF ...) van megfogalmazva, akkor a<br />

programugrás csak a feltétel teljesülése esetén történik meg.<br />

Szintaxis<br />

GOTOB <br />

IF = TRUE GOTOB <br />

GOTOF <br />

IF = TRUE GOTOF <br />

GOTO <br />

IF = TRUE GOTO <br />

GOTOC <br />

IF = TRUE GOTOC <br />

Jelentés<br />

GOTOB:<br />

GOTOF:<br />

GOTO:<br />

GOTOC:<br />

ugrás utasítás programkezdet irányába ugráscéllal<br />

ugrás utasítás programvég irányába ugráscéllal<br />

ugrás utasítás ugráscél kereséssel A keresés először a programvég<br />

irányába, majd a programkezdet irányába történik.<br />

Úgy hat, mint a GOTO, különbség: a 14080 "Ugráscélt nem talált"<br />

vészjelzés el lesz nyomva.<br />

Ez azt jelenti, hogy a program végrehajtása egy eredménytelen<br />

ugráscél-keresés esetén nem szakad meg, hanem a GOTOC utasítás<br />

után következő programsorban folytatódik.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 83


Rugalmas NC programozás<br />

1.10 Program ugrások és elágazások<br />

:<br />

IF:<br />

ugráscél-paraméter<br />

lehetséges megadások:<br />

: ugráscél a programban beállított ugrás-jelölő a<br />

felhasználó által definiált névvel: :<br />

: ugráscél egy fő- vagy mellékmondat-szám (pl.:<br />

200, N300)<br />

STRING típusú<br />

változó:<br />

változó ugráscél A változó egy ugráscél vagy<br />

egy mondatszám helyett van.<br />

kulcsszó az ugrásfeltétel megadásához<br />

Az ugrásfeltétel megengedi az összes összehasonlító és logikai<br />

műveletet (erdmény: TRUE vagy FALSE). A programugrás akkor lesz<br />

végrehajtva, ha ezen művelet eredménye TRUE.<br />

Megjegyzés<br />

Ugrás-jelölők (címkék)<br />

Az ugrás-jelölők mindig a mondat elején állnak. Ha van programszám, az ugrás-jelölő<br />

közvetlenül a mondatszám után áll.<br />

Az ugrás-jelölők elnevezésére a következő szabályok érvényesek:<br />

Karakterek száma:<br />

– legalább 2<br />

– maximum 32<br />

Megengedett karakterek:<br />

– betűk<br />

– számjegyek<br />

– alsóvonalak<br />

Az első két jelnek betűnek vagy aláhúzásnak kell lennie.<br />

Az ugrás-jelölő neve után egy kettőspont (":") következik.<br />

Peremfeltételek<br />

● Az ugráscél csak egy olyan mondat lehet ugrás-jelölővel vagy mondatszámmal,amelyik a<br />

programon belül van.<br />

● Egy ugrás-utasítást ugrásfeltétel nélkül egy külön mondatban kell programozni. Az ugrásutasításoknál<br />

ugrásfeltétellel ez a korlátozás nem érvényes. Itt meg lehet adni több<br />

ugrásfeltételt egy mondatban.<br />

● Az ugrásfeltétel nélküli ugrás-utasításos programokban az M2/M30 programvég utasítások<br />

nem kell feltétlenül a program végén legyenek.<br />

Munka-előkészítés<br />

84 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.10 Program ugrások és elágazások<br />

Példák<br />

Példa 1: Ugrások ugrás-jelölőkre<br />

Programkód<br />

Kommentár<br />

N10 …<br />

N20 GOTOF Label_1 ; ugrás a programvég irányába a "Label_1" ugrásjelölőhöz<br />

N30 …<br />

N40 Label_0: R1=R2+R3 ; "Label_0" ugrás-jelölő beállítva<br />

N50 …<br />

N60 Label_1: ; "Label_1" ugrás-jelölő beállítva<br />

N70 …<br />

N80 GOTOB Label_0 ; ugrás a programkezdet irányába a "Label_0" ugrásjelölőhöz<br />

N90 …<br />

Példa 2: Közvetett ugrás mondatszámra<br />

Programkód<br />

Kommentár<br />

N5 R10=100<br />

N10 GOTOF "N"


Rugalmas NC programozás<br />

1.10 Program ugrások és elágazások<br />

Példa 4: Ugrás ugrásfeltétellel<br />

Programkód<br />

Kommentár<br />

N40 R1=30 R2=60 R3=10 R4=11 R5=50 R6=20 ; kezdőértékek hozzárendelése<br />

N41 LA1: G0 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6 ; LA1 ugrás-jelölő beállítva<br />

N42 R1=R1+R3 R4=R4-1<br />

N43 IF R4>0 GOTOB LA1 ; Ha az ugrásfeltétel teljesül,<br />

akkor ugrás a programkezdet<br />

irányába az LA1 ugrás-jelölőre.<br />

N44 M30 ; programvég<br />

1.10.3 Program-elágazás (CASE ... OF ... DEFAULT ...)<br />

Funkció<br />

A CASE utasítás lehetővé teszi egy változó (INT típus) vagy egy számítási funkció aktuális<br />

értékét megvizsgálni és az eredménytől függően a program különböző helyeire ugrani.<br />

Szintaxis<br />

CASE() OF GOTOF <br />

GOTOF ... DEFAULT GOTOF <br />

Jelentés<br />

CASE:<br />

:<br />

OF:<br />

:<br />

:<br />

DEFAULT:<br />

ugrás utasítás<br />

változó vagy számítási funkció<br />

kulcsszó a feltételes programelágazások megadásához<br />

első megadott állandó érték a változónak vagy számítási<br />

funkciónak<br />

típus: INT<br />

második megadott állandó érték a változónak vagy számítási<br />

funkciónak<br />

típus: INT<br />

Azokra az esetekre, amelyekben a változó vagy a számítási funkció<br />

a megadott állandó értékek egyikét sem veszi fel, a DEFAULT<br />

utasítással egy ugráscélt lehet megadni.<br />

Utalás:<br />

Ha nincs programozva DEFAULT utasítás, ezekben az esetekben a<br />

CASE utasítást követő mondat lesz az ugráscél.<br />

Munka-előkészítés<br />

86 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.10 Program ugrások és elágazások<br />

GOTOF:<br />

:<br />

:<br />

:<br />

ugrás utasítás programvég irányába ugráscéllal<br />

A GOTOF helyett az összes többi GOTO utasítás is programozható<br />

(lásd "Programugrások ugrás-jelölőkre" témát).<br />

Elágazás erre az ugráscélra, ha a változó vagy a számítási funkció<br />

értéke megfelel az első megadott állandónak.<br />

Az ugráscélt a következők szerint lehet megadni:<br />

: ugráscél a programban beállított ugrás-jelölő a<br />

felhasználó által definiált névvel: :<br />

: ugráscél egy fő- vagy mellékmondat-szám (pl.:<br />

200, N300)<br />

STRING típusú<br />

változó:<br />

változó ugráscél A változó egy ugráscél vagy<br />

egy mondatszám helyett van.<br />

Elágazás erre az ugráscélra, ha a változó vagy a számítási funkció<br />

értéke megfelel a második megadott állandónak.<br />

Elágazás erre az ugráscélra, ha a változó vagy a számítási funkció<br />

értéke az egyik megadott állandónak sem felel meg.<br />

Példa<br />

Programkód<br />

...<br />

N20 DEF INT VAR1 VAR2 VAR3<br />

N30 CASE(VAR1+VAR2-VAR3) OF 7 GOTOF Label_1 9 GOTOF Label_2 DEFAULT GOTOF Label_3<br />

N40 Label_1: G0 X1 Y1<br />

N50 Label_2: G0 X2 Y2<br />

N60 Label_3: G0 X3 Y3<br />

...<br />

A CASE utasítás az N30-ból a következő program-elágazási lehetőségeket definiálja:<br />

1. Ha a számítási funkció VAR1+VAR2-VAR3 = 7, akkor ugorjon a mondathoz a "Label_1"<br />

ugrás-jelölő definícióval (→ N40).<br />

2. Ha a számítási funkció VAR1+VAR2-VAR3 = 9, akkor ugorjon a mondathoz a "Label_2"<br />

ugrás-jelölő definícióval (→ N50).<br />

3. Ha a számítási funkció VAR1+VAR2-VAR3 értéke sem 7, sem 9, akkor ugorjon a<br />

mondathoz a "Label_3" ugrás-jelölő definícióval (→ N60).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 87


Rugalmas NC programozás<br />

1.11 Programrész ismétlése (REPEAT, REPEATB, ENDLABEL, P)<br />

1.11 Programrész ismétlése (REPEAT, REPEATB, ENDLABEL, P)<br />

Funkció<br />

A programrész ismétlés lehetővé teszi a már megírt programrészek ismétlését egy<br />

programon belül tetszőleges összetételben.<br />

Az ismétlendő programrészek ill. program-tartományok ugrás-jelölőkkel (címkék) lesznek<br />

megjelölve.<br />

Megjegyzés<br />

Ugrás-jelölők (címkék)<br />

Az ugrás-jelölők mindig a mondat elején állnak. Ha van programszám, az ugrás-jelölő<br />

közvetlenül a mondatszám után áll.<br />

Az ugrás-jelölők elnevezésére a következő szabályok érvényesek:<br />

Karakterek száma:<br />

– legalább 2<br />

– maximum 32<br />

Megengedett karakterek:<br />

– betűk<br />

– számjegyek<br />

– alsóvonalak<br />

Az első két jelnek betűnek vagy aláhúzásnak kell lennie.<br />

Az ugrás-jelölő neve után egy kettőspont (":") következik.<br />

Szintaxis<br />

1. Egyes programsorokat ismételni:<br />

: ...<br />

...<br />

REPEATB P=<br />

...<br />

2. Program-tartományt az ugrás-jelölő és a REPEAT utasítás között ismételni:<br />

: ...<br />

...<br />

REPEAT P=<br />

...<br />

Munka-előkészítés<br />

88 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.11 Programrész ismétlése (REPEAT, REPEATB, ENDLABEL, P)<br />

3. Tartományt két ugrás-jelölő között ismételni:<br />

: ...<br />

...<br />

: ...<br />

...<br />

REPEAT P=<br />

...<br />

Megjegyzés<br />

A REPEAT utasítást a két ugrás-jelelölővel közrefogni nem lehetséges.. Ha <br />

a REPEAT utasítás előtt van és a a REPEAT utasítás előtt nem lesz<br />

elérve, akkor az ismétlés a és a REPEAT utasítás között lesz<br />

végrehajtva.<br />

4. Tartományt az ugrás-jelölő és az ENDLABEL között ismételni:<br />

: ...<br />

...<br />

ENDLABEL: ...<br />

...<br />

REPEAT P=<br />

...<br />

Megjegyzés<br />

A REPEAT utasítást az és az ENDLABEL-lel közrefogni nem lehetséges. Ha az<br />

a REPEAT utasítás előtt lett megtalálva és az ENDLABEL a REPEAT utasítás előtt<br />

nem lesz elérve, akkor az ismétlés az és a REPEAT utasítás között lesz<br />

végrehajtva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 89


Rugalmas NC programozás<br />

1.11 Programrész ismétlése (REPEAT, REPEATB, ENDLABEL, P)<br />

Jelentés<br />

REPEATB:<br />

REPEAT:<br />

:<br />

utasítás egy programsor ismétlésére<br />

utasítás egy program-tartomány ismétlésére<br />

Az jelöli:<br />

az ismételendő programsort (REPEATB-nél)<br />

ill.:<br />

az ismételendő program-tartomány kezdetét (REPEAT-nél)<br />

A -vel megjelölt programsor állhat a REPEAT-/REPEATB<br />

utasítás előtt vagy után is. A keresés először a programkezdet<br />

irányába történik. Ha az ugrás-jelölő ebben az irányban nem található,<br />

a keresés a programvég irányába folytatódik.<br />

Kivétel:<br />

Ha a program-tartományt az ugrás-jelölő és a REPEAT utasítás között<br />

kell ismételni (lásd a 2. szintakszist), akkor a -vel<br />

megjelölt programsor előbb kell álljon a REPEAT utasításnál, mivel<br />

ebben az estben csak a programkezdet irányába lesz keresve.<br />

Ha a sor az -vel további utasításokat tartalmaz, ezek<br />

minden ismétlésnél újra végre lesznek hajtva.<br />

ENDLABEL:<br />

kulcsszó, ami egy ismétlendő program-tartomány végét jelöli<br />

Ha a sor az ENDLABEL-lel további utasításokat tartalmaz, ezek minden<br />

ismétlésnél újra végre lesznek hajtva.<br />

Az ENDLABEL-t a programban többször is lehet használni.<br />

P: cím az ismétlés számának megadására<br />

:<br />

program ismétlések száma<br />

típus: INT<br />

Az ismétlendő programrész -szer lesz megismételve. Az utolsó<br />

ismétlés után a program a REPEAT-/REPEATB sora utáni sorral lesz<br />

folytatva.<br />

Utalás:<br />

Ha nincs P= megadva, az ismételendő programrész pontosan<br />

egyszer lesz megismételve.<br />

Munka-előkészítés<br />

90 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.11 Programrész ismétlése (REPEAT, REPEATB, ENDLABEL, P)<br />

Példák<br />

Példa 1: Egyes programsorok ismétlése<br />

Programkód<br />

N10 POSITION1: X10 Y20<br />

N20 POSITION2: CYCLE(0,,9,8)<br />

N30 ...<br />

N40 REPEATB POSITION1 P=5<br />

N50 REPEATB POSITION2<br />

N60 ...<br />

N70 M30<br />

Kommentár<br />

; pozíció-ciklus<br />

; hajtsd végre az N10 mondatot ötször<br />

; hajtsd végre az N20 mondatot egyszer<br />

Példa 2: Program-tartományt az ugrás-jelölő és a REPEAT utasítás között ismételni<br />

Programkód<br />

N5 R10=15<br />

N10 Begin: R10=R10+1<br />

N20 Z=10-R10<br />

N30 G1 X=R10 F200<br />

N40 Y=R10<br />

N50 X=-R10<br />

N60 Y=-R10<br />

N70 Z=10+R10<br />

N80 REPEAT BEGIN P=4<br />

N90 Z10<br />

N100 M30<br />

Kommentár<br />

; szélesség<br />

; hajtsd végre az N10 .. N70 tartományt négyszer<br />

Példa 3: Tartományt két ugrás-jelölő között ismételni<br />

Programkód<br />

N5 R10=15<br />

N10 Begin: R10=R10+1<br />

N20 Z=10-R10<br />

N30 G1 X=R10 F200<br />

N40 Y=R10<br />

N50 X=-R10<br />

N60 Y=-R10<br />

N70 END: Z=10<br />

N80 Z10<br />

N90 CYCLE(10,20,30)<br />

N100 REPEAT BEGIN END P=3<br />

N110 Z10<br />

N120 M30<br />

Kommentár<br />

; szélesség<br />

; hajtsd végre az N10 .. N70 tartományt háromszor<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 91


Rugalmas NC programozás<br />

1.11 Programrész ismétlése (REPEAT, REPEATB, ENDLABEL, P)<br />

Példa 4: Tartományt az ugrás-jelölő és az ENDLABEL között ismételni<br />

Programkód<br />

N10 G1 F300 Z-10<br />

N20 BEGIN1:<br />

N30 X10<br />

N40 Y10<br />

N50 BEGIN2:<br />

N60 X20<br />

N70 Y30<br />

N80 ENDLABEL: Z10<br />

N90 X0 Y0 Z0<br />

N100 Z-10<br />

N110 BEGIN3: X20<br />

N120 Y30<br />

N130 REPEAT BEGIN3 P=3<br />

N140 REPEAT BEGIN2 P=2<br />

N150 M100<br />

N160 REPEAT BEGIN1 P=2<br />

N170 Z10<br />

N180 X0 Y0<br />

N190 M30<br />

Kommentár<br />

; hajtsd végre az N110 .. N120 tartományt háromszor<br />

; hajtsd végre az N50 .. N80 tartományt kétszer<br />

; hajtsd végre az N20 .. N80 tartományt kétszer<br />

Példa 5: Marás megmunkálás, furat-pozíciókat különböző technológiákkal megmunkálni<br />

Programkód<br />

Kommentár<br />

N10 ZENTRIERBOHRER() ; központozó fúrót becserélni<br />

N20 POS_1: ; furat-pozíció 1<br />

N30 X1 Y1<br />

N40 X2<br />

N50 Y2<br />

N60 X3 Y3<br />

N70 ENDLABEL:<br />

N80 POS_2: ; furat-pozíció 2<br />

N90 X10 Y5<br />

N100 X9 Y-5<br />

N110 X3 Y3<br />

N120 ENDLABEL:<br />

N130 BOHRER()<br />

; fúrót cserélni és fúró-ciklus<br />

N140 GEWINDE(6)<br />

; M6-os menetfúrót becserélni és menetfúró-ciklus<br />

N150 REPEAT POS_1<br />

; programszakaszt POS_1-től ENDLABEL-ig egyszer ismételni<br />

N160 BOHRER()<br />

; fúrót cserélni és fúró-ciklus<br />

Munka-előkészítés<br />

92 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.11 Programrész ismétlése (REPEAT, REPEATB, ENDLABEL, P)<br />

Programkód<br />

N170 GEWINDE(8)<br />

N180 REPEAT POS_2<br />

N190 M30<br />

Kommentár<br />

; M8-as menetfúrót becserélni és menetfúró-ciklus<br />

; programszakaszt POS_2-től ENDLABEL-ig egyszer ismételni<br />

További információk<br />

● A programrészek ismétlését lehet egymásba skatulyázva felhívni. Minden felhívás<br />

elfoglal egy alprogramszintet.<br />

● Ha egy programrész ismétlése közben M17 vagy RET van programozva, akkor a<br />

programrész ismétlés megszakad. A program a REPEAT- sor utáni mondattal lesz folytatva.<br />

● Az aktuális program-kijelzőben a programrész ismétlés külön alprogramszintként lesz<br />

kijelezve.<br />

● Ha a programrész ismétlés alatt szint-megszakítás lesz kiváltva, akkor a program a<br />

programrész feldolgozása hívása után lesz folytatva.<br />

Példa:<br />

Programkód<br />

N5 R10=15<br />

N10 BEGIN: R10=R10+1<br />

N20 Z=10-R10<br />

N30 G1 X=R10 F200<br />

N40 Y=R10<br />

N50 X=-R10<br />

N60 Y=-R10<br />

N70 END: Z10<br />

N80 Z10<br />

N90 CYCLE(10,20,30)<br />

N100 REPEAT BEGIN END P=3<br />

N120 Z10<br />

N130 M30<br />

Kommentár<br />

; szélesség<br />

; szint-megszakítás<br />

; program feldolgozását folytatni<br />

● A vezérlő struktúrákat és a programrész ismétlést lehet kombináltan használni. Azonban<br />

ne legyenek átfedések. Egy programrész ismétlés egy vezérlő struktúra ágon belül, ill.<br />

egy vezérlő struktúra egy programrész ismétlésen belül kellene legyen.<br />

● Az ugrások és a programrész ismétlések keverésénél a mondatok sorrendben lesznek<br />

feldolgozva. Pl. egy ugrásnál egy programrész ismétlésből a feldolgozás a programozott<br />

programrész végéig folytatódik.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 93


Rugalmas NC programozás<br />

1.11 Programrész ismétlése (REPEAT, REPEATB, ENDLABEL, P)<br />

Példa:<br />

Programkód<br />

N10 G1 F300 Z-10<br />

N20 BEGIN1:<br />

N30 X=10<br />

N40 Y=10<br />

N50 GOTOF BEGIN2<br />

N60 ENDLABEL:<br />

N70 BEGIN2:<br />

N80 X20<br />

N90 Y30<br />

N100 ENDLABEL: Z10<br />

N110 X0 Y0 Z0<br />

N120 Z-10<br />

N130 REPEAT BEGIN1 P=2<br />

N140 Z10<br />

N150 X0 Y0<br />

N160 M30<br />

Megjegyzés<br />

A REPEAT utasítás a mozgás-mondatok után álljon.<br />

Munka-előkészítés<br />

94 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.12 Vezérlő struktúrák<br />

1.12 Vezérlő struktúrák<br />

Funkció<br />

A vezérlés az NC-mondatokat alap-beállításként a programozott sorrendben dolgozza fel.<br />

Ezt a sorrendet alternatív programblokkok és program<strong>hu</strong>rkok programozásával lehet variálni.<br />

Ezeknek a vezérlő-struktúráknak a programozása az IF...ELSE, LOOP, FOR, WHILE és REPEAT<br />

vezérlő-struktúra elemekkel (kulcsszavakkal) történik.<br />

VIGYÁZAT<br />

A vezérlő-struktúrák csak egy program utasítás-részén belül lehetségesek. A definíciókat a<br />

programfejben nem lehet feltételesen vagy ismételve végrehajtani.<br />

A vezérlő-struktúrák kulcsszavait és az ugráscélokat nem szabad makrókkal átfedni. A<br />

makró definíciónál nincs ellenőrzés.<br />

Hatásosság<br />

A vezérlő-struktúrák program-lokálisan hatnak.<br />

Skatulyázási mélység<br />

Minden alprogram szinten a vezérlő-struktúrák max. 16-szoros egymásba skatulyázása<br />

lehetséges.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 95


Rugalmas NC programozás<br />

1.12 Vezérlő struktúrák<br />

Futási idő viselkedés<br />

A szabványosan aktív interpreter-üzemben a programugrások alkalmazásával gyorsabb<br />

programlefutást lehet elérni, mint a vezérlő-struktúrákkal.<br />

Az előre lefordított ciklusoknál nincs különbség a programugrások és a vezérlő-struktúrák<br />

között.<br />

Peremfeltételek<br />

● A vezérlő-struktúra elemeket tartalmazó mondatok nem kapcsolhatók ki.<br />

● Ugrás-jelölők (címkék) az ilyen mondatokban nem megengedettek.<br />

● A vezérlő-struktúrák feldolgozása interpreter jellegű. A <strong>hu</strong>rok vége felismerésekor történik<br />

a már felismert vezérlő-struktúráknak megfelelően a <strong>hu</strong>rok kezdet keresése. Az<br />

interpreter üzemben a program blokk-szerkezete nincs teljesen megvizsgálva.<br />

● Alapvetően nem ajánlott a vezérlő-struktúrák és az ugrások vegyes alkalmazása.<br />

● A ciklusok elő-feldolgozásánál meg lehet vizsgálni a vezérlő-struktúrák korrekt<br />

skatulyázását.<br />

1.12.1 Program<strong>hu</strong>rkok alternatívával (IF, ELSE, ENDIF)<br />

Funkció<br />

Az IF és ELSE szerkezet akkor lesz használva, ha a program<strong>hu</strong>rok egy alternatív<br />

programblokkot kel tartalmazzon: Ha az IF feltétel teljesült, akkor az IF-et követő<br />

programblokk lesz végrehajtva. Ha az IF feltétel nem teljesült, akkor az ELSE-t követő<br />

alternatív programblokk lesz végrehajtva.<br />

Megjegyzés<br />

Ha nem szükséges alternatíva, egy IF <strong>hu</strong>rkot lehet ELSE utasítás nélkül is az ELSE-t követő<br />

programblokkra programozni.<br />

Szintaxis<br />

IF <br />

...<br />

ELSE<br />

...<br />

ENDIF<br />

Munka-előkészítés<br />

96 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.12 Vezérlő struktúrák<br />

Jelentés<br />

IF:<br />

ELSE:<br />

ENDIF:<br />

:<br />

bevezeti az IF <strong>hu</strong>rkot<br />

bevezeti az alternatív programblokkot<br />

az IF <strong>hu</strong>rok végét jelöli és egy visszaugrást okoz a <strong>hu</strong>rok elejére<br />

feltétel, ami eldönti, hogy melyik programblokk fog lefutni<br />

Példa<br />

Szerszámcserélő alprogram<br />

Programkód<br />

Kommentár<br />

PROC L6<br />

; szerszámcserélő rutin<br />

N500 DEF INT TNR_AKTUELL<br />

; aktív T-szám változója<br />

N510 DEF INT TNR_VORWAHL<br />

; előválasztott T-szám változója<br />

; aktuális szerszámot<br />

megállapítani<br />

N520 STOPRE<br />

N530 IF $P_ISTEST ; programteszt üzemben ...<br />

N540 TNR_AKTUELL = $P_TOOLNO<br />

; ... a program-környezetből az<br />

"aktuális" szerszám kiolvasva<br />

N550 ELSE ; egyébként ...<br />

N560 TNR_AKTUELL = $TC_MPP6[9998,1]<br />

; ... az orsóban levő szerszám<br />

lesz kiolvasva<br />

N570 ENDIF<br />

N580 GETSELT(TNR_VORWAHL)<br />

; előválasztott szerszám T-szám<br />

olvasása az orsón<br />

N590 IF TNR_AKTUELL TNR_VORWAHL<br />

; Ha az előválasztott szerszám<br />

még nem az aktuális szerszám,<br />

akkor ...<br />

N600 G0 G40 G60 G90 SUPA X450 Y300 Z300 D0<br />

; ... szerszámcserepontra menni<br />

...<br />

N610 M206<br />

; ... és szerszámcserét<br />

végrehajtani.<br />

N620 ENDIF<br />

N630 M17<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 97


Rugalmas NC programozás<br />

1.12 Vezérlő struktúrák<br />

1.12.2 Végtelen program<strong>hu</strong>rok (LOOP, ENDLOOP)<br />

Funkció<br />

A végtelen <strong>hu</strong>rkot a végtelen programokban alkalmazzuk. A <strong>hu</strong>rok végén mindig visszaugrás<br />

történik a <strong>hu</strong>rok elejére.<br />

Szintaxis<br />

LOOP<br />

...<br />

ENDLOOP<br />

Jelentés<br />

LOOP:<br />

ENDLOOP:<br />

bevezeti a végtelen <strong>hu</strong>rkot<br />

a <strong>hu</strong>rok végét jelöli és egy visszaugrást okoz a <strong>hu</strong>rok elejére<br />

Példa<br />

Programkód<br />

...<br />

LOOP<br />

MSG ("nincs aktív szerszám-vágóél")<br />

M0<br />

STOPRE<br />

ENDLOOP<br />

...<br />

Munka-előkészítés<br />

98 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.12 Vezérlő struktúrák<br />

1.12.3 Számláló <strong>hu</strong>rok (FOR ... TO ..., ENDFOR)<br />

Funkció<br />

A számláló <strong>hu</strong>rkot akkor alkalmazzuk, ha egy munkafolyamatot adott számú átfutással kell<br />

ismételni.<br />

Szintaxis<br />

FOR = TO <br />

...<br />

ENDFOR<br />

Jelentés<br />

FOR:<br />

ENDFOR:<br />

:<br />

:<br />

:<br />

bevezeti a számláló <strong>hu</strong>rkot<br />

a <strong>hu</strong>rok végét jelöli és egy visszaugrást okoz a <strong>hu</strong>rok elejére, amíg a<br />

számlálás a végértéket el nem érte<br />

számláló változó, amely a kezdő értéktől a végső értékig felfele lesz<br />

számlálva, minden lefutásnál "1" értékkel növelve<br />

típus INT vagy REAL<br />

Utalás:<br />

A REAL akkor lesz alkalmazva, ha pl. R-paraméter van<br />

programozva egy számláló <strong>hu</strong>rokhoz. Ha a számláló változó<br />

REAL típusú, az értéke egészszámú értékre lesz kerekítve.<br />

számlálás kezdőértéke<br />

feltétel: A kezdőérték kisebb kell legyen a végértéknél.<br />

számlálás végértéke<br />

Példák<br />

Példa 1: INTEGER változó vagy R-paraméter számláló változóként<br />

INTEGER változó számláló változóként:<br />

Programkód<br />

DEF INT iVARIABLE1<br />

R10=R12-R20*R1 R11=6<br />

FOR iVARIABLE1= R10 TO R11<br />

R20=R21*R22+R33<br />

ENDFOR<br />

M30<br />

Kommentár<br />

; számláló változó = INTEGER változó<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 99


Rugalmas NC programozás<br />

1.12 Vezérlő struktúrák<br />

R-paraméter számláló változóként:<br />

Programkód<br />

R11=6<br />

FOR R10=R12-R20*R1 TO R11<br />

R20=R21*R22+R33<br />

ENDFOR<br />

M30<br />

Kommentár<br />

; számláló változó = R-paraméter (valós változó)<br />

Példa 2: Adott számú munkadarab készítése<br />

Programkód<br />

DEF INT STUECKZAHL<br />

FOR STUECKZAHL = 0 TO 100<br />

G01 …<br />

ENDFOR<br />

M30<br />

Kommentár<br />

; "STUECKZAHL" nevű, INT típusú változó<br />

definiálása<br />

; bevezeti a számláló <strong>hu</strong>rkot a "STUECKZAHL"<br />

változó a "0" kezdőértéktől a "100" végértékig<br />

lesz felfelé számolva<br />

; számláló <strong>hu</strong>rok vége<br />

1.12.4 Program<strong>hu</strong>rok feltétellel a <strong>hu</strong>rok elején (WHILE, ENDWHILE)<br />

Funkció<br />

Egy WHILE <strong>hu</strong>roknál a feltétel a <strong>hu</strong>rok elején áll. Amíg a feltétel teljesül, a WHILE <strong>hu</strong>rok le<br />

fog futni.<br />

Szintaxis<br />

WHILE :<br />

...<br />

ENDWHILE<br />

Jelentés<br />

WHILE:<br />

ENDWHILE:<br />

:<br />

bevezeti a program<strong>hu</strong>rkot<br />

a <strong>hu</strong>rok végét jelöli és egy visszaugrást okoz a <strong>hu</strong>rok elejére<br />

feltétel, aminek teljesülnie kell, hogy a WHILE <strong>hu</strong>rok lefusson<br />

Munka-előkészítés<br />

100 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.12 Vezérlő struktúrák<br />

Példa<br />

Programkód<br />

...<br />

WHILE $AA_IW[BOHRACHSE] > -10<br />

G1 G91 F250 AX[BOHRACHSE] = -1<br />

ENDWHILE<br />

...<br />

Kommentár<br />

; WHILE <strong>hu</strong>rok hívása a következő<br />

feltétellel: az aktuális MKR parancsérték<br />

a fúrótengelyre nagyobb kell legyen -10-<br />

nél<br />

1.12.5 Program<strong>hu</strong>rok feltétellel a <strong>hu</strong>rok végén (REPEAT, UNTIL)<br />

Funkció<br />

Egy REPEAT <strong>hu</strong>roknál a feltétel a <strong>hu</strong>rok végén áll. A REPEAT <strong>hu</strong>rok egyszer lefut és addig<br />

lesz ismételve, amíg a feltétel teljesül.<br />

Szintaxis<br />

REPEAT<br />

...<br />

UNTIL <br />

Jelentés<br />

REPEAT:<br />

UNTIL:<br />

:<br />

bevezeti a program<strong>hu</strong>rkot<br />

a <strong>hu</strong>rok végét jelöli és egy visszaugrást okoz a <strong>hu</strong>rok elejére<br />

feltétel, aminek teljesülnie kell, hogy a REPEAT <strong>hu</strong>rok ne fusson le<br />

többet<br />

Példa<br />

Programkód<br />

...<br />

REPEAT<br />

...<br />

UNTIL ...<br />

...<br />

Kommentár<br />

; REPEAT <strong>hu</strong>rok hívása<br />

; feltétel teljesülésének vizsgálata<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 101


Rugalmas NC programozás<br />

1.12 Vezérlő struktúrák<br />

1.12.6 Programpélda skatulyázott vezérlő-struktúrákkal<br />

Programkód<br />

LOOP<br />

IF NOT $P_SEARCH<br />

G01 G90 X0 Z10 F1000<br />

WHILE $AA_IM[X]


Rugalmas NC programozás<br />

1.13 Program koordináció (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)<br />

1.13 Program koordináció (INIT, START, WAITM, WAITMC, WAITE,<br />

SETM, CLEARM)<br />

Funkció<br />

Csatornák<br />

Egy csatorna a saját programját a többi csatornától függetlenül fel tudja dolgozni. Ehhez az<br />

időszakosan hozzárendelt tengelyeket és orsókat a program vezérli.<br />

Az üzembehelyezésnél a vezérlésben két vagy több csatorna is létrehozható.<br />

Program koordináció<br />

Ha egy munkadarab elkészítésében több csatorna is részt vesz, szükséges lehet a program<br />

lefutások szinkronizációja.<br />

Ehhez a program koordinációhoz külön utasítások (parancsok) vannak. Ezek mindig egy<br />

önálló mondatban állnak.<br />

Megjegyzés<br />

A program koordináció a saját csatornában is lehetséges.<br />

Program koordináció utasítások<br />

● Megadás abszolút ág-megadással<br />

INIT (n,"/_<strong>HU</strong>GO_DIR/_N_name_MPF")<br />

vagy<br />

INIT (n,"/_N_MPF_DIR/_N_name_MPF") -<br />

Példa:<br />

INIT(2,"/_N_WKS_DIR/_ABRICHT_MPF")<br />

G01F0.1<br />

START<br />

INIT<br />

(2,"/_N_WKS_DIR/_N_UNTER_1_SPF")<br />

Az abszolút ág képzése a következő szabályok<br />

szerint történik<br />

- aktuális könyvtár/_N_name_MPF<br />

"aktuális könyvtár" a kiválasztott munkadarabkönyvtár<br />

vagy az /_N_MPF_DIR szabványkönyvtár<br />

egy meghatározott program kiválasztása<br />

feldolgozásra egy meghatározott csatornában:<br />

n: csatorna-szám, érték a vezérlés<br />

- konfigurációja szerint<br />

teljes programnév<br />

SW 3-ig:<br />

Egy init utasítás(szinkronizáció nélkül) és egy<br />

NC-Start között legalább egy végrehajtható<br />

mondat kell legyen.<br />

Alprogram-hívásoknál ki kell egészíteni az<br />

ágmegadást "_SPF"-fel<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 103


Rugalmas NC programozás<br />

1.13 Program koordináció (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)<br />

● Megadás relatív ág-megadással<br />

Példa:<br />

INIT(2,"ABRICHT")<br />

INIT(3,"UNTER_1_SPF")<br />

Relatív ág-megadásnál ugyanazok a szabályok<br />

érvényesek, mint az alprogram-hívásnál.<br />

Alprogram-hívásoknál ki kell egészíteni a<br />

programnevet "_SPF"-fel.<br />

Paraméter<br />

A programok közötti adatcseréhez azokat a változókat lehet használni, amelyekkel a<br />

csatornák közösen rendelkeznek (NCK-specifikus globális változók). Egyébként a program<br />

készítése minden csatornára külön történik.<br />

INIT(n, ágmegadás,, nyugtázásmód))<br />

START (n, n)<br />

WAITM (jelölő-sz., n, n, ...)<br />

WAITMC (jelölő-sz., n, n, ...)<br />

WAITE (n, n, ...)<br />

SETM (jelölő-sz., jelölő-sz.,<br />

Utasítás egy csatornában feldolgozáshoz.<br />

Egy adott program kiválasztása abszolút<br />

vagy relatív ágmegadással.<br />

A kiválasztott programok elindítása másik<br />

csatornákban.<br />

n,n: csatornaszámok felsorolása: érték a<br />

vezérlés konfigurációja szerint<br />

A "jelölő-sz." jelölő beállítása a saját<br />

csatornában. Előző mondatot pontos-állj-jal<br />

befejezni. Várakozás az azonos "jelölő-sz."<br />

jelölőre a megadott "n" csatornákban (saját<br />

csatornát nem kell megadni). Jelölő<br />

szinkronakció után törölve lesz.<br />

Egyidejűleg max. 10 jelölőt lehet<br />

csatornánként beállítani.<br />

A "jelölő-sz." jelölő beállítása a saját<br />

csatornában. Pontos-állj csak akkor lesz,<br />

ha a többi csatorna a jelölőt még nem érte<br />

el. Várakozás az azonos "jelölő-sz."<br />

jelölőre a megadott "n" csatornákban (saját<br />

csatornát nem kell megadni). Amikor a<br />

"jelölő-sz." a megadott csatornákban el<br />

lesz érve, a megmunkálás folytatása a<br />

Pontos-állj befejezése nélkül.<br />

Várakozás programvégre a megadott<br />

csatornákban (saját csatornát nem kell<br />

megadni). Példa: egy várakozási idő<br />

programozása a Start utasítás után.<br />

N30 START(2)<br />

N31 G4 F0.01<br />

N40 WAITE(2)<br />

A "jelölő-sz." jelölő beállítása a saját<br />

csatornában, hatás nélkül a futó<br />

megmunkálásra. SETM() megtartja az<br />

érvényességét a RESET és az NC-START után<br />

is.<br />

Munka-előkészítés<br />

104 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.13 Program koordináció (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)<br />

CLEARM (jelölő-sz., jelölő-sz.,<br />

n<br />

A "jelölő-sz." jelölő törlése a saját<br />

csatornában, hatás nélkül a futó<br />

megmunkálásra. A csatornában az összes<br />

jelölő törölhető CLEARM()-mel. CLEARM (0) a<br />

"0" jelölőt törli. CLEARM() megtartja az<br />

érvényességét a RESET és az NC-START után<br />

is.<br />

Megfelelő csatornaszám vagy csatornanév<br />

Megjegyzés<br />

Az összes előző utasítás külön mondatokban kell legyen.<br />

A jelölők száma a beépített CPU-tól függ.<br />

Csatornaszám<br />

A koordinálandó csatornákra megadható max. 10 csatorna csatornaszámként (egészérték).<br />

Csatornanevek<br />

A csatornaneveket változók által (lásd "Változók és számítási paraméterek") számokká kell<br />

átalakítani vagy a csatornaszámok helyett lehet a $MC_CHAN_NAME által definiált<br />

csatornaneveket (jelölő vagy kulcsszó) programozni. A definiált nevek meg kell feleljenek az<br />

NC-nyelv előírásainak (azaz az első két karakter betűkből vagy egy alsó-vonalból kell<br />

álljanak).<br />

VIGYÁZAT<br />

A szám-hozzárendelést védeni kell a könnyű változtatástól.<br />

A nevek nem fordulhatnak elő az NC-ben más jelentéssel, mint pl. kulcsszó, nyelvi utasítás,<br />

tengelynév stb.<br />

SETM() és CLEARM()<br />

SETM()és CLEARM() programozhatók egy szinkronakcióból. Lásd "Várakozás jelölő beállítása/<br />

törlése: SETM CLEARM"<br />

Példa<br />

A "MASCHINE" nevű csatorna legyen az 1 csatornaszámú,<br />

A "LADER" nevű csatorna legyen az 2 csatornaszámú,<br />

DEF INT MASCHINE=1, LADER=2<br />

A változók ugyanazokat a neveket kapják, mint a csatornák.<br />

Ezzel pl. a START utasítás a következő:<br />

START(MASCHINE)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 105


Rugalmas NC programozás<br />

1.13 Program koordináció (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)<br />

Példa program koordinálásra<br />

Csatorna 1:<br />

_N_MPF100_MPF<br />

Programkód<br />

N10 INIT(2,"MPF200")<br />

N11 START(2)<br />

...<br />

N80 WAITM(1,1,2)<br />

...<br />

N180 WAITM(2,1,2)<br />

...<br />

N200 WAITE(2)<br />

N201 M30<br />

...<br />

Kommentár<br />

; megmunkálás a 2-es csatornában<br />

; várakozás a WAIT jelölő 1-re a csatorna 1-ben és<br />

a csatorna 2-ben, további megmunkálás a csatorna 1-<br />

ben<br />

; várakozás a WAIT jelölő 2-re a csatorna 1-ben és<br />

a csatorna 2-ben, további megmunkálás a csatorna 1-<br />

ben<br />

; várakozás a csatorna 2 program végére<br />

; csatorna 1 program vége, teljesen vége<br />

Csatorna 2:<br />

_N_MPF200_MPF<br />

Programkód<br />

;$PATH=/_N_MPF_DIR<br />

N70 WAITM(1,1,2)<br />

...<br />

N270 WAITM(2,1,2)<br />

...<br />

N400 M30<br />

Kommentár<br />

; megmunkálás a 2-es csatornában<br />

; várakozás a WAIT jelölő 1-re a csatorna 1-ben és a csatorna<br />

2-ben, további megmunkálás a csatorna 1-ben<br />

; várakozás a WAIT jelölő 2-re a csatorna 1-ben és a csatorna<br />

2-ben, további megmunkálás a csatorna 2-ben<br />

; csatorna 2 program vége<br />

Munka-előkészítés<br />

106 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.13 Program koordináció (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Példa: Program munkadarabból<br />

Programkód<br />

N10 INIT(2,"/_N_WKS_DIR/_N_WELLE1_WPD/_N_ABSPAN1_MPF")<br />

Példa: INIT utasítás relatív ág-megadással<br />

Az 1-es csatornában az /_N_MPF_DIR/_N_MAIN_MPF program van kiválasztva<br />

Programkód<br />

N10 INIT(2,"MYPROG")<br />

Kommentár<br />

; A /_N_MPF_DIR/_N_MYPROG_MPF programot a 2-es<br />

csatornában kiválasztani<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 107


Rugalmas NC programozás<br />

1.13 Program koordináció (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)<br />

Példa: Csatornanév és csatornaszám Integer változóval<br />

$MC_CHAN_NAME[0]= "CHAN_X" ;1. csatorna neve<br />

$MC_CHAN_NAME[1]= "CHAN_Y" ; 2. csatorna neve<br />

Programkód<br />

Kommentár<br />

START(1, 2)<br />

; Start-ot az 1. és 2. csatornában végrehajtani<br />

Ennek megfelelő programozás a csatorna-jelelölőkkel:<br />

Programkód<br />

START(CHAN_X, CHAN_Y)<br />

Programozás Integer változóval:<br />

Kommentár<br />

; Start-ot az 1. és 2. csatornában végrehajtani<br />

; A Kanal_X és Kanal_Y jelölők képviselik a $MC_CHAN_NAME<br />

gépadat alapján belül a 1 és 2 csatornaszámokat. Ennek<br />

;megfelelően végrehajtásra kerül egy Start az 1. és 2.<br />

>csatornában<br />

Programkód<br />

DEF INT chanNo1, chanNo2)<br />

chanNo1=CHAN_X chanNo2=CHAN_Y<br />

START(chanNo1, chanNo2)<br />

Kommentár<br />

; csatornaszámot definiálni<br />

Munka-előkészítés<br />

108 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

1.14 Interrupt rutinok (ASUP)<br />

1.14.1 Egy interrupt-rutin funkciója<br />

Megjegyzés<br />

A következő leírásban felváltva előforduló "Aszinkron alprogram (ASUP)" és "Interruptrutinok"<br />

fogalmak ugyanazt a funkcionalitást jelentik.<br />

Funkció<br />

Egy Interrupt-rutin működését egy tipikus példa magyarázza meg:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A megmunkálás közben eltörik a szerszám. Ezáltal egy jel keletkezik, a mi a futó<br />

megmunkálást megállítja és egyidejűleg egy alprogramot - az un. interrupt-rutint - elindítja.<br />

Ebben az alprogramban van minden utasítás, amelyeket ebben az esetben végre kell<br />

hajtani.<br />

Ha az alprogram végre van hajtva, (és ezáltal az üzemkészség helyreállt), a vezérlés<br />

visszaugrik a főprogramba és a megmunkálást - mint a REPOS utasítás után - a megszakítási<br />

helyen folytatja (lásd "Újra rámenet a kontúrra (Oldal 476)").<br />

<br />

VIGYÁZAT<br />

Ha az alprogramban nincs REPOS utasítás programozva, akkor annak a mondatnak a<br />

végpontjára lesz pozícionálás, amelyik a megszakított mondatot követi.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 109


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

Irodalom<br />

Alap funkciók működési kézikönyv; BAG, csatorna, program-üzem, Reset viselkedés (K1),<br />

fejezet: "Aszinkron alprogramok (ASUP-ok), interrupt-rutinok"<br />

1.14.2 Interrupt-rutin létrehozása<br />

Interrupt-rutint alprogramként létrehozni<br />

Az interrupt-rutintok a definiálásnál alprogramként lesznek jelölve<br />

Példa:<br />

Programkód<br />

PROC ABHEB_Z<br />

N10 ...<br />

...<br />

N50 M17<br />

Kommentár<br />

; programnév "ABHEB_Z"<br />

; Ezután következnek az NC-mondatok.<br />

; Végül programvég és visszatérés a főprogramba.<br />

Modális G-funkciókat menteni (SAVE)<br />

Az interrupt-rutintok a definiálásnál SAVE-vel lesznek jelölve.<br />

A SAVE jelző hatására a modális G-funkciók az interrupt-rutin hívása előtt mentve és az<br />

interrupt-rutin vége után reaktiválva lesznek (lásd "Alprogramok SAVE mechanizmussal<br />

(SAVE) (Oldal 157)").<br />

Ezáltal lehetséges a megmunkálást az interrupt-rutin lefutása után a megszakítási helyen<br />

folytatni.<br />

Példa:<br />

Programkód<br />

PROC ABHEB_Z SAVE<br />

N10 ...<br />

...<br />

N50 M17<br />

További interrupt-rutinokat hozzárendelni (SETINT)<br />

Az interrupt-rutinokon belül lehet SETINT utasításokat (lásd "Interrupt-rutint hozzárendelni és<br />

indítani (SETINT)" (Oldal 111)) programozni és ezáltal további interrupt-rutinokat élesre<br />

kapcsolni.. A kiváltás a bemeneten történik.<br />

Irodalom<br />

További információk az alprogramok létrehozásához, lásd "Alprogramok, makró technika"<br />

Munka-előkészítés<br />

110 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

1.14.3 Interrupt-rutint hozzárendelni és indítani (SETINT, PRIO, BLSYNC)<br />

Funkció<br />

A vezérlésnek vannak jelei (bemenet 1…8), amelyek a futó program megszakítását és a<br />

megfelelő interrupt-rutin indítását okozhatják.<br />

A hozzárendelés, hogy melyik bemenet melyik programot indítja, a megmunkálási<br />

programban történik a SETINT utasítással.<br />

Ha egy munkadarabprogramban több SETINT utasítás van és ezáltal több jel léphet fel<br />

egyidőben, az interrupt-rutinokhoz prioritás-értékeket kell rendelni, amelyek meghatározzák<br />

a feldolgozás sorrendjét: PRIO=<br />

Ha az interrupt-feldolgozás alatt új jelek lépnek fel, a magasabb prioritású rutinok<br />

megszakítják az aktuális interrupt-rutint.<br />

Szintaxis<br />

SETINT() PRIO= <br />

SETINT() PRIO= BLSYNC<br />

SETINT() PRIO= LIFTFAST<br />

Jelentés<br />

SETINT():<br />

:<br />

PRIO=:<br />

:<br />

:<br />

BLSYNC:<br />

LIFTFAST:<br />

utasítás: bemenet -hez egy interrupt-rutint rendelni A hozzárendelt<br />

interrupt-rutin elindul, ha az bemenet kapcsol.<br />

Utalás:<br />

Ha egy használt bemenethez egy új rutint rendelünk, a régi hozzárendelés<br />

automatikusan hatástalan lesz.<br />

paraméter: bemenet száma<br />

típus: INT<br />

értéktartomány: 1 ... 8<br />

utasítás: prioritás megadása<br />

prioritás érték<br />

típus: INT<br />

értéktartomány: 1 ... 128<br />

A prioritás 1 a legmagasabb prioritás.<br />

alprogram (interrupt-rutin) neve, amelyet végre kell hajtani<br />

Ha a SETINT utasítás a BLSYNC utasítással együtt van programozva, akkor<br />

az interrupt-jel fellépésénél a futó programmondat még fel lesz dolgozva<br />

és az interrupt-rutin csak utána lesz végrehajtva..<br />

Ha a SETINT utasítás a LIFTFAST utasítással együtt van programozva,<br />

akkor az interrupt-jel fellépésénél az az interrupt-rutin indítása előtt egy<br />

"Szerszám gyors leemelése a kontúrról" lesz végrehajtva (lásd "Gyors<br />

leemelés a kontúrról (SETINT LIFTFAST, ALF) (Oldal 115)").<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 111


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

Példák<br />

Példa 1: Interrupt rutint hozzárendelni és prioritást megadni<br />

Programkód<br />

...<br />

N20 SETINT(3) PRIO=1 ABHEB_Z<br />

N30 SETINT(2) PRIO=2 ABHEB_X<br />

...<br />

Kommentár<br />

; Ha a bemenet 3 kapcsol, akkor induljon el az<br />

"ABHEB_Z" interrupt-rutin.<br />

; Ha a bemenet 2 kapcsol, akkor induljon el az<br />

"ABHEB_X" interrupt-rutin.<br />

Az interrupt-rutinok a prioritási értékek sorrendjében egymás után lesznek végrehajtva, ha a<br />

bemenetek egyidejűleg fennállnak: először "ABHEB_Z", utána "ABHEB_X".<br />

Példa 2: Interrupt-rutint újra hozzárendelni<br />

Programkód<br />

...<br />

N20 SETINT(3) PRIO=2 ABHEB_Z<br />

…<br />

N120 SETINT(3) PRIO=1 ABHEB_X<br />

Kommentár<br />

; Ha a bemenet 3 kapcsol, akkor induljon el az<br />

"ABHEB_Z" interrupt-rutin.<br />

; Bemenet 3-hoz egy új interrupt-rutin lesz<br />

hozzárendelve: "ABHEB_Z" helyett "ABHEB_X"<br />

induljon, ha a bemenet 3 kapcsol<br />

Munka-előkészítés<br />

112 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

1.14.4 Egy interrupt-rutin hozzárendelését deaktiválni/újra-aktiválni (DISABLE,<br />

ENABLE)<br />

Funkció<br />

Egy SETINT utasítást a DISABLE deaktiválja és a ENABLE újra aktiválja, a bemenet → interruptrutin<br />

hozzárendelés elveszése nélkül.<br />

Szintaxis<br />

DISABLE()<br />

ENABLE()<br />

Jelentés<br />

DISABLE():<br />

ENABLE():<br />

:<br />

utasítás: deaktiválja a bemenet interrupt-rutin hozzárendelését<br />

utasítás: újra aktiválja a bemenet interrupt-rutin hozzárendelését<br />

paraméter: bemenet száma<br />

típus:<br />

INT<br />

értéktartomány: 1 ... 8<br />

Példa<br />

Programkód<br />

...<br />

N20 SETINT(3) PRIO=1 ABHEB_Z<br />

...<br />

N90 DISABLE(3)<br />

...<br />

N130 ENABLE(3)<br />

...<br />

Kommentár<br />

; Ha a bemenet 3 kapcsol, akkor induljon el az<br />

"ABHEB_Z" interrupt-rutin.<br />

; SETINT utasítás az N20-ból deaktiválva lesz<br />

; SETINT utasítás az N20-ból újra aktiválva<br />

lesz<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 113


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

1.14.5 Egy interrupt-rutin hozzárendelésének törlése (CLRINT)<br />

Funkció<br />

Egy SETINT által definiált bemenet → interrupt-rutin hozzárendelést az CLRINT-tel lehet törölni.<br />

Szintaxis<br />

CLRINT()<br />

Jelentés<br />

CLRINT():<br />

:<br />

utasítás: törli a bemenet interrupt-rutin hozzárendelését<br />

paraméter: bemenet száma<br />

típus:<br />

INT<br />

értéktartomány: 1 ... 8<br />

Példa<br />

Programkód<br />

Kommentár<br />

...<br />

N20 SETINT(3) PRIO=2 ABHEB_Z ;<br />

...<br />

N50 CLRINT(3)<br />

; hozzárendelés a bemenet "3" és az "ABHEB_Z"<br />

interrupt-rutin között törölve lesz<br />

...<br />

Munka-előkészítés<br />

114 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

1.14.6 Gyors leemelés a kontúrról (SETINT LIFTFAST, ALF)<br />

Funkció<br />

Egy SETINT utasításnál LIFTFAST-tal egy bemenet kapcsolásánál a szerszám gyors<br />

leemeléssel eltávolodik a munkadarab-kontúrtól.<br />

A további lefutás attól függ, hogy a SETINT utasítás a LIFTFAST mellett egy interrupt-rutint is<br />

tartalmaz-e:<br />

Interrupt-rutinnal:<br />

Interrupt-rutin nélkül:<br />

Utána a gyors leemelésnek lesz az interrupt-rutin végrehajtva.<br />

A megmunkálás a gyors leemelés után vészjelzéssel leáll.<br />

Szintaxis<br />

SETINT() PRIO=1 LIFTFAST<br />

SETINT() PRIO=1 LIFTFAST<br />

Jelentés<br />

SETINT():<br />

:<br />

utasítás: bemenet -hez egy interrupt-rutint rendelni A hozzárendelt<br />

interrupt-rutin elindul, ha az bemenet kapcsol.<br />

paraméter: bemenet száma<br />

típus: INT<br />

értéktartomány: 1 ... 8<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 115


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

PRIO=:<br />

:<br />

:<br />

LIFTFAST:<br />

ALF=…:<br />

prioritás megadása<br />

prioritás érték<br />

értéktartomány: 1 ... 128<br />

A prioritás 1 a legmagasabb prioritás.<br />

alprogram (interrupt-rutin) neve, amelyet végre kell hajtani<br />

utasítás: gyors leemelés a kontúrról<br />

utasítás: programozható lemeneti irány (mozgás-mondatban áll)<br />

A programozási lehetőségekhez ALF-fal lásd a "Mozgásirány gyors<br />

leemelésnél a kontúrról (Oldal 117)" témát<br />

Peremfeltételek<br />

Viselkedés aktív frame-nél tükrözéssel<br />

A leemelési irány meghatározásánál megvizsgálásra kerül, hogy aktív-e egy frame<br />

tükrözéssel. Ebben az esetben a leemelési iránynál az érintőirányra vonatkoztatva a jobb és<br />

a bal meg lesz cserélve. A szerszámirány irány-összetevői nem lesznek tükrözve. Ezt a<br />

viselkedést a következő gépadat beállítás aktiválja:<br />

MD21202 $MC_LIFTFAST_WITH_MIRROR = TRUE<br />

Példa<br />

Egy eltörött szerszámot automatikusan egy testvér-szerszámmal kell helyettesíteni. A<br />

megmunkálás az új szerszámmal folytatódik.<br />

Főprogram:<br />

Főprogram<br />

N10 SETINT(1) PRIO=1 W_WECHS LIFTFAST<br />

N20 G0 Z100 G17 T1 ALF=7 D1<br />

N30 G0 X-5 Y-22 Z2 M3 S300<br />

N40 Z-7<br />

N50 G41 G1 X16 Y16 F200<br />

N60 Y35<br />

N70 X53 Y65<br />

N90 X71.5 Y16<br />

N100 X16<br />

N110 G40 G0 Z100 M30<br />

Kommentár<br />

; Ha az 1-es bemenet kapcsol, a<br />

szerszám azonnal gyors leemeléssel<br />

(kód Nr. 7 a G41 szerszámsugárkorrekcióhoz)<br />

eltávolodik a<br />

kontúrtól. Ezután az "W_WECHS"<br />

interrupt-rutin kerül<br />

feldolgozásra.<br />

Munka-előkészítés<br />

116 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

Alprogram:<br />

Alprogram<br />

Kommentár<br />

PROC W_WECHS SAVE ; alprogram az aktuális üzemállapot<br />

tárolásával<br />

N10 G0 Z100 M5 ; szerszámcsere pozíció, orsó-stop<br />

N20 T11 M6 D1 G41 ; szerszámcsere<br />

N30 REPOSL RMB M3 ; rámenet újra a kontúrra és<br />

visszaugrás a főprogramba (egy<br />

mondatban programozva)<br />

1.14.7 Mozgásirány gyors leemelésnél a kontúrról<br />

Visszahúzás mozgás<br />

A visszahúzási mozgások síkját a következő G-kódok határozzák meg:<br />

● LFTXT<br />

A sík, amelyikben a visszahúzás végre lesz hajtva, a pálya-érintőből és a<br />

szerszámirányból lesz meghatározva (alap-beállítás).<br />

● LFWP<br />

A visszahúzási mozgások síkja az aktív munkasík, amit G17, G18 vagy G19 G-kódokkal kell<br />

kiválasztani. A visszahúzó mozgás iránya független a pályaérintőtől. Ezzel<br />

programozható egy tengely-pár<strong>hu</strong>zamos gyors leemelés.<br />

● LFPOS<br />

Visszahúzás a POLFMASK / POLFMLIN által megadott tengelyekkel a POLF által programozott<br />

abszolút tengelypozícióra<br />

ALF-nak nincs hatása a leemelési irányra több tengelynél és több tengelyre lineáris<br />

összefüggésben.<br />

Irodalom:<br />

Programozási kézikönyv, Alapok; fejezet: "Gyors-visszahúzás menetvágáshoz"<br />

Programozható lemeneti irány (ALF=…)<br />

A visszahúzási mozgás síkjában az ALF-fal az irány 45 fok diszkrét lépésekben lesz<br />

programozva.<br />

A lehetséges elmozdulási irányok a vezérlésben speciális kódszámokkal vannak tárolva és<br />

ezekkel a számokkal felhívhatók<br />

Példa:<br />

Programkód<br />

N10 SETINT(2) PRIO=1 ABHEB_Z LIFTFAST<br />

ALF=7<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 117


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

A szerszám bekapcsolt G41-nél (megmunkálási irány a kontúrtól balra) merőlegesen<br />

eltávolodik a kontúrtól<br />

<br />

<br />

Vonatkoztatási síkok az elmozgási irányok leírásához LFTXT-nél<br />

A szerszám érintési pontjánál a programozott kontúrra egy sík lesz felfeszítve, amely<br />

vonatkoztatásként szolgál a leemelő mozgás megadásához a megfelelő kódszámmal.<br />

A vonatkoztatási sík a szerszám hossztengelyre (fogásvételi irány) valamint egy erre és a<br />

szerszámnak a kontúrt érintő pontja érintőjére merőleges vektorra lesz ráillesztve.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

118 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

Elmozgási irányok kódszámai LFTXT-nél<br />

A vonatkoztatási síktól kiindulva láthatók a mellékelt ábrán az elmozdulási irányok<br />

kódszámai.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Az ALF=1-re a visszahúzás szerszámirányban rögzített.<br />

A ALF=0-val a "Gyors leemelés" funkció kikapcsol.<br />

VIGYÁZAT<br />

Bekapcsolt szerszámsugár-korrekciónál:<br />

G41-nél a 2, 3, 4 kódszámokat<br />

G42-nél a 6, 7, 8 kódszámokat<br />

nem szabad alkalmazni mert ezekben az esetekben a szerszám a kontúr felé mozogna és<br />

a munkadarabbal ütközne.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 119


Rugalmas NC programozás<br />

1.14 Interrupt rutinok (ASUP)<br />

Elmozgási irányok kódszámai LFWP-nél<br />

Az LFWP-nél az irány a munkasíkban a következő hozzárendelés szerint adódik:<br />

● G17: X/Y sík<br />

ALF=1: visszahúzás X irányban<br />

ALF=3: visszahúzás Y irányban<br />

● G18: Z/X sík<br />

ALF=1: visszahúzás Z irányban<br />

ALF=3: visszahúzás X irányban<br />

● G19: Y/Z sík<br />

ALF=1: visszahúzás Y irányban<br />

ALF=3: visszahúzás Z irányban<br />

1.14.8 Mozgás-lefutások interrupt-rutinoknál<br />

Interrupt-rutin LIFTFAST nélkül<br />

A tengely-mozgások a pályán a nyugalomig lesznek fékezve Ez után indul az interrupt-rutin.<br />

A nyugalmi pozíció megszakítási pozícióként tárolva lesz és REPOS-nál RMI-vel az interruptrutin<br />

végén fel lesz véve.<br />

Interrupt-rutin LIFTFAST-tal<br />

A tengely-mozgások a pályán le lesznek fékezve. Egyidejűleg a LIFTFAST-mozgás fölérendelt<br />

mozgásként lesz végrehajtva. Ha a pályamozgás és a LIFTFAST-mozgás nyugalomba került,<br />

az interrupt-rutin el lesz indítva.<br />

Megszakítási pozícióként az a pozíció lesz tárolva, amelyiknél a LIFTFAST-mozgás el lett<br />

indítva és ezáltal a pálya el lett hagyva.<br />

Az interrupt-rutin LIFTFAST-tal és ALF=0-val úgy viselkedik mint az interrupt-rutin LIFTFAST<br />

nélkül.<br />

Megjegyzés<br />

A távolság, amivel a geometriatengely a gyors leemelésnél a kontúrtól eltávolodik,<br />

gépadatban beállítható.<br />

Munka-előkészítés<br />

120 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.15 Tengely-csere, orsó-csere (RELEASE, GET, GETD)<br />

1.15 Tengely-csere, orsó-csere (RELEASE, GET, GETD)<br />

Funkció<br />

Egy vagy több tengelyt vagy orsót egyszerre csak egy csatornában lehet interpolálni. Ha egy<br />

tengely felváltva két különböző csatornában kell dolgozzon (pl. palettacserélő), akkor azt<br />

először az aktuális csatornában fel kell szabadítani és azután a másik csatornába átvenni. A<br />

tengely-csere a csatornák között kicserélésre kerül.<br />

Tengely-csere bővítménye<br />

Egy tengelyt/orsót előrefutás-állj-jal és a főfutás és előrefutás közötti szinkronizációval vagy<br />

alternatívaként előrefutás-állj nélkül is lehet cseréni. Ezenkívül a tengelycsere lehetséges a<br />

következőkkel is<br />

● AXCTSWE ill. AXCTWED tengelykonténer forgatás implicit GET/GETD-vel.<br />

● frame forgatással, ha ez a tengely más tengelyekkel csatolva van<br />

● szinkronakciók, lásd mozgásszinkron akciók, "tengelycsere RELEASE, GET".<br />

Gépgyártó<br />

Vegyük ehhez figyelembe a gépgyártó tájékoztatásait. A beállítható gépadatokkal egy<br />

tengely a tengelycseréhez minden csatornában egyértelműen definiálva kell legyen és a<br />

tengelycsere viselkedése gépadatokkal beállítható is.<br />

Szintaxis<br />

RELEASE(tengelynév, tengelynév, ...) vagy RELEASE(S1)<br />

GET(tengelynév, tengelynév, ...) vagy GET(S2)<br />

GETD(tengelynév, tengelynév, ...) vagy GETD(S3)<br />

A GETD (GET Directly) közvetlenül elhoz egy tengelyt egy másik csatornából. Ez azt jelenti,<br />

hogy ehhez a GETD-hez nem kell legyen megfelelő RELEASE programozva egy másik<br />

csatornában. De azt is jelenti, hogy most egy másik csatorna-kommunikációt kell felépíteni<br />

(pl. várakozás-jelzők).<br />

Jelentés<br />

RELEASE (tengelynév, tengelynév, …):<br />

GET (tengelynév, tengelynév, …):<br />

GETD (tengelynév, tengelynév, …):<br />

tengelynév:<br />

RELEASE(S1):<br />

GET(S2):<br />

GETD(S3):<br />

tengely(ek) felszabadítása<br />

tengely(ek) átvétele<br />

tengely(ek) közvetlen átvétele<br />

tengely-hozzárendelés a rendszerben: AX1,<br />

AX2, … vagy a géptengely-nevek megadása<br />

S1, S2, …orsók felszabadítása<br />

S1, S2, …orsók átvétele<br />

S1, S2, …orsók közvetlen átvétele<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 121


Rugalmas NC programozás<br />

1.15 Tengely-csere, orsó-csere (RELEASE, GET, GETD)<br />

GET igény előrefutás állj nélkül<br />

Ha egy előrefutás állj nélküli GET igény után a tengely RELEASE(tengely)-lyel vagy<br />

WAITP(tengely)-lyel ismét engedélyezve lesz, akkor egy következő GET egy GET-et okoz<br />

előrefutás állj-jal.<br />

VIGYÁZAT<br />

Egy GET-tel átvett tengely ill. orsó egy billentyű- vagy program-RESET után is ehhez a<br />

csatornához rendelve marad.<br />

Egy új program Startnál a megcserélt tengelyek ill. orsók hozzárendelése programtechnikailag<br />

kell történjen, ha a tengelyre a saját alapcsatornájában van szükség.<br />

POWER ON-nál a gépadatban megadott csatornához lesz hozzárendelve.<br />

Példák<br />

Példa 1: Tengely-csere két csatorna között<br />

6 tengelyből az 1-es csatornában használva vannak: 1., 2., 3. és 4. tengely<br />

5. és 6. tengelyek a 2-es csatornában a munkadarab-cseréhez vannak felhasználva.<br />

A 2. tengelyt a két csatorna között kell cserélni és POWER ON után az 1-es csatornához kell<br />

legyen hozzárendelve.<br />

Program "MAIN" csatorna 1-ben:<br />

Programkód<br />

Kommentár<br />

INIT (2,"TAUSCH2")<br />

; TAUSCH2 programot a 2-es csatornában kiválasztani<br />

N… START (2)<br />

; programot a 2-es csatornában elindítani<br />

N… GET (AX2)<br />

; AX2 tengelyt átvenni<br />

...<br />

N… RELEASE (AX2)<br />

; AX2 tengelyt felszabadítani<br />

N… WAITM (1,1,2)<br />

; várakozás Wait-jelölőre az 1-es és a 2-es<br />

csatornában a szinkronizációhoz mindkét csatornában<br />

... ; további lefutás tengelycsere után<br />

N… M30<br />

Program "TAUSCH2" csatorna 2-ben:<br />

Programozás<br />

N… RELEASE (AX2)<br />

N160 WAITM(1,1,2)<br />

Kommentár<br />

; várakozás Wait-jelölőre az 1-es és a 2-es<br />

csatornában a szinkronizációhoz mindkét csatornában<br />

; AX2 tengelyt átvenni<br />

N150 GET(AX2)<br />

... ; további lefutás tengelycsere után<br />

N… M30<br />

Munka-előkészítés<br />

122 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.15 Tengely-csere, orsó-csere (RELEASE, GET, GETD)<br />

Példa 2: Tengely-csere szinkronizálás nélkül<br />

Ha a tengelyt nem kell szinkronizálni, a GET nem okoz előrefutás álljt.<br />

Programozás<br />

N01 G0 X0<br />

N02 RELEASE(AX5)<br />

N03 G64 X10<br />

N04 X20<br />

N05 GET(AX5)<br />

N06 G01 F5000<br />

N07 X20<br />

N08 X30<br />

...<br />

Kommentár<br />

; Ha nem szükséges szinkronizáció, ez nem lesz<br />

végrehajtható mondat<br />

; Nem végrehajtható mondat.<br />

; Nem végrehajtható mondat, mert az X pozíció azonos<br />

az N04-gyel.<br />

; Az első végrehajtható mondat az N05 után.<br />

Példa 3: Tengelycsere aktiválása előrefutás állj nélkül<br />

Előfeltétel: A tengelycserét előrefutás állj nélkül egy gépadattal be kell állítani.<br />

Programozás<br />

N010 M4 S100<br />

N011 G4 F2<br />

N020 M5<br />

N021 SPOS=0<br />

N022 POS[B]=1<br />

N023 WAITP(B)<br />

N030 X1 F10<br />

N031 X100 F500<br />

N032 X200<br />

N040 M3 S500<br />

N041 G4 F2<br />

N050 M5<br />

N099 M30<br />

Kommentár<br />

; B tengely semleges tengely lesz<br />

; tengely nem vált ki előrefutás álljt / REORG-ot<br />

Ha a B tengely ill. orsó közvetlenül a az N023 mondat után PLC tengelyként pl. 180 fokra és<br />

vissza 1 fokra lesz mozgatva, akkor ez a tengely ismét semleges tengellyé válik és az N40<br />

mondatban nem vált ki előrefutás álljt.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 123


Rugalmas NC programozás<br />

1.15 Tengely-csere, orsó-csere (RELEASE, GET, GETD)<br />

Előfeltétel<br />

Előfeltételek a tengely-cseréhez<br />

● A tengely gépadatokkal minden csatornában definiált kell legyen, amelyik használni<br />

akarja.<br />

● A tengely-specifikus gépadattal meg kell legyen adva, hogy a tengely POWER ON után<br />

melyik csatornához legyen hozzárendelve.<br />

Leírás<br />

Tengely felszabadítás: RELEASE<br />

A tengely felszabadításnál figyelembe kell venni:<br />

1. A tengely nem vehet részt transzformációban.<br />

2. Tengely-csatolásoknál (érintő-vezérlés) a szövetség minden tengelye fel kell legyen<br />

szabadítva.<br />

3. Konkuráló pozicionáló-tengelyt ebben az állapotban nem lehet cserélni.<br />

4. Gantry mester-tengelynél minden követő-tengely is cserélve lesz.<br />

5. Tengely-csatolásoknál (magával visz, vezetőérték csatolás, elektronikus hajtómű) csak<br />

az egyesülés vezetőtengelyét lehet felszabadítani.<br />

Tengelyt átvenni: GET<br />

Ezzel az utasítással lesz a tulajdonképpeni tengelycsere végrehajtva. A felelősség a<br />

tengelyért teljesen annál a csatornánál van, amelyben az utasítás programozva lett.<br />

GET hatásai:<br />

Tengely-csere szinkronizálással:<br />

Egy tengelyt mindig akkor kell szinkronizálni, ha időközben egy másik csatornához vagy a<br />

PLC-hez volt hozzárendelve, és a GET előtt nem volt szinkronizálás "WAITP"-vel, G74-gyel<br />

vagy maradékút törléssel.<br />

● Előre-futás állj következik be (mint STOPRE-nél).<br />

● A megmunkálás addig megszakad, amíg a csere teljesen végre nincs hajtva.<br />

Automatikus "GET"<br />

Ha egy tengely elvileg a csatornában hozzáférhető, de adott időpontban nem "csatornatengely",<br />

automatikusan egy GET utasítás lesz végrehajtva. Ha a tengely(ek) már<br />

szinkronizált(ak), nem keletkezik előrefutás állj.<br />

Munka-előkészítés<br />

124 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.15 Tengely-csere, orsó-csere (RELEASE, GET, GETD)<br />

Tengelycsere viselkedését változtathatóra beállítani<br />

A tengelyek leadási időpontja egy gépadattal a következők szerint beállítható:<br />

● Az automatikus tengelycsere két csatorna között akkor is megtörténik, ha a tengely egy<br />

WAITP-vel egy semleges állapotba lett hozva (eddigi viselkedés).<br />

● Egy tengelykonténer-forgatás igénynél a tengelykonténernek az összes, a végrehajtandó<br />

csatornához rendelt tengelye implicit GET-tel ill. GETD-vel a csatornába lesz hozva. Ezt<br />

követően tengelycsere csak a tengelykonténer-forgatás lezárása után ismét<br />

megengedett.<br />

● A főfutamban egy beszúrt mondat után meg lesz vizsgálva, hogy szükséges-e egy<br />

reorganizáció. Csak ha ennek a mondatnak a tengelyállapotai az aktuális<br />

tengelyállapotokkal nem egyeznek, szükséges a reorganizáció.<br />

● Egy GET-mondat helyett előrefutás állj-jal és szinkronizációval az előrefutás és a főfutás<br />

között történhet egy tengelycsere előrefutás-állj nélkül is. Ekkor csak egy közbenső<br />

mondat lesz létrehozva a GET igénnyel. A főfutásban ennek a mondatnak a<br />

végrehajtásánál meg lesz vizsgálva, hogy a tengely állapotai a mondatban az aktuális<br />

tengelyállapotokkal megegyeznek-e.<br />

További információk a tengely- vagy orsócseréhez, lásd<br />

/FB2/ Bővítő funkciók működési kézikönyv; BAG-ok, csatornák, tengelycsere (K5).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 125


Rugalmas NC programozás<br />

1.16 Tengelyt egy másik csatornának átadni (AXTOCHAN)<br />

1.16 Tengelyt egy másik csatornának átadni (AXTOCHAN)<br />

Funkció<br />

Az AXTOCHAN utasítással fel lehet szólítani egy tengelyt ennek a tengelynek az átadására egy<br />

másik csatornának. A tengelyt lehet NC munkadarabprogramból és egy szinkronakcióból is<br />

a megfelelő csatornába áthozni.<br />

Szintaxis<br />

AXTOCHAN(tengelynév,csatornaszám[,tengelynév,csatornaszám[,...]])<br />

Jelentés<br />

AXTOCHAN:<br />

tengelynév:<br />

csatornaszám:<br />

tengelyt egy megadott csatornának igényelni<br />

tengely-hozzárendelés a rendszerben: X, Y, … vagy az érintett<br />

géptengely-nevek megadása A végrehajtandó csatorna nem kell a saját<br />

csatorna legyen és nem kell az a csatorna se legyen, amelyik aktuálisan<br />

birtokolja az interpolációs jogokat a tengelyhez<br />

csatorna száma, amelyhez a tengelyt hozzá kell rendelni<br />

Megjegyzés<br />

Konkuráló pozícionáló-tengelyek és kizárólag PLC vezérelte tengely<br />

Egy PLC-tengely konkuráló pozícionáló-tengelyként nem válthat csatornát. Egy kizárólag<br />

PLC vezérelte tengelyt nem lehet az NC-programhoz rendelni.<br />

Irodalom<br />

Bővítő funkciók működési kézikönyv; Pozícionáló tengelyek (P2)<br />

Példa<br />

AXTOCHAN az NC-programban<br />

Az X és Y tengelyek az 1. csatornában és a 2. csatornában ismertek. Aktuálisan a csatorna<br />

1-nek van interpolációs joga és a csatorna 1-ben a következő program lesz elindítva:<br />

Programkód<br />

N110 AXTOCHAN(Y,2)<br />

N111 M0<br />

N120 AXTOCHAN(Y,1)<br />

N121 M0<br />

N130 AXTOCHAN(Y,2,X,2)<br />

Kommentár<br />

; Y tengelyt a 2. csatornába tolni<br />

; Y-tengelyt ismét visszahozni (semleges)<br />

; Y-tengelyt és X-tengelyt a 2. csatornába tolni<br />

(tengely semleges)<br />

Munka-előkészítés<br />

126 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.16 Tengelyt egy másik csatornának átadni (AXTOCHAN)<br />

Programkód<br />

N131 M0<br />

N140 AXTOCHAN(Y,2)<br />

N141 M0<br />

Kommentár<br />

; Y tengelyt a 2. csatornába tolni (NC-program)<br />

További információk<br />

AXTOCHAN az NC-programban<br />

Ennél csak a tengely igénylésénél az NC-program számára a saját csatornában lesz egy GET<br />

végrehajtva és ezzel várakozás lesz a tényleges állapotváltozásra. Ha a tengely egy másik<br />

csatorna számára lesz igényelve vagy a saját csatornában semleges tengellyé kellene<br />

váljon, akkor az igény megfelelően el lesz utasítva.<br />

AXTOCHAN egy szinkronakcióból<br />

Ha egy tengely a saját csatorna számára van igényelve, akkor az AXTOCHAN egy<br />

szinkronakcióból le lesz képezve egy GET -re egy szinkronakcióból.. Ebben az esetben a<br />

tengely az első igénynél a saját tengely számára semleges tengellyé válik. A második<br />

igénynél a tengely az NC-programhoz lesz hozzárendelve úgy, mint a GET igénynél az NCprogramban.<br />

A GET igényhez egy szinkronakcióból lásd a "Mozgásszinkron akciók"<br />

fejetetet.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 127


Rugalmas NC programozás<br />

1.17 Gépadatokat hatásossá tenni (NEWCONF)<br />

1.17 Gépadatokat hatásossá tenni (NEWCONF)<br />

Funkció<br />

A NEWCONF utasítással minden "NEW_CONFIG" hatásossági fokozatú gépadat hatásossá<br />

válik. A funkció lehet aktiválni a HMI kezelőfelületen az "MD-t hatásossá tenni" softkey<br />

működtetésével.<br />

A "NEWCONF" funkció végrehajtásánál egy implicit előrefutás állj történik, azaz a<br />

pályamozgás megszakad.<br />

Szintaxis<br />

NEWCONF<br />

Jelentés<br />

NEWCONF:<br />

utasítás az összes "NEW_CONFIG" hatásossági fokozatú gépadat hatásossá<br />

tételére<br />

NEWCONF csatornákat átfogó végrehajtása a munkadarabprogramból<br />

Ha tengely gépadatok a munkadarabprogramból változtatva, majd után NEWCONF-fal aktiválva<br />

lesznek, akkor a NEWCONF csak azokat a gépadatokat aktiválja, amelyek a<br />

munkadarabprogram csatornájában változásokat okoznak.<br />

Megjegyzés<br />

Az összes változás hatásossá tétele céljából a NEWCONF utasítást minden csatornában végre<br />

kell hajtani, amelyekben a gépadatok által megváltoztatott tengelyek vagy funkciók<br />

aktuálisan számításra kerülnek.<br />

A NEWCONF -nál a tengey gépadatok nem lesznek hatásossá téve.<br />

A PLC vezérlésű tengelyekre egy tengely RESET-et kell végrehajtani.<br />

Példa<br />

Maró-megmunkálás: furat-pozíciókat különböző technológiákkal megmunkálni<br />

Programkód<br />

N10 $MA_CONTOUR_TOL[AX]=1.0<br />

N20 NEWCONF<br />

...<br />

Kommentár<br />

; gépadatot változtatni<br />

; gépadatokat hatásossá tenni<br />

Munka-előkészítés<br />

128 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.18 Fájl írás (WRITE)<br />

1.18 Fájl írás (WRITE)<br />

Funkció<br />

A WRITE utasítással mondatokat/adatokat lehet a munkadarabprogramból egy megadott fájl<br />

(jegyzőkönyv fájl) ill. az éppen feldolgozás alatt levő munkadarabprogram végéhez toldani. A<br />

mondatok a fájl végére kerülnek, tehát az M30 utánra.<br />

Megjegyzés<br />

Egy WRITE utasítással létrehozandó fájl újként létre lesz hozva, ha az NC-ben nem létezik.<br />

Tárolási hely a statikus NC-tároló. A SINUMERIK 840D sl-nél ez a CompactFlash Card. A<br />

SINUMERIK 840D-hez képest ezáltal a WRITE utasítás futási ideje kb. 75 ms-mal<br />

megnövekszik.<br />

Ha már van egy azonos nevű fájl a merevlemezen, ez a fájl bezárása után át lesz írva (az<br />

NC-ben). Segítség: A "Szolgálatok" kezelői tartományban a "Tulajdonságok" softkey-vel a<br />

nevet az NC- ben megváltoztatni.<br />

Előfeltétel<br />

Az aktuálisan beállított védelmi fokozat nagyobb vagy egyenlő kell legyen a fájl WRITE<br />

jogával. Ha ez nem így van, a hozzáférés hibajelzéssel (hibaváltozó visszaadási értéke =13)<br />

el lesz utasítva.<br />

Szintaxis<br />

DEF INT <br />

WRITE(,"","")<br />

Jelentés<br />

WRITE:<br />

utasítás egy mondat ill. adatok hozzáadására a megadott fájl végéhez<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 129


Rugalmas NC programozás<br />

1.18 Fájl írás (WRITE)<br />

:<br />

:<br />

változó a hibaérték visszaadására<br />

típus<br />

érték:<br />

INT<br />

0 nincs hiba<br />

1 ág nem megengedett<br />

2 ágat nem találta<br />

3 fájlt nem találta<br />

4 helytelen fájl-típus<br />

10 fájl tele<br />

11 fájl használatban<br />

12 nincs szabad erőforrás<br />

13 nincs hozzáférési jog<br />

20 egyéb hiba<br />

A fájl neve, amelybe a megadott mondatot ill. adatokat be kell illeszteni.<br />

típus: STRING<br />

A fájlnév megadásánál a következő pontokat kell figyelembe venni:<br />

A megadott fájlnév nem tartalmazhat üres- vagy vezérlő-jeleket<br />

(karakter decimális ASCII-kódja


Rugalmas NC programozás<br />

1.18 Fájl írás (WRITE)<br />

:<br />

Mondat ill. adatok,amelyeket a megadott fájlba be kell illeszteni.<br />

típus: STRING<br />

Utalás:<br />

Belül még hozzá lesz toldva egy LF, azaz a szöveg 1 karakterrel<br />

hosszabb lesz.<br />

Peremfeltételek<br />

● Maximális fájlméret (→ gépgyártó!)<br />

A jegyzőkönyv-fájlok maximális hosszát gépadattal lehet megadni.<br />

MD11420 $MN_LEN_PROTOCOL_FILE<br />

Ez a hossz minden fájlra érvényes, amelyek a WRITE utasítással lesznek létrehozva. A<br />

túllépésénél hibajelzés kerül kiadásra és a mondat ill. az adatok nem lesz tárolva. Ha a<br />

tároló elegendő, egy új fájlt lehet létrehozni.<br />

Példák<br />

Példa 1: WRITE utasítás abszolút ág-megadás nélkül<br />

Programkód<br />

N10 DEF INT ERROR<br />

N20 WRITE(ERROR,"TEST1","PROTOKOLL VOM 7.2.97")<br />

N30 IF ERROR<br />

N40 MSG ("Fehler bei WRITE-Befehl:"


Rugalmas NC programozás<br />

1.19 Fájl törlés (DELETE)<br />

1.19 Fájl törlés (DELETE)<br />

Funkció<br />

A DELETE utasítással minden fájlt lehet törölni, mindegy, hogy WRITE utasítással lett létrehozva<br />

vagy nem. Azokat a fájlokat is lehet DELETE-tel törölni, amelyek magasabb hozzáférési<br />

fokozattal lettek létrehozva.<br />

Szintaxis<br />

DEF INT <br />

DELETE(,"")<br />

Jelentés<br />

DELETE:<br />

:<br />

:<br />

utasítás a megadott fájl törlésére<br />

változó a hibaérték visszaadására<br />

típus<br />

érték:<br />

INT<br />

0 nincs hiba<br />

1 ág nem megengedett<br />

2 ágat nem találta<br />

3 fájlt nem találta<br />

4 helytelen fájl-típus<br />

11 fájl használatban<br />

12 nincs szabad erőforrás<br />

20 egyéb hiba<br />

törlendő fájl neve<br />

típus: STRING<br />

Munka-előkészítés<br />

132 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.19 Fájl törlés (DELETE)<br />

A fájlnév megadásánál a következő pontokat kell figyelembe venni:<br />

A megadott fájlnév nem tartalmazhat üres- vagy vezérlő-jeleket<br />

(karakter decimális ASCII-kódja


Rugalmas NC programozás<br />

1.20 Sorok olvasása fájlban (READ)<br />

1.20 Sorok olvasása fájlban (READ)<br />

Funkció<br />

A READ utasítás a megadott fájlban olvas egy vagy több sort és az olvasott információt egy<br />

STRING típusú mezőben teszi le. Minden olvasott sort egy mezőelemet foglal el ebben a<br />

mezőben.<br />

Megjegyzés<br />

A fájl az NCK (passzív fájlrendszer) statikus felhasználói tárolójában kell legyen.<br />

Előfeltétel<br />

Az aktuálisan beállított védelmi fokozat nagyobb vagy egyenlő kell legyen a fájl READ<br />

jogával. Ha ez nem így van, a hozzáférés hibajelzéssel (hibaváltozó visszaadási értéke =13)<br />

el lesz utasítva.<br />

Szintaxis<br />

DEF INT <br />

DEF STRING [] [,]<br />

READ(,"",,,)<br />

Jelentés<br />

READ:<br />

utasítás a megadott fájlban sorokat olvasni és ezeket a sorokat<br />

elhelyezni egy változó-mezőben<br />

Munka-előkészítés<br />

134 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.20 Sorok olvasása fájlban (READ)<br />

:<br />

:<br />

változó a hibaérték visszaadására (Call-By-Reference paraméter)<br />

típus<br />

érték:<br />

INT<br />

0 nincs hiba<br />

1 ág nem megengedett<br />

2 ágat nem találta<br />

3 fájlt nem találta<br />

4 helytelen fájl-típus<br />

13 hozzáférési jog nem elegendő<br />

21 sor nem létezik ( vagy <br />

paraméter nagyobb a sorok számánál a megadott<br />

fájlban<br />

22 eredmény-változó () mezőhossza túl<br />

kicsi<br />

23 sor-tartomány túl nagy ( paraméter<br />

olyan nagyra lett választava, hogy a fájl végén túl<br />

kellene olvasni)<br />

olvasandó fájl neve (Call-By-Value paraméter)<br />

típus: STRING<br />

A fájlnév megadásánál a következő pontokat kell figyelembe venni:<br />

A megadott fájlnév nem tartalmazhat üres- vagy vezérlő-jeleket<br />

(karakter decimális ASCII-kódja


Rugalmas NC programozás<br />

1.20 Sorok olvasása fájlban (READ)<br />

:<br />

:<br />

:<br />

olvasandó fájl kezdősora (Call-By-Value paraméter)<br />

típus:<br />

érték:<br />

INT<br />

0 A paraméterrel megadott számú<br />

sor lesz olvasva a fájl vége előttről.<br />

1 … n az első olvasandó sor száma<br />

olvasandó sorok száma (Call-By-Value paraméter)<br />

típus: INT<br />

eredmény változó (Call-By-Reference paraméter)<br />

változó-mező, amelybe az olvasott szöveg lesz letéve<br />

típus: STRING (max. hossz: 255)<br />

Ha a paraméterben kevesebb sor van megadva, mint<br />

az eredmény-változó [,] mezőhossza, akkor a maradék<br />

mezőelemek nem változnak.<br />

A sor lezárása a "LF" (Line Feed) vagy "CR LF" (Carrige Return Line<br />

Feed) vezérlőjelekkel nem lesz az eredmény-változóba letéve.<br />

A beolvasott sorok levágásra kerülnek, ha a sor hosszabb a definiált<br />

string-hossznál. Hibajelzés nincs.<br />

Megjegyzés<br />

Bináris fájlokat nem lehet beolvasni. A helytelen fájltípus hiba (hiba-változó visszaadási<br />

értéke = 4) kerül kiadásra. A következő fájltípusok nem olvashatók: _BIN, _EXE, _OBJ, _LIB,<br />

_BOT, _TRC, _ACC, _CYC, _NCK.<br />

Példa<br />

Programkód<br />

N10 DEF INT ERROR<br />

N20 DEF STRING[255] RESULT[5]<br />

N30 READ(ERROR,"/_N_CST_DIR/_N_TESTFILE_MPF",1,5,RESULT)<br />

N40 IF ERROR 0<br />

N50 MSG("FEHLER"


Rugalmas NC programozás<br />

1.21 Egy fájl létezését megvizsgálni (ISFILE)<br />

1.21 Egy fájl létezését megvizsgálni (ISFILE)<br />

Funkció<br />

Az ISFILE utasítással megvizsgálhatjuk, hogy egy fájl az NCK felhasználói tárolójában<br />

(passzív fájlrendszer) létezik-e.<br />

Szintaxis<br />

=ISFILE("")<br />

Jelentés<br />

ISFILE:<br />

:<br />

utasítás annak megvizsgálására, hogy a megadott fájl a passzív<br />

fájlrendszerben létezik-e<br />

a fájl neve, amelynek a létezését a passzív fájlrendszerben meg kell<br />

vizsgálni<br />

típus: STRING<br />

A fájlnév megadásánál a következő pontokat kell figyelembe venni:<br />

A megadott fájlnév nem tartalmazhat üres- vagy vezérlő-jeleket<br />

(karakter decimális ASCII-kódja


Rugalmas NC programozás<br />

1.21 Egy fájl létezését megvizsgálni (ISFILE)<br />

:<br />

eredmény-változó a vizsgálat eredményének felvételére<br />

típus<br />

érték:<br />

BOOL<br />

TRUE fájl létezik<br />

FALSE fájl nem létezik<br />

Példa<br />

Programkód<br />

N10 DEF BOOL RESULT<br />

N20 RESULT=ISFILE("TESTFILE")<br />

N30 IF(RESULT==FALSE)<br />

N40 MSG("DATEI NICHT VORHANDEN")<br />

N50 M0<br />

N60 ENDIF<br />

...<br />

vagy:<br />

Kommentár<br />

; eredmény-változók definiálása<br />

Programkód<br />

N10 DEF BOOL RESULT<br />

N20 RESULT=ISFILE("TESTFILE")<br />

N30 IF(NOT ISFILE("TESTFILE"))<br />

N40 MSG("DATEI NICHT VORHANDEN")<br />

N50 M0<br />

N60 ENDIF<br />

...<br />

Kommentár<br />

; eredmény-változók definiálása<br />

Munka-előkészítés<br />

138 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.22 Fájl információkat kiolvasni (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)<br />

1.22 Fájl információkat kiolvasni (FILEDATE, FILETIME, FILESIZE,<br />

FILESTAT, FILEINFO)<br />

Funkció<br />

A FILEDATE, FILETIME, FILESIZE, FILESTAT és FILEINFO utasításokkal kiolvashatók bizonyos<br />

információk mint az utolsó író hozzáférés dátuma / ideje, aktuális fájlméret, fájl állapot vagy<br />

ezen információk összege<br />

Megjegyzés<br />

A fájl az NCK (passzív fájlrendszer) statikus felhasználói tárolójában kell legyen.<br />

Előfeltétel<br />

Az aktuálisan beállított védelmi fokozat nagyobb vagy egyenlő kell legyen a fölérendelt<br />

könyvtárak megtekintési jogával. Ha ez nem így van, a hozzáférés hibajelzéssel (hibaváltozó<br />

visszaadási értéke =13) el lesz utasítva.<br />

Szintaxis<br />

DEF INT <br />

DEF STRING [] <br />

FILE....(,"",)<br />

Jelentés<br />

FILEDATE:<br />

FILETIME:<br />

FILESIZE:<br />

FILESTAT:<br />

FILEINFO:<br />

A FILEDATE utasítás szállítja a megadott fájlhoz az utolsó írás<br />

hozzáférés dátumát.<br />

A FILEDATE utasítás szállítja a megadott fájlhoz az utolsó írás<br />

hozzáférés időpontját.<br />

A FILESIZE utasítás szállítja a megadott fájl aktuális méretét.<br />

A FILESTAT utasítás szállítja a megadott fájlhoz a olvasás, írás és<br />

végrehajtás jogok állapotát.<br />

A FILEINFO utasítás szállítja a megadott fájlhoz a fájl-információk<br />

összegét, amelyek a FILEDATE, FILETIME, FILESIZE és FILESTAT által<br />

kiolvashatók.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 139


Rugalmas NC programozás<br />

1.22 Fájl információkat kiolvasni (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)<br />

:<br />

:<br />

változó a hibaérték visszaadására (Call-By-Reference paraméter)<br />

típus<br />

érték:<br />

INT<br />

0 nincs hiba<br />

1 ág nem megengedett<br />

2 ágat nem találta<br />

3 fájlt nem találta<br />

4 helytelen fájl-típus<br />

13 hozzáférési jog nem elegendő<br />

22 eredmény-változó () string-hossza túl kicsi<br />

fájl neve, amelyről a fájl-információ(ka)t ki kell olvasni<br />

típus: STRING<br />

A fájlnév megadásánál a következő pontokat kell figyelembe venni:<br />

A megadott fájlnév nem tartalmazhat üres- vagy vezérlő-jeleket<br />

(karakter decimális ASCII-kódja


Rugalmas NC programozás<br />

1.22 Fájl információkat kiolvasni (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)<br />

:<br />

eredmény változó (Call-By-Reference paraméter)<br />

változó, amelybe az igényelt fájl-információ el lesz letéve<br />

FILEDATE<br />

típus: STRING követke<br />

zőnél: formátum: "dd.mm.yy"<br />

⇒ string-hossz 8 kell legyen.<br />

FILETIME<br />

formátum: "hh:mm.ss"<br />

⇒ string-hossz 8 kell legyen.<br />

FILESTAT<br />

formátum: "rwxsd"<br />

(r: read, w: write, x: execute, s: show,<br />

d: delete)<br />

⇒ string-hossz 5 kell legyen.<br />

FILEINFO<br />

formátum: "rwxsd nnnnnnnn<br />

dd.mm.yy hh:mm:ss"<br />

⇒ string-hossz 32 kell legyen.<br />

INT<br />

követke<br />

zőnél:<br />

FILESIZE<br />

A fájl mérete bájtban lesz kiadva.<br />

Példa<br />

Programkód<br />

N10 DEF INT ERROR<br />

N20 STRING[32] RESULT<br />

N30 FILEINFO(ERROR,"/_N_MPF_DIR/_N_TESTFILE_MPF",RESULT)<br />

N40 IF ERROR 0<br />

N50 MSG("FEHLER"


Rugalmas NC programozás<br />

1.23 Ellenőrző-összeg képzése egy mezőhöz (CHECKSUM)<br />

1.23 Ellenőrző-összeg képzése egy mezőhöz (CHECKSUM)<br />

Funkció<br />

A CHECKSUM utasítással ellenőrző-összeget képezünk egy mezőhöz. Ezen ellenőrző-összeg<br />

összehasonlításával az egyik korábbi ellenőrző-összeg számítás eredményével meg lehet<br />

állapítani, hogy a mező adatai megváltoztak-e.<br />

Alkalmazás<br />

Leforgácsolásnál a bemeneti kontúr változásának vizsgálata.<br />

Szintaxis<br />

DEF INT <br />

DEF STRING [] <br />

DEF ... [,,]<br />

=CHECKSUM(,""[,,])<br />

Jelentés<br />

CHECKSUM:<br />

:<br />

:<br />

utasítás ellenőrző-összeg képzésére egy mezőhöz<br />

változó a hibaérték visszaadására<br />

típus<br />

érték:<br />

INT<br />

0 nincs hiba<br />

1 szimbólumot nem találta<br />

2 nincs mező<br />

3 index 1 túl nagy<br />

4 index 2 túl nagy<br />

5 érvénytelen adat-típus<br />

10 ellenőrző-összeg túlfutás<br />

eredmény-változó az ellenőrző-összeg számítás eredményének<br />

visszaadására (Call-By-Reference paraméter)<br />

típus: STRING<br />

szükséges string-hossz 16<br />

Az ellenőrző-összeg 16 hexadecimális<br />

karakter láncaként van ábrázolva.<br />

Nincs megadva azonban formátumjel.<br />

Példa: "A6FC3404E534047C"<br />

Munka-előkészítés<br />

142 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.23 Ellenőrző-összeg képzése egy mezőhöz (CHECKSUM)<br />

:<br />

:<br />

:<br />

mező neve amelyről az ellenőrző-összeget képezni kell (Call-By-<br />

Value paraméter)<br />

típus: STRING<br />

max. string-hossz: 32<br />

Megengedett mezők: 1 ... 3 dimenziós mezők a következő<br />

típusokból:<br />

BOOL, CHAR, INT, REAL, STRING<br />

Utalás:<br />

Gépadat mezők nem megengedettek.<br />

mező kezdő-oszlopának száma az ellenőrző-összeg számításnál<br />

(opcionális paraméter)<br />

mező vég-oszlopának száma az ellenőrző-összeg számításnál<br />

(opcionális paraméter)<br />

Megjegyzés<br />

A és paraméterek opcionálisak. Ha nincsenek oszlopparaméterek<br />

megadva, az ellenőrző-összeg a teljes mezőre lesz képezve.<br />

Az ellenőrző-összeg eredménye mindig egyértelmű. Egy mezőelem változásánál az<br />

eredmény is más.<br />

Példa<br />

Programkód<br />

Kommentár<br />

N10 DEF INT ERROR<br />

; mező-változók definiálása<br />

N20 DEF STRING[16] MY_CHECKSUM<br />

; eredmény-változók definiálása<br />

N30 DEF INT MY_VAR[4,4]<br />

; mező definíció<br />

N40 MY_VAR=...<br />

N50 ERROR=CHECKSUM(MY_CHECKSUM,"MY_VAR",0,2)<br />

...<br />

A példa a MY_CHECKSUM eredmény-változóban pl. a következő eredményt adhatja:<br />

"A6FC3404E534047C"<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 143


Rugalmas NC programozás<br />

1.24 Felkerekítés (ROUNDUP)<br />

1.24 Felkerekítés (ROUNDUP)<br />

Funkció<br />

A "ROUNDUP" funkcióval a REAL típusú (törtszámok tizedesponttal) beadási értékek a<br />

következő nagyobb egészszámra lehet felkerekíteni.<br />

Szintaxis<br />

ROUNDUP()<br />

Jelentés<br />

ROUNDUP:<br />

:<br />

utasítás egy beadási érték felkerekítésére<br />

REAL típusú beadási érték<br />

Megjegyzés<br />

Az INTEGER típusú beadási értékek (egészszám) változatlanul lesznek visszaadva.<br />

Példák<br />

Példa 1: Különböző beadási értékek és azok kerekítési eredményei<br />

Példa<br />

ROUNDUP(3.1)<br />

ROUNDUP(3.6)<br />

ROUNDUP(-3.1)<br />

ROUNDUP(-3.6)<br />

ROUNDUP(3.0)<br />

ROUNDUP(3)<br />

Kerekítési eredmény<br />

4.0<br />

4.0<br />

-3.0<br />

-3.0<br />

3.0<br />

3.0<br />

Példa 2: ROUNDUP az NC programban<br />

Programkód<br />

N10 X=ROUNDUP(3.5) Y=ROUNDUP(R2+2)<br />

N15 R2=ROUNDUP($AA_IM[Y])<br />

N20 WHEN X=100 DO Y=ROUNDUP($AA_IM[X])<br />

...<br />

Munka-előkészítés<br />

144 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25 Alprogram-technika<br />

1.25.1 Általános<br />

1.25.1.1 Alprogram<br />

Funkció<br />

Az "alprogram" megnevezés még abból az időből származik, amikor a<br />

munkadarabprogramok fel voltak osztva fő- és alprogramokra. A főprogramok voltak a<br />

munkadarabprogramok, amelyeket a vezérlésen kiválasztottak végrehajtásra és utána<br />

elindították. Az alprogramok voltak a munkadarabprogramok, amelyeket a főprogram hívott<br />

fel.<br />

Ez a fix felosztás a mai SINUMERIK NC-nyelvben már nincs meg. Minden<br />

munkadarabprogramot lehet elvileg főprogramként kiválasztani és indítani vagy<br />

alprogramként egy másik munkadarabprogramból felhívni.<br />

A továbbiakban egy munkadarabprogramot akkor nevezünk alprogramnak, ha egy másik<br />

munkadarabprogramból lesz felhívva.<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 145


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Alkalmazás<br />

Mint az összes magas szintű nyelvben az NC-nyelvben is az alprogramok a többször<br />

használt programrészeknek egy önálló, önmagában zárt programba való kitárolására<br />

lesznek használva.<br />

Az alprogramok a következő előnyöket nyújtják:<br />

● Növelik a programok áttekinthetőségét és olvashatóságát.<br />

● Emelik a minőséget a tesztelt programrészek újra alkalmazásával.<br />

● Lehetővé teszik speciális megmunkálási könyvtárak létrehozását.<br />

● Tárolóhelyet takarítanak meg<br />

1.25.1.2 Alprogramnevek<br />

Elnevezési szabályok<br />

Az alprogramok neve megadásánál a következő szabályokat kell figyelembe venni:<br />

● Az első két karakternek betűnek(A - Z, a - z) kell lennie.<br />

● A következő karakterek lehetnek betűk, számjegyek (0 - 9) és alsó vonal ("_") tetszőleges<br />

kombinációi.<br />

● Maximum 31 karaktert szabad használni<br />

Megjegyzés<br />

A SINUMERIK NC-nyelvben nincs különbség téve a nagy- és a kisbetűs írásmód között.<br />

Programnév bővítések<br />

A program létrehozásánál megadott programneveket a vezérlés kibővíti elő- és utótagokkal.<br />

● előtag: _N_<br />

● utótag:<br />

– főprogramok: _MPF<br />

– alprogramok: _SPF<br />

Munka-előkészítés<br />

146 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Programnevek használata<br />

A programnevek használatánál, pl. egy alprogram-hívásnál az előtag, programnév és utótag<br />

minden kombinációja lehetséges.<br />

Példa:<br />

A "SUB_PROG" programnevű alprogramot a következő hívásokkal lehet elindítani:<br />

1. SUB_PROG<br />

2. _N_SUB_PROG<br />

3. SUB_PROG_SPF<br />

4. _N_SUB_PROG_SPF<br />

Megjegyzés<br />

Fő- és alprogramok név-azonossága<br />

Ha főprogramok (.MPF) és alprogramok (.SPF) azonos névvel léteznek, a programnevek<br />

használatánál a munkadarabprogramokban meg kell adni az előtagot a program egyértelmű<br />

azonosítására.<br />

1.25.1.3 Alprogramok egymásba skatulyázása<br />

Egy főprogram fel tud hívni alprogramokat, amelyek ismét alprogramokat tudnak hívni. A<br />

programok lefutása így egymásba skatulyázható. Minden program egy saját programszinten<br />

fut.<br />

Skatulyázási mélység<br />

Az NC-nyelv aktuálisan 16 programszintet bocsájt rendelkezésre. A főprogram mindig a<br />

legfelső 0 programszinten fut. Egy alprogram mindig a felhívást követő alacsonyabb<br />

programszinten fut. A programszint 1 ezzel az első alprogramszint.<br />

Programszintek felosztása:<br />

● programszint 0: főprogramszintek<br />

● programszint 1 - 15: alprogramszint 1 - 15<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

...<br />

...<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 147


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Interrupt-rutinok (ASUP)<br />

Ha egy interrupt-rutin keretében egy alprogram lesz felhívva, akkor az nem a csatorna aktív<br />

programszintjén, hanem a következő alacsonyabb programszinten (n+1) lesz feldolgozva.<br />

Hogy ez még a legalsó programszinten is lehetséges legyen, az interrupt-rutinokkal<br />

összefüggésben 2 további programszint (16 és 17) áll rendelkezésre.<br />

Ha kettőnél több programszintre van szükség, akkor azt külön figyelembe kell venni a<br />

csatornában végrehajtásra kerülő munkadarabprogram strukturálásában. Vagyis maximum<br />

annyi programszintet szabad igénybe venni, hogy az interrupt feldolgozáshoz még elegendő<br />

programszint álljon rendelkezésre.<br />

Ha például az interrupt feldolgozás 4 programszintet igényel, akkor a munkadarabprogramot<br />

úgy kell strukturálni, hogy maximum 13 programszintet foglaljon el. Ha ekkor egy interrupt<br />

lép fel, rendelkezésére áll a szükséges 4 programszint (14 ... 17).<br />

Siemens ciklusok<br />

A Siemens ciklusok 3 szintet igényelnek Egy Siemens ciklus felhívása ezért legkésőbb meg<br />

kell történjen:<br />

● munkadarabprogram feldolgozás programszint 12<br />

● interrupt-rutinok: programszint 14<br />

1.25.1.4 Keresési ág<br />

Egy alprogram felhívásánál ág-megadás nélkül a vezérlés a következő könyvtárakban keres<br />

a megadott sorrendben:<br />

sorrend Könyvtár Leírás<br />

1. aktuális könyvtár felhívandó program könyvtára<br />

2. /_N_SPF_DIR / globális alprogram-könyvtár<br />

3. /_N_CUS_DIR / Felhasználói ciklusok<br />

4. /_N_CMA_DIR / Gyártói ciklusok<br />

5. /_N_CST_DIR / Szabvány ciklusok<br />

Munka-előkészítés<br />

148 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.1.5 Formális és aktuális paraméterek<br />

A formális és az aktuális paraméterekről az alprogramoknak paraméter-átadásos<br />

felhívásával és ennek definíciójával kapcsolatban beszélünk.<br />

Formális paraméter<br />

Egy alprogram definíciójánál az alprogramnak átadandó paraméterek, az úgynevezett<br />

formális paraméterek típussal és paraméternévvel definiáltak kell legyenek.<br />

A formális paraméterek ezzel az alprogram interfészét definiálják.<br />

Példa:<br />

Programkód<br />

PROC KONTUR (REAL X, REAL Y)<br />

N20 X1=X Y1=Y<br />

...<br />

N100 RET<br />

Kommentár<br />

; formális paraméter: X és Y egyaránt REAL<br />

típusú<br />

; X1 tengely X pozícióra mozog és az Y1 tengely<br />

az Y pozícióra<br />

Aktuális paraméter<br />

Az alprogram felhívásánál az alprogramnak abszolút értékeket vagy változókat, az<br />

úgynevezett aktuális paramétereket kell átadni.<br />

Az aktuális paraméterek ezzel a felhívásnál az alprogram interfészét aktuális értékekkel töltik<br />

fel.<br />

Példa:<br />

Programkód<br />

N10 DEF REAL BREITE<br />

N20 BREITE=20.0<br />

N30 KONTUR(5.5, BREITE)<br />

...<br />

N100 M30<br />

Kommentár<br />

; változó definíció<br />

; változó hozzárendelés<br />

; alprogram felhívása aktuális paraméterekkel<br />

5.5 és BREITE<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 149


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.1.6 Paraméter-átadás<br />

Egy alprogram definíciója paraméter-átadással<br />

Egy paraméter-átadásos alprogram definíciója a PROC kulcsszóval és az alprogram által<br />

elvárt paraméterek teljes felsorolásával történik.<br />

Nem teljes paraméter-átadás<br />

Az alprogram hívásánál nem kell mindig az alprogram-interfésznél definiált összes<br />

paramétert közvetlenül átadni. Ha egy paraméter elmarad, erre a paraméterre a "0" érték<br />

lesz átadva.<br />

A paraméterek sorrendjének egyértelmű jelöléséhez azonban a vesszőt, mint a paraméterek<br />

elválasztójelét mindig meg kell adni. Kivételt képez az utolsó paraméter. Ha ez elmarad a<br />

felhívásnál, az utolsó vessző is elmaradhat.<br />

Példa:<br />

Alprogram:<br />

Programkód<br />

PROC SUB_PROG (REAL X, REAL Y, REAL Z)<br />

...<br />

N100 RET<br />

Kommentár<br />

; formális paraméter: X, Y és Z<br />

Főprogram:<br />

Programkód<br />

Kommentár<br />

PROC MAIN_PROG<br />

...<br />

N30 SUB_PROG(1.0,2.0,3.0) ; alprogram felhívása teljes paraméter-átadással:<br />

X=1.0, Y=2.0, Z=3.0<br />

…<br />

N100 M30<br />

Példák az alprogram felhívására az N30-ban nem teljes paraméter-átadással:<br />

N30 SUB_PROG( ,2.0,3.0)<br />

N30 SUB_PROG(1.0, ,3.0)<br />

N30 SUB_PROG(1.0,2.0)<br />

N30 SUB_PROG( , ,3.0)<br />

N30 SUB_PROG( , , )<br />

; X=0.0, Y=2.0, Z=3.0<br />

; X=1.0, Y=0.0, Z=3.0<br />

; X=1.0, Y=2.0, Z=0.0<br />

; X=0.0, Y=0.0, Z=3.0<br />

; X=0.0, Y=0.0, Z=0.0<br />

Munka-előkészítés<br />

150 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

VIGYÁZAT<br />

Paraméter-átadás Call-By-Reference<br />

A paramétereket, amely Call-by-Reference által kerülnek átadásra, az alprogram<br />

felhívásánál nem szabad elhagyni.<br />

VIGYÁZAT<br />

AXIS adattípus<br />

Az AXIS adattípusú paramétereket az alprogram felhívásánál nem szabad elhagyni.<br />

Átadási paraméterek megvizsgálása<br />

A $P_SUBPAR [ n ] rendszerváltozóval az n = 1, 2, ... értékkel meg lehet vizsgálni az<br />

alprogramban,hogy egy paraméter közvetlenül át lett-e adva vagy el lett hagyva. Az n index<br />

a formális paraméterek sorrendjére vonatkozik. Az index n = 1 az 1. formális paraméterre<br />

vonatkozik, az n =2 a 2. formális paraméterre stb<br />

A következő programrészlet például az 1. formális paraméterre mutatja be, hogyan lehet egy<br />

vizsgálatot elvégezni:<br />

Programozás<br />

Kommentár<br />

PROC SUB_PROG (REAL X, REAL Y, REAL Z) ; formális paraméter: X, Y és Z<br />

N20 IF $P_SUBPAR[1]==TRUE<br />

; 1. formális paraméter X vizsgálat<br />

... ; Ezek az akciók akkor lesznek<br />

végrehajtva, ha az X formális<br />

paraméter közvetlenül lett átadva.<br />

N40 ELSE<br />

... ; Ezek az akciók akkor lesznek<br />

végrehajtva, ha az X formális<br />

paraméter nem lett átadva.<br />

N60 ENDIF<br />

... ; Általános akciók<br />

N100 RET<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 151


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.2 Egy alprogram definíciója<br />

1.25.2.1 Alprogram paraméter-átadás nélkül<br />

Funkció<br />

Egy paraméter-átadás nélküli alprogram definíciójánál a definíciós sor a program elején<br />

elmaradhat.<br />

Szintaxis<br />

[PROC ]<br />

...<br />

Jelentés<br />

PROC:<br />

:<br />

definíciós utasítás egy program elején<br />

egy program neve<br />

Példa<br />

Példa 1: Alprogram PROC utasítással<br />

Programkód<br />

PROC SUB_PROG<br />

N10 G01 G90 G64 F1000<br />

N20 X10 Y20<br />

...<br />

N100 RET<br />

Kommentár<br />

; definíciós sor<br />

; alprogram-visszaugrás<br />

Példa 2: Alprogram PROC utasítás nélkül<br />

Programkód<br />

N10 G01 G90 G64 F1000<br />

N20 X10 Y20<br />

...<br />

N100 RET<br />

Kommentár<br />

; alprogram-visszaugrás<br />

Munka-előkészítés<br />

152 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.2.2 Alprogram Call-by-Value paraméter-átadással (PROC)<br />

Funkció<br />

Egy Call-by-Value paraméter-átadásos alprogram definíciója a PROC kulcsszóval, utána a<br />

programnévvel és az alprogram által elvárt paraméterek teljes felsorolásával típussal és<br />

névvel történik. A definíciós utasítás az első programsorban kell álljon.<br />

A Call-by-Value paraméter-átadásnak nincs visszahatása a felhívó programra. A felhívó<br />

program az alprogramnak csak az aktuális paraméterek értékeit adja át.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Megjegyzés<br />

Maximum 127 paramétert lehet átadni.<br />

Szintaxis<br />

PROC ( , ...)<br />

Jelentés<br />

PROC:<br />

:<br />

:<br />

:<br />

definíciós utasítás egy program elején<br />

egy program neve<br />

paraméter adattípusa (pl. REAL, INT, BOOL)<br />

paraméter neve<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 153


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

FIGYELEM<br />

A PROC kulcsszó után megadott programnév meg kell egyezzen a kezelőfelületen megadott<br />

programnévvel.<br />

Példa<br />

Egy alprogram definíciója 2 REAL típusú paraméterrel:<br />

Programkód<br />

PROC SUB_PROG (REAL LAENGE, REAL BREITE)<br />

...<br />

N100 RET<br />

Kommentár<br />

; paraméter 1: típus: REAL, név:<br />

LAENGE<br />

paraméter 2: típus: REAL, név:<br />

BREITE<br />

; alprogram-visszaugrás<br />

Munka-előkészítés<br />

154 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.2.3 Alprogram Call-by-Reference paraméter-átadással (PROC, VAR)<br />

Funkció<br />

Egy Call-by-Reference paraméter-átadásos alprogram definíciója a PROC kulcsszóval, utána<br />

a programnévvel és az alprogram által elvárt paraméterek teljes felsorolásával VAR<br />

kulcsszóval, típussal és névvel történik.. A definíciós utasítás az első programsorban kell<br />

álljon.<br />

Egy Call-by-Reference paraméter-átadásnál át lehet adni referenciákat is mezőkre.<br />

A Call-by-Reference paraméter-átadásnak nincs visszahatása a felhívó programra. A felhívó<br />

program az alprogramnak egy referenciát ad át az aktuális paraméterre és ezzel lehetővé<br />

teszi az alprogram közvetlen hozzáférését a megfelelő változóhoz.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Megjegyzés<br />

Maximum 127 paramétert lehet átadni.<br />

Megjegyzés<br />

A Call-by-Reference paraméter-átadás csak akkor szükséges, ha az átadandó változó a<br />

felhívó programban lett definiálva (LUD). Csatorna-globális és NC-globális változókat nem<br />

kell átadni, azokhoz az alprogramból közvetlenül hozzá lehet férni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 155


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Szintaxis<br />

PROC (VAR , ...)<br />

PROC (VAR [,,], ...)<br />

Jelentés<br />

PROC:<br />

VAR:<br />

:<br />

:<br />

:<br />

:<br />

:<br />

[,,]:<br />

definíciós utasítás egy program elején<br />

kulcsszó paraméter-átadáshoz referenciával<br />

egy program neve<br />

paraméter adattípusa (pl. REAL, INT, BOOL)<br />

paraméter neve<br />

mezőelem adattípusa (pl. REAL, INT, BOOL)<br />

egy mező neve<br />

mező-méret<br />

Aktuálisan maximum 3-dimenziős mezők lehetségesek:<br />

:<br />

:<br />

:<br />

1. dimenzió mezőméret<br />

2. dimenzió mezőméret<br />

3. dimenzió mezőméret<br />

FIGYELEM<br />

A PROC kulcsszó után megadott programnév meg kell egyezzen a kezelőfelületen megadott<br />

programnévvel.<br />

Megjegyzés<br />

A nem meghatározott mező-hosszúságú mezőkkel formális paraméterként az alprogramok<br />

változtatható mező-hosszúságú mezőkkel tudnak dolgozni. Ehhez pl. egy két-dimenziós<br />

mező definíciójánál az 1. dimenzió hossza formális paraméterként nem lesz megadva. A<br />

vesszőt azonban ki kell írni.<br />

Példa: PROC (VAR REAL FELD[ ,5])<br />

Példa<br />

Egy alprogram definíciója 2 paraméterrel referenciaként REAL típusra:<br />

Programkód<br />

PROC SUB_PROG(VAR REAL LAENGE, VAR REAL BREITE)<br />

...<br />

N100 RET<br />

Kommentár<br />

; paraméter 1: referencia típusra: REAL,<br />

név: LAENGE<br />

paraméter 2: referencia típusra: REAL,<br />

név: BREITE<br />

Munka-előkészítés<br />

156 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.2.4 Modális G-funkciókat menteni (SAVE)<br />

Funkció<br />

A SAVE beállítással az alprogram felhívása előtt aktív modális G-funkciók mentve lesznek és<br />

az alprogram vége után ismét aktiválva.<br />

VIGYÁZAT<br />

Pályavezérlő-üzem megszakítása<br />

Ha aktív pályavezérlő-üzemnél egy alprogram SAVE beállítással fel lesz hívva, a<br />

pályavezérlő-üzem az alprogram végénél (visszaugrás) meg lesz szakítva.<br />

Szintaxis<br />

PROC SAVE<br />

Jelentés<br />

SAVE:<br />

modális G-funkciók mentése az alprogram felhívása előtt és helyreállítása az<br />

alprogram vége után<br />

Példa<br />

A KONTUR alprogramban a G91 (láncméret) globális G-funkció hat. A főprogramban a G90<br />

(abszolút méret) globális G-funkció hat. Az alprogram definíciója SAVE-vel biztosítja, hogy az<br />

alprogram vége után a főprogramban ismét a G90 hat.<br />

Alprogram definíció:<br />

Programkód<br />

PROC KONTUR (REAL WERT1) SAVE<br />

N10 G91 ...<br />

N100 M17<br />

Kommentár<br />

; Alprogram definíció SAVE paraméterrel<br />

; G91 modális G-funkció: láncméret<br />

; alprogram vége<br />

Főprogram:<br />

Programkód<br />

N10 G0 X... Y... G90<br />

N20 ...<br />

...<br />

N50 KONTUR (12.4)<br />

N60 X... Y...<br />

Kommentár<br />

; G90 modális G-funkció: Abszolút méret<br />

; alprogramhívás<br />

; G90 modális G-funkció SAVE-vel újra<br />

aktiválva<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 157


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Peremfeltételek<br />

Frame-ek<br />

A frame-ek viselkedése a SAVE tulajdonágú alprogramok vonatkozásában függ a frame<br />

típusától és gépadatban beállítható.<br />

Irodalom<br />

Alap funkciók működési kézikönyv; Tengelyek, koordináta-rendszerek, frame-k (K2),<br />

fejezet: "Alprogram visszaugrás SAVE-vel"<br />

1.25.2.5 Egyes-mondat feldolgozás elnyomás (SBLOF, SBLON)<br />

Funkció<br />

Egyes-mondat elnyomás a teljes programra<br />

Az SBLOF-fal megjelölt programok aktív egyes-mondat feldolgozásnál egy mondatként<br />

kompletten lesznek végrehajtva, vagyis a teljes programra el lesz nyomva az egyes-mondat<br />

feldolgozás.<br />

Az SBLOF a PROC-sorban áll és az alprogram végéig vagy megszakadásáig érvényes. A<br />

visszaugrás utasítással lesz eldöntve, hogy az alprogram végén legyen megállás vagy ne.<br />

Visszaugrás M17-tel: állj az alprogram végén<br />

Visszaugrás RET-tel: nincs állj az alprogram végén<br />

Egyes-mondat elnyomás a programon belül<br />

Az SBLOF egyedül kell álljon a mondatban. Ettől a mondattól kezdve az egyes-mondat ki lesz<br />

kapcsolva:<br />

● a következő SBLON-ig<br />

vagy<br />

● az aktív alprogram-szint végéig<br />

Szintaxis<br />

Egyes-mondat elnyomás a teljes programra:<br />

PROC ... SBLOF<br />

Egyes-mondat elnyomás a programon belül:<br />

SBLOF<br />

...<br />

SBLON<br />

Munka-előkészítés<br />

158 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Jelentés<br />

PROC:<br />

SBLOF:<br />

SBLON:<br />

egy program első utasítása<br />

utasítás az egyes-mondat megmunkálás kikapcsolására<br />

Az SBLOF állhat egyPROC-mondatban vagy egyedül egy mondatban.<br />

utasítás az egyes-mondat megmunkálás bekapcsolására<br />

Az SBLON egy önálló mondatban kell legyen.<br />

Peremfeltételek<br />

● Egyes-mondat elnyomás és mondat-kijelző<br />

Az aktuális mondat kijelzését a ciklusokban/alprogramokban A DISPLOF-fal el lehet<br />

nyomni. Ha a DISPLOF az SBLOF-fal együtt van programozva, akkor egyes-mondat álljnál a<br />

cikluson/alprogramon belül, akárcsak a ciklus/alprogram-hívás előtt, lesz kijelzés.<br />

● Egyes-mondat elnyomás rendszer-ASUP-ban vagy alkalmazói-ASUP-ban<br />

Ha az egyes-mondat állj a rendszer-ASUP-ban vagy az alkalmazói-ASUP-ban az<br />

MD10702 IGNORE_SINGLEBLOCK_MASK-ban el van nyomva (bit0 = 1 ill. bit1 = 1), az<br />

egyes-mondat álljt ismét aktiválni lehet az ASUP-ban az SBLON programozásával.<br />

Ha az egyes-mondat állj az alkalmazói-ASUP-ban az<br />

MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP-pal el van nyomva, akkor az egyesmondat<br />

álljt azSBLON programozásával az ASUP nem lehet ismét aktiválni.<br />

● Az egyes-mondat elnyomás különlegességei a különböző egyes-mondat megmunkálási<br />

típusoknál<br />

Az aktív SBL2 egyes-mondat megmunkálásnál (állj minden munkadarabprogram mondat<br />

után) az SBLON mondatban nem lesz megállás, ha az<br />

MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (egyes-mondat álljt megakadályozni)<br />

bit 12 "1"-re van állítva.<br />

Az aktív SBL3 egyes-mondat megmunkálásnál (állj minden munkadarabprogram mondat<br />

után a ciklusban is) az SBLOF el lesz nyomva.<br />

Példák<br />

Példa 1: Egyes-mondat elnyomás egy programon belül<br />

Programkód<br />

Kommentár<br />

N10 G1 X100 F1000<br />

N20 SBLOF ; egyes-mondatot kikapcsolni<br />

N30 Y20<br />

N40 M100<br />

N50 R10=90<br />

N60 SBLON ; egyes-mondatot újra bekapcsolni<br />

N70 M110<br />

N80 ...<br />

Az N20 és N60 közötti tartomány az egyes-mondat üzemben egy lépésként lesz feldolgozva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 159


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa 2: Ciklus a felhasználó számára egy utasításként kell hasson<br />

Főprogram:<br />

Programkód<br />

N10 G1 X10 G90 F200<br />

N20 X-4 Y6<br />

N30 CYCLE1<br />

N40 G1 X0<br />

N50 M30<br />

CYCLE1 ciklus:<br />

Programkód<br />

Kommentár<br />

N100 PROC CYCLE1 DISPLOF SBLOF ; egyes-mondatot elnyomni<br />

N110 R10=3*SIN(R20)+5<br />

N120 IF (R11


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa 4: MD10702 bit 12 = 1 esetén nem lesz megállás<br />

Kiinduló helyzet:<br />

● egyes-program megmunkálás aktív<br />

● MD10702 $MN_IGNORE_SINGLEBLOCK_MASK Bit12 = 1<br />

Főprogram:<br />

Programkód<br />

Kommentár<br />

N10 G0 X0 ; ebben a program-sorban megállás<br />

N20 X10 ; ebben a program-sorban megállás<br />

N30 CYCLE ; ciklus által generált mozgásmondat<br />

N50 G90 X20 ; ebben a program-sorban megállás<br />

M30<br />

CYCLE ciklus:<br />

Programkód<br />

Kommentár<br />

PROC CYCLE SBLOF ; egyes-mondatot elnyomni<br />

N100 R0 = 1<br />

N110 SBLON ; MD10702 Bit12=1 miatt ebben a programsorban nincs<br />

megállás<br />

N120 X1 ; ebben a program-sorban lesz megállás<br />

N140 SBLOF<br />

N150 R0 = 2<br />

RET<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 161


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa 5: Egyes-mondat elnyomás program-skatulyázásánál<br />

Kiinduló helyzet:<br />

egyes-program megmunkálás aktív<br />

Program-skatulyázás:<br />

Programkód<br />

Kommentár<br />

N10 X0 F1000 ; ebben a program-sorban lesz megállás<br />

N20 UP1(0)<br />

PROC UP1(INT _NR) SBLOF ; egyes-mondatot elnyomni<br />

N100 X10<br />

N110 UP2(0)<br />

PROC UP2(INT _NR)<br />

N200 X20<br />

N210 SBLON ; egyes-mondatot bekapcsolni<br />

N220 X22 ; ebben a program-sorban lesz megállás<br />

N230 UP3(0)<br />

PROC UP3(INT _NR)<br />

N300 SBLOF ; egyes-mondatot elnyomni<br />

N305 X30<br />

N310 SBLON ; egyes-mondatot bekapcsolni<br />

N320 X32 ; ebben a program-sorban lesz megállás<br />

N330 SBLOF ; egyes-mondatot elnyomni<br />

N340 X34<br />

N350 M17 ; SBLOF aktív<br />

N240 X24 ; ebben a program-sorban lesz megállás<br />

SBLON aktív<br />

N250 M17 ; ebben a program-sorban lesz megállás<br />

SBLON aktív<br />

N120 X12<br />

N130 M17 ; ebben a visszaugrás mondatban lesz<br />

megállás . SBLOF PROC utasításból aktív<br />

N30 X0 ; ebben a program-sorban lesz megállás<br />

N40 M30 ; ebben a program-sorban lesz megállás<br />

Munka-előkészítés<br />

162 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

További információk<br />

Egyes-mondat tiltás aszinkron alprogramokhoz<br />

Egy ASUP egyes-mondatban egy lépésben feldolgozható, ha az ASUP-ban egy PROC<br />

utasítás van programozva SBLOF-fal. Ez a "szerkeszthető rendszer-ASUP"-ra is érvényes<br />

(MD11610 $MN_ASUP_EDITABLE).<br />

Példa szerkeszthető rendszer-ASUP-ra:<br />

Programkód<br />

Kommentár<br />

N10 PROC ASUP1 SBLOF DISPLOF<br />

N20 IF $AC_ASUP=='H200'<br />

N30 RET ; nincs REPOS üzemmód váltásnál<br />

N40 ELSE<br />

N50 REPOSA ; REPOS minden egyéb esetben<br />

N60 ENDIF<br />

Program-befolyásolások egyes-mondatban<br />

Az egyes-mondat funkcióban a felhasználó a munkadarabprogramot mondatonként fel tudja<br />

dolgozni. A következő beállítási módok vannak:<br />

● SBL1: IPO egyes-mondat megállással minden gépfunkció-mondat után<br />

● SBL2: egyes-mondat megállással minden mondat után<br />

● SBL3: állj a ciklusban (az SBL3 kiválasztásával az SBLOF utasítás el lesz nyomva).<br />

Egyes-mondat elnyomás program-skatulyázásánál<br />

Ha egy alprogramban SBLOF lett programozva a PROC utasításban, akkor megállás lesz az M17<br />

alprogram-visszaugrásnál. Ezzel meg lesz akadályozva, hogy a felhívó programban már a<br />

következő mondat végre legyen hajtva. Ha egy alprogramban SBLOF-fal, SBLOF nélkül a PROC<br />

utasításban, egy egyes-mondat elnyomás lesz aktiválva, csak a felhívó program következő<br />

gépfunkció-mondata után lesz megállás. Ha ez nem kívánatos, az alprogramban még a<br />

visszaugrás (M17) előtt ismét SBLON-t kell programozni. Egy RET visszaugrásnál a fölérendelt<br />

programban nem lesz megállás.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 163


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.2.6 Aktuális mondatkijelzés elnyomása (DISPLOF, DISPLON, ACTBLOCNO)<br />

Funkció<br />

A mondatkijelzőn alapesetben az aktuális programmondat van kijelezve. A ciklusokban ill.<br />

alprogramokban az aktuális mondat kijelzését a DISPLOF utasítással el lehet nyomni.. Az<br />

aktuális mondat helyett a ciklus vagy az alprogram hívása lesz kijelezve. A DISPLON<br />

utasítással a mondatkijelzés elnyomását ismét meg lehet szüntetni.<br />

A DISPLOF ill. DISPLON a PROC utasítás sorában van programozva és a teljes alprogramban hat<br />

és közvetve az összes, ebből az alprogramból felhívott alprogramban is, amelyek nem<br />

tartalmaznak DISPLON ill. DISPLOF utasítást. Ez a viselkedés érvényes ASUP-okra is.<br />

Szintaxis<br />

PROC … DISPLOF<br />

PROC … DISPLOF ACTBLOCNO<br />

PROC … DISPLON<br />

Jelentés<br />

DISPLOF:<br />

DISPLON:<br />

ACTBLOCNO:<br />

utasítás az aktuális mondatkijelzést elnyomására<br />

elhelyezés: PROC utasítást tartalmazó programsor végén<br />

hatásosság: az alprogramból történő visszaugrásig vagy a program<br />

végéig<br />

Utalás:<br />

Ha a DISPLOF utasítást tartalmazó alprogramból további alprogramok<br />

vannak felhívva, akkor az aktuális mondatkijelzés ezekben is el van<br />

nyomva, hacsak ezekben nincs DISPLON programozva.<br />

utasítás az aktuális mondatkijelzést elnyomás megszüntetésére<br />

elhelyezés: PROC utasítást tartalmazó programsor végén<br />

hatásosság: az alprogramból történő visszaugrásig vagy a program<br />

végéig<br />

Utalás:<br />

Ha a DISPLOF utasítást tartalmazó alprogramból további alprogramok<br />

vannak felhívva, akkor az aktuális mondatkijelzés ezekben is el van<br />

nyomva, hacsak ezekben nincs DISPLON programozva.<br />

A DISPLOF együtt az ACTBLOCNO tulajdonsággal azt eredményezi, hogy egy<br />

vészjelzés fellépése esetén az aktuális mondat száma lesz kiadva,<br />

amelyikben a vészjelzés fellépett. Ez akkor is érvényes, ha egy<br />

alacsonyabb programszinten csak DISPLOF van programozva.<br />

A DISPLOF-nál ACTBLOCNO nélkül ellenben a ciklus ill. alprogram felhívás<br />

mondatszáma lesz kijelezve az utolsó, nem DISPLOF megjelölésű<br />

programszintről.<br />

Munka-előkészítés<br />

164 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példák<br />

Példa 1: Aktuális mondatkijelzést a ciklusban elnyomni<br />

Programkód<br />

PROC CYCLE(AXIS TOMOV, REAL POSITION) SAVE DISPLOF<br />

DEF REAL DIFF<br />

G01 …<br />

...<br />

RET<br />

Kommentár<br />

; aktuális mondatkijelzést elnyomni<br />

helyette legyen kijelezve a ciklus<br />

hívása, pl.: CYCLE(X,100.0)<br />

; ciklus tartalom<br />

; alprogram visszaugrás a<br />

mondatkijelzőn a ciklus hívását<br />

követő mondat lesz kijelezve<br />

Példa 2: Mondatkijelzés a vészjelzés kiadásánál<br />

SUBPROG1 alprogram (ACTBLOCNO-val):<br />

Programkód<br />

PROC SUBPROG1 DISPLOF ACTBLOCNO<br />

N8000 R10 = R33 + R44<br />

...<br />

N9040 R10 = 66 X100<br />

...<br />

N10000 M17<br />

Kommentár<br />

; vészjelzés 12080 kiváltása<br />

SUBPROG2 alprogram (ACTBLOCNO nélkül):<br />

Programkód<br />

PROC SUBPROG2 DISPLOF<br />

N5000 R10 = R33 + R44<br />

...<br />

N6040 R10 = 66 X100<br />

...<br />

N7000 M17<br />

Kommentár<br />

; vészjelzés 12080 kiváltása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 165


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Főprogram:<br />

Programkód<br />

N1000 G0 X0 Y0 Z0<br />

N1010 ...<br />

...<br />

N2050 SUBPROG1<br />

N2060 ...<br />

N2350 SUBPROG2<br />

...<br />

N3000 M30<br />

Kommentár<br />

; vészjelzés kiadása = "12080 csatorna K1 mondat<br />

N9040 szintakszis-hiba szövegnél R10="<br />

; vészjelzés kiadása = "12080 csatorna K1 mondat<br />

N2350 szintakszis-hiba szövegnél R10="<br />

Példa 3: Aktuális mondatkijelzés elnyomását megszüntetni<br />

SUB1 alprogram elnyomással:<br />

Programkód<br />

PROC SUB1 DISPLOF<br />

...<br />

N300 SUB2<br />

...<br />

N500 M17<br />

Kommentár<br />

; aktuális mondatkijelzést SUB1 alprogramban elnyomni<br />

ehelyett a SUB1 felhívást tartalmazó mondatot kell<br />

kijelezni<br />

; SUB2 alprogram hívása<br />

SUB2 alprogram elnyomás nélkül:<br />

Programkód<br />

PROC SUB2 DISPLON<br />

...<br />

N200 M17<br />

Kommentár<br />

; aktuális mondatkijelzés elnyomását a SUB2<br />

alprogramban megszüntetni<br />

; visszaugrás a SUB1 alprogramba a SUB1-ben az<br />

aktuális mondatkijelzés ismét el lesz nyomva<br />

Munka-előkészítés<br />

166 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa 4: Kijelzés viselkedése különböző DISPLON/DISPLOF kombinációknál<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1 Az aktuális mondatkijelzőben a munkadarabprogram sorai a programszint 0-ból lesznek kijelezve.<br />

2 Az aktuális mondatkijelzőben a munkadarabprogram sorai a programszint 3-ból lesznek kijelezve.<br />

3 Az aktuális mondatkijelzőben a munkadarabprogram sorai a programszint 3-ból lesznek kijelezve.<br />

4 Az aktuális mondatkijelzőben a munkadarabprogram sorai a programszint 7/8-ból lesznek kijelezve.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 167


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.2.7 Alprogramokat előkészítéssel megjelölni (PREPRO)<br />

Funkció<br />

A PREPRO kulcsszóval a felfutásnál a PROC utasítássor végén minden fájlt meg lehet jelölni.<br />

Megjegyzés<br />

A program-előkészítés ezen módja a megfelelően beállított gépadattól függ. Kérjük, vegye<br />

ehhez figyelembe e gépgyártó tájékoztatásait.<br />

Irodalom:<br />

Különleges funkciók működési kézikönyv; Elő-feldolgozás (V2)<br />

Szintaxis<br />

PROC … PREPRO<br />

Jelentés<br />

PREPRO:<br />

kulcsszó az összes, a felfutásnál előkészített fájl- és a ciklus-könyvtárakban<br />

levő NC-programok megjelöléséhez<br />

Alprogramokat előkészítéssel beolvasni és alprogram-hívás<br />

A felfutásnál előkészített alprogramok paraméterekkel és az alprogram-hívásnál is a<br />

cikluskönyvtárak azonos sorrendben lesznek kezelve<br />

1. _N_CUS_DIR alkalmazói ciklusok<br />

2. _N_CMA_DIR gyártói ciklusok<br />

3. _N_CST_DIR szabvány ciklusok<br />

Az azonos nevű NC-programok különböző változatainál az először megtalált PROCutasítás<br />

lesz aktiválva és a többi PROC utasítás vészjelzés nélkül figyelmen kívül lesz hagyva.<br />

Munka-előkészítés<br />

168 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.2.8 Alprogram-visszaugrás M17<br />

Funkció<br />

Egy alprogram végén van az M17 visszaugrás utasítás (ill. az M30 alprogramvég utasítás). Ez<br />

visszaugrást okoz a felhívó programba a munkadarabprogramnak az alprogram-hívás utáni<br />

programsorára.<br />

Megjegyzés<br />

M17 és M30 az NC-nyelvben azonos értékűnek van kezelve.<br />

Szintaxis<br />

PROC <br />

...<br />

M17/M30<br />

Peremfeltételek<br />

Alprogram-visszaugrás hatása a pályavezérlő-üzemre<br />

Ha az M17 (ill. M30) egyedül áll a munkadarabprogramban, akkor megszakítja a csatornában<br />

aktív pályavezérlő-üzemet.<br />

A pályavezérlő-üzem megszakításának elkerülésére az M17-et (ill. M30-at) az utolsó mozgásmondatba<br />

kell írni. Ezen kívül a következő gépadatot "0"-ba kell állítani:<br />

MD20800 $MC_SPF_END_TO_VDI = 0 (nincs M30/M17 kiadás az NC/PLC interfészen)<br />

Példa<br />

1. Alprogram M17-tel külön mondatban<br />

Programkód<br />

N10 G64 F2000 G91 X10 Y10<br />

N20 X10 Z10<br />

N30 M17<br />

Kommentár<br />

; visszaugrás a pályavezérlő-üzem megszakításával<br />

2. Alprogram M17-tel az utolsó mozgás-mondatban<br />

Programkód<br />

N10 G64 F2000 G91 X10 Y10<br />

N20 X10 Z10 M17<br />

Kommentár<br />

; visszaugrás a pályavezérlő-üzem megszakítása<br />

nélkül<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 169


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.2.9 Alprogram-visszaugrás RET<br />

Funkció<br />

Az M17 visszaugrási utasítás helyezz az alprogramban lehet a RET utasítást is használni. A<br />

RET egy önálló munkadarabprogramban kell legyen programozva. Akár az M17 a RET is<br />

visszaugrást okoz a felhívó programba a munkadarabprogramnak az alprogram-hívás utáni<br />

programsorára.<br />

Megjegyzés<br />

Paraméterek programozásával meg lehet változtatni a RET visszaugrás viselkedését (lásd<br />

"Paraméterezhető alprogram-visszaugrás (RET...) (Oldal 171)").<br />

Alkalmazás<br />

A RET utasítást akkor kell használni, ha G64 pályavezérlő-üzemet (G641 ... G645) a<br />

visszaugrással nem akarjuk megszakítani.<br />

Előfeltétel<br />

A RET utasítást csak olyan alprogramokban szabad használni, amelyek nem a SAVE<br />

tulajdonsággal lettek definiálva.<br />

Szintaxis<br />

PROC <br />

...<br />

RET<br />

Példa<br />

Főprogram:<br />

Programkód<br />

PROC MAIN_PROGRAM<br />

...<br />

N50 SUB_PROG<br />

N60 ...<br />

...<br />

N100 M30<br />

Kommentár<br />

; programkezdet<br />

; alprogramhívás: SUB_PROG<br />

; programvég<br />

Munka-előkészítés<br />

170 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Alprogram:<br />

Programkód<br />

PROC SUB_PROG<br />

...<br />

N100 RET<br />

Kommentár<br />

; visszaugrás az N60 mondatra a főprogramban<br />

1.25.2.10 Paraméterezhető alprogram-visszaugrás (RET...)<br />

Funkció<br />

Általában egy alprogramból a visszaugrás a felhívó programba a RET vagy M17<br />

alprogramvéggel történik és a munkadarabprogram feldolgozása az alprogram-hívás utáni<br />

programsorral folytatódik.<br />

Vannak azonban alkalmazások, ahol kívánatos a program feldolgozását egy másik helyen<br />

folytatni:<br />

● programfeldolgozás folytatása leforgácsoló ciklusok felhívása után ISO-dialektus<br />

módban, a kontúrleírás után<br />

● visszaugrás a főprogramba egy tetszőleges alprogram-szintről (ASUP után is) hibakezelésnél<br />

● visszaugrás több programszinten át speciális alkalmazások számára Compileciklusokban<br />

és ISO-dialektus módban<br />

Az ilyen esetekben a RET utasítás "visszaugrási paraméterekkel" együtt van programozva.<br />

Szintaxis<br />

RET("")<br />

RET("",)<br />

RET("",,)<br />

RET("", ,)<br />

RET("",,),<br />

)<br />

RET( , ,,)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 171


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Jelentés<br />

RET:<br />

:<br />

:<br />

alprogram vége (alkalmazás M17 helyett)<br />

visszaugrási paraméter 1<br />

ugráscélként megnevezi a mondatot, ahol a<br />

programfeldolgozást folytatni kell<br />

Ha visszaugrási paraméter 3 nincs programozva, akkor az<br />

ugráscél abban a programban van, amelyikből az aktuális<br />

alprogram fel lett hívva.<br />

Lehetséges megadások:<br />

"" célmondat száma<br />

"" ugrás-jelölő, amit a célmondatban be<br />

kell állítani<br />

"" karakterlánc, aminek a programban<br />

ismertnek kell lennie (pl. programvagy<br />

változónév)<br />

A karakterlánc programozására a<br />

célmondatban a következő szabályok<br />

érvényesek:<br />

üres jel a végén<br />

(megkülönböztetés az ugrásjelelölőhöz,<br />

amelyik egy ":"-vel a<br />

végén van megjelölve).<br />

karakterlánc előtt csak egy<br />

mondatszám és/vagy egy ugrásjelölő<br />

lehet, program utasítások<br />

nem.<br />

visszaugrási paraméter 2<br />

visszaugrási paraméter 1-re vonatkozik<br />

típus:<br />

érték:<br />

INT<br />

0 visszaugrás a mondatra, amelyik a<br />

visszaugrási paraméter 1-gyel lett<br />

megadva<br />

> 0 visszaugrás a mondatra, amelyik a<br />

visszaugrási paraméter 1-gyel megadott<br />

mondat után következik<br />

Munka-előkészítés<br />

172 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

:<br />

:<br />

visszaugrási paraméter 3<br />

megadja a szintek számát, amennyit vissza kell ugrani,<br />

hogy arra a programszintre jussunk, ahol a program<br />

feldolgozását folytatni kell<br />

típus: INT<br />

érték: 1 a program az "aktuális programszint - 1"-<br />

en lesz folytatva (mint RET paraméter<br />

nélkül).<br />

2 a program az "aktuális programszint - 2"-<br />

en lesz folytatva, vagyis egy szint át lesz<br />

ugorva<br />

3 a program az "aktuális programszint - 3"-<br />

en lesz folytatva, vagyis két szint át lesz<br />

ugorva<br />

...<br />

értéktarto<br />

mány: 1 ... 15<br />

visszaugrási paraméter 4<br />

típus: BOOL<br />

érték: 1 Ha a visszaugrás a főprogramba történik<br />

és ott egy ISO-dialektus modus aktív,<br />

elágazás lesz a programkezdetre.<br />

Megjegyzés<br />

Egy alprogram-visszaugrásnál karakterlánccal a célmondat-keresés megadásaként a felhívó<br />

mondatban mindig először egy ugrás-jelölő után lesz keresve.<br />

Ha az ugráscélt egy karakterlánccal egyértelműen kell definiálni, akkor a karakterlánc nem<br />

egyezhet egy ugrás-jelölő nevével, mert különben az alprogram-visszaugrás mindig az<br />

ugrás-jelölőre és nem a karakterláncra lesz végrehajtva (lásd példa 2).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 173


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Peremfeltételek<br />

A visszaugrásnál több programszinten át az egyes programszintek SAVE utasításai ki lesznek<br />

értékelve.<br />

Ha egy visszaugrásnál több programszinten át egy modális alprogram aktív és az átugrott<br />

alprogramok egyikében az MCALL kikapcsoló utasítás van programozva, a modális alprogram<br />

továbbra is aktív marad.<br />

VIGYÁZAT<br />

A programozónak figyelnie kell arra, hogy visszaugrásnál több programszinten át a<br />

folytatás a helyes modális beállítással történjen. Ez pl. egy megfelelő főmondat<br />

programozásával érhető el.<br />

Példák<br />

Példa 1: Újra rámenet a főprogramban ASUP-feldolgozás után<br />

Programozás<br />

Kommentár<br />

N10010 CALL "UP1"<br />

; programszint 0 (főprogram)<br />

N11000 PROC UP1 ; programszint 1<br />

N11010 CALL "UP2"<br />

N12000 PROC UP2 ; programszint 2<br />

...<br />

N19000 PROC ASUP<br />

; programszint 3 (ASUP feldolgozás)<br />

...<br />

N19100 RET("N10900", ,$P_STACK)<br />

; alprogram-visszaugrás<br />

N10900<br />

; újra rámenet a főprogramban<br />

N10910 MCALL<br />

; modális alprogramot kikapcsolni<br />

N10920 G0 G60 G40 M5<br />

; további modális beállításokat<br />

korrigálni<br />

Példa 2: Karakterlánc () a célmondat keresés megadására<br />

Főprogram:<br />

Programkód<br />

Kommentár<br />

PROC MAIN_PROGRAM<br />

N1000 DEF INT iVar1=1, iVar2=4<br />

N1010 ...<br />

N1200 subProg1 ; "subProg1" alprogram felhívása<br />

N1210 M2 S1000 X10 F1000<br />

N1220 ......<br />

N1400 subProg2 ; "subProg2" alprogram felhívása<br />

N1410 M3 S500 Y20<br />

N1420 ..<br />

Munka-előkészítés<br />

174 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Programkód<br />

Kommentár<br />

N1500 lab1: iVar1=R10*44<br />

N1510 F500 X5<br />

N1520 ...<br />

N1550 subprog1: G1 X30 ; "subProg1" itt ugrás-jelölőként van<br />

definiálva<br />

N1560 ...<br />

N1600 subProg3<br />

"subProg3" alprogram felhívása<br />

N1610 ...<br />

N1900 M30<br />

subProg1 alprogram:<br />

Programkód<br />

Kommentár<br />

PROC subProg1<br />

N2000 R10=R20+100<br />

N2010 ...<br />

N2200 RET("subProg2") ; visszaugrás a főprogramba az N1400 mondatra<br />

subProg2 alprogram:<br />

Programkód<br />

Kommentár<br />

PROC subProg2<br />

N2000 R10=R20+100<br />

N2010 ...<br />

N2200 RET("iVar1") ; visszaugrás a főprogramba az N1500 mondatra<br />

subProg3 alprogram:<br />

Programkód<br />

Kommentár<br />

PROC subProg3<br />

N2000 R10=R20+100<br />

N2010 ...<br />

N2200 RET("subProg1") ; visszaugrás a főprogramba az N1550 mondatra<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 175


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

További információk<br />

A következő ábrák bemutatják a visszaugrási-paraméter 1 .. 3 különböző hatásait.<br />

1. visszaugrási-paraméter 1 = "N200", visszaugrási-paraméter 2 = 0<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A RET utasítás után a program feldolgozás a főprogram N200 mondatában lesz folytatva.<br />

Munka-előkészítés<br />

176 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

2. visszaugrási-paraméter 1 = "N200", visszaugrási-paraméter 2 = 1<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A RET utasítás után a program feldolgozás az (N210) mondattal lesz folytatva, ami a<br />

főprogramban az N200 mondat után következik.<br />

3. visszaugrási-paraméter 1 = "N220", visszaugrási-paraméter 3 = 2<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A RET utasítás után visszaugrás történik két programszinttel és a program feldolgozás az<br />

N220 mondatban lesz folytatva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 177


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.3 Egy alprogram felhívása<br />

1.25.3.1 Alprogram hívása paraméter-átadás nélkül<br />

Funkció<br />

Egy alprogram felhívása vagy az L címmel és az alprogramszámmal vagy egy programnév<br />

megadásával történik.<br />

Egy főprogramot is fel lehet hívni alprogramként. A főprogramban levő M2 vagy M30<br />

programvég ebben az esetben M17-ként (programvég visszaugrással a felhívó programba)<br />

lesz kiértékelve.<br />

Megjegyzés<br />

Természetesen egy alprogramot is el lehet indítani főprogramként.<br />

Keresési stratégia a vezérlésben:<br />

Létezik *_MPF?<br />

Létezik *_SPF?<br />

Ebből következik: Ha a felhívandó alprogram neve egyezik a főprogram nevével, akkor a<br />

felhívó főprogram lesz ismét felhívva. Ezt az általában nem kívánatos hatást az alprogramok<br />

és főprogramok egyértelmű névadásával el kell kerülni.<br />

Megjegyzés<br />

Alprogramokat, amelyek nem igényelnek paraméter-átadást, fel lehet hívni egy inicializálási<br />

fájlból is.<br />

Szintaxis<br />

L/<br />

Megjegyzés<br />

Egy alprogram felhívását egy külön NC-mondatban kell programozni.<br />

Munka-előkészítés<br />

178 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Jelentés<br />

L: cím az alprogram felhívásához<br />

:<br />

alprogram száma<br />

típus: INT<br />

érték: maximum 7 decimális hely<br />

Figyelem:<br />

A vezető nulláknak a névadásnál van jelentősége<br />

(⇒ L123, L0123 és L00123 három különböző<br />

alprogram).<br />

:<br />

alprogram (vagy főprogram) neve<br />

Példák<br />

Példa 1: Egy alprogram felhívása paraméter-átadás nélkül<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 179


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa 2: Egy főprogram felhívása alprogramként<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1.25.3.2 Alprogram felhívása paraméter-átadással (EXTERN)<br />

Funkció<br />

Az alprogram felhívásánál paraméter-átadással a változókat vagy értékeket közvetlenül át<br />

lehet adni (VAR paramétereknél nem).<br />

Alprogramokat paraméter átadással a felhívásuk előtt a főprogramban EXTERN-nel ismerté<br />

kell tenni (pl. a program elején). Meg kell adni az alprogram nevét és a változótípusokat az<br />

átadás sorrendjében.<br />

VIGYÁZAT<br />

A változó-típusok és az átadás sorrendje meg kell egyezzen az alprogramban PROC-cal<br />

megadottakkal. A paraméternevek a fő-és alprogramban lehetnek különbözőek.<br />

Szintaxis<br />

EXTERN (,,)<br />

...<br />

(,,)<br />

Munka-előkészítés<br />

180 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

VIGYÁZAT<br />

Az alprogram felhívását egy külön NC-mondatban kell programozni..<br />

Jelentés<br />

:<br />

EXTERN:<br />

,,:<br />

,,:<br />

alprogram neve<br />

kulcsszó egy paraméter-átadásos<br />

alprogram ismertté tételéhez<br />

Utalás:<br />

EXTERN-t csak akkor kell megadni, ha az<br />

alprogram a munkadarab- vagy a<br />

globális alprogram-könyvtárban van.<br />

A ciklusokat nem kell EXTERN-ként<br />

megadni.<br />

átadandó paraméterek változó-típusai<br />

az átadás sorrendjében<br />

változó-értékek az átadandó<br />

paraméterekre<br />

Példák<br />

Példa 1: Alprogram felhívás előző megismertetéssel<br />

Programkód<br />

Kommentár<br />

N10 EXTERN RAHMEN(REAL,REAL,REAL) ; alprogram megadása<br />

...<br />

N40 RAHMEN(15.3,20.2,5) ; alprogram felhívása paraméterátadással<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 181


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

<br />

<br />

<br />

<br />

<br />

<br />

Példa 2: Alprogram felhívás megismertetés nélkül<br />

Programkód<br />

Kommentár<br />

N10 DEF REAL LAENGE, BREITE, TIEFE<br />

N20 …<br />

N30 LAENGE=15.3 BREITE=20.2 TIEFE=5<br />

N40 RAHMEN(LAENGE,BREITE,TIEFE) ; vagy: N40 RAHMEN(15.3,20.2,5)<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

182 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.3.3 Program ismétlések száma (P)<br />

Funkció<br />

Ha egy alprogramot többször egymás után fel kell dolgozni, az alprogram hívását tartalmazó<br />

mondatban a P címmel programozható a program ismétlések kívánt száma.<br />

VIGYÁZAT<br />

Alprogram felhívása program ismétléssel és paraméter-átadással<br />

A paraméterek csak a program hívásnál ill. az első átfutásnál kerülnek átadásra. Minden<br />

további ismétlésnél a paraméterek változatlanul maradnak. Ha a program ismétléseknél a<br />

paramétereket változtatni akarjuk, az alprogramokban kell a megfelelő intézkedéseket<br />

megtenni.<br />

Szintaxis<br />

P<br />

Jelentés<br />

: alprogramhívás<br />

P: cím a program ismétlések programozására<br />

:<br />

program ismétlések száma<br />

típus:<br />

INT<br />

értéktartomány: 1 … 9999<br />

(előjel nélkül)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 183


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa<br />

Programkód<br />

...<br />

N40 RAHMEN P3<br />

...<br />

Kommentár<br />

; A RAHMEN alprogramot háromszor egymás után kell<br />

végrehajtani.<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

184 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.3.4 Modális alprogram-hívás (MCALL)<br />

Funkció<br />

Egy modális alprogram-hívásnál MCALL-lal az alprogram minden pályamozgást tartalmazó<br />

mondat után automatikusan felhívásra és végrehajtásra kerül. Ezzel lehet automatizálni az<br />

alprogramok hívását, amelyeket különböző munkadarab pozíciókban kell végrehajtani<br />

(például furatképek előállításához).<br />

A funkció kikapcsolása MCALL-lal alprogram-hívás nélkül történik vagy egy új modális<br />

alprogram hívás programozásával egy új alprogrammal<br />

VIGYÁZAT<br />

Egy program lefutásban egyidejűleg csak egy MCALL hívás lehet hatásos. A paraméterek<br />

csak egyszer, az MCALL hívásnál kerülnek átadásra.<br />

A modális alprogram a következő helyzetekben egy mozgás programozása nélkül is<br />

felhívásra kerül:<br />

Az S és F címek programozásánál, ha G0 vagy G1 aktív.<br />

Ha G0/G1 egyedül a mondatban vagy további G-kódokkal lett programozva.<br />

Szintaxis<br />

MCALL <br />

Jelentés<br />

MCALL:<br />

:<br />

cím a modális alprogram-hívásához<br />

alprogram neve<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 185


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példák<br />

Példa 1:<br />

Programkód<br />

N10 G0 X0 Y0<br />

N20 MCALL L70<br />

N30 X10 Y10<br />

N40 X50 Y50<br />

Kommentár<br />

; modális alprogram-hívás<br />

; programozott pozíció felvétele és ezt követően az L70<br />

alprogram végrehajtása<br />

; programozott pozíció felvétele és ezt követően az L70<br />

alprogram végrehajtása<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Példa 2:<br />

Programkód<br />

N10 G0 X0 Y0<br />

N20 MCALL L70<br />

N30 L80<br />

Ebben a példában a következő NC-mondatok a programozott pályatengelyekkel az L80<br />

alprogramban vannak. Az L70-t az L80 hívja fel.<br />

Munka-előkészítés<br />

186 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.3.5 Közvetett alprogram-hívás (CALL)<br />

Funkció<br />

Az adott feltételektől függően egy adott helyen különböző alprogramokat lehet felhívni.<br />

Ehhez az alprogram neve egy STRING típusú változóban lesz megadva. Az alprogram hívás<br />

CALL-lal és a változónévvel történik.<br />

VIGYÁZAT<br />

A közvetett alprogram-hívás csak a paraméter átadás nélküli alprogramoknál lehetséges.<br />

Egy alprogram közvetlen hívásához a nevét egy STRING-állandóban adjuk meg.<br />

Szintaxis<br />

CALL <br />

Jelentés<br />

CALL:<br />

:<br />

cím a közvetett alprogram-hívásához<br />

alprogram neve (változó vagy állandó)<br />

típus: STRING<br />

Példa<br />

Közvetlen hívás STRING állandóval:<br />

Programkód<br />

…<br />

CALL "/_N_WKS_DIR/_N_SUBPROG_WPD/_N_TEIL1_SPF"<br />

…<br />

Kommentár<br />

; TEIL1 alprogram közvetlen<br />

hívása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 187


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Közvetett felhívás változóval:<br />

Programkód<br />

…<br />

DEF STRING[100] PROGNAME<br />

PROGNAME="/_N_WKS_DIR/_N_SUBPROG_WPD/_N_TEIL1_SPF"<br />

CALL PROGNAME<br />

…<br />

Kommentár<br />

; változót definiálni<br />

; TEIL1 alprogramot a<br />

PROGNAME változóhoz<br />

rendelni<br />

; TEIL1 alprogramot a<br />

PROGNAME változóval<br />

közvetetten felhívni<br />

1.25.3.6 Közvetett alprogram-hívás a végrehajtandó programrész megadásával (CALL BLOCK<br />

... TO ...)<br />

Funkció<br />

A CALL-lal és a BLOCK ... TO kulcs-kombinációval egy alprogram közvetetten fel lesz hívva és<br />

a kezdet és vég-jelölővel megjelölt programrész végre lesz hajtva.<br />

Szintaxis<br />

CALL BLOCK TO <br />

CALL BLOCK TO <br />

Jelentés<br />

CALL:<br />

:<br />

BLOCK ... TO ...:<br />

:<br />

:<br />

cím a közvetett alprogram-hívásához<br />

alprogram neve (változó vagy állandó), amely a feldolgozandó<br />

programrészt tartalmazza (megadás opcionális).<br />

típus: STRING<br />

Utalás:<br />

Ha nincs programozva, a és<br />

által megjelölt programrész az aktuális<br />

programban lesz keresve és végrehajtva.<br />

kulcs-kombináció közvetett programrész végrehajtásra<br />

változó, amely a feldolgozandó programrész kezdetére utal<br />

típus: STRING<br />

változó, amely a feldolgozandó programrész végére utal<br />

típus: STRING<br />

Munka-előkészítés<br />

188 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa<br />

Főprogram:<br />

Programkód<br />

...<br />

DEF STRING[20] STARTLABEL, ENDLABEL<br />

STARTLABEL="LABEL_1"<br />

ENDLABEL="LABEL_2"<br />

...<br />

CALL "CONTUR_1" BLOCK STARTLABEL TO ENDLABEL<br />

...<br />

Alprogram:<br />

Kommentár<br />

; változó definíció a kezdetés<br />

a vég-jelölőre<br />

; közvetett alprogram-hívás és<br />

a végrehajtandó programrész<br />

megadása<br />

Programkód<br />

PROC CONTUR_1 ...<br />

LABEL_1<br />

N1000 G1 ...<br />

...<br />

LABEL_2<br />

...<br />

Kommentár<br />

; kezdet-jelölő: programrész végrehajtás kezdete<br />

; vég-jelölő: programrész végrehajtás vége<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 189


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.3.7 Egy ISO-nyelven programozott program közvetett felhívása (ISOCALL)<br />

Funkció<br />

Az ISOCALL közvetett programhívással fel lehet hívni egy ISO-nyelven programozott<br />

programot. Ennél aktiválva lesz a gépadatban beállított ISO-mód. A program végén ismét az<br />

eredeti megmunkálási mód lesz hatásos. Ha a gépadatban nincs ISO-mód beállítva, az<br />

alprogram-hívás Siemens-módban történik.<br />

További információk az ISO-módhoz, lásd:<br />

Irodalom:<br />

Működési kézikönyv ISO-dialektusok<br />

Szintaxis<br />

ISOCALL <br />

Jelentés<br />

ISOCALL:<br />

:<br />

kulcsszó közvetett alprogram-hívásra, amivel a gépadatban<br />

beállított ISO-mód aktiválva lesz<br />

ISO-nyelven programozott program neve (STRING típusú változó<br />

vagy állandó)<br />

Példa: Kontúr ciklusprogramozással ISO-módból felhívva<br />

Programkód<br />

Kommentár<br />

0122_SPF ; kontúrleírás ISO-módban<br />

N1010 G1 X10 Z20<br />

N1020 X30 R5<br />

N1030 Z50 C10<br />

N1040 X50<br />

N1050 M99<br />

N0010 DEF STRING[5] PROGNAME = "0122" ; Siemens-munkadarabprogram<br />

(-ciklus)<br />

...<br />

N2000 R11 = $AA_IW[X]<br />

N2010 ISOCALL PROGNAME<br />

N2020 R10 = R10+1 ; 0122.spf programot ISO-módban<br />

feldolgozni<br />

...<br />

N2400 M30<br />

Munka-előkészítés<br />

190 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.3.8 Alprogramot ág-megadással és paraméterekkel felhívni (PCALL)<br />

Funkció<br />

A PCALL-lal az alprogramokat abszolút ág-megadással és paraméter átadással lehet felhívni.<br />

Szintaxis<br />

PCALL (,…,)<br />

Jelentés<br />

PCALL:<br />

:<br />

, ...:<br />

kulcsszó alprogram híváshoz abszolút ág-megadással<br />

abszolút ág-megadás "/"-vel kezdődően, beleértve az<br />

alprogramnevet<br />

Ha nincs abszolút ág megadva, a PCALL úgy viselkedik, mint<br />

egy szabványos alprogram hívás programjelölővel.<br />

A programjelölőt az _N_ bevezető és bővítmény nélkül kell<br />

megadni.<br />

Ha a programnevet bevezetővel és bővítménnyel kell<br />

programozni, akkor kifejezetten bevezetővel és<br />

bővítménnyel az EXTERN utasítással kell megadni.<br />

aktuális-paraméter az alprogram PROC utasításának<br />

megfelelően<br />

Példa<br />

Programkód<br />

PCALL/_N_WKS_DIR/_N_WELLE_WPD/WELLE(parameter1,parameter2,…)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 191


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.3.9 Keresőágat alprogram-hívásnál bővíteni (CALLPATH)<br />

Funkció<br />

A CALLPATH utasítással lehet bővíteni a keresőágat az alprogram-hívásokhoz.<br />

Ezzel fel lehet hívni alprogramokat egy nem kiválasztott munkadarab-könyvtárból is, az<br />

alprogram teljes, abszolút ágnevének megadása nélkül is.<br />

A keresőág bővítése az alkalmazói ciklusok megadása előtt történik (_N_CUS-DIR).<br />

A keresőág bővítését a következő események kapcsolják ki:<br />

● CALLPATH üres-jellel<br />

● CALLPATH paraméter nélkül<br />

● munkadarabprogram vége<br />

● Reset<br />

Szintaxis<br />

CALLPATH("")<br />

Jelentés<br />

CALLPATH:<br />

:<br />

kulcsszó a programozható keresőág bővítéshez<br />

Egy külön programsorban kell programozni.<br />

STRING típusú állandó vagy változó Egy könyvtár abszolút ágmegadását<br />

tartalmazza, amivel a keresőágat bővíteni kell. Az ágmegadás "/"-vel<br />

kezdődik. Az ágat teljesen meg kell adni az előtagokkal és az utótagokkal.<br />

A maximális ághossz 128 bájt.<br />

Ha az egy üres-jelet tartalmaz vagy a CALLPATH paraméter nélkül<br />

van felhívva, a keresőág utasítás ismét ki lesz kapcsolva.<br />

Munka-előkészítés<br />

192 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa<br />

Programkód<br />

CALLPATH("/_N_WKS_DIR/_N_MYWPD_WPD")<br />

Ezzel a következő keresőág lesz beállítva (5. pozíció új):<br />

1. aktuális könyvtár/alprogram-jelölő<br />

2. aktuális könyvtár/alprogram-jelölő_SPF<br />

3. aktuális könyvtár/alprogram-jelölő_MPF<br />

4. /_N_SPF_DIR/alprogram-jelölő_SPF<br />

5. /_N_WKS_DIR/_N_MYWPD/alprogram-jelölő_SPF<br />

6. N_CUS_DIR/_N_MYWPD/alprogram-jelölő_SPF<br />

7. /_N_CMA_DIR/alprogram-jelölő_SPF<br />

8. /_N_CST_DIR/alprogram-jelölő_SPF<br />

Peremfeltételek<br />

● A CALLPATH megvizsgálja, hogy a programozott ágnév ténylegesen létezik-e. Hiba esetén<br />

a munkadarabprogram feldolgozása 14009 korrekciós-mondat vészjelzéssel meg lesz<br />

szakítva.<br />

● A CALLPATH programozható INI-fájlokban is. Ekkor a az INI-fájl feldolgozási ideje alatt<br />

hatásos (WPD-INI-fájl vagy inicializálási program NC-aktív adatokra, pl. frame-kre a<br />

1. csatornára _N_CH1_UFR_INI). Utána az inicializálási program ismét vissza lesz állítva<br />

1.25.3.10 Külső alprogram feldolgozás (EXTCALL)<br />

Funkció<br />

Az EXTCALL utasítással lehetséges egy alprogramot egy külső programtárolóból (helyi<br />

meghajtó, hálózati meghajtó, USB meghajtó) betölteni és feldolgozni.<br />

A külső alprogram-könyvtár ágát előre be lehet állítani a következő beállítási adattal:<br />

SD42700 $SC_EXT_PROG_PATH<br />

Az EXTCALL hívásnál megadott alprogram-ággal ill. -jelölővel együtt ebből adódik ki a<br />

felhívandó program teljes ága.<br />

Megjegyzés<br />

A külső alprogramok nem tartalmazhatnak GOTOF, GOTOB, CASE, FOR, LOOP, WHILE és REPEAT<br />

ugró-utasításokat.<br />

IF-ELSE-ENDIF szerkezetek megengedettek.<br />

Alprogram-hívások és egymásba skatulyázott EXTCALL hívások lehetségesek.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 193


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Szintaxis<br />

EXTCALL("")<br />

Jelentés<br />

EXTCALL:<br />

"":<br />

utasítás egy külső alprogram felhívásához<br />

STRING típusú állandó/változó<br />

:<br />

:<br />

abszolút vagy relatív ágmegadás<br />

(opcionális)<br />

A programnév az "_N_" előtag<br />

nélkül lesz megadva.<br />

A fájl-bővítményt ("MPF", "SPF")<br />

a "_" vagy "." karakterrel lehet a<br />

programnévhez hozzátoldani<br />

(opcionális).<br />

Példa:<br />

"WELLE"<br />

vagy<br />

"WELLE_SPF" ill. "WELLE.SPF"<br />

Megjegyzés<br />

Ág-megadás: Rövid jelölés<br />

Az ág-megadásnál a következő rövid jelöléseket lehet használni:<br />

LOCAL_DRIVE: helyi meghajtóra<br />

CF_CARD: CompactFlash-Card-hoz<br />

USB: USB előlap csatlakozó<br />

CF_CARD: és LOCAL_DRIVE: alternatív használható.<br />

Megjegyzés<br />

Feldolgozás kívülről USB-meghajtóról<br />

Ha a külső programokat egy külső USB-meghajtóról USB-interfészen kell átvinni, akkor<br />

ehhez csak az X203 interfész a "TCU_1" névvel használható.<br />

FIGYELEM<br />

Feldolgozás kívülről USB-FlashDrive-ról (előlap USB-csatlakozó)<br />

A közvetlen feldolgozás az USB-FlashDrive-ról nem ajánlott.<br />

Nincs biztosíték az USB-FlashDrive érintkezési problémái, kiesése, lökés általi letörése<br />

vagy véletlen kihúzása ellen futó üzemben.<br />

A szerszámmal való megmunkálás alatti leválasztás a megmunkálás leállásához vezet és<br />

ezzel a munkadarab is károsodhat.<br />

Munka-előkészítés<br />

194 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa<br />

Feldolgozás helyi meghajtóról<br />

Főprogram:<br />

Programkód<br />

N010 PROC MAIN<br />

N020 ...<br />

N030 EXTCALL ("SCHRUPPEN")<br />

N040 ...<br />

N050 M30<br />

Külső alprogram:<br />

Programkód<br />

N010 PROC SCHRUPPEN<br />

N020 G1 F1000<br />

N030 X= ... Y= ... Z= ...<br />

N040 ...<br />

...<br />

...<br />

N999999 M17<br />

A "MAIN.MPF" főprogram az NC-tárolóban van és feldolgozásra ki van választva.<br />

Az utántöltendő "SCHRUPPEN.SPF" ill. "SCHRUPPEN.MPF" alprogramok a helyi<br />

meghajtón "/user/sinumerik/data/prog/WKS.DIR/WST1.WPD" könyvtárban találhatóak.<br />

Az alprogram ága az SD42700-ban van beállítva:<br />

SD42700 $SC_EXT_PROG_PATH = "LOCAL_DRIVE:WKS.DIR/WST1.WPD"<br />

Megjegyzés<br />

Az SD42700 ág-megadás nélkül az EXTCALL utasítást a következő példa szerint kellene<br />

programozni:<br />

EXTCALL("LOCAL_DRIVE:WKS.DIR/WST1.WPD/SCHRUPPEN")<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 195


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

További információk<br />

EXTCALL hívás abszolút ág-megadással<br />

Ha az alprogram a megadott ág alatt nem létezik, akkor csak az EXTCALL hívás után lesz<br />

végrehajtva. Ha ez nem létezik, a program végrehajtása megszakad.<br />

EXTCALL hívás relatív ág-megadással / ág-megadás nélkül<br />

Egy EXTCALL hívás relatív ág-megadással / ág-megadás nélkül a létező programtárolók a<br />

következő minta szerint lesznek végig keresve:<br />

● Ha az SD42700 $SC_EXT_PROG_PATH-ban egy ág-megadás be van állítva, akkor<br />

először ebből az ágból kiindulva EXTCALL hívásban megadottak szerint (programnév<br />

esetleg relatív ág- megadással) lesz keresve. Az abszolút ág a következő<br />

karakterláncolással adódik:<br />

– az SD42700-ban beállított ág-megadás<br />

– a "/" karakter választójelként<br />

– az EXTCALL-nál megadott alprogramág ill. -jelölő<br />

● Ha a felhívott alprogram a beállított ágban nem található, következőként a felhasználói<br />

tároló könyvtárai lesznek átkutatva az EXTCALL hívásban megadottak szerint.<br />

● A keresés az alprogram első megtalálásával végződik. Ha a keresésnek nincs<br />

eredménye, program-megszakítás történik.<br />

Beállítható utántöltés-tároló (FIFO-puffer)<br />

Egy program feldolgozásához a "Feldolgozás kívülről" modusban (főprogram vagy<br />

alprogram) az NCK-ban szükség van egy utántöltés-tárolóra. Az utántöltés tároló nagysága<br />

30 kbájtra van beállítva és mint a többi tároló-vonatkozású gépadatot, csak a gépgyártó<br />

változtathatja meg szükség esetén.<br />

Az összes program (főprogramok vagy alprogramok) számára, amelyek egyidejűleg<br />

"Feldolgozás kívülről" módusban feldolgozásra kerülnek, be kell állítani egy-egy utántöltő<br />

tárolót.<br />

RESET, POWER ON<br />

A RESET és POWER ON által a külső alprogram-hívások meg lesznek szakítva és az<br />

utántöltési tároló törölve lesz.<br />

A "Feldolgozás kívülről"-re kiválasztott alprogram a RESET / munkadarabprogram-vég után<br />

is "Feldolgozás kívülről"-re kiválasztva marad. A POWER ON által a kiválasztás elveszik.<br />

Irodalom<br />

További információk a "Feldolgozás kivülről"-höz, lásd:<br />

Alap funkciók működési kézikönyv; BAG, csatorna, program-üzem, Reset viselkedés (K1)<br />

Munka-előkészítés<br />

196 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

1.25.4 Ciklusok<br />

1.25.4.1 Ciklusok: Felhasználói ciklusok paraméterezése<br />

Funkció<br />

A cov.com és uc.com fájlokkal saját ciklusokat lehet paraméterezni.<br />

A cov.com fájl a szabvány-ciklusokkal kerül szállításra és megfelelően kibővítendő. Az<br />

uc.com fájlt az alkalmazó maga állítja elő.<br />

Mindkét fájlt a passzív fájlrendszerbe az "Felhasználói ciklusok" könyvtárba kell tölteni (ill.<br />

megfelelő ág-megadással):<br />

;$PATH=/_N_CUS_DIR<br />

a programban ellátni.<br />

Fájlok és ágak<br />

cov.com_COM<br />

uc.com<br />

Ciklusok áttekintése<br />

Ciklusfelhívások leírása<br />

A cov.com illesztése- A ciklusok áttekintése<br />

A szabvány-ciklusokkal kiszállított cov.com fájlnak a következő szerkezete van:<br />

%_N_COV_COM<br />

fájlnév<br />

;$PATH=/_N_CST_DIR<br />

ág-megadás<br />

;Vxxx 11.12.95 Sca ciklus áttekintés kommentár sor<br />

C1(CYCLE81) fúrás, központozás 1. ciklus hívása<br />

C2(CYCLE82) úrás, sík süllyesztés 2. ciklus hívása<br />

...<br />

C24(CYCLE98) menetek láncolása utolsó ciklus hívása<br />

M17<br />

fájl vége<br />

Szintaxis<br />

Minden újonnan hozzáadott ciklushoz egy sort kell beilleszteni a következő szintaxissal:<br />

C () kommentár szöveg<br />

szám: egy tetszőleges egészszám, amelyik eddig a fájlban még nem lett alkalmazva;<br />

ciklusnév: a beillesztendő ciklus programneve<br />

kommentár szöveg: választhatóan egy kommentárszöveg a ciklushoz<br />

Példa:<br />

C25 (MEIN_ZYKLUS_1) Anwenderzyklus_1<br />

C26 (SPEZIALZYKLUS)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 197


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa az uc.com fájlra - Alkalmazói-ciklusok leírása<br />

A magyarázat a<br />

példák folytatása alapján történik:<br />

A következő két ciklushoz a ciklus-paraméterezést újra kell létrehozni:<br />

Programozás<br />

Kommentár<br />

PROC MEIN_ZYKLUS_1 (REAL PAR1, INT PAR2, CHAR PAR3, STRING[10] PAR4)<br />

A ciklusnak a következő átadási paraméterei vannak:<br />

PAR1:<br />

PAR2:<br />

PAR3:<br />

PAR4:<br />

...<br />

M17 ;<br />

; valós érték a -1000.001


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Példa mindkét ciklusra<br />

MEIN_ZYKLUS_1 ciklus kijelző-maszkja<br />

<br />

<br />

<br />

<br />

<br />

<br />

SPEZIALZYKLUS ciklus kijelző-maszkja<br />

<br />

<br />

<br />

<br />

Szintaxis leírás a uc.com fájlhoz - Felhasználói ciklusok leírása<br />

Fejsor ciklusokként:<br />

mint a cov.com fájlnál elöl "//"-val<br />

//C () kommentár szöveg<br />

Példa:<br />

//C25 (MEIN_ZYKLUS_1) Anwenderzyklus_<br />

Leírás sor paraméterenként:<br />

( / <br />

/ / )<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 199


Rugalmas NC programozás<br />

1.25 Alprogram-technika<br />

Adattípus jelölő:<br />

R<br />

I<br />

C<br />

S<br />

valós<br />

egész<br />

karakter(1 jel)<br />

string<br />

Minimum érték, maximum érték (hiányozhat)<br />

A beadandó érték határai, amelyek a beadásnál meg lesznek vizsgálva; ezen a tartományon<br />

kívüli értékeket nem lehet beadni. Meg lehet adni felsorolási értékeket, amelyeket a<br />

választás (Toggle) billentyűvel lehet kezelni; ezek "*"-gal kezdődően lesznek felsorolva, más<br />

értékek nem megengedettek.<br />

Példa:<br />

(I/*123456/1/megmunkálási mód)<br />

A string és karakter típusoknál nincsenek határok.<br />

Előbeállítás érték (hiányozhat)<br />

Az az érték, amelyikkel a ciklus felhívásánál a megfelelő maszk előre fel van töltve; ezt<br />

kezeléssel lehet változtatni.<br />

Kommentár<br />

Maximum 50 karakter szöveg, ami a ciklus felhívási maszkjában a paraméter beadási mező<br />

előtt ki van jelezve.<br />

Munka-előkészítés<br />

200 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.26 Makró-technika (DEFINE...AS)<br />

1.26 Makró-technika (DEFINE...AS)<br />

VIGYÁZAT<br />

A makró-technikával a vezérlés programozási nyelvét erősen meg lehet változtatni! A<br />

makró-technikát ezért nagy gondossággal kell alkalmazni!<br />

Funkció<br />

Makrónak az egyes utasítások összefoglalását nevezzük egy új össz-utasítássá saját néven.<br />

G-, M- és H-funkciókat vagy L-alprogramneveket is lehet makróként létrehozni. A program<br />

lefutásnál a makró felhívásakor a makró neve alatt programozott utasítások egymás után<br />

végrehajtásra kerülnek.<br />

Alkalmazás<br />

Az ismétlődő utasítássorokat csak egyszer programozzuk makróként egy külön makrómodulban<br />

(makró-fájl) vagy a program elején. A makrót bármelyik fő- vagy alprogramban fel<br />

lehet hívni és feldolgozni.<br />

Aktiválás<br />

Egy makró-fájl makróinak használatához az NC programban a makró-fájl be kell legyen<br />

töltve az NC-be.<br />

Szintaxis<br />

Makró definíció:<br />

DEFINE AS ...<br />

Felhívás az NC-programban<br />

<br />

Jelentés<br />

DEFINE ... AS:<br />

:<br />

:<br />

kulcsszó egy makró definiálásához<br />

a makró neve<br />

Makrónévként csak jelölők megengedettek.<br />

A makró a makrónévvel lesz felhívva az NC programból.<br />

program-utasítás, amit a makró tartalmazzon<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 201


Rugalmas NC programozás<br />

1.26 Makró-technika (DEFINE...AS)<br />

Szabályok a makró definícióhoz<br />

● A makróban tetszőleges jelölőket, G-, M-, H-funkciókat és L-programneveket lehet<br />

definiálni.<br />

● A makrókat lehet az NC programban is definiálni.<br />

● G-funkció makrókat csak vezérlés-globálisan makró-modulokban lehet definiálni.<br />

● A H- és L-funkciók kétjegyűen programozhatók.<br />

● M- és G-funkciókat lehet háromjegyűen programozni.<br />

VIGYÁZAT<br />

A kulcsszavakat és a foglalt neveket szem szabad átírni makró definícióval.<br />

Peremfeltételek<br />

A makrók egymásba skatulyázása nem lehetséges.<br />

Példák<br />

Példa 1: Makró definíció a program elején<br />

Programkód<br />

DEFINE LINIE AS G1 G94 F300<br />

...<br />

...<br />

N70 LINIE X10 Y20<br />

...<br />

Kommentár<br />

; makró definíció<br />

; makró felhívása<br />

Példa 2: Makró definíció egy makró-fájlban<br />

Programkód<br />

DEFINE M6 AS L6<br />

DEFINE G81 AS DRILL(81)<br />

DEFINE G33 AS M333 G333<br />

Kommentár<br />

; A szerszámváltásnál egy alprogram kerül<br />

felhívásra, ami a szükséges adatátvitel elvégzi.<br />

Az alprogramban lesz a tulajdonképpeni<br />

szerszámváltás M-funkció kiadva (pl. M106).<br />

; A DIN G-funkció leképezése<br />

; A menetvágásnál szükséges a szinkronizáció a PLCvel.<br />

Az eredeti G33 G-funkció MD gépadatban G333-<br />

ra lett átnevezve, a programozás az alkalmazónak<br />

azonos marad<br />

Munka-előkészítés<br />

202 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Rugalmas NC programozás<br />

1.26 Makró-technika (DEFINE...AS)<br />

Példa 3: Külső makró-fájl<br />

A külső makró-fájlnak a vezérlésbe beolvasása után a makró-fájlt be kell tölteni az NC-be.<br />

Csak ezután lehet a makrókat az NC programban használni.<br />

Programkód<br />

%_N_UMAC_DEF<br />

;$PATH=/_N_DEF_DIR<br />

DEFINE PI AS 3.14<br />

DEFINE TC1 AS M3 S1000<br />

DEFINE M13 AS M3 M7<br />

DEFINE M14 AS M4 M7<br />

DEFINE M15 AS M5 M9<br />

DEFINE M6 AS L6<br />

DEFINE G80 AS MCALL<br />

M30<br />

Kommentár<br />

; vevő-specifikus makrók<br />

; orsó jobbra, hűtőszer be<br />

; orsó balra, hűtőszer ki<br />

; orsó állj, hűtőszer ki<br />

; szerszámcsere-program felhívása<br />

; fúróciklus kiiktatása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 203


Rugalmas NC programozás<br />

1.26 Makró-technika (DEFINE...AS)<br />

Munka-előkészítés<br />

204 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fájl- és program-kezelés 2<br />

2.1 Programtároló<br />

Funkció<br />

A programtárolóban vannak a fájlok és programok (pl. fő- és alprogramok, makró-definíciók)<br />

tartósan elhelyezve (→passzív fájlrendszer).<br />

Irodalom:<br />

Bővítő funkciók működési kézikönyv; Tároló konfiguráció (S7)<br />

Emellett vannak olyan fájltípusok, amelyeket itt lehet átmenetileg tárolni és szükség esetén<br />

(pl. egy adott munkadarab megmunkálásánál) a munkatárolóba át lehet vinni (pl.<br />

inicializálási célokra).<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 205


Fájl- és program-kezelés<br />

2.1 Programtároló<br />

Szabványos-könyvtárak<br />

A következő könyvtárak szabványosan léteznek:<br />

Könyvtár<br />

_N_DEF_DIR<br />

_N_CST_DIR<br />

_N_CMA_DIR<br />

_N_CUS_DIR<br />

_N_WKS_DIR<br />

_N_SPF_DIR<br />

_N_MPF_DIR<br />

_N_COM_DIR<br />

Tartalom<br />

Adat-modulok és makró-modulok<br />

Szabvány ciklusok<br />

Gyártói ciklusok<br />

Felhasználói ciklusok<br />

Munkadarabok<br />

Globális alprogramok<br />

Főprogramok<br />

Kommentárok<br />

Fájltípusok<br />

A programtárolóban a következő fájl típusok lehetnek bevive:<br />

Fájltípus<br />

name_MPF<br />

name_SPF<br />

name_TEA<br />

name_SEA<br />

name_TOA<br />

name_UFR<br />

name_INI<br />

name_GUD<br />

name_RPA<br />

name_COM<br />

name_DEF<br />

Leírás<br />

Főprogram<br />

Alprogram<br />

Gépadatok<br />

Beállítási-adatok<br />

Szerszámkorrekciók<br />

Nullaponteltolások/frame-ek<br />

Inicializálási fájlok<br />

Globális felhasználói adatok<br />

R-paraméterek<br />

Kommentár<br />

Definíciók a globális felhasználói adatokhoz és makrókhoz<br />

Munkadarab-főkönyvtár(_N_WKS_DIR)<br />

A munkadarab-főkönyvtár szabványosan az _N_WKS_DIR jelölővel van a programtárolóban<br />

létrehozva. A munkadarab-főkönyvtár minden programozott munkadarabhoz tartalmazza a<br />

megfelelő munkadarab-könyvtárakat.<br />

Munka-előkészítés<br />

206 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fájl- és program-kezelés<br />

2.1 Programtároló<br />

Munkadarab-könyvtárak (..._WPD)<br />

Az adatok és programok rugalmas kezeléséhez meghatározott adatokat és programokat<br />

összefogva vagy egyesével munkadarab-könyvtárakban lehet elhelyezni.<br />

Egy munkadarab-könyvtár minden fájlt tartalmaz, ami egy munkadarab megmunkálásához<br />

szükséges. Ezek lehetnek főprogramok, alprogramok, tetszőleges inicializálási-programok<br />

és kommentár-fájlok.<br />

Az inicializálási programok a program-kiválasztás után az első munkadarabprogram<br />

indításával egyszer lesznek végrehajtva (az MD11280 $MN_WPD_INI_MODE gépadatnak<br />

megfelelően).<br />

Példa:<br />

Az _N_WELLE_WPD munkadarab-könyvtár, ami a WELLE munkadarabhoz lett létrehozva, a<br />

következő fájlokat tartalmazza:<br />

Fájl<br />

_N_WELLE_MPF<br />

_N_PART2_MPF<br />

_N_PART1_SPF<br />

_N_PART2_SPF<br />

_N_WELLE_INI<br />

_N_WELLE_SEA<br />

_N_PART2_INI<br />

_N_PART2_UFR<br />

_N_WELLE_COM<br />

Leírás<br />

Főprogram<br />

Főprogram<br />

Alprogram<br />

Alprogram<br />

Általános inicializáló program a munkadarab adataihoz<br />

Beállítási adatok inicializáló program<br />

Általános inicializáló program a PART2 program adataihoz<br />

Inicializáló program a PART2 program frame-adataihoz<br />

Kommentár fájl<br />

Munkadarab-könyvtárakat külső PC-n létrehozni<br />

A következőkben leírásra kerülő eljárást egy külső adatállomáson végezzük el. A fájl- és<br />

adatkezeléshez (a PC-től a vezérlésbe) közvetlenül a vezérlésen az információkat a<br />

Kezelési utasításban találjuk.<br />

Munkadarab-könyvtár létrehozása: ág-megadással ($PATH=…)<br />

A fájl második sorában a célág van megadva $PATH=… formában. A fájl a megadott ágban<br />

lesz létrehozva.<br />

Példa:<br />

Programkód<br />

%_N_WELLE_MPF<br />

;$PATH=/_N_WKS_DIR/_N_WELLE_WPD<br />

N10 G0 X… Z…<br />

...<br />

M2<br />

A _N_WELLE_MPF fájl a /_N_WKS_DIR/_N_WELLE_WPD könyvtárban lesz elhelyezve.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 207


Fájl- és program-kezelés<br />

2.1 Programtároló<br />

Munkadarab-könyvtár létrehozása ág-megadás nélkül<br />

Ha hiányzik az ág-megadás, akkor az SPF típusú fájlok az /_N_SPF_DIR, az _INI végződésű<br />

fájlok a munkatárolóban és minden egyéb fájl a /_N_MPF_DIR könyvtárban kerül<br />

elhelyezésre.<br />

Példa:<br />

Programkód<br />

%_N_WELLE_SPF<br />

...<br />

M17<br />

A _N_WELLE_SPF fájl a /_N_SPF_DIR könyvtárban kerül elhelyezésre.<br />

Munkadarabot megmunkálásra kiválasztani<br />

Egy munkadarab-könyvtárat ki lehet választani megmunkáláshoz egy csatornában. Ha<br />

ebben a könyvtárban egy azonos nevű főprogram vagy csak egyetlen főprogram (_MPF),<br />

található, akkor ez automatikusan ki lesz választva megmunkálásra.<br />

Irodalom:<br />

/BAD/ HMI Advanced kezelési kézikönyv; "Feladatlista" fejezet és "Program kiválasztása<br />

megmunkálásra"<br />

Keresőág alprogram-hívásnál<br />

Ha egy alprogram (vagy inicializálási fájl) hívásánál a hívás-ág nincs kifejezetten megadva a<br />

munkadarab-programban, akkor a felhívó program egy rögzített keresőágat vizsgál.<br />

Alprogram-hívás abszolút ág-megadással<br />

Példa:<br />

Programkód<br />

...<br />

CALL"/_N_CST_DIR/_N_CYCLE1_SPF"<br />

...<br />

Alprogram-hívás abszolút ág-megadás nélkül<br />

Általában a programokat ág-megadás nélkül hívják.<br />

Példa:<br />

Programkód<br />

...<br />

CYCLE1<br />

...<br />

Munka-előkészítés<br />

208 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fájl- és program-kezelés<br />

2.1 Programtároló<br />

A könyvtárakban a keresés a felhívott program után a következő sorrendben történik:<br />

Nr. Könyvtár Leírás<br />

1 aktuális könyvtár / név Munkadarab-könyvtár vagy szabvány könyvtár<br />

_N_MPF_DIR<br />

2 aktuális könyvtár / név_SPF<br />

3 aktuális könyvtár / név_MPF<br />

4 /_N_SPF_DIR / név_SPF Globális alprogramok<br />

5 /_N_CUS_DIR / név_SPF Felhasználói ciklusok<br />

6 /_N_CMA_DIR / név_SPF Gyártói ciklusok<br />

7 /_N_CST_DIR / név_SPF Szabvány ciklusok<br />

Keresőág programozása alprogram-hívásnál (CALLPATH)<br />

A keresőágat alprogram-hívásnál a CALLPATH munkadarabprogram utasítással bővíteni lehet.<br />

Példa:<br />

Programkód<br />

CALLPATH ("/_N_WKS_DIR/_N_MYWPD_WPD")<br />

...<br />

A keresőág az 5-ös pozíciótól (alkalmazói ciklus) a megadott programozásnak megfelelően<br />

lesz létrehozva.<br />

További információk a programozható keresőághoz az alprogram-hívásoknál CALLPATH-szal,<br />

lásd a "Keresőág bővítése alprogram-hívásoknál CALLPATH-szal" fejezetben.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 209


Fájl- és program-kezelés<br />

2.2 Munkatároló (CHANDATA, COMPLETE, INITIAL)<br />

2.2 Munkatároló (CHANDATA, COMPLETE, INITIAL)<br />

Funkció<br />

A munkatároló tartalmazza az aktuális rendszeradatokat és alkalmazói adatokat, amelyekkel<br />

a vezérlés dolgozik(aktív fájlrendszer), pl.:<br />

● Aktív gépadatok<br />

● Szerszámkorrekció-adatok<br />

● Nullaponteltolások<br />

● ...<br />

Inicializáló programok<br />

Ezek olyan programok amelyekkel a munkatároló adatainak elő-beállítása (inicializálása)<br />

történik. Ehhez a következő fájltípusok alkalmazhatók:<br />

Fájltípus<br />

Leírás<br />

name_TEA<br />

Gépadatok<br />

name_SEA<br />

Beállítási-adatok<br />

name_TOA<br />

Szerszámkorrekciók<br />

name_UFR<br />

Nullaponteltolások/frame-ek<br />

name_INI<br />

Inicializálási fájlok<br />

name_GUD<br />

Globális felhasználói adatok<br />

name_RPA<br />

R-paraméterek<br />

Információk az összes fájltípushoz a kezelőfelület kezelési kézikönyvében találhatók.<br />

Adat-tartományok<br />

Az adatokat különböző tartományokba lehet besorolni, ahol érvényesek. Például egy<br />

vezérlésnek több csatornája lehet vagy szokásos a több tengely is.<br />

A következők léteznek:<br />

Jelölő<br />

NCK<br />

CH<br />

AX<br />

TO<br />

COMPLETE<br />

Adat-tartományok<br />

NCK-specifikus adatok<br />

NCK-specifikus adatok ( a csatornaszámot adja meg)<br />

tengely-specifikus adatok ( a géptengely-számot adja meg)<br />

szerszámadatok<br />

minden adat<br />

Munka-előkészítés<br />

210 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fájl- és program-kezelés<br />

2.2 Munkatároló (CHANDATA, COMPLETE, INITIAL)<br />

Inicializáló programot külső PC-n létrehozni<br />

Az adat-tartomány jelölők és adattípus jelölők segítségével meg lehet határozni a<br />

tartományokat, amelyeket az adatmentésnél egységként kezelünk.<br />

_N_AX5_TEA_INI<br />

gépadatok a tengely 5-re<br />

_N_CH2_UFR_INI<br />

framek a csatorna 2-re<br />

_N_COMPLETE_TEA_INI<br />

összes gépadat<br />

A vezérlés üzembehelyezése után a munkatárolóban van egy adatkészlet, ami a vezérlés<br />

rendeltetés-szerű üzemét biztosítja.<br />

Eljárás többcsatornás vezérléseknél (CHANDATA)<br />

CHANDATA() több csatornára csak a N_INITIAL_INI fájlban megengedett. Ez az<br />

üzembehelyezési fájl, amellyel a vezérlés összes adata inicializálva lesz.<br />

Programkód<br />

Kommentár<br />

%_N_INITIAL_INI<br />

CHANDATA(1)<br />

; géptengely hozzárendelés csatorna 1:<br />

$MC_AXCONF_MACHAX_USED[0]=1<br />

$MC_AXCONF_MACHAX_USED[1]=2<br />

$MC_AXCONF_MACHAX_USED[2]=3<br />

CHANDATA(2)<br />

; géptengely hozzárendelés csatorna 2:<br />

$MC_AXCONF_MACHAX_USED[0]=4<br />

$MC_AXCONF_MACHAX_USED[1]=5<br />

CHANDATA(1)<br />

; tengely gépadatok:<br />

; pontos-állj ablak durva:<br />

$MA_STOP_LIMIT_COARSE[AX1]=0.2 ; tengely 1<br />

$MA_STOP_LIMIT_COARSE[AX2]=0.2 ; tengely 2<br />

; pontos-állj ablak finom:<br />

$MA_STOP_LIMIT_FINE[AX1]=0.01 ; tengely 1<br />

$MA_STOP_LIMIT_FINE[AX1]=0.01 ; tengely 2<br />

VIGYÁZAT<br />

CHANDATA utasítás<br />

IA munkadarabprogramban a CHANDATA utasítást csak arra a csatornára szabad használni,<br />

amelyben az NC-program feldolgozása történik, vagyis az utasítást lehet arra használni,<br />

hogy az NC-programok védve legyenek egy nem tervezett csatorna által való<br />

végrehajtástól.<br />

Hiba esetén a program feldolgozása meg lesz szakítva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 211


Fájl- és program-kezelés<br />

2.2 Munkatároló (CHANDATA, COMPLETE, INITIAL)<br />

Megjegyzés<br />

INI-fájlok a feladatlistában nem tartalmaznak CHANDATA utasításokat.<br />

Inicializálási programok mentése (COMPLETE, INITIAL)<br />

A munkatároló fájljait lehet egy külső PC-re menteni és onnan újra beolvasni.<br />

● A fájlok mentése a COMPLETE-tel történik.<br />

● Az INITIAL-lal az összes tartományról egy INI-fájl: az _N_INITIAL_INI lesz létrehozva.<br />

Inicializálási programok beolvasása<br />

FIGYELEM<br />

Az "INITIAL_INI" fájl beolvasásakor az összes adat, amelyeket a fájl nem ad meg, az alapbeállítás<br />

adataival lesz inicializálva. Ez alól csak a gépadatok jelentenek kivételt. Tehát a<br />

beállítási adatok, szerszámadatok, NPE, GUD-értékek, ... az alap-beállítási adatokkal<br />

(általában "nulla") lesznek feltöltve.<br />

Az egyes gépadatok beolvasásához pl. a COMPLETE_TEA_INI fájl alkalmas. Ennél a fájnál<br />

a vezérlés csak gépadatokat vár. Ebben az esetben a többi adattartomány érintetlen marad.<br />

Inicializálási programok töltése<br />

Az INI-programokat munkadarab-programként is ki lehet választani és felhívni, ha csak egy<br />

csatorna adatait használják. Így lehetséges programvezérelt adatok inicializálása is.<br />

Munka-előkészítés<br />

212 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fájl- és program-kezelés<br />

2.3 Struktúra-utasítás a lépés-szerkesztőben (SEFORM)<br />

2.3 Struktúra-utasítás a lépés-szerkesztőben (SEFORM)<br />

Funkció<br />

A SEFORM struktúra-utasítás a lépés-szerkesztőben (szerkesztő alapú program-támogatás) ki<br />

lesz értékelve HMI-Advanced számára a lépésnézet generálásához. A lépésnézet az NC<br />

alprogram jobb olvashatóságát szolgálja.<br />

Szintaxis<br />

SEFORM(,,)<br />

Jelentés<br />

SEFORM()<br />

<br />

<br />

<br />

Struktúra-utasítás funkció felhívása a , és<br />

paraméterekkel.<br />

munkalépés megnevezése<br />

típus: STRING<br />

fő- és alszint indexe<br />

típus: INT<br />

érték: 0 főszint<br />

1, ..., alszint 1, ..., alszint <br />

az ikon neve, amit ehhez a szakaszhoz ki kell jelezni<br />

típus: STRING<br />

Megjegyzés<br />

A SEFORM utasítások a lépés-szerkesztőben lesznek létrehozva.<br />

A paraméterrel átadott string az MSG utasítással azonos módon a BTSSváltozóban<br />

lesz eltárolva. Az információ a következő SEFORM utasítással átírásig megmarad.<br />

Reset-tel és munkadarabprogram végével a tartalom törölve lesz.<br />

A és paramétereket a munkadarabprogram feldolgozásánál az NCK<br />

megvizsgálja, de nem lesznek tovább feldolgozva.<br />

Irodalom<br />

További utasítások a szerkesztő-alapú program-támogatáshoz, lásd:<br />

HMI Advanced kezelési kézikönyv<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 213


Fájl- és program-kezelés<br />

2.3 Struktúra-utasítás a lépés-szerkesztőben (SEFORM)<br />

Munka-előkészítés<br />

214 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Védelmi tartományok 3<br />

3.1 Védelmi tartományok megadása (CPROTDEF, NPROTDEF)<br />

Funkció<br />

Védelmi tartományok segítségével különböző elemek a gépen, a felszerelés, valamint a<br />

munkadarab megvédhetők a rossz mozgásoktól.<br />

Szerszámra vonatkozó védelmi tartományok:<br />

A szerszámhoz tartozó részek számára (pl.: szerszám, szerszámtartó).<br />

Munkadarabra vonatkozó védelmi tartományok:<br />

A munkadarabhoz tartozó részek számára (pl.: a munkadarab részei, felfogó-asztal, rögzítőkörmök,<br />

orsótokmány, szegnyereg).<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Szintaxis<br />

DEF INT NOT_USED<br />

G17/G18/G19<br />

CPROTDEF/NPROTDEF(,,,,)<br />

G0/G1/... X/Y/Z...<br />

...<br />

EXECUTE(NOT_USED)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 215


Védelmi tartományok<br />

3.1 Védelmi tartományok megadása (CPROTDEF, NPROTDEF)<br />

Jelentés<br />

DEF INT NOT_USED:<br />

G17/G18/G19:<br />

helyi változók, INTEGER típusú adat definiálása<br />

(lásd fejezet "Mozgásszinkron-akciók (Oldal 551)")<br />

A kívánt sík a CPROTDEF ill. NPROTDEF előtt a G17/G18/G19-vel lesz<br />

kiválasztva és az EXECUTEnem változtathatja meg. A CPROTDEF ill.<br />

NPROTDEF és az EXECUTE között az applikálta programozása nem<br />

megengedett.<br />

CPROTDEF: csatorna-specifikus védelmi tartományokat (csak NCU 572/573)<br />

definiálni<br />

NPROTDEF:<br />

G0/G1/... X/Y/Z...<br />

...:<br />

EXECUTE:<br />

:<br />

:<br />

:<br />

:<br />

:<br />

NOT_USED:<br />

gép-specifikus védelmi tartományokat definiálni<br />

A védelmi tartományok kontúrját a kiválasztott síkban maximum<br />

11 elmozdulással adjuk meg. Az első elmozdulás a rámenetel a<br />

kontúrra. A védelmi tartomány a kontúrtól balra levő tartomány.<br />

Utalás:<br />

A CPROTDEF ill. NPROTDEF és EXECUTE között álló elmozdulások<br />

nem kerülnek végrehajtásra, hanem a védelmi tartományt<br />

definiálják.<br />

definíciót befejezni<br />

definiált védelmi tartomány száma<br />

védelmi tartomány típusa<br />

TRUE: Szerszámra vonatkozó védelmi tartomány<br />

FALSE: Munkadarabra vonatkozó védelmi tartományok:<br />

határolás módja a 3. dimenzióban<br />

0: nincs határolás<br />

1: határolás pozitív irányban<br />

2: határolás negatív irányban<br />

3: határolás pozitív és negatív irányban<br />

határolás értéke pozitív irányban a 3. dimenzióban<br />

határolás értéke negatív irányban a 3. dimenzióban<br />

a hibaváltozó az EXECUTE-tal rendelkező védelmi tartományoknál<br />

hatástalan<br />

Peremfeltételek<br />

A védelmi tartományok definiálása közben nem lehet aktív:<br />

● maró-sugár, ill. vágóél-sugár korrekció<br />

● transzformáció<br />

● frame<br />

Referenciapontra menetel (G74), fixpontra menetel (G75), mondat-előrefutás állj vagy<br />

program vége sem lehet beprogramozva.<br />

Munka-előkészítés<br />

216 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Védelmi tartományok<br />

3.1 Védelmi tartományok megadása (CPROTDEF, NPROTDEF)<br />

További információk<br />

A védelmi tartományok definíciója<br />

A védelmi tartományok definíciójához tartoznak:<br />

● CPROTDEF csatorna-specifikus védelmi tartományokra<br />

● NPROTDEF gép-specifikus védelmi tartományokra<br />

● védelmi tartomány kontúr-leírása<br />

● definíció lezárása EXECUTE-tal<br />

Védelmi tartomány NC munkadarab-programban való aktiválásakor a védelmi tartomány<br />

vonatkoztatási pontját relatívan el tudjuk tolni.<br />

Kontúr-leírás vonatkoztatási pontja<br />

A munkadarabra vonatkozó védelmi tartományokat a bázis-koordinátarendszerben<br />

definiáljuk.<br />

A szerszámra vonatkozó védelmi tartományokat az F szerszámtartó vonatkoztatási pontra<br />

vonatkozóan adjuk meg.<br />

Megengedett kontúrelemek<br />

A védelmi tartomány kontúr leírásához megengedettek:<br />

● G0, G1 egyenes kontúrelemek számára<br />

● G2 óramutató járása szerinti körszeletek számára (csak munkadarabra vonatkozó védelmi<br />

tartományoknál)<br />

● G3 óramutató járásával ellentétes körszeletek számára<br />

Megjegyzés<br />

Ha a védelmi tartományt egy teljes kör írja le, akkor ez két rész-körre osztandó. A G2, G3<br />

ill. G3, G2 sorrend nem megengedett. Itt szükség esetén egy rövid G1 mondatot kell<br />

betoldani.<br />

A kontúr-leírás utolsó pontjának egybe kell esnie az első pontjával.<br />

Külső védelmi tartományok<br />

Külső védelmi tartományokat (csak munkadarabra vonatkozó védelmi tartományoknál<br />

lehetséges) az óramutató járása szerint kell definiálni.<br />

Forgásszimmetrikus védelmi tartományok<br />

Forgásszimmetrikus védelmi tartományoknál (pl.: orsótokmány) a teljes kontúrt le kell írni<br />

(nem csak a forgásközépig!).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 217


Védelmi tartományok<br />

3.1 Védelmi tartományok megadása (CPROTDEF, NPROTDEF)<br />

Szerszámra vonatkozó védelmi tartományok<br />

Szerszámra vonatkozó védelmi tartományoknak mindig konvexnek kell lenni. Ha konkáv<br />

védelmi tartományt szeretnénk, akkor ezt szét kell szedni több konvex védelmi tartományra.<br />

<br />

<br />

<br />

Munka-előkészítés<br />

218 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Védelmi tartományok<br />

3.2 Védelmi tartományok aktiválása/deaktiválása (CPROT, NPROT)<br />

3.2 Védelmi tartományok aktiválása/deaktiválása (CPROT, NPROT)<br />

Funkció<br />

Előbb a definiált védelmi tartományokat az ütközés-ellenőrzéshez aktiválni, elő-aktiválni<br />

vagy az aktív védelmi tartományokat deaktiválni.<br />

Az egy csatornában egyszerre aktív védelmi tartományok maximális száma gépadattal lesz<br />

megadva.<br />

Ha egy szerszámra vonatkozóan egyetlen védelmi tartomány sem aktív, akkor a<br />

szerszámpálya a munkadarabra vonatkozó védelmi tartományokra meg lesz vizsgálva.<br />

Megjegyzés<br />

Ha egy munkadarabra vonatkozóan egyetlen védelmi tartomány sem aktív, akkor nincs<br />

védelmi tartomány felügyelet.<br />

Szintaxis<br />

CPROT(,,,,)<br />

NPROT(,,,,)<br />

Jelentés<br />

CPROT:<br />

NPROT:<br />

:<br />

:<br />

,,:<br />

csatorna-specifikus védelmi tartomány (csak NCU<br />

572/573) felhívása<br />

gép-specifikus védelmi tartomány felhívása<br />

védelmi tartomány száma<br />

állapot megadása<br />

0: védelmi tartomány deaktiválása<br />

1: védelmi tartomány elő-aktiválása<br />

2: védelmi tartomány aktiválása<br />

3: védelmi tartomány elő-aktiválása feltételes állj-jal<br />

már definiált védelmi tartomány eltolása a geometriai<br />

tengelyek mentén<br />

Peremfeltételek<br />

Védelmi tartomány felügyelet aktív szerszámsugár-korrekciónál<br />

Egy működőképes védelmi tartomány felügyelet aktív szerszámsugár-korrekciónál csak<br />

akkor lehetséges, ha a szerszámsugár-korrekció síkja azonos a védelmi tartomány<br />

definíciók síkjával.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 219


Védelmi tartományok<br />

3.2 Védelmi tartományok aktiválása/deaktiválása (CPROT, NPROT)<br />

Példa<br />

Egy marógépnél felügyelni kell a maró lehetséges ütközését a mérőtapintóval. A mérőtapintó<br />

helyzetét az aktiválásnál egy eltolással kell megadni. Ehhez a következő védelmi<br />

tartományokat definiáljuk:<br />

● Egy-egy gép-specifikus és munkadarab-specifikus védelmi tartomány a mérőtapintótartónak<br />

(n-SB1) és magának a mérőtapintónak (n-SB2).<br />

● Egy-egy csatorna-specifikus és szerszámra vonatkozó védelmi tartomány a marótartónak<br />

(c-SB1), a marótengelynek (c-SB2) és magának a marónak (c-SB3).<br />

Minden védelmi tartomány tájolása Z-irányba mutat.<br />

A mérőtapintó vonatkoztatási pontjának helye az aktiválásnál X = –120, Y = 60 és Z = 80-nál<br />

legyen.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

DEF INT SC<strong>HU</strong>TZB<br />

védelmi tartományok definíciója G17<br />

NPROTDEF(1,FALSE,3,10,–10)G01 X0 Y–10<br />

X40<br />

Y10<br />

X0<br />

Y–10<br />

EXECUTE(SC<strong>HU</strong>TZB)<br />

Kommentár<br />

; egy segédváltozó definíciója<br />

; tájolást beállítani<br />

; n–SB1 védelmi tartomány<br />

Munka-előkészítés<br />

220 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Védelmi tartományok<br />

3.2 Védelmi tartományok aktiválása/deaktiválása (CPROT, NPROT)<br />

Programkód<br />

NPROTDEF(2,FALSE,3,5,–5)<br />

G01 X40 Y–5<br />

X70<br />

Y5<br />

X40<br />

Y–5<br />

EXECUTE(SC<strong>HU</strong>TZB)<br />

CPROTDEF(1,TRUE,3,0,–100)<br />

G01 X–20 Y–20<br />

X20<br />

Y20<br />

X–20<br />

Y–20<br />

EXECUTE(SC<strong>HU</strong>TZB)<br />

CPROTDEF(2,TRUE,3,–100,–150)<br />

G01 X0 Y–10<br />

G03 X0 Y10 J10<br />

X0 Y–10 J–10<br />

EXECUTE(SC<strong>HU</strong>TZB)<br />

CPROTDEF(3,TRUE,3,–150,–170)<br />

G01 X0 Y–27,5<br />

G03 X0 Y27,5 J27,5<br />

X0 Y27,5 J–27,5<br />

EXECUTE(SC<strong>HU</strong>TZB)<br />

Védelmi tartományok aktiválása:<br />

NPROT(1,2,–120,60,80)<br />

NPROT(2,2,–120,60,80)<br />

CPROT(1,2,0,0,0)<br />

CPROT(2,2,0,0,0)<br />

CPROT(3,2,0,0,0)<br />

Kommentár<br />

; n–SB2 védelmi tartomány<br />

; c–SB1 védelmi tartomány<br />

; c–SB2 védelmi tartomány<br />

; c–SB3 védelmi tartomány<br />

; n–SB1 védelmi tartományt eltolással<br />

aktiválni<br />

; n–SB2 védelmi tartományt eltolással<br />

aktiválni<br />

; c–SB1 védelmi tartományt eltolással<br />

aktiválni<br />

; c–SB2 védelmi tartományt eltolással<br />

aktiválni<br />

; c–SB3 védelmi tartományt eltolással<br />

aktiválni<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 221


Védelmi tartományok<br />

3.2 Védelmi tartományok aktiválása/deaktiválása (CPROT, NPROT)<br />

További információk<br />

Aktiválási állapot ()<br />

● =2<br />

Egy védelmi tartományt általában a munkadarabprogramban, az állapot = 2-vel<br />

aktiválunk.<br />

Az állapot mindig csatorna-specifikus, gépre vonatkozó védelmi tartományoknál is.<br />

● =1<br />

Ha a PLC alkalmazói-programban meg van tervezve, hogy egy védelmi tartományt a PLC<br />

alkalmazói-program hatásossá tehet, akkor az ehhez szükséges előaktiválást az állapot =<br />

1 hajtja végre.<br />

● =3<br />

Az elő-aktiválásnál feltételes állj-jal alapvetően nem lesz megállás egy megsértett, előaktivált<br />

védelmi tartomány előtt. Az állj csak akkor következik be, ha a védelmi tartomány<br />

hatásossá lett téve. Ez lehetővé teszi a megszakítás-mentes megmunkálást, ha a<br />

védelmi tartományok csak különleges esetekben lesznek hatásossá téve. Figyelembe<br />

kell venni, hogy a fékrámpa miatt esetleg behatolás történik egy védelmi tartományba, ha<br />

a védelmi tartomány csak közvetlenül a behatolás előtt lett hatásossá téve.<br />

Az elő-aktiválás feltételes állj-jal az állapot = 3-mal történik.<br />

● =0<br />

A deaktiválást és ezzel a védelmi tartományok kikapcsolását az állapot = 0 hajtja végre.<br />

Eközben eltolás nem szükséges.<br />

Védelmi tartományok eltolása az (elő-) aktiválásnál<br />

Az eltolás 1, 2 vagy 3 dimenzióban mehet végbe. Az eltolás megadása a következőkre<br />

vonatkozik:<br />

● munkadarab-specifikus védelmi tartományoknál a gépi nullapontra<br />

● szerszámtartó-specifikus védelmi tartományoknál az F szerszámtartó vonatkoztatási<br />

pontra<br />

Felfutás utáni állapot<br />

Védelmi tartományok már a felfutás és az ezt követő referenciapontra menetel után is<br />

aktiválva lehetnek. Ehhez az $SN_PA_ACTIV_IMMED[] ill.<br />

$SC_PA_ACTIV_IMMED[] rendszerváltozókat TRUE-ra kell állítani. Mindig az állapot =<br />

2-vel aktiváljuk őket és nincsen eltolásuk.<br />

Védelmi tartományok többszörös aktiválása<br />

Egy védelmi tartomány egyszerre több csatornában is hatásos lehet (pl.: csúcstámasz két<br />

szemközti szánnál). A védelmi tartományok felügyelete csak akkor megy végbe, ha minden<br />

geometriai tengely referálva van.<br />

Ahol a következő érvényes:<br />

● A védelmi tartomány egy csatornában nem aktiválható egyszerre többszörösen<br />

különböző eltolásokkal.<br />

● Gépre vonatkozó védelmi tartományok mindkét csatornában ugyanazzal a tájolással kell,<br />

hogy rendelkezzenek.<br />

Munka-előkészítés<br />

222 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Védelmi tartományok<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok vizsgálata (CALCPOSI)<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok<br />

vizsgálata (CALCPOSI)<br />

Funkció<br />

A CALCPOSI funkció lehetővé teszi annak vizsgálatát, hogy egy megadott kezdőpontból<br />

kiindulva a geometria-tengelyek egy megadott értéket felvehetnek-e a tengely-határok<br />

(szoftver-határok), munkatér-határolások vagy védelmi-tartományok megsértése nélkül.<br />

Arra az esetre, ha a megadott értéket nem lehetne felvenni,, a maximális megengedett érték<br />

lesz visszaadva.<br />

A CALCPOSI funkció egy előre definiált alprogram. Ennek egyedül kell állnia egy<br />

mondatban.<br />

Szintaxis<br />

Status=CALCPOSI(_STARTPOS, _MOVDIST, _DLIMIT, _MAXDIST, _BASE_SYS, _TESTLIM)<br />

Jelentés<br />

Állapot<br />

0: funkció rendben,<br />

a megadott utat teljesen meg lehet tenni<br />

–: a _DLIMIT-ben legalább egy komponens negatív<br />

–: egy transzformációs számításban egy hiba lépett fel<br />

Ha a megadott értéket nem lehet teljesen felvenni, egy pozitív,<br />

decimálisan kódolt érték lesz visszaadva:<br />

egyes helyiérték (a megsértett határ típusa):<br />

1: szoftver-határok határolják a mozgást<br />

2: munkatér-határolás határolja a mozgást<br />

3: védelmi tartományok határolják a mozgást<br />

Ha egyidőben több határ lett megsértve (pl. szoftver-határok és<br />

védelmi-tartományok), az egyes helyiértéken az a határ lesz<br />

jelezve, amelyik a megadott mozgás legerősebb határolását<br />

okozza.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 223


Védelmi tartományok<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok vizsgálata (CALCPOSI)<br />

tizes helyiérték<br />

10:<br />

A kezdőérték megsérti a határt.<br />

20:<br />

A megadott egyenes megsérti a határt. Ez az érték lesz<br />

visszaadva akkor is, ha a végpont maga nem sérti meg a<br />

határt, azonban a kezdő- és végpont közötti úton egy<br />

határérték-sértés lépne fel (pl. keresztülhaladás agy védelmi<br />

tartományon, kanyargós szoftverhatárok MKR-ben nemlineáris<br />

transzformációknál, pl. Transmit).<br />

százas helyiérték<br />

100:<br />

A pozitív határérték lesz megsértve (csak ha az egyes<br />

helyiérték 1 vagy 2, azaz szoftver-határoknál és munkatérhatárolásnál)<br />

100:<br />

Egy NCK védelmi-tartomány lesz megsértve (csak ha az egyes<br />

helyiérték 3).<br />

200:<br />

A negatív határérték lesz megsértve (csak ha az egyes<br />

helyiérték 1 vagy 2, azaz szoftver-határoknál és munkatérhatárolásnál)<br />

200:<br />

Egy csatorna-specifikus védelmi-tartomány lesz megsértve<br />

(csak ha az egyes helyiérték 3).<br />

ezres helyiérték<br />

1000:<br />

Tényező, amivel a tengely száma szorozva lesz, amelyik<br />

megsérti a határt (csak ha az egyes helyiérték 1 vagy 2, azaz<br />

szoftverhatároknál és munkatér-határolásnál).<br />

A tengelyek számozása 1-nél kezdődik és szoftver-határok<br />

megsértésénél (egyes helyiérték = 1) a géptengelyre és a<br />

munkatérhatárolás megsértésénél (egyes helyiérték = 2) a<br />

geometriatengelyre vonatkozik.<br />

1000:<br />

Tényező, amivel a megsértett védelmi tartomány száma<br />

szorozva lesz (csak ha az egyes helyiérték 3).<br />

Ha több védelmi-tartomány lesz megsértve, a százas és ezres<br />

helyiértékeken az a védelmi tartomány lesz jelezve, amelyik a<br />

megadott mozgás legerősebb korlátozását okozza.<br />

Munka-előkészítés<br />

224 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Védelmi tartományok<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok vizsgálata (CALCPOSI)<br />

_STARTPOS<br />

_MOVEDIST<br />

_DLIMIT<br />

_MAXDIST<br />

_BASE_SYS<br />

_TESTLIM<br />

abszcissza [0], ordináta [1] és applikáta [2] kezdőérték MKRben<br />

abszissza [0], ordináta [1] és applikáta [2] növekményes<br />

útmegadás<br />

[0] - [2]: Geometria-tengelyekhez rendelt minimum-távolságok.<br />

[3]: Lineáris géptengelyekhez rendelt minimum-távolság egy<br />

nem lineáris tarnszformációnál, ha nem lehet egyértelműen<br />

geometriatengelyt hozzárendelni.<br />

[4]: Forgó géptengelyekhez rendelt minimum-távolság egy nem<br />

lineáris tarnszformációnál, ha nem lehet egyértelműen<br />

geometriatengelyt hozzárendelni. Csak speciális<br />

transzformációknál, ha a szoftver-határokat felügyelni kell.<br />

Mező [0] - [2] visszaadási értékekre. Növekményes út mind a<br />

három geometria-tengelyre, anélkül, hogy a megadott<br />

minimum-távolságnál egy tengely-határ kisebb lenne az érintett<br />

géptengelyeken.<br />

Ha a mozgás nincs korlátozva, ennek a visszaadási<br />

paraméternek az értéke egyenlő a _MOVDIST tartalmával.<br />

FALSE vagy paraméter nincs megadva:<br />

A pozíció- és útadatok kiértékelésénél a csoport 13 G-kódja<br />

(G70, G71, G700, G710; hüv./metrikus) lesz kiértékelve. Aktív<br />

G70-nél és metrikus alaprendszernél (ill. aktív G71-nél és hüvnél)<br />

a MKR rendszerváltozók $AA_IW[X] és $AA_MW[X])<br />

lesznek kiadva az alaprendszerben és adott esetben az<br />

alkalmazáshoz a CALCPOSI funkcióval át kell számítani<br />

azokat.<br />

TRUE:<br />

A pozíció- és útadatok kiértékelésénél mindig a vezérlés<br />

alaprendszere használva a csoport 13 aktív G értékétől<br />

függetlenül.<br />

Megvizsgálandó határolások (binárisan kódolva):<br />

1: szoftver-határok felügyelete<br />

2: munkatér-határolások felügyelete<br />

3: aktivált védő-tartományok felügyelete<br />

4: aktivált védő-tartományok felügyelete<br />

Kombinációk az értékek összeadásával. Alapérték: 15; mindet<br />

felügyelni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 225


Védelmi tartományok<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok vizsgálata (CALCPOSI)<br />

Példa<br />

A példában (lásd a képen) be vannak rajzolva a szoftver-határok és munkatér-határolások.<br />

Kiegészítőleg van a három védelmi tartomány definiálva, a C2 és C4 csatorna-specifikus<br />

védelmi-tartományok és a z N3 NCK védelmi-tartomány. A C2 egy köralakú, szerszámravonatkoztatott<br />

védelmi-tartomány 2 mm-es sugárral. A C4 egy négyzetes, előre aktivált és<br />

munkadarabra-vonatkoztatott védelmi-tartomány 10 mm-es oldalhosszal és az N3 egy<br />

derékszögű aktív védelmi tartomány 10 ill. 15 mm-es oldalhosszakkal. A következőkben<br />

először a védelmi-tartományok és a munkatér-határolások lesznek a rajz szerint definiálva,<br />

és azután fel lesz hívva a CALCPOSI funkció különböző paraméterezésekkel. A CALCPOSI<br />

egyes felhívásának eredményei a példa végén egy táblázatban vannak összefoglalva.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

N10 def real _STARTPOS[3]<br />

N20 def real _MOVDIST[3]<br />

N30 def real _DLIMIT[5]<br />

N40 def real _MAXDIST[3]<br />

N50 def int _SB<br />

N60 def int _STATUS<br />

Kommentár<br />

Munka-előkészítés<br />

226 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Védelmi tartományok<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok vizsgálata (CALCPOSI)<br />

Programkód<br />

N70 cprotdef(2, true, 0)<br />

N80 g17 g1 x–y0<br />

N90 g3 i2 x2<br />

N100 i–x–<br />

N110 execute(_SB)<br />

N120 cprotdef(4, false, 0)<br />

N130 g17 g1 x0 y15<br />

N140 X10<br />

N150 y25<br />

N160 x0<br />

N170 y15<br />

N180 execute(_SB)<br />

N190 nprotdef(3, false, 0)<br />

N200 g17 g1 x10 y5<br />

N210 x25<br />

N220 y15<br />

N230 x10<br />

N240 y5<br />

N250 execute(_SB)<br />

N260 cprot(2,2,0, 0, 0)<br />

N270 cprot(4,1,0, 0, 0)<br />

N280 nprot(3,2,0, 0, 0)<br />

N290 g25 XX=–YY=–<br />

N300 g26 xx= 20 yy= 21<br />

N310 _STARTPOS[0] = 0.<br />

N320 _STARTPOS[1] = 0.<br />

N330 _STARTPOS[2] = 0.<br />

N340 _MOVDIST[0] = 35.<br />

N350 _MOVDIST[1] = 20.<br />

N360 _MOVDIST[2] = 0.<br />

N370 _DLIMIT[0] = 0.<br />

N380 _DLIMIT[1] = 0.<br />

N390 _DLIMIT[2] = 0.<br />

N400 _DLIMIT[3] = 0.<br />

N410 _DLIMIT[4] = 0.<br />

;különböző funkció-hívások<br />

N420 _STATUS = calcposi(_STARTPOS,_MOVDIST,<br />

_DLIMIT, _MAXDIST)<br />

N430 _STATUS = calcposi(_STARTPOS,_MOVDIST,<br />

_DLIMIT, _MAXDIST,,3)<br />

N440 _STATUS = calcposi(_STARTPOS,_MOVDIST,<br />

_DLIMIT, _MAXDIST,,1)<br />

Kommentár<br />

; szerszámra vonatkozó védelmi<br />

tartomány<br />

; munkadarabra vonatkozó védelmi<br />

tartomány<br />

; gépre-vonatkoztatott védelmitartomány<br />

; védelmi-tartományokat aktiválni<br />

ill. előre aktiválni<br />

; munkatér-határolásokat definiálni<br />

; másik kezdőpont<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 227


Védelmi tartományok<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok vizsgálata (CALCPOSI)<br />

Programkód<br />

N450 _STARTPOS[0] = 5.<br />

N460 _STARTPOS[1] = 17.<br />

N470 _STARTPOS[2] = 0.<br />

N480 _MOVDIST[0] = 0.<br />

N490 _MOVDIST[1] =–.<br />

N500 _MOVDIST[2] = 0.<br />

;különböző funkció-hívások<br />

N510 _STATUS = calcposi(_STARTPOS,_MOVDIST,<br />

_DLIMIT, _MAXDIST,,14)<br />

N520 _STATUS = calcposi(_STARTPOS,_MOVDIST,<br />

_DLIMIT, _MAXDIST,, 6)<br />

N530 _DLIMIT[1] = 2.<br />

N540 _STATUS = calcposi(_STARTPOS,_MOVDIST,<br />

_DLIMIT, _MAXDIST,, 6)<br />

N550 _STARTPOS[0] = 27.<br />

N560 _STARTPOS[1] = 17.1<br />

N570 _STARTPOS[2] = 0.<br />

N580 _MOVDIST[0] =–.<br />

N590 _MOVDIST[1] = 0.<br />

N600 _MOVDIST[2] = 0.<br />

N610 _DLIMIT[3] = 2.<br />

N620 _STATUS = calcposi(_STARTPOS,_MOVDIST,<br />

_DLIMIT, _MAXDIST,, 12)<br />

N630 _STARTPOS[0] = 0.<br />

N640 _STARTPOS[1] = 0.<br />

N650 _STARTPOS[2] = 0.<br />

N660 _MOVDIST[0] = 0.<br />

N670 _MOVDIST[1] = 30.<br />

N680 _MOVDIST[2] = 0.<br />

N690 trans x10<br />

N700 arot z45<br />

N710 _STATUS = calcposi(_STARTPOS,_MOVDIST,<br />

_DLIMIT, _MAXDIST)<br />

N720 M30<br />

Kommentár<br />

; másik cél<br />

Munka-előkészítés<br />

228 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Védelmi tartományok<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok vizsgálata (CALCPOSI)<br />

A vizsgálatok eredményei a példában:<br />

mondatszám _STATUS _MAXDIST _MAXDIST Megjegyzés<br />

N...<br />

[0] (= X) [1] (= Y)<br />

420 3123 8.040 4.594 SB N3 védelmi-tartomány megsértése<br />

430 1122 20.000 11.429 Nincs SB–felügyelet, munkatér-határolás<br />

megsértése<br />

440 1121 30.000 17.143 Már csak a szoftver-határok felügyelete<br />

aktív.<br />

510 4213 0.000 0.000 Kezdőpont megsérti SB C4-et<br />

520 0000 0.000 –.000 Előre aktivált SB C4 nem lesz<br />

felügyelve. A megadott utat teljesen meg<br />

lehet tenni.<br />

540 2222 0.000 –.000 A _DLIMIT[1]=2 miatt az elmozdulást a<br />

munkatér-határolás korlátozza.<br />

620 4223 –.000 0.000 A távolság C4-hez C2 és _DLIMIT[3]<br />

miatt összesen 4 mm. A C2 –N3 0.1<br />

mm-es távolság nem okozza az<br />

elmozdulás korlátozását.<br />

710 1221 0.000 21.213 Frame eltolással és elforgatással aktív.<br />

A megengedett elmozdulás a<br />

_MOVDIST-ben az eltolt és elforgatott<br />

koordináta-rendszerben (MKR)<br />

érvényes.<br />

Különleges esetek és további részletek<br />

Az összes útadat mindig sugáradat a síktengelyeknél is aktív G "DIAMON"-nal. Ha az<br />

érintett tengelyek egyikén az út nem tehető meg teljesen, a _MAXDIST visszaadási értékben<br />

a többi tengely értéke is megfelelően csökkentve lesz, így az eredő végpont a megadott<br />

pályán van.<br />

Megengedett, hogy egy vagy több érintett tengelyre nincs szoftver-határok ill. munkatérhatárolások<br />

ill. védelmi-tartományok definiálva. Az összes tengely csak akkor lesz<br />

felügyelve, ha az érintett tengelyek referáltak. Esetlegesen érintett körtengelyek csak akkor<br />

lesznek felügyelve, ha nem modulo-tengelyek.<br />

A szoftver-határok és a munkatér-határolások felügyelete, akárcsak a normális mozgási<br />

üzemben, függ az aktív beállításoktól (interfészjelek a szoftver-határ 1 ill. szoftver-határ 2<br />

kiválasztásához, GWALIMON/WALIMOF, beállítási adatok a munkatér-határolások<br />

individuális aktiválásához és annak megadásához, hogy a munkatér-határolás felügyeleténél<br />

az aktív szerszám sugara figyelembe legyen-e véve).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 229


Védelmi tartományok<br />

3.3 Védelmi-tartomány sértés, munkatér-határolás és szoftver-határok vizsgálata (CALCPOSI)<br />

Bizonyos kinematikai transzformációknál (pl. TRANSMIT) nem lehet egyértelműen<br />

meghatározni a géptengelyek pozícióját a munkadarab-koordinátarendszer (MKR)<br />

pozícióiból (többértelműség). A normális mozgási üzemben az egyértelműség általában az<br />

előtörténetből adódik, és abból, hogy egy folytonos mozgás az MKR-ben meg kell feleljen a<br />

géptengelyek folytonos mozgásának. A szoftver-határok felügyeleténél a CALCPOSI funkció<br />

segítségével a többértelműség feloldásához a jelenlegi géppozíció lesz figyelembe véve.<br />

Ezért esetleg a CALCPOSI előtt egy STOPRE-t kell programozni, hogy a funkciót érvényes<br />

géptengely-pozíciókkal el lehessen látni.<br />

Nincs biztosítva, hogy a védelmi-tartományokhoz egy adott úton való mozgásnál a n<br />

_DLIMIT[3]-ban specifikált távolság mindenütt be lesz tartva. Ezért a _MOVDIST-ban<br />

visszaadott végpontnak ezzel távolsággal meghosszabbítása nem sérthet védelmi<br />

tartományt. Az egyenes azonban tetszőlegesen közel vezethet el egy védelmi tartomány<br />

mellet.<br />

Megjegyzés<br />

Részletek találhatók a munkatér-határoláshoz<br />

/PG/ Programozási kézikönyv Alapok,<br />

a szoftver-határokhoz<br />

/FB1/ Alap funkciók működési kézikönyv; Tengely felügyeletek, védelmi tartományok (A3).<br />

Munka-előkészítés<br />

230 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások 4<br />

4.1 Kódolt pozíciókra menni (CAC, CIC, CDC, CACP, CACN)<br />

Funkció<br />

A következő utasításokkal lehetséges egyenes- és körtengelyeket pozíciószámokkal a<br />

gépadat táblázatokban megadott fix tengelypozíciókra menni. Ezt programozási módot<br />

"Kódolt pozícióra menés"-nek nevezik.<br />

Szintaxis<br />

CAC()<br />

CIC()<br />

CACP()<br />

CACN()<br />

Jelentés<br />

CAC()<br />

CIC()<br />

CDC()<br />

CACP()<br />

CACN()<br />

<br />

n pozíciószám kódolt pozíciójára menni<br />

kódolt pozícióra, kiindulva az aktuális pozíciószámból, n pozícióhellyel<br />

előre (+n) vagy vissza (-n) menni<br />

n pozíciószám kódolt pozíciójára a legrövidebb úton menni<br />

(csak körtengelyekre)<br />

n pozíciószám kódolt pozíciójára pozitív irányban menni<br />

(csak körtengelyekre)<br />

n pozíciószám kódolt pozíciójára negatív irányban menni<br />

(csak körtengelyekre)<br />

pozíciószám a gépadat táblázaton belül<br />

értéktartomány: 0, 1, … (táblázat helyek max. száma - 1)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 231


Speciális út-utasítások<br />

4.1 Kódolt pozíciókra menni (CAC, CIC, CDC, CACP, CACN)<br />

Példa: Egy pozícionáló tengely kódolt pozícióira menet<br />

Programozási kód<br />

Kommentár<br />

N10 FA[B]=300 ; előtolás B pozícionáló tengelyekre<br />

N20 POS[B]=CAC(10) ; pozíciószám 10 kódolt pozíciójára menni<br />

N30 POS[B]=CIC(-4) ; "aktuális pozíciószám" -4 kódolt pozíciójára menni<br />

Irodalom<br />

● Bővítő funkciók működési kézikönyv; Osztó-tengelyek (T1)<br />

● Szinkron-akciók működési kézikönyv<br />

Munka-előkészítés<br />

232 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT,<br />

BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)<br />

Funkció<br />

A munkadarabok tetszőlegesen tördelt kontúrjait analitikailag nem lehet pontosan leírni. Az<br />

ilyen kontúrok ezért egy korlátozott számú támponttal, pl. a felület digitalizálásánál, közelítve<br />

lesznek. Egy digitalizált felület létrehozásához egy munkadarabon a támpontokat össze kell<br />

kötni egy kontúr-leíráshoz. Ezt teszi lehetővé a Spline interpoláció.<br />

Egy Spline egy görbét definiál, amely 2. és 3. fokú polinomokból tevődik össze. Egy Spline<br />

támpontjainak a tulajdonságai az alkalmazott Spline típustól függően definiálhatók.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A SINUMERIK solution line-nál a következő Spline típusok állnak rendelkezésre:<br />

● A-Spline<br />

● B-Spline<br />

● C-Spline<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 233


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD,<br />

PL)<br />

Szintaxis<br />

Általános:<br />

ASPLINE X... Y... Z... A... B... C...<br />

BSPLINE X... Y... Z... A... B... C...<br />

CSPLINE X... Y... Z... A... B... C...<br />

B-Spline-nál továbbá programozható:<br />

PW=<br />

SD=2<br />

PL=<br />

A- és C-Spline-oknál továbbá programozható:<br />

BAUTO / BNAT / BTAN<br />

EAUTO / ENAT / ETAN<br />

Jelentés<br />

Spline interpoláció típusok:<br />

ASPLINE<br />

utasítás az A-Spline interpoláció bekapcsolásához<br />

BSPLINE<br />

utasítás az B-Spline interpoláció bekapcsolásához<br />

CSPLINE<br />

utasítás a C-Spline interpoláció bekapcsolásához<br />

Az ASPLINE, BSPLINE és CSPLINE utasítások modálisan hatásosak és<br />

az út-utasítások csoportjába tartoznak<br />

Támpontok ill. vezérlőpontok:<br />

X... Y... Z...<br />

A... B... C...<br />

pozíciók derékszögű koordinátákban<br />

Pont-súlyozás (csak B-Spline):<br />

PW<br />

A PW utasítással minden támponthoz lehetséges egy "pont-súly"<br />

programozása.<br />

<br />

"pont-súly"<br />

értéktartomány: 0 ≤ n ≤ 3<br />

lépéshossz: 0.0001<br />

hatás:<br />

n > 1 a görbét a vezérlő pont erősebben<br />

vonzza<br />

n < 1 a görbét a vezérlő pont kevésbé<br />

erősen vonzza<br />

Spline-fok (csak B-Spline):<br />

SD<br />

Szabványosan 3. fokú poligon van alkalmazva. Az SD=2<br />

programozásával lehetegy 2. fokú poligont is alkalmazni.<br />

Munka-előkészítés<br />

234 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)<br />

Csomó-távolság (csak B-Spline):<br />

PL<br />

A csomó távolságok belül lesznek megfelelően kiszámítva. A<br />

vezérlés képes előre megadott csomó távolságokat is feldolgozni,<br />

amelyek az úgynevezett PL paraméter-intervallum hosszban vannak<br />

megadva.<br />

<br />

paraméter-intervallum hossz<br />

értéktartomány: mint az útméret<br />

Átmenet-viselkedés a Spline görbe elején (csak A- vagy C-Spline):<br />

BAUTO<br />

Nincs előbeállítás az átmeneti viselkedéshez. A kezdet az első pont<br />

helyzetéből adódik.<br />

BNAT<br />

görbültség nulla<br />

BTAN<br />

érintőleges átmenet az előző mondathoz (törlési állapot)<br />

Átmenet-viselkedés a Spline görbe végén (csak A- vagy C-Spline):<br />

EAUTO<br />

Nincs előbeállítás az átmeneti viselkedéshez. A vég az utolsó pont<br />

helyzetéből adódik.<br />

ENAT<br />

görbültség nulla<br />

ETAN<br />

érintőleges átmenet az előző mondathoz (törlési állapot)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Megjegyzés<br />

A programozható átmeneti viselkedésnek nincsenek hatása a B- Spline-ra. A B-Spline a<br />

kezdő- és végpontjában mindig érintőleges a vezérlő-poligonhoz.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 235


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD,<br />

PL)<br />

Peremfeltételek<br />

● A szerszámsugár-korrekció alkalmazható.<br />

● Az ütközés felügyelet a síkba vetítve történik.<br />

Példák<br />

Példa 1: B-Spline<br />

Program-kód 1 (minden súly 1)<br />

N10 G1 X0 Y0 F300 G64<br />

N20 BSPLINE<br />

N30 X10 Y20<br />

N40 X20 Y40<br />

N50 X30 Y30<br />

N60 X40 Y45<br />

N70 X50 Y0<br />

Program-kód 2 (különböző súlyok)<br />

N10 G1 X0 Y0 F300 G64<br />

N20 BSPLINE<br />

N30 X10 Y20 PW=2<br />

N40 X20 Y40<br />

N50 X30 Y30 PW=0.5<br />

N60 X40 Y45<br />

N70 X50 Y0<br />

Programmcode 3 (vezérlő poligon)<br />

Kommentár<br />

N10 G1 X0 Y0 F300 G64<br />

N20 ; nincs<br />

N30 X10 Y20<br />

N40 X20 Y40<br />

N50 X30 Y30<br />

N60 X40 Y45<br />

N70 X50 Y0<br />

Munka-előkészítés<br />

236 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Példa 2: C-Spline, görbület a kezdetén és végén nulla<br />

Programkód<br />

N10 G1 X0 Y0 F300<br />

N15 X10<br />

N20 BNAT ENAT<br />

N30 CSPLINE X20 Y10<br />

N40 X30<br />

N50 X40 Y5<br />

N60 X50 Y15<br />

N70 X55 Y7<br />

N80 X60 Y20<br />

N90 X65 Y20<br />

N100 X70 Y0<br />

N110 X80 Y10<br />

N120 X90 Y0<br />

N130 M30<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 237


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD,<br />

PL)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Példa 3: Spline interpoláció (A-Spline) és koordináta-transzformáció (ROT)<br />

Főprogram:<br />

Programkód<br />

Kommentár<br />

N10 G00 X20 Y18 F300 G64<br />

; kezdőpontot felvenni<br />

N20 ASPLINE<br />

; A-Spline interpolációs típust aktiválni<br />

N30 KONTUR<br />

; alprogram első felhívása<br />

N40 ROT Z-45 ; koordináta-transzformáció: MKR forgatása -<br />

45°-kal a Z tengely körül<br />

N50 G00 X20 Y18<br />

; kontúr kezdőpontot felvenni<br />

N60 KONTUR<br />

; alprogram második felhívása<br />

N70 M30<br />

; programvég<br />

"Kontur" alprogram (tartalmazza az összes támpont koordinátát):<br />

Programkód<br />

N10 X20 Y18<br />

N20 X10 Y21<br />

N30 X6 Y31<br />

N40 X18 Y31<br />

N50 X13 Y43<br />

N60 X22 Y42<br />

N70 X16 Y58<br />

N80 X33 Y51<br />

N90 M1<br />

Munka-előkészítés<br />

238 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)<br />

A következő ábra a programpéldából adódó Spline görbe (ASPLINE) mellett tartalmazza<br />

azokat a Spline görbéket is, amelyek egy B- vagy C-Spline interpoláció aktiválásánál<br />

(BSPLINE, CSPLINE) adódtak volna:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

További információk<br />

A Spline interpoláció előnyei<br />

A Spline interpoláció alkalmazásával a következő előnyök érhetők el a G01 egyenes<br />

mondatok alkalmazásával szemben:<br />

● A kontúr leírásához szükséges munkadarabprogram mondatok száma csökken.<br />

● Puhább, a mechanikát jobban kímélő kontúr lefutás a munkadarabprogram mondatok<br />

között.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 239


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD,<br />

PL)<br />

A különböző Spline típusok tulajdonságai és alkalmazásuk<br />

Spline-típus<br />

tulajdonságok és alkalmazás<br />

A-Spline<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Tulajdonságok:<br />

Pontosan a megadott támpontokon keresztül fut.<br />

A görbe lefutása érintő- de nem görbület-állandó.<br />

Alig eredményez akaratlan lengéseket.<br />

A támpontok változtatásának befolyási tartománya helyi, vagyis egy támpont<br />

megváltoztatása csak max. 6 szomszédos támpontra hat ki.<br />

Alkalmazás:<br />

Az A-Spline mindenek előtt a nagy meredekség-változású (pl. lépcső-formájú)<br />

görbék interpolációjára alkalmas.<br />

Munka-előkészítés<br />

240 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)<br />

Spline-típus<br />

tulajdonságok és alkalmazás<br />

B-Spline<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Tulajdonságok:<br />

Lefutás nem közvetlenül a megadott támpontokon, hanem csak a<br />

közelükben. A görbét a támpontok vonzzák. A támpontok súlyozásával egy<br />

tényezővel a görbe lefutását kiegészítőleg befolyásolni lehet.<br />

A görbe lefutása érintő- és görbület-állandó.<br />

Nem eredményez akaratlan lengéseket.<br />

A támpontok változtatásának befolyási tartománya helyi, vagyis egy támpont<br />

megváltoztatása csak max. 6 szomszédos támpontra hat ki.<br />

Alkalmazás:<br />

A B-Spline elsősorban CAD-rendszerek csatolására szolgál.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 241


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD,<br />

PL)<br />

Spline-típus<br />

tulajdonságok és alkalmazás<br />

C-Spline<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Tulajdonságok:<br />

Pontosan a megadott támpontokon keresztül fut.<br />

A görbe lefutása érintő- és görbület-állandó.<br />

Gyakran eredményez akaratlan lengéseket, különösen a nagy meredekségváltozású<br />

helyeken.<br />

A támpontok változtatásának befolyási tartománya globális, vagyis egy<br />

támpont megváltoztatása a teljes görbe lefutására kihat.<br />

Alkalmazás:<br />

A C-Spline-t akkor lehet jól használni, ha a támpontok egy analitikailag ismert<br />

görbén (kör, parabola, hiperbola) találhatók.<br />

Munka-előkészítés<br />

242 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)<br />

A három Spline-típus összevetése azonos támpontok esetén<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Spline-mondatok minimális száma<br />

A ASPLINE, BSPLINE és CSPLINE G-kódok mondatvégpontokat kötnek össze Spline-okkal.<br />

Ehhez előrefutással egy sor mondatot (végpontokat) kell egyidejűleg kiszámítani. A puffer<br />

nagysága a számításhoz alap-beállításban 10 mondat. Nem minden mondat információ egy<br />

Spline-végpont. A vezérlésnek azonban a 10 mondatból egy bizonyos számú Spline-végpont<br />

mondatra van szüksége:<br />

Spline-típus<br />

A-Spline:<br />

B-Spline:<br />

C-Spline:<br />

Spline-mondatok minimális száma<br />

Minden 10 mondatból legalább 4 Spline-mondat kell legyen.<br />

Kommentár mondatok és paraméter számítások itt nem számítanak.<br />

Minden 10 mondatból legalább 6 Spline-mondat kell legyen.<br />

Kommentár mondatok és paraméter számítások itt nem számítanak.<br />

A Spline-mondatok szükséges minimális száma a következő összegből adódik:<br />

MD20160 $MC_CUBIC_SPLINE_BLOCKS + 1 értéke<br />

Az MD20160-ban a pontok száma van megadva, amelyekből a Spline-szakasz lesz<br />

kiszámítva. Az alap-beállítás 8. Minden 10 mondatból alap-esetben legalább 9<br />

Spline-mondat kell legyen.<br />

Megjegyzés<br />

Az elfogadható értékek átírásánál, ill. ha egy a Spline-ban érintett tengely pozícionáló<br />

tengelyként van programozva, egy vészjelzés kerül kiadásra.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 243


Speciális út-utasítások<br />

4.2 Spline interpoláció (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD,<br />

PL)<br />

Rövid Spline-mondatok összefogása<br />

A Spline interpolációnál keletkezhetnek rövid Spline-mondatok, amelyek a pályasebesség<br />

szükségtelen csökkenéséhez vezetnek. A "Rövid Spline-mondatok összefogása" funkcióval<br />

ezeket a mondatokat össze lehet úgy fogni, hogy az eredő mondathossz kielégítően nagy és<br />

nem okoz pályasebesség csökkenést.<br />

A funkció a következő csatorna-specifikus gépadattal aktiválható:<br />

MD20488 $MC_SPLINE_MODE ((beállítás Spline interpolációhoz)<br />

Irodalom:<br />

Alap funkciók működési kézikönyv; Pályavezérlő-üzem, pontos-állj, LookAhead (B1),<br />

fejezet: Rövid Spline-mondatok összefogása<br />

Munka-előkészítés<br />

244 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.3 Spline-kötelék (SPLINEPATH)<br />

4.3 Spline-kötelék (SPLINEPATH)<br />

Funkció<br />

A Spline-kötelékben interpoláló tengelyeket a SPLINEPATH utasítással kell kiválasztani.<br />

Maximum nyolc pályatengely lehetséges a Spline-interpolációnál.<br />

Megjegyzés<br />

Ha a SPLINEPATH nincs programozva, a csatorna első három tengelye mozog Splinekötelékként.<br />

Szintaxis<br />

A Spline-kötelék megadása egy külön mondatban történik.<br />

SPLINEPATH(n,X,Y,Z,…)<br />

Jelentés<br />

SPLINEPATH<br />

n<br />

X,Y,Z,…<br />

utasítás a Spline-kötelék megadására<br />

=1 (fix érték)<br />

a Spline-kötelékben interpoláló pályatengelyek megadása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 245


Speciális út-utasítások<br />

4.3 Spline-kötelék (SPLINEPATH)<br />

Példa: Spline-kötelék három pályatengellyel<br />

Programkód<br />

N10 G1 X10 Y20 Z30 A40 B50 F350<br />

N11 SPLINEPATH(1,X,Y,Z)<br />

N13 CSPLINE BAUTO EAUTO X20 Y30 Z40 A50 B60<br />

N14 X30 Y40 Z50 A60 B70<br />

…<br />

N100 G1 X… Y…<br />

Kommentár<br />

; Spline-kötelék<br />

; C-Spline<br />

; támpontok<br />

; Spline-interpoláció<br />

kikapcsolása<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

246 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.4 NC-mondat kompresszió (COMPON, COMPCURV, COMPCAD, COMPOF)<br />

4.4 NC-mondat kompresszió (COMPON, COMPCURV, COMPCAD,<br />

COMPOF)<br />

Funkció<br />

A CAD/CAM-rendszerek általában egyenes-mondatokat adnak ki, amelyek a paraméterezett<br />

pontosságot betartják. Ez bonyolult kontúroknál egy jelentős adatmennyiséghez és esetleg<br />

túl rövid pálya-szakaszokhoz vezet. Ezek a túl rövid pálya-szakaszok korlátozzák a<br />

megmunkálási sebességet.<br />

Egy kompresszor funkció alkalmazásával az egyenes-mondatokkal megadott kontúr<br />

közelítése történik polinom-mondatokkal. Ebből a következő előnyök adódnak:<br />

● a munkadarab-kontúr leírásához szükséges munkadarabprogram mondatok száma<br />

csökken<br />

● egyenletes mondatátmenetek<br />

● a maximálisan lehetséges pályasebesség növelése<br />

A következő kompresszor funkciók állnak rendelkezésre:<br />

● COMPON<br />

A mondat-átmeneteknél csak a sebesség egyenletes, de az érintett tengelyek<br />

gyorsulásában a mondat-átmeneteknél lehet ugrás.<br />

● COMPCURV<br />

A mondat-átmenetek egyenletes gyorsulásúak. Ezzel a sebesség és a gyorsulás lefutása<br />

is egyenletes a mondat-átmeneteknél.<br />

● COMPCAD<br />

Számítási idő és tárolóhely intenzív kompresszió, ami a felületi minőség és a sebesség<br />

szempontjából optimalizál. A COMPCAD csak akkor kell használni, ha a CAD/CAM<br />

program felületi minőség javítását szolgáló előzetes intézkedések nem voltak<br />

eredményesek.<br />

A kompresszor funkció a COMPOF-fal lesz befejezve.<br />

Szintaxis<br />

COMPON<br />

COMPCURV<br />

COMPCAD<br />

COMPOF<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 247


Speciális út-utasítások<br />

4.4 NC-mondat kompresszió (COMPON, COMPCURV, COMPCAD, COMPOF)<br />

Jelentés<br />

COMPON:<br />

COMPCURV:<br />

COMPCAD:<br />

COMPOF:<br />

utasítás a COMPON kompresszor funkció bekapcsolásához<br />

hatásosság: modális<br />

utasítás a COMPCURV kompresszor funkció bekapcsolásához<br />

hatásosság: modális<br />

utasítás a COMPCAD kompresszor funkció bekapcsolásához<br />

hatásosság: modális<br />

utasítás az aktuális kompresszor funkció kikapcsolásához<br />

Megjegyzés<br />

A felületi minőség további javítására lehet használni a G642 átsimítás funkciót és a SOFT<br />

rándítás-határolást. Ezeket az utasításokat a program elejére kell írni.<br />

Peremfeltételek<br />

● Az NC-mondat kompresszió általában egyenes-mondatokon (G1) lesz végrehajtva.<br />

● Csak az egyszerű szintakszisú mondatok lesznek végrehajtva:<br />

N... G1X... Y... Z... F... ;kommentár<br />

Az összes többi mondat változatlanul (kompresszió nélkül) lesz végrehajtva.<br />

● A bővített című elmozdulás-mondatok, mint C=100 vagy A=AC(100) is komprimálva<br />

lesznek.<br />

● A pozíció értékeket nem kell közvetlenül programozni, meglehetnek adva közvetetten is<br />

paraméter-hozzárendelésekkel, pl. X=R1*(R2+R3).<br />

● Ha rendelkezésre áll a "Tájolási transzformáció" opció, lehet azokat az NC-mondatokat is<br />

komprimálni, amelyekben a szerszámtájolás (és esetleg a szerszámforgatás is)<br />

irányvektorokkal van programozva (lásd "Tájolás komprimálása (Oldal 353)").<br />

● A kompressziós folyamatot megszakít minden más NC utasítás, pl. egy segédfunkció<br />

kiadás.<br />

Munka-előkészítés<br />

248 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.4 NC-mondat kompresszió (COMPON, COMPCURV, COMPCAD, COMPOF)<br />

Példák<br />

Példa 1: COMPON<br />

Programkód<br />

Kommentár<br />

N10 COMPON ; COMPON kompresszor funkció be<br />

N11 G1 X0.37 Y2.9 F600 ; G1 a végpont és az előtolás előtt<br />

N12 X16.87 Y–.698<br />

N13 X16.865 Y–.72<br />

N14 X16.91 Y–.799<br />

…<br />

N1037 COMPOF ; kompresszor funkció ki<br />

…<br />

Példa 2: COMPCAD<br />

Programkód<br />

Kommentár<br />

G00 X30 Y6 Z40<br />

G1 F10000 G642 ; G642 átsimítás funkció be<br />

SOFT ; SOFT rándítás határolás be<br />

COMPCAD ; COMPCAD kompresszor funkció be<br />

STOPFIFO<br />

N24050 Z32.499<br />

N24051 X41.365 Z32.500<br />

N24052 X43.115 Z32.497<br />

N24053 X43.365 Z32.477<br />

N24054 X43.556 Z32.449<br />

N24055 X43.818 Z32.387<br />

N24056 X44.076 Z32.300<br />

…<br />

COMPOF ; kompresszor funkció ki<br />

G00 Z50<br />

M30<br />

Irodalom<br />

Alap funkciók működési kézikönyv; Pályavezérlő-üzem, pontos-állj, LookAhead (B1),<br />

fejezet: "NC mondat kompresszió"<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 249


Speciális út-utasítások<br />

4.5 Polinom-interpoláció (POLY, POLYPATH, PO, PL)<br />

4.5 Polinom-interpoláció (POLY, POLYPATH, PO, PL)<br />

Funkció<br />

A polinom-interpoláció (POLY) tulajdonképpen nem egy Spline-interpolációs mód. Elsősorban<br />

a külsőleg létrehozott Spline-görbék programozásához szolgál interfészként. Itt lehetséges<br />

Spline-szakaszok közvetlen programozása.<br />

Ez az interpolációs mód tehermentesíti az NC-t a polinom-együtthatók kiszámításától. Akkor<br />

használható optimálisa, ha az együtthatók közvetlenül egy CAD-rendszertől vagy egy<br />

posztprocesszortól jönnek.<br />

Szintaxis<br />

3. fokú polinom:<br />

POLY PO[X]=(xe,a2,a3) PO[Y]=(ye,b2,b3) PO[Z]=(ze,c2,c3) PL=n<br />

5.fokú polinom és új polinom-szintaxis:<br />

POLY X=PO(xe,a2,a3,a4,a5) Y=PO(ye,b2,b3,b4,b5) Z=PO(ze,c2,c3,c4,c5)<br />

PL=n<br />

POLYPATH("AXES","VECT")<br />

Megjegyzés<br />

Az egy mondatban programozott polinom-együtthatók és tengelyek összege nem haladhatja<br />

meg a mondatonként megengedett tengelyszámot.<br />

Jelentés<br />

POLY:<br />

polinom-interpoláció bekapcsolása egy POLY-t<br />

tartalmazó mondattal<br />

POLYPATH:<br />

polinom-interpoláció választható az AXIS vagy<br />

VECT tengelycsoportok mindegyikére<br />

PO[tengely-jelölő/változó]:<br />

végpontok és polinom-együtthatók<br />

X, Y, Z: tengely-jelölők<br />

xe, ye, ze:<br />

tengely végpozíciók megadása;<br />

értéktartomány mint az útméreteknél<br />

Munka-előkészítés<br />

250 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.5 Polinom-interpoláció (POLY, POLYPATH, PO, PL)<br />

a2, a3, a4, a5: Az a2, a3, a4, és a5 együtthatók az értékeikkel<br />

lesznek beírva; értéktartomány mint az<br />

útméretnél Az utolsó együttható elmaradhat,<br />

ha az értéke nulla.<br />

PL:<br />

A paraméter-tartomány hossza, amelyen a<br />

polinom definiálva van (az f(p) függvény<br />

definíciós tartománya).<br />

A tartomány mindig 0-nál kezdődik, a p a 0 ...<br />

PL értéket veheti fel.<br />

Elvi értéktartomány a PL-re:<br />

0,0001 … 99 999,9999<br />

Utalás:<br />

A PL érték arra a mondatra érvényes,<br />

amelyben áll. Ha nincs PL programozva, PL=1<br />

hatásos.<br />

A polinom-interpoláció be-/kikapcsolása<br />

A polinom-interpoláció a munkadarabprogramban a POLY G-utasítással lesz bekapcsolva.<br />

A POLY G-utasítás a G0, G1, G2, G3, ASPLINE, BSPLINE ésCSPLINE G-utasításokkal együtt a<br />

1. G-csoporthoz tartozik.<br />

A csak névvel és végponttal programozott tengelyek (pl. X10), egyenesként lesznek<br />

megtéve. Ha egy NC-mondat összes tengelye így van programozva, a vezérlés úgy<br />

viselkedik, mint a G1-nél.<br />

A polinom-interpoláció az 1. G-csoport egy másik utasításának (pl. G0, G1) programozásával<br />

közvetetten ki lesz kapcsolva.<br />

Polinom-együttható<br />

A PO érték (PO[]=) ill. ...=PO(...) megadja egy tengelyre az összes polinom együtthatót.<br />

A polinom fokának megfelelően több érték van vesszőkkel elválasztva. Egy mondaton belül<br />

lehetségesek különböző fokú polinomok a különböző tengelyekre.<br />

POLYPATH alprogram<br />

A POLYPATH(...)-szal a polinom-interpolációt szelektíven lehet megadni a következő<br />

tengelycsoportokra:<br />

POLYPATH("AXES")<br />

Csak pályatengelyek és kiegészítő tengelyek:<br />

POLYPATH("VECT")<br />

Csak tájolási tengelyek:<br />

(tájolási transzformációval mozgásnál)<br />

A nem engedélyezett tengelyek lineárisan mozognak.<br />

Alap-beállításként a polinom-interpoláció mindkét tengelycsoportra engedélyezve van.<br />

A POLYPATH( ) paraméter nélküli programozása deaktiválja a polinom-interpolációt az összes<br />

tengelyre.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 251


Speciális út-utasítások<br />

4.5 Polinom-interpoláció (POLY, POLYPATH, PO, PL)<br />

Példa<br />

Programkód<br />

N10 G1 X… Y… Z… F600<br />

N11 POLY PO[X]=(1,2.5,0.7) PO[Y]=(0.3,1,3.2) PL=1.5<br />

N12 PO[X]=(0,2.5,1.7) PO[Y]=(2.3,1.7) PL=3<br />

...<br />

N20 M8 H126 …<br />

N25 X70 PO[Y]=(9.3,1,7.67) PL=5<br />

N27 PO[X]=(10,2.5) PO[Y]=(2.3)<br />

N30 G1 X… Y… Z.<br />

…<br />

Kommentár<br />

; polinom-interpoláció be<br />

; vegyes adatok a tengelyekre<br />

; nincs PL programozva, PL=1 hatásos.<br />

; polinom-interpoláció ki<br />

Példa: Új polinom-szintakszis<br />

továbbra is érvényes polinom-szintaxis<br />

Új polinom-szintakszis<br />

PO[tengely-jelölő]=(.. , ..) tengely-jelölő=PO(.. , ..)<br />

PO[PHI]=(.. , ..) PHI=PO(.. , ..)<br />

PO[PSI]=(.. , ..) PSI=PO(.. , ..)<br />

PO[THT]=(.. , ..) THT=PO(.. , ..)<br />

PO[]=(.. , ..) PO(.. , ..)<br />

PO[változó]=IC(.. , ..) változó=PO IC(.. , ..)<br />

Példa: Görbe az X/Y síkban<br />

Programozás<br />

Programkód<br />

N9 X0 Y0 G90 F100<br />

N10 POLY PO[Y]=(2) PO[X]=(4,0.25) PL=4<br />

Munka-előkészítés<br />

252 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.5 Polinom-interpoláció (POLY, POLYPATH, PO, PL)<br />

X(p) és Y(p) görbék lefutása<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Görbe lefutása az XY síkban<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 253


Speciális út-utasítások<br />

4.5 Polinom-interpoláció (POLY, POLYPATH, PO, PL)<br />

Leírás<br />

A polinom-függvény általános formája a következő:<br />

f(p)= a0 + a1p + a2p 2 +. . . + anp n<br />

ahol: an: állandó együtthatók<br />

p: Paraméter<br />

A vezérlésben maximum 5. fokú polinomokat lehet programozni:<br />

f(p)= a0 + a1p + a2p 2 + a3p 3 + a4p 4 + a5p 5<br />

Az együtthatók konkrét értékekkel feltöltésével különböző görbék, mint egyenesek,<br />

parabolák és hatvány-függvények hozhatók létre.<br />

Egyenes létrehozása: a2 = a3 = a4 = a5 = 0:<br />

f(p)= a0 + a1p<br />

Ahol a következő érvényes:<br />

a0: tengely-pozíció az előző mondat végén<br />

p = PL<br />

a1 = (xE - a0 - a2*p 2 - a3*p 3 ) / p<br />

Lehet polinomokat programozni, anélkül, hogy a polinom-interpoláció a POLY G-utasítással<br />

aktiválva lenne. Ebben az esetben azonban nem a programozott polinom lesz interpolálva,<br />

hanem a minden tengely programozott végpontja lineárisan lesz felvéve (G1). Csak polinominterpoláció<br />

aktiválása után a munkadarabprogramban (POLY) lesznek a programozott<br />

polinomok, mint olyanok, mozgatva.<br />

Különlegesség: Nevező-polinom<br />

A geometria-tengelyekre lehet a PO[]=(…)-val a tengelynév megadása nélkül egy közös<br />

nevező-polinomot programozni, azaz a geometria-tengelyek mozgásai két polinom<br />

hányadosaként lesznek interpolálva.<br />

Ezzel lehetséges pl. kúpmetszetek (kör, ellipszis, parabola, hiperbola) pontos ábrázolása.<br />

Példa:<br />

Programkód<br />

Kommentár<br />

POLY G90 X10 Y0 F100 ; a geometria-tengelyek egyenesen<br />

mozognak az X10, Y0 pozícióra<br />

PO[X]=(0,–10) PO[Y]=(10) PO[]=(2,1) ; a geometria-tengelyek negyedkörön<br />

mozognak az X0, Y10 pozícióra<br />

A nevező-polinom állandó együtthatója (a0) mindig 1-nek van feltételezve. A programozott<br />

végpont független a G90 / G91-től.<br />

Munka-előkészítés<br />

254 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.5 Polinom-interpoláció (POLY, POLYPATH, PO, PL)<br />

A programozott értékekből az X(p) és Y(p) kiszámítása:<br />

X(p) = (10 - 10 * p 2 ) / (1 + p 2 )<br />

Y(p) = 20 * p / (1 + p 2 )<br />

0 ≤ p ≤ 1 esetén<br />

A programozott kezdőpontok, végpontok, az a2 együttható és PL=1 alapján a következő<br />

közbenső értékek adódnak:<br />

számláló (X) = 10 + 0 * p - 10 * p 2<br />

számláló (Y) = 0 + 20 * p + 0 * p 2<br />

nevező = 1 + p 2<br />

<br />

<br />

<br />

Bekapcsolt polinom-interpolációnál egy nevező-polinom programozása nullahelyekkel a<br />

tartományon belül [0,PL] vészjelzéssel elutasításra kerül. A kiegészítő-tengelyekre a<br />

nevező- polinomnak nincs hatása.<br />

Megjegyzés<br />

A szerszámkorrekció a polinom-interpolációnál a G41, G42-vel bekapcsolható és akár az<br />

egyenes- vagy körinterpolációnál használható.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 255


Speciális út-utasítások<br />

4.6 Beállítható pálya-vonatkoztatás: (SPATH, UPATH)<br />

4.6 Beállítható pálya-vonatkoztatás: (SPATH, UPATH)<br />

Funkció<br />

A polinom-interpoláció közben a felhasználó két különböző vonatkoztatást kívánhat a<br />

sebesség-meghatározó FGROUP-tengelyek és az egyéb pálya-tengelyek között: Az<br />

utóbbiakat vagy szinkronban az S úttal vagy szinkronban FGROUP tengelyek U<br />

görbeparaméterével kell vezetni.<br />

A pályainterpoláció mindkét módja különféle alkalmazásokban használatos és a 45. G-kód<br />

csoportban levő, modálisan hatásos SPATH és UPATH utasításokkal beállítható/átkapcsolható.<br />

Szintaxis<br />

SPATH<br />

UPATH<br />

Jelentés<br />

SPATH:<br />

UPATH:<br />

pálya-vonatkoztatás az FGROUP-tengelyekre az ívhossz<br />

pálya-vonatkoztatás az FGROUP-tengelyekre a görbeparaméter<br />

Megjegyzés<br />

Az UPATH és az SPATH meghatározzák az F-szó polinom (FPOLY, FCUB, FLIN) összefüggését is a<br />

pályamozgással.<br />

Peremfeltételek<br />

A beállított pálya-vonatkoztatásnak nincs jelentősége:<br />

● egyenes- és körinterpolációnál<br />

● menetvágás-mondatokban<br />

● ha az összes pályatengelyt az FGROUP tartalmazza.<br />

Munka-előkészítés<br />

256 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.6 Beállítható pálya-vonatkoztatás: (SPATH, UPATH)<br />

Példák<br />

Példa 1:<br />

A következő példa egy 20 mm-es él-hosszúságú négyzet átsimítását mutatja G643-mal A<br />

maximális eltérések a pontos kontúrtól az MD33100 $MA_COMPRESS_POS_TOL[]<br />

tengely-specifikus gépadattal minden tengelyre meg vannak adva.<br />

Programkód<br />

N10 G1 X… Y… Z… F500<br />

N20 G643<br />

N30 XO Y0<br />

N40 X20 Y0<br />

N50 X20 Y20<br />

N60 X0 Y20<br />

N70 X0 Y0<br />

N100 M30<br />

Kommentár<br />

; mondaton belüli átsimítás G643-mal<br />

; él-hossz (mm) a tengelyekre<br />

Példa 2:<br />

A következő példa mutatja a különbséget a kétféle mozgás-vezetés között. Mindkét esetben<br />

az FGROUP(X,Y,Z) előbeállítás aktív.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 257


Speciális út-utasítások<br />

4.6 Beállítható pálya-vonatkoztatás: (SPATH, UPATH)<br />

Programkód<br />

N10 G1 X0 A0 F1000 SPATH<br />

N20 POLY PO[X]=(10,10) A10<br />

ill.:<br />

Programkód<br />

N10 G1 X0 F1000 UPATH<br />

N20 POLY PO[X]=(10,10) A10<br />

Az N20 mondatban a négyzet FGROUP-tengelyeinek S útja az U görbeparamétertől függ.<br />

Ekkor az X útja mentén különböző pozíciók adódnak az A szinkron-tengelyre attól függően,<br />

hogy SPATH vagy UPATH aktív.<br />

További információk<br />

A polinom-interpoláció közben- és ezalatt a következőkben a szűkebb értelemben vett<br />

polinom-interpolációt (POLY), az összes Spline-interpolációs fajtát (ASPLINE, BSPLINE,<br />

CSPLINE) és az egyenes-interpolációt kompresszorral (COMPON, COMPCURV) értjük - az<br />

összes i pályatengely pozíciói a pi(U) polinommal vannak megadva. Az U görbeparaméter<br />

egy NC mondaton belül 0-tól 1-ig változik, tehát normálva van.<br />

Az FGROUP utasítással a pályatengelyekből ki lehet választani azokat a tengelyeket,<br />

amelyekre a programozott pályaelőtolás vonatkozzon. Azonban ezeken a tengelyeken egy<br />

interpoláció az S úton állandó sebességgel a polinom-interpoláció közben általában az U<br />

görbeparaméternek egy nem állandó változását jelenti.<br />

A vezérlés viselkedése Reset-nél és gép-/opciós-adatok<br />

A Reset után az MD20150 $MC_GCODE_RESET_VALUES [44] által meghatározott G-kód<br />

hatásos (45. G-kód csoport). A meglevő berendezésekkel a kompatibilitás biztosításához itt<br />

alapértékként az SPATH van beállítva<br />

Az átsimítás módjának alapbeállítás értékét az MD 20150 $MC_GCODE_RESET_VALUES<br />

[9] adja meg (10. G-kód csoport).<br />

Az MD33100 $MA_COMPRESS_POS_TOL[] tengely-specifikus gépadatnak kibővített<br />

jelentése van: tartalmazza a tűréseket a kompresszor funkciókhoz és az átsimításhoz G642-<br />

vel.<br />

Munka-előkészítés<br />

258 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.7 Mérés kapcsoló tapintóval (MEAS, MEAW)<br />

4.7 Mérés kapcsoló tapintóval (MEAS, MEAW)<br />

Funkció<br />

A "Mérés kapcsoló tapintóval" funkcióval a munkadarabon valós pozíciók lesznek felvéve és<br />

a mérőtapintó kapcsoló élnél a mérés-mondatban programozott összes tengelyre a pozíciók<br />

mérésre majd a megfelelő tároló cellákban tárolásra kerülnek.<br />

<br />

<br />

Mérés-mondatok programozása<br />

A funkció programozásához a következő két utasítás áll rendelkezésre:<br />

● MEAS<br />

A MEAS a maradékút a valós-és a célpozíció között törölve lesz<br />

● MEAW<br />

A MEAW speciális mérési feladatokhoz lesz használva, amelyeknél mindenképpen a<br />

programozott pozíciót kell felvenni,<br />

A MEAS és a MEAW mondatonként hatásosak és a mozgási utasításokkal együtt lesznek<br />

programozva. Az előtolások és az interpoláció módja (G0, G1, …), akárcsak a tengelyek<br />

száma, a mindenkori mérési feladathoz illesztendő.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 259


Speciális út-utasítások<br />

4.7 Mérés kapcsoló tapintóval (MEAS, MEAW)<br />

Mérés eredmények olvasása<br />

A mérés eredmények a mérő-tapintóval megmért tengelyekre a következő változókban<br />

állnak rendelkezésre:<br />

● $AA_MM[]<br />

mérés eredmények a gép-koordinátarendszerben<br />

● $AA_MW[]<br />

mérés eredmények a munkadarab-koordinátarendszerben<br />

Ezen változók olvasásánál nem keletkezik belső előrefutás-állj.<br />

Megjegyzés<br />

Az NC-programban a STOPRE-vel kell egy megfelelő helyen előrefutás-álljt programozni.<br />

Különben helytelen értékek lesznek beolvasva.<br />

Szintaxis<br />

MEAS= G... X... Y... Z...<br />

MEAW= G... X... Y... Z...<br />

Jelentés<br />

MEAS<br />

MEAW<br />

<br />

G...<br />

X... Y... Z...<br />

utasítás: mérés maradékút törléssel<br />

hatásosság: mondatonként<br />

utasítás: mérés maradékút törlés nélkül<br />

hatásosság: mondatonként<br />

trigger-esemény a mérés kiváltásához<br />

típus: INT<br />

értéktartomány: -2, -1, 1, 2<br />

Utalás:<br />

Maximum 2 mérőtapintó létezik (kiépítéstől függően).<br />

jelentés:<br />

(+)1 1-es tapintó felfutó éle (1-es mérőbemeneten)<br />

-1 1-es tapintó lefutó éle (1-es mérőbemeneten)<br />

(+)2 2-es tapintó felfutó éle (2-es mérőbemeneten)<br />

-2 2-es tapintó lefutó éle (2-es mérőbemeneten)<br />

Utalás:<br />

Maximum 2 mérőtapintó létezik (kiépítéstől függően).<br />

Interpolációs mód, pl. G0, G1, G2 vagy G3<br />

végpont derékszögű koordinátákban<br />

Munka-előkészítés<br />

260 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.7 Mérés kapcsoló tapintóval (MEAS, MEAW)<br />

Példa<br />

Programkód<br />

Kommentár<br />

N10 MEAS=1 G1 F1000 X100 Y730 Z40 ; mérési mondat az 1-es mérőbemeneten és<br />

egyenes-interpoláció előre-futás állj<br />

automatikusan létrehozva<br />

...<br />

További információk<br />

Mérési feladat állapota<br />

Ha a programban szükséges egy kiértékelés, hogy a mérő-tapintó kapcsolt-e, le lehet<br />

kérdezni az $AC_MEA[n] (n= mérő-tapintó száma) állapot-változót:<br />

Érték Jelentés<br />

0 mérési feladat nincs végrehajtva<br />

1 mérési feladat sikeresen végrehajtva (mérőtapintó kapcsolt)<br />

Megjegyzés<br />

Ha a mérőtapintó a programban kitér, a változó 1-be lesz állítva. Egy mérési mondat<br />

indításánál a változó automatikusan a tapintó kezdőállapotába lesz beállítva.<br />

Mérési érték felvétele<br />

A mondat összes elmozduló pálya- és pozícionáló-tengelyének a pozíciói fel lesznek véve (a<br />

tengelyek maximális száma a vezérlés konfigurációja szerint). A MEAS-nál a mozgás a mérőtapintó<br />

kapcsolása után le lesz fékezve.<br />

Megjegyzés<br />

Ha egy mérési mondatban egy GEO-tengely van programozva, az összes aktuális GEOtengely<br />

értékei felvételre kerülnek.<br />

Ha egy mérési mondatban egy transzformációban érintett tengely van programozva, az<br />

összes, a transzformációban érintett tengely mért értékei felvételre kerülnek<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 261


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

Funkció<br />

A tengelyirányú mérésnél több mérő-tapintót és mérőrendszert lehet használni.<br />

A MEASA ill. MEAWA utasításokkal a mindenkori programozott tengelyre mérésenként max. négy<br />

mérési érték lesz feldolgozva és a trigger-eseménynek megfelelően rendszerváltozókban<br />

letéve.<br />

Folyamatos mérési feladatokat a MEAC utasítással lehet végrehajtani. Ebben az esetben a<br />

mérési eredmények FIFO-változókban lesznek letéve. A MEAC esetén is mérésenként<br />

maximum négy mérési érték lehetséges.<br />

Mérés eredmények olvasása<br />

A mérés eredményei a következő változókban állnak rendelkezésre:<br />

● $AA_MM1...4[]<br />

mérés eredmények a gép-koordinátarendszerben<br />

● $AA_MW1...4[]<br />

mérés eredmények a munkadarab-koordinátarendszerben<br />

Szintaxis<br />

MEASA[]=(,,...,)<br />

MEAWA[]=(,,...,)<br />

MEAC[]=(,,,...,)<br />

Munka-előkészítés<br />

262 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

Megjegyzés<br />

A MEASA és a MEAWA mondatonként hatásosak és együtt programozhatók egy mondatban. Ha<br />

azonban a MEASA/MEAWA és a MEAS/MEAW egy mondatban van programozva, akkor hibajelzés<br />

keletkezik.<br />

Jelentés<br />

MEASA<br />

MEAWA<br />

MEAC<br />

<br />

<br />

<br />

<br />

utasítás: tengely mérés maradékút törléssel<br />

hatásosság: mondatonként<br />

utasítás: tengely mérés maradékút törlés nélkül<br />

hatásosság: mondatonként<br />

utasítás: tengely folytonos mérés maradékút törlés nélkül<br />

hatásosság: mondatonként<br />

méréshez használt csatorna-tengely neve<br />

kétjegyű szám az üzemmód (mérés modus és mérőrendszer)<br />

megadására<br />

mérés modus (egyes jegy):<br />

0 mérési feladatot megszakítani<br />

1 max. 4 különböző egyidőben aktiválható trigger-esemény<br />

2 max. 4 egymásután aktiválható trigger-esemény<br />

3 max. 4 egymásután aktiválható trigger-esemény, de nincs<br />

felügyelet az 1-es trigger-esemény START-nál<br />

(21700/21703 vészjelzések elnyomva)<br />

Utalás:<br />

Ez a modus MEAC-nál nem lehetséges.<br />

mérőrendszer (tízes kegy):<br />

0 (vagy semmi) aktív mérőrendszer<br />

1 mérőrendszer 1<br />

2 mérőrendszer 2<br />

3 mindkét mérőrendszer<br />

Trigger-esemény a mérés kiváltásához<br />

típus: INT<br />

értéktartomány: -2, -1, 1, 2<br />

Jelentés:<br />

(+)1 mérő-tapintó 1 felfutó éle<br />

-1 mérő-tapintó 1 lefutó éle<br />

(+)2 mérő-tapintó 2 felfutó éle<br />

-2 mérő-tapintó 2 lefutó éle<br />

FIFO (kör-tároló) száma<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 263


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

Példák<br />

Példa 1: Tengely mérés maradékút törléssel módus 1-ben (kiértékelés időrendi sorrendben)<br />

a) 1 mérőrendszerrel<br />

Programkód<br />

...<br />

N100 MEASA[X]=(1,1,-1) G01 X100 F100<br />

N110 STOPRE<br />

N120 IF $AC_MEA[1]==FALSE GOTOF ENDE<br />

N130 R10=$AA_MM1[X]<br />

N140 R11=$AA_MM2[X]<br />

N150 ENDE:<br />

Kommentár<br />

; mérés modus 1-ben aktív<br />

mérőrendszerrel Várás a mérőjelre<br />

felfutó/lefutó éllel a mérőtapintó<br />

1-től az X = 100<br />

elmozdulási úton<br />

; előrefutás-állj<br />

; mérés sikerességét ellenőrizni<br />

; az első programozott triggereseményhez<br />

(felfutó él) tartozó<br />

mérési érték tárolása<br />

; a második programozott triggereseményhez<br />

(lefutó él) tartozó<br />

mérési érték tárolása<br />

b) 2 mérőrendszerrel<br />

Programkód<br />

...<br />

N200 MEASA[X]=(31,1,-1) G01 X100 F100<br />

N210 STOPRE<br />

N220 IF $AC_MEA[1]==FALSE GOTOF ENDE<br />

N230 R10=$AA_MM1[X]<br />

N240 R11=$AA_MM2[X]<br />

N250 R12=$AA_MM3[X]<br />

N260 R13=$AA_MM4[X]<br />

N270 ENDE:<br />

Kommentár<br />

; mérés modus 1-ben mindkét<br />

mérőrendszerrel Várás a mérőjelre<br />

felfutó/lefutó éllel a mérőtapintó<br />

1-től az X = 100<br />

elmozdulási úton<br />

; előrefutás-állj<br />

; mérés sikerességét ellenőrizni<br />

; mérőrendszer 1 mérési értékét a<br />

felfutó élnél tárolni<br />

; mérőrendszer 2 mérési értékét a<br />

felfutó élnél tárolni<br />

; mérőrendszer 1 mérési értékét a<br />

lefutó élnél tárolni<br />

; mérőrendszer 2 mérési értékét a<br />

lefutó élnél tárolni<br />

Munka-előkészítés<br />

264 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

Példa 2: Tengely mérés maradékút törléssel modus 2-ben (kiértékelés a programozott<br />

sorrendben)<br />

Programkód<br />

...<br />

N100 MEASA[X]=(2,1,-1,2,-2) G01 X100 F100<br />

N110 STOPRE<br />

N120 IF $AC_MEA[1]==FALSE GOTOF MESSTASTER2<br />

N130 R10=$AA_MM1[X]<br />

N140 R11=$AA_MM2[X]<br />

N150 MESSTASTER2:<br />

N160 IF $AC_MEA[2]==FALSE GOTOF ENDE<br />

N170 R12=$AA_MM3[X]<br />

N180 R13=$AA_MM4[X]<br />

N190 ENDE:<br />

Kommentár<br />

; mérés modus 2-ben aktív mérőrendszerrel<br />

Várakozás a mérőjelre a mérő-tapintó 1 felfutó<br />

él, mérő-tapintó 1 lefutó él, mérő-tapintó 2<br />

felfutó él és a mérő-tapintó 2 lefutó él<br />

sorrendben, az X = 100 elmozdulás alatt.<br />

; előrefutás-állj<br />

; mérő-tapintó 1 mérés sikerességét ellenőrizni<br />

; az első programozott trigger-eseményhez (mérőtapintó<br />

1 felfutó él) tartozó mérési érték<br />

tárolása<br />

; a második programozott trigger-eseményhez<br />

(mérő-tapintó 1 felfutó él) tartozó mérési<br />

érték tárolása<br />

; mérő-tapintó 2 mérés sikerességét ellenőrizni<br />

; a harmadik programozott trigger-eseményhez<br />

(mérő-tapintó 2 felfutó él) tartozó mérési<br />

érték tárolása<br />

; a negyedik programozott trigger-eseményhez<br />

(mérő-tapintó 2 felfutó él) tartozó mérési<br />

érték tárolása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 265


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

Példa 3: Tengely folyamatos mérés modus 1-ben (kiértékelés időrendi sorrendben)<br />

a) Max. 100 mérési érték mérése<br />

Programkód<br />

...<br />

N110 DEF REAL MESSWERT[100]<br />

N120 DEF INT Schleife=0<br />

N130 MEAC[X]=(1,1,-1) G01 X1000 F100<br />

N135 STOPRE<br />

N140 MEAC[X]=(0)<br />

N150 R1=$AC_FIFO1[4]<br />

N160 FOR Schleife=0 TO R1-1<br />

N170 MESSWERT[Schleife]=$AC_FIFO1[0]<br />

N180 ENDFOR<br />

Kommentár<br />

; Mérés módus 1-ben az aktív mérőrendszerrel, a mérési<br />

értékek tárolása az $AC_FIFO1-ben, várakozás ;a<br />

mérőjelre lefutó éllel a mérőtapintó 1-től az X =<br />

1000 elmozdulási úton.<br />

; Mérést a tengelypozíció után megszakítani.<br />

; A befutott mérési értékek számát az R1 paraméterben<br />

tárolni.<br />

; A mérési értékeket az $AC_FIFO1-ből kiolvasni és<br />

tárolni.<br />

b) Mérés maradékút törléssel 10 mérési érték után<br />

Programkód<br />

...<br />

N10 WHEN $AC_FIFO1[4]>=10 DO MEAC[x]=(0) DELDTG(x)<br />

N20 MEAC[x]=(1,1,1,-1) G01 X100 F500<br />

N30 MEAC[X]=(0)<br />

N40 R1=$AC_FIFO1[4]<br />

...<br />

Kommentár<br />

; Maradékutat törölni.<br />

; Mérési értékek száma<br />

Munka-előkészítés<br />

266 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

További információk<br />

Mérési feladat<br />

Egy mérési feladat programozása a munkadarabprogramban vagy egy szinkronakcióból<br />

(lásd a "Mozgásszinkron-akciók" fejezetben) történhet. Tengelyenként ugyanabban az<br />

időpontban csak egy mérési feladat lehet aktív.<br />

Megjegyzés<br />

Az előtolást a mindenkori mérési feladathoz kell illeszteni.<br />

A MEASA és a MEAWA esetében korrekt eredményeket csak olyan előtolásoknál lehet garantálni,<br />

amelyeknél helyzetszabályzó-ütemenként egynél nem több azonos és négynél nem több<br />

különböző trigger-esemény történik.<br />

A folyamatos mérésnél MEAC-cal az interpolációs-ütem és a helyzetszabályzó-ütem nem lehet<br />

nagyobb 8 : 1-nél.<br />

Trigger-esemény<br />

Egy trigger-esemény a mérő-tapintó számából és a mérőjel kapcsolási kritériumából (felfutó<br />

vagy lefutó él) tevődik össze.<br />

Minden mérésre az alkalmazott mérő-tapintók max. 4 trigger-eseményét lehet feldolgozni,<br />

vagyis max. két mérő-tapintót egyenként két mérési éllel. A feldolgozás sorrendje és triggeresemények<br />

maximális száma függ a kiválasztott módustól.<br />

Megjegyzés<br />

A modus 1-re érvényes: Ugyanazt a trigger-eseményt egy mérési feladatban csak egyszer<br />

szabad programozni.<br />

Üzemmód<br />

A módus első számjegyével (tízes hely) lehet kiválasztani a kívánt mérőrendszert. Ha csak<br />

egy mérőrendszer van, de a másodikat programozták, automatikusan a meglevő lesz<br />

alkalmazva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 267


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

A második számjeggyel (egyes jegy) lesz kiválasztva a mérés-módus. Ezzel illesztjük a<br />

mérési eljárást a mindenkori vezérlés lehetőségeihez:<br />

● Modus 1<br />

A trigger-események kiértékelése a fellépésük időbeli sorrendjében történik. Ebben a<br />

módusban a hattengelyes modulok alkalmazásánál csak egy trigger-esemény<br />

programozható ill. több trigger esemény megadásánál automatikusan a módus 2-be lesz<br />

átállítva (jelzés nélkül).<br />

● Modus 2<br />

A trigger-események kiértékelése a programozott sorrendben történik.<br />

● Modus 3<br />

A trigger-események kiértékelése a programozott sorrendben történik, de a triggeresemény<br />

1 felügyelete nélkül START-nál.<br />

Megjegyzés<br />

2 mérőrendszer alkalmazásánál csak két trigger-esemény programozható.<br />

Mérés maradékút törléssel és anélkül<br />

A MEASA programozásánál a maradékút törlés csak az összes szükséges mérési érték<br />

felvétele után történik meg.<br />

A MEAWA speciális mérési feladatokhoz lesz használva, amelyeknél mindenképpen a<br />

programozott pozíciót kell felvenni,<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

268 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

Megjegyzés<br />

A MEASA nem programozható szinkronakciókban. Helyettesítésként lehet a MEAWA-t plusz<br />

maradékút törlést szinkronakcióként programozni.<br />

Ha a mérési feladat MEAWA-val szinkronakcióból van indítva, a mérési értékek csak gépkoordinátarendszerben<br />

állnak rendelkezésre.<br />

Mérési eredmények MEASA, MEAWA esetében<br />

A mérés eredményei a következő rendszerváltozókban állnak rendelkezésre:<br />

● gép-koordinátarendszerben:<br />

$AA_MM1[]<br />

...<br />

$AA_MM4[]<br />

● munkadarab-koordinátarendszerben:<br />

programozott mérőrendszer méréseredménye trigger-esemény 1-nél<br />

...<br />

programozott mérőrendszer méréseredménye trigger-esemény 4-nél<br />

$AA_WM1[]<br />

...<br />

$AA_WM4[]<br />

programozott mérőrendszer méréseredménye trigger-esemény 1-nél<br />

...<br />

programozott mérőrendszer méréseredménye trigger-esemény 4-nél<br />

Megjegyzés<br />

Ezen változók olvasásánál nem keletkezik belső előrefutás-állj. A STOPRE-vel kell megfelelő<br />

helyen egy előrefutás-álljt programozni. Különben helytelen értékek lesznek beolvasva.<br />

Geometria-tengelyek / transzformációk<br />

Ha a tengelyirányú mérést egy geometria-tengelyre akarjuk elindítani, ugyanazt a mérési<br />

feladatot a többi geometria-tengelyre is programozni kell. Ugyanez érvényes azokra a<br />

tengelyekre is, amelyek egy transzformációban vesznek részt.<br />

Példa:<br />

N10 MEASA[Z]=(1,1) MEASA[Y]=(1,1) MEASA[X]=(1,1) G0 Z100<br />

vagy<br />

N10 MEASA[Z]=(1,1) POS[Z]=100<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 269


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

Mérési feladat 2 mérőrendszerrel<br />

Ha egy mérési feladat 2 mérőrendszerrel lesz végrehajtva, a mindenkori tengely mindkét<br />

mérőrendszerének mindkét lehetséges trigger-eseménye fel lesz dolgozva. A foglalt<br />

rendszerváltozók kitöltése a következő:<br />

$AA_MM1[]<br />

$AA_MM2[]<br />

$AA_MM3[]<br />

$AA_MM4[]<br />

Mérő-tapintó állapot<br />

ill.:<br />

ill.:<br />

ill.:<br />

ill.:<br />

$AA_MW1[]<br />

$AA_MW2[]<br />

$AA_MW3[]<br />

$AA_MW4[]<br />

mérőrendszer 1 mérési értéke<br />

trigger-esemény 1-nél<br />

mérőrendszer 2 mérési értéke<br />

trigger-esemény 1-nél<br />

mérőrendszer 1 mérési értéke<br />

trigger-esemény 2-nél<br />

mérőrendszer 2 mérési értéke<br />

trigger-esemény 2-nél<br />

A mérő-tapintó állapota a következő rendszerváltozókban áll rendelkezésre:<br />

$A_PROBE[]<br />

=mérő-tapintó<br />

Érték Jelentés<br />

1 mérő-tapintó kitért<br />

0 mérő-tapintó nem tért ki<br />

Mérési feladat állapota MEASA, MEAWA esetén<br />

Ha a programban kiértékelés szükséges, a mérési feladat állapotát a $AC_MEA[]-nel,<br />

ahol = mérő-tapintó száma, lehet lekérdezni. Ha az mérő-tapintónak az összes egy<br />

mondatban programozott trigger-eseménye bekövetkezett, ez a változó az 1 értéket adja,<br />

egyébként az értéke 0.<br />

Megjegyzés<br />

Ha a mérés nem szinkronakcióból lett indítva, az $AC_MEA nem lesz tovább aktualizálva.<br />

Ebben az esetben az új PLC-állapotjeleket DB31, ... DBX62.3 ill. az azonos értékű<br />

$AA_MEAACT[] változót kell lekérdezni.<br />

Jelentés:<br />

$AA_MEAACT==1: mérés aktív<br />

$AA_MEAACT==0: mérés nem aktív<br />

Folyamatos mérés (MEAC)<br />

A mérési értékek MEAC-nál a gép-koordinátarendszerben keletkeznek és a megadott FIFO[n]-<br />

tárolóban (kör-tároló) lesznek letéve. Ha mérésre két mérő-tapintó van megtervezve, a<br />

második mérő-tapintó mérési értékei külön a kiegészítőleg erre megtervezett (MD-vel<br />

beállítható) FIFO[n+1]-tárolóba lesznek letéve.<br />

Munka-előkészítés<br />

270 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.8 Bővített mérési funkciók (MEASA, MEAWA, MEAC) (opció)<br />

A FIFO-tároló egy kör-tároló, amibe a mérési értékek a körbefutás elv szerint a $AC_FIFO<br />

változókba lesznek bevive, lásd a "Mozgásszinkron-akciók" fejezetben.<br />

Megjegyzés<br />

A FIFO-tartalmat csak egyszer lehet a kör-tárolóból kiolvasni. A mérési adatok többszöri<br />

alkalmazásához az alkalmazói adatokat átmenetileg tárolni kell.<br />

Ha a mérési értékek száma túllépi a FIFO-tárolóra gépadatban megadott maximumot, a<br />

mérés automatikusan befejeződik.<br />

Végtelen mérést a mérési értékek ciklikus kiolvasásával lehet megvalósítani. Ehhez a<br />

kiolvasásnak legalább olyan gyakorisággal kell történni, mint az új mérési értékek<br />

bevitelének.<br />

Felismert programozási hibák<br />

A következő programozási hibák felismerésre és hibával kijelzésre kerülnek:<br />

● MEASA/MEAWA és a MEAS/MEAW egy mondatban van programozva<br />

Példa:<br />

N01 MEAS=1 MEASA[X]=(1,1) G01 F100 POS[X]=100<br />

● MEASA/MEAWA 5 paraméterszámmal<br />

Példa:<br />

N01 MEAWA[X]=(1) G01 F100 POS[X]=100<br />

● MEASA/MEAWA 1/ -1/ 2/ -2-vel nem egyenlő trigger-eseménnyel<br />

Példa:<br />

N01 MEASA[B]=(1,1,3) B100<br />

● MEASA/MEAWA helytelen modussal<br />

Példa:<br />

N01 MEAWA[B]=(4,1) B100<br />

● MEASA/MEAWA duplán programozott trigger-eseménnyel<br />

Példa:<br />

N01 MEASA[B]=(1,1,-1,2,-1) B100<br />

● MEASA/MEAWA és hiányzó geo-tengely<br />

Példa:<br />

N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) G01 X50 Y50 Z50 F100 ;geo-tengely X/Y/Z<br />

● Nem egységes mérési feladat geo-tengellyel<br />

Példa:<br />

N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) MEASA[Z]=(1,1,2) G01 X50 Y50 Z50 F100<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 271


Speciális út-utasítások<br />

4.9 Speciális funkciók OEM-felhasználóknak (OEMIPO1, OEMIPO2, G810 ... G829)<br />

4.9 Speciális funkciók OEM-felhasználóknak (OEMIPO1, OEMIPO2,<br />

G810 ... G829)<br />

Funkció<br />

OEM-címek<br />

Az OEM-címek jelentését az OEM-felhasználó határozza meg. A funkcionalitást a Compileciklusok<br />

adják. 5 OEM-cím foglalt. A cím jelölők beállíthatók. Az OEM-címek minden<br />

mondatban megengedhetők.<br />

Paraméter<br />

Foglalt G-csoportok<br />

Csoport 1 OEMIPO1, OEMIPO2 -vel.<br />

Az OEM-felhasználó definiálhat két kiegészítő nevet a OEMIPO1, OEMIPO2 G-funkciókhoz. Ezt<br />

a funkcionalitást Compile-ciklusok valósítják meg és fenn van tartva az OEM-felhasználó<br />

számára.<br />

● Csoport 31 G810 ... G819-cel<br />

● Csoport 32 G820 ... G829-cel<br />

Az OEM-alkalmazók számára foglalt két G-csoport egyenként 10 OEM-G-funkcióval. Ezzel<br />

az OEM-felhasználó által bevitt funkciók külső felhasználásra elérhetők.<br />

Funkciók és alprogramok<br />

Ezen kívül az OEM-felhasználók létrehozhatnak előre definiált funkciókat és alprogramokat<br />

is paraméterátadással.<br />

Munka-előkészítés<br />

272 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.10 Előtolás-csökkentés sarokkésleltetéssel (FENDNORM, G62, G621)<br />

4.10 Előtolás-csökkentés sarokkésleltetéssel (FENDNORM, G62, G621)<br />

Funkció<br />

Az automatikus sarokkésleltetésnél az előtolás harangformában kevéssel az érintett sarok<br />

előtt lesz lecsökkentve. Ezenkívül lehetséges a megmunkálásban érintett szerszámtartó<br />

külső méreteit beállítási adatokkal paraméterezni. Ezek a következők:<br />

● Előtolás-csökkentés kezdete és vége<br />

● Override, amivel az előtolás csökkentve lesz<br />

● A releváns sarok felismerése<br />

Releváns sarkok azok a sarkok, amelyek belső szöge kisebb a beállítási adatként<br />

paraméterezett saroknál.<br />

A FENDNORM alapértékkel az automatikus sarok-override funkció ki lesz kapcsolva.<br />

Irodalom:<br />

/FBFA/ Működési kézikönyv ISO-dialektusok<br />

Szintaxis<br />

FENDNORM<br />

G62 G41<br />

G621<br />

Jelentés<br />

FENDNORM automatikus sarokkésleltetés ki<br />

G62 sarokkésleltetés a belső sarkokon aktív szerszámsugár-korrekciónál<br />

G621 sarokkésleltetés minden sarkokon aktív szerszámsugár-korrekciónál<br />

G62 csak a belső sarkokon hat a következőknél<br />

● aktív szerszámsugár-korrekció G41, G42 és<br />

● aktív pályavezérlő-üzem G64, G641 és<br />

A megfelelő sarokra menet csökkentett sebességgel történik a következő szerint:<br />

F * (override előtolás-csökkentéshez) * előtolás-override<br />

A maximálisan lehetséges előtolás-csökkentés pontosan akkor lesz elérve, amikor a<br />

szerszám a középpont-pályára vonatkoztatva az érintett saroknál az irányváltást végrehajtja.<br />

A G621 a G62-vel azonosan minden sarkon hat, az FGROUP-pal megadott tengelyeknél.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 273


Speciális út-utasítások<br />

4.11 Programozható mozgás vége kritériumok (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)<br />

4.11 Programozható mozgás vége kritériumok (FINEA, COARSEA,<br />

IPOENDA, IPOBRKA, ADISPOSA)<br />

Funkció<br />

A pályainterpoláció (G601, G602 és G603) mondatváltási kritériumaihoz hasonlóan a<br />

mozgás vége kritériumot az egyes tengely interpolációnál egy munkadarab-programban ill.<br />

szinkronakciókban parancs-/ PLC-tengelynél programozható.<br />

Aszerint, milyen mozgás vége kritérium van beállítva, a munkadarab-program mondatok ill.<br />

technológia ciklus mondatok egyes tengely mozgásoknál különböző gyorsan lesznek<br />

befejezve. Ugyanez érvényes a PLC-re FC15/16/18 esetében.<br />

Szintaxis<br />

FINEA[]<br />

COARSEA[]<br />

IPOENDA[]<br />

IPOBRKA([,])<br />

ADISPOSA([,,])<br />

Jelentés<br />

FINEA:<br />

mozgás vége a "Pontos-állj finom" elérésekor<br />

COARSEA:<br />

mozgás vége a "Pontos-állj durva" elérésekor<br />

IPOENDA:<br />

mozgás vége az "IPO-állj" elérésekor<br />

IPOBRKA:<br />

mondatváltás a fékrámpában lehetséges<br />

ADISPOSA:<br />

mozgás vége kritérium tűrésablak nagysága<br />

: csatorna-tengely név (X, Y, ....)<br />

:<br />

mondatváltás időpontja a fékrámpára vonatkoztatva %-ban<br />

:<br />

modus<br />

típus: INT<br />

értéktartomány: 0 tűrésablak nem aktív<br />

1 tűrésablak parancspozícióra<br />

vonatkoztatva<br />

2 tűrésablak valóspozícióra vonatkoztatva<br />

:<br />

tűrésablak nagysága<br />

Ez az érték a főfutással szinkronban a SD43610<br />

$SA_ADISPOSA_VALUE beállítási adatba lesz bevive.<br />

típus: REAL<br />

Munka-előkészítés<br />

274 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.11 Programozható mozgás vége kritériumok (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)<br />

Példák<br />

Példa 1: Mozgás vége az "Interpolátor-állj" elérésekor<br />

Programkód<br />

Kommentár<br />

...<br />

N110 G01 POS[X]=100 FA[X]=1000 ACC[X]=90 IPOENDA[X] Mozgás az X100 pozícióra 1000<br />

ford/perc pályasebességgel,<br />

90%-os gyorsulási értékkel és<br />

mozgás végével az<br />

interpolátor állj elérésénél.<br />

...<br />

N120 EVERY $A_IN[1] DO POS[X]=50 FA[X]=2000 ACC[X]=140 IPOENDA[X] ; Mozgás az X50 pozícióra, ha a<br />

bemenet 1 aktív, 2000<br />

ford/perc pályasebességgel,<br />

140%-os gyorsulási értékkel<br />

és mozgás végével az<br />

interpolátor állj elérésénél.<br />

...<br />

Példa 2: Mozgásvége-kritérium fékrámpával a munkadarabprogramban<br />

Programkód<br />

N40 POS[X]=100<br />

N20 IPOBRKA(X,100)<br />

N30 POS[X]=200<br />

N40 POS[X]=250<br />

N50 POS[X]=0<br />

N60 X10 F100<br />

N70 M30<br />

...<br />

Kommentár<br />

; alap-beállítás hatásos<br />

; mondatváltás történik, ha az X tengely elérte a 100-as pozíciót és a<br />

pontos állj finomat<br />

; mondatváltás-kritérium fékrámpa aktiválása<br />

; mondatváltás történik, ha az X tengely fékezni kezd<br />

; az X tengely nem fékez le a 200-as pozícióra, hanem tovább megy a 250-es<br />

pozícióra, amikor az X tengely fékezni kezd, megtörténik a mondatváltás<br />

; az X tengely fékez és visszamegy a 0 pozícióra a mondatváltás a pozíció<br />

0-nál és pontos állj finomnál történik<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 275


Speciális út-utasítások<br />

4.11 Programozható mozgás vége kritériumok (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)<br />

Példa 3: Mozgásvége-kritérium fékrámpával szinkronakcióban<br />

Programkód<br />

FINEA<br />

Kommentár<br />

; Technológia ciklusban:<br />

; mozgásvége-kritérium pontos állj finom<br />

POS[X]=100 ; technológia-ciklus mondatváltás történik, ha az X tengely elérte a 100-<br />

as pozíciót és a pontos állj finomat<br />

IPOBRKA(X,100)<br />

POS[X]=100<br />

POS[X]=250<br />

POS[X]=250<br />

M17<br />

; mondatváltás-kritérium fékrámpa aktiválása<br />

; POS[X]=100; technológia-ciklus mondatváltás történik, amikor az X<br />

tengely fékezni kezd<br />

; az X tengely nem fékez le a 200-as pozícióra, hanem tovább megy a 250-es<br />

pozícióra, amikor az X tengely fékezni kezd, megtörténik a mondatváltás<br />

a technológia-ciklusban<br />

; az X tengely fékez és visszamegy a 0 pozícióra, a mondatváltás a pozíció<br />

0-nál és pontos állj finomnál történik<br />

További információk<br />

Mozgás vége kritériumok olvasása<br />

A beállított mozgásvége-kritériumot a $AA_MOTEND[] rendszerváltozóval le lehet<br />

kérdezni:<br />

Érték Jelentés<br />

1 mozgásvége "Pontos-állj finom"-nál<br />

2 mozgásvége "Pontos-állj durva"-nál<br />

3 mozgásvége "IPO–állj"-nál<br />

4 mondatváltás-kritérium tengelymozgás fékrámpa<br />

5 mondatváltás a fékrámpán tűrésablakkal "parancspozícióra" vonatkoztatva<br />

6 mondatváltás a fékrámpán tűrésablakkal "valóspozícióra" vonatkoztatva<br />

Megjegyzés<br />

RESET után az utolsó programozott érték marad meg.<br />

Mondatváltás-kritérium a fékrámpán<br />

A százalékos érték a főfutással szinkronban lesz bevive a beállítási adatba:<br />

SD43600 $SA_IPOBRAKE_BLOCK_EXCHANGE<br />

Ha nincs megadva érték, akkor ezen beállítási adat aktuális értéke lesz hatásos.<br />

Beállítható a 0% ...100% tartomány.<br />

Munka-előkészítés<br />

276 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Speciális út-utasítások<br />

4.11 Programozható mozgás vége kritériumok (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)<br />

Kiegészítő tűrésablak IPOBRKA-hoz<br />

A már meglevő mondatvége-kritériumhoz a fékrámpán ki lehet választanai egy kiegészítő<br />

"Tűrésablak" mondatváltás-kritériumot . Az engedélyezés akkor történik, ha a tengely:<br />

● mint eddig a megadott %-értéket a fékrámpán elérte<br />

és<br />

● az aktuális valós- vagy parancspozíciója nincs messzebb a tűrésnél a tengely<br />

végpozíciójánál a mondatban.<br />

Irodalom<br />

További információk a pozícionáló-tengelyek mondatváltás-kritériumához:<br />

● Bővítő funkciók működési kézikönyv; Pozícionáló tengelyek (P2)<br />

● Programozási kézikönyv, Alapok; fejezet: "Előtolás-szabályozás"<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 277


Speciális út-utasítások<br />

4.12 Programozható szervó paraméterkészlet (SCPARA)<br />

4.12 Programozható szervó paraméterkészlet (SCPARA)<br />

Funkció<br />

A SCPARA-val lehet a paraméterkészletet (MD-kből áll) a munkadarab-programban és a<br />

szinkronakciókban programozni (eddig csak a PLC-ből).<br />

DB3n DBB9 bit3<br />

Hogy ne legyen konfliktus a PLC és az NCK között, egy további bit lett a PLC–>NCK<br />

interfészben definiálva:<br />

DB3n DBB9 bit3 "Paraméterkészlet megadása SCPARA-val tiltva".<br />

A SCPARA-ra tiltott paraméterkészlet megadás esetén nincs hibajelzés, ha mégis<br />

programozva lesz.<br />

Szintaxis<br />

SCPARA[]=<br />

Jelentés<br />

SCPARA<br />

<br />

<br />

paraméterkészlet megadása<br />

csatorna-tengely név (X, Y, ....)<br />

kívánt paraméterkészlet (1


Koordináta-transzformációk (FRAMES) 5<br />

5.1 Koordináta-transzformáció frame változókkal<br />

Funkció<br />

Az "Alapok" programozási kézikönyvben már leírt programozási lehetőségeken túl<br />

koordinátarendszereket előre definiált frame változókkal is meg lehet adni.<br />

A következő koordinátarendszerek vannak definiálva:<br />

GKR: gép-koordinátarendszer<br />

AKR: alap-koordinátarendszer<br />

ANR: alap-nullapont koordinátarendszer<br />

BNR: beállítható nullapont koordinátarendszer<br />

MKR: munkadarab-koordinátarendszer<br />

Mi egy előre definiált frame változó?<br />

Az előre definiált frame változók kulcsszavak, amik a vezérlés nyelvhasználatában a<br />

megfelelő hatással már meg vannak határozva és az NC-programban feldolgozhatók.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 279


Koordináta-transzformációk (FRAMES)<br />

5.1 Koordináta-transzformáció frame változókkal<br />

Lehetséges frame változók:<br />

● Alap-frame (alap-eltolás)<br />

● beállítható frame-ek<br />

● programozható frame-ek<br />

Érték hozzárendelés és valósérték olvasás<br />

Frame változó és frame közötti összefüggés<br />

Egy koordináta-transzformáció úgy aktiválható, hogy egy frame értékét hozzárendeljük egy<br />

frame változóhoz.<br />

Példa: $P_PFRAME=CTRANS(X,10)<br />

Frame változó:<br />

$P_PFRAME jelentése: aktuális programozható frame<br />

Frame:<br />

CTRANS(X,10) jelentése: X tengely programozható nullapont-eltolása 10 mm-rel<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Valósértékek kiolvasása<br />

Előre definiált változókkal a munkadarab-programban kiolvashatók a koordinátarendszerek<br />

aktuális valósértékei:<br />

$AA_IM[tengely]: valósérték olvasás GKR<br />

$AA_IB[tengely]: valósérték olvasás AKR<br />

$AA_IBN[tengely:] valósérték olvasás ANR<br />

$AA_IEN[tengely]: valósérték olvasás BNR<br />

$AA_IW[tengely]: valósérték olvasás MKR<br />

Munka-előkészítés<br />

280 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.1 Koordináta-transzformáció frame változókkal<br />

5.1.1 Előre definiált frame változók ($P_BFRAME, $P_IFRAME, $P_PFRAME,<br />

$P_ACTFRAME)<br />

$P_BFRAME<br />

Aktuális bázis-frame változó, ami létrehozza a kapcsolatot alap-koordinátarendszer (AKR) és<br />

alap-nullapontrendszer (ANR) között.<br />

Ha az a cél, hogy a $P_UBFR-rel leírt alap-frame rögtön hatásos legyen a programban,<br />

akkor vagy<br />

● egy G500, G54...G599 -et kell programozni vagy<br />

● $P_BFRAME-et $ $P_UBFR-rel írni.<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 281


Koordináta-transzformációk (FRAMES)<br />

5.1 Koordináta-transzformáció frame változókkal<br />

$P_IFRAME<br />

Aktuális beállítható frame változó, ami létrehozza a kapcsolatot az alap-nullapontrendszer<br />

(ANR) és beállítható nullapontrendszer (BNR) között.<br />

● $P_IFRAME megfelel $P_UIFR[$P_IFRNUM]-nak<br />

● $P_IFRAME tartalma pl. G54 programozása után a G54 által definiált átalakítás, forgatás,<br />

skálázás és tükrözés.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

282 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.1 Koordináta-transzformáció frame változókkal<br />

$P_PFRAME<br />

Aktuális programozható frame változó, ami létrehozza a kapcsolatot a beállítható<br />

nullapontrendszer (BNR) és a munkadarab-koordinátarendszer (MKR) között.<br />

$P_PFRAME tartalmazza az eredő frame-t, ami<br />

● programozásból: TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR ill.<br />

● hozzárendelésből: CTRANS, CROT, CMIRROR, CSCALE a programozható FRAME-hez adódik.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

$P_ACTFRAME<br />

Aktuális, eredő össz-frame, ami<br />

● az aktuális alap-frame változó $P_BFRAME,<br />

● az aktuális beállítható frame változó $P_IFRAME rendszer-frame-kkel és<br />

● az aktuális programozhat frame változó $P_FRAME rendszer-frame-kkel<br />

láncolásából adódik. Rendszer-frame-kről lásd a "Csatornában hatásos frame-k" fejezetet.<br />

$P_ACTFRAME leírja az éppen érvényes munkadarab-nullapontot.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 283


Koordináta-transzformációk (FRAMES)<br />

5.1 Koordináta-transzformáció frame változókkal<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Ha $P_BFRAME, $P_IFRAME vagy $P_PFRAME változik, $P_ACTFRAME újra ki lesz számítva.<br />

$P_ACTFRAME megfelelője $P_BFRAME:$P_IFRAME:$P_PFRAME<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Alap-frame és beállítható frame Reset után hatásosak, ha az MD 20110<br />

RESET_MODE_MASK a következőképpen van beállítva:<br />

Munka-előkészítés<br />

284 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.1 Koordináta-transzformáció frame változókkal<br />

bit0=1, bit14=1 --> $P_UBFR (alap-frame) hat<br />

bit0=1, bit5=1 --> $P_UIFR[$P_UIFRNUM] (beállítható frame) hat<br />

$P_UBFR előre definiált beállítható frame-k<br />

A $P_UBFR-rel az alap-frame lesz programozva, de ezzel egy időben nem lesz aktív a<br />

munkadarab-programban. A $P_UBFR-rel írt bázis-frame be lesz számítva, ha<br />

● Reset kapcsolva lett és az MD RESET_MODE_MASK 0 és 14 bitjei be vannak állítva,<br />

● a G500, G54...G599 utasítások végrehajtásra kerültek.<br />

$P_UIFR[n] előre definiált beállítható frame-k<br />

A $P_UIFR[n] előre definiált frame változóval a G54 ... G599 beállítható nullapont-eltolásokat<br />

a munkadarab-programból lehet olvasni vagy írni.<br />

Ezek a változók a felépítésben egy egydimenziós, FRAME típusú, $P_UIFR[n] nevű mezőt<br />

jelenítenek meg.<br />

Hozzárendelés a G-utasításokhoz<br />

Alap-beállításként az 5 $P_UIFR[0]... $P_UIFR[4] beállítható frame ill az. 5 azonos jelentésű<br />

G-utasítás van - G500 és G54 ... G57 - amelyek címein értékek tárolhatók.<br />

$P_IFRAME=$P_UIFR[0] megfelelője G500<br />

$P_IFRAME=$P_UIFR[1] megfelelője G54<br />

$P_IFRAME=$P_UIFR[2] megfelelője G55<br />

$P_IFRAME=$P_UIFR[3] megfelelője G56<br />

$P_IFRAME=$P_UIFR[4] megfelelője G57<br />

A gépadattal a frame-k száma változtatható:<br />

$P_IFRAME=$P_UIFR[5] megfelelője G505<br />

... ... ...<br />

$P_IFRAME=$P_UIFR[99] megfelelője G599<br />

Megjegyzés<br />

Így összesen 100 koordinátarendszer hozható létre, amelyek pl. programokat átfogóan<br />

felhívhatók nullapontként különböző beállítások számára.<br />

VIGYÁZAT<br />

Frame változók és frame-k programozásához az NC-programban saját NC-mondat<br />

szükséges. Kivétel: beállítható frame programozása G54, G55, ...<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 285


Koordináta-transzformációk (FRAMES)<br />

5.2 Mező-változókhoz / frame-khez értéket rendelni<br />

5.2 Mező-változókhoz / frame-khez értéket rendelni<br />

5.2.1 Közvetlen érték-hozzárendelés (tengelyérték, szög, mérték)<br />

Funkció<br />

Az NC programban lehet értékeket közvetlenül hozzárendelni, frame-khez vagy frameváltozókhoz.<br />

Szintaxis<br />

$P_PFRAME=CTRANS (X, tengelyérték, Y, tengelyérték, Z, tengelyérték, …)<br />

$P_PFRAME=CROT (X, szög, Y, szög, Z, szög, …)<br />

$P_UIFR[..]=CROT (X, szög, Y, szög, Z, szög, …)<br />

$P_PFRAME=CSCALE (X, mérték, Y, mérték, Z, mérték, …)<br />

$P_PFRAME=CMIRROR (X, Y, Z)<br />

A $P_BFRAME programozása a $P_PFRAME-mel analóg módon történik.<br />

Jelentés<br />

CTRANS<br />

CROT<br />

CSCALE<br />

CMIRROR<br />

X Y Z<br />

tengelyérték<br />

szög<br />

mérték<br />

eltolás a megadott tengelyeken<br />

forgatás a megadott tengelyek körül<br />

mérték változtatás a megadott tengelyen<br />

megadott tengely irányának megfordítása<br />

eltolás-érték a megadott geometria-tengely irányában<br />

eltolás tengelyérték hozzárendelés<br />

megadott tengely körüli forgásszög hozzárendelés<br />

mérték változtatás<br />

Munka-előkészítés<br />

286 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.2 Mező-változókhoz / frame-khez értéket rendelni<br />

Példa<br />

Az aktuális programozható frame-hez való érték-hozzárendeléssel az átalakítás, forgatás és<br />

tükrözés aktiválva lesznek.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

N10 $P_PFRAME=CTRANS(X,10,Y,20,Z,5):CROT(Z,45):CMIRROR(Y)<br />

Frame forgatás-komponensek elő-beállítása más értékekkel<br />

A CROT-tal az UIFR mindhárom komponensét értékekkel előre beállítani:<br />

Programkód<br />

$P_UIFR[5] = CROT(X, 0, Y, 0, Z, 0)<br />

N100 $P_UIFR[5, y, rt]=0<br />

Kommentár<br />

N100 $P_UIFR[5, x, rt]=0<br />

N100 $P_UIFR[5, z, rt]=0<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 287


Koordináta-transzformációk (FRAMES)<br />

5.2 Mező-változókhoz / frame-khez értéket rendelni<br />

Leírás<br />

Több számítási előírás programozható egymás után.<br />

Példa:<br />

$P_PFRAME=CTRANS(...):CROT(...):CSCALE...<br />

Ügyeljen arra, hogy a az utasításokat kettőspont (…):(…) láncolási jellel össze kell kötni<br />

egymással. Így az utasítások egyrészt össze lesznek kötve egymással, másrészt a<br />

beprogramozott sorrendben additívan végrehajtásra kerülnek.<br />

<br />

<br />

<br />

Megjegyzés<br />

A megnevezett utasításokkal programozott értékek hozzá lesznek rendelve a frame-khez és<br />

el lesznek tárolva.<br />

Az értékek csak akkor lesznek aktívak, ha egy aktív $P_BFRAME ill. $P_PFRAME aktív frameváltozó<br />

frame-jéhez lesznek hozzárendelve.<br />

Munka-előkészítés<br />

288 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.2 Mező-változókhoz / frame-khez értéket rendelni<br />

5.2.2 Frame komponensek olvasása és megváltoztatása (TR, FI, RT, SC, MI)<br />

Funkció<br />

Önnek lehetősége van arra, hogy hozzáférjen egy frame egyes adataihoz, pl. egy<br />

meghatározott eltolási értékhez vagy forgásszöghöz. Ezeket az értékeket meg tudja<br />

változtatni vagy hozzá tudja rendelni egy másik változóhoz.<br />

Szintaxis<br />

R10=$P_UIFR[$P_UIFNUM,X,RT]<br />

R12=$P_UIFR[25,Z,TR]<br />

R15=$P_PFRAME[Y,TR]<br />

$P_PFRAME[X,TR]=25<br />

Az X tengely körüli RT forgásszög a $P_UIFRNUM<br />

éppen érvényes beállítható nullapont eltolásból<br />

legyen hozzárendelve az R10 változóhoz.<br />

A TR eltolási érték Z-ben a beállított 25-ös frame<br />

adatrekordjából legyen hozzárendelve az R12<br />

változóhoz.<br />

Az aktuális programozható frame TR eltolási értéke<br />

Y-ban legyen hozzárendelve az R15 változóhoz.<br />

Az aktuális programozható frame TR eltolási értéke<br />

X-ben legyen megváltoztatva. Mostantól X25<br />

érvényes.<br />

Jelentés<br />

$P_UIFRNUM<br />

Ezzel a változóval automatikusan létrejön a vonatkoztatás<br />

az éppen érvényes beállítható nullapont eltoláshoz.<br />

P_UIFR[n,…,…]<br />

Az n frame-szám megadásával az n számú beállítható framehez<br />

férhetünk hozzá.<br />

Komponensek megadása, amiket olvasni vagy megváltoztatni<br />

kell:<br />

TR<br />

TR eltolás<br />

FI<br />

FI finom eltolás<br />

RT<br />

RT forgatás<br />

SC<br />

SC mérték-változtatás<br />

MI<br />

MI tükrözés<br />

X Y Z Kiegészítésképpen (lásd példák) adjuk meg a megfelelő X, Y,<br />

Z tengelyt.<br />

Értéktartomány RT forgatáshoz<br />

forgatás az 1. geometria tengely körül: -180° ... +180°<br />

forgatás az 2. geometria tengely körül: -90° ... +90°<br />

forgatás az 3. geometria tengely körül: -180° ... +180°<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 289


Koordináta-transzformációk (FRAMES)<br />

5.2 Mező-változókhoz / frame-khez értéket rendelni<br />

Leírás<br />

Frame felhívása<br />

A $P_UIFRNUM rendszerváltozó megadásával közvetlenül hozzáférhet a $P_UIFR ill. G54,<br />

G55, …-tel éppen beállított nullapont eltoláshoz<br />

($P_UIFRNUM tartalmazza az éppen beállított frame számát).<br />

Az összes többi $P_UIFR eltárolt beállítható frame-t a $P_UIFR[n] megfelelő szám<br />

megadásával hívhatja fel.<br />

Előre definiált frame változóknak és saját definiálású frame-knek a nevét adja meg, pl.<br />

$P_IFRAME.<br />

Adatok felhívása<br />

A szögletes zárójelekben annak az értéknek a tengelyneve és frame komponensei állnak,<br />

amihez hozzá akar férni vagy amit meg akar változtatni, pl. [X, RT] vagy [Z, MI].<br />

5.2.3 Teljes frame-k láncolása<br />

Funkció<br />

Az NC programban egy teljes frame-t hozzá lehet rendelni egy másik frame-hez vagy frameket<br />

lehet láncolni.<br />

A frame-láncolatok alkalmasak pl. több munkadarab leírására, amelyek egy palettán vannak<br />

elrendezve és egy gyártási folyamatban kell azokat megmunkálni.<br />

<br />

<br />

<br />

<br />

Paletta feladatok leírásához a frame komponensek tartalmazhatnak pl. csak meghatározott<br />

részértékeket, amik összeláncolása által különböző munkadarab-nullapontok lesznek<br />

generálva.<br />

Munka-előkészítés<br />

290 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.2 Mező-változókhoz / frame-khez értéket rendelni<br />

Szintaxis<br />

Frame-k hozzárendelése<br />

DEF FRAME EINSTELLUNG1<br />

EINSTELLUNG1=CTRANS(X,10)<br />

$P_PFRAME=EINSTELLUNG1<br />

DEF FRAME EINSTELLUNG4<br />

EINSTELLUNG4=$P_PFRAME<br />

$P_PFRAME=EINSTELLUNG4<br />

Frame-láncok<br />

Az aktuális programozható frame-hez<br />

hozzá lesznek rendelve a<br />

EINSTELLUNG1 saját definiálású frame<br />

értékei.<br />

Az aktuális programozható frame<br />

közbenső tárolásra kerül, majd<br />

szükség esetén újra vissza lesz<br />

tárolva.<br />

A frame-k a programozott sorrendben lesznek láncolva, a frame-komponensek mint pl.<br />

eltolások, forgatások stb. egymás után összeadódóan lesznek végrehajtva.<br />

$P_IFRAME=$P_UIFR[15]:$P_UIFR[16]<br />

$P_UIFR[3]=$P_UIFR[4]:$P_UIFR[5]<br />

$P_UIFR[15] pl. adatokat tartalmaz<br />

nullapont eltolásokhoz. Ezt követően -<br />

erre építve - lesznek a $P_UIFR[16]<br />

adatai, pl. az adatok forgatásokhoz,<br />

feldolgozva.<br />

A beállítható frame 3 a beállítható frame<br />

4 és 5 láncolatából jön létre.<br />

Megjegyzés<br />

Vegyük figyelembe, hogy a frame-ket egymással a duplapont : lánc-operátorral kell<br />

összekötni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 291


Koordináta-transzformációk (FRAMES)<br />

5.2 Mező-változókhoz / frame-khez értéket rendelni<br />

5.2.4 Új frame-k definiálása (DEF FRAME)<br />

Funkció<br />

Az eddig leírt előre definiált, beállítható frame-k mellett frame-k létrehozására is van<br />

lehetőség. Ennél egy FRAME típusú változókról van szó, amiket szabad névadással<br />

definiálhatunk.<br />

A CTRANS, CROT, CSCALE és CMIRROR funkciókkal a frame-ket az NC programban<br />

értékekkel láthatjuk el.<br />

Szintaxis<br />

DEF FRAME PALETTE1<br />

PALETTE1=CTRANS(…):CROT(…)…<br />

Jelentés<br />

DEF FRAME<br />

PALETTE1<br />

=CTRANS(...):<br />

CROT(...)...<br />

új frame létrehozása<br />

új frame neve<br />

a lehetséges funkciókhoz értékeket rendelni<br />

Munka-előkészítés<br />

292 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.3 Durva és finom eltolás (CFINE, CTRANS)<br />

5.3 Durva és finom eltolás (CFINE, CTRANS)<br />

Funkció<br />

Finom eltolás<br />

A CFINE(X, ...,Y ...) utasítással be lehet programozni az alap-frame és minden<br />

beállítható frame finom eltolását.<br />

Egy finom eltolás csak akkor mehet végbe, ha MD18600 MM_FRAME_FINE_TRANS=1.<br />

Durva eltolás<br />

A CTRANS(...) -szal a durva eltolást adjuk meg.<br />

<br />

<br />

<br />

<br />

<br />

<br />

A durva és finom eltolás hozzáadódik az össz-eltoláshoz.<br />

Szintaxis<br />

$P_UBFR=CTRANS(x, 10) : CFINE(x, 0.1) : CROT(x,<br />

45) ;eltolás, finom eltolás,<br />

;forgatás összeláncolása<br />

$P_UIFR[1]=CFINE(x, 0.5 y, 1.0, z, 0.1)<br />

;a teljes frame CFINE-nal<br />

;át írva, beleértve<br />

;a durva eltolást<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 293


Koordináta-transzformációk (FRAMES)<br />

5.3 Durva és finom eltolás (CFINE, CTRANS)<br />

A finom eltolás egyes komponenseihez az FI (Translation Fine) komponenssel lehet<br />

hozzáférni.<br />

DEF REAL FINEX<br />

FINEX=$P_UIFR[$P_UIFNUM, x, FI]<br />

FINEX=$P_UIFR[3, x, FI]$P<br />

;a FINEX változó definíciója<br />

;a finom eltolás kiolvasása<br />

;a FINEX változó által<br />

;az X tengely 3. frame-ben való<br />

;finom eltolásának kiolvasása<br />

;a FINEX változó által<br />

Jelentés<br />

CFINE(x, érték, y, finom eltolás több tengelyre additív eltolás (transzláció).<br />

érték, z, érték)<br />

CTRANS(x, érték, y, durva eltolás több tengelyre abszolút eltolás (transzláció).<br />

érték, z, érték)<br />

x y z tengelyek nullaponteltolása (max. 8)<br />

Érték<br />

transzláció-rész<br />

Gépgyártó<br />

Az MD18600 MM_FRAME_FINE_TRANS-szal a finom eltolást a következő változatokban<br />

lehet tervezni:<br />

0:<br />

Finom eltolást nem lehet beadni, ill. beprogramozni. G58 és G59 nem lehetségesek.<br />

1:<br />

Finom eltolást beállítható frame-knek, bázis-frame-knek, programozható frame-knek, G58-<br />

nak és G59-nek lehet beadni, ill. programozni.<br />

Leírás<br />

Egy, a HMI-kezelés által megváltoztatott finom eltolás csak a megfelelő frame aktiválása<br />

után lesz aktív, ezért az aktiválás G500, G54...G599 által történik. Egy frame aktivált finom<br />

eltolása addig aktív, ameddig a frame aktív.<br />

A programozható frame-nek nincsen finom eltolási része. Ha a programozható frame-hez<br />

egy finom eltolással rendelkező frame-t rendelünk hozzá, akkor a teljes eltolása a durva és a<br />

finom eltolás összegéből jön létre. A programozható frame olvasásánál a finom eltolás<br />

mindig nulla.<br />

Munka-előkészítés<br />

294 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.4 Külső nullaponteltolás<br />

5.4 Külső nullaponteltolás<br />

Funkció<br />

Ezáltal további lehetősége van arra, hogy a nullapontot az alap- és a munkadarabkoordinátarendszer<br />

között eltoljuk.<br />

A külső nullapont-eltolásnál csak lineáris eltolásokat lehet programozni.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programozás<br />

Az $AA_ETRANS eltolási értékek programozása a tengely-specifikus rendszerváltozók<br />

értékadásával történik.<br />

Eltolási érték hozzárendelése<br />

$AA_ETRANS[tengely]=RI<br />

Az RI REAL típusú számítási változó, ami tartalmazza az új értéket.<br />

A külső eltolás rendszerint nem a munkadarab-programban kerül megadásra, hanem a PLC<br />

állítja be.<br />

Megjegyzés<br />

A munkadarab-programban írt érték csak akkor lesz hatásos, ha a VDI-interfészen<br />

(NCU- PLC-interfész) a megfelelő jel be van állítva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 295


Koordináta-transzformációk (FRAMES)<br />

5.5 Preset-eltolás (PRESETON)<br />

5.5 Preset-eltolás (PRESETON)<br />

Funkció<br />

Speciális alkalmazásoknál szükségessé válhat, hogy egy vagy több tengelyhez az aktuális<br />

pozícióban (megállás közben) egy új, programozott valósértéket rendeljünk hozzá.<br />

VIGYÁZAT<br />

A PRESETON funkcióval a referenciapont érvénytelenné válik. Ezért ezt a funkciót csak<br />

referenciapont-kötelezettség nélküli tengelyekre szabad használni. Az eredeti rendszer<br />

visszaállításához G74-gyel referenciapontra menetelt kell végrehajtani - lásd a "Fájl- és<br />

programkezelés" fejezetben.<br />

<br />

<br />

<br />

<br />

<br />

Szintaxis<br />

PRESETON(tengely, érték, ...)<br />

Jelentés<br />

PRESETON<br />

tengely<br />

Érték<br />

valósérték beállítása<br />

géptengely megadása<br />

új valósérték, ami a megadott tengelyre érvényes<br />

Megjegyzés<br />

A valósérték beállítása szinkronakciókban csak a "WHEN" vagy "EVERY" kulcsszavakkal<br />

történhet.<br />

Munka-előkészítés<br />

296 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.5 Preset-eltolás (PRESETON)<br />

Példa<br />

A valósértékek hozzárendelése a gép-koordinátarendszerben történik - az értékek a<br />

géptengelyekre vonatkoznak.<br />

N10 G0 A760<br />

N20 PRESETON(A1,60)<br />

Az A tengely a 760-as pozícióba megy. Az A1 géptengely a 760-as pozícióban megkapja az<br />

új 60-as valósértéket.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 297


Koordináta-transzformációk (FRAMES)<br />

5.6 Frame-számítás 3 térbeli mérési pontból (MEAFRAME)<br />

5.6 Frame-számítás 3 térbeli mérési pontból (MEAFRAME)<br />

Funkció<br />

A MEAFRAME a 840D-nyelvnek egy bővítése a mérőciklusok támogatásához.<br />

A MEAFRAME funkció a frame-t három ideális és három megfelelő mért pontból számítja ki.<br />

Ha egy munkadarab a megmunkáláshoz pozicionálásra kerül, akkor a pozíciója a<br />

derékszögű gép-koordinátarendszerhez viszonyítva az ideális pozíciójára vonatkozóan<br />

általában el van tolva és el van forgatva. Pontos megmunkáláshoz vagy méréshez vagy egy<br />

költséges fizikai beállítás szükséges, vagy a mozgások megváltoztatása a<br />

munkadarabprogramban.<br />

Egy frame-t három térbeli pont letapogatásával lehet rögzíteni, amiknek ismertek az ideális<br />

pozícióik. A letapogatás egy érintős vagy egy optikai érzékelővel történik, ami speciális, a<br />

hordozó lemezen precízen rögzített lyukakat vagy mérő-golyókat érint meg.<br />

Szintaxis<br />

MEAFRAME IDEAL_POINT,MEAS_POINT,FIT_QUALITY)<br />

Jelentés<br />

MEAFRAME<br />

IDEAL_POINT<br />

MEAS_POINT<br />

FIT_QUALITY<br />

Frame-számítás 3 térbeli mérési pontból<br />

dim. valós mező, ami tartalmazza az ideális pontok három<br />

koordinátáját<br />

dim. valós mező, ami tartalmazza a mért pontok három<br />

koordinátáját<br />

valós változó, ami a következő információkat adja vissza:<br />

-1:<br />

Az ideális pontok megközelítőleg egy egyenesen<br />

vannak: a frame-t nem lehetett kiszámítani.<br />

A visszaadott frame változó egy semleges frame-t<br />

-2:<br />

tartalmaz.<br />

A mérési pontok megközelítőleg egy egyenesen<br />

vannak: a frame-t nem lehetett kiszámítani.<br />

-4:<br />

A visszaadott frame változó egy semleges frame-t<br />

tartalmaz.<br />

pozitív érték: A forgatási mátrix kiszámítása más okból nem<br />

sikerül.<br />

A torzítások összege (pontok közötti távolságok),<br />

ami szükséges a mért háromszög egy, az ideális<br />

háromszöggel kongruens háromszögbe való<br />

átvezetéséhez.<br />

Munka-előkészítés<br />

298 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.6 Frame-számítás 3 térbeli mérési pontból (MEAFRAME)<br />

Megjegyzés<br />

A mérés minősége<br />

Ahhoz, hogy a mért koordinátákat egy kombinált forgatással/átalakítással hozzá lehessen<br />

rendelni az ideális koordinátákhoz, a mérési pontok által kijelölt háromszögnek<br />

kongruensnek kell lennie az ideális háromszöghöz. Ezt egy kompenzációs algoritmus hajtja<br />

végre, ami az eltérések négyzetösszegét minimalizálja, amik a mért háromszöget átvezetik<br />

az ideálisba.<br />

A mérési pontok ténylegesen szükséges torzítása jelzésként szolgálhat a mérés minőségére<br />

vonatkozóan és ezért a MEAFRAME kiegészítő változójaként kerül kiadásra.<br />

Megjegyzés<br />

A MEAFRAME által létrehozott frame-t az ADDFRAME funkcióval át lehet transzformálni egy másik<br />

frame-be a frame-láncban.<br />

Lásd a példát: Frame-k láncolása "Láncolás ADDFRAME-mel".<br />

További információk az ADDFRAME(FRAME, STRING) paraméterekhez:<br />

/FB1/ Alap funkciók működési kézikönyv; Tengelyek, koordináta-rendszerek, frame-k (K2),<br />

fejezet: "FRAME láncolás".<br />

Példa<br />

Programkód<br />

DEF FRAME CORR_FRAME<br />

Kommentár<br />

; Munkadarabprogram 1<br />

Mérési pontok beállítása<br />

Programozás<br />

DEF REAL IDEAL_POINT[3,3] = SET(10.0,0.0,0.0, 0.0,10.0,0.0,<br />

0.0,0.0,10.0)<br />

DEF REAL MEAS_POINT[3,3] = SET<br />

(10.1,0.2,-0.2, -0.2,10.2,0.1, -0.2,0.2,9.8)<br />

Kommentár<br />

; teszthez<br />

DEF REAL FIT_QUALITY = 0<br />

DEF REAL ROT_FRAME_LIMIT = 5<br />

DEF REAL FIT_QUALITY_LIMIT = 3<br />

DEF REAL SHOW_MCS_POS1[3]<br />

DEF REAL SHOW_MCS_POS2[3]<br />

DEF REAL SHOW_MCS_POS3[3]<br />

; a részpozíció max. 5 fokos<br />

elfordulását engedi meg<br />

; max. 3 mm eltolást enged meg<br />

az ideális és a mért háromszög<br />

között<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 299


Koordináta-transzformációk (FRAMES)<br />

5.6 Frame-számítás 3 térbeli mérési pontból (MEAFRAME)<br />

Programkód<br />

N100 G01 G90 F5000<br />

N110 X0 Y0 Z0<br />

N200 CORR_FRAME=MEAFRAME(IDEAL_POINT,MEAS<br />

_POINT,FIT_QUALITY)<br />

Kommentár<br />

N230 IF FIT_QUALITY < 0<br />

SETAL(65000)<br />

GOTOF NO_FRAME<br />

ENDIF<br />

N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT<br />

SETAL(65010)<br />

GOTOF NO_FRAME<br />

ENDIF<br />

N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT<br />

SETAL(65020)<br />

GOTOF NO_FRAME<br />

ENDIF<br />

N260 IF CORR_FRAME[Y,RT] > ROT_FRAME_LIMIT<br />

SETAL(65021)<br />

GOTOF NO_FRAME<br />

ENDIF<br />

N270 IF CORR_FRAME[Z,RT] > ROT_FRAME_LIMIT<br />

SETAL(65022)<br />

GOTOF NO_FRAME<br />

ENDIF<br />

N300 $P_IFRAME=CORR_FRAME<br />

N400 X=IDEAL_POINT[0,0] Y=IDEAL_POINT[0,1]<br />

Z=IDEAL_POINT[0,2]<br />

N410 SHOW_MCS_POS1[0]=$AA_IM[X]<br />

N420 SHOW_MCS_POS1[1]=$AA_IM[Y]<br />

N430 SHOW_MCS_POS1[2]=$AA_IM[Z]<br />

N500 X=IDEAL_POINT[1,0] Y=IDEAL_POINT[1,1]<br />

Z=IDEAL_POINT[1,2]<br />

N510 SHOW_MCS_POS2[0]=$AA_IM[X]<br />

N520 SHOW_MCS_POS2[1]=$AA_IM[Y]<br />

N530 SHOW_MCS_POS2[2]=$AA_IM[Z]<br />

N600 X=IDEAL_POINT[2,0] Y=IDEAL_POINT[2,1]<br />

Z=IDEAL_POINT[2,2]<br />

N610 SHOW_MCS_POS3[0]=$AA_IM[X]<br />

; az 1. RPY-szög behatárolása<br />

; az 2. RPY-szög behatárolása<br />

; az 3. RPY-szög behatárolása<br />

; letapogató frame aktiválása egy<br />

beállítható frame-mel<br />

; frame ellenőrzése a geometriai<br />

tengelyeknek az ideális pontokra<br />

való pozícionálásával<br />

Munka-előkészítés<br />

300 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.6 Frame-számítás 3 térbeli mérési pontból (MEAFRAME)<br />

Programkód<br />

N620 SHOW_MCS_POS3[1]=$AA_IM[Y]<br />

N630 SHOW_MCS_POS3[2]=$AA_IM[Z]<br />

N700 G500<br />

No_FRAME<br />

M0<br />

M30<br />

Kommentár<br />

; állítható frame deaktiválása,<br />

mert nulla-frame-mel (nincs érték<br />

beadva) már előre foglalt<br />

; állítható frame deaktiválása,<br />

mert nulla-frame-mel (nincs érték<br />

beadva) már előre foglalt<br />

Példa frame-k láncolására<br />

MEAFRAME láncolása korrekciókhoz<br />

A MEAFRAME( ) funkció egy korrekció-frame-t ad. Ha ez a korrekció-frame láncolva lesz egy<br />

beállítható $P_UIFR[1] frame-mel, amely a funkció felhívásakor aktív volt pl. G54, akkor egy<br />

beállítható frame-t kapunk további átszámításokra mozgatáshoz vagy megmunkáláshoz.<br />

Láncolás ADDFRAME-mel<br />

Ha ez a korrekció-frame a frame-láncban egy másik helyen kell hasson vagy a beállítható<br />

frame előtt még más frame-k aktívak, akkor az ADDFRAME( ) funkciót lehet használni a<br />

láncoláshoz egy másik csatorna alap-frame-be vagy egy rendszer-frame-be.<br />

Ennél a frame-kben nem lehet aktív:<br />

● tükrözés MIRROR -ral<br />

● skálázás SCALE-lel<br />

A bemenő paraméterek a parancs- és valósértékekhez a munkadarab-koordináták. A<br />

vezérlés alaprendszerében ezek a koordináták mindig<br />

● metrikus vagy hüvelyk (G71/G70) és<br />

● sugárra-vonatkozó (DIAMOF)<br />

méretekkel kell megadni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 301


Koordináta-transzformációk (FRAMES)<br />

5.7 NCU-globális frame-k<br />

5.7 NCU-globális frame-k<br />

Funkció<br />

Az NCU-globális frame-k minden NCU-hoz az összes csatorna számára csak egyszer<br />

vannak. Az NCU-globális frame-k minden csatornából írhatóak és olvashatóak. Az NCUglobális<br />

frame-k aktiválása a mindenkori csatornában történik.<br />

A globális frame-k által csatornatengelyeket és géptengelyeket eltolásokkal, skálázásokkal<br />

és tükrözésekkel lehet befolyásolni.<br />

Geometriai összefüggések és frame-láncok<br />

Globális frame-knél a tengelyek között nem létezik geometriai összefüggés. Ezért nem<br />

hajthatók végre geometriai tengely jelölők forgatásai és programozása.<br />

● Globális frame-knél nem használhatók fel forgatások. Egy forgatás beprogramozása az:<br />

"18310 csatorna %1 mondat %2 frame: forgatás nem megengedett" vészjelzéssel vissza<br />

lesz utasítva.<br />

● Globális frame-k és csatorna-specifikus frame-k láncolata lehetséges. A kapott frame<br />

tartalmazza az összes frame-részt, beleértve a forgatásokat is az összes tengely<br />

számára. Egy forgatási részekkel rendelkező frame hozzárendelése egy globális framehez<br />

a "Frame: forgatás nem megengedett" vészjelzéssel vissza lesz utasítva.<br />

NCU-globális frame-k<br />

NCU-globális frame-k $P_NCBFR[n]<br />

Összesen 8 NCU-globális alap-frame-t lehet tervezni:<br />

Ezzel egy időben csatorna-specifikus bázis-frame-k is lehetnek.<br />

Globális frame-k egy NCU minden csatornájából írhatóak és olvashatóak. Globális frame-k<br />

írásakor a felhasználónak gondoskodnia kell egy csatorna-koordinálásról. Ez pl. várakozásjelölőkkel<br />

(WAITMC) valósítható meg.<br />

Gépgyártó<br />

A globális bázis-frame-k száma gépadatokkalkerül tervezésre, lásd:<br />

/FB1/ Alap funkciók működési kézikönyv; Tengelyek, koordináta-rendszerek, frame-k (K2).<br />

NCU-globális beállítható frame-k $P_UIFR[n]<br />

Az összes G500, G54...G599 beállítható frame-t lehet NCU-globálisra vagy csatornaspecifikusra<br />

tervezni.<br />

Gépgyártó<br />

Minden beállítható frame áttervezhető globális frame-mé a<br />

$MM_NUM_GLOBAL_USER_FRAMES segítségével.<br />

A frame programutasításoknál csatornatengely jelölő és géptengely jelölő használható<br />

tengely jelölőként. Geometriai tengely jelölők programozása egy vészjelzéssel vissza lesz<br />

utasítva.<br />

Munka-előkészítés<br />

302 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.7 NCU-globális frame-k<br />

5.7.1 Csatorna-specifikus frame-k ($P_CHBFR, $P_UBFR)<br />

Funkció<br />

Beállítható frame-ket vagy alap-frame-ket<br />

● a munkadarabprogram által és<br />

● BTSS által<br />

lehet kezeléssel pl. HMI Advanced-ből és a PLC-ből írni és olvasni.<br />

A finom eltolás globális frame-knél is lehetséges. Globális frame-k elnyomása ugyanúgy<br />

történik, mint a G53, G153, SUPA és G500 csatorna-specifikus frame-knél.<br />

Gépgyártó<br />

Az MD28081 MM_NUM_BASE_FRAMES által tervezhető a alap-frame-k száma a<br />

csatornában. Az alap konfiguráció így van kialakítva, hogy csatornánként legalább egy alapframe<br />

van. Csatornánként legfeljebb 8 alap-frame lehetséges. A 8 alap-frame-n túl még 8<br />

NCU-globális alap-frame lehet a csatornában.<br />

Csatorna-specifikus frame-k<br />

$P_CHBFR[n]<br />

A $P_CHBFR[n] rendszerváltozó által a bázis-frame-k olvashatóak és írhatóak. Egy bázisframe<br />

írásánál a láncolt össz-bázis-frame nem lesz aktiválva, az aktiválás csak egy G500,<br />

G54...G599 utasítás végrehajtásával történik meg. A változó elsősorban tárolóként szolgál az<br />

alap-frame-re irányuló, HMI vagy PLC általi írási eljárások számára. Ezek a frame-változók<br />

az adatmentéssel el lesznek tárolva.<br />

Első alap-frame a csatornában<br />

Az $P_UBFR előre definiált változóba való írás nem aktiválja egyidejűleg a 0 mezőindex-szel<br />

rendelkező alap-frame-t, az aktiválás csak egy G500, G54...G599 utasítás végrehajtásával<br />

történik meg. A változó a programban is írható vagy olvasható.<br />

$P_UBFR<br />

$P_UBFR megegyezik $P_CHBFR[0]-val. Alap-beállításként mindig van egy alap-frame a<br />

csatornában, mivel a rendszerváltozó kompatibilis régebbi kiadásokhoz. Ha nincs csatornaspecifikus<br />

alap-frame, akkor írásnál vagy olvasásnál a "Frame: utasítás nem megengedett"<br />

vészjelzés jelenik meg.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 303


Koordináta-transzformációk (FRAMES)<br />

5.7 NCU-globális frame-k<br />

5.7.2 Csatornában hatásos frame-k<br />

Funkció<br />

A csatornában hatásos frame-k a munkadarabprogram által ezen frame-k megfelelő<br />

rendszerváltozóival lesznek megadva. Ezekhez tartoznak a rendszer-frame-k is. A<br />

munkadarabprogramban a rendszerváltozókkal lehet az aktuális rendszer-frame-ket olvasni<br />

és írni.<br />

Aktuálisan a csatornában hatásos frame-k<br />

Áttekintés<br />

Aktuális rendszer-frame-k<br />

$P_PARTFRAME<br />

$P_SETFRAME<br />

$P_EXTFRAME<br />

$P_NCBFRAME[n]<br />

$P_CHBFRAME[n]<br />

$P_BFRAME<br />

$P_ACTBFRAME<br />

$P_CHBFRMASK és $P_NCBFRMASK<br />

$P_IFRAME<br />

Aktuális rendszer-frame-k<br />

$P_TOOLFRAME<br />

$P_WPFRAME<br />

$P_TRAFRAME<br />

$P_PFRAME<br />

Aktuális rendszer-frame<br />

$P_CYCFRAME<br />

P_ACTFRAME<br />

FRAME láncolás<br />

következőkhöz:<br />

TCARR és PAROT<br />

valósérték beállítás és megkarcolás<br />

Külső nullaponteltolás<br />

aktuális NCU-globális alap-frame-k<br />

aktuális csatorna alap-frame-k<br />

aktuális 1. alap-frame a csatornában<br />

össz alap-frame<br />

össz alap-frame<br />

aktuális beállítható frame<br />

következőkhöz:<br />

TOROT és TOFRAME<br />

szerszám vonatkoztatási pontok<br />

transzformációk<br />

aktuális programozható frame<br />

következőkhöz:<br />

ciklusok<br />

aktuális össz-frame<br />

aktuális frame az össz alap-frame-ből<br />

tevődik össze<br />

$P_NCBFRAME[n] Aktuális NCU-globális alap-frame-k<br />

A $P_NCBFRAME[n] rendszerváltozó által az aktuális globális alap-frame mezőelemek írhatóak<br />

és olvashatóak. A kapott össz alap-frame az írási eljárás által a csatornában kerül<br />

beszámításra.<br />

A megváltoztatott frame csak abban a csatornában lesz aktív, amelyikben a frame-t<br />

programozták. Ha a frame-t egy NCU minden csatornája számára meg akarjuk változtatni,<br />

akkor $P_NCBFR[n]-t és $P_NCBFRAME[n]-t egyszerre kell írni. Azután a többi csatornának<br />

a frame-t pl. G54-gyel aktiválni kell. Egy alap-frame írásánál az össz alap-frame újra ki lesz<br />

számítva.<br />

Munka-előkészítés<br />

304 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.7 NCU-globális frame-k<br />

$P_CHBFRAME[n] Aktuális csatorna alap-frame-k<br />

A $P_CHBFRAME[n] rendszerváltozó által az aktuális csatorna alap-frame mezőelemek<br />

írhatóak és olvashatóak. A kapott össz alap-frame az írási eljárás által a csatornában kerül<br />

beszámításra. Egy alap-frame írásánál az össz alap-frame újra ki lesz számítva.<br />

$P_BFRAME Aktuális 1. alap-frame a csatornában<br />

Az előre definiált $P_BFRAME frame-változóval lehet az alap-frame-t a mezőindex 0-val,<br />

amelyik a csatornában érvényes, a munkadarabprogramban olvasni és írni. Az írt bázisframe<br />

azonnal be lesz számítva.<br />

$P_BFRAME megegyezik $P_CHBFRAME[0]-val. A rendszerváltozónak alap-beállításban mindig<br />

van egy érvényes értéke. Ha nincs csatorna-specifikus alap-frame, akkor írásnál vagy<br />

olvasásnál a "Frame: utasítás nem megengedett" vészjelzés jelenik meg.<br />

$P_ACTBFRAME Össz alap-frame<br />

A $P_ACTFRAME változó a láncolt össz alap-frame-t határozza meg. A változó csak olvasható.<br />

$P_ACTFRAME megfelelője<br />

$P_NCBFRAME[0] : ... : $P_NCBFRAME[n] : $P_CHBFRAME[0] : ... : $P_CHBFRAME[n].<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 305


Koordináta-transzformációk (FRAMES)<br />

5.7 NCU-globális frame-k<br />

$P_CHBFRMASK és $P_NCBFRMASK Össz alap-frame<br />

A $P_CHBFRMASK és $P_NCBFRMASK rendszerváltozók által a felhasználó kiválaszthatja, hogy<br />

melyik alap-frame-ket szeretné bevonni az "össz" alap-frame kiszámításába. A változók csak<br />

a programban programozhatóak és csak BTSS által olvashatóak. A változók értéke<br />

bitmaszkként lesz értelmezve és megadja, hogy a $P_ACTFRAME melyik alap-frame<br />

mezőeleme lesz a számításba bevonva.<br />

A $P_CHBFRMASK-kal meg lehet adni, hogy melyik csatorna-specifikus bázis-frame-k,<br />

$P_NCBFRMASK-kal pedig hogy melyik NCU-globális bázis-frame-k legyenek beszámítva.<br />

A változók programozásával az össz-bázis-frame és az össz-frame újra ki lesz számítva.<br />

Reset után és az alapbeállításban<br />

$P_CHBFRMASK = $MC_CHBFRAME_RESET_MASK és<br />

$P_NCBFRMASK = $MC_CHBFRAME_RESET_MASK.<br />

pl.<br />

$P_NCBFRMASK = 'H81' ;$P_NCBFRAME[0] : $P_NCBFRAME[7]<br />

$P_CHBFRMASK = 'H11' ;$P_CHBFRAME[0] : $P_CHBFRAME[4]<br />

$P_IFRAME Aktuális beállítható frame<br />

Az $P_IFRAME előre definiált frame-változó által az aktuális beállítható frame, ami a<br />

csatornában érvényes, írható és olvasható a munkadarabprogramban. Az írt beállítható<br />

frame azonnal be lesz számítva.<br />

Az NCU-globális beállítható frame-knél a megváltoztatott frame csak abban a csatornában<br />

hat, amelyikben a frame programozva lett. Ha a frame-t egy NCU összes csatornája<br />

számára meg akarjuk változtatni, akkor $P_UIFR[n] és $P_IFRAME egyszerre írandó. Azután<br />

a többi csatornában a megfelelő frame-t pl. G54-gyel még aktiválni kell.<br />

$P_PFRAME Aktuális programozható frame<br />

$P_PFRAME az a programozható frame, amelyik TRANS/ATRANS, G58/G59, ROT/AROT,<br />

SCALE/ASCALE, MIRROR/AMIRROR ill. CTRANS, CROT, CMIRROR, CSCALE -nek a programozható<br />

FRAME-hez való hozzárendeléséből adódik.<br />

Aktuális, programozható frame-változó, ami létrehozza a vonatkoztatást<br />

● a beállítható nullapont-rendszer (ENR) és<br />

● Munkadarab-koordinátarendszer (MKR)<br />

között.<br />

Munka-előkészítés<br />

306 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Koordináta-transzformációk (FRAMES)<br />

5.7 NCU-globális frame-k<br />

P_ACTFRAME Aktuális össz-frame<br />

A $P_ACTFRAME az aktuális kapott össz-frame az össz alap-frame, az aktuális beállítható<br />

frame és a programozható frame láncolatából adódik. Az aktuális frame mindig akkor lesz<br />

aktualizálva, ha egy frame-rész megváltozik.<br />

$P_ACTFRAME megfelelője<br />

$P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ACTBFRAME : $P_IFRAME :<br />

$P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME : $P_PFRAME : $P_CYCFRAME<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 307


Koordináta-transzformációk (FRAMES)<br />

5.7 NCU-globális frame-k<br />

FRAME láncolás<br />

Az aktuális frame az össz alap-frame-ből, a beállítható frame-ből, a rendszer-frame-ből és a<br />

programozható frame-ből tevődik össze a fent megadott aktuális össz-frame-nek<br />

megfelelően.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

308 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk 6<br />

6.1 A transzformáció fajták általános programozása<br />

Általános funkció<br />

A vezérlés illesztése a különféle gépkinematikákhoz a megfelelő paraméterekkel<br />

programozott transzformáció fajták kiválasztásával történik. Ezekkel a paraméterekkel lehet<br />

a kiválasztott transzformációknak megadni a szerszám tájolását a térben és a körtengelyek<br />

tájolási mozgását is megfelelően megadni.<br />

A három-, négy- és öttengelyes transzformációknál a programozott helyzetadatok mindig a<br />

szerszám csúcsára vonatkoznak, amely a térbeli megmunkálási felületre merőlegesen lesz<br />

vezetve. A derékszögű koordináták az alap koordináta-rendszerből át lesznek számítva a<br />

gép koordináta-rendszerébe és a geometria-tengelyekre vonatkoznak. Ezek írják le a<br />

munkapontot. A virtuális körtengelyek leírják a szerszám tájolását a térben és a<br />

programozásuk a TRAORI-val történik.<br />

A kinematikai transzformációknál a pozíciókat lehet a derékszögű koordinátákban<br />

programozni. A vezérlés transzformálja a derékszögű koordináta rendszerben TRANSMIT,<br />

TRACYL és TRAANG alkalmazásával programozott mozgásokat a valós gépi tengelyek<br />

mozgásaira.<br />

Programozás<br />

Három-, négy- és öt-tengelyes transzformáció TRAORI<br />

A meghatározott tájolási transzformáció a TRAORI utasítással és a három lehetséges<br />

paraméterrel (trafoszám, tájolási vektor és körtengely-offset) aktiválva.<br />

TRAORI(trafoszám, tájolási vektor, körtengely-offset)<br />

Kinematikai transzformáció<br />

A kinematikai transzformációk a következők: TRANSMIT(trafoszám)<br />

TRACYL(munka-átmérő, trafoszám)<br />

TRAANG(ferdén álló tengely szöge, trafoszám)<br />

Aktív transzformációt kikapcsolni<br />

A TRAFOOF-fal ki lehet kapcsolni az éppen aktív transzformációt.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 309


Transzformációk<br />

6.1 A transzformáció fajták általános programozása<br />

Tájolási transzformáció<br />

Három-, négy- és öt-tengelyes transzformáció TRAORI<br />

A térbeli felületek optimális megmunkálásához a gép munkaterében a szerszámgépeknek a<br />

három X, Y és Z lineáris tengelyen kívül még szükségük van tengelyekre. A kiegészítő<br />

tengelyek írják le a térbeli tájolást és következőkben tájolótengelyeknek lesznek nevezve.<br />

Ezek körtengelyekként állnak rendelkezésre négy, különböző kinematikájú géptípusnál.<br />

1. kéttengelyes billenőfej, pl. kardán szerszámfej egy körtengellyel pár<strong>hu</strong>zamosan egy<br />

lineáris tengellyel fix szerszámasztalnál<br />

2. kéttengelyes körasztal, pl. fix billenőfej két tengely körül forgatható szerszámasztallal<br />

3. egytengelyes billenőfej és egytengelyes körasztal, pl. egy forgatható billenőfej forgatott<br />

szerszámmal egy tengely körül forgatható szerszámasztallal<br />

4. kéttengelyes billenőfej és egytengelyes körasztal, pl. egy egy tengely körül forgatható<br />

szerszámasztalnál egy forgatható billenőfej önmaga körül forgatható szerszámmal<br />

A 3- és 4-tengelyes transzformációk az 5-tengelyes transzformációk különleges formái és az<br />

5-tengelyes transzformációval azonosan programozhatók.<br />

Az "Általános 3-/4-/5-/6-tengelyes transzformáció" lefedi a funkció-terjedelmével a<br />

derékszögűen elrendezett körtengelyeket és a kardán marófej transzformációit és mint az<br />

összes többi tájolási transzformáció, aktiválható a leírt négy géptípushoz a TRAORI-val. Az<br />

általános 5/6-tengelyes transzformációnál a szerszámtájolásnak van egy további harmadik<br />

szabadságfoka, amelynél a szerszám tájolásához tetszőlegesen a térben a szerszámot a<br />

saját tengelye körül forgatni lehet.<br />

Irodalom: /FB3/ Különleges funkciók működési kézikönyv; 3-5 tengelyes transzformációk (F2)<br />

A szerszámtájolás kinematika-független alaphelyzete<br />

ORIRESET<br />

Ha TRAORI-val egy tájolási transzformáció aktív, akkor az ORIRESET-tel megadható a<br />

max. három tájolótengely alaphelyzete az opcionális A, B, C paraméterekkel. A<br />

programozott paraméterek sorrendjének hozzárendelése a körtengelyekhez a<br />

tájolótengelyeknek a transzformációval megadott sorrendjében történik. Az ORIRESET(A, B,<br />

C) programozásának hatása hogy a tájolótengelyek lineárisan és szinkronban a pillanatnyi<br />

helyzetükből a megadott alaphelyt pozíciójába mennek.<br />

Munka-előkészítés<br />

310 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.1 A transzformáció fajták általános programozása<br />

Kinematikai transzformáció<br />

TRANSMIT és TRACYL<br />

A maró-megmunkálás az esztergagépeken a megadott transzformációkból vagy<br />

1. egy homlokoldali megmunkálás eszterga-befogásban TRANSMIT-tel vagy<br />

2. tetszőleges hornyok megmunkálása hengeres testeken TRACYL-lal<br />

programozható.<br />

TRAANG<br />

Ha a fogásvételi tengely, pl. a köszörülés technológiához ferdén is állítható kell legyen, akkor<br />

a TRAANG-gal a megadott transzformációra egy paraméterezhető szöget lehet<br />

programozni.<br />

Derékszögű PTP-mozgás<br />

A kinematikus transzformációkhoz tartozik a "Derékszögű PTP-mozgás" is, a minél max. 8<br />

különböző csuklóállást lehet STAT=-vel programozni. A pozíciók a derékszögű<br />

koordinátarendszerben lesznek programozva, de a mozgás a gépen a gépi koordinátákban<br />

történik.<br />

Irodalom:<br />

/FB2/ Bővítő funkciók működési kézikönyv; Kinematikus transzformációk (M1)<br />

Láncolt transzformációk<br />

Két transzformáció egymás után lehet kapcsolni. Az így csatolt második transzformációnál a<br />

tengelyek mozgásai az első transzformációból átvételre kerülnek.<br />

Első transzformációként lehetségesek:<br />

● tájolási transzformáció TRAORI<br />

● polár transzformáció TRANSMIT<br />

● henger transzformáció TRACYL<br />

● ferde tengely transzformáció TRAANG<br />

A második transzformáció TRAANG ferde tengely kell legyen.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 311


Transzformációk<br />

6.1 A transzformáció fajták általános programozása<br />

6.1.1 Tájolási mozgások a transzformációknál<br />

Út-elmozdulások és tájolási mozgások<br />

A programozható tájolások út-elmozdulásai alapvetően a géptípustól függenek. A három-,<br />

négy- és öttengelyes transzformációnál TRAORI-val a forgó tengelyek vagy a billenthető<br />

lineáris tengelyek írják le a szerszám tájolási mozgását.<br />

A tájolásban résztvevő körtengelyek pozícióinak változásai kiegyenlítő mozgásokat okoznak<br />

a többi géptengelyen. A szerszámcsúcs helyzete ennek során változatlan marad.<br />

A szerszám tájolási mozgásai a virtuális A…, B…, C… körtengely-jelölőkkel az<br />

alkalmazástól függően az Euler- ill. RPY-szögek vagy irány- ill. felület-normálvektorok, egy<br />

kúp forgástengelye vagy egy kúppalást-felületen közbenső tájolás normált vektorának<br />

megadásával programozhatók.<br />

A kinematikus transzformációknál TRANSMIT, TRACYL és TRAANG esetén a vezérlés a<br />

derékszögű út-elmozdulásait transzformálja a valós géptengelyek út-elmozdulásaira.<br />

Gép-kinematika három-, négy- és öt-tengelyes TRAORI transzformációnál<br />

A szerszám vagy a szerszámasztal max. két körtengellyel forgatható lehet. Lehetséges az<br />

egytengelyes billenőfej és az egytengelyes körasztal kombinációja is.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

312 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.1 A transzformáció fajták általános programozása<br />

Géptípus<br />

géptípus 1 és 2 háromtengelyes<br />

transzformáció<br />

géptípus 1 és 2 négytengelyes<br />

transzformáció<br />

géptípus 3 öt-tengelyes<br />

transzformáció<br />

egy-tengelyes billenőfej és<br />

egy-tengelyes körasztal<br />

Általános 5/6-tengelyes transzformáció<br />

Tájolás programozása<br />

Szerszámtájolás programozása csak a forgó tengelyre<br />

merőleges síkban. Van<br />

két egyenes tengely (lineáris tengely) és<br />

egy forgó tengely (körtengely).<br />

Szerszámtájolás programozása csak a forgó tengelyre<br />

merőleges síkban. Van<br />

három egyenes tengely (lineáris tengely) és<br />

egy forgó tengely (körtengely).<br />

Tájolási transzformáció programozása. Kinematika<br />

három lineáris tengellyel és két derékszögű körtengellyel.<br />

A körtengelyek a háromból két lineáris tengellyel<br />

pár<strong>hu</strong>zamosak. Az első körtengelyt két derékszögű lineáris<br />

tengely mozgatja. Ez forgatja a harmadik lineáris tengelyt a<br />

szerszámmal. A második körtengely forgatja a munkadarabot.<br />

Géptípus<br />

géptípus 4 általános öt-<br />

/hattengelyes<br />

transzformáció<br />

két-tengelyes billenőfej<br />

önmaga körül forgatható<br />

szerszámmal és<br />

egytengelyes köraszta<br />

Tájolási transzformáció programozása.<br />

Tájolási transzformáció programozása. Kinematika<br />

három lineáris tengellyel és három derékszögű körtengellyel.<br />

A körtengelyek a háromból két lineáris tengellyel<br />

pár<strong>hu</strong>zamosak. Az első körtengelyt két derékszögű lineáris<br />

tengely mozgatja. Ez forgatja a harmadik lineáris tengelyt a<br />

szerszámmal. A második körtengely forgatja a munkadarabot.<br />

A szerszám alap-tájolását egy önmaga körüli kiegészítő<br />

forgatással THETA forgásszöggel programozható.<br />

Az "általános három-/négy-/öt-/hattengelyes transzformáció" felhívásánál kiegészítőleg át<br />

lehet adni a szerszám alap-tájolását. Ekkor már nem érvényesek a körtengelyek irányaival<br />

kapcsolatos korlátozások. Ha a körtengelyek nem pontosan merőlegesek egymásra vagy a<br />

körtengelyek nem pontosan pár<strong>hu</strong>zamosak a lineáris tengelyekkel, az "általános öt-<br />

/hattengelyes transzformáció" jobb eredményt adhat a szerszámtájolásra.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 313


Transzformációk<br />

6.1 A transzformáció fajták általános programozása<br />

TRANSMIT, TRACYL és TRAANG kinematikus transzformációk<br />

Az esztergagépen történő maró-megmunkálásnál vagy egy ferdén állítható tengelynél<br />

köszörülésnél a transzformációtól függően alapesetben a következő tengelyhozzárendelések<br />

érvényesek:<br />

TRANSMIT<br />

homlokoldali megmunkálás<br />

eszterga-felfogásban<br />

polár transzformáció aktiválása<br />

egy körtengely<br />

egy fogásvételi tengely merőlegesen a forgótengelyre<br />

egy hossztengely pár<strong>hu</strong>zamosan a forgótengellyel<br />

TRACYL<br />

tetszőleges hornyok<br />

megmunkálása egy<br />

hengeres testen<br />

hengerköpeny transzformáció aktiválása<br />

egy körtengely<br />

egy fogásvételi tengely merőlegesen a forgótengelyre<br />

egy hossztengely pár<strong>hu</strong>zamosan a forgótengellyel<br />

TRAANG<br />

Megmunkálás ferde<br />

fogásvételi tengellyel<br />

ferde tengely transzformáció aktiválása<br />

egy körtengely<br />

egy fogásvételi tengely paraméterezhető szöggel<br />

egy hossztengely pár<strong>hu</strong>zamosan a forgótengellyel<br />

Derékszögű PTP-mozgás<br />

A gép mozgása gépkoordinátákban történik és programozása a következő:<br />

TRAORI<br />

transzformáció aktiválása<br />

PTP pontról pontra mozgás pozíciókat a derékszögű koordináta-rendszereben (GKR)<br />

felvenni<br />

CP<br />

derékszögű tengelyek pályamozgása (AKR)<br />

STAT<br />

csuklók állása függ a transzformációtól<br />

TU<br />

mely szöggel mozogjanak a tengelyek a legrövidebb úton<br />

PTP-mozgás általános 5/6-tengelyes transzformációnál<br />

A gép mozgása gépi koordinátákban történik és a szerszám tájolása programozható<br />

körasztal pozíciókkal és a kinematika független Euler vektorral ill. RPY-szöggel is vagy az<br />

irányvektorokkal.<br />

Ennek során lehetséges körtengely-interpoláció, vektor-interpoláció nagykör-interpolációval<br />

vagy a tájolási vektor interpolációja egy kúppalást-felületen.<br />

Munka-előkészítés<br />

314 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.1 A transzformáció fajták általános programozása<br />

Példa három...öttengelyes transzformációra egy kardán marófejnél<br />

A szerszámgépnek legalább öt tengelye van, ebből<br />

● három egyenes tengely egyenesvonalú mozgásokhoz, amelyek a munkapontot a<br />

munkatérben bármely tetszőleges helyre mozgatják.<br />

● két forgó billenőtengely, amelyek egy beállítható szöggel (többnyire 45 fok) vannak<br />

elrendezve, lehetővé teszi a szerszám tájolását a térben, ami 45 foknál egy fél-kúpra<br />

korlátozódik.<br />

6.1.2 TRAORI tájolási transzformáció áttekintése<br />

Lehetséges programozási módok TRAORI-val összefüggésben<br />

Géptípus<br />

Programozás aktív TRAORI transzformációnál<br />

géptípus 1, 2 vagy 3<br />

A tájolótengelyek tengely-sorrendje és a szerszám tájolási iránya<br />

kéttengelyes billenőfej vagy vagy<br />

kéttengelyes körasztal vagy gépre-vonatkoztatottan megadható gépadatokkal<br />

egy egytengelyes billenőfej és a gépkinematikától függően vagy<br />

egy egytengelyes körasztal munkadarabra-vonatkoztatottan programozható tájolással<br />

kombinációja<br />

ua gépkinematikától függetlenül.<br />

A tájolótengelyek sorrendje a vonatkoztatási rendszerben van<br />

programozva:<br />

-ORIMKS vonatkoztatási rendszer= gép-koordinátarendszer<br />

- ORIWKS vonatkoztatási rendszer= munkadarabkoordinátarendszer<br />

Az alaphelyzet az ORIWKS.<br />

A tájolótengelyek programozása a következőkkel:<br />

A, B, C géptengely-pozíciókkal közvetlenül<br />

A2, B2, C2 szögprogramozás a virtuális tengelyeken<br />

- ORIEULER Euler-szöggel (alaphelyzet)<br />

- ORIRPY RPY-szöggel<br />

- ORIVIRT1 virtuális tájolótengely 1. definícióval<br />

- ORIVIRT2 virtuális tájolótengely 2. definícióval<br />

különféle interpolációs módokkal:<br />

lineáris interpoláció<br />

- ORIAXES tájolótengelyekre vagy géptengelyekre<br />

nagykör-interpoláció (tájolási vektor interpolációja)<br />

- ORIVECT tájolótengelyekre<br />

A tájolótengelyek programozása az irány-/felület-normálvektor<br />

A3, B3, C3 vektorkomponenseinek megadásával<br />

Az eredő szerszámtájolás programozása<br />

A4, B4, C4 a felület-normálvektorhoz a mondat elején<br />

A5, B5, C5 a felület-normálvektorhoz a mondat végén<br />

LEAD előresietés szöge szerszámtájoláshoz<br />

TILT oldalszög szerszámtájoláshoz<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 315


Transzformációk<br />

6.1 A transzformáció fajták általános programozása<br />

Géptípus<br />

géptípusok 1 és 3<br />

További géptípusok a<br />

szerszám önmaga körüli<br />

kiegészítő forgatásával egy 3.<br />

körtengelyt igényelnek<br />

Orientierungstransformation,<br />

wie z.B. generische 6-Achs-<br />

Transformation. Tájolási<br />

vektor forgatása<br />

pályához viszonyított tájolás a<br />

pályához viszonyított tájolásváltozásokhoz<br />

vagy a<br />

forgásvektor forgatása<br />

érintőlegesen a pályához<br />

Programozás aktív TRAORI transzformációnál<br />

Tájolási vektor interpolációja egy kúppalást-felületen<br />

Tájolás-változások egy a térben tetszőlegesen levő<br />

kúppalást-felületen interpolációval:<br />

- ORIPLANE a síkban (nagykör-interpoláció)<br />

- ORICONCW egy kúppalást-felületen órajárás irányában<br />

- ORICONCCW egy kúppalást-felületen órajárás irányával szemben<br />

A6, B6, C6 irányvektorok (a kúp forgástengelye)<br />

- OICONIO interpoláció egy kúppalást-felületen:<br />

A7, B7, C7 közbenső vektorral (kezdő- és végtájolás) vagy<br />

- ORICONTO egy kúppalást-felületen érintőleges átmenet<br />

Tájolás-változások egy pályára vonatkoztatva az<br />

- ORICURVE-val mozgás megadásával két érintőponton át<br />

PO[XH]=(xe, x2, x3, x4, x5) max. 5. fokú tájolás-polinom<br />

PO[YH]=(ye, y2, y3, y4, y5) max. 5. fokú tájolás-polinom<br />

PO[ZH]=(ze, z2, z3, z4, z5) max. 5. fokú tájolás-polinom<br />

- tájolás lefutás ORIPATHS simítása<br />

A8, B8, C8 szerszám áttájolási fázis megfelel: Szerszám iránya és<br />

úthossza leemelési mozgásnál<br />

Szerszámtájolás forgatásainak programozása<br />

LEAD előre- sietési szöggel relatív a felület-normálvektorhoz<br />

PO[PHI] P egy max. 5. fokú polinom programozása<br />

TILT oldalszög forgatás a pályaérintő körül (Z-irány)<br />

PO[PSI] egy max. 5. fokú polinom programozása<br />

THETA forgásszög (forgatás a szerszámirány körül Z-ben)<br />

THETA= érték, ami a mondat végén lesz elérve<br />

THETA=AC(...) mondatonként abszolút méretmegadásra átkapcsolni<br />

THETA=IC(...) mondatonként relatív méretmegadásra átkapcsolni<br />

THETA=Θe programozott szög G90/G91 interpoláció<br />

PO[THT]=(..) egy max. 5. fokú polinom programozása<br />

forgásvektor programozása<br />

- ORIROTA abszolút forgatás<br />

- ORIROTR relatív forgatásvektor<br />

- ORIROTT érintőleges forgatásvektor<br />

Tájolás-változások a pályához viszonyítva az<br />

- ORIPATH szerszámtájolás a pályához viszonyítva<br />

- ORIPATHS kiegészítőleg egy törésnél a tájolás lefutásában<br />

Forgatási vektor programozása<br />

- ORIROTC érintőleges forgásvektor, forgatás a pályaérintőhöz<br />

Munka-előkészítés<br />

316 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

6.2.1 Általános összefüggések kardán szerszámfejnél<br />

Funkció<br />

Ahhoz, hogy a térben görbült felületek megmunkálásánál optimális vágási feltételeket érjünk<br />

el, a szerszám ráállási szögének változtathatónak kell lennie.<br />

<br />

A tengelyadatokban kerül megadásra, hogy ez milyen gépkonstrukcióval érhető el.<br />

5-tengelyes transzformáció<br />

Kardán szerszámfej<br />

Itt három lineáris tengely (X, Y, Z) és két tájoló-tengely adja meg a szerszám beállítási<br />

szögét és munkapontját. A két tájoló-tengelyből az egyik ferde-tengelyként van megadva, itt<br />

a példában A' - sok esetben 45°-os elrendezésként.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 317


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Az itt bemutatott példákban a CA gép-kinematika kardán szerszámfej példáján láthatjuk az<br />

elrendezéseket!<br />

Gépgyártó<br />

A szerszám tájolási iránya és a tájoló-tengelyek sorrendje a gép-kinematikától függően<br />

gépadatokkal kerül beállításra.<br />

<br />

<br />

<br />

<br />

Ebben a példában az A' φ szöggel áll az X-tengelyhez viszonyítva.<br />

Munka-előkészítés<br />

318 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Általában az alábbi lehetséges összefüggések érvényesek:<br />

A' φ szöget zár be az<br />

X tengellyel<br />

B' φ szöget zár be az<br />

Y tengellyel<br />

C' φ szöget zár be a<br />

Z tengellyel<br />

A ϕ szög gépadatokkal állítható be a 0°-tól +89°-ig terjedő tartományban.<br />

Billenthető lineáris tengellyel<br />

Itt egy mozgó munkadarabbal és mozgó szerszámmal történő elrendezésről van szó.<br />

A kinematika három lineáris tengelyből (X, Y, Z) és két derékszögűen elrendezett<br />

forgótengelyből áll össze. Az első körtengelyt pl. két lineáris tengely mozgatja egy<br />

keresztszán által, a szerszám pár<strong>hu</strong>zamosan áll a harmadik lineáris tengellyel. A második<br />

körtengely forgatja a munkadarabot. A harmadik lineáris tengely (billenőtengely) a<br />

keresztszán síkjában található.<br />

<br />

<br />

<br />

<br />

<br />

A forgótengelyek sorrendje és a szerszám tájolási iránya a gépkinematikától függ, a<br />

gépadatok által kerül beállításra.<br />

Az alábbi lehetséges összefüggések érvényesek:<br />

Tengelyek:<br />

Tengelysorrendek:<br />

1. körtengely A A B B C C<br />

2. körtengely B C A C A B<br />

billentett lineáris tengely<br />

Z Y Z X Y X<br />

További magyarázatok a szerszám tájolási irányának konfigurálható tengely-sorrendjéhez:<br />

Irodalom: /FB3/ Különleges funkciók működési kézikönyv; 3-5 tengelyes transzformációk<br />

(F2), fejezet: "Kardán marófej", "Paraméterezés".<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 319


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

6.2.2 Három-, négy- és öt-tengelyes transzformáció (TRAORI)<br />

Funkció<br />

A felhasználó két ill. három egyenes tengelyt és egy forgótengelyt tervezhet. A<br />

transzformációk abból indulnak ki, hogy a forgótengely merőlegesen áll a tájolási síkra.<br />

A szerszám tájolása csak abban a síkban lehetséges, amely merőleges a forgótengelyre.<br />

A transzformáció azokat a géptípusokat támogatja, amelyek mozgatható szerszámmal és<br />

mozgatható munkadarabbal rendelkeznek.<br />

A 3- és 4-tengelyes transzformációk tervezése és programozása analóg az 5-tengelyes<br />

transzformációéval.<br />

Irodalom:<br />

Különleges funkciók működési kézikönyv; Több-tengelyes transzformációk (F2)<br />

Szintaxis<br />

TRAORI()<br />

TRAORI(,,,,,)<br />

TRAFOOF<br />

Jelentés<br />

TRAORI:<br />

aktiválja az első megadott tájolási transzformációt<br />

TRAORI(): aktiválja az n-nel megadott tájolási transzformációt<br />

:<br />

transzformáció száma<br />

érték: 1 vagy 2<br />

Példa:<br />

TRAORI(1) aktiválja az 1-es tájolási transzformációt<br />

,,: tájolási vektor komponensei, amerre a szerszám mutat<br />

,:<br />

programozható offset körtengelyekre<br />

TRAFOOF:<br />

transzformáció kikapcsolása<br />

Szerszámtájolás<br />

A szerszám választott tájolási irányától függően, az aktív munkasíkot (G17, G18, G19) úgy<br />

kell beállítni az NC programban, hogy a szerszámhossz-korrekció a szerszámtájolás<br />

irányába hasson.<br />

Megjegyzés<br />

A transzformáció bekapcsolása után a pozícióadatok (X, Y, Z) mindig a szerszám csúcsára<br />

vonatkoznak. A transzformációban résztvevő körtengelyek pozíciójának változása a többi<br />

géptengely olyan kiegyenlítő mozgásához vezet, hogy a szerszámcsúcs pozíciója<br />

változatlan marad.<br />

A tájolási transzformáció mindig a szerszám csúcsától a szerszám befogása felé irányul.<br />

Munka-előkészítés<br />

320 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Offset a tájoló-tengelyekhez<br />

A tájolási transzformáció aktiválásánál a tájoló-tengelyekre lehet közvetlenül programozni<br />

egy kiegészítő offsetet.<br />

Paraméterek elhagyhatók, ha a programozásnál a megfelelő sorrend be lesz tartva.<br />

Példa:<br />

TRAORI(, , , ,A,B) ; ha csak egyetlen offsetet kell beadni<br />

A közvetlen programozás alternatívájaként a kiegészítő offset a tájoló-tengelyekhez<br />

automatikusan is átvehető a pillanatnyilag aktív nullaponteltolásból. Az átvétel gépadattal<br />

állítható be.<br />

Példák<br />

TRAORI(1,0,0,1)<br />

; A szerszám alap-tájolása a Z irányba mutat.<br />

TRAORI(1,0,1,0)<br />

; A szerszám alap-tájolása a Z irányba mutat.<br />

TRAORI(1,0,1,1)<br />

; A szerszám alap-tájolása a Y/Z irányba mutat (megfelel a<br />

-45° állásnak)<br />

6.2.3 Tájolás programozás és alaphelyzet változatok (OTIRESET)<br />

Szerszámtájolás tájolás programozása TRAORI-nál<br />

A TRAORI programozható tájolás transzformációval kapcsolatban az X, Y, Z lineáris<br />

tengelyek mellett lehet programozni A.., B..., C... körtengely-jelölőkkel tengelypozíciókat<br />

vagy virtuális tengelyeket szögekkel vagy vektor-komponensekkel. A tájolási- és<br />

géptengelyekre különféle interpolációs módok lehetségesek. Attól függetlenül, hogy éppen<br />

melyik tájolási-polinom PO[szög] és tengely-polinom PO[tengely] aktív, több különböző<br />

polinomfajta, mint pl. G1, G2, G3, CIP vagy POLY programozható.<br />

A szerszám tájolásának változását lehet tájolási vektorokkal is programozni. Itt minden<br />

mondat végső tájolása vagy a vektor közvetlen tájolásával vagy a körtengely-pozíciók<br />

programozásával történhet.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 321


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Megjegyzés<br />

Tájolás programozás változatok három-...öttengelyes transzformációnál<br />

A három-...öttengelyes transzformációnál a következő változatok<br />

1. A, B, C géptengely-pozíciók közvetlen megadása<br />

2. A2, B2, C2 virtuális tengelyek szög-programozása Euler-szöggel vagy RPY-szöggel<br />

3. A3, B3, C3 vektor-komponensek megadása<br />

4. LEAD, TILT előresietés- és oldalszög megadása a pályára és a felületre vonatkoztatva<br />

5. A4, B4, C4 és A5, B5, C5 felület-normálvektor a mondat elején és a mondat végén<br />

6. A6, B6, C6 és A7, B7, C7 tájolás-vektor interpoláció egy kúppalást-felületen<br />

7. A8, B8, C8 szerszám áttájolása, a leemelő-mozgás iránya és hossza<br />

kölcsönösen kizárják egymást.<br />

A vegyesen programozott értékeket a vészjelzések is megakadályozzák.<br />

Szerszámtájolás alaphelyzet ORIRESET<br />

Az ORIRESET(A, B, C) programozásának hatása hogy a tájoló-tengelyek lineárisan és<br />

szinkronban a pillanatnyi helyzetükből a megadott alaphelyt pozíciójába mennek.<br />

Ha egy tengelyre nincs alaphelyzet-pozíció programozva, akkor a hozzátartozó<br />

$MC_TRAFO5_ROT_AX_OFFSET_1/2 gépadatban definiált pozíció lesz alkalmazva. A<br />

körtengelyek esetleg aktív frame-jei ennél nem lesznek figyelembe véve.<br />

Megjegyzés<br />

Csak ha egy tájolás transzformáció TRAORI(...)-val aktív, akkor lehet a szerszámtájolás<br />

alaphelyzetét kinematika-függetlenül ORIRESET(...)-tel a 14101 vészjelzés nélkül<br />

programozni.<br />

Példák<br />

1. példa CA gépkinematikára (C, A csatornanevek)<br />

ORIRESET(90, 45) C 90 fokra, A 45 fokra<br />

ORIRESET(, 30)<br />

;C az $MC_TRAFO5_ROT_AX_OFFSET_1/2[0]-ra, A 30 fokra<br />

ORIRESET( )<br />

;C az $MC_TRAFO5_ROT_AX_OFFSET_1/2[0]-ra,<br />

;A az $MC_TRAFO5_ROT_AX_OFFSET_1/2[1]-ra<br />

2. példa CAC gépkinematikára (C, A, B) csatornanevek<br />

ORIRESET(90, 45, 90) ;C 90 fokra, A 45 fokra, B 90 fokra<br />

ORIRESET( )<br />

;C az $MC_TRAFO5_ROT_AX_OFFSET_1/2[0]-ra,<br />

;A az $MC_TRAFO5_ROT_AX_OFFSET_1/2[1]-ra<br />

;B az $MC_TRAFO5_ROT_AX_OFFSET_1/2[2]-ra<br />

Munka-előkészítés<br />

322 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

LEAD, TILT és THETA forgatások programozása<br />

A szerszámtájolások forgatásai a három-..öt-tengelyes transzformációknál a LEAD<br />

előresietés-szöggel és a TILT oldalszöggel lesznek programozva.<br />

Egy transzformációnál egy harmadik körtengellyel úgy a vektor-komponensekkel tájoláshoz,<br />

mint a LEAD, TILT szögekkel megadáshoz megengedett a C2 (tájolás-vektor elforgatása)<br />

kiegészítő programozása.<br />

Egy kiegészítő harmadik körtengellyel lehet programozni a szerszám önmaga körüli<br />

elforgatását a THETA forgásszöggel.<br />

6.2.4 Szerszámtájolás programozása (A..., B..., C..., LEAD, TILT)<br />

Funkció<br />

A szerszám tájolásának programozására a következő lehetőségek vannak:<br />

1. A körtengelyek mozgásának közvetlen programozása. A tájolás változtatása mindig az<br />

alap- ill. gép-koordinátarendszerben történik. A tájolótengelyek szinkrontengelyekként<br />

mozognak.<br />

2. Euler-szögekben vagy RPY-szögekben történő programozás A2, B2, C2<br />

szögmegadással.<br />

3. irányvektor programozása A3, B3, C3 által. Az irányvektor a szerszámcsúcstól a<br />

szerszámfelvevő irányába mutat.<br />

4. Felület-normálvektor programozása a mondat elején A4, B4, C4 által és a mondat végén<br />

A5, B5, C5 által (homlokmarás).<br />

5. Programozás LEAD előresietés-szög és TILT oldalszög által.<br />

6. A kúp forgástengelyének programozása normálvektorral A6, B6, C6 által vagy közbensőtájolással<br />

a kúppalást-felületen A7, B7, C7,<br />

által, lásd a "Tájolás programozása egy kúppalást-felület mentén (ORIPLANE,<br />

ORICONxx)"<br />

7. Áttájolás programozása, a szerszám iránya és úthossza a leemelési mozgás alatt A8,<br />

B8, C8,<br />

által, lásd a "Tájolás lefutásának simítása (ORIPATHS A8=, B8=, C8=)" fejezetben.<br />

Megjegyzés<br />

A tájolási programozás minden esetben csak akkor engedhető meg, amikor egy tájolási<br />

transzformáció be van kapcsolva.<br />

Előny: ezek a programok minden gép-kinematikára átvihetők.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 323


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Szerszámtájolás definíciója G-kóddal<br />

Megjegyzés<br />

Gépgyártó<br />

Gépadattal lehetséges az átkapcsolás Euler- és RPY-szögek között. Megfelelő gépadat<br />

beállításoknál az átkapcsolás a csoport 50 aktív G-kódjától függően és függetlenül is<br />

lehetséges. A következő beállítási lehetőségekből lehet választani:<br />

1. Ha a tájolótengelyek definíciójára és a tájolási szög G-kóddal definiálására szolgáló<br />

gépadatok egyaránt nullára vannak állítva:<br />

Az A2, B2, C2 által programozott szögek a gépadattól függően a tájolás programozás<br />

szögdefiníciójában vagy Euler- vagy RPY-szögként lesznek értelmezve.<br />

2. Ha a tájolótengelyek G-kóddal történő definíciójának gépadata egyre van beállítva,<br />

átkapcsolás történik a csoport 50 aktív G-kódjától<br />

függően:<br />

Az A2, B2, C2 által programozott szögek az ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2,<br />

ORIAXPOS és ORIPY2 aktív G-kódok egyikének megfelelően lesznek értelmezve.. A<br />

tájolótengelyekkel programozott értékek a csoport 50 aktív G-kódjának megfelelően<br />

szintén tájolási szögként lesznek értelmezve.<br />

3. Ha a tájolási szög G-kóddal definiálására szolgáló gépadat egyre és a a tájolótengelyek<br />

G-kóddal történő definíciójának gépadata nullára van állítva, átkapcsolás történik a<br />

csoport 50 aktív G-kódjától<br />

függetlenül:<br />

Az A2, B2, C2 által programozott szögek az ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2<br />

ORIAXPOS és ORIPY2 aktív G-kódok egyikének megfelelően lesznek értelmezve. A<br />

tájolótengelyekkel programozott értékek a csoport 50 aktív G-kódjától függetlenül mindig<br />

körtengely-pozíciókként lesznek értelmezve.<br />

Programozás<br />

G1 X Y Z A B C<br />

G1 X Y Z A2= B2= C2=<br />

G1 X Y Z A3== B3== C3==<br />

G1 X Y Z A4== B4== C4==<br />

G1 X Y Z A5== B5== C5==<br />

LEAD=<br />

TILT=<br />

körtengelyek mozgásának programozása<br />

Euler-szögben történő programozás<br />

Irányvektor programozása<br />

a mondat eleji felület-normálvektor programozása<br />

a mondat végi felület-normálvektor programozása<br />

előresietés-szög a szerszámtájolás<br />

programozásához<br />

oldalszög a szerszámtájolás programozásához<br />

Munka-előkészítés<br />

324 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Paraméter<br />

G....<br />

X Y Z<br />

A B C<br />

A2 B2 C2<br />

A3 B3 C3<br />

A4 B4 C4<br />

A5 B5 C5<br />

LEAD<br />

TILT<br />

körtengelyek mozgásmódjának megadása<br />

lineáris tengelyek megadása<br />

körtengelyek géptengely-pozícióinak megadása<br />

virtuális tengelyek ill. tájolótengelyek szögprogramozása<br />

(Euler- vagy RPY-szög)<br />

irányvektor vektor-komponenseinek megadása<br />

pl. homlokmarásnál a felület-normálvektor<br />

komponenseinek megadása a mondat elején<br />

pl. homlokmarásnál a felület-normálvektor<br />

komponenseinek megadása a mondat végén<br />

szög a felület-normálvektorhoz viszonyítva, a<br />

pályaérintő és a felület-normálvektor által<br />

meghatározott síkban<br />

szög a síkban, merőlegesen a pályaérintőre a<br />

felület-normálvektorhoz viszonyítva<br />

Példa összehasonlításra 5-tengelyes transzformációval és anélkül<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 325


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Leírás<br />

Az 5-tengelyes programokat általában a CAD/CAM rendszerekkel hozzák létre és nem a<br />

vezérlésbe kerülnek beadásra. Ezért a következő felvilágosítások elsősorban a<br />

posztprocesszorok programozói számára lényegesek.<br />

A tájolás programozásának módja a csoport 50 G-kódjában van meghatározva:<br />

ORIEULER Euler-szöggel<br />

ORIRPY RPY-szöggel (ZYX forgási sorrend)<br />

ORIVIRT1 virtuális tájolási-tengelyekkel (definíció 1)<br />

ORIVIRT2 virtuális tájolási-tengelyekkel (definíció 2)<br />

ORIAXPOS virtuális tájolási-tengelyekkel körtengely-pozíciókkal<br />

ORIPY2 RPY-szöggel (XYZ forgási sorrend)<br />

Gépgyártó<br />

A gépgyártó gépadatokkal különféle változatokat definiálhat. Vegyük ehhez figyelembe a<br />

gépgyártó tájékoztatásait.<br />

Programozás Euler-szögekben ORIEULER<br />

A tájolási programozásnál az A2, B2, C2-vel megadott értékek Euler-szögként (fokban)<br />

lesznek értelmezve.<br />

A tájolási vektor úgy adódik össze, hogy egy vektor a Z-irányba először A2-vel a Z-tengely<br />

körül, ezután B2-vel az új X-tengely körül és végül C2-vel az új Z-tengely körül kerül<br />

forgatásra.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Ebben az esetben C2 értékének (forgatás az új Z-tengely körül) nincsen jelentősége és nem<br />

kell programozni.<br />

Munka-előkészítés<br />

326 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Programozás RPY-szögekben ORIRPY<br />

A tájolási programozásnál az A2, B2, C2-vel megadott értékek RPY-szögként (fokban)<br />

lesznek értelmezve.<br />

Megjegyzés<br />

Ellentétben az Euler-szög programozással itt mindhárom értéknek befolyása van a tájolási<br />

vektorra.<br />

Gépgyártó<br />

A szög-definícióknál tájolási szöggel az RPY-szög által a tájolótengelyekre<br />

$MC_ORI_DEF_WITH_G_CODE = 0 érvényes.<br />

A tájolási vektor úgy adódik össze, hogy egy vektor a Z-irányba először C2-vel a Z-tengely<br />

körül, ezután B2-vel az új Y tengely körül és végül A2-vel az új X tengely körül kerül<br />

forgatásra.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Ha a tájolótengelyek G-kóddal definiálásának gépadata $MC_ORI_DEF_WITH_G_CODE =<br />

1, akkor:<br />

A tájolási vektor úgy adódik össze, hogy egy vektor Z-irányba először A2-vel a Z tengely<br />

körül, ezután B2-vel az új Y tengely körül és végül C2-vel az új X tengely körül kerül<br />

forgatásra.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 327


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Irányvektor programozása<br />

Az irányvektor összetevőit az A3, B3, C3-mal programozzuk. A vektor a szerszámfelvevő<br />

irányába mutat; a vektor hosszának itt nincsen jelentősége.<br />

Nem programozott vektorösszetevők nullára lesznek állítva.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Szerszámtájolás programozása LEAD= és TILT=<br />

Az eredő szerszámtájolást a következőkből kerül megállapításra:<br />

● pálya-érintő<br />

● felület-normálvektor<br />

a mondat elején A4, B4, C4 és a mondat végén A5, B6, C5<br />

● előresietés-szög LEAD<br />

a pályaérintő és a felület-normálvektor által meghatározott síkban<br />

● oldalszög TILT a mondat végén<br />

pályaérintőre merőlegesen és a felület-normálvektorhoz viszonyítva<br />

Viselkedés a belső sarkoknál (3D-s szerszámsugár-korrekciónál)<br />

Ha a mondat egy belső saroknál megrövidítésre kerül, akkor az eredő szerszámtájolás<br />

ugyanúgy a mondat végre lesz elérve.<br />

Munka-előkészítés<br />

328 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Szerszámtájolás definíciója LEAD= és TILT=<br />

<br />

<br />

<br />

<br />

<br />

6.2.5 Homlokmarás (3D-marás A4, B4, C4, A5, B5, C5)<br />

Funkció<br />

A homlokmarás a tetszőlegesen görbített felületek megmunkálására szolgál.<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 329


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

A 3D-marásnak ehhez a fajtájához szükséges a munkadarab-felületi 3D-pályák soronkénti<br />

leírása.<br />

A számítások szokás szerint CAM-ban kerülnek végrehajtásra a szerszámforma és a<br />

szerszámméretek figyelembevételével. A készre kiszámított NC-mondatokat ezután<br />

posztprocesszorok olvassák be a vezérlésbe.<br />

Pályagörbületek programozása<br />

Felületek leírása<br />

A pályagörbület leírása felület-normálvektorok által történik a következő összetevőkkel:<br />

A4, B4, C4 kezdet-vektor a mondat elején<br />

A5, B5, C5 vég-vektor a mondat végén<br />

Ha egy mondatban csak az kezdő-vektor szerepel, akkor a felület-normálvektor az egész<br />

mondatban állandó marad. Ha egy mondatban csak a vég-vektor szerepel, akkor a<br />

megelőző mondat végső értékéből a nagykör-interpoláció által kerül interpolálásra a<br />

programozott végső érték.<br />

Ha a kezdő- és vég-vektor van programozva, akkor a két irány között szintén a nagykörinterpolációval<br />

kerül sor interpolációra. Ezáltal folyamatosan sima pályák jönnek létre.<br />

Az alapállásban a felület-normálvektorok függetlenül a G17.. G19 aktív síkoktól a Z-irányba<br />

mutatnak.<br />

Egy vektor hosszának nincsen jelentősége.<br />

Nem programozott vektorösszetevők nullára lesznek állítva.<br />

Aktív ORIWKS esetén, lásd a "Tájolótengelyek vonatkoztatása (ORIWKS, ORIMKS)"<br />

fejezetben, a felület-normálvektorok az aktív frame-re vonatkoznak és a frame forgatásánál<br />

együtt forognak.<br />

Gépgyártó<br />

A felület-normálvektornak, egy gépadatok által beállított határértéken belül, a pályaérintőre<br />

merőlegesen kell állnia, különben vészjelzés kerül kiadásra.<br />

Munka-előkészítés<br />

330 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

6.2.6 A tájolótengelyek vonatkoztatása (ORIWKS, ORIMKS)<br />

Funkció<br />

A tájolási programozásnál a munkadarab-koordinátarendszerben<br />

● Euler- ill. RPY-szöggel vagy<br />

● tájolási vektorral<br />

a forgómozgás folyamata az ORIMKS/ORIWKS által állítható be.<br />

Megjegyzés<br />

Gépgyártó<br />

Az interpoláció fajta a következő gépadattal lesz megadva:<br />

MD21104 $MC_ORI_IPO_WITH_G_CODE<br />

= FALSE: vonatkoztatás az ORIWKS és ORIMKS G-funkciók<br />

= TRUE: vonatkoztatás a az 51. csoport G-funkciói (ORIAXES, ORIVECT, ORIPLANE, ...)<br />

Szintaxis<br />

ORIMKS=...<br />

ORIWKS=...<br />

Jelentés<br />

ORIMKS<br />

ORIWKS<br />

forgatás a gép-koordinátarendszerben<br />

forgatás a munkadarab-koordinátarendszerben<br />

Megjegyzés<br />

Az ORIWKS alapbeállítás. Ha egy 5-tengelyes programnál eleve nem világos, milyen gépen<br />

kell futtatni, akkor alapvetően célszerű az ORIWKS-t választani. A gépkinematikától függ,<br />

hogy a gép valójában milyen mozgásokat hajt végre.<br />

Az ORIMKS-sal valóságos gépi mozgásokat lehet programozni, pl. a berendezésekkel történő<br />

ütközések elkerülése céljából.<br />

Leírás<br />

Az ORIMKS-nél a végrehajtott szerszámmozgás a gépkinematikától függő. Térben rögzített<br />

szerszámcsúccsal történő tájolás-változtatásnál a körtengely-pozíciók között történik lineáris<br />

interpoláció.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 331


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Az ORIWKS-nél a végrehajtott szerszámmozgás a gépkinematikától független. Térben rögzített<br />

szerszámcsúccsal történő tájolás-változtatásnál a szerszám a kezdő- és végvektor által<br />

kifeszített síkban mozog.<br />

<br />

<br />

<br />

<br />

<br />

<br />

Szinguláris helyek<br />

Megjegyzés<br />

ORIWKS<br />

Az 5-tengelyes gépek tájolási mozgásai a szinguláris hely tartományában a géptengelyek<br />

nagy mozgásit igénylik. (Például egy forgó-, billenőfejnél, C-vel mint forgótengellyel és A-val<br />

mint billenőtengellyel minden A = 0 hely szinguláris.)<br />

Gépgyártó<br />

Ahhoz, hogy ne terheljük túl a géptengelyeket, a sebességvezérlés erősen lecsökkenti a<br />

pályasebességet a szinguláris helyek közelében.<br />

A<br />

$MC_TRAFO5_NON_POLE_LIMIT<br />

$MC_TRAFO5_POLE_LIMIT<br />

gépadatokkal úgy lehet paraméterezni a transzformációt, hogy a tájolási mozgások a pólus<br />

közelében a póluson át történnek és ezáltal egy gyors megmunkálás lehetséges.<br />

A szinguláris helyeket csak az $MC_TRAFO5_POLE_LIMIT gépadattal lehet kezelni.<br />

Irodalom:<br />

/FB3/ Különleges funkciók működési kézikönyv; 3-5 tengelyes transzformációk (F2),<br />

fejezet: "Szinguláris helyek és azok kezelése".<br />

Munka-előkészítés<br />

332 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

6.2.7 Tájolótengelyek programozása (ORIAXES, ORIVECT, ORIEULER, ORIRPY,<br />

ORIRPY2, ORIVIRT1, ORIVIRT2)<br />

Funkció<br />

A tájolótengelyek funkció a szerszám térben történő tájolását írja le és ez a körtengelyek<br />

offset programozásával lesz elérve. Egy további, harmadik szabadságfok kerül bevezetésre,<br />

amely a saját maga körüli mozgást írja le. Ez a szerszámtájolás egy körtengellyel a térben<br />

tetszőlegesen történik és igényli a hat-tengelyes transzformációt. A szerszám saját maga<br />

körüli forgása a forgásvektorok interpolációs módjától függően a THETA forgásszöggel lesz<br />

megadva, lásd a "Szerszámtájolás forgatásai (ORIROTA/TR/TT, ORIROTC, THETA)"<br />

fejezetben.<br />

Programozás<br />

A tájolótengelyek a az A2, B2, C2 tengelyjelölőkkel lesznek programozva.<br />

N... ORIAXES vagy ORIVECT<br />

N... G1 X Y Z A B C<br />

vagy<br />

N... ORIPLANE<br />

vagy<br />

N... ORIEULER vagy ORIRPY ill. ORIRPY2<br />

N... G1 X Y Z A2= B2= C2=<br />

vagy<br />

N... ORIVIRT1 vagy ORIVIRT2<br />

N... G1 X Y Z A3= B3= C3=<br />

lineáris vagy nagykör-interpoláció<br />

vagy<br />

síkok tájolás-interpolációja<br />

vagy<br />

tájolási szög Euler-/RPY-szög<br />

virtuális tengelyek szög-programozása<br />

vagy<br />

virtuális tájolótengelyek definíció 1 vagy<br />

2, irányvektor-programozás<br />

A tájolás változásokhoz egy térbeli kúppalást-felület mentén a tájolótengelyeknél további<br />

körtengely-offsetek programozhatók, lásd a "Tájolás programozása egy kúppalást-felület<br />

mentén (ORIPLANE, ORICONxx)" fejezetben.<br />

Paraméter<br />

ORIAXES<br />

gép- vagy tájolótengelyek lineáris interpolációja<br />

ORIVECT<br />

nagykör-interpoláció (azonos ORIPLANE-nel)<br />

ORIMKS<br />

ORIWKS<br />

forgatás a gép-koordinátarendszerben<br />

forgatás a munkadarab-koordinátarendszerben<br />

leírás a Szerszámtájolás forgatásainál fejezetben<br />

A= B= C= géptengely-pozíció programozása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 333


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

ORIEULER<br />

tájolás programozása Euler-szöggel<br />

ORIRPY<br />

tájolás programozása RPY-szöggel A forgatás sorrendje<br />

XYZ, ahol:<br />

A2 a forgásszög az X körül<br />

B2 a forgásszög az Y körül<br />

C2 a forgásszög a Z körül<br />

ORIRPY2<br />

tájolás programozása RPY-szöggel A forgatás sorrendje<br />

ZYX, ahol:<br />

A2 a forgásszög a Z körül<br />

B2 a forgásszög az Y körül<br />

C2 a forgásszög az X körül<br />

A2= B2= C2= virtuális tengelyek szög-programozása<br />

ORIVIRT1<br />

tájolás programozása virtuális tájolástengelyekkel<br />

ORIVIRT2<br />

(definíció 1), megadás MD $MC_ORIAX_TURN_TAB_1 szerint<br />

(definíció 2), megadás MD $MC_ORIAX_TURN_TAB_2 szerint<br />

A3= B3= C3= iránytengelyek irányvektor-programozása<br />

Leírás<br />

Gépgyártó<br />

Az $MC_ORI_DEF_WITH_G_CODE gépadattal kerül meghatározásra, hogyan definiáljuk az<br />

A2, B2, C2 programozott szögeket:<br />

A definíció az $MC_ORIENTATION_IS_EULER gépadat után következik (alaphelyzet) vagy<br />

az 50-es G-csoportot követi (ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2).<br />

Az $MC_ORI_IPO_WITH_G_CODE gépadattal kerül meghatározásra, hogy az interpoláció<br />

melyik fajtája hatásos: ORIWKS/ORIMKS vagy ORIAXES/ORIVECT.<br />

JOG üzemmód<br />

A tájolási szögek ebben az üzemmódban mindig lineárisan vannak interpolálva.<br />

A mozgatóbillentyűk általi folyamatos és inkrementális mozgatásnál csak egy tájolótengelyt<br />

lehet mozgatni. A kézikerekekkel egyidejűleg lehet mozgatni a tájolótengelyeket.<br />

A tájolótengelyek kézi mozgatására hat a csatorna-specifikus előtolás-korrekció kapcsoló ill.<br />

a gyorsmenet-korrekció kapcsoló a gyorsmenet-átlapolásnál.<br />

Az alábbi gépadatokkal egy külön sebesség-előmegadás lehetséges:<br />

$MC_JOG_VELO_RAPID_GEO<br />

$MC_JOG_VELO_GEO<br />

$MC_JOG_VELO_RAPID_ORI<br />

$MC_JOG_VELO_ORI<br />

Munka-előkészítés<br />

334 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Megjegyzés<br />

SINUMERIK 840D "Handling transzformációs csomag"-gal<br />

A "Derékszögű kézi-mozgatás" funkcióval a JOG-üzemben a geometria-tengelyek<br />

mozgatása a GKR, MKR és TKR vonatkoztatási rendszerekben egymástól külön beállítható.<br />

Irodalom:<br />

/FB2/ Bővítő funkciók működési kézikönyv; Kinematikus transzformációk (M1)<br />

6.2.8 Tájolás programozása egy kúppalást-felület mentén (ORIPLANE, ORICONCW,<br />

ORICONCCW, ORICONTO, ORICONIO)<br />

Funkció<br />

A kibővített tájolással lehetséges tájolás változásokat végrehajtani egy térbeli kúppalástfelület<br />

mentén. A tájolásvektor interpolációja egy kúppalást-felületen az ORICONxx modális<br />

utasításokkal történik. A végtájolást egy síkban történő interpolációnál lehet ORIPLANE-nel<br />

programozni. Általában a kezdő-tájolást az előző mondatok határozzák meg.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 335


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Programozás<br />

A végtájolás vagy a szögprogramozás megadásával Euler- vagy RPY-szögben A2, B2, C2<br />

által vagy a körtengely-pozíciók programozásával A, B, C által lesz rögzítve. A<br />

tájolótengelyekre a kúppalást-felület mentén további programozások szükségesek:<br />

● a kúp forgástengelye vektorként az A6, B6, C6 által<br />

● nyílásszög PSI a NUT jelölővel<br />

● közbenső tájolás a kúppaláston az A7, B7, C7 által<br />

Megjegyzés<br />

A6, B6, C6 irányvektor programozása a kúp forgástengelyéhez<br />

A végtájolás programozása nem feltétlenül szükséges. Ha nincs megadva végtájolás,<br />

akkor egy teljes kúppalást lesz interpolálva 360 fokkal.<br />

Kúp nyílásszögének programozása NUT=szög-gel<br />

A végtájolás programozása feltétlenül szükséges.<br />

Ezen módon nem lehet egy teljes kúppalást lesz interpolálni 360 fokkal.<br />

A7, B7, C7 közbenső tájolás programozása a kúppaláston<br />

A végtájolás programozása feltétlenül szükséges. A tájolás változást és a forgásirányt<br />

egyértelműen meghatározza a kezdő-, vég- és közbenső-tájolás három vektora. Mind a<br />

három vektor különböző kell legyen. Ha a programozott közbenső tájolás pár<strong>hu</strong>zamos a<br />

kezdő- és végtájolással, akkor a tájolásra egy lineáris nagykör-interpoláció lesz<br />

végrehajtva a kezdő- és vég-vektor által meghatározott síkban.<br />

Kibővített tájolás-interpoláció egy kúppalást-felületen<br />

N... ORICONCW vagy ORICONCCW<br />

interpoláció egy kúppaláston<br />

N... A6= B6= C6= A3= B3= C3=<br />

irány-vektorral a kúp órajárásirányába/szembe<br />

és végtájolás vagy<br />

vagy<br />

N... ORICONTO<br />

N... G1 X Y Z A6= B6= C6=<br />

érintőleges átmenet és<br />

vagy<br />

a végtájolás megadása<br />

N... ORICONIO<br />

N... G1 X Y Z A7= B7= C7=<br />

vagy<br />

N... PO[PHI]=(a2, a3, a4, a5)<br />

végtájolás és egy közbenső tájolás<br />

N... PO[PSI]=(b2, b3, b4, b5)<br />

megadása a kúppaláston<br />

forgásszög polinommal és<br />

nyílásszög polinommal<br />

Munka-előkészítés<br />

336 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Paraméter<br />

ORIPLANE<br />

interpoláció a síkban (nagykör-interpoláció)<br />

ORICONCW<br />

interpoláció egy kúppalást-felületen az órajárás irányában<br />

ORICONCCW<br />

interpoláció egy kúppalást-felületen az órajárás irányával<br />

szemben<br />

ORICONTO<br />

interpoláció egy kúppalást-felületen érintőleges átmenet<br />

A6= B6= C6= kúp forgástengelyének programozása (normált vektor)<br />

NUT=szög<br />

kúp nyílásszöge fokban<br />

NUT=+179<br />

elmozdulás-szög kisebb vagy egyenlő 180 fokkal<br />

NUT=-181<br />

elmozdulás-szög nagyobb vagy egyenlő 180 fokkal<br />

ORICONIO<br />

interpoláció egy kúppalást-felületen<br />

A7= B7= C7= közbenső tájolás(programozás normált vektorként)<br />

PHI<br />

tájolás forgásszöge a kúp iránytengelye körül<br />

PSI<br />

kúp nyílásszöge<br />

lehetséges polinomok<br />

PO[PHI]=(a2, a3, a4, a5)<br />

PO[PSI]=(b2, b3, b4, b5)<br />

a mindenkori szögeken kívül max.5. fokú polinomok<br />

is programozhatók<br />

Példa különféle tájolás-változásokra<br />

…<br />

N10 G1 X0 Y0 F5000<br />

N20 TRAORI(1)<br />

N30 ORIVECT<br />

…<br />

N40 ORIPLANE<br />

N50 A3=0 B3=0 C3=1<br />

N60 A3=0 B3=1 C3=1<br />

…<br />

N70 ORICONCW<br />

N80 A6=0 B6=0 C6=1 A3=0 B3=0 C3=1<br />

N90 A6=0 B6=0 C6=1<br />

; tájolás-transzformáció be<br />

; szerszámtájolást vektorként<br />

interpolálni<br />

; szerszámtájolás a síkban<br />

; nagykör-interpolációt kiválasztani<br />

; tájolás az Y/Z-síkban 45 fokkal<br />

elforgatva, tájolás a mondat végén lesz<br />

elérve (0,1/√2,1/√2).<br />

; tájolás-programozás kúppaláston<br />

; a tájolás-vektor egy kúppaláston lesz<br />

(0,0,1) iránnyal a tájolásig<br />

(1/√2,0,1/√2) órajárás irányában<br />

interpolálva, a forgásszög itt 270 fok<br />

; a szerszámtájolás egy teljes fordulatot<br />

tesz meg ugyanazon a kúppaláston<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 337


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Leírás<br />

Ha a tájolás-változásokat egy tetszőleges térbeli kúppalást-felületen kell leírni, akkor ismert<br />

kell legyen a vektor, ami körül a szerszámtájolást el kell forgatni. Ezen kívül meg kell adni a<br />

kezdő- és a végtájolást. A kezdő-tájolás a megelőző mondatból adódik és a végtájolást vagy<br />

programozni kell vagy más feltételekkel kell megadni.<br />

ORIPLANE programozás a síkban megfelel ORIVECT-nek<br />

A nagykör-interpoláció programozása a szög-polinomokkal együtt megfelel a kontúrok<br />

egyenes- és polinom-interpolációjának. A szerszámtájolás egy, a kezdő- és a végtájolás által<br />

kijelölt síkban lesz interpolálva. Ha további polinomok lesznek programozva, akkor a tájolásvektor<br />

a síkból kibillenhet.<br />

Körök programozása egy síkban G2/G3, CIP és CT<br />

A kibővített tájolás megfelel a körök interpolációjának egy síkban. A körök megfelelő<br />

programozási lehetőségeit középpont megadással vagy sugár megadásával mint G2/G3, kör<br />

közbenső ponton át CIP és érintőkör CT, lásd<br />

Irodalom: Programozási kézikönyv Alapok, "Út-utasítások programozása".<br />

Tájolás programozása<br />

Tájolás-vektor interpolációja egy kúppalást-felületen ORICONxx<br />

A tájolások interpolációjához egy kúppalást-felületen négy különböző interpolációs módot<br />

lehet kiválasztani a csoport 51 G-kódjaiból:<br />

1. Interpoláció egy kúppaláston az órajárás irányában ORICONCW a végtájolás és a kúpirány<br />

vagy a nyílásszög megadásával. Az irányvektor az A6, B6, C6 jelölőkkel és a kúp<br />

nyílásszöge a NUT= jelölővel a 0 ...180 fok értéktartományban lesz programozva.<br />

2. Interpoláció egy kúppaláston az órajárás irányával szemben ORICONCWW a végtájolás és a<br />

kúpirány vagy a nyílásszög megadásával. Az irányvektor az A6, B6, C6 jelölőkkel és a<br />

kúp nyílásszöge a NUT= jelölővel a 0 ...180 fok értéktartományban lesz programozva.<br />

3. Interpoláció egy kúppaláston ORICONIO a végtájolás és egy közbenső tájolás<br />

megadásával, ami a A7, B7, C7 jelölőkkel lesz programozva.<br />

4. Interpoláció egy kúppaláston ORICONTO érintőleges átmenettel és a végtájolás<br />

megadásával.. Az irányvektor az A6, B6, C6 jelölőkkel lesz programozva.<br />

Munka-előkészítés<br />

338 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

6.2.9 Két érintőpont tájolás-megadása (ORICURVE, PO[XH]=, PO[YH]=, PO[ZH]=)<br />

Funkció<br />

Tájolás változásának programozása a második térgörbével ORICURVE<br />

A tájolás-változások programozásának egy további lehetősége a szerszám csúcsán kívül a<br />

szerszám egy másik érintőpontjának mozgását is programozni egy térgörbe mentén<br />

ORICURVE-val. Ezzel a szerszám tájolás-változásait, akárcsak a szerszámvektor<br />

programozásánál egyértelműen meg lehet adni.<br />

Gépgyártó<br />

Vegye figyelembe a gépgyártó tájékoztatásait a gépadattal beállítható tengely-jelölőről a<br />

szerszám 2. tájolási pályájának programozásához.<br />

Programozás<br />

Ennél az interpolációs módnál mindkét térgörbe számára programozhatók pontok G1 -gyel ill.<br />

polinomok POLY-val. Körök és evolvensek nem megengedettek. Kiegészítőleg lehet egy<br />

Spline-interpolációt BSPLINE-nal és a "Rövid Spline-mondatok összefogása" funkciót aktiválni.<br />

Irodalom:<br />

/FB1/ Alap funkciók működési kézikönyv; Pályavezérlő-üzem, pontos-állj, LookAhead (B1),<br />

fejezet: "Rövid Spline-mondatok összefogása"<br />

A más ASPLINE és CSPLINE Spline-fajták és egy kompresszor aktiválása COMPON, COMPCURV<br />

vagy COMPCAD által nem megengedett.<br />

A szerszám két érintőpontjának mozgását a koordináták tájolási polinomjainak<br />

programozásánál max 5. fokig lehet megadni.<br />

Kibővített tájolás-interpoláció kiegészítő térgörbével és koordináta polinomokkal<br />

N... ORICURVE<br />

N... PO[XH]=(xe, x2, x3, x4, x5)<br />

N... PO[YH]=(ye, y2, y3, y4, y5)<br />

N... PO[ZH]=(ze, z2, z3, z4, z5)<br />

A szerszám második érintőpontja<br />

mozgásának megadása és a mindenkori<br />

koordináták kiegészítő polinomjai<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 339


Transzformációk<br />

6.2 Három-, négy-, öt-tengelyes transzformációk (TRAORI)<br />

Paraméter<br />

ORICURVE<br />

XH YH ZH<br />

lehetséges polinomok<br />

PO[XH]=(xe, x2, x3, x4,<br />

x5) PO[YH]=(ye, y2, y3,<br />

y4, y5) PO[ZH]=(ze, z2,<br />

z3, z4, z5)<br />

xe, ye, ze<br />

xi, yi, zi<br />

tájolás interpolációja a szerszám második érintőpontja<br />

mozgásának megadásával<br />

a szerszám második érintőpontja koordinátáinak jelölője<br />

kiegészítő kontúr térgörbeként<br />

a térgörbék a mindenkori végpontokon kívül kiegészítőleg<br />

programozhatók polinomokkal<br />

térgörbe végpontja<br />

max. 5. fokú polinom együtthatói<br />

Megjegyzés<br />

XH YH ZH jelölők egy 2. tájolási pálya programozásához<br />

A jelölőket úgy kell választani, hogy ne legyen konfliktus a más jelölőkkel, mint<br />

X Y Z tengelyek<br />

és körtengelyekkel, mint<br />

A2 B2 C2 Euler-szög ill. RPY-szög<br />

A3 B3 C3 irányvektorok<br />

A4 B4 C4 ill. A5 B5 C5 felület-normálvektorok<br />

A6 B6 C6 forgásvektorok ill. A7 B7 C7 közbenső-pont koordináták<br />

vagy más interpolációs paraméterek.<br />

Munka-előkészítés<br />

340 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.3 Tájolási polinomok (PO[szög], PO[koordináta])<br />

6.3 Tájolási polinomok (PO[szög], PO[koordináta])<br />

Funkció<br />

Függetlenül attól, hogy melyik polinom-interpoláció aktív éppen a G-kód csoport 1-ből, egy<br />

három-...öt-tengelyes transzformációnál két különböző típusú, max. 5. fokú tájolási polinom<br />

programozható.<br />

1. polinom szögre: LEAD előre-sietési szög, TILT oldalszög<br />

a síkra vonatkoztatva, amit a kezdő- és végtájolás kijelöl.<br />

2. polinom koordinátákra: XH, YH, ZH a második térgörbéhez szerszámtájolásnál egy<br />

szerszámon levő vonatkoztatási ponttal.<br />

Egy hat-tengelyes transzformációnál a szerszámtájoláshoz kiegészítőleg programozható a<br />

THT forgásvektor forgatása egy max. 5. fokú polinom a szerszám forgatására.<br />

Szintaxis<br />

Tájolási polinom típus 1 szögre<br />

N… PO[PHI]=(a2, a3, a4, a5)<br />

N… PO[PSI]=(b2, b3, b4, b5)<br />

három-...öt-tengelyes transzformáció<br />

három-...öt-tengelyes transzformáció<br />

Tájolási polinom típus 2 koordinátákra<br />

N… PO[XH]=(xe, x2, x3, x4, x5)<br />

N… PO[YH]=(ye, y2, y3, y4, y5)<br />

N… PO[ZH]=(ze, z2, z3, z4, z5)<br />

szerszámtájolás második tájolási pálya<br />

koordinátáinak jelölése<br />

Mindkét esetben lehet kiegészítőleg egy polinomot a forgatásra hat-tengelyes<br />

transzformációnál<br />

N… PO[THT]=(c2, c3, c4, c5)<br />

vagy<br />

N… PO[THT]=(d2, d3, d4, d5)<br />

a forgatás pályára vonatkoztatott<br />

interpolációja<br />

abszolút, relatív és érintőleges interpoláció<br />

tájolás-változáshoz<br />

a tájolás-vektorra programozni. Ez akkor lehetséges, ha a transzformáció támogatja a<br />

THETA forgásszöggel programozható forgásvektort interpolálható offsettel.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 341


Transzformációk<br />

6.3 Tájolási polinomok (PO[szög], PO[koordináta])<br />

Jelentés<br />

PO[PHI]<br />

PO[PSI]<br />

PO[THT]<br />

PHI<br />

PSI<br />

THETA<br />

PO[XH]<br />

PO[YH]<br />

PO[ZH]<br />

szög a kezdő- és végtájolás között a síkban<br />

tájolás kezdő- és végtájolás közötti síkból kibillenésének szöge<br />

csoport 54 THETA söggel programozható G-kód forgásvektor forgásának<br />

forgásszöge<br />

LEAD előre-sietés szög<br />

TILT oldalszög<br />

forgatás a Z szerszámirány körül<br />

szerszámon levő vonatkoztatási pont X-koordinátája<br />

szerszámon levő vonatkoztatási pont Y-koordinátája<br />

szerszámon levő vonatkoztatási pont Z-koordinátája<br />

Leírás<br />

A tájolási polinomok nem programozhatók<br />

● ha a ASPLINE, BSPLINE, CSPLINE Spline-interpolációk aktívak.<br />

Típus 1 polinomok tájolási szögre minden interpolációs módnál lehetségesek a Spline-on<br />

kívül, azaz lineáris interpolációnál G00 gyorsmenettel ill. G01 előtolással<br />

polinom-interpolációnál POLY-val és<br />

kör- ill. evolvens-interpolációnál G02, G03, CIP, CT, INVCW és INCCCW<br />

esetében.<br />

Típus 2 polinomok tájolási koordinátákra ezzel szemben csak akkor lehetségesek, ha<br />

lineáris interpolációnál G00 gyorsmenettel ill. G01 előtolással vagy<br />

polinom-interpolációnál POLY-val aktív.<br />

● ha a tájolás ORIAXES tengely-interpolációval lesz interpolálva. Ebben az esetben<br />

közvetlenül lehet polinomokat programozni PO[A] és PO[B] alkalmazásával az A és B<br />

tájolási tengelyekhez.<br />

Tájolási polinom típus 1 ORIVECT, ORIPLANE és ORICONxx használatával<br />

Nagykör-interpolációnál és kúppalást-interpolációnál ORIVECT, ORIPLANE és ORICONxx<br />

használatával csak típus 1-es tájolási polinomok lehetségesek.<br />

Tájolási polinom típus 2 ORICURVE használatával<br />

Ha az interpoláció az ORICURVE kiegészítő térgörbével aktív, a tájolási vektor derékszögű<br />

komponensei lesznek interpolálva és csak típus 2-es tájolási polinomok lehetségesek.<br />

Munka-előkészítés<br />

342 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.4 Szerszámtájolás forgatásai (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)<br />

6.4 Szerszámtájolás forgatásai (ORIROTA, ORIROTR, ORIROTT,<br />

ORIROTC, THETA)<br />

Funkció<br />

Ha mozgatható szerszámmal rendelkező géptípusoknál a szerszám tájolása is változtatható<br />

kell legyen, akkor minden mondat egy végtájolással lesz programozva. A gép-kinematikától<br />

függően vagy a tájolótengelyek tájolásiránya vagy a THETA tájolás-vektor forgásiránya<br />

programozható. Ezekhez a forgásvektorokhoz különféle interpolációs módok<br />

programozhatók:<br />

● ORIROTA: forgásszög egy abszolút megadott forgásirányhoz<br />

● ORIROTR: forgásszög a kezdő- és végtájolás közötti síkhoz viszonyítva<br />

● ORIROTT: forgásszög a tájolási vektor változásához viszonyítva<br />

● ORIROTC: érintőleges forgásszög a pályaérintőhöz.<br />

Szintaxis<br />

Csak ha az ORIROTA interpolációs már aktív, lehetséges a forgásszög vagy forgásvektor<br />

programozása az alábbi négy módon:<br />

1. közvetlenül az A, B, C körtengely-pozíciókkal<br />

2. Euler-szöggel (fokban) A2, B2, C2 által<br />

3. RPY-szöggel (fokban) A2, B2, C2 által<br />

4. irányvektorral A3, B3, C3 által (forgásszög THETA=érték)<br />

Ha az ORIOTR vagy ORIOTT aktív, a forgásszög csak közvetlenül THETA -val programozható.<br />

Egy forgatást lehet egyedül is programozni egy mondatban, anélkül hogy tájolás-változás<br />

történne. Ekkor az ORIROTR és ORIROTT -nak nincs jelentősége. Ebben az esetben a<br />

forgásszög mindig az abszolút irányra vonatkoztatva lesz értelmezve (ORIROTA).<br />

N... ORIROTA<br />

N... ORIROTR<br />

N... ORIROTT<br />

N... ORIROTC<br />

N... A3= B3= C3= THETA=érték<br />

N... PO[THT]=(d2, d3, d4, d5)<br />

forgásvektor interpolációját megadni<br />

tájolási vektor forgatását megadni<br />

forgásszöget 5. fokú polinommal interpolálni<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 343


Transzformációk<br />

6.4 Szerszámtájolás forgatásai (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)<br />

Jelentés<br />

ORIROTA<br />

ORIROTR<br />

ORIROTT<br />

ORIROTC<br />

THETA<br />

THETA=érték<br />

THETA=Θe<br />

THETA=AC(…)<br />

THETA=AC(…)<br />

Θe<br />

forgásszög egy abszolút megadott forgásirányhoz<br />

forgásszög a kezdő- és végtájolás közötti síkhoz viszonyítva<br />

forgásszög érintőleges forgásvektorként tájolás-változáshoz<br />

forgásszög érintőleges forgásvektorként a pályaérintőhöz<br />

tájolás-vektor forgatása<br />

forgásszög fokban, ami a mondat végén lesz elérve<br />

forgásszög a forgásvektor Θe végszögével<br />

mondatonként abszolút méretmegadásra átkapcsolni<br />

mondatonként relatív méretmegadásra átkapcsolni<br />

forgásvektor végszöge G90 abszolút és G91 relatív (láncméret) aktív<br />

esetében is<br />

PO[THT]=(.... polinom forgásszöghöz<br />

)<br />

Példa tájolások forgatásaira<br />

Programkód<br />

N10 TRAORI<br />

N20 G1 X0 Y0 Z0 F5000<br />

N30 A3=0 B3=0 C3=1 THETA=0<br />

N40 A3=1 B3=0 C3=0 THETA=90<br />

N50 A3=0 B3=1 C3=0 PO[THT]=(180,90)<br />

N60 A3=0 B3=1 C3=0 THETA=IC(-90)<br />

N70 ORIROTT<br />

N80 A3=1 B3=0 C3=0 THETA=30<br />

Kommentár<br />

; tájolás-transzformációt aktiválni<br />

; szerszám tájolása<br />

; Z-irányban 0 forgásszöggel<br />

; X-irányban és 90 fokos forgatással<br />

; tájolás<br />

; Y-irányban és 180 fokos forgatással<br />

; állandó marad és forgatás 90 fokra<br />

; forgásszög a tájolás-változáshoz viszonyítva<br />

; forgásvektor 30 fokos szögben az X-Y síkhoz<br />

Az interpolációnál az<br />

N40 mondatban a forgásszög a 0 fok kezdőértékről a 90 fok végértékre lineárisan lesz<br />

interpolálva. Az N50 mondatban a forgásszög 90 fokról 180 fokra változik a<br />

parabolának megfelelően θ(u) = +90u 2 . Az N60-ban végre lehet hajtani egy forgatást is<br />

anélkül, hogy tájolás-változás történne.<br />

Az N80-nál a szerszámtájolás az Y-irányból az X-irányba lesz forgatva. Ennél a tájolásváltozás<br />

az X–Y síkban van és a forgásvektor ehhez a síkhoz egy 30 fokos szöget zár be.<br />

Munka-előkészítés<br />

344 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.4 Szerszámtájolás forgatásai (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)<br />

Leírás<br />

ORIROTA<br />

A THETA forgásszög egy a térben abszolút megadott irányra vonatkoztatva lesz interpolálva.<br />

Az alap-forgásirányt gépadat adja meg<br />

ORIROTR<br />

A THETA forgásszög a kezdő- és végtájolás közötti síkhoz viszonyítva lesz értelmezve.<br />

ORIROTT<br />

A THETA forgásszög a tájolás-változáshoz viszonyítva lesz értelmezve. A THETA=0 esetén a<br />

forgásvektor a tájolás-változáshoz érintőlegesen lesz interpolálva és csak akkor különbözik<br />

az ORIROTR-tól, ha a tájolásra legalább egy polinom lett programozva "PSI billenési szögre".<br />

Ezzel egy olyan tájolás-változás adódik, amelyik nem a síkban fut le. Egy kiegészítőleg<br />

programozott THETA forgásszöggel pl. a forgásvektort úgy lehet interpolálni, hogy mindig egy<br />

adott értéket képez a tájolás-változáshoz.<br />

ORIROTC<br />

A forgásvektor a pályaérintőhöz viszonyítva egy a THETA szöggel programozható offsettel<br />

lesz interpolálva. Az offset-szögre lehet egy max. 5. fokú PO[THT]=(c2, c3, c4, c5)<br />

polinomot programozni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 345


Transzformációk<br />

6.5 Pálya-viszonyítású tájolás<br />

6.5 Pálya-viszonyítású tájolás<br />

6.5.1 Pályához viszonyított tájolási módok<br />

Funkció<br />

Ezzel a kibővített funkcióval a relatív tájolás nemcsak a mondat végén, hanem a teljes pálya<br />

mentén elérhető. Az előző mondatban elért tájolás egy nagykör-interpolációval át lesz<br />

vezetve a programozott végtájolásba. Alapvetően két lehetőség van a kívánt tájolást a<br />

pályához viszonyítva programozni:<br />

1. A szerszámtájolás és a szerszám forgatása is ORIPATH, ORPATHTS alkalmazásával a<br />

pályához viszonyítva lesz interpolálva.<br />

2. A tájolási vektor úgy lesz programozva és interpolálva, mint eddig. Az ORIROTC-cal a<br />

tájolás-vektor forgatása a pályaérintőhöz viszonyítva lesz beállítva.<br />

Szintaxis<br />

A tájolás interpolációs módja és a szerszám forgatása a következőkkel lesz programozva:<br />

N... ORIPATH<br />

N... ORIPATHS<br />

N... ORIROTC<br />

pályához viszonyított tájolás<br />

pályához viszonyított tájolás a tájolás lefutásának simításával<br />

forgásvektor pályához viszonyított interpolációja<br />

A pálya lefutásában egy saroknál keletkező törés a tájolásban az ORIPATHS alkalmazásával<br />

simítható. A leemelő mozgás iránya és úthossza az A8=X, B8=Y C8=Z komponensű vektorral<br />

lesz programozva.<br />

Munka-előkészítés<br />

346 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.5 Pálya-viszonyítású tájolás<br />

Az ORIPATH/ORIPATHS alkalmazásával különböző vonatkozásokat lehet a pályaérintőhöz a<br />

következő három szöggel<br />

● LEAD= előreszög megadása a pályára és a felületre vonatkoztatva<br />

● TILT= oldalszög megadása a pályára és a felületre vonatkoztatva<br />

● THETA= forgásszög<br />

a teljes pálya mentén programozni. A THETA forgásszöghöz a PO[THT]=(...) max. 5. fokú<br />

kiegészítő polinom programozható.<br />

Megjegyzés<br />

Gépgyártó<br />

Vegyük ehhez figyelembe a gépgyártó tájékoztatásait. A megtervezhető gép- és beállítási<br />

adatokkal a pályához viszonyított tájolási módokhoz további beállítások adhatók meg.<br />

További magyarázatok:<br />

Irodalom:<br />

/FB3/ Különleges funkciók működési kézikönyv; 3-5 tengelyes transzformációk (F2),<br />

fejezet: "Tájolás"<br />

Jelentés<br />

A LEAD és TILT szögek interpolációja gépadatokkal különbözőképp beállítható:<br />

● A LEAD és TILT segítségével programozott szerszámtájolás vonatkoztatás az egész<br />

mondatban megmarad.<br />

● előreszög LEAD: forgatás az érintőre és a normálvektorra merőleges irány körül TILT:<br />

tájolás forgatása a normálvektor körül<br />

● előreszög LEAD: forgatás az érintőre és a merőleges irány körül és normálvektor oldalszög<br />

TILT: tájolás forgásszöge a kúp iránytengelye körül<br />

● forgásszög THETA: szerszám forgatása saját maga körül egy kiegészítő harmadik<br />

körtengellyel tájolótengelyként hat-tengelyes transzformációnál<br />

Megjegyzés<br />

Pályára vonatkoztatott tájolás együtt OSC, OSS, OSSE, OSD, OST-vel nem<br />

megengedett<br />

A ORIPATH ill. ORIPATHS és ORIOTC pályára vonatkoztatott tájolási interpolációk nem<br />

programozhatók együtt a tájolás lefutásának simítására egy G-kóddel a 34-es csoportból.<br />

Ehhez az OSOF kell aktív legyen.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 347


Transzformációk<br />

6.5 Pálya-viszonyítású tájolás<br />

6.5.2 Szerszámtájolás pályára vonatkoztatott forgatása (ORIPATH, ORIPATHS,<br />

forgásszög)<br />

Funkció<br />

Egy hat-tengelyes transzformációnál a szerszámtájoláshoz tetszőlegesen a térben a<br />

szerszámot is saját maga körül lehet forgatni egy harmadik körtengellyel. A szerszámtájolás<br />

pályára vonatkoztatott forgatásánál ORIPATH ill. ORIPATHS-szal a kiegészítő forgatást a<br />

THETA forgásszöggel lehet programozni. Ennek alternatívájaként LEAD és TILT szögeket<br />

lehet programozni egy vektorral, amelyik a síkban merőlegesen áll a szerszámirányra.<br />

Gépgyártó<br />

Vegyük ehhez figyelembe a gépgyártó tájékoztatásait. A LEAD és TILT szögek<br />

interpolációját gépadattal eltérőre lehet beállítani.<br />

Szintaxis<br />

Szerszámtájolás forgatása a szerszám körül<br />

A pályára vonatkoztatott szerszámtájolási mód ORIPATH vagy ORIPATHS megadásával<br />

lesz aktiválva.<br />

N... ORIPATH<br />

N... ORIPATHS<br />

pályára vonatkoztatott tájolási mód aktiválása<br />

pályára vonatkoztatott tájolási mód aktiválása a<br />

tájolás lefutásának simításával<br />

A három lehetséges forgás-hatású szög aktiválása:<br />

N... LEAD=<br />

szög a programozott tájolásra a felületnormálvektorhoz<br />

viszonyítva<br />

N... TILT=<br />

szög a programozott tájolásra a pályaérintőre<br />

merőleges síkban a felület-normálvektorhoz<br />

viszonyítva<br />

N... THETA=<br />

forgásszög a tájolás-változáshoz viszonyítva a<br />

harmadik körtengely szerszámiránya körül<br />

A szögek értékei a mondat végén LEAD=érték, TILT=érték ill. THETA=érték megadásával<br />

lesznek programozva. Kiegészítőleg az állandó szögekhez mind s három szögre lehet max.<br />

5. fokú polinomokat programozni.<br />

N... PO[PHI]=(a2, a3, a4, a5)<br />

N... PO[PSI]=(b2, b3, b4, b5)<br />

N... PO[THT]=(d2, d3, d4, d5)<br />

polinom a LEAD előreszögre<br />

polinom a TILT oldalszögre<br />

polinom a THETA forgásszögre<br />

A programozásnál a nulla értékű magasabb polinom-együtthatók elhagyhatóak. Például<br />

PO[PHI]=a2 a LEAD előreszögre egy parabolát ad.<br />

Munka-előkészítés<br />

348 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.5 Pálya-viszonyítású tájolás<br />

Jelentés<br />

Pályára vonatkoztatott szerszámtájolás<br />

ORIPATH pályára vonatkoztatott szerszámtájolás<br />

ORIPATHS pályára vonatkoztatott szerszámtájolás, törés a tájolás lefutásában simítva lesz<br />

LEAD szög a felület-normálvektorhoz viszonyítva, a pályaérintő és a felületnormálvektor<br />

által meghatározott síkban<br />

TILT tájolás forgatása a Z-irány ill. a pályaérintő körül<br />

THETA forgatás a szerszámirány körül Z felé<br />

PO[PHI] tájolási polinom a LEAD előreszöghöz<br />

PO[PSI] tájolási polinom a TILT oldalszöghöz<br />

PO[THT] tájolási polinom a THETA forgásszöghöz<br />

Megjegyzés<br />

THETA forgásszög<br />

A szerszám forgatásához önmaga körül a harmadik körtengellyel, mint tájolótengellyel<br />

szükséges a hat-tengelyes transzformáció.<br />

6.5.3 Szerszámforgatás pályára vonatkozatott interpolációja (ORIROTC, THETA)<br />

Funkció<br />

Interpoláció forgásvektorokkal<br />

A szerszámnak az ORIROTC-cal programozott pályaérintőhöz viszonyított forgatásához<br />

lehet a forgásvektort egy THETA forgásszöggel programozható offsettel is interpolálni.<br />

Ehhez az offset-szögre a PO[THT]-tal lehet egy max. 5. fokú polinomot programozni.<br />

Szintaxis<br />

N... ORIROTC<br />

N... A3= B3= C3= THETA=érték<br />

N... A3= B3= C3= PO[THT]=(c2, c3, c4, c5)<br />

szerszám forgatását a pályaérintőhöz<br />

viszonyítva beállítani<br />

tájolási vektor forgatását megadni<br />

offset-szöget max. 5. fokú polinommal<br />

interpolálni<br />

Egy forgatást lehet egyedül is programozni egy mondatban, anélkül hogy tájolás-változás<br />

történne.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 349


Transzformációk<br />

6.5 Pálya-viszonyítású tájolás<br />

Jelentés<br />

Szerszám forgatásának pályára vonatkoztatott interpolációja hat-tengelyes<br />

transzformációnál<br />

ORIROTC<br />

érintőleges forgásvektort a pályaérintőhöz beállítani<br />

THETA=érték<br />

forgásszög fokban, ami a mondat végén lesz elérve<br />

THETA=θe<br />

forgásszög a forgásvektor Θe végszögével<br />

THETA=AC(…)<br />

mondatonként abszolút méretmegadásra átkapcsolni<br />

THETA=IC(…)<br />

mondatonként relatív méretmegadásra átkapcsolni<br />

PO[THT]=(c2, c3, c4, c5) offset-szöget 5. fokú polinommal interpolálni<br />

Megjegyzés<br />

Forgásvektor interpolációja ORIROTC<br />

Ha a szerszám tájolási irányával szemben a szerszám forgatását is a pályairányhoz<br />

viszonyítva kell beállítani, akkor ez csak egy hat-tengelyes transzformációnál lehetséges.<br />

Aktív ORIROTC esetén<br />

Az ORIROTA forgásvektort nem lehet programozni. A programozás esetén a 14128<br />

"Szerszámforgatás abszolút programozása aktív ORIROTC esetén" vészjelzés lesz kiadva.<br />

A szerszám tájolási iránya három-...öt-tengelyes transzformációnál<br />

A szerszám tájolási irányát a három-...öt-tengelyes transzformációnál megszokott módon<br />

Euler-szöggel ill. RPY-szöggel vagy irányvektorral lehet programozni. Lehetséges az<br />

ORIVECT szerszám tájolás-változása a térben nagykör-interpoláció programozásával, az<br />

ORIAXES tájolási tengelyek lineáris interpolációja, az összes interpolációs mód ORICONxx<br />

egy kúppalást-felületen, a térbeli görbéhez kiegészítőleg az ORICURVE interpoláció a<br />

szerszám két érintőpontjával .<br />

G....<br />

körtengelyek mozgásmódjának megadása<br />

X Y Z<br />

lineáris tengelyek megadása<br />

ORIAXES<br />

gép- vagy tájolótengelyek lineáris interpolációja<br />

ORIVECT<br />

nagykör-interpoláció (azonos ORIPLANE-nel)<br />

ORIMKS<br />

ORIWKS<br />

forgatás a gép-koordinátarendszerben<br />

forgatás a munkadarab-koordinátarendszerben<br />

leírás a Szerszámtájolás forgatásainál fejezetben<br />

A= B= C= géptengely-pozíció programozása<br />

ORIEULER<br />

tájolás programozása Euler-szöggel<br />

ORIRPY<br />

tájolás programozása RPY-szöggel<br />

A2= B2= C2= virtuális tengelyek szög-programozása<br />

Munka-előkészítés<br />

350 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.5 Pálya-viszonyítású tájolás<br />

ORIVIRT1<br />

ORIVIRT2<br />

tájolás programozása virtuális tájolástengelyekkel<br />

(definíció 1), megadás MD $MC_ORIAX_TURN_TAB_1 szerint<br />

(definíció 2), megadás MD $MC_ORIAX_TURN_TAB_2 szerint<br />

A3= B3= C3= iránytengelyek irányvektor-programozása<br />

ORIPLANE<br />

interpoláció a síkban (nagykör-interpoláció)<br />

ORICONCW<br />

interpoláció egy kúppalást-felületen az órajárás irányában<br />

ORICONCCW<br />

interpoláció egy kúppalást-felületen az órajárás irányával<br />

szemben<br />

ORICONTO<br />

interpoláció egy kúppalást-felületen érintőleges átmenet<br />

A6= B6= C6= kúp forgástengelyének programozása (normált vektor)<br />

NUT=szög<br />

kúp nyílásszöge fokban<br />

NUT=+179<br />

elmozdulás-szög kisebb vagy egyenlő 180 fokkal<br />

NUT=-181<br />

elmozdulás-szög nagyobb vagy egyenlő 180 fokkal<br />

ORICONIO<br />

interpoláció egy kúppalást-felületen<br />

A7= B7= C7= közbenső tájolás(programozás normált vektorként)<br />

ORICURVE<br />

XH YH ZH pl.<br />

polinomokkal<br />

PO[XH]=(xe, x2, x3,<br />

x4, x5)<br />

tájolás interpolációja a szerszám második érintőpontja<br />

mozgásának megadásával A mindenkori végpontokon kívül<br />

kiegészítőleg térgörbék programozhatók polinomokkal.<br />

Megjegyzés<br />

Ha a szerszámtájolás aktív ORIAXES-szel a tájolótengelyekkel lesz interpolálva, akkor a<br />

forgásszög pályára vonatkoztat beállítása csak a mondat végén teljesül.<br />

6.5.4 A tájolás lefutásának simítása (ORIPATHS A8=, B8=, C8=)<br />

Funkció<br />

Az állandó gyorsulású tájolás-változásoknál a kontúron pályamozgások megszakításai,<br />

amelyek a kontúr sarkainál léphetnek fel, nem kívánatosak. Ez ebből adódó törést a tájolás<br />

lefutásában egy közbenső mondat beszúrásával lehet simítani. A tájolás-változások akkor<br />

történnek állandó gyorsulással, ha az áttájolás alatt ORIPATHS is aktív. Ebben a fázisban<br />

végre lehet hajtani egy leemelő mozgást a szerszámra.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 351


Transzformációk<br />

6.5 Pálya-viszonyítású tájolás<br />

Gépgyártó<br />

Kérjük vegye figyelembe a gépgyártó tájékoztatásait az esetlegesen előre-definiált<br />

gépadatokról és beállítási adatokról, amelyekkel ez a funkció aktiválva lesz.<br />

Gépadattal beállítható, hogyan lesz értelmezve a leemelési vektor:<br />

1. A szerszám koordináta-rendszerben a Z-koordinátát a szerszámirány határozza meg.<br />

2. A munkadarab koordináta-rendszerben a Z-koordinátát az aktív sík határozza meg.<br />

További magyarázatok "Pályára vonatkoztatott tájolás" funkcióhoz:<br />

Irodalom: /FB3/ Különleges funkciók működési kézikönyv; 3-5 tengelyes transzformációk (F2)<br />

Szintaxis<br />

A teljes pályára vonatkoztatott állandó szerszámtájolásokhoz a kontúr egy sarkánál további<br />

programozások szükségesek. Ennek a mozgásnak az iránya és úthossza A8=X, B8=Y,<br />

C8=Z komponensű vektorral lesz programozva:<br />

N... ORIPATHS A8=X B8=Y C8=Z<br />

Jelentés<br />

ORIPATHS pályára vonatkoztatott szerszámtájolás, egy törés a tájolás lefutásában<br />

simítva lesz<br />

A8= B8= C8= irány és úthossz vektor-komponensei<br />

X, Y, Z leemelő-mozgás szerszámirányban<br />

Megjegyzés<br />

A8, B8, C8 irányvektor programozása<br />

Ha ezen vektor hossza nulla, nincs leemelő-mozgás.<br />

ORIPATHS<br />

A pályára vonatkoztatott szerszámtájolás ORIPATHS-szal lesz aktív. Különben a tájolás a<br />

kezdettől a végtájolásig lineáris nagykör-interpolációval lesz végrehajtva.<br />

Munka-előkészítés<br />

352 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.6 A tájolás komprimálása (COMPON, COMPCURV, COMPCAD)<br />

6.6 A tájolás komprimálása (COMPON, COMPCURV, COMPCAD)<br />

Funkció<br />

Az NC programokat, amelyekben egy tájolás transzformáció (TRAORI) aktív és a tájolás<br />

irányvektorokkal van programozva, lehetséges előre megadott tűrések betartásával<br />

komprimálni.<br />

Megjegyzés<br />

A tájolások komprimálása csak tájolási transzformációkkal kapcsolatban lehetséges. Ez,<br />

akárcsak a maximális úthossz és a megengedhető tűrés minden tengelyre ill. a<br />

pályaelőtolásra a kompresszor-funkcióhoz gépadatokkal beállítható. Vegyük ehhez<br />

figyelembe a gépgyártó tájékoztatásait.<br />

Programozás<br />

Szerszámtájolás<br />

Ha egy tájolási transzformáció (TRAORI) aktív, 5-tengelyes gépeknél a szerszámtájolást a<br />

következők szerint (kinematika függetlenül) lehet programozni:<br />

● Az irányvektor programozása:<br />

A3= B3= C3=<br />

● Az Eulerszög ill. RPY-szög programozása:<br />

A2= B2= C2=<br />

A szerszám forgatása<br />

A 6-tengelyes gépeknél a szerszám tájolása mellett még lehet programozni a szerszám<br />

forgatását.<br />

A forgásszög programozása:<br />

THETA=<br />

Lásd "Szerszámtájolás forgatásai (Oldal 343)".<br />

Megjegyzés<br />

Az NC-mondatok, amelyekben kiegészítőleg egy forgatás van programozva, csak akkor<br />

komprimálhatóak, ha a forgásszög lineárisan változik. Vagyis a forgásszögre nem szabad<br />

polinomot PO[THT]=(...)-vel programozni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 353


Transzformációk<br />

6.6 A tájolás komprimálása (COMPON, COMPCURV, COMPCAD)<br />

Egy komprimálható NC-mondat általános formája<br />

Egy komprimálható NC-mondat általános formája a következők szerint nézhet ki:<br />

N... X= Y= Z= A3= B3= C3= THETA= F=<br />

ill.:<br />

N... X= Y= Z= A2= B2= C2= THETA= F=<br />

Megjegyzés<br />

A pozíció-értékeket lehet közvetlenül, pl. X90 vagy paraméter-hozzárendeléssel, pl.<br />

X=R1*(R2+R3) közvetetten megadni.<br />

A szerszámtájolás programozása körasztal-pozíciókkal<br />

A szerszámtájolást meg lehet adni körasztal-pozíciókkal is a következők szerint:<br />

N... X= Y= Z= A= B= C= THETA= F=<br />

Ebben az esetben a komprimálás két különböző módon lesz végrehajtva attól függően, hogy<br />

egy nagykör-interpoláció lesz végrehajtva vagy nem. Ha nincs nagykör-interpoláció, a<br />

komprimált tájolás-változás axiális polinomokkal lesz a szokott módon a körtengelyekre<br />

megadva.<br />

Kontúr-pontosság<br />

A beállított kompresszor modustól (MD20482 $MC_COMPRESSOR_MODE) függően a<br />

geometria-tengelyekre és a tájolótengelyekre a komprimálásnál vagy a beállított tengelyspecifikus<br />

tűrések (MD33100 $MA_COMPRESS_POS_TOL) vagy a következőkben<br />

beállítási adatokkal beállítható csatorna-specifikus tűrések lesznek hatásosak.<br />

SD42475 $SC_COMPRESS_CONTUR_TOL (maximális kontúreltérés)<br />

SD42476 $SC_COMPRESS_ORI_TOL (maximális szögeltérés szerszámtájolásra)<br />

SD42477 $SC_COMPRESS_ORI_ROT_TOL (maximális szögeltérés a szerszám<br />

forgásszögére) (csak 6-tengelyes gépeknél)<br />

Irodalom:<br />

Különleges funkciók működési kézikönyv; 3-5 tengelyes transzformációk (F2),<br />

fejezet: "Tájolás komprimálása"<br />

Munka-előkészítés<br />

354 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.6 A tájolás komprimálása (COMPON, COMPCURV, COMPCAD)<br />

Aktiválás / deaktiválás<br />

A kompresszor funkciókat a COMPON, COMPCURV ill. COMPCAD modális G-funkciókkal lehet<br />

bekapcsolni.<br />

A kompresszor funkció a COMPOF-fal lesz befejezve.<br />

Lásd "NC-mondat kompresszió (COMPON, COMPCURV, COMPCAD, COMPOF)<br />

(Oldal 247)".<br />

Megjegyzés<br />

A tájolási mozgás csak aktív nagykör-interpolációnál lesz komprimálva (vagyis a<br />

szerszámtájolás változása a kezdeti és a vég-tájolás által kijelölt síkban történik).<br />

Egy nagykör-interpoláció a következő feltételekkel lesz végrehajtva:<br />

MD21104 $MC_ORI_IPO_WITH_G_CODE = 0,<br />

ORIWKS aktív és<br />

a tájolás vektorokkal van programozva (A3, B3, C3 ill. A2, B2, C2).<br />

MD21104 $MC_ORI_IPO_WITH_G_CODE = 1 és<br />

ORIVECT ill. ORIPLANE aktív.<br />

A szerszámtájolás lehet irányvektorként vagy körasztal-pozíciókkal programozva. Ha egy<br />

ORICONxx vagy ORICURVE G-kód aktív vagy a tájolási szögre polinomok (PO[PHI] és<br />

PO[PSI]) vannak programozva, nem lesz végrehajtva nagykör-interpoláció.<br />

Példa<br />

A következő programpéldában egy polinommal közelített kör lesz komprimálva.<br />

A szerszámtájolás ennek során szinkronban mozog hozzá egy kúppaláston. Bár az egymás<br />

után programozott tájolás-változások nem egyenletes lefutásúak, a kompresszor a tájolásra<br />

egy sima lefutást generál.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 355


Transzformációk<br />

6.6 A tájolás komprimálása (COMPON, COMPCURV, COMPCAD)<br />

Programozás<br />

DEF INT ANZAHL=60<br />

DEF REAL RADIUS=20<br />

DEF INT COUNTER<br />

DEF REAL WINKEL<br />

N10 G1 X0 Y0 F5000 G64<br />

Kommentár<br />

$SC_COMPRESS_CONTUR_TOL=0.05 ; kontúr maximális eltérése: 0.05 mm<br />

$SC_COMPRESS_ORI_TOL=5 ; tájolás maximális eltérése = 5 fok<br />

TRAORI<br />

COMPCURV<br />

; A mozgás egy poligonból képzett körön<br />

történik. A tájolás ennek során egy kúpon<br />

mozog a Z-tengely körül 45 fokos<br />

nyílásszöggel<br />

N100 X0 Y0 A3=0 B3=-1 C3=1<br />

N110 FOR COUNTER=0 TO ANZAHL<br />

N120 WINKEL=360*COUNTER/ANZAHL<br />

N130 X=RADIUS*cos(WINKEL) Y=RADIUS*sin(WINKEL)<br />

A3=sin(WINKEL) B3=-cos(WINKEL) C3=1<br />

N140 ENDFOR<br />

Munka-előkészítés<br />

356 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.7 Tájolás lefutás simítása (ORISON, ORISOF)<br />

6.7 Tájolás lefutás simítása (ORISON, ORISOF)<br />

Funkció<br />

A "Tájolás lefutás simítása (ORISON)" funkcióval lehet a tájolás ingadozásait simítani több<br />

mondaton át. Ezzel úgy a tájolás, mint a kontúr lefutása simább lesz.<br />

Előfeltétel<br />

A "Tájolás lefutás simítása (ORISON)" funkció csak a rendszerekben 5/6-tengelyes<br />

transzformációval érhető el.<br />

Szintaxis<br />

ORISON<br />

...<br />

ORISOF<br />

Jelentés<br />

ORISON:<br />

ORISOF:<br />

tájolás lefutás simítása BE<br />

hatásosság: modális<br />

tájolás lefutás simítása KI<br />

hatásosság: modális<br />

Beállítási-adatok<br />

A tájolás lefutás simítása a következők betartásával történik:<br />

● egy megadott maximális tűrés (szerszámtájolás maximális szögeltérése fokban)<br />

és<br />

● egy megadott maximális pályaút.<br />

Ezek az adatok beállítási adatokban vannak definiálva:<br />

● SD42678 $SC_ORISON_TOL (tűrés a tájolás lefutás simításához)<br />

● SD42680 O$SC_ORISON_DIST (pályaút tájolás lefutás simításához)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 357


Transzformációk<br />

6.7 Tájolás lefutás simítása (ORISON, ORISOF)<br />

Példa<br />

Programkód<br />

...<br />

TRAORI()<br />

ORISON<br />

$SC_ORISON_TOL=1.0<br />

G91<br />

X10 A3=1 B3=0 C3=1<br />

X10 A3=–1 B3=0 C3=1<br />

X10 A3=1 B3=0 C3=1<br />

X10 A3=–1 B3=0 C3=1<br />

X10 A3=1 B3=0 C3=1<br />

X10 A3=–1 B3=0 C3=1<br />

X10 A3=1 B3=0 C3=1<br />

X10 A3=–1 B3=0 C3=1<br />

X10 A3=1 B3=0 C3=1<br />

X10 A3=–1 B3=0 C3=1<br />

...<br />

ORISOF<br />

...<br />

Kommentár<br />

; tájolási transzformáció bekapcsolása<br />

; tájolás simítás bekapcsolása<br />

; tájolás simítás tűrése = 1,0 fok<br />

; tájolás simítás kikapcsolása<br />

A tájolás 90 fokkal az XZ síkban -45-től +45 fokig lesz elforgatva. A tájolás lefutás<br />

simításával a tájolás már nem éri el a maximális -45 ill. +45 fokot.<br />

További információk<br />

Mondatok száma<br />

A tájolás lefutás simítása egy, a MD28590 $MC_MM_ORISON_BLOCKS gépadatban<br />

megadott számú mondaton keresztül történik.<br />

Megjegyzés<br />

Ha a tájolás lefutás simítása ORISON-nal aktiválva lett megfelelő tárolóhely (MD28590 < 4)<br />

beállítása nélkül, egy vészjelzés következik és a funkció nem lesz végrehajtva.<br />

Maximális mondat-úthossz<br />

A tájolás lefutása csak olyan mondatokban lesz simítva, mint a megadott maximális mondatúthossz<br />

(MD20178 $MC_ORISON_BLOCK_PATH_LIMIT). A hosszabb mozgási utat<br />

tartalmazó mondatok megszakítják a simítást és a programozás szerint lesznek megtéve.<br />

Munka-előkészítés<br />

358 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

6.8 Kinematikus transzformációk<br />

6.8.1 Eszterga-munkadarabok maró-megmunkálása (TRANSMIT)<br />

Funkció<br />

A TRANSMIT funkció a következő szolgáltatásokat teszi lehetővé:<br />

● Eszterga-munkadarabok homlokoldali megmunkálása esztergálási befogásban (fúrások,<br />

kontúrok).<br />

● Ezen megmunkálás programozásához felhasználható egy derékszögű<br />

koordinátarendszer.<br />

● A vezérlés átalakítja a derékszögű koordinátarendszer programozott elmozdulásokat a<br />

valódi géptengelyek elmozdulásaivá (alapeset):<br />

– körtengely<br />

– fogásvételi tengely, merőleges a körtengelyre<br />

– hossztengely, pár<strong>hu</strong>zamos a körtengellyel<br />

– A lineáris tengelyek merőlegesek egymásra.<br />

● Szerszámközép-eltolás a forgásközépponthoz viszonyítva megengedett.<br />

● A sebességvezetés figyelembe veszi a forgómozgások számára definiált határolásokat.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 359


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

TRANSMIT transzformáció-típusok<br />

A TRANSMIT megmunkálásokra két beállítható változat van:<br />

● TRANSMIT alapesetben (TRAFO_TYPE_n = 256)<br />

● TRANSMIT kiegészítő Y lineáris tengellyel (TRAFO_TYPE_n = 257)<br />

A kibővített 257-es transzformáció-típust lehet pl. használni a felfogási korrekciók<br />

kompenzálására egy szerszámnál valós Y tengellyel.<br />

Szintaxis<br />

TRANSMIT vagy TRANSMIT(n)<br />

TRAFOOF<br />

körtengely<br />

A körtengelyt nem lehet programozni, mert lefoglalja egy geometria-tengely és ezért mint<br />

csatorna-tengely nem programozható közvetlenül.<br />

Jelentés<br />

TRANSMIT:<br />

TRANSMIT(n):<br />

TRAFOOF:<br />

OFFN:<br />

Aktiválja az első megadott TRANSMIT funkciót. Ezt funkciót polártranszformációnak<br />

is nevezik.<br />

Aktiválja az n. megadott TRANSMIT funkciót; n maximum 2 lehet<br />

(TRANSMIT(1) megfelel TRANSMIT-nak).<br />

Kikapcsol egy aktív transzformációt<br />

Offset kontúr-normál: a homlokoldali megmunkálás távolsága a<br />

programozott vonatkoztatási kontúrtól<br />

Megjegyzés<br />

Egy aktív TRANSMIT transzformáció szintén ki lesz kapcsolva, ha a mindenkori csatornában<br />

az egyéb transzformációk egyike aktiválva lesz (pl. TRACYL, TRAANG, TRAORI).<br />

Munka-előkészítés<br />

360 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Példa<br />

<br />

<br />

<br />

Programkód<br />

N10 T1 D1 G54 G17 G90 F5000 G94<br />

N20 G0 X20 Z10 SPOS=45<br />

N30 TRANSMIT<br />

N40 ROT RPL=–45<br />

N50 ATRANS X–2 Y10<br />

N60 G1 X10 Y–10 G41 OFFN=1OFFN<br />

N70 X–10<br />

N80 Y10<br />

N90 X10<br />

N100 Y–10<br />

N110 G0 Z20 G40 OFFN=0<br />

N120 T2 D1 X15 Y–15<br />

N130 Z10 G41<br />

N140 G1 X10 Y–10<br />

N150 X–10<br />

N160 Y10<br />

N170 X10<br />

N180 Y–10<br />

N190 Z20 G40<br />

N200 TRANS<br />

N210 TRAFOOF<br />

N220 G0 X20 Z10 SPOS=45<br />

N230 M30<br />

Kommentár<br />

; szerszám felhívása<br />

; kiinduló állásra menetel<br />

; TRANSMIT funkció aktiválása<br />

; frame beállítása<br />

; négyszög nagyolása; ráhagyás 1 mm<br />

; szerszámcsere<br />

; négyszög simítása<br />

; frame kikapcsolása<br />

; kiinduló állásra menetel<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 361


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Leírás<br />

Pólus<br />

A póluson való átmenetre két lehetőség van:<br />

● csak a lineáris tengely elmozgatása<br />

● elmozdulás a pólusba a körtengely pólusban való forgatásával és a pólusból való<br />

mozgássa<br />

A kiválasztás az MD 24911 és 24951 által történik.<br />

TRANSMIT kiegészítő Y lineáris tengellyel (transzformáció-típus 257):<br />

A polár-transzformációnak ezen transzformációs változata egy kiegészítő lineáris tengellyel<br />

rendelkező gépnél kihasználja a redundanciát egy jobb szerszámkorrekció végrehajtására. A<br />

második lineáris tengelyre érvényes:<br />

● egy kisebb munkatartomány és<br />

● hogy a második lineáris tengelyt nem lehet használni a munkadarabprogram<br />

végrehajtására.<br />

A munkadarabprogramhoz és a megfelelő tengelyek hozzárendeléséhez BKR-ben vagy<br />

GKR-ben bizonyos gépadat beállítások szükségesek, lásd<br />

Irodalom<br />

/FB2/ Bővítő funkciók működési kézikönyv; Kinematikus transzformációk (M1)<br />

6.8.2 Hengerpalást-transzformáció (TRACYL)<br />

Funkció<br />

A TRACYL hengerpalást-görbe transzformáció a következő szolgáltatásokat teszi lehetővé:<br />

Megmunkálás<br />

● hosszvájatok hengeres testeken,<br />

● keresztvájatok hengeres testeken<br />

● tetszőlegesen futó vájatok hengeres testeken.<br />

A vájatok futása a lefejtett, sík hengerpalást-felületre vonatkoztatva lesz programozva.<br />

Munka-előkészítés<br />

362 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

<br />

<br />

<br />

TRACYL transzformáció-típusok<br />

A hengerpalást koordináta-transzformáció három változatban létezik:<br />

● TRACYL vájatfal-korrekció nélkül: (TRAFO_TYPE_n=512)<br />

● TRACYL vájatfal-korrekcióval: (TRAFO_TYPE_n=513)<br />

● TRACYL kiegészítő lineáris tengellyel és vájatfal-korrekcióval: (TRAFO_TYPE_n=514)<br />

A vájatfal-korrekció TRACYL -lal a harmadik paraméterrel lesz megadva.<br />

A hengerpalást-görbe koordináta-transzformációnál vájatfal-korrekcióval a használt<br />

tengelyek korrekciója nulla (y=0) kell legyen, hogy a vájat a programozott vájat-középvonalra<br />

szimmetrikus legyen.<br />

Tengelyek használata<br />

A következő tengelyeket nem lehet pozícionáló-tengelyként ill. inga-tengelyként használni:<br />

● hengerpalást-felület kerületi irányának geometria-tengelye (Y tengely)<br />

● a kiegészítő lineáris tengely vájatfal-korrekciónál (Z tengely)<br />

Szintaxis<br />

TRACYL(d) vagy TRACYL(d, n) vagy<br />

az 514-es transzformáció-típushoz<br />

TRACYL(d, n, vájatfal-korrekció)<br />

TRAFOOF<br />

körtengely<br />

A körtengelyt nem lehet programozni, mert lefoglalja egy geometria-tengely és ezért mint<br />

csatorna-tengely nem programozható közvetlenül.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 363


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Jelentés<br />

TRACYL(d)<br />

Aktiválja a csatorna-gépadatokban megadott első TRACYL<br />

funkciót. A d munkaátmérő paramétere.<br />

TRACYL (d, n) Aktiválja a csatorna-gépadatokban megadott n.<br />

TRACYLfunkciót. Az n maximum 2 lehet, TRACYL(d,1)<br />

megfelel TRACYL(d)-nek.<br />

D<br />

Munkaátmérő értéke. A munkaátmérő értéke a szerszámcsúcs<br />

és a forgás-középpont távolságának duplája. Ezt az átmérőt<br />

mindig meg kell adni és 1-nél nagyobb kell legyen.<br />

n<br />

Opcionális 2. paraméter a TRACYL-adatkészlet 1-hez<br />

(alapérték) vagy 2-höz.<br />

vájatfal-korrekció Opcionális 3. paraméter, amelynek értéke TRACYL módra a<br />

gépadatokból lesz beállítva.<br />

értéktartomány:<br />

0: transzformáció-típus 514 vájatfal-korrekció nélkül mint eddig<br />

1: transzformáció-típus 514 vájatfal-korrekcióval<br />

TRAFOOF<br />

Transzformáció ki (AKR és GKR ismét azonos).<br />

OFFN<br />

Offset kontúr-normál: a vájatfal távolsága a programozott<br />

vonatkoztatási kontúrtól<br />

Megjegyzés<br />

Egy aktív TRACYL transzformáció szintén ki lesz kapcsolva, ha a mindenkori csatornában az<br />

egyéb transzformációk egyike aktiválva lesz (pl. TRANSMIT, TRAANG, TRAORI).<br />

Példa: Szerszám definíció<br />

A következő példa alkalmas TRACYL hengeres transzformáció paraméterezésének<br />

tesztelésére:<br />

Programkód<br />

Kommentár<br />

szerszám-paraméter jelentés<br />

megjegyzés<br />

szám (DP)<br />

$TC_DP1[1,1]=120 szerszámtípus maró<br />

$TC_DP2[1,1]=0 vágóélhelyzet csak esztergaszerszámokra<br />

Programkód<br />

Kommentár<br />

geometria<br />

hosszkorrekció<br />

$TC_DP3[1,1]=8. hosszkorrekció-vektor beszámítás típus szerint<br />

$TC_DP4[1,1]=9.<br />

és sík<br />

$TC_DP5[1,1]=7.<br />

Munka-előkészítés<br />

364 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Programkód<br />

Kommentár<br />

geometria<br />

sugár<br />

$TC_DP6[1,1]=6. sugár szerszámsugár<br />

$TC_DP7[1,1]=0<br />

b vájatszélesség<br />

vájatfűrészhez,<br />

lekerekítési sugár<br />

marószerszámokra<br />

$TC_DP8[1,1]=0 k átállás csak vájatfűrészre<br />

$TC_DP9[1,1]=0<br />

$TC_DP10[1,1]=0<br />

$TC_DP11[1,1]=0 szög kúpos marószerszámra<br />

Programkód<br />

kopás<br />

$TC_DP12[1,1]=0<br />

Kommentár<br />

hossz-és sugárkorrekció<br />

a maradék paraméterek<br />

$TC_DP24=0-ig<br />

alapméret/adapter<br />

Példa: Egy horogformájú vájat készítése<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 365


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Hengerpalást-transzformációt bekapcsolni:<br />

Programkód<br />

N10 T1 D1 G54 G90 F5000 G94<br />

N20 SPOS=0<br />

N30 G0 X25 Y0 Z105 CC=200<br />

N40 TRACYL (40)<br />

N50 G19<br />

Kommentár<br />

; szerszám-választás, felfogás-kompenzáció<br />

; kiinduló állásra menetel<br />

; hengerpalást-görbe transzformációt<br />

bekapcsolni<br />

; sík választás<br />

Horogformájú vájat készítése:<br />

Programkód<br />

N60 G1 X20<br />

N70 OFFN=12<br />

N80 G1 Z100 G42<br />

N90 G1 Z50<br />

N100 G1 Y10<br />

N110 OFFN=4 G42<br />

N120 G1 Y70<br />

N130 G1 Z100<br />

N140 G1 Z105 G40<br />

N150 G1 X25<br />

N160 TRAFOOF<br />

N170 G0 X25 Y0 Z105 CC=200<br />

N180 M30<br />

Kommentár<br />

; szerszámot a vájat aljára állítani<br />

; vájatfal-távolság 12 mm megadása a<br />

vájatközépvonalhoz viszonyítva<br />

; rámenetel a jobb vájatfalra<br />

; vájatszakasz pár<strong>hu</strong>zamos a hengertengellyel<br />

; vájatszakasz pár<strong>hu</strong>zamos a kerülettel<br />

; rámenetel a bal vájatfalra; vájatfal-távolságot<br />

a vájat-középvonaltól 4 mm-re megadni<br />

; vájatszakasz pár<strong>hu</strong>zamos a kerülettel<br />

; vájatszakasz pár<strong>hu</strong>zamos a hengertengellyel<br />

; elmenetel a vájatfaltól<br />

; szabadra menet<br />

; kiinduló állásra menetel<br />

Munka-előkészítés<br />

366 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Leírás<br />

Vájatfal-korrekció nélkül (transzformáció-típus 512):<br />

A vezérlés a henger-koordinátarendszer programozott elmozdulásait átalakítja a valós<br />

géptengelyek elmozdulásaivá:<br />

● körtengely<br />

● fogásvételi tengely, merőleges a körtengelyre<br />

● hossztengely, pár<strong>hu</strong>zamos a körtengellyel<br />

A lineáris tengelyek merőlegesek egymásra. A fogásvételi tengely a körtengelyt metszi.<br />

<br />

<br />

<br />

<br />

Vájatfal-korrekcióval (transzformáció-típus 513):<br />

Kinematika ugyanaz, továbbá - hossztengely pár<strong>hu</strong>zamos a kerületi iránnyal<br />

A lineáris tengelyek merőlegesek egymásra.<br />

A sebességvezetés figyelembe veszi a forgómozgások számára definiált határolásokat.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 367


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

<br />

<br />

<br />

<br />

<br />

Vájat-keresztmetszet<br />

Az 1-es tengelykonfigurációnál a körtengely mentén húzódó vájatok csak akkor vannak<br />

pár<strong>hu</strong>zamosan határolva, ha a vájatszélesség pont megfelel a szerszámsugárnak.<br />

A kerülettel pár<strong>hu</strong>zamos vájatok (keresztvájatok) az elején és a végén nem pár<strong>hu</strong>zamosak.<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

368 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Kiegészítő lineáris tengellyel és vájatfal korrekcióval (transzformáció-típus 514):<br />

Ez a transzformációs változat egy kiegészítő lineáris tengellyel rendelkező gépnél<br />

kihasználja a redundanciát egy jobb szerszámkorrekció végrehajtására. A második lineáris<br />

tengelyre érvényes:<br />

● egy kisebb munkatartomány és<br />

● hogy a második lineáris tengelyt nem lehet használni a munkadarabprogram<br />

végrehajtására.<br />

A munkadarabprogramhoz és a megfelelő tengelyek hozzárendeléséhez BKR-ben vagy<br />

GKR-ben bizonyos gépadat beállítások szükségesek, lásd<br />

Irodalom<br />

/FB2/ Bővítő funkciók működési kézikönyv; Kinematikus transzformációk (M1)<br />

Offset kontúr-normál OFFN (transzformáció-típus 513)<br />

Ahhoz, hogy TRACYL-lal vájatokat tudjunk marni<br />

● a munkadarab-programban a vájat-középvonal,<br />

● az OFFN fél vájat-szélességre lesz programozva.<br />

Az OFFN csak felhívott szerszámsugár-korrekcióval lesz hatásos, hogy elkerüljük a vájatfal<br />

sérülését. Továbbá OFFN legyen >=szerszámsugár, hogy kizárjuk a szemközti vájatfal<br />

sérülését.<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 369


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Egy vájat marására szolgáló munkadarab-program rendszerint a következő lépésekből áll:<br />

1. szerszám kiválasztása<br />

2. TRACYL kiválasztása<br />

3. megfelelő koordináta-eltolás (FRAME) felhívása<br />

4. pozícionálni<br />

5. OFFN programozása<br />

6. szerszámsugár-korrekció felhívása<br />

7. rámeneteli mondat (szerszámsugár-korrekció megtétele és rámenetel a vájatfalra)<br />

8. vájat-középvonal kontúrja<br />

9. szerszámsugár-korrekció kikapcsolása<br />

10. lemeneteli mondat (szerszámsugár-korrekció megtétele visszafelé és elmenetel a<br />

vájatfaltól)<br />

11. pozícionálni<br />

12. TRAFOOF<br />

13. eredeti koordináta-eltolás (FRAME) újra felhívása<br />

Különlegességek<br />

● szerszámsugár-korrekció felhívása:<br />

A szerszámsugár-korrekció nem a vájatfal, hanem a programozott vájat-középvonal<br />

figyelembe vételével lesz programozva. Ahhoz, hogy a szerszám a vájatfaltól balra<br />

haladjon, G42 lesz beadva (G41 helyett). Ezt úgy tudjuk elkerülni, ha OFFN-be a<br />

vájatszélesség negatív előjellel lesz beírva.<br />

● Az OFFN a TRACYL-lal másképp hat, mint TRACYL nélkül. Mivel az OFFN aktív<br />

szerszámsugár-korrekciónál TRACYL nélkül is be lesz számítva, ezért az OFFN a TRAFOOF<br />

után újra nullába kell állítani.<br />

● Az OFFN megváltoztatása a munkadarab-programon belül lehetséges. Ezzel a vájatközépvonalat<br />

el lehet tolni a középpontból (lásd ábra).<br />

● Vezető-vájatok:<br />

A TRACYL -lal a vezető-vájatoknál nem ugyanaz a vájat lesz létrehozva, mint amit egy<br />

olyan szerszámmal készítenek el, aminek az átmérője megfelel a vájat szélességnek.<br />

Elvileg nem lehetséges, hogy egy kisebb hengeres szerszámmal ugyanazt a vájatfalgeometriát<br />

hozzuk létre, mint egy nagyobbal. A TRACYL minimalizálja a hibát. Pontossági<br />

problémák elkerülése végett a szerszámsugár csak kicsit legyen kisebb, mint a fél<br />

vájatszélesség.<br />

Megjegyzés<br />

OFFN és szerszámsugár-korrekció<br />

A TRAFO_TYPE_n = 512 esetében az OFFN értéke a szerszámsugár-korrekcióhoz<br />

adódik hozzá.<br />

A TRAFO_TYPE_n = 513 esetén az OFFN-ben a fél vájatszélesség van programozva. A<br />

kontúr OFFN szerszámsugár-korrekcióval lesz megtéve.<br />

Munka-előkészítés<br />

370 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

6.8.3 Ferde tengely (TRAANG)<br />

Funkció<br />

A ferde tengely funkció a köszörülés technológia számára készült és a következő<br />

szolgáltatásokat teszi lehetővé:<br />

● Megmunkálás ferde fogásvételi tengellyel<br />

● A programozáshoz felhasználható egy derékszögű koordinátarendszer.<br />

● A vezérlés átalakítja a derékszögű koordinátarendszer programozott elmozdulásokat a<br />

valódi géptengelyek elmozdulásaivá (alapeset): ferde fogásvételi tengely<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Szintaxis<br />

TRAANG(α) vagy TRAANG(α, n)<br />

TRAFOOF<br />

Jelentés<br />

TRAANG( ) vagy transzformáció aktiválása az előző kiválasztás paraméterezésével<br />

TRAANG( ,n)<br />

TRAANG(α) aktiválja az első megadott ferde tengely transzformációt<br />

TRAANG(α,n) aktiválja az n. megadott ferde-tengely transzformációt; n maximum 2 lehet<br />

TRAANG(α,1) megfelelője TRAANG(α).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 371


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

αA<br />

TRAFOOF<br />

n<br />

ferdén álló tengely szöge<br />

megengedett értékek α-ra:<br />

-90 fok < α < + 90 fok<br />

transzformáció ki<br />

megadott transzformációk száma<br />

Szög α elhagyva vagy nulla<br />

Ha az α szöget elhagyjuk (pl. TRAANG(), TRAANG(, n)), akkor a transzformáció az előző<br />

felhívás paraméterezésével lesz aktiválva. Az első felhívásnál az elő-beállítás a gépadatok<br />

szerint érvényes.<br />

Ha a szög α = 0 (pl. TRAANG(0), TRAANG(0,n)) egy érvényes paraméterezés és már nem felel<br />

meg a régebbi változatoknál a paraméterek elhagyásának.<br />

Példa<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

N10 G0 G90 Z0 MU=10 G54 F5000 -><br />

-> G18 G64 T1 D1<br />

N20 TRAANG(45)<br />

N30 G0 Z10 X5<br />

N40 WAITP(Z)<br />

N50 OSP[Z]=10 OSP2[Z]=5 OST1[Z]=–2 -><br />

-> OST2[Z]=–2 FA[Z]=5000<br />

N60 OS[Z]=1<br />

N70 POS[X]=4.5 FA[X]=50<br />

N80 OS[Z]=0<br />

Kommentár<br />

; szerszám-választás, felfogás-kompenzáció,<br />

sík választás<br />

; ferde tengely transzformáció bekapcsolni<br />

; kiinduló állásra menetel<br />

; tengelyek engedélyezése lengéshez<br />

; lengés, amíg méret elérve<br />

(lengés lásd "Lengés" fejezetben)<br />

Munka-előkészítés<br />

372 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Programkód<br />

Kommentár<br />

N90 WAITP(Z)<br />

; lengőtengelyek engedélyezése pozicionálótengelyként<br />

N100 TRAFOOF<br />

; transzformáció kikapcsolása<br />

N110 G0 Z10 MU=10<br />

; szabadra menet<br />

N120 M30 ;<br />

-> egy mondatban programozni<br />

Leírás<br />

A következő megmunkálások lehetségesek:<br />

1. hossz-köszörülés<br />

2. sík-köszörülés<br />

3. meghatározott kontúr köszörülése<br />

4. ferde beszúrás köszörülés<br />

<br />

<br />

<br />

<br />

Gépgyártó<br />

A gépadatokkal a következő beállítások lesznek megadva:<br />

● egy géptengely és a ferde-tengely közötti szög,<br />

● a szerszám-nullapont helyzete a "Ferde tengely" funkciónál megadott koordinátarendszer<br />

eredetére vonatkoztatva,<br />

● a sebességtartalék, ami a pár<strong>hu</strong>zamos tengelyen a kiegyenlítő mozgásnak készenlétben<br />

van tartva,<br />

● a tengelygyorsítási tartalék, ami a pár<strong>hu</strong>zamos tengelyen a kiegyenlítő mozgásnak<br />

készenlétben van tartva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 373


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Tengely-konfiguráció<br />

Ahhoz, hogy derékszögű koordinátarendszerben tudjunk programozni, a vezérléssel közölni<br />

kell az ezen koordinátarendszer és a valóban létező géptengelyek (MU, MZ) közötti<br />

összefüggést:<br />

● geometria-tengelyek elnevezése<br />

● geometria tengelyek hozzárendelése a csatornatengelyekhez<br />

– általános eset (ferde tengely nem aktív)<br />

– ferde tengely aktív<br />

● csatorna-tengelyek hozzárendelése a géptengely-számokhoz<br />

● orsók jelölése<br />

● géptengely-nevek hozzárendelése<br />

Az eljárás a "ferde tengely aktív" aktív kivételével megfelel a normál tengely-konfiguráció<br />

eljárásának.<br />

6.8.4 Ferde tengely programozása (G05, G07)<br />

Funkció<br />

A JOG–üzemben a köszörűtárcsát választhatóan derékszögűen vagy a ferde tengely<br />

irányában lehet mozgatni (a kijelzés derékszögű marad). Csak a valós U tengely mozog, a Z<br />

tengely kijelzése aktualizálva lesz.<br />

A REPOS eltolásokat a Jog üzemben derékszögűen kell visszamenni.<br />

A derékszögű munkatér-határolások megsértése a JOG–üzemben az aktív<br />

"PTP–mozgás"-nál felügyelve van, a megfelelő tengely előtte le lesz fékezve Ha a "PTPmozgás"<br />

nem aktív, a tengelyt egészen a munkatér-határolásig lehet mozgatni<br />

Irodalom<br />

/FB2/ Bővítő funkciók működési kézikönyv; Kinematikus transzformációk (M1)<br />

Szintaxis<br />

G07<br />

G05<br />

A G07/G05 utasítások a ferde tengelyek programozásának a megkönnyítését szolgálják.<br />

Ezzel a pozíciókat derékszögű koordináta-rendszerben lehet programozni és kijelezni. A<br />

szerszámkorrekciók és a nullaponteltolások derékszögűen lesznek beszámítva. A ferde<br />

tengely szögének programozása után az NC programban rá lehet menni a kezdő pozícióra<br />

(G07) és azután végre lehet hajtani a ferde-beszúrást (G05).<br />

Munka-előkészítés<br />

374 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.8 Kinematikus transzformációk<br />

Jelentés<br />

G07<br />

G05<br />

kezdő pozícióra menni<br />

ferde beszúrás aktiválása<br />

Példa<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programozás<br />

Kommentár<br />

N.. G18<br />

; ferde tengely szögének programozása<br />

N50 G07 X70 Z40 F4000 ; kezdő pozícióra menni<br />

N60 G05 X70 F100<br />

; ferde beszúrás<br />

N70 ... ;<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 375


Transzformációk<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

Funkció<br />

Ezzel a funkcióval programozható egy pozíció egy derékszögű koordinátarendszerben, a<br />

gép mozgása azonban gépkoordinátákban történik. A funkció például felhasználható a<br />

csuklók állásának megváltoztatásánál, ha eközben a mozgás egy szingularitáson át vezet.<br />

Megjegyzés<br />

A funkciónak csak egy aktív transzformációval kapcsolatban van értelme. A továbbiakban a<br />

"PTP-mozgás" csak G0-val és G1-gyel kapcsolatban megengedett.<br />

Szintaxis<br />

N... TRAORI<br />

N... STAT='B10' TU='B100' PTP<br />

N... CP<br />

PTP-mozgás általános 5/6-tengelyes transzformációnál<br />

Ha aktív általános 5/6-tengelyes transzformációnál PTP-vel a gépi koordináta-rendszerben<br />

egy pontról-pontra mozgás lesz aktiválva (ORIMKS), akkor a szerszámtájolást lehet<br />

körtengely-pozíciókkal<br />

N... G1 X Y Z A B C<br />

vagy a kinematikától független Euler- ill. RPY-szög vektorokkal is<br />

N... ORIEULER vagy ORIRPY<br />

N... G1 X Y Z A2 B2 C2<br />

vagy irányvektorokkal<br />

N... G1 X Y Z A3 B3 C3<br />

programozható. Ennek során aktív lehet körtengely-interpoláció vagy vektor-interpoláció<br />

ORIVECT nagykör- interpolációval vagy egy tájolásvektor interpolációja egy kúppalástfelületen<br />

ORICONxx.<br />

Többértelműségek tájolásnál vektorokkal<br />

A tájolás programozásánál vektorokkal többértelműség van a lehetséges körtengelypozíciókban.<br />

Az elérendő körtengely-pozíciókat ki lehet választanai a STAT = <br />

programozásával. Ha<br />

STAT = 0 van programozva (ez az alapbeállítás),<br />

a kezdőpozícióhoz legközelebbi pozíciók lesznek felvéve. Ha<br />

STAT = 1 van programozva<br />

a kezdőpozícióhoz legtávolabbi pozíciók lesznek felvéve.<br />

Munka-előkészítés<br />

376 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

Jelentés<br />

A PTP és CP utasítások modálisan hatnak. A CP az alapbeállítás.<br />

Miközben a STAT érték programozása modálisan érvényes, a TU = programozása<br />

mondatonként hatásos.<br />

Egy további különbség, hogy egy STAT érték programozása csak a vektor-interpolációnál<br />

hatásos, a TU programozása aktív körtengely-interpolációnál is ki lesz értékelve.<br />

PTP Point to Point (mozgás pontról pontra)<br />

A mozgás szinkrontengely-mozgásként lesz végrehajtva; a mozgásban résztvevő<br />

leglassabb tengely lesz a sebesség számára domináns tengely.<br />

CP continuous path ((pályamozgás)<br />

A mozgás derékszögű koordinátarendszerben történő pályamozgásként kerül<br />

végrehajtásra.<br />

STAT= csuklók állása; érték függ a transzformációtól<br />

TU= TURN információ mondatonként hatásos. Ezáltal lehetséges, a –360 fok és +360<br />

fok közötti tengelyszögekre való egyértelmű rámenetel.<br />

Példa<br />

<br />

<br />

<br />

<br />

<br />

<br />

N10 G0 X0 Y-30 Z60 A-30 F10000<br />

N20 TRAORI(1)<br />

N30 X1000 Y0 Z400 A0<br />

N40 X1000 Z500 A0 STAT='B10'<br />

TU='B100' PTP<br />

kiinduló állapot<br />

→ könyök fent<br />

transzformáció be<br />

áttájolás transzformáció nélkül<br />

→ könyök lent<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 377


Transzformációk<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

N50 X1200 Z400 CP<br />

N60 X1000 Z500 A20<br />

N70 M30<br />

transzformáció újra aktív<br />

Példa PTP-mozgásra általános 5-tengelyes transzformációnál<br />

Feltétel: Az alap egy derékszögű CA kinematika.<br />

Programkód<br />

TRAORI<br />

PTP<br />

Kommentár<br />

; CA kinematika transzformáció be<br />

; PTP-mozgás bekapcsolása<br />

N10 A3 = 0 B3 = 0 C3 = 1 ; körtengely-pozíciók C = 0 A = 0<br />

N20 A3 = 1 B3 = 0 C3 = 1 ; körtengely-pozíciók C = 90 A = 45<br />

N30 A3 = 1 B3 = 0 C3 = 0 ; körtengely-pozíciók C = 90 A = 90<br />

N40 A3 = 1 B3 = 0 C3 = 1 STAT = ; körtengely-pozíciók C = 270 A = –45<br />

1<br />

A körtengely-pozíciók egyértelmű rámenti helyét kiválasztani:<br />

Az N40 mondatban a körtengelyek a STAT = 1 programozása miatt a hosszabb úton mennek<br />

a kezdőpontjukból (C=90, A=90) a végpontjukhoz (C=270, A=–45), míg STAT = 0 estén a<br />

legrövidebb úton mennének a végponthoz(C=90, A=45).<br />

Leírás<br />

A derékszögű mozgás és a géptengelyekkel való mozgás közötti átkapcsolás a PTP és CP<br />

utasításokkal történik.<br />

PTP-mozgás általános 5/6-tengelyes transzformációnál<br />

A PTP–mozgásnál az 5/6–tengelyes transzformációval ellentétben a TCP általában nem<br />

marad fix-helyű, ha csak a tájolás változik. Az összes transzformációs tengely (3 lineáris<br />

tengely és max. 3 körtengely) transzformált végpozíciói lineárisan lesznek felvéve, anélkül<br />

hogy ennél a transzformáció tulajdonképpen aktív lenne.<br />

A PTP–mozgás a CP modális G-kód programozásával ki lesz kapcsolva.<br />

A különféle transzformációk leírása a következő kiadványban található:<br />

/FB3/ Különleges funkciók működési kézikönyv; Handling transzformációs csomag (TE4).<br />

A helyzet programozása (STAT=)<br />

Egy géphelyzet a derékszögű koordinátarendszer koordinátáival történő pozíció-megadással<br />

és a szerszám tájolásával még nincs egyértelműen meghatározva. Attól függően, hogy<br />

melyik kinematikáról van szó, 8 különböző ill. megkülönböztető csuklóállás létezik. Ezek így<br />

transzformáció-specifikusak. Ahhoz, hogy egy derékszögű koordinátarendszerbeli pozíciót<br />

egyértelműen át tudjunk számtani a tengelyszögekbe, a csuklók állását a STAT= utasítással<br />

kell megadni. A "STAT" utasítás minden lehetséges állás számára tartalmaz bináris értékként<br />

egy bitet.<br />

A "STAT" -nál programozható helyzetbitekről leírás található:<br />

/FB2/ Bővítő funkciók működési kézikönyv; Kinematikus transzformációk (M1), fejezet:<br />

"Derékszögű PTP mozgás".<br />

Munka-előkészítés<br />

378 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

Tengelyszög programozása (TU=)<br />

Ahhoz, hogy ±360 foknál kisebb szögekre egyértelműen lehessen rámenni, ezt az<br />

információt a "TU= " utasítással kell programozni.<br />

A tengelyek a legrövidebb úton mozdulnak el:<br />

● ha egy pozíciónál nem lesz TU programozva,<br />

● tengelyeknél, amelyek > ±360 fok elmozdulási tartománnyal rendelkeznek.<br />

Példa:<br />

A képen megadott célpozícióra negatív vagy pozitív irányba lehet rámenetelt végrehajtani.<br />

Az irány az A1 cím alatt lesz programozva.<br />

A1=225°, TU=Bit 0, → pozitív irány<br />

A1=−135°, TU=Bit 1, → negatív irány<br />

<br />

<br />

<br />

<br />

<br />

Példa TU kiértékelésére általános 5/6-tengelyes transzformációnál és célpozícióknál<br />

A TU változó minden, a transzformációban résztvevő tengelyre tartalmaz egy bitet, a melyik<br />

kijelzi a mozgásirányt. A TU–bitek hozzárendelése megfelel a körtengelyek<br />

csatornanézetének. A TU információk csak a transzformációban résztvevő max. 3<br />

lehetséges körtengelynél lesznek kiértékelve:<br />

bit0: tengely 1, TU–bit = 0 : 0 fok


Transzformációk<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

További viselkedés<br />

Üzemmód váltás<br />

A "Derékszögű koordinátarendszerben történő PTP-mozgás" funkciónak csak az AUTO és<br />

az MDA üzemmódokban van értelme. JOG üzemmódra váltásnál az aktuális beállítás<br />

megmarad.<br />

Ha a PTP G-kód van beállítva, akkor a tengelyek a GKR-ben mozognak. Ha a CP G-kód van<br />

beállítva, akkor a tengelyek az MKR-ben mozognak.<br />

Power On/RESET<br />

Power On vagy Reset után a beállítás az $MC_GCODE_REST_VALUES[48] gépadattól függ.<br />

Alapbeállítás a "CP" mozgási mód.<br />

REPOS<br />

Ha a megszakítási mondat közben a "Derékszögű koordinátarendszerben történő PTPmozgás"<br />

funkció be volt állítva, akkor a visszapozícionálás is PTP-vel történik.<br />

Átlapolt mozgások<br />

DRF-eltolás vagy külső nullapont-eltolás a derékszögű koordinátarendszerben történő PTPmozgásnál<br />

csak korlátozottan lehetségesek. PTP-ről CP-mozgásra való átváltásnál a BKRben<br />

nem lehetnek átlapolódások.<br />

Átmenet-simítás CP- és PTP-mozgások között<br />

A G641 -gyel lehetséges a mondatok között egy programozható átmenet-simítás.<br />

A simítási tartomány mérete a pályaút mm-ben vagy hüvelykben mérve, amitől ill. amihez a<br />

mondatátmenet hozzá lesz simítva. A méretet a következőképpen kell megadni:<br />

● G0 mondatoknak ADISPOS-zal<br />

● minden más út-utasításnak ADIS-szal<br />

A pályaút kiszámítása megfelel az F-címek figyelembevételének nem-G0-as mondatoknál.<br />

Az előtolás az FGROUP(...) -ban megadott tengelyekre lesz betartva.<br />

Előtolás kiszámítása<br />

A CP-mondatoknál a kiszámításhoz az alap-koordinátarendszer derékszögű tengelyei<br />

kerülnek felhasználásra.<br />

A PTP-mondatoknál a kiszámításhoz a gép-koordinátarendszer megfelelő tengelyei kerülnek<br />

felhasználásra.<br />

Munka-előkészítés<br />

380 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

6.9.1 PTP TRANSMIT-nál<br />

Funkció<br />

A PTP-vel TRANSMIT-nál G0 ésG1 mondatokat lehet idő-optimálisan megtenni. A bázis<br />

koordináta-rendszer tengelyeinek lineáris mozgatása (CP) helyett, a géptengelyek lesznek<br />

lineárisan (PTP) mozgatva. Ezáltal a géptengelyek mozgatása a pólus közelében olyan,<br />

hogy a mondatvégpontot lényegesen gyorsabban el lehet érni.<br />

A munkadarabprogram továbbra is derékszögű koordinátarendszerben van írva és az<br />

összes koordináta-eltolás, forgatás és frame-programozás érvényes marad. A szimuláció a<br />

HMI-n szintén derékszögű munkadarab koordináta-rendszerben lesz kijelezve.<br />

Szintaxis<br />

N... TRANSMIT<br />

N... PTPG0<br />

N... G0 ...<br />

...<br />

N... G1 ...<br />

Jelentés<br />

TRANSMIT<br />

PTPG0<br />

PTP<br />

STAT=<br />

TU=<br />

aktiválja az első megadott TRANSMIT funkciót<br />

(lásd a "Eszterga munkadarabok maró-megmunkálása: TRANSMIT")<br />

Point to Point G0 (pontról pontra mozgás automatikusan minden G0<br />

mondatnál és utána ismét CP beállítás)<br />

Mivel STAT és TU modálisak, mindig az utoljára programozott érték érvényes.<br />

Point to Point (mozgás pontról pontra)<br />

A TRANSMIT-nál a PTP azt jelenti, a derékszögűben az archimédeszi spirálra<br />

vagy a pólus körül vagy a pólusból lesz mozgás. Az ebből eredő<br />

szerszámmozgások jelentősen eltérnek a CP esetétől és a mindenkori<br />

programpéldákban vannak ábrázolva.<br />

többértelműség feloldása a pólus vonatkozásában<br />

TU a PTP TRANSMIT-nál nem releváns<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 381


Transzformációk<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

Példa a pólus megkerülésére PTP-vel és TRANSMIT<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

N001 G0 X30 Z0 F10000 T1 D1 G90<br />

N002 SPOS=0<br />

N003 TRANSMIT<br />

N010 PTPG0<br />

N020 G0 X30 Y20<br />

N030 X-30 Y-20<br />

N120 G1 X30 Y20<br />

N110 X30 Y0<br />

M30<br />

Kommentár<br />

; kiinduló helyzet abszolút méret<br />

; TRANSMIT transzformáció<br />

; minden G0 mondathoz automatikus<br />

PTP és utána ismét CP<br />

Munka-előkészítés<br />

382 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

Példa a pólusból kijövetelre PTP-vel és TRANSMIT<br />

PTP<br />

CP<br />

N070 X20 Y2<br />

30<br />

20<br />

10<br />

N060 X0 Y0<br />

-30<br />

-20<br />

-10<br />

10<br />

20<br />

30<br />

-10<br />

-20<br />

-30<br />

N050 X10 Y0<br />

Programozás<br />

N001 G0 X90 Z0 F10000 T1 D1 G90<br />

N002 SPOS=0<br />

N003 TRANSMIT<br />

N010 PTPG0<br />

N020 G0 X90 Y60<br />

N030 X-90 Y-60<br />

N040 X-30 Y-20<br />

N050 X10 Y0<br />

N060 X0 Y0<br />

N070 X-20 Y2<br />

N170 G1 X0 Y0<br />

N160 X10 Y0<br />

N150 X-30 Y-20<br />

M30<br />

Kommentár<br />

; kiinduló állapot<br />

; TRANSMIT transzformáció<br />

; minden G0 mondathoz automatikus<br />

PTP és utána ismét CP<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 383


Transzformációk<br />

6.9 PTP-mozgás derékszögű koordinátarendszerben<br />

Leírás<br />

PTP és PTPG0<br />

A PTPG0 minden transzformációnál figyelembe lesz véve, amelyik a PTP-t fel tudja dolgozni.<br />

Az összes többi esetben a PTPG0 nem releváns.<br />

A G0 mondatok CP-módusban lesznek megtéve.<br />

A PTP ill. PTPG0 kiválasztása a munkadarabprogramban történik vagy a CP kikapcsolásával<br />

az $MC_GCODE_RESET_VALUES[48]gépadatban.<br />

VIGYÁZAT<br />

Peremfeltételek<br />

A szerszámmozgások és az ütközés szempontjából a következő peremfeltételek és<br />

funkció-kizárások érvényesek:<br />

A PTP -vel nem lehet aktív a szerszámsugár-korrekció.<br />

A PTPG0 -val aktív szerszámsugár-korrekciónál CP-vel kell mozogni.<br />

A PTP-vel a puha rá- és lemenet (WAB) nem lehetséges.<br />

A PTPG0 -val a puha rá- és lemenetnél (WAB) CP-vel kell mozogni.<br />

A PTP -vel a leforgácsoló ciklusok (CONTPRON, CONTDCON) nem lehetségesek.<br />

A PTPG0 -val a leforgácsoló ciklusokban (CONTPRON, CONTDCON) a CP-vel kell mozogni.<br />

A letörés (CHF, CHR) és lekerekítés (RND, RNDM) nem lesz figyelembe véve.<br />

A kompresszor a PTP-vel nem egyeztethető össze és a PTP-mondatokban automatikusan<br />

ki lesz kapcsolva.<br />

A tengely-átlapolás az interpolációban egy PTP-szakasz alatt nem változtatható.<br />

A G643 esetében az axiális pontosságú átmenet simítás után automatikusan G642 lesz<br />

kapcsolva.<br />

Aktív PTP-nél a transzformáció tengelyei nem lehetnek egyidejűleg pozícionáló tengelyek.<br />

Irodalom:<br />

/FB2/ Bővítő funkciók működési kézikönyv; Kinematikus transzformációk (M1),<br />

fejezet: "Derékszögű PTP mozgás"<br />

PTP TRACON-nál:<br />

A PTP használható TRACON-nal is, ha az első láncolt transzformáció támogatja a PTP-t.<br />

STAT= és TU= jelentése TRANSMIT-nál<br />

Ha a körtengely 180 fokkal kell elforduljon, ill. a kontúr CP-nél a póluson át vezet, a<br />

körtengelyeket a $MC_TRANSMIT_POLE_SIDE_FIX_1/2 [48] gépadattól függetlenül -/+ 180 fokkal<br />

el lehet forgatni és órajárás irányában és szemben is lehet mozgatni. Szintén beállítható,<br />

hogy a mozgás a póluson át vezet vagy a pólus körül lesz forgatva.<br />

Munka-előkészítés<br />

384 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.10 Peremfeltételek egy transzformáció felhívásánál<br />

6.10 Peremfeltételek egy transzformáció felhívásánál<br />

Funkció<br />

Transzformációk felhívása munkadarab-program, ill. MDA által lehetséges. Ennél a<br />

következőket kell figyelembe venni:<br />

● Egy mozgás-közbenső mondat nem lesz beiktatva (letörés/sugár).<br />

● Egy Spline-mondat sorrendnek lezárva kell lennie; ha nem, akkor megjelenik egy<br />

jelentés.<br />

● Szerszám-finomkorrekciónak kikapcsolva kell lennie (FTOCOF); ha nem, akkor<br />

megjelenik egy jelentés.<br />

● Szerszámsugár-korrekciónak kikapcsolva kell lennie (G40); ha nem, akkor megjelenik<br />

egy jelentés.<br />

● Egy aktivált szerszámhossz-korrekciót a vezérlés átvesz a transzformációba.<br />

● A transzformáció előtt hatásos aktuális frame-t a vezérlés kikapcsolja.<br />

● Egy aktív munkamező-behatárolást a vezérlés kikapcsolja a transzformáció által érintett<br />

tengelyek számára (megfelelője WALIMOF).<br />

● A védelmi tartomány felügyelete ki lesz kapcsolva.<br />

● Pályavezérlés-üzem és átmenet-simítás meg lesznek szakítva.<br />

● Minden, a gépadatban megadott tengelynek mondatra vonatkoztatva kell szinkronizálva<br />

lennie.<br />

● Kicserélt tengelyek vissza lesznek cserélve; ha nem, akkor megjelenik egy jelentés.<br />

● Függő tengelyeknél egy jelentés lesz kiadva.<br />

Szerszámcsere<br />

Egy szerszámcsere csak kikapcsolt szerszámsugár-korrekciónál megengedett.<br />

Egy szerszámhossz-korrekció váltás és a szerszámsugár-korrekció ki-/bekapcsolása nem<br />

lehetnek ugyanabban a mondatban programozva.<br />

Frame váltás<br />

Minden utasítás, ami csak az alap-koordinátarendszerre vonatkozik, megengedett (FRAME,<br />

szerszámsugár-korrekció). Egy frame-csere G91-nél (láncméret) azonban – másképp, mint<br />

inaktív transzformációnál – nem lesz külön kezelve. A megteendő inkremens az új frame<br />

munkadarab-koordinátarendszerében lesz kiértékelve – függetlenül attól, hogy melyik frame<br />

hatott az előző mondatban.<br />

Kizárások<br />

A transzformációban érintett tengelyeket nem lehet használni:<br />

● Preset-tengelyként (vészjelzés),<br />

● fixpontra menetelre (vészjelzés),<br />

● referálásra (vészjelzés).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 385


Transzformációk<br />

6.11 Transzformáció kikapcsolása (TRAFOOF)<br />

6.11 Transzformáció kikapcsolása (TRAFOOF)<br />

Funkció<br />

A TRAFOOF utasítással minden aktív transzformáció és frame ki lesz kapcsolva.<br />

Megjegyzés<br />

Ezután szükséges frame-ket újabb programozással kell aktivizálni.<br />

Ennél a következőket kell figyelembe venni:<br />

Transzformáció kikapcsolásánál ugyanazok a korlátozások érvényesek, mint a felhívásra<br />

(lásd a "Peremfeltételek egy transzformáció felhívásánál" fejezetben)<br />

Szintaxis<br />

TRAFOOF<br />

Jelentés<br />

TRAFOOF<br />

utasítás minden aktív transzformáció / frame kikapcsolására<br />

Munka-előkészítés<br />

386 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Transzformációk<br />

6.12 Láncolt transzformációk (TRACON, TRAFOOF)<br />

6.12 Láncolt transzformációk (TRACON, TRAFOOF)<br />

Funkció<br />

Mindig kéttranszformációt lehet egymás után kapcsolni (láncolni) úgy, hogy az első<br />

transzformációban szereplő tengelyeknek mozgási részei bemeneti adatok a láncolt második<br />

transzformáció számára. A mozgási részek a második transzformációból a géptengelyekre<br />

hatnak.<br />

A lánc két transzformációt foghat át.<br />

Megjegyzés<br />

A szerszám mindig a lánc első transzformációjához lesz hozzárendelve. A következő<br />

transzformáció ekkor úgy viselkedik, mintha az aktív szerszámhossz nulla lenne. Csak a<br />

szerszámnak gépadattal beállított alaphossza (_BASE_TOOL_) érvényes a lánc első<br />

transzformációjánál.<br />

Gépgyártó<br />

Figyeljünk a gépgyártó utalásaira az adott esetben gépadatok által előre definiált<br />

transzformációkkal kapcsolatban.<br />

A transzformációk és a láncolt transzformációk opciók. Bizonyos vezérlésekben bizonyos<br />

transzformációk rendelkezésre állásáról a láncban mindig az aktuális katalógus ad<br />

felvilágosítást.<br />

Alkalmazások<br />

● Kontúrok köszörülése, amik egy henger-lefejtés palástvonalaként lettek programozva<br />

(TRACYL) ferdén álló köszörűkoronggal, pl. szerszám köszörülés.<br />

● TRANSMIT-tal létrehozott, nem kerek kontúr finom megmunkálása ferdén álló<br />

köszörűkoronggal.<br />

Szintaxis<br />

TRACON(trf,par)<br />

TRAFOOF<br />

egy láncolt transzformáció bekapcsolása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 387


Transzformációk<br />

6.12 Láncolt transzformációk (TRACON, TRAFOOF)<br />

Jelentés<br />

TRACON<br />

TRAFOOF<br />

trf<br />

par<br />

A láncolt transzformáció bekapcsolása. Egy másik előzőleg aktivált<br />

transzformáció a TRACON() által implicit ki lesz kapcsolva.<br />

Az utoljára bekapcsolt (láncolt) transzformáció ki lesz kapcsolva.<br />

Láncolt transzformáció száma:<br />

0 vagy 1 első/egyetlen láncolt transzformációnál.<br />

IHa ezen a helyen nincs semmi programozva, akkor ez egyet jelent a 0 vagy<br />

1 érték megadásával, azaz az első/egyetlen transzformáció lesz aktiválva.<br />

2 a második láncolt transzformációnál. (0-2-től eltérő értékek hibajelzést<br />

eredményeznek).<br />

Egy vagy több vesszővel elválasztott paraméter a láncolatban szereplő azon<br />

transzformációk számára, amelyek paramétereket várnak, pl. ferde tengely<br />

szöge. Nem megadott paramétereknél az előbeállítások vagy az utoljára<br />

használt paraméterek lesznek hatásosak. A vessző kitételével kell arról<br />

gondoskodni, hogy a megadott paraméterek abban a sorrendben legyenek<br />

kiértékelve, amiben várják őket, amikor előtte álló paramétereknél<br />

előbeállítások kell hassanak. Különösen legalább egy paraméter<br />

megadásánál ezelőtt egy vesszőnek kell állnia, akkor is, ha trf megadása<br />

nem szükséges, tehát pl. TRACON( , 3.7).<br />

Előfeltétel<br />

A második transzformáció "Ferde tengely" (TRAANG) kell legyen. Első transzformációként<br />

lehetségesek:<br />

● tájolási transzformációk (TRAORI), beleértve kardán marófej<br />

● TRANSMIT<br />

● TRACYL<br />

● TRAANG<br />

Egy láncolt transzformációt bekapcsoló utasítás használatánál előfeltétel, hogy az egyes<br />

láncolandó transzformációk és az aktiválandó láncolt transzformáció gépadatokkal definiálva<br />

vannak.<br />

Az egyes leírásokban a transzformációk számára megadott peremfeltételeket és különleges<br />

eseteket a láncolaton belüli használatnál is figyelembe kell venni.<br />

A transzformációk gépadatainak tervezéséhez információk találhatók:<br />

/FB2/ Bővítő funkciók működési kézikönyv; Kinematikus transzformációk (M1) és<br />

/FB3/ Különleges funkciók működési kézikönyv; 3-5 tengelyes transzformációk (F2).<br />

Munka-előkészítés<br />

388 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók 7<br />

7.1 Korrekció-tároló<br />

Funkció<br />

A korrekció-tároló felépítése<br />

Minden adatmező felhívható egy T- és D-számmal (a "lapos D-szám"-on kívül) és a szerszám<br />

geometriai adatai mellett még további beviteleket tartalmaz, pl. a szerszámtípust.<br />

Lapos D-szám struktúra<br />

A "lapos D-szám struktúra" akkor kerül alkalmazásra, ha a szerszámkezelés az NCK-n kívül<br />

történik. Ebben az esetben a D-számok a hozzátartozó szerszámkorrekció adatokkal a<br />

szerszámokhoz hozzárendelés nélkül vannak létrehozva.<br />

A munkadarab-programban lehet továbbra is T-t programozni. Ennek a T-nek azonban nincs<br />

kapcsolata a programozott D-számhoz.<br />

Felhasználói vágóél-adatok<br />

A felhasználói vágóél-adatokat gépadatokkal lehet konfigurálni. Vegyük ehhez figyelembe a<br />

gépgyártó tájékoztatásait.<br />

Szerszám-paraméter<br />

Megjegyzés<br />

Egyes értékek a korrekciós tárolóban<br />

A P1...P25 korrekció-tárolók egyes értékei rendszerváltozókkal a programból olvashatók és<br />

írhatók. Az összes többi paraméter foglalt.<br />

A $TC_DP6 ... $TC_DP8, $TC_DP10 és $TC_DP11 ill. $TC_DP15 ... $TC_DP17, $TC_DP19<br />

és $TC_DP20 paramétereknek a szerszámtípustól függően más jelentésük van.<br />

1 marószerszámoknál is érvényes a 3D homlokmarásnál<br />

2 vájatfűrész szerszámtípusnál<br />

3 foglalt: a SINUMERIK 840D nem használja<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 389


Szerszámkorrekciók<br />

7.1 Korrekció-tároló<br />

Szerszámparaméterszám<br />

Rendszerváltozók jelentése<br />

Megjegyzés<br />

(DP)<br />

$TC_DP1 szerszámtípus áttekintés a listában<br />

$TC_DP2 vágóélhelyzet csak esztergaszerszámokra<br />

geometria<br />

hosszkorrekció<br />

$TC_DP3 hossz 1 beszámítás<br />

$TC_DP4 hossz 2 típus és sík<br />

$TC_DP5 hossz 3<br />

geometria<br />

sugár<br />

$TC_DP6 1<br />

$TC_DP6 2<br />

$TC_DP7 1<br />

$TC_DP7 2<br />

$TC_DP8 1<br />

$TC_DP8 2<br />

sugár 1 / hossz 1<br />

átmérő d<br />

hossz 2 / kúpos-maró saroksugár<br />

vájatszélesség b saroksugár<br />

lekerekítési sugár 1 marószerszámokra<br />

átállás k<br />

maró-/eszterga-<br />

/köszörűszerszám<br />

vájatfűrész<br />

marószerszámok<br />

vájatfűrész<br />

marószerszámok<br />

vájatfűrész<br />

$TC_DP9 1,3 lekerekítési sugár 2 foglalt<br />

$TC_DP10 1 szög 1 szerszám homlokoldala kúpos marószerszámok<br />

$TC_DP11 1 szög 2 szerszám hossztengely kúpos marószerszámok<br />

kopás<br />

hossz-és sugárkorrekció<br />

$TC_DP12 hossz 1<br />

$TC_DP13 hossz 2<br />

$TC_DP14 hossz 3<br />

$TC_DP15 1<br />

$TC_DP15 2<br />

$TC_DP16 1<br />

$TC_DP16 3<br />

$TC_DP17 1<br />

$TC_DP17 2<br />

sugár 1 / hossz 1<br />

átmérő d<br />

hossz 2 / kúpos maró saroksugár<br />

vájatszélesség b saroksugár<br />

lekerekítési sugár 1 marószerszámokra<br />

átállás k<br />

maró-/eszterga-<br />

/köszörűszerszám<br />

vájatfűrész<br />

marószerszámok<br />

vájatfűrész<br />

marás / 3D homlokmarás<br />

vájatfűrész<br />

$TC_DP18 1,3 lekerekítési sugár 2 foglalt<br />

$TC_DP19 1 szög 1 szerszám homlokoldala kúpos marószerszámok<br />

$TC_DP20 1 szög 2 szerszám hossztengely kúpos marószerszámok<br />

alapméret/adapter hosszkorrekciók<br />

$TC_DP21 hossz 1<br />

$TC_DP22 hossz 2<br />

$TC_DP23 hossz 3<br />

technológia<br />

$TC_DP24 szabadszög csak esztergaszerszámokra<br />

$TC_DP25<br />

foglalt<br />

Megjegyzések<br />

A geometriai méretek (pl. hossz 1 vagy sugár) több beviteli összetevőből állnak. Ezek<br />

összeadódnak egy eredő nagysággá (pl. összhossz1, összsugár), és ez lesz hatásos.<br />

Nem szükséges korrekciók nulla értékkel vannak feltöltve.<br />

Munka-előkészítés<br />

390 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.1 Korrekció-tároló<br />

$TC-DP1 ... $TC-DP23 szerszámparaméterek kontúrszerszámoknál<br />

Megjegyzés<br />

A táblázatban nem megadott szerszámparaméterek, mint pl. $TC_DP7,nem lesznek<br />

kiértékelve, vagyis a tartalmuknak nincs jelentősége.<br />

Szerszámparaméterszám<br />

Jelentés Dn vágóélek Megjegyzés<br />

(DP)<br />

$TC_DP1 Szerszámtípus 400 ... 599<br />

$TC_DP2<br />

vágóélhelyzet<br />

geometria<br />

hosszkorrekció<br />

$TC_DP3 hossz 1<br />

$TC_DP4 hossz 2<br />

$TC_DP5 hossz 3<br />

geometria<br />

sugár<br />

$TC_DP6<br />

sugár<br />

geometria<br />

határszög<br />

$TC_DP10<br />

minimális határszög<br />

$TC_DP11<br />

maximális határszög<br />

kopás<br />

hossz-és sugárkorrekció<br />

$TC_DP12<br />

hossz 1 kopás<br />

$TC_DP13<br />

hossz 2 kopás<br />

$TC_DP14<br />

hossz 3 kopás<br />

$TC_DP15<br />

sugár kopás<br />

kopás<br />

határszög<br />

$TC_DP19<br />

kopás min. határszög<br />

$TC_DP20<br />

kopás max. határszög<br />

alapméret/adapter hosszkorrekciók<br />

$TC_DP21 hossz 1<br />

$TC_DP22 hossz 2<br />

$TC_DP23 hossz 3<br />

Alapérték és kopásérték<br />

Az eredő érték az alapérték és a kopásérték összege (pl. $TC_DP6 + $TC_DP15 a sugárra).<br />

Az első vágóél szerszámhosszához ezen kívül még hozzá lesz adva a bázisméret<br />

($TC_DP21 – $TC_DP23). Ezen túlmenően a szerszámhosszakra hat minden más érték,<br />

amelyek egy szokásos szerszámnál a hatásos szerszámhosszakat befolyásolhatják (adapter,<br />

tájolható szerszámtartó, beállítási adatok).<br />

Határszög 1 és 2<br />

A határszög 1 ill. 2 a vágóél középpontjából a vágóél vonatkoztatási pontjába mutató vektorra<br />

vonatkoznak és az órajárás irányába és értendők.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 391


Szerszámkorrekciók<br />

7.2 Additív korrekciók<br />

7.2 Additív korrekciók<br />

7.2.1 Additív korrekciókat kiválasztani (DL)<br />

Funkció<br />

Az additív korrekciók a megmunkálás során programozható folyamat-korrekciók. Ezek egy<br />

vágóél geometriai adataira vonatkoznak és ezzel a szerszám-vágóél adatok részei.<br />

Egy additív korrekció adatai egy DL-számmal lesznek felhívva (DL: Location dependent; a<br />

mindenkori használat helyére vonatkozó korrekciók) és a kezelőfelületen lesznek beadva.<br />

Alkalmazás<br />

Az additív korrekciókkal a használat helyétől függő mérési hiba kiegyenlíthető.<br />

Szintaxis<br />

DL=<br />

Jelentés<br />

DL<br />

<br />

utasítás az additív korrekció aktiválására<br />

A paraméterrel lesz megadva az aktiválandó szerszámkorrekciós<br />

adatkészlet megadva..<br />

Megjegyzés<br />

Az additív korrekciók számának megadása és aktiválása gépadatokkal történik (→ gépgyártó<br />

tájékoztatásait figyelembe venni!)<br />

Munka-előkészítés<br />

392 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.2 Additív korrekciók<br />

Példa<br />

Ugyanaz a vágóélet két tartóhelyre használják:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

N110 T7 D7<br />

N120 G0 X10 Z1<br />

N130 G1 Z-6<br />

N140 G0 DL=2 Z-14<br />

N150 G1 Z-21<br />

N160 G0 X200 Z200<br />

...<br />

Kommentár<br />

; A revolver a 7-es helyre lesz pozícionálva. D7 és DL=1<br />

aktiválva lesz és a következő mondatban ki lesz<br />

egyenlítve<br />

; A D7-hez additív a DL=2 aktiválva lesz és a következő<br />

mondatban ki lesz egyenlítve.<br />

; szerszámcserepontra menni<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 393


Szerszámkorrekciók<br />

7.2 Additív korrekciók<br />

7.2.2 Kopási és beállítási érték megadása ($TC_SCPxy[t,d], $TC_ECPxy[t,d])<br />

Funkció<br />

A kopási és beállítási értékeket rendszerváltozókkal lehet olvasni és írni. Ennek a logikája a<br />

szerszámok és vágóélek megfelelő rendszerváltozóinak logikájához illeszkedik.<br />

Rendszerváltozók<br />

Rendszerváltozó<br />

$TC_SCPxy[,]<br />

$TC_ECPxy[,]<br />

: szerszám T-száma<br />

: szerszám vágóél D-száma<br />

Jelentés<br />

kopásértékek, amelyek az xy-nal a mindenkori geometria<br />

paraméterekhez vannak rendelve, ahol az x a kopásérték száma és<br />

az y a vonatkoztatás a geometria paraméterre<br />

beállítási értékek, amelyek az xy-nal a mindenkori geometria<br />

paraméterekhez vannak rendelve, ahol az x a beállítási érték száma<br />

és az y a vonatkoztatás a geometria paraméterre<br />

Megjegyzés<br />

A megadott kopási és beállítási értékek hozzá lesznek adva a geometria paraméterekhez és<br />

az egyéb korrekció-paraméterekhez (D-szám)<br />

Példa<br />

A hossz 1 kopásértéke a szerszám vágóélére 1.0 értékre lesz megadva.<br />

Paraméter: $TC_DP3 (hossz1, esztergaszerszámoknál)<br />

kopásértékek: $TC_SCP13 ... $TC_SCP63<br />

beállítási értékek: $TC_ECP13 ... $TC_ECP63<br />

$TC_SCP43 [,] = 1.0<br />

Munka-előkészítés<br />

394 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.2 Additív korrekciók<br />

7.2.3 Additív korrekciókat törölni (DELDL)<br />

Funkció<br />

A DELDL utasítással lehet egy szerszám vágóéléhez az additív korrekciókat törölni (tároló<br />

felszabadítása). Ennek során törölve lesznek a megadott kopásértékek és beállítási értékek is.<br />

Szintaxis<br />

DELDL[,]<br />

DELDL[]<br />

DELDL<br />

=DELDL[,]<br />

Jelentés<br />

DELDL<br />

<br />

<br />

DELDL[,]<br />

DELDL[]<br />

DELDL<br />

<br />

utasítás az additív korrekciók törléséhez<br />

szerszám T-száma<br />

szerszám vágóél D-száma<br />

A szerszám vágóélének az összes additív korrekciója törölve<br />

lesz.<br />

A szerszám összes vágóélének az összes additív korrekciója<br />

törölve lesz.<br />

A TO egység összes szerszáma összes vágóélének az összes additív<br />

korrekciója törölve lesz.<br />

törlés állapot<br />

érték: jelentés:<br />

0 A törlés sikeresen végre lett hajtva.<br />

- A törlés nem lett végrehajtva (ha a paraméterezés pontosan<br />

egy vágóélet jelöl), vagy a törlés nem volt teljes (ha a<br />

paraméterezés több vágóélet jelöl).<br />

Megjegyzés<br />

Az aktív szerszám kopási és beállítási értékeit nem lehetett törölni (a D ill. a szerszámadatok<br />

törlési viselkedésével azonos viselkedés).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 395


Szerszámkorrekciók<br />

7.3 Szerszámkorrekció - különleges kezelés<br />

7.3 Szerszámkorrekció - különleges kezelés<br />

Funkció<br />

Az SD42900 - SD42960 beállítási adatokkal a szerszámhossz és kopás előjelének<br />

kiértékelése vezérelhető.<br />

Ez ugyanígy érvényes a kopás-összetevők viselkedésére a geometriatengelyek tükrözésénél<br />

vagy a megmunkálási sík változtatásánál és a hőmérséklet-kompenzációra is a<br />

szerszámirányban.<br />

Kopásértékek<br />

Ha a továbbiakban a kopásértékekre hivatkozunk, akkor ezalatt mindig a tulajdonképpeni<br />

kopásértékek ($TC_DP12 - $TC_DP20) összegét és a kopásértékekből ($SCPX3 -<br />

$SCPX11) valamint a beállítási értékekből ($ECPX3 - $ECPX11) képzett összegkorrekciót<br />

kell érteni.<br />

Az összegkorrekciókhoz közelebbi található:<br />

Irodalom:<br />

Szerszámkezelés működési kézikönyv<br />

Beállítási-adatok<br />

Beállítási adat<br />

SD42900 $SC_MIRROR_TOOL_LENGTH<br />

SD42910 $SC_MIRROR_TOOL_WEAR<br />

SD42920 $SC_WEAR_SIGN_CUTPOS<br />

SD42930 $SC_WEAR_SIGN<br />

SD42935 $SC_WEAR_TRANSFORM<br />

SD42940 $SC_TOOL_LENGTH_CONST<br />

SD42950 $SC_TOOL_LENGTH_TYPE<br />

SD42960 $SC_TOOL_TEMP_COMP<br />

Jelentés<br />

szerszámhossz-összetevők és az alapméretek<br />

összetevőinek tükrözése<br />

szerszámhossz-összetevők kopásértékeinek<br />

tükrözése<br />

kopásösszetevők előjel-kiértékelése a<br />

vágóélhelyzettől függően<br />

kopásértékek előjeleit megfordítja<br />

kopásértékek transzformációja<br />

szerszámhossz-összetevők hozzárendelése a<br />

geometria-tengelyekhez<br />

szerszámhossz-összetevők hozzárendelése a<br />

szerszámtípustól függetlenül<br />

hőmérséklet-kompenzációs érték<br />

szerszámirányban szerszámtájolásnál is<br />

hatásos<br />

Irodalom<br />

Alap funkciók működési kézikönyv; Szerszámkorrekciók (W1)<br />

Munka-előkészítés<br />

396 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.3 Szerszámkorrekció - különleges kezelés<br />

További információk<br />

A megváltoztatott beállítási adatok hatásossá válása<br />

A szerszámösszetevők újraértékelése a leírt beállítási adatok változtatásakor csak akkor lesz<br />

hatásos, ha a következő alkalommal egy szerszám-vágóél kerül kiválasztásra. Ha egy<br />

szerszám már aktív, és e szerszám adataink az értékelése megváltozva kell hatásos legyen,<br />

akkor ezt a szerszámot újra ki kell választani.<br />

Ugyanez érvényes arra az esetre, amikor a keletkező szerszámhossz változik, mivel egy<br />

tengely tükrözési távolsága előzőleg megváltozott. A tükrözési utasítás után a szerszámot<br />

újra ki kell választani, hogy a megváltozott szerszámhossz-összetevők hatásosak legyenek.<br />

Tájolható szerszámtartó és új beállítási adatok<br />

Az SD 42900 - SD 42940 beállítási adatok nem hatnak egy esetlegesen aktív orientálható<br />

szerszámtartó összetevőire. Egy szerszám azonban mindig a teljes eredő hosszával<br />

(szerszámhossz + kopás +alapméret) kerül beszámításra a tájolható szerszámtartónál. Az<br />

eredő össz-hossz kiszámolásánál minden változás figyelembe lesz véve, amelyet a beállítási<br />

adatok idéztek elő; vagyis a tájolható szerszámtartó vektorai függetlenek a megmunkálási<br />

síktól.<br />

Megjegyzés<br />

Tájolható szerszámtartó alkalmazásánál gyakran ésszerű az összes szerszámot egy nem<br />

tükrözött alaprendszerré definiálni, még azokat is, amelyek csak a tükrözési<br />

megmunkálásnál kerülnek felhasználásra. Tükrözött tengelyekkel történő megmunkálásnál a<br />

szerszámtartó úgy fog fordulni, hogy a szerszám valós helyzete helyesen legyen leírva.<br />

Minden szerszámhossz-összetevő ezután automatikusan a helyes irányban hat, úgy hogy az<br />

egyes összetevők kiértékelésének vezérlése a beállítási adatok által az egyes tengelyek<br />

tükrözési távolságától függően feleslegessé válik.<br />

További alkalmazási lehetőségek<br />

A tájolható szerszámtartó funkció alkalmazása akkor is ésszerű lehet, ha a gépen nincs fizikai<br />

lehetőség a szerszámok elforgatására, a szerszámok viszont különböző tájolásokkal vannak<br />

szilárdan szerelve. A szerszám-beméretezést ezután egységesen végre lehet hajtani egy<br />

alaptájolásban, és a megmunkálás számára releváns méretek egy virtuális szerszámtartó<br />

forgásai által adódnak.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 397


Szerszámkorrekciók<br />

7.3 Szerszámkorrekció - különleges kezelés<br />

7.3.1 Szerszámhosszak tükrözése<br />

Funkció<br />

Az SD 42900 $SC_MIRROR_TOOL_LENGTH és SD 42910 $SC_MIRROR_TOOL_WEAR<br />

nem egyenlő nulla értékeinél szerszámhossz-összetevők és alapméretek összetevői<br />

kopásértékekkel a hozzájuk tartozó tengelyekre tükrözhetők.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

SD42900 $SC_MIRROR_TOOL_LENGTH<br />

Beállítási adat nem egyenlő nullával:<br />

A szerszámhossz-összetevők ($TC_DP3, $TC_DP4 és $TC_DP5) és az alapméretek<br />

összetevői ($TC_DP21, $TC_DP22 és $TC_DP23), amelyeknek az ide tartozó tengelyei<br />

tükrözésre kerülnek, az előjel megfordítással szintén tükrözve lesznek.<br />

A kopásértékek ezzel együtt nem kerülnek tükrözésre. Ha ezeket szintén tükrözni kell, akkor<br />

az SD42910 $SC_MIRROR_TOOL_WEAR beállítási adatot kell alkalmazni.<br />

SD42910 $SC_MIRROR_TOOL_WEAR<br />

Beállítási adat nem egyenlő nullával:<br />

Azoknak a szerszámhossz-összetevőknek a kopásértékei, amelyeknek az ide tartozó<br />

tengelyei már tükrözve vannak, az előjel megfordítással által szintén tükrözésre kerülnek.<br />

Munka-előkészítés<br />

398 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.3 Szerszámkorrekció - különleges kezelés<br />

7.3.2 Kopás előjel értékelés<br />

Funkció<br />

A SD 42920 $SC_WEAR_SIGN_CUTPOS és SD $SC_42930 WEAR_SIGN beállítási adatok<br />

nem egyenlő nulla értékeivel lehetséges a kopási komponensek előjel-kiértékelésének<br />

invertálása.<br />

SD42920 $SC_WEAR_SIGN_CUTPOS<br />

Beállítási adat nem egyenlő nullával:<br />

Releváns vágóélhelyzetű szerszámoknál (eszterga- és köszörűszerszámok, szerszámtípusok<br />

400) a kopás-összetevők előjel-értékelése a megmunkálási síkban a vágóélhelyzettől függ. A<br />

releváns vágóélhelyzet nélküli szerszámtípusoknál ennek a beállítási adatnak nincs<br />

jelentősége.<br />

Az alábbi táblázatban a méreteket egy olyan X-szel jelöljük, amelynek az előjele SD 42920<br />

(nem egyenlő 0-val) által megfordításra kerül:<br />

vágóélhelyzet hossz 1 hossz 2<br />

1<br />

2 X<br />

3 X X<br />

4 X<br />

5<br />

6<br />

7 X<br />

8 X<br />

9<br />

Megjegyzés<br />

Az SD42920 és SD42910 általi előjel-értékelések egymástól függetlenek. Ha pl. egy<br />

méretadat előjele mindkét beállítási adat által megváltoztatásra kerül, akkor az így kapott<br />

előjel változatlan marad.<br />

SD42930 $SC_WEAR_SIGN<br />

Beállítási adat nem egyenlő nullával:<br />

Minden kopásméret előjele megfordításra kerül. Ez ugyanúgy hat a szerszámhosszra, mint az<br />

egyéb méretekre, pl. szerszámsugár, kerekítési sugár stb.<br />

Ha egy pozitív kopásméret kerül beadásra, akkor a szerszám "rövidebb" és "keskenyebb"<br />

lesz, lásd a "Szerszámkorrekciók, Különleges eljárások, Megváltozott beállítási adatok<br />

hatásossá válása".<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 399


Szerszámkorrekciók<br />

7.3 Szerszámkorrekció - különleges kezelés<br />

7.3.3 Aktív megmunkálás koordinátarendszere (TOWSTD, TOWMCS, TOWWCS,<br />

TOWBCS, TOWTCS, TOWKCS)<br />

Funkció<br />

A gép kinematikájától vagy egy tájolható szerszámtartó meglététől függően az ezen<br />

koordinátarendszerek egyikében mért kopásértékek átvezetve ill. transzformálva lesznek egy<br />

alkalmas koordinátarendszerbe.<br />

Az aktív megmunkálás koordinátarendszerei<br />

A következő koordinátarendszerekből származhatnak a szerszámhossz offsetjei, amelyek a<br />

kopás szerszámhossz-összetevőként az 56-os csoport megfelelő G-kódjával az aktív<br />

szerszámnál beszámításra kerülnek.<br />

● Gép-koordinátarendszer (GKR)<br />

● Alap-koordinátarendszer (AKR)<br />

● Munkadarab-koordinátarendszer (MKR)<br />

● Szerszám-koordinátarendszer (SKR)<br />

● Kinematikai transzformáció szerszám-koordinátarendszere (KKR)<br />

Szintaxis<br />

TOWSTD<br />

TOWMCS<br />

TOWWCS<br />

TOWBCS<br />

TOWTCS<br />

TOWKCS<br />

Jelentés<br />

TOWSTD<br />

TOWMCS<br />

TOWWCS<br />

TOWBCS<br />

TOWTCS<br />

TOWKCS<br />

szerszámhossz kopásérték korrekció alaphelyzet-érték<br />

szerszámhossz korrekció GKR-ben<br />

szerszámhossz korrekció MKR-ben<br />

szerszámhossz korrekció AKR-ben<br />

szerszámhossz korrekció szerszámtartó vonatkoztatási ponton (tájolható<br />

szerszámtartó)<br />

szerszámfej szerszámhossz korrekció (kinematikai transzformáció)<br />

Munka-előkészítés<br />

400 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.3 Szerszámkorrekció - különleges kezelés<br />

További információk<br />

Megkülönböztető jellemzők<br />

A következő táblázatban találhatók a legfontosabb megkülönböztető jellemzők:<br />

G-kód kopásérték aktív tájolható szerszámtartó<br />

TOWSTD alaphelyzet-érték, szerszámhossz kopásértékekre hat a forgatás<br />

TOWMCS<br />

TOWWCS<br />

TOWBCS<br />

TOWTCS<br />

kopásérték GKR-ben TOWMCS azonos<br />

TOWSTD-vel, ha nincs aktív tájolható<br />

szerszámtartó<br />

kopásérték átszámítása MKR-ből<br />

GKR-be<br />

kopásérték átszámítása AKR-ből<br />

GKR-be<br />

kopásérték átszámítása szerszámkoordinátarendszerből<br />

GKR-be<br />

csak az eredő szerszámhossz<br />

vektora forog a kopás figyelembe<br />

vétele nélkül<br />

szerszámvektor számítása a kopás<br />

figyelembe vétele nélkül, mint<br />

TOWMCS-nél<br />

szerszámvektor számítása a kopás<br />

figyelembe vétele nélkül, mint<br />

TOWMCS-nél<br />

szerszámvektor számítása a kopás<br />

figyelembe vétele nélkül, mint<br />

TOWMCS-nél<br />

TOWWCS, TOWBCS, TOWTCS: A kopásvektor hozzá lesz adva a szerszámvektorhoz.<br />

Lineáris transzformáció<br />

A szerszámhossz GKR-ben csak akkor definiálható értelmesen, ha a GKR az AKR-ből egy<br />

lineáris transzformációval származik.<br />

Nem lineáris transzformáció<br />

Ha pl. TRANSMIT-tal egy nem lineáris transzformáció aktív, akkor a GKR megadásánál<br />

kívánt koordináta-rendszerként automatikusan az AKR lesz alkalmazva<br />

Nincs kinematikai transzformáció és nincs tájolható szerszámtartó<br />

Ha nincs kinematikai transzformáció és nincs tájolható szerszámtartó, akkor a MKR-ig mind a<br />

négy további koordinátarendszer egybe esik. Ezzel csak az MKR különbözik a többitől. Mivel<br />

kizárólag a szerszámhosszakat kell kiértékelni, a koordinátarendszerek közötti eltolásoknak<br />

nincs jelentősége.<br />

Irodalom:<br />

További információk találhatók a szerszámkorrekcióhoz:<br />

Alap funkciók működési kézikönyv; Szerszámkorrekciók (W1)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 401


Szerszámkorrekciók<br />

7.3 Szerszámkorrekció - különleges kezelés<br />

Kopásértékek beszámítása<br />

A SD42935 $SC_WEAR_TRANSFORM beállítási adat megadja, hogy a következő három<br />

kopási komponense<br />

● kopás<br />

● összegkorrekciók finom<br />

● összegkorrekciók durva<br />

egy forgatásnak egy adapter-transzformáció vagy egy tájolható szerszámtartó által legyen<br />

alávetve, ha a következő G-kódok egyike aktív.<br />

● TOWSTD alaphelyzet<br />

szerszámhossz korrekciókhoz<br />

● TOWMCS kopásértékek<br />

gép-koordinátarendszerben (GKR)<br />

● TOWWCS kopásértékek<br />

munkadarab-koordinátarendszerben (MKR)<br />

● TOWBCS kopásértékek (AKR)<br />

alap-koordinátarendszerben (AKR)<br />

● TOWTCS kopásértékek szerszám koordinátarendszerben a szerszámtartó felvevőn (T<br />

szerszámtartó vonatkoztatás)<br />

● TOWKCS kopásértékek szerszámfej koordinátarendszerében kinetikus transzformációnál<br />

Megjegyzés<br />

Az egyes kopás-összetevők értékelését (hozzárendelés a geometria-tengelyekhez,<br />

előjel-kiértékelés) befolyásolják:<br />

aktív sík<br />

adapter-transzformáció<br />

következő beállítási adatok:<br />

– SD42910 $SC_MIRROW_TOOL_WEAR<br />

– SD42920 $SC_WEAR_SIGN_CUTPOS<br />

– SD42930 $SC_WEAR_SIGN<br />

– SD42940 $SC_TOOL_LENGTH_CONST<br />

– SD42950 $SC_TOOL_LENGTH_TYPE<br />

Munka-előkészítés<br />

402 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.3 Szerszámkorrekció - különleges kezelés<br />

7.3.4 Szerszámhossz és síkcsere<br />

Funkció<br />

Az SD42940 $SC_TOOL_LENGTH_CONST beállítási adat nem egyenlő nullával a<br />

szerszámhossz-összetevőket, mint hossz, kopás és alapméret, lehet a geometriatengelyekhez<br />

az eszterga- és köszörűszerszámokra egy síkcserénél hozzárendelni.<br />

SD42940 $SC_TOOL_LENGTH_CONST<br />

Beállítási adat nem egyenlő nullával:<br />

A szerszámhossz-összetevők (hossz, kopás és alapméret) hozzárendelése a geometriatengelyekhez<br />

nem változik a megmunkálási sík (G17 - G19) változtatásakor.<br />

Az alábbi táblázat a szerszámhossz-összetevők geometriatengelyekhez történő<br />

hozzárendelését mutatja eszterga- és köszörűszerszámoknál (szerszámtípus 400 ... 599):<br />

tartalom hossz 1 hossz 2 hossz 3<br />

17 Y X Z<br />

*) X Z Y<br />

19 Z Y X<br />

-17 X Y Z<br />

-18 Z X Y<br />

-19 Y Z X<br />

*)<br />

Minden 0-val nem egyenlő érték, amelyik nem azonos a hat felsorolt érték valamelyikével, mint az<br />

érték 18 kerül kiértékelésre.<br />

Az alábbi táblázat a szerszámhossz-összetevők geometriatengelyekhez történő<br />

hozzárendelését mutatja minden más szerszámnál (szerszámtípus 599):<br />

megmunkálási sík hossz 1 hossz 2 hossz 3<br />

*) Z Y X<br />

18 Y X Z<br />

19 X Z Y<br />

-17 Z X Y<br />

-18 Y Z X<br />

-19 X Y Z<br />

*)<br />

Minden 0-val nem egyenlő érték, amelyik nem azonos a hat felsorolt érték valamelyikével, mint az<br />

érték 17 kerül kiértékelésre.<br />

Megjegyzés<br />

A táblázatokban történő ábrázolásnál abból kell kiindulni, hogy a geometriatengelyeket 3-ig<br />

X, Y, Z-vel jelöljük. Egy korrekció egy tengelyhez történő hozzárendeléséhez nem a<br />

tengelyjelölő, hanem a tengelyek sorrendje mértékadó.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 403


Szerszámkorrekciók<br />

7.4 Online-szerszámkorrekció (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)<br />

7.4 Online-szerszámkorrekció (PUTFTOCF, FCTDEF, PUTFTOC,<br />

FTOCON, FTOCOF)<br />

Funkció<br />

Az "Online-szerszámkorrekció" funkcióval a köszörűszerszámoknál a megmunkálásból adódó<br />

szerszámhossz-korrekció azonnal beszámításra kerül.<br />

Egy alkalmazási példa a CD-lehúzás, ahol a köszörűtárcsa a megmunkálással pár<strong>hu</strong>zamosan<br />

van lehúzva:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A szerszámhossz-korrekció a megmunkáló-csatornából vagy egy pár<strong>hu</strong>zamos csatornából<br />

(lehúzó-csatorna) lesz változtatva.<br />

Az online-szerszámkorrekció írására a lehúzási eljárás kívánt időpontja szerint különböző<br />

funkciók lesznek használva:<br />

● folyamatos írás mondatonként (PUTFTOCF)<br />

A PUTFTOCF-fal a lehúzási eljárás a megmunkálással egyidőben történik.<br />

A szerszámkorrekciót a megmunkálási csatornán folyamatosan egy 1., 2. vagy 3. fokú<br />

polinom-funkció változtatja, amit előbb FCTDEF-fel kell definiálni.<br />

A PUTFTOCF mindig mondatonként hat, vagyis mindig a következő mozgási mondatban.<br />

● folyamatos írás modálisan: ID=1 DO FTOC (lásd "Online szerszámkorrekció (FTOC)<br />

(Oldal 593)")<br />

● diszkrét írás (PUTFTOC)<br />

A PUTFTOC-vel a lehúzási eljárás a megmunkálással egy pár<strong>hu</strong>zamos csatornából nem<br />

egyidőben történik. A PUTFTOC-vel megadott korrekcióérték a célcsatornában azonnal<br />

hatásos lesz.<br />

Megjegyzés<br />

Az online-szerszámkorrekciót csak köszörű-szerszámoknál használják<br />

Munka-előkészítés<br />

404 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.4 Online-szerszámkorrekció (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)<br />

Szintaxis<br />

online-szerszámkorrekciót a célcsatornában be-/kikapcsolni:<br />

FTOCON<br />

...<br />

FTOCOF<br />

online-szerszámkorrekciót írni:<br />

● folyamatosan mondatonként:<br />

FCTDEF(,,,,,,)<br />

PUTFTOCF(,,,,)<br />

...<br />

● diszkrét:<br />

PUTFTOC(,,,)<br />

...<br />

Jelentés<br />

FTOCON:<br />

FTOCOF:<br />

FCTDEF:<br />

online-szerszámkorrekció bekapcsolása<br />

FTOCON-t abban a csatornában kell programozni, amelyben az onlineszerszámkorrekció<br />

hatásos kell legyen<br />

online-szerszámkorrekciót megszakítani<br />

A FTOCOF-fal a korrekció nem lesz a továbbiakban megtéve, a vágóél-specifikus<br />

korrekcióadatokban azonban a teljes PUTFTOC/PUTFTOCF-fal írt összeg korrigálva<br />

lesz.<br />

Utalás:<br />

Az online-szerszámkorrekció végleges deaktiválásához a FTOCOF után még a<br />

szerszám ki-/leválasztása (T...) szükséges.<br />

Az FCTDEF-fel a polinom funkció lesz a PUTFTOCF-ra definiálva.<br />

paraméter:<br />

:<br />

polinom függvény száma<br />

típus: INT<br />

:<br />

alsó határérték<br />

típus: REAL<br />

:<br />

felső határérték<br />

típus: REAL<br />

... : polinom funkció együtthatói<br />

típus: REAL<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 405


Szerszámkorrekciók<br />

7.4 Online-szerszámkorrekció (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)<br />

PUTFTOCF:<br />

PUTFTOC:<br />

"online-szerszámkorrekció folyamatos írása mondatonként" funkció felhívása<br />

paraméter:<br />

:<br />

polinom függvény száma<br />

típus: INT<br />

Utalás:<br />

Meg kell egyezzen az FCTDEF megadással<br />

: változó vonatkozási érték, amiből a korrekció<br />

levezetésre kerül (pl. megváltoztató valósérték)<br />

típus: VAR REAL<br />

: kopási paraméter száma (hossz 1, 2 vagy 3), amihez a<br />

korrekcióérték hozzáadódik<br />

típus: INT<br />

:<br />

csatorna száma, amelyben az onlineszerszámkorrekció<br />

hatásos<br />

típus: INT<br />

Utalás:<br />

Megadás csak akkor szükséges, ha a korrekció nem a<br />

saját csatornában kell legyen hatásos.<br />

:<br />

orsó száma, amelyre az online-szerszámkorrekció hat<br />

típus: INT<br />

Utalás:<br />

Megadás csak akkor szükséges, ha az aktív,<br />

használatban levő szerszám helyett egy nem aktív<br />

köszörű-tárcsát kell korrigálni..<br />

"online-szerszámkorrekció diszkrét írása" funkció felhívása<br />

paraméter:<br />

: korrekcióérték, amit a kopásparaméterhez kell adni<br />

típus: REAL<br />

:<br />

:<br />

:<br />

lásd PUTFTOCF<br />

csatorna száma, amelyben az onlineszerszámkorrekció<br />

hatásos<br />

típus: INT<br />

lásd PUTFTOCF<br />

Munka-előkészítés<br />

406 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.4 Online-szerszámkorrekció (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)<br />

Példa<br />

Sík-köszörűgép következőkkel:<br />

● Y: fogásvételi tengely a köszörűtárcsára<br />

● V: fogásvételi tengely a lehúzó-hengerre<br />

● Megmunkálási csatorna: csatorna 1 az X, Z, Y tengelyekkel<br />

● Lehúzási csatorna: csatorna 2 a V tengellyel<br />

A köszörülő mozgás megkezdése után X100-nál a köszörűtárcsát 0.05 méretben le kell húzni.<br />

A lehúzási méret "online-szerszámkorrekció folytonos írással" köszörűszerszámnál hatásos<br />

kell legyen.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Megmunkáló-program a csatorna 1-ben:<br />

Programkód<br />

…<br />

N110 G1 G18 F10 G90<br />

N120 T1 D1<br />

N130 S100 M3 X100<br />

N140 INIT(2,"ABRICHT","S")<br />

N150 START(2)<br />

N160 X200<br />

N170 FTOCON<br />

N… G1 X100<br />

N… M30<br />

Kommentár<br />

; alaphelyzet<br />

; aktuális szerszám kiválasztása<br />

; orsó be, mozgás a kiinduló pozícióba<br />

; lehúzó-program kiválasztás a csatorna 2-ben<br />

; lehúzó-program indítása a csatorna 2-ben<br />

; célpozícióra menet<br />

; online-szerszámkorrekció bekapcsolása<br />

; további megmunkálás<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 407


Szerszámkorrekciók<br />

7.4 Online-szerszámkorrekció (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)<br />

Lehúzó-program a csatorna 2-ben:<br />

Programkód<br />

…<br />

N40 FCTDEF(1,–1000,1000,–$AA_IW[V],1)<br />

N50 PUTFTOCF(1,$AA_IW[V],3,1)<br />

N60 V–0.05 G1 F0.01 G91<br />

…<br />

N… M30<br />

Kommentár<br />

; funkció definiálás: egyenes<br />

meredekség=1-gyel<br />

; online-szerszámkorrekció írás<br />

folytonosan: V-tengely mozgásából<br />

levezetve az aktuális köszörűtárcsa<br />

hossz 3-a a csatorna 1-ben<br />

korrigálva lesz<br />

; fogásvétel a lehúzáshoz, csak ebben<br />

a mondatban hatásos a PUTFTOCF<br />

További információk<br />

Általánosan az online-szerszámkorrekcióról<br />

A folytonos írásnál (minden IPO-ütem) a kiértékelési funkció bekapcsolása után minden<br />

változás beszámításra kerül a kopás-tárolóba.(a parancsugrások elkerülése céljából).<br />

Minden esetben érvényes: Az online-szerszámkorrekció hatásos lehet minden csatornában<br />

és minden orsóra és a hossz 1, 2 vagy 3 kopás-paraméterekre.<br />

A hosszak hozzárendelése a geometria-tengelyekhez az aktuális sík szerint történik.<br />

Az orsó hozzárendelése a szerszámhoz a szerszámadatokkal történik a GWPSON ill. TMON<br />

esetén, ha nem az aktív köszörűtárcsáról van szó<br />

Korrigálva mindig az aktuális tárcsaoldal kopási paramétere, ill. a nem aktív szerszámok bal<br />

tárcsaoldala van.<br />

Megjegyzés<br />

Azonos korrekciónál több tárcsaoldalra láncolási előírással kell arról gondoskodni, hogy az<br />

értékek automatikusan a második tárcsaoldalra átvételre kerüljenek.<br />

Ha egy megmunkálási csatornára online-korrekciók vannak megadva, akkor ebben a<br />

csatornában az aktuális szerszám kopási értékeit nem szabad a megmunkáló-programból<br />

vagy kezeléssel változtatni<br />

Az online-szerszámkorrekció az állandó tárcsakerületi-sebességnél (SUG) és<br />

szerszámfelügyeletnél (TMON) figyelembevételre kerül.<br />

Munka-előkészítés<br />

408 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

7.5.1 3D-s szerszámkorrekciók aktiválása (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF,<br />

ISD)<br />

Funkció<br />

Hengeres szerszámok szerszámsugár-korrekciójánál a változtatható szerszámtájolás<br />

figyelembe lesz véve.<br />

A 3D-s szerszámsugár-korrekció kiválasztására ugyanazok a program-utasítások<br />

érvényesek, mint a 2D-s szerszámsugár-korrekcióra. A G41/G42-nél a korrekció a<br />

mozgásirányban balra/jobbra van megadva. A rámeneteli viselkedés mindig a NORM. A 3D-s<br />

szerszámsugár-korrekció csak kiválasztott 5-tengelyes-transzformációnál hatásos.<br />

A 3D-s szerszámsugár-korrekciót 5D-s korrekciónak is nevezik, mert ebben az esetben a<br />

szerszám térbeli helyzetének a szabadságfoka 5.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Különbség a 2 1/2D-s és 3D-s szerszámsugár-korrekciók között<br />

A 3D-s szerszámsugár-korrekciónál a szerszám-tájolás változtatható. A 2 1/2D-s<br />

szerszámsugár-korrekciónál csak egy szerszám állandó tájolással van beszámítva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 409


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

Szintaxis<br />

CUT3DC<br />

CUT3DFS<br />

CUT3DFF<br />

CUT3DF<br />

ISD=<br />

Jelentés<br />

CUT3DC<br />

CUT3DFS<br />

CUT3DFF<br />

CUT3DF<br />

G40 X... Y... Z...<br />

ISD<br />

3D-sugárkorrekció aktiválása a kerületmarásra<br />

D-szerszámkorrekció homlokmarásra állandó tájolással A<br />

szerszámtájolást a G17 - G19 határozza meg és ezt framek<br />

nem befolyásolják.<br />

D-szerszámkorrekció homlokmarásra állandó tájolással A<br />

szerszámtájolást a G17 - G19 határozza meg és adott<br />

esetben egy frame által elforgatott irány.<br />

D-szerszámkorrekció homlokmarásra tájolás-változással<br />

(csak aktív 5-tengelyes-transzformációval).<br />

kikapcsoláshoz: G0/G1 egyenes-mondat geometriatengelyekkel<br />

bemerülési mélység<br />

Megjegyzés<br />

Az utasítások modálisan hatásosak és ugyanabban a csoportban vannak, mint a CUT2D és<br />

CUT2DF. A kikapcsolás csak a következő mozgással az aktuális síkban történik meg. g. Ez<br />

mindig érvényes a G40-re és független a CUT utasítástól.<br />

Közbenső mondatok az aktív 3D-s szerszámsugár-korrekciónál megengedettek. A 2 1/2D-s<br />

szerszámsugár-korrekció megállapításai érvényesek.<br />

Peremfeltételek<br />

● G450/G451 és DISC<br />

A külső sarkokon mindig egy kör-mondat kerül beszúrásra. A G450/G451-nek nincs<br />

jelentősége.<br />

A DISC utasítás nincs kiértékelve.<br />

Munka-előkészítés<br />

410 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

Példa<br />

Programkód<br />

N10 A0 B0 X0 Y0 Z0 F5000<br />

N20 T1 D1<br />

N30 TRAORI(1)<br />

N40 CUT3DC<br />

N50 G42 X10 Y10<br />

N60 X60<br />

N70 …<br />

Kommentár<br />

; szerszámhívás, szerszámkorrekció érték felhívása<br />

; transzformáció kiválasztás<br />

; 3D-szerszámsugár-korrekció választás<br />

; szerszámsugár-korrekció választás<br />

7.5.2 3D-s szerszámkorrekciók: Kerüleimarás, homlokmarás<br />

Kerületimarás<br />

A kerületmarásnak az itt használt változata egy pálya megadásával (vezető vonal) és a<br />

hozzátartozó tájolással van megvalósítva. Ilyen megmunkálásnál a pályára a<br />

szerszámformának nincs hatása. Döntő csak a szerszám-beavatkozási sugara.<br />

<br />

<br />

<br />

<br />

<br />

<br />

Megjegyzés<br />

A 3D-szerszámsugár-korrekció csak a hengeres szerszámokra korlátozódik.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 411


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

Homlokmarás<br />

A 3D-marásnak ehhez a fajtájához szükséges a munkadarab-felületi 3D-pályák soronkénti<br />

leírása. A számítások szokás szerint CAM-ban kerülnek végrehajtásra a szerszámforma és a<br />

szerszámméretek figyelembevételével. A posztprocesszor a munkadarabprogramba írja - az<br />

NC-mondatok mellett - a szerszám-tájolásokat (aktív 5-tengelyes transzformációnál) és a G-<br />

kódot a kívánt 3D-szerszámkorrekcióhoz. Ezáltal a gépkezelőnek lehetősége van -az NC<br />

pályák számításához alkalmazott szerszámtól eltérően-, valamivel kisebb szerszámot<br />

használni.<br />

Példa:<br />

Az NC-mondatok 10 mm-es maróval lettek kiszámítva. Itt lehetséges a megmunkálás 9,9<br />

mm-es átmérőjű maróval is, miáltal megváltozott durvaságú profillal kell számolni.<br />

Munka-előkészítés<br />

412 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

7.5.3 3D-s szerszámkorrekciók: Szerszámformák és szerszámadatok<br />

homlokmaráshoz<br />

Maró-formák, szerszámadatok<br />

A következőkben a homlokmaráshoz lehetséges szerszámformák és a szerszámadatok<br />

határértékei vannak összeállítva. A szerszámszár formája nincs figyelembe véve. A 120-as és<br />

156-ös szerszámtípusok a hatásukban azonosak.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Ha az NC-programban egy másik típus-szám van megadva, mint a táblázatban felsoroltak, a<br />

rendszer automatikusan a 110-es szerszámtípust (hengeres süllyesztőmaró) alkalmazza. A<br />

szerszámadatok határértékeinek megsértésekor egy vészjelzés kerül kiadásra.<br />

maró-típus típus-sz. R r a<br />

hengeres süllyesztő maró 110 > 0 - -<br />

gömbfejű maró 111 > 0 > R -<br />

szármaró, szögletes fejű maró 120, 130 > 0 - -<br />

szármaró, szögletes fejű maró<br />

121, 131 > r > 0 -<br />

saroklekerekítéssel<br />

csonkakúp-maró 155 > 0 - > 0<br />

csonkakúp-maró sarok-lekerekítéssel 156 > 0 > 0 > 0<br />

kúpos süllyesztőmaró 157 > 0 - > 0<br />

R = szársugár (szerszámsugár)<br />

r = saroksugár<br />

a = szög a szerszám hossztengelye és a kúpfelület felső vége között<br />

- = nem lesz kiértékelve<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 413


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

szerszámadatok<br />

szerszám-paraméter<br />

szerszámméret geometria kopás<br />

R $TC_DP6 $TC_DP15<br />

r $TC_DP7 $TC_DP16<br />

a $TC_DP11 $TC_DP20<br />

Szerszámhossz-korrekció<br />

A hosszkorrekció vonatkoztatási pontja a szerszámcsúcs (hossztengely/felület metszéspont).<br />

3D-s szerszámkorrekció, szerszámcsere<br />

Egy új szerszámot megváltoztatott méretekkel (R, r, a) vagy más formával csak a G41 ill. G42<br />

programozásával szabad megadni (átmenet G40-ről G41-re ill. G42-re, a G41 ill. G42 új<br />

programozása). Minden más szerszámadat, pl. szerszámhosszak, e szabály szempontjából<br />

érdektelen, tehát ilyen szerszámok új G41 ill. G42 nélkül is becserélhetők.<br />

Munka-előkészítés<br />

414 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

7.5.4 3D-s szerszámkorrekciók: Korrekció a pályán, pálya-görbültség, bemerülési<br />

mélység (CUT3DC, ISD)<br />

Funkció<br />

Korrekció a pályán<br />

A homlokmarásnál azt az esetet kell nézni, ahogy az érintési pont a szerszámfelületen ugrik.<br />

Ebben a példában egy konvex felület megmunkálásánál függőlegesen álló szerszámmal.<br />

A képen ábrázolt alkalmazást határesetként kell szemlélni.<br />

<br />

Ezt a határesetet a vezérlés felügyeli, amennyiben a szerszám és a felület-normálvektor<br />

szögállásának alapján a megmunkálási pont ugrásszerű változását felismeri. Ezeken a<br />

helyeken a vezérlés egyenes-mondatokat szúr be, így a mozgás kivitelezhető lesz.<br />

Az egyenes-mondatok kiszámítására a gépadatokban meg vannak adva az oldalszögre<br />

megengedett szögtartományok. Ha a gépadatban megadott határértékek a megadott<br />

szögtartományra túllépésre kerül, a rendszer vészjelzést ad.<br />

Pálya-görbület<br />

A pálya-görbület nincs felügyelve. Itt is ajánlatos csak olyan szerszámokat alkalmazni,<br />

amelyekkel kontúrsértés nélkül lehet dolgozni.<br />

Bemerülési mélység (ISD)<br />

Az ISD bemerülési mélység csak aktív 3D-s szerszámsugár-korrekciónál lesz kiértékelve.<br />

Az ISD (Insertion Depth) programozási utasítással van egy szerszám bemerülési mélysége a<br />

kerületi marásnál programozva. Ezzel lehetséges, a megmunkálási pont helyzetét a szerszám<br />

palástfelületén változtatni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 415


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

Szintaxis<br />

3D-s szerszámkorrekció kerületi marás<br />

CUT3DC<br />

ISD=<br />

Jelentés<br />

CUT3DC<br />

ISD<br />

3D-s szerszámkorrekció aktiválása a kerületmarásra, pl. zsebmaráshoz ferde<br />

oldalfalakkal<br />

az ISD utasítás megadja a távolságot () a marócsúcs (FS) és a marósegédpont<br />

(FH) között<br />

Maró-segédpont<br />

A (maró-segédpont FH) a programozott megmunkálási pontnak a vetülete a<br />

szerszámtengelyre.<br />

<br />

<br />

<br />

Munka-előkészítés<br />

416 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

További információk<br />

Zsebmarás ferde oldalfalakkal kerületi marásnál CUT3DC-vel<br />

Ennél a 3D-s szerszámsugár-korrekciónál a marósugár eltérése kompenzálva lesz,<br />

amennyiben a ráállás a megmunkálandó felületre annak normálvektora irányából történik.<br />

Ennek során a maró homlokoldalának síkja változatlan marad, ha az ISD bemerülési mélység<br />

nem változik. Ekkor egy a normál-szerszámnál kisebb sugarú maró ekkor a zsebalját, ami a<br />

határoló felület is, nem érné el. A szerszám automatikus ráállításához a vezérlésnek ismerni<br />

kell ezt a határoló felületet, lásd "3D-s kerületmarás határoló felületekkel" fejezetet.<br />

További információk az ütközés-felügyelethez:<br />

Irodalom:<br />

Programozási kézikönyv Alapok, fejezet: "Szerszám-korrekciók"<br />

7.5.5 3D-s szerszámkorrekciók: Belső sarkok / külső sarkok és metszéspont eljárás<br />

(G450/G451)<br />

Funkció<br />

Belső sarkok / külső sarkok<br />

A belső és külső sarkok külön vannak kezelve. A belső és külső sarkok jelölése a szerszám<br />

tájolásától függ.<br />

Az tájolás változásánál egy sarkon felléphet az eset, hogy a sarok típusa a megmunkálás<br />

közben változik. Ebben az esetben a megmunkálás egy hibajelzéssel lesz megszakítva.<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 417


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

Szintaxis<br />

G450<br />

G451<br />

Jelentés<br />

G450<br />

G451<br />

átmenetkör (a szerszám megkerüli a munkadarabot egy körpályán)<br />

ekvidisztánsok metszéspontja (a szerszám a munkadarabban szabadra vág)<br />

További információk<br />

Metszéspont módszer 3D-s korrekcióra<br />

A 3D kerületi marásnál a külső sarkokon a G450/G451 G-kód kiértékelésre kerül, vagyis az<br />

offset görbék metszéspontjára lehet rámenni. A SW 4-ig a külső sarkokon mindig egy kör lett<br />

beszúrva. A rendelkezésre álló metszéspont eljárás különösen előnyös tipikus CAD-dal<br />

létrehozott 3D-s programoknál. Ezek gyakran rövid egyenes mondatokból állnak (a sima<br />

görbék közelítésére), amelyeknél a szomszéd mondatok közötti átmenetek közel<br />

érintőlegesek.<br />

A szerszámsugár-korrekciónál a kontúr külső oldalán eddig alapvetően körök lettek beszúrva<br />

a külső sarkok megkerülésére. Mivel ezek a mondatok a közel érintőleges átmeneteknél<br />

nagyon rövidek lesznek, nem kívánatos sebesség-csökkenések adódhatnak.<br />

Ezekben az esetekben a 2 ½ D-s sugárkorrekcióval azonosan a két érintett görbe<br />

meghosszabbításra kerül, és a két meghosszabbított görbe metszéspontja kerül felvételre.<br />

A metszéspont úgy kerül meghatározásra, hogy a két érintett mondat offset-görbéi<br />

meghosszabbításra kerülnek és ezek metszéspontja a szerszámtájolásra merőleges síkban a<br />

sarkon lesz meghatározva. Ha nincs ilyen metszéspont, a sarok úgy lesz kezelve, mint eddig,<br />

vagyis egy kör lesz beszúrva.<br />

További információk a metszéspont módszerhez:<br />

Irodalom:<br />

Különleges funkciók működési kézikönyv; Szerszámsugár-korrekció (W5)<br />

Munka-előkészítés<br />

418 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

7.5.6 3D-s szerszámkorrekciók: 3D-s kerületmarás határoló felületekkel<br />

3D-s kerületmarás illesztése a CAD-programok adottságaihoz<br />

A CAD-rendszerek által generált NC-programok általában a szabványszerszám középpontpályáját<br />

nagy számú rövid egyenes mondattal közelítik. A munkadarabprogramban<br />

szükségesek bizonyos illesztések, hogy a sok részkontúr így létrehozott mondatai az eredeti<br />

kontúrt lehetőleg pontosan leképezzék.<br />

A fontos információkat, amelyek az optimális korrekcióhoz szükségesek lennének, de a<br />

munkadarabprogramban már nem állnak rendelkezésre, megfelelő intézkedésekkel pótolni<br />

kell. A következőkben tipikus módszerek kerülnek bemutatásra a kritikus átmenetek<br />

kiegyenlítésére közvetlenül a munkadarabprogramban vagy a valós kontúr megállapításánál<br />

(pl. a szerszám ráállításával).<br />

Alkalmazások<br />

A tipikus alkalmazás mellett, amelynél a szabványszerszám helyett egy valós szerszám írja le<br />

a középpont-pályát, kezelhetők hengeres szerszámok is 3D-s szerszámkorrekcióval. Itt a<br />

programozott pálya a megmunkálási felület kontúrjára vonatkozik. Az itt érvényes határoló<br />

felület a szerszámtól független. A szokásos szerszámsugár-korrekciónál a teljes sugár<br />

figyelembe lesz véve a határoló felülethez a függőleges offset számításához.<br />

7.5.7 3D-s szerszámkorrekciók: Határoló felület figyelembe vétele (CUT3DCC,<br />

CUT3DCCD)<br />

Funkció<br />

3D-s kerületmarás valós szerszámokkal<br />

A 3D-s kerületmarásnál a szerszámtájolás folyamatos vagy állandó változásával gyakran<br />

szerszámközéppont-pálya lesz programozva egy definiált szabványszerszámra. Mivel a<br />

gyakorlatban gyakran nem állnak rendelkezésre a megfelelő szabványszerszámok, használni<br />

lehet a szabványszerszámtól nem túlságosan eltérő szerszámot is.<br />

A CUT3DCCD-vel egy eltérő valós szerszámra figyelembe lesz véve egy határoló felület, amelyet<br />

a programozott szabványszerszám írna le. Az NC-program a szabványos szerszám<br />

középpontpályáját írja le.<br />

A CUT3DCCD-vel a hengeres szerszámok alkalmazásánál figyelembe lesz véve egy határoló<br />

felület, amelyet a programozott szabványszerszám írna le. Az NC-program a kontúrt írja le a<br />

megmunkálási felületen.<br />

Szintaxis<br />

CUT3DCCD<br />

CUT3DCC<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 419


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

Jelentés<br />

CUT3DCCD<br />

CUT3DCC<br />

3D-s szerszámkorrekció aktiválása kerületmarásra határoló felületekkel<br />

eltérő szerszámmal a szerszámközéppont-pályán ráállás a határoló<br />

felületre<br />

3D-s szerszámkorrekció aktiválása kerületmarásra határoló felületekkel<br />

3D-s sugárkorrekcióval: kontúr a megmunkálási felületen<br />

Megjegyzés<br />

Szerszámsugár-korrekció G41, G42-vel<br />

A szerszámsugár-korrekcióhoz G41, G42-vel aktív CUT3DCCD vagy CUT3DCC-vel a "Tájolástranszformáció"<br />

opció meg kell legyen.<br />

Szabványszerszám sarok-lekerekítéssel<br />

A szabványszerszám sarok-lekerekítését a $TC_DP7 szerszámparaméter írja le. A $TC_DP16<br />

szerszámparaméterből adódik a szabványszerszám és a valós szerszám saroklekerekítésének<br />

eltérése.<br />

Példa<br />

Egy, a szabványszerszámhoz képest csökkentett sugarú tórusz-maró szerszámméretei.<br />

Szerszámtípus R = szársugár r = saroksugár<br />

szabványszerszám sarok-lekerekítéssel R = $TC_DP6 r = $TC_DP7<br />

valós szerszám sarok-lekerekítéssel: R' = $TC_DP6 + $TC_DP15 + OFFN<br />

szerszámtípus 121 és 131 tórusz-maró<br />

(szármaró)<br />

Ebben a példában a $TC_DP15 + OFFN és a $TC_DP16 is negatív.<br />

A szerszámtípus ($TC_DP1) kiértékelésre kerül.<br />

r' = $TC_DP7 + $TC_DP16<br />

Csak hengeres szárú marótípusok (hengervagy<br />

szármaró) ill. tórusz-maró (121 és 131<br />

típus) és határesetben a hengeres<br />

süllyesztőmaró (110 típus) megengedettek.<br />

Ezeknél a megengedett marótípusoknál az r saroksugár egyenlő az R<br />

szársugárral. Az összes többi megengedett szerszámtípus hengeres<br />

maróként lesz értelmezve és egy esetlegesen megadott sarok-lekerekítési<br />

méret nem lesz kiértékelve.<br />

Megengedett az összes szerszámtípus a 1 -<br />

399 számokkal a 111 és 155...157 számok<br />

kivételével.<br />

Munka-előkészítés<br />

420 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

További információk<br />

Szerszámközéppont-pálya ráállással a határoló felületig CUT3DCCD<br />

Ha a megfelelő szabványszerszámhoz képest kisebb sugarú szerszám lesz használva, akkor<br />

a hosszirányban ráállított maró addig lesz tovább vezetve, amíg megérinti a zseb alját. Ezzel<br />

a megmunkálási felület és a határoló felület által képzett sarok annyira ki lesz forgácsolva,<br />

amennyire azt a szerszám engedi. Ez egy homlokmarás és kerületmarás kevert<br />

megmunkálási mód. A csökkentett sugarú szerszámhoz hasonlóan egy nagyobb sugarú<br />

szerszámnál az ellenkező irányban megfelelő visszaállítás történik.<br />

<br />

<br />

<br />

<br />

<br />

<br />

A G-kód csoport 22 összes más szerszámkorrekciójával ellentétben a CUT3DCCD-re megadott<br />

$TC_DP6 szerszámparaméternek nincs jelentősége a szerszámsugár számára és nem<br />

befolyásolja az eredő korrekciót.<br />

A korrekció-offset a következők összegéből adódik:<br />

● szerszámsugár kopásértéke ($TC_DP15 szerszámparaméter)<br />

● és a határoló felület függőleges offsetjének kiszámításához programozottOFFN<br />

szerszámoffset.<br />

A létrehozott munkadarabprogramból nem lehet megállapítani, hogy a megmunkálandó felület<br />

jobbra vagy balra van-e a pályától. Ezért a kiindulás az eredeti szerszámra egy pozitív sugár<br />

és egy negatív kopásérték. Egy negatív kopásérték mindig egy csökkentett átmérőjű<br />

szerszámot ír le.<br />

Hengeres szerszámok alkalmazása<br />

A hengeres szerszámok alkalmazásánál a ráállítás csak akkor szükséges, ha a<br />

megmunkálási felület és a határoló felület egy hegyesszöget (90 foknál kisebb) képez. A<br />

tórusz-marók (henger sarok-lekerekítéssel) használatánál a hegyes- és a tompaszögnél is<br />

szükséges a szerszám ráállítása a szerszám hosszirányában.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 421


Szerszámkorrekciók<br />

7.5 3D-s szerszámkorrekció aktiválása (CUT3DC..., CUT3DF...)<br />

3D-s sugárkorrekció CUT3DCC-vel, kontúr a megmunkálási felületen<br />

Ha a CUT3DCC egy tórusz-maróval aktív, akkor a programozott pálya egy azonos átmérőjű<br />

fiktiv hengeres maróra vonatkozik. Az ebből eredő pálya vonatkoztatási pont egy tórusz-maró<br />

alkalmazásánál a következő képen van ábrázolva.<br />

<br />

<br />

<br />

<br />

Megengedett, hogy a megmunkálási felület és a határoló felület közötti szög egy mondaton<br />

belül hegyesszögről tompaszögre vagy fordítva változik.<br />

A szabványszerszámmal ellentétben az alkalmazott valós szerszám lehet nagyobb vagy<br />

kisebb is. Ennél az eredő saroksugár nem lehet negatív és az eredő szerszámsugár előjel<br />

nem változhat.<br />

A CUT3DCC-nál az NC munkadarabprogram a megmunkálási felület kontúrjára vonatkozik<br />

Ennél, akárcsak a szokásos szerszámsugár-korrekciónál, az összsugár a következők<br />

összegéből tevődik össze:<br />

● szerszámsugár ($TC_DP6 szerszámparaméter)<br />

● kopásérték($TC_DP15 szerszámparaméter)<br />

● és a határoló felület függőleges offsetjének kiszámításához programozottOFFN<br />

szerszámoffset.<br />

A határoló felület helyzetét a következő két érték különbsége határozza meg<br />

● szabványos szerszám méretei<br />

● szerszámsugár ($TC_DP6 szerszámparaméter)<br />

Munka-előkészítés<br />

422 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.6 Szerszám-tájolás (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)<br />

7.6 Szerszám-tájolás (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS,<br />

OSD, OST)<br />

Funkció<br />

A szerszám-tájolás a szerszám geometriai helyzetét adja meg a térben. Egy 5-tengelyes<br />

megmunkálógépnél a szerszám tájolása program utasításokkal beállítható<br />

<br />

<br />

<br />

<br />

<br />

A tájolásnak az OSD és OST által aktivált átmenet-simító mozgásai az interpolációs módtól<br />

függően a szerszám-tájoláshoz eltérően lesznek képezve.<br />

Aktív vektor-interpolációnál a simított tájolás lefutás is vektor-interpolációval lesz interpolálva.<br />

Ezzel szemben aktív körtengely-interpolációnál a tájolás közvetlenül körtengely-mozgásokkal<br />

lesz simítva.<br />

Programozás<br />

Tájolás változások programozása<br />

A szerszám-tájolás változásait a következőkkel lehet programozni:<br />

● A, B, C körtengelyek közvetlenprogramozása (körtengely-interpoláció)<br />

● Euler- ill. RPY-szöggel<br />

● irányvektor (vektor-interpoláció A3 vagy B3 vagy C3megadásával)<br />

● LEAD/TILT (homlokmarás)<br />

A vonatkozási koordinátarendszer vagy a gép-koordinátarendszer (ORIMKS) vagy az aktuális<br />

munkadarab-koordinátarendszer (ORIWKS).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 423


Szerszámkorrekciók<br />

7.6 Szerszám-tájolás (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)<br />

<br />

<br />

Szerszámtájolás programozása:<br />

Utasítás<br />

ORIC:<br />

ORID:<br />

OSOF:<br />

OSC:<br />

OSS:<br />

OSSE:<br />

ORIS:<br />

OSD:<br />

OST:<br />

Jelentés<br />

tájolás és pályamozgás pár<strong>hu</strong>zamosan<br />

tájolás és pályamozgás egymásután<br />

nincs tájolás simítás<br />

tájolás állandó<br />

tájolás simítás csak a mondat elején<br />

tájolás simítás a mondat elején és végén<br />

tájolás változás sebessége bekapcsolt tájolás simításnál fok per mm-ben<br />

(érvényes OSS és OSSE-re)<br />

tájolás átmenet simítása az átmenet simítás hosszának megadásával<br />

beállítási adattal:<br />

SD42674 $SC_ORI_SMOOTH_DIST<br />

tájolás átmenet simítása a szögtűrés megadásával fokban vektorinterpolációval<br />

a beállítási adattal:<br />

SD42676 $SC_ORI_SMOOTH_TOL<br />

körtengely-interpolációnál a megadott tűrés a tájolótengelyek maximális<br />

eltéréseként értendő<br />

Megjegyzés<br />

A szerszámtájolás átmenet simítás összes utasítása (OSOF, OSC, OSS, OSSE, OSD és OST) a G-<br />

funkció csoport 34-ben van összefogva.. Ezek modálisan hatnak és ezen utasítások közül<br />

mindig csak egy lehet hatásos.<br />

Munka-előkészítés<br />

424 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.6 Szerszám-tájolás (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)<br />

Példák<br />

Példa 1: ORIC<br />

Ha az N10 ésN20mozgás-mondatok között két vagy több mondat van tájolás változással (pl.<br />

A2=... B2=... C2=...) programozva és ORIC aktív, akkor a beszúrt kör-mondat fel lesz osztva<br />

a közbenső mondatokra a szög változás.<br />

<br />

<br />

<br />

<br />

Programkód<br />

ORIC<br />

N8 A2=… B2=… C2=…<br />

N10 X… Y… Z…<br />

N12 C2=… B2=…<br />

N14 C2=… B2=…<br />

N20 X =…Y=… Z=… G1 F200<br />

Kommentár<br />

; A külső sarkon beszúrt kör-mondat a tájolás<br />

változásnak megfelelően felosztódik az N12 és N14<br />

között. A kör-mozgás és a tájolás váltás itt<br />

pár<strong>hu</strong>zamosan kerül végrehajtásra.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 425


Szerszámkorrekciók<br />

7.6 Szerszám-tájolás (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)<br />

Példa 2: ORID<br />

Ha az ORID aktív, akkor minden mondat a két mozgási mondat között az első mozgási mondat<br />

végén lesz végrehajtva. A kör-mondat az állandó tájolással közvetlenül a második mozgási<br />

mondat előtt lesz végrehajtva.<br />

<br />

<br />

<br />

Programkód<br />

ORID<br />

N8 A2=… B2=… C2=…<br />

N10 X… Y… Z…<br />

N12 A2=… B2=… C2=…<br />

N14 M20<br />

N20 X… Y… Z…<br />

Kommentár<br />

; Az N12 és N14 mondat az N10 végén lesz végrehajtva.<br />

Ezután lesz a kör-mondat az aktuális tájolással<br />

megtéve.<br />

; segédfunkciók stb.<br />

Megjegyzés<br />

A tájolás változás módjára egy külső sarkon az a program utasítás mérvadó, amelyik egy<br />

külső sarok első mozgás-mondatában aktív.<br />

Tájolás változás nélkül: Ha a tájolás a mondathatáron nem változik, akkor a szerszámkeresztmetszet<br />

egy kör, ami mindkét kontúrt érinti.<br />

Munka-előkészítés<br />

426 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.6 Szerszám-tájolás (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)<br />

Példa 3: A tájolás változása egy belső sarkon<br />

<br />

<br />

<br />

<br />

Programkód<br />

ORIC<br />

N10 X …Y… Z… G1 F500<br />

N12 X …Y… Z… A2=… B2=… C2=…<br />

N15 X …Y… Z… A2=… B2=… C2=…<br />

További információk<br />

Viselkedés a külső sarkokon<br />

Egy külső sarkon mindig egy kör-mondat lesz beszúrva a maró sugárral.<br />

Az ORIC ill. ORID program utasításokkal lehet megadni, hogy az N1 és N2 mondatok között<br />

programozott tájolás változások a beszúrt kör-mondat előtt vagy azzal egyidőben legyenek<br />

végrehajtva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 427


Szerszámkorrekciók<br />

7.6 Szerszám-tájolás (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)<br />

<br />

<br />

<br />

<br />

<br />

Ha a külső sarkokon tájolás változás szükséges, ez választhatóan az interpolációval együtt<br />

vagy a pályamozgástól külön történhet.<br />

Az ORID-nál először a beillesztett pályamozgás nélküli mondatok lesznek végrehajtva. A körmondat<br />

közvetlenül a sarkot képező két mozgási mondat előtt lesz beszúrva.<br />

Ha egy külső sarkon több tájolás-mondat van beszúrva és az ORIC ki van választva, akkor a<br />

kör-mozgás el lesz osztva ezekre az egyes beszúrt mondatok tájolás változás értékeinek<br />

megfelelően.<br />

Tájolás átmenet simítása OSD és OST által<br />

Az átmenet simításánál G642-vel a maximális eltérés a kontúrtengelyekre és a<br />

tájolótengelyekre nem lehet nagyon különböző. A kettő közül a kisebb tűrés határozza meg<br />

az átmenet simító mozgás formáját ill. a szögtűrést, a tájolás lefutását viszonylag erősen<br />

simítani anélkül, hogy ennél nagyobb kontúreltéréseket kelljen elviselni.<br />

Az OSD ill. OST i aktiválásával lehetséges egy előre megadott átmeneti hosszal és szögtűréssel<br />

a tájolás lefutásának nagyon csekély eltéréseit jelentős kontúreltérés nélkül "nagyvonalúan"<br />

simítani.<br />

Megjegyzés<br />

A G642-vel történő kontúr átmenet simítással (és tájolás lefutással) szemben a tájolás<br />

simításánál az OSD ill. OST által nem lesz külön mondat képezve, hanem az átmenet simító<br />

mozgás közvetlenül a programozott eredeti mondatokba lesz beszúrva.<br />

Az OSD ill. OST használatával nem simíthatók olyan mondat-átmenetek, amelyeknél a<br />

szerszám-tájolásra interpolációs mód váltása (vektor –> körtengely, körtengely–> vektor)<br />

történik. Ezeket a mondat-átmeneteket adott esetben G641, G642 ill. G643 átmenet simítási<br />

funkciókkal lehet simítani.<br />

Munka-előkészítés<br />

428 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.7 Szabad D-szám megadás, vágóélszám<br />

7.7 Szabad D-szám megadás, vágóélszám<br />

7.7.1 Szabad D-szám megadás, vágóél-szám (CE cím)<br />

D-szám<br />

A D-számok korrekciószámként alkalmazhatók. Kiegészítőleg a CE címmel a vágóél számát<br />

lehet megcímezni. A $TC_DPCE rendszerváltozóval lehet írni a vágóél-számot.<br />

elő-beállítás: korrekció sz. == vágóél sz.<br />

Gépadatokkal lehet megadni a D-számok maximális számát (vágóél-számok) és a maximális<br />

vágóélszámot szerszámonként (→ gépgyártó). A következő utasításoknak csak akkor van<br />

értelme, ha a maximális vágóél-szám (MD 18105) nagyobb, mint az élek száma<br />

szerszámonként (MD 18106). Vegyük ehhez figyelembe a gépgyártó tájékoztatásait.<br />

Megjegyzés<br />

A relatív D-szám megadás mellett a D-számokat 'lapos' ill. 'abszolút' D-számokként (1-<br />

32000) egy T-számra hivatkozás nélkül is meg lehet adni (a 'lapos D-szám struktúra'<br />

funkcióban).<br />

Irodalom<br />

Alap funkciók működési kézikönyv; Szerszámkorrekciók (W1)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 429


Szerszámkorrekciók<br />

7.7 Szabad D-szám megadás, vágóélszám<br />

7.7.2 Szabad D-szám megadás: D-számot vizsgálni (CHKDNO)<br />

Funkció<br />

A CKKDNO utasítással al megvizsgáljuk, hogy a meglevő D-számok egyértelműen vannak-e<br />

megadva. Egy TO-egységen belül definiált összes szerszám D-számai csak egyszer<br />

fordulhatnak elő. A tartalék-szerszámok nincsenek figyelembe véve.<br />

Szintaxis<br />

state=CHKDNO(Tno1,Tno2,Dno)<br />

Jelentés<br />

state<br />

CHKDNO(Tno1,Tno2)<br />

CHKDNO(Tno1)<br />

CHKDNO<br />

=TRUE:<br />

A D-számok a vizsgált tartományra<br />

egyértelműen meg vannak adva.<br />

=FALSE: D-szám ütközés van vagy a paraméterezés<br />

érvénytelen. A Tno1, Tno2 és Dno átadja a<br />

paramétereket, amelyek az ütközést okozták.<br />

Ezeket az adatokat a munkadarab-programban<br />

ki lehet értékelni.<br />

A megnevezett szerszámok minden D-száma megvizsgálásra<br />

kerül.<br />

A Tno1 minden D-száma az összes szerszámra<br />

megvizsgálásra kerül.<br />

Minden szerszám minden D-száma az összes szerszámra<br />

megvizsgálásra kerül.<br />

Munka-előkészítés<br />

430 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.7 Szabad D-szám megadás, vágóélszám<br />

7.7.3 Szabad D-szám megadás: D-számot átnevezni (GETDNO, SETDNO)<br />

Funkció<br />

A D-számokat egyértelműen kell megadni. Egy szerszám két különböző vágóélének nem<br />

lehet azonos D-száma.<br />

GETDNO<br />

Ez az utasítás meghatározza egy t T-számú szerszám egy meghatározott (ce) élének D-<br />

számát. Ha a beadott paraméterekhez nincs D-szám, d=0 lesz beállítva. Ha a D-szám<br />

érvénytelen, egy 32000-nél nagyobb érték lesz visszaadva.<br />

SETDNO<br />

Ezzel az utasítással rendeljük hozzá egy t szerszám ce vágóéle D-számához a d értéket. A<br />

state visszaadja ennek az utasításnak az eredményét (TRUE vagy FALSE). Ha a beadott<br />

paraméterekhez nem tartozik adatkészlet, FALSE lesz visszaadva A szintaxis-hiba<br />

vészjelzést eredményez. A D-számot nem lehet közvetlenül 0-ra állítani.<br />

Szintaxis<br />

d = GETDNO (t,ce)<br />

state = SETDNO (t,ce,d)<br />

Jelentés<br />

d<br />

t<br />

ce<br />

state<br />

szerszám vágóél D-száma<br />

szerszám T-száma<br />

szerszám vágóél-száma (CE-szám)<br />

megadja, hogy az utasítás hibátlanul végre lett-e hajtva (TRUE vagy FALSE)<br />

Példa egy D-szám átnevezésére<br />

Programozás<br />

Kommentár<br />

$TC_DP2[1,2] = 120 ;<br />

$TC_DP3[1,2] = 5.5 ;<br />

$TC_DPCE[1,2] = 3<br />

; CE vágóélszám<br />

... ;<br />

N10 def int DNrAlt, DNrNeu = 17 ;<br />

N20 DNrAlt = GETDNO(1,3) ;<br />

N30 SETDNO(1,3,DNrNeu) ;<br />

Ezzel a CE=3 vágóélhez a 17 új D-érték lesz hozzárendelve. Mostantól ennek a vágóélnek<br />

adatai a 17-es D-számmal lesznek felhívva; úgy a rendszer-paramétereknél, mint a<br />

programozásnál NC-címekkel.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 431


Szerszámkorrekciók<br />

7.7 Szabad D-szám megadás, vágóélszám<br />

7.7.4 Szabad D-szám megadás: T-számot a megadott D-számhoz megállapítani<br />

(GETACTTD)<br />

Funkció<br />

A GETACTTD utasítással megállapítjuk egy abszolút D-számhoz a hozzátartozó T-számot. Nincs<br />

egyértelműség vizsgálat. Ha egy TO-egységen belül több azonos D-szám van, az első<br />

megtalált szerszám T-száma lesz visszaadva. A "lapos" D-szám esetén az utasítás<br />

alkalmazásának nincs értelme, mivel itt mindig az 1-es érték lesz visszaadva (nincs T-szám<br />

az adatokban).<br />

Szintaxis<br />

status=GETACTTD(Tnr,Dnr)<br />

Jelentés<br />

Dnr<br />

Tnr<br />

állapot<br />

D-szám, amelyhez a T-számot kell keresni<br />

megtalált T-szám<br />

érték: jelentés:<br />

0 A T-számot megtalálta. A Tnr tartalmazza a T-szám értékét.<br />

-1 A megadott D-számhoz nincs T-szám; Tnr=0.<br />

-2 A D-szám nem abszolút. A Tnr tartalmazza az első megtalált<br />

szerszám számát, amely D-száma Dnr értékű.<br />

-5 A funkciót más okból nem lehetett végrehajtani.<br />

Munka-előkészítés<br />

432 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.7 Szabad D-szám megadás, vágóélszám<br />

7.7.5 Szabad D-szám megadás: D-számot érvénytelenné tenni (DZERO)<br />

Funkció<br />

A DZERO utasítás az átszerelés alatt ad támogatást. Az így megjelölt korrekcióadatokat a<br />

CHKDNO utasítás nem vizsgálja. Hogy ezek ismét elérhetők legyenek, a D-számokat ismét be<br />

kell állítani a SETDNO-val.<br />

Szintaxis<br />

DZERO<br />

Jelentés<br />

DZERO<br />

A TO-egység valamennyi D-számát érvénytelenné teszi<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 433


Szerszámkorrekciók<br />

7.8 Szerszámtartó kinematika<br />

7.8 Szerszámtartó kinematika<br />

Előfeltételek<br />

Egy szerszámtartó egy szerszámot csak akkor tud a tér minden lehetséges irányában tájolni,<br />

ha<br />

● van két V1 és V2 forgástengelye<br />

● a forgástengelyek egymásra merőlegesek<br />

● a szerszám hossztengelye a második V2 forgástengelyre merőleges.<br />

Kiegészítőleg érvényes s gépeknél, amelyeknél mindkét tengely forgatja az asztalt, hogy:<br />

● a szerszám tájolásnak az első V1 forgástengelyre merőlegesen kell állni.<br />

Funkció<br />

A szerszámtartó kinematikáját maximum két v1 vagy v2 forgástengellyel 17 $TC_CARR1[m] bis<br />

$TC_CARR17[m] rendszerváltozó írja le. A szerszámtartó leírása a következőkből áll:<br />

● a szerszámtartó vonatkoztatási pontjának I1vektoriális távolsága az első forgástengelytől,<br />

az első és második forgástengely I2 vektoriális távolsága, a szerszámtartó vonatkoztatási<br />

pontjának I3 vektoriális távolsága a második forgástengelytől.<br />

● a két V1 és V2 forgástengely irányvektorai<br />

● a két tengely α1, α2 forgásszögei. A forgásszög a forgástengely vektor irányába tekintve<br />

az óramutató járása irányában pozitív.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A felbontott kinematikájú gépek számára (a szerszám és a munkadarab is forgatható) a<br />

rendszerváltozók a<br />

● $TC_CARR18[m] ... $TC_CARR23[m]-mel lettek bővítve.<br />

Munka-előkészítés<br />

434 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.8 Szerszámtartó kinematika<br />

Paraméter<br />

Rendszerváltozók funkciói tájolható szerszámtartókhoz<br />

jelölés x komponens y komponens z komponens<br />

l1 offsetvektor $TC_CARR1[m] $TC_CARR2[m] $TC_CARR3[m]<br />

l2 offsetvektor $TC_CARR4[m] $TC_CARR5[m] $TC_CARR6[m]<br />

v1 forgástengely $TC_CARR7[m] $TC_CARR8[m] $TC_CARR9[m]<br />

v2 forgástengely $TC_CARR10[m] $TC_CARR11[m] $TC_CARR12[m]<br />

α1 forgásszög<br />

α2 forgásszög<br />

$TC_CARR13[m]<br />

$TC_CARR14[m]<br />

l3 offsetvektor $TC_CARR15[m] $TC_CARR16[m] $TC_CARR17[m]<br />

Rendszerváltozók bővítései tájolható szerszámtartókhoz<br />

jelölés x komponens y komponens z komponens<br />

l4 offsetvektor $TC_CARR18[m] $TC_CARR19[m] $TC_CARR20[m]<br />

tengelyjelölő<br />

forgástengely v1<br />

forgástengely v2<br />

kinematika-típus<br />

Tool<br />

Part<br />

Mixed mode<br />

offset<br />

forgástengely v1<br />

forgástengely v2<br />

szög-offset<br />

forgástengely v1<br />

forgástengely v2<br />

szög-inkremens<br />

v1 forgástengely<br />

v2 forgástengely<br />

min.-pozíció<br />

forgástengely v1<br />

forgástengely v2<br />

max.-pozíció<br />

forgástengely v1<br />

forgástengely v2<br />

szerszámtartó<br />

neve<br />

felhasználó:<br />

tengelynév 1<br />

tengelynév 2<br />

jelölő<br />

pozíció<br />

v1és v2 forgástengelyek jelölői (alapesetben nulla)<br />

$TC_CARR21[m]<br />

$TC_CARR22[m]<br />

$TC_CARR23[m]<br />

kinematika-típus-T -> kinematika-típus-P -> kinematika-típus-M -><br />

csak a szerszám<br />

forgatható (alapeset)<br />

csak a munkadarab<br />

forgatható<br />

munkadarab & szerszám<br />

forgathatóak<br />

v1és v2 forgástengelyek szöge fokban az alaphelyzet felvételénél<br />

$TC_CARR24[m]<br />

$TC_CARR25[m]<br />

v1és v2 forgástengelyek Hirth-fogazás offset fokban<br />

$TC_CARR26[m]<br />

$TC_CARR27[m]<br />

v1und v2forgástengelyek Hirth-fogazás inkremens fokban<br />

$TC_CARR28[m]<br />

$TC_CARR29[m]<br />

v1és v2forgástengelyek szoftver-határ minimum-pozícióra<br />

$TC_CARR30[m]<br />

$TC_CARR31[m]<br />

v1és v2forgástengelyek szoftver-határ maximum-pozícióra<br />

$TC_CARR32[m]<br />

$TC_CARR33[m]<br />

egy szerszámarató egy szám helyett kaphat egy nevet $TC_CARR34[m]<br />

alkalmazás a felhasználói mérőciklusokban $TC_CARR35[m]<br />

$TC_CARR36[m]<br />

$TC_CARR37[m]<br />

$TC_CARR38[m] $TC_CARR39[m] $TC_CARR40[m]<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 435


Szerszámkorrekciók<br />

7.8 Szerszámtartó kinematika<br />

Rendszerváltozók bővítései tájolható szerszámtartókhoz<br />

finomeltolás<br />

paraméter, amit az értékekhez<br />

az alapparaméterekben hozzáadni lehet.<br />

l1 offsetvektor $TC_CARR41[m] $TC_CARR42[m] $TC_CARR43[m]<br />

l2 offsetvektor $TC_CARR44[m] $TC_CARR45[m] $TC_CARR46[m]<br />

l3 offsetvektor $TC_CARR55[m] $TC_CARR56[m] $TC_CARR57[m]<br />

l4 offsetvektor $TC_CARR58[m] $TC_CARR59[m] $TC_CARR60[m]<br />

v1 forgástengely $TC_CARR64[m]<br />

v2 forgástengely $TC_CARR65[m]<br />

Megjegyzés<br />

Magyarázat a paraméterekhez<br />

Az "m" a leírandó szerszámtartó számát adja meg.<br />

$TC_CARR47 ... $TC_CARR54 ill. $TC_CARR61 ... $TC_CARR63 nincsenek definiálva és ezekhez<br />

olvasása vagy írás hozzáférés kísérlete vészjelzést okoz.<br />

A távolság vektorok kezdő- és végpontjai a tengelyeken szabadon választhatók. Mindkét<br />

tengely α1, α2forgásszöge a szerszámtartók alapállapotában 0°-nak definiált. Egy<br />

szerszámtartó kinematikát így tetszőleges sok lehetőségre le lehet írni.<br />

A szerszámtartó csak egy forgástengellyel vagy anélkül az egyik vagy mindkét irányvektor<br />

nullára állításával írható le.<br />

Egy forgástengely nélküli szerszámtartónál a távolságvektorok kiegészítő<br />

szerszámkorrekcióként hatnak, amelyek komponenseit a megmunkálási síkok átkapcsolása<br />

(G17 ... G19) nem befolyásolja.<br />

Paraméterek bővítése<br />

Forgástengelyek paraméterei<br />

A rendszerváltozók ki lettek bővítve $TC_CARR24[m] ... $TC_CARR33[m]-mel amelyek<br />

leírása a következő:<br />

offset v1, v2<br />

forgástengelyekre<br />

szögoffset/<br />

szöginkremens v1,<br />

v2 forgástengelyek<br />

minimum- és<br />

maximum-pozíció v1,<br />

v2 forgástengelyek<br />

A v1 vagy v2 forgástengelyek pozíciójának változása a tájolható szerszámtartó<br />

alapállásánál.<br />

A v1 és v2 forgástengelyek offsetje vagy Hirth-fogazásának szöginkremense.<br />

A programozott vagy számított szög a legközelebbi értékre lesz kerekítva,<br />

amelyik egészszámú n-nél a phi = s + n * d-ből adódik.<br />

A v1 és v2 forgástengelyek minimum-/maximum pozíció határszöge (szoftverhatár).<br />

Felhasználói paraméterek<br />

A $TC_CARR34 ... $TC_CARR40 a felhasználónak szabad rendelkezésére álló paraméterek<br />

és a SW 6.4-ig az NCK-ban nincsenek kiértékelve vagy nincs jelentésük.<br />

Munka-előkészítés<br />

436 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.8 Szerszámtartó kinematika<br />

Finomeltolás paraméter<br />

A $TC_CARR41 ... $TC_CARR65 finomeltolás paraméterek, amelyet a bázis-paraméterek<br />

értékeihez lehet hozzáadni. Egy alap-paraméterhez hozzárendelt finomeltolás értéke a<br />

paraméterhez 40 hozzáadásából adódik.<br />

Példa<br />

A következő példában alkalmazott szerszámtartót egy forgatással az Y-tengely körül<br />

tökéletesen le lehet írni.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

N10 $TC_CARR8[1]=1<br />

N20 $TC_DP1[1,1]=120<br />

N30 $TC_DP3[1,1]=20<br />

N40 $TC_DP6[1,1]=5<br />

N50 ROT Y37<br />

N60 X0 Y0 Z0 F10000<br />

N70 G42 CUT2DF TCOFR TCARR=1 T1 D1 X10<br />

Kommentár<br />

; a szerszámtartó 1 első<br />

forgástengelye Y-komponensének<br />

definíciója<br />

; egy szármaró definíciója<br />

; egy szármaró definíciója 20 mm-es<br />

hosszal<br />

; egy szármaró definíciója 5 mm-es<br />

sugárral<br />

; frame definíció 37°-os forgatással<br />

az Y-tengely körül<br />

; kiinduló pozícióra menni<br />

; sugárkorrekciót, szerszámhosszkorrekciót<br />

az elforgatott frameben<br />

beállítani, szerszámtartó 1-<br />

et, szerszám 1-et kiválasztani<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 437


Szerszámkorrekciók<br />

7.8 Szerszámtartó kinematika<br />

Programkód<br />

N80 X40<br />

N90 Y40<br />

N100 X0<br />

N110 Y0<br />

N120 M30<br />

Kommentár<br />

; a megmunkálást a 37°-os<br />

elforgatással elvégezni<br />

További információk<br />

Felbontott kinematika<br />

A felbontott kinematikájú gépek számára (a szerszám és a munkadarab is forgatható) a<br />

rendszerváltozók a $TC_CARR18[m] ... $TC_CARR23[m]-mel lettek bővítve és a leírásuk a<br />

következő:<br />

A forgatható szerszámasztal a következőkből áll:<br />

● a második V2 forgástengely vektoriális távolsága a harmadik körtengely I4 forgatható<br />

szerszámasztal vonatkoztatási pontjához<br />

A körtengelyek a következőkből állnak:<br />

● a V1és V2 forgástengelyek csatornajelölői, amelyek pozícióihoz adott esetben a tájolható<br />

szerszámtartó tájolásának meghatározásához hozzá kell férni.<br />

A kinematika-típus T, P vagy M értéke:<br />

● kinematika-típus T: csak a szerszám forgatható<br />

● kinematika-típus P: csak a munkadarab forgatható<br />

● kinematika-típus M: munkadarab és szerszám forgathatóak<br />

Szerszámtartó adatok törlése<br />

A $TC_CARR1[0]=0-val minden szerszámtartó adatot törölni lehet.<br />

A kinematika típus $TC_CARR23[T]=T a három megengedett nagy- vagy kisbetű (T,P,M)<br />

egyikével kell legyen feltöltve és ezért nem szabad törölni.<br />

Szerszámtartó adatok változtatása<br />

Minden beírt értéket egy új érték hozzárendelésével a munkadarabprogramban változtatni<br />

lehet. A T, P és M karaktereken kívül minden más karakter esetén a tájolható szerszámtartó<br />

aktiválásának kísérlete vészjelzést okoz.<br />

Szerszámtartó adatok olvasása<br />

Minden beírt értéket egy változó hozzárendelésével a munkadarabprogramban olvasni lehet.<br />

Finom-eltolások<br />

Egy nem megengedett finom-eltolás érték csak akkor lesz felismerve, ha egy tájolható<br />

szerszámtartó lesz aktiválva, amelyik egy ilyen értéket tartalmaz és egyidejűleg az<br />

SD42974 $SC_TOCARR_FINE_CORRECTION = TRUE.<br />

A megengedett finom-eltolások összege gépadattal egy maximálisan megengedett értékre<br />

lesz határolva.<br />

Munka-előkészítés<br />

438 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.9 Szerszámhossz-korrekció tájolható szerszámtartókra (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY,<br />

TCOFRZ)<br />

7.9 Szerszámhossz-korrekció tájolható szerszámtartókra (TCARR,<br />

TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ)<br />

Funkció<br />

A szerszám megváltoztatott térbeli tájolásával megváltoznak annak szerszámhosszkomponensei<br />

is.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Átszerelés után, pl. kézi beállítással vagy fix térbeli beállítású szerszámtartó cseréjével újra<br />

meg kell határozni a szerszámhossz-komponenseket. Ez a TCOABS és TCOFR utasításokkal<br />

történik.<br />

Egy aktív frame tájolható szerszámtartójánál a szerszám-választásnál TCOFRZ, TCOFRY és<br />

TCOFRX-szel meghatározható az irány, amerre a szerszám mutasson.<br />

Szintaxis<br />

TCARR=[]<br />

TCOABS<br />

TCOFR<br />

TCOFRZ<br />

TCOFRY<br />

TCOFRX<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 439


Szerszámkorrekciók<br />

7.9 Szerszámhossz-korrekció tájolható szerszámtartókra (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY,<br />

TCOFRZ)<br />

Jelentés<br />

TCARR=[]: "m" számú szerszámtartó lekérése<br />

TCOABS:<br />

TCOFR:<br />

szerszámhossz-komponensek kiszámítása az aktuális szerszámtartótájolásból<br />

szerszámhossz-komponensek meghatározása az aktív frame<br />

orientálásból<br />

TCOFRZ: tájolható szerszámtartó az aktív frame-ből, amelyiknek szerszáma a Z-<br />

irányba mutat<br />

TCOFRY: tájolható szerszámtartó az aktív frame-ből, amelyiknek szerszáma az Y-<br />

irányba mutat<br />

TCOFRX: tájolható szerszámtartó az aktív frame-ből, amelyiknek szerszáma az X-<br />

irányba mutat<br />

További információk<br />

Szerszámhossz-korrekció tartó-tájolásból (TCOABS)<br />

A TCOABS kiszámítja a szerszámhossz-korrekciót a szerszámtartó aktuális tájolási szögéből;<br />

amely az $TC_CARR13 és $TC_CARR14 rendszerváltozóban került letételre.<br />

A szerszámtartó-kinematika definíciójához rendszerváltozókkal lásd "Szerszámtartókinematika<br />

(Oldal 434)".<br />

A szerszámhossz-korrekció új kiszámításához frame-váltásnál a szerszámot ismét fel kell<br />

hívni.<br />

Szerszámirány az aktív frame-ből<br />

A tájolható szerszámtartót be lehet úgy állítani, hogy a szerszám a következő irányokba<br />

mutat:<br />

● TCOFR ill. TCOFRZ esetén a Z-irányba<br />

● TCOFRY esetén az Y-irányba<br />

● TCOFRX esetén az X-irányba<br />

Az átkapcsolás a TCOFR és TCOABS között a szerszámhossz-korrekciók újra számítását okozza.<br />

Szerszámtartó lekérése (TCARR)<br />

A TCARRR-ral az m számú szerszámtartó geometriai adatai lekérésre kerülnek (korrekciótároló).<br />

Az m=0-val az aktív szerszámtartó kiválasztása megszűnik.<br />

A szerszámtartó geometriai adatai csak egy szerszám felhívása után lesznek aktívak. A<br />

kiválasztott szerszám egy szerszámtartó cseréjén túl is aktív marad.<br />

A szerszámtartó aktuális geometriai adatait a munkadarabprogramban is meg lehet adni a<br />

megfelelő rendszerváltozón keresztül.<br />

Munka-előkészítés<br />

440 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.9 Szerszámhossz-korrekció tájolható szerszámtartókra (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY,<br />

TCOFRZ)<br />

Szerszámhossz-korrekció újra-számítása (TCOABS) frame-váltásnál<br />

A szerszámhossz-korrekció új kiszámításához frame-váltásnál a szerszámot ismét fel kell<br />

hívni.<br />

Megjegyzés<br />

A szerszám-tájolást az aktív frame-hez kézzel kell hozzáilleszteni.<br />

A szerszámhossz-korrekció kiszámításánál egy közbenső lépésben a szerszámtartó<br />

forgásszöge is kiszámításra kerül. Mivel két forgótengelyes szerszámtartóknál általában két<br />

forgásszög-pár létezik, amelyekkel a szerszám-orientálás az aktív frame-re ráilleszthető, a<br />

rendszerváltozókban letett forgásszög-értékeknek legalább megközelítőleg meg kell<br />

egyezniük a mechanikusan beállított forgásszögekkel.<br />

Megjegyzés<br />

Szerszámtájolás<br />

A vezérlés nem tudja a frame-tájoláson keresztül kiszámított forgásszöget a gépen<br />

beállíthatóságára ellenőrizni.<br />

Ha a szerszámtartó forgástengelyei szerkezetileg úgy vannak elrendezve, hogy a frametájolással<br />

kiszámított szerszám-tájolás nem érhető el, akkor egy vészjelzés kerül kiadásra.<br />

A szerszám-finomkorrekció és a szerszámhossz-korrekció funkcionalitásainak kombinációja<br />

mozgó szerszámtartóknál nem megengedett. A két funkció egyidejű felhívásának<br />

megkísérlésénél hibakijelzés történik.<br />

A TOFRAME-mel lehetőség van arra, hogy egy frame-t a kiválasztott szerszámtartó orientálási<br />

iránya alapján meghatározhassunk. Több információt erre a "Frame-k"fejezetben.<br />

Aktív tájolás-transzformációnál (3-, 4-, 5-tengely-transzformáció) egy nullától eltérő tájolású<br />

szerszámtartót fel lehet hívni anélkül, hogy emellett egy vészjelzés kerülne kiadásra.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 441


Szerszámkorrekciók<br />

7.9 Szerszámhossz-korrekció tájolható szerszámtartókra (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY,<br />

TCOFRZ)<br />

Átadási paraméterek szabvány- és mérő-ciklusokra<br />

A szabvány- és mérő-ciklusok paramétereire definiált értéktartományok érvényesek.<br />

Szögértékeknél az értéktartomány a következők szerint van meghatározva:<br />

● forgatás az 1. geometria tengely körül: -180 foktól +180 fokig<br />

● forgatás az 2. geometria tengely körül: -90 foktól +90 fokig<br />

● forgatás az 3. geometria tengely körül: -180 foktól +180 fokig<br />

Lásd Frame-k fejezet, "Programozható forgatás (ROT, AROT, RPL)".<br />

Megjegyzés<br />

Szögértékek átadásánál egy szabvány- vagy mérő-ciklusnak figyelembe kell venni:<br />

Az NC számítási felbontásánál kisebb értékeket nullára kell kerekíteni!<br />

Az NC számítási felbontása szögpozíciókra a következő gépadatban van megadva:<br />

MD10210 $MN_INT_INCR_PER_DEG<br />

Munka-előkészítés<br />

442 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.10 Online szerszámhossz-korrekció (TOFFON, TOFFOF)<br />

7.10 Online szerszámhossz-korrekció (TOFFON, TOFFOF)<br />

Funkció<br />

A $AA_TOFF[ ] rendszerváltozóval a hatásos szerszámhosszak a három szerszámiránynak<br />

megfelelően háromdimenziósan valósidőben módosíthatóak.<br />

Indexként a három geometria-tengely jelölője van használva. Így az aktív korrekciós<br />

irányok száma az azonos időben aktív geometria-tengelyek által rögzítve van.<br />

Az összes korrekció lehet egyidőben aktív.<br />

Az online szerszámhossz-korrekció funkció használható a következőknél:<br />

● tájolási transzformáció TRAORI<br />

● tájolható szerszámtartó TCARR<br />

Megjegyzés<br />

Az online szerszámhossz-korrekció egy opció, amit előbb engedélyezni kell. Ennek a<br />

funkciónak csak az aktív tájolás-transzformációval vagy a tájolható szerszámtartóval<br />

kapcsolatban van értelme.<br />

Szintaxis<br />

TRAORI<br />

TOFFON([,])<br />

WHEN TRUE DO $AA_TOFF[]<br />

...<br />

TOFFOF()<br />

; szinkronakciókban<br />

Az online szerszámhossz-korrekció programozásához a mozgásszinkron akciókban további<br />

magyarázatok, lásd "Online szerszámhossz-korrekció ($AA_TOFF) (Oldal 596)".<br />

Jelentés<br />

TOFFON:<br />

TOFFOF:<br />

online szerszámhossz-korrekciót aktiválni<br />

: szerszámirány (X, Y, Z), amelyben az online<br />

szerszámhossz-korrekció hatásos kell legyen<br />

:<br />

Az aktiválásnál a megfelelő korrekció-irányra<br />

meg elehet adni egy offset-értéket, ami rögtön<br />

elmozdulást okoz.<br />

online szerszámhossz-korrekció kikapcsolása<br />

A megfelelő korrekciós-értékek törölve lesznek és egy előrefutás-állj lesz<br />

kiváltva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 443


Szerszámkorrekciók<br />

7.10 Online szerszámhossz-korrekció (TOFFON, TOFFOF)<br />

Példák<br />

Példa 1: Szerszámhossz-korrekció kiválasztása<br />

Programkód<br />

MD21190 $MC_TOFF_MODE =1<br />

MD21194 $MC_TOFF_VELO[0] =1000<br />

MD21196 $MC_TOFF_VELO[1] =1000<br />

MD21194 $MC_TOFF_VELO[2] =1000<br />

MD21196 $MC_TOFF_ACCEL[0] =1<br />

MD21196 $MC_TOFF_ACCEL[1] =1<br />

MD21196 $MC_TOFF_ACCEL[2] =1<br />

N5 DEF REAL XOFFSET<br />

N10 TRAORI(1)<br />

N20 TOFFON(Z)<br />

Kommentár<br />

; abszolút értékekre menet<br />

; transzformáció be<br />

; online szerszámhossz-korrekció<br />

aktiválása Z szerszámirányra<br />

N30 WHEN TRUE DO $AA_TOFF[Z]=10 G4 F5 ; szerszámhossz-korrekció 10<br />

interpolálása Z szerszámirányra<br />

...<br />

N100 XOFFSET=$AA_TOFF_VAL[X] ; aktuális korrekció hozzárendelés X-<br />

irányba<br />

N120 TOFFON(X,-XOFFSET) G4 F5<br />

; szerszámhossz-korrekció X<br />

szerszámirányban ismét 0-ra lesz<br />

visszavéve<br />

Példa 2: Szerszámhossz-korrekció kikapcsolása<br />

Programkód<br />

N10 TRAORI(1)<br />

N20 TOFFON(X)<br />

Kommentár<br />

; transzformáció be<br />

; online szerszámhossz-korrekció<br />

aktiválása X szerszámirányra<br />

N30 WHEN TRUE DO $AA_TOFF[X]=10 G4 F5 ; szerszámhossz-korrekció 10<br />

interpolálása X szerszámirányra<br />

...<br />

N80 TOFFOF(X)<br />

; X szerszámirány pozíció-offset<br />

törlése ...$AA_TOFF[X]=0<br />

tengely nem mozdul el az aktuális<br />

pozícióhoz MKR-ben a pozíció-offset<br />

hozzá lesz számítva az aktuális<br />

tájolásnak megfelelően<br />

Munka-előkészítés<br />

444 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.10 Online szerszámhossz-korrekció (TOFFON, TOFFOF)<br />

További információk<br />

Mondat-feldolgozás<br />

A mondat-feldolgozásnál az előrefutásban a főfutásban hatásos aktuális szerszámhosszoffset<br />

figyelembe lesz véve. A maximálisan megengedett tengelysebességek messzemenő<br />

kihasználásához szükséges a mondatfeldolgozás megállítása STOPRE előrefutás-állj-jal, amíg a<br />

szerszám-offset fel lesz véve.<br />

A szerszám-offset az előrefutás időpontjában akkor ismert, ha a szerszámhossz-korrekció a<br />

program-start után már nincs változtatva, vagy ha a szerszámhossz-korrekciók változtatása<br />

után több mondat lett feldolgozva, mint amennyit az IPO-puffer az előrefutás és főfutás között<br />

fel tud venni.<br />

$AA_TOFF_PREP_DIFF változó<br />

Az interpolátorban aktuálisan hatásos korrekció és a mondat-feldolgozás időpontjában<br />

hatásos korrekció különbségének értékét a$AA_TOFF_PREP_DIFF[] áltozóban<br />

lekérdezhető.<br />

Gépadatok és beállítási adatok beállítása<br />

Az online szerszámhossz-korrekció a következő gépadatok állnak rendelkezésre:<br />

● MD20610 $MC_ADD_MOVE_ACCEL_RESERVE (gyorsulás-tartalék átlapolt mozgásra)<br />

● MD21190 $MC_TOFF_MODE<br />

IA $AA_TOFF[] rendszerváltozó tartalma abszolút értékként lesz megtéve vagy<br />

kiintegrálva.<br />

● MD21194 $MC_TOFF_VELO (online szerszámhossz-korrekció sebessége)<br />

● MD21196 $MC_TOFF_ACCEL (online szerszámhossz-korrekció gyorsulása)<br />

● beállítási adatok a határértékek megadásához:<br />

SD42970 $SC_TOFF_LIMIT (online szerszámhossz-korrekció értékek felső határa)<br />

Irodalom:<br />

Különleges funkciók működési kézikönyv; F2: Többtengelyes transzformációk<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 445


Szerszámkorrekciók<br />

7.11 Vágóél adatok módosítása forgatható szerszámoknál (CUTMOD)<br />

7.11 Vágóél adatok módosítása forgatható szerszámoknál (CUTMOD)<br />

Funkció<br />

A "Vágóél adatok módosítása forgatható szerszámoknál" funkcióval a szerszámoknak (főleg<br />

esztergaszerszámok, de fúró- és marószerszámok is) a munkadarabhoz viszonyított<br />

elforgatásából adó megváltozott geometriai viszonyokat a szerszámkorrekciónál figyelembe<br />

lehet venni.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Kép 7-1<br />

Forgatható szerszámok egy esztergagépnél<br />

A szerszám aktuális elforgatása ennél mindig egy aktuálisan aktív tájolható szerszámtartóból<br />

(lásd "Szerszámhossz-korrekció tájolható szerszámtartókra (Oldal 439)") lesz megállapítva.<br />

A funkció a CUTMOD utasítással lesz aktiválva.<br />

Szintaxis<br />

CUTMOD=<br />

Munka-előkészítés<br />

446 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.11 Vágóél adatok módosítása forgatható szerszámoknál (CUTMOD)<br />

Jelentés<br />

CUTMOD<br />

<br />

utasítás a "Vágóél adatok módosítása forgatható szerszámoknál" funkció<br />

bekapcsolásához<br />

A CUTMOD utasításhoz a következő értékeket lehet hozzárendelni:<br />

0 A funkció nem aktív.<br />

A $P_AD... rendszerváltozók által adott értékek azonosak a megfelelő<br />

szerszám-paraméterekkel.<br />

> 0 A funkció aktiválva lesz, ha egy tájolható szerszámtartó a megadott<br />

számmal aktív, vagyis az aktiválás egy megadott tájolható<br />

szerszámtartóhoz kötött.<br />

A $P_AD... rendszerváltozók által adott értékek a megfelelő szerszámparaméterekhez<br />

képest az aktív forgatástól függően módosítva lettek.<br />

A megadott tájolható szerszámtartó deaktiválása a funkciót átmenetileg<br />

deaktiválja, egy másik tájolható szerszámtartó aktiválása viszont<br />

tartósan deaktiválja. Az első esetben ezért a funkciót ugyanannak a<br />

tájolható szerszámtartónak az újbóli kiválasztása ismét aktiválja, a<br />

második esetben egy újbóli kiválasztás szükséges akkor is, ha egy<br />

későbbi időpontban a tájolható szerszámtartó a megadott számmal újra<br />

aktiválva lesz.<br />

A funkciót a Reset nem befolyásolja.<br />

-1 A funkció mindig aktiválva lesz, ha egy tájolható szerszámtartó aktív.<br />

A szerszámtartó cseréjénél vagy kikapcsolásánál és későbbi újra<br />

kiválasztásánál a CUTMOD-t nem kell újra beállítani.<br />

-2 A funkció mindig aktiválva lesz, he egy tájolható szerszámtartó aktív,<br />

amelynek száma azonos az aktuálisan aktív tájolható szerszámtartóval.<br />

Ha nincs aktív tájolható szerszámtartó, az azonos jelentésű, mint a<br />

CUTMOD=0. Ha egy tájolható szerszámtartó aktív, az azonos jelentésű az<br />

aktuális szerszámtartó-szám közvetlen megadásával..<br />

< -2 A -2-nél kisebb értékek nem lesznek figyelembe véve, vagyis ez az<br />

eset úgy van kezelve, mintha a CUTMOD nem lenne programozva.<br />

Utalás:<br />

Ez az értéktartomány lehetőleg ne legyen megváltoztatva, mert ez<br />

későbbi bővítésekre van tartalékolva..<br />

Megjegyzés<br />

SD42984 $SC_CUTDIRMOD<br />

A CUTMOD utasítással aktiválható funkció helyettesíti az SD42984 $SC_CUTDIRMOD<br />

beállítási adattal aktiválható funkciót. Ez a funkció azonban továbbra is rendelkezésre áll. De<br />

mivel értelmetlen a két funkciót pár<strong>hu</strong>zamosan használni, csak akkor lehet aktiválni, ha a<br />

CUTMOD nullával egyenlő.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 447


Szerszámkorrekciók<br />

7.11 Vágóél adatok módosítása forgatható szerszámoknál (CUTMOD)<br />

Példa<br />

A következő példa egy szerszámra vonatkozik vágóélhelyzet 3-mal és egy tájolható<br />

szerszámtartóra, amelyik a szerszámot a B tengely körül forgatni tudja.<br />

A számértékek a kommentárokban megadják a mindenkori mondatvégi pozíciókat gépkoordinátákban<br />

(GKR) az X, Y, Z sorrendben.<br />

Programkód<br />

Kommentár<br />

N10 $TC_DP1[1,1]=500<br />

N20 $TC_DP2[1,1]=3 ; vágóélhelyzet<br />

N30 $TC_DP3[1,1]=12<br />

N40 $TC_DP4[1,1]=1<br />

N50 $TC_DP6[1,1]=6<br />

N60 $TC_DP10[1,1]=110 ; tartószög<br />

N70 $TC_DP11[1,1]=3 ; vágásirány<br />

N80 $TC_DP24[1,1]=25 ; szabadszög<br />

N90 $TC_CARR7[2]=0 $TC_CARR8[2]=1 $TC_CARR9[2]=0 ; B tengely<br />

N100 $TC_CARR10[2]=0 $TC_CARR11[2]=0 $TC_CARR12[2]=1 ; C tengely<br />

N110 $TC_CARR13[2]=0<br />

N120 $TC_CARR14[2]=0<br />

N130 $TC_CARR21[2]=X<br />

N140 $TC_CARR22[2]=X<br />

N150 $TC_CARR23[2]="M"<br />

N160 TCOABS CUTMOD=0<br />

N170 G18 T1 D1 TCARR=2 X Y Z<br />

N180 X0 Y0 Z0 F10000 ; 12.000 0.000 1.000<br />

N190 $TC_CARR13[2]=30<br />

N200 TCARR=2<br />

N210 X0 Y0 Z0 ; 10.892 0.000 -5.134<br />

N220 G42 Z–10 ; 8.696 0.000 –17.330<br />

N230 Z–20 ; 8.696 0.000 –21.330<br />

N240 X10 ; 12.696 0.000 –21.330<br />

N250 G40 X20 Z0 ; 30.892 0.000 –5.134<br />

N260 CUTMOD=2 X0 Y0 Z0 ; 8.696 0.000 –7.330<br />

N270 G42 Z–10 ; 8.696 0.000 –17.330<br />

N280 Z–20 ; 8.696 0.000 –21.330<br />

N290 X10 ; 12.696 0.000 –21.330<br />

N300 G40 X20 Z0 ; 28.696 0.000 –7.330<br />

N310 M30<br />

Munka-előkészítés<br />

448 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.11 Vágóél adatok módosítása forgatható szerszámoknál (CUTMOD)<br />

Magyarázatok:<br />

Az N180 mondatban a szerszám először CUTMOD=0-nál és nem elforgatott tájolható<br />

szerszámtartóval lesz kiválasztva. Mivel a tájolható szerszámtartó valamennyi offset-vektora<br />

0, az a pozíció lesz felvéve, amelyik a $TC_DP3[1,1] és $TC_DP4[1,1]-ben megadott<br />

szerszámhossznak megfelel.<br />

Az N200 mondatban a tájolható szerszámtartó egy 30°-os forgatással a B tengely körül lesz<br />

aktiválva. Mivel a vágóélhelyzet CUTMOD=0 miatt nem lesz módosítva, továbbra is a régi vágóél<br />

vonatkoztatási pont a mérvadó. Ezért az N210 mondatban az a pozíció lesz felvéve, amelyik a<br />

régi vágóél vonatkoztatási pontot a nullapontban megtartja (vagyis az (1, 12) vektor a Z/Xsíkban<br />

30°-kal lesz elforgatva).<br />

Az N260 mondatban ellenben a N200 CUTMOD=2 hatásos. A tájolható szerszámtartó forgatása<br />

miatt a módosított vágóélhelyzet 8. Ebből következnek az eltérő tengelypozíciók.<br />

Az N220 ill. N270 mondatokban a szerszámsugár-korrekció aktiválva lesz.. Az eltérő<br />

vágóélhelyzetnek a két programrészben nincs befolyása a mondatok végpozícióira,<br />

amelyekben a szerszámsugár-korrekció aktív, a megfelelő pozíciók ezért azonosak. Csak az<br />

N260 ill. N300 kikapcsolási mondatokban hatnak ismét a különböző vágóélhelyzetek.<br />

További információk<br />

Módosított vágóélhelyzet hatásossága<br />

A módosított vágóélhelyzet és a módosított vágóél vonatkoztatási pont a programozásnál a<br />

már aktív szerszámra azonnal hatásos. A szerszám kiválasztása ehhez nem szükséges.<br />

Az aktív munkasík hatása<br />

A módosított vágóélhelyzet, vágásirány és tartó- ill. szabadszög meghatározására a a vágóél<br />

nézete a mindenkori aktív síkban (G17 - G19) mérvadó.<br />

Ha azonban a SD42940 $SC_TOOL_LENGTH_CONST beállítási adat (szerszámhosszkompenzáció<br />

váltása síkváltásnál) egy nullától különböző érvényes értéket (plusz vagy<br />

mínusz 17, 18 vagy 19) tartalmaz, akkor ez határozza meg a síkot, amelyben a megfelelő<br />

értékeket meg kell nézni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 449


Szerszámkorrekciók<br />

7.11 Vágóél adatok módosítása forgatható szerszámoknál (CUTMOD)<br />

Rendszerváltozók<br />

A rendszerváltozók állnak rendelkezésre:<br />

Rendszerváltozók<br />

$P_CUTMOD_ANG /<br />

$AC_CUTMOD_ANG<br />

$P_CUTMOD /<br />

$AC_CUTMOD<br />

$P_CUT_INV /<br />

$AC_CUT_INV<br />

Jelentés<br />

Megadja a (nem kerekített) szöget a megmunkálási síkban, ami a vágóéladatok<br />

(vágóélhelyzet, vágásirány, szabadszög és tartószög)<br />

módosításánál aCUTMOD-dal ill. a $SC_CUTDIRMOD-dal aktivált<br />

funkcióknál alapul lett véve.<br />

A $P_CUTMOD_ANG az aktuális állapotra vonatkozik az előre-futásban,<br />

az $AC_CUTMOD_ANG az aktuális főfutás mondatra.<br />

Olvassa az érvényes értéket, ami utoljára a CUTMOD utasítással<br />

programozva lett (szerszámtartó száma, amelyre a vágóél-adatok<br />

módosítása aktiválva kell legyen).<br />

Ha az utoljára programozott CUTMOD érték = -2 volt (aktiválás az<br />

aktuálisan aktív tájolható szerszámtartóval), akkor a $P_CUTMOD-ban<br />

nem a -2 érték, hanem a programozás időpontjában aktív tájolható<br />

szerszámtáró száma lesz visszaadva.<br />

A $P_CUTMOD az aktuális állapotra vonatkozik az előre-futásban, az<br />

$AC_CUTMOD az aktuális főfutás mondatra.<br />

A TRUE értéket adja, ha a szerszám úgy van elforgatva, hogy az<br />

orsóirányt invertálni kell. Ehhez abban a mondatban, amelyikre az<br />

olvasási művelet vonatkozik, a következő négy feltételnek kell teljesülnie:<br />

1. Egy eszterga- vagy köszörűszerszám aktív<br />

(szerszámtípus 400 ... 599 és / vagy<br />

SD42950 $SC_TOOL_LENGTH_TYPE = 2).<br />

2. A vágóél befolyásolása a CUTMOD utasítással lett aktiválva.<br />

3. Egy tájolható szerszámtartó aktív, amit a CUTMOD számértéke adott<br />

meg.<br />

4. A tájolható szerszámtartó elforgatja a szerszámot egy tengely körül a<br />

megmunkálási síkban (tipikusan a C tengely) úgy, hogy a szerszámvágóél<br />

eredő normálja a kiindulási helyzethez képest 90°-nál többel<br />

(tipikusan 180°) van elforgatva.<br />

Ha a megadott négy feltételből legalább egy nem teljesül, a változó<br />

tartalma a FALSE. Azokra a szerszámokra, amelyek vágóélhelyzete nem<br />

definiált, a változó értéke mindig FALSE.<br />

A $P_CUT_INV az aktuális állapotra vonatkozik az előre-futásban, az<br />

$AC_CUT_INV az aktuális főfutás mondatra.<br />

Az összes főfutás változót ($AC_CUTMOD_ANG, $AC_CUTMOD és $AC_CUT_INV) lehet<br />

olvasni szinkronakciókban. Egy olvasás az előrefutásból előrefutás-álljt okoz.<br />

Munka-előkészítés<br />

450 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Szerszámkorrekciók<br />

7.11 Vágóél adatok módosítása forgatható szerszámoknál (CUTMOD)<br />

Módosított vágóél-adatok:<br />

Ha egy szerszámforgatás aktív, a módosított adatok a következő rendszerváltozókban<br />

lesznek rendelkezésre bocsájtva:<br />

Rendszerváltozó<br />

$P_AD[2]<br />

$P_AD[10]<br />

$P_AD[11]<br />

$P_AD[24]<br />

Jelentés<br />

vágóélhelyzet<br />

tartószög<br />

vágásirány<br />

szabadszög<br />

Megjegyzés<br />

Az adatok a megfelelő szerszámparaméterekhez ($TC_DP2[..., ...] stb.) viszonyítva mindig<br />

akkor vannak módosítva, ha a "Vágóél-adatok módosítása forgatható szerszámoknál"<br />

funkció a CUTMOD-dal aktiválva lett és egy tájolható szerszámtartó aktív, ami egy<br />

szerszámforgatást eredményez.<br />

Irodalom<br />

További információk a "Vágóél adatok módosítása forgatható szerszámoknál" funkcióhoz,<br />

lásd:<br />

Alap funkciók működési kézikönyv; Szerszámkorrekciók (W1)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 451


Szerszámkorrekciók<br />

7.11 Vágóél adatok módosítása forgatható szerszámoknál (CUTMOD)<br />

Munka-előkészítés<br />

452 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés 8<br />

8.1 Érintőleges vezérlés (TANG, TANGON, TANGOF, TLIFT,<br />

TANGDEL)<br />

Funkció<br />

A követő tengely a vezető tengely által meghatározott pályán az érintő mentén lesz vezetve.<br />

Ezzel egy szerszámot a kontúrral pár<strong>hu</strong>zamosan lehet irányítani A TANGON utasításban<br />

programozott szöggel a szerszámot az érintőhöz viszonyítva lehet beállítani.<br />

<br />

<br />

Alkalmazás<br />

Az érintőleges vezérlést egyebek között lehet használni:<br />

● egy forgatható szerszám érintőleges ráállításához sapkázásnál<br />

● a munkadarab beállítása utánvezetéséhez szalagfűrésznél (lásd a rajzon)<br />

● egy lehúzószerszám ráállításához egy köszörűtárcsára<br />

● egy vágókerék ráállításához üveg vagy papír megmunkálásnál<br />

● egy drót érintőleges hozzávezetésére 5-tengelyes hegesztésnél<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 453


Pályaviselkedés<br />

8.1 Érintőleges vezérlés (TANG, TANGON, TANGOF, TLIFT, TANGDEL)<br />

<br />

<br />

<br />

<br />

Szintaxis<br />

Érintőleges után-vezetést definiálni:<br />

TANG(,,,,,)<br />

Érintőleges vezérlést bekapcsolni:<br />

TANGON(,,,)<br />

Érintőleges vezérlést kikapcsolni:<br />

TANGOF()<br />

"Közbenső mondatot a kontúrsarkokon beszúrni" funkciót bekapcsolni:<br />

TLIFT()<br />

A TLIFT utasítást a TANG(…) tengely-hozzárendelés után megadni.<br />

"Közbenső mondatot a kontúrsarkokon beszúrni" funkciót kikapcsolni:<br />

TANG(...) utasítást ismételni a követő TLIFT() nélkül.<br />

Egy érintőleges utánvezetés definíció törlése<br />

TANGDEL()<br />

Egy, a felhasználó által definiált érintőleges utánvezetést törölni kell, ha definiálni akarunk<br />

egy új érintőleges utánvezetést ugyanazzal a követő tengellyel a TANG előkészítő<br />

felhívásban. A törlés csak akkor lehetséges, ha a csatolás TANGOF()-lyel ki van<br />

kapcsolva.<br />

Jelentés<br />

TANG:<br />

TANGON:<br />

előkészítő utasítás egy érintőleges utánvezetés definícióhoz<br />

érintőleges vezérlés bekapcsolása a megadott követő tengelyre<br />

Munka-előkészítés<br />

454 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.1 Érintőleges vezérlés (TANG, TANGON, TANGOF, TLIFT, TANGDEL)<br />

TANGOF:<br />

TLIFT:<br />

TANGDEL:<br />

:<br />

(,):<br />

:<br />

:<br />

:<br />

:<br />

:<br />

:<br />

érintőleges vezérlés kikapcsolása a megadott követő tengelyre<br />

"Közbenső mondatot a kontúrsarkokon beszúrni" funkciót bekapcsolni<br />

egy érintőleges utánvezetés definíciót törölni<br />

követő tengely: érintőlegesen utánvezetett kiegészítő körtengely<br />

vezető tengelyek: pálya tengelyek, amelyekből az érintő az<br />

utánvezetéshez meghatározásra kerül<br />

csatolási tényező: összefüggés az érintő szögváltozása és az<br />

utánvezetett tengely között<br />

elő-beállítás: 1<br />

Utalás:<br />

Az 1 csatolási tényezőt nem kell programozni.<br />

koordinátarendszer betűjelölése<br />

"B":<br />

Alap-koordinátarendszer (elő-beállítás)<br />

Utalás:<br />

= "B"-t nem kell programozni.<br />

"W":<br />

munkadarab-koordinátarendszer (nem áll<br />

rendelkezésre)<br />

optimalizálás<br />

"S":<br />

Alap-koordinátarendszer (elő-beállítás)<br />

Utalás:<br />

= "S"-t nem kell programozni.<br />

"P":<br />

az érintőleges tengely és a kontúr időbeli lefutásának<br />

automatikus illesztése<br />

Utalás:<br />

Az = "P" esetén a követő tengely dinamikája a<br />

vezető tengelyek sebesség-csökkentésénél<br />

figyelembe lesz véve. Ez a beállítás mindenek előtt a<br />

kinematikus transzformációk használatánál<br />

ajánlatos.<br />

követő tengely offsetszög<br />

követő tengely átmenet simítás út, ( = "P" esetén szükséges)<br />

követő tengely szögtűrése (opcionális; kiértékelés csak = "P"<br />

esetén szükséges)<br />

Utalás:<br />

A és célzottan korlátozzák a hibát az utánvezetett<br />

tengely és a vezető tengely érintője között.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 455


Pályaviselkedés<br />

8.1 Érintőleges vezérlés (TANG, TANGON, TANGOF, TLIFT, TANGDEL)<br />

Példák<br />

Példa 1: Érintőleges után-vezetést definiálni és bekapcsolni<br />

Programkód<br />

N10 TANG(C,X,Y,1,"B","P")<br />

N20 TANGON(C,90)<br />

...<br />

Kommentár<br />

; egy érintőleges utánvezetés definíciója C<br />

körtengely kövesse az X és Y geometriatengelyeket<br />

; C tengely követő tengely Ez a pályatengely<br />

minden mozgásánál a pálya-érintőhöz 90°-os<br />

pozícióba lesz forgatva.<br />

Megjegyzés<br />

Egyszerűsített programozás<br />

TANG(C,X,Y,1,"B","P")-t lehet egyszerűen programozni, mint TANG(C,X,Y,,,"P").<br />

Példa 2: Síkváltás<br />

Programkód<br />

N10 TANG(A,X,Y,1)<br />

N20 TANGON(A)<br />

N30 X10 Y20<br />

...<br />

N80 TANGOF(A)<br />

N90 TANGDEL(A)<br />

...<br />

TANG(A,X,Z)<br />

TANGON(A)<br />

...<br />

N200 M30<br />

Kommentár<br />

; érintőleges utánvezetés 1. definíció<br />

; csatolás aktiválása<br />

; sugár<br />

; 1. csatolás kikapcsolása<br />

; 1. definíció törlése<br />

; érintőleges utánvezetés 2. definíció<br />

; új csatolás aktiválása<br />

Munka-előkészítés<br />

456 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.1 Érintőleges vezérlés (TANG, TANGON, TANGOF, TLIFT, TANGDEL)<br />

Példa 3: Geometria-tengely átkapcsolásra és TANGDEL<br />

Nem keletkezik vészjelzés.<br />

Programkód<br />

Kommentár<br />

N10 GEOAX(2,Y1) ; Y1 a geometria-tengely 2<br />

N20 TANG(A,X,Y)<br />

; érintőleges utánvezetés 1. definíció<br />

N30 TANGON(A,90)<br />

; Y1-gyel utánvezetés aktiválása<br />

N40 G2 F8000 X0 Y0 I0 J50<br />

N50 TANGOF(A)<br />

; Y1-gyel utánvezetés deaktiválása<br />

N60 TANGDEL(A)<br />

; 1. definíció törlése<br />

N70 GEOAX(2,Y2) ; Y2 az új geometria-tengely 2<br />

N80 TANG(A,X,Y)<br />

; érintőleges utánvezetés 2. definíció<br />

N90 TANGON(A,90)<br />

; Y2-vel utánvezetés aktiválása<br />

...<br />

Példa 4: Érintőleges utánvezetés automatikus optimalizálással<br />

Y1 a geometria-tengely 2<br />

Programkód<br />

Kommentár<br />

...<br />

N80 G0 C0<br />

N100 F=50000<br />

N110 G1 X1000 Y500<br />

N120 TRAORI<br />

N130 G642 ; átsimítás a maximális megengedett pályaeltérés<br />

betartásával<br />

N171 TRANS X50 Y50<br />

N180 TANG(C,X,Y,1,,"P") ; érintőleges utánvezetés definíciója a pályasebesség<br />

automatikus optimalizálásával<br />

N190 TANGON(C,0,5.0,2.0) ; érintőleges utánvezetés bekapcsolása automatikus<br />

optimalizálással: átsimítás út 5 mm, szögtűrés 2 fok<br />

N210 G1 X1310 Y500<br />

N215 G1 X1420 Y500<br />

N220 G3 X1500 Y580 I=AC(1420) J=AC(580)<br />

N230 G1 X1500 Y760<br />

N240 G3 X1360 Y900 I=AC(1360) J=AC(760)<br />

N250 G1 X1000 Y900<br />

N280 TANGOF(C)<br />

N290 TRAFOOF<br />

N300 M02<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 457


Pályaviselkedés<br />

8.1 Érintőleges vezérlés (TANG, TANGON, TANGOF, TLIFT, TANGDEL)<br />

További információk<br />

Követő és vezető tengely definiálása<br />

A követő és vezető tengelyek definíciója TANG-gal történik.<br />

Egy csatolási tényező megadja az összefüggést az érintő szög-változása és az utánvezetett<br />

tengely között. Az értéke általában 1 (előbeállítás).<br />

Határszög munkatér-határolással<br />

Az oda-vissza pályamozgásnál az érintő a pálya fordulópontjában 180°-ot ugrik, ennek<br />

megfelelően változik a követő tengely beállítása. Általában ennek nincs értelme: a visszamozgást<br />

ugyanazzal a negatív offsetszöggel kell megtenni, mint az odafelé-mozgást.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Ehhez korlátozzuk a követő tengely munkaterét (G25, G26). A munkatér határolásnak a<br />

pályafordulat időpontjában aktívnak kell lenni (WALIMON). Ha az offsetszög a munkatér<br />

határoláson kívül van, a rendszer megkíséreli negatív offsetszöggel ismét a megengedett<br />

munkatartományba jutni.<br />

Közbenső mondat beszúrása a kontúrsarkokon (TLIFT)<br />

A kontúr egyik sarkánál az érintő és ezzel a követő tengely parancs-pozíciója ugrásszerűen<br />

változik. A tengely megkísérli ezt az ugrást a maximális lehetséges sebességével<br />

kiegyenlíteni. Ezzel egy bizonyos távolságra a sarkok után a kontúron eltérés keletkezik a<br />

kívánt érintőleges beállítástól. Ha ez technológiai okokból nem tolerálható, a TLIFT<br />

utasítással a vezérlést ismét arra lehet utasítani, hogy a sarkokon megálljon és egy<br />

automatikusan létrehozott közbenső mondatban a vezetett tengelyt az új érintőirányba<br />

forgassa.<br />

A forgatás a programozott pályatengellyel történik, ha az utánvezetett tengely egyszer már<br />

pályatengelyként lett vezetve. A TFGREF[]=0.001 funkcióval itt elérhető a maximális<br />

tengelysebesség az utánvezetett tengelyre.<br />

Ha az utánvezetett tengely eddig nem mozgott pályatengelyként, akkor ez a tengely<br />

pozícionáló tengelyként fog mozogni. A sebesség ekkor függ a gépadatban megadott<br />

pozícionáló-sebességtől.<br />

A forgatás az utánvezetett tengely maximális sebességével történik.<br />

Munka-előkészítés<br />

458 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.1 Érintőleges vezérlés (TANG, TANGON, TANGOF, TLIFT, TANGDEL)<br />

Optimalizálási lehetőség<br />

Ha az automatikus optimalizálás ki van választva (="P") és a követő tengelyre az<br />

átsimítási út () és szögtűrés () paraméterek meg vannak adva, akkor az<br />

érintőleges utánvezetésnél a vezető tengely kontúr ugrásaiból következő sebesség-ugrások<br />

a követő tengelyen át lesznek hidalva ill. le lesznek simítva. Ennek során a követő tengely<br />

előre tekintve lesz vezetve (lásd az ábrán) az eltérés lehetőleg alacsonyan tartása céljából.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Szögváltozás definiálása<br />

A szögváltozás, amelytől egy automatikus közbenső mondat lesz beszúrva, a következő<br />

gépadatban van definiálva.<br />

MD37400 $MA_EPS_TLIFT_TANG_STEP (érintőszög sarok-felismeréshez)<br />

Hatás a transzformációra<br />

Az utánvezetett körtengely pozíciója lehet egy transzformáció bemenő értéke.<br />

Követő tengely közvetlen pozícionálása<br />

Ha egy vezető tengely által vezetett követő tengely közvetlenül pozícionálva lesz, akkor ez a<br />

pozíció megadás hozzáadódik a programozott offsetszöghöz.<br />

Megengedett az összes útmegadás: pálya- és pozicionáló-tengely mozgások.<br />

A csatolás állapota<br />

Az NC munkadarabprogramban a csatolás állapotát az $AA_COUP_ACT[]<br />

rendszerváltozókkal lehet lekérdezni:<br />

Érték Jelentés<br />

0 nincs aktív csatolás<br />

1,2,3 érintőleges utánvezetés aktív<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 459


Pályaviselkedés<br />

8.2 Előtolás lefutás (FNORM, FLIN, FCUB, FPO)<br />

8.2 Előtolás lefutás (FNORM, FLIN, FCUB, FPO)<br />

Funkció<br />

Az előtolás lefutásának rugalmas megadására az előtolás<br />

DIN 66025 szerinti programozása ki lett bővítve a lineáris és a köbös lefutással.<br />

A köbös lefutást lehet közvetlenül interpoláló Spline-ként programozni. Ezáltal lehetséges - a<br />

megmunkálandó munkadarab görbületeitől függően- folytonosan sima sebesség lefutást<br />

programozni.<br />

Ezek a sebesség lefutások rándulásmentes gyorsulás változásokat és ezáltal egyenletesebb<br />

munkadarab felület készítését teszik lehetővé.<br />

Szintaxis<br />

F… FNORM<br />

F… FLIN<br />

F… FCUB<br />

F=FPO(…,…,…)<br />

Jelentés<br />

FNORM<br />

Alap-beállítás. Az előtolás értékét a mondat pályaútja adja meg és azután<br />

modális értékként hat.<br />

FLIN<br />

Pálya sebesség-profil lineáris:<br />

Az előtolás értéket a mondat kezdeti aktuális értéktől a mondat végéig a<br />

pályaúton lineáris és azután modális értékként hat. Ezt az eljárást lehet G93<br />

és G94-gyel kombinálni<br />

FCUB<br />

Pálya sebesség-profil köbös:<br />

A mondatonként programozott F-értékek - a mondat végére vonatkoztatva -<br />

egy Spline-nal lesznek összekötve. A Spline az előző és a következő<br />

sebesség-megadásokhoz érintőlegesen csatlakozik és G93 és G94-gyel<br />

hat.<br />

Ha hiányzik egy mondatban az F-cím, akkor itt az utolsó programozott F-<br />

érték kerül alkalmazásra.<br />

F=FPO…<br />

Pálya sebesség-profil polinom:<br />

Az F-cím az előtolás lefutását az aktuális értéktől a mondat végéig egy<br />

polinommal írja le. A vég-érték azután a modális érték.<br />

Előtolást optimalizálás töredezett pályaszakaszokon<br />

Az F=FPO előtolás-polinom és az FCUB előtolás-spline mindig CFC állandó vágósebességgel<br />

lesz megtéve. Ezáltal lehetséges egy egyenletes gyorsulású parancs sebesség-profil<br />

létrehozása.<br />

Munka-előkészítés<br />

460 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.2 Előtolás lefutás (FNORM, FLIN, FCUB, FPO)<br />

Példa: Különféle sebesség-profilok<br />

Ebben a példában a különféle sebesség-profilok grafikus ábrázolása és programozása<br />

látható.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

N1 F1000 FNORM G1 X8 G91 G64<br />

N2 F2000 X7<br />

N3 F=FPO(4000, 6000, -4000)<br />

N4 X6<br />

N5 F3000 FLIN X5<br />

N6 F2000 X8<br />

N7 X5<br />

N8 F1000 FNORM X5<br />

N9 F1400 FCUB X8<br />

N10 F2200 X6<br />

N11 F3900 X7<br />

N12 F4600 X7<br />

N13 F4900 X5<br />

N14 FNORM X5<br />

N15 X20<br />

Kommentár<br />

; állandó előtolás-profil, láncméret megadás<br />

; ugrásszerű parancssebesség változás<br />

; előtolás-profil polinommal 4000-es<br />

előtolással a mondat végén<br />

; polinom előtolás 4000 modális érték<br />

; lineáris előtolás-profil<br />

; lineáris előtolás-profil<br />

lineáris előtolás modális érték<br />

; állandó előtolás-profil ugrásszerű előtolás<br />

változással<br />

; az összes következő mondatonként<br />

programozott F érték Spline-nal lesz<br />

összekötve<br />

; Spline-profil kikapcsolása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 461


Pályaviselkedés<br />

8.2 Előtolás lefutás (FNORM, FLIN, FCUB, FPO)<br />

FNORM<br />

Az F előtolás cím a pályaelőtolás értéket állandó értékként adja meg a DIN 66025 szerint.<br />

Több információ erről a Programozási kézikönyv Alapok-ban található.<br />

<br />

<br />

<br />

<br />

FLIN<br />

Az előtolás lefutás az aktuális értéktől a programozott F-értékig lineárisan fut a mondat<br />

végéig.<br />

Példa:<br />

N30 F1400 FLIN X50<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

462 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.2 Előtolás lefutás (FNORM, FLIN, FCUB, FPO)<br />

FCUB<br />

Az előtolás lefutás az aktuális értéktől a programozott F-értékig köbös lefutásban változik a<br />

mondat végéig. A vezérlés az összes aktív FCUB-bal mondatonként programozott előtolás<br />

értéket egy Spline-nal köti össze Az előtolás értékek itt támpontokként szolgálnak a Spline<br />

interpoláció kiszámításához.<br />

Példa:<br />

N50 F1400 FCUB X50<br />

N60 F2000 X47<br />

N70 F3800 X52<br />

<br />

<br />

<br />

<br />

F=FPO(…,…,…)<br />

Az előtolás lefutás egy polinommal közvetlenül van programozva. A polinom együtthatóinak<br />

megadása a polinom interpolációval azonos.<br />

Példa:<br />

F=FPO(endfeed, quadf, cubf)<br />

endfeed, quadf és cubf előre definiált változók.<br />

endfeed:<br />

quadf:<br />

cubf:<br />

előtolás a mondatvégen<br />

négyzetes polinom együttható<br />

köbös polinom együttható<br />

Aktív FCUB-nál a Spline a mondat elején és végén érintőlegesen kapcsolódik az FPO-val<br />

megadott lefutáshoz.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 463


Pályaviselkedés<br />

8.2 Előtolás lefutás (FNORM, FLIN, FCUB, FPO)<br />

<br />

<br />

<br />

<br />

Peremfeltételek<br />

A programozott előtolás lefutástól függetlenül érvényesek a pálya-viselkedés programozás<br />

funkciók.<br />

A programozott előtolás lefutás alapvetően abszolút - függetlenül a G90 vagy G91-től.<br />

Az FLIN és FCUB előtolás lefutás hatásos<br />

G93 és G94.<br />

FLIN és FCUB nem hatásos<br />

G95, G96/G961 és G97/G971.<br />

Aktív kompresszor COMPON<br />

Az aktív COMPON kompresszornál érvényes több mondat összefogásánál egy Splineszegmensbe:<br />

FNORM:<br />

A Spline-szegmensre az utolsó hozzátartozó mondat F-szava érvényes.<br />

FLIN:<br />

A Spline-szegmensre az utolsó hozzátartozó mondat F-szava érvényes.<br />

A programozott F-érték a szegmens végére érvényes és akkor lineárisan lesz megtéve.<br />

FCUB:<br />

A létrehozott előtolás Spline maximum az C $MC_COMPRESS_VELO_TOL gépadatban megadott<br />

értékkel tér el a programozott végpontokon.<br />

F=FPO(…,…,…)<br />

Ezek a mondatok nem lesznek komprimálva.<br />

Munka-előkészítés<br />

464 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.3 Programlefutás előrefutás tárolóval (STARTFIFO, STOPFIFO, STOPRE)<br />

8.3 Programlefutás előrefutás tárolóval (STARTFIFO, STOPFIFO,<br />

STOPRE)<br />

Funkció<br />

A vezérlésnek a kiépítettségétől függően van egy megadott méretű un. előrefutás tárolója,<br />

amelyik az előkészített mondatokat a feldolgozás előtt tárolja és a feldolgozás során gyorsan<br />

sorban kiadja. Ezáltal lehetséges rövid utakat nagy sebességgel megtenni. Amennyire a<br />

vezérlés maradékideje ezt lehetővé teszi, tölti az előrefutás tárolót.<br />

<br />

<br />

<br />

<br />

Megmunkálási szakasz megjelölése<br />

A megmunkálási szakaszt, amelyet az előrefutás tárolóban tárolni akarunk, az elején a<br />

STOPFIFO-val és a végén a STARTFIFO-val jelöljük meg. Az előkészített és közben tárolt<br />

mondatok feldolgozása csak STARTFIFO utasítás után kezdődik vagy ha az előrefutás tároló<br />

megtelt.<br />

Automatikus előrefutás tároló vezérlés<br />

Az automatikus előrefutás tároló vezérlést a FIFOCTRL utasítás hívja fel. A FIFOCTRL először<br />

ugyanúgy hat, mint a STOPFIFO. Minden programozásnál addig lesz várva, amíg az előrefutás<br />

tároló megtelik, utána kezdődik a feldolgozás. Eltérő a viselkedés az előrefutás tároló<br />

kiürülésénél: a FIFOCTRL-lal a 2/3-os töltöttségi szintnél a pályasebesség csökkentve lesz a<br />

teljes kiürülés és a megállásig lefékezés elkerülésére.<br />

Előrefutás-állj<br />

A mondat-előkészítés és a közbenső tárolás meg lesz állítva. ha a mondatban a STOPRE<br />

programozva van. A következő mondat csak akkor lesz végrehajtva, ha az összes eddig<br />

előkészített és tárolt mondat teljes feldolgozása befejeződik. Az előző mondat pontos állj-jal<br />

(mint G9) lesz megállítva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 465


Pályaviselkedés<br />

8.3 Programlefutás előrefutás tárolóval (STARTFIFO, STOPFIFO, STOPRE)<br />

Szintaxis<br />

Táblázat 8- 1 Megmunkálási szakasz megjelölése:<br />

STOPFIFO<br />

...<br />

STARTFIFO<br />

Táblázat 8- 2 Automatikus előrefutás tároló vezérlés:<br />

...<br />

FIFOCTRL<br />

...<br />

Táblázat 8- 3 Előrefutás-állj:<br />

...<br />

STOPRE<br />

...<br />

Megjegyzés<br />

A STOPFIFO, STARTFIFO, FIFOCTRL és STOPRE utasításokat külön mondatban kell programozni..<br />

Jelentés<br />

STOPFIFO:<br />

STARTFIFO:<br />

FIFOCTRL:<br />

STOPRE:<br />

A STOPFIFO jelöli egy megmunkálási szakasz elejét, amit a közbenső<br />

tárolóban kell tárolni. A STOPFIFO a megmunkálás meg lesz állítva és az<br />

előrefutás tároló lesz töltve, amíg:<br />

STARTFIFO vagy STOPRE lesz felismerve<br />

vagy<br />

az előrefutás tároló tele lesz<br />

vagy<br />

a program vége el lesz érve.<br />

A STARTFIFO indítja a megmunkálási szakasz gyors feldolgozását, ezzel<br />

pár<strong>hu</strong>zamosan történik az előrefutás tároló feltöltése<br />

az automatikus előrefutás tároló vezérlés bekapcsolása<br />

előrefutást megállítani<br />

Munka-előkészítés<br />

466 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.3 Programlefutás előrefutás tárolóval (STARTFIFO, STOPFIFO, STOPRE)<br />

Megjegyzés<br />

Az előrefutás tároló feltöltése nem lesz végrehajtva ill. meg lesz szakítva, ha a<br />

megmunkálási szakasz olyan utasításokat tartalmaz, amelyek egy pufferelés nélküli<br />

működést kényszerítenek (referencia pontra menet, mérési funkciók, ...)<br />

Megjegyzés<br />

A gép állapotadataihoz ($A…) hozzáférésnél a vezérlés egy belső előrefutás-álljt hoz létre.<br />

VIGYÁZAT<br />

Bekapcsolt szerszámkorrekciónál és Spline-interpolációnál nem kellene STOPRE-t<br />

programozni, mert összetartozó mondat-blokkok megszakításra kerülhetnek.<br />

Példa: előrefutást megállítani<br />

Programkód<br />

...<br />

N30 MEAW=1 G1 F1000 X100 Y100 Z50<br />

N40 STOPRE<br />

...<br />

Kommentár<br />

; mérési mondat az 1-es mérőbemeneten és<br />

egyenes-interpoláció<br />

; előrefutás-állj<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 467


Pályaviselkedés<br />

8.4 Feltételesen megszakítható programszakaszok (DELAYFSTON, DELAYFSTOF)<br />

8.4 Feltételesen megszakítható programszakaszok (DELAYFSTON,<br />

DELAYFSTOF)<br />

Funkció<br />

A feltételesen megszakítható programszakaszokat Stopp-Delay tartományoknak nevezik.<br />

Bizonyos programszakaszokon belül nem szabad megállni és nem szabad változtatni az<br />

előtolást. Lényegében a rövid programszakaszokat, amelyek pl. egy menet előállítására<br />

szolgálnak, szinte minden Stop-eseménytől védeni kell. Egy esetleges Stop csak a<br />

programszakasz teljes feldolgozása után hat.<br />

Szintaxis<br />

DELAYFSTON<br />

DELAYFSTOF<br />

Az utasítások egyedül állnak egy programsorban.<br />

Mindkét utasítás csak a munkadarabprogramokban megengedett, a szinkronakciókban nem.<br />

Jelentés<br />

DELAYFSTON<br />

DELAYFSTOF<br />

Egy tartomány kezdetét definiálja, a melyben a "lágy" Stopok késleltetve<br />

lesznek a Stopp-Delay tartomány végének eléréséig.<br />

Egy Stopp-Delay tartomány végének definiálása<br />

Megjegyzés<br />

Az MD11550 $MN_STOP_MODE_MASK bit 0 = 0 (Default) gépadatnál (alaphelyzet) egy<br />

Stopp-Delay tartomány implicit módon lesz definiálva, ha G331/G332 aktív és egy<br />

pályamozgás ill. G4 van programozva.<br />

Példa: Stop esemény<br />

A Stopp-Delay tartományban az előtolás és előtolás-tiltás változásai nem lesznek figyelembe<br />

véve. Ezzel csak a Stopp-Delay tartomány után hatnak.<br />

A Stop események különböznek:<br />

"lágy" Stop események<br />

"kemény" Stop események<br />

reakció: késleltetett<br />

reakció: közvetlen<br />

Munka-előkészítés<br />

468 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.4 Feltételesen megszakítható programszakaszok (DELAYFSTON, DELAYFSTOF)<br />

Néhány Stop esemény, amelyek legalább rövid megállást okoznak.<br />

Esemény neve Reakció Megszakítás paraméter<br />

RESET közvetlen NST: DB21,… DBX7.7 és DB11, … DBX20.7<br />

PROG_END 16954 vészjelzés NC program: M30<br />

INTERRUPT késleltetett NST: FC-9 és ASUP DB10, ... DBB1<br />

SINGLEBLOCKSTOP késleltetett Egyes-mondat üzem a Stopp-Delay tartományban<br />

bekapcsolva:<br />

NC megállaz 1. mondat végén a Stopp-Delay tartományon<br />

kívül.<br />

Egyes-mondat már a Stopp-Delay tartomány előtt<br />

bekapcsolva:<br />

NST: "NC-Stop a mondathatáron" DB21, ... DBX7.2<br />

STOPPROG késleltetett NST: DB21,… DBX7.3 és DB11, … DBX20.5<br />

PROG_STOP 16954 vészjelzés NC program: M0 és M1<br />

WAITM 16954 vészjelzés NC program: WAITM<br />

WAITE 16954 vészjelzés NC program: WAITE<br />

STOP_ALARM közvetlen vészjelzés: STOPBYALARM vészjelzés beállítás<br />

RETREAT_MOVE_THREAD 16954 vészjelzés NC program: 16954 vészjelzés LFON-nál<br />

(Stopp & Fastlift a G33-ban nem lehetséges)<br />

WAITMC 16954 vészjelzés NC program: WAITMC<br />

NEWCONF_PREP_STOP 16954 vészjelzés NC program: NEWCONF<br />

SYSTEM_S<strong>HU</strong>TDOWN közvetlen rendszer leállítás 840Di-nél<br />

ESR késleltetett kibővített leállítás és visszahúzás<br />

EXT_ZERO_POINT késleltetett Külső nullaponteltolás<br />

STOPRUN 16955 vészjelzés BTSS: PI "_N_FINDST" STOPRUN<br />

A reakciók magyarázata<br />

közvetlen ("kemény" Stop esemény)<br />

késleltetett ("lágy" Stop esemény)<br />

rögtön megáll a Stopp-Delay tartományban is<br />

megállás (rövid is) csak a Stopp-Delay<br />

tartomány után<br />

16954 vészjelzés Program megszakad, mivel a Stopp-Delay<br />

tartományban nem megengedett<br />

programutasítások lettek használva.<br />

16955 vészjelzés Program folytatva lesz, a Stopp-Delay<br />

tartományban egy nem megengedett akció<br />

történt.<br />

16957 vészjelzés A DELAYFSTON és DELAYFSTOF által<br />

kijelölt programtartományt (Stopp-Delay<br />

tartomány) nem lehetett aktiválni. Ezért a<br />

tartományban minden Stop azonnal hat és<br />

nincs késleltetve.<br />

A Stop eseményekre további reakciók összefoglalása található:<br />

Irodalom:<br />

Alap funkciók működési kézikönyv; BAG, csatorna, program-üzem (K1),<br />

fejezet: "Befolyások és hatások Stop eseményekre"<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 469


Pályaviselkedés<br />

8.4 Feltételesen megszakítható programszakaszok (DELAYFSTON, DELAYFSTOF)<br />

Példa: Stopp-Delay tartományok egymásba skatulyázására két programszinten<br />

Programkód<br />

Kommentár<br />

N10010 DELAYFSTON() ; mondatok N10xxx-szel programszint 1<br />

N10020 R1 = R1 + 1<br />

N10030 G4 F1<br />

...<br />

N10040 Unterprogramm2<br />

...<br />

; Stopp-Delay tartomány kezdődik<br />

... ; Unterprogramm2 értelmezése<br />

N20010 DELAYFSTON()<br />

...<br />

N20020 DELAYFSTOF()<br />

N20030 RET<br />

N10050 DELAYFSTOF()<br />

...<br />

N10060 R2 = R2 + 2<br />

N10070 G4 F1<br />

; hatástalan, ismételt kezdet, 2. szint<br />

; hatástalan, vége a másik szinten<br />

; Stopp-Delay tartomány vége az azonos szinten<br />

; Stopp-Delay tartomány vége Stopok mostantól<br />

közvetlenül hatnak<br />

Példa: Programkivonat<br />

Egy <strong>hu</strong>rokban a következő programblokk lesz ismételve:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A képen megállapítható, hogy a felhasználó a Stop-Delay tartományban "Stop"-ot nyom, és<br />

az NC a fékezési folyamatot a Stopp-Delay tartományon kívül kezdi, azaz az N100<br />

mondatban. Ezzel az NC az N100 előtti tartományban fog megállni.<br />

Munka-előkészítés<br />

470 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.4 Feltételesen megszakítható programszakaszok (DELAYFSTON, DELAYFSTOF)<br />

Programkód<br />

...<br />

N99 MY_LOOP:<br />

N100 G0 Z200<br />

N200 G0 X0 Z200<br />

N300 DELAYFSTON()<br />

N400 G33 Z5 K2 M3 S1000<br />

N500 G33 Z0 X5 K3<br />

N600 G0 X100<br />

N700 DELAYFSTOF()<br />

N800 GOTOB MY_LOOP<br />

Kommentár<br />

Részletek a SERUPRO típusú mondatkeresésről és az előtolásokról G331/G332 előtolás<br />

menetfúrásnál kiegyenlítő tokmány nélkül esetében, lásd:<br />

Irodalom:<br />

Alap funkciók működési kézikönyv; BAG, csatorna, program-üzem (K1)<br />

Alap funkciók működési kézikönyv; Előtolások (V1)<br />

A Stopp-Delay tartomány előnyei<br />

Egy programszakaszban a megmunkálás sebesség-visszaesés nélkül történik.<br />

Ha a felhasználó a Stop után a programot RESET-tel megszakítja, a megszakított<br />

programmondat a védett tartomány után lesz. Ez a programmondat alkalmas keresőcélnak<br />

egy azt követő mondatkereséshez.<br />

Amíg a megmunkálás a Stopp-Delay tartományban történik a következő főfutásbeli<br />

tengelyek nem lesznek megállítva:<br />

● parancstengelyek és<br />

● pozícionáló-tengelyek, amelyek POSA-val mozognak<br />

A G4 programutasítás a Stopp-Delay tartományban megengedett, ezzel szemben más<br />

programutasítások, amelyek átmeneti Stop-ot okoznak (pl. WAITM) nem megengedettek.<br />

A G4, mint egy pályamozgás, a Stopp-Delay tartományt hatásossá teszi ill. fenntartja a<br />

hatásosságát.<br />

Példa: Előtolás beavatkozások<br />

Ha az Override a Stopp-Delay tartomány előtt 6%-ra lett csökkentve, akkor az Override a<br />

Stopp-Delay tartományban hatásos lesz.<br />

Ha az Override a Stopp-Delay tartományban lett 100%-ról 6%-ra csökkentve, akkor a Stopp-<br />

Delay tartományban a mozgás végig 100% marad és utána lesz 6%-ra csökkentve.<br />

Az előtolás-tiltás a Stopp-Delay tartományban nem hatásos, a megállás csak Stopp-Delay<br />

tartomány elhagyása után következik be.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 471


Pályaviselkedés<br />

8.4 Feltételesen megszakítható programszakaszok (DELAYFSTON, DELAYFSTOF)<br />

Átlapolás/egymásba skatulyázás<br />

Ha két Stopp-Delay tartomány átfedi egymást, egyik az utasításokból és a másik az MD<br />

11550: STOP_MODE_MASK gépadatból, akkor a lehető legnagyobb Stopp-Delay tartomány lesz<br />

képezve.<br />

A következő pontok szabályozzák a DELAYFSTON és DELAYFSTOF utasítások együttműködését<br />

az egymásba skatulyázásokkal és az alprogram végekkel:<br />

1. Az alprogram végén, amelyikben a DELAYFSTON fel lett hívva, implicit DELAYFSTOF lesz<br />

aktiválva.<br />

2. DELAYFSTON Stopp-Delay tartomány hatástalan.<br />

3. Ha az Unterprogramm1 egy Stopp-Delay tartományban Unterprogramm2-t felhívja, akkor<br />

az Unterprogramm2 teljesen egy Stopp-Delay tartományban van. A DELAYFSTOF az<br />

Unterprogramm2-ben hatástalan.<br />

Megjegyzés<br />

REPOSA egy alprogramvég és DELAYFSTON minden esetben ki lesz kapcsolva.<br />

Ha egy "kemény" Stop esemény egy "Stopp-Delay tartomány"-ban lép fel, akkor a<br />

"Stopp-Delay tartomány" teljesen ki lesz kapcsolva! Ez azt jelenti, hogy ha ebben a<br />

programszakaszban egy további tetszőleges Stop lép fel, akkor azonnali megállás<br />

történik. Csak egy új programozással (új DELAYFSTON) lehet egy új Stopp-Delay tartományt<br />

megkezdeni.<br />

Ha a Stop-billentyű a Stopp-Delay tartomány előtt lesz megnyomva és az NCK a<br />

fékezéshez be kell menjen Stopp-Delay tartományba, akkor az NCK leállást eredményez<br />

a Stopp-Delay tartományban és a Stopp-Delay tartomány kikapcsolva marad!<br />

Ha egy Stopp-Delay tartományba a belépés Override 0%-val történik, a Stopp-Delay<br />

tartomány nem lesz érvényes!<br />

Ez az összes "puha" Stop eseményre érvényes.<br />

A STOPALL -lal a Stopp-Delay tartományban lehet fékezni. Egy STOPALL -lal azonban az<br />

összes többi Stop esemény azonnal aktív lesz, amelyek eddig késleltetve lettek.<br />

Rendszerváltozók<br />

Egy Stopp-Delay tartományt a $P_DELAYFST által lehet a munkadarabprogramban felismerni.<br />

Ha a bit 0 a rendszerváltozóban 1-re van állítva, akkor a munkadarabprogram feldolgozása<br />

ebben az időpontban egy Stopp-Delay tartományban van.<br />

Egy Stopp-Delay tartományt a $AC_DELAYFST által lehet a szinkronakciókban felismerni. Ha a<br />

bit 0 a rendszerváltozóban 1-re van állítva, akkor a munkadarabprogram feldolgozása ebben<br />

az időpontban egy Stopp-Delay tartományban van.<br />

Kompatibilitás<br />

A gépadat MD 11550: STOP_MODE_MASK bit 0 = 0 előbeállítása egy implicit Stopp-Delay<br />

tartományt eredményez a G331/G332 G-kód csoport alatt és ha egy pályamozgás ill. G4 van<br />

programozva.<br />

Bit 0 = 1 lehetővé teszi a Stop-ot a G331/G332 G-kód csoport alatt és ha egy pályamozgás ill.<br />

G4 van programozva (viselkedés SW 6-ig). Egy Stopp-Delay tartomány definíciójához a<br />

DELAYFSTON/DELAYFSTOF utasításokat kell használni.<br />

Munka-előkészítés<br />

472 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.5 Programhely tiltása SERUPRO számára (IPTRLOCK, IPTRUNLOCK)<br />

8.5 Programhely tiltása SERUPRO számára (IPTRLOCK,<br />

IPTRUNLOCK)<br />

Funkció<br />

A gép bizonyos komplikált mechanikai állapotaiban szükséges a SERUPRO mondatkeresést<br />

tiltani.<br />

Egy programozható megszakítás-mutatóval van egy beavatkozási lehetőség a "Keresés<br />

megszakítás-helyre" esetében a keresésre alkalmatlan hely előttre mutatni.<br />

Keresésre alkalmatlan tartományok lehetnek definiálva olyan munkadarabprogram<br />

tartományokban is, amelyekbe az NCK nem tud újra belépni. A program megszakításával az<br />

NCK megjegyzi az utoljára feldolgozott mondatot, amelyiket a HMI kezelőfelületen keresni<br />

lehet.<br />

Szintaxis<br />

IPTRLOCK<br />

IPTRUNLOCK<br />

Az utasítások egyedül állnak egy programsorban és lehetővé tesznek egy programozható<br />

megszakítás-mutatót<br />

Jelentés<br />

IPTRLOCK<br />

keresésre alkalmatlan programszakasz kezdete<br />

IPTRUNLOCK<br />

keresésre alkalmatlan programszakasz vége<br />

Mindkét utasítás csak munkadarabprogramokban használható, szinkron-akciókban azonban<br />

nem.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 473


Pályaviselkedés<br />

8.5 Programhely tiltása SERUPRO számára (IPTRLOCK, IPTRUNLOCK)<br />

Példa<br />

Keresésre alkalmatlan programszakaszok egymásba skatulyázása két programszinten<br />

implicit IPTRUNLOCK-kal. Az implicit IPTRUNLOCK az Unterprogramm 1-ben lezárja a keresésre<br />

alkalmatlan tartományt.<br />

Programkód<br />

N10010 IPTRLOCK()<br />

N10020 R1 = R1 + 1<br />

N10030 G4 F1<br />

...<br />

N10040 Unterprogramm2<br />

Kommentár<br />

; megállás mondat, a keresésre alkalmatlan<br />

programszakasz kezdete<br />

... ; Unterprogramm2 értelmezése<br />

N20010 IPTRLOCK ()<br />

...<br />

N20020 IPTRUNLOCK ()<br />

N20030 RET<br />

...<br />

N10060 R2 = R2 + 2<br />

N10070 RET<br />

N100 G4 F2<br />

; hatástalan, ismételt kezdet<br />

; hatástalan, vége a másik szinten<br />

; keresésre alkalmatlan programszakasz vége<br />

; főprogram folytatása<br />

Egy megszakítás 100-ra ismét a megszakítás-mutatót adja.<br />

Keresésre alkalmatlan tartományok felismerése és keresése<br />

A keresésre alkalmatlan programszakaszokat a IPTRLOCK és IPTRUNLOCK utasítások jelölik.<br />

Az IPTRLOCK utasítás befagyasztja a megszakítás-mutatót egy, a főfutásban végrehajtható<br />

egyes mondatra (SBL1). A következőkben ez a mondat lesz megállási mondatként<br />

megjelölve. Ha a IPTRLOCK után egy programmegszakítás lép fel, akkor a HMI<br />

kezelőfelületen ez után az úgynevezett megállási mondat után lehet keresni.<br />

Az aktuális mondatra ismét rámenni<br />

A megszakítás-mutatót a IPTRUNLOCK a következő programszakaszra beállítja az aktuális<br />

mondatra.<br />

Egy megtalált keresőcél után ugyanazzal a megállási mondattal meg lehet ismételni egy új<br />

keresőcélt.<br />

Egy, a felhasználó által szerkesztett megszakítás-mutatót a HMI-vel ismét el kell távolítani.<br />

Munka-előkészítés<br />

474 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.5 Programhely tiltása SERUPRO számára (IPTRLOCK, IPTRUNLOCK)<br />

Szabály egymásba skatulyázásnál<br />

A következő pontok szabályozzák a IPTRLOCK és IPTRUNLOCK utasítások együttműködését<br />

az egymásba skatulyázásokkal és az alprogramvégekkel:<br />

1. Az alprogram végén, amelyikben a IPTRLOCK fel lett hívva, implicit IPTRUNLOCK lesz<br />

aktiválva.<br />

2. IPTRLOCK egy keresésre alkalmatlan tartományban hatástalan.<br />

3. Ha az Unterprogramm1 egy keresésre alkalmatlan tartományban felhívja az<br />

Unterprogramm2-t, akkor az Unterprogramm2 teljesen keresésre alkalmatlan marad. A<br />

IPTRUNLOCK az Unterprogramm2-ben hatástalan.<br />

További információk ehhez, lásd<br />

/FB1/ Alap funkciók működési kézikönyv; BAG, csatorna, program-üzem (K1).<br />

Rendszerváltozó<br />

Egy keresésre alkalmatlan tartományt a $P_IPTRLOCK által lehet a munkadarabprogramban<br />

felismerni.<br />

Automatikus megszakítás-mutató<br />

Az automatikus megszakítás-mutató funkció automatikusan keresésre alkalmatlanná minősít<br />

egy korábban megadott csatolási módot. Gépadattal<br />

● az elektronikus hajtóműhöz EGON-nál<br />

● a tengely vezetőérték-csatoláshoz LEADON-nál<br />

az automatikus megszakítás-mutató aktiválva lesz. Ha a programozott és a gépadattal<br />

aktiválható automatikus megszakítás-mutatók átfedik egymást, akkor a lehető legnagyobb<br />

keresésre alkalmatlan tartomány lesz képezve.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 475


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,<br />

RMI, RMB, RME, RMN)<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME,<br />

RMN)<br />

Funkció<br />

Ha a megmunkálás közben a futó programot megszakítjuk és a szerszámot szabadba<br />

hozzuk – pl. szerszámtörés miatt vagy mert valamit meg akarunk mérni – a kontúrra egy<br />

választható ponton programvezérelten újra rá tudunk menni.<br />

A REPOS utasítás úgy hat, mint egy alprogram-visszaugrás (pl. M17-tel). A következő<br />

mondatok az interrupt-rutinban már nem lesznek végrehajtva.<br />

<br />

A programfutás megszakításához lásd ezen Programozási kézikönyv "Rugalmas NC<br />

programozás", "Interrupt-rutinok" fejezetében.<br />

Munka-előkészítés<br />

476 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB<br />

Szintaxis<br />

REPOSA RMI DISPR=…<br />

REPOSA RMB<br />

REPOSA RME<br />

REPOSA RMN<br />

REPOSL RMI DISPR=…<br />

REPOSL RMB<br />

REPOSL RME<br />

REPOSL RMN<br />

REPOSQ RMI DISPR=… DISR=…<br />

REPOSQ RMB DISR=…<br />

REPOSQ RME DISR=…<br />

REPOSQA DISR=…<br />

REPOSH RMI DISPR=… DISR=…<br />

REPOSH RMB DISR=…<br />

REPOSH RME DISR=…<br />

REPOSHA DISR=…<br />

Jelentés<br />

Rámenet út<br />

REPOSA<br />

REPOSL<br />

REPOSQ DISR=…<br />

REPOSQA DISR=…<br />

REPOSH DISR=…<br />

REPOSHA DISR=…<br />

rámenet egy egyenesen az összes tengelyen<br />

rámenet egy egyenesen<br />

rámenet egy negyedkörön DISR sugárral<br />

rámenet egy negyedkörön DISR sugárral az összes tengelyen<br />

rámenet egy félkörön DISR sugárral<br />

rámenet egy félkörön DISR sugárral az összes tengelyen<br />

Újra-rámeneti pont<br />

RMI<br />

RMI DISPR=…<br />

RMB<br />

RME<br />

RME DISPR=…<br />

RMN<br />

A0 B0 C0<br />

megszakításpontra rámenni<br />

belépési pont DISPR távolságra mm/hüv.-ben a megszakításpont<br />

előtt<br />

mondat kezdőpontra rámenni<br />

mondat végpontra rámenni<br />

mondat végpontra rámenni DISPR távolsággal a végpont előtt<br />

a legközelebbi pályapontra rámenni<br />

tengelyek, amelyekben a rámenet történik<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 477


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,<br />

RMI, RMB, RME, RMN)<br />

Példa: Rámenet egy egyenesen, REPOSA, REPOSL<br />

A szerszám az újra rámeneti pontra közvetlenül egy egyenesen megy rá.<br />

A REPOSA-val automatikusan az összes tengely elmozdul. A REPOSL-nél meg tudjuk adni<br />

az elmozdulásban résztvevő tengelyeket.<br />

Példa:<br />

REPOSL RMI DISPR=6 F400<br />

vagy<br />

REPOSA RMI DISPR=6 F400<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

478 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB<br />

Példa: Rámenet negyedkörön, REPOSQ, REPOSQA<br />

A szerszám az újra-rámeneti pontra egy negyedkörön DISR=... sugárral megy rá. A kezdő<br />

és az újra-rámeneti pont között szükséges közbenső pontot a vezérlés automatikusan<br />

számítja ki.<br />

Példa:<br />

REPOSQ RMI DISR=10 F400<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 479


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,<br />

RMI, RMB, RME, RMN)<br />

Példa: Szerszám rámenetre félkörben, REPOSH, REPOSHA<br />

A szerszám az újra-rámeneti pontra egy félkörön DISR=... átmérővel megy rá. A kezdő és az<br />

újra-rámeneti pont között szükséges közbenső pontot a vezérlés automatikusan számítja ki.<br />

Példa:<br />

REPOSH RMI DISR=20 F400<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

480 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB<br />

Újra-rámeneti pont megadása: (nem SERUPRO rámenethez RMN-nel)<br />

Az NC mondatra vonatkoztatva, amelyben a program futás meg lett szakítva, három újrarámeneti<br />

pont között lehet választani:<br />

● RMI, megszakításpont<br />

● RMB, mondat kezdőpont ill. utolsó végpont<br />

● RME, mondat végpont<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Az RMI DISPR=... ill. az RME DISPR=... alkalmazásával egy a megszakítás-pont ill. a mondat<br />

végpont előtti újra-rámeneti pontot lehet megadni.<br />

A DISPR=... leírja a kontúrútat mm/hüv.-ben, amennyivel az újra-rámeneti pont a<br />

megszakításpont ill. a mondat végpont előtt fekszik. Ez a pont - nagyobb értékek esetén is -<br />

maximum a mondat kezdőpontban lehet.<br />

Ha nincs DISPR=... programozva, DISPR=0 érvényes és ez a megszakításpont (RMI-nél) ill. a<br />

mondat végpont (RME-nél).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 481


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,<br />

RMI, RMB, RME, RMN)<br />

DISPR előjele<br />

A DISPR előjele ki lesz értékelve. Pozitív előjelnél a viselkedés olyan, mint eddig.<br />

Negatív előjelnél a megszakításpont mögött ill RMB-nél a kezdőpont mögött lesz a rámenet.<br />

A megszakításpont-rámenetpont közötti távolság a DISPR értékéből adódik. Ez a pont<br />

nagyobb értékek esetén is maximum a mondat kezdőpontban lehet.<br />

Alkalmazási példa:<br />

Egy szenzor érzékeli a közelítést egy rögzítő pofához Egy ASUP lesz elindítva, amivel<br />

megkerüljük a rögzítő pofát.<br />

Ezután egy negatív DISPR-rel egy, a rögzítő pofa mögötti pontra történik az újra-pozicionálás<br />

és a program folytatódik.<br />

SERUPRO rámenet RMN-nel<br />

Ha a megmunkálás során tetszőleges helyen egy megszakítás lesz kiváltva, akkor<br />

SERUPRO rámenetnél RMN -mel a megszakítási helytől a legrövidebb út lesz megtéve, hogy<br />

utána csak a maradékutat kelljen megmunkálni. Ehhez a felhasználó elindít egy SERUPRO<br />

eljárást a megszakítási mondatra és a JOG-billentyűkkel pozícionál a károsodott hely elé a<br />

célmondatban.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Megjegyzés<br />

SERUPRO<br />

A SERUPRO számára az RMI és RMB azonos. RMN nincs a SERUPRO -ra korlátozva, hanem<br />

általánosan érvényes.<br />

Munka-előkészítés<br />

482 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB<br />

Rámenet a legközelebbi pályapontra RMN<br />

A REPOSA interpoláció-időpontjában egy megszakítás után az újra-rámeneti mondat RMN -nel<br />

nem lesz teljesen újrakezdve, hanem csak a maradékút lesz feldolgozva. A rámenet a<br />

megszakított mondat legközelebbi pályapontjára történik.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Az érvényes REPOS módus állapota<br />

A megszakított mondat érvényes REPOS módusa olvasható szinkronakciókkal a<br />

$AC_REPOS_PATH_MODE változóból:<br />

0: rámenet nincs definiálva<br />

1 RMB: rámenet az elejére<br />

2 RMI: rámenet a megszakításpontra<br />

3 RME: rámenet a mondat végpontra<br />

4 RMN: rámenet a megszakított mondat legközelebbi pályapontjára.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 483


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,<br />

RMI, RMB, RME, RMN)<br />

Rámenet új szerszámmal<br />

Ha a programlefutás során szerszámtörés miatt megállás volt:<br />

Az új D-szám programozásával a program az újra-rámeneti ponttól a megváltozott<br />

szerszámkorrekció értékekkel folytatódik.<br />

Megváltozott szerszámkorrekciós értékeknél esetleg a megszakítási pontra nem lehet újra<br />

rámenni. Ebben az esetben a megszakítási ponthoz az új kontúron legközelebb levő<br />

(esetleg DISPR-rel módosított) pontra történik a rámenet.<br />

<br />

<br />

Kontúrra rámenni<br />

A mozgás, amivel a szerszám újra rámegy a kontúrra, programozható. A rámenet<br />

tengelyeinek címeit nulla értékkel adjuk meg.<br />

A REPOSA, REPOSQA és REPOSHA utasításokkal automatikusan az összes tengely repozícionál.<br />

Nem szükséges tengely megadás.<br />

A REPOSL, REPOSQ és REPOSH programozásánál a rámenet az összes geometria-tengelyen<br />

automatikusan, tehát az utasításban való megadás nélkül is megtörténik. Az összes többi<br />

repozícionálandó tengelyt az utasításban meg kell adni.<br />

Munka-előkészítés<br />

484 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.6 Újra-rámenet a kontúrra (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB<br />

A REPOSH és REPOSQ körmozgásokra érvényes:<br />

A kör a megadott G17 ... G19 munkasíkban lesz megtéve.<br />

Ha a rámeneti mondatban a harmadik geometriatengely (fogásvétel irány) meg van adva, az<br />

újra-rámeneti pont abban az esetben, ha a szerszám pozíció és a programozott pozíció a<br />

fogásvételi irányban nem esik egybe, egy csavarvonalon lesz felvéve.<br />

A következő esetekben automatikusan<br />

a REPOSL lineáris rámenetre lesz átkapcsolva:<br />

● Nem adtunk meg értéket DISR-re.<br />

● Nincs definiált rámeneti irány (program megszakítás egy mozgási információ nélküli<br />

mondatban).<br />

● Az aktuális munkasíkra merőleges rámeneti iránynál.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 485


Pályaviselkedés<br />

8.7 Mozgás-vezetés befolyásolása<br />

8.7 Mozgás-vezetés befolyásolása<br />

8.7.1 Százalékos rándítás-korrekció (JERKLIM)<br />

Funkció<br />

A JERKLIM NC utasítással kritikus programszakaszokban a rándítás korlátozásának egy<br />

gépadatban beállított maximálisan lehetséges értékét lehet csökkenteni vagy növelni.<br />

Előfeltétel<br />

A SOFT gyorsítási módus aktív kell legyen.<br />

Hatásosság<br />

A funkció:<br />

● az AUTOMATIK üzemmódokban.<br />

● csak pályatengelyekre hat.<br />

Szintaxis<br />

JERKLIM()=<br />

Jelentés<br />

JERKLIM:<br />

:<br />

:<br />

utasítás rándítás korrekcióra<br />

géptengely, amelynek rándítás-határértékét illeszteni kell<br />

százalékos korrekció-érték, a pályamozgásnál a tengelyre beállított<br />

maximális értékre vonatkoztatva (MD32431 $MA_MAX_AX_JERK).<br />

értéktartomány: 1 ... 200<br />

A 100-as érték nem befolyásolja a rándítást<br />

Megjegyzés<br />

A JERKLIM viselkedése a munkadarabprogram végén és csatorna Reset-nél az<br />

MD32320 $MA_DYN_LIMIT_RESET_MASK bit 0-ban van beállítva:<br />

bit 0 = 0:<br />

A JERKLIM-re programozott érték a csatorna Reset / M30 esetén 100 %-ra lesz<br />

visszaállítva.<br />

bit 0 = 1:<br />

A JERKLIM-re programozott érték a csatorna Reset / M30 után is megmarad..<br />

Munka-előkészítés<br />

486 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.7 Mozgás-vezetés befolyásolása<br />

Példa<br />

Programkód<br />

...<br />

N60 JERKLIM[X]=75<br />

...<br />

Kommentár<br />

; A tengelyszán az X irányban csak a tengelyre<br />

megengedett rándítás 75%-val gyorsítható/lassítható.<br />

8.7.2 Százalékos sebesség-korrekció (VELOLIM)<br />

Funkció<br />

A VELOLIM NC utasítással lehetséges a gépadatban beállított maximálisan lehetséges<br />

sebességet egy tengelyre/orsóra tengelyüzemben, ill. a maximálisan lehetséges<br />

hajtóműfokozat-függő fordulatszámot egy orsóra orsóüzemben (M3, M4, M5 fordulatszám<br />

vezérlésű üzemben és SPOS, SPOSA, M19 pozícionáló üzemben) a kritikus<br />

programszakaszokban csökkenteni, hogy a gép igénybevétele csökkenjen vagy a felületi<br />

minőség javuljon.<br />

Hatásosság<br />

A funkció:<br />

● az AUTOMATIK üzemmódokban.<br />

● pálya- és pozícionáló-tengelyekre<br />

● orsókra az orsó-/tengelyüzemben<br />

Szintaxis<br />

VELOLIM[]=<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 487


Pályaviselkedés<br />

8.7 Mozgás-vezetés befolyásolása<br />

Jelentés<br />

VELOLIM:<br />

:<br />

:<br />

utasítás a sebesség-korrekcióra<br />

géptengely vagy orsó, amelynek sebesség- vagy fordulatszámhatárértékét<br />

illeszteni kell<br />

VELOLIM orsókra<br />

Gépadattal (MD30455 $MA_MISC_FUNCTION_MASK, bit 6) be<br />

lehet állítani a munkadarabprogram programozásához, hogy a<br />

VELOLIM az aktuális orsó vagy tengely alkalmazástól függetlenül<br />

hasson (bit 6 = 1) vagy külön lehessen minden üzemmódra<br />

programozni (bit 6 = 0). Ha a külön hatás van beállítva, akkor a<br />

választás a jelölővel a programozásnál történik:<br />

orsó-jelölő S az orsó-üzemmódokra<br />

tengely-jelölő.pl. "C", a tengely-üzemre<br />

százalékos korrekció-érték<br />

A százalékos érték vonatkozik:<br />

tengelyeknél / orsóknál tengely-üzemben (ha MD30455<br />

bit 6 = 0):<br />

a beállított maximális tengelysebességre<br />

(MD32000 $MA_MAX_AX_VELO).<br />

orsóknál orsó- vagy tengely-üzemben (ha MD30455 bit 6 = 1):<br />

az aktív hajtóműfokozat maximális fordulatszámára<br />

(MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[])<br />

értéktartomány: 1 ... 100<br />

A 100-as érték nem befolyásolja a sebességet ill. a fordulatszámot.<br />

Megjegyzés<br />

Viselkedés munkadarabprogram végén és csatorna-Reset-nél<br />

A VELOLIM viselkedése a munkadarabprogram végén és csatorna Reset-nél az<br />

MD32320 $MA_DYN_LIMIT_RESET_MASK bit 0-ban van beállítva:<br />

bit 0 = 0:<br />

A VELOLIM-re programozott érték a csatorna Reset / M30 esetén 100 %-ra lesz<br />

visszaállítva.<br />

bit 0 = 1:<br />

A VELOLIM-re programozott érték a csatorna Reset / M30 után is megmarad..<br />

Munka-előkészítés<br />

488 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.7 Mozgás-vezetés befolyásolása<br />

Megjegyzés<br />

VELOLIM orsókra szinkronakciókban<br />

A VELOLIM programozásánál szinkronakciókban nincs különbség az orsó- és a tengely-üzem<br />

között. A programozásnál használt jelölőtől függetlenül a fordulatszám orsóüzemben és a<br />

sebesség pályaüzemben egyaránt határolva lesz.<br />

Diagnózis<br />

VELOLIM diagnózisa orsó-üzemben<br />

Egy aktív fordulatszám-határolást VELOLIM-nal (kisebb 100 %-nál) az orsó-üzemben az<br />

$AC_SMAXVELO és $AC_SMAXVELO_INFO rendszerváltozó olvasásával lehet felismerni.<br />

Egy határolás esetén a $AC_SMAXVELO a VELOLIM által létrehozott fordulatszám-határt<br />

adja. A $AC_SMAXVELO_INFO változó ebben az esetben a "16"-os értéket adja vissza a<br />

VELOLIM határolási ok jelzéseként.<br />

Példák<br />

Példa 1: Géptengely sebesség-határolás<br />

Programkód<br />

...<br />

N70 VELOLIM[X]=80<br />

...<br />

Kommentár<br />

; A tengelyszán az X irányban csak a tengelyre<br />

megengedett sebesség maximum 80 %-val mozogjon.<br />

Példa 2: Orsó fordulatszám-határolás<br />

Programkód<br />

N05 VELOLIM[S1]=90<br />

...<br />

N50 VELOLIM[C]=45<br />

...<br />

Kommentár<br />

; Az orsó 1 maximális fordulatszámának határolása az<br />

1000 ford/perc 90 %-ára.<br />

; A fordulatszám határolása az 1000 ford/perc 45 %-ára,<br />

ha a tengely-jelölő S1.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 489


Pályaviselkedés<br />

8.7 Mozgás-vezetés befolyásolása<br />

Orsó 1 (AX5) beállítási adatai:<br />

MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[1,AX5]=1000 ; hajtóműfokozat 1<br />

maximális<br />

fordulatszáma = 1000<br />

ford/perc<br />

MD30455 $MA_MISC_FUNCTION_MASK[AX5] = 64 ; bit 6 = 1:<br />

A VELOLIM<br />

programozása együtt<br />

hat az orsó- és a<br />

tengely-üzemre a<br />

programozott jelölőtől<br />

függetlenül.<br />

8.7.3 Programpélda VELOLIM-ra és JERKLIM-re<br />

A következő program egy alkalmazási példa a százalékos rándítás- és sebességhatárolásra:<br />

Programkód<br />

Kommentár<br />

N1000 G0 X0 Y0 F10000 SOFT G64<br />

N1100 G1 X20 RNDM=5 ACC[X]=20<br />

ACC[Y]=30<br />

N1200 G1 Y20 VELOLIM[X]=5 ; A tengelyszán az X irányban csak a<br />

tengelyre megengedett sebesség maximum 5%-<br />

val mozogjon.<br />

JERKLIM[Y]=200 ; A tengelyszán az Y irányban csak a<br />

tengelyre megengedett rándítás 200%-val<br />

gyorsítható/lassítható.<br />

N1300 G1 X0 JERKLIM[X]=2 ; A tengelyszán az X irányban csak a<br />

tengelyre megengedett rándítás 2%-val<br />

gyorsítható/lassítható.<br />

N1400 G1 Y0<br />

M30<br />

Munka-előkészítés<br />

490 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.8 Programozható kontúr-/tájolás-tűrés (CTOL, OTOL, ATOL)<br />

8.8 Programozható kontúr-/tájolás-tűrés (CTOL, OTOL, ATOL)<br />

Funkció<br />

A CTOL, OTOL és ATOL utasításokkal a kompresszor funkciókra (COMPON, COMPCURV,<br />

COMPCAD), a G642, G643, G645, OST átsimítási módokra és az ORISON tájolás-simításra<br />

a gépadatokban és beállítási adatokban megadott megmunkálási tűréseket az NC<br />

programban illeszteni lehet.<br />

A programozott értékek az újra programozásukig vagy egy negatív érték hozzárendelésével<br />

a törlésükig érvényesek. További törli őket a programvég, a csatorna-Reset, a BAG-Reset,<br />

az NCK-Reset (meleg indítás) és a Power On (hideg indítás). A törlés után ismét a<br />

gépadatok és beállítási adatok értékei érvényesek.<br />

Szintaxis<br />

CTOL=<br />

OTOL=<br />

ATOL[]=<br />

Jelentés<br />

CTOL<br />

OTOL<br />

utasítás a kontúr-tűrés programozására<br />

CTOL érvényes:<br />

összes kompresszor funkcióra<br />

összes átsimítási módra G641 és G644 kivételével<br />

: A kontúr-tűrés értéke egy hosszadat.<br />

típus: REAL<br />

egység: hüv/mm (a méretmegadás aktuális beállításától függően)<br />

utasítás a tájolás-tűrés programozására<br />

CTOL érvényes:<br />

összes kompresszor funkcióra<br />

ORISON tájolás-simításra<br />

összes átsimítási módra G641,G644 és OSD kivételével<br />

:<br />

A tájolás-tűrés értéke egy szögadat.<br />

típus: REAL<br />

egység: fok<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 491


Pályaviselkedés<br />

8.8 Programozható kontúr-/tájolás-tűrés (CTOL, OTOL, ATOL)<br />

ATOL<br />

utasítás egy tengely-specifikus tűrés programozására<br />

ATOL érvényes:<br />

összes kompresszor funkcióra<br />

ORISON tájolás-simításra<br />

összes átsimítási módra G641,G644 és OSD kivételével<br />

: tengely neve, amelyre a tengely-tűrés programozva lesz<br />

:<br />

tengely-tűrés értéke a tengelytípustól függően (egyenes- vagy<br />

körtengely) egy hossz- vagy szögadat<br />

típus: REAL<br />

egység:<br />

egyenestengelyekhez:<br />

körtengelyekhez:<br />

hüv/mm (a méretmegadás aktuális<br />

beállításától függően)<br />

fok<br />

Megjegyzés<br />

CTOL és OTOL előnyben van az ATOL előtt<br />

Peremfeltételek<br />

Skálázandó frame-k<br />

A skálázandó frame-k a programozott tűrésekre úgy hatnak, mint a tengelypozíciókra, vagyis<br />

a relatív tűrés azonos marad.<br />

Példa<br />

Programkód<br />

COMPCAD G645 G1 F10000<br />

X... Y... Z...<br />

X... Y... Z...<br />

X... Y... Z...<br />

CTOL=0.02<br />

X... Y... Z...<br />

X... Y... Z...<br />

X... Y... Z...<br />

ASCALE X0.25 Y0.25 Z0.25<br />

X... Y... Z...<br />

X... Y... Z...<br />

X... Y... Z...<br />

Kommentár<br />

; COMPCAD kompresszor funkció aktiválni<br />

; itt hatnak a gépadatok és a beállítási adatok<br />

; ettől kezdve hatásos a 0,02 mm kontúrtűrés<br />

; ettől kezdve hatásos a 0,005 mm kontúrtűrés<br />

Munka-előkészítés<br />

492 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.8 Programozható kontúr-/tájolás-tűrés (CTOL, OTOL, ATOL)<br />

Programkód<br />

CTOL=–1<br />

X... Y... Z...<br />

X... Y... Z...<br />

X... Y... Z...<br />

Kommentár<br />

; itt hatnak a gépadatok és a beállítási adatok<br />

További információk<br />

Tűrésértékeket olvasni<br />

Az összetettebb alkalmazásokhoz és diagnózishoz a kompresszor funkciók (COMPON,<br />

COMPCURV, COMPCAD), a G642, G643, G645, OST átsimítási módok és az ORISON<br />

tájolási simítás aktuálisan érvényes tűrései a létrejöttük módjától függetlenül olvashatóak<br />

rendszerváltozókkal.<br />

● Szinkronakciókban vagy előre-futás állj-jal a munkadarabprogramban a<br />

rendszerváltozókkal:<br />

$AC_CTOL<br />

$AC_OTOL<br />

$AA_ATOL[]<br />

kontúrtűrés, amelyik az aktuális főfutam mondat<br />

felkészítésénél hatásos volt<br />

Ha egy kontúrtűrés hatásos, a $AC_CTOL a geometriatengelyek<br />

tűrésnégyzetek összegének a<br />

négyzetgyökét adja<br />

tájolás-tűrés, amelyik az aktuális főfutam mondat<br />

felkészítésénél hatásos volt<br />

Ha nincs hatásos tájolás-tűrés, a $AC_OTOL egy aktív<br />

tájolási transzformáció alatt a tájolás-tengelyek<br />

tűrésnégyzetek összegének a négyzetgyökét adja,<br />

egyébként a "-1" értéket.<br />

tengelytűrés, amelyik az aktuális főfutam mondat<br />

felkészítésénél hatásos volt<br />

Ha egy kontúrtűrés aktív, a $AA_ATOL[]<br />

a kontúrtűrés osztva a geometria-tengelyek<br />

számának gyökével értéket adja.<br />

Ha egy tájolás-tűrés és egy tájolási transzformáció<br />

aktív, az $AA_ATOL[] a tájolás-tűrés<br />

osztva a tájolás-tengelyek számának gyökével értéket<br />

adja.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 493


Pályaviselkedés<br />

8.8 Programozható kontúr-/tájolás-tűrés (CTOL, OTOL, ATOL)<br />

Megjegyzés<br />

Ha nem lettek programozva tűrésértékek, akkor a $A-változók nem eléggé differenciáltak, az<br />

egyes funkciók valószínűleg különböző tűréseinek a megkülönböztetésére, mivel csak egy<br />

értéket tudnak megnevezni.<br />

Ilyen esetek felléphetnek, ha a gépadatok és beállítási adatok a kompresszor funkciókra,<br />

átsimításra és tájolás simításra különböző tűréseket állítanak be. A változók ekkor az éppen<br />

aktív funkcióknál fellépő legnagyobb értéket adják.<br />

Ha pl. egy tájolás funkció 0,1° tájolás-tűréssel és egy ORISON tájolás simítás 1°-kal aktív, az<br />

$AC_OTOL változó az "1" értéket adja. Ha tájolás simítás ki lesz kapcsolva, már csak a "0.1"<br />

érték lesz beolvasva.<br />

● Előre-futás állj nélkül a munkadarabprogramban rendszerváltozókkal:<br />

$P_CTOL<br />

$P_OTOL<br />

$PA_ATOL<br />

Programozott kontúrtűrés<br />

Programozott tájolás-tűrés<br />

Programozott tengelytűrés<br />

Megjegyzés<br />

Ha nincs tűrésérték programozva, a $P-változók a "-1" értéket adják.<br />

Munka-előkészítés<br />

494 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Pályaviselkedés<br />

8.9 Tűrés G0 mozgásoknál (STOLF)<br />

8.9 Tűrés G0 mozgásoknál (STOLF)<br />

G0 tűréstényező<br />

G0 mozgások (gyorsmenet, rámeneti mozgások) a munkadarab megmunkálásához képest<br />

nagyobb tűréssel mozoghatnak. Ennek az az előnye, hogy a G0 mozgások mozgásidői<br />

lerövidülnek.<br />

A G0 mozgások tűréseinek a beállítása a G0 tűréstényező beállításával történik<br />

(MD20560 $MC_G0_TOLERANCE_FACTOR).<br />

A G0 tűréstényező csak akkor lesz hatásos, ha<br />

● a következő funkciók egyike aktív:<br />

– kompresszor funkciók: COMPON, COMPCURV és COMPCAD<br />

– átsimítás funkciók: G642 és G645<br />

– tájolás átsimítás: OST<br />

– tájolás simítás: ORISON<br />

– simítás pálya-viszonyítású tájolásnál: ORIPATH<br />

● több (≥ 2) G0 mondat követi egymást.<br />

Egyetlen G0 mondatnál a G0 tűréstényező nem lesz hatásos, mert az átmenetnél egy<br />

nem G0 mozgásról egy G0 mozgásra (és fordítva) alapvetően a "kisebb tűrés"<br />

(munkadarab megmunkálási tűrés) hat!<br />

Funkció<br />

A STOLF programozásával a munkadarabprogramban a beállított G0 tűréstényezőt<br />

(MD20560) átmenetileg át lehet írni. Az MD20560 értéke ettől nem változik. Reset vagy<br />

munkadarabprogram vége után a beállított tűréstényező lesz ismét hatásos.<br />

Szintaxis<br />

STOLF=<br />

Jelentés<br />

STOLF:<br />

:<br />

utasítás a G0 tűréstényező programozásához<br />

G0 tűréstényező<br />

A tényező lehet 1-nél kisebb és nagyobb is. Általában a G0<br />

mozgásokra nagyobb tűrések lesznek beállítva.<br />

A STOLF=1.0 (esetén (alapérték) a G0 mozgásokra ugyanazok a<br />

tűrések a hatásosak, mint a nem G0 mozgásokra..<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 495


Pályaviselkedés<br />

8.9 Tűrés G0 mozgásoknál (STOLF)<br />

Rendszerváltozók<br />

A munkadarabprogramban ill. az aktuális IPO mondatban hatásos G0 tűréstényezők<br />

rendszerváltozókkal olvashatók.<br />

● Szinkronakciókban és előre-futás állj-jal a munkadarabprogramban a<br />

rendszerváltozókkal:<br />

$AC_STOLF<br />

aktív G0 tűréstényező<br />

G0 tűréstényező, amelyik az aktuális főmondat futamnál hatásos<br />

volt<br />

● Előre-futás állj nélkül a munkadarabprogramban rendszerváltozókkal:<br />

$P_STOLF<br />

programozott G0 tűréstényező<br />

Ha az aktív munkadarabprogramban nincs STOLF érték programozva, akkor ez a két<br />

rendszerváltozó az MD20560 $MC_G0_TOLERANCE_FACTOR által beállított értéket adja.<br />

Ha egy mondatban nincs aktív gyorsmenet (G0), akkor ezek a rendszerváltozók mindig az 1<br />

értéket adják.<br />

Példa<br />

Programkód<br />

COMPCAD G645 G1 F10000<br />

X... Y... Z...<br />

X... Y... Z...<br />

X... Y... Z...<br />

G0 X... Y... Z...<br />

G0 X... Y... Z...<br />

CTOL=0.02<br />

STOLF=4<br />

G1 X... Y... Z...<br />

X... Y... Z...<br />

X... Y... Z...<br />

G0 X... Y... Z...<br />

X... Y... Z...<br />

Kommentár<br />

; kompresszor funkció COMPCAD<br />

; itt hatnak a gépadatok és a beállítási adatok<br />

; Itt hat az $MC_G0_TOLERANCE_FACTOR (pl. =3) gépadat,<br />

tehát nincs átsimítási tűrés a<br />

$MC_G0_TOLERANCE_FACTOR*$MA_COMPRESS_POS_TOL-tól.<br />

; ettől kezdve hatásos a 0,02mm kontúrtűrés<br />

; ettől kezdve hatásos a 4-es G0 tűréstényező, tehát<br />

nem a 0,08mm kontúrtűrés<br />

Munka-előkészítés<br />

496 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások 9<br />

9.1 Vontatás (TRAILON, TRAILOF)<br />

Funkció<br />

Egy megadott vezető tengely mozgatásánál a hozzárendelt vontatott tengelyek (= követő<br />

tengelyek) egy csatolási tényező figyelembe vételével a vezető tengelytől levezetett mozgás<br />

utat teszik meg.<br />

A vezető tengely és a követő tengelyek egy vontatás egyesülést képeznek.<br />

Alkalmazási terület<br />

● Egy tengely mozgatása egy szimulált tengely által. A vezető tengely egy szimulált tengely<br />

és a vontatott tengely egy valódi tengely. Ezzel egy valódi tengelyt a csatolási tényező<br />

figyelembe vételével lehet mozgatni.<br />

● Kétoldalas megmunkálás 2 vontatási egyesüléssel:<br />

1. vezető tengely Y, vontatott tengely V<br />

2. vezető tengely Z, vontatott tengely W<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Szintaxis<br />

TRAILON(,,)<br />

TRAILOF(,,)<br />

TRAILOF()<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 497


Tengely-csatolások<br />

9.1 Vontatás (TRAILON, TRAILOF)<br />

Jelentés<br />

TRAILON<br />

<br />

<br />

<br />

utasítás egy vontatási egyesülés definiálására és bekapcsolására<br />

hatásosság:<br />

modális<br />

paraméter 1: követő tengely tengely-jelölője<br />

Utalás:<br />

Egy vontatott tengely lehet vezető tengely további vontatott<br />

tengelyek számára.. Ezen a módon különböző vontatási<br />

egyesüléseket lehet felépíteni:<br />

paraméter 2: vezető tengely tengely-jelölője<br />

paraméter 3: csatolási tényező:<br />

A csatolási tényező megadja vezető tengely és a vontatott<br />

tengelyek útjainak arányát:<br />

= vontatott tengely út / vezető tengely út<br />

típus: REAL<br />

elő-beállítás: 1<br />

Egy negatív érték megadása a vezető és a vontatott tengelyek<br />

ellentétes mozgását okozza.<br />

Ha a programozásnál nem lesz megadva csatolási tényező, akkor<br />

automatikusan a csatolási tényező 1 érvényes.<br />

TRAILOF<br />

utasítás a vontatási egyesülés kikapcsolására<br />

hatásosság: modális<br />

TRAILOF 2 paraméterrel csak a megadott vezető tengely csatolását<br />

kapcsolja ki.:<br />

TRAILOF(,)<br />

Ha egy vontatott tengelynek 2 vezető tengelye van, a csatolás<br />

kikapcsolásához a TRAILOF-ot 3 paraméterrel kell felhívni:<br />

TRAILOF(,,)<br />

Ugyanazt az eredményt adja a TRAILOF programozása a vezető<br />

tengely megadása nélkül:<br />

TRAILOF()<br />

Megjegyzés<br />

A vontatás mindig az alap-koordinátarendszerben (AKR) történik.<br />

Az egyidejűleg aktiválható vontatási egyesülések számát csak a gép tengelyeinek<br />

kombinációs lehetőségei korlátozzák.<br />

Munka-előkészítés<br />

498 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.1 Vontatás (TRAILON, TRAILOF)<br />

Példa<br />

A munkadarabot kétoldalúan az ábrázolt tengely-konstellációval kell megmunkálni. Ehhez 2<br />

vontatási egyesülést képezünk.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

…<br />

N100 TRAILON(V,Y)<br />

N110 TRAILON(W,Z,–1)<br />

N120 G0 Z10<br />

N130 G0 Y20<br />

…<br />

N200 G1 Y22 V25 F200<br />

…<br />

TRAILOF(V,Y)<br />

TRAILOF(W,Z)<br />

Kommentár<br />

; 1. vontatási egyesülés bekapcsolása<br />

; 2. vontatási egyesülés bekapcsolása csatolási tényező<br />

negatív: vontatott tengely mindig a vezető tengellyel<br />

ellentétes irányban mozog<br />

; fogásvétel a Z és W tengelyeken ellentétes irányban<br />

; fogásvétel az Y és V tengelyeken azonos irányban<br />

; egy függő és egy független mozgás összeadódása a V<br />

vontatott tengelyen<br />

; 1. vontatási egyesülés kikapcsolása<br />

; 2. vontatási egyesülés kikapcsolása<br />

További információk<br />

Tengelytípusok<br />

Egy vontatási egyesülés az egyenes- és körtengelyek tetszőleges kombinációjából áll.<br />

Vezető tengelyként lehet egy szimulált tengelyt definiálni.<br />

Vontatott tengelyek<br />

Egy vontatott tengelyt egyidejűleg maximum 2 vezető tengelyhez lehet hozzárendelni.<br />

A hozzárendelés különböző vontatási egyesülésekben történik.<br />

Egy vontatott tengelyt minden rendelkezésre álló mozgás-utasítással programozható (G0, G1,<br />

G2, G3, …). A függetlenül definiált utakhoz kiegészítőleg a vontatott tengely a csatolási<br />

tényezővel a vezető tengelyéből levezetett utat teszi meg.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 499


Tengely-csatolások<br />

9.1 Vontatás (TRAILON, TRAILOF)<br />

Dinamika korlátozás<br />

A dinamika korlátozása függ a vontatási egyesülés aktiválásának módjától:<br />

● Aktiválás munkadarabprogramban<br />

Ha az aktiválás a munkadarabprogramban történik és az összes vezető tengely programtengely<br />

az aktiváló csatornában, a vezető tengely mozgatásánál az összes vontatott<br />

tengely dinamikája úgy lesz figyelembe véve, hogy egyetlen vontatott tengely se legyen<br />

túlterhelve.<br />

Ha az aktiválás a munkadarabprogramban olyan vezető tengelyekkel történik, amelyek<br />

nem program-tengely az aktiváló csatornában ($AA_TYP ≠ 1), a vezető tengely<br />

mozgatásánál a vontatott tengelyek dinamikája nem lesz figyelembe véve. Ezáltal a<br />

vontatott tengelyeknél a csatoláshoz szükségesnél alacsonyabb dinamikával létre jöhet<br />

egy túlterhelés.<br />

● Aktiválás szinkronakcióban<br />

Ha az aktiválás egy szinkronakcióban történik, a vezető tengely mozgatásánál a vontatott<br />

tengelyek dinamikája nem lesz figyelembe véve. Ezáltal a vontatott tengelyeknél a<br />

csatoláshoz szükségesnél alacsonyabb dinamikával létre jöhet egy túlterhelés.<br />

VIGYÁZAT<br />

Ha egy vontatási egyesülés aktiválása<br />

szinkronakciókban<br />

a munkadarabprogramban olyan vezető tengelyekkel történik, amelyek nem<br />

program-tengelyek a vontatott tengely csatornájában<br />

akkor a felhasználó/gépgyártó különleges felelőssége megfelelő intézkedéseket<br />

bevezetni, hogy a vezető tengely mozgásai ne okozzanak túlterhelést a követő<br />

tengelyeknél.<br />

Csatolás állapota<br />

A munkadarabprogramban a csatolás állapotát a következő rendszerváltozókkal lehet<br />

lekérdezni:<br />

$AA_COUP_ACT[]<br />

Érték Jelentés<br />

0 nincs aktív csatolás<br />

8 vontatás aktív<br />

Munka-előkészítés<br />

500 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

9.2 Görbe-táblázatok (CTAB)<br />

Funkció<br />

A görbe-táblázatok segítségével lehet két tengely (vezető és követő tengely) között pozícióés<br />

sebesség-összefüggéseket programozni. A görbe-táblázatok definíciója a<br />

munkadarabprogramban történik.<br />

Alkalmazás<br />

A görbe-táblázatok helyettesítik a görbe-tárcsákat. A görbe-táblázatok adják az alapját a<br />

tengelyek vezető érték csatolásának, amennyiben funkcionális összefüggést teremtenek a<br />

vezető és a követő értékek között: A vezérlés a megfelelő programozásnál a vezető és<br />

követő tengelyek egymáshoz rendelt pozícióiból egy polinomot számít ki, ami megfelel<br />

görbe-tárcsának.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 501


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

9.2.1 Görbe-táblázatot definiálni (CTABDEF, CATBEND)<br />

Funkció<br />

Egy görbe-táblázat egy munkadarab-program vagy egy munkadarab-program részlet, amely<br />

a CTABDEF utasítással kezdődik és a CTABEND utasítással zárul le.<br />

Egy ilyen munkadarab-program részleten belül mozgás utasításokkal a vezető tengely egyes<br />

pozícióihoz egyértelmű követő tengely pozíció van rendelve, amelyek támpontonként<br />

szolgálnak a görbe kiszámításához egy maximum 5. fokú polinom formájában.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Előfeltétel<br />

A görbe-táblázatok definíciójához a megfelelő gépadat beállítással kell foglalni tárolóhelyet<br />

(→ gépgyártó!)<br />

Szintaxis<br />

CTABDEF(,,,[,])<br />

...<br />

CTABEND<br />

Munka-előkészítés<br />

502 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

Jelentés<br />

CTABDEF( )<br />

CTABEND<br />

<br />

<br />

<br />

<br />

<br />

görbe-táblázat definíció kezdete<br />

görbe-táblázat definíció vége<br />

tengely, amelynek mozgását a görbe-táblázat alapján kell kiszámítani<br />

tengely, amely a vezető értéket adja a követő tengely mozgásának<br />

kiszámításához<br />

görbe-táblázat száma (ID)<br />

Egy görbe-táblázat száma egyértelmű és független a tárolóhelytől.<br />

Nem lehetnek azonos számú táblázatok az NC statikus és dinamikus<br />

tárolójában.<br />

táblázat periodicitás<br />

0<br />

táblázat nem periodikus (csak egyszer lesz feldolgozva,<br />

körtengelyeknél is)<br />

1<br />

táblázat periodikus a vezető tengely vonatkozásában<br />

2<br />

táblázat periodikus a vezető tengely és a követő tengely<br />

vonatkozásában<br />

tárolóhely megadása (opcionális)<br />

"SRAM"<br />

A görbe-táblázat a statikus NC-tárolóban lesz eltárolva.<br />

"DRAM"<br />

A görbe-táblázat a dinamikus NC-tárolóban lesz<br />

eltárolva.<br />

Utalás:<br />

Ha erre a paraméterre nincs érték programozva, az<br />

MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE gépadatban<br />

beállított tárolóhely lesz alkalmazva<br />

Megjegyzés<br />

Átírás<br />

Egy görbe-táblázat át lesz írva. ha egy új táblázat definíciója ennek az () számát<br />

használja (kivétel: a görbe-táblázat egy tengely-csatolásban aktív vagy CTABLOCK-kal zárolva<br />

van). Az átírásnál nem lesz kiadva megfelelő figyelmeztetés!<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 503


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

Példák<br />

Példa 1: Programszakasz görbe-táblázat definíciójaként<br />

Egy programszakaszt változás nélkül kell egy görbe-táblázat definíciójához használni. A<br />

benne levő STOPRE előrefutás állj utasítás megmaradhat és ismét azonnal aktív lesz, ha a<br />

programszakasz nem táblázat definícióhoz lesz felhasználva és a CTABDEF és a CTABEND el<br />

lett távolítva.<br />

Programkód<br />

…<br />

CTABDEF(Y,X,1,1)<br />

…<br />

IF NOT ($P_CTABDEF)<br />

STOPRE<br />

ENDIF<br />

…<br />

CTABEND<br />

Kommentár<br />

; egy görbe-táblázat definíciója<br />

Példa 2: Egy nem-periódikus görbe-táblázat definíciója<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

Kommentár<br />

N100 CTABDEF(Y,X,3,0) ; A 3-as számú, nem-periódikus görbe-táblázat<br />

definíciójának kezdete<br />

N110 X0 Y0 ; 1.mozgás-utasítás, megadja a kezdőértéket és az 1.<br />

támpontot:<br />

vezető érték: 0; követő érték: 0<br />

N120 X20 Y0<br />

; 2. támpont:<br />

vezető érték: 0...20, követő érték: kezdőérték…0<br />

Munka-előkészítés<br />

504 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

Programkód<br />

N130 X100 Y6<br />

N140 X150 Y6<br />

N150 X180 Y0<br />

N200 CTABEND<br />

Kommentár<br />

; 3. támpont:<br />

vezető érték: 20...100, követő érték: 0…6<br />

; 4. támpont:<br />

vezető érték: 100...150, követő érték: 6…6<br />

; 5. támpont:<br />

vezető érték: 150...180, követő érték: 6…0<br />

; definíció vége. A görbe-táblázat a belső ábrázolásban<br />

maximum 5. fokú polinomként lesz létrehozva. A görbe<br />

kiszámítása a megadott támpontokkal függ a modálisan<br />

kiválasztott interpolációs módtól (kör-, egyenes-,<br />

Spline-interpoláció). A munkadarab-program definíció<br />

kezdete előtti állapota helyre lesz állítva.<br />

Példa 3: Egy periódikus görbe-táblázat definíciója<br />

A 2-es számú periodikus görbe-táblázat definíciója, vezető érték tartomány 0 ...360, követőtengely<br />

mozgása 0-tól 45-ig és vissza 0-ra:<br />

Programkód<br />

N10 DEF REAL DEPPOS<br />

N20 DEF REAL GRADIENT<br />

N30 CTABDEF(Y,X,2,1)<br />

N40 G1 X=0 Y=0<br />

N50 POLY<br />

N60 PO[X]=(45.0)<br />

N70 PO[X]=(90.0) PO[Y]=(45.0,135.0,-90)<br />

N80 PO[X]=(270.0)<br />

N90 PO[X]=(315.0) PO[Y]=(0.0,-135.0,90)<br />

N100 PO[X]=(360.0)<br />

N110 CTABEND<br />

;görbe tesztje az Y csatolásával X-hez<br />

N120 G1 F1000 X0<br />

N130 LEADON(Y,X,2)<br />

N140 X360<br />

N150 X0<br />

N160 LEADOF(Y,X)<br />

Kommentár<br />

; definíció kezdete<br />

; definíció vége.<br />

N170 DEPPOS=CTAB(75.0,2,GRADIENT)<br />

; táblázat funkció olvasása vezető<br />

érték 75.0-nél<br />

N180 G0 X75 Y=DEPPOS<br />

; vezető és követő tengely<br />

pozicionálása<br />

;a csatolás bekapcsolása után nem szükséges követő tengely szinkronizálása<br />

N190 LEADON(Y,X,2)<br />

N200 G1 X110 F1000<br />

N210 LEADOF(Y,X)<br />

N220 M30<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 505


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

További információk<br />

Görbe-táblázat kezdő és vég értéke<br />

A görbe-táblázat definíciós-tartományának kezdete az első összetartozó tengely-pozíciók<br />

(az első mozgás-utasítások) a görbe-táblázat definíción belül. A görbe-táblázat definícióstartományának<br />

végét az utolsó mozgás-utasítás határozza meg.<br />

Rendelkezésre álló nyelvi terjedelem<br />

A görbe-táblázat definíciójában a teljes NC-nyelv rendelkezésre áll.<br />

Megjegyzés<br />

A következő megadások nem megengedettek a görbe-táblázatokban:<br />

előrefutás-állj<br />

ugrások a vezető tengelyek mozgásában (pl. transzformációk váltása)<br />

mozgás utasítás csak a követő tengelyre<br />

mozgásirány váltás a vezető tengelyen, vagyis a vezető tengely pozíciója mindig<br />

egyértelmű kell legyen<br />

CTABDEF és CTABEND utasítás különböző programszinteken.<br />

Modális utasítások hatásossága<br />

Az összes modálisan hatásos utasítás, amelyek a görbe-táblázat definíción belül vannak, a<br />

táblázat definíció lezárása után érvénytelen. A munkadarab-program, amelyben a táblázat<br />

definíció van, ezzel a táblázat definíció előtt és után azonos állapotban van.<br />

Hozzárendelés számítási paraméterekhez<br />

A hozzárendelések az R-paraméterekhez a táblázat definíción belül a CTABEND után törölve<br />

lesznek.<br />

Példa:<br />

Programkód<br />

Kommentár<br />

...<br />

R10=5 R11=20 ; R10=5<br />

...<br />

CTABDEF<br />

G1 X=10 Y=20 F1000<br />

R10=R11+5 ; R10=25<br />

X=R10<br />

CTABEND<br />

... ; R10=5<br />

Munka-előkészítés<br />

506 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

ASPLINE, BSPLINE, CSPLINE aktiválása<br />

Ha egy CTABDEF ... CTABEND görbe-táblázaton belül egy ASPLINE, BSPLINE vagy CSPLINE lesz<br />

aktiválva, akkor ezen Spline aktiválás előtt legalább egy kezdőpontot kell programozni.<br />

Azonnali aktiválást a CTABDEF után el kell kerülni, mert különben a Spline a görbe-táblázat<br />

definíció előtti aktuális tengelypozíciótól függ.<br />

Példa:<br />

Programkód<br />

...<br />

CTABDEF(Y,X,1,0)<br />

X0 Y0<br />

ASPLINE<br />

X=5 Y=10<br />

X10 Y40<br />

...<br />

CTABEND<br />

Görbe-táblázatok ismételt használata<br />

A vezető és követő tengelyeknek a görbe-táblázat által megadott összefüggése a megadott<br />

táblázatszámmal megmarad a munkadarabprogram vége és a Power-Off után is, ha a<br />

táblázat a statikus NC-tárolóban (SRAM) van elhelyezve.<br />

A dinamikus tárolóban (DRAM) elhelyezett táblázat Power-On-nál törölve lesz és esetleg<br />

még egyszer létre kell hozni.<br />

Az egyszer létrehozott görbe-táblázat a vezető és követő tengelyek tetszőleges tengelykombinációira<br />

használható attól függetlenül, hogy melyik tengelyek voltak a görbe-táblázat<br />

létrehozásához használva.<br />

Görbe-táblázatok átírása<br />

Egy görbe-táblázat átírásra kerül, ha egy új táblázat definíció a számát használja.<br />

Kivétel: Ha egy görbe-táblázat egy tengely-csatolásban aktív vagy CTABLOCK-kal zárolva van).<br />

Megjegyzés<br />

A görbe-táblázatok átírásánál nem lesz megfelelő figyelmeztetés kiadva!<br />

Görbe-táblázat definíció aktív?<br />

A $P_CTABDEF rendszerváltozóval mindig le lehet kérdezni egy munkadarabprogramból, hogy<br />

egy görbe-táblázat definíció aktív-e.<br />

Görbe-táblázat definíció megszüntetése<br />

A munkadarabprogram részlet a görbe-táblázat definíció utasítások kihagyása után valódi<br />

munkadarabprogramként használható.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 507


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

Görbe-táblázatok betöltése "Feldolgozás kívülről" által<br />

A görbe-táblázatok kívülről történő feldolgozásánál az utántöltés puffer (DRAM) méretét az<br />

MD18360 $MN_MM_EXT_PROG_BUFFER_SIZE gépadatban úgy kell beállítani, hogy a<br />

teljes görbe-táblázat definíció egyidőben elhelyezhető legyen az utántöltés pufferben. A<br />

munkadarabprogram feldolgozása egyébként egy vészjelzéssel megszakad.<br />

Követő tengely ugrások<br />

A MD20900 $MC_CTAB_ENABLE_NO_LEADMOTION<br />

gépadat beállításától függően a követő tengely ugrásai elfogadhatók a vezető tengely<br />

mozgása nélkül.<br />

9.2.2 Egy görbe-táblázat előfordulását megvizsgálni (CTABEXISTS)<br />

Funkció<br />

A CTABEXISTS utasítással lehet megvizsgálni egy adott görbetáblázat előfordulását az NCtárolóban.<br />

Szintaxis<br />

CTABEXISTS()<br />

Jelentés<br />

CTABEXISTS<br />

<br />

Megvizsgálja az számú görbe-táblázat előfordulását a statikus vagy<br />

dinamikus NC-tárolóban.<br />

0 táblázat nem létezik<br />

1 táblázat létezik<br />

görbe-táblázat száma (ID)<br />

9.2.3 Görbe-táblázatok törlése (CTABDEL)<br />

Funkció<br />

A CTABDEL-lel lehet a görbe-táblázatokat törölni.<br />

Megjegyzés<br />

A görbe-táblázatok, amelyek egy csatolásban aktívak, nem törölhetők.<br />

Munka-előkészítés<br />

508 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

Szintaxis<br />

CTABDEL()<br />

CTABDEL(,)<br />

CTABDEL(,,)<br />

CTABDEL()<br />

CTABDEL(,,)<br />

Jelentés<br />

CTABDEL<br />

<br />

<br />

<br />

utasítás a görbe-táblázatok törléséhez<br />

törlendő görbe-táblázat száma (ID)<br />

Egy CTABDEL(,) görbe-táblázat tartomány törlésénél az <br />

megadja a tartomány első görbe-táblázatát.<br />

Egy CTABDEL(,) görbe-táblázat tartomány törlésénél az <br />

megadja a tartomány utolsó görbe-táblázatát.<br />

nagyobb kell legyen, mint az !<br />

tárolóhely megadása (opcionális)<br />

Egy törlésnél a tárolóhely megadása nélkül a megadott görbetáblázatok<br />

a statikus és a dinamikus NC-tárolóban törölve lesznek.<br />

Egy törlésnél a tárolóhely megadásával a megadott görbe-táblázatok<br />

csak a megadott tárolóban lesznek törölve. A többiek megmaradnak.<br />

"SRAM"<br />

törlés a statikus NC-tárolóban<br />

"DRAM"<br />

törlés a dinamikus NC-tárolóban<br />

Ha a CTABDEL a törlendő görbe-táblázat megadása nélkül van programozva, akkor az összes<br />

görbe-táblázat(ok) törölve lesznek a megadott tárolóban.<br />

CTABDEL()<br />

CTABDEL(,,"SRAM")<br />

CTABDEL(,,"DRAM")<br />

Törli az összes görbe-táblázatot a statikus és a dinamikus NCtárolóban.<br />

Törli az összes görbe-táblázatot a statikus NC-tárolóban.<br />

Törli az összes görbe-táblázatot a dinamikus NC-tárolóban.<br />

Megjegyzés<br />

Ha a CTABDEL(,) vagy CTABDEL() többszörös törlésnél legalább egy törlendő görbetáblázat<br />

egy csatolásban aktív, akkor a törlés utasítás nem lesz végrehajtva, vagyis a<br />

megcímzett görbe-táblázatokból egy sem lesz törölve.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 509


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

9.2.4 Görbe-táblázatok zárolása törlésre és átírásra (CTABLOCK, CTABUNLOCK)<br />

Funkció<br />

A görbe-táblázatokat a szándékolatlan törlés és átírás ellen zárolás beállításával lehet<br />

védeni. Egy beállított zárolást bármikor fel lehet oldani.<br />

Szintaxis<br />

Zárolást beállítani:<br />

CTABLOCK()<br />

CTABLOCK(,)<br />

CTABLOCK(,,)<br />

CTABLOCK()<br />

CTABLOCK(,,)<br />

Zárolást megszüntetni:<br />

CTABUNLOCK()<br />

CTABUNLOCK(,)<br />

CTABUNLOCK(,,)<br />

CTABUNLOCK()<br />

CTABUNLOCK(,,)<br />

Jelentés<br />

CTABLOCK<br />

CTABUNLOCK<br />

<br />

utasítás törlés/átírás elleni zárolás beállítására<br />

utasítás törlés/átírás elleni zárolás feloldására<br />

A CTABUNLOCK a CTABLOCK-kal zárolt görbe-táblázatokat ismét szabaddá<br />

teszi. Egy aktív csatolásban résztvevő görbetáblázatok továbbra is<br />

zároltak maradnak és nem lehet őket törölni. A zárolás a CTABLOCK-kal<br />

megszűnik, amikor az aktív csatolás miatti zárolás megszűnik a<br />

csatolás deaktiválása miatt. Ezután lehet törölni ezeket a táblázatokat.<br />

Egy ismételt CTABUNLOCK hívás nem szükséges.<br />

zárolandó/feloldandó görbe-táblázat száma (ID)<br />

Egy CTABLOCK(,)/CTABUNLOCK(,) görbe-táblázat<br />

zárolásnál/feloldásnál az megadja a tartomány első görbetáblázatának<br />

számát.<br />

Munka-előkészítés<br />

510 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

<br />

Egy CTABLOCK(,)/CTABUNLOCK(,) görbe-táblázat<br />

zárolásnál/feloldásnál az megadja a tartomány utolsó görbetáblázatának<br />

számát.<br />

nagyobb kell legyen, mint az !<br />

<br />

tárolóhely megadása (opcionális)<br />

Egy zárolás beállításánál/feloldásánál a tárolóhely megadása nélkül a<br />

megadott görbe-táblázatok a statikus és a dinamikus NC-tárolóban<br />

zárolva/feloldva lesznek.<br />

Egy zárolás beállításánál/feloldásánál a tárolóhely megadásával a<br />

megadott görbe-táblázatok csak a megadott tárolóban lesznek<br />

zárolva/feloldva. A többiek nem lesznek zárolva/feloldva.<br />

"SRAM"<br />

zárolás beállítása/feloldása a statikus NC-tárolóban<br />

"DRAM"<br />

zárolás beállítása/feloldása a dinamikus NC-tárolóban<br />

Ha a CTABLOCK/CTABUNLOCK a zárolandó/feloldandó görbe-táblázat megadása nélkül van<br />

programozva, akkor az összes görbe-táblázat a megadott tárolóban zárolva/feloldva lesz.<br />

CTABLOCK()<br />

CTABLOCK(,,"SRAM")<br />

CTABLOCK(,,"DRAM")<br />

Zárolja az összes görbe-táblázatot a statikus és a<br />

dinamikus NC-tárolóban.<br />

Zárolja az összes görbe-táblázatot a statikus NCtárolóban.<br />

Zárolja az összes görbe-táblázatot a dinamikus NCtárolóban.<br />

CTABUNLOCK()<br />

CTABUNLOCK(,,"SRAM")<br />

CTABUNLOCK(,,"DRAM")<br />

Feloldja az összes görbe-táblázatot a statikus és a<br />

dinamikus NC-tárolóban.<br />

Feloldja az összes görbe-táblázatot a statikus NCtárolóban.<br />

Feloldja az összes görbe-táblázatot a dinamikus NCtárolóban.<br />

9.2.5 Görbe-táblázatok: Táblázat tulajdonságok megállapítása (CTABID,<br />

CTABISLOCK, CTABMEMTYP, CTABPERIOD)<br />

Funkció<br />

Ezekkel az utasításokkal egy görbe-táblázat fontos tulajdonságait (táblázat szám, zárolás<br />

állapot, tárolóhely, periodicitás) lehet lekérdezni.<br />

Szintaxis<br />

CTABID()<br />

CTABID(,)<br />

CTABISLOCK()<br />

CTABMEMTYP()<br />

TABPERIOD()<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 511


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

Jelentés<br />

CTABID<br />

CTABISLOCK<br />

CTABMEMTYP<br />

CTABPERIOD<br />

<br />

<br />

<br />

visszaadja táblázat számot, amelyik a megadott tárolóban a -edik<br />

görbe-táblázatként van bevive<br />

Példa:<br />

CTABID(1,"SRAM") az első görbe-táblázat számát adja meg a statikus<br />

NC-tárolóban. Az első görbe-táblázat megfelel a legnagyobb táblázat<br />

számú görbe-táblázatnak.<br />

Utalás:<br />

Ha a CTABID két egymás utáni felhívása között a görbe-táblázatok<br />

sorrendje meg lett változtatva, pl. a görbe-táblázatok törlése által<br />

CTABDEL-lel, a CTABID(,...) ugyanazzal a számmal egy másik<br />

görbe-táblázatot adhat vissza, mint előtte.<br />

visszaadja zárolás állapotot az számú görbe-táblázatra:<br />

0 táblázat nincs zárolva<br />

1 táblázat zárolva van CTABLOCK-kal<br />

2 táblázat zárolva van aktív csatolás miatt<br />

3 táblázat zárolva van CTABLOCK és aktív csatolás miatt<br />

-1 táblázat nem létezik<br />

visszaadja tárolóhelyet az számú görbe-táblázatra:<br />

0 táblázat a statikus NC-tárolóban<br />

1 táblázat a dinamikus NC-tárolóban<br />

-1 táblázat nem létezik<br />

visszaadja periodicitást az számú görbe-táblázatra:<br />

0 táblázat nem periodikus<br />

1 táblázat periodikus a vezető tengelyen<br />

2 táblázat periodikus a vezető tengelyen és a követő tengelyen<br />

-1 táblázat nem létezik<br />

beviteli szám a tárolóban<br />

görbe-táblázat száma (ID)<br />

tárolóhely megadása (opcionális)<br />

"SRAM"<br />

statikus NC-tároló<br />

"DRAM"<br />

dinamikus NC-tároló<br />

Utalás:<br />

Ha erre a paraméterre nincs érték programozva, az<br />

MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE gépadatban<br />

beállított tárolóhely lesz alkalmazva<br />

Munka-előkészítés<br />

512 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

9.2.6 Görbe-táblázat értékeinek olvasása (CTABTSV, CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX)<br />

Funkció<br />

A következő görbe-táblázati értékeket lehet olvasni a munkadarabprogramban:<br />

● követő és vezető tengely értékek egy görbe-táblázat elején és végén<br />

● követő tengely értékek egy görbe-szegmens elején és végén<br />

● követő tengely érték egy vezető tengely értékhez<br />

● vezető tengely érték egy követő tengely értékhez<br />

● követő tengelyek minimum és maximum értéke<br />

– a görbe-táblázat teljes definíciós tartományában<br />

vagy<br />

– egy megadott görbe-táblázati tartományban<br />

Szintaxis<br />

CTABTSV(,[,])<br />

CTABTEV(,[,])<br />

CTABTSP(,[,])<br />

CTABTEP(,[,])<br />

CTABSSV(,,[,])<br />

CTABSEV(,,[,])<br />

CTAB(,,[,,]<br />

CTABINV(,,,[,,]<br />

CTABTMIN([,])<br />

CTABTMAX([,])<br />

CTABTMIN(,,[,,])<br />

CTABTMAX(,,[,,])<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 513


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

Jelentés<br />

CTABTSV:<br />

CTABTEV:<br />

CTABTSP:<br />

CTABTEP:<br />

CTABSSV:<br />

CTABSEV:<br />

CTAB:<br />

CTABINV:<br />

CTABTMIN:<br />

CTABTMAX:<br />

:<br />

:<br />

követő tengely értéket olvasni az elején az számú görbe-táblázatnak<br />

követő tengely értéket olvasni a végén az számú görbe-táblázatnak<br />

vezető tengely értéket olvasni az elején az számú görbe-táblázatnak<br />

vezető tengely értéket olvasni az végén az számú görbe-táblázatnak<br />

követő tengely értéket olvasni az elején a megadott vezető tengely<br />

értékhez () tartozó görbe-szegmensnek<br />

követő tengely értéket olvasni az végén a megadott vezető tengely<br />

értékhez () tartozó görbe-szegmensnek<br />

követő tengely értéket olvasni a megadott vezető tengely értékhez<br />

()<br />

vezető tengely értéket olvasni a megadott követő tengely értékhez<br />

()<br />

követő tengely minimum értékét meghatározni:<br />

a görbe-táblázat teljes definíciós tartományában<br />

vagy<br />

egy megadott ... intervallumban<br />

követő tengely maximum értékét meghatározni:<br />

a görbe-táblázat teljes definíciós tartományában<br />

vagy<br />

egy megadott ... intervallumban<br />

görbe-táblázat száma (ID)<br />

a paraméter adja vissza a görbe-táblázat funkció<br />

meredekségét a megállapított pozíciónál<br />

: tengely, amelynek mozgását a görbe-táblázat alapján kell kiszámítani<br />

(opcionális)<br />

: tengely, amely a vezető értéket adja a követő tengely mozgásának<br />

kiszámításához (opcionális)<br />

: követő tengely érték a hozzátartozó vezető tengely érték olvasásához<br />

CTABINV-nél<br />

: vezető tengely érték:<br />

a hozzátartozó követő tengely érték olvasásához CTAB-nél<br />

vagy<br />

a görbe-szegmens kiválasztásához CTABSSV/CTABSEV-nél<br />

: Egy vezető tengely érték hozzárendelése egy követő tengely értékhez<br />

CTABINV-nél nem kell mindig egyértelmű legyen. A CTABINV-nek szüksége<br />

van paraméterként egy közelítő értékre az elvárt vezető tengely<br />

értékhez.<br />

:<br />

alsó határa a vezető érték tartománynak CTABTMIN/CTABTMAX-nál<br />

:<br />

felső határa a vezető érték tartománynak CTABTMIN/CTABTMAX-nál<br />

Utalás:<br />

Az ... vezető érték tartománynak a görbe-táblázat definíciós<br />

tartományán belül kell legyen..<br />

Munka-előkészítés<br />

514 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

Példák<br />

Példa 1:<br />

Követő tengely és vezető tengely értékek a görbe-táblázat elején és végén valamint a követő<br />

tengely minimum és maximum értékeinek meghatározása a görbe-táblázat teljes definíciós<br />

tartományában<br />

Programkód<br />

Kommentár<br />

N10 DEF REAL STARTPOS<br />

N20 DEF REAL ENDPOS<br />

N30 DEF REAL STARTPARA<br />

N40 DEF REAL ENDPARA<br />

N50 DEF REAL MINVAL<br />

N60 DEF REAL MAXVAL<br />

N70 DEF REAL GRADIENT<br />

...<br />

N100 CTABDEF(Y,X,1,0)<br />

; görbe-táblázat definíció kezdete<br />

N110 X0 Y10<br />

; 1. táblázat-szegmens kezdő pozíció<br />

N120 X30 Y40<br />

; 1. táblázat-szegmens vég pozíció = 2. táblázatszegmens<br />

kezdő pozíció<br />

N130 X60 Y5 ; 2. táblázat-szegmens vég pozíció = ...<br />

N140 X70 Y30<br />

N150 X80 Y20<br />

N160 CTABEND<br />

; táblázat definíció vége.<br />

...<br />

N200 STARTPOS=CTABTSV(1,GRADIENT) ; követő tengely érték görbe-táblázat elején = 10<br />

N210 ENDPOS=CTABTEV(1,GRADIENT) ; követő tengely érték görbe-táblázat végén= 20<br />

N220 STARTPARA=CTABTSP(1,GRADIENT) ; vezető tengely érték görbe-táblázat elején = 0<br />

N230 ENDPARA=CTABTEP(1,GRADIENT) ; vezető tengely érték görbe-táblázat végén = 80<br />

N240 MINVAL=CTABTMIN(1)<br />

; követő tengely minimum értéke Y=5-nél:<br />

N250 MAXVAL=CTABTMAX(1)<br />

; követő tengely maximum értéke Y=40-nél<br />

Példa 2:<br />

Követő tengely értékek meghatározása X = 30 vezető értékhez tartozó görbe-szegmens<br />

elején és végén<br />

Programkód<br />

Kommentár<br />

N10 DEF REAL STARTPOS<br />

N20 DEF REAL ENDPOS<br />

N30 DEF REAL GRADIENT<br />

...<br />

N100 CTABDEF(Y,X,1,0)<br />

; görbe-táblázat definíció kezdete<br />

N110 X0 Y0<br />

; 1. táblázat-szegmens kezdő pozíció<br />

N120 X20 Y10<br />

; 1. táblázat-szegmens vég pozíció = 2. táblázatszegmens<br />

kezdő pozíció<br />

N130 X40 Y40 2. táblázat-szegmens vég pozíció = ...<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 515


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

Programkód<br />

Kommentár<br />

N140 X60 Y10<br />

N150 X80 Y0<br />

N160 CTABEND<br />

; táblázat definíció vége.<br />

...<br />

N200 STARTPOS=CTABSSV(30.0,1,GRADIENT) ; Y kezdő pozíció a 2. szegmensben = 10<br />

N210 ENDPOS=CTABSEV(30.0,1,GRADIENT) ; Y vég pozíció a 2. szegmensben = 40<br />

További információk<br />

Alkalmazás szinkronakciókban<br />

Az összes utasítás a görbe-táblázatok értékeinek olvasására használható a<br />

szinkronakciókban is (lásd a "Mozgásszinkron-akciók" fejezetet).<br />

A CTABINV, CTABTMIN és CTABTMAX utasítások használatánál figyelni kell arra, hogy:<br />

● a végrehajtás időpontjában legyen elegendő NC teljesítmény<br />

vagy<br />

● a felhívás előtt le kell kérdezni a görbe-táblázat szegmenseinek számát, hogy esetleg az<br />

érintett táblázatot fel lehessen osztani.<br />

CTAB nem periodikus görbe-táblázatoknál<br />

Ha a megadott a definíciós tartományon kívül van, követő értékként a felső<br />

vagy az alsó határ lesz kiadva:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

516 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

CTAB periodikus görbe-táblázatoknál<br />

Ha a megadott a definíciós tartományon kívül van, a vezető érték a<br />

definíciós tartományon modulo lesz kiértékelve és a megfelelő követő érték lesz kiadva:<br />

<br />

<br />

<br />

<br />

<br />

Közelítő érték CTABINV-nél<br />

A CTABINV utasításnak szüksége van egy közelítő értékre az elvárt vezető értékhez. A<br />

CTABINV azt a vezető értéket adja vissza, amelyik a közelítő értékhez legközelebb van. A<br />

közelítő érték lehet pl. a vezető érték az előző interpolációs ütemből.<br />

A görbe-táblázat funkció meredeksége<br />

A meredekség () kiadása lehetővé teszi a vezető vagy követő tengely<br />

sebességének kiszámítását a megfelelő pozícióban.<br />

Vezető vagy követő tengely megadása<br />

A vezető és/vagy követő tengely opcionális megadása fontos, ha a vezető és a követő<br />

tengely különböző hosszegységekre van beállítva.<br />

CTABSSV, CTABSEV<br />

A CTABSSV és CTABSEV utasítások a következő esetekben nem alkalmasak, programozott<br />

szegmensek lekérdezésére:<br />

● körök vagy evolvensek vannak programozva<br />

● CHF/RND letörés ill. lekerekítés aktív<br />

● G643 átmenet simítás aktív<br />

● COMPON/COMPCURV/COMPCAD NC kompresszió aktív.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 517


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

9.2.7 Görbe-táblázatok: Erőforrások használatának vizsgálata (CTABNO,<br />

CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL)<br />

Funkció<br />

Ezekkel az utasításokkal a programozónak lehetősége van görbe-táblázatok, táblázatszegmensek<br />

és polinomok erőforrásinak felhasználásáról informálódni.<br />

Szintaxis<br />

CTABNO<br />

CTABNOMEM()<br />

CTABFNO()<br />

CTABSEGID(,)<br />

CTABSEG(,)<br />

CTABFSEG(,)<br />

CTABMSEG(,)<br />

CTABPOLID()<br />

CTABPOL()<br />

CTABFPOL()<br />

CTABMPOL()<br />

Jelentés<br />

CTABNO<br />

CTABNOMEM<br />

CTABFNO<br />

CTABSEGID<br />

CTABSEG<br />

CTABFSEG<br />

CTABMSEG<br />

CTABPOLID<br />

CTABPOL<br />

CTABFPOL<br />

a definiált görbe-táblázatok össz-számát meghatározni (a statikus és<br />

dinamikus NC-tárolóban)<br />

a definiált görbe-táblázatok számát a megadott -en<br />

meghatározni<br />

a még lehetséges görbe-táblázatok számát a megadott en<br />

meghatározni<br />

a megadott görbe-táblázatainak számát<br />

meghatározni, amelyeket az számú görbetáblázat használ<br />

a használt görbe-szegmensek számát a megadott ból<br />

a megadott -en meghatározni<br />

a még lehetséges görbe-szegmensek számát a megadott -ból a megadott -en meghatározni<br />

a maximálisan lehetséges görbe-szegmensek számát a megadott<br />

-ból a megadott -en meghatározni<br />

a görbe-polinomok számát meghatározni, amelyeket az számú<br />

görbe-táblázat használ<br />

a használt görbe-polinomok számát a megadott -en<br />

meghatározni<br />

a még lehetséges görbe-polinomok számát a megadott en<br />

meghatározni<br />

Munka-előkészítés<br />

518 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.2 Görbe-táblázatok (CTAB)<br />

CTABMPOL<br />

<br />

<br />

<br />

a maximálisan lehetséges görbe-polinomok számát a megadott<br />

-en meghatározni<br />

görbe-táblázat száma (ID)<br />

tárolóhely megadása (opcionális)<br />

"SRAM"<br />

statikus NC-tároló<br />

"DRAM"<br />

dinamikus NC-tároló<br />

Utalás:<br />

Ha erre a paraméterre nincs érték programozva, az<br />

MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE gépadatban<br />

beállított tárolóhely lesz alkalmazva<br />

szegmens fajta megadása (opcionális)<br />

"L"<br />

lineáris szegmensek<br />

"P"<br />

polinom-szegmensek<br />

Utalás:<br />

Ha erre a paraméterre nincs érték programozva, akkor a lineáris és<br />

polinom-szegmensek összege lesz kiadva..<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 519


Tengely-csatolások<br />

9.3 Tengely vezető érték csatolás (LEADON, LEADOF)<br />

9.3 Tengely vezető érték csatolás (LEADON, LEADOF)<br />

Megjegyzés<br />

Ez a funkció a SINUMERIK 828D-nél nem áll rendelkezésre<br />

Funkció<br />

A tengely vezető érték csatolásnál egy vezető és egy követő tengely szinkron mozog. Ennek<br />

során a követő tengely mindenkori pozíciója egy görbe táblázattal ill. az abból kiszámított<br />

polinommal egyértelműen van egy - esetleg szimulált - vezető tengelyhez hozzárendelve.<br />

<br />

<br />

Vezető tengely az a tengely, amelyik a görbe-táblázat bemenő értékeit adja. Követő tengely<br />

az a tengely, amelyik a görbe-táblázattal kiszámított pozíciókat felveszi.<br />

Valós- és parancsérték csatolás<br />

Vezető értékként, vagyis kimenő értékként a követő tengely pozíciójának meghatározásához<br />

a következőket lehet használni:<br />

● vezető tengely valós pozíció: valósérték csatolás<br />

● vezető tengely parancs pozíció: parancsérték csatolás<br />

A vezető érték csatolás mindig az alap-koordinátarendszerben érvényes.<br />

A görbe-táblázatok létrehozásához lásd a "Görbe-táblázatok"fejezetet.<br />

A vezető érték csatolást lásd /FB/, M3, Mitschleppen und Leitwertkopplung.<br />

Munka-előkészítés<br />

520 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.3 Tengely vezető érték csatolás (LEADON, LEADOF)<br />

Szintaxis<br />

LEADON(Ktengely,Vtengely,n)<br />

LEADOF(Ktengely,Vtengely)<br />

vagy kikapcsolás a vezető tengely megadása nélkül<br />

LEADOF(Ktengely)<br />

A vezető érték csatolást a munkadarab-programban és szinkronakció mozgás (lásd<br />

"Mozgás-szinkron akciók" fejezet) közben is lehet be- és kikapcsolni.<br />

Jelentés<br />

LEADON<br />

vezető érték csatolás bekapcsolása<br />

LEADOF<br />

vezető érték csatolás kikapcsolása<br />

Ktengely<br />

követő tengely<br />

Vtengely<br />

vezető tengely<br />

n<br />

görbe-táblázat száma<br />

$SA_LEAD_TYPE<br />

átkapcsolás parancs- és valósérték csatolás között<br />

Vezető érték csatolás kikapcsolása, LEADOF<br />

A vezető érték csatolás kikapcsolásával a követő tengely ismét normális parancs-tengely<br />

lesz!<br />

Tengely vezető érték csatolás és különböző üzemállapotok, RESET<br />

A gépadat beállítástól függően történik a vezető érték csatolások kikapcsolása RESET-tel.<br />

Példa vezető érték csatolásra szinkronakcióból<br />

Egy sajtoló berendezésnél kell a szokásos mechanikus csatolást egy vezető tengely<br />

(bélyegző tengely) és egy szállító-tengelyekből és segéd-tengelyekből álló szállítórendszer<br />

tengelyei között egy elektronikus csatoló rendszerrel kiváltani.<br />

Bemutatjuk, hogyan lesz egy sajtoló berendezésnél egy mechanikus szállítórendszer egy<br />

elektronikus szállítórendszerrel kiváltva. A csatolást létrehozó és lebontó eljárások statikus<br />

szinkronakcióként vannak megvalósítva.<br />

A vezető tengely LW (bélyegző tengely) vezéreli a szállító-tengelyeket és a<br />

segédtengelyeket követő tengelyekként a görbe-táblázatban definiált módon.<br />

Követő tengelyek<br />

X előtoló- ill. hossz-tengely<br />

YL záró- ill. kereszt-tengely<br />

ZL löket-tengely<br />

U henger-előtolás, segédtengely<br />

V beállító-fej, segédtengely<br />

W zsírozás, segédtengely<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 521


Tengely-csatolások<br />

9.3 Tengely vezető érték csatolás (LEADON, LEADOF)<br />

Akciók<br />

A szinkronakciókban pl. a következő akciók fordulnak elő:<br />

● csatolás be, LEADON(követő tengely, vezető tengely, görbe-táblázat szám)<br />

● csatolás ki, LEADOF(követő tengely, vezető tengely)<br />

● valós érték állítás, PRESETON(tengely, érték)<br />

● jelölő állítás, $AC_MARKER[i] = érték<br />

● csatolási mód: reális/virtuális vezető érték<br />

● tengely-pozíciók felvétele, POS[tengely] = érték<br />

Feltételek<br />

Feltételként gyors, digitális bemenetek, $AC_MARKER valósidejű változók és pozícióösszehasonlítások<br />

lesznek kiértékelve, az AND logikai művelettel összekapcsolva.<br />

Megjegyzés<br />

IA következő példában a sorváltás, behúzás és kövér szedés kizárólag a program<br />

olvashatóságának javítása céljából van alkalmazva. A vezérlés számára az egy sorszám<br />

után álló rész számít egy sornak.<br />

Kommentár<br />

Programkód<br />

Kommentár<br />

; Az összes statikus szinkronakció definíciója.<br />

; **** Jelölő visszaállítás<br />

N2 $AC_MARKER[0]=0 $AC_MARKER[1]=0 $AC_MARKER[2]=0 $AC_MARKER[3]=0 $AC_MARKER[4]=0 $AC_MARKER[5]=0<br />

$AC_MARKER[6]=0 $AC_MARKER[7]=0<br />

; **** E1 0=>1 szállítás csatolás BE<br />

N10 IDS=1 EVERY ($A_IN[1]==1) AND ($A_IN[16]==1) AND ($AC_MARKER[0]==0)<br />

DO LEADON(X,LW,1) LEADON(YL,LW,2) LEADON(ZL,LW,3) $AC_MARKER[0]=1<br />

; **** E1 0=>1 henger-előtolás csatolás BE<br />

N20 IDS=11 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[5]==0)<br />

DO LEADON(U,LW,4) PRESETON(U,0) $AC_MARKER[5]=1<br />

; **** E1 0>1 beállító-fej csatolás BE<br />

N21 IDS=12 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[6]==0)<br />

DO LEADON(V,LW,4) PRESETON(V,0) $AC_MARKER[6]=1<br />

; **** E1 0->1 zsírozás csatolás BE<br />

N22 IDS=13 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[7]==0)<br />

DO LEADON(W,LW,4) PRESETON(W,0) $AC_MARKER[7]=1<br />

; **** E2 0=>1 csatolás KI<br />

N30 IDS=3 EVERY ($A_IN[2]==1)<br />

DO LEADOF(X,LW) LEADOF(YL,LW) LEADOF(ZL,LW) LEADOF(U,LW) LEADOF(V,LW) LEADOF(W,LW) $AC_MARKER[0]=0<br />

$AC_MARKER[1]=0 $AC_MARKER[3]=0 $AC_MARKER[4]=0 $AC_MARKER[5]=0 $AC_MARKER[6]=0 $AC_MARKER[7]=0<br />

....<br />

N110 G04 F01<br />

N120 M30<br />

Munka-előkészítés<br />

522 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.3 Tengely vezető érték csatolás (LEADON, LEADOF)<br />

Leírás<br />

A vezető érték csatolás igényli a vezető és a követő tengely szinkronizációját. Ezt a<br />

szinkronizációt csak akkor lehet elérni, ha a követő tengely a vezető érték csatolás<br />

bekapcsolásakor a görbe-táblázatból kiszámított görbe tűréssávján belül van.<br />

A követő tengely helyzetének tűréstartománya az MD 37200: COUPLE_POS_POL_COARSE<br />

A_LEAD_TYPE gépadatban van definiálva.<br />

Ha a követő tengely a vezető érték csatolás bekapcsolásakor még nincs a megfelelő<br />

helyzetben, a szinkronfutás automatikusan akkor jön létre, amikor követő tengelyre<br />

kiszámított pozíció érték a tényleges követő tengely pozícióhoz közelít. A követő tengely a<br />

szinkronizációs folyamat közben a követő tengely parancs-sebessége (számítás a vezető<br />

tengely sebesség és CTAB alapján) által meghatározott irányba mozog.<br />

<br />

<br />

<br />

<br />

<br />

Nincs szinkronfutás<br />

Ha a kiszámított követő tengely pozíció eltávolodik a vezető érték csatolás bekapcsolásával<br />

az aktuális követő tengely pozíciótól, a szinkronfutás nem jön létre.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 523


Tengely-csatolások<br />

9.3 Tengely vezető érték csatolás (LEADON, LEADOF)<br />

Valós- és parancsérték csatolás<br />

A parancsérték csatolás a valósérték csatolással összehasonlítva jobb szinkronfutást biztosít<br />

a vezető és a követő tengely között és ezért alaphelyzetként ez van beállítva.<br />

<br />

<br />

<br />

<br />

<br />

A parancsérték csatolás csak akkor lehetséges, ha a vezető és a követő tengelyt ugyanaz<br />

az NCU interpolálja. Egy külső vezető tengelynél a követő tengelyt csak a valósértékkel<br />

lehet a vezető tengelyhez csatolni.<br />

<br />

<br />

<br />

<br />

<br />

Az átkapcsolás a $SA_LEAD_TYPE beállítási adattal lehetséges.<br />

Az átkapcsolás a valós- és a parancsérték csatolás között mindig a követő tengely nyugalmi<br />

állapotában történjen. Mivel csak a nyugalmi helyzetben történik meg újra a szinkronizáció<br />

az átkapcsolás után.<br />

Alkalmazási példa<br />

A valósérték olvasása a gép erős rázkódása mellett nem lehet hibamentes. A sajtoló<br />

továbbító berendezéseknél a vezető érték csatolás esetén szükséges lehet a jelentős<br />

rázkódással járó munkalépésekben a valósérték csatolásról átkapcsolni a parancsérték<br />

csatolásra.<br />

Munka-előkészítés<br />

524 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.3 Tengely vezető érték csatolás (LEADON, LEADOF)<br />

Vezető érték szimuláció a parancsérték csatolásnál<br />

Gépadat segítségével az interpolátort a vezető tengelynél le lehet választani a szervóról.<br />

Ezzel a parancsérték csatolásnál a parancsértéket a vezető tengely tényleges mozgása<br />

nélkül csatolni lehet.<br />

A parancsérték csatolással létrehozott vezető értékek olvashatók pl. a szinkronakciókból a<br />

következő változókkal:<br />

- $AA_LEAD_P vezető érték pozíció<br />

- $AA_LEAD_V vezető érték sebesség<br />

Vezetőértékek létrehozása<br />

Vezető értékeket választhatóan lehet más, saját programozású módszerrel is létrehozni. Az<br />

így létrehozott vezető értéket a<br />

- $AA_LEAD_SP vezető érték pozíció<br />

- $AA_LEAD_SV vezető érték sebesség<br />

változókba lehet beírni és onnan kiolvasni. Ezen változók használatához a $SA_LEAD_TYPE =<br />

2 beállítási adatot be kell állítani..<br />

A csatolás állapota<br />

Az NC munkadarab-programban a csatolás állapotát a következő rendszerváltozókkal lehet<br />

lekérdezni:<br />

$AA_COUP_ACT[tengely]<br />

0: nincs aktív csatolás<br />

16: vezető érték csatolás aktív<br />

Állapot kezelés szinkronakcióknál<br />

A kapcsolási és csatolási folyamatok a<br />

$AC_MARKER[i] = n<br />

valós idejű változóval lesznek kezelve, ahol:<br />

i jelölő szám<br />

n állapotérték<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 525


Tengely-csatolások<br />

9.4 Elektronikus hajtómű (EG)<br />

9.4 Elektronikus hajtómű (EG)<br />

Funkció<br />

Az "Elektronikus hajtómű" funkcióval lehetséges egy követő-tengely mozgását lineáris<br />

mozgás-mondatban max. 5 vezető-tengelytől függően vezérelni. A vezető-tengelyek és a<br />

követő-tengely összefüggéseit vezető-tengelyekként egy csatolás-tényezővel lehet definiálni.<br />

A kiszámított követő-tengely mozgásrész az egyes vezető-tengely mozgásrészek és<br />

megfelelő csatolás-tényezők szorzatainak összegéből képződik. Egy EG tengely-egyesülés<br />

aktiválásánál lehet kezdeményezni a követő-tengely szinkronizációját egy definiált<br />

pozícióba. Egy hajtómű egyesülést a munkadarabprogramból lehet:<br />

● definiálni,<br />

● bekapcsolni,<br />

● kikapcsolni,<br />

● törölni.<br />

A követő-tengely mozgását választhatóan le lehet vezetni<br />

● a vezető-tengelyek parancsértékeiből ill.<br />

● a vezető-tengelyek valósértékeiből.<br />

Bővítésként lehetséges a vezető-tengelyek és a követő-tengely között nem-lineáris<br />

összefüggéseket is megvalósítani görbe-táblázatokkal (lásd a Pályaviselkedés fejezetben).<br />

Az elektronikus hajtóműveket sorba lehet kapcsolni, azaz egy elektronikus hajtómű követő<br />

tengelye lehet egy következő elektronikus hajtómű vezető tengelye.<br />

9.4.1 Elektronikus hajtómű definíció (EGDEF)<br />

Funkció<br />

Egy EG tengely-egyesülést a követő tengely és legalább egy, de maximum öt vezető tengely<br />

és a megfelelő csatolás típusok megadásával lehet megadni.<br />

Előfeltétel<br />

Egy EG tengely-egyesülés definíciójának előfeltétele:<br />

A követő-tengelyre nem lehet még tengely-csatolás definiálva (esetleg egy már meglevőt<br />

előbb EGDEL-lel törölni kell).<br />

Szintaxis<br />

EGDEF(követő tengely,vezető tengely 1,csatolás típus 1,vezető<br />

tengely 2,csatolás típus 2,...)<br />

Munka-előkészítés<br />

526 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.4 Elektronikus hajtómű (EG)<br />

Jelentés<br />

EGDEF<br />

követő tengely<br />

vezető tengely 1<br />

,...,<br />

vezető tengely 5<br />

csatolás típus 1<br />

,...,<br />

csatolás típus 5<br />

elektronikus hajtómű definíció<br />

tengely, amelyet a vezető-tengelyek befolyásolnak<br />

tengelyek, amelyek követő-tengelyt befolyásolnak<br />

csatolás típus<br />

A csatolás típus nem kell azonos legyen minden vezető tengelyre<br />

és ezért egyenként kell megadni minden vezető tengelyre.<br />

Érték: Jelentés:<br />

0 követő-tengely befolyásolása a valósértéke megfelelő<br />

vezető-tengelynek<br />

1 követő-tengely befolyásolása a parancsértéke<br />

megfelelő vezető-tengelynek<br />

Megjegyzés<br />

A csatolási tényezők az EG csatolási egyesülés definíciójánál nullával lesznek feltöltve.<br />

Megjegyzés<br />

EGDEF előrefutás-álljt vált ki A hajtómű definíciót EGDEF -fel akkor is változatlanul kell, ha a<br />

rendszerben egy vagy több vezető-tengely hat a követő-tengelyre görbe-táblázattal.<br />

Példa<br />

Programkód<br />

Kommentár<br />

EGDEF(C,B,1,Z,1,Y,1) ; egy EG tengely-egyesülés definíciója A B, Z, Y<br />

vezető tengelyek befolyásolják a C követő tengelyt<br />

parancsértékkel.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 527


Tengely-csatolások<br />

9.4 Elektronikus hajtómű (EG)<br />

9.4.2 Elektronikus hajtóművet bekapcsolni (EGON, EGONSYN, EGONSYNE)<br />

Funkció<br />

Egy EG tengely-egyesülés bekapcsolására 3 változat van.<br />

Szintaxis<br />

Változat 1:<br />

Az EG tengely-egyesülés szinkronizáció nélkül szelektív bekapcsolása:<br />

EGON(FA,"mondatváltás-módus",LA1,Z1,N1,LA2,Z2,N2,...,LA5,Z5,N5)<br />

Változat 2:<br />

Az EG tengely-egyesülés szinkronizációval szelektív bekapcsolása:<br />

EGONSYN(FA,"mondatváltás-módus",SynPosFA,[,LAi,SynPosLAi,Zi,Ni])<br />

Változat 3:<br />

Az EG tengely-egyesülés szinkronizációval szelektív bekapcsolása és a rámeneti modus<br />

megadása:<br />

EGONSYNE(FA,"mondatváltás-módus",SynPosFA,rámeneti<br />

módus[,LAi,SynPosLAi,Zi,Ni])<br />

Jelentés<br />

Változat 1:<br />

FA<br />

mondatváltás-módus<br />

LA1, ... LA5<br />

Z1, ... Z5<br />

N1, ... N5<br />

követő tengely<br />

következő módusokat lehet kiválasztani:<br />

"NOC"<br />

mondatváltás azonnal<br />

"FINE"<br />

mondatváltás "szinkronfutás finom"-nál<br />

"COARSE"<br />

mondatváltás "szinkronfutás durva"-nál<br />

"IPOSTOP"<br />

mondatváltás parancsérték szinkronfutásnál<br />

vezető tengelyek<br />

csatolási tényező i számláló<br />

csatolási tényező i nevező<br />

csatolási tényező i = számláló i / nevező i<br />

Csak azokat a vezető-tengelyeket szabad programozni, amelyek előbb EGDEF-fel specifikálva<br />

lettek. Legalább egy vezető-tengelyt kell programozni.<br />

Munka-előkészítés<br />

528 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.4 Elektronikus hajtómű (EG)<br />

Változat 2:<br />

FA<br />

követő tengely<br />

mondatváltás-módus<br />

következő módusokat lehet kiválasztani:<br />

"NOC"<br />

mondatváltás azonnal<br />

"FINE"<br />

mondatváltás "szinkronfutás finom"-nál<br />

"COARSE"<br />

mondatváltás "szinkronfutás durva"-nál<br />

"IPOSTOP"<br />

mondatváltás parancsérték<br />

szinkronfutásnál<br />

[,LAi,SynPosLAi,Zi,Ni] (ne írjunk szögletes zárójelet)<br />

min. 1, max. 5 egymás után:<br />

LA1, ... LA5<br />

vezető tengelyek<br />

SynPosLAi<br />

szinkronpozíció az i. vezető-tengelyre<br />

Z1, ... Z5 csatolási tényező i számláló<br />

N1, ... N5 csatolási tényező i nevező<br />

csatolási tényező i = számláló i / nevező i<br />

Csak azokat a vezető-tengelyeket szabad programozni, amelyek előbb EGDEF-fel specifikálva<br />

lettek. A követő-tengelyre (SynPosFA) és a vezető-tengelyekre (SynPosLA) programozott<br />

"szinkronpozíciók" olyan pozíciókat definiálnak, amelyekre a csatolási-egyesülés szinkron.<br />

Ha az elektronikus hajtómű a bekapcsolásnál nincs szinkron állapotban, a követő-tengely a<br />

definiált szinkronpozíciójába megy.<br />

Változat 3:<br />

A paraméterek megfelelnek a változat 2-nek, továbbá:<br />

rámenet módus<br />

következő módusokat lehet kiválasztani:<br />

"NTGT"<br />

következő fogközre idő-optimáltan menni<br />

"NTGP"<br />

következő fogközre út-optimáltan menni<br />

"ACN"<br />

körtengelyt negatív forgásirányban abszolút mozgatni<br />

"ACP"<br />

körtengelyt pozitív forgásirányban abszolút mozgatni<br />

"DCT"<br />

idő-optimalizáltan a programozott szinkronpozícióra<br />

"DCP"<br />

út-optimalizáltan a programozott szinkronpozícióra<br />

A változat 3-nak csak a modulo követő tengelyekre van hatása, amelyek a modulo vezető<br />

tengelyekhez csatolva vannak. Az idő-optimalizálás figyelembe veszi a követő tengely<br />

sebességhatárait.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 529


Tengely-csatolások<br />

9.4 Elektronikus hajtómű (EG)<br />

További információk<br />

Bekapcsolási változatok leírása<br />

Változat 1:<br />

A vezető-tengelyek és a követő-tengely pozíciói a bekapcsolás időpontjában "Szinkronpozíció"-ként<br />

lesznek tárolva. A "Szinkron-pozíció"-kat a $AA_EG_SYN rendszerváltozóval<br />

lehet olvasni.<br />

Változat 2:<br />

Ha a csatolási-egyesülésben vannak modulo-tengelyek, a pozíció értékeik modulo<br />

csökkentve lesznek. Ezzel garantált, hogy ezek a lehető legközelebbi szinkronpozícióra<br />

mennek (un. relatív szinkronizáció: pl. következő fogrés). Ha a követő-tengelynek "Követőtengely<br />

átlapolás engedélyezés" interfészjel DB(30 +tengelyszám), DBX26 bit 4 nincs<br />

beállítva, nem fog a szinkronpozícióra menni. Ehelyett a program az EGONSYN-t tartalmazó<br />

mondatnál megáll és 16771 öntörlő vészjelzés jelentkezik addig, amíg a fenti jel be nem lesz<br />

állítva.<br />

Változat 3:<br />

A fogtávolság (fok) a következő: 360 * Zi/Ni. Abban az esetben, ha a követő tengely a<br />

felhívás időpontjában áll, az út-optimált és az idő-optimált viselkedés azonos.<br />

A már mozgó követő-tengely az NTGP-vel függetlenül a követő-tengely aktuális sebességétől<br />

a következő fogközre fog szinkronizálni. A már mozgó követő-tengely az NTGT-vel<br />

függetlenül a követő-tengely aktuális sebességétől a következő fogközre fog szinkronizálni.<br />

A tengely ehhez adott esetben le is lesz fékezve.<br />

Görbe-táblázatok<br />

Ha egy vezető-tengelyhez egy görbe-táblázat lesz használva, akkor:<br />

Ni<br />

Zi<br />

LAi<br />

a lineáris csatolások csatolási tényezőjének a nevezője 0 kell legyen. (0 nevező<br />

lineáris csatolásokra nem lenne megengedett). A 0 nevező jelzi a vezérlésnek,<br />

hogy<br />

az alkalmazott görbe-táblázat számaként értelmezendő A megadott számú<br />

görbetáblázat a bekapcsolás időpontjában már definiálva kell legyen.<br />

A vezető tengely megadása megfelel a vezető tengely megadásának a csatolási<br />

tényezővel való csatolásnál (lineáris csatolás).<br />

További utalások a görbe-táblázatok csatolásához és az elektronikus hajtóművek sorbakapcsolásához<br />

és azok szinkronizálásához található:<br />

Irodalom:<br />

Különleges funkciók működési kézikönyv; Tengely-csatolások és ESR (M3),<br />

fejezet: "Vontatás és vezető-érték csatolás".<br />

Munka-előkészítés<br />

530 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.4 Elektronikus hajtómű (EG)<br />

Elektronikus hajtómű viselkedése Power On, RESET, üzemmód-váltás, keresés esetén<br />

● Power On után nincs aktív csatolás.<br />

● Aktív csatolások megmaradnak RESET és üzemmód-váltás után.<br />

● Keresésénél az elektronikus hajtóműre vonatkozó kapcsolás, törlés és definiálás<br />

utasítások nem lesznek végrehajtva vagy összegyűjtve, hanem ki lesznek hagyva.<br />

Elektronikus hajtómű rendszerváltozói<br />

Az elektronikus hajtómű rendszerváltozói segítségével a munkadarabprogram meg tudja<br />

állapítani egy EG tengely-egyesülés állapotát és esetleg tud arra reagálni.<br />

Az elektronikus hajtómű rendszerváltozóit a függelékben találjuk.<br />

$AA_EG_ ...<br />

vagy<br />

$VA_EG_ ...<br />

Irodalom:<br />

Rendszerváltozók kézikönyve<br />

9.4.3 Elektronikus hajtómű kikapcsolása (EGOFS)<br />

Funkció<br />

Egy aktív EG tengely-egyesülés kikapcsolására 3 változat van.<br />

Programozás<br />

Változat 1:<br />

Szintaxis<br />

EGOFS(követő tengely)<br />

Jelentés<br />

Az elektronikus hajtómű kikapcsol. A követő tengely<br />

megállásig fékezése.. A hívás előrefutás-álljt vált ki.<br />

Változat 2:<br />

Szintaxis<br />

EGOFS(követő tengely,vezető tengely 1,…,vezető<br />

tengely 5)<br />

Jelentés<br />

Ennek az utasításnak a<br />

paraméterezése lehetővé teszi az<br />

egyes vezető tengelyeknek a<br />

követő tengely mozgására<br />

gyakorolt hatását szelektív<br />

kikapcsolni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 531


Tengely-csatolások<br />

9.4 Elektronikus hajtómű (EG)<br />

Legalább egy vezető tengelyt meg kell adni. A megadott vezető tengelyek hatása a követő<br />

tengelyre célzottan lesz kikapcsolva. A hívás előrefutás-álljt vált ki. Ha még maradnak aktív<br />

vezető tengelyek, a követő tengely ennek befolyásával fut tovább. Ha az összes vezető<br />

tengely befolyás ezen a módon ki lesz kapcsolva, a követő tengely megállásig lesz<br />

lefékezve.<br />

Változat 3:<br />

Szintaxis<br />

EGOFC(követő orsó 1)<br />

Jelentés<br />

Az elektronikus hajtómű kikapcsol. A követő orsó a<br />

kikapcsolási időpontban aktuális<br />

fordulatszámmal/sebességgel fut tovább. A hívás előrefutásálljt<br />

vált ki.<br />

Megjegyzés<br />

Ez a funkció csak az orsókra megengedett.<br />

9.4.4 Egy elektronikus hajtómű definícióját törölni (EGDEL)<br />

Funkció<br />

Egy EG tengely-egyesülést a definíciójának törlése előtt ki kell kapcsolni.<br />

Programozás<br />

Szintaxis<br />

EGDEL(követő tengely)<br />

Jelentés<br />

A tengely-egyesülés csatolás-definíciójának törlése.<br />

Az egyidejűleg aktivált tengely-egyesülések maximális<br />

számának eléréséig lehetséges további tengely-szövetségek új<br />

definíciója EGDEF-fel. A hívás előrefutás-álljt vált ki.<br />

Munka-előkészítés<br />

532 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.4 Elektronikus hajtómű (EG)<br />

9.4.5 Fordulat-előtolás (G95) / Elektronikus hajtómű (FPR)<br />

Funkció<br />

Az FPR utasítással egy elektronikus hajtómű követő-tengelyét is meg lehet adni a fordulatelőtolás<br />

előtolás-meghatározó tengelyeként. Erre az esetre a következő viselkedés<br />

érvényes:<br />

● Az előtolás az elektronikus hajtómű követő-tengelye parancs-sebességétől függ.<br />

● A parancssebesség a vezető orsó és modulo vezető tengelyek (amelyek nem<br />

pályatengelyek) sebességeiből és az ezekhez hozzárendelt csatolási tényezőkből lesz<br />

kiszámítva.<br />

● A lineáris ill. nem modulo vezető tengelyek és követő tengely átlapolt mozgásainak<br />

sebességrészei nem lesznek figyelembe véve.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 533


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

9.5 Szinkron-orsó<br />

Funkció<br />

IA szinkron-üzemben van egy vezető-orsó (LS) és egy követő-orsó (FS), az úgynevezett<br />

szinkronorsó pár. A követő-orsó aktív csatolásnál (szinkron-üzem) követi a vezető-orsó<br />

mozgásait a megadott funkció összefüggésnek megfelelően..<br />

A szinkronorsó-párokat a gépekre lehet a csatorna-specifikus gépadatokkal fixen beállítani<br />

vagy a CNC munkadarabprogrammal alkalmazás-specifikusan definiálni. NC csatornánként<br />

maximum 2 szinkronorsó-pár használható egyidejűleg.<br />

A csatolást a munkadarabprogramból lehet:<br />

● definiálni ill. megváltoztatni<br />

● bekapcsolni<br />

● kikapcsolni<br />

● törölni.<br />

Ezen kívül a szoftver-kiadástól függően lehet<br />

● szinkronfutás feltételre várni<br />

● mondatváltási viselkedést megváltoztatni<br />

● a csatolási módot vagy parancsérték csatolásként vagy valósérték csatolásként vagy<br />

szögeltolásként a vezető- és követő-orsó között megadni<br />

● bekapcsolásnál a követő-orsó megelőző programozásából a csatolást átvenni<br />

● egy már megmért vagy ismert szinkronfutás eltérést korrigálni.<br />

Munka-előkészítés<br />

534 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

9.5.1 Szinkronorsó: Programozás (COUPDEF, COUPDEL, COUPON, COUPONC,<br />

COUPOF, COUPOFS, COUPRES, WAITC)<br />

Funkció<br />

A szinkronorsó funkció lehetővé teszi két orsó (FS követő-orsó és LS vezető-orsó) szinkron<br />

mozgását pl. a repülő munkadarab-átadáshoz.<br />

A funkció a következő modusokat nyújtja:<br />

● fordulatszám-szinkronitás (nFS = nLS)<br />

● helyzet-szinkronitás (ϕFS = ϕLS)<br />

● helyzet-szinkronitás szög-eltolással (ϕFS = ϕLS+ ∆ϕ)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 535


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

A vezető- és követő-orsó 1-től eltérő áttételi viszonyának megadása lehetővé teszi a<br />

sokszög-megmunkálást (sokszög esztergálás).<br />

<br />

<br />

Szintaxis<br />

COUPDEF(,,,,,)<br />

COUPON(,,)<br />

COUPONC(,)<br />

COUPOF(,,,)<br />

COUPOFS(,)<br />

COUPOFS(,,)<br />

COUPRES(,)<br />

COUPDEL(,)<br />

WAITC(,,,)<br />

Megjegyzés<br />

Rövidített írásmód<br />

A COUPOF, COUPOFS, COUPRES és COUPDEL utasításoknál lehetséges a rövidített megadás vezetőorsó<br />

nélkül is.<br />

Jelentés<br />

COUPDEF:<br />

COUPON:<br />

COUPONC:<br />

COUPOF:<br />

Felhasználó-specifikus csatolást definiálni/változtatni<br />

Csatolást bekapcsolni. A követő-orsó az aktuális fordulatszámból<br />

kiindulva a vezető-orsóhoz szinkronizálódik<br />

Csatolás bekapcsolásánál az előzőleg programozott M3 S... vagy<br />

M4 S... átvétele.<br />

A követő-orsó fordulatszám eltérése azonnal át lesz véve.<br />

Csatolást kikapcsolni.<br />

azonnali mondatváltással:<br />

COUPOF(,)<br />

Mondatváltás csak ill. kikapcsolási pozíció(ko)n<br />

túlhaladás után:<br />

COUPOF(,,)<br />

COUPOF(,,,)<br />

Munka-előkészítés<br />

536 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

COUPOFS:<br />

COUPRES:<br />

COUPDEL:<br />

WAITC:<br />

:<br />

Csatolás kikapcsolása, követő-orsó állj.<br />

Lehető leggyorsabb mondatváltás azonnali mondatváltással:<br />

COUPOFS(,)<br />

Mondatváltás csak a kikapcsolási pozíción túlhaladás után:<br />

COUPOFS(,,)<br />

Csatolási paraméterek visszaállítása a megadott MD és SD-re<br />

Felhasználó által definiált csatolás törlése<br />

Várakozás szinkronfutási feltételre<br />

(NOC megszüntetése IPO-ra mondatváltásnál)<br />

követő-orsó jelölése<br />

Opcionális paraméterek:<br />

:<br />

vezető-orsó jelölése<br />

megadás orsószámmal: pl. S2, S1<br />

, : áttételi arány FS és LS között<br />

= számláló, = nevező<br />

elő-beállítás: / = 1.0 ; nevező megadása opcionális<br />

: mondatváltás viselkedés<br />

mondatváltás bekövetkezése:<br />

"NOC"<br />

azonnal<br />

"FINE"<br />

"szinkronfutás finom" elérésénél<br />

"COARSE"<br />

"szinkronfutás durva" elérésénél<br />

"IPOSTOP"<br />

IPOSTOP elérésével, azaz parancsérték oldali<br />

szinkronfutás után (előbeállítás)<br />

A mondatváltási viselkedés modálisan hat..<br />

: csatolási mód: csatolás FS és LS között<br />

"DV"<br />

parancsérték-csatolás (előbeállítás)<br />

"AV"<br />

valósérték csatolás<br />

"VV"<br />

sebesség-csatolás<br />

A csatolási mód modálisan hatásos.<br />

:<br />

szögeltolás a vezető- és követő-orsó között<br />

értéktartomány: 0°… 359,999°<br />

,: követő- és vezető-orsó kikapcsolási pozíciók<br />

"A mondatváltás a POSFS, POSLS túlhaladása után lesz<br />

engedélyezve"<br />

értéktartomány: 0°… 359,999°<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 537


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

Példák<br />

Példa 1: Munka vezető- és követő-orsóval<br />

Programozás<br />

Kommentár<br />

; vezető-orsó = mester-orsó = orsó 1<br />

; követő-orsó = orsó 2<br />

N05 M3 S3000 M2=4 S2=500 ; vezető-orsó forgás 3000 ford/perc,<br />

követő-orsó forgás 500 ford/perc<br />

N10 COUPDEF(S2,S1,1,1,"NOC","Dv") ; csatolás definíciója (lehet megtervezett is)<br />

...<br />

N70 SPCON ; vezető-orsót helyzetszabályozásba venni (parancsértékcsat.)<br />

N75 SPCON(2) ; követő-orsót helyzetszabályozásba venni<br />

N80 COUPON(S2,S1,45) ; csatolás röptében offsetpozíció = 45 fokra<br />

...<br />

N200 FA[S2]=100 ; pozícionáló-sebesség = 100 fok/perc<br />

N205 SPOS[2]=IC(-90) ; 90 fokot átlapolva negatív irányba menni<br />

N210 WAITC(S2,"Fine") ; várakozás szinkronfutás "finom"-ra<br />

N212 G1 X... Y... F... ; megmunkálás<br />

...<br />

N215 SPOS[2]=IC(180) ; 180 fokot átlapolva pozitív irányba menni<br />

N220 G4 S50 ; várakozási idő = 50 mester-orsó fordulat<br />

N225 FA[S2]=0 ; tervezett sebességet (MD) aktiválni<br />

N230 SPOS[2]=IC(-7200) ; 20 fordulatot a tervezett sebességgel a negatív irányba<br />

menni<br />

...<br />

N350 COUPOF(S2,S1) ; röptében csatolást bontani, S=S2=3000<br />

N355 SPOSA[2]=0 ; FS-t nulla foknál megállítani<br />

N360 G0 X0 Y0<br />

N365 WAITS(2) ; várakozás orsó 2-re<br />

N370 M5 ; FS-t megállítani<br />

N375 M30<br />

Munka-előkészítés<br />

538 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

Példa 2: Fordulatszám-eltérés programozása<br />

Programozás<br />

N01 M3 S500<br />

N02 M2=3 S2=300<br />

...<br />

N10 G4 F1<br />

N15 COUPDEF (S2,S1,-1)<br />

N20 COUPON (S2,S1)<br />

...<br />

N26 M2=3 S2=100<br />

Kommentár<br />

; vezető-orsó = mester-orsó = orsó 1<br />

; követő-orsó = orsó 2<br />

; vezető-orsó forgás 500 ford/perc<br />

; követő-orsó forgás 300 ford/perc<br />

; mester-orsó várakozási idő<br />

; csatolási tényező 1:1-es áttételi viszonnyal<br />

; csatolást aktiválni A követő-orsó fordulatszáma a vezető-orsó<br />

fordulatszámából és a csatolási tényezőből adódik.<br />

; fordulatszám-eltérés programozása<br />

Példa 3: Egy mozgás átvétele fordulatszám-eltéréssel<br />

1. Csatolás bekapcsolása a követő-orsó előzetes programozásánál COUPON-nal<br />

Programozás<br />

N05 M3 S100 M2=3 S2=200<br />

N10 G4 F5<br />

N15 COUPDEF(S2,S1,1)<br />

N20 COUPON (S2,S1)<br />

N10 G4 F5<br />

Kommentár<br />

; vezető-orsó = mester-orsó = orsó 1<br />

; követő-orsó = orsó 2<br />

; vezető-orsó forgás 100 ford/perc,követő-orsó forgás 200 ford/perc<br />

; várakozási idő = 5 mp. mester-orsóra<br />

; követő-orsó áttételi viszonya a vezetőorsóhoz 1,0 (előbeállítás)<br />

; csatolás röptében vezető-orsóhoz<br />

; követő-orsó forgás 100 ford/perc<br />

2. Csatolás bekapcsolása a követő-orsó előzetes programozásánál COUPONC-vel<br />

Programozás<br />

N05 M3 S100 M2=3 S2=200<br />

N10 G4 F5<br />

N15 COUPDEF(S2,S1,1)<br />

N20 COUPONC(S2,S1)<br />

N10 G4 F5<br />

Kommentár<br />

; vezető-orsó = mester-orsó = orsó 1<br />

; követő-orsó = orsó 2<br />

; vezető-orsó forgás 100 ford/perc,követő-orsó forgás 200 ford/perc<br />

; várakozási idő = 5 mp. mester-orsóra<br />

; követő-orsó áttételi viszonya a vezetőorsóhoz 1,0 (előbeállítás)<br />

; csatolás röptében vezető-orsóhoz és a megadott fordulatszám átvétele<br />

S2-be<br />

; S2 forgása 100 ford/perc + 200 ford/perc = 300 ford/perc<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 539


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

3. Csatolás bekapcsolása álló követő-orsónál COUPON-nal<br />

Programozás<br />

N05 SPOS=10 SPOS[2]=20<br />

N15 COUPDEF(S2,S1,1)<br />

N20 COUPON (S2,S1)<br />

N10 G4 F1<br />

Kommentár<br />

; vezető-orsó = mester-orsó = orsó 1<br />

; követő-orsó = orsó 2<br />

; S2 követő-orsó pozícionáló üzemben<br />

; követő-orsó áttételi viszonya a vezetőorsóhoz 1,0 (előbeállítás)<br />

; csatolás röptében vezető-orsóhoz<br />

; csatolás zárása, S2 20 fokon marad állva<br />

4. Csatolás bekapcsolása álló követő-orsónál COUPONC-vel<br />

Megjegyzés<br />

Pozícionáló- vagy tengelyüzem<br />

Ha a követő-orsó a csatolás előtt pozícionáló- vagy tengelyüzemben volt, akkor a követőorsó<br />

a COUPON(,) és COUPONC(,) esetében azonosan viselkedik..<br />

FIGYELEM<br />

Vezető-orsó és tengelyüzem<br />

Ha a vezető-orsó a csatolás definiálása előtt tengelyüzemben volt, akkor a csatolás<br />

bekapcsolása után is hat a sebesség-határérték a következő gépadatból:<br />

MD32000 $MA_MAX_AX_VELO (maximális tengelysebesség)<br />

Ennek elkerülésre a tengelyt a csatolás definiálása előtt orsóüzembe (M3 S... vagy M4<br />

S...) kell kapcsolni.<br />

További információk<br />

Szinkron-orsópár megadása<br />

Beállított csatolás:<br />

A beállított csatolásnál a vezető-és követő-orsókat gépadatokban állítjuk be. A beállított<br />

orsók munkadarabprogramból nem változtathatók. A csatolás paraméterezése COUPDEF-fel a<br />

munkadarabprogramban történhet (előfeltétel: nincs írásvédelem megadva).<br />

Felhasználó által definiált csatolás:<br />

A COUPDEF utasítással lehet egy csatolást a munkadarabprogramban létrehozni és<br />

megváltoztatni. Ha egy csatolás már aktív, az új csatolás definíciója előtt azt COUPDEL-lel<br />

törölni kell.<br />

Csatolást definiálni: COUPDEF<br />

Egy csatolást teljesen definiálnak a következők:<br />

COUPDEF(,,,, mondatváltás viselkedés, csatolási mód)<br />

Munka-előkészítés<br />

540 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

Követő-orsó (FS) és vezető-orsó (LS)<br />

A követő-orsó (FS) és a vezető-orsó (LS) tengelyneveivel a csatolás egyértelműen meg van<br />

határozva. A tengelyneveket a COUPDEF utasítással kell programozni. A többi csatolási<br />

paramétereket modálisan hatásosak és csak akkor kell ezeket újra programozni, ha meg<br />

akarjuk változtatni<br />

Példa:<br />

COUPDEF(S2,S1)<br />

Áttételi viszony ÜFS / ÜLS<br />

Az áttételi viszony az követő-orsó (számláló) és a vezető-orsó (nevező) közötti fordulatszámviszonyként<br />

van megadva.. A számláló programozva kell legyen. Ha nincs nevező<br />

programozva, a nevező = 1.0-ra lesz beállítva.<br />

Példa:<br />

S2 követő-orsó és S1 vezető-orsó, áttételi viszony = 1 / 4 = 0.25.<br />

COUPDEF(S2,S1,1.0, 4.0)<br />

<br />

<br />

<br />

<br />

<br />

<br />

Megjegyzés<br />

Az áttételi viszonyt lehet bekapcsolt csatolásnál és forgó orsóknál is változtatni.<br />

Mondatváltás-viselkedés NOC, FINE, COARSE, IPOSTOP<br />

A mondatváltás-viselkedés programozásánál a következő rövidített írásmód lehetséges:<br />

● "NO": azonnal (előbeállítás)<br />

● "FI": "szinkronfutás finom" elérésénél<br />

● "CO": "szinkronfutás durva" elérésénél<br />

● "IP": IPOSTOP elérésével, azaz parancsérték oldali szinkronfutás után<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 541


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

Csatolásmód DV, AV<br />

VIGYÁZAT<br />

A csatolásmódot csak kikapcsolt csatolásnál szabad megváltoztatni!<br />

Szinkronüzem bekapcsolás COUPON, POSFS<br />

● a csatolás lehető bekapcsolása tetszőleges szögkapcsolattal az LS és FS között:<br />

– COUPON(S2,S1)<br />

– COUPON(S2,S1,)<br />

– COUPON(S2)<br />

● csatolás bekapcsolása szögeltolással <br />

Pozíció-szinkronizált csatoláshoz profilos munkadarabokhoz.<br />

vezető-orsó 0°-pozíciójára vonatkozik a pozitív forgásirányban<br />

értéktartomány: 0°… 359,999°<br />

– COUPON(S2,S1,30)<br />

Ezen a módon már aktivált csatolásnál is lehet változtatni a szög-eltolást.<br />

Követő-orsó pozícionálása<br />

Bekapcsolt szinkronorsó-csatolásnál a követő-orsókat is lehet a vezető-orsó által vezetett<br />

mozgástól függetlenül is ±180° tartományban pozícionálni.<br />

Pozícionálás SPOS<br />

A követő-orsót lehet SPOS=...-vel interpolálni.<br />

Példa:<br />

SPOS[2]=IC(-90)<br />

További információk az SPOS-hoz:<br />

Irodalom:<br />

Programozási kézikönyv, Alapok<br />

Fordulatszám-eltérés M3 S... vagy M4 S... esetén<br />

A fordulatszám-eltérés két fordulatszám-forrás előjeles összeadódásából keletkezik és a<br />

követő-orsóra pl. S=... vagy M=3, M=4-gyel a fordulatszám-vezérlés üzemben egy<br />

aktív szinkronorsó-csatolás alatt újra programozva lesz. Ennek során ez a fordulatszámrész<br />

a csatolási tényezővel a vezető-orsóból lesz levezetve és a követő-orsó előjelhelyesen<br />

hozzá lesz adva.<br />

Megjegyzés<br />

Az M3 vagy M4 forgásiránnyal az S... fordulatszámot is újra kell programozni, mert különben<br />

a hiányzó programozást egy vészjelzés jelzi.<br />

További információk a fordulatszám-eltéréshez:<br />

Irodalom:<br />

Bővítő funkciók működési kézikönyv, Szinkron-orsók (S3)<br />

Munka-előkészítés<br />

542 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

Fordulatszám-eltérés COUPONC-nél<br />

Egy mozgás átvétele fordulatszám-eltéréssel<br />

A szinkroncsatolás bekapcsolásánál COUPONC-vel a követő-orsó aktuális hatásos<br />

fordulatszáma (M3 S... vagy M4 S...) átlapolódik.<br />

Megjegyzés<br />

Átlapolás engedélyezése<br />

Egy orsó-fordulatszám (M3 S... vagy M4 S...) átlapolása a COUPONC szinkronorsó-csatolással<br />

csak akkor lesz hatásos, ha az átlapolás engedélyezve van.<br />

Vezető-orsó dinamika korlátozása<br />

A dinamikát a vezető-orsónál annyira be kell korlátozni, hogy a követő-orsó átlapolásánál<br />

annak a dinamika határértékei ne legyenek túllépve.<br />

Sebesség, gyorsulás: FA, ACC, OVRA, VELOLIMA<br />

Egy követő-orsó sebessége és gyorsulása a következőkkel programozható:<br />

● FA[SPI(S)] ill. FA[S] (tengely sebesség)<br />

● ACC[SPI(S)] ill. ACC[S] (tengely gyorsulás)<br />

● OVRA[SPI(S)] ill. OVRA[S] (tengely override)<br />

● VELOLIMA[SPI(S)] ill. VELOLIMA[S] (tengely sebesség-túllépés ill. -csökkentés)<br />

= 1, 2, 3, ... (követő-orsó orsószáma)<br />

Irodalom:<br />

Programozási kézikönyv, Alapok<br />

Megjegyzés<br />

Gyorsulásrész JERKLIMA[S]<br />

A tengely sebesség túllépés ill. -csökkentés programozása orsóknál jelenleg nem hatásos.<br />

További információk találhatók a tengely dinamika beállításához:<br />

Irodalom:<br />

Bővítő funkciók működési kézikönyv, Körtengelyek (R2)<br />

Programozható mondatváltás viselkedés WAITC<br />

A WAITC-vel lehet a mondatváltás viselkedést, pl. a csatolási paraméterek vagy<br />

pozícionálások változtatása után különböző szinkronfutás-feltételekkel (durva, finom<br />

IPOSTOP) megadni. Ha nincsenek szinkronfutás-feltételek megadva, akkor a COUPDEF<br />

definíciónál megadott mondatváltás-viselkedés érvényes.<br />

Példa:<br />

Várakozás a szinkronfutás-feltételekre a COUPDEF-nek megfelelően.<br />

WAITC( )<br />

Várakozás a FINE szinkronfutás-feltétel elérésére az S2 követő-orsónál és COARSE-ra az S4<br />

követő-orsónál:<br />

WAITC(S2,"FINE",S4,"COARSE")<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 543


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

Csatolást kikapcsolni COUPOF<br />

COUPOF-fal meg lehet adni a csatolás kikapcsolási viselkedését:<br />

● csatolás kikapcsolása azonnali mondatváltással:<br />

– COUPOF(S2,S1) (vezető-orsó megadásával)<br />

– COUPOF(S2) (vezető-orsó megadása nélkül)<br />

● csatolás kikapcsolása a kikapcsolási pozíciókon túlhaladás után A mondatváltás a<br />

kikapcsolási pozíción túlhaladás után történik meg.<br />

– COUPOF(S2,S1,150) (kikapcsolási pozíció FS: 150°)<br />

– COUPOF(S2,S1,150,30) (kikapcsolási pozíció FS: 150°, LS: 30°)<br />

Csatolás kikapcsolása követő-orsó állj-jal COUPOFS<br />

COUPOFS-sel meg lehet adni a csatolás kikapcsolási viselkedését követő-orsó állj-jal:<br />

● csatolás kikapcsolása követő-orsó állj-jal és azonnali mondatváltással:<br />

– COUPOFS(S2,S1) (vezető-orsó megadásával)<br />

– COUPOFS(S2) (vezető-orsó megadása nélkül)<br />

● csatolás kikapcsolása a kikapcsolási pozíciókon túlhaladás után követő-orsó állj-jal A<br />

mondatváltás a kikapcsolási pozíción túlhaladás után történik meg.<br />

– COUPOFS(S2,S1,150) (kikapcsolási pozíció FS: 150°)<br />

Csatolást törölni COUPDEL<br />

COUPDEL-lel a csatolás törölve lesz:<br />

● COUPDEL(S2,S1) (vezető-orsó megadásával)<br />

● COUPDEL(S2) (vezető-orsó megadása nélkül)<br />

Csatolás-paramétereket törölni COUPRES<br />

COUPRES-sel lesznek a csatolás gép-és beállítási adatokban megadott paraméterei aktiválva:<br />

● COUPRES(S2,S1) (vezető-orsó megadásával)<br />

● COUPRES(S2) (vezető-orsó megadása nélkül)<br />

Munka-előkészítés<br />

544 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.5 Szinkron-orsó<br />

Rendszerváltozók<br />

Követő-orsó aktuális csatolási állapota<br />

A követő-orsó aktuális csatolási állapotát a következő rendszerváltozókkal lehet olvasni:<br />

$AA_COUP_ACT[]<br />

Érték Jelentés<br />

0 nincs aktív csatolás<br />

4 szinkronorsó-csatolás aktiv<br />

Utalás<br />

A rendszerváltozók egyéb értékei a tengelyüzemre vonatkoznak<br />

Irodalom:<br />

Rendszerváltozók jegyzékes kézikönyv<br />

Aktuális szögeltolás<br />

A követő-orsó aktuális szögeltolását a vezető-orsóhoz képest a következő<br />

rendszerváltozókkal lehet olvasni:<br />

● $AA_COUP_OFFS[] (parancsérték-oldali szögeltolás)<br />

● $VA_COUP_OFFS[] (valósérték-oldali szögeltolás)<br />

Megjegyzés<br />

A szabályzó-engedélyezés elvétele után bekapcsolt csatolásnál és utánvezető-üzem<br />

esetén a szabályzó-engedélyezés újbóli megadása után egy másik pozíció-offset áll be,<br />

mint az eredetileg programozott érték. Ebben az esetben a megváltozott pozíció-offsetet<br />

lehet olvasni és esetleg a munkadarabprogramban korrigálni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 545


Tengely-csatolások<br />

9.6 Master-/Slave egyesülés (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)<br />

9.6 Master-/Slave egyesülés (MASLDEF, MASLDEL, MASLON,<br />

MASLOF, MASLOFS)<br />

Funkció<br />

A Master-/Slave-csatolás a SW 6.4-től a Slave-tengelyek becsatolását a Mastertengelyükhöz<br />

csak az érintett tengelyek nyugalmi állapotában engedi meg.<br />

A SW 6.5 bővítése lehetővé teszi a csatolást és leválasztást forgó, fordulatszám-vezérelt<br />

orsókra és a dinamikus beállítást.<br />

Szintaxis<br />

MASLON(Slv1,Slv2,..., )<br />

MASLOF(Slv1,Slv2,..., )<br />

MASLDEF(Slv1,Slv2,..., Master-tengely)<br />

MASLDEL(Slv1,Slv2,..., )<br />

MASLOFS(Slv1, Slv2, ..., )<br />

Bővítés dinamikus programozásra<br />

Bővítés dinamikus programozásra<br />

Bővítés Slave-orsóra<br />

Megjegyzés<br />

MASLOF/MASLOFS esetén nincs közvetett előrefutás-állj. A hiányzó előrefutás-állj miatt a $Prendszerváltozók<br />

a Slave-tengelyekre az új programozás időpontjáig nem adnak aktualizált<br />

értékeket.<br />

Jelentés<br />

Általános<br />

MASLON<br />

MASLOF<br />

Egy ideiglenes csatolás bekapcsolása<br />

Egy aktív csatolás kikapcsolása. Az orsóknál a bővítéseket<br />

figyelembe kell venni<br />

Dinamikus beállítás bővítése<br />

MASLDEF<br />

MASLOFS<br />

Csatolást felhasználó által definiálva gépadatokkal vagy<br />

munkadarabprogramból létrehozni/változtatni.<br />

A csatolást a MASLOF-hoz hasonlóan kikapcsolni és a Slave-orsót<br />

automatikusan lefékezni.<br />

Munka-előkészítés<br />

546 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.6 Master-/Slave egyesülés (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)<br />

MASLDEL<br />

Slv1, Slv2, ...<br />

Master-tengely<br />

Master/Slave tengely-egyesülés kikapcsolása és a egyesülés<br />

definíciójának törlése.<br />

Slave-tengelyek, amelyeket egy Master-tengely vezet.<br />

Tengely, amelyik egy Master/Slave egyesülésben definiált Slavetengelyeket<br />

vezet.<br />

Példák<br />

Példa 1: Master/Slave-csatolás dinamikus beállítása<br />

Egy Master/Slave-csatolás dinamikus beállítása munkadarabprogramból:<br />

Az egy tengely-konténer forgatás után releváns tengely legyen Master-tengely.<br />

Programkód<br />

Kommentár<br />

MASLDEF(AUX,S3) ; S3 Master AUX-nak<br />

MASLON(AUX)<br />

; csatolás be AUX-ra<br />

M3=3 S3=4000 ; forgásirány jobbra<br />

MASLDEL(AUX)<br />

; beállítást törölni és csatolást leválasztani<br />

AXCTSWE(CT1)<br />

; konténer-forgatás<br />

Példák<br />

Példa 2: Slave-tengely valósérték-csatolása<br />

Egy Slave-tengely valósérték csatolása a Master-tengely azonos értékére PRESETON-nal.<br />

Egy állandó Master/Slave-csatolásnál a SLAVE tengelyen a valósérték PRESETON-nal legyen<br />

megváltoztatva.<br />

Programkód<br />

N37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2]=0<br />

N37263 NEWCONF<br />

N37264 STOPRE<br />

MASLOF(Y1)<br />

N5 PRESETON(Y1,0,Z1,0,B1,0,C1,0,U1,0)<br />

N37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2]=1<br />

N37263 NEWCONF<br />

Kommentár<br />

; állandó csatolást röviden<br />

kikapcsolni<br />

; ideiglenes csatolás ki<br />

; a nem referált Slavetengelyek<br />

valósértékének<br />

beállítása, mert ezek<br />

Power On-nal aktiválva<br />

vannak<br />

; állandó csatolás<br />

aktiválása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 547


Tengely-csatolások<br />

9.6 Master-/Slave egyesülés (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)<br />

Példa 3: Csatolási szekvencia helyzet 3/konténer CT1<br />

A csatolás létrehozásához egy másik orsóval a konténer-forgatás után a régi csatolást előbb<br />

oldani, a beállítást törölni és az új csatolást beállítani kell.<br />

Kiinduló helyzet:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Egy osztással elforgatás után:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Irodalom:<br />

Bővítő funkciók működési kézikönyv; Több kezelőhely és NCU (B3),<br />

fejezet: "Tengely-konténer"<br />

Munka-előkészítés<br />

548 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Tengely-csatolások<br />

9.6 Master-/Slave egyesülés (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)<br />

További információk<br />

Általános<br />

MASLOF<br />

A fordulatszám vezérlés üzemmódú orsóknál ez az utasítás közvetlenül<br />

végre lesz hajtva. Az adott időpontban forgó Slave-orsók megtartják a<br />

fordulatszámukat az új fordulatszám programozásáig.<br />

Dinamikus beállítás bővítése<br />

MASLDEF<br />

MASLDEL<br />

MASLOFS<br />

Egy Master/Slave-csatolás definíciója a munkadarabprogramból: Eddig a<br />

definíció kizárólag gépadatokkal történt.<br />

Az utasítás megszünteti a Slave-tengelyek hozzárendelését a Mastertengelyhez<br />

és egyidejűleg, akár a MASLOF, felbontja a csatolást.<br />

A gépadatokban megadott Master-/Slave-definíciók megmaradnak.<br />

A MASLOFS-t lehet használni a Slave-orsók automatikus lefékezéséhez a<br />

csatolás felbontásánál.<br />

A pozícionáló üzemben levő tengelyeknél és orsóknál a csatolás csak<br />

nyugalmi helyzetben kapcsolható be és bontható.<br />

Megjegyzés<br />

A Slave-tengelyre a valósértéket PRESETON-nal a Master-tengellyel azonos értékre lehet<br />

szinkronizálni. Ehhez a tartós Master-/Slave-csatolást rövid időre ki kell kapcsolni a nem<br />

refereált Slave-tengelyek valósértékének Power On-nal a Master-tengely értékére<br />

beállításához. Azután a tartós csatolás ismét helyre lesz állítva.<br />

A tartós Master-/Slave-csatolás az MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE = 1<br />

gépadattal lesz aktiválva és nincs hatása az ideiglenes csatolás utasításaira.<br />

Csatolási viselkedés orsóknál<br />

A fordulatszám-szabályozás üzemben levő orsóknál a csatolási viselkedést MASLON, MASLOF,<br />

MASLOFS és MASLDEL esetén az MD37263 $MA_MS_SPIND_COUPLING_MODE adja meg.<br />

Az MD 37263 = 0 alap-beállításnál a Slave-tengelyek becsatolása és leválasztása kizárólag<br />

az érintett tengelyek nyugalmi állapotában történik. MASLOFS megfelel MASLOF-nak.<br />

Az MD 37263 = 1 esetén a csatolási utasítás közvetlenül és ezzel már mozgásban is végre<br />

lesz hajtva. A csatolás a MASLON-nál azonnal létrejön és MASLOFS vagy MASLOF-nál azonnal<br />

megszűnik. Az ebben az időpontban forgó Slave-orsók a MASLOFS-nál automatikusan le<br />

esznek fékezve és MASLOF-nál megtartják a fordulatszámukat az új fordulatszám<br />

programozásáig.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 549


Tengely-csatolások<br />

9.6 Master-/Slave egyesülés (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)<br />

Munka-előkészítés<br />

550 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók 10<br />

10.1 Alapok<br />

Funkció<br />

A szinkron-akciók lehetővé teszik a megmunkálási mondatokkal szinkronban akciók<br />

végrehajtását.<br />

Az akciók végrehajtási időpontját feltételekkel lehet definiálni. A feltételek kiértékelése az<br />

interpolációs ütemben történik. Az akciók a valósidejű eseményekre reakciót jelentenek; a<br />

végrehajtásuk nincs a mondathatárokhoz kötve.<br />

Ezen kívül egy szinkron-akció tartalmazza az akciók élettartamát, a programozott valós-idejű<br />

változók lekérdezési gyakoriságát és ezzel az indítandó akciók végrehajtási gyakoriságát.<br />

Ezzel lehetséges az akciót csak egyszer vagy ciklikusan (minden interpolációs ütemben)<br />

elindítani.<br />

Lehetséges alkalmazások<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

● futásidő-kritikus alkalmazások optimalizálása (pl. szerszámcsere)<br />

● gyors reakció külső eseményekre<br />

● AC-szabályozások programozása<br />

● biztonsági funkciók megvalósítása<br />

● ....<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 551


Mozgásszinkron-akciók<br />

10.1 Alapok<br />

Programozás<br />

Egy szinkron-akció egyedül áll a mondatban és a következő gépfunkciós (pl. G0, G1, G2,<br />

G3mozgás) végrehajtható mondatban hat.<br />

A szinkron-akciók max. 5 utasításelemből állnak különféle feladatokra:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Szintaxis:<br />

DO …<br />

DO …<br />

ID= DO …<br />

IDS= DO …<br />

Jelentés:<br />

DO<br />

<br />

<br />

…<br />

<br />

utasítás egy programozott akció(k) kiváltására<br />

Csak a teljesülésénél hat (ha programozva van).<br />

→ lásd "Akciók"<br />

indítandó akció(k)<br />

Példák:<br />

Változó hozzárendelés<br />

Technológia-ciklust indítani<br />

A kulcsszó (WHEN, WHENEVER, FROM vagy EVERY) definiálja egy<br />

szinkron-akció ciklikus vizsgálatát.<br />

→ lásd "Feltételek ciklikus vizsgálata"<br />

Munka-előkészítés<br />

552 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.1 Alapok<br />

<br />

ID=<br />

ill.<br />

IDS=<br />

logikai kapcsolat főfutás-változókra<br />

A feltétel IPO-ütemben lesz megvizsgálva.<br />

azonosító szám<br />

Az azonosító szám adja meg az érvényességi tartományt és a<br />

pozíciót a megmunkálási sorrenden belül.<br />

→ lásd "Érvényességi tartomány és megmunkálási sorrend"<br />

Szinkron-akciók / technológia-ciklusok koordinálása<br />

A szinkron-akciók / technológia-ciklusok koordinálására a következő utasítások állnak<br />

rendelkezésre:<br />

Utasítás<br />

CANCEL()<br />

LOCK()<br />

UNLOCK()<br />

RESET<br />

Jelentés<br />

szinkron-akciók törlése<br />

→ lásd "Szinkron-akciók törlése"<br />

szinkron-akciók tiltása<br />

szinkron-akciók engedélyezése<br />

technológia-ciklus visszaállítás<br />

LOCK, UNLOCK és RESET vonatkozásában:<br />

→ lásd "Tiltás, engedélyezés, visszaállítás"<br />

Példa<br />

Programkód<br />

WHEN $AA_IW[Q1]>5 DO M172 H510<br />

Kommentár<br />

; Ha Q1 tengely valósértéke az 5 mm-t<br />

meghaladja, az M172 és H510 segédfunkciók a<br />

PLC-interfészre kiadásra kerülnek.<br />

10.1.1 Érvényességi tartomány és feldolgozási sorrend (ID, IDS)<br />

Funkció<br />

Érvényességi tartomány<br />

Egy szinkron-akció érvényességi tartományát az ID ill. IDS jelölővel adjuk meg:<br />

nem modális ID:<br />

ID:<br />

IDS:<br />

mondatonként hatásos szinkron-akció Automatika üzemben<br />

mondatonként hatásos szinkron-akció Automatika üzemben a<br />

program végéig<br />

statikus szinkron-akció, modálisan hatásos minden üzemmódban,<br />

program végén túl is<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 553


Mozgásszinkron-akciók<br />

10.1 Alapok<br />

Alkalmazások<br />

● AC-köszörülés JOG-üzemben<br />

● logikai kapcsolatok Safety Integrated-ben<br />

● felügyeleti funkciók, reakciók gépállapotokra minden üzemmódban<br />

Feldolgozási sorrend<br />

A modálisan és statikusan hatásos szinkron-akciók az ID ill. IDS számuk (ID= ill. IDS=)<br />

sorrendjében lesznek feldolgozva interpolációs ütemben.<br />

A mondatonként hatásos szinkron-akciók (ID-szám nélkül) a modálisan hatásos szinkronakciók<br />

feldolgozása után a programozott sorrendben lesznek feldolgozva.<br />

Megjegyzés<br />

A gépadat beállításokkal lehet a modálisan ható szinkron-akciókat változtatás vagy törlés<br />

ellen védeni (→ gépgyártó!).<br />

Programozás<br />

Szintaxis<br />

nem modális ID<br />

ID= ...<br />

IDS=<br />

Jelentés<br />

A szinkron-akció csak Automatika üzemben hatásos. Csak a<br />

következő végrehajtható mondatra érvényes (mondat mozgás<br />

utasítással vagy egyéb gépfunkcióval), tehát mondatonként hatásos.<br />

Példa:<br />

WHEN $A_IN[3]==TRUE DO $A_OUTA[4]=10<br />

A szinkron-akció a következő mondatokban modálisan hat és<br />

CANCEL())-lel vagy egy új szinkron-akció programozásával azonos<br />

ID-vel lehet kikapcsolni.<br />

Az M30-as mondatban aktív szinkron-akciók késleltetik a program<br />

végét.<br />

Az ID szinkron-akciók csak Automatika üzemben hatásosak.<br />

értéktartomány -re: 1 ... 255<br />

Példa:<br />

ID=2 EVERY $A_IN[1]==1 DO POS[X]=0<br />

A statikus szinkron-akciók modálisan hatnak minden üzemmódban. A<br />

program vége után is aktívak maradnak és közvetlenül a Power On<br />

után egy ASUP-pal aktiválhatók. Ezzel lehet akciókat aktiválni,<br />

amelyek a választott üzemmódtól függetlenül lefutnak az NC-ben .<br />

értéktartomány -re: 1 ... 255<br />

Példa:<br />

IDS=1 EVERY $A_IN[1]==1 DO POS[X]=100<br />

Munka-előkészítés<br />

554 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.1 Alapok<br />

10.1.2 A feltétel ciklikus vizsgálata (WHEN, WHENEVER, FROM, EVERY)<br />

Funkció<br />

Egy szinkron-akció feltételének ciklikus vizsgálata egy kulcsszóval lesz definiálva. Ha nincs<br />

kulcsszó programozva, a szinkron-akció akciói minden IPO-ütemben végre lesznek hajtva.<br />

Kulcsszavak<br />

nincs kulcsszó<br />

WHEN<br />

WHENEVER<br />

FROM<br />

EVERY<br />

Az akció végrehajtása nincs feltételhez kötve. Az akció ciklikusan<br />

minden interpolációs ütemben végre lesz hajtva.<br />

A feltétel addig lesz minden interpolációs ütemben lekérdezve,<br />

amíg egyszer teljesül, és az akció akkor pontosan egyszer lesz<br />

végrehajtva.<br />

A feltétel minden interpolációs ütemben ciklikusan meg lesz<br />

vizsgálva. A hozzátartozó akció minden interpolációs ütemben<br />

végre lesz hajtva, ameddig a feltétel teljesül.<br />

A feltétel minden interpolációs ütemben meg lesz vizsgálva, amíg<br />

egyszer teljesül. Az akció ettől kezdve addig lesz végrehajtva,<br />

ameddig a szinkronakció aktiválva van, vagyis akkor is, ha a<br />

feltétel már nem teljesül.<br />

A feltétel minden interpolációs ütemben le lesz kérdezve. Az<br />

akció mindig akkor lesz egyszer végrehajtva, amikor a feltétel<br />

teljesül.<br />

Él kiértékelés:<br />

Az akció újra végre lesz hajtva, ha a feltétel a FALSE állapotból a<br />

TRUE állapotba vált.<br />

Főfutás-változók<br />

Az alkalmazott változók kiértékelése az interpolációs ütemben történik. Főfutás változók a<br />

szinkron-akciókban nem váltanak ki előrefutás-álljt.<br />

Kiértékelés:<br />

Ha egy munkadarabprogramban főfutás változók (pl. valósérték, egy digitális be- vagy<br />

kimenet állapota stb.) lépnek fel, az előrefutás meg lesz állítva, amíg az előző mondat<br />

végrehajtásra kerül és főfutás változók értékei meglesznek.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 555


Mozgásszinkron-akciók<br />

10.1 Alapok<br />

Példák<br />

Példa 1: Nincs kulcsszó<br />

Programkód<br />

DO $A_OUTA[1]=$AA_IN[X]<br />

Kommentár<br />

; valósérték kiadása analóg kimenetre<br />

Példa 2: WHENEVER<br />

Programkód<br />

WHENEVER $AA_IM[X] > 10.5*SIN(45) DO …<br />

WHENEVER $AA_IM[X] > $AA_IM[X1] DO …<br />

WHENEVER ($A_IN[1]==1) OR ($A_IN[3]==0) DO ...<br />

Kommentár<br />

; összehasonlítás az<br />

előrefutással kiszámított<br />

kifejezéssel<br />

; összehasonlítás további<br />

főfutás változókkal<br />

; két, egymással logikailag<br />

kapcsolt összehasonlítás<br />

Példa 3: EVERY<br />

Programkód<br />

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=IC(10) FA[U]=900<br />

Kommentár<br />

; Ha a B tengely valósértéke GKR-ben a<br />

75 értéket átlépi, az U tengely<br />

tengelyirányú előtolással 10-zel<br />

tovább lépjen.<br />

További információk<br />

Feltétel<br />

A feltétel egy logikai kifejezés, amelyek logikai műveletekkel tetszőlegesen fel lehet építeni.<br />

A logikai kifejezéseket mindig zárójelek között kell megadni.<br />

A feltétel vizsgálata az interpolációs ütemben történik.<br />

A feltétel előtt meg lehet adni egy G-kódot. Ezzel el lehet érni, hogy az éppen aktív<br />

munkadarabprogram állapotától függetlenül a feltétel kiértékelésére és a végrehajtandó<br />

akció/technológia-ciklusra definiált beállítások fennállnak. A szinkron-akciók leválasztása a<br />

program környezettől szükséges, mert a szinkron-akciók tetszőleges időpontban a teljesült<br />

feltételek alapján az akcióikat a definiált kiinduló állapotban kell végrehajtsák.<br />

Alkalmazási esetek<br />

A mérőrendszer megadása feltétel kiértékelésre és akciókra a G70, G71, G700, G710 G-<br />

kódokkal.<br />

Egy, a feltételnél megadott G-kód érvényes a feltétel kiértékelésére és az akcióra, ha az<br />

akciónál nincs saját G-kód megadva.<br />

Feltétel részenként a G-kód csoportnak csak egy G-kódját szabad programozni.<br />

Munka-előkészítés<br />

556 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.1 Alapok<br />

Lehetséges feltételek<br />

● főfutás változók összehasonlítása (analóg/digitális be-/kimenetek, stb.)<br />

● logikai kapcsolat két összehasonlítási eredmény között<br />

● valósidejű kifejezések kiszámítása<br />

● idő/távolság a mondat kezdetétől<br />

● távolság a mondat végétől<br />

● mért értékek, mérési eredmények<br />

● szervó-értékek<br />

● sebességek, tengelycsere<br />

10.1.3 Akciók (DO)<br />

Funkció<br />

A szinkron-akciókban lehet egy vagy több akciót programozni. Az összes, egy mondatban<br />

programozott akció ugyanabban az interpolációs ütemben aktív.<br />

Szintaxis<br />

DO …<br />

Jelentés<br />

DO<br />

Teljesült feltételnél kivált egy akciót vagy egy technológia-ciklust.<br />

<br />

Teljesült feltételnél indított akció, mint pl. változó hozzárendelése, tengelycsatolás<br />

bekapcsolása, NCK-kimenetek bekapcsolása, M-, S- és H-<br />

funkciók kiadása, programozott G-kód megadása, ...<br />

A G-kódok szinkron-akciókban programozhatók akcióhoz / technológia-ciklusokhoz. Ez a G-<br />

kód esetleg egy másik G-kódot ad meg az összes akcióra a mondatban és technológia<br />

ciklusban, mint ami a feltételnél be lett állítva. Ha az akciórészben technológia ciklusok<br />

vannak, akkor a G-kód a technológia ciklus lezárása után is érvényes tovább modálisan az<br />

összes következő akcióra a következő G-kódig.<br />

Akció részenként a G-kód csoportnak csak egy G-kódját (G70, G71, G700, G710) szabad<br />

programozni.<br />

Példa: Szinkronakció két akcióval<br />

Programkód<br />

WHEN $AA_IM[Y]>=35.7 DO M135 $AC_PARAM=50<br />

Kommentár<br />

; Ha a feltétel teljesül, a PLC-re az M135<br />

lesz kiadva és az override 50%-ra lesz<br />

beállítva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 557


Mozgásszinkron-akciók<br />

10.2 Műveletek feltételekre és akciókra<br />

10.2 Műveletek feltételekre és akciókra<br />

összehasonlítások<br />

(==, , , =)<br />

logikai műveletek<br />

(NOT, AND, OR, XOR)<br />

bitenkénti műveletek<br />

(B_NOT, B_AND, B_OR, B_XOR)<br />

számítási alapműveletek<br />

(+, -, *, /, DIV, MOD)<br />

matematikai függvények<br />

(SIN, COS, TAN, ASIN, ACOS, ABS, TRUNC,<br />

ROUND, LN, EXP, ATAN2, POT, SQRT, CTAB,<br />

CTABINV).<br />

hivatkozás<br />

A feltételekben össze lehet hasonlítani<br />

változókat vagy rész-kifejezéseket. Az<br />

eredmény mindig BOOL adattípus.<br />

Megengedett az összes ismert<br />

összehasonlítási művelet.<br />

Változókat, állandókat vagy kifejezéseket<br />

össze lehet kapcsolni az ismert logikai<br />

műveletekkel.<br />

A következő bitenkénti műveletek<br />

lehetségesek: B_NOT, B_AND, B_OR, B_XOR.<br />

Főfutás-változókat egymással vagy<br />

állandókkal alap számítási műveletekkel<br />

lehet összekapcsolni.<br />

A REAL típusú változókat a használhatók a<br />

matematikai függvények.<br />

A főfutás kifejezésekkel lehetséges a<br />

hivatkozás.<br />

Példa<br />

● Alap számítási műveletek kapcsolása<br />

Érvényes a pont a vonal előtt számítás, a kifejezések zárójelezése megengedett. A DIV és<br />

MOD műveletek a REAL adattípusra is megengedettek<br />

Programozás<br />

DO $AC_PARAM[3] = $A_INA[1]-$AA_IM[Z1]<br />

WHENEVER $AA_IM[x2] < $AA_IM[x1]-1.9 DO<br />

$A_OUT[5] = 1<br />

DO $AC_PARAM[3] = $INA[1]-4*SIN(45.7<br />

$P_EP[Y])*R4<br />

Kommentár<br />

; kivonás két<br />

főfutás-változóra<br />

; egy állandó kivonása változóból<br />

; állandó kifejezés, előrefutásban<br />

kiszámítva<br />

● Matematikai függvények<br />

Programozás<br />

Kommentár<br />

DO $AC_PARAM[3] = COS($AC_PARAM[1]) ;<br />

;<br />

Munka-előkészítés<br />

558 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.2 Műveletek feltételekre és akciókra<br />

● Valósidejű kifejezések<br />

Programozás<br />

ID=1 WHENEVER ($AA_IM[Y]>30) AND<br />

($AA_IM[Y]10)<br />

Kommentár<br />

; egy pozíció ablak kiválasztása<br />

; 2 logikai jel kiértékelése<br />

; egy összehasonlítás eredményét<br />

kiadni<br />

● Főfutás változó hivatkozás<br />

Programozás<br />

Kommentár<br />

WHEN…DO $AC_PARAM[$AC_MARKER[1]] = 3 ;<br />

Nem megengedett ;<br />

$AC_PARAM[1] = $P_EP[$AC_MARKER] ;<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 559


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

10.3.1 Rendszerváltozók<br />

Funkció<br />

A rendszerváltozók segítségével lehet az NC adatait olvasni és írni. A rendszerváltozóknál<br />

megkülönböztetünk előrefutás és főfutás-változókat. Az előrefutás-változók mindig az<br />

előrefutás időpontjában lesznek végrehajtva. A főfutás-változók értékei mindig a főfutás<br />

aktuális állapotában lesznek megállapítva.<br />

Elnevezés<br />

A rendszerváltozók neve többnyire egy $–jellel kezdődik.<br />

Előrefutás-változók:<br />

$M...<br />

Gépadatok<br />

$S...<br />

beállítási adatok, védőtartományok<br />

$T...<br />

szerszámkezelési adatok<br />

$P...<br />

programozott értékek, előrefutás adatok<br />

$C...<br />

ISO-ciklusok ciklusváltozói<br />

$O...<br />

opció adatok<br />

R ...<br />

R-paraméterek<br />

Főfutás-változók:<br />

$$A... aktuális főfutás-adatok<br />

$$V... szervó-adatok<br />

$R...<br />

R-paraméterek<br />

A 2. betű leírja a hozzáférési lehetőséget a változóhoz:<br />

N...<br />

NCK-globális érték (általánosan érvényes érték)<br />

C...<br />

csatorna-specifikus érték<br />

A...<br />

engely-specifikus érték<br />

A 2. betűt főleg csak a főfutás-változóknál használják. Az előrefutás-változók, mint $P_<br />

többnyire a 2. betű nélkül vannak megadva.<br />

Az elöljárót ($ után egy vagy két betű) mindig egy alulvonal követi és az azt követő<br />

változónév (többnyire angol jelölés vagy rövidítés).<br />

Munka-előkészítés<br />

560 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

Adattípusok<br />

A főfutás-változók a következő adattípusúak lehetnek:<br />

INT<br />

REAL<br />

BOOL<br />

CHAR<br />

STRING<br />

AXIS<br />

Integer előjeles egészszámú értékre<br />

Real valós törtszámokra<br />

logikai TRUE (igaz) vagy FALSE (hamis)<br />

ASCII karakter<br />

karakterlánc alfanumerikus karakterekkel<br />

tengely- és orsócím<br />

A főfutás-változók ezen túl a következő adattípusúak lehetnek:<br />

FRAME<br />

koordináta-transzformációk<br />

Változó mezők<br />

A rendszerváltozók lehetnek 1 .. 3 dimenziós mezők.<br />

A következő adattípusok vannak támogatva: BOOL, CHAR, INT, REAL, STRING, AXIS<br />

A hivatkozás adattípusa lehet INT vagy AXIS, ezeket tetszőlegesen lehet rendezni.<br />

A STRING változók csak 2-dimenziósak lehetnek.<br />

Példák mező definíciókra:<br />

DEF BOOL $AA_NEWVAR[x,y,2]<br />

DEF CHAR $AC_NEWVAR[2,2,2]<br />

DEF INT $AC_NEWVAR[2,10,3]<br />

DEF REAL $AA_VECTOR[x,y,z]<br />

DEF STRING $AC_NEWSTRING[3,3]<br />

DEF AXIS $AA_NEWAX[x,3,y]<br />

Megjegyzés<br />

A 3-dimenziós rendszerváltozók kijelzése korlátlanul lehetséges, ha ezekhez a<br />

rendszerváltozókhoz létezik egy BTSS változó.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 561


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

10.3.2 Implicit típus-átalakítás<br />

Funkció<br />

Az érték-hozzárendeléseknél és paraméter-átadásoknál különböző típusú változók lehetnek<br />

hozzárendelve vagy átadva.<br />

Az implicit típus-átalakítás az értékekre egy belső típus-átalakítást vált ki.<br />

Lehetséges típus-konverziók<br />

-ba REAL INT BOOL CHAR STRING AXIS FRAME<br />

-ból<br />

REAL igen igen* igen 1 ) – – – –<br />

INT igen igen igen 1 ) – – – –<br />

BOOL igen igen igen – – – –<br />

Magyarázatok<br />

* A típus-konverziónál REAL-ból INT-ra a >= 0.5 törtérték felfelé lesz kerekítve,<br />

egyébként lefelé (mint a ROUND funkció).<br />

Az értékek túllépésénél egy vészjelzés lesz kioldva.<br />

1) érték 0-ak megfelel a TRUE-nak, érték== 0-nak megfelel a FALSE-nak<br />

Eredmények<br />

Típus-átalakítás REAL-ből vagy INTEGER-ből BOOL-ba<br />

eredmény BOOL = TRUE<br />

ha a REAL vagy INTEGER értéke nem nulla<br />

eredmény BOOL = FALSE<br />

ha a REAL vagy INTEGER értéke nulla<br />

Típus-átalakítás BOOL-ból REAL-be vagy INTEGER-be<br />

eredmény REAL TRUE<br />

ha a BOOL = TRUE (1) értékű<br />

eredmény INTEGER = TRUE ha a BOOL = TRUE (1) értékű<br />

Típus-átalakítás BOOL-ból REAL-be vagy INTEGER-be<br />

eredmény REAL FALSE<br />

ha a BOOL = FALSE (0) értékű<br />

eredmény INTEGER = FALSE ha a BOOL = FALSE (0) értékű<br />

Munka-előkészítés<br />

562 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

Példák implicit típus-átalakításra<br />

Típus-átalakítás INTEGER-ből BOOL-ba<br />

$AC_MARKER[1] = 561<br />

ID=1 WHEN $A_IN[1] == TRUE DO $A_OUT[0]=$AC_MARKER[1]<br />

Típus-átalakítás REAL -ből BOOL-ba<br />

R401 = 100.542<br />

WHEN $A_IN[0] == TRUE DO $A_OUT[2]=$R401<br />

Típus-átalakítás BOOL-ból INTEGER-be<br />

ID=1 WHEN $A_IN[2] == TRUE DO $AC_MARKER[4] = $A_OUT[1]]<br />

Típus-átalakítás BOOL-ból REAL-be<br />

R401 = 100.542<br />

WHEN $A_IN[3] == TRUE DO $R10 = $A_OUT[3]<br />

10.3.3 GUD-változók<br />

Szinkron-akció képes GUD-változók<br />

A speciális rendszerváltozók mellett a szinkronakciókban használhat előre definiált globális<br />

szinkron-akció felhasználói változókat is (szinkron-akció GUD) . A felhasználónak<br />

rendelkezésére álló szinkron-akció GUD-ok száma adattípus és hozzáférés specifikusan a<br />

következő gépadatokban van paraméterezve:<br />

● MD18660 $MM_NUM_SYNACT_GUD_REAL[] = <br />

● MD18661 $MM_NUM_SYNACT_GUD_INT[] = <br />

● MD18662 $MM_NUM_SYNACT_GUD_BOOL[] = <br />

● MD18663 $MM_NUM_SYNACT_GUD_AXIS[] = <br />

● MD18664 $MM_NUM_SYNACT_GUD_CHAR[] = <br />

● MD18665 $MM_NUM_SYNACT_GUD_STRING[] = <br />

Az index az adatmodult (hozzáférési jogok), a az adott adattípus (REAL,<br />

INT, ...) szinkron-akció GUD-jainak darabszámát adja meg.. A mindenkori adatmodulban<br />

minden adattípusra egy 1-dimenziós mező-változó lesz létrehozva a következő név sémával:<br />

SYG_[]:<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 563


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

index<br />

<br />

adattípus<br />

(MD18660 ... MD18665)<br />

modul REAL INT BOOL AXIS CHAR STRING<br />

0 SGUD SYG_RS[ i ] SYG_IS[ i ] SYG_BS[ i ] SYG_AS[ i ] SYG_CS[ i ] SYG_SS[ i ]<br />

1 MGUD SYG_RM[ i ] SYG_IM[ i ] SYG_BM[ i ] SYG_AM[ i ] SYG_CM[ i ] SYG_SM[ i ]<br />

2 UGUD SYG_RU[ i ] SYG_IU[ i ] SYG_BU[ i ] SYG_AU[ i ] SYG_CU[ i ] SYG_SU[ i ]<br />

3 GUD4 SYG_R4[ i ] SYG_I4[ i ] SYG_B4[ i ] SYG_A4[ i ] SYG_C4[ i ] SYG_S4[ i ]<br />

4 GUD5 SYG_R5[ i ] SYG_I5[ i ] SYG_B5[ i ] SYG_A5[ i ] SYG_C5[ i ] SYG_S5[ i ]<br />

5 GUD6 SYG_R6[ i ] SYG_I6[ i ] SYG_B6[ i ] SYG_A6[ i ] SYG_C6[ i ] SYG_S6[ i ]<br />

6 GUD7 SYG_R7[ i ] SYG_I7[ i ] SYG_B7[ i ] SYG_A7[ i ] SYG_C7[ i ] SYG_S7[ i ]<br />

7 GUD8 SYG_R8[ i ] SYG_I8[ i ] SYG_B8[ i ] SYG_A8[ i ] SYG_C8[ i ] SYG_S8[ i ]<br />

8 GUD9 SYG_R9[ i ] SYG_I9[ i ] SYG_B9[ i ] SYG_A9[ i ] SYG_C9[ i ] SYG_S9[ i ]<br />

i = 0 ... ( - 1)<br />

modul: _N_DEF_DIR/_N_ ... _DEF, pl. SGUD ⇒ _N_DEF_DIR/_N_SGUD_DEF<br />

Tulajdonságok<br />

A szinkron-akció GUD-oknak következő tulajdonságaik vannak:<br />

● A szinkron-akció GUD-okat lehet szinkron-akciókban és munkadarabprogramokban /<br />

ciklusokban olvasni és írni.<br />

● A szinkron-akció GUD-okhoz a BTSS-ről hozzá lehet férni.<br />

● A szinkron-akció GUD-ok a HMI kezelőfelület "Paraméter" kezelési tartományában<br />

lesznek kijelezve.<br />

● A szinkron-akció GUD-okat lehet használni a HMI Wizard-ban a változó nézetben és a<br />

változó jegyzőkönyvben.<br />

● A szinkron-akció GUD-ok mezőmérete STRING típusra fix 32 (31 karakter +\0).<br />

● Még ha kézileg nem is létrehozva definíciós-fájl a globális felhasználói adatokra (GUD), a<br />

gépadatokkal definiált szinkron-akció GUD-ok a mindenkori GUD modulból a HMI-vel<br />

kiolvashatók.<br />

FIGYELEM<br />

A felhasználói változókat (GUD, PUD, LUD) csak akkor lehet a szinkron-akció GUDokkal<br />

azonos néven definiálni (DEF ... SYG_xy), ha nincs szinkron-akció GUD azonos<br />

néven paraméterezve (MD18660 - MD18665). Ezeket a felhasználó által definiált GUDokat<br />

nem lehet a szinkron-akciókban használni.<br />

Hozzáférési jogok<br />

Az egy GUD definíciós fájlban definiált hozzáférési jogok továbbra is érvényesek maradnak<br />

és csak az ebben a GUD definíciós fájlban definiált GUD-változókra vonatkoznak.<br />

Munka-előkészítés<br />

564 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

Törlési viselkedés<br />

Ha egy adott GUD definíciós fájl tartalma újra aktiválva lesz, akkor először törölve lesz a régi<br />

GUD adatmodul az aktív fájlrendszer tárolójában. A megadott szinkron-akció GUD-ok ekkor<br />

szintén törölve lesznek. Ez az eljárás lehetséges a HMI-n is, "Szolgálatok" kezelői tartomány<br />

> "Felhasználói adatok (GUD) definiálása és aktiválása".<br />

10.3.4 Alap tengelyjelölő (NO_AXIS)<br />

Funkció<br />

Az AXIS típusú változók vagy paraméterek, amelyek nem lettek egy értékkel inicializálva,<br />

elláthatók a definiált alap tengelyjelölőkkel. A nem definiált tengelyváltozók ezzel az<br />

alapértékkel lesznek inicializálva.<br />

A nem inicializált érvényes tengelyneveket a szinkron-akciókban a "NO_AXIS" változó<br />

lekérdezésével ismerhetők fel. Ezek a nem inicializált tengelyjelölőkhöz egy gépadattal<br />

megadott alap-tengelyjelölő lesz hozzárendelve.<br />

Gépgyártó<br />

A gépadatokkal legalább egy érvényes létező tengelyjelölő kell egyen definiálva és beállítva.<br />

Azonban be lehet állítva az összes létező érvényes tengelyjelölő is. Vegyük ehhez<br />

figyelembe a gépgyártó tájékoztatásait.<br />

Megjegyzés<br />

Az újonnan létrehozott változók a definíciónál automatikusan megkapják a gépadatban<br />

megadott alap-tengelyneveket.<br />

További információk a gépadat által érvényes definíciókra:<br />

Irodalom<br />

/FBSY/ Szinkron-akciók működési kézikönyv<br />

Szintaxis<br />

PROC UP(AXIS PAR1=NO_AXIS, AXIS PAR2=NO_AXIS)<br />

IF PAR1 NO_AXIS...<br />

Jelentés<br />

PROC<br />

UP<br />

PARn<br />

NO_AXIS<br />

alprogram definíció<br />

alprogram elismerésre<br />

paraméter n<br />

formális paraméter inicializálása az alap-tengelyjelölővel<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 565


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

Példa: Egy tengelyváltozó definíciója a főprogramban<br />

Programkód<br />

DEF AXIS AXVAR<br />

UP( , AXVAR)<br />

10.3.5 Szinkron-akció jelölő ($AC_MARKER[n])<br />

Funkció<br />

A $AC_MARKER[n] mezőváltozót a szinkronakciókban lehet olvasni és írni. Ezek a változók<br />

lehetnek az aktív vagy a passzív fájlrendszer tárolójában.<br />

Szinkron-akció változó adattípus INT<br />

$AC_MARKER[n]<br />

$MC_MM_NUM_AC_MARKER<br />

n<br />

INTEGER típusú csatorna-specifikus jelölő/számláló<br />

gépadat a mozgás-szinkron akciók csatorna-specifikus<br />

jelölők számának beállításához<br />

változó 0 mezőindex<br />

Példa jelölő-változók írására és olvasására<br />

Programkód<br />

WHEN ... DO $AC_MARKER[0] = 2<br />

WHEN ... DO $AC_MARKER[0] = 3<br />

WHENEVER $AC_MARKER[0] == 3 DO $AC_OVR=50<br />

10.3.6 Szinkron-akció paraméter ($AC_PARAM[n])<br />

Funkció<br />

A $AC_PARAM[n] szinkronakció paraméterek a számításokhoz és közbenső tárolóként<br />

használatosak a szinkron-akciókban. Ezek a változók lehetnek az aktív vagy a passzív<br />

fájlrendszer tárolójában.<br />

Munka-előkészítés<br />

566 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

Szinkronizációs változó: REAL adattípus<br />

A paraméterek azonos névvel csatornánként egyszer fordulnak elő.<br />

$AC_PARAM[n]<br />

$MC_MM_NUM_AC_PARAM<br />

n<br />

számítási változó mozgás-szinkron akciókhoz (REAL)<br />

gépdat a mozgás-szinkron akciók paraméterei számának<br />

beállítására maximum 20000<br />

n paraméter 0 mezőindexe<br />

Példa szinkron-akció paraméterre $AC_PARAM[n]<br />

Programkód<br />

$AC_PARAM[0]=1.5<br />

$AC_MARKER[0]=1<br />

ID=1 WHEN $AA_IW[X]>100 DO $AC_PARAM[1]=$AA_IW[X]<br />

ID=2 WHEN $AA_IW[X]>100 DO $AC_MARKER[1]=$AC_MARKER[2]<br />

10.3.7 Számítási paraméterek ($R[n])<br />

Funkció<br />

Ezek a statikus mezőváltozók számításokra szolgálnak a munkadarabprogramokban és<br />

szinkron-akciókban.<br />

Szintaxis<br />

Programozás munkadarabprogramokban:<br />

REAL R[n]<br />

REAL Rn<br />

Programozás szinkron-akciókban:<br />

REAL $R[n]<br />

REAL $Rn<br />

Számítási paraméterek<br />

Az R-paraméterek alkalmazása lehetővé teszi:<br />

● értékek eltárolását, amelyek a program vége, NC-Reset és Power On után is meg kell<br />

maradjanak<br />

● tárolt értékek kijelzését az R-paraméter képben<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 567


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

Példák<br />

Programkód<br />

WHEN $AA_IM[X]>=40.5 DO $R10=$AA_MM[Y]<br />

G01 X500 Y70 F1000<br />

STOPRE<br />

IF R10>20<br />

Kommentár<br />

; R10 alkalmazása szinkronakcióban<br />

; Előrefutás-állj<br />

; számítási változó kiértékelése<br />

Programkód<br />

SYG_AS[2]=X<br />

SYG_IS[1]=1<br />

WHEN $AA_IM[SGY_AS[2]]>10 DO $R3=$AA_EG_DENOM[SYG_AS[1]],SYG_AS[2]]<br />

WHEN $AA_IM[SGY_AS[2]]>12 DO $AA_SCTRACE[SYG_AS[2]]=1<br />

SYG_AS[1]=X<br />

SYG_IS[0]=1<br />

WHEN $AA_IM[SGY_AS[1]]>10 DO $R3=$$MA_POSCTRL_GAIN[SYG_IS[0]],SYG_AS[1]]<br />

WHEN $AA_IM[SGY_AS[1]]>10 DO $R3=$$MA_POSCTRL_GAIN[SYG_AS[1]]<br />

WHEN $AA_IM[SGY_AS[1]]>15 DO $$MA_POSCTRL_GAIN[SYG_AS[0]], SYG_AS[1]]=$R3<br />

10.3.8 NC gép- és beállítási-adatok olvasása/írása<br />

Funkció<br />

Az NC gép- és beállítási-adatok olvasása és írása szinkronakciókból is lehetséges. A<br />

gépadat mezőelemek olvasásánál és írásánál a programozásnál el lehet hagyni egy indexet.<br />

Ha ez a munkadarabprogramban történik, akkor az olvasásánál az első mezőelem lesz<br />

olvasva és írásnál a mező összes eleme ezzel az értékkel lesz beírva.<br />

IA szinkronakciókban ebben az esetben csak az első elem lesz olvasva és írva.<br />

Megadás<br />

MD, SD a következőkkel<br />

$: az érték olvasása a szinkronakciók interpolációs időpontjában<br />

$$: az érték olvasása a főfutásban<br />

Munka-előkészítés<br />

568 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

MD és SD értékek olvasása az előrefutás időpontjában<br />

Ezek a szinkron-akcióból a $-karakterrel lesznek megcímezve és az előfutás időpontjában<br />

kiértékelve.<br />

ID=2 WHENEVER $AA_IM[z]


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

10.3.9 Időzítés-változók ($AC_Timer[n])<br />

Funkció<br />

Az $AC_TIMER[n] rendszerváltozó lehetővé teszi akciók indítását egy definiált várakozási<br />

idő után.<br />

Időzítés változó: REAL adattípus<br />

$AC_TIMER[n]<br />

s<br />

n<br />

Időzítés beállítása<br />

REAL típusú csatorna-specifikus időzítés<br />

egység másodpercekben<br />

időzítés-változó indexe<br />

Az időzítés-változó felfele számolását az érték hozzárendelés indítja:<br />

$AC_TIMER[n] = érték<br />

n: időzítés-változó száma<br />

érték: kezdőérték (ált 0)<br />

Időzítés megállítása<br />

Az időzítés-változó felfele-számlálása egy negatív érték hozzárendelésével meg lesz állítva:<br />

$AC_TIMER[n]=-1<br />

Időzítés olvasása<br />

Az aktuális időértéket lehet olvasni futó vagy megállított időzítés-változónál. Az időzítésváltozónak<br />

a megállítása (-1 hozzárendelése) után az aktuális időérték állva marad és<br />

továbbra is kiolvasható.<br />

Példa<br />

Egy valósérték kiadása egy analóg kimenetre 500 ms-mal egy digitális bemenet észlelése<br />

után:<br />

Programkód<br />

WHEN $A_IN[1]==1 DO $AC_TIMER[1]=0<br />

WHEN $AC_TIMER[1]>=0.5 DO $A_OUTA[3]=$AA_IM[X] $AC_TIMER[1]=-1<br />

Kommentár<br />

; időzítés visszaállítása és<br />

indítása<br />

Munka-előkészítés<br />

570 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

10.3.10 FIFO-változók ($AC_FIFO1[n] ... $AC_FIFO10[n])<br />

Funkció<br />

Összetartozó adatsorok tárolására 10 FIFO-változó (kör-tároló) áll rendelkezésre.<br />

Adattípus: REAL<br />

Alkalmazás:<br />

● ciklikus mérés<br />

● átfutás feldolgozás<br />

Minden elemet lehet olvasni és írni.<br />

FIFO-változó<br />

A rendelkezésre álló FIFO-változók számát az MD28260 $MC_NUM_AC_FIFO gépadatban<br />

adjuk meg.<br />

Az egy FIFO-változóba beírható értékek száma az MD28264 $MC_LEN_AC_FIFO<br />

gépadattal van megadva. Minden FIFO-változónak azonos a hossza.<br />

Az összes FIFO-elem összege csak akkor lesz képezve, ha az MD28266<br />

$MC_MODE_AC_FIFO bit0 be van állítva.<br />

A 0 ... 5 indexeknek külön jelentése van:<br />

Index<br />

Jelentés<br />

0<br />

írásnál:<br />

új érték írása a FIFO-ba<br />

olvasásánál: a legrégebbi elem olvasása és eltávolítása a FIFO-ból<br />

1 hozzáférés a legrégebbi tárolt elemhez<br />

2 hozzáférés a legújabb tárolt elemhez<br />

3 az összes FIFO-elem összege<br />

4 a FIFO-ban elérhető elemek száma<br />

A FIFO minden eleméhez olvasással és írással lehet hozzáférni. A FIFOváltozók<br />

törlése az elem-szám törlésével történik, pl. az első FIFO-változóra:<br />

$AC_FIFO1[4] = 0<br />

5 aktuális írásindex a FIFO-kezdethez viszonyítva<br />

6 ... nmax hozzáférés az n-edik FIFO-elemhez<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 571


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

Példa: kör-tároló<br />

Egy termelési folyamatban egy szállítószalagot használnak különböző (a, b, c, d) termékek<br />

továbbításához. Az szállítószalagon a adott szállítási hosszal a mindenkori termékhossztól<br />

függően különböző számú terméket lehet szállítani egyidőben. Azonos szállító-sebességnél<br />

a termékek levételét a szállítószalagról a termékek változó megérkezési idejéhez kell<br />

illeszteni.<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

DEF REAL ZWI=2.5<br />

DEF REAL GESAMT=270<br />

EVERY $A_IN[1]==1 DO $AC_FIFO1[4]=0<br />

EVERY $A_IN[2]==1 DO $AC_TIMER[0]=0<br />

EVERY $A_IN[2]==0 DO $AC_FIFO1[0]=$AC_TIMER[0]*$AA_VACTM[B]<br />

EVERY $AC_FIFO1[3]+$AC_FIFO1[4]*ZWI>=GESAMT DO POS[Y]=-30<br />

$R1=$AC_FIFO1[0]<br />

Kommentár<br />

; állandó távolság a felrakott termékek<br />

között<br />

; távolság a hosszmérő és az elvevő<br />

pozíció között<br />

; folyamat kezdetén a FIFO-t törölni<br />

; egy termék megszakítja a fénysorompót,<br />

időmérést indítani<br />

; Amikor a fénysorompó szabad lesz, a<br />

mért időből és a szállítási sebességből<br />

a termékhosszat kiszámítani és a FIFOban<br />

tárolni.<br />

; Amikor az összes termékhossz és<br />

távközök összege nagyobb/egyenlő a<br />

felrakó és a levevő hely távolságánál,<br />

a termékek a levevő helyen a<br />

szállítószalagról levenni és a<br />

hozzátartozó termékhosszat a FIFO-ból<br />

kiolvasni.<br />

Munka-előkészítés<br />

572 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

10.3.11 Felvilágosítás a mondattípusokról az interpolátorban ($AC_BLOCKTYPE,<br />

$AC_BLOCKTYPEINFO, $AC_SPLITBLOCK)<br />

Funkció<br />

A szinkronakciókhoz a következő rendszerváltozók állnak rendelkezésre, hogy felvilágosítást<br />

kapjunk a főfutamban éppen aktuális mondatról:<br />

● $AC_BLOCKTYPE<br />

● $AC_BLOCKTYPEINFO<br />

● $AC_SPLITBLOCK<br />

Blocktype- és Blocktypeinfo-változók<br />

$AC_BLOCKTYPE<br />

$AC_BLOCKTYPEINFO<br />

Érték:<br />

Érték:<br />

0 nem 0 T H Z E Jelentés:<br />

eredeti közbenső mondat<br />

közbenső mondat kiváltója:<br />

mondat<br />

1 1 0 0 0 belül generált mondat, nincs további<br />

felvilágosítás<br />

2 2 0 0 1 letörés/lekerekítés: egyenes<br />

2 2 0 0 2 letörés/lekerekítés: kör<br />

3 3 0 0 1 WAB: rámenet egyenessel<br />

3 3 0 0 2 WAB: rámenetel negyedkörrel<br />

3 3 0 0 3 WAB: rámenetel félkörrel<br />

szerszámkorrekció:<br />

4 4 0 0 1 rámenet-mondat STOPRE után<br />

4 4 0 0 2 összekötő-mondatok nem megtalált<br />

metszéspontnál<br />

4 4 0 0 3 pontformájú kör belső sarkoknál<br />

(csak TRACYL-nál)<br />

4 4 0 0 4 megkerülő kör (ill. kúpszelet) külső sarkokon<br />

4 4 0 0 5 rámenet-mondatok korrekció elnyomásnál<br />

4 4 0 0 6 rámenet-mondatok újbóli szerszámsugárkorrekció<br />

aktiválásnál<br />

4 4 0 0 7 mondat felosztás magas görbültség miatt<br />

4 4 0 0 8 kiegyenlítő mondatok 3D-s homlokmarásnál<br />

(szerszámvektor || felületvektor)<br />

átmenet simítás:<br />

5 5 0 0 1 G641<br />

5 5 0 0 2 G642<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 573


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

$AC_BLOCKTYPE<br />

Érték:<br />

$AC_BLOCKTYPEINFO<br />

Érték:<br />

0 nem 0 T H Z E Jelentés:<br />

eredeti közbenső mondat<br />

közbenső mondat kiváltója:<br />

mondat<br />

5 5 0 0 3 G643<br />

5 5 0 0 4 G644<br />

TLIFT-mondat:<br />

6 6 0 0 1 érintő-tengely lineáris mozgása és leemelő<br />

mozgás nélkül<br />

6 6 0 0 2 érintő-tengely nemlineáris mozgása (polinom) és<br />

leemelő mozgás nélkül<br />

6 6 0 0 3 leemelő mozgás, érintő-tengely mozgása és<br />

leemelő mozgás egyidőben indulnak<br />

6 6 0 0 4 leemelő mozgás, érintő-tengely csak akkor indul,<br />

ha bizonyos leemelés pozíció el lesz érve<br />

út-felosztás:<br />

7 7 0 0 1 programozott út-felosztás sapkázás és<br />

lyukasztás nélkül aktív<br />

7 7 0 0 2 programozott út-felosztás aktív sapkázással és<br />

lyukasztással<br />

7 7 0 0 3 automatikus belül generált út-felosztás<br />

Compile ciklusok:<br />

8 ID-alkalmazás Compile ciklusok alkalmazás ID, amelyik a<br />

mondatot létrehozta<br />

T: ezres helyiérték<br />

H: százas helyiérték<br />

Z: tizes helyiérték<br />

E: egyes helyiérték<br />

Megjegyzés<br />

$AC_BLOCKTYPEINFO az ezres (T) helyiértéken mindig a blokktípus értékét tartalmazza<br />

arra az esetre, ha van egy közbenső mondat. A $AC_BLOCKTYPE nem 0 esetén az ezres<br />

helyiérték nem lesz átvéve.<br />

Munka-előkészítés<br />

574 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.3 Főfutás változók szinkron-akciókhoz<br />

$AC_SPLITBLOCK<br />

Érték: Jelentés:<br />

0 Változatlan programozott mondat, (egy, a kompresszor által generált mondat is<br />

programozott mondatként lesz kezelve)<br />

1 Egy belül generált mondatról vagy egy lerövidített mondatról van szó<br />

3 Belül generált mondatok vagy egy lerövidített mondatok láncolatának utolsó mondatáról<br />

van szó<br />

Példa: Átmenet simítás mondatok számolása<br />

Programkód<br />

Kommentár<br />

$AC_MARKER[0]=0<br />

$AC_MARKER[1]=0<br />

$AC_MARKER[2]=0<br />

...<br />

; szinkron-akciók definíciója, amelyekkel<br />

átmenet simítás mondatok lesznek számolva<br />

; összes átmenet simítás mondat számlálása $AC_MARKER[0]-ban<br />

ID=1 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPE==5) DO $AC_MARKER[0]=$AC_MARKER[0]+1<br />

...<br />

; G641-gyel létrehozott átmenet simítás mondatok számlálása $AC_MARKER[1]-ben:<br />

ID=2 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPEINFO==5001) DO $AC_MARKER[1]=$AC_MARKER[1]+1<br />

; G642-gyel létrehozott átmenet simítás mondatok számlálása $AC_MARKER[2]-ben:<br />

ID=3 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPEINFO==5002) DO $AC_MARKER[2]=$AC_MARKER[2]+1<br />

...<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 575


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.1 Lehetséges szinkron-akciók áttekintése<br />

Az akciók a szinkron-akciókban érték-hozzárendelések, funkció- vagy paraméter-felhívások,<br />

kulcsszavak vagy technológia-ciklusok lehetnek. Műveletekkel összetett kifejezések<br />

lehetségesek.<br />

Lehetséges alkalmazások:<br />

● összetett kifejezések kiszámítása IPO-ütemben<br />

● tengelymozgások és orsóvezérlések<br />

● beállítási adatok online változtatása és kiértékelése szinkron-akciókból, mint pl. szoftverbütyök<br />

pozíciók és idő kiadása a PLC-re vagy az NC-perifériára<br />

● segédfunkciók kiadása a PLC-re<br />

● kiegészítő biztonsági funkciók beállítása<br />

● átlapolt mozgás, online szerszámkorrekció és távolság-szabályozás beállítása<br />

● akciók végrehajtása minden üzemmódban<br />

● szinkronakciók befolyásolása PLC-ből<br />

● technológia-ciklusok végrehajtása<br />

● digitális és analóg jelek kiadása<br />

● szinkron-akciók teljesítményének mérése az interpolációs ütemben és a<br />

helyzetszabályzó számítási idejének mérése a kiterhelés értékeléséhez<br />

● diagnózis lehetőség a kezelő felülete<br />

Munka-előkészítés<br />

576 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Szinkron-akció<br />

DO $V…=<br />

DO $A...=<br />

DO $AC…[n]=<br />

DO $AC_MARKER[n]=<br />

DO $AC_PARAM[n]=<br />

DO $R[n]=<br />

DO $MD...=<br />

DO $$SD...=<br />

DO $AC_TIMER[n]=kezdőérték<br />

DO $AC_FIFO1[n] …FIFO10[n]=<br />

DO $AC_BLOCKTYPE=<br />

DO $AC_BLOCKTYPEINFO=<br />

DO $AC_SPLITBLOCK=<br />

DO M-, S és H pl. M07<br />

DO RDISABLE<br />

DO STOPREOF<br />

DO DELDTG<br />

FTCDEF(polinom, LL, UL, együttható)<br />

DO SYNFCT(polinom, kimenet, bemenet)<br />

DO FTOC<br />

DO G70/G71/G700/G710<br />

DO POS[tengely]= / DO MOV[tengely]=<br />

DO SPOS[orsó]=<br />

DO MOV[tengely]=érték<br />

DO POS[tengely]= FA [tengely]=<br />

ID=1 ... DO POS[tengely]= FA [tengely]=<br />

ID=2 ... DO POS[tengely]=<br />

$AA_IM[tengely] FA [tengely]=<br />

DO PRESETON(tengely, érték)<br />

ID=1 EVERY $A_IN[1]=1 DO M3 S…<br />

ID=2 EVERY $A_IN[2]=1 DO SPOS=<br />

DO TRAILON(FA,LA,csatolási tényező)<br />

DO LEADON(FA,LA,NRCTAB,OVW)<br />

DO MEAWA(tengely)=<br />

DO MEAC(tengely)=<br />

DO [Feld n, m]=SET(érték, érték, ...)<br />

DO [Feld n, m]=REP(érték, érték, ...)<br />

DO SETM(jelölő sz.)<br />

DO CLEARM(jelölő sz.)<br />

DO SETAL(jelölő sz.)<br />

Leírás<br />

hozzárendelés (szervó értékek)<br />

változó hozzárendelése (főfutás-változó)<br />

speciális főfutás-változó<br />

szinkron-akció jelölő olvasása vagy írása<br />

szinkron-akció paraméter olvasása vagy írása<br />

számítási változó olvasása vagy írása<br />

MD-érték olvasása az interpolációs időpontban<br />

SD-érték írása főfutásban<br />

időzítés<br />

FIFO-változó<br />

aktuális mondat értelmezése (főfutás változó)<br />

M-, S- és H-segédfunkciók kiadása<br />

beolvasás-tiltás beállítása<br />

előrefutás-állj kikapcsolása<br />

gyors maradékút-törlés előrefutás-állj nélkül<br />

polinomok definíciója<br />

szinkronfunkciók aktiválása: AC-szabályozás<br />

online szerszámkorrekció<br />

mérőrendszer megadása pozícionálási feladatokra<br />

(méretmegadás hüvelyk vagy metrikus)<br />

parancstengelyek indítása/pozícionálása/megállítása<br />

orsók indítása/pozícionálása/megállítása<br />

egy parancstengely végtelen mozgását<br />

indítani/megállítani<br />

tengely előtolás FA<br />

pozícionálás szinkron-akciókból<br />

valósérték beállítás (Preset szinkron-akciókból)<br />

orsók indítása/pozícionálása/megállítása<br />

vontatás bekapcsolása<br />

vezető érték csatolás bekapcsolása<br />

tengely mérés bekapcsolása<br />

folyamatos mérés bekapcsolása<br />

mezőváltozók inicializálása értéklistákkal<br />

mezőváltozók inicializálása azonos értékekkel<br />

várakozás jelölő beállítása<br />

várakozás jelölő törlése<br />

ciklus-vészjelzés beállítása (kiegészítő biztonsági<br />

funkció)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 577


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Szinkron-akció<br />

DO FXS[[tengely]=<br />

DO FXST[[tengely]=<br />

DO FXSW[[tengely]=<br />

DO FOCON[[tengely]=<br />

DO FOCOF[[tengely]=<br />

ID=2 EVERY $AC_BLOCKTYPE==0 DO $R1=$AC_TANEB<br />

DO $AA_OVR=<br />

DO $AA_OVR=<br />

DO $AA_PLC_OVR<br />

DO $AC_PLC_OVR<br />

DO $AA_TOTAL_OVR<br />

DO $AC_TOTAL_OVR<br />

$AN_IPO_ACT_LOAD=<br />

$AN_IPO_MAX_LOAD=<br />

$AN_IPO_MIN_LOAD=<br />

$AN_IPO_LOAD_PERCENT=<br />

$AN_SYNC_ACT_LOAD=<br />

$AN_SYNC_MAX_LOAD=<br />

$AN_SYNC_TO_IPO=<br />

DO TECCYCLE<br />

DO LOCK(n, n, ...)<br />

DO UNLOCK(n, n, ...)<br />

DO RESET(n, n, ...)<br />

CANCEL(n, n, ...)<br />

Leírás<br />

fix-ütközőre menet kiválasztása<br />

rögzítő-nyomaték változtatása<br />

felügyeleti ablak változtatása<br />

mozgást korlátozott nyomaték/erővel aktiválni (modális)<br />

FOC<br />

mozgást korlátozott nyomaték/erővel deaktiválni<br />

(szinkron-akció mondatra vonatkozó)<br />

szög a az aktuális mondat végpontjának pályaérintője<br />

és a programozott következő mondat kezdőpontjának<br />

pályaérintője között<br />

tengely override<br />

pálya-override<br />

a PLC által megadott tengely override<br />

a PLC által megadott pálya override<br />

eredő tengely override<br />

eredő pálya override<br />

aktuális IPO számítási-idő<br />

leghosszabb IPO számítási-idő<br />

legrövidebb IPO számítási-idő<br />

aktuális IPO számítási-idő az IPO-ütemhez viszonyítva<br />

aktuális számítási-idő szinkron-akciókra összes<br />

csatornára<br />

leghosszabb számítási-idő szinkron-akciókra összes<br />

csatornára<br />

összes szinkron-akció százalékos aránya<br />

technológia-ciklus végrehajtása<br />

zárolni<br />

engedélyezni<br />

RESET egy technológia-ciklusra<br />

modális szinkronakciókat az ID(S) jelöléssel a<br />

munkadarabprogramban törölni<br />

Munka-előkészítés<br />

578 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.2 Segédfunkciók kiadása<br />

Funkció<br />

Kiadási időpont<br />

A segédfunkciók kiadása a szinkron-akcióban közvetlenül az akció kiadási időpontjában<br />

következik be. A gépadatban definiált kiadási időpont a segédfunkciókra itt hatástalan.<br />

A kiadási időpontot a feltétel teljesülése határozza meg.<br />

Példa:<br />

Hűtőeszközt bekapcsolni megadott tengely-pozíciónál:<br />

WHEN $AA_IM[X]>=15 DO M07 POS[X]=20 FA[X]=250<br />

Megengedett kulcsszavak mondatonként hatásos szinkron-akciókban (modál-ID nélkül)<br />

A segédfunkciókat mondatonként hatásos szinkron-akciókban (modál-ID nélkül) csak a WHEN<br />

vagy EVERY kulcsszavakkal szabad programozni.<br />

Megjegyzés<br />

A következő segédfunkciók nem megengedettek szinkron-akciókból:<br />

M0, M1, M2, M17, M30: program-állj/-vége (M2, M17, M30 a technológiai ciklusoknál lehetséges)<br />

M6 ill. gépadatban beállított M-funkcióra szerszámváltáshoz<br />

Példa<br />

Programkód<br />

WHEN $AA_IW[Q1]>5 DO M172 H510<br />

Kommentár<br />

; Ha a Q1-tengely valósértéke az 5 mm-t<br />

meghaladja, M172 és H510 segédfunkciót a<br />

PLC-re kiadni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 579


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.3 Beolvasás tiltást beállítani (RDISABLE)<br />

Funkció<br />

Az RDISABLE-vel teljesült feltételnél a főprogramban a további mondatfeldolgozás leáll. A<br />

programozott mozgásszinkron akciók tovább működnek, a következő mondatok elő lesznek<br />

készítve.<br />

A pályavezérlés üzemben RDISABLE-t tartalmazó mondat elején mindig pontos-állj lesz<br />

végrehajtva, attól függetlenül, hogy az RDISABLE hatásos lesz vagy nem.<br />

Példa<br />

Külső bemenetektől függően a programot az interpolációs ütemben indítani.<br />

Programkód<br />

...<br />

WHENEVER $A_INA[2]


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.4 Előrefutás-állj-t megszüntetni (STOPREOF)<br />

Funkció<br />

A programozott STOPRE előrefutás-állj-nál vagy egy aktív szinkron-akcióval implicit aktivált<br />

előrefutás-állj-t esetén a STOPREOF, amikor a feltétel teljesült, megszünteti az előrefutásállj-t<br />

a következő megmunkálási mondat után.<br />

Megjegyzés<br />

A STOPREOF-ot a WHEN kulcsszóval és mondatonként (ID-szám nélkül) kell programozni.<br />

Példa<br />

Gyors program-elágazás a mondat végén.<br />

Programkód<br />

WHEN $AC_DTEB500 GOTOF MARKE1=X100<br />

Kommentár<br />

; Ha a távolság a mondatvégéhez az<br />

5 mm alá kerül, előrefutás-állj-t<br />

megszüntetni.<br />

; Az egyenes interpoláció<br />

végrehajtása után,<br />

az előrefutás-állj megszűnik.<br />

; Ha a 7-es bemeneten a feszültség<br />

az 5V-ot meghaladja, címke 1-re<br />

ugrani.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 581


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.5 Maradékút törlés (DELDTG)<br />

Funkció<br />

Egy feltételtől függően a maradékút törlés a pályára és a megadott tengelyre lesz<br />

végrehajtva.<br />

Rendelkezésre áll:<br />

● gyors, előkészített maradékút törlés<br />

● maradékút törlés előkészítés nélkül<br />

Az előkészített maradékút törlés a DELDTG-vel egy nagyon gyors reakciót tesz lehetővé a<br />

kioldó eseményre és ezért az idő-kritikus alkalmazásoknál használják, pl., ha<br />

● az idő a maradékút törlés és a következő mondat indítása között nagyon rövid kell legyen<br />

● maradékút törlés feltétele nagy valószínűséggel teljesül.<br />

Megjegyzés<br />

A DELDTG-nél a zárójelben megadott tengelyjelölés csak egy pozicionáló-tengelyre<br />

érvényes.<br />

Szintaxis<br />

Maradékút törlés a pályára<br />

DO DELDTG<br />

Tengely maradékút törlés<br />

DO DELDTG(tengely1) DELDTG(tengely2) ...<br />

Példa gyors pálya maradékút törlésre<br />

Programkód<br />

WHEN $A_IN[1]==1 DO DELDTG<br />

N100 G01 X100 Y100 F1000<br />

N110 G01 X…<br />

IF $AA_DELT>50…<br />

Kommentár<br />

; ha a bemenet 1-es,a mozgás<br />

megszakad<br />

Munka-előkészítés<br />

582 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Példa gyors tengely maradékút törlésre<br />

Programkód<br />

Egy pozícionáló mozgás megszakítása:<br />

ID=1 WHEN $A_IN[1]==1 DO MOV[V]=3 FA[V]=700<br />

WHEN $A_IN[2]==1 DO DELDTG(V)<br />

Maradékút törlés a bemeneti feszültségtől<br />

függően:<br />

WHEN $A_INA[5]>8000 DO DELDTG(X1)<br />

POS[X1]=100 FA[X1]=10 G1 Z100 F1000<br />

Kommentár<br />

; tengely indítása<br />

; maradékút törlés, tengely<br />

megállítása MOV=0<br />

; Ha az 5-ös bemeneten a feszültség<br />

8V alá csökken, X1 tengely<br />

maradékutat<br />

törölni. Pályamozgás tovább fut.<br />

További információk<br />

A mozgásmondat végén, amelyikben a maradékút törlés ki lett váltva, implicit előrefutás állj<br />

lesz aktiválva.<br />

A pályavezérlő üzem ill. a pozícionáló-tengely mozgások a mondat végén gyors maradékút<br />

törléssel lesznek megszakítva ill. megállítva.<br />

Megjegyzés<br />

Előkészített maradékút törlés:<br />

aktív szerszámsugár-korrekciónál nem használható.<br />

csak mondatonként hatásos szinkron-akciókban (ID-szám nélkül) programozható.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 583


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.6 Polinom definíció (FCTDEF)<br />

Funkció<br />

Az FCTDEF-fel 3. fokú polinomokat lehet definiálni y=a0+a1x+a2x 2 +a3x 3 formában. Ezeket a<br />

polinomokat az FTOC online-szerszámkorrekció és a SYNFCT kiértékelő funkció használja .<br />

Szintaxis<br />

FCTDEF(polinom sz.,LLIMIT,ULIMIT,a0,a1,a2,a3)<br />

Jelentés<br />

polinom sz.<br />

LLIMIT<br />

ULIMIT<br />

a0, a1, a2, a3<br />

3. fokú polinom száma<br />

függvényérték alsó határ<br />

függvényérték felső határ<br />

polinom együtthatók<br />

Ezek az értékek rendszerváltozókon keresztül is elérhetők<br />

$AC_FCTLL[n]<br />

$AC_FCTUL[n]<br />

$AC_FCT0[n]<br />

$AC_FCT1[n]<br />

$AC_FCT2[n]<br />

$AC_FCT3[n]<br />

függvényérték alsó határa<br />

függvényérték felső határa<br />

a0<br />

a1<br />

a2<br />

a3<br />

Megjegyzés<br />

Rendszerváltozók írása<br />

A rendszerváltozókat lehet munkadarab-programból vagy egy szinkron-akcióból írni. A<br />

munkadarab-programból írásnál a STOPRE programozásával kell gondoskodni a<br />

mondatszinkron írásról.<br />

Az $AC_FCTLL[n], $AC_FCTUL[n], $AC_FCT0[n] ... $AC_FCTn[n] rendszerváltozók szinkronakciókból<br />

változtathatók<br />

A szinkron-akciókból írásnál a polinom-együtthatók és funkciós-értékhatárok azonnal<br />

hatásosak.<br />

Munka-előkészítés<br />

584 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Példa polinom egyenes-szakaszra<br />

A felső-határ 1000, alsó-határ -1000, az ordináta szakasz a0=$AA_IM[X] és a meredekség 1<br />

esetén a polinom definíció:<br />

FCTDEF(1, -1000,1000,$AA_IM[X],1)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Példa lézer teljesítmény vezérlésre<br />

A polinom definíció egyik lehetséges alkalmazása a lézer teljesítmény vezérlés.<br />

A lézer teljesítmény vezérlés jelentése:<br />

egy analóg kimenet befolyásolása pl. a pályasebesség függvényében.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 585


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Programkód<br />

Kommentár<br />

$AC_FCTLL[1]=0.2 ; polinom-együtthatók definíciója<br />

$AC_FCTUL[1]=0.5<br />

$AC_FCT0[1]=0.35<br />

$AC_FCT1[1]=1.5EX-5<br />

STOPRE<br />

ID=1 DO $AC_FCTUL[1]=$A_INA[2]*0.1 +0.35<br />

ID=2 DO SYNFCT(1,$A_OUTA[1],$AC_VACTW)<br />

; felső határt online változtatni<br />

; a pályasebességtől függően<br />

($AC_VACTW) lesz<br />

vezérelve a lézer teljesítmény az<br />

1-es analóg kimenettel<br />

Megjegyzés<br />

A fent definiált polinom felhasználása a SYNFCT-tal történik.<br />

10.4.7 Szinkronfunkció (SYNFCT)<br />

Funkció<br />

A SYNFCT kiszámítja egy 3. fokú polinom kimenő értékét a bemeneti változók súlyozásával.<br />

Az eredmény egy kimeneti változóban található és felülről és alulról határolt.<br />

A kiértékelő funkció alkalmazásai<br />

● AC-szabályozás (Adaptive Control),<br />

● lézer teljesítmény vezérlés,<br />

● pozíció rákapcsolás.<br />

Szintaxis<br />

SYNFCT(polinom sz., főfutás változó kimenet, főfutás változó bemenet)<br />

Munka-előkészítés<br />

586 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Jelentés<br />

Kimeneti változóként olyan változókat lehet kiválasztani, amelyek<br />

● összegző befolyásolással<br />

● szorzó befolyásolással<br />

● pozíció offsetként<br />

● közvetlenül<br />

a megmunkálási folyamatban hatnak.<br />

DO SYNFCT<br />

polinom sz.<br />

főfutás változó kimenet<br />

főfutás változó bemenet<br />

kiértékelési funkció aktiválása<br />

FCTDEF-fel definiált polinom ("Polinom definíció" alfejezetet)<br />

főfutás változó írása<br />

főfutás változó olvasása<br />

Példa AC-szabályozásra (összegző)<br />

Programozott előtolás összegző befolyásolása<br />

A programozott előtolás összegzően kell szabályozni az X tengely (fogásvételi tengely)<br />

áramával:<br />

Az előtolás változzon +/- 100 mm/perc-cel, ha az áram +/-1A-rel változik az 5A-es<br />

munkapont körül.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 587


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

1. polinom definíció<br />

az együtthatók meghatározása<br />

y = f(x) = a0 + a1x + a2x 2 + a3x 3<br />

a1 = -100mm/1 min A<br />

a0 = -(-100)*5 =500<br />

a2 = a3 = 0 (nincs négyzetes és köbös tag)<br />

felső határ = 100<br />

alsó határ = -100<br />

Ebből következik:<br />

FCTDEF(1,-100,100,500,-100,0,0)<br />

2. AC-szabályozás bekapcsolása<br />

ID=1 DO SYNFCT(1,$AC_VC,$AA_LOAD[x])<br />

;Az $AA_LOAD[x] -ból az aktuális tengely-terhelést olvasni (max. hajtásáram %-a),<br />

;a fent definiált polinommal a pályaelőtolás korrekciót kiszámítani.<br />

Példa AC-szabályozásra (szorzó)<br />

Programozott előtolás szorzó befolyásolása<br />

A programozott előtolás szorzó befolyásolása szükséges, amelynél azonban az előtolás - a<br />

hajtások terhelésétől függően - bizonyos határokat ne lépjen túl:<br />

● 80%-os hajtás terhelésnél az előtolás álljon meg: override = 0<br />

● 30%-os hajtás terhelésnél lehet a programozott előtolással haladni:<br />

override = 100%<br />

Az előtolás sebességet maximum 20%-kal szabad túllépni:<br />

max. override = 120%<br />

Munka-előkészítés<br />

588 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1. polinom definíció<br />

az együtthatók meghatározása<br />

y = f(x) = a0 + a1x + a2x 2 + a3x 3<br />

a1 = -100%/(80-30)% = -2<br />

a0 = 100 + (2*30) = 160<br />

a2 = a3 = 0 (nincs négyzetes és köbös tag)<br />

felső határ = 120<br />

alsó határ = 0<br />

Ebből következik:<br />

FCTDEF(2,0,120,160,-2,0,0)<br />

2. AC-szabályozás bekapcsolása<br />

ID=1 DO SYNFCT(2,$AC_OVR,$AA_LOAD[x])<br />

;Az $AA_LOAD[x] -ból az aktuális tengely-terhelést olvasni (max. hajtásáram %-a),<br />

;a fent definiált polinommal az előtolás override-ot kiszámítani.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 589


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.8 Távolság szabályozás korlátozott korrekcióval ($AA_OFF_MODE)<br />

Megjegyzés<br />

Ez a funkció a SINUMERIK 828D-nél nem áll rendelkezésre<br />

Funkció<br />

A távolság értékek integráló számítása határtartomány vizsgálattal:<br />

$AA_OFF_MODE = 1<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

FIGYELEM<br />

Az eredő szabályozás kör-erősítése az IPO-ütem beállításától függ.<br />

Segítség: IPO-ütem MD-t olvasni és beszámítani.<br />

Megjegyzés<br />

Az átlapoló interpolátor sebességének határolása az MD32020 JOG_VELO-val 12 ms-es<br />

IPO-ütemnél<br />

Munka-előkészítés<br />

590 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Sebesség kiszámítása:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Példa<br />

Alprogram "AON": távolság szabályozás be<br />

Programkód<br />

PROC AON<br />

$AA_OFF_LIMIT[Z]=1<br />

FCTDEF(1, -10, +10, 0, 0.6, 0.12)<br />

ID=1 DO SYNFCT(1,$AA_OFF[Z],$A_INA[3])<br />

ID=2 WHENEVER $AA_OFF_LIMIT[Z]0<br />

DO $AA_OVR[X] = 0<br />

RET<br />

ENDPROC<br />

Kommentár<br />

; határérték megadása<br />

; polinom definíció<br />

; távolság szabályozás aktív<br />

; határtartomány túllépésekor az X<br />

tengelyt tiltani<br />

Alprogram "AOFF": távolság szabályozás ki<br />

Programkód<br />

PROC AOFF<br />

CANCEL(1)<br />

CANCEL(2)<br />

RET<br />

ENDPROC<br />

Kommentár<br />

; távolság szabályozás szinkron-akció törlése<br />

; határtartomány vizsgálat törlése<br />

Főprogram "MAIN"<br />

Programkód<br />

AON<br />

...<br />

G1 X100 F1000<br />

AOFF<br />

M30<br />

Kommentár<br />

; távolság szabályozás be<br />

; távolság szabályozás ki<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 591


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

További információk<br />

Pozíció-offset alap-koordinátarendszerben<br />

A $AA_OFF[tengely] rendszerváltozóval a csatorna minden tengelyére lehet egy mozgást<br />

rátenni. Ez pozíció-offsetként hat az alap-koordinátarendszerben.<br />

Az így programozott pozíció-offset a megfelelő tengelyre azonnal rátevődik, attól függetlenül,<br />

hogy a tengely programozottan mozog-e vagy nem.<br />

Főfutás-változó kimenetet korlátozni:<br />

Lehetséges az abszolút korrigálandó értéket (főfutás változó kimenet) az SD43350<br />

$SA_AA_OFF_LIMIT beállítási adatban megadott értékre korlátozni.<br />

Az MD36750 $MA_AA_OFF_MODE gépadattal a távolság átlapolásának módja lesz<br />

megadva:<br />

Érték Jelentés<br />

0 arányos értékelés<br />

1 integráló értékelés<br />

A $AA_OFF_LIMIT[tengely] rendszerváltozóval irányfüggően lekérdezhető, hogy a<br />

korrekciós érték a határtartományban található-e. Ezt a rendszerváltozót szinkronakcióból le<br />

lehet kérdezni és egy határérték elérésénél pl. megállítani a tengelyt vagy egy vészjelzést<br />

kiadni.<br />

0: korrekcióérték nincs a határtartományban<br />

1 korrekcióérték határa pozitív irányban elérve<br />

-1: korrekcióérték határa negatív irányban elérve<br />

Munka-előkészítés<br />

592 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.9 Online szerszámkorrekció (FTOC)<br />

Funkció<br />

Az FTOC lehetővé tesz egy rátevődő mozgást egy geometria tengelyre egy FCTDEF-fel<br />

programozott polinom szerint egy vonatkoztatási értéktől függően, ami pl. egy tengely<br />

valósértéke lehet.<br />

Az a0 együtthatója az FCTDEF(...) funkció-definíciónak az FTOC-nál ki lesz értékelve. A felsőés<br />

alsó határ függ az a0-tól.<br />

Az FTOC-cal lehetséges modális online szerszámkorrekciók vagy távolság szabályozások<br />

programozása szinkron-akcióként.<br />

Ez a funkció használható a munkadarab megmunkálása és a köszörűkorong lehúzása<br />

esetén ugyanabban a csatornában vagy különböző csatornákban (megmunkáló- és lehúzó<br />

csatorna).<br />

A köszörűtárcsa lehúzásának peremfeltételei és megállapításai az FTOC-nál azonosak az<br />

online szerszámkorrekció PUTFTOCF-fel esetével (lásd "Online-szerszámkorrekció<br />

(PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) (Oldal 404)").<br />

Szintaxis<br />

FCTDEF(,,,,,,)<br />

FTOC(,,,,)<br />

...<br />

Jelentés<br />

FCTDEF:<br />

Az FCTDEF-fel a polinom funkció lesz a FTOC-ra definiálva.<br />

Paraméter:<br />

:<br />

:<br />

:<br />

... :<br />

polinom függvény száma<br />

típus: INT<br />

értéktartomány: 1 ... 3<br />

alsó határérték<br />

típus: REAL<br />

felső határérték<br />

típus: REAL<br />

polinom funkció együtthatói<br />

típus: REAL<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 593


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

DO FTOC:<br />

Az "Online szerszámkorrekció folyamatos írás modálisan" funkció<br />

végrehajtása<br />

Paraméter:<br />

:<br />

polinom függvény száma<br />

típus: INT<br />

értéktartomány: 1 ... 3<br />

Utalás:<br />

Meg kell egyezzen az FCTDEF megadással<br />

: főfutás-változó, amelyhez egy funkciós-értéket az<br />

FCTDEF-fel definiált polinom függvénnyel kell<br />

kiszámítani.<br />

típus: VAR REAL<br />

: kopási paraméter száma (hossz 1, 2 vagy 3),<br />

amihez a korrekcióérték hozzáadódik<br />

típus: INT<br />

:<br />

csatorna száma, amelyben az onlineszerszámkorrekció<br />

hatásos<br />

típus: INT<br />

Utalás:<br />

Megadás csak akkor szükséges, ha a korrekció<br />

nem a saját csatornában kell legyen hatásos.<br />

:<br />

orsó száma, amelyre az online-szerszámkorrekció<br />

hat<br />

típus: INT<br />

Utalás:<br />

Megadás csak akkor szükséges, ha az aktív,<br />

használatban levő szerszám helyett egy nem aktív<br />

köszörű-tárcsát kell korrigálni..<br />

Megjegyzés<br />

A célcsatornában az FTOCON be kell legyen kapcsolva.<br />

Munka-előkészítés<br />

594 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Példa<br />

A példában az aktív, fogásban levő köszörűtárcsa hosszát kell korrigálni.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

FCTDEF(1,-1000,1000,-$AA_IW[V],1)<br />

ID=1 DO FTOC(1,$AA_IW[V],3,1)<br />

WAITM(1,1,2)<br />

G1 V-0.05 F0.01 G91<br />

G1 V-0.05 F0.02<br />

...<br />

CANCEL(1)<br />

...<br />

Kommentár<br />

; funkció definiálás<br />

; online szerszámkorrekció kiválasztás:<br />

V-tengely valósérték a bemenő-érték a<br />

polinom 1-nek. Az eredmény a csatorna<br />

1-ben korrekció-értékként az aktív<br />

köszörűtárcsa hossz 3-hoz adódik.<br />

; szinkronizáció a megmunkáló csatornával<br />

; fogásvétel lehúzáshoz<br />

; online szerszámkorrekció kikapcsolása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 595


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.10 Online szerszámhossz-korrekció ($AA_TOFF)<br />

Funkció<br />

A $AA_TOFF[ ] rendszerváltozóval a hatásos szerszámhosszak a három szerszámiránynak<br />

megfelelően háromdimenziósan valósidőben módosíthatóak.<br />

Indexként a három geometria-tengely jelölője van használva. Így az aktív korrekciós irányok<br />

száma az azonos időben aktív geometria-tengelyek által rögzítve van.<br />

Az összes korrekció lehet egyidőben aktív.<br />

Szintaxis<br />

N... TRAORI<br />

N... TOFFON(X,)<br />

N... WHEN TRUE DO $AA_TOFF[X]<br />

N... TOFFON(Y,)<br />

N... WHEN TRUE DO $AA_TOFF[Y]<br />

N... TOFFON(Z,)<br />

N... WHEN TRUE DO $AA_TOFF[Z]<br />

Jelentés<br />

TOFFON:<br />

TOFFOF:<br />

$AA_TOFF[X]=:<br />

$AA_TOFF[Y]=:<br />

$AA_TOFF[Z]=:<br />

online szerszámhossz-korrekciót aktiválni<br />

X, Y, Z: szerszámirány,amelyben az online<br />

szerszámhossz-korrekció hatásos kell<br />

legyen<br />

: Az aktiválásnál a megfelelő korrekcióirányra<br />

meg elehet adni egy offset-értéket,<br />

ami rögtön elmozdulást okoz.<br />

online szerszámhossz-korrekció kikapcsolása<br />

A megfelelő korrekciós-értékek törölve lesznek és egy<br />

előrefutás-állj lesz kiváltva.<br />

átlapolás X irányban<br />

átlapolás Y irányban<br />

átlapolás Z irányban<br />

Munka-előkészítés<br />

596 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Példák<br />

Példa 1: Szerszámhossz-korrekció kiválasztása<br />

Programkód<br />

N10 TRAORI(1)<br />

N20 TOFFON(Z)<br />

N30 WHEN TRUE DO $AA_TOFF[Z]=10 G4 F5<br />

N40 TOFFON(X)<br />

N50 ID=1 DO $AA_TOFF[X]=$AA_IW[X2] G4 F5<br />

Kommentár<br />

; transzformáció be<br />

; online szerszámhossz-korrekció aktiválása Z<br />

szerszámirányra<br />

; szerszámhossz-korrekció 10 interpolálása Z<br />

szerszámirányra<br />

; online szerszámhossz-korrekció aktiválása X<br />

szerszámirányra<br />

; az X szerszámirányra az X2 tengely pozíciójától<br />

függő korrekció lesz végrehajtva<br />

...<br />

; aktuális korrekció hozzárendelés X-irányba<br />

szerszámhossz-korrekció X szerszámirányban ismét<br />

0-ra lesz visszavéve:<br />

N100 XOFFSET=$AA_TOFF_VAL[X] N120 TOFFON(X,-XOFFSET) G4 F5<br />

Példa 2: Szerszámhossz-korrekció kikapcsolása<br />

Programkód<br />

N10 TRAORI(1)<br />

N20 TOFFON(X)<br />

N30 WHEN TRUE DO $AA_TOFF[X]=10 G4 F5<br />

...<br />

N80 TOFFOF(X)<br />

Kommentár<br />

; transzformáció be<br />

; online szerszámhossz-korrekció aktiválása X<br />

szerszámirányra<br />

; szerszámhossz-korrekció 10 interpolálása X<br />

szerszámirányra<br />

; X szerszámirány pozíció-offset törlése<br />

...$AA_TOFF[X]=0<br />

tengely nem mozdul el az aktuális pozícióhoz<br />

MKR-ben a pozíció-offset hozzá lesz számítva az<br />

aktuális tájolásnak megfelelően<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 597


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.11 Pozícionáló mozgások<br />

Funkció<br />

A tengelyeket munkadarab-programhoz teljesen aszinkron módon szinkron-akciókból lehet<br />

pozícionálni. A pozícionáló tengelyek programozása szinkron-akciókból ciklikus vagy erősen<br />

eseményvezérelt lefutások esetén ajánlatos. A szinkron-akciókból programozott tengelyek<br />

parancs-tengelyek.<br />

Programozás<br />

Irodalom:<br />

/PG/ Programozási kézikönyv, Alapok; "Út-adatok" fejezet<br />

/FBSY/ Szinkron-akciók működési kézikönyv; "Parancstengelyek indítása"<br />

Paraméter<br />

A mérőrendszer pozícionáló feladatokra a szinkronakciókban G70/G71/G700/G710 G-kódokkal<br />

programozható.<br />

A G-kódok programozásával a szinkron-akciókban az HÜVELYK/METRIKUS kiértékelés a<br />

szinkron-akciókban a munkadarabprogram környezettől függetlenül megadható.<br />

Munka-előkészítés<br />

598 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.12 Tengely pozícionálás (POS)<br />

Funkció<br />

A pozícionáló mozgásnak a munkadarabprogram programozásával ellentétben nincs<br />

befolyása a munkadarabprogram feldolgozására.<br />

Szintaxis<br />

POS[tengely]= érték<br />

Jelentés<br />

DO POS<br />

tengely<br />

Érték<br />

parancs-tengelyek indítása/pozícionálása<br />

a tengely neve, amelyiket mozgatni kell<br />

a mozgatás értékének megadása (mozgási módus szerint)<br />

Példák<br />

Példa 1:<br />

Programkód<br />

Kommentár<br />

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100<br />

; Az U tengelyt mozgatni a mozgási módtól függően<br />

növekményesen 100 (hüv/mm)-rel ill. a 100 (hüv/mm)<br />

pozícióra a vezérlés nullapontjától.<br />

; Az U tengelyt a főfutás változóból kiszámított<br />

értékkel elmozgatni.<br />

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=$AA_MW[V]-$AA_IM[W]+13.5<br />

Példa 2:<br />

A program-környezet befolyásolja a pozícionáló-tengely pozícionáló-útját<br />

(nincs G-funkció a szinkronakció akciórészében):<br />

Programkód<br />

N100 R1=0<br />

N110 G0 X0 Z0<br />

N120 WAITP(X)<br />

N130 ID=1 WHENEVER $R==1 DO POS[X]=10<br />

N140 R1=1<br />

N150 G71 Z10 F10<br />

N160 G70 Z10 F10<br />

N170 G71 Z10 F10<br />

N180 M30<br />

Kommentár<br />

; Z=10mm X=10mm<br />

; Z=254mm X=254mm<br />

; Z=10mm X=10mm<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 599


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

A G71 a szinkron-akció akciórészében egyértelműen meghatározza (metrikus) a pozícionálótengely<br />

pozícionáló-útját, a program-környezettől függetlenül.<br />

Programkód<br />

N100 R1=0<br />

N110 G0 X0 Z0<br />

N120 WAITP(X)<br />

N130 ID=1 WHENEVER $R==1 DO G71 POS[X]=10<br />

N140 R1=1<br />

N150 G71 Z10 F10<br />

N160 G70 Z10 F10<br />

N170 G71 Z10 F10<br />

N180 M30<br />

Kommentár<br />

; Z=10mm X=10mm<br />

; Z=254 mm X=10 mm (X mindig 10 mm-re<br />

pozícionál)<br />

; Z=10mm X=10mm<br />

Ha a tengelymozgást nem kell a mondatkezdettel elindítani, akkor a tengely override-ot egy<br />

szinkron-akcióból a kívánt kezdő-időpontig 0-án lehet tartani.<br />

Programkód<br />

Kommentár<br />

WHENEVER $A_IN[1]==0 DO $AA_OVR[W]=0 G01 X10 Y25 F750 POS[W]=1500 FA=1000<br />

; A pozícionáló-tengely meg lesz állítva, amíg a<br />

digitális bemenet 1 = 0<br />

Munka-előkészítés<br />

600 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.13 Pozíció a megadott referencia-tartományban (POSRANGE)<br />

Funkció<br />

A POSRANGE( ) funkcióval meg lehet állapítani, hogy egy tengely aktuális interpolált<br />

parancspozíciója egy megadott referencia-pozíció körüli tartományban van-e. A pozícióadatok<br />

vonatkozhatnak a megadható koordináta-rendszerre.<br />

Egy modulo-tengely valós pozíciójának lekérdezésénél a modulo-korrekció figyelembe lesz<br />

véve.<br />

Megjegyzés<br />

A funkciót csak szinkronakcióból lehet felhívni. A munkadarabprogramból történő felhívásnál<br />

a vészjelzés 14091 %1 mondat %2 funkció nem megengedett, index: %3 index 5-tel lesz<br />

kiadva.<br />

Szintaxis<br />

BOOL POSRANGE(tengely, Refpos, Winlimit,[Coord])<br />

Jelentés<br />

BOOL POSRANGE<br />

AXIS <br />

REAL Refpos<br />

REAL Winlimit<br />

INT Coord<br />

parancs-tengely aktuális pozíciója a megadott<br />

referenciapozíció körüli tartományban van<br />

gép-, csatorna-, vagy geometria-tengely tengely-jelölője<br />

referencia-pozíció a koordináta-rendszerben<br />

a pozíció-tartomány határát megadó érték<br />

opcionálisan a GKR aktív lehetségesek:<br />

0: GKR (gép koordinátarendszer)<br />

1: AKR (alap-koordinátarendszer)<br />

2: BNR (beállítható nullapont-rendszer)<br />

3: MKR (munkadarab-koordinátarendszer)<br />

Funkció-érték<br />

Aktuális parancspozíció a megadott koordináta-rendszer pozíció-megadása szerint<br />

funkció-érték: TRUE<br />

funkció-érték: FALSE<br />

ha Refpos(Coord)<br />

- abs(Winlimit)<br />

≤ Actpos(Coord)<br />

≤ Refpos(Coord) + abs(Winlimit)<br />

egyébként<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 601


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.14 Tengely indítás/megállítás (MOV)<br />

Funkció<br />

A MOV[tengely]= érték utasítással lehet egy parancs-tengelyt egy véghelyzet megadása<br />

nélkül elindítani. A tengely a programozott irányba fog mozogni, amíg egy új mozgási vagy<br />

pozícionálási utasítással egy másik mozgás kerül megadásra vagy a tengelyt egy állj<br />

utasítás megállítja.<br />

Szintaxis<br />

MOV[tengely]= érték<br />

Jelentés<br />

DO MOV<br />

tengely<br />

Érték<br />

parancs-tengely mozgás indítása<br />

a tengely neve, amelyiket indítani kell<br />

indítási utasítás az indítás/megállításra<br />

az előjel meghatározza a mozgás irányát<br />

az érték adattípusa INTEGER<br />

érték >0 (szokásosan +1) pozitív irány<br />

érték


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.15 Tengelycsere (RELEASE, GET)<br />

Funkció<br />

Az érintett parancs-tengelyeket egy szerszámcseréhez egy szinkronakcióban a<br />

GET(tengely) akcióval lehet felkérni. Az ehhez a csatornához hozzárendelt tengelytípust és<br />

ezzel az adott időponttal kapcsolódó interpolációs jogot a $AA_AXCHANGE_TYP<br />

rendszerváltozóval lehet lekérdezni. A tényleges állapottól és ezen tengely aktuális<br />

interpolációs jogát bíró csatornától függően különféle lefutások lehetségesek.<br />

Ha a szerszámcsere megtörtént, ezt a parancs-tengelyt egy szinkronakcióban<br />

RELEASE(tengely) akcióval szabaddá lehet tenni a csatorna számára.<br />

Gépgyártó<br />

Az érintett tengely gépadattal hozzá kell legyen rendelve a csatornához. Vegyük ehhez<br />

figyelembe a gépgyártó tájékoztatásait.<br />

Szintaxis<br />

GET(tengely[,tengely{,...}]) tengely igénylése<br />

RELAESE(tengely[,tengely{,...}]) tengely felszabadítása<br />

Jelentés<br />

DO RELEASE<br />

DO GET<br />

tengely<br />

tengelyt semleges tengelyként felszabadítani<br />

tengelyt tengelycseréhez hozni<br />

a tengely neve, amelyiket indítani kell<br />

Példa programlefutásra két csatorna tengely-cseréjénél<br />

A Z tengely ismert az 1.és a 2. csatornában.<br />

Programlefutás az 1. csatornában:<br />

Programkód<br />

Kommentár<br />

WHEN TRUE DO RELEASE(Z)<br />

; Z tengely semleges tengely lesz<br />

WHENEVER($AA_TYP[Z]==1) DO RDISABLE ; beolvasás-tiltás amíg a Z tengely<br />

programtengely<br />

N110 G4 F0.1<br />

WHEN TRUE DO GET(Z)<br />

; Z tengely ismét NC programtengely lesz<br />

WHENEVER($AA_TYP[Z]1) DO RDISABLE ; beolvasás-tiltás amíg a Z tengely<br />

programtengely<br />

N120 G4 F0.1<br />

WHEN TRUE DO RELEASE(Z)<br />

; Z tengely semleges tengely lesz<br />

WHENEVER($AA_TYP[Z]==1) DO RDISABLE ; beolvasás-tiltás amíg a Z tengely<br />

programtengely<br />

N130 G4 F0.1 ;<br />

N140 START(2)<br />

; a 2. csatornát indítani<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 603


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Programlefutás az 2. csatornában:<br />

Programkód<br />

WHEN TRUE DO GET(Z)<br />

WHENEVER($AA_TYP[Z]==0) DO RDISABLE<br />

N210 G4 F0.1<br />

WHEN TRUE DO GET(Z)<br />

WHENEVER($AA_TYP[Z]1) DO RDISABLE<br />

N220 G4 F0.1<br />

WHEN TRUE DO RELEASE(Z)<br />

WHENEVER($AA_TYP[Z]==1) DO RDISABLE<br />

N230 G4 F0.1<br />

N250 WAITM(10, 1, 2)<br />

Kommentár<br />

; Z-tengelyt a 2. csatornába hozni<br />

; beolvasás-tiltás amíg a Z tengely<br />

a másik<br />

csatornában van<br />

; Z tengely NC programtengely lesz<br />

; beolvasás-tiltás amíg a Z tengely<br />

programtengely<br />

; Z tengely a 2. csatornában<br />

semleges tengely<br />

; beolvasás-tiltás amíg a Z tengely<br />

programtengely<br />

; csatorna 1-gyel szinkronizálni<br />

További programlefutás az 1. csatornában:<br />

Programkód<br />

N150 WAIM(10, 1, 2)<br />

WHEN TRUE DO GET(Z)<br />

WHENEVER($AA_TYP[Z]==0) DO RDISABLE<br />

N160 G4 F0.1<br />

N199 WAITE(2)<br />

N999 M30<br />

Kommentár<br />

; csatorna 2-vel szinkronizálni<br />

; Z-tengelyt ebbe a csatornába<br />

hozni<br />

; beolvasás-tiltás amíg a Z tengely<br />

a másik<br />

csatornában van<br />

; várakozás a csatorna 2 program<br />

végére<br />

Példa tengelycserére technológia-ciklusban<br />

Az U tengely ($MA_AUTO_GET_TYPE=2) ismert az 1.és 2. csatornában és aktuálisan a<br />

csatorna 1-nek van interpolációs joga hozzá. A csatorna 2-ben a következő technológiaciklus<br />

lesz elindítva:<br />

Programkód<br />

GET(U)<br />

POS[U]=100<br />

Kommentár<br />

; U-tengelyt a csatornába hozni<br />

; U tengely menjen a pozíció 100-ra<br />

hozni<br />

A parancs-tengely mozgatás POS[U] sora csak akkor lesz végrehajtva, ha az U tengely a<br />

csatorna 2-be lett hozva.<br />

Munka-előkészítés<br />

604 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Lefutás<br />

A GET(tengely) akció aktiválási időpontjában az igényelt tengely tengelytípusát<br />

tengelycseréhez a $AA_AXCHANGE_TYP[] rendszerváltozóval lehet olvasni:<br />

● 0: tengely az NC programhoz van hozzárendelve<br />

● 1: tengely a PLC-hez van hozzárendelve vagy parancs-tengelyként vagy ingatengelyként<br />

aktív<br />

● 2: egy másik csatornának van interpolációs joga<br />

● 3: a tengely semleges<br />

● 4: a semleges tengelyt a PLC vezérli<br />

● 5: egy másik csatornának van interpolációs joga, a tengely igényelve van az NC program<br />

számára<br />

● 6: egy másik csatornának van interpolációs joga, a tengely igényelve van semleges<br />

tengelynek<br />

● 7: PLC tengelyként vagy parancs-tengelyként vagy inga-tengelyként aktív, a tengely<br />

igényelve van az NC program számára<br />

● 8: PLC tengelyként vagy parancs-tengelyként vagy inga-tengelyként aktív, a tengely<br />

igényelve van semleges tengelyként<br />

Peremfeltételek<br />

Az érintett tengely gépadattal hozzá kell legyen rendelve a csatornához.<br />

Egy kizárólag PLC vezérelte tengelyt nem lehet az NC programhoz rendelni.<br />

Irodalom:<br />

/FB2/ Bővítő funkciók működési kézikönyv; Pozícionálótengelyek (P2)<br />

Tengely igénylése egy másik csatornából GET akcióval<br />

Ha a GET akció aktiválási időpontjában egy másik csatornának van írásjoga (interpolációs<br />

joga) a tengelyre ($AA_AXCHANGE_TYP[] == 2), akkor a tengely tengelycserével<br />

igényelve lesz ettől a csatornától ($AA_AXCHANGE_TYP[]==6) és mihelyt lehet<br />

hozzá lesz rendelve az igénylő csatornához.<br />

Ekkor semleges tengely állapotot vesz fel ($AA_AXCHANGE_TYP[]==3).<br />

A felszólított csatornában nem történik reorganizáció.<br />

Hozzárendelés NC program-tengelyként reorganizációval:<br />

Ha a tengely már a GET akció aktiválásának időpontjában semleges tengelykén lett igényelve<br />

($AA_AXCHANGE_TYP[]==6), akkor a tengely az NC program számára lesz<br />

igényelve ($AA_AXCHANGE_TYP[]==5) és mihelyt lehet hozzá lesz rendelve a<br />

csatorna NC programjához ($AA_AXCHANGE_TYP[]==0).<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 605


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Tengely már az igényelt csatornához hozzárendelve<br />

Hozzárendelés NC program-tengelyként reorganizációval:<br />

Ha az igényelt tengely az aktiválás időpontjában már hozzá van rendelve az igénylő<br />

csatornához, és semleges tengely állapotban van - nem a PLC által vezérelt -<br />

($AA_AXCHANGE_TYP[]==3), akkor az NC programhoz lesz hozzárendelve<br />

($AA_AXCHANGE_TYP[]==0).<br />

Semleges tengely állapotú tengely PLC álatal vezérelve<br />

Ha a semleges tengely állapotú tengely a PLC által van vezérelve<br />

($AA_AXCHANGE_TYP[]==4), akkor a tengely semleges tengelyként lesz<br />

igényelve ($AA_AXCHANGE_TYP[] == 8), ennél a tengely az MD 10722:<br />

AXCHANGE_MASK gépadat bit 0 állapotától függően tiltva lesz két csatorna közötti<br />

automatikus tengelycserére (bit 0 == 0). Ennek megfelel<br />

($AA_AXCHANGE_STAT[] == 1).<br />

Tengely semleges parancs-tengelyként ill. inga-tengelyként aktív vagy a PLC-hez van rendelve<br />

Ha a tengely semleges parancs-tengelyként ill. inga-tengelyként aktív vagy a PLC-hez van<br />

rendelve, PLC–tengely == konkuráló pozícionáló-tengely,<br />

($AA_AXCHANGE_TYP[]==1), akkor a tengely semleges tengelyként lesz<br />

igényelve ($AA_AXCHANGE_TYP[] == 8), ennél a tengely az MD 10722:<br />

AXCHANGE_MASK gépadat bit 0 állapotától függően tiltva lesz két csatorna közötti<br />

automatikus tengelycserére (bit 0 == 0). Ennek megfelel<br />

($AA_AXCHANGE_STAT[] == 1).<br />

Egy újbóli GET akció a tengelyt az NC program számára igényli<br />

($AA_AXCHANGE_TYP[] wird == 7).<br />

Tengely már az NC programhoz rendelve<br />

Ha a tengely már a csatorna NC programjához van rendelve<br />

($AA_AXCHANGE_TYP[]==0) vagy ez a hozzárendelés van igényelve, pl.<br />

tengelycsere az NC programból kiváltva ($AA_AXCHANGE_TYP[]==5 ill.<br />

$AA_AXCHANGE_TYP[] == 7), akkor nincs állapotváltozás.<br />

Munka-előkészítés<br />

606 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.16 Tengely előtolás (FA)<br />

Funkció<br />

A tengely előtolás a parancs-tengelyekre modálisan hatásos.<br />

Szintaxis<br />

FA[]=<br />

Példa<br />

Programkód<br />

Kommentár<br />

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=990<br />

; előtolás-érték fix megadása<br />

; előtolás-értéket főfutás változóból<br />

képezni<br />

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=$AA_VACTM[W]+100<br />

10.4.17 Szoftver-végállás<br />

Funkció<br />

A G25/G26-tal programozott munkatér határolás a $SA_WORKAREA_PLUS_ENABLE<br />

beállítási adattól függően lesz a parancs-tengelyekre figyelembe véve.<br />

A munkatér határolás be- és kikapcsolása a WALIMON/WALIMOF G-funkciókkal a<br />

munkadarab-programban nem hat a parancs-tengelyekre.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 607


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.18 Tengely koordináció<br />

Funkció<br />

Egy tengely tipikusan vagy a munkadarabprogramból vagy pozícionáló-tengelyként szinkronakcióból<br />

van mozgatva.<br />

Ha ugyanazt a tengelyt váltakozva a munkadarab-programból pályatengelyként vagy<br />

szinkron-akciókból pozícionáló-tengelyként akarjuk mozgatni, akkor koordinált átadás<br />

történik a két tengelymozgás között.<br />

Ha egy parancs-tengelyt később a munkadarabprogramból akarunk mozgatni, ez az<br />

előkészítés újraszervezését igényli. Ennek feltétele a munkadarabprogram feldolgozásának<br />

megszakítása, ami egy előrefutás-állj-hoz hasonló.<br />

Példa X-tengelynek választhatóan a munkadarabprogramból és szinkron-akciókból mozgatására<br />

Programkód<br />

Kommentár<br />

N10 G01 X100 Y200 F1000 ; X tengely a munkadarabprogramban programozva<br />

…<br />

N20 ID=1 WHEN $A_IN[1]==1 DO<br />

POS[X]=150 FA[X]=200<br />

; pozícionálást szinkron-akcióból indítani, ha a digitális<br />

bemenet = 1<br />

…<br />

CANCEL(1) ; szinkronakciót kikapcsolni<br />

…<br />

N100 G01 X240 Y200 F1000 ; Az X pályatengely lesz; a mozgás előtt várakozási idő van a<br />

tengely átadás miatt,<br />

ha a digitális bemenet 1 volt és az X szinkron-akcióból lett<br />

pozícionálva.<br />

Példa mozgás-utasítás megváltoztatására ugyanarra a tengelyre<br />

Programkód<br />

ID=1 EVERY $A_IN[1]>=1 DO POS[V]=100 FA[V]=560<br />

ID=2 EVERY $A_IN[2]>=1 DO POS[V]=$AA_IM[V] FA[V]=790<br />

Kommentár<br />

; pozícionálást szinkron-akcióból<br />

indítani, ha a digitális bemenet >= 1<br />

; tengely fut utána, a 2. bement<br />

beállítva, vagyis a végpozíció és az<br />

előtolás<br />

V tengelyre a két egyidőben aktív<br />

szinkron-akcióban folyamatosan<br />

a mozgás során utána lesz állítva<br />

Munka-előkészítés<br />

608 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.19 Valósérték beállítás (PRESETON)<br />

Funkció<br />

A PRESETON (tengely, érték) végrehajtásánál az aktuális tengely-pozíció nem változik,<br />

csak egy új érték lesz hozzárendelve<br />

A PRESETON szinkron-akciókból lehetséges:<br />

● modulo-körtengelyekre, amelyek a munkadarab-programból lettek indítva<br />

● minden parancs-tengelyre, a melyek szinkron-akciókból lettek indítva<br />

Szintaxis<br />

DO PRESETON(tengely, érték)<br />

Jelentés<br />

DO PRESETON<br />

tengely<br />

Érték<br />

valósérték beállítás szinkronakciókban<br />

tengely, amelynek vezérlés-nullapontját meg kell változtatni<br />

érték, amire a vezérlés-nullapontját meg kell változtatni<br />

Korlátozás tengelyekre<br />

A PRESETON nem lehetséges tengelyekre, amelyek transzformációban érintettek.<br />

Ugyanazt a tengelyt időben eltolva lehet egy munkadarabprogramból vagy egy szinkronakcióból<br />

mozgatni, ekkor egy tengely programozásánál a munkadarabprogramból<br />

várakozási idők léphetnek fel, ha ez a tengely előzőleg egy szinkron-akcióból volt<br />

programozva.<br />

Ha ugyanaz a tengely váltakozva van használva, akkor a két tengelymozgás között egy<br />

koordinált átadás történik. A munkadarab-program feldolgozását ehhez meg kell szakítani.<br />

Példa<br />

Egy tengely vezérlés-nullapontját eltolni<br />

Programkód<br />

WHEN $AA_IM[a] >= 89.5 DO PRESETON(a4,10.5)<br />

Kommentár<br />

; A tengely vezérlés-nullapontját<br />

10.5 hosszegységgel (hüv. ill.<br />

mm) pozitív<br />

tengelyirányba eltolni<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 609


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.20 Orsó-mozgások<br />

Funkció<br />

Az orsókat a munkadarabprogramhoz teljesen aszinkron módon szinkron-akciókból lehet<br />

pozícionálni. A programozásnak ez a módja ajánlatos ciklikus vagy erősen eseményvezérelt<br />

lefutások esetén.<br />

Ha egyidejűleg aktív szinkron-akciók egy orsónak konkuráló utasításokat adnak, az időben<br />

utolsó orsó utasítás érvényes.<br />

Példa orsó indítás/megállítás/pozícionálásra<br />

Programkód<br />

ID=1 EVERY $A_IN[1]==1 DO M3 S1000<br />

ID=2 EVERY $A_IN[2]==1 DO SPOS=270<br />

Kommentár<br />

; forgásirány és fordulatszám<br />

beállítás<br />

; Orsót pozícionálni<br />

Példa forgásirány, fordulatszám beállításra / orsó pozícionálásra<br />

Programkód<br />

ID=1 EVERY $A_IN[1]==1 DO M3 S300<br />

ID=2 EVERY $A_IN[2]==1 DO M4 S500<br />

ID=3 EVERY $A_IN[3]==1 DO S1000<br />

ID=4 EVERY ($A_IN[4]==1) AND ($A_IN[1]==0) DO<br />

SPOS=0<br />

Kommentár<br />

; forgásirány és fordulatszám<br />

beállítás<br />

; új forgásirány és új fordulatszám<br />

megadás<br />

; új fordulatszám megadás<br />

; Orsót pozícionálni<br />

Munka-előkészítés<br />

610 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.21 Vontatás (TRAILON, TRAILOF)<br />

Funkció<br />

A csatolás bekapcsolásánál a szinkron-akcióból a vezető tengely mozgásban lehet. A követő<br />

tengely ebben az esetben a parancs-sebességre gyorsul. A vezető tengely pozíciója a<br />

sebességek szinkronizációjának időpontjában az induló pozíciója a vontatásnak. A vontatás<br />

funkciók "Pályaviselkedés" fejezetben vannak leírva.<br />

Szintaxis<br />

vontatás bekapcsolása<br />

DO TRAILON(követő tengely, vezető tengely, csatolási tényező)<br />

vontatás kikapcsolása<br />

DO TRAILOF (követő tengely, vezető tengely, vezető tengely 2)<br />

Jelentés<br />

Aszinkron vontatás aktiválása:<br />

... DO TRAILON(FA, LA, Kf) ahol:<br />

FA: követő tengely<br />

LA: vezető tengely<br />

Kf: csatolási tényező:<br />

Aszinkron vontatás deaktiválása:<br />

... DO TRAILOF(FA, LA, LA2)<br />

ahol:<br />

FA: követő tengely<br />

LA: vezető tengely, opció<br />

... DO TRAILOF(FA) LA2: vezető tengely 2, opció<br />

Az összes csatolás a követő tengelyhez ki lesz kapcsolva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 611


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Példa<br />

Programkód<br />

Kommentár<br />

$A_IN[1]==0 DO TRAILON(Y,V,1) ; 1. vontatás egyesülés bekapcsolása, ha<br />

a digitális bemenet 1<br />

$A_IN[2]==0 DO TRAILON(Z,W,-1) ; 2. vontatási egyesülés bekapcsolása<br />

G0 Z10 ; fogásvétel a Z és W tengelyeken ellentétes<br />

tengelyirányban<br />

G0 Y20 ; fogásvétel az Y és V tengelyeken azonos<br />

tengelyirányban<br />

...<br />

G1 Y22 V25 ; egy függő és egy független mozgás<br />

összeadódása a "V" vontatott tengelyen<br />

...<br />

TRAILOF(Y,V) ; 1. vontatási egyesülés kikapcsolása<br />

TRAILOF(Z,W) ; 2. vontatási egyesülés kikapcsolása<br />

Példa konfliktus elkerülésére TRAILOF-fal<br />

Egy csatolt tengelynek a csatornatengelyként való kezelésének ismételt engedélyezéséhez<br />

előbb fel kell hívni a TRAILOF funkciót. Biztosítani kell, hogy a TRAILOF előbb legyen<br />

végrehajtva, mielőtt a csatorna az érintett tengelyt igényli. Ez a következő példában nem így<br />

van<br />

…<br />

N50 WHEN TRUE DO TRAILOF(Y,X)<br />

N60 Y100<br />

…<br />

Ebben az esetben a tengely nem lesz időben engedélyezve, mert a mondatonként hatásos<br />

szinkronakció TRAILOF -fal szinkron az N60 -nal aktív lesz, lásd a Mozgás-szinkron akció,<br />

Szerkezet, általános alapok fejezetben.<br />

A konfliktus elkerülése érdekében a<br />

következő módon kellene eljárni:<br />

…<br />

N50 WHEN TRUE DO TRAILOF(Y,X)<br />

N55 WAITP(Y)<br />

N60 Y100<br />

Munka-előkészítés<br />

612 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.22 Vezetőérték csatolás (LEADON, LEADOF)<br />

Megjegyzés<br />

Ez a funkció a SINUMERIK 828D-nél nem áll rendelkezésre<br />

Funkció<br />

A tengely vezetőérték csatolás korlátozás nélkül programozható a szinkron-akciókban. Egy<br />

görbe-táblázat változtatása fennálló csatolásnál egy megelőző újra-szinkronizálás nélkül<br />

opcionálisan csak szinkron-akciókban lehetséges.<br />

Szintaxis<br />

vezető érték csatolás bekapcsolása<br />

DO LEADON(követő tengely,vezető tengely, görbetáblázat sz., OVW)<br />

vezető érték csatolás kikapcsolása<br />

DO LEADOF(követő tengely, vezető tengely, vezető tengely 2)<br />

Jelentés<br />

Tengely vezető érték csatolás bekapcsolása:<br />

...DO LEADON(FA, LA, NR,<br />

OVW)<br />

Tengely vezető érték csatolás kikapcsolása:<br />

...DO LEADOF(FA, LA)<br />

... DO LEADOF(FA)<br />

ahol:<br />

FA: követő tengely<br />

LA: vezető tengely<br />

sz: tárolt görbetáblázat száma<br />

OVW: egy fennálló csatolás felülírásának engedélyezése<br />

megváltoztatott görbetáblázattal<br />

FA: követő tengely<br />

LA: vezető tengely, opció<br />

rövidített forma a vezető tengely megadása nélkül<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 613


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Hozzáférés engedélyezése szinkron-akcióval RELEASE<br />

Egy csatolandó tengelynek a szinkron-akciók számára szabadra kapcsolásához előbb a<br />

RELEASE funkciót fel kell hívni a csatolandó követő tengelyre.<br />

Példa:<br />

RELEASE(XKAN)<br />

ID=1 every SR1==1 to LEADON(CACH,XKAN,1)<br />

OVW=0 (alapérték)<br />

Egy fennálló csatoláshoz újra-szinkronizálás nélkül nem lehet új görbe-táblázatot megadni.<br />

A görbe-táblázat változtatása igényli előbb a fennálló csatolás kikapcsolását és egy újbóli<br />

bekapcsolást a megváltoztatott görbe-táblázat számmal. Ez a csatolás újra-szinkronizálást<br />

eredményezi.<br />

A görbe-táblázat megváltoztatása fennálló csatolásnál OVW=1-gyel<br />

Az OVW=1 -gyel egy fennálló csatolásnak meg lehet adni egy új görbe-táblázatot. Nem<br />

történik újra-szinkronizáció. A követő tengely a lehető leggyorsabban megpróbálja az új<br />

görbe-táblázatban megadott pozíció-értékeket követni.<br />

Példa repülő darabolásra<br />

Egy rúdanyagot, amely folyamatosan mozog egy daraboló-berendezés<br />

munkatartományában, azonos hosszúságú darabokra kell vágni.<br />

X tengely: rúdanyag mozgási tengely MKR<br />

X1 tengely: rúdanyag géptengely, GKR<br />

Y tengely: tengely, amelyben a daraboló-berendezés a rúdanyaggal "együtt mozog"<br />

Feltételezzük, hogy a daraboló-szerszám fogásvételét a PLC vezérli. A rúdanyag és a<br />

daraboló-szerszám szinkronitásának megállapítására a PLC interfész jeleit lehet kiértékelni.<br />

Akciók<br />

csatolás bekapcsolás, LEADON<br />

csatolás kikapcsolás, LEADOF<br />

valósérték beállítás, PRESETON<br />

Munka-előkészítés<br />

614 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Programkód<br />

N100 R3=1500<br />

N200 R2=100000 R13=R2/300<br />

N300 R4=100000<br />

N400 R6=30<br />

N500 R1=1<br />

N600 LEADOF(Y,X)<br />

N700 CTABDEF(Y,X,1,0)<br />

N800 X=30 Y=30<br />

N900 X=R13 Y=R13<br />

N1000 X=2*R13 Y=30<br />

N1100 CTABEND<br />

N1200 PRESETON(X1,0)<br />

N1300 Y=R6 G0<br />

N1400 ID=1 WHENEVER $AA_IW[X]>$R3 DO PESETON(X1,0)<br />

N1500 RELEASE(Y)<br />

N1800 ID=6 EVERY $AA_IM[X]$R3-30 DO EADOF(Y,X)<br />

N2000 WAITP(X)<br />

N2100 ID=7 WHEN $R1==1 DO MOV[X]=1 FA[X]=$R4<br />

N2200 M30<br />

Kommentár<br />

; egy levágandó darab hossza<br />

; Y tengely induló pozíció<br />

; szalagtengely indítófeltételek<br />

; egy esetleg fennálló csatolás<br />

oldása<br />

; táblázat definíció<br />

; érték párok<br />

; táblázat definíció vége<br />

; PRESET a kezdéshez<br />

; Y tengely kezdőpozíció,<br />

tengely lineáris<br />

; PRESET R3 hossz után, újra<br />

kezdés a levágás után<br />

; Y-t a táblázat 1 szerint X-hez<br />

csatolni X < 10 esetén<br />

; > 30-cal a darabolási hossz<br />

előtt csatolást bontani<br />

; rúdtengelyt állandóan mozgatni<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 615


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.23 Mérés (MEAWA, MEAC)<br />

Funkció<br />

A munkadarab-programok mozgás-mondataiban való alkalmazással összehasonlítva a<br />

mérésfunkciót a szinkron-akciókból tetszőlegesen lehet be- és kikapcsolni.<br />

További információk a méréshez: Speciális út-utasítások, "Bővített mérésfunkciók"<br />

Szintaxis<br />

tengely mérés maradékút törlés nélkül<br />

MEAWA[tengely]=(módus, mérés-tároló, trigger-esemény_1, ..._4)<br />

folyamatos mérés maradékút törlés nélkül<br />

MEAC[tengely]=(módus, mérés-tároló, trigger-esemény_1, ..._4))<br />

Jelentés<br />

Programkód<br />

DO MEAWA<br />

DO MEAC<br />

tengely<br />

Kommentár<br />

; tengely mérés bekapcsolása<br />

; folyamatos mérés bekapcsolása<br />

; tengely neve, amelyiknek<br />

mérve lesz<br />

modus ; tízeshelyiérték<br />

0: aktív mérőrendszer<br />

mérőrendszerek száma (módus<br />

szerint)<br />

1: 1. mérőrendszer<br />

2: 2. mérőrendszer<br />

3: mindkét mérőrendszer<br />

triggeresemény_1<br />

... _4<br />

mérés tároló<br />

; : mérőtapintó 1 felfutó él<br />

-1: mérőtapintó 1 felfutó él<br />

opcionális<br />

2: mérőtapintó 2 felfutó él<br />

opcionális<br />

-2: mérőtapintó 2 lefutó él<br />

opcionális<br />

; FIFO gyűrűstároló száma<br />

egyeshelyiérték<br />

0: mérési feladatot<br />

megszakítani<br />

max. 4 egymásután aktiválható<br />

trigger-esemény<br />

1: egyidőben<br />

2: egymásután<br />

3: mint 2, de nincs triggeresemény<br />

1 felügyelet indításnál<br />

Munka-előkészítés<br />

616 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.24 Mező-változók inicializálása (SET, REP)<br />

Funkció<br />

A szinkron-akciókban lehet mező-változókat inicializálni vagy megadott értékekkel feltölteni.<br />

Megjegyzés<br />

Csak olyan változók megengedettek, amelyek szinkron-akciókban írhatók. A gépadatokat<br />

ezzel nem lehet inicializálni. A tengely-változókat nem lehet a NO_AXIS értékkel megadni.<br />

Szintaxis<br />

DO FELD[n,m]=SET(érték1, érték2, ...)<br />

DO FELD[n,m]=REP(érték)<br />

Jelentés<br />

FELD[n,m]<br />

SET(,,...):<br />

REP()<br />

Programozott mezőindexek<br />

Az érték-hozzárendelés a programozott mezőindexnél<br />

kezdődik. A 2-dimenziós mezőknél először a 2. index<br />

lesz növelve. A tengely-indexnél ez nem fog lefutni.<br />

inicializálás értéklistával<br />

A mező a programozott mezőindextől kezdve a SET<br />

paramétereivel lesz feltöltve. Annyi mezőelem lesz<br />

hozzárendelve, ahány érték programozva van. Ha több<br />

érték lesz programozva, mint ahány mezőelem még van,<br />

akkor egy rendszer vészjelzés lesz kiadva.<br />

inicializálás azonos értékekkel<br />

A mező a programozott mezőindextől kezdve a mező<br />

végéig REPparamétereivel ( lesz feltöltve..<br />

Példa<br />

Programkód<br />

Kommentár<br />

WHEN TRUE DO SYG_IS[0]=REP(0) ; eredmény:<br />

WHEN TRUE DO SYG_IS[1]=SET(3,4,5) ; SYG_IS[0]=0<br />

SYG_IS[1]=3<br />

SYG_IS[2]=4<br />

SYG_IS[3]=5<br />

SYG_IS[4]=0<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 617


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.25 Várakozás jelölőt beállítani/törölni (SETM, CLEARM)<br />

Funkció<br />

A szinkron-akciókban lehet várakozás jelölőket beállítani ill. törölni, pl. a csatornák<br />

koordinálásához.<br />

Szintaxis<br />

DO SETM()<br />

DO CLEARM()<br />

Jelentés<br />

SETM<br />

CLEARM<br />

<br />

utasítás várakozás jelölő beállítására a csatornának<br />

A SETM utasítást a munkadarabprogramban és egy szinkronakció<br />

akciórészébe lehet írni. Beállítja a jelölőt ()<br />

a csatornában, amelyikben az utasítás fut.<br />

utasítás várakozás jelölő törlésére a csatornának<br />

A CLEARM utasítást a munkadarabprogramban és egy szinkronakció<br />

akciórészébe lehet írni. Törli a jelölőt () a<br />

csatornában, amelyikben az utasítás fut.<br />

várakozás jelölő<br />

Munka-előkészítés<br />

618 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.26 Hiba-reakciók (SETAL)<br />

Funkció<br />

A szinkron-akciókkal lehet hiba-reakciókat programozni Ennél az állapotváltozók<br />

lekérdezése és a megfelelő akciók kiváltása történik.<br />

A lehetséges reakciók a hiba-állapotokra:<br />

● tengely megállítás (override=0)<br />

● vészjelzés beállítás<br />

A SETAL-lal lehet ciklus-vészjelzéseket a szinkron-akciókból beállítani<br />

● kimenet beállítása<br />

● az összes szinkron-akciókban lehetséges akció<br />

Szintaxis<br />

Ciklus-vészjelzések beállítása:<br />

DO SETAL(vészjelzés-szám)<br />

Jelentés<br />

SETAL<br />

<br />

utasítás egy ciklus-vészjelzés beállítására<br />

vészjelzés száma<br />

Ciklus-vészjelzés tartomány a felhasználó<br />

számára:<br />

65000 ... 69999<br />

Példa<br />

Programkód<br />

ID=67 WHENEVER ($AA_IM[X1]-$AA_IM[X2])


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.27 Fix-ütközőre menet (FXS, FXST, FXSW, FOCON, FOCOF)<br />

Funkció<br />

A "Fix-ütközőre menet" funkció utasításai a szinkron-akciókban/technológia-ciklusokban az<br />

FXS, FXST ésFXSW programutastásokkal programozhatók.<br />

Az aktiválás mozgás nélkül történhet, a nyomaték azonnal határolva lesz. Amikor a tengely<br />

parancsértékkel mozgatva lesz, ütközésre felügyelve lesz.<br />

Mozgás korlátolt nyomatékkal/erővel (FOC)<br />

Ez a funkció lehetővé teszi bármikor a nyomaték/erő változtatását szinkron-akcióval és<br />

aktiválható modálisan vagy mondatra vonatkoztatva.<br />

Szintaxis<br />

FXS[]<br />

FXST[]<br />

FXSW[]<br />

FOCON[[tengely]<br />

FOCOF[[tengely]<br />

Jelentés<br />

FXS<br />

FXST<br />

FXSW<br />

FOCON<br />

FOCOF<br />

<br />

csak digitális hajtású rendszerekben választható (VSA, HSA,<br />

HLA)<br />

FXST rögzítő-nyomaték változtatása<br />

FXSW felügyeleti ablak változtatása<br />

modálisan hatásos nyomaték/erő-határolás aktiválása<br />

nyomaték/erő-határolás kikapcsolása<br />

Tengely-jelölők<br />

Megengedett:<br />

geometria-tengely jelölők<br />

csatorna-tengely jelölők<br />

gép-tengely jelölők<br />

Megjegyzés<br />

Egy kiválasztás csak egyszer történhet.<br />

Munka-előkészítés<br />

620 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

Példák<br />

Példa 1: Példa fix-ütközőre menetre (FXS), egy szinkron-akció által kiváltva<br />

Programkód<br />

Kommentár<br />

Y tengely<br />

; statikus szinkron-akciók<br />

aktiválni:<br />

N10 IDS=1 WHENEVER (($R1==1) AND $AA_FXS[y]==0)) D $R1=0 FXS[Y]=1 FXST[Y]=10 FA[Y]=200 POS[Y]=150<br />

; Az $R1=1 beállításával az Y-tengelyre<br />

FXS aktiválva lesz, a hatásos nyomaték<br />

10%-ra csökkentve és egy mozgás az<br />

ütköző irányába elindítva<br />

N11 IDS=2 WHENEVER ($AA_FXS[Y]==4) DO FXST[Y]=30<br />

; Az ütköző felismerésekor ($AA_FXS[Y]==4)<br />

a nyomaték 30%-ra lesz beállítva.<br />

N12 IDS=3 WHENEVER ($AA_FXS[Y]==1) DO FXST[Y]=$R0 ; Az ütköző elérése után a nyomaték az R0-<br />

tól függően lesz vezérelve.<br />

N13 IDS=4 WHENEVER (($R3==1) AND $AA_FXS[Y]==1)) DO FXS[Y]=0 FA[Y]=1000 POS[Y]=0<br />

; Kikapcsolás R3-tól függően és<br />

visszamenet.<br />

N20 FXS[Y]=0 G0 G90 X0 Y0<br />

; Normális program-lefutás:<br />

N30 RELEASE(Y)<br />

; Y tengely engedélyezése a szinkronakcióban<br />

mozgáshoz<br />

N40 G1 F1000 X100<br />

; egy másik tengely mozgása<br />

N50 ...<br />

N60 GET(Y)<br />

; Y tengelyt a pálya-egyesülésbe ismét<br />

felvenni<br />

Példa 2: Nyomaték/erő-határolás aktiválása (FOC)<br />

Programkód<br />

N10 FOCON[X]<br />

N20 X100 Y200 FXST[X]=15<br />

N30 FXST[X]=75 X20<br />

N40 FOCOF[X]<br />

Kommentár<br />

; határolás modális aktiválása<br />

; X csökkenetett nyomatékkal (15%) mozog<br />

; nyomaték változtatása 75%-ra, X ezzel a<br />

korlátozott nyomatékkal mozog<br />

; nyomatékhatárolás lekapcsolása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 621


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

További információk<br />

Többszörös kiválasztás<br />

Ha a funkció egy hibás programozás miatt az (FXS[]=1) aktiválás után még egyszer<br />

fel lesz hívva, a következő vészjelzés lesz kiadva:<br />

vészjelzés 20092 "Mozgás fix-ütközőre még aktív"<br />

A funkció többszörös aktiválása elkerülhető a feltételben az $AA_FXS[] vagy egy külön jelölő<br />

(itt R1) lekérdezésének programozásával..<br />

Programkód<br />

N10 R1=0<br />

N20 IDS=1 WHENEVER ($R1==0 AND<br />

$AA_IW[AX3] > 7) DO R1=1 FXST[AX1]=12<br />

Mondatra vonatkoztatott szinkron-akciók<br />

Egy mondatra vonatkoztatott szinkron-akció programozásával egy rámeneti mozgás közben<br />

bekapcsolható a fix-ütközőre menet.<br />

Példa:<br />

Programkód<br />

Kommentár<br />

N10 G0 G90 X0 Y0<br />

N20 WHEN $AA_IW[X] > 17 DO FXS[X]=1 ; ha X 17mm-nél nagyobb pozíciót<br />

elér, FXS aktiválva lesz<br />

N30 G1 F200 X100 Y110<br />

Statikus és mondatra vonatkoztatott szinkron-akciók<br />

A statikus és mondatra vonatkoztatott szinkron-akciókban használhatók az FXS, FXST és FXSW<br />

utasítások, akár a normális munkadarabprogram lefutásban. A hozzárendelendő értékek<br />

létrejöhetnek számítások eredményeiként.<br />

Munka-előkészítés<br />

622 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.28 A pályaérintő szögének meghatározása szinkron-akciókban<br />

Funkció<br />

A szinkron-akciókban olvasható $AC_TANEB (Tangent ANgle at End of Block)<br />

rendszerváltozó megállapítja az aktuális mondat végpontjának pályaérintője és a<br />

programozott követő mondat végpontjának pályaérintője között.<br />

Paraméter<br />

Az érintő szöge mindig pozitív, 0.0 ...180.0 fok közötti értékként lesz kiadva. Ha nincs követő<br />

mondat a főfutamban, akkor -180.0 fok lesz kiadva.<br />

A $AC_TANEB rendszerváltozót nem szabad olvasni a rendszer által létrehozott mondatoknál<br />

(közbenső mondatok). Annak megállapítására, hogy egy programozott mondatról (főmondat)<br />

van-e szó, a $AC_BLOCKTYPE rendszerváltozó szolgál.<br />

Példa<br />

ID=2 EVERY $AC_BLOCKTYPE==0 DO $SR1 = $AC_TANEB<br />

10.4.29 Az aktuális override meghatározása<br />

Funkció<br />

Az aktuális override<br />

(NC-rész) a<br />

$AA_OVR tengely override<br />

$AC_OVR pálya override<br />

rendszerváltozókkal olvasható és írható szinkron-akciókban.<br />

A PLC által megadott override a szinkron-akciók számára:<br />

$AA_PLC_OVR tengely override<br />

$AC_PLC_OVR pálya override<br />

rendszerváltozókban olvasásra rendelkezésre áll.<br />

Az eredő override<br />

a szinkron-akciók számára:<br />

$AA_TOTAL_OVR tengely override<br />

$AC_TOTAL_OVR pálya override<br />

rendszerváltozókban olvasásra rendelkezésre áll.<br />

Az eredő override kiszámítása:<br />

$AA_OVR * $AA_PLC_OVR ill.<br />

$AC_OVR * $AC_PLC_OVR<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 623


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

10.4.30 Terhelés-kiértékelés a szinkron-akciók időigényével<br />

Funkció<br />

Egy interpolációs ütemben értelmezni kell szinkron-akciókat és ki kell számítani NC<br />

mozgásokat is stb. A szinkron-akciók a következő rendszerváltozókkal tudnak informálódni a<br />

szinkron-akciók aktuális idő-részesedéséről az interpolációs ütemben és a helyzetszabályzó<br />

számítási idejéről.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Jelentés<br />

A változók értéke csak akkor érvényes, ha a $MN_IPO_MAX_LOAD gépadat nagyobb 0-nál.<br />

Egyébként a változók a a SINUMERIK powerline és solution line rendszerek esetében is<br />

mindig a nettó számítási időt adják meg, amiben a HMI által okozott megszakítások<br />

nincsenek figyelembe véve. A nettó számítási idő a következőkből adódik:<br />

● szinkron-akció idő,<br />

● helyzetszabályzó idő és<br />

● maradék IPO számítási idő a HMI megszakítások nélkül<br />

Munka-előkészítés<br />

624 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.4 Akciók a szinkron-akciókban<br />

A rendszerváltozók mindig a következő IPO-ütem értékeit tartalmazzák<br />

$AN_IPO_ACT_LOAD<br />

aktuális IPO számítási idő (beleértve az összes csatorna szinkronakcióit)<br />

$AN_IPO_MAX_LOAD<br />

leghosszabb IPO számítási idő (beleértve az összes csatorna<br />

szinkron-akcióit)<br />

$AN_IPO_MIN_LOAD<br />

legrövidebb IPO számítási idő (beleértve az összes csatorna<br />

szinkron-akcióit)<br />

$AN_IPO_LOAD_PERCENT<br />

aktuális IPO számítási-idő az IPO-ütemhez viszonyítva (%)<br />

$AN_SYNC_ACT_LOAD<br />

aktuális számítási-idő szinkron-akciókra az összes csatornára<br />

$AN_SYNC_MAX_LOAD<br />

leghosszabb számítási-idő szinkron-akciókra az összes csatornára<br />

$AN_SYNC_TO_IPO<br />

összes szinkron-akció százalékos aránya a teljes IPO számítási<br />

időben (összes csatornára)<br />

$AC_SYNC_ACT_LOAD<br />

$AC_SYNC_MAX_LOAD<br />

$AC_SYNC_AVERAGE_LOAD<br />

aktuális számítási idő a csatorna szinkron-akciókra<br />

leghosszabb számítási idő a csatorna szinkron-akcióra<br />

átlagos számítási idő a csatorna szinkron-akciókra<br />

$AN_SERVO_ACT_LOAD<br />

$AN_SERVO_MAX_LOAD<br />

$AN_SERVO_MIN_LOAD<br />

helyzetszabályzó aktuális számítási idő<br />

helyzetszabályzó leghosszabb számítási idő<br />

helyzetszabályzó legrövidebb számítási idő<br />

A túlterhelés tájékoztatás változói:<br />

Az $MN_IPO_MAX_LOAD gépadatban kell beállítani, hogy mennyi<br />

IPO nettó számítási időtől (az IPO-ütem %-ában) lesz az<br />

$AN_IPO_LOAD_LIMIT rendszerváltozó TRUE. Ha az aktuális terhelés ismét e határ alá<br />

csökken, akkor a változó ismét FALSE lesz. Ha a gépadat 0, akkor a teljes diagnózis-funkció<br />

deaktiválva van.<br />

Az $AN_IPO_LOAD_LIMIT kiértékelésével a felhasználó felállíthat egy saját stratégiát a túlfutás<br />

elkerülésére.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 625


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

10.5 Technológiai ciklusok<br />

Funkció<br />

A szinkron-akciókban akcióként programok is felhívhatók, amelyek azonban csak olyan<br />

funkciókat tartalmazhatnak, amelyek a szinkron-akciókban is megengedettek akcióként. Az<br />

így felépített programokat technológiai ciklusoknak nevezik.<br />

A technológiai ciklusok a vezérlésben alprogramokként vannak tárolva.<br />

Egy csatornában pár<strong>hu</strong>zamosan több technológiai ciklust vagy akciót lehet feldolgozni.<br />

Programozás<br />

A technológiai ciklusok programozására a következő szabályok érvényesek:<br />

● A program vége M02/M17/M30/RET-tel van programozva.<br />

● Egy programszinten belül az összes ICYCOF-ban megadott akció várakozási ciklus nélkül<br />

egy ütemben lesz feldolgozva.<br />

● Szinkron-akciónként max. 8 technológiai ciklust lehet egymás után lekérdezni.<br />

● A technológiai ciklusok a mondatonkénti szinkron-akciókban is lehetségesek.<br />

● Lehet IF vezérlő-szerkezeteket és GOTO, GOTOF és GOTOB ugrásutasításokat is programozni.<br />

● Mondatok DEF és DEFINE utasításokkal a technológiai ciklusokban:<br />

– DEF és DEFINE utasítások a technológiai ciklusokban ki lesznek hagyva<br />

– nem megfelelő vagy nem teljes szintaxis esetén továbbra is vészjelzést okoznak<br />

– létrehozás és vészjelzés nélkül kihagyhatók<br />

– érték-hozzárendelésekkel munkadarabprogram-ciklusként teljesen figyelembe lesznek<br />

véve<br />

Paraméter-átadás<br />

A paraméter átadás a technológiai ciklusoknak lehetséges. Figyelembe lesznek véve az<br />

egyszerű adattípusok, amelyek "Call by Value" formális paraméterként lesznek átadva, és<br />

alapbeállítások, amelyek a technológiai ciklusok felhívásánál lesznek hatásosak. Ezek a<br />

következők:<br />

● programozott alapértékek, ha nincs átadási paraméter programozva<br />

● alap paramétereket kezdeti értékekkel ellátni<br />

● nem inicializált aktuális paramétereket alapértékkel átadni.<br />

Munka-előkészítés<br />

626 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

Lefutás<br />

A technológiai ciklusok akkor indulnak, amikor a feltételeik teljesülnek. Egy technológiai<br />

ciklus minden sora egy külön IPO-ütemben lesz feldolgozva. A pozícionáló-tengelyeknél a<br />

végrehajtáshoz több IPO-ütem szükséges. Más funkciók végrehajtása egy ütemet igényel. A<br />

technológia ciklusban a mondatok feldolgozása sorrendi.<br />

Ha ugyanabban az interpolációs ütemben egymást kölcsönösen kizáró akciók vannak<br />

felhívva, akkor az az akció lesz elindítva, amelyik a szinkron-akció a magasabb ID-számmal<br />

hív fel.<br />

Példák<br />

Példa 1: A digitális bemenetekkel tengely-programok lesznek indítva<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Főprogram:<br />

Programkód<br />

Kommentár<br />

ID=1 EVERY $A_IN[1]==1 DO ACHSE_X ; ha bemenet 1 állapota 1 lesz, induljon az ACHSE_X<br />

tengely-program<br />

ID=2 EVERY $A_IN[2]==1 DO ACHSE_Y ; ha bemenet 2 állapota 1 lesz, induljon az ACHSE_Y<br />

tengely-program<br />

ID=3 EVERY $A_IN[3]==1 DO ACHSE_Z ; ha bemenet 3 állapota 1 lesz, induljon az ACHSE_Z<br />

tengely-program<br />

M30<br />

ACHSE_X tengely-program:<br />

Programkód<br />

M100<br />

POS[X]=100 FA[X]=300<br />

M17<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 627


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

ACHSE_Y tengely-program:<br />

Programkód<br />

POS[Y]=10 FA[Y]=200<br />

POS[Y]=-10<br />

M17<br />

ACHSE_Z tengely-program:<br />

Programkód<br />

POS[Z]=90 FA[Z]=250<br />

POS[Z]=-90<br />

M17<br />

Példa 2: Különböző program-sorrendek technológiai ciklusokban<br />

Programkód<br />

PROC CYCLE<br />

N10 DEF REAL WERT=12.3<br />

N15 DEFINE ABC AS G01<br />

Mindkét mondat vészjelzés és a változó ill. makró létrehozása nélkül ki lesznek hagyva<br />

Programkód<br />

PROC CYCLE<br />

N10 DEF REAL<br />

N15 DEFINE ABC G01<br />

Mindkét mondat NC vészjelzést okoz, mert a szintaxis nem helyes.<br />

Programkód<br />

PROC CYCLE<br />

N10 DEF AXIS ACHSE1=XX2<br />

Ha az XX2 tengely nem ismert, a 12080 vészjelzés lesz kiadva. Egyébként a mondat<br />

vészjelzés és a változó létrehozása nélkül ki lesz hagyva.<br />

Programkód<br />

PROC CYCLE<br />

N10 DEF AXIS ACHSE1<br />

N15 G01 X100 F1000<br />

N20 DEF REAL WERT1<br />

Az N20 mondat mindig 14500 vészjelzést okoz, mert a definíciós utasítás az első programsor<br />

után nem megengedett.<br />

Munka-előkészítés<br />

628 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

10.5.1 Kontextus-változó ($P_TECCYCLE)<br />

Funkció<br />

A $P_TECCYCLE változó segítségével a programokat fel lehet osztani szinkron-akció<br />

programokra és előrefutás-programokra. Ezzel lehetséges szintaktikailag helyesen megírt<br />

mondatokat vagy program-sorrendeket alternatívaként munkadarabprogram-ciklusként is<br />

végrehajtani.<br />

Kontextus-változó értelmezése<br />

A $P_TECCYCLE változó lehetővé teszi a technológiai ciklusokban a programrészek<br />

kontextus-specifikus értelmezésének vezérlését<br />

IF $P_TECCYCLE==TRUE<br />

... ; program-sorrend technológiai ciklushoz szinkronakcióban<br />

ELSE<br />

... ; program-sorrend munkadarabprogram ciklushoz<br />

ENDIF<br />

Megjegyzés<br />

Egy mondat hibás vagy nem megengedett program-szintaxissal és nem ismert értékhozzárendelésekkel<br />

a munkadarabprogram-ciklusban is vészjelzést okoz.<br />

Példa<br />

Program-sorrend $P_TECCYCLE lekérdezésével a technológiai ciklusban<br />

Programkód<br />

Kommentár<br />

PROC CYCLE<br />

N10 DEF REAL WERT1<br />

; a technológiai ciklusban ki lesz hagyva<br />

N15 G01 X100 F1000<br />

N20 IF $P_TECCYCLE==TRUE<br />

... ; program-sorrend technológiai ciklushoz (WERT1 változó nélkül)<br />

N30 ELSE<br />

... ; program-sorrend technológiai ciklushoz (WERT1 változó van)<br />

N40 ENDIF<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 629


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

10.5.2 Call-By-Value paraméter<br />

Funkció<br />

A technológiai ciklusokat lehet Call-by-Value paraméterrel definiálni. Paraméterként az INT,<br />

REAL, CHAR, STRING, AXIS és BOOL egyszerű adattípusok lehetségesek.<br />

Megjegyzés<br />

A Call-by-Value-val átadásra kerülő formális paraméterek nem lehetnek mezők.<br />

Az aktuális paraméterek állhatnak alapbeállítás paraméterekből is, lásd "Alapbeállítás<br />

paraméter inicializálása (Oldal 630)").<br />

Szintaxis<br />

ID=1 WHEN $AA_IW[X]>50 DO TEC(IVAL,RVAL,,SVAL,AVAL)<br />

Nem inicializált aktuális paramétereknél egy alapbeállítás-érték lesz átadva.<br />

ID=1 WHEN $AA_IW[X]>50 DO TEC(IVAL,RVAL,,SYG_SS[0],AVAL)<br />

10.5.3 Alapbeállítás paraméter inicializálása<br />

Funkció<br />

Az alapbeállítás paramétereket a PROC utasításban el lehet látni egy inicializálási értékkel is.<br />

Szintaxis<br />

Technológiai ciklusban alapbeállítás paramétert hozzárendelni:<br />

PROC TEC (INT IVAL=1, REAL RVAL=1.0, CHAR CVAL='A', STRING[10] SVAL="ABC", AXIS<br />

AVAL=X, BOOL BVAL=TRUE)<br />

Ha egy aktuális paraméter egy alapbeállítás paraméterből áll, átadásra kerül az inicializálási<br />

érték a PROC utasításból. Ez a munkadarabprogramban és a szinkron-akciókban is<br />

érvényes.<br />

Példa<br />

Programkód<br />

Kommentár<br />

TEC (IVAL, RVAL, SVAL, AVAL) ; CVAL és BVAL esetén az inicializálási érték<br />

érvényes<br />

Munka-előkészítés<br />

630 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

10.5.4 Technológiai ciklusok feldolgozásának vezérlése (ICYCOF, ICYCON)<br />

Funkció<br />

A technológiai ciklusok időbeli feldolgozásának vezérlésére a ICYCOF és ICYCON<br />

utasítások szolgálnak.<br />

Az ICYCOF-fal egy technológiai ciklus összes mondata egy interpolációs ütemben lesz<br />

feldolgozva. Minden akció, amelyek végrehajtása több ütemet igényel, a ICYCOF-nál<br />

pár<strong>hu</strong>zamos feldolgozási folyamatokhoz vezet.<br />

Alkalmazás<br />

Az ICYCON-nál parancs-tengely mozgások okozhatják egy technológiai ciklus<br />

feldolgozásának késleltetését. Ha ez nem kívánatos, akkor ICYCOF-fal az összes akció<br />

várakozási idő nélkül egy interpolációs ütemben feldolgozható.<br />

Szintaxis<br />

A technológiai ciklusok ciklikus feldolgozására érvényes:<br />

ICYCON az ICYCON után egy technológiai ciklus minden mondata egy külön IPO-ütemben<br />

lesz feldolgozva<br />

ICYCOF az ICYCOF után egy technológiai ciklus minden mondata egy IPO-ütemben lesz<br />

feldolgozva<br />

Megjegyzés<br />

Az ICYCON és ICYCOF utasítások csak egy programszinten belül hatnak.<br />

A munkadarabprogramban mindkét utasítás reakció nélkül egyszerűen ki lesz hagyva.<br />

Példa ICYCOF feldolgozási módusra<br />

Programkód<br />

Kommentár<br />

IPO-ütem ; PROC TECHNOCYC<br />

1. ; $R1=1<br />

2.25 ; POS[X]=100<br />

26. ; ICYCOF<br />

26. ; $R1=2<br />

26. ; $R2=$R1+1<br />

26. ; POS[X]=110<br />

26. ; $R3=3<br />

26. ; RET<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 631


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

10.5.5 Technológiai ciklusok sorba kapcsolása<br />

Funkció<br />

Max. 8 technológiai ciklust lehet sorba kapcsolva feldolgozni. Ezzel egy szinkron-akcióban<br />

több technológiai ciklus programozható.<br />

Szintaxis<br />

ID=1 WHEN $AA_IW[X]>50 DO TEC1($R1) TEC2 TEC3(X)<br />

Feldolgozási sorrend<br />

A technológiai ciklusok sorban egymás után (kaszkád) balról jobbra a fent megadott<br />

programozásnak megfelelően lesznek feldolgozva. Ha egy ciklust a ICYCON módusban kell<br />

feldolgozni, akkor ez az összes következő feldolgozást késlelteti. Egy fellépő vészjelzés az<br />

összes következő akciót megszakítja.<br />

10.5.6 Technológiai ciklusok mondatonkénti szinkron-akciókban<br />

Funkció<br />

A technológiai ciklusok a mondatonkénti szinkron-akciókban is lehetségesek.<br />

Ha egy technológiai ciklus feldolgozása tovább tart a hozzátartozó mondat feldolgozási<br />

idejénél, akkor a technológiai ciklus a mondatváltásnál meg lesz szakítva.<br />

Megjegyzés<br />

Egy technológiai ciklus nem akadályozza meg a mondatváltást.<br />

10.5.7 IF vezérlő-szerkezetek<br />

Funkció<br />

Elágazásokhoz a technológiai ciklusok lefutási sorrendjében lehet használni az IF vezérlőszerkezeteket<br />

a szinkron-akciókban.<br />

Szintaxis<br />

IF <br />

$R1=1<br />

[ELSE] opció<br />

$R1=0<br />

ENDIF<br />

Munka-előkészítés<br />

632 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

10.5.8 Ugrás utasítások (GOTO, GOTOF, GOTOB)<br />

Funkció<br />

A technológiai ciklusokban lehetségesek a GOTO, GOTOF, GOTOB ugrás utasítások. A<br />

megadott címkéknek az alprogramban elő kell fordulni, hogy ne keletkezzen vészjelzés.<br />

Megjegyzés<br />

Címkék és mondatszámok csak állandók lehetnek.<br />

Szintaxis<br />

Feltétlen ugrások<br />

GOTO címke, mondatszám<br />

GOTOF címke, mondatszám<br />

GOTOB címke, mondatszám<br />

Ugrás utasítások és ugrás célok<br />

GOTO<br />

GOTOF<br />

GOTOB<br />

címke:<br />

mondatszám<br />

N100<br />

:100<br />

ugrás először előre és utána vissza<br />

ugrás előre<br />

ugrás hátra<br />

ugrás-jelölő<br />

ugráscél ehhez a mondathoz<br />

mondatszám mellékmondat<br />

mondatszám főmondat<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 633


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

10.5.9 Tiltás, engedélyezés, megszakítás (LOCK, UNLOCK, RESET)<br />

Funkció<br />

Egy technológia ciklus lefutását egy modális szinkron-akcióból vagy egy technológia<br />

ciklusból lehet tiltani, engedélyezni és megszakítani.<br />

Szintaxis<br />

LOCK(,,...)<br />

UNLOCK(,,...)<br />

RESET(,,...)<br />

Jelentés<br />

LOCK<br />

UNLOCK<br />

RESET<br />

,,...<br />

utasítás szinkron-akció tiltására<br />

az aktív akció meg lesz szakítva<br />

utasítás szinkron-akció engedélyezésére<br />

utasítás technológia ciklus megszakítására<br />

azon szinkron-akció ill. technológiai ciklus azonosítószáma, amelyet<br />

tiltani, engedélyezni vagy megszakítani kell<br />

Szinkron-akciók tiltása<br />

A modális szinkron-akciókat az = 1 ... 64 ID-számokkal lehet a PLC-ből tiltani. A<br />

hozzátartozó feltétel nem lesz kiértékelve és a hozzátartozó funkció végrehajtása az NCKban<br />

tiltva lesz.<br />

A PLC interfész egy jelével általánosan az összes szinkron-akció tiltható.<br />

Megjegyzés<br />

Egy programozott szinkron-akció alapvetően aktív és átírás/tiltás ellen gépadattal védhető.<br />

A gépgyártó által megadott szinkron-akciókat a végfelhasználó nem befolyásolhatja.<br />

Munka-előkészítés<br />

634 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.5 Technológiai ciklusok<br />

Példák<br />

Példa 1: Szinkron-akciók tiltása (LOCK)<br />

Programkód<br />

N100 ID=1 WHENEVER $A_IN[1]==1 DO M130<br />

...<br />

N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1)<br />

Példa 2: Szinkron-akciók engedélyezése (LOCK)<br />

Programkód<br />

N100 ID=1 WHENEVER $A_IN[1]==1 DO M130<br />

...<br />

N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1)<br />

...<br />

N250 ID=3 WHENEVER $A_IN[3]==1 DO UNLOCK(1)<br />

Példa 3: Technológiai ciklus megszakítása (RESET)<br />

Programkód<br />

N100 ID=1 WHENEVER $A_IN[1]==1 DO M130<br />

...<br />

N200 ID=2 WHENEVER $A_IN[2]==1 DO RESET(1)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 635


Mozgásszinkron-akciók<br />

10.6 Szinkron-akció törlés (CANCEL)<br />

10.6 Szinkron-akció törlés (CANCEL)<br />

Funkció<br />

A CANCEL utasítással egy modális vagy statikusan hatásos szinkron-akciót a<br />

munkadarabprogramból lehet megszakítani (törölni).<br />

Ha egy szinkron-akció meg lesz szakítva, miközben a belőle indított pozícionáló-tengely<br />

mozgás meg aktív, a pozícionáló-tengely mozgás be lesz fejezve. Ha ez nem kívánatos, a<br />

tengely mozgását a tengely maradékút törléssel még a CANCEL utasítás előtt le lehet fékezni.<br />

Szintaxis<br />

CANCEL(,,...)<br />

Jelentés<br />

CANCEL:<br />

,,...:<br />

utasítás a programozott szinkron-akciók törlésére<br />

törlendő szinkron-akciók azonosítószámai<br />

Utalás:<br />

Az azonosítószámok megadása nélkül az összes modális/statikus<br />

szinkron-akció törölve lesz.<br />

Példák<br />

Példa 1: Szinkron-akció megszakítása<br />

Programkód<br />

N100 ID=2 WHENEVER $A_IN[1]==1 DO M130<br />

...<br />

N200 CANCEL(2)<br />

Kommentár<br />

; 2. sz. modális szinkron-akció<br />

törlése<br />

Példa 2: Maradékút törlése a szinkron-akció megszakítása előtt<br />

Programkód<br />

N100 ID=17 EVERY $A_IN[3]==1 DO POS[X]=15 FA[X]=1500<br />

...<br />

N190 WHEN ... DO DELDTG(X)<br />

N200 CANCEL(17)<br />

Kommentár<br />

; pozícionáló mozgás indítása<br />

; pozícionáló mozgás befejezése<br />

; 17. sz. modális szinkron-akció<br />

törlése<br />

Munka-előkészítés<br />

636 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.7 A vezérlés viselkedése adott üzemállapotokban<br />

10.7 A vezérlés viselkedése adott üzemállapotokban<br />

POWER ON<br />

A Power On után alapvetően nincsenek aktív szinkron-akciók. A statikus szinkron-akciókat<br />

azonban rögtön a Power On után egy, a PLC-ből indított aszinkron alprogrammal (ASUP)<br />

aktiválni lehet.<br />

Üzemmód váltás<br />

Az IDS kulcsszóval aktivált szinkron-akciók az üzemmód váltáson túl is aktívak maradnak. Az<br />

összes többi szinkron-akció az üzemmód váltásnál inaktív lesz (pl. tengely pozícionálás) és<br />

repozícionálásnál és az automatika üzembe visszakapcsolásnál lesz újra aktív.<br />

RESET<br />

Az NC-Reset-tel minden mondatonként és modálisan hatásos szinkron-akció be lesz<br />

fejezve. Statikus szinkron-akciók aktívak maradnak. Ezekből lehet új akciókat indítani. Ha a<br />

RESET-nél egy parancstengely mozgás aktív, akkor ez meg lesz szakítva. A már<br />

végrehajtott WHEN-típusú szinkron-akciók a RESET után már nem lesznek tovább<br />

feldolgozva.<br />

szinkron-akció/<br />

technológiai ciklus<br />

tengely/<br />

pozícionáló orsó<br />

fordulatszámszabályozott<br />

orsó<br />

Viselkedés RESET után<br />

modális / mondatonkénti<br />

aktív akció megszakítása, szinkronakciók<br />

törlése<br />

mozgás megszakítás<br />

$MA_SPIND_ACTIVE_AFTER_RESET==1:<br />

orsó aktív marad<br />

$MA_SPIND_ACTIVE_AFTER_RESET==0:<br />

orsó megáll<br />

vezető érték csatolás $MC_RESET_MODE_MASK, Bit13 == 1:<br />

vezetőérték csatolás aktív marad<br />

$MC_RESET_MODE_MASK, Bit13 == 0:<br />

vezetőérték csatolás megszakad<br />

mérési eljárás<br />

a szinkron-akciókból indított<br />

mérések megszakadnak<br />

statikus (IDS)<br />

aktív akció megszakítása,<br />

technológiai ciklus leállítása<br />

mozgás megszakítás<br />

a statikus szinkron-akciókból<br />

indított mérések megszakadnak<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 637


Mozgásszinkron-akciók<br />

10.7 A vezérlés viselkedése adott üzemállapotokban<br />

NC-Stop<br />

Statikus szinkron-akciók az NC-Stop-nál aktívak maradnak. A statikus szinkron-akciókból<br />

indított mozgások nem szakadnak meg. Az aktív mondathoz tartozó program-lokális<br />

szinkron-akciók aktívak maradnak, az azokból indított mozgások megszakadnak.<br />

programvég<br />

A program vége és a szinkron-akciók kölcsönösen nem befolyásolják egymást. A futó<br />

szinkron-akciók a program vége után is le lesznek zárva. Az M30-mondatban aktív szinkronakciók<br />

az M30-mondatban aktívak maradnak. Ha ez nem kívánatos, a szinkron-akciókat a<br />

program vége előtt CANCEL-lel kell megszakítani.<br />

szinkron-akció/<br />

technológiai ciklus<br />

tengely/<br />

pozícionáló orsó<br />

fordulatszámszabályozott<br />

orsó<br />

Viselkedés program vége után<br />

modális / mondatonkénti<br />

→ megszakadnak<br />

M30 késleltetés, amíg a tengely/orsó megáll<br />

programvég:<br />

$MA_SPIND_ACTIVE_AFTER_RESET==1:<br />

orsó aktív marad<br />

$MA_SPIND_ACTIVE_AFTER_RESET==0:<br />

orsó megáll<br />

üzemmód váltásnál az orsó aktív marad<br />

vezető érték csatolás $MC_RESET_MODE_MASK, Bit13 == 1:<br />

vezetőérték csatolás aktív marad<br />

$MC_RESET_MODE_MASK, Bit13 == 0:<br />

vezetőérték csatolás megszakad<br />

mérési eljárás a szinkron-akciókból indított mérések<br />

megszakadnak<br />

statikus (IDS)<br />

→ megmaradnak<br />

mozgás továbbfut<br />

orsó aktív marad<br />

a statikus szinkronakcióból<br />

indított csatolás<br />

megmarad<br />

a statikus szinkronakciókból<br />

indított mérések<br />

aktívak maradnak<br />

Mondatkeresés<br />

A mondatkeresés alatt megtalált szinkron-akciók gyűjtve és NC-Start-nál kiértékelve lesznek,<br />

a hozzájuk tartozó akciók adott estben indítva lesznek. A statikus szinkron-akciók a<br />

mondatkeresés közben is hatnak. Ha a mondatkeresés közben a FCTDEF-fel programozott<br />

polinom-együtthatókat találunk, azok közvetlenül hatásosak lesznek.<br />

Munka-előkészítés<br />

638 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Mozgásszinkron-akciók<br />

10.7 A vezérlés viselkedése adott üzemállapotokban<br />

Program megszakítás aszinkron alprogrammal ASUP<br />

ASUP-kezdet:<br />

A modális és statikus mozgás-szinkron akciók megmaradnak és az aszinkron alprogramban<br />

is hatásosak.<br />

ASUP-vége:<br />

Ha az aszinkron alprogram nem REPOS-sal folytatódik, az aszinkron alpogramban<br />

megváltoztatott modális és statikus mozgás-szinkron akciók a főprogramban tovább hatnak.<br />

Repozícionálás (REPOS)<br />

A repozícionálás (REPOS) után a megszakított mondatban hatásos szinkron-akciók újra<br />

aktívak lesznek. Az aszinkron alprogramból megváltoztatott modális szinkron-akciók a<br />

REPOS után a maradék mondat feldolgozásánál nem hatásosak.<br />

Az FCTDEF-fel programozott polinom-együtthatókat az aszinkron alprogramok és a REPOS<br />

nem befolyásolja Attól függetlenül, hogy hol lettek programozva, az aszinkron alprogramban<br />

és a főprogramban a REPOS végrehajtása után is mindig használhatók.<br />

Viselkedés vészjelzéseknél<br />

A szinkron-akciókból indított tengely- és orsómozgások le lesznek fékezve, ha egy<br />

vészjelzés mozgás-állj-jal aktív. Az összes többi akció (pl. kimenet beállítása) továbbra is<br />

végre lesz hajtva.<br />

Ha a szinkron-akció maga vált ki egy vészjelzést, akkor megmunkálás megszakítás történik<br />

és a következő szinkron-akciókat ez a szinkron-akció tovább már nem hajtja végre. Ha a<br />

szinkron-akció modálisan hatásos, a következő interpolációs ütemben már nem lesz tovább<br />

feldolgozva. A vészjelzés tehát csak egyszer lesz kiadva. Az összes többi szinkron-akciók<br />

tovább fel lesznek dolgozva.<br />

Vészjelzések, amelyek reakciója interpreter állj, csak az előre dekódolt mondatok<br />

végrehajtása után hatnak.<br />

Ha egy technológiai ciklus egy vészjelzést mozgás-állj-jal vált ki, akkor a technológiai ciklus<br />

nem lesz tovább feldolgozva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 639


Mozgásszinkron-akciók<br />

10.7 A vezérlés viselkedése adott üzemállapotokban<br />

Munka-előkészítés<br />

640 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Ingázás 11<br />

11.1 Aszinkron ingázás (OS, OSP1, OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

Funkció<br />

Egy inga-tengely az 1 és 2 fordulópontok között a megadott előtolással oda és vissza jár,<br />

amíg az ingamozgás ki nem lesz kapcsolva.<br />

Más tengelyek az ingamozgás közben tetszőlegesen interpolálhatnak. Egy pályamozgással<br />

vagy egy pozícionáló-tengellyel el lehet érni egy folyamatos fogásvételt. Ennek során nincs<br />

összefüggés az inga- és a fogásvételi mozgás között.<br />

Aszinkron ingázás tulajdonságai<br />

● Az aszinkron ingázás tengely-specifikusan a mondathatárokon át hatásos.<br />

● A munkadarabprogramban az ingamozgás mondat-szinkron bekapcsolása biztosított.<br />

● Több tengely közös interpolációja és az ingaszakaszok átlapolása nem lehetséges.<br />

Programozás<br />

A következő címekkel lehetséges a munkadarab-programból az aszinkron ingázásnak az<br />

NC programnak megfelelő bekapcsolása és befolyásolása.<br />

A programozott értékek a főfutásban mondat-szinkron lesznek a beállítási adatokba beírva<br />

és a következő változásig hatásosak maradnak.<br />

Szintaxis<br />

OSP1[]= OSP2[]=<br />

OST1[]= OST2[]=<br />

FA[]=<br />

OSCTRL[]=(,)<br />

OSNSC[]=<br />

OSE[]=<br />

OSB[]=<br />

OS[]=1<br />

OS[]=0<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 641


Ingázás<br />

11.1 Aszinkron ingázás (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)<br />

Jelentés<br />

<br />

OS<br />

OSP1<br />

OSP2<br />

OST1<br />

OST2<br />

FA<br />

inga-tengely neve<br />

ingázást be-/kikapcsolni<br />

Érték:<br />

1 ingázást bekapcsolni<br />

0 ingázást kikapcsolni<br />

fordulópont 1 pozíció megadása<br />

fordulópont 2 pozíció megadása<br />

Utalás:<br />

Ha egy növekményes mozgás aktív, akkor a pozíció az utolsó NC programban<br />

programozott megfelelő fordulás-pozícióhoz növekményesen lesz beszámítva.<br />

állásidőt a fordulópont 1-en [s]-ban megadni<br />

állásidőt a fordulópont 2-n [s]-ban megadni<br />

:<br />

-2interpoláció folytatása pontos állj-ra várakozás nélkül<br />

-1várakozás pontos állj durvára<br />

0várakozás pontos állj finomra<br />

>0várakozás pontos állj finomra és ezután állásidő kivárása<br />

Utalás:<br />

Az állásidő egysége azonos a G4-gyel programozott<br />

állásidőével.<br />

Előtolás sebesség megadása<br />

Előtolás sebességként a pozícionáló-tengely definiált előtolás sebessége<br />

érvényes. Ha nincs előtolás sebesség programozva, a gépadatban beállított<br />

érték érvényes.<br />

Munka-előkészítés<br />

642 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Ingázás<br />

11.1 Aszinkron ingázás (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)<br />

OSCTRL<br />

Beállítási és törlési opciók megadása<br />

A 0 - 3 opció értékek a fordulópontokon viselkedést adják meg kikapcsolásnál.<br />

A 0- 3 variációk egyikét lehet választani. A többi beállítások igény szerint<br />

kombinálhatók a kiválasztott variációval. Több opció plusz jellel (+) fűzhető<br />

össze.<br />

: 0 Az ingamozgás kikapcsolásánál a következő fordulóponton<br />

megállni<br />

Utalás:<br />

csak az 1 és 2 értékek törlésével lehetséges<br />

1 Az ingamozgás kikapcsolásánál az 1 fordulópontnál megállni<br />

2 Az ingamozgás kikapcsolásánál az 2 fordulópontnál megállni<br />

3 Az ingamozgás kikapcsolásánál nem kell a fordulópontra<br />

menni, ha nincsenek kiszikráztatási löketek programozva<br />

4 A kiszikráztatás után egy végpozícióra menni<br />

8 Az ingamozgás maradékút törléssel lesz megszakítva, ezután<br />

kiszikráztatási löketeket megtenni és esetleg végpozícióra<br />

menni<br />

16 Az ingamozgás maradékút törléssel lesz megszakítva, ezután<br />

mint a lekapcsolásnál, megfelelő fordulópontra menni<br />

32 A megváltozott előtolás csak a következő fordulóponttól aktív<br />

64 FA egyenlő 0, FA = 0: út-rátevődés aktív<br />

FA nem egyenlő 0, FA 0: sebesség-rátevődés aktív<br />

128 Körtengelynél DC (legrövidebb út)<br />

256 Kiszikráztatás dupla löketként végrehajtva. (alaphelyzet) 1 =<br />

kiszikráztatási löket egyes löketként lesz végrehajtva.<br />

512 kezdő pozícióra menni<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 643


Ingázás<br />

11.1 Aszinkron ingázás (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)<br />

OSNSC<br />

OSE<br />

OSB<br />

kiszikráztatási löketek számát megadni<br />

végpozíciót (MKR-ben) megadni, amire az ingázás kikapcsolása után rá kell<br />

menni<br />

Utalás:<br />

Az OSE programozásánál az OSCTRL-re implicit az opció 4 lesz hatásos..<br />

Kezdő pozíciót (MKR-ben) megadni, amire az ingázás bekapcsolása előtt rá kell<br />

menni<br />

A kezdő pozíció a fordulópont 1 előtt lesz felvéve. Ha a kezdő pozíció egyezik a<br />

fordulópont 1-gyel, akkor következőként a fordulópont 2-re lesz rámenet.<br />

A kezdő pozícióban nem hat az állásidő, még ha a kezdő pozíció egybe is esik a<br />

fordulópont 1-gyel, ehelyett pontos-állj finomra lesz várás. A beállított pontos-állj<br />

feltétel be lesz tartva.<br />

Utalás:<br />

A kezdő pozícióba menethez a SD43770 $SA_OSCILL_CTRL_MASK bit 9<br />

beállítási adat be kell legyen állítva.<br />

Példák<br />

Példa 1: Inga-tengely két fordulópont között kell ingázzon<br />

A Z inga-tengely Z 10 és 100 között kell ingázzon. A fordulópont 1-et pontos-állj finommal, a<br />

fordulópont 2-öt pontos-állj durvával kell elérni. Az inga-tengely 250-es előtolással működjön.<br />

A megmunkálás végén 3 kiszikráztatási löket legyen és az inga-tengely vegye fel a 200-as<br />

véghelyzetet. Az előtolás a fogásvételi tengelyre legyen 1, a fogásvétel vége X-irányban 15-<br />

nél legyen elérve.<br />

Programkód<br />

Kommentár<br />

WAITP(X,Y,Z)<br />

; kiinduló állapot<br />

G0 X100 Y100 Z100<br />

; átkapcsolás pozícionáló üzembe<br />

WAITP(X,Z)<br />

OSP1[Z]=10 OSP2[Z]=100 ; fordulópont 1, fordulópont 2<br />

OSE[Z]=200<br />

; végpozíció<br />

OST1[Z]=0 OST2[Z]=–1 ;<br />

;<br />

állásidő U1-nél: pontos-állj finom<br />

állásidő U2-nél: pontos-állj durva<br />

FA[Z]=250 FA[X]=1<br />

; inga-tengely előtolás, fogásvételitengely<br />

előtolás<br />

OSCTRL[Z]=(4,0)<br />

; beállító opciók<br />

OSNSC[Z]=3<br />

; 3 kiszikráztatási löket<br />

OS[Z]=1<br />

; ingázás indítása<br />

WHEN $A_IN[3]==TRUE DO DELDTG(X)<br />

; maradékút törlés<br />

POS[X]=15<br />

; X tengely kiindulási helyzet<br />

POS[X]=50<br />

X tengely véghelyzet<br />

OS[Z]=0<br />

; ingázást megállítani<br />

M30<br />

Munka-előkészítés<br />

644 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Ingázás<br />

11.1 Aszinkron ingázás (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)<br />

Megjegyzés<br />

Az OSP1[Z]=... ... OSNCS[Z]=... utasítás sort lehet egy mondatban is programozni.<br />

Példa 2: Ingázás a forduló-pozíció online változtatásával<br />

Az aszinkron ingázáshoz szükséges beállítási adatokat a munkadarabprogramban be lehet<br />

állítani.<br />

Ha a munkadarab-programban a beállítási adatok közvetlenül vannak írva, a változás már<br />

az előrefutás időpontjában hatásos. Szinkron viselkedést előrefutás állj-jal (STOPRE) lehet<br />

elérni.<br />

Programkód<br />

$SA_OSCILL_REVERSE_POS1[Z]=-10<br />

$SA_OSCILL_REVERSE_POS2[Z]=10<br />

G0 X0 Z0<br />

WAITP(Z)<br />

ID=1 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_POS1[Z] DO $AA_OVR[X]=0<br />

ID=2 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[X]=0<br />

OS[Z]=1 FA[X]=1000 POS[X]=40<br />

OS[Z]=0<br />

M30<br />

Kommentár<br />

; Ha az inga-tengelyek<br />

valósértéke a<br />

fordulópontot meghaladta,<br />

a fogásvétel tengely meg<br />

lesz állítva.<br />

; ingázást bekapcsolni<br />

; ingázást kikapcsolni<br />

További információk<br />

Inga-tengely<br />

Az inga-tengelyre érvényes:<br />

● Minden tengelyt lehet inga-tengelyként használni.<br />

● Egyidőben lehet több inga-tengely aktív (maximum: a pozícionáló-tengelyek száma).<br />

● Az inga-tengelyre mindig a programban aktuálisan érvényes G-utasítástól függetlenül a<br />

G1 egyenes-interpoláció aktív.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 645


Ingázás<br />

11.1 Aszinkron ingázás (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)<br />

Az inga-tengely lehet:<br />

● bemenő-tengely dinamikus transzformációhoz<br />

● vezető-tengely Gantry- és vontató-tengelyeknél<br />

● mozgatható:<br />

– rándulás-határolás nélkül (BRISK)<br />

vagy<br />

– rándulás-határolással (SOFT)<br />

vagy<br />

– megtört gyorsulási jelleggörbével (mint a pozícionáló-tengelyek).<br />

Inga fordulópontok<br />

Az inga-pozíciók megadásánál az aktuális eltolásokat figyelembe kell venni:<br />

● abszolút megadás<br />

OSP1[Z]=<br />

fordulópont pozíció = eltolások összege + programozott érték<br />

● relatív megadás<br />

OSP1[Z]=IC()<br />

fordulópont pozíció = fordulópont 1 + programozott érték<br />

Példa:<br />

Programkód<br />

N10 OSP1[Z]=100 OSP2[Z]=110<br />

...<br />

...<br />

N40 OSP1[Z]=IC(3)<br />

WAITP<br />

Ha egy geometria-tengelyt akarunk ingázni, ezt a WAITP-vel az ingázásra engedélyezni kell.<br />

Az ingázás befejezése után WAITPutasítással az inga-tengely ismét pozícionáló-tengelyként<br />

lesz megadva és újra normálisan lehet használni.<br />

Ingázás mozgás-szinkron akciókkal és állásidőkkel<br />

A beállított állásidők lefutása után történik az ingázásnál a belső mondatváltás (a tengelyek<br />

új maradékútjaiból látható). A mondatváltáskor van a kikapcsolási funkció megvizsgálva.<br />

Ennél a mozgás lefutásának vezérlési beállításától függően (OSCTRL) lesz a kikapcsolási<br />

funkció beállítva. Ez a időbeli viselkedés az előtolás override-dal befolyásolható.<br />

Adott körülmények között még egy ingalöket lesz végrehajtva a kiszikráztatási löketek<br />

indítása vagy a végpozíció felvétele előtt. Ennek során az a benyomás keletkezik, mintha a<br />

kikapcsolási viselkedés megváltozna. Ez azonban nem így van.<br />

Munka-előkészítés<br />

646 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Ingázás<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)<br />

Funkció<br />

Ennél a fajta ingázásnál csak a fordulópontokon ill. a definiált fordulás-tartományban<br />

megengedett a fogásvételi mozgás.<br />

A követelmények szerint az ingamozgást a fogásvétel közben lehet<br />

● folytatni vagy<br />

● megállítani, amíg a fogásvétel teljesen megtörténik.<br />

Szintaxis<br />

1. Ingázás paraméterek megadása<br />

2. Mozgás-szinkron akciók definiálása<br />

3. Tengelyek hozzárendelése, fogásvétel megadása<br />

Jelentés<br />

OSP1[]=<br />

OSP2[]=<br />

OST1[]=<br />

OST2[]=<br />

FA[]=<br />

OSCTRL[]=<br />

OSNSC[]=<br />

OSE[]=<br />

WAITP()<br />

fordulópont 1 pozíció<br />

fordulópont 2 pozíció<br />

állásidő a fordulópont 1-nél mp-ben<br />

állásidő a fordulópont 2-nél mp-ben<br />

inga-tengely előtolása<br />

be- ill. visszaállító opciók<br />

kiszikráztatási löketek száma<br />

végpozíció<br />

tengely engedélyezése ingázásra<br />

Tengely hozzárendelés, fogásvétel<br />

OSCILL[]=(,,)<br />

POSP[]=(,,)<br />

OSCILL:<br />

POSP:<br />

vég-pozíció:<br />

részhossz:<br />

modus:<br />

fogásvétel-tengely(ek) hozzárendelése az ingatengelyhez<br />

össz- és rész-fogásvétel megadása (lásd Fájl és programkezelés fejezet)<br />

fogásvétel-tengely végpozíciója, miután az összes rész-fogásvétel<br />

megtörtént<br />

rész-fogásvétel nagysága a fordulóponton/fordulás-tartományban<br />

össz-fogásvétel felosztása rész-fogásvételekre<br />

= két azonos nagyságú maradéklépés (előbeállítás);<br />

= minden rész-fogásvétel azonos nagyságú<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 647


Ingázás<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)<br />

Mozgásszinkron akciók<br />

WHEN… … DO<br />

WHENEVER … DO<br />

ha…, akkor…<br />

mindig ha…, akkor…<br />

Példa<br />

A fordulópont 1-nél ne történjen fogásvétel. A fordulópont 2-nél a fogásvétel már ii2<br />

távolságra fordulópont 2-től történjen és az inga-tengely a fordulóponton ne várjon a részfogásvétel<br />

befejezésére. A Z tengely az inga-tengely és az X tengely a fogásvétel-tengely.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1. paraméterek az ingázásra<br />

Programkód<br />

Kommentár<br />

DEF INT ii2 ; változót a fordulási-tartomány 2-re definiálni<br />

OSP1[Z]=10 OSP2[Z]=60 ; fordulópont 1-et és 2-t definiálni<br />

OST1[Z]=0 OST2[Z]=0 ; fordulópont 1: pontos-állj finom<br />

fordulópont 2: pontos-állj finom<br />

FA[Z]=150 FA[X]=0.5 ; előtolás inga-tengely Z, előtolás fogásvétel-tengely X<br />

OSCTRL[Z]=(2+8+16,1) ; ingamozgás lekapcsolása a fordulópont 2-nél; RWL után<br />

kiszikráztatás és vég¬pozícióra menet; RWL után<br />

megfelelő fordulópozícióra menni<br />

OSNC[Z]=3 ; kiszikráztatás löketek<br />

OSE[Z]=70 ; végpozíció = 70<br />

ii2=2 ; fordulási-tartományt beállítani<br />

WAITP(Z) ; ingázás engedélyezés a Z tengelyre<br />

Munka-előkészítés<br />

648 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Ingázás<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)<br />

2. mozgás-szinkron akciók<br />

Programkód<br />

WHENEVER<br />

$AA_IM[Z]<br />

$AA_OVR[X]=0 $AC_MARKER[0]=0<br />

WHENEVER<br />

$AA_IM[Z]>=$SA_OSCILL_REVERSE_POS2[Z] DO<br />

$AA_OVR[Z]=0<br />

Kommentár<br />

; Mindig, ha kisebb a Z inga-tengely<br />

aktuális pozíciója GKR-ben mint a<br />

fordulási-tartomány 2 kezdete,<br />

akkor állítsa be az X fogásvételtengely<br />

override-ot 0%-ra és a 0<br />

indexű jelölőt 0 értékre.<br />

; Mindig, ha a Z inga-tengely<br />

aktuális pozíciója GKR-ben nagyobb<br />

egyenlő a fordulópont 2-vel, akkor<br />

állítsa be a Z inga-tengely<br />

override-ot 0%-ra.<br />

WHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER[0]=1 ; Mindig, ha a rész-fogásvétel<br />

maradékút 0-val egyenlő, akkor<br />

állítsa be a 0 indexű jelölőt 1<br />

értékre.<br />

WHENEVER $AC_MARKER[0]==1 DO $AA_OVR[X]=0<br />

$AA_OVR[Z]=100<br />

-> egy mondatban kell programozni<br />

3. Ingázást indítani<br />

; Mindig, ha a 0 indexű jelölő 1-<br />

gyel egyenlő, akkor állítsa be az<br />

X fogásvétel-tengely override-ot<br />

0%-ra. Ezzel egy túl korai<br />

fogásvétel meg lesz akadályozva (a<br />

Z ingatengely a fordulásitartomány<br />

2-t még nem hagyta el<br />

újra, de az X fogásvétel-tengely X<br />

kész egy új fogásvételre). Állítsa<br />

be a Z inga-tengely override-ot<br />

0%-ról (2. szinkron-akció akciója)<br />

ismét 100 %-ra.<br />

Programkód<br />

Kommentár<br />

OSCILL[Z]=(X) POSP[X]=(5,1,1)<br />

; A tengelyek indítása<br />

A Z inga-tengelyhez az X tengely<br />

hozzárendelése fogásvételtengelyként.<br />

Az X tengely a végpozíció 5-ig 1-<br />

es lépésekben menjen.<br />

M30 ; programvég<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 649


Ingázás<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)<br />

Leírás<br />

1. Ingázás paraméterek megadása<br />

Az ingázás paramétereit meg kell adni a mozgási mondat előtt, amelyik a fogásvételi- és<br />

inga-tengely hozzárendeléseket, valamint a fogásvétel megadását tartalmazza (lásd<br />

"Aszinkron ingázás").<br />

2. Mozgás-szinkron akciók megadása<br />

A szinkron feltételekkel történik:<br />

Fogásvétel elnyomása, amíg az inga-tengely egy fordulási tartományon belül<br />

(ii1, ii2) vagy egy fordulóponton (U1, U2) található.<br />

Ingamozgást a fogásvétel alatt a fordulóponton megállítani.<br />

Ingamozgást a rész-fogásvétel befejezése után újra indítani.<br />

Következő rész-fogásvétel indítását megadni.<br />

3. Inga- és fogásvétel-tengely hozzárendelés ill. össz- és rész-fogásvétel megadása.<br />

Ingázás paraméterek megadása<br />

Inga- és fogásvétel-tengely hozzárendelés: OSCILL<br />

OSCILL[[inga-tengely] = (fogásvétel-tengely1, fogásvétel-tengely2, fogásvételtengely3)<br />

Az OSCILL utasítással történnek a tengely hozzárendelések és az ingamozgás indítása.<br />

Maximum egy inga-tengelyhez 3 fogásvétel-tengelyt lehet hozzárendelni.<br />

Megjegyzés<br />

Az ingázás indítása előtt a tengelyek viselkedésének szinkron-feltételeit meg kell adni.<br />

Fogásvételek megadása: POSP<br />

POSP[fogásvétel-tengely] = (végpozíció, darab, módus)<br />

A POSP utasítással közöljük a vezérléssel:<br />

● az össz-fogásvételt (a végpozícióval)<br />

● a fogásvétel nagyságát a fordulóponton ill. a fordulás-tartományban<br />

● a rész-fogásvétel viselkedését a végpozíció elérésénél (módus)<br />

módus = 0<br />

módus = 1<br />

Az utolsó két rész-fogásvételhez a célpontig megmaradt út<br />

felosztása történik két egyenlő nagyságú maradék lépésre<br />

(előbeállítás).<br />

Minden rész-fogásvétel azonos méretű. Kiszámításuk az összfogásvételből<br />

történik.<br />

Munka-előkészítés<br />

650 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Ingázás<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)<br />

Mozgás-szinkron akciók megadása<br />

A következőkben leírásra kerülő mozgás-szinkron akciók általában használatosak az<br />

ingázáshoz.<br />

Az egyes igények kielégítésére példa megoldások találhatók, amelyek az alkalmazóspecifikus<br />

ingamozgásokhoz modulokként alkalmazhatók.<br />

Megjegyzés<br />

Az egyes estekben a szinkron-feltételek másképp is programozhatók.<br />

Kulcsszavak<br />

WHEN … DO …<br />

WHENEVER … DO<br />

ha…, akkor…<br />

mindig ha…, akkor…<br />

Funkciók<br />

A következőkben részletesen leírásra kerülő nyelvi eszközökkel a következő funkciók<br />

valósíthatók meg:<br />

1. fogásvétel a fordulóponton<br />

2. fogásvétel a fordulás-tartományban<br />

3. fogásvétel mindkét fordulóponton<br />

4. ingamozgás megállítása a fordulóponton<br />

5. ingamozgás újra indítása<br />

6. rész-fogásvételt nem túl korán indítani<br />

Az összes, itt példaként leírt szinkron-akcióra érvényesek a következő feltevések:<br />

● fordulópont 1 < fordulópont 2<br />

● Z = inga-tengely<br />

● X = fogásvétel-tengely<br />

Megjegyzés<br />

Közelebbi magyarázat a Mozgás-szinkron akciók fejezetben.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 651


Ingázás<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)<br />

Inga- és fogásvétel-tengely hozzárendelés ill. össz- és rész-fogásvétel megadása<br />

Fogásvétel a fordulás-tartományban<br />

A fogásvételi mozgás egy fordulási-tartományon belül kell kezdődjön, a fordulópont elérése<br />

előtt.<br />

Ezek a szinkron-akciók megakadályozzák a fogásvételi mozgás, amíg az inga-tengely egy<br />

fordulási-tartományban található.<br />

Az adott feltételezések mellett (lásd fent) a következő utasítások adódnak:<br />

Fordulási-tartomány 1:<br />

WHENEVER<br />

$AA_IM[Z]>$SA_OSCILL_RESERV<br />

E_POS1[Z]+ii1 DO $AA_OVR[X]<br />

= 0<br />

Fordulási-tartomány 2:<br />

WHENEVER<br />

$AA_IM[Z]


Ingázás<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)<br />

Az adott feltételezések mellett (lásd fent) a következő utasítások adódnak:<br />

Fordulási-tartomány 1:<br />

WHENEVER<br />

$SA_IM[Z]==$SA_OSCILL_RESER<br />

VE_POS1[Z] DO $AA_OVR[X] =<br />

0 →<br />

→ $AA_OVR[Z] = 100<br />

Fordulási-tartomány 2:<br />

WHENEVER<br />

$SA_IM[Z]==$SA_OSCILL_RESER<br />

VE_POS2[Z] DO $AA_OVR[X] =<br />

0 →<br />

→ $AA_OVR[Z] = 100<br />

Mindig, ha az inga-tengely aktuális pozíciója GKR-ben egyenlő<br />

a fordulópont 1-vel, akkor állítsa be az inga-tengely override-ot<br />

0%-ra és a fogásvétel-tengely override-ot 100%-ra.<br />

Mindig, ha a Z inga-tengely aktuális pozíciója GKR-ben<br />

egyenlő a fordulópont 2-vel, akkor állítsa be az X inga-tengely<br />

override-ot 0%-ra és a fogásvétel-tengely override-ot 100%-ra.<br />

A fordulópont online-kiértékelése<br />

Ha az összehasonlítás jobb oldalán egy $$ -ral jelölt főfutás-változó áll, akkor mindkét<br />

változó az IPO-ütemben folyamatosan kiértékelésre és összehasonlításra kerül.<br />

Megjegyzés<br />

Több információt ehhez lásd a "Mozgás-szinkron akciók" fejezetben".<br />

Ingamozgást újra indítani<br />

Ez a szinkron-akció az inga-tengely mozgásának folytatásához, ha a rész-fogásvétel<br />

mozgás lezárult.<br />

Az adott feltételezések mellett (lásd fent) a következő utasítások adódnak:<br />

WHENEVER $AA_DTEPW[X]==0 DO<br />

$AA_OVR[Z] = 100<br />

Mindig, ha az X fogásvétel-tengely maradékútja a részfogásvételhez<br />

GKR-ben egyenlő nullával, akkor állítsa be az<br />

inga-tengely override-ot 100%-ra.<br />

Következő rész-fogásvétel<br />

Egy fogásvétel után a következő rész-fogásvétel túl korai indítását meg kell akadályozni.<br />

Ehhez egy csatorna-specifikus jelzőt ($AC_MARKER[Index]) használunk, ami a rész-fogásvétel<br />

végén (rész-maradékút ≡ 0) lesz beállítva és a fordulási-tartomány elhagyásakor lesz<br />

törölve. Ekkor egy szinkron-akcióval a következő fogásvétel mozgás meg lehet akadályozni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 653


Ingázás<br />

11.2 Szinkron-akciókkal vezérelt ingázás (OSCILL)<br />

Az adott feltételek mellett (lásd fent) pl. a fordulópont 1-ra a következő utasítások adódnak:<br />

1. jelölőt beállítani:<br />

WHENEVER $AA_DTEPW[X]==0 DO<br />

$AC_MARKER[1]=1<br />

2. jelölőt beállítani:<br />

WHENEVER $AA_IM[Z]<br />

$SA_OSCILL_RESERVE_POS1[Z]<br />

DO $AC_MARKER[1] = 0<br />

3. fogásvétel<br />

megakadályozása<br />

WHENEVER $AC_MARKER[1]==1<br />

DO $AA_OVR[X] = 0<br />

Mindig, ha az X fogásvétel-tengely maradékútja a részfogásvételhez<br />

GKR-ben egyenlő nullával, akkor állítsa be az 1-<br />

es indexű jelölőt 1-re.<br />

Mindig, ha a Z inga-tengely aktuális pozíciója GKR-ben<br />

nagyobb vagy kisebb a fordulópont 1 pozíciójával, akkor állítsa<br />

be az 1-es jelölőt 0-ra.<br />

Mindig, ha a jelölő 1-gyel egyenlő, akkor állítsa be az X<br />

fogásvétel-tengely override-ot 0%-ra.<br />

Munka-előkészítés<br />

654 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Lyukasztás és sapkázás 12<br />

12.1 Aktiválás, deaktiválás<br />

12.1.1 Lyukasztás és sapkázás be vagy ki (SPOF, SON, PON, SONS, PONS,<br />

PDELAYON, PDELAYOF, PUNCHACC)<br />

Funkció<br />

Lyukasztás ill. sapkázás aktiválás/deaktiválás<br />

A PON és SON aktiválja a lyukasztás ill. sapkázás funkciót. A SPOF befejezi az összes<br />

lyukasztás- és sapkázás-specifikus funkciót. A PON és SON modálisan hatásos utasítások<br />

kölcsönösen kizárják egymást, vagyis a PON deaktiválja a SON-t és fordítva.<br />

Lyukasztás és sapkázás előfeszítéssel<br />

A SONS és PONS funkciók szintén a lyukasztó ill. sapkázó funkciókat kapcsolják be.<br />

A SON/PON-nál hatásos löketvezérléssel az interpolációs szinten ellenében ezeknél a<br />

funkcióknál a löket-kioldás jeltechnikai vezérlése a szervó szinten történik. Ezáltal nagyobb<br />

löket-frekvenciával és nagyobb lyukasztási teljesítménnyel lehet dolgozni.<br />

Az előfeszítés jelkiértékelése közben minden funkció tiltva van, amelyek a lyukasztó vagy<br />

sapkázó tengelyek pozíció-változását okozhatják (pl. mozgatás kézikerékkel, frame-k<br />

változtatása PLC-ből, mérésfunkciók).<br />

Lyukasztás késleltetéssel<br />

A PDELAYON a lyukasztó löket késleltetett kiadását okozza. Ennek a modálisan hatásos<br />

utasításnak előkészítő funkciója van és általában a PON előtt áll. A PDELAYOF után a lyukasztás<br />

normálisan folytatódik tovább.<br />

Megjegyzés<br />

A késleltetési idő az SD42400 $SC_PUNCH_DWELLTIME beállítási adatban van beállítva.<br />

Útfüggő gyorsulás<br />

A PUNCHACC utasítás megad egy gyorsulási jelleggörbét, ami a lyuktávolságtól függően<br />

különféle gyorsulásokat definiál.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 655


Lyukasztás és sapkázás<br />

12.1 Aktiválás, deaktiválás<br />

Második lyukasztás interfész<br />

Gépek, amelyek váltakozva egy második lyukasztás interfészt (második lyukasztó-egység<br />

vagy egy hasonló eszköz) használnak, átkapcsolhatóak a vezérlés gyors digitális be- és<br />

kimeneteinél egy második (I/O) párra. Mindkét interfész használható a teljes<br />

lyukasztás/sapkázás funkcionalitásra. Az első és a második interfész között az átkapcsolás<br />

a SPIF1 és SPIF2 utasításokkal történik<br />

Megjegyzés<br />

Előfeltétel: egy második I/O-pár gépadatokkal definiálva kell legyen a lyukasztás funkciókhoz<br />

(→ lásd a gépgyártó tájékoztatásait!).<br />

Szintaxis<br />

PON G... X... Y... Z...<br />

SON G... X... Y... Z...<br />

SONS G... X... Y... Z...<br />

PONS G... X... Y... Z...<br />

PDELAYON<br />

PDELAYOF<br />

PUNCHACC(,,,)<br />

SPIF1/SPIF2<br />

SPOF<br />

Jelentés<br />

PON<br />

SON<br />

PONS<br />

SONS<br />

SPOF<br />

PDELAYON<br />

PDELAYOF<br />

PUNCHACC<br />

SPIF1<br />

lyukasztást aktiválni<br />

sapkázást aktiválni<br />

lyukasztást előfeszítéssel aktiválni<br />

sapkázást előfeszítéssel aktiválni<br />

lyukasztást /sapkázást deaktiválni<br />

lyukasztást késleltetéssel aktiválni<br />

lyukasztást késleltetéssel deaktiválni<br />

útfüggő gyorsulást aktiválni<br />

paraméter:<br />

<br />

legkisebb lyuktávolság<br />

<br />

kezdeti gyorsulás<br />

nagyobb kell legyen, mint az !<br />

<br />

legnagyobb lyuktávolság<br />

<br />

végső gyorsulás<br />

nagyobb lehet, mint az !<br />

első lyukasztás interfészt aktiválni<br />

löketvezérlés az első pár gyors I/O-val történik<br />

Munka-előkészítés<br />

656 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Lyukasztás és sapkázás<br />

12.1 Aktiválás, deaktiválás<br />

SPIF2<br />

második lyukasztás interfészt aktiválni<br />

löketvezérlés a második pár gyors I/O-val történik<br />

Utalás:<br />

RESET vagy a vezérlés felfutása után mindig az első interfész aktív.<br />

Ha csak egy interfész van használva, ezt nem kell programozni.<br />

Példák<br />

Példa 1: Sapkázást aktiválni<br />

Programkód<br />

...<br />

N70 X50 SPOF<br />

N80 X100 SON<br />

...<br />

Kommentár<br />

; pozícionálás lyukasztás nélkül<br />

; Sapkázást aktiválni, egy löket kiváltása a mozgás<br />

előtt (X=50) és a programozott mozgás végén<br />

(X=100).<br />

Példa 2: Lyukasztás késleltetéssel<br />

Programkód<br />

...<br />

N170 PDELAYON X100 SPOF<br />

N180 X800 PON<br />

N190 PDELAYOF X700<br />

...<br />

Kommentár<br />

; Pozícionálás lyukasztás nélkül, késleltetett<br />

lyukasztás aktiválása.<br />

; Lyukasztást aktiválni. A vég-pozíció elérése utána<br />

lyukasztás löket késleltetve lesz kiadva.<br />

; Lyukasztást késleltetéssel deaktiválni, normális<br />

lyukasztás a programozott mozgás végén.<br />

Példa 3: Lyukasztás két interfésszel<br />

Programkód<br />

...<br />

N170 SPIF1 X100 PON<br />

N180 X800 SPIF2<br />

N190 SPIF1 X700<br />

...<br />

Kommentár<br />

; A mondat végén történik egy löket kiadása az első<br />

gyors kimeneten. A "Löket aktív" jel az első<br />

bemeneten lesz felügyelve.<br />

; A második löket kiadása a második gyors kimeneten<br />

történik. A "Löket aktív" jel a második bemeneten<br />

lesz felügyelve.<br />

; Az összes további löketek vezérlése az első<br />

interfészen történik.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 657


Lyukasztás és sapkázás<br />

12.1 Aktiválás, deaktiválás<br />

További információk<br />

Lyukasztás és sapkázás előfeszítéssel (PONS/SONS)<br />

Lyukasztás és sapkázás előfeszítéssel egyidejűleg több csatornában nem lehetséges. PONS<br />

ill. SONS csak egy csatornában lehet aktiválva.<br />

Útfüggő gyorsulás (PUNCHACC)<br />

Példa:<br />

PUNCHACC(2,50,10,100)<br />

Lyuktávolság 2mm alatt:<br />

A mozgás gyorsulása a maximális gyorsulás 50%-a.<br />

Lyuktávolság 2mm...10mm:<br />

A gyorsulás arányosan növekszik 100%-ra.<br />

Lyuktávolság nagyobb 10mm-nél:<br />

Mozgás 100% gyorsulással<br />

Az első löket kioldása<br />

A funkció aktiválása után az első löket kioldása a sapkázásnál és a lyukasztásnál időben<br />

különbözően történik:<br />

● PON/PONS:<br />

– Minden löket - az első mondaté is az aktiválás után - a mondat végén történik.<br />

● SON/SONS:<br />

– Az első löket a sapkázás aktiválása után már a mondat elején megtörténik.<br />

– Minden további löket a mondat végén történik.<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

658 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Lyukasztás és sapkázás<br />

12.1 Aktiválás, deaktiválás<br />

Lyukasztás és sapkázás helyben<br />

A löket kioldása csak akkor történik meg, ha a mondat a lyukasztó vagy sapkázó tengelyre<br />

mozgás (az aktív sík tengelyei) információt tartalmaz.<br />

Egy löket kioldásához azonos helyen a lyukasztó vagy sapkázó tengelyt 0 mozgásúttal kell<br />

programozni.<br />

Munka forgatható szerszámokkal<br />

Megjegyzés<br />

A forgatható szerszámoknak a programozott pályához érintőleges beállítására használjuk az<br />

érintő-vezérlést.<br />

M utasítások használata<br />

A makrótechnika felhasználásával a nyelvi utasítások helyett M utasításokat is<br />

használhatunk (kompatibilitás): Ennél a következő megfelelések érvényesek a régi<br />

rendszerrel:<br />

M20, M23<br />

M22<br />

M25<br />

M26<br />

≙<br />

≙<br />

≙<br />

≙<br />

SPOF<br />

SON<br />

PON<br />

PDELAYON<br />

Példa makrófájlra:<br />

Programkód<br />

Kommentár<br />

DEFINE M25 AS PON ; lyukasztás be<br />

DEFINE M125 AS PONS ; sapkázás előfeszítéssel be<br />

DEFINE M22 AS SON ; sapkázás be<br />

DEFINE M122 AS SONS ; sapkázás előfeszítéssel be<br />

DEFINE M26 AS PDELAYON ; lyukasztás késleltetéssel be<br />

DEFINE M20 AS SPOF ; lyukasztást, sapkázást ki<br />

DEFINE M23 AS SPOF ; lyukasztást, sapkázást ki<br />

Programozási példa:<br />

Programkód<br />

Kommentár<br />

...<br />

N100 X100 M20 ; pozícionálás lyukasztás nélkül<br />

N110 X120 M22 ; sapkázást aktiválni, mozgás előtt és után löket<br />

N120 X150 Y150 M25 ; lyukasztást aktiválni, löket a mozgás végén<br />

...<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 659


Lyukasztás és sapkázás<br />

12.2 Automatikus útfeldolgozás<br />

12.2 Automatikus útfeldolgozás<br />

Funkció<br />

Felosztás rész-szakaszokra<br />

Az aktív lyukasztásnál ill. sapkázásnál úgy az SPP, mint az SPN a pályatengelyekre<br />

programozott össz-elmozdulás felosztását eredményezi azonos hosszúságú részszakaszokra<br />

(azonos távolságú út-felosztás). Belül minden rész-szakasz egy mondatnak<br />

felel meg.<br />

Löketek száma<br />

A lyukasztásnál az első löket az első rész-szakasz végén történik, sapkázásnál ezzel<br />

szemben az első rész-szakasz kezdetén. A teljes mozgási szakaszra ezzel a következő<br />

számok adódnak:<br />

lyukasztás: löketek száma = rész-szakaszok száma<br />

sapkázás: löketek száma = rész-szakaszok száma + 1<br />

Segédfunkciók<br />

A segédfunkciók az első létrehozott mondatban lesznek végrehajtva.<br />

Szintaxis<br />

SPP=<br />

SPN=<br />

Jelentés<br />

SPP<br />

SPN<br />

rész-szakasz nagyság (maximális löket-távolság); modálisan hat<br />

rész-szakaszok száma mondatonként; mondatonként hat<br />

Munka-előkészítés<br />

660 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Lyukasztás és sapkázás<br />

12.2 Automatikus útfeldolgozás<br />

Példa 1<br />

A programozott sapkázó szakaszokat automatikusan azonos nagyságú rész-szakaszokra<br />

kell felosztani.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

N100 G90 X130 Y75 F60 SPOF<br />

N110 G91 Y125 SPP=4 SON<br />

N120 G90 Y250 SPOF<br />

N130 X365 SON<br />

N140 X525 SPOF<br />

N150 X210 Y75 SPP=3 SON<br />

N160 X525 SPOF<br />

N170 G02 X-62.5 Y62.5 I J62.5 SPP=3 SON<br />

N180 G00 G90 Y300 SPOF<br />

Kommentár<br />

; pozícionálás kezdőpont 1-re<br />

; sapkázás be; maximális rész-szakasz hossz<br />

automatikus út felosztásra: 4 mm<br />

; sapkázás ki; pozícionálás kezdőpont 2-re<br />

; sapkázás be; maximális rész-szakasz hossz<br />

automatikus út felosztásra: 4 mm<br />

; sapkázás ki; pozícionálás kezdőpont 3-ra<br />

; sapkázás be; maximális rész-szakasz hossz<br />

automatikus út felosztásra: 3 mm<br />

; sapkázás ki; pozícionálás kezdőpont 4-re<br />

; sapkázás be; maximális rész-szakasz hossz<br />

automatikus út felosztásra: 3 mm<br />

; sapkázás ki<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 661


Lyukasztás és sapkázás<br />

12.2 Automatikus útfeldolgozás<br />

Példa 2<br />

Az egyes lyuksorokra automatikus út felosztás szükséges. A felosztásra mindig meg van<br />

adva a maximális rész-szakasz hossz (SPP-érték).<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

Kommentár<br />

N100 G90 X75 Y75 F60 PON ; pozícionálás kezdőpont 1-re;<br />

lyukasztás be egyes lyuk lyukasztás<br />

N110 G91 Y125 SPP=25 ; maximális rész-szakasz hossz<br />

automatikus út felosztásra: 25 mm<br />

N120 G90 X150 SPOF ; lyukasztás ki; pozícionálás kezdőpont 2-re<br />

N130 X375 SPP=45 PON ; lyukasztás be; maximális rész-szakasz hossz<br />

automatikus út felosztásra: 45 mm<br />

N140 X275 Y160 SPOF ; lyukasztás ki; pozícionálás kezdőpont 3-ra<br />

N150 X150 Y75 SPP=40 PON ; lyukasztás be; a programozott 40 mm-es ;részszakasz<br />

hossz helyett a kiszámított<br />

37,79 mm ész-szakasz hossz lesz használva<br />

N160 G00 Y300 SPOF ; lyukasztás ki; pozícionálás<br />

Munka-előkészítés<br />

662 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Lyukasztás és sapkázás<br />

12.2 Automatikus útfeldolgozás<br />

12.2.1 Út felosztás pályatengelyeknél<br />

SPP rész-szakasz hossza<br />

Az SPP-vel megadjuk a maximális lökettávolságot és ezzel a rész-szakaszok maximális<br />

hosszát, amelyekre az össz-hosszat fel kell osztani. Az utasítás kikapcsolása SPOF -fal vagy<br />

SPP=0-val történik.<br />

Példa:<br />

N10 SON X0 Y0<br />

N20 SPP=2 X10<br />

A 10 mm-es össz-hossz 5 db 2 mm-es rész-szakaszra (SPP=2) lesz felosztva.<br />

Megjegyzés<br />

Az út felosztása SPP -vel mindig azonos távolságokkal történik: minden rész-szakasz<br />

azonos hosszú. Ez azt jelenti, hogy a programozott rész-szakasz méret (SPPértéke) csak<br />

akkor érvényes, ha az össz-hossz és az SPP-érték hányadosa egészszám. Ha ez nem így<br />

van, akkor a rész-szakaszok mérete belül úgy lesz csökkentve, hogy egészszámú hányados<br />

adódjon.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Példa:<br />

N10 G1 G91 SON X10 Y10<br />

N20 SPP=3.5 X15 Y15<br />

A 15 mm-es össz-hossznál és egy 3,5 mm-es rész-szakasz méretnél nem adódik<br />

egészszámú hányados (4.28). Ezért az SPP-érték csökken a következő lehetséges<br />

egészszámú hányadosig. Ebben az esetben egy 3 mm-es rész-szakasz hossz adódik.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 663


Lyukasztás és sapkázás<br />

12.2 Automatikus útfeldolgozás<br />

Rész-szakaszok száma SPN<br />

Az SPN -nel adjuk meg a rész-szakaszok számát, amelyeket az össz-hosszból kell<br />

létrehozni. A rész-szakaszok hossza automatikusan lesz kiszámítva. Mivel az SPN<br />

mondatonként hatásos, előbb a lyukasztást vagy sapkázást PON -nal vagy SON -nal aktiválni<br />

kell.<br />

SPP és SPN ugyanabban a mondatban<br />

Ha egy mondatban programozzuk a rész-szakasz hosszat (SPP) és a rész-szakaszok számát<br />

(SPN)is, akkor ere a mondatra az SPN érvényes, az összes többire az SPP. Ha az SPP már az<br />

SPN előtt aktiválva lett, akkor az SPN -t tartalmazó mondat után újra hatásos lesz.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Megjegyzés<br />

Ha a lyukasztás/sapkázás a vezérlésben alapvetően rendelkezésre áll, akkor az automatikus<br />

útfelosztás programozása az SPN ill. SPP-vel ettől a technológiától függetlenül is aktválható.<br />

Munka-előkészítés<br />

664 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Lyukasztás és sapkázás<br />

12.2 Automatikus útfeldolgozás<br />

12.2.2 Út felosztás egyes tengelyeknél<br />

Ha a pályatengelyek mellett egyes tengelyek is vannak lyukasztó-sapkázó tengelyként<br />

definiálva, akkor ezek is érintettek lehetnek az automatikus útfelosztásban.<br />

Egyes tengelyek viselkedése SPP-nél<br />

A rész-szakaszok programozott hossza (SPP) alapvetően a pályatengelyekre vonatkozik.<br />

Ezért egy mondatban, amelyben az egyes tengely mozgás és az SPP-érték mellett nincs<br />

pályatengely programozva, az SPP-érték nem számít.<br />

Ha egyes és pályatengelyek is vannak a mondatban programozva, az egyes tengely<br />

viselkedése a megfelelő gépadat beállításhoz igazodik.<br />

1. alapbeállítás<br />

Az egyes tengely útja egyenletesen lesz az SPP által létrehozott közbenső mondatokra<br />

elosztva.<br />

Példa:<br />

N10 G1 SON X10 A0<br />

N20 SPP=3 X25 A100<br />

A 3 mm-es löketszakasz miatt az X tengely (pályatengely) teljes 15 mm-es mozgási útjából 5<br />

mondat lesz létrehozva.<br />

Az A tengely ezzel minden mondatban 20°-ot fordul el.<br />

<br />

<br />

<br />

<br />

<br />

<br />

1. Egyes tengely útfelosztás nélkül<br />

Az egyes tengely a teljes utat az első létrehozott mondatban teszi meg.<br />

2. Különböző útfelosztás<br />

Az egyes tengely viselkedése a pályatengelyek interpolációjától függ:<br />

● kör-interpoláció: út-felosztás<br />

● egyenes interpoláció: nincs út felosztás<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 665


Lyukasztás és sapkázás<br />

12.2 Automatikus útfeldolgozás<br />

Viselkedés SPN-nél<br />

A rész-szakaszok programozott száma akkor is érvényes, ha nincs egyidejűleg egy<br />

pályatengely is programozva.<br />

Előfeltétel: az egyes tengely lyukasztó-sapkázó tengelyként van definiálva.<br />

Munka-előkészítés<br />

666 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Köszörülés 13<br />

13.1 Köszörülés-specifikus szerszámfelügyelet<br />

munkadarabprogramokban (TMON, TMOF)<br />

Funkció<br />

A TMON utasítással lehet a köszörűszerszámokra (400 - 499 típus) a geometria- és<br />

fordulatszám-felügyletet az NC munkadarabprogramban aktiválni. A felügyelet aktív marad,<br />

amíg a munkadarabprogramban a TMOF utasítással le nem lesz kapcsolva..<br />

Megjegyzés<br />

Vegyük ehhez figyelembe a gépgyártó tájékoztatásait.<br />

Előfeltétel<br />

A $TC_TPG1 ... $TC_TPG9 köszörülés-specifikus szerszámparaméterek be kell legyenek<br />

állítva.<br />

Szintaxis<br />

TMON()<br />

TMOF()<br />

Jelentés<br />

TMON<br />

TMOF<br />

<br />

TMOF(0)<br />

utasítás a köszörülés-specifikus szerszám-felügyelet bekapcsolására<br />

utasítás a köszörülés-specifikus szerszám-felügyelet kikapcsolására<br />

T-szám megadása<br />

Utalás:<br />

Csak akkor szükséges, ha ez a T-számú szerszám nem aktív.<br />

Felügyelet kikapcsolása az összes szerszámra<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 667


Köszörülés<br />

13.1 Köszörülés-specifikus szerszámfelügyelet munkadarabprogramokban (TMON, TMOF)<br />

További információk<br />

Köszörülés-specifikus szerszám-paraméterek<br />

Paraméter Jelentés Adattípus<br />

$TC_TPG1 orsószám INT<br />

$TC_TPG2<br />

Láncolás előírás<br />

INT<br />

A paraméterek automatikusan a bal és a jobb oldal<br />

számára azonosak lesznek.<br />

$TC_TPG3 minimális tárcsasugár REAL<br />

$TC_TPG4 maximális tárcsaszélesség REAL<br />

$TC_TPG5 aktuális tárcsaszélesség REAL<br />

$TC_TPG6 maximális fordulatszám REAL<br />

$TC_TPG7 maximális kerületi-sebesség REAL<br />

$TC_TPG8 ferde tárcsa szöge REAL<br />

$TC_TPG9 paraméter szám a sugár leírásához INT<br />

Irodalom:<br />

Alap funkciók működési kézikönyv; Szerszámkorrekciók (W1)<br />

Szerszám-felügyelet bekapcsolása a szerszám kiválasztásával<br />

Egy gépadattól függően a köszörű-szerszámokra (400 - 499 típus) a szerszám-felügyeletet<br />

közvetetten is be lehet kapcsolni a szerszám kiválasztásával.<br />

Bármely időpontban egy orsóra csak egy felügyelet lehet aktív.<br />

Geometria-felügyelet<br />

Az aktuális tárcsasugár és az aktuális szélesség van felügyelve.<br />

A fordulatszám-parancsérték felügyelete a fordulatszám-határokra ciklikusan történik az<br />

orsó-override figyelembe vételével.<br />

A fordulatszám-határérték a kisebb érték, amelyik a maximális tárcsa-kerületi sebességből<br />

és az aktuális tárcsasugárból kiszámított fordulatszám és a maximális fordulatszám<br />

összehasonlításából adódik.<br />

Munka T- és D-szám nélkül<br />

Gépadatban alap-beállításként meg lehet adni egy T számot és egy D számot, amit már<br />

nem kell programozni és Power On / Reset után hatásos.<br />

Példa: Munka ugyanazzal a köszörűtárcsával<br />

Gépadattal be lehet állítani, hogy az aktív szerszám Reset-nél megmaradjon (lásd "Szabad<br />

D-szám megadás, vágóélszám (Oldal 429)").<br />

Munka-előkészítés<br />

668 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók 14<br />

14.1 Tengely funkciók (AXNAME, AX, SPI, AXTOSPI, ISAXIS,<br />

AXSTRING, MODAXVAL)<br />

Funkció<br />

Az AXNAME pl. általánosan érvényes ciklusok készítésénél használható, ha a tengelyek neve<br />

nem ismert<br />

Az AX-t a geometria- és szinkrontengelyek közvetett programozására használják. A tengelyjelölő<br />

egy AXIS típusú változóban lesz megadva vagy egy utasítás adja, mint az AXNAME vagy<br />

SPI.<br />

Az SPI-t a tengelyfunkcióknak orsóra, pl. szinkron-orsóra alkalmazásánál használják.<br />

Az AXTOSPI-t egy tengely-jelölőnek egy orsó indexre átalakításához használják (az SPI<br />

fordított funkciója).<br />

Az AXTOSPI-t egy tengely-jelölőnek egy orsó indexre átalakításához használják (az SPI<br />

fordított funkciója).<br />

Az ISAXIS-t általánosan érvényes ciklusokban használják annak a megállapítására, hogy egy<br />

megadott geometria-tengely létezik-e és ezzel egy következő $P_AXNX-hívás nem lesz-e<br />

hibával megszakítva.<br />

A MODAXVAL-t a modulo-körtengelyeknél a modulo-pozíció megállapítására használják.<br />

Szintaxis<br />

AXNAME("string")<br />

AX[AXNAME("string")]<br />

SPI(n)<br />

AXTOSPI(A) vagy AXTOSPI(B) vagy AXTOSPI(C)<br />

AXSTRING(SPI(n))<br />

ISAXIS()<br />

=MODAXVAL(,)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 669


További funkciók<br />

14.1 Tengely funkciók (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL)<br />

Jelentés<br />

AXNAME<br />

AX<br />

SPI<br />

n<br />

AXTOSPI<br />

X, Y, Z<br />

AXSTRING<br />

ISAXIS<br />

MODAXVAL<br />

Egy bemeneti stringet alakít át tengely-jelölőre; bemeneti string kell<br />

tartalmazzon érvényes tengelynevet.<br />

változó tengely-jelölő<br />

Orsószámot alakít át tengely-jelölőre; az átadása paraméter kell egy<br />

érvényes orsószámot tartalmazzon.<br />

orsószám<br />

Egy tengely-jelölőt alakít át Integer típusú orsó-indexre. Az AXTOSPI az<br />

SPI funkció fordítottja.<br />

AXIS típusú tengely-jelölők változóként vagy állandóként<br />

String kiadása a hozzárendelt orsószámmal.<br />

Megvizsgálja, hogy a geometria-tengely létezik-e.<br />

Megállapítja egy modulo-körtengely modulo-pozícióját; ez megfelel a<br />

modulo maradék vonatkoztatva a modulo-tartományra (alap<br />

beállításban 0 ... 360 fok; a MD30340 MODULO_RANGE_START és<br />

MD30330 $MA_MODULO_RANGE által lehet a modulo-tartomány<br />

kezdetét és méretét változtatni).<br />

Megjegyzés<br />

SPI bővítések<br />

Az SPI(n) tengelyfunkció használható frame-komponensek olvasására és írására is. Ezzel a<br />

frame-k pl.$P_PFRAME[SPI(1),TR]=2.22 szintaxissal írhatók.<br />

A tengely-pozíciók kiegészítő programozásával az AX[SPI(1)]= címmel<br />

lehet egy tengelyt mozgatni. Ennek előfeltétele, hogy az orsó pozícionáló vagy tengelyüzemben<br />

van.<br />

Példák<br />

Példa 1: AXNAME, AX, ISAXIS<br />

Programkód<br />

Kommentár<br />

OVRA[AXNAME("Planachse")]=10 ; Planachse override<br />

AX[AXNAME("Planachse")]=50.2 ; Planachse végpozíció<br />

OVRA[SPI(1)]=70 ; orsó 1 override<br />

AX[SPI(1)]=180 ; orsó 1 végpozíció<br />

IF ISAXIS(1)==FALSE GOTOF WEITER ; abszcissza létezik?<br />

AX[$P_AXN1]=100 ; abszcissza mozgás<br />

WEITER:<br />

Munka-előkészítés<br />

670 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.1 Tengely funkciók (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL)<br />

Példa 2: AXSTRING<br />

Az AXSTRING[SPI(n) ] programozásánál nem az orsóhoz hozzárendelt tengely tengelyindexe<br />

kiadva orsó-számként, hanem az "Sn" string lesz kiadva.<br />

Programkód<br />

Kommentár<br />

AXSTRING[SPI(2)] ; Az "S2" stringet adja ki.<br />

Példa 3: MODAXVAL<br />

Az A modulo-körtengely modulo-pozícióját kell megállapítani.<br />

A számítás kimeneti értéke a 372.55 tengely-pozíció.<br />

A paraméterezett modulo-tartomány 0 ... 360 fok:<br />

MD30340 MODULO_RANGE_START = 0<br />

MD30330 $MA_MODULO_RANGE = 360<br />

Programkód<br />

Kommentár<br />

R10=MODAXVAL(A,372.55) ; kiszámított modulo pozíció R10 = 12.55.<br />

Példa 4: MODAXVAL<br />

Ha a programozott tengely-jelölő nem egy modulo-körtengelyre vonatkozik, akkor az<br />

átalakítandó érték () változatlanul lesz visszaadva.<br />

Programkód<br />

Kommentár<br />

R11=MODAXVAL(X,372.55) ; X ilineáris tengely; R11 = 372.55.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 671


További funkciók<br />

14.2 Átkapcsolható geometria-tengelyek (GEOAX)<br />

14.2 Átkapcsolható geometria-tengelyek (GEOAX)<br />

Funkció<br />

Az "Átkapcsolható geometria-tengelyek" funkcióval a gépadatokkal konfigurált geometriatengely-egyesülést<br />

a munkadarabprogramból meg lehet változtatni. Ezzel egy szinkron<br />

kiegészítő tengelyként meghatározott csatorna tengely egy tetszőleges geometria-tengelyt<br />

helyettesíthet.<br />

Szintaxis<br />

GEOAX(,,,,,)<br />

GEOAX()<br />

Jelentés<br />

GEOAX(...)<br />

utasítás a geometria-tengelyek átkapcsolására<br />

Utalás:<br />

GEOAX() paraméter-átadás nélkül a geometria-tengely alapkonfigurációját<br />

hívja fel.<br />

<br />

Ezzel a paraméterrel lesz megadva a geometria-tengely száma, amelyet<br />

a következőként megadott csatorna-tengelyhez kell rendelni.<br />

értéktartomány: 1, 2 vagy 3<br />

Utalás:<br />

=0-val a következőként megadott csatornatengelyt helyettesítés<br />

nélküli el lehet távolítani a geometria-tengely egyesülésből<br />

Ezzel a paraméterrel lesz megadva a csatornatengely neve, amit fel kell<br />

venni a geometria-tengely egyesülésbe.<br />

Munka-előkészítés<br />

672 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.2 Átkapcsolható geometria-tengelyek (GEOAX)<br />

Példák<br />

Példa 1: Két tengelyt váltakozva geometriai tengelyként átkapcsolni<br />

Egy szerszámszán mozgatható az X1, Y1, Z1, Z2 tengelyekkel.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A geometria-tengelyek úgy vannak megtervezve, hogy a bekapcsolás után először a Z1 mint<br />

3. geometria-tengely a "Z" geometria-tengely névvel hatásos és az X1-gyel és Y1-gyel egy<br />

geometria-tengely egyesülést alkotnak.<br />

A munkadarab-programban a Z1 és Z2 tengelyek felváltva Z geometria-tengelyként kerülnek<br />

alkalmazásra.<br />

Programkód<br />

Kommentár<br />

...<br />

N100 GEOAX(3,Z2) ; 3. geometria-tengelyként (Z) a Z2 csatornatengely<br />

szerepel<br />

N110 G1 ...<br />

N120 GEOAX(3,Z1) ; 3. geometria-tengelyként (Z) a Z1 csatornatengely<br />

szerepel<br />

...<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 673


További funkciók<br />

14.2 Átkapcsolható geometria-tengelyek (GEOAX)<br />

Példa 2: Geometria-tengelyek átkapcsolása 6 csatornatengely esetén<br />

Egy gépnek 6 csatornatengelye van, XX, YY, ZZ, U, V , W nevekkel ellátva.<br />

A geometria-tengely konfiguráció alapbeállítása gépadatokkal a következő:<br />

XX csatornatengely = 1. geometria-tengely (X tengely)<br />

YY csatornatengely = 2. geometria-tengely (Y tengely)<br />

ZZ csatornatengely = 3. geometria-tengely (Z tengely)<br />

Programkód<br />

Kommentár<br />

N10 GEOAX() ; A geometria-tengelyek alapkonfigurációja hatásos.<br />

N20 G0 X0 Y0 Z0 U0 V0 W0 ; Minden tengely gyorsmenetben 0 pozícióra.<br />

N30 GEOAX(1,U,2,V,3,W) ; U csatornatengely lesz az első (X), V a második (Y),<br />

W a harmadik geometria-tengely (Z).<br />

N40 GEOAX(1,XX,3,ZZ) ; XX csatornatengely lesz az első (X), ZZ a harmadik<br />

geometria-tengely (Z). V csatornatengely marad a<br />

második geometria-tengely(Y).<br />

N50 G17 G2 X20 I10 F1000 ; Teljes kör az X-, Y-síkban. A XX és V<br />

csatornatengelyek mozognak.<br />

N60 GEOAX(2,W) ; W csatornatengely lesz a második geometria-tengely<br />

(Y).<br />

N80 G17 G2 X20 I10 F1000 ; Teljes kör az X-, Y-síkban. A XX és W<br />

csatornatengelyek mozognak.<br />

N90 GEOAX() ; Visszaállás az alapállapotra<br />

N100 GEOAX(1,U,2,V,3,W) ; U csatornatengely lesz az első (X), V a második (Y),<br />

W a harmadik geometria-tengely (Z).<br />

N110 G1 X10 Y10 Z10 XX=25 ; U, V, W csatornatengelyek a 10-es pozícióra mennek,<br />

XX mint póttengely a 25-ös pozícióra megy.<br />

N120 GEOAX(0,V) ; V ki lesz véve a geometria-tengely egyesülésből.<br />

U és W továbbra is első (X) és harmadik geometriatengely<br />

(Z). A második geometria- ;tengely (Y)<br />

szabadon marad.<br />

N130 GEOAX(1,U,2,V,3,W) ; U csatornatengely marad az első (X), V lesz a második<br />

(Y), W marad a harmadik geometria-tengely (Z).<br />

N140 GEOAX(3,V) ; V lesz a harmadik geometria-tengely (Z), ezáltal W<br />

felül lesz írva és ki lesz véve a geometria-tengely<br />

egyesülésből. A második geometria-tengely (Y)<br />

továbbra is szabadon marad.<br />

Munka-előkészítés<br />

674 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.2 Átkapcsolható geometria-tengelyek (GEOAX)<br />

Megjegyzés<br />

Tengely-konfiguráció<br />

A geometria-tengelyek, kiegészítő-tengelyek, csatornatengelyek és géptengelyek<br />

összerendelése és az egyes tengelytípusok neveinek megadása a következő gépadatokkal<br />

történik:<br />

MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (geometria-tengelyek hozzárendelése<br />

csatornatengelyekhez)<br />

MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometria-tengelyek neve a csatornában)<br />

MD20070 $MC_AXCONF_MACHAX_USED (érvényes géptengely-szám a csatornában)<br />

MD20080 $MC_AXCONF_CHANAX_NAME_TAB (csatornatengely-név a csatornában)<br />

MD10000 $MN_AXCONF_MACHAX_NAME_TAB (géptengely-név)<br />

MD35000 $MA_SPIND_ASSIGN_TO_MACHAX (orsó hozzárendelése géptengelyhez)<br />

Irodalom:<br />

Alap funkciók működési kézikönyv; Tengelyek, koordináta-rendszerek, frame-k (K2)<br />

Korlátozások<br />

● A geometria-tengelyek átkapcsolása nem lehetséges:<br />

– aktív transzformációnál<br />

– aktív spline-interpolációnál<br />

– aktív szerszámsugár-korrekciónál<br />

– aktív szerszám-finomkorrekciónál<br />

● Ha geometria-tengelynek és csatorna-tengelynek ugyanaz a neve, akkor nem lehetséges<br />

az adott geometria-tengely cseréje.<br />

● Az átkapcsolásban résztvevő tengelyek egyike sem vehet részt olyan akcióban, ami<br />

eltarthat a mondathatárokon túl, amint ez pl. A típusú pozicionáló-tengelyeknél vagy<br />

követő-tengelyeknél lehetséges.<br />

● A GEOAX utasítással csak már a bekapcsolásnál létező geometria-tengelyeket lehet<br />

helyettesíteni (tehát nem lehet újakat hozzádefiniálni).<br />

● Egy GEOAX-szal történő csere a kontúrtáblázat feldolgozása közben (CONTPRON, CONTDCON)<br />

vészjelzéshez vezet.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 675


További funkciók<br />

14.2 Átkapcsolható geometria-tengelyek (GEOAX)<br />

Peremfeltételek<br />

Tengelyállapot a helyettesítés után<br />

Egy, a geometria-tengely egyesülésben való átkapcsolással helyettesített tengely az<br />

átkapcsolási eljárás után a csatornatengely-névvel kiegészítő tengelyként programozható.<br />

Frame-k, védelmi tartományok, munkatér-határolások<br />

A geometria-tengelyek átkapcsolásával minden frame, védelmi tartomány és munkatérhatárolás<br />

ki lesz törölve.<br />

Polár-koordináták<br />

Egy geometria-tengely csere GEOAXX-szal a G17-G19 síkváltással analóg módon a modális<br />

polár-koordinátákat 0 értékre állítja.<br />

DRF, NPE<br />

Egy esetleges kézikerék-eltolás (DRF) vagy egy külső nullapont-eltolás (NPE) az<br />

átkapcsolás után hatásos marad.<br />

A geometria-tengelyek alap-konfigurációja<br />

A GEOAX() utasítás a geometria-tengely egyesülés alap-konfigurációját hívja fel.<br />

POWER ON után és "Referenciapontra menet" üzemmódra való átkapcsolásnál<br />

automatikusan vissza lesz kapcsolva az alap-konfigurációra.<br />

Szerszámhossz-korrekció<br />

Egy aktív szerszámhossz-korrekció az átkapcsolási eljárás után is hatásos. Azonban az<br />

újként felvett ill. pozícióban cserélt geometria-tengelyekre még nem megtettnek számít.<br />

Ennek megfelelően az első mozgásparancsnál ezen geometria-tengelyekre az eredő<br />

mozgásút a szerszámhossz-korrekció és a programozott mozgásút összegéből adódik.<br />

Geometria-tengelyek, amelyek egy átkapcsolásnál megtartják a tengely-egyesülésbeli<br />

pozíciójukat, a szerszámhossz-korrekcióra vonatkozó állapotukat is megtartják.<br />

Geometria-tengely konfiguráció aktív transzformációnál<br />

Egy aktív transzformációban érvényes geometria-tengely konfiguráció (gépadattal rögzítve)<br />

az "Átkapcsolható geometria-tengelyek" funkcióval nem változtatható meg.<br />

Ha szükséges, hogy transzformációkkal összefüggésben megváltoztassuk a geometriatengely<br />

konfigurációt, akkor ez egy további transzformációval lehetséges.<br />

Egy GEOAX-szal megváltoztatott geometria-tengely konfiguráció egy transzformáció<br />

aktiválásával ki lesz törölve.<br />

Ha a gépadatok beállításai a transzformációk és a geometria-tengelyek átkapcsolása<br />

számára ellentmondanak egymásnak, akkor a transzformációban lévő beállításoknak<br />

elsőbbsége van.<br />

Példa:<br />

Egy transzformáció aktív. A gépadatok alapján a transzformációnak egy RESET-nél meg kell<br />

maradnia, azonban ezzel egyidőben egy RESET-nél a geometria-tengelyek<br />

alapkonfigurációját elő kell állítani. Ebben az esetben a geometria-tengely konfiguráció<br />

megmarad, ahogy a transzformációval meg lett adva.<br />

Munka-előkészítés<br />

676 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.3 Tengely-konténer (AXCTWE, AXCTWED)<br />

14.3 Tengely-konténer (AXCTWE, AXCTWED)<br />

Funkció<br />

A körütemű gépeknél / többorsós gépeknél a munkadarabot hordozó tengelyek az egyik<br />

megmunkáló-egységtől a következőhöz mozognak. Mivel a megmunkáló-egységek<br />

különböző NCU-csatornákhoz tartoznak, egy állomás/helyzet váltásnál a munkadarabot<br />

hordozó tengelyeket a megfelelő NCU-csatornához dinamikusan újra hozzá kell rendelni. Ezt<br />

a célt szolgálják a tengely-konténerek.<br />

Egy időpontban mindig csak egy a munkadarabot hordozó tengely/orsó aktív a helyi<br />

megmunkáló egységben. A tengely-konténer állítja össze az összes a felvevő tengely/orsó<br />

kapcsolati lehetőségeit, amelyekből mindig csak pontosan egy lehet a megmunkálóegységre<br />

aktiválva.<br />

Az egy tengely-konténer által definiált használható tengelyek váltása a bevitelek eltolásával<br />

történik a tengely-konténerben (tengely-konténer forgatás) a beállítási adatban megadott<br />

lépéshosszal (helyek száma):<br />

A tengely-konténer forgatás felhívása a munkadarabprogramból az AXCTSWE ill. AXCTSWED<br />

utasítással történik.<br />

Szintaxis<br />

AXCTSWE()<br />

AXCTSWED()<br />

Jelentés<br />

AXCTSWE<br />

AXCTSWED<br />

utasítás egy tengely-konténer forgatására<br />

Ha a vezérlésbe beérkezett a konténer tengelyeinek összes<br />

csatornájára az engedélyezés, a konténer forgatás az SD41700<br />

$SN_AXCT_SWWIDTH[]-ban megadott konténerspecifikus<br />

lépéshosszal történik.<br />

utasítás egy tengely-konténer forgatására az aktív csatorna<br />

egyedüli hatása alatt (utasítás változat üzembehelyezéshez!)<br />

Utalás:<br />

A konténerben megadott tengelyek engedélyezve lesznek, ha a<br />

többi csatorna, amelyeknek van tengelye a csatornában,<br />

RESETállapotban van.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 677


További funkciók<br />

14.3 Tengely-konténer (AXCTWE, AXCTWED)<br />

<br />

tengely-konténer jelölője, amit tovább kell kapcsolni<br />

Lehetséges megadások:<br />

CT<br />

<br />

A CT betűkombinációhoz lesz a szám<br />

hozzátéve.<br />

Példa: CT3<br />

A tengely-konténernek<br />

MD12750 $MN_AXCT_NAME_TABbal<br />

beállított egyedi neve.<br />

Példa: A_CONT3<br />

További információk<br />

Tengely-konténer<br />

A tengely-konténerben összerendelhetők:<br />

● lokális tengelyek és/vagy<br />

● Csatolt tengelyek<br />

A tengely-konténer csatolt-tengelyekkel egy NCU-kat átfogó (NCU globális) eszköz, amelyet<br />

a vezérlés koordinál. Kizárólag lokális tengelyeket kezelő tengely-konténer is lehetséges.<br />

Irodalom:<br />

Bővítő funkciók működési kézikönyv; Több kezelőhely több NCU-n, decentralizált rendszerek<br />

(B3)<br />

Engedélyezési kritériumok<br />

AXCTSWE( )<br />

Minden csatorna, melynek tengelyei a megadott konténerbe be vannak vive, adja az<br />

engedélyezést egy konténer-forgatásra (enable), ha a megmunkálással a hely/állomás kész<br />

van. Ha a vezérlésbe beérkezett a konténer tengelyeinek összes csatornájára az<br />

engedélyezés, a konténer forgatás az SD41700 $SN_AXCT_SWWIDTH[]-<br />

ban megadott konténer-specifikus lépéshosszal történik.<br />

Munka-előkészítés<br />

678 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.3 Tengely-konténer (AXCTWE, AXCTWED)<br />

Példa:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A tengely-konténerforgatás 1-gyel után a Z csatornatengely az NCU1 AX1 tengelye helyett<br />

AX5 tengelyéhez van rendelve.<br />

AXCTSWED( )<br />

A AXCTSWED() utasítás változatot az üzembehelyezés egyszerűsítésére lehet használni. A<br />

tengely-konténer csak az aktív csatorna hatására forog el az<br />

SD41700 $SN_AXCT_SWWIDTH[]-ben megadott lépésmérettel. Ezt a<br />

felhívást csak akkor szabad használni, ha a többi csatorna, amelyeknek tengelyei vannak a<br />

csatornában, Reset-állapotban van.<br />

Hatásosság<br />

Az új tengely-hozzárendelés egy tengely-konténerforgás után minden NCU-t érint, amelyek<br />

csatornái a logikai géptengely leképezés által a forgatott tengely-konténerre mutatnak.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 679


További funkciók<br />

14.3 Tengely-konténer (AXCTWE, AXCTWED)<br />

Tengely-konténer forgatása implicit GET/GETD-vel<br />

Egy tengely-konténer forgatás engedélyezésénél a csatornához hozzárendelt összes<br />

tengely-konténer tengely GET ill. GETD-vel a csatornához hozzárendelve. A tengelyek leadása<br />

csak a tengely-konténer forgatás után ismét megengedett,<br />

Megjegyzés<br />

Ezt a viselkedést egy gépadat bittel lehet beállítani. Vegyük ehhez figyelembe a gépgyártó<br />

tájékoztatásait.<br />

Megjegyzés<br />

A tengely-konténer forgatást implicit GET / GETD-vel egy főfutás-tengely állapotban levő<br />

tengelyre, pl. egy PLC-tengelyre nem alkalmazható, mivel ezt az állapotot a tengelyt a<br />

tengely-konténer forgatáshoz el kellene hagyja.<br />

Munka-előkészítés<br />

680 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.4 Várni érvényes tengelypozícióra (WAITENC)<br />

14.4 Várni érvényes tengelypozícióra (WAITENC)<br />

Funkció<br />

A WAITENC utasítással az NC programban lehet várni, amíg az<br />

MD34800 $MA_WAIT_ENC_VALID = 1-gyel beállított tengelyekre a szinkronizált ill.<br />

helyreállított tengelypozíciók rendelkezésre állnak.<br />

A várakozási állapotban lehet egy megszakítás, pl. egy ASUP indításával vagy üzemmód<br />

váltással JOG-ba. A program folytatásával a várakozási állapot adott esetben újra fel lesz<br />

véve.<br />

Megjegyzés<br />

A várakozási állapot a kezelőfelületen a "Várakozás mérőrendszerre" állapottal ki lesz<br />

jelezve.<br />

Szintaxis<br />

A WAITENC-t egy tetszőleges NC program programrészében lehet programozni.<br />

A programozás egy önálló mondatban kell legyen.<br />

...<br />

WAITENC<br />

...<br />

Példa<br />

A WAITENC pl az .../_N_CMA_DIR/_N_PROG_EVENT_SPF esemény-vezérelt felhasználói<br />

programban lesz használva a következő alkalmazási példa szerint.<br />

Alkalmazási példa:Szerszám visszahúzás POWER OFF után tájolási transzformációval<br />

Egy megmunkálás szerszámtájolással feszültség kimaradás miatt megszakadt.<br />

Az ezt követő felfutásnál az .../_N_CMA_DIR/_N_PROG_EVENT_SPF esemény-vezérelt<br />

felhasználói program lesz felhívva.<br />

Az esemény-vezérelt felhasználói programban WAITENC-vel várakozás van a szinkronizált ill<br />

helyreállított tengelypozíciókra, ami után egy frame lesz kiszámítva, ami az MKR-t a<br />

szerszámirányba állítja be.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 681


További funkciók<br />

14.4 Várni érvényes tengelypozícióra (WAITENC)<br />

Programkód<br />

...<br />

IF $P_PROG_EVENT == 4<br />

IF $P_TRAFO 0<br />

WAITENC<br />

TOROTZ<br />

ENDIF<br />

M17<br />

ENDIF<br />

...<br />

Kommentár<br />

; felfutás<br />

; transzformáció ki lett kapcsolva<br />

; várni a tájolási tengelyek érvényes tengelypozícióra<br />

; MKR Z tengelyét a szerszámtengely irányába forgatni<br />

Ezután lehet a szerszámot JOG üzemmódban egy visszahúzási mozgással a<br />

szerszámtengely irányában szabadra vinni.<br />

Munka-előkészítés<br />

682 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.5 NC-nyelv meglevő terjedelmének vizsgálata (STRINGIS)<br />

14.5 NC-nyelv meglevő terjedelmének vizsgálata (STRINGIS)<br />

Funkció<br />

A STRINGIS(...) funkcióval meg lehet vizsgálni, hogy a megadott string az NC programnyelv<br />

aktuális nyelvi terjedelmében rendelkezésre áll-e.<br />

Definíció<br />

INT STRINGIS(STRING )<br />

Szintaxis<br />

STRINGIS()<br />

Jelentés<br />

STRINGIS:<br />

:<br />

funkció visszaadási értékkel<br />

NC programnyelv megvizsgálandó elemének a neve<br />

visszaadási érték A visszaadási érték formátuma yxxx (decimális).<br />

Magas szintű NC nyelvek elemei<br />

Az NC programnyelv következő elemeit lehet megvizsgálni:<br />

● G-kódok az összes létező G-kód csoportból, pl. G0, INVCW, POLY, ROT, KONT, SOFT, CUT2D,<br />

CDON, RMB, SPATH<br />

● DIN- vagy NC-címek mint pl. ADIS, RNDM, SPN, SR, MEAS<br />

● funkciók mint pl. TANG(...) vagy GETMDACT<br />

● eljárások pl. SBLOF.<br />

● kulcsszavak pl. ACN, DEFINE vagy SETMS<br />

● rendszeradatok pl. $M... gépadatok, $S... beállítási adatok vagy $O... opciós adatok<br />

● rendszerváltozók $A..., $V..., $P...<br />

● számítási paraméterek R...<br />

● aktív ciklusok ciklus-nevei<br />

● GUD vagy LUD változók<br />

● makró-nevek<br />

● címke-nevek<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 683


További funkciók<br />

14.5 NC-nyelv meglevő terjedelmének vizsgálata (STRINGIS)<br />

Visszaadási érték<br />

A visszaadási értéknek csak az első 3 decimális értéke számít. A visszaadási érték<br />

formátuma yxxx, ahol y = alap információ és xx = részletes információ<br />

Visszaadási Jelentés<br />

érték<br />

000 A 'név' stringet a rendszer nem ismeri 1)<br />

100 A 'név' string eleme az NC programnyelvnek, de aktuálisan nem programozható (opció / nem aktív<br />

funkció)<br />

2xx<br />

A 'név' string egy programozható eleme az NC programnyelvnek (opció / aktív funkció) Az xx részletes<br />

információk további információkat tartalmaznak az elem fajtájáról:<br />

xx Jelentés<br />

01 DIN cím vagy NC cím 2)<br />

02 G-kód (pl. G04, INVCW)<br />

03 funkció visszaadási értékkel<br />

04 funkció visszaadási érték nélkül<br />

05 kulcsszó (pl. DEFINE)<br />

06 gépadatok ($M...), beállítási adatok ($S...) vagy opciós adatok ($O...)<br />

07 rendszer-paraméterek pl. rendszerváltozók ($...) vagy számítási paraméterek (R...)<br />

08 ciklus (ciklus-nevek az NCK-ba betöltve és ciklus-programok aktiválva 3) )<br />

09 GUD-változó (a GUD változó a GUD definíciós fájlban definiálva és a GUD-változók aktiválva kell<br />

legyenek)<br />

10 makró-név (a makró a makró definíciós fájlban definiálva és a makrók aktiválva kell legyenek) 4)<br />

11 LUD-változója az aktuális munkadarabprogramnak<br />

12 ISO G-kód (ISO nyelvi modus aktív kell legyen)<br />

400 A 'név' string egy NC cím, amely nem xx == 01 vagy xx == 10 -ként lett felismerve és nem G vagy R 2)<br />

y00<br />

nem lehetséges specifikus hozzárendelés<br />

1) A vezérléstől függően adott körülmények között a Siemens NC nyelv utasításoknak csak egy része ismert, pl.<br />

SINUMERIK 802D sl. Ezeken a vezérléseken azokra a stringekre, amelyek elvileg Siemens NC nyelvi utasítások, a 0 érték<br />

lesz visszaadva.. Ezt a viselkedést az MD10711 $MN_NC_LANGUAGE_CONFIGURATION által meg lehet változtatni. Az<br />

MD10711 = 1 esetén a Siemens NC nyelvi utasításokra mindig a 100-as érték lesz visszaadva.<br />

2) az NC címek a következő betűk: A, B, C, E, I, J, K, Q, U, V, W, X, Y, Z. Ezeket az NC címeket lehet cím-bővítéssel is<br />

programozni. A cím-bővítést a STRINGIS vizsgálatnál meg lehet adni.. Példa: 201 == STRINGIS("A1").<br />

A: D, F, H, L, M, N, O, P, S, T betűk NC címek vagy segédfunkciók, amelyeket felhasználó által definiáltan lehet használni.<br />

Ezekre mindig a 400-as érték lesz visszaadva. Példa: 400 == STRINGIS( "D" ). Ezeket az NC címeket a STRINGIS<br />

vizsgálatnál nem lehet cím-bővítéssel megadni..<br />

Példa: 000 == STRINGIS("M02"), de 400 == STRINGIS("M").<br />

3) Ciklus-paraméter neveket nem lehet STRINGIS-szel vizsgálni.<br />

4) A makróként definiált G, H, L, M címek makróként lesznek azonosítva<br />

Munka-előkészítés<br />

684 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.5 NC-nyelv meglevő terjedelmének vizsgálata (STRINGIS)<br />

Példák<br />

A következő példákban feltételezzük, hogy a stringként megadott NC nyelvi elemek, hacsak<br />

nincs külön jelezve, a vezérlésben elvileg programozhatóak.<br />

1. A "T" string segédfunkcióként definiálva:<br />

400 == STRINGIS("T")<br />

000 == STRINGIS ("T3")<br />

2. Az "X" string tengelyként van definiálva:<br />

201 == STRINGIS("X")<br />

201 == STRINGIS("X1")<br />

3. Az "A2" string NC címként van definiálva bővítéssel:<br />

201 == STRINGIS("A")<br />

201 == STRINGIS("A2")<br />

4. Az "INVCW" string elnevezett G-kódként van definiálva:<br />

202 == STRINGIS("INVCW")<br />

5. Az "$MC_GCODE_RESET_VALUES" string gépadatként van definiálva:<br />

206 == STRINGIS("$MC_GCODE_RESET_VALUES")<br />

6. A "GETMDACT" string egy NC nyelvi funkció:<br />

203 == STRINGIS("GETMDACT")<br />

7. A "DEFINE" string egy kulcsszó:<br />

205 == STRINGIS("DEFINE")<br />

8. A "$TC_DP3" string egy rendszerparaméter (szerszámhossz-komponens):<br />

207 == STRINGIS("$TC_DP3")<br />

9. A "$TC_TP4" string egy rendszerparaméter (szerszámméret):<br />

207 == STRINGIS("$TC_TP4")<br />

10. A "$TC_MPP4" string egy rendszerparaméter (tárhely állapot):<br />

– szerszámtár kezelés aktív 207 == STRINGIS("$TC_MPP4") ;<br />

– szerszámtár kezelés nem aktív: 000 == STRINGIS("$TC_MPP4")<br />

lásd : szerszámtár kezelés<br />

11. A "MACHINERY_NAME" string GUD-változóként van definiálva:<br />

209 == STRINGIS("MACHINERY_NAME")<br />

12. A "LONGMACRO" string makróként van definiálva:<br />

210 == STRINGIS("LONGMACRO")<br />

13. A "MYVAR" string LUD-változóként van definiálva:<br />

211 == STRINGIS("MYVAR")<br />

14. Az "XYZ" az NCK-ban ismeretlen utasítás és nem GUD-változó, makró vagy ciklus-név:<br />

000 == STRINGIS("XYZ")<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 685


További funkciók<br />

14.5 NC-nyelv meglevő terjedelmének vizsgálata (STRINGIS)<br />

Szerszámtár kezelés<br />

Ha a szerszámtár kezelés funkció nem aktív, a STRINGIS a szerszámtár kezelés<br />

rendszerparamétereire, függetlenül a<br />

● MD10711 $MN_NC_LANGUAGE_CONFIGURATION<br />

gépadattól mindig 000 értéket ad.<br />

ISO modus<br />

Ha az "ISO modus" funkció aktív:<br />

● MD18800 $MN_MM_EXTERN_LANGUAGE (külső NC nyelvek aktiválása)<br />

● MD10880 $MN_ MM_EXTERN_CNC_SYSTEM (adaptálandó vezérlőrendszer)<br />

a STRINGIS a megadott stringet először SINUMERIK G-kóddal vizsgálja meg. Ha a string<br />

nem SINUMERIK G-kód, utána ISO G-kódként lesz megvizsgálva.<br />

A programozott átkapcsolásoknak (G290 (SINUMERIK modus), G291 (ISO modus)) a<br />

STRINGIS-re nincs hatásuk.<br />

Példa<br />

A STRINGIS(...) funkció szempontjából számító gépadatok értékei a következők:<br />

● MD10711 $MN_NC_LANGUAGE_CONFIGURATION = 2 (csak azok az NC nyelvi<br />

elemek lesznek ismertnek tekintve, amelyek opciója be van állítva)<br />

● MD19410 $ON_TRAFO_TYPE_MASK = 'H0' (opció: transzformációk)<br />

● MD10700 $MN_PREPROCESSING_LEVEL='H43' (ciklusok elő-feldolgozása aktív)<br />

A következő példaprogram hibajelzés nélkül lesz végrehajtva:<br />

Programkód<br />

Kommentár<br />

N1 R1=STRINGIS("TRACYL") ;<br />

;<br />

;<br />

R1 == 0, mivel a TRACYL a hiányzó<br />

transzformáció opció miatt "nem ismert"-ként<br />

lesz azonosítva.<br />

N2 IF STRINGIS("TRACYL") == 204 ;<br />

N3 TRACYL(1,2,3) ; N3 át lesz ugorva<br />

N4 ELSE<br />

N5 G00 ; és helyette N5 lesz végrehajtva<br />

N6 ENDIF<br />

N7 M30<br />

Munka-előkészítés<br />

686 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.6 ISVAR funkció-felhívás és gépadat array-index olvasás<br />

14.6 ISVAR funkció-felhívás és gépadat array-index olvasás<br />

Funkció<br />

Az ISVAR utasítás egy NC nyelvi funkció:<br />

● BOOL típusú funkcióértékkel<br />

● STRING típusú átadási paraméterrel<br />

Az ISVAR utasítás TRUE ad vissza, ha az átadási paraméter tartalma egy, az NC-ben<br />

ismert változó (gépadat, beállítási adat, rendszerváltozó, általános változó, mint GUD).<br />

Szintaxis<br />

ISVAR()<br />

ISVAR(, [, ])<br />

Jelentés<br />

<br />

<br />

<br />

A string típusú átadási paraméter lehet dimenzió nélküli,<br />

egy-dimenziós vagy két-dimenziós.<br />

Jelölő egy, az NC-ben ismert változóval vagy array-index<br />

nélkül gépadat, beállítási adat, rendszerváltozó vagy<br />

általános változó.<br />

Bővítés:<br />

Általános és csatorna-specifikus gépadatoknál az array<br />

első eleme hiányzó indexnél is olvasva lesz<br />

BOOL típusú funkcióértékkel<br />

Vizsgálatok<br />

Az átadási paraméternek megfelelően a következő vizsgálatok lesznek végrehajtva:<br />

● létezik-e a jelölő<br />

● egy- vagy kétdimenziós mezőről van-e szó<br />

● megengedett-e agy array-index.<br />

Csak ha az összes vizsgálat pozitív, lesz TRUE visszaadva. Ha akár csak egy vizsgálat nem<br />

teljesül vagy egy szintaktikai hiba lépett fel, akkor ez FALSE-sal lesz nyugtázva. Tengely<br />

változók el lesznek fogadva indexként tengelynevekre, de nem lesznek közelebbről<br />

megvizsgálva.<br />

Bővítés: gépadatok és beállítási adatok index nélkül olvasása<br />

Hiányzó indexnél általános és csatorna-specifikus gépadatoknál a 12400 "Csatorna % 1<br />

mondat % 2 mező % 3 elem nincsen" vészjelzés már nem lesz kiadva.<br />

Továbbra is a tengely-specifikus gépadatoknál legalább a tengelyindexet programozni kell.<br />

Egyébként a 12400 vészjelzés lesz kiadva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 687


További funkciók<br />

14.6 ISVAR funkció-felhívás és gépadat array-index olvasás<br />

Példa: ISVAR funkció-felhívás<br />

Programkód<br />

DEF INT VAR1<br />

DEF BOOL IS_VAR=FALSE<br />

N10 IS_VAR=ISVAR("VAR1")<br />

DEF REAL VARARRAY[10,10]<br />

DEF BOOL IS_VAR=FALSE<br />

N20 IS_VAR=ISVAR("VARARRAY[,]")<br />

N30 IS_VAR=ISVAR("VARARRAY")<br />

N40 IS_VAR=ISVAR("VARARRAY[8,11]")<br />

N50 IS_VAR=ISVAR("VARARRAY[8,8")<br />

N60 IS_VAR=ISVAR("VARARRAY[,8]")<br />

N70 IS_VAR=ISVAR("VARARRAY[8,]")<br />

DEF BOOL IS_VAR=FALSE<br />

N100 IS_VAR=ISVAR("$MC_GCODE_RESET_VALUES[1]"<br />

DEF BOOL IS_VAR=FALSE<br />

N10 IS_VAR=ISVAR("$P_EP")<br />

N10 IS_VAR=ISVAR("$P_EP[X]")<br />

Kommentár<br />

; átadási paraméter általános változó<br />

; IS_VAR ebben az esetben TRUE<br />

; különböző szintaktikai változatok<br />

; IS_VAR TRUE<br />

egy két-dimenziós array-vel<br />

; IS_VAR TRUE, változó létezik<br />

; IS_VAR FALSE, array-index nem megengedett<br />

; IS_VAR FALSE, szintaktikai hiba<br />

hiányzó "]"<br />

; IS_VAR TRUE, array-index megengedett<br />

; IS_VAR TRUE<br />

; átadási paraméter egy gépadat<br />

; IS_VAR TRUE<br />

; átadási paraméter egy rendszerváltozó<br />

; IS_VAR ebben az esetben TRUE<br />

; IS_VAR ebben az esetben TRUE<br />

Példa: Gépadat array olvasására index-szel és anélkül<br />

Az első elem olvasva lesz<br />

R1=$MC_EXTERN_GCODE_RESET_VALUES<br />

ez megfelel, mint eddig<br />

R1=$MC_EXTERN_GCODE_RESET_VALUES[0]<br />

vagy az első elem lesz olvasva<br />

R1=$MA_POSTCTRL_GAIN[X1]<br />

ez megfelel, mint eddig<br />

R1=$MA_POSTCTRL_GAIN[0, X1]<br />

Olvasva lesz az első elem is a szinkron-akciókban<br />

WHEN TRUE DO $R1 = $MC_EXTERN_GCODE_RESET_VALUES<br />

ez megfelel, mint eddig<br />

WHEN TRUE DO $R1 = $MC_EXTERN_GCODE_RESET_VALUES[0]<br />

és eddig 12400 vészjelzéssel nem lett olvasva.<br />

A 12400 vészjelzés továbbra is ki lesz adva<br />

R1=$MA_POSTCTRL_GAIN<br />

Munka-előkészítés<br />

688 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.7 Kompenzációs jelleggörbék betanulása (QECLRNON, QECLRNOF)<br />

14.7 Kompenzációs jelleggörbék betanulása (QECLRNON, QECLRNOF)<br />

Funkció<br />

A négyzetes hibakompenzáció (QFK) csökkenti a kontúr-hibát, ami a mozgásirány váltásnál<br />

mechanikus non-linearitás (pl. tapadás, lötyögés) vagy torzulás miatt keletkezik. Az optimális<br />

kompenzációs adatokat a vezérlés egy neuronális háló alapján egy tanulási fázis közben<br />

adaptálja és ezzel a kompenzációs jelleggörbét automatikusan létrehozza. A tanulás max.<br />

4 tengelyig egyidőben történhet.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Szintaxis<br />

QECLRNON<br />

QECLRNOF<br />

Tanulási folyamatot aktiválni: QECLRNON<br />

A tulajdonképpeni tanulási folyamatot az NC-programban a QECLRNON utasítással a tengelyek<br />

megadásával aktiváljuk:<br />

QECLRNON (X1, Y1, Z1, Q)<br />

Csak ha ez az utasítás aktív, lesznek a jelleggörbék megváltoztatva.<br />

Tanulás kikapcsolás: QECLRNOF<br />

Miután a tanulási mozgások a kívánt tengelyekre lezárultak, a tanulási folyamat a QECLRNOFfal<br />

minden tengelyre egyidőben lesz kikapcsolva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 689


További funkciók<br />

14.7 Kompenzációs jelleggörbék betanulása (QECLRNON, QECLRNOF)<br />

Jelentés<br />

QECLRNON (tengely.1,…4) "Négyzetes hibakompenzáció betanulás" funkciót bekapcsolni<br />

QECLRNO<br />

"Négyzetes hibakompenzáció betanulás" funkciót kikapcsolni<br />

QECLRN.SPF<br />

tanuló ciklus<br />

QECDAT.MPF<br />

példa NC-program a rendszerváltozók feltöltésére és a tanuló<br />

ciklus paraméterezésére<br />

QECTEST.MPF<br />

példa NC-program körforma-tesztre<br />

Leírás<br />

A tengelyeknek a tanuláshoz szükséges mozgásait egy NC-programmal generáljuk. Ebben a<br />

tanulási mozgások egy tanuló-ciklus formájában vannak megadva.<br />

Első betanulás<br />

Az első betanuláshoz az üzembehelyezésnél a PLC alapprogram lemezén minta NC<br />

programok vannak a tanulási mozgásokhoz és a QFK-rendszerváltozók feltöltéséhez:<br />

Után-tanulás<br />

A már megtanult jelleggörbe utólagos optimalizálása "Után-tanulás"-sal lehetséges. Ez a<br />

már az alkalmazói tárolóban található adatokon alapul. Az után-tanuláshoz illesszük a minta<br />

NC-programokat az igényeinkhez.<br />

A tanuló ciklus paramétereit (pl. QECLRN.SPF) szükség estén szintén lehet az "Utántanuláshoz"<br />

megváltoztatni:<br />

● "Tanuló módus" = 1 beállítás<br />

● "Tanulási futamok számá"-t esetleg csökkenteni<br />

● "Szakaszos tanulást" esetleg aktiválni és a hozzátartozó tartomány-határokat megadni<br />

Munka-előkészítés<br />

690 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.8 Ablakot munkadarabprogramból interaktívan felhívni (MMC)<br />

14.8 Ablakot munkadarabprogramból interaktívan felhívni (MMC)<br />

Funkció<br />

Az MMC utasítással a munkadarabprogramból kijelezethetők a HMI-n felhasználó által definiált<br />

dialógus-ablakok (dialógus-képek).<br />

A dialógus-ablak kinézése tisztán szöveges módon lesz megadva (COM-fájl a<br />

cikluskönyvtárban), a HMI rendszerszoftver változatlan marad.<br />

A felhasználó által definiált dialógus-ablakokat nem lehet egyidőben különböző<br />

csatornákban felhívni.<br />

Szintaxis<br />

MMC(CYCLES,PICTURE_ON,T_SK.COM,BILD,MGUD.DEF,BILD_3.AWB,TEST_1,A1","<br />

S")<br />

Jelentés<br />

MMC<br />

CYCLES<br />

PICTURE_ON<br />

ill.<br />

PICTURE_OFF<br />

T_SK.COM<br />

BILD<br />

MGUD.DEF<br />

BILD_3.AWB<br />

TEST_1<br />

A1<br />

"S"<br />

munkadarabprogramból interakív dialógus-ablakot felhívni a HMI-n<br />

kezelési-tartomány, amelyikben a megadott felhasználói dialógusok<br />

végre lesznek hajtva<br />

utasítás: kép bekapcsolása ill. kikapcsolása<br />

com fájl: dialógus-kép fájl neve (felhasználói ciklusok) Itt van megadva<br />

a dialógusképek kinézete. A dialógus-képben felhasználói változók<br />

és/vagy kommentár-szövegek lesznek kijelezve.<br />

dialógus-kép neve: az egyes képek a dialógus-kép nevekkel lesznek<br />

kiválasztva<br />

felhasználói adatok definíciós fájl, amelyhez a változók<br />

olvasásánál/írásánál hozzáférünk<br />

grafikus fájl<br />

kijelzés szöveg vagy nyugtázás változó<br />

szöveg-változók...",<br />

nyugtázás módus: szinkron, nyugtázás az "OK" softkey-vel<br />

Irodalom<br />

Részletes utalások az MMC utasítás programozásához (programpéldákkal) lásd:<br />

Üzembehelyezési kézikönyv.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 691


További funkciók<br />

14.9 Program futásidő / munkadarab számláló<br />

14.9 Program futásidő / munkadarab számláló<br />

14.9.1 Program futásidő / munkadarab számláló (áttekintés)<br />

A szerszámgépek kezelőinek támogatására információk kaphatók a program futásidőről és a<br />

munkadarabok számáról.<br />

Ezek az információk rendszerváltozókként az NC- és/vagy PLC-programban feldolgozhatók.<br />

Egyidejűleg ezek az információk a kezelőfelület számára rendelkezésre állnak.<br />

14.9.2 Program futásidő<br />

Funkció<br />

A "Program futásidő" funkció NC belső időzítést bocsájt rendelkezésre a technológiai<br />

folyamatok felügyeletére, amelyet NC- és csatorna-specifikus rendszerváltozóként a<br />

munkadarabprogramban és a szinkron-akciókban olvasni és írni lehet.<br />

A futásidő mérés trigger ($AC_PROG_NET_TIME_TRIGGER) a funkció egyetlen írható<br />

rendszerváltozója és a programszakaszok szelektív mérését szolgálja. A trigger írásával az<br />

NC programban az időmérést lehet be- és újra kikapcsolni.<br />

Rendszerváltozó Jelentés Aktivitás<br />

NC-specifikus<br />

$AN_SETUP_TIME<br />

$AN_POWERON_TIME<br />

az utolsó vezérlés felfutás alapértékekkel ("hideg<br />

indítás") óta eltelt idő percekben<br />

Minden vezérlés felfutás alapértékekkel alkalmával<br />

automatikusan "0"-ra lesz visszaállítva.<br />

az utolsó normális vezérlés felfutás ("meleg indítás")<br />

óta eltelt idő percekben<br />

Minden normális vezérlés felfutás alkalmával<br />

automatikusan "0"-ra lesz visszaállítva.<br />

<br />

mindig aktív<br />

Munka-előkészítés<br />

692 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.9 Program futásidő / munkadarab számláló<br />

Rendszerváltozó Jelentés Aktivitás<br />

csatorna-specifikus<br />

$AC_OPERATING_TIME<br />

$AC_CYCLE_TIME<br />

$AC_CUTTING_TIME<br />

NC-programok össz-futásideje Automatika<br />

üzemmódban másodpercekben<br />

Az érték minden vezérlés felfutás alkalmával<br />

automatikusan "0"-ra lesz visszaállítva.<br />

kiválasztott NC-program futásideje másodpercekben<br />

Az érték egy új NC program indításával<br />

automatikusan "0"-ra lesz visszaállítva.<br />

megmunkálási idő másodpercekben<br />

A pályatengelyek (legalább egy aktív) futásideje lesz<br />

mérve aktív gyorsmenet nélkül az összes NC<br />

programban az NC-Start és a program vége / NC-<br />

Reset között. A mérés az aktív várakozási időnél meg<br />

lesz szakítva.<br />

Az érték minden vezérlés felfutás alapértékekkel<br />

alkalmával automatikusan "0"-ra lesz visszaállítva.<br />

<br />

<br />

aktiválás<br />

MD27860-nal<br />

csak AUTOMATIK<br />

üzemmód<br />

$AC_ACT_PROG_NET_TIME<br />

$AC_OLD_PROG_NET_TIME<br />

$AC_OLD_PROG_NET_TIME_COUNT<br />

kiválasztott NC-program aktuális nettó futásideje<br />

másodpercekben<br />

Egy új NC program indításával automatikusan "0"-ra<br />

lesz visszaállítva.<br />

az éppen helyesen M30-cal befejezett program nettó<br />

futásideje másodpercekben<br />

változások az $AC_OLD_PROG_NET_TIME-ra<br />

POWER ON után az<br />

$AC_OLD_PROG_NET_TIME_COUNT értéke "0".<br />

A $AC_OLD_PROG_NET_TIME_COUNT mindig<br />

akkor lesz növelve, amikor a vezérlés a<br />

$AC_OLD_PROG_NET_TIME-t újra írta.<br />

<br />

<br />

mindig aktív<br />

csak AUTOMATIK<br />

üzemmód<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 693


További funkciók<br />

14.9 Program futásidő / munkadarab számláló<br />

Rendszerváltozó Jelentés Aktivitás<br />

$AC_PROG_NET_TIME_TRIGGER trigger futásidő méréshez<br />

csak AUTOMATIK<br />

üzemmód<br />

0 semleges állapot<br />

A trigger nem aktív.<br />

1 befejezni<br />

Befejezi a mérést és másolja az értéket a<br />

$AC_ACT_PROG_NET_TIME in<br />

$AC_OLD_PROG_NET_TIME-ból. A<br />

$AC_ACT_PROG_NET_TIME "0"-ra lesz állítva<br />

és utána tovább fut.<br />

2 indítani<br />

Elindítja a mérést és ennél a<br />

$AC_ACT_PROG_NET_TIME-t "0"-ra állítja.<br />

$AC_OLD_PROG_NET_TIME nem lesz<br />

megváltoztatva.<br />

3 megállítani<br />

Megállítja a mérést. Nem változtatja meg az<br />

$AC_OLD_PROG_NET_TIME-t és a<br />

$AC_ACT_PROG_NET_TIME-t a folytatásig<br />

állandóan tartja.<br />

4 folytatni<br />

Folytatni a mérést, vagyis egy korábban<br />

megállított mérés újra fel lesz véve.<br />

$AC_ACT_PROG_NET_TIME tovább fut.<br />

$AC_OLD_PROG_NET_TIME nem lesz<br />

megváltoztatva.<br />

A POWER ON által az összes rendszerváltozó "0'-ra lesz visszaállítva!<br />

Irodalom:<br />

A felsorolt rendszerváltozók részletes leírása található:<br />

Alap funkciók működési kézikönyv; BAG, csatorna, program-üzem, Reset viselkedés (K1), fejezet: Program futásidő<br />

Megjegyzés<br />

Gépgyártó<br />

Az aktiválható időzítés bekapcsolása az MD27860 $MC_PROCESSTIMER_MODE<br />

gépadattal történik.<br />

Az aktív időmérés viselkedése bizonyos funkcióknál (pl. GOTOS, override = 0%, aktív<br />

próbafutás-előtolás, programteszt, ASUP, PROG_EVENT, …) az MD27850<br />

$MC_PROG_NET_TIMER_MODE és MD27860 $MC_PROCESSTIMER_MODE<br />

gépadatokkal lesz konfigurálva.<br />

Irodalom:<br />

Alap funkciók működési kézikönyv; BAG, csatorna, program-üzem, Reset viselkedés (K1),<br />

fejezet: Program futásidő<br />

Munka-előkészítés<br />

694 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.9 Program futásidő / munkadarab számláló<br />

Megjegyzés<br />

Maradékidő egy munkadarabra<br />

Ha egymás után ugyanaz a munkadarab lesz gyártva, az<br />

megmunkálási idő az utoljára gyártott munkadarabra (lásd<br />

$AC_OLD_PROG_NET_TIME)<br />

és<br />

aktuális megmunkálási idő (lásd $AC_ACT_PROG_NET_TIME)<br />

időzítés értékekből meg lehet állapítani a hátralevő maradékidőt egy munkadarabra.<br />

A maradékidő az aktuális megmunkálási idő mellett a kezelőfelületen ki lesz jelezve.<br />

FIGYELEM<br />

STPRE használata<br />

A $AC_OLD_PROG_NET_TIME és $AC_OLD_PROG_NET_TIME_COUNT<br />

rendszerváltozók nem okoznak közvetett előrefutás-álljt. A munkadarabprogramban való<br />

alkalmazásnál ez nem kritikus, mert a rendszerváltozók értéke az előző programfutásból<br />

származik. Ha azonban a futásidő mérés trigger ($AC_PROG_NET_TIME_TRIGGER)<br />

magas frekvenciával lesz írva és ezáltal a $AC_OLD_PROG_NET_TIME nagyon gyakran<br />

változik, akkor a munkadarabprogramban egy közvetlen STOPRE-t kell használni.<br />

Peremfeltételek<br />

● Mondatkeresés<br />

A mondatkeresésénél nem lesz program futásidő megállapítva.<br />

● REPOS<br />

Egy REPOS folyamat ideje az aktuális megmunkálási időbe<br />

($AC_ACT_PROG_NET_TIME) be lesz számítva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 695


További funkciók<br />

14.9 Program futásidő / munkadarab számláló<br />

Példák<br />

Példa 1: A "mySubProgrammA" időtartamát megmérni<br />

Programkód<br />

...<br />

N50 DO $AC_PROG_NET_TIME_TRIGGER=2<br />

N60 FOR ii= 0 TO 300<br />

N70 mySubProgrammA<br />

N80 DO $AC_PROG_NET_TIME_TRIGGER=1<br />

N95 ENDFOR<br />

N97 mySubProgrammB<br />

N98 M30<br />

Miután a program az N80 sort feldolgozta, a $AC_OLD_PROG_NET_TIME-ban<br />

"mySubProgrammA" nettó futásideje van.<br />

A $AC_OLD_PROG_NET_TIME értéke:<br />

● az M30 után is megmarad.<br />

● minden köszörülés átfutás után aktualizálva lesz.<br />

Példa 2: A "mySubProgrammA" és a "mySubProgrammC" időtartamát megmérni<br />

Programkód<br />

...<br />

N10 DO $AC_PROG_NET_TIME_TRIGGER=2<br />

N20 mySubProgrammA<br />

N30 DO $AC_PROG_NET_TIME_TRIGGER=3<br />

N40 mySubProgrammB<br />

N50 DO $AC_PROG_NET_TIME_TRIGGER=4<br />

N60 mySubProgrammC<br />

N70 DO $AC_PROG_NET_TIME_TRIGGER=1<br />

N80 mySubProgrammD<br />

N90 M30<br />

Munka-előkészítés<br />

696 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.9 Program futásidő / munkadarab számláló<br />

14.9.3 Munkadarab számláló<br />

Funkció<br />

A "Munkadarab számláló" funkció számlálókat bocsát rendelkezésre, amelyeket pl. a<br />

munkadarabok vezérlésen belüli számlálására lehet használni.<br />

Ezek számlálók csatorna-specifikus rendszerváltozók írás és olvasás hozzáféréssel, 0 ...<br />

999 999 999 értéktartománnyal.<br />

Rendszerváltozó<br />

$AC_REQUIRED_PARTS<br />

$AC_TOTAL_PARTS<br />

$AC_ACTUAL_PARTS<br />

$AC_SPECIAL_PARTS<br />

Jelentés<br />

igényelt munkadarabok száma (munkadarab-igény)<br />

Ebben a számlálóban lehet a munkadarabok számát megadni, ami<br />

elérésénél az aktuális munkadarabszám ($AC_ACTUAL_PARTS)<br />

nullázva lesz.<br />

összesen előállított munkadarabok száma (tényleges összmunkadarabszám)<br />

Ez a számláló megadja a kezdés időponttól előállított összes<br />

munkadarab számát. Az érték csak vezérlés felfutás alapértékekkel<br />

alkalmával automatikusan "0"-ra lesz visszaállítva.<br />

előállított munkadarabok száma (tényleges munkadarabszám)<br />

Ez a számláló megadja a kezdés időponttól előállított munkadarabok<br />

számát. A kívánt munkadarabszám ($AC_REQUIRED_PARTS)<br />

elérésekor a számláló automatikusan nullázva lesz<br />

($AC_REQUIRED_PARTS > 0 feltétellel).<br />

felhasználó által számolt munkadarabok száma<br />

Ez a számláló lehetővé tesz a felhasználónak egy munkadarabszámlálást<br />

saját definíció szerint. Definiálni lehet egy vészjelzés<br />

kiadást a kívánt munkadarabszám ($AC_REQUIRED_PARTS)<br />

elérésekor. A számláló nullázásáról a felhasználónak kell<br />

gondoskodni.<br />

Megjegyzés<br />

Minden számláló a vezérlés felfutásakor nullázva lesz és aktiválásuktól függetlenül<br />

olvashatók és írhatók.<br />

Megjegyzés<br />

Csatorna-specifikus gépadatokkal lehet befolyásolni a számlálók aktiválását, a nullázás<br />

időpontját és a számláló algoritmust.<br />

Megjegyzés<br />

Munkadarab számlálás a felhasználó által definiált M-utasításokkal<br />

Gépadatokkal be lehet állítani, hogy a különféle munkadarab számlálók számláló impulzusait<br />

az M2/M30 programvég helyett a felhasználó által definiált M-utasítások váltsák ki.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 697


További funkciók<br />

14.9 Program futásidő / munkadarab számláló<br />

Irodalom<br />

További információk a "Munkadarab számláló" funkcióhoz, lásd:<br />

● Alap funkciók működési kézikönyv; BAG, csatorna, program-üzem, Reset viselkedés (K1),<br />

fejezet: Munkadarab számláló<br />

Munka-előkészítés<br />

698 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


További funkciók<br />

14.10 Vészjelzések (SETAL)<br />

14.10 Vészjelzések (SETAL)<br />

Funkció<br />

Egy NC programban be lehet állítani vészjelzéseket. Ezek a kezelőfelületen egy külön<br />

mezőben lesznek ábrázolva. Egy vészjelzéshez mindig kötődik a vezérlésnek a vészjelzés<br />

kategóriának megfelelő reakciója.<br />

Irodalom:<br />

További információk a vészjelzés reakciókhoz, lásd: Üzembehelyezési kézikönyv.<br />

Szintaxis<br />

SETAL()<br />

SETAL(,)<br />

Jelentés<br />

SETAL<br />

<br />

<br />

kulcsszó egy vészjelzés programozásához<br />

A SETAL-t külön NC-mondatban kell programozni.<br />

INT típusú változó, a vészjelzés-számot tartalmazza<br />

A vészjelzés-számok érvényes tartománya 60000 ... 69999, amiből<br />

60000 ... 64999 a SIEMENS ciklusok számára foglalt és 65000 ...<br />

69999 a felhasználó rendelkezésére áll.<br />

A felhasználó ciklus vészjelzések programozásánál továbbá<br />

rendelkezésre áll egy karakterlánc max. négy paraméterrel.<br />

Ezekben a paraméterekben lehet változó felhasználói szövegeket<br />

definiálni.<br />

Az alábbi előre definiált paraméterek is rendelkezésre állnak:<br />

Paraméter Jelentés<br />

%1 csatornaszám<br />

%2 mondatszám, címke<br />

%3 szöveg-index ciklus vészjelzésekhez<br />

%4 további vészjelzés paraméter<br />

Megjegyzés<br />

A vészjelzés szövegek a kezelőfelületen be kell legyenek állítva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 699


További funkciók<br />

14.10 Vészjelzések (SETAL)<br />

Példa<br />

Programkód<br />

...<br />

N100 SETAL(65000)<br />

...<br />

Kommentár<br />

; vészjelzés-szám 65000 beállítása<br />

Munka-előkészítés<br />

700 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Saját leforgácsoló-program 15<br />

15.1 A leforgácsolást támogató funkciók<br />

Funkciók<br />

A leforgácsoláshoz kész megmunkáló ciklusokat ajánlunk. Ezen túlmenően megvan a<br />

lehetőség a következőkben bemutatott funkciókkal saját leforgácsoló-programokat készíteni.<br />

● Kontúr-táblázatot létrehozni (CONTPRON)<br />

● Kódolt kontúr-táblázatot létrehozni (CONTPRON)<br />

● Kontúr-feldolgozást kikapcsolni (EXECUTE)<br />

● Két kontúrelem metszéspontját megállapítani (INTERSEC)<br />

(Csak CONTPRON-nal létrehozott táblázatokra.)<br />

● Egy táblázat kontúrelemeinek mondatonkénti feldolgozása (EXECTAB)<br />

(Csak CONTPRON-nal létrehozott táblázatokra.)<br />

● Kör-adatok kiszámítása (CALCDAT)<br />

Megjegyzés<br />

Ezek a funkciók nemcsak leforgácsoláshoz, hanem univerzálisan használhatók.<br />

Előfeltételek<br />

A CONTPRON vagy CONTDCON felhívása előtt:<br />

● egy kezdőpontra kell menni, ami egy ütközésmentes megmunkálást tesz lehetővé,<br />

● a vágóél-sugárkorrekciót G40-nel ki kell kapcsolni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 701


Saját leforgácsoló-program<br />

15.2 Kontúr-táblázatot létrehozni (CONTPRON)<br />

15.2 Kontúr-táblázatot létrehozni (CONTPRON)<br />

Funkció<br />

A CONTPRON utasítással lesz bekapcsolva a kontúr-feldolgozás. Az ezután felhívott NC<br />

mondatok nem megmunkálva, hanem egyes mozgásokra felosztva és a kontúr-táblázatban<br />

elhelyezve lesznek. Minden kontúrelemnek megfelel egy táblázatsor a kontúr-táblázat<br />

kétdimenziós mezőjében. A megállapított hátravágások száma visszaadásra kerül.<br />

Szintaxis<br />

Kontúr-feldolgozást bekapcsolni:<br />

CONTPRON(,,,<br />

)<br />

Kontúr-feldolgozást kikapcsolni és a normális feldolgozási modusba visszatérni:<br />

EXECUTE()<br />

lásd "Kontúr-feldolgozást kikapcsolni (EXECUTE)"<br />

Jelentés<br />

CONTPRON<br />

<br />

<br />

<br />

<br />

utasítás a kontúr-feldolgozás bekapcsolására egy<br />

kontúr-táblázat létrehozásához<br />

kontúr-táblázat neve<br />

megmunkálási mód paraméter<br />

típus: CHAR<br />

érték:<br />

"G"<br />

hossz-esztergálás: belső megmunkálás<br />

"L"<br />

hossz-esztergálás: külső megmunkálás<br />

"N"<br />

sík-esztergálás: belső megmunkálás<br />

"P"<br />

sík-esztergálás: külső megmunkálás<br />

bemeneti változó a fellépő hátravágás-elemek<br />

számához<br />

típus: INT<br />

megmunkálási irány paraméter<br />

típus: INT<br />

érték: 0 kontúr-feldolgozás előre (alap-érték)<br />

1 kontúr-feldolgozás mindkét irányban<br />

Munka-előkészítés<br />

702 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Saját leforgácsoló-program<br />

15.2 Kontúr-táblázatot létrehozni (CONTPRON)<br />

Példa 1<br />

Egy kontúr-táblázat létrehozása a következőkel:<br />

● "KTAB" név<br />

● max. 30 kontúrelem (körök, egyenesek)<br />

● egy változó a fellépő hátravágás-elemek számához<br />

● egy változó a hibajelzéseknek<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

NC program:<br />

Programkód<br />

Kommentár<br />

N10 DEF REAL KTAB[30,11] ; kontúr-táblázat KTAB névvel és max. 30<br />

kontúrelemmel, paraméterérték 11<br />

(táblázat oszlopszáma) egy fix érték<br />

N20 DEF INT ANZHINT<br />

; változó a hátravágás-elemek számához<br />

ANZHINT néven<br />

N30 DEF INT FEHLER<br />

; változó a hiba visszajelzésre (0=nincs<br />

hiba, 1=hiba)<br />

N40 G18<br />

N50 CONTPRON(KTAB,"G",ANZHINT)<br />

; kontúr-feldolgozást bekapcsolni<br />

N60 G1 X150 Z20<br />

; N60 ... N120: kontúrleírás<br />

N70 X110 Z30<br />

N80 X50 RND=15<br />

N90 Z70<br />

N100 X40 Z85<br />

N110 X30 Z90<br />

N120 X0<br />

N130 EXECUTE(FEHLER)<br />

; kontúr-táblázat töltésének befejezése,<br />

átkapcsolás normál programüzemre<br />

N140 …<br />

; táblázat további feldolgozása<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 703


Saját leforgácsoló-program<br />

15.2 Kontúr-táblázatot létrehozni (CONTPRON)<br />

KTAB kontúr-táblázat:<br />

Index oszlop<br />

sor<br />

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)<br />

7 7 11 0 0 20 150 0 82.40535663 0 0<br />

0 2 11 20 150 30 110 -1111 104.0362435 0 0<br />

1 3 11 30 110 30 65 0 90 0 0<br />

2 4 13 30 65 45 50 0 180 45 65<br />

3 5 11 45 50 70 50 0 0 0 0<br />

4 6 11 70 50 85 40 0 146.3099325 0 0<br />

5 7 11 85 40 90 30 0 116.5650512 0 0<br />

6 0 11 90 30 90 0 0 90 0 0<br />

0 0 0 0 0 0 0 0 0 0 0<br />

0 0 0 0 0 0 0 0 0 0 0<br />

Oszloptartalmak magyarázata:<br />

(0) mutató a következő kontúrelemre (magára a sor számára)<br />

(1) mutató az előző kontúrelemre<br />

(2) kontúr-módus kódolása a mozgásra<br />

lehetséges értékek X = abc<br />

a = 10 2 G90 = 0 G91 = 1<br />

b = 10 1 G70 = 0 G71 = 1<br />

c = 10 0 G0 = 0 G1 = 1 G2 = 2 G3 = 3<br />

(3), (4) kontúrelemek kezdőpontja<br />

(3) = abszcissza, (4) = ordináta az aktuális síkban<br />

(5), (6) kontúrelemek végpontja<br />

(5) = abszcissza, (6) = ordináta az aktuális síkban<br />

(7) max-/min-kijelző: jelöli a lokális maximumokat és minimumokat a kontúron<br />

(8) maximális érték a kontúrelem és az abszcissza (hossz-megmunkálásnál) ill.<br />

ordináta (sík-megmunkálásnál) között A szög függ a programozott<br />

megmunkálási módtól.<br />

(9), (10) kontúrelem középpont koordinátái, ha az egy körmondat<br />

(9) = abszcissza, (10) = ordináta<br />

Munka-előkészítés<br />

704 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Saját leforgácsoló-program<br />

15.2 Kontúr-táblázatot létrehozni (CONTPRON)<br />

Példa 2<br />

Egy kontúr-táblázat létrehozása a következőkel<br />

● KTAB név<br />

● max. 92 kontúrelem (körök, egyenesek)<br />

● üzemmód: hossz-esztergálás, külső megmunkálás<br />

● feldolgozás előre és vissza<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

NC program:<br />

Programkód<br />

N10 DEF REAL KTAB[92,11]<br />

N20 DEF CHAR BT="L"<br />

N30 DEF INT HE=0<br />

N40 DEF INT MODE=1<br />

N50 DEF INT ERR=0<br />

...<br />

N100 G18 X100 Z100 F1000<br />

N105 CONTPRON(KTAB,BT,HE,MODE)<br />

Kommentár<br />

; kontúr-táblázat KTAB névvel és<br />

max. 92 kontúrelemmel,<br />

paraméterérték 11 egy fix érték<br />

; CONTPRON üzemmód: hosszesztergálás,<br />

külső megmunkálás<br />

; hátravágás-elemek száma=0<br />

; feldolgozás előre és vissza<br />

; hiba visszajelzés<br />

; kontúr-feldolgozást bekapcsolni<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 705


Saját leforgácsoló-program<br />

15.2 Kontúr-táblázatot létrehozni (CONTPRON)<br />

Programkód<br />

N110 G1 G90 Z20 X20<br />

N120 X45<br />

N130 Z0<br />

N140 G2 Z-15 X30 K=AC(-15) I=AC(45)<br />

N150 G1 Z-30<br />

N160 X80<br />

N170 Z-40<br />

N180 EXECUTE(ERR)<br />

...<br />

Kommentár<br />

; kontúr-táblázat töltésének<br />

befejezése, átkapcsolás normál<br />

programüzemre<br />

KTAB kontúr-táblázat:<br />

A kontúr-feldolgozás vége után a kontúr mindkét irányban rendelkezésre áll.<br />

Index oszlop<br />

sor (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)<br />

0 6 1) 7 2) 11 100 100 20 20 0 45 0 0<br />

1 0 3) 2 11 20 20 20 45 -3 90 0 0<br />

2 1 3 11 20 45 0 45 0 0 0 0<br />

3 2 4 12 0 45 -15 30 5 90 -15 45<br />

4 3 5 11 -15 30 -30 30 0 0 0 0<br />

5 4 7 11 -30 30 -30 45 -1111 90 0 0<br />

6 7 0 4) 11 -30 80 -40 80 0 0 0 0<br />

7 5 6 11 -30 45 -30 80 0 90 0 0<br />

8 1 5) 2 6) 0 0 0 0 0 0 0 0 0<br />

...<br />

83 84 0 7) 11 20 45 20 80 0 90 0 0<br />

84 90 83 11 20 20 20 45 -1111 90 0 0<br />

85 0 8) 86 11 -40 80 -30 80 0 0 0 0<br />

86 85 87 11 -30 80 -30 30 88 90 0 0<br />

87 86 88 11 -30 30 -15 30 0 0 0 0<br />

88 87 89 13 -15 30 0 45 -90 90 -15 45<br />

89 88 90 11 0 45 20 45 0 0 0 0<br />

90 89 84 11 20 45 20 20 84 90 0 0<br />

91 83 9) 85 10) 11 20 20 100 100 0 45 0 0<br />

Munka-előkészítés<br />

706 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Saját leforgácsoló-program<br />

15.2 Kontúr-táblázatot létrehozni (CONTPRON)<br />

Oszloptartalmak magyarázata és észrevételek a 0, 1, 6, 8, 83, 85 és 91 sorokhoz<br />

Az oszloptartalmakhoz a példa 1-ben megadott magyarázatok érvényesek.<br />

Mindig a táblázat sor 0-ban:<br />

1) előző: sor n tartalmazza a kontúr végét előre<br />

2) következő: sor n tartalmazza a kontúr-táblázat végét előre<br />

Mindig egyszer a kontúrelemen belül előre:<br />

3) előző: kontúr kezdete (előre)<br />

4) következő: kontúr vége (előre)<br />

Mindig a kontúr-táblázat vége sorra (előre) +1:<br />

5) előző: hátravágások száma előre<br />

6) következő: hátravágások száma hátra<br />

Mindig egyszer a kontúrelemen belül hátra:<br />

7) következő: kontúr vége (hátra)<br />

8) előző: kontúr kezdet (hátra)<br />

Mindig az utolsó táblázat sorban:<br />

9) előző: sor n a kontúr-táblázat kezdete (hátra)<br />

10) következő: sor n tartalmazza a kontúr kezdetét (hátra)<br />

További információk<br />

Megengedett mozgás-utasítások, koordináta-rendszer<br />

A kontúrprogramozáshoz a következő G-utasítások megengedettek:<br />

● G-csoport 1: G0, G1, G2, G3<br />

továbbá lehetségesek:<br />

● lekerekítés és letörés<br />

● kör-programozás CIP és CT-vel<br />

A Spline-, polinom-, menetfunkciók hibát okoznak.<br />

A koordináta-rendszer változásai egy frame bekapcsolás által a CONTPRON és EXECUTE között<br />

nem megengedett. Ugyanez érvényes a G70 és G71 ill. G700 és G710 közötti váltásra.<br />

A geometria-tengelyek cseréje GEOAX-szal a kontúr-táblázat feldolgozása közben vészjelzést<br />

okoz.<br />

Hátravágás-elemek<br />

Az egyes hátravágás-elemek kontúrleírása választhatóan egy alprogramban vagy egyes<br />

mondatokban történhet.<br />

Leforgácsolás függetlenül a programozott kontúriránytól<br />

A CONTPRON kontúr-feldolgozás úgy lett bővítve, hogy a felhívása után a kontúr-táblázat a<br />

programozott iránytól függetlenül rendelkezésre áll.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 707


Saját leforgácsoló-program<br />

15.3 Kódolt kontúr-táblázatot létrehozni (CONTPRON)<br />

15.3 Kódolt kontúr-táblázatot létrehozni (CONTPRON)<br />

Funkció<br />

A CONTDCON-nal bekapcsolt kontúr-feldolgozásnál az utána felhívott NC mondatok egy 6-<br />

oszlopos kontúr-táblázat kerülnek elhelyezésre tároló-takarékos módon. Minden<br />

kontúrelemnek megfelel egy táblázatsor a kontúr-táblázatban. Az alábbiakban megadásra<br />

kerülő kódolási szabályok ismeretében lehet pl. a ciklusokra a táblázati sorokból DIN-kód<br />

programokat összeállítani. A 0 számú táblázat-sorban vannak a kezdőpont adatai tárolva.<br />

Szintaxis<br />

Kontúr-feldolgozást bekapcsolni:<br />

CONTDCON(,)<br />

Kontúr-feldolgozást kikapcsolni és a normális feldolgozási modusba visszatérni:<br />

EXECUTE()<br />

lásd "Kontúr-feldolgozást kikapcsolni (EXECUTE)"<br />

Jelentés<br />

CONTDCON<br />

<br />

<br />

utasítás a kontúr-feldolgozás bekapcsolására egy<br />

kódolt kontúr-táblázat létrehozásához<br />

kontúr-táblázat neve<br />

megmunkálási irány paraméter<br />

típus: INT<br />

érték: 0 kontúr-feldolgozás a kontúrmondatok<br />

sora szerint (alapérték)<br />

1 nem megengedett<br />

Megjegyzés<br />

A CONTDCON-ra megengedett G-kódok a táblázatos programrészben terjedelmesebbek, mint a<br />

CONTPRON-nál. Ezen kívül előtolások és előtolás típusok kontúrdarabonként vannak eltárolva.<br />

Munka-előkészítés<br />

708 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Saját leforgácsoló-program<br />

15.3 Kódolt kontúr-táblázatot létrehozni (CONTPRON)<br />

Példa<br />

Egy kontúr-táblázat létrehozása a következőkel:<br />

● "KTAB" név<br />

● kontúrelemek (körök, egyenesek)<br />

● üzemmód: Esztergálás<br />

● megmunkálási irány: előre<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

NC program:<br />

Programkód<br />

Kommentár<br />

N10 DEF REAL KTAB[9,6] ; kontúr-táblázat KTAB névvel és 9<br />

táblázatsorral Ez 8 kontúrmondat<br />

enged meg. A paraméterérték 6<br />

(táblázat oszlopszám) egy fix<br />

érték.<br />

N20 DEF INT MODE = 0<br />

; változó a megmunkálási irányra<br />

alapérték 0: csak a kontúr<br />

programozott irányába<br />

N30 DEF INT ERROR = 0<br />

; változó a hiba visszajelzésre<br />

...<br />

N100 G18 G64 G90 G94 G710<br />

N101 G1 Z100 X100 F1000<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 709


Saját leforgácsoló-program<br />

15.3 Kódolt kontúr-táblázatot létrehozni (CONTPRON)<br />

Programkód<br />

N105 CONTDCON (KTAB, MODE)<br />

N110 G1 Z20 X20 F200<br />

N120 G9 X45 F300<br />

N130 Z0 F400<br />

N140 G2 Z-15 X30 K=AC(-15) I=AC(45)F100<br />

N150 G64 Z-30 F600<br />

N160 X80 F700<br />

N170 Z-40 F800<br />

N180 EXECUTE(ERROR)<br />

...<br />

Kommentár<br />

; kontúr-feldolgozás felhívása<br />

(MODE elhagyható)<br />

; kontúrleírás<br />

; kontúr-táblázat töltésének<br />

befejezése, átkapcsolás normál<br />

programüzemre<br />

KTAB kontúr-táblázat:<br />

oszlop-index<br />

0 1 2 3 4 5<br />

sor-index kontúrmodus<br />

végpont végpont középpont középpont előtolás<br />

abszcissza ordináta abszcissza ordináta<br />

0 30 100 100 0 0 7<br />

1 11031 20 20 0 0 200<br />

2 111031 20 45 0 0 300<br />

3 11031 0 45 0 0 400<br />

4 11032 -15 30 -15 45 100<br />

5 11031 -30 30 0 0 600<br />

6 11031 -30 80 0 0 700<br />

7 11031 -40 80 0 0 800<br />

8 0 0 0 0 0 0<br />

Oszloptartalmak magyarázata:<br />

sor 0: kódolások kezdőpontra:<br />

oszlop 0: 10 0 (egyes-hely): G0 = 0<br />

10 1 (tízes-hely): G70 = 0, G71 = 1, G700 = 2, G710 = 3<br />

oszlop 1: kezdőpont abszcissza<br />

oszlop 2: kezdőpont ordináta<br />

oszlop 3-4: 0<br />

oszlop 5: az utolsó kontúrdarab sor-indexe a táblázatban<br />

Munka-előkészítés<br />

710 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Saját leforgácsoló-program<br />

15.3 Kódolt kontúr-táblázatot létrehozni (CONTPRON)<br />

1-n sor: bevitelek a kontúr-darabnak<br />

oszlop 0: 10 0 (egyes-hely): G0 = 0, G1 = 1, G2 = 2, G3 = 3<br />

10 1 (tízes-hely): G70 = 0, G71 = 1, G700 = 2, G710 = 3<br />

10 2 (százas-hely): G90 = 0, G91 = 1<br />

10 3 (ezres-hely): G93 = 0, G94 = 1, G95 = 2, G96 = 3<br />

10 4 (tízezres-hely): G60 = 0, G44 = 1, G641 = 2, G642 = 3<br />

10 5 (százezres-hely): G9 = 1<br />

oszlop 1: végpont abszcissza<br />

oszlop 2: végpont ordináta<br />

oszlop 3: középpont abszcissza körinterpolációnál<br />

oszlop 4: középpont ordináta körinterpolációnál<br />

oszlop 5: előtolás<br />

További információk<br />

Megengedett mozgás-utasítások, koordináta-rendszer<br />

A kontúrprogramozáshoz a következő G-csoportok és G-utasítások megengedettek:<br />

G-csoport 1: G0, G1, G2, G3<br />

G-csoport 10: G60, G64, G641, G642<br />

G9<br />

G-csoport 11:<br />

G-csoport 13: G70, G71, G700, G710<br />

G-csoport 14: G90, G91<br />

G-csoport 15: G93, G94, G95, G96, G961<br />

továbbá lehetségesek:<br />

● lekerekítés és letörés<br />

● kör-programozás CIP és CT-vel<br />

A Spline-, polinom-, menetfunkciók hibát okoznak.<br />

A koordináta-rendszer változásai egy frame bekapcsolás által a CONTDCON és EXECUTE között<br />

nem megengedett. Ugyanez érvényes a G70 és G71 ill. G700 és G710 közötti váltásra.<br />

A geometria-tengelyek cseréje GEOAX-szal a kontúr-táblázat feldolgozása közben vészjelzést<br />

okoz.<br />

Megmunkálási irány<br />

A CONTDCON-nal létrehozott kontúr-táblázat a kontúrnak a programozott irányba történő<br />

leforgácsolására alkalmas.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 711


Saját leforgácsoló-program<br />

15.4 Két kontúrelem metszéspontját megállapítani (INTERSEC)<br />

15.4 Két kontúrelem metszéspontját megállapítani (INTERSEC)<br />

Funkció<br />

Az INTERSEC megállapítja a CONTPRON-nal létrehozott kontúr-táblázat két normált<br />

kontúrelemének metszéspontját.<br />

Szintaxis<br />

=INTERSEC([],<br />

[],,)<br />

Jelentés<br />

INTERSEC<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

kulcsszó két kontúrelem metszéspontjának megállapításához<br />

a CONTPRON-nal létrehozott kontúr-táblázatból<br />

változó a metszéspont-állapotra<br />

típus:<br />

érték:<br />

BOOL<br />

TRUE metszéspont van<br />

FALSE metszéspont nincs<br />

első kontúr-táblázat neve<br />

első kontúr-táblázat kontúrelemének száma<br />

második kontúr-táblázat neve<br />

második kontúr-táblázat kontúrelemének száma<br />

metszéspont-koordináták az aktív síkban (G17 / G18 / G19)<br />

típus: REAL<br />

megmunkálási mód paraméter<br />

típus: INT<br />

érték: 0 metszéspont számítása a paraméter 2-vel<br />

aktív síkban (alapérték)<br />

1 metszéspont számítása függetlenül az<br />

átadott síktól<br />

Megjegyzés<br />

Vegyük figyelembe, hogy a változókat az alkalmazásuk előtt kell definiálni.<br />

Munka-előkészítés<br />

712 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Saját leforgácsoló-program<br />

15.4 Két kontúrelem metszéspontját megállapítani (INTERSEC)<br />

A kontúrok átadása megköveteli a CONTPRON-nal definiált értékek betartását:<br />

Paraméter Jelentés<br />

2 kontúr-mód kódolása a mozgásra<br />

3 kontúr-kezdőpont abszcissza<br />

4 kontúr-kezdőpont ordináta<br />

5 kontúr-végpont abszcissza<br />

6 kontúr-végpont ordináta<br />

9 középpont-koordináta abszcisszához (csak kör kontúrnál)<br />

10 középpont-koordináta ordinátához (csak kör kontúrnál)<br />

Példa<br />

A TABNAME1 táblázat kontúrelem 3 és a TABNAME2 táblázat kontúrelem 7 metszéspontját<br />

megállapítani. A metszéspont-koordináták az aktív síkban ISCOORD (1. elem = abszcissza,<br />

2. elem = ordináta) lesznek letéve. Ha nincs metszéspont, ugrás KEINSCH-re (nincs<br />

metszéspont).<br />

Programkód<br />

Kommentár<br />

DEF REAL TABNAME1[12,11] ; kontúr-táblázat 1<br />

DEF REAL TABNAME2[10,11] ; kontúr-táblázat 2<br />

DEF REAL ISCOORD[2]<br />

DEF BOOL ISPOINT<br />

DEF INT MODE<br />

…<br />

MODE=1<br />

N10 ISPOINT=INTERSEC(TABNAME1[3],TABNAME2[7],ISCOORD,MODE)<br />

N20 IF ISPOINT==FALSE GOTOF KEINSCH<br />

…<br />

; változó a metszéspontkoordinátákra<br />

; változó a metszéspont-állapotra<br />

; változó a feldolgozás módra<br />

; számítás az aktív síktól<br />

függetlenül<br />

; kontúrelem metszéspontjának<br />

felhívása<br />

; ugrás KEINSCH-hez<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 713


Saját leforgácsoló-program<br />

15.5 Egy táblázat kontúrelemeinek mondatonkénti megtétele (EXECTAB)<br />

15.5 Egy táblázat kontúrelemeinek mondatonkénti megtétele (EXECTAB)<br />

Funkció<br />

Az EXECTAB utasítással egy táblázat kontúrelemeit, amelyek pl. CONTPRON utasítással lettek<br />

létrehozva, mondatonként lehet megtenni.<br />

Szintaxis<br />

EXECTAB([])<br />

Jelentés<br />

EXECTAB<br />

<br />

<br />

utasítás egy kontúrelem megtételére<br />

kontúr-táblázat neve<br />

kontúrelem száma<br />

Példa<br />

A KTAB táblázat 0 ... 2 kontúrelemeit mondatonként kell megtenni.<br />

Programkód<br />

N10 EXECTAB(KTAB[0])<br />

N20 EXECTAB(KTAB[1])<br />

N30 EXECTAB(KTAB[2])<br />

Kommentár<br />

; KTAB táblázat 0 elemét megtenni<br />

; KTAB táblázat 1 elemét megtenni<br />

; KTAB táblázat 2 elemét megtenni<br />

Munka-előkészítés<br />

714 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Saját leforgácsoló-program<br />

15.6 Kör-adatok kiszámítása (CALCDAT)<br />

15.6 Kör-adatok kiszámítása (CALCDAT)<br />

Funkció<br />

A CALCDAT utasítással a kör három vagy négy ismert pontjából ki lehet számítani a sugarat és<br />

a körközéppont koordinátákat. A megadott pontok különbözők kell legyenek. Négy pontnál,<br />

amelyek nem pontosan a körön fekszenek, a körközéppontra és a sugárra egy középérték<br />

lesz megadva.<br />

Szintaxis<br />

=CALCDAT([,],,)<br />

Jelentés<br />

CALCDAT<br />

<br />

[]<br />

<br />

[3]<br />

utasítás egy kör sugarának és középpont koordinátáinak<br />

kiszámítására 3 vagy 4 pontból<br />

változó a kör számítás állapotra<br />

típus:<br />

érték:<br />

BOOL<br />

TRUE A megadott pontok egy körön vannak.<br />

FALSE A megadott pontok nincsenek egy körön.<br />

változó a körpontok megadására<br />

paraméterekkel:<br />

<br />

kör pontok száma (3 vagy 4)<br />

<br />

koordináta megadás módja,<br />

ol. 2 = 2 pont koordináta megadás<br />

paraméter a számításhoz használt pontok számára (3 vagy 4)<br />

eredmény változó:<br />

körközéppont koordináták és sugár megadása<br />

0 körközéppont koordináták: abszcissza érték<br />

1 körközéppont koordináták: ordináta érték<br />

2 sugár<br />

Megjegyzés<br />

Vegyük figyelembe, hogy a változókat az alkalmazásuk előtt kell definiálni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 715


Saját leforgácsoló-program<br />

15.6 Kör-adatok kiszámítása (CALCDAT)<br />

Példa<br />

Három pontról meg kell állapítani, hogy egy körszakaszon fekszenek-e.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programkód<br />

N10 DEF REAL PKT[3,2]=(20,50,50,40,65,20)<br />

N20 DEF REAL ERG[3]<br />

N30 DEF BOOL STATUS<br />

N40 STATUS=CALCDAT(PKT,3,ERG)<br />

N50 IF STATUS == FALSE GOTOF ERROR<br />

Kommentár<br />

; változó a kör pontok<br />

megadására<br />

; eredmény változó<br />

; állapot változó<br />

; kiszámított köradatok<br />

felhívása<br />

; ugrás hibához<br />

Munka-előkészítés<br />

716 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Saját leforgácsoló-program<br />

15.7 Kontúr-feldolgozást kikapcsolni (EXECUTE)<br />

15.7 Kontúr-feldolgozást kikapcsolni (EXECUTE)<br />

Funkció<br />

Az EXECUTE utasítás a kontúr-feldolgozást lekapcsolja és egyidejűleg a normális<br />

megmunkálási módot visszakapcsolja.<br />

Szintaxis<br />

EXECUTE()<br />

Jelentés<br />

EXECUTE<br />

<br />

utasítás a kontúr-feldolgozás befejezésére<br />

változó a hiba visszajelzésre<br />

típus: INT<br />

A változó értéke mutatja, hogy a kontúrt hibamentesen fel lehetett-e<br />

dolgozni:<br />

0 hiba<br />

1 nincs hiba<br />

Példa<br />

Programkód<br />

...<br />

N30 CONTPRON(...)<br />

N40 G1 X... Z...<br />

...<br />

N100 EXECUTE(...)<br />

...<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 717


Saját leforgácsoló-program<br />

15.7 Kontúr-feldolgozást kikapcsolni (EXECUTE)<br />

Munka-előkészítés<br />

718 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok 16<br />

16.1 Utasítások listája<br />

Jelmagyarázat:<br />

1)<br />

Utalás a dokumentumra, amely az utasítás részletes leírását tartalmazza:<br />

PGsl<br />

Alapok programozási kézikönyv<br />

<strong>PGA</strong>sl Munka-előkészítés programozási kézikönyv<br />

BHDsl Eszetergálás kezelési kézikönyv<br />

BHFsl Marás kezelési kézikönyv<br />

FB1 ( ) Alap funkciók működési kézikönyv (az érintett funkció leírás alfanumerikus rövidítése zárójelben)<br />

FB2 ( ) Bővítő funkciók működési kézikönyv (az érintett funkció leírás alfanumerikus rövidítése zárójelben)<br />

FB3 ( ) Különleges funkciók működési kézikönyv (az érintett funkció leírás alfanumerikus rövidítése<br />

zárójelben)<br />

FBSIsl Safety Integrated működési kézikönyv<br />

FBSY Szinkron-akciók működési kézikönyv<br />

FBW<br />

Szerszámkezelés működési kézikönyv<br />

2)<br />

Az utasítások hatásossága:<br />

m modális<br />

s mondatonként<br />

3)<br />

Rendelkezésre állás SINUMERIK 828D-nél (E = esztergálás, M = marás):<br />

● alapkivitel<br />

○ opció<br />

- nem áll rendelkezésre<br />

4)<br />

alapbeállítás programkezdetnél (a vezérlés kiszállítási állapotában, ha másként nincs programozva)<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

: NC főmondatszám,<br />

ugrásjelző lezárás,<br />

láncolás operátor<br />

<strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

* Szorzás műveleti jel <strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

+ Összeadás műveleti jel <strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 719


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

- Osztás műveleti jel <strong>PGA</strong>sl<br />

< Összehasonlítás műveleti<br />

jel, kisebb<br />


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

ACCLIMA Aktuális maximális PGsl m ● ● ● ●<br />

tengely-gyorsítás<br />

befolyásolása<br />

ACN<br />

Abszolút méretmegadás PGsl s ● ● ● ●<br />

körtengelyekre, pozícióra<br />

rámenet negatív irányban<br />

ACOS<br />

Arcus-Cosinus<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

(trigon. függvény) Számítási műveletek (Oldal 61)<br />

ACP<br />

Abszolút méretmegadás PGsl s ● ● ● ●<br />

körtengelyekre, pozícióra<br />

rámenet pozitív irányban<br />

ACTBLOCNO Egy vészjelzés-mondat <strong>PGA</strong>sl<br />

● ● ● ●<br />

aktuális<br />

Aktuális mondatkijelzés<br />

mondatszámának elnyomása (DISPLOF,<br />

kiadása, még ha "aktuális DISPLON, ACTBLOCNO)<br />

mondatkijelzés<br />

(Oldal 164)<br />

elnyomva" (DISPLOF)<br />

aktív is!<br />

ADDFRAME<br />

Egy mért frame<br />

beszámítása és esetleg<br />

aktiválása<br />

ADIS Átsimítási távolság a G1,<br />

G2, G3, ...<br />

pályafunkciókra<br />

ADISPOS Átsimítási távolság a G0<br />

gyorsmenetre<br />

<strong>PGA</strong>sl, FB1(K2)<br />

Frame-számítás 3 térbeli mérési<br />

pontból (MEAFRAME)<br />

(Oldal 298)<br />

● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

ADISPOSA Tűrésablak nagysága <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

IPOBRKA-hoz<br />

Programozható mozgás vége<br />

kritériumok (FINEA, COARSEA,<br />

IPOENDA, IPOBRKA,<br />

ADISPOSA) (Oldal 274)<br />

ALF Gyorsleemelési szög <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

Gyors leemelés a kontúrról<br />

(SETINT LIFTFAST, ALF)<br />

(Oldal 115)<br />

AMIRROR Programozható tükrözés PGsl s ● ● ● ●<br />

AND Logikai ÉS <strong>PGA</strong>sl<br />

● ● ● ●<br />

Összehasonlító és logikai<br />

műveletek (Oldal 64)<br />

ANG Kontúrvonal-szög PGsl s ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 721


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

AP Polárszög PGsl m/s ● ● ● ●<br />

APR<br />

APRB<br />

APRP<br />

Hozzáférési védelem<br />

fokát olvasni / kijelezni<br />

Hozzáférési jogot olvasni,<br />

BTSS<br />

Hozzáférési jogot olvasni,<br />

munkadarabprogram<br />

<strong>PGA</strong>sl<br />

Tulajdonság: Hozzáférési jog<br />

(APR, APW, APRP, APWP,<br />

APRB, APWB) (Oldal 38)<br />

<strong>PGA</strong>sl<br />

Tulajdonság: Hozzáférési jog<br />

(APR, APW, APRP, APWP,<br />

APRB, APWB) (Oldal 38)<br />

<strong>PGA</strong>sl<br />

Tulajdonság: Hozzáférési jog<br />

(APR, APW, APRP, APWP,<br />

APRB, APWB) (Oldal 38)<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

APW Hozzáférési jogot írni <strong>PGA</strong>sl<br />

● ● ● ●<br />

Tulajdonság: Hozzáférési jog<br />

(APR, APW, APRP, APWP,<br />

APRB, APWB) (Oldal 38)<br />

APWB<br />

Hozzáférési jogot írni, <strong>PGA</strong>sl<br />

● ● ● ●<br />

BTSS<br />

Tulajdonság: Hozzáférési jog<br />

(APR, APW, APRP, APWP,<br />

APRB, APWB) (Oldal 38)<br />

APWP<br />

Hozzáférési jogot írni, <strong>PGA</strong>sl<br />

● ● ● ●<br />

munkadarabprogram Tulajdonság: Hozzáférési jog<br />

(APR, APW, APRP, APWP,<br />

APRB, APWB) (Oldal 38)<br />

APX<br />

Megadott nyelvi elem <strong>PGA</strong>sl<br />

● ● ● ●<br />

végrehajtásának Rendszerváltozók, felhasználói<br />

hozzáférési jogát változók és NC utasítások újra<br />

definiálni<br />

definiálása (FRDEF) (Oldal 28)<br />

AR Nyílásszög PGsl m/s ● ● ● ●<br />

AROT Programozható forgatás PGsl s ● ● ● ●<br />

AROTS<br />

Programozható frameforgatás<br />

térszöggel<br />

PGsl s ● ● ● ●<br />

AS Makró-definíció <strong>PGA</strong>sl<br />

● ● ● ●<br />

Makró-technika (DEFINE...AS)<br />

(Oldal 201)<br />

ASCALE Programozható skálázás PGsl s ● ● ● ●<br />

Munka-előkészítés<br />

722 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

ASIN Arcussinus függvény <strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

ASPLINE Akima-Spline <strong>PGA</strong>sl<br />

Spline interpoláció (ASPLINE,<br />

BSPLINE, CSPLINE, BAUTO,<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

ATAN2 Arcus-Tangens2 <strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

ATOL<br />

Kompresszor funkciók, <strong>PGA</strong>sl<br />

tájolás-simítások és Programozható kontúr-/tájolástűrés<br />

(CTOL, OTOL, ATOL)<br />

átsimítási módok tengelyspecifikus<br />

tűrése (Oldal 491)<br />

ATRANS Additív programozható<br />

eltolás<br />

AX Változó tengelyjelölő <strong>PGA</strong>sl<br />

Tengely funkciók (AXNAME, AX,<br />

SPI, AXTOSPI, ISAXIS,<br />

AXSTRING, MODAXVAL)<br />

(Oldal 669)<br />

AXCTSWE Konténer tengely <strong>PGA</strong>sl<br />

továbbkapcsolás Tengely-konténer (AXCTWE,<br />

AXCTWED) (Oldal 677)<br />

AXCTSWED Konténer tengely forgatás <strong>PGA</strong>sl<br />

Tengely-konténer (AXCTWE,<br />

AXCTWED) (Oldal 677)<br />

AXIS<br />

Tengelyjelölő, tengelycím <strong>PGA</strong>sl<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

AXNAME<br />

AXSTRING<br />

AXTOCHAN<br />

Bemeneti stringet átalakít<br />

tengelyjelölőre<br />

Stringet orsószámra<br />

alakít<br />

Tengelyt egy adott<br />

csatornához igényelni NC<br />

programból és szinkronakcióból<br />

lehetséges.<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

m - ○ - ○<br />

● ● ● ●<br />

- ● - ●<br />

PGsl s ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Tengely funkciók (AXNAME, AX,<br />

SPI, AXTOSPI, ISAXIS,<br />

AXSTRING, MODAXVAL)<br />

(Oldal 669)<br />

<strong>PGA</strong>sl<br />

Tengely funkciók (AXNAME, AX,<br />

SPI, AXTOSPI, ISAXIS,<br />

AXSTRING, MODAXVAL)<br />

(Oldal 669)<br />

<strong>PGA</strong>sl<br />

Tengelyt egy másik csatornának<br />

átadni (AXTOCHAN) (Oldal 126)<br />

m/s ● ● ● ●<br />

- - - -<br />

- - - -<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 723


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

AXTOSPI<br />

Tengely-jelölőt átalakít<br />

orsóindexre<br />

<strong>PGA</strong>sl<br />

Tengely funkciók (AXNAME, AX,<br />

SPI, AXTOSPI, ISAXIS,<br />

AXSTRING, MODAXVAL)<br />

(Oldal 669)<br />

B Tengelynév <strong>PGA</strong>sl<br />

Szerszámtájolás programozása<br />

(A..., B..., C..., LEAD, TILT)<br />

(Oldal 323)<br />

B2<br />

Szerszámtájolás: RPY- <strong>PGA</strong>sl<br />

vagy Euler-szög<br />

Szerszámtájolás programozása<br />

(A..., B..., C..., LEAD, TILT)<br />

(Oldal 323)<br />

B3<br />

Szerszámtájolás: <strong>PGA</strong>sl<br />

vektorkomponens irány- Szerszámtájolás programozása<br />

/felület-normál<br />

(A..., B..., C..., LEAD, TILT)<br />

(Oldal 323)<br />

B4<br />

Szerszámtájolás: felületnormál<br />

<strong>PGA</strong>sl<br />

a<br />

Homlokmarás (3D-marás A4,<br />

mondatkezdeten B4, C4, A5, B5, C5) (Oldal 329)<br />

B5<br />

Szerszámtájolás: felületnormál<br />

<strong>PGA</strong>sl<br />

a mondatvégen Homlokmarás (3D-marás A4,<br />

B4, C4, A5, B5, C5) (Oldal 329)<br />

B_AND Bitenként ÉS <strong>PGA</strong>sl<br />

Összehasonlító és logikai<br />

műveletek (Oldal 64)<br />

B_OR Bitenként VAGY <strong>PGA</strong>sl<br />

Összehasonlító és logikai<br />

műveletek (Oldal 64)<br />

B_NOT Bitenként negálás <strong>PGA</strong>sl<br />

Összehasonlító és logikai<br />

műveletek (Oldal 64)<br />

B_XOR Bitenként kizáró-VAGY <strong>PGA</strong>sl<br />

Összehasonlító és logikai<br />

műveletek (Oldal 64)<br />

BAUTO Az első Spline-rész <strong>PGA</strong>sl<br />

definiálása a következő 3 Spline interpoláció (ASPLINE,<br />

ponton keresztül BSPLINE, CSPLINE, BAUTO,<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

BLOCK<br />

A feldolgozandó<br />

programrész definíciója a<br />

TO kulcsszóval együtt<br />

egy közvetett alprogramhívásban<br />

<strong>PGA</strong>sl<br />

Közvetett alprogram-hívás a<br />

végrehajtandó programrész<br />

megadásával (CALL BLOCK ...<br />

TO ...) (Oldal 188)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

m/s ● ● ● ●<br />

s ● ● ● ●<br />

s ● ● ● ●<br />

s ● ● ● ●<br />

s ● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

m - ○ - ○<br />

● ● ● ●<br />

Munka-előkészítés<br />

724 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

BLSYNC<br />

BNAT 4)<br />

BOOL<br />

BOUND<br />

BRISK 4)<br />

Az interrupt-rutin<br />

feldolgozása csak a<br />

következő mondatváltás<br />

után kezdődjön<br />

Természetes átmenet az<br />

első Spline-mondathoz<br />

Adattípus: igazságérték<br />

TRUE / FALSE ill. 1 / 0<br />

Megvizsgálja, hogy az<br />

érték a definiált<br />

tartományon belül van-e.<br />

Egyenlőségnél a vizsgált<br />

értéket adja vissza.<br />

Ugrásszerű<br />

pályagyorsítás<br />

<strong>PGA</strong>sl<br />

Interrupt-rutint hozzárendelni és<br />

indítani (SETINT, PRIO,<br />

BLSYNC) (Oldal 111)<br />

<strong>PGA</strong>sl<br />

Spline interpoláció (ASPLINE,<br />

BSPLINE, CSPLINE, BAUTO,<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

<strong>PGA</strong>sl<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

<strong>PGA</strong>sl<br />

Változók minimuma, maximuma<br />

és tartománya (MINVAL,<br />

MAXVAL, BOUND) (Oldal 68)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

m - ○ - ○<br />

● ● ● ●<br />

● ● ● ●<br />

PGsl m ● ● ● ●<br />

BRISKA Ugrásszerű<br />

PGsl ● ● ● ●<br />

pályagyorsítás<br />

bekapcsolása a<br />

programozott tengelyekre<br />

BSPLINE B-Spline <strong>PGA</strong>sl<br />

m - ○ - ○<br />

Spline interpoláció (ASPLINE,<br />

BSPLINE, CSPLINE, BAUTO,<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

BTAN<br />

Érintőleges átmenet az <strong>PGA</strong>sl<br />

m - ○ - ○<br />

első Spline-mondathoz Spline interpoláció (ASPLINE,<br />

BSPLINE, CSPLINE, BAUTO,<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

C Tengelynév <strong>PGA</strong>sl<br />

m/s ● ● ● ●<br />

Szerszámtájolás programozása<br />

(A..., B..., C..., LEAD, TILT)<br />

(Oldal 323)<br />

C2<br />

Szerszámtájolás: RPYvagy<br />

Euler-szög<br />

<strong>PGA</strong>sl<br />

Szerszámtájolás programozása<br />

(A..., B..., C..., LEAD, TILT)<br />

(Oldal 323)<br />

s ● ● ● ●<br />

C3<br />

Szerszámtájolás:<br />

vektorkomponens irány-<br />

/felület-normál<br />

<strong>PGA</strong>sl<br />

Szerszámtájolás programozása<br />

(A..., B..., C..., LEAD, TILT)<br />

(Oldal 323)<br />

s ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 725


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

C4<br />

C5<br />

CAC<br />

CACN<br />

CACP<br />

CALCDAT<br />

CALCPOSI<br />

CALL<br />

CALLPATH<br />

CANCEL<br />

CASE<br />

CDC<br />

Szerszámtájolás: felületnormál<br />

a<br />

mondatkezdeten<br />

Szerszámtájolás: felületnormál<br />

a mondatvégen<br />

Mozgás egy abszolút<br />

pozícióra<br />

A táblázatban megadott<br />

abszolút értékre mozgás<br />

negatív irányban<br />

A táblázatban megadott<br />

abszolút értékre mozgás<br />

pozitív irányban<br />

Egy kör sugarát és<br />

középpontját számítja ki<br />

3 vagy 4 pontjából<br />

Védőtartomány-sértés,<br />

munkatér-határolás és<br />

szoftver-végállások<br />

vizsgálata<br />

Közvetett alprogram<br />

hívás<br />

Programozható keresőág<br />

alprogramhívásnál<br />

Modális szinkronakció<br />

megszakítása<br />

Feltételes program<br />

elágazás<br />

Közvetlen mozgás egy<br />

pozícióra<br />

<strong>PGA</strong>sl<br />

Homlokmarás (3D-marás A4,<br />

B4, C4, A5, B5, C5) (Oldal 329)<br />

<strong>PGA</strong>sl<br />

Homlokmarás (3D-marás A4,<br />

B4, C4, A5, B5, C5) (Oldal 329)<br />

<strong>PGA</strong>sl<br />

Kódolt pozíciókra menni (CAC,<br />

CIC, CDC, CACP, CACN)<br />

(Oldal 231)<br />

<strong>PGA</strong>sl<br />

Kódolt pozíciókra menni (CAC,<br />

CIC, CDC, CACP, CACN)<br />

(Oldal 231)<br />

<strong>PGA</strong>sl<br />

Kódolt pozíciókra menni (CAC,<br />

CIC, CDC, CACP, CACN)<br />

(Oldal 231)<br />

<strong>PGA</strong>sl<br />

Kör-adatok kiszámítása<br />

(CALCDAT) (Oldal 715)<br />

<strong>PGA</strong>sl<br />

Védelmi-tartomány sértés,<br />

munkatér-határolás és szoftverhatárok<br />

vizsgálata (CALCPOSI)<br />

(Oldal 223)<br />

<strong>PGA</strong>sl<br />

Közvetett alprogram-hívás<br />

(CALL) (Oldal 187)<br />

<strong>PGA</strong>sl<br />

Keresőágat alprogram-hívásnál<br />

bővíteni (CALLPATH)<br />

(Oldal 192)<br />

<strong>PGA</strong>sl<br />

Szinkron-akció törlés (CANCEL)<br />

(Oldal 636)<br />

<strong>PGA</strong>sl<br />

Program-elágazás (CASE ... OF<br />

... DEFAULT ...) (Oldal 86)<br />

<strong>PGA</strong>sl<br />

Kódolt pozíciókra menni (CAC,<br />

CIC, CDC, CACP, CACN)<br />

(Oldal 231)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

s ● ● ● ●<br />

s ● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

726 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

CDOF 4) Ütközésellenőrzés KI PGsl m ● ● ● ●<br />

CDOF2<br />

Ütközésellenőrzés KI,<br />

3D-s kerületmarásnál<br />

PGsl m ● ● ● ●<br />

CDON Ütközésellenőrzés BE PGsl m ● ● ● ●<br />

CFC 4)<br />

CFIN<br />

CFINE<br />

CFTCP<br />

CHAN<br />

CHANDATA<br />

CHAR<br />

CHECKSUM<br />

CHF<br />

CHKDM<br />

CHKDNO<br />

Állandó előtolás a<br />

kontúron<br />

Állandó előtolás csak<br />

belső görbületnél, nem<br />

külső görbületnél<br />

Finom-eltolás<br />

hozzárendelés egy<br />

FRAME.változóhoz<br />

Állandó előtolás a<br />

szerszám vágóél<br />

vonatkoztatási ponton,<br />

középpont-pálya<br />

Adatok érvényességi<br />

tartományának<br />

megadása<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Durva és finom eltolás (CFINE,<br />

CTRANS) (Oldal 293)<br />

● ● ● ●<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

Csatornaszám beállítása <strong>PGA</strong>sl<br />

a csatornaadat<br />

Munkatároló (CHANDATA,<br />

hozzáféréshez<br />

COMPLETE, INITIAL)<br />

(Oldal 210)<br />

Adattípus: ASCII karakter <strong>PGA</strong>sl<br />

Ellenőrző összeget képez<br />

egy mezőről STRINGként<br />

fixen megadott<br />

hosszal<br />

Letörés;<br />

érték = letörés hossza<br />

Egyértelműség vizsgálata<br />

egy táron belül<br />

D-számok egyértelműség<br />

vizsgálata<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Ellenőrző-összeg képzése egy<br />

mezőhöz (CHECKSUM)<br />

(Oldal 142)<br />

PGsl s ● ● ● ●<br />

FBW ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Szabad D-szám megadás: D-<br />

számot vizsgálni (CHKDNO)<br />

(Oldal 430)<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 727


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

CHR<br />

CIC<br />

CIP<br />

Letörés;<br />

érték = letörés<br />

szélessége<br />

mozgásirányban<br />

Növekményes mozgás<br />

egy pozícióra<br />

Körinterpoláció<br />

közbenső-ponton<br />

keresztül<br />

Csatorna-koordinálásnál<br />

egy vagy több jelölő<br />

törlése<br />

CLEARM<br />

<strong>PGA</strong>sl<br />

Program koordináció (INIT,<br />

START, WAITM, WAITMC,<br />

WAITE, SETM, CLEARM)<br />

(Oldal 103)<br />

CLRINT Interrupt kikapcsolás <strong>PGA</strong>sl<br />

CMIRROR<br />

COARSEA<br />

COMPCAD<br />

COMPCURV<br />

COMPLETE<br />

Tükrözés egy koordinátatengelyre<br />

Mozgás vége "Pontos-állj<br />

durva" elérésénél<br />

Kompresszor BE:<br />

optimalizált felületi<br />

minőség CAD<br />

programoknál<br />

Kompresszor BE: állandó<br />

görbületű polinomok<br />

Vezérlési utasítás adatok<br />

ki- és beolvasására<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

PGsl ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Kódolt pozíciókra menni (CAC,<br />

CIC, CDC, CACP, CACN)<br />

(Oldal 231)<br />

● ● ● ●<br />

PGsl m ● ● ● ●<br />

Egy interrupt-rutin<br />

hozzárendelésének törlése<br />

(CLRINT) (Oldal 114)<br />

<strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

<strong>PGA</strong>sl<br />

Programozható mozgás vége<br />

kritériumok (FINEA, COARSEA,<br />

IPOENDA, IPOBRKA,<br />

ADISPOSA) (Oldal 274)<br />

<strong>PGA</strong>sl<br />

NC-mondat kompresszió<br />

(COMPON, COMPCURV,<br />

COMPCAD, COMPOF)<br />

(Oldal 247)<br />

<strong>PGA</strong>sl<br />

NC-mondat kompresszió<br />

(COMPON, COMPCURV,<br />

COMPCAD, COMPOF)<br />

(Oldal 247)<br />

<strong>PGA</strong>sl<br />

Munkatároló (CHANDATA,<br />

COMPLETE, INITIAL)<br />

(Oldal 210)<br />

COMPOF 4) Kompresszor KI <strong>PGA</strong>sl<br />

NC-mondat kompresszió<br />

(COMPON, COMPCURV,<br />

COMPCAD, COMPOF)<br />

(Oldal 247)<br />

- - - -<br />

● ● ● ●<br />

● ● ● ●<br />

m ● ● ● ●<br />

m - ○ - ○<br />

m - ○ - ○<br />

● ● ● ●<br />

m - ○ - ○<br />

Munka-előkészítés<br />

728 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

COMPON Kompresszor BE <strong>PGA</strong>sl<br />

NC-mondat kompresszió<br />

(COMPON, COMPCURV,<br />

COMPCAD, COMPOF)<br />

(Oldal 247)<br />

CONTDCON Kontúr-dekódolás <strong>PGA</strong>sl<br />

táblázati formában BE Kódolt kontúr-táblázatot<br />

létrehozni (CONTPRON)<br />

(Oldal 708)<br />

CONTPRON<br />

CORROF<br />

Referencia feldolgozást<br />

bekapcsolni<br />

Az összes aktív átlapoló<br />

mozgás ki lesz<br />

kapcsolva.<br />

Cosinus<br />

(trigon. függvény)<br />

COS<br />

<strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

COUPDEF ELG-egyesülés / <strong>PGA</strong>sl<br />

szinkronorsó-egyesülés Szinkronorsó: Programozás<br />

definíció<br />

(COUPDEF, COUPDEL,<br />

COUPON, COUPONC,<br />

COUPOF, COUPOFS,<br />

COUPRES, WAITC)<br />

(Oldal 535)<br />

COUPDEL ELG-egyesülés törlés <strong>PGA</strong>sl<br />

COUPOF ELG-egyesülés /<br />

szinkronorsó-pár BE<br />

COUPOFS ELG-egyesülés /<br />

szinkronorsó-pár<br />

kikapcsolás követő orsó<br />

állj-jal<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

- ○ - ○<br />

● ● ● ●<br />

<strong>PGA</strong>sl<br />

Kontúr-táblázatot létrehozni<br />

(CONTPRON) (Oldal 702)<br />

● ● ● ●<br />

PGsl ● ● ● ●<br />

Szinkronorsó: Programozás<br />

(COUPDEF, COUPDEL,<br />

COUPON, COUPONC,<br />

COUPOF, COUPOFS,<br />

COUPRES, WAITC)<br />

(Oldal 535)<br />

<strong>PGA</strong>sl<br />

Szinkronorsó: Programozás<br />

(COUPDEF, COUPDEL,<br />

COUPON, COUPONC,<br />

COUPOF, COUPOFS,<br />

COUPRES, WAITC)<br />

(Oldal 535)<br />

<strong>PGA</strong>sl<br />

Szinkronorsó: Programozás<br />

(COUPDEF, COUPDEL,<br />

COUPON, COUPONC,<br />

COUPOF, COUPOFS,<br />

COUPRES, WAITC)<br />

(Oldal 535)<br />

● ● ● ●<br />

○ - ○ -<br />

○ - ○ -<br />

○ - ○ -<br />

○ - ○ -<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 729


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

COUPON ELG-egyesülés /<br />

szinkronorsó-pár BE<br />

COUPONC ELG-egyesülés /<br />

szinkronorsó-pár<br />

bekapcsolás megelőző<br />

programozás átvételével<br />

<strong>PGA</strong>sl<br />

Szinkronorsó: Programozás<br />

(COUPDEF, COUPDEL,<br />

COUPON, COUPONC,<br />

COUPOF, COUPOFS,<br />

COUPRES, WAITC)<br />

(Oldal 535)<br />

<strong>PGA</strong>sl<br />

Szinkronorsó: Programozás<br />

(COUPDEF, COUPDEL,<br />

COUPON, COUPONC,<br />

COUPOF, COUPOFS,<br />

COUPRES, WAITC)<br />

(Oldal 535)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

○ - ○ -<br />

○ - ○ -<br />

COUPRES ELG-egyesülés törlés <strong>PGA</strong>sl<br />

○ - ○ -<br />

Szinkronorsó: Programozás<br />

(COUPDEF, COUPDEL,<br />

COUPON, COUPONC,<br />

COUPOF, COUPOFS,<br />

COUPRES, WAITC)<br />

(Oldal 535)<br />

CP Pályamozgás <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

PTP-mozgás derékszögű<br />

koordinátarendszerben<br />

(Oldal 376)<br />

CPRECOF 4) Programozható<br />

kontúrpontosság KI<br />

PGsl m ● ● ● ●<br />

CPRECON<br />

Programozható<br />

kontúrpontosság BE<br />

PGsl m ● ● ● ●<br />

CPROT Csatorna-specifikus <strong>PGA</strong>sl<br />

● ● ● ●<br />

védőtartomány BE/ KI Védelmi tartományok<br />

aktiválása/deaktiválása<br />

(CPROT, NPROT) (Oldal 219)<br />

CPROTDEF Egy csatorna-specifikus <strong>PGA</strong>sl<br />

● ● ● ●<br />

védőtartomány definíciója Védelmi tartományok megadása<br />

(CPROTDEF, NPROTDEF)<br />

(Oldal 215)<br />

CR Körsugár PGsl s ● ● ● ●<br />

CROT<br />

CROTS<br />

Aktuális<br />

koordinátarendszer<br />

forgatása<br />

Programozható frameforgatás<br />

térszöggel<br />

(forgatás a megadott<br />

tengelyekre)<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Számítási műveletek (Oldal 61)<br />

PGsl s ● ● ● ●<br />

Munka-előkészítés<br />

730 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

CRPL<br />

Frame-forgatás egy FB1(K2) ● ● ● ●<br />

tetszőleges síkban<br />

CSCALE Mértéktényező több <strong>PGA</strong>sl<br />

● ● ● ●<br />

tengelyre<br />

Számítási műveletek (Oldal 61)<br />

CSPLINE Köbös Spline <strong>PGA</strong>sl<br />

m - ○ - ○<br />

Spline interpoláció (ASPLINE,<br />

BSPLINE, CSPLINE, BAUTO,<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

CT<br />

Kör érintőleges<br />

átmenettel<br />

PGsl m ● ● ● ●<br />

CTAB<br />

Megállapítja a követő <strong>PGA</strong>sl<br />

tengely pozícióját a Görbe-táblázat értékeinek<br />

vezető tengely pozíciója olvasása (CTABTSV,<br />

alapján a görbetáblázatból<br />

CTABTEP, CTABSSV,<br />

CTABTEV, CTABTSP,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

CTABDEF Táblázat definíció BE <strong>PGA</strong>sl<br />

Görbe-táblázatot definiálni<br />

(CTABDEF, CATBEND)<br />

(Oldal 502)<br />

CTABDEL Görbe-táblázat törlése <strong>PGA</strong>sl<br />

Görbe-táblázatok törlése<br />

(CTABDEL) (Oldal 508)<br />

CTABEND Táblázat definíció KI <strong>PGA</strong>sl<br />

Görbe-táblázatot definiálni<br />

(CTABDEF, CATBEND)<br />

(Oldal 502)<br />

CTABEXISTS Megvizsgálja az n számú <strong>PGA</strong>sl<br />

görbe-táblázatot<br />

Egy görbe-táblázat előfordulását<br />

megvizsgálni (CTABEXISTS)<br />

(Oldal 508)<br />

CTABFNO<br />

A még lehetséges görbetáblázatok<br />

száma a<br />

tárolóban<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Erőforrások<br />

használatának vizsgálata<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 731


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

CTABFPOL<br />

CTABFSEG<br />

CTABID<br />

CTABINV<br />

CTABISLOCK<br />

CTABLOCK<br />

CTABMEMTYP<br />

A még lehetséges<br />

polinomok száma a<br />

tárolóban<br />

A még lehetséges görbeszegmensek<br />

száma a<br />

tárolóban<br />

Visszaadja a n. görbetáblázat<br />

táblázatszámát<br />

Megállapítja a vezető<br />

tengely pozícióját a<br />

követő tengely pozíciója<br />

alapján a görbetáblázatból<br />

Visszaadja az n számú<br />

görbe-táblázat tiltási<br />

állapotát<br />

Törlés és átírás elleni<br />

tiltás beállítása<br />

Visszaadja a tárolót,<br />

amelyben az n számú<br />

görbe-táblázat van.<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Erőforrások<br />

használatának vizsgálata<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Erőforrások<br />

használatának vizsgálata<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Táblázat<br />

tulajdonságok megállapítása<br />

(CTABID, CTABISLOCK,<br />

CTABMEMTYP, CTABPERIOD)<br />

(Oldal 511)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázat értékeinek<br />

olvasása (CTABTSV,<br />

CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Táblázat<br />

tulajdonságok megállapítása<br />

(CTABID, CTABISLOCK,<br />

CTABMEMTYP, CTABPERIOD)<br />

(Oldal 511)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok zárolása<br />

törlésre és átírásra<br />

(CTABLOCK, CTABUNLOCK)<br />

(Oldal 510)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Táblázat<br />

tulajdonságok megállapítása<br />

(CTABID, CTABISLOCK,<br />

CTABMEMTYP, CTABPERIOD)<br />

(Oldal 511)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

Munka-előkészítés<br />

732 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

CTABMPOL A maximálisan<br />

<strong>PGA</strong>sl<br />

- - - -<br />

lehetséges polinomok Görbe-táblázatok: Erőforrások<br />

száma a tárolóban használatának vizsgálata<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

CTABMSEG A maximálisan<br />

<strong>PGA</strong>sl<br />

- - - -<br />

lehetséges görbeszegmensek<br />

száma a használatának vizsgálata<br />

Görbe-táblázatok: Erőforrások<br />

tárolóban<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

CTABNO A definiált görbetáblázatok<br />

száma a tároló<br />

FB3(M3) - - - -<br />

típusától függetlenül<br />

CTABNOMEM A definiált görbetáblázatok<br />

száma az Görbe-táblázatok: Erőforrások<br />

<strong>PGA</strong>sl<br />

- - - -<br />

SRAM vagy DRAM használatának vizsgálata<br />

tárolóban<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

CTABPERIOD<br />

CTABPOL<br />

Visszaadja a táblázat<br />

periodicitását az n<br />

számmal<br />

A már használt<br />

polinomok száma a<br />

tárolóban<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Táblázat<br />

tulajdonságok megállapítása<br />

(CTABID, CTABISLOCK,<br />

CTABMEMTYP, CTABPERIOD)<br />

(Oldal 511)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Erőforrások<br />

használatának vizsgálata<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

- - - -<br />

- - - -<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 733


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

CTABPOLID<br />

CTABSEG<br />

CTABSEGID<br />

CTABSEV<br />

CTABSSV<br />

CTABTEP<br />

Az n számú görbetáblázat<br />

által használt<br />

görbe-polinomok száma<br />

A már használt görbeszegmensek<br />

száma a<br />

tárolóban<br />

Az n számú görbetáblázat<br />

által használt<br />

görbe-szegnesek száma<br />

Visszaadja a görbetáblázat<br />

egy<br />

szegmensének követő<br />

tengely végértékét<br />

Visszaadja a görbetáblázat<br />

egy<br />

szegmensének követő<br />

tengely kezdőértékét<br />

Visszaadja a vezető<br />

tengely értékét a görbetáblázat<br />

végén<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Erőforrások<br />

használatának vizsgálata<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Erőforrások<br />

használatának vizsgálata<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok: Erőforrások<br />

használatának vizsgálata<br />

(CTABNO, CTABNOMEM,<br />

CTABFNO, CTABSEGID,<br />

CTABSEG, CTABFSEG,<br />

CTABMSEG, CTABPOLID,<br />

CTABPOL, CTABFPOL,<br />

CTABMPOL) (Oldal 518)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázat értékeinek<br />

olvasása (CTABTSV,<br />

CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázat értékeinek<br />

olvasása (CTABTSV,<br />

CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázat értékeinek<br />

olvasása (CTABTSV,<br />

CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

Munka-előkészítés<br />

734 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

CTABTEV<br />

CTABTMAX<br />

CTABTMIN<br />

CTABTSP<br />

CTABTSV<br />

CTABUNLOCK<br />

CTOL<br />

CTRANS<br />

Visszaadja a követő<br />

tengely értékét a görbetáblázat<br />

végén<br />

Visszaadja a követő<br />

tengely maximális értékét<br />

a görbe-táblázatban<br />

Visszaadja a követő<br />

tengely minimális értékét<br />

a görbe-táblázatban<br />

Visszaadja a vezető<br />

tengely értékét a görbetáblázat<br />

kezdetén<br />

Visszaadja a követő<br />

tengely értékét a görbetáblázat<br />

kezdetén<br />

Törlés és átírás elleni<br />

tiltás feloldása<br />

Kompresszor funkciók,<br />

tájolás-simítások és<br />

átsimítási módok kontúrtűrése<br />

Nullaponteltolás több<br />

tengelyre<br />

<strong>PGA</strong>sl<br />

Görbe-táblázat értékeinek<br />

olvasása (CTABTSV,<br />

CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázat értékeinek<br />

olvasása (CTABTSV,<br />

CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázat értékeinek<br />

olvasása (CTABTSV,<br />

CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázat értékeinek<br />

olvasása (CTABTSV,<br />

CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázat értékeinek<br />

olvasása (CTABTSV,<br />

CTABTEV, CTABTSP,<br />

CTABTEP, CTABSSV,<br />

CTABSEV, CTAB, CTABINV,<br />

CTABTMIN, CTABTMAX)<br />

(Oldal 513)<br />

<strong>PGA</strong>sl<br />

Görbe-táblázatok zárolása<br />

törlésre és átírásra<br />

(CTABLOCK, CTABUNLOCK)<br />

(Oldal 510)<br />

<strong>PGA</strong>sl<br />

Programozható kontúr-/tájolástűrés<br />

(CTOL, OTOL, ATOL)<br />

(Oldal 491)<br />

<strong>PGA</strong>sl<br />

Durva és finom eltolás (CFINE,<br />

CTRANS) (Oldal 293)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- ○ - ○<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 735


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

CUT2D 4) 2D-s szerszámkorrekció PGsl m ● ● ● ●<br />

CUT2DF<br />

CUT3DC<br />

CUT3DCC<br />

CUT3DCCD<br />

CUT3DF<br />

CUT3DFF<br />

CUT3DFS<br />

2D-s szerszámkorrekció.<br />

A szerszámkorrekció az<br />

aktuális frame-hez<br />

relatívan hat (ferde sík).<br />

3D-s szerszámkorrekció<br />

kerületmarás<br />

3D-s szerszámkorrekció<br />

kerületmarás határoló<br />

felületekkel<br />

3D-s szerszámkorrekció<br />

kerületmarás határoló<br />

felületekkel diffrenciaszerszámmal<br />

3D-s szerszámkorrekció<br />

homlokmarás<br />

3D-s szerszámkorrekció<br />

homlokmarás állandó<br />

szerszám-tájolással az<br />

aktív frame-től függően<br />

3D-s szerszámkorrekció<br />

homlokmarás állandó<br />

szerszám-tájolással az<br />

aktív frame-től<br />

függetlenül<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

3D-s szerszámkorrekció<br />

aktiválása (CUT3DC...,<br />

CUT3DF...) (Oldal 409)<br />

<strong>PGA</strong>sl<br />

3D-s szerszámkorrekciók:<br />

Határoló felület figyelembe<br />

vétele (CUT3DCC, CUT3DCCD)<br />

(Oldal 419)<br />

<strong>PGA</strong>sl<br />

3D-s szerszámkorrekciók:<br />

Határoló felület figyelembe<br />

vétele (CUT3DCC, CUT3DCCD)<br />

(Oldal 419)<br />

<strong>PGA</strong>sl<br />

3D-s szerszámkorrekció<br />

aktiválása (CUT3DC...,<br />

CUT3DF...) (Oldal 409)<br />

<strong>PGA</strong>sl<br />

3D-s szerszámkorrekció<br />

aktiválása (CUT3DC...,<br />

CUT3DF...) (Oldal 409)<br />

<strong>PGA</strong>sl<br />

3D-s szerszámkorrekció<br />

aktiválása (CUT3DC...,<br />

CUT3DF...) (Oldal 409)<br />

m - - - -<br />

m - - - -<br />

m - - - -<br />

m - - - -<br />

m - - - -<br />

m - - - -<br />

CUTCONOF 4) Állandó sugárkorrekció KI PGsl m ● ● ● ●<br />

CUTCONON<br />

Állandó sugárkorrekció<br />

BE<br />

CUTMOD "Korrekcióadatok <strong>PGA</strong>sl<br />

módosítása forgatható Vágóél adatok módosítása<br />

szerszámoknál" funkciót forgatható szerszámoknál<br />

bekapcsolni<br />

(CUTMOD) (Oldal 446)<br />

CYCLE... Mérőciklusok BHDsl/BHFsl<br />

PGsl m ● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

736 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

D Szerszámkorrekció-szám PGsl ● ● ● ●<br />

D0<br />

D0-nál a korrekciók nem<br />

hatásosak a szerszámra<br />

PGsl ● ● ● ●<br />

DAC<br />

Abszolút mondatonkénti PGsl s ● ● ● ●<br />

tengely-specifikus<br />

átmérő-programozás<br />

DC<br />

Abszolút méretmegadás PGsl s ● ● ● ●<br />

körtengelyekre, pozícióra<br />

közvetlen rámenetel<br />

DEF Változó definíció <strong>PGA</strong>sl<br />

● ● ● ●<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

DEFINE Kulcsszó makródefiníciókhoz<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Makró-technika (DEFINE...AS)<br />

(Oldal 201)<br />

DEFAULT CASE elágazásban ág <strong>PGA</strong>sl<br />

● ● ● ●<br />

Program-elágazás (CASE ... OF<br />

... DEFAULT ...) (Oldal 86)<br />

DELAYFSTON Egy Stopp-Delay <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

tartomány elejét definiálni Program-elágazás (CASE ... OF<br />

... DEFAULT ...) (Oldal 86)<br />

DELAYFSTOF Egy Stopp-Delay <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

tartomány végét definiálni Feltételesen megszakítható<br />

programszakaszok<br />

(DELAYFSTON, DELAYFSTOF)<br />

(Oldal 468)<br />

DELDL Additív korrekciót törölni <strong>PGA</strong>sl<br />

● ● ● ●<br />

Additív korrekciókat törölni<br />

(DELDL) (Oldal 395)<br />

DELDTG Maradékút törlés <strong>PGA</strong>sl<br />

● ● ● ●<br />

Maradékút törlés (DELDTG)<br />

(Oldal 582)<br />

DELETE A megadott fájlt törölni. A <strong>PGA</strong>sl<br />

● ● ● ●<br />

fájlnevet ággal és Fájl törlés (DELETE)<br />

fájljelölővel lehet (Oldal 132)<br />

megadni.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 737


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

DELTOOLENV<br />

DIACYCOFA<br />

DIAM90<br />

DIAM90A<br />

DIAMCHAN<br />

DIAMCHANA<br />

Szerszám-környezeteket<br />

leíró adatkészleteket<br />

törölni<br />

Tengely-specifikus<br />

modális átmérőprogramozás:<br />

KI a<br />

ciklusokban<br />

Átmérő-programozás<br />

G90-nél, sugárprogramozás<br />

G91-nél<br />

Tengely-specifikus<br />

modális átmérőprogramozás<br />

G90-nél és<br />

AC, sugár-programozás<br />

G91-nél és IC<br />

Összes tengely átvétele a<br />

tengelyfunkciók<br />

gépadatból az átmérőprogramozás<br />

csatornaállapotába<br />

Átmérő-programozás<br />

csatornaállapot átvétele<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

FB1(W1) ● ● ● ●<br />

FB1(P1) m ● ● ● ●<br />

<strong>PGA</strong>sl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl ● ● ● ●<br />

PGsl ● ● ● ●<br />

DIAMCYCOF Csatorna-specifikus FB1(P1) m ● ● ● ●<br />

átmérő-programozás KI a<br />

ciklusokban<br />

DIAMOF 4) Átmérő-programozás: KI PGsl m ● ● ● ●<br />

alaphelyzetet lásd<br />

gépgyártónál<br />

DIAMOFA Tengely-specifikus PGsl m ● ● ● ●<br />

modális átmérőprogramozás:<br />

KI<br />

alaphelyzetet lásd<br />

gépgyártónál<br />

DIAMON Átmérő-programozás: BE PGsl m ● ● ● ●<br />

DIAMONA<br />

Tengely-specifikus<br />

modális átmérőprogramozás:<br />

BE<br />

engedélyezést lásd<br />

gépgyártónál<br />

PGsl m ● ● ● ●<br />

Munka-előkészítés<br />

738 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

DIC<br />

Realatív mondatonkénti PGsl s ● ● ● ●<br />

tengely-specifikus<br />

átmérő-programozás<br />

DILF Visszahúzási út (hossz) PGsl m ● ● ● ●<br />

DISABLE Interrupt KI <strong>PGA</strong>sl<br />

● ● ● ●<br />

Egy interrupt-rutin<br />

hozzárendelését<br />

deaktiválni/újra-aktiválni<br />

(DISABLE, ENABLE)<br />

(Oldal 113)<br />

DISC<br />

Átmeneti kör megnövelés<br />

szerszám-sugárkorrekció<br />

PGsl m ● ● ● ●<br />

DISCL<br />

DISPLOF<br />

Gyors ráállás mozgás<br />

végpontjának távolsága a<br />

megmunkálási síktól<br />

Aktuális mondat kijelzést<br />

elnyomni<br />

PGsl ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Aktuális mondatkijelzés<br />

elnyomása (DISPLOF,<br />

DISPLON, ACTBLOCNO)<br />

(Oldal 164)<br />

● ● ● ●<br />

DISPLON Aktuális mondat kijelzést <strong>PGA</strong>sl<br />

● ● ● ●<br />

elnyomást megszüntetni Aktuális mondatkijelzés<br />

elnyomása (DISPLOF,<br />

DISPLON, ACTBLOCNO)<br />

(Oldal 164)<br />

DISPR Repos pályakülönbség <strong>PGA</strong>sl<br />

s ● ● ● ●<br />

Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

DISR Repos távolság <strong>PGA</strong>sl<br />

s ● ● ● ●<br />

Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

DITE Menet kifutási út PGsl m ● ● ● ●<br />

DITS Menet bekezdési út PGsl m ● ● ● ●<br />

DIV Egész osztás <strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 739


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

DL<br />

DO<br />

DRFOF<br />

DRIVE<br />

Helyfüggő additív<br />

szerszámkorrekciót<br />

kiválasztani (DL, összeg<br />

beállítási korrekció)<br />

Kulcsszó szinkronakciókhoz,<br />

teljesült<br />

feltételnél vált ki akciót<br />

Kézikerék-eltolások<br />

kikapcsolása (DRF)<br />

Sebességtől függő<br />

pályagyorsítás<br />

<strong>PGA</strong>sl<br />

Additív korrekciókat kiválasztani<br />

(DL) (Oldal 392)<br />

<strong>PGA</strong>sl<br />

Akciók (DO) (Oldal 557)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

m - - - -<br />

● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

DRIVEA Megtört gyorsulási PGsl ● ● ● ●<br />

jelleggörbét a<br />

programozott tengelyekre<br />

bekapcsolni<br />

DYNFINISH Finomsimítás dinamika PGsl m ● ● ● ●<br />

DYNNORM Normál dinamika PGsl m ● ● ● ●<br />

DYNPOS<br />

Dinamika pozícionáló<br />

üzemre, menetfúrásra<br />

PGsl m ● ● ● ●<br />

DYNROUGH Nagyolás dinamika PGsl m ● ● ● ●<br />

DYNSEMIFIN Simítás dinamika PGsl m ● ● ● ●<br />

DZERO A TO egység összes D-<br />

számát érvénytelennek<br />

jelöli<br />

EAUTO<br />

EGDEF<br />

EGDEL<br />

Az utolsó Spline-szakasz<br />

meghatározása az utolsó<br />

3 ponttal<br />

Elektronikus hajtómű<br />

definíció<br />

Követő tengely csatolás<br />

definíciót törölni<br />

<strong>PGA</strong>sl<br />

Szabad D-szám megadás: D-<br />

számot érvénytelenné tenni<br />

(DZERO) (Oldal 433)<br />

<strong>PGA</strong>sl<br />

Spline interpoláció (ASPLINE,<br />

BSPLINE, CSPLINE, BAUTO,<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

<strong>PGA</strong>sl<br />

Elektronikus hajtómű definíció<br />

(EGDEF) (Oldal 526)<br />

<strong>PGA</strong>sl<br />

Egy elektronikus hajtómű<br />

definícióját törölni (EGDEL)<br />

(Oldal 532)<br />

● ● ● ●<br />

m - ○ - ○<br />

- - - -<br />

- - - -<br />

Munka-előkészítés<br />

740 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

EGOFC Elektronikus hajtóművet<br />

folyamatosan kikapcsolni<br />

<strong>PGA</strong>sl<br />

Elektronikus hajtómű<br />

kikapcsolása (EGOFS)<br />

(Oldal 531)<br />

EGOFS Elektronikus hajtóművet <strong>PGA</strong>sl<br />

szelektíven kikapcsolni Elektronikus hajtómű<br />

kikapcsolása (EGOFS)<br />

(Oldal 531)<br />

EGON<br />

Elektronikus hajtóművet <strong>PGA</strong>sl<br />

bekapcsolni<br />

Elektronikus hajtómű<br />

kikapcsolása (EGOFS)<br />

(Oldal 531)<br />

EGONSYN Elektronikus hajtóművet <strong>PGA</strong>sl<br />

bekapcsolni<br />

Elektronikus hajtómű<br />

kikapcsolása (EGOFS)<br />

(Oldal 531)<br />

EGONSYNE Elektronikus hajtóművet <strong>PGA</strong>sl<br />

bekapcsolni, a rámeneti Elektronikus hajtómű<br />

módus megadásával kikapcsolása (EGOFS)<br />

(Oldal 531)<br />

ELSE<br />

Program elágazás, ha IFfeltétel<br />

<strong>PGA</strong>sl<br />

nem teljesült Program<strong>hu</strong>rkok alternatívával<br />

(IF, ELSE, ENDIF) (Oldal 96)<br />

ENABLE Interrupt BE <strong>PGA</strong>sl<br />

Egy interrupt-rutin<br />

hozzárendelését<br />

deaktiválni/újra-aktiválni<br />

(DISABLE, ENABLE)<br />

(Oldal 113)<br />

ENAT 4) Természetes<br />

<strong>PGA</strong>sl<br />

görbeátmenet a<br />

Spline interpoláció (ASPLINE,<br />

következő elmozdulási BSPLINE, CSPLINE, BAUTO,<br />

mondathoz<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

ENDFOR FOR-számláló<strong>hu</strong>rok <strong>PGA</strong>sl<br />

végsora<br />

Számláló <strong>hu</strong>rok (FOR ... TO ...,<br />

ENDFOR) (Oldal 99)<br />

ENDIF IF-elágazás végsora <strong>PGA</strong>sl<br />

Program<strong>hu</strong>rkok alternatívával<br />

(IF, ELSE, ENDIF) (Oldal 96)<br />

ENDLABEL Vég-jelölő<br />

<strong>PGA</strong>sl, FB1(K1)<br />

munkadarabprogram Programrész ismétlése<br />

ismétléseknél REPEATtel<br />

ENDLABEL, P) (Oldal<br />

(REPEAT, REPEATB,<br />

88)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

- - - -<br />

● ● ● ●<br />

● ● ● ●<br />

m - ○ - ○<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 741


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

ENDLOOP<br />

LOOP végtelen<br />

program<strong>hu</strong>rok végsora<br />

<strong>PGA</strong>sl<br />

Végtelen program<strong>hu</strong>rok (LOOP,<br />

ENDLOOP) (Oldal 98)<br />

ENDPROC PROC kezdősorú<br />

program végsor<br />

ENDWHILE WHILE-<strong>hu</strong>rok végsora <strong>PGA</strong>sl<br />

Program<strong>hu</strong>rok feltétellel a <strong>hu</strong>rok<br />

elején (WHILE, ENDWHILE)<br />

(Oldal 100)<br />

ETAN<br />

Érintőleges görbeátmenet <strong>PGA</strong>sl<br />

a következő elmozdulási Spline interpoláció (ASPLINE,<br />

mondathoz Splinekezdetnél<br />

BNAT, BTAN, EAUTO, ENAT,<br />

BSPLINE, CSPLINE, BAUTO,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

EVERY Szinkron-akciót<br />

<strong>PGA</strong>sl<br />

végrehajtani, ha a feltétel A feltétel ciklikus vizsgálata<br />

FALSE-ról TRUE-ra (WHEN, WHENEVER, FROM,<br />

változik<br />

EVERY) (Oldal 555)<br />

EX<br />

Kulcsszó érték<br />

<strong>PGA</strong>sl<br />

hozzárendeléshez Előre definiált felhasználói<br />

exponenciális<br />

változók: Számítási paraméterek<br />

írásmódban<br />

(R) (Oldal 18)<br />

EXECSTRING Egy string-változó <strong>PGA</strong>sl<br />

átadása a végrehajtandó Munkadarabprogram sorok<br />

programsorral<br />

közvetett programozása<br />

(EXECSTRING) (Oldal 60)<br />

EXECTAB Mozgás-táblázat egy <strong>PGA</strong>sl<br />

elemét feldolgozni Munkadarabprogram sorok<br />

közvetett programozása<br />

(EXECSTRING) (Oldal 60)<br />

EXECUTE Program végrehajtás BE <strong>PGA</strong>sl<br />

Kontúr-feldolgozást kikapcsolni<br />

(EXECUTE) (Oldal 717)<br />

EXP<br />

Ex exponenciális <strong>PGA</strong>sl<br />

függvény<br />

Számítási műveletek (Oldal 61)<br />

EXTCALL Külső alprogramot <strong>PGA</strong>sl<br />

feldolgozni<br />

Külső alprogram feldolgozás<br />

(EXTCALL) (Oldal 193)<br />

EXTERN<br />

Egy paraméter-átadásos<br />

alprogram ismertté tétele<br />

<strong>PGA</strong>sl<br />

Alprogram hívása paraméterátadás<br />

nélkül (Oldal 178)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

m - ○ - ○<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

742 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

F<br />

Előtolás érték<br />

PGsl ● ● ● ●<br />

(G4-gyel kapcsolatosan<br />

F-fel a várakozási időt is<br />

programozzuk)<br />

FA Tengely előtolás PGsl m ● ● ● ●<br />

FAD<br />

Fogásvétel előtolás puha<br />

rá- és lemenethez<br />

PGsl ● ● ● ●<br />

FALSE Logikai állandó: hamis <strong>PGA</strong>sl<br />

● ● ● ●<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

FB Mondatonkénti előtolás PGsl ● ● ● ●<br />

FCTDEF<br />

FCUB<br />

FD<br />

FDA<br />

Polinom funkció<br />

definiálása<br />

Előtolás a köbös Splinera<br />

változtatható<br />

Pályaelőtolás kézikerékátlapolódásra<br />

Tengely előtolás<br />

kézikerék-átlapolódásra<br />

<strong>PGA</strong>sl<br />

Online-szerszámkorrekció<br />

(PUTFTOCF, FCTDEF,<br />

PUTFTOC, FTOCON, FTOCOF)<br />

(Oldal 404)<br />

- - - -<br />

<strong>PGA</strong>sl<br />

m ● ● ● ●<br />

Előtolás lefutás (FNORM, FLIN,<br />

FCUB, FPO) (Oldal 460)<br />

PGsl s ● ● ● ●<br />

PGsl s ● ● ● ●<br />

FENDNORM Sarok-késleltetés KI <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

Előtolás-csökkentés<br />

sarokkésleltetéssel<br />

(FENDNORM, G62, G621)<br />

(Oldal 273)<br />

FFWOF 4) Elővezérlés KI PGsl m ● ● ● ●<br />

FFWON Elővezérlés BE PGsl m ● ● ● ●<br />

FGREF<br />

FGROUP<br />

Vonatkozási sugár<br />

körtengelyeknél vagy<br />

pályavonatkozási tényező<br />

tájolótengelyeknél<br />

(vektor-interpoláció)<br />

Pálya-előtolásos<br />

tengely(ek)<br />

meghatározása<br />

PGsl m ● ● ● ●<br />

PGsl ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 743


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

FI<br />

FIFOCTRL<br />

FILEDATE<br />

FILEINFO<br />

FILESIZE<br />

FILESTAT<br />

FILETIME<br />

FINEA<br />

FL<br />

FLIN<br />

Frame-adatok hozzáférés<br />

paraméter: finom-eltolás<br />

Előrefutás-puffer<br />

vezérlése<br />

Visszaadja a fájl utolsó<br />

írásának dátumát<br />

Visszaadja a FILEDATE,<br />

FILESIZE, FILESTAT és<br />

FILETIME összegét<br />

Visszaadja a fájl aktuális<br />

méretét<br />

Visszaadja az olvasás,<br />

írás, végrehajtás,<br />

kijelzés, törlés (rwxsd)<br />

jogok fájl-állapotokat<br />

Visszaadja a fájl utolsó<br />

írásának időpontját<br />

Mozgás vége "Pontos-állj<br />

finom" elérésénél<br />

Határsebesség<br />

szinkrontengelyekre<br />

Előtolás lineárisan<br />

változtatható<br />

<strong>PGA</strong>sl<br />

Frame komponensek olvasása<br />

és megváltoztatása (TR, FI, RT,<br />

SC, MI) (Oldal 289)<br />

<strong>PGA</strong>sl<br />

Programlefutás előrefutás<br />

tárolóval (STARTFIFO,<br />

STOPFIFO, STOPRE)<br />

(Oldal 465)<br />

<strong>PGA</strong>sl<br />

Fájl információkat kiolvasni<br />

(FILEDATE, FILETIME,<br />

FILESIZE, FILESTAT,<br />

FILEINFO) (Oldal 139)<br />

<strong>PGA</strong>sl<br />

Fájl információkat kiolvasni<br />

(FILEDATE, FILETIME,<br />

FILESIZE, FILESTAT,<br />

FILEINFO) (Oldal 139)<br />

<strong>PGA</strong>sl<br />

Fájl információkat kiolvasni<br />

(FILEDATE, FILETIME,<br />

FILESIZE, FILESTAT,<br />

FILEINFO) (Oldal 139)<br />

<strong>PGA</strong>sl<br />

Fájl információkat kiolvasni<br />

(FILEDATE, FILETIME,<br />

FILESIZE, FILESTAT,<br />

FILEINFO) (Oldal 139)<br />

<strong>PGA</strong>sl<br />

Fájl információkat kiolvasni<br />

(FILEDATE, FILETIME,<br />

FILESIZE, FILESTAT,<br />

FILEINFO) (Oldal 139)<br />

<strong>PGA</strong>sl<br />

Programozható mozgás vége<br />

kritériumok (FINEA, COARSEA,<br />

IPOENDA, IPOBRKA,<br />

ADISPOSA) (Oldal 274)<br />

PGsl<br />

Frame komponensek olvasása<br />

és megváltoztatása (TR, FI, RT,<br />

SC, MI) (Oldal 289)<br />

<strong>PGA</strong>sl<br />

Előtolás lefutás (FNORM, FLIN,<br />

FCUB, FPO) (Oldal 460)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

m ● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

Munka-előkészítés<br />

744 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

FMA Több tengely előtolás PGsl m - - - -<br />

FNORM 4)<br />

FOCOF<br />

FOCON<br />

FOR<br />

FP<br />

Előtolás normál<br />

DIN66025 szerint<br />

Határolt<br />

nyomatékkal/erővel<br />

mozgást kikapcsolni<br />

Határolt<br />

nyomatékkal/erővel<br />

mozgást bekapcsolni<br />

Számláló <strong>hu</strong>rok fix számú<br />

átfutással<br />

Fixpont: az elérendő<br />

fixpont száma<br />

<strong>PGA</strong>sl<br />

Előtolás lefutás (FNORM, FLIN,<br />

FCUB, FPO) (Oldal 460)<br />

m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

m ○ - ○ -<br />

Fix-ütközőre menet (FXS, FXST,<br />

FXSW, FOCON, FOCOF)<br />

(Oldal 620)<br />

<strong>PGA</strong>sl<br />

m ○ - ○ -<br />

Fix-ütközőre menet (FXS, FXST,<br />

FXSW, FOCON, FOCOF)<br />

(Oldal 620)<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Számláló <strong>hu</strong>rok (FOR ... TO ...,<br />

ENDFOR) (Oldal 99)<br />

PGsl s ● ● ● ●<br />

FPO<br />

Egy polinommal<br />

<strong>PGA</strong>sl<br />

- - - -<br />

programozott előtolás Előtolás lefutás (FNORM, FLIN,<br />

lefutás<br />

FCUB, FPO) (Oldal 460)<br />

FPR Körtengely jelölése PGsl ● ● ● ●<br />

FPRAOF<br />

FPRAON<br />

FRAME<br />

FRC<br />

FRCM<br />

FROM<br />

Fordulati előtolás<br />

kikapcsolása<br />

Fordulati előtolás<br />

bekapcsolása<br />

Adattípus a<br />

koordinátarendszer<br />

megadásához<br />

Előtolás sugárnál és<br />

letörésnél<br />

Előtolás sugárnál és<br />

letörésnél modális<br />

Az akció végre lesz<br />

hajtva, ha a feltétel<br />

egyszer teljesült és amíg<br />

a szinkron-akció aktív.<br />

PGsl ● ● ● ●<br />

PGsl ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Új frame-k definiálása (DEF<br />

FRAME) (Oldal 292)<br />

● ● ● ●<br />

PGsl s ● ● ● ●<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

A feltétel ciklikus vizsgálata<br />

(WHEN, WHENEVER, FROM,<br />

EVERY) (Oldal 555)<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 745


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

FTOC<br />

Szerszám<br />

PGsl<br />

finomkorrekciót<br />

Online-szerszámkorrekció<br />

változtatni<br />

(PUTFTOCF, FCTDEF,<br />

PUTFTOC, FTOCON, FTOCOF)<br />

(Oldal 404)<br />

FTOCOF 4) Online hatásos<br />

<strong>PGA</strong>sl<br />

szerszám-finomkorrekció Online-szerszámkorrekció<br />

KI<br />

(PUTFTOCF, FCTDEF,<br />

PUTFTOC, FTOCON, FTOCOF)<br />

(Oldal 404)<br />

FTOCON Online hatásos<br />

<strong>PGA</strong>sl<br />

szerszám-finomkorrekció Online-szerszámkorrekció<br />

BE<br />

(PUTFTOCF, FCTDEF,<br />

PUTFTOC, FTOCON, FTOCOF)<br />

(Oldal 404)<br />

FXS Fix-ütközőre menet be PGsl<br />

Fix-ütközőre menet (FXS, FXST,<br />

FXSW, FOCON, FOCOF)<br />

(Oldal 620)<br />

FXST<br />

Fix-ütközőre menet PGsl<br />

nyomatékhatár<br />

Fix-ütközőre menet (FXS, FXST,<br />

FXSW, FOCON, FOCOF)<br />

(Oldal 620)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

FXSW<br />

Fix-ütközőre menet PGsl<br />

● ● ● ●<br />

ellenőrzőablak<br />

Fix-ütközőre menet (FXS, FXST,<br />

FXSW, FOCON, FOCOF)<br />

(Oldal 620)<br />

FZ Fog-előtolás PGsl m ● ● ● ●<br />

G0<br />

G1 4)<br />

G2<br />

G3<br />

G4<br />

G5<br />

Egyenes interpoláció<br />

gyorsmenettel<br />

Egyenes interpoláció<br />

előtolással<br />

Körinterpoláció az<br />

óramutató járása<br />

irányában<br />

Körinterpoláció az<br />

óramutató járásával<br />

ellentétes irányban<br />

Várakozási idő, időben<br />

előre meghatározott<br />

Ferde beszúró<br />

köszörülés<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl s ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Ferde tengely (TRAANG)<br />

(Oldal 371)<br />

s ● ● ● ●<br />

Munka-előkészítés<br />

746 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

G7<br />

Kiegyenlítő mozgás ferde <strong>PGA</strong>sl<br />

s ● ● ● ●<br />

beszúró köszörülésnél Ferde tengely (TRAANG)<br />

(Oldal 371)<br />

G9<br />

Pontos állj - sebességcsökkenés<br />

PGsl s ● ● ● ●<br />

G17 4) Munkasík kiválasztás X/Y PGsl m ● ● ● ●<br />

G18 Munkasík kiválasztás Z/X PGsl m ● ● ● ●<br />

G19 Munkasík kiválasztás Y/Z PGsl m ● ● ● ●<br />

G25 Alsó munkatér határolás PGsl s ● ● ● ●<br />

G26 Felső munkatér határolás PGsl s ● ● ● ●<br />

G33<br />

G34<br />

G35<br />

G40 4)<br />

G41<br />

G42<br />

G53<br />

G54<br />

G55<br />

G56<br />

G57<br />

Menetvágás állandó<br />

emelkedéssel<br />

Menetvágás lineárisan<br />

növekvő emelkedéssel<br />

Menetvágás lineárisan<br />

csökkenő emelkedéssel<br />

Szerszámsugár-korrekció<br />

KI<br />

Szerszámsugár-korrekció<br />

a kontúrtól balra<br />

Szerszámsugár-korrekció<br />

a kontúrtól jobbra<br />

Aktuális nullaponteltolás<br />

elnyomása<br />

(mondatonként)<br />

1. beállítható<br />

nullaponteltolás<br />

2. beállítható<br />

nullaponteltolás<br />

3. 3. beállítható<br />

nullaponteltolás<br />

4. beállítható<br />

nullaponteltolás<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl s ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 747


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

G58<br />

G59<br />

G60 4)<br />

G62<br />

G63<br />

Tengelyirányú<br />

programozható<br />

nullaponteltolás abszolút,<br />

durva-eltolás<br />

Tengelyirányú<br />

programozható<br />

nullaponteltolás additív,<br />

finom-eltolás<br />

Pontos állj - sebességcsökkenés<br />

Sarok-késleltetés belső<br />

sarkokon aktív<br />

szerszámsugárkorrekciónál<br />

(G41, G42)<br />

Menetfúrás kiegyenlítő<br />

tokmánnyal<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

PGsl s ● ● ● ●<br />

PGsl s ● ● ● ●<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Előtolás-csökkentés<br />

sarokkésleltetéssel<br />

(FENDNORM, G62, G621)<br />

(Oldal 273)<br />

m ● ● ● ●<br />

PGsl s ● ● ● ●<br />

G64 pályavezérlő-üzem PGsl m ● ● ● ●<br />

G70<br />

Geometriai adatok PGsl m ● ● ● ●<br />

méretmegadás<br />

hüvelykben (hosszak)<br />

G71 4)<br />

Geometriai adatok PGsl m ● ● ● ●<br />

méretmegadás metrikus<br />

(hosszak)<br />

G74 Referenciapontra menet PGsl s ● ● ● ●<br />

G75 Fix-pontra menet PGsl s ● ● ● ●<br />

G90 4) Méretmegadás abszolút PGsl m/s ● ● ● ●<br />

G91 Láncméret-megadás PGsl m/s ● ● ● ●<br />

G93<br />

G94 4)<br />

G95<br />

G96<br />

Idő-reciprok előtolás<br />

1/perc<br />

Lineáris előtolás F<br />

mm/perc vagy<br />

hüvelyk/perc-ben és<br />

fok/perc-ben<br />

Fordulati előtolás F<br />

mm/ford vagy<br />

hüvelyk/ford-ban<br />

Állandó vágássebesség<br />

(mint G95-nél) BE<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

Munka-előkészítés<br />

748 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

G97<br />

Állandó vágássebesség<br />

(mint G95-nél) KI<br />

PGsl m ● ● ● ●<br />

G110<br />

G111<br />

G112<br />

G140 4)<br />

G141<br />

G142<br />

G143<br />

Pólus programozás<br />

relatív az utolsó<br />

programozott<br />

parancspozícióhoz<br />

Pólus programozás<br />

relatív az aktuális<br />

munkadarabkoordinátarendszer<br />

nullapontjához<br />

Pólus programozás<br />

relatív az utolsó érvényes<br />

pólushoz<br />

Ráállás irány WAB<br />

G41/G42 által<br />

meghatározva<br />

Ráállás irány WAB balra<br />

a kontúrtól<br />

Ráállás irány WAB jobbra<br />

a kontúrtól<br />

Ráállás irány WAB érintőfüggő<br />

PGsl s ● ● ● ●<br />

PGsl s ● ● ● ●<br />

PGsl s ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

G147 Puha ráállás egyenessel PGsl s ● ● ● ●<br />

G148<br />

Puha lemenet<br />

egyenessel<br />

PGsl s ● ● ● ●<br />

G153<br />

Aktuális framek<br />

PGsl s ● ● ● ●<br />

elnyomása, beleértve az<br />

alap-framet<br />

G247 Puha ráállás körrel PGsl s ● ● ● ●<br />

G248<br />

G290<br />

G291<br />

G331<br />

G332<br />

Puha lemenet<br />

negyedkörrel<br />

Átkapcsolás<br />

SINUMERIK-módra BE<br />

Átkapcsolás ISO2/3-<br />

módra BE<br />

Menetfúrás kiegyenlítő<br />

tokmány nélkül, pozitív<br />

emelkedés, jobbra<br />

Menetfúrás kiegyenlítő<br />

tokmány nélkül, negatív<br />

emelkedés, balra<br />

PGsl s ● ● ● ●<br />

FBW m ● ● ● ●<br />

FBW m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 749


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

G340 4)<br />

G341<br />

Térbeli rámenetel<br />

(mélységben és síkban<br />

egyidőben (helix))<br />

Először a függőleges<br />

tengelyen (z) ráállni,<br />

azután a síkban<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

G347 Puha rámenetel félkörrel PGsl s ● ● ● ●<br />

G348 Puha elmenetel félkörrel PGsl s ● ● ● ●<br />

G450 4) Átmenet-kör PGsl m ● ● ● ●<br />

G451<br />

G460 4)<br />

G461<br />

G462<br />

G500 4)<br />

G505 ... G599<br />

G601 4)<br />

G602<br />

G603<br />

G621<br />

G641<br />

Ekvidisztánsok<br />

metszéspontja<br />

Ütközés-felügyelet<br />

bekapcsolása rá- és<br />

elmeneti mondatra<br />

Egy kör beszúrása a<br />

szerszámsugárkorrekciós<br />

mondatba<br />

Egy egyenes beszúrása<br />

a szerszámsugárkorrekciós<br />

mondatba<br />

Az összes beállítható<br />

frame kikapcsolása, alapframe-k<br />

aktívak<br />

5 ... 99. beállítható<br />

nullaponteltolás<br />

Mondatváltás pontos-állj<br />

finomnál<br />

Mondatváltás pontos-állj<br />

durvánál<br />

Mondatváltás IPOmondatvégnél<br />

Sarok-késleltetés minden<br />

sarkon<br />

Pályavezérlő-üzem<br />

átsimítással út-kritérium<br />

szerint (= programozható<br />

átsimítási távolság)<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Előtolás-csökkentés<br />

sarokkésleltetéssel<br />

(FENDNORM, G62, G621)<br />

(Oldal 273)<br />

m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

Munka-előkészítés<br />

750 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

G642<br />

Pályavezérlő-üzem PGsl m ● ● ● ●<br />

átsimítással a definiált<br />

tűrések betartásával<br />

G643<br />

Pályavezérlő-üzem PGsl m ● ● ● ●<br />

átsimítással a definiált<br />

tűrések betartásával<br />

(mondaton belül)<br />

G644<br />

Pályavezérlő-üzem PGsl m ● ● ● ●<br />

átsimítással maximális<br />

lehetséges dinamikával<br />

G645<br />

Pályavezérlő-üzem PGsl m ● ● ● ●<br />

sarkok átsimításával és<br />

érintőleges mondatátmenetekkel<br />

a definiált<br />

tűrések betartásával<br />

G700<br />

Geometriai és<br />

PGsl m ● ● ● ●<br />

technológiai adatok<br />

méretmegadása<br />

hüvelykben (hosszak,<br />

előtolás)<br />

G710 4) Geometriai és<br />

PGsl m ● ● ● ●<br />

technológiai adatok<br />

méretmegadása<br />

metrikusan (hosszak,<br />

előtolás)<br />

G751<br />

Fix-pontra közbenső<br />

ponton át menni<br />

PGsl s ● ● ● ●<br />

G810 4) , ...,<br />

G819<br />

G820 4) , ...,<br />

G829<br />

G931<br />

G942<br />

Az OEM-alkalmazók<br />

számára foglalt G-csoport<br />

Az OEM-alkalmazók<br />

számára foglalt G-csoport<br />

Előtolás megadása<br />

mozgási idővel<br />

Lineáris előtolás és<br />

állandó vágósebesség<br />

vagy orsófordulatszám<br />

befagyasztása<br />

<strong>PGA</strong>sl<br />

Speciális funkciók OEMfelhasználóknak<br />

(OEMIPO1,<br />

OEMIPO2, G810 ... G829)<br />

(Oldal 272)<br />

<strong>PGA</strong>sl<br />

Speciális funkciók OEMfelhasználóknak<br />

(OEMIPO1,<br />

OEMIPO2, G810 ... G829)<br />

(Oldal 272)<br />

● ● ● ●<br />

● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 751


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

G952<br />

G961<br />

G962<br />

G971<br />

G972<br />

G973<br />

GEOAX<br />

GET<br />

GETACTT<br />

GETACTTD<br />

GETD<br />

Fordulati előtolás és<br />

állandó vágósebesség<br />

vagy orsófordulatszám<br />

befagyasztása<br />

Állandó vágósebesség és<br />

lineáris előtolás<br />

Lineáris előtolás vagy<br />

fordulati előtolás és<br />

állandó vágósebesség<br />

Orsófordulatszám<br />

befagyasztás és lineáris<br />

előtolás<br />

Lineáris előtolás vagy<br />

fordulati előtolás és<br />

állandó orsófordulatszám<br />

befagyasztása<br />

Fordulati előtolás<br />

orsófordulatszám<br />

határolása nélkül<br />

Geometria-tengelyekhez<br />

1 - 3 új csatorna-tengelyt<br />

hozzárendelni<br />

Szabaddá tett<br />

tengelyeket a csatornák<br />

között cserélni<br />

Aktív szerszámot egy<br />

csoport hasonló nevű<br />

szerszámból<br />

meghatározni<br />

Egy abszolút D-számhoz<br />

meghatározza a<br />

hozzátartozó T-számot<br />

Tengelyt a csatornák<br />

között közvetlenül<br />

cserélni<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Átkapcsolható geometriatengelyek<br />

(GEOAX) (Oldal 672)<br />

● ● ● ●<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Tengely-csere, orsó-csere<br />

(RELEASE, GET, GETD)<br />

(Oldal 121)<br />

FBW ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Szabad D-szám megadás: T-<br />

számot a megadott D-számhoz<br />

megállapítani (GETACTTD)<br />

(Oldal 432)<br />

<strong>PGA</strong>sl<br />

Tengely-csere, orsó-csere<br />

(RELEASE, GET, GETD)<br />

(Oldal 121)<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

752 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

GETDNO Egy szerszám (T) egy <strong>PGA</strong>sl<br />

● ● ● ●<br />

vágóélének (CE) D- Szabad D-szám megadás: D-<br />

számát adja<br />

számot átnevezni (GETDNO,<br />

SETDNO) (Oldal 431)<br />

GETEXET A beváltott T-szám FBW ● ● ● ●<br />

olvasása<br />

GETFREELOC Egy megadott<br />

FBW ● ● ● ●<br />

szerszámnak egy üres<br />

helyet keresni a tárakban<br />

GETSELT Előválasztott T-számot FBW ● ● ● ●<br />

adja<br />

GETT<br />

T-számot a<br />

FBW ● ● ● ●<br />

szerszámnévhez<br />

meghatározni<br />

GETTCOR Szerszámhosszakat ill. FB1(W1) ● ● ● ●<br />

szerszámhosszkomponenseket<br />

kiolvasni<br />

GETTENV T-, D-, és DL-számokat FB1(W1) ● ● ● ●<br />

olvasni<br />

GOTO<br />

Ugrás utasítás először <strong>PGA</strong>sl<br />

● ● ● ●<br />

előre azután hátra Programugrások ugrás-jelölőkre<br />

(először a program vége (GOTOB, GOTOF, GOTO,<br />

azután a program eleje GOTOC) (Oldal 83)<br />

irányába)<br />

GOTOB<br />

Ugrás utasítás hátra<br />

(program eleje irányába)<br />

GOTOC Mint GOTO, de 14080<br />

"Ugráscélt nem találta"<br />

vészjelzés elnyomása<br />

GOTOF<br />

GOTOS<br />

Ugrás utasítás előre<br />

(program vége irányába)<br />

Visszaugrás a<br />

programkezdetre<br />

<strong>PGA</strong>sl<br />

Programugrások ugrás-jelölőkre<br />

(GOTOB, GOTOF, GOTO,<br />

GOTOC) (Oldal 83)<br />

<strong>PGA</strong>sl<br />

Programugrások ugrás-jelölőkre<br />

(GOTOB, GOTOF, GOTO,<br />

GOTOC) (Oldal 83)<br />

<strong>PGA</strong>sl<br />

Programugrások ugrás-jelölőkre<br />

(GOTOB, GOTOF, GOTO,<br />

GOTOC) (Oldal 83)<br />

<strong>PGA</strong>sl<br />

Visszaugrás a programkezdetre<br />

(GOTOS) (Oldal 82)<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 753


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

GP<br />

Kulcsszó a pozíció <strong>PGA</strong>sl<br />

● ● ● ●<br />

jellemzők közvetett Pozíció tulajdonságok (GP)<br />

programozására közvetett programozása<br />

(Oldal 57)<br />

GWPSOF Állandó tárcsakerületi PGsl s ● ● ● ●<br />

sebesség (SUG)<br />

lekapcsolása<br />

GWPSON Állandó tárcsakerületi PGsl s ● ● ● ●<br />

sebesség (SUG)<br />

bekapcsolása<br />

H...<br />

Segédfunkció kiadása a<br />

PLC-re<br />

PGsl/FB1(H2) ● ● ● ●<br />

HOLES1 Fúróciklus, lyuksor BHDsl/BHFsl ● ● ● ●<br />

HOLES2 Fúróciklus, lyuk-kör BHDsl/BHFsl ● ● ● ●<br />

I Interpolációs paraméter PGsl s ● ● ● ●<br />

I1 Közbensőpont-koordináta PGsl s ● ● ● ●<br />

IC Láncméret-beadás PGsl s ● ● ● ●<br />

ICYCOF<br />

ICYCON<br />

ID<br />

IDS<br />

IF<br />

Egy technológiai ciklus<br />

összes mondatát az<br />

ICYCOF után egy IPOütemben<br />

feldolgozni<br />

Egy technológiai ciklus<br />

minden egyes mondatát<br />

az ICYCON után egy<br />

külön IPO-ütemben<br />

feldolgozni<br />

Modális szinkron-akciók<br />

jelölése<br />

Modális statikus szinkronakciók<br />

jelölése<br />

Egy feltételes ugrás<br />

bevezetése egy<br />

munkadarabprogramban/<br />

technológiai ciklusban<br />

<strong>PGA</strong>sl<br />

Technológiai ciklusok<br />

feldolgozásának vezérlése<br />

(ICYCOF, ICYCON) (Oldal 631)<br />

<strong>PGA</strong>sl<br />

Technológiai ciklusok<br />

feldolgozásának vezérlése<br />

(ICYCOF, ICYCON) (Oldal 631)<br />

<strong>PGA</strong>sl<br />

Érvényességi tartomány és<br />

feldolgozási sorrend (ID, IDS)<br />

(Oldal 553)<br />

<strong>PGA</strong>sl<br />

Érvényességi tartomány és<br />

feldolgozási sorrend (ID, IDS)<br />

(Oldal 553)<br />

<strong>PGA</strong>sl<br />

Program<strong>hu</strong>rkok alternatívával<br />

(IF, ELSE, ENDIF) (Oldal 96)<br />

● ● ● ●<br />

● ● ● ●<br />

m ● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

754 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

INDEX<br />

Egy karakter indexének <strong>PGA</strong>sl<br />

● ● ● ●<br />

meghatározása a Karakter/string keresése<br />

bemeneti stringben stringben (INDEX, RINDEX,<br />

MINDEX, MATCH) (Oldal 78)<br />

INIPO<br />

Változók inicializálása <strong>PGA</strong>sl<br />

● ● ● ●<br />

Power On-nál<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

INIRE<br />

Változók inicializálása <strong>PGA</strong>sl<br />

● ● ● ●<br />

Reset-nél<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

INICF<br />

Változók inicializálása <strong>PGA</strong>sl<br />

● ● ● ●<br />

NewConfig-nál<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

INIT<br />

Egy adott NC programot <strong>PGA</strong>sl<br />

- - - -<br />

egy adott csatornában Program koordináció (INIT,<br />

feldolgozáshoz<br />

START, WAITM, WAITMC,<br />

kiválasztani<br />

WAITE, SETM, CLEARM)<br />

(Oldal 103)<br />

INITIAL Egy INI fájl létrehozása <strong>PGA</strong>sl<br />

● ● ● ●<br />

az összes tartományról Munkatároló (CHANDATA,<br />

COMPLETE, INITIAL)<br />

(Oldal 210)<br />

INT<br />

Adattípus: egészszámú <strong>PGA</strong>sl<br />

● ● ● ●<br />

érték előjellel<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

INTERSEC Két kontúrelem<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

metszéspontját<br />

Két kontúrelem metszéspontját<br />

kiszámítani<br />

megállapítani (INTERSEC)<br />

(Oldal 712)<br />

INVCCW Mozgás egy evolvensen PGsl m - - - -<br />

az óramutató járásával<br />

ellentétes irányban<br />

INVCW Mozgás egy evolvensen PGsl m - - - -<br />

az óramutató járása<br />

irányában<br />

INVFRAME Egy frame-ből az inverz FB1(K2) ● ● ● ●<br />

frame-t kiszámítani<br />

IP<br />

Változtatható<br />

interpolációs paraméter<br />

<strong>PGA</strong>sl<br />

Közvetett programozás<br />

(Oldal 53)<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 755


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

IPOBRKA<br />

IPOENDA<br />

IPTRLOCK<br />

IPTRUNLOCK<br />

Mozgási kritérium a<br />

fékrámpa kezdőpontjától<br />

Mozgás vége "IPO-Stop"<br />

elérésénél<br />

A keresésre alkalmatlan<br />

programszakasz<br />

kezdetének<br />

befagyasztása a<br />

következő gépi funkciós<br />

mondatra.<br />

A keresésre alkalmatlan<br />

programszakasz végét a<br />

megszakítás<br />

időpontjában aktuális<br />

mondatra beállítani.<br />

Megvizsgálja, hogy a<br />

paraméterként megadott<br />

geometria-tengely 1-e<br />

<strong>PGA</strong>sl<br />

Programozható mozgás vége<br />

kritériumok (FINEA, COARSEA,<br />

IPOENDA, IPOBRKA,<br />

ADISPOSA) (Oldal 274)<br />

<strong>PGA</strong>sl<br />

Programozható mozgás vége<br />

kritériumok (FINEA, COARSEA,<br />

IPOENDA, IPOBRKA,<br />

ADISPOSA) (Oldal 274)<br />

<strong>PGA</strong>sl<br />

Programhely tiltása SERUPRO<br />

számára (IPTRLOCK,<br />

IPTRUNLOCK) (Oldal 473)<br />

<strong>PGA</strong>sl<br />

Programhely tiltása SERUPRO<br />

számára (IPTRLOCK,<br />

IPTRUNLOCK) (Oldal 473)<br />

ISAXIS<br />

<strong>PGA</strong>sl<br />

Tengely funkciók (AXNAME, AX,<br />

SPI, AXTOSPI, ISAXIS,<br />

AXSTRING, MODAXVAL)<br />

(Oldal 669)<br />

ISD Bemerülés-mélység <strong>PGA</strong>sl<br />

ISFILE<br />

ISNUMBER<br />

ISOCALL<br />

Megvizsgálja, hogy a egy<br />

fájl az NCK felhasználói<br />

tárolóban létezik-e<br />

Megvizsgálja, hogy a<br />

bemeneti stringet át<br />

lehet-e alakítani számmá<br />

Egy ISO nyelven<br />

programozott program<br />

közvetett felhívása<br />

3D-s szerszámkorrekciók<br />

aktiválása (CUT3DC, CUT3DF,<br />

CUT3DFS, CUT3DFF, ISD)<br />

(Oldal 409)<br />

<strong>PGA</strong>sl<br />

Egy fájl létezését megvizsgálni<br />

(ISFILE) (Oldal 137)<br />

<strong>PGA</strong>sl<br />

Típus-konverzió STRING-ből<br />

(NUMBER, ISNUMBER,<br />

AXNAME) (Oldal 74)<br />

<strong>PGA</strong>sl<br />

Egy ISO-nyelven programozott<br />

program közvetett felhívása<br />

(ISOCALL) (Oldal 190)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

● ● ● ●<br />

m ● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

756 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

ISVAR<br />

Megvizsgálja, hogy az <strong>PGA</strong>sl<br />

● ● ● ●<br />

átadási paraméter egy, ISVAR funkció-felhívás és<br />

az NC-ben ismert gépadat array-index olvasás<br />

változót tartalmaz-e (Oldal 687)<br />

J Interpolációs paraméter PGsl s ● ● ● ●<br />

J1 Közbensőpont-koordináta PGsl s ● ● ● ●<br />

JERKA<br />

JERKLIM<br />

Az MD-vel beállított<br />

gyorsulási viselkedést a<br />

programozott tengelyekre<br />

aktiválni<br />

Maximális tengelyrándítás<br />

csökkentése<br />

vagy növelése<br />

<strong>PGA</strong>sl<br />

Százalékos rándítás-korrekció<br />

(JERKLIM) (Oldal 486)<br />

● ● ● ●<br />

m ● ● ● ●<br />

JERKLIMA Maximális tengelyrándítás<br />

PGsl m ● ● ● ●<br />

csökkentése<br />

vagy növelése<br />

K Interpolációs paraméter PGsl s ● ● ● ●<br />

K1 Közbensőpont-koordináta PGsl s ● ● ● ●<br />

KONT<br />

KONTC<br />

KONTT<br />

Kontúr megkerülése<br />

szerszámkorrekciónál<br />

Állandó görbületű<br />

polinommal rá-/lemenni<br />

Állandó érintőjű<br />

polinommal rá-/lemenni<br />

L Alprogram-szám <strong>PGA</strong>sl<br />

Alprogram hívása paraméterátadás<br />

nélkül (Oldal 178)<br />

LEAD<br />

Előre-sietési szög <strong>PGA</strong>sl<br />

1. szerszámtájolás Szerszámtájolás programozása<br />

2. tájolás polinom (A..., B..., C..., LEAD, TILT)<br />

(Oldal 323)<br />

LEADOF Vezető-érték csatolás KI <strong>PGA</strong>sl<br />

Tengely vezető érték csatolás<br />

(LEADON, LEADOF)<br />

(Oldal 520)<br />

LEADON Vezető-érték csatolás BE <strong>PGA</strong>sl<br />

Tengely vezető érték csatolás<br />

(LEADON, LEADOF)<br />

(Oldal 520)<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

s ● ● ● ●<br />

m<br />

●<br />

-<br />

●<br />

-<br />

●<br />

-<br />

●<br />

-<br />

- - - -<br />

- - - -<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 757


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

LENTOAX<br />

LFOF 4)<br />

LFON<br />

Információkat ad az aktív<br />

szerszám L1, L2 és L3<br />

szerszámhosszainak a<br />

hozzárendeléséről az<br />

abszcisszához,<br />

ordinátához és<br />

applikátához<br />

Menetvágás gyors<br />

visszahúzás KI<br />

Menetvágás gyors<br />

visszahúzás BE<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

FB1(W1) ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

LFPOS Az POLFMASK vagy PGsl m ● ● ● ●<br />

POLFMLIN által ismertté<br />

tett tengelyek<br />

visszahúzása a POLF-fal<br />

programozott abszolút<br />

tengelypozícióra<br />

LFTXT<br />

Gyors leemelésnél a PGsl m ● ● ● ●<br />

visszahúzási mozgás<br />

síkja a pálya-érintőből és<br />

az aktuális<br />

szerszámirányból lesz<br />

meghatározva<br />

LFWP<br />

Gyors leemelésnél a PGsl m ● ● ● ●<br />

visszahúzási mozgás<br />

síkja az aktuális<br />

munkasíkkal<br />

(G17/G18/G19) lesz<br />

meghatározva<br />

LIFTFAST Gyors leemelés PGsl<br />

● ● ● ●<br />

Gyors leemelés a kontúrról<br />

(SETINT LIFTFAST, ALF)<br />

(Oldal 115)<br />

LIMS<br />

Fordulatszám-határolás<br />

G96/G961 és G97 esetén<br />

PGsl m ● ● ● ●<br />

LLI<br />

Változók alsó határértéke <strong>PGA</strong>sl<br />

Tulajdonság: Határértékek (LLI,<br />

ULI) (Oldal 34)<br />

LN Természetes logaritmus <strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

LOCK<br />

ID szinkronakciót tiltani <strong>PGA</strong>sl<br />

(technológia ciklust Tiltás, engedélyezés,<br />

megállítani)<br />

megszakítás (LOCK, UNLOCK,<br />

RESET) (Oldal 634)<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

758 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

LONGHOLE Hossz-lyukak egy körön BHDsl/BHFsl - - - -<br />

marási kép ciklus<br />

LOOP<br />

Végtelen <strong>hu</strong>rok<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

bevezetése<br />

Végtelen program<strong>hu</strong>rok (LOOP,<br />

ENDLOOP) (Oldal 98)<br />

M0 Programozott állj PGsl ● ● ● ●<br />

M1 Választható állj PGsl ● ● ● ●<br />

M2<br />

Programvég főprogram PGsl ● ● ● ●<br />

programkezdeti<br />

visszaállítással<br />

M3 Orsó forgásirány jobbra PGsl ● ● ● ●<br />

M4 Orsó forgásirány balra PGsl ● ● ● ●<br />

M5 Orsó állj PGsl ● ● ● ●<br />

M6 Szerszámcsere PGsl ● ● ● ●<br />

M17 Alprogramvég PGsl ● ● ● ●<br />

M19<br />

Orsó pozícionálása az PGsl ● ● ● ●<br />

SD43240-be beadott<br />

pozícióra<br />

M30 Programvég, mint M2 PGsl ● ● ● ●<br />

M40<br />

Automatikus hajtóműátkapcsolás<br />

PGsl ● ● ● ●<br />

M41 ... M45 Hajtóműfokozat 1 ... 5 PGsl ● ● ● ●<br />

M70 Átmenet tengelyüzembe PGsl ● ● ● ●<br />

MASLDEF<br />

Master/Slave tengelyegyesülés<br />

definiálás<br />

<strong>PGA</strong>sl<br />

Master-/Slave egyesülés<br />

(MASLDEF, MASLDEL,<br />

MASLON, MASLOF,<br />

MASLOFS) (Oldal 546)<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 759


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

MASLDEL Master/Slave tengelyegyesülés<br />

<strong>PGA</strong>sl<br />

felbontása és Master-/Slave egyesülés<br />

az egyesülés<br />

(MASLDEF, MASLDEL,<br />

definíciójának törlése MASLON, MASLOF,<br />

MASLOFS) (Oldal 546)<br />

MASLOF Egy ideiglenes csatolás <strong>PGA</strong>sl<br />

kikapcsolása<br />

Master-/Slave egyesülés<br />

(MASLDEF, MASLDEL,<br />

MASLON, MASLOF,<br />

MASLOFS) (Oldal 546)<br />

MASLOFS Egy ideiglenes csatolás <strong>PGA</strong>sl<br />

kikapcsolása a Slavetengely<br />

automatikus (MASLDEF, MASLDEL,<br />

Master-/Slave egyesülés<br />

leállításával<br />

MASLON, MASLOF,<br />

MASLOFS) (Oldal 546)<br />

MASLON Egy ideiglenes csatolás <strong>PGA</strong>sl<br />

bekapcsolása<br />

Master-/Slave egyesülés<br />

(MASLDEF, MASLDEL,<br />

MASLON, MASLOF,<br />

MASLOFS) (Oldal 546)<br />

MATCH Egy string keresése <strong>PGA</strong>sl<br />

stringben<br />

Karakter/string keresése<br />

stringben (INDEX, RINDEX,<br />

MINDEX, MATCH) (Oldal 78)<br />

MAXVAL Nagyobb érték két <strong>PGA</strong>sl<br />

változóból (aritmetikai Változók minimuma, maximuma<br />

funkció)<br />

és tartománya (MINVAL,<br />

MAXVAL, BOUND) (Oldal 68)<br />

MCALL Modális alprogram hívás <strong>PGA</strong>sl<br />

Modális alprogram-hívás<br />

(MCALL) (Oldal 185)<br />

MEAC<br />

Folytonos mérés <strong>PGA</strong>sl<br />

maradékút-törlés nélkül Bővített mérési funkciók<br />

(MEASA, MEAWA, MEAC)<br />

(opció) (Oldal 262)<br />

MEAFRAME<br />

MEAS<br />

MEASA<br />

Frame-számítás<br />

mérőpontokból<br />

Mérés kapcsoló<br />

tapintóval<br />

Mérés maradékút<br />

törléssel<br />

<strong>PGA</strong>sl<br />

Frame-számítás 3 térbeli mérési<br />

pontból (MEAFRAME)<br />

(Oldal 298)<br />

<strong>PGA</strong>sl<br />

Mérés kapcsoló tapintóval<br />

(MEAS, MEAW) (Oldal 259)<br />

<strong>PGA</strong>sl<br />

Bővített mérési funkciók<br />

(MEASA, MEAWA, MEAC)<br />

(opció) (Oldal 262)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

s - - - -<br />

● ● ● ●<br />

s ● ● ● ●<br />

s - - - -<br />

Munka-előkészítés<br />

760 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

MEASURE Számítási módszer a FB2(M5)<br />

● ● ● ●<br />

munkadarab és a Mérés kapcsoló tapintóval<br />

szerszám méréshez (MEAS, MEAW) (Oldal 259)<br />

MEAW<br />

Mérés kapcsoló<br />

<strong>PGA</strong>sl<br />

s ● ● ● ●<br />

tapintóval maradékúttörlés<br />

nélkül<br />

(MEAS, MEAW) (Oldal 259)<br />

Mérés kapcsoló tapintóval<br />

MEAWA Mérés maradékút-törlés <strong>PGA</strong>sl<br />

s - - - -<br />

nélkül<br />

Bővített mérési funkciók<br />

(MEASA, MEAWA, MEAC)<br />

(opció) (Oldal 262)<br />

MI<br />

Hozzáférés Frameadatokhoz:<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Tükrözés Frame komponensek olvasása<br />

és megváltoztatása (TR, FI, RT,<br />

SC, MI) (Oldal 289)<br />

MINDEX Egy karakter indexének <strong>PGA</strong>sl<br />

● ● ● ●<br />

meghatározása a Karakter/string keresése<br />

bemeneti stringben stringben (INDEX, RINDEX,<br />

MINDEX, MATCH) (Oldal 78)<br />

MINVAL Kisebb érték két<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

változóból (aritmetikai Változók minimuma, maximuma<br />

funkció)<br />

és tartománya (MINVAL,<br />

MAXVAL, BOUND) (Oldal 68)<br />

MIRROR Programozható tükrözés <strong>PGA</strong>sl s ● ● ● ●<br />

MMC<br />

Munkadarab-programból <strong>PGA</strong>sl<br />

interakíiv dialógusablakot<br />

a HMI-n felhívni interaktívan felhívni (MMC)<br />

Ablakot munkadarabprogramból<br />

(Oldal 691)<br />

MOD Modulo osztás <strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

MODAXVAL Egy modulo körtengely <strong>PGA</strong>sl<br />

modulo pozícióját Tengely funkciók (AXNAME, AX,<br />

megállapítani<br />

SPI, AXTOSPI, ISAXIS,<br />

AXSTRING, MODAXVAL)<br />

(Oldal 669)<br />

MOV<br />

MSG<br />

MVTOOL<br />

Pozícionáló tengely<br />

indítása<br />

Programozható<br />

jelentések<br />

Programutasítás egy<br />

szerszám mozgatására<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

<strong>PGA</strong>sl<br />

Tengely indítás/megállítás<br />

(MOV) (Oldal 602)<br />

● ● ● ●<br />

PGsl m ● ● ● ●<br />

FBW ● ● ● ●<br />

N NC mellékmondat-szám PGsl ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 761


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

NCK<br />

NEWCONF<br />

Adatok érvényességi<br />

tartományának<br />

megadása<br />

Megváltoztatott<br />

gépadatokat átvenni<br />

(megfelel a "Gépadatokat<br />

hatásossá tenni"-nek)<br />

<strong>PGA</strong>sl<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

<strong>PGA</strong>sl<br />

Gépadatokat hatásossá tenni<br />

(NEWCONF) (Oldal 128)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

● ● ● ●<br />

NEWT Új szerszámot létrehozni <strong>PGA</strong>sl<br />

● ● ● ●<br />

Frame komponensek olvasása<br />

és megváltoztatása (TR, FI, RT,<br />

SC, MI) (Oldal 289)<br />

NORM 4) Normál-beállítás a PGsl m ● ● ● ●<br />

szerszámkorrekció<br />

kezdő-, végpontjában<br />

NOT Logikai NEM (negálás) <strong>PGA</strong>sl<br />

● ● ● ●<br />

Összehasonlító és logikai<br />

műveletek (Oldal 64)<br />

NPROT Gép-specifikus<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

védőtartomány BE/KI Védelmi tartományok<br />

aktiválása/deaktiválása<br />

(CPROT, NPROT) (Oldal 219)<br />

NPROTDEF Egy gép-specifikus <strong>PGA</strong>sl<br />

● ● ● ●<br />

védőtartomány definíciója Védelmi tartományok megadása<br />

(CPROTDEF, NPROTDEF)<br />

(Oldal 215)<br />

NUMBER Bemenet stringet <strong>PGA</strong>sl<br />

● ● ● ●<br />

számmá alakítani Típus-konverzió STRING-ből<br />

(NUMBER, ISNUMBER,<br />

AXNAME) (Oldal 74)<br />

OEMIPO1 OEM interpoláció 1 <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

Speciális funkciók OEMfelhasználóknak<br />

(OEMIPO1,<br />

OEMIPO2, G810 ... G829)<br />

(Oldal 272)<br />

OEMIPO2 OEM interpoláció 2 <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

Speciális funkciók OEMfelhasználóknak<br />

(OEMIPO1,<br />

OEMIPO2, G810 ... G829)<br />

(Oldal 272)<br />

OF CASE elágazás kulcsszó <strong>PGA</strong>sl<br />

● ● ● ●<br />

Program-elágazás (CASE ... OF<br />

... DEFAULT ...) (Oldal 86)<br />

OFFN<br />

Ráhagyás a<br />

programozott kontúrra<br />

PGsl m ● ● ● ●<br />

Munka-előkészítés<br />

762 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

OMA1 OEM cím 1 m ● ● ● ●<br />

OMA2 OEM cím 2 m ● ● ● ●<br />

OMA3 OEM cím 3 m ● ● ● ●<br />

OMA4 OEM cím 4 m ● ● ● ●<br />

OMA5 OEM cím 5 m ● ● ● ●<br />

OR<br />

Logikai művelet, VAGY<br />

kapcsolat<br />

<strong>PGA</strong>sl<br />

Összehasonlító és logikai<br />

műveletek (Oldal 64)<br />

● ● ● ●<br />

ORIAXES<br />

ORIAXPOS<br />

ORIC 4)<br />

ORICONCCW<br />

ORICONCW<br />

ORICONIO<br />

Géptengelyek vagy<br />

tájolási-tengelyek<br />

egyenes interpolációja<br />

Tájolási szög virtuális<br />

tájoló-tengelyekkel<br />

körtengely-pozíciókkal<br />

Tájolás-változások a<br />

külső sarkokon a<br />

betoldandó körmondatdal<br />

átlapolódnak<br />

Interpoláció egy<br />

körpalást-felületen az<br />

óramutató járásával<br />

ellentétes irányban<br />

Interpoláció egy<br />

körpalást-felületen az<br />

óramutató járásának<br />

irányában<br />

Interpoláció egy<br />

körpalást-felületen egy<br />

közbenső tájolás<br />

megadásával<br />

<strong>PGA</strong>sl<br />

Tájolótengelyek programozása<br />

(ORIAXES, ORIVECT,<br />

ORIEULER, ORIRPY,<br />

ORIRPY2, ORIVIRT1,<br />

ORIVIRT2) (Oldal 333)<br />

<strong>PGA</strong>sl<br />

Szerszám-tájolás (ORIC, ORID,<br />

OSOF, OSC, OSS, OSSE,<br />

ORIS, OSD, OST) (Oldal 423)<br />

<strong>PGA</strong>sl/FB3(F3)<br />

Tájolás programozása egy<br />

kúppalást-felület mentén<br />

(ORIPLANE, ORICONCW,<br />

ORICONCCW, ORICONTO,<br />

ORICONIO) (Oldal 335)<br />

<strong>PGA</strong>sl/FB3(F4)<br />

Tájolás programozása egy<br />

kúppalást-felület mentén<br />

(ORIPLANE, ORICONCW,<br />

ORICONCCW, ORICONTO,<br />

ORICONIO) (Oldal 335)<br />

<strong>PGA</strong>sl/FB3(F4)<br />

Tájolás programozása egy<br />

kúppalást-felület mentén<br />

(ORIPLANE, ORICONCW,<br />

ORICONCCW, ORICONTO,<br />

ORICONIO) (Oldal 335)<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 763


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

ORICONTO<br />

ORICURVE<br />

ORID<br />

ORIEULER<br />

ORIMKS<br />

ORIPATH<br />

ORIPATHS<br />

ORIPLANE<br />

ORIRESET<br />

IInterpoláció egy<br />

körpalást-felületen<br />

érintőleges átmenetben<br />

(végtájolás megadása)<br />

Tájolás interpolációja a<br />

szerszám két érintőpontja<br />

mozgásának<br />

megadásával<br />

Tájolás-változások<br />

végrehajtása a<br />

körmondat előtt<br />

Tájolási szög Eulerszöggel<br />

Szerszámtájolás gépkoordinátarendszerben<br />

Szerszámtájolás a<br />

pályára vonatkoztatva<br />

Szerszámtájolás a<br />

pályára vonatkoztatva, a<br />

tájolás lefutásában egy<br />

törés simítva lesz<br />

Interpoláció egy síkban<br />

(megfelel ORIVECT-nek)<br />

nagykör-interpoláció<br />

Szerszámtájolás<br />

alaphelyzete max. 3<br />

tájoló-tengelyig<br />

<strong>PGA</strong>sl/FB3(F5)<br />

Tájolás programozása egy<br />

kúppalást-felület mentén<br />

(ORIPLANE, ORICONCW,<br />

ORICONCCW, ORICONTO,<br />

ORICONIO) (Oldal 335)<br />

<strong>PGA</strong>sl/FB3(F6)<br />

Két érintőpont tájolás-megadása<br />

(ORICURVE, PO[XH]=,<br />

PO[YH]=, PO[ZH]=) (Oldal 339)<br />

<strong>PGA</strong>sl<br />

Szerszám-tájolás (ORIC, ORID,<br />

OSOF, OSC, OSS, OSSE,<br />

ORIS, OSD, OST) (Oldal 423)<br />

<strong>PGA</strong>sl<br />

Tájolótengelyek programozása<br />

(ORIAXES, ORIVECT,<br />

ORIEULER, ORIRPY,<br />

ORIRPY2, ORIVIRT1,<br />

ORIVIRT2) (Oldal 333)<br />

<strong>PGA</strong>sl<br />

A tájolótengelyek<br />

vonatkoztatása (ORIWKS,<br />

ORIMKS) (Oldal 331)<br />

<strong>PGA</strong>sl<br />

Szerszámtájolás pályára<br />

vonatkoztatott forgatása<br />

(ORIPATH, ORIPATHS,<br />

forgásszög) (Oldal 348)<br />

<strong>PGA</strong>sl<br />

Szerszámtájolás pályára<br />

vonatkoztatott forgatása<br />

(ORIPATH, ORIPATHS,<br />

forgásszög) (Oldal 348)<br />

<strong>PGA</strong>sl<br />

Tájolás programozása egy<br />

kúppalást-felület mentén<br />

(ORIPLANE, ORICONCW,<br />

ORICONCCW, ORICONTO,<br />

ORICONIO) (Oldal 335)<br />

<strong>PGA</strong>sl<br />

Tájolás programozás és<br />

alaphelyzet változatok<br />

(OTIRESET) (Oldal 321)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

764 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

ORIROTA Forgásszög egy abszolút <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

megadott forgásirányhoz Szerszámtájolás forgatásai<br />

(ORIROTA, ORIROTR,<br />

ORIROTT, ORIROTC, THETA)<br />

(Oldal 343)<br />

ORIROTC Érintőleges forgásvektor <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

a pályaérintőhöz Szerszámtájolás forgatásai<br />

(ORIROTA, ORIROTR,<br />

ORIROTT, ORIROTC, THETA)<br />

(Oldal 343)<br />

ORIROTR Forgásszög a kezdő- és <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

végtájolás síkjához Szerszámtájolás forgatásai<br />

vonatkoztatva<br />

(ORIROTA, ORIROTR,<br />

ORIROTT, ORIROTC, THETA)<br />

(Oldal 343)<br />

ORIROTT Forgásszög a<br />

<strong>PGA</strong>sl<br />

m ● ● ● ●<br />

tájolásvektor<br />

Szerszámtájolás forgatásai<br />

változásához viszonyítva (ORIROTA, ORIROTR,<br />

ORIROTT, ORIROTC, THETA)<br />

(Oldal 343)<br />

ORIRPY Tájolásszög RPY-szöggel <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

(XYZ)<br />

Tájolótengelyek programozása<br />

(ORIAXES, ORIVECT,<br />

ORIEULER, ORIRPY,<br />

ORIRPY2, ORIVIRT1,<br />

ORIVIRT2) (Oldal 333)<br />

ORIRPY2 Tájolásszög RPY-szöggel <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

(ZYX)<br />

Tájolótengelyek programozása<br />

(ORIAXES, ORIVECT,<br />

ORIEULER, ORIRPY,<br />

ORIRPY2, ORIVIRT1,<br />

ORIVIRT2) (Oldal 333)<br />

ORIS Tájolás változás <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

Szerszám-tájolás (ORIC, ORID,<br />

OSOF, OSC, OSS, OSSE,<br />

ORIS, OSD, OST) (Oldal 423)<br />

ORISOF 4) Tájolás lefutás simítása<br />

KI<br />

<strong>PGA</strong>sl<br />

Tájolás lefutás simítása<br />

(ORISON, ORISOF) (Oldal 357)<br />

m ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 765


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

ORISON<br />

ORIVECT<br />

ORIVIRT1<br />

ORIVIRT2<br />

ORIWKS 4)<br />

Tájolás lefutás simítása<br />

BE<br />

Nagykör-interpoláció<br />

(azonos ORIPLANE- nel)<br />

Tájolásszög virtuális<br />

tájolás-tengelyekkel<br />

(definíció 1)<br />

Tájolásszög virtuális<br />

tájolás-tengelyekkel<br />

(definíció 1)<br />

Szerszámtájolás<br />

munkadarabkoordinátarendszerben<br />

<strong>PGA</strong>sl<br />

Tájolás lefutás simítása<br />

(ORISON, ORISOF) (Oldal 357)<br />

<strong>PGA</strong>sl<br />

Tájolótengelyek programozása<br />

(ORIAXES, ORIVECT,<br />

ORIEULER, ORIRPY,<br />

ORIRPY2, ORIVIRT1,<br />

ORIVIRT2) (Oldal 333)<br />

<strong>PGA</strong>sl<br />

Tájolótengelyek programozása<br />

(ORIAXES, ORIVECT,<br />

ORIEULER, ORIRPY,<br />

ORIRPY2, ORIVIRT1,<br />

ORIVIRT2) (Oldal 333)<br />

<strong>PGA</strong>sl<br />

Tájolótengelyek programozása<br />

(ORIAXES, ORIVECT,<br />

ORIEULER, ORIRPY,<br />

ORIRPY2, ORIVIRT1,<br />

ORIVIRT2) (Oldal 333)<br />

<strong>PGA</strong>sl<br />

A tájolótengelyek<br />

vonatkoztatása (ORIWKS,<br />

ORIMKS) (Oldal 331)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

OS Ingázás be/ki <strong>PGA</strong>sl<br />

- - - -<br />

Aszinkron ingázás (OS, OSP1,<br />

OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

(Oldal 641)<br />

OSB Ingázás: Kezdőpont FB2(P5) m - - - -<br />

OSC<br />

Állandó simítás<br />

szerszámtájolás<br />

<strong>PGA</strong>sl<br />

Szerszám-tájolás (ORIC, ORID,<br />

OSOF, OSC, OSS, OSSE,<br />

ORIS, OSD, OST) (Oldal 423)<br />

m ● ● ● ●<br />

OSCILL<br />

Tengely: 1 - 3 fogásvételi<br />

tengely<br />

<strong>PGA</strong>sl<br />

Szinkron-akciókkal vezérelt<br />

ingázás (OSCILL) (Oldal 647)<br />

m - - - -<br />

Munka-előkészítés<br />

766 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

OSCTRL Ingázás opciók <strong>PGA</strong>sl<br />

m - - - -<br />

Aszinkron ingázás (OS, OSP1,<br />

OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

(Oldal 641)<br />

OSD<br />

Szerszámtájolás <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

átsimítása az átsimítási Szerszám-tájolás (ORIC, ORID,<br />

utak megadásával SD OSOF, OSC, OSS, OSSE,<br />

ORIS, OSD, OST) (Oldal 423)<br />

OSE Ingázás végpont <strong>PGA</strong>sl<br />

m - - - -<br />

Aszinkron ingázás (OS, OSP1,<br />

OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

(Oldal 641)<br />

OSNSC Ingázás: Kiszikráztatás <strong>PGA</strong>sl<br />

m - - - -<br />

száma<br />

Aszinkron ingázás (OS, OSP1,<br />

OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

(Oldal 641)<br />

OSOF 4) Szerszámtájolás simítása <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

KI<br />

Aszinkron ingázás (OS, OSP1,<br />

OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

(Oldal 641)<br />

OSP1 Ingázás: bal fordulópont <strong>PGA</strong>sl<br />

m - - - -<br />

Aszinkron ingázás (OS, OSP1,<br />

OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

(Oldal 641)<br />

OSP2 Ingázás jobb fordulópont <strong>PGA</strong>sl<br />

m - - - -<br />

Aszinkron ingázás (OS, OSP1,<br />

OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

(Oldal 641)<br />

OSS<br />

Szerszámtájolás simítása<br />

mondatvégen<br />

<strong>PGA</strong>sl<br />

Szerszám-tájolás (ORIC, ORID,<br />

OSOF, OSC, OSS, OSSE,<br />

ORIS, OSD, OST) (Oldal 423)<br />

m ● ● ● ●<br />

OSSE<br />

Szerszámtájolás simítása<br />

mondatkezdeten és<br />

mondatvégen<br />

<strong>PGA</strong>sl<br />

Szerszám-tájolás (ORIC, ORID,<br />

OSOF, OSC, OSS, OSSE,<br />

ORIS, OSD, OST) (Oldal 423)<br />

m ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 767


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

OST<br />

Szerszámtájolás<br />

átsimítása a szögtűrés<br />

megadásával fokban SDvel<br />

(maximális eltérés a<br />

programozott tájoláslefutástól)<br />

Ingázás: megálláspont a<br />

bal fordulópontban<br />

<strong>PGA</strong>sl<br />

Szerszám-tájolás (ORIC, ORID,<br />

OSOF, OSC, OSS, OSSE,<br />

ORIS, OSD, OST) (Oldal 423)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

m ● ● ● ●<br />

OST1<br />

<strong>PGA</strong>sl<br />

m - - - -<br />

Aszinkron ingázás (OS, OSP1,<br />

OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

(Oldal 641)<br />

OST2<br />

Ingázás: megálláspont a <strong>PGA</strong>sl<br />

m - - - -<br />

jobb fordulópontban Aszinkron ingázás (OS, OSP1,<br />

OSP2, OST1, OST2, OSCTRL,<br />

OSNSC, OSE, OSB)<br />

(Oldal 641)<br />

OTOL<br />

Kompresszor funkciók, <strong>PGA</strong>sl<br />

- ● - ●<br />

tájolás-simítások és Programozható kontúr-/tájolástűrés<br />

(CTOL, OTOL, ATOL)<br />

átsimítási módok tájolástűrése<br />

(Oldal 491)<br />

OVR Fordulatszám korrekció <strong>PGA</strong>sl m ● ● ● ●<br />

OVRA<br />

Tengely fordulatszám<br />

korrekció<br />

<strong>PGA</strong>sl m ● ● ● ●<br />

OVRRAP Gyorsmenet korrekció <strong>PGA</strong>sl m ● ● ● ●<br />

P<br />

PAROT<br />

PAROTOF<br />

PCALL<br />

Alprogram-átfutások<br />

száma<br />

Munkadarabkoordinátarendszert<br />

a<br />

munkadarabon beállítani<br />

Munkadarabra<br />

vonatkoztatott frameforgatást<br />

kikapcsolni<br />

Alprogram felhívása<br />

abszolút ágmegadással<br />

és paraméter-átadással<br />

<strong>PGA</strong>sl<br />

Program ismétlések száma (P)<br />

(Oldal 183)<br />

● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Alprogramot ág-megadással és<br />

paraméterekkel felhívni (PCALL)<br />

(Oldal 191)<br />

● ● ● ●<br />

Munka-előkészítés<br />

768 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

PDELAYOF Késleltetés lyukasztásnál <strong>PGA</strong>sl<br />

m - - - -<br />

KI<br />

Lyukasztás és sapkázás be<br />

vagy ki (SPOF, SON, PON,<br />

SONS, PONS, PDELAYON,<br />

PDELAYOF, PUNCHACC)<br />

(Oldal 655)<br />

PDELAYON 4) Késleltetés lyukasztásnál <strong>PGA</strong>sl<br />

m - - - -<br />

BE<br />

Lyukasztás és sapkázás be<br />

vagy ki (SPOF, SON, PON,<br />

SONS, PONS, PDELAYON,<br />

PDELAYOF, PUNCHACC)<br />

(Oldal 655)<br />

P<strong>HU</strong><br />

Egy változó fizikai <strong>PGA</strong>sl<br />

● ● ● ●<br />

egysége<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

PL<br />

1. B-Spline: csomópont<br />

távolság<br />

2. Polinom interpoláció:<br />

<strong>PGA</strong>sl<br />

1. Spline interpoláció (ASPLINE,<br />

BSPLINE, CSPLINE, BAUTO,<br />

s -<br />

-<br />

○<br />

-<br />

-<br />

-<br />

○<br />

-<br />

paraméter-intervallum<br />

hossza polinom<br />

interpolációnál<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

2. Polinom-interpoláció (POLY,<br />

POLYPATH, PO, PL)<br />

(Oldal 250)<br />

PM percenként PGsl ● ● ● ●<br />

PO<br />

POCKET3<br />

POCKET4<br />

POLF<br />

POLFA<br />

POLFMASK<br />

Polinom együttható<br />

polinom interpolációnál<br />

Maróciklus,<br />

négyszögzseb<br />

(tetszőleges maró)<br />

Maróciklus körszögzseb<br />

(tetszőleges maró)<br />

LIFTFAST visszahúzási<br />

pozíció<br />

Egyes-tengelyek<br />

visszahúzási pozícióját<br />

$AA_ESR_TRIGGER-rel<br />

indítani<br />

Tengelyeket a<br />

visszahúzásra a<br />

tengelyek közötti<br />

összefüggés nélkül<br />

engedélyezni<br />

<strong>PGA</strong>sl<br />

Polinom-interpoláció (POLY,<br />

POLYPATH, PO, PL)<br />

(Oldal 250)<br />

s - - - -<br />

BHDsl/BHFsl ● ● ● ●<br />

BHDsl/BHFsl ● ● ● ●<br />

PGsl/<strong>PGA</strong>sl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 769


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

POLFMLIN Tengelyeket a<br />

PGsl m ● ● ● ●<br />

visszahúzásra a<br />

tengelyek közötti<br />

összefüggéssel<br />

engedélyezni<br />

POLY Polinom interpoláció <strong>PGA</strong>sl<br />

m - - - -<br />

Polinom-interpoláció (POLY,<br />

POLYPATH, PO, PL)<br />

(Oldal 250)<br />

POLYPATH Polinom interpoláció <strong>PGA</strong>sl<br />

m - - - -<br />

választható az AXIS vagy Polinom-interpoláció (POLY,<br />

VECT tengelycsoportokra POLYPATH, PO, PL)<br />

(Oldal 250)<br />

PON Sapkázás BE <strong>PGA</strong>sl<br />

m - - - -<br />

Lyukasztás és sapkázás be<br />

vagy ki (SPOF, SON, PON,<br />

SONS, PONS, PDELAYON,<br />

PDELAYOF, PUNCHACC)<br />

(Oldal 655)<br />

PONS<br />

Sapkázás BE IPOütemben<br />

<strong>PGA</strong>sl<br />

m - - - -<br />

Lyukasztás és sapkázás be<br />

vagy ki (SPOF, SON, PON,<br />

SONS, PONS, PDELAYON,<br />

PDELAYOF, PUNCHACC)<br />

(Oldal 655)<br />

POS Tengely pozícionálása PGsl ● ● ● ●<br />

POSA<br />

Tengely pozícionálása<br />

mondathatáron át<br />

PGsl ● ● ● ●<br />

POSM Tárat pozícionálni FBW ● ● ● ●<br />

POSP<br />

Pozícionálás<br />

PGsl ● ● ● ●<br />

szakaszonként (ingázás)<br />

POSRANGE<br />

Megállapítani, hogy egy<br />

tengely aktuálisan<br />

interpolált<br />

parancspozíciója egy<br />

megadott<br />

referenciapozíció körül<br />

egy ablakon belül van-e<br />

Négyzet<br />

(aritmetikai függvény)<br />

<strong>PGA</strong>sl<br />

Pozíció a megadott referenciatartományban<br />

(POSRANGE)<br />

(Oldal 601)<br />

● ● ● ●<br />

POT<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Számítási műveletek (Oldal 61)<br />

PR Fordulatonként PGsl ● ● ● ●<br />

PREPRO<br />

Alprogramokat<br />

előkészítéssel megjelölni<br />

<strong>PGA</strong>sl<br />

Alprogramokat előkészítéssel<br />

megjelölni (PREPRO)<br />

(Oldal 168)<br />

● ● ● ●<br />

Munka-előkészítés<br />

770 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

PRESETON Valósérték-beállítás a<br />

programozott tengelyekre<br />

<strong>PGA</strong>sl<br />

Preset-eltolás (PRESETON)<br />

(Oldal 296)<br />

PRIO<br />

Kulcsszó az interruptok <strong>PGA</strong>sl<br />

prioritásainak beállítására Interrupt-rutint hozzárendelni és<br />

indítani (SETINT, PRIO,<br />

BLSYNC) (Oldal 111)<br />

PROC<br />

Egy program első <strong>PGA</strong>sl<br />

utasítása<br />

Alprogramot ág-megadással és<br />

paraméterekkel felhívni (PCALL)<br />

(Oldal 191)<br />

PTP Pontról pontra mozgás <strong>PGA</strong>sl<br />

PTP-mozgás derékszögű<br />

koordinátarendszerben<br />

(Oldal 376)<br />

PTPG0 Pontról pontra mozgás <strong>PGA</strong>sl<br />

csak G0-nál, egyébként<br />

CP<br />

PTP TRANSMIT-nál (Oldal 381)<br />

PUNCHACC Útfüggő gyorsítás <strong>PGA</strong>sl<br />

sapkázásnál<br />

Lyukasztás és sapkázás be<br />

vagy ki (SPOF, SON, PON,<br />

SONS, PONS, PDELAYON,<br />

PDELAYOF, PUNCHACC)<br />

(Oldal 655)<br />

PUTFTOC Szerszám finomkorrekció <strong>PGA</strong>sl<br />

pár<strong>hu</strong>zamos lehúzáshoz Online-szerszámkorrekció<br />

(PUTFTOCF, FCTDEF,<br />

PUTFTOC, FTOCON, FTOCOF)<br />

(Oldal 404)<br />

PUTFTOCF Szerszám finomkorrekció <strong>PGA</strong>sl<br />

egy FCtDEF-fel megadott Online-szerszámkorrekció<br />

funkciótól függően (PUTFTOCF, FCTDEF,<br />

pár<strong>hu</strong>zamos lehúzáshoz PUTFTOC, FTOCON, FTOCOF)<br />

(Oldal 404)<br />

PW B-Spline, pont-súly <strong>PGA</strong>sl<br />

Spline interpoláció (ASPLINE,<br />

BSPLINE, CSPLINE, BAUTO,<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

QECLRNOF Négyzetes<br />

<strong>PGA</strong>sl<br />

hibakompenzáció tanulás Kompenzációs jelleggörbék<br />

KI<br />

betanulása (QECLRNON,<br />

QECLRNOF) (Oldal 689)<br />

QECLRNON<br />

Négyzetes<br />

hibakompenzáció tanulás<br />

BE<br />

<strong>PGA</strong>sl<br />

Kompenzációs jelleggörbék<br />

betanulása (QECLRNON,<br />

QECLRNOF) (Oldal 689)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

m ● ● ● ●<br />

m ● ● ● ●<br />

- - - -<br />

● ● ● ●<br />

● ● ● ●<br />

s - ○ - ○<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 771


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

QU<br />

R...<br />

RAC<br />

Gyors kiegészítő-<br />

(segéd-)funkció kiadás<br />

Számítási paraméter<br />

beállítható<br />

tengelyjelölőként is és<br />

numerikus bővítéssel<br />

Abszolút mondatonkénti<br />

tengely-specifikus sugárprogramozás<br />

RDISABLE Beolvasás tiltás <strong>PGA</strong>sl<br />

Beolvasás tiltást beállítani<br />

(RDISABLE) (Oldal 580)<br />

READ<br />

Beolvas a megadott <strong>PGA</strong>sl<br />

fájlba egy vagy több sort Sorok olvasása fájlban (READ)<br />

és az olvasott<br />

(Oldal 134)<br />

információkat egy<br />

mezőben teszi el<br />

REAL<br />

REDEF<br />

RELEASE<br />

REP<br />

REPEAT<br />

REPEATB<br />

Adattípus: lebegőpontos<br />

változó előjellel (valós<br />

szám)<br />

Beállítás a gépadatokra,<br />

NC-nyelvi elemekre és<br />

rendszerváltozókra, hogy<br />

melyik felhasználói<br />

csoportnál legyenek<br />

kijelezve<br />

Géptengelyek<br />

felszabadítása<br />

tengelycseréhez<br />

Kulcsszó egy mező<br />

összes elemének<br />

inicializálásához<br />

ugyanazzal az értékkel<br />

Egy program<strong>hu</strong>rok<br />

ismétlése<br />

Egy programsor<br />

ismétlése<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

PGsl ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Előre definiált felhasználói<br />

változók: Számítási paraméterek<br />

(R) (Oldal 18)<br />

● ● ● ●<br />

PGsl s ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

<strong>PGA</strong>sl<br />

Rendszerváltozók, felhasználói<br />

változók és NC utasítások újra<br />

definiálása (FRDEF) (Oldal 28)<br />

<strong>PGA</strong>sl<br />

Tengely-csere, orsó-csere<br />

(RELEASE, GET, GETD)<br />

(Oldal 121)<br />

<strong>PGA</strong>sl<br />

Mező-változók (DEF, SET, REP)<br />

definíciója és inicializálása<br />

(Oldal 44)<br />

<strong>PGA</strong>sl<br />

Programrész ismétlése<br />

(REPEAT, REPEATB,<br />

ENDLABEL, P) (Oldal 88)<br />

<strong>PGA</strong>sl<br />

Programrész ismétlése<br />

(REPEAT, REPEATB,<br />

ENDLABEL, P) (Oldal 88)<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

772 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

REPOSA Újra rámenetel a kontúrra <strong>PGA</strong>sl<br />

s ● ● ● ●<br />

egyenesen az összes Újra-rámenet a kontúrra<br />

tengellyel<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

REPOSH<br />

REPOSHA<br />

REPOSL<br />

REPOSQ<br />

REPOSQA<br />

RESET<br />

RESETMON<br />

Újra rámenetel a kontúrra<br />

félkörben<br />

Újra rámenetel a kontúrra<br />

az összes tengellyel;<br />

geometria-tengelyek<br />

félkörben<br />

Újra rámenetel a kontúrra<br />

egyenesen<br />

Újra rámenetel a kontúrra<br />

negyedkörben<br />

Újra rámenetel a kontúrra<br />

egyenesen az összes<br />

tengellyel; geometriatengelyek<br />

negyedkörben<br />

Technológiai ciklus<br />

törlése<br />

Programutasítás<br />

parancsérték<br />

aktiváláshoz<br />

RET Alprogramvég <strong>PGA</strong>sl<br />

Paraméterezhető alprogramvisszaugrás<br />

(RET...)<br />

(Oldal 171)<br />

<strong>PGA</strong>sl<br />

Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

s ● ● ● ●<br />

<strong>PGA</strong>sl<br />

s ● ● ● ●<br />

Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

<strong>PGA</strong>sl<br />

s ● ● ● ●<br />

Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

<strong>PGA</strong>sl<br />

s ● ● ● ●<br />

Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

<strong>PGA</strong>sl<br />

s ● ● ● ●<br />

Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Tiltás, engedélyezés,<br />

megszakítás (LOCK, UNLOCK,<br />

RESET) (Oldal 634)<br />

FBW ● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 773


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

RIC<br />

Realatív mondatonkénti PGsl<br />

s ● ● ● ●<br />

tengely-specifikus sugárprogramozás<br />

(RELEASE, GET, GETD)<br />

Tengely-csere, orsó-csere<br />

(Oldal 121)<br />

RINDEX Egy karakter indexének <strong>PGA</strong>sl<br />

● ● ● ●<br />

meghatározása a Karakter/string keresése<br />

bemeneti stringben stringben (INDEX, RINDEX,<br />

MINDEX, MATCH) (Oldal 78)<br />

RMB<br />

Újra rámenetel a mondat <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

kezdőpontra<br />

Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

RME<br />

Újra rámenetel a mondat <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

végpontra<br />

Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

RMI 4)<br />

Újra rámenetel a <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

megszakítási pontra Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

RMN<br />

Újra rámenetel a <strong>PGA</strong>sl<br />

m ● ● ● ●<br />

legközelebbi pályapontra Újra-rámenet a kontúrra<br />

(REPOSA, REPOSL, REPOSQ,<br />

REPOSQA, REPOSH,<br />

REPOSHA, DISR, DISPR, RMI,<br />

RMB, RME, RMN) (Oldal 476)<br />

RND Kontúrsarok lekerekítés PGsl s ● ● ● ●<br />

RNDM Modális lekerekítés PGsl m ● ● ● ●<br />

ROT Programozható forgatás PGsl s ● ● ● ●<br />

ROTS<br />

ROUND<br />

ROUNDUP<br />

Programozható frameforgatás<br />

térszöggel<br />

Tizedespont után<br />

kerekítés<br />

Beadási érték<br />

felkerekítése<br />

PGsl s ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

<strong>PGA</strong>sl<br />

Felkerekítés (ROUNDUP)<br />

(Oldal 144)<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

774 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

RP Polár-sugár PGsl m/s ● ● ● ●<br />

RPL Forgatás a síkban PGsl s ● ● ● ●<br />

RT<br />

RTLIOF<br />

RTLION<br />

Frame-adatok hozzáférés<br />

paraméter: Forgatás<br />

G0 lineáris egyenes<br />

nélkül (egyes-tengely<br />

interpoláció)<br />

G0 egyenes<br />

interpolációval<br />

<strong>PGA</strong>sl<br />

Frame komponensek olvasása<br />

és megváltoztatása (TR, FI, RT,<br />

SC, MI) (Oldal 289)<br />

● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

S<br />

Orsó-fordulatszám PGsl m/s ● ● ● ●<br />

(G4, G96/G961 esetében<br />

más jelentés)<br />

SAVE<br />

Jellemző az alprogram <strong>PGA</strong>sl<br />

● ● ● ●<br />

hívásoknál az információ Modális G-funkciókat menteni<br />

mentésére<br />

(SAVE) (Oldal 157)<br />

SBLOF Egyes-mondat elnyomás <strong>PGA</strong>sl<br />

● ● ● ●<br />

Egyes-mondat feldolgozás<br />

elnyomás (SBLOF, SBLON)<br />

(Oldal 158)<br />

SBLON Egyes-mondat elnyomás <strong>PGA</strong>sl<br />

● ● ● ●<br />

megszüntetése<br />

Egyes-mondat feldolgozás<br />

elnyomás (SBLOF, SBLON)<br />

(Oldal 158)<br />

SC<br />

Frame-adatok hozzáférés <strong>PGA</strong>sl<br />

● ● ● ●<br />

paraméter: Skálázás Frame komponensek olvasása<br />

és megváltoztatása (TR, FI, RT,<br />

SC, MI) (Oldal 289)<br />

SCALE Programozható skálázás PGsl s ● ● ● ●<br />

SCC<br />

SCPARA<br />

Egy síktengely szelektív<br />

hozzárendelése<br />

G96/G961/G962-höz. A<br />

tengelyjelölő lehet<br />

geometriai-, csatorna<br />

vagy géptengely.<br />

Szervo paraméterkészlet<br />

programozása<br />

PGsl ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Programozható szervó<br />

paraméterkészlet (SCPARA)<br />

(Oldal 278)<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 775


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

SD Spline-fok <strong>PGA</strong>sl<br />

SEFORM<br />

Strukturáló utasítás a<br />

lépésszerkesztőben a<br />

HMI Advanced<br />

lépésnézetének<br />

generálásához<br />

Kulcsszó egy mező<br />

összes elemének<br />

inicializálásához a<br />

felsorolt értékkel<br />

Spline interpoláció (ASPLINE,<br />

BSPLINE, CSPLINE, BAUTO,<br />

BNAT, BTAN, EAUTO, ENAT,<br />

ETAN, PW, SD, PL) (Oldal 233)<br />

<strong>PGA</strong>sl<br />

Struktúra-utasítás a lépésszerkesztőben<br />

(SEFORM)<br />

(Oldal 213)<br />

SET<br />

<strong>PGA</strong>sl<br />

Mező-változók (DEF, SET, REP)<br />

definíciója és inicializálása<br />

(Oldal 44)<br />

SETAL Vészjelzés beállítás <strong>PGA</strong>sl<br />

SETDNO<br />

SETINT<br />

SETM<br />

SETMS<br />

SETMS(n)<br />

SETMTH<br />

SETPIECE<br />

SETTA<br />

Egy szerszám (T) egy<br />

vágóélének (CE) D-szám<br />

hozzárendelése<br />

Annak megállapítása,<br />

hogy melyik interruptrutint<br />

kell aktiválni, ha egy<br />

NCK- bemenet igaz<br />

Jelölő beállítása a saját<br />

csatornában<br />

Visszakapcsolás a<br />

gépadatban<br />

meghatározott mesterorsóra<br />

Orsó n-nek mesterorsóként<br />

kell hatni<br />

Mester-szerszámtartó<br />

számát beállítani<br />

Darabszámot minden<br />

szerszámra figyelembe<br />

venni, amelyek az<br />

orsóhoz hozzá vannak<br />

rendelve<br />

Szerszámot a kopásegyesülésből<br />

aktívvá<br />

tenni<br />

Vészjelzések (SETAL)<br />

(Oldal 699)<br />

<strong>PGA</strong>sl<br />

Szabad D-szám megadás: D-<br />

számot átnevezni (GETDNO,<br />

SETDNO) (Oldal 431)<br />

<strong>PGA</strong>sl<br />

Interrupt-rutint hozzárendelni és<br />

indítani (SETINT, PRIO,<br />

BLSYNC) (Oldal 111)<br />

<strong>PGA</strong>sl<br />

Program koordináció (INIT,<br />

START, WAITM, WAITMC,<br />

WAITE, SETM, CLEARM)<br />

(Oldal 103)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

s - ○ - ○<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

- - - -<br />

● ● ● ●<br />

PGsl ● ● ● ●<br />

FBW ● ● ● ●<br />

FBW ● ● ● ●<br />

FBW ● ● ● ●<br />

Munka-előkészítés<br />

776 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

SETTCOR Szerszámkomponensek FB1(W1) ● ● ● ●<br />

megváltoztatása az<br />

összes peremfeltétel<br />

figyelembe vételével<br />

SETTIA Szerszámot a kopásegyesülésből<br />

FBW ● ● ● ●<br />

nem<br />

aktívvá tenni<br />

SF<br />

Indításpont-eltolás<br />

menetvágásra<br />

PGsl m ● ● ● ●<br />

SIN Sinus (trigon. függvény) <strong>PGA</strong>sl<br />

● ● ● ●<br />

Számítási műveletek (Oldal 61)<br />

SIRELAY A SIRELIN, SIRELOUT FBSIsl - - - -<br />

és SIRELTIME által<br />

paraméterezett<br />

biztonsági funkciókat<br />

aktiválni<br />

SIRELIN Funkciómodul bemeneti FBSIsl - - - -<br />

mértékeket inicializálni<br />

SIRELOUT Funkciómodul kimeneti FBSIsl - - - -<br />

mértékeket inicializálni<br />

SIRELTIME Funkciómodul időzítést FBSIsl - - - -<br />

inicializálni<br />

SLOT1<br />

Vájatok egy körön marási BHDsl/BHFsl ● ● ● ●<br />

kép ciklus<br />

SLOT2<br />

Körvájat marási kép BHDsl/BHFsl ● ● ● ●<br />

ciklus<br />

SOFT<br />

Rándítás-határolt<br />

pályagyorsítás<br />

PGsl m ● ● ● ●<br />

SOFTA Rándítás-határolt PGsl ● ● ● ●<br />

pályagyorsítást a<br />

programozott tengelyekre<br />

bekapcsolni<br />

SON Sapkázás BE <strong>PGA</strong>sl<br />

Lyukasztás és sapkázás be<br />

vagy ki (SPOF, SON, PON,<br />

SONS, PONS, PDELAYON,<br />

PDELAYOF, PUNCHACC)<br />

(Oldal 655)<br />

m - - - -<br />

SONS<br />

Sapkázás BE IPOütemben<br />

<strong>PGA</strong>sl<br />

Lyukasztás és sapkázás be<br />

vagy ki (SPOF, SON, PON,<br />

SONS, PONS, PDELAYON,<br />

PDELAYOF, PUNCHACC)<br />

(Oldal 655)<br />

m - - - -<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 777


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

SPATH 4)<br />

SPCOF<br />

SPCON<br />

SPI<br />

SPIF1 4)<br />

SPIF2<br />

Pályavonatkoztatás<br />

FGROUP-tengelyekre<br />

ívhossz<br />

Mester-orsó vagy orsó(k)<br />

átkapcsolása helyzetszabályozásról<br />

fordulatszámszabályozásra<br />

Mester-orsó vagy orsó(k)<br />

átkapcsolása<br />

fordulatszámszabályozásból<br />

helyzetszabályozásra<br />

Orsószámot átalakít<br />

tengelyjelölőre<br />

Gyors<br />

NCK-be-/kimenetek<br />

lyukasztásra/sapkázásra<br />

bájt 1<br />

Gyors<br />

NCK-be-/kimenetek<br />

lyukasztásra/sapkázásra<br />

bájt 2<br />

Spline-egyesülés<br />

meghatározása<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

<strong>PGA</strong>sl<br />

Beállítható pálya-vonatkoztatás:<br />

(SPATH, UPATH) (Oldal 256)<br />

m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Tengely funkciók (AXNAME, AX,<br />

SPI, AXTOSPI, ISAXIS,<br />

AXSTRING, MODAXVAL)<br />

(Oldal 669)<br />

● ● ● ●<br />

FB2(N4) m - - - -<br />

FB2(N4) m - - - -<br />

SPLINEPATH<br />

<strong>PGA</strong>sl<br />

- ○ - ○<br />

Spline-kötelék (SPLINEPATH)<br />

(Oldal 245)<br />

SPN<br />

Rész-szakaszok <strong>PGA</strong>sl<br />

s - - - -<br />

mondatonkénti száma Automatikus útfeldolgozás<br />

(Oldal 660)<br />

SPOF 4) Löket KI,<br />

<strong>PGA</strong>sl<br />

m - - - -<br />

lyukasztás, sapkázás KI Lyukasztás és sapkázás be<br />

vagy ki (SPOF, SON, PON,<br />

SONS, PONS, PDELAYON,<br />

PDELAYOF, PUNCHACC)<br />

(Oldal 655)<br />

SPOS Orsópozíció PGsl m ● ● ● ●<br />

SPOSA<br />

SPP<br />

SQRT<br />

Orsópozíció a<br />

mondathatárokon túl<br />

PGsl m ● ● ● ●<br />

Egy rész-szakasz hossza <strong>PGA</strong>sl<br />

Automatikus útfeldolgozás<br />

(Oldal 660)<br />

Négyzetgyökvonás <strong>PGA</strong>sl<br />

(aritmetikai funkció) Számítási műveletek (Oldal 61)<br />

(square root)<br />

m - - - -<br />

● ● ● ●<br />

Munka-előkészítés<br />

778 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

SR<br />

Ingázás visszahúzás út<br />

szinkronakciókra<br />

PGsl s - - - -<br />

SRA<br />

ST<br />

STA<br />

Ingázás visszahúzás út<br />

külső bemenetnél<br />

axiálisan<br />

szinkronakciókra<br />

Ingázás kiszikrázási idő<br />

szinkron-akciókra<br />

Ingázás kiszikrázási idő<br />

axiális szinkron-akciókra<br />

START Kiválasztott programok <strong>PGA</strong>sl<br />

egyidejű indítása több Program koordináció (INIT,<br />

csatornában a futó START, WAITM, WAITMC,<br />

programból<br />

WAITE, SETM, CLEARM)<br />

(Oldal 103)<br />

STARTFIFO 4) Feldolgozás; ezzel <strong>PGA</strong>sl<br />

pár<strong>hu</strong>zamosan az Programlefutás előrefutás<br />

előrefutás-puffer tárolóval (STARTFIFO,<br />

feltöltése<br />

STOPFIFO, STOPRE)<br />

(Oldal 465)<br />

STAT Csukló állása <strong>PGA</strong>sl<br />

PTP-mozgás derékszögű<br />

koordinátarendszerben<br />

(Oldal 376)<br />

STOLF G0 tűréstényező <strong>PGA</strong>sl<br />

Tűrés G0 mozgásoknál (STOLF)<br />

(Oldal 495)<br />

STOPFIFO A megmunkálás<br />

<strong>PGA</strong>sl<br />

leállítása; Az előfutáspuffer<br />

feltöltése addig, tárolóval (STARTFIFO,<br />

Programlefutás előrefutás<br />

amíg STARTFIFO STOPFIFO, STOPRE)<br />

felismerésre kerül, (Oldal 465)<br />

előfutás-puffer teli vagy<br />

programvég<br />

STOPRE Előrefutás-állj, amíg az <strong>PGA</strong>sl<br />

összes előkészített Programlefutás előrefutás<br />

mondat a főfutamban tárolóval (STARTFIFO,<br />

feldolgozásra kerül STOPFIFO, STOPRE)<br />

(Oldal 465)<br />

STOPREOF Előrefutás-álljt<br />

<strong>PGA</strong>sl<br />

megszünteti<br />

Előrefutás-állj-t megszüntetni<br />

(STOPREOF) (Oldal 581)<br />

STRING Adattípus: karakterlánc <strong>PGA</strong>sl<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

PGsl m - - - -<br />

PGsl s - - - -<br />

PGsl m - - - -<br />

- - - -<br />

m ● ● ● ●<br />

s ● ● ● ●<br />

m - - - -<br />

m ● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 779


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

STRINGFELD<br />

STRINGIS<br />

STRINGVAR<br />

STRLEN<br />

SUBSTR<br />

SUPA<br />

Egy tartomány<br />

kiválasztása a<br />

programozott<br />

stringmezőből<br />

Megvizsgálja az NCnyelvi<br />

terjedelmet és<br />

speciálisan ehhez az<br />

utasításhoz tartozó NCciklus<br />

neveket,<br />

felhasználói változókat,<br />

makrókat és<br />

címkeneveket, hogy ezek<br />

léteznek, érvényesek,<br />

definiáltak vagy aktívake.<br />

Egy tartomány<br />

kiválasztása a<br />

programozott string-ből<br />

Egy string hosszának<br />

meghatározása<br />

Egy karakter indexének<br />

meghatározása a<br />

bemeneti stringben<br />

Az aktuális<br />

nullaponteltolás<br />

elnyomása, beleértve a<br />

programozott eltolásokat,<br />

rendszer-frameket,<br />

kézikerék-eltolásokat<br />

(DRF), külső nullaponteltolást<br />

és átlapolt<br />

mozgást<br />

<strong>PGA</strong>sl<br />

Egy karakter kiválasztása<br />

(STRINGVAR, STRINGFELD)<br />

(Oldal 80)<br />

<strong>PGA</strong>sl<br />

NC-nyelv meglevő<br />

terjedelmének vizsgálata<br />

(STRINGIS) (Oldal 683)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

● ● ● ●<br />

<strong>PGA</strong>sl<br />

Egy karakter kiválasztása<br />

(STRINGVAR, STRINGFELD)<br />

(Oldal 80)<br />

- - - -<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

String hosszának<br />

meghatározása (STRLEN)<br />

(Oldal 78)<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Rész-string kiválasztása<br />

(SUBSTR) (Oldal 80)<br />

PGsl s ● ● ● ●<br />

SVC Szerszám vágósebesség PGsl m ● ● ● ●<br />

SYNFCT<br />

SYNR<br />

Egy polinom kiértékelése<br />

egy feltételtől függően a<br />

mozgás-szinkron<br />

akcióban<br />

Változó szinkron<br />

olvasása, vagyis a<br />

megmunkálási<br />

időpontban<br />

<strong>PGA</strong>sl<br />

Szinkronfunkció (SYNFCT)<br />

(Oldal 586)<br />

<strong>PGA</strong>sl<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

780 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

SYNRW<br />

SYNW<br />

T<br />

TAN<br />

TANG<br />

TANGDEL<br />

TANGOF<br />

TANGON<br />

Változó szinkron írása és<br />

olvasása, vagyis a<br />

megmunkálási<br />

időpontban<br />

Változó szinkron írása,<br />

vagyis a megmunkálási<br />

időpontban<br />

Szerszám felhívás<br />

(csere csak akkor, ha ez<br />

a gépadatban<br />

meghatározott; különben<br />

M6 utasítás szükséges)<br />

Tangens (trigon.<br />

függvény)<br />

Érintőleges utánvezetés<br />

tengely egyesülés<br />

definíciója<br />

Érintőleges utánvezetés<br />

tengely egyesülés<br />

definíció törlése<br />

Érintőleges utánvezetés<br />

KI<br />

Érintőleges utánvezetés<br />

BE<br />

TCA Szerszámválasztás /<br />

szerszámváltás a<br />

szerszám állapotától<br />

független<br />

TCARR Szerszámtartó ("m"<br />

szám) felhívás<br />

TCI<br />

Szerszámcsere a tár<br />

közbenső tárolójából<br />

<strong>PGA</strong>sl<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

<strong>PGA</strong>sl<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

● ● ● ●<br />

PGsl ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Számítási műveletek (Oldal 61)<br />

● ● ● ●<br />

<strong>PGA</strong>sl<br />

- - - -<br />

Érintőleges vezérlés (TANG,<br />

TANGON, TANGOF, TLIFT,<br />

TANGDEL) (Oldal 453)<br />

<strong>PGA</strong>sl<br />

- - - -<br />

Érintőleges vezérlés (TANG,<br />

TANGON, TANGOF, TLIFT,<br />

TANGDEL) (Oldal 453)<br />

<strong>PGA</strong>sl<br />

- - - -<br />

Érintőleges vezérlés (TANG,<br />

TANGON, TANGOF, TLIFT,<br />

TANGDEL) (Oldal 453)<br />

<strong>PGA</strong>sl<br />

- - - -<br />

Érintőleges vezérlés (TANG,<br />

TANGON, TANGOF, TLIFT,<br />

TANGDEL) (Oldal 453)<br />

FBW ● ● ● ●<br />

<strong>PGA</strong>sl<br />

Szerszámhossz-korrekció<br />

tájolható szerszámtartókra<br />

(TCARR, TCOABS, TCOFR,<br />

TCOFRX, TCOFRY, TCOFRZ)<br />

(Oldal 439)<br />

- ● - ●<br />

FBW ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 781


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

TCOABS 4) Szerszámhosszkomponensek<br />

<strong>PGA</strong>sl<br />

Szerszámhossz-korrekció<br />

meghatározása az tájolható szerszámtartókra<br />

aktuális<br />

(TCARR, TCOABS, TCOFR,<br />

szerszámtájolásból TCOFRX, TCOFRY, TCOFRZ)<br />

(Oldal 439)<br />

TCOFR Szerszámhosszkomponensek<br />

<strong>PGA</strong>sl<br />

Szerszámhossz-korrekció<br />

meghatározása az aktív tájolható szerszámtartókra<br />

frame tájolásából (TCARR, TCOABS, TCOFR,<br />

TCOFRX, TCOFRY, TCOFRZ)<br />

(Oldal 439)<br />

TCOFRX Egy aktív frame<br />

<strong>PGA</strong>sl<br />

szerszámtájolását a Szerszámhossz-korrekció<br />

szerszám kiválasztásánál tájolható szerszámtartókra<br />

meghatározni, szerszám (TCARR, TCOABS, TCOFR,<br />

X-irányba mutat<br />

TCOFRX, TCOFRY, TCOFRZ)<br />

(Oldal 439)<br />

TCOFRY Egy aktív frame<br />

<strong>PGA</strong>sl<br />

szerszámtájolását a Szerszámhossz-korrekció<br />

szerszám kiválasztásánál tájolható szerszámtartókra<br />

meghatározni, szerszám (TCARR, TCOABS, TCOFR,<br />

Y-irányba mutat<br />

TCOFRX, TCOFRY, TCOFRZ)<br />

(Oldal 439)<br />

TCOFRZ Egy aktív frame<br />

<strong>PGA</strong>sl<br />

szerszámtájolását a Szerszámhossz-korrekció<br />

szerszám kiválasztásánál tájolható szerszámtartókra<br />

meghatározni, szerszám (TCARR, TCOABS, TCOFR,<br />

Z-irányba mutat<br />

TCOFRX, TCOFRY, TCOFRZ)<br />

(Oldal 439)<br />

THETA Forgásszög <strong>PGA</strong>sl<br />

Szerszámtájolás forgatásai<br />

(ORIROTA, ORIROTR,<br />

ORIROTT, ORIROTC, THETA)<br />

(Oldal 343)<br />

TILT Oldalszög <strong>PGA</strong>sl<br />

Szerszámtájolás programozása<br />

(A..., B..., C..., LEAD, TILT)<br />

(Oldal 323)<br />

TLIFT<br />

Érintőleges vezérlésnél a <strong>PGA</strong>sl<br />

kontúrsarkokon közbenső Érintőleges vezérlés (TANG,<br />

mondatot beilleszteni TANGON, TANGOF, TLIFT,<br />

TANGDEL) (Oldal 453)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

m - ● - ●<br />

m - ● - ●<br />

m - ● - ●<br />

m - ● - ●<br />

m - ● - ●<br />

s ● ● ● ●<br />

m ● ● ● ●<br />

- - - -<br />

Munka-előkészítés<br />

782 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

TMOF<br />

Szerszám-felügyelet <strong>PGA</strong>sl<br />

● ● ● ●<br />

lekapcsolás<br />

Köszörülés-specifikus<br />

szerszámfelügyelet<br />

munkadarabprogramokban<br />

(TMON, TMOF) (Oldal 667)<br />

TMON<br />

Szerszám-felügyelet <strong>PGA</strong>sl<br />

● ● ● ●<br />

bekapcsolás<br />

Köszörülés-specifikus<br />

szerszámfelügyelet<br />

munkadarabprogramokban<br />

(TMON, TMOF) (Oldal 667)<br />

TO<br />

FOR számláló-<strong>hu</strong>rok <strong>PGA</strong>sl<br />

● ● ● ●<br />

végértékét jelöli<br />

Számláló <strong>hu</strong>rok (FOR ... TO ...,<br />

ENDFOR) (Oldal 99)<br />

TOFF<br />

Szerszámhossz-offset a PGsl m ● ● ● ●<br />

szerszámhosszkomponensek<br />

irányában,<br />

ami az indexben<br />

megadott geometriatengellyel<br />

pár<strong>hu</strong>zamosan<br />

hat.<br />

TOFFL<br />

Szerszámhossz-offset az PGsl m ● ● ● ●<br />

L1, L2 ill. L3<br />

szerszámhosszkomponensek<br />

irányában<br />

TOFFOF Online szerszámhosszkorrekció<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

kikapcsolása Online szerszámhossz-korrekció<br />

(TOFFON, TOFFOF)<br />

(Oldal 443)<br />

TOFFON Online szerszámhosszkorrekció<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

aktiválása Online szerszámhossz-korrekció<br />

(TOFFON, TOFFOF)<br />

(Oldal 443)<br />

TOFFR Szerszámsugár-offset PGsl m ● ● ● ●<br />

TOFRAME<br />

TOFRAMEX<br />

TOFRAMEY<br />

MKR Z tengelyét frameforgatással<br />

a<br />

szerszámtájolással<br />

pár<strong>hu</strong>zamosan beállítani<br />

MKR X tengelyét frameforgatással<br />

a<br />

szerszámtájolással<br />

pár<strong>hu</strong>zamosan beállítani<br />

MKR Y tengelyét frameforgatással<br />

a<br />

szerszámtájolással<br />

pár<strong>hu</strong>zamosan beállítani<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 783


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

TOFRAMEZ mint TOFRAME PGsl m ● ● ● ●<br />

TOLOWER<br />

TOOLENV<br />

TOROT<br />

TOROTOF<br />

Egy string betűit<br />

kisbetűvé alakítani<br />

Minden aktuális állapotot<br />

tárolni, amelyeknek a<br />

tárolóban eltárolt<br />

szerszámadatok<br />

kiértékelésénél jelentésük<br />

van<br />

MKR Z tengelyét frameforgatással<br />

a<br />

szerszámtájolással<br />

pár<strong>hu</strong>zamosan beállítani<br />

Frame-forgatások<br />

szerszámirányban KI<br />

<strong>PGA</strong>sl<br />

● ● ● ●<br />

Kis- /nagybetű átalakítás<br />

(TOLOWER, TOUPPER)<br />

(Oldal 77)<br />

FB1(W1) ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

TOROTX MKR X tengelyét frameforgatással<br />

PGsl m ● ● ● ●<br />

a<br />

szerszámtájolással<br />

pár<strong>hu</strong>zamosan beállítani<br />

TOROTY MKR Y tengelyét frameforgatással<br />

PGsl m ● ● ● ●<br />

a<br />

szerszámtájolással<br />

pár<strong>hu</strong>zamosan beállítani<br />

TOROTZ mint TOROT PGsl m ● ● ● ●<br />

TOUPPER<br />

TOWBCS<br />

TOWKCS<br />

Egy string betűit<br />

nagybetűvé alakítani<br />

Kopásértékek alapkoordinátarendszerben<br />

(AKR)<br />

Kopásértékek a<br />

szerszámfej koordinátarendszerében<br />

kinetikai<br />

transzformációnál (a<br />

GKR-től a<br />

szerszámforgatásban<br />

különbözik)<br />

<strong>PGA</strong>sl<br />

Kis- /nagybetű átalakítás<br />

(TOLOWER, TOUPPER)<br />

(Oldal 77)<br />

<strong>PGA</strong>sl<br />

Aktív megmunkálás<br />

koordinátarendszere (TOWSTD,<br />

TOWMCS, TOWWCS,<br />

TOWBCS, TOWTCS,<br />

TOWKCS) (Oldal 400)<br />

<strong>PGA</strong>sl<br />

Aktív megmunkálás<br />

koordinátarendszere (TOWSTD,<br />

TOWMCS, TOWWCS,<br />

TOWBCS, TOWTCS,<br />

TOWKCS) (Oldal 400)<br />

● ● ● ●<br />

m - ● - ●<br />

m - ● - ●<br />

Munka-előkészítés<br />

784 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

TOWMCS Kopásértékek gépkoordinátarendszerben<br />

<strong>PGA</strong>sl<br />

m - ● - ●<br />

Aktív megmunkálás<br />

(GKR)<br />

koordinátarendszere (TOWSTD,<br />

TOWMCS, TOWWCS,<br />

TOWBCS, TOWTCS,<br />

TOWKCS) (Oldal 400)<br />

TOWSTD Szerszámhosszkorrekciók<br />

<strong>PGA</strong>sl<br />

m - ● - ●<br />

alapállás Aktív megmunkálás<br />

értéke<br />

koordinátarendszere (TOWSTD,<br />

TOWMCS, TOWWCS,<br />

TOWBCS, TOWTCS,<br />

TOWKCS) (Oldal 400)<br />

TOWTCS Kopásértékek szerszámkoordinátarendszerben<br />

<strong>PGA</strong>sl<br />

m - ● - ●<br />

Aktív megmunkálás<br />

(szerszámtartó<br />

koordinátarendszere (TOWSTD,<br />

vonatkoztatási pont T a TOWMCS, TOWWCS,<br />

szerszámtartó felvevőn) TOWBCS, TOWTCS,<br />

TOWKCS) (Oldal 400)<br />

TOWWCS Kopásértékek<br />

<strong>PGA</strong>sl<br />

m - ● - ●<br />

munkadarabkoordinátarendszerben<br />

koordinátarendszere (TOWSTD,<br />

Aktív megmunkálás<br />

(MKR)<br />

TOWMCS, TOWWCS,<br />

TOWBCS, TOWTCS,<br />

TOWKCS) (Oldal 400)<br />

TR<br />

Egy frame változó eltolás <strong>PGA</strong>sl<br />

● ● ● ●<br />

komponense<br />

Frame komponensek olvasása<br />

és megváltoztatása (TR, FI, RT,<br />

SC, MI) (Oldal 289)<br />

TRAANG Ferde tengely<br />

<strong>PGA</strong>sl<br />

- - ○ -<br />

transzformáció<br />

Ferde tengely (TRAANG)<br />

(Oldal 371)<br />

TRACON Kaszkád transzformáció <strong>PGA</strong>sl<br />

- - ○ -<br />

Láncolt transzformációk<br />

(TRACON, TRAFOOF)<br />

(Oldal 387)<br />

TRACYL Henger: palástfelülettranszformáció<br />

<strong>PGA</strong>sl<br />

○ ○ ○ ○<br />

Hengerpalást-transzformáció<br />

(TRACYL) (Oldal 362)<br />

TRAFOOF Csatornában aktív <strong>PGA</strong>sl<br />

● ● ● ●<br />

transzformáció<br />

Láncolt transzformációk<br />

kikapcsolása<br />

(TRACON, TRAFOOF)<br />

(Oldal 387)<br />

TRAILOF Aszinkron vontatás KI <strong>PGA</strong>sl<br />

Vontatás (TRAILON, TRAILOF)<br />

(Oldal 497)<br />

● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 785


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

TRAILON Aszinkron vontatás BE <strong>PGA</strong>sl<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

Vontatás (TRAILON, TRAILOF)<br />

(Oldal 497)<br />

TRANS Programozható eltolás PGsl s ● ● ● ●<br />

TRANSMIT Polár transzformáció <strong>PGA</strong>sl<br />

○ ○ ○ ○<br />

(homlokfelület<br />

Eszterga-munkadarabok marómegmunkálása<br />

(TRANSMIT)<br />

megmunkálás)<br />

(Oldal 359)<br />

TRAORI 4-, 5-tengelyes<br />

<strong>PGA</strong>sl<br />

- ● - ●<br />

transzformáció, általános Három-, négy- és öt-tengelyes<br />

transzformáció<br />

transzformáció (TRAORI)<br />

(Oldal 320)<br />

TRUE Logikai állandó: igaz <strong>PGA</strong>sl<br />

● ● ● ●<br />

Felhasználói változók definíciója<br />

(DEF) (Oldal 22)<br />

TRUNC Tizedespont utáni helyek <strong>PGA</strong>sl<br />

● ● ● ●<br />

levágása<br />

Pontosság-korrekció<br />

összehasonlítási hibáknál<br />

(TRUNC) (Oldal 66)<br />

TU Tengelyszög <strong>PGA</strong>sl<br />

s ● ● ● ●<br />

PTP-mozgás derékszögű<br />

koordinátarendszerben<br />

(Oldal 376)<br />

TURN<br />

Menetszám a<br />

csavarvonalra<br />

PGsl s ● ● ● ●<br />

ULI<br />

UNLOCK<br />

UNTIL<br />

UPATH<br />

VAR<br />

Változók felső<br />

határértéke<br />

ID szinkronakciót<br />

engedélyezni<br />

(technológia ciklust<br />

megállítani)<br />

REPEAT <strong>hu</strong>rok<br />

befejezési feltétele<br />

Pályavonatkoztatás<br />

FGROUP-tengelyekre<br />

görbeparaméter<br />

Kulcsszó: paraméter<br />

átadás módja<br />

<strong>PGA</strong>sl<br />

Tulajdonság: Határértékek (LLI,<br />

ULI) (Oldal 34)<br />

<strong>PGA</strong>sl<br />

Tiltás, engedélyezés,<br />

megszakítás (LOCK, UNLOCK,<br />

RESET) (Oldal 634)<br />

<strong>PGA</strong>sl<br />

Program<strong>hu</strong>rok feltétellel a <strong>hu</strong>rok<br />

elején (WHILE, ENDWHILE)<br />

(Oldal 100)<br />

<strong>PGA</strong>sl<br />

Beállítható pálya-vonatkoztatás:<br />

(SPATH, UPATH) (Oldal 256)<br />

<strong>PGA</strong>sl<br />

Alprogram felhívása paraméterátadással<br />

(EXTERN)<br />

(Oldal 180)<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

m ● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

786 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

VELOLIM Maximális<br />

<strong>PGA</strong>sl<br />

m ● ● ● ●<br />

tengelysebesség Százalékos sebesség-korrekció<br />

csökkentése<br />

(VELOLIM) (Oldal 487)<br />

VELOLIMA Követő tengely maximális<br />

tengelysebesség<br />

csökkentése vagy<br />

növelése<br />

PGsl m ● ● ● ●<br />

WAITC<br />

WAITE<br />

WAITENC<br />

WAITM<br />

WAITMC<br />

WAITP<br />

WAITS<br />

WALCS0<br />

WALCS1<br />

WALCS2<br />

Várakozás, amíg a<br />

csatolási mondatváltás<br />

kritériuma a<br />

tengelyekre/orsókra<br />

teljesül<br />

Várakozás program<br />

végéra egy másik<br />

csatornában<br />

Várakozás a szinkronizált<br />

ill. helyreállított<br />

tengelypozíciókra<br />

Jelölőre vár a megadott<br />

csatornában; előző<br />

mondatot pontos állj-jal<br />

befejezni.<br />

Jelölőre vár a megadott<br />

csatornában; pontos állj<br />

csak akkor, ha a többi<br />

csatorna a jelölőt még<br />

nem érte el.<br />

Várakozás pozícionáló<br />

tengelyek mozgás végére<br />

Várakozás az orsópozíció<br />

elérésére<br />

MKR munkatér-határolás<br />

kikapcsolva<br />

MKR munkatér-határolás<br />

csoport 1 aktív<br />

MKR munkatér-határolás<br />

csoport 2 aktív<br />

<strong>PGA</strong>sl<br />

Program koordináció (INIT,<br />

START, WAITM, WAITMC,<br />

WAITE, SETM, CLEARM)<br />

(Oldal 103)<br />

- - ○ -<br />

<strong>PGA</strong>sl<br />

- - - -<br />

Program koordináció (INIT,<br />

START, WAITM, WAITMC,<br />

WAITE, SETM, CLEARM)<br />

(Oldal 103)<br />

<strong>PGA</strong>sl<br />

- - - -<br />

Várni érvényes tengelypozícióra<br />

(WAITENC) (Oldal 681)<br />

<strong>PGA</strong>sl<br />

- - - -<br />

Program koordináció (INIT,<br />

START, WAITM, WAITMC,<br />

WAITE, SETM, CLEARM)<br />

(Oldal 103)<br />

<strong>PGA</strong>sl<br />

- - - -<br />

Program koordináció (INIT,<br />

START, WAITM, WAITMC,<br />

WAITE, SETM, CLEARM)<br />

(Oldal 103)<br />

PGsl ● ● ● ●<br />

PGsl ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 787


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

WALCS3<br />

WALCS4<br />

WALCS5<br />

WALCS6<br />

WALCS7<br />

WALCS8<br />

WALCS9<br />

WALCS10<br />

WALIMOF<br />

WALIMON 4)<br />

WHEN<br />

WHENEVER<br />

WHILE<br />

MKR munkatér-határolás<br />

csoport 3 aktív<br />

MKR munkatér-határolás<br />

csoport 4 aktív<br />

MKR munkatér-határolás<br />

csoport 5 aktív<br />

MKR munkatér-határolás<br />

csoport 6 aktív<br />

MKR munkatér-határolás<br />

csoport 7 aktív<br />

MKR munkatér-határolás<br />

csoport 8 aktív<br />

MKR munkatér-határolás<br />

csoport 9 aktív<br />

MKR munkatér-határolás<br />

csoport 10 aktív<br />

AKR munkatér-határolás<br />

KI<br />

AKR munkatér-határolás<br />

BE<br />

Akció ciklikusan végre<br />

lesz hajtva, ha a feltétel<br />

teljesül.<br />

Akció egyszer végre lesz<br />

hajtva, ha a feltétel<br />

egyszer teljesül.<br />

WHILE program<strong>hu</strong>rok<br />

kezdete<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

PGsl m ● ● ● ●<br />

<strong>PGA</strong>sl<br />

A feltétel ciklikus vizsgálata<br />

(WHEN, WHENEVER, FROM,<br />

EVERY) (Oldal 555)<br />

<strong>PGA</strong>sl<br />

A feltétel ciklikus vizsgálata<br />

(WHEN, WHENEVER, FROM,<br />

EVERY) (Oldal 555)<br />

<strong>PGA</strong>sl<br />

Program<strong>hu</strong>rok feltétellel a <strong>hu</strong>rok<br />

elején (WHILE, ENDWHILE)<br />

(Oldal 100)<br />

● ● ● ●<br />

● ● ● ●<br />

● ● ● ●<br />

Munka-előkészítés<br />

788 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Táblázatok<br />

16.1 Utasítások listája<br />

Utasítás Jelentés Leírást lásd 1) W 2)<br />

WRITE<br />

WRTPR<br />

Mondatot a fájlrendszerbe<br />

írni.<br />

Hozzáfűz egy mondatot a<br />

megadott fájl végéhez.<br />

Késlelteti a megmunkálás<br />

feladatot a pályavezérlőüzem<br />

megszakítása<br />

nélkül<br />

<strong>PGA</strong>sl<br />

Fájl írás (WRITE) (Oldal 129)<br />

828D 3)<br />

PPU260 / 261 PPU280 / 281<br />

E M E M<br />

● ● ● ●<br />

<strong>PGA</strong>sl ● ● ● ●<br />

X Tengelynév PGsl m/s ● ● ● ●<br />

XOR Logikai kizáró-VAGY <strong>PGA</strong>sl<br />

● ● ● ●<br />

Összehasonlító és logikai<br />

műveletek (Oldal 64)<br />

Y Tengelynév PGsl m/s ● ● ● ●<br />

Z Tengelynév PGsl m/s ● ● ● ●<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 789


Táblázatok<br />

16.1 Utasítások listája<br />

Munka-előkészítés<br />

790 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Függelék<br />

A<br />

A.1 Rövidítések listája<br />

A<br />

AKR<br />

AS<br />

ASCII<br />

ASIC<br />

ASUP<br />

AV<br />

AWL<br />

BA<br />

BAG<br />

BB<br />

BCD<br />

BHG<br />

BIN<br />

BIOS<br />

BOF<br />

BOT<br />

BT<br />

BTSS<br />

BuB, B&B<br />

CAD<br />

CAM<br />

CNC<br />

COM<br />

CP<br />

CPU<br />

CR<br />

CRT<br />

CTS<br />

CUTCOM<br />

CSB<br />

DAU<br />

DB<br />

DBB<br />

DBW<br />

Kimenet<br />

Alap-koordinátarendszer<br />

Automatizálási rendszer<br />

American Standard Code for Information Interchange: Amerikai kód-szabvány az<br />

információ-cserére<br />

Application Specific Integrated Circuit: Felhasználói áramkör<br />

Aszinkron alprogram<br />

Munka-előkészítés<br />

Utasításlista<br />

Üzemmód<br />

Üzemmód-csoport<br />

Üzemkész<br />

Binary Coded Decimals: Binérkódban kódolt tizedes számok<br />

Kezelői kézikészülék<br />

Binér-fájlok (Binary Files)<br />

Basic Input Output System<br />

Kezelőfelület<br />

Boot Files: Boot-fájlok a SIMODRIVE 611 digital számára<br />

Kezelőtábla<br />

Kezelőtábla interfész<br />

Kezelés és megfigyelés<br />

Computer-Aided Design<br />

Computer-Aided Manufacturing<br />

Computerized Numerical Control: Számítógépes numerikus vezérlés<br />

Communication<br />

Communication Processor<br />

Central Processing Unit: központi számítóegység<br />

Carriage Return<br />

Cathode Ray Tube: képcső<br />

Clear To Send: Soros adatinterfészeknél az adás-készenlét jelentése<br />

Cutter radius compensation: Szerszámsugár-korrekció<br />

Central Service Board: PLC-modul<br />

Digitál-analóg átalakító<br />

Adatmodul a PLC-ben<br />

Adatmodul-bájt a PLC-ben<br />

Adatmodul-szó a PLC-ben<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 791


Függelék<br />

A.1 Rövidítések listája<br />

DBX<br />

DC<br />

DCD<br />

DDE<br />

DEE<br />

DIN<br />

DIO<br />

DIR<br />

DLL<br />

DOE<br />

DOS<br />

DPM<br />

DPR<br />

DRAM<br />

DRF<br />

DRY<br />

DSB<br />

DW<br />

E<br />

E/A<br />

E/R<br />

EIA-Code<br />

ENC<br />

EPROM<br />

ERROR<br />

FB<br />

FBS<br />

FC<br />

FDB<br />

FDD<br />

FEPROM<br />

FIFO<br />

FIPO<br />

FM<br />

FPU<br />

FRA<br />

FRAME<br />

FRK<br />

FST<br />

FUP<br />

Adatmodul-bit a PLC-ben<br />

Direct Control: Körtengely-mozgás a legrövidebb úton az abszolút pozícióra egy<br />

fordulaton belül<br />

Carrier Detect<br />

Dynamic Data Exchange<br />

Adat végberendezés<br />

Deutsche Industrie Norm<br />

Data Input/Output: Adatátvitel-kijelzés<br />

Directory: Könyvtár<br />

Dynamic Link Library<br />

Adatátviteli berendezés<br />

Disk Operating System<br />

Dual Port Memory<br />

Dual-Port-RAM<br />

Dynamic Random Access Memory<br />

Differential Resolver Function: Differenciális-forgásjelző-funkció (kézikerék)<br />

Dry Run: Próbafutás előtolás<br />

Decoding Single Block: egyes mondat dekódolás<br />

Adatszó<br />

Bemenet<br />

Be-/kimenet<br />

Betáplálás-/visszatáplálás-egység (tápegység)<br />

SIMODRIVE 611 digital<br />

Speciális lyukszalag-kód, lyukszám soronként mindig páratlan<br />

Encoder: valósérték jeladó<br />

Erasable Programmable Read Only Memory (törölhető, elektromosan<br />

programozható olvasó-tároló)<br />

Hiba a nyomtatótól<br />

Funkciós modul<br />

Lapos képernyő<br />

Function Call: Funkciós modul a PLC-ben<br />

Gyártmány-adatbank<br />

Floppy Disk Drive<br />

Flash-EPROM: Olvasható és átírható tároló<br />

First In First Out: Tároló, amely címmegadás nélkül dolgozik, s amely adatai a<br />

betárolással azonos sorrendben kerülnek kiolvasásra.<br />

Finom-interpolátor<br />

Funkciómodul<br />

Floating Point Unit: Lebegőpontos egység<br />

Frame-modul<br />

Adatrekord (keret)<br />

Marósugár-korrekció<br />

Feed Stop: Előtolás állj<br />

Funkciós terv (programozási módszer a PLC-re)<br />

Munka-előkészítés<br />

792 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Függelék<br />

A.1 Rövidítések listája<br />

GKR<br />

Gép-koordinátarendszer<br />

GP<br />

Alapprogram<br />

GUD<br />

Global User Data: Globális felhasználói adatok<br />

HD<br />

Hard Disk: merevlemez<br />

HEX<br />

A hexadecimális számok rövid megnevezése<br />

HiFu<br />

Segédfunkció<br />

HMI<br />

Human Machine Interface: SINUMERIK kezelési funkcionalitása kezeléshez,<br />

programozáshoz és szimulációhoz<br />

HMS<br />

Nagy-felbontású mérőrendszer<br />

HSA<br />

Főhajtás<br />

HW<br />

Hardver<br />

IBN<br />

Üzembe helyezés<br />

IF<br />

Hajtásmodul impulzus-engedélyezés<br />

IK (GD)<br />

Implicit kommunikáció (globális adatok)<br />

IKA<br />

Interpolative Compensation: Interpolatórikus kompenzáció<br />

IM<br />

Interface-Modul: Csatlakozó-egység<br />

IMR<br />

Interface-Modul Receive: Vevőüzemi csatlakozó-egység<br />

IMS<br />

Interface-Modul Send: Adóüzemi csatlakozó-egység<br />

INC<br />

Increment: Lépésmérték<br />

INI<br />

Initializing Data: Inicializálási adatok<br />

IPO<br />

Interpolátor<br />

ISA<br />

International Standard Architecture<br />

ISO<br />

International Standard Organization<br />

ISO-Code<br />

Speciális lyukszalag-kód, lyukszám soronként mindig páros<br />

JOG<br />

Jogging: Beállító-üzem<br />

K1 .. K4 Csatorna 1 ... csatorna 4<br />

K-Bus<br />

Kommunikációs busz<br />

KD<br />

Koordináta-elforgatás<br />

KOP<br />

Kontaktusterv (programozási módszer a PLC-re)<br />

KÜ<br />

Áttételi viszony<br />

Kv<br />

Körerősítési tényező<br />

LCD<br />

Liquid-Crystal Display: folyadékkristály kijelző<br />

LED<br />

Light-Emitting Diode: fény-dióda kijelző<br />

LF<br />

Line Feed<br />

LMS<br />

Helyzetmérő rendszer<br />

LR<br />

Helyzetszabályozó<br />

LUD<br />

Local User Data<br />

MB<br />

Megabájt<br />

MD<br />

Gépadatok<br />

MDA<br />

Manual Data Automatic: Kézi beadás<br />

MK<br />

Mérőkör<br />

MKR<br />

Munkadarab-koordinátarendszer<br />

MLFB<br />

Géppel olvasható termékjelölés<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 793


Függelék<br />

A.1 Rövidítések listája<br />

MPF<br />

MPI<br />

MS-<br />

MSTT<br />

NC<br />

NCK<br />

NCU<br />

NRK<br />

NST<br />

NURBS<br />

NV<br />

OB<br />

OEM<br />

OP<br />

OPI<br />

OPT<br />

OSI<br />

P-Bus<br />

PC<br />

PCIN<br />

PCMCIA<br />

PCU<br />

PG<br />

PLC<br />

POS<br />

RAM<br />

REF<br />

REPOS<br />

RISC<br />

ROV<br />

RPA<br />

RPY<br />

RTS<br />

SBL<br />

SD<br />

SDB<br />

SEA<br />

SFB<br />

SFC<br />

SK<br />

SKP<br />

Main Program File: NC munkadarabprogram (főprogram)<br />

Multi Port Interface: Többpont-képes interfész<br />

Microsoft (szoftver gyártó)<br />

Gépkezelőhely<br />

Numerical Control: Numerikus vezérlés<br />

Numerical Control Kernel: Numerikus vezérlés-mag mondat-előkészítéssel,<br />

elmozdulási tartománnyal stb.<br />

Numerical Control Unit: NCK hardver-egysége<br />

NCK operációs rendszerének jelölése<br />

Interfész jel<br />

Non-Uniform Rational B-Spline<br />

Nullaponteltolás<br />

Szervezési modul a PLC-ben<br />

Original Equipment Manufacturer<br />

Operation Panel: Kezelőberendezés<br />

Operation Panel Interface: Kezelőtábla-csatlakozás<br />

Options: Opciók<br />

Open Systems Interconnection: szabvány számítógépes kommunikációhoz<br />

Periféria busz<br />

Personal Computer<br />

A vezérlési adatcsere szoftver neve<br />

Personal Computer Memory Card International Association: Tárolókártya szabvány<br />

PC Unit: PC-Box (számítógép egység)<br />

Programozókészülék<br />

Programmable Logic Control: Illesztő-vezérlés<br />

Pozícionáló-<br />

Random Access Memory: Programtároló, amelyet olvasni és írni lehet<br />

Referenciapontra menet funkció<br />

Repozícionálási funkció<br />

Reduced Instruction Set Computer: processzor-típus kis utasításkészlettel és gyors<br />

utasítás-végrehajtással<br />

Rapid Override: Gyorsmenet-korrekció<br />

R-Parameter Active: NCK-beli tárolótartomány<br />

az R-paraméter számokra<br />

Roll Pitch Yaw: Egy koordinátarendszer forgatásjellege<br />

Request To Send: Adórész bekapcsolása, vezérlőjel a soros adat-interfészről<br />

Single Block: egyes-mondat<br />

Beállítási adat<br />

Rendszer adatmodul<br />

Setting Data Active: Beállítási adat adatjelölése (adattípus)<br />

Rendszer funkciómodul<br />

System Function Call<br />

Softkey<br />

Skip: Mondat kihagyása<br />

Munka-előkészítés<br />

794 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Függelék<br />

A.1 Rövidítések listája<br />

SM<br />

Léptetőmotor<br />

SPF<br />

Sub Program File: Alprogram<br />

SPS<br />

Tároló-programozható vezérlés<br />

SRAM<br />

Statikus tároló (pufferelt)<br />

SRK<br />

Élsugár-korrekció<br />

SSFK<br />

Orsóemelkedési hibakompenzáció<br />

SSI<br />

Serial Synchron Interface: Soros szinkron interfész<br />

SW<br />

Szoftver<br />

SYF<br />

System Files: Rendszerfájlok<br />

TEA<br />

Testing Data Active: Jelölés a gépadatokra<br />

TO<br />

Tool Offset: Szerszámkorrekció<br />

TOA<br />

Tool Offset Active: Jelölés (fájltípus) a szerszámkorrekciókra<br />

TRANSMIT<br />

Transform Milling into Turning: Koordinátaátszámítás az esztergagépeken marásmegmunkálásra<br />

UFR<br />

User Frame: Nullaponteltolás<br />

UP<br />

Alprogram<br />

V.24 Soros interfész (a kicserélési vezetékek definíciója DEE és DÜE között)<br />

VSA<br />

Előtoló-hajtás<br />

WKZ<br />

Szerszám<br />

WLK<br />

Szerszámhossz-korrekció<br />

WOP<br />

Műhely-orientált programozás<br />

WPD<br />

Work Piece Directory: Munkadarab-könyvtár<br />

WRK<br />

Szerszámsugár-korrekció<br />

WZK<br />

Szerszámkorrekció<br />

WZW<br />

Szerszámcsere<br />

ZOA<br />

Zero Offset Active: Jelölés (fájltípus) a nullaponteltolási adatokra<br />

µC Mikro-vezérlő<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 795


Függelék<br />

A.1 Rövidítések listája<br />

Munka-előkészítés<br />

796 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Függelék<br />

A.2 Visszacsatolás a dokumentációhoz<br />

A.2 Visszacsatolás a dokumentációhoz<br />

Ezen dokumentáció a minőség és felhasználhatóság vonatkozásában állandó fejlesztés alatt<br />

van. Kérjük, segítsen nekünk azzal, hogy észrevételeit és jobbítási javaslatait elküldi E-Mailben<br />

vagy faxon:<br />

E-Mail:<br />

mailto:docu.motioncontrol@siemens.com<br />

Fax: +49 9131 - 98 2176<br />

Kérjük, használja a fax formulát a hátoldalon.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 797


Függelék<br />

A.2 Visszacsatolás a dokumentációhoz<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

798 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Függelék<br />

A.3 Dokumentáció áttekintés<br />

A.3 Dokumentáció áttekintés<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 799


Függelék<br />

A.3 Dokumentáció áttekintés<br />

Munka-előkészítés<br />

800 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

Abszolút méret<br />

Egy tengely mozgás céljának megadása egy mérettel, ami a pillanatnyilag érvényes<br />

koordinátarendszer nullapontjára vonatkozik. Lásd → láncméret.<br />

Adatátviteli program PCIN<br />

A PCIN egy segédprogram CNC felhasználói adatok, mimt pl. munkadarabprogramok,<br />

korrekciók stb. küldésére és fogadására a soros interfészen. A PCIN program MS-DOS alatt<br />

szabványos ipari PC-ken fut.<br />

Adatmodul<br />

1. A → PLC adategysége, amelyhez → HIGHSTEP programok hozzá tudnak férni.<br />

2. Az → NC adategysége: Adatmodulok adat-definíciókat tartalmaznak a globális<br />

felhasználói adatokra. Az adatok a definíciónál közvetlenül inicializálhatók.<br />

Adatszó<br />

Két bájt nagyságú adategység egy→ adatmodulban.<br />

Alap-koordinátarendszer<br />

"Cartesius"-féle koordinátarendszer, a gép-koordinátarendszerre transzformációval lesz<br />

leképezve.<br />

A → munkadarabprogramban a programozó az alap-koordinátarendszer tengelyneveit<br />

használja. Ha nincs aktív → transzformáció, akkor pár<strong>hu</strong>zamosan áll a → gépkoordinátarendszerrel.<br />

A különbség a → tengely-jelölőkben van.<br />

Alaptengely<br />

Olyan tengely, amely parancs- vagy valósértéke egy kompenzációs érték kiszámítására<br />

bevonásra kerül.<br />

Alprogram<br />

Egy → munkadarabprogram utasításainak olyan sorozata, amelyeket különböző ellátó<br />

paraméterekkel ismételten fel lehet hívni. Az alprogram felhívása a főprogramból történik.<br />

Minden alprogramot lehet védeni a jogosulatlan kiolvasástól és kijelzéstől. A → ciklusok az<br />

alprogramok egyik formája.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 801


Fogalmak<br />

Archiválás<br />

Fájlok és/vagy könyvtárak kiolvasása egy külső tároló készülékre.<br />

Aszinkron alprogram<br />

Munkadarabprogram, amely az aktív munkadarabprogramhoz aszinkronban (függetlenül)<br />

egy interruptjellel (pl. a "gyors NC-bemenet" jel) indítható.<br />

Automatika<br />

A vezérlés üzemmódja (mondatkövető menet a DIN szerint): Üzemmód NC-rendszereknél,<br />

amelyben egy → munkadarabprogram kiválasztásra és folyamatos feldolgozásra kerül.<br />

Baudrate<br />

Adatátvitel sebessége (bit/s).<br />

Beállítási-adatok<br />

Olyan adatok, amelyek a szerszámgép tulajdonságait a rendszer-szoftver által<br />

meghatározott módon közlik az NC-vezérléssel.<br />

Biztonsági funkciók<br />

A vezérlés állandóan aktív ellenőrzéseket tartalmaz, amelyek a -> CNC-ben, az illesztővezérlésben<br />

(-> PLC) és a gépben a zavarokat olyan korán felismerik, hogy a munkadarab,<br />

szerszám vagy a gép megsérülése messzemenően kizárható. Zavar esetén a megmunkálási<br />

folyamat megszakad és a hajtások leállnak, a zavar tárolásra és az vészjelzésként kiadásra<br />

kerül. Egyidejűleg közölve lesz a PLC-vel az, hogy egy CNC-vészjelzés áll fenn.<br />

Boot-olás<br />

A rendszerprogram betöltése Power On után.<br />

C tengely<br />

Tengely, amelynél egy vezérelt forgómozgás és pozicionálás történik a munkadarab-orsóval.<br />

Ciklusok<br />

Védett alprogram egy a → munkadarabon ismételten fellépő megmunkálási folyamat<br />

végrehajtására.<br />

Cím<br />

Egy cím egy bizonyos operandus vagy operandus-tartomány jelölője, pl. bemenet, kimenet stb.<br />

Munka-előkészítés<br />

802 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

CNC<br />

Lásd → NC<br />

COM<br />

Az NC-vezérlés komponensei a kommunikáció végrehajtására és koordinálására.<br />

CPU<br />

Central Processor Unit, lásd → Tároló-programozható vezérlés<br />

C-Spline<br />

A C-Spline a legismertebb és legtöbbet alkalmazott Spline. Az átmenetek a támpontokon<br />

érintő- és görbület-állandók. Harmadfokú polinomok kerülnek alkalmazásra.<br />

Csatlakozókábel<br />

A csatlakozókábelek előregyártottak ill. az alkalmazó által készített kéteres kábelek két<br />

dugasz-csatlakozóval. Ezek a csatlakozókábelek kötik össze a → CPU-t a → többpontos<br />

interfészen (MPI) a → PG-vel ill. másik CPU-kkal.<br />

Csatorna<br />

Egy csatornát az jellemez, hogy az a többi csatornától függetlenül egy<br />

→ munkadarabprogramot fel tud dolgozni. Egy csatorna exkluzív vezérli a hozzárendelt<br />

tengelyeket és orsókat. Különböző csatornák munkadarabprogram-lefutásai<br />

→ szinkronizációval koordinálhatók.<br />

Csavarvonal interpoláció<br />

A csavarvonal interpoláció különösen alkalmas külső- és belsőmenetek egyszerű<br />

előállítására forma-marással vagy kenőhorony marására.<br />

Ennél a csavarvonal két mozgásból tevődik össze:<br />

● körmozgás a síkban<br />

● egyenes-mozgás merőlegesen erre a síkra<br />

Diagnózis<br />

1. A vezérlés kezelési tartománya<br />

2. A vezérlésnek van öndiagnózis programja és a szervizhez tesztelési segítség: állapotvészjelzés-,<br />

és szervizkijelzések<br />

DRF<br />

Differential Resolver Function: NC-funkció, amely egy elektronikus kézikerékkel<br />

kapcsolatban egy növekményes nullaponteltolást állít elő automatika-üzemben.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 803


Fogalmak<br />

Egyenes-interpoláció<br />

A szerszám egy egyenesen a célponthoz megy és eközben megmunkálja a munkadarabot.<br />

Együttfutó tengely<br />

Az együttfutó tengely a → Gantry tengely, amelynek a parancspozíciója a → vezető tengely<br />

mozgásából van levezetve és azzal szinkron mozog. A kezelő és a programozó<br />

szempontjából az együttfutó tengely "nem létezik".<br />

Elő-koincidencia<br />

Mondatváltás már akkor, amikor a pályaút egy megadott különbséggel megközelített a<br />

végpozíciót.<br />

Előtolás-override<br />

A programozott sebesség a → gépi vezérlőtáblán keresztül vagy a → PLC-től az aktuális<br />

sebességgel átlapolódik (0-200 %). Az előtolás-sebességet kiegészítőleg a megmunkálási<br />

programban egy programozható százalék-tényezővel (1-200 %) helyesbíteni lehet.<br />

Elővezérlés, dinamikus<br />

A → kontúrnak a követési távolságból fakadó pontatlanságait a dinamikus, gyorsulásfüggő<br />

elővezérléssel közel meg lehet szüntetni. Ezáltal nagy → pályasebességeknél is kiváló<br />

megmunkálási pontosság adódik. Az elővezérlést a → munkadarabprogramban csak az<br />

összes tengelyre együtt lehet be- ill. kikapcsolni<br />

Felhasználó által definiált változók<br />

A felhasználók a → munkadarabprogramban vagy adatmodulokban (globális felhasználói<br />

adatok) való tetszőleges használatra létrehozhatnak a felhasználó által definiált változókat.<br />

Egy definíció az adattípus megadását és a változónevet tartalmazza. Lásd<br />

→ rendszerváltozók.<br />

Felhasználói program<br />

A felhasználói programok az S7-300-as automatizálási rendszerekre a STEP 7<br />

programnyelvben vannak elkészítve. A felhasználói program modulárisan van felépítve és<br />

egyes modulokból áll.<br />

Az alapvető modultípusok a következők:<br />

● Kód-modul<br />

Ezek a modulok tartalmazzák a STEP-7 utasításokat.<br />

● Adatmodulok<br />

Ezek a modulok tartalmazzák a STEP-7 programok változóit és állandóit.<br />

Munka-előkészítés<br />

804 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

Felhasználói tároló<br />

Minden program és adat, mint munkadarabprogramok, alprogramok, kommentárok,<br />

szerszámkorrekciók, nullaponteltolások/ framek továbbá csatorna és program felhasználói<br />

adatok a közös CNC felhasználói tárolóban eltárolhatók.<br />

Ferde megmunkálás<br />

Fúró- és marómegmunkálásokat olyan munkadarabokon, amelyek nem a gép<br />

koordinátasíkjában fekszenek, a "ferde megmunkálás" segítségével lehet kényelmesen<br />

végrehajtani.<br />

Fixpontra menet<br />

Szerszámgépek rá tudnak menni megadott fixpontokra, mint pl. szerszámcsere-pont,<br />

betöltőpont, paletta-cserepont stb. Ezen pontok koordinátái a vezérlésben vannak letéve.<br />

A vezérlés mozgatja az illető tengelyeket, ha lehetséges → gyorsmenetben.<br />

Forgatás<br />

Egy → frame olyan komponensei, amelyek a koordinátarendszernek egy bizonyos szöggel<br />

történő elforgatását definiálják.<br />

Föld<br />

Föld a berendezés egymással összekötött nem aktív részeinek összessége, ami még hiba<br />

esetén sem lehet veszélyes érintési feszültségű.<br />

Főmondat<br />

Egy ":" által bevezetett mondat, amely az összes adatot tartalmazza arra, hogy a<br />

munkafolyamatot egy → munkadarabprogramban indítani lehessen.<br />

Főprogram<br />

Számmal vagy jelölővel megjelölt → munkadarabprogram, amelyben további főprogramokat,<br />

alprogramokat vagy → ciklusokat lehet felhívni.<br />

Frame<br />

Egy frame egy olyan számítási előírás, amely egy "Cartesius"-féle koordinátarendszert egy<br />

másik "Cartesius"-féle koordinátarendszerbe átvezet. Egy Frame a → nullaponteltolás,<br />

→ forgatás, → skálázás, → tükrözés komponenseit tartalmazza.<br />

Geometria<br />

Egy → munkadarab leírása a → munkadarab-koordinátarendszerben.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 805


Fogalmak<br />

Geometria-tengely<br />

A geometria-tengelyek egy 2- vagy 3-dimenziójú tartomány leírására szolgálnak a<br />

munkadarab-koordinátarendszerben.<br />

Gép-fixpont<br />

A szerszámgép által egyértelműen meghatározott pont, pl. gép-referenciapont.<br />

Gépkezelőhely<br />

A szerszámgép kezelőtáblája a billentyűk, forgókapcsolók stb. kezelő-elemekkel és<br />

egyszerű kijelző-elemekkel, mint pl. LED-ek. Ez a szerszámgép PLC-n keresztüli közvetlen<br />

befolyásolására szolgál.<br />

Gép-koordinátarendszer<br />

Koordinátarendszer a szerszámgép tengelyeire vonatkoztatva.<br />

Gép-nullapont<br />

A szerszámgép azon fix pontja, amelyre az összes (levezetett) mérőrendszer<br />

visszavezethető.<br />

Géptengelyek<br />

A szerszámgépen fizikailag létező tengelyek.<br />

Görbület<br />

Egy kontúr k görbülete a kontúrpontra illeszkedő kör r sugarának a reciproka (k = 1/r).<br />

Gyors digitális be-/kimenetek<br />

A digitális bemeneteken keresztül pl. gyors CNC program-rutinok (interrupt-rutinok)<br />

indíthatók. A digitális CNC-kimeneteken keresztül gyors, programvezérelt kapcsolási<br />

funkciók válthatók ki (SINUMERIK 840D).<br />

Gyors leemelés a kontúrról<br />

Egy interrupt megérkezésénél a CNC-megmunkálási programon keresztül egy mozgás<br />

indítható el, amely lehetővé teszi a szerszám gyors leemelését az éppen megmunkált<br />

munkadarab-kontúrról. Kiegészítőleg a visszameneteli szög és az út értéke<br />

paraméterezhető. Gyors leemelés után kiegészítőleg egy interrupt-routine hajtható végre<br />

(SINUMERIK 840D).<br />

Munka-előkészítés<br />

806 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

Gyorsítás rántás-határolással<br />

A gépen egy optimális gyorsítás-viselkedés elérésére, s egyidejűleg a mechanika<br />

kímélésére a megmunkálási programban ugrásszerű gyorsítás és folyamatos (rántásnélküli)<br />

gyorsítás között át lehet kapcsolni.<br />

Gyorsmenet<br />

Egy tengely leggyorsabb menet sebessége. Ez pl. akkor kerül alkalmazásra, ha a<br />

szerszámnak egy nyugalmi állásból rá kell a→ munkadarab-kontúrra mennie vagy vissza kell<br />

húzódnia a munkadarab-kontúrról. A gyorsmeneti sebesség gép-specifikusan gépadattal van<br />

beállítva.<br />

Hajtás<br />

A hajtás a CNC-nek az a része, amelyik a fordulatszám- és nyomaték-szabályozást az NC<br />

utasításai alapján végrehajtja.<br />

Hálózat<br />

A hálózat több S7-300 és további végberendezések, pl.: PG összeköttetése<br />

→ csatolókábellel. A hálózaton történik az összekötött készülékek között az adatcsere.<br />

Határfordulatszám<br />

Maximális/minimális (orsó-)fordulatszám: A → PLC vagy a → beállítási adatok gépadat előre<br />

megadásával egy orsó maximális fordulatszáma behatárolható.<br />

HIGHSTEP<br />

A programozási lehetőségek összefoglalása az AS300/AS400 rendszer→ PLC-jére.<br />

Hüvelyk mértékrendszer<br />

Olyan mértékrendszer, amely a távolságokat "hüvelykben" és annak tört részeiben definiálja.<br />

Időreciprok előtolás<br />

A SINUMERIK 840D-nél a tengelymozgásokhoz az előtolási sebesség helyett az időt is lehet<br />

programozni, amire a mondatban a pályaút megtételéhez szükség van (G93).<br />

Interpolátor<br />

Az → NCK azon logikai egysége, amely a célpozíciók adatai szerint a<br />

munkadarabprogramban az egyes tengelyekben megteendő mozgások közbenső értékeit<br />

határozza meg.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 807


Fogalmak<br />

Interpolatorikus kompenzáció<br />

Az interpolatorikus kompenzáció segítségével a gyártástól függő orsóemelkedési hibákat<br />

(SSFK) és mérőrendszer hibákat (MSFK) kompenzálni lehet (Spindelsteigungsfehler és<br />

Messsystemfehler kompensation).<br />

Interrupt rutinok<br />

Az Interrupt rutinok speciális → alprogramok, amelyeket a megmunkálási folyamat<br />

eseményei (külső jelek) indíthatnak. A megmunkálásban levő munkadarabprogram<br />

megszakításra kerül, a tengelyek megszakítási pozíciói automatikusan tárolódnak.<br />

Jelentések<br />

Az összes a munkadarabprogramban programozott jelentés és a rendszer által felismert<br />

→ vészjelzés a kezelőtáblán szöveggel, a dátum és idő és a törlési ismérv megfelelő<br />

szimbólumának megadásával kijelzésre kerül. A vészjelzések és a jelentések kijelzése külön<br />

történik.<br />

Jelölő<br />

A DIN 66025 szerinti szavak a változókra (számítási változók, rendszerváltozók, felhasználói<br />

változók), az alprogramokra, a kulcsszavakra és szavakra jelölők által (nevek) több<br />

címbetűvel kiegészülnek. Ezek a kiegészítések jelentésükben azonosak a szavakéval a<br />

mondatfelépítésben. Jelölőknek egyértelműeknek kell lenniük. Ugyanazt a jelölőt nem<br />

szabad különböző objektumokra alkalmazni.<br />

JOG<br />

A vezérlés üzemmódja (beállító üzem): A JOG üzemmódban be lehet a gépet állítani.<br />

Az egyes tengelyeket és orsókat az iránybillentyűk segítségével pillanatindítós üzemben el<br />

lehet mozgatni. A JOG üzemmód további funkciói a → referenciapontra menet, → Repos<br />

valamint → Preset (valósérték beállítás).<br />

Készdarab-kontúr<br />

A készre megmunkált munkadarab kontúrja. Lásd → nyersdarab.<br />

Kezelőfelület<br />

A kezelőfelület (BOF) egy CNC-vezérlés kijelző eszköze egy képernyő formájában.<br />

Ez függőleges és vízszintes softkey-kkel van kialakítva.<br />

Kompenzációs érték<br />

A mérőadó által mért tengelypozíció és a kívánt, programozott tengely-pozíció különbsége.<br />

Munka-előkészítés<br />

808 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

Kompenzációs táblázat<br />

Támpontok táblázata. A bázistengely kiválasztott pozícióira a kompenzációs tengely<br />

kompenzációs értékeit adja.<br />

Kompenzációs tengely<br />

Olyan tengely, amely parancs- vagy valósértéke egy kompenzációs értékkel módosul.<br />

Kontúr<br />

A → munkadarab körvonala<br />

Kontúrfelügyelet<br />

A kontúrhűségre méretként egy meghatározott tűréssávon belül a követési hiba felügyelve<br />

lesz.. Egy nem megengedetten nagy követési hiba pl. a hajtás túlterhelése következtében<br />

adódhat. Ebben az esetben egy vészjelzés keletkezik és a tengelyek le lesznek állítva.<br />

Koordinátarendszer<br />

Lásd → gép-koordinátarendszer, → munkadarab-koordinátarendszer<br />

Korrekció-tároló<br />

A vezérlés adattartománya, amelyben szerszámkorrekció-adatok kerülnek tárolásra.<br />

Körinterpoláció<br />

A → szerszámnak a kontúr meghatározott pontjai között egy megadott előtolással egy körön<br />

kell mozognia és eközben a munkadarabot meg kell munkálnia.<br />

Körtengely<br />

Körtengelyek egy munkadarab- vagy szerszám-elforgatást valósítanak meg egy előre<br />

megadott szöghelyzetbe.<br />

Közbenső mondatok<br />

Elmozdulásokat kiválasztott → szersuzámkorrekcióva (G41/G42) csak egy korlátozott számú<br />

közbenső mondattal (mondatok tengelymozgások nélkül a korrekciós síkban) szabad<br />

megszakítani, hogy a szerszámkorrekció még megfelelően legyen kiszámítva. A közbenső<br />

mondatok megengedett száma, amelyeket a vezérlés előre beolvas, rendszerparaméterrel<br />

állítható be.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 809


Fogalmak<br />

Kulcsoskapcsoló<br />

A kulcsoskapcsoló a → gépi kezelőhelyen 4 állással rendelkezik, amelyeket a vezérlés<br />

operációs rendszere funkciókkal látott el. A kulcsoskapcsolóhoz három különböző színű<br />

kulcs tartozik, amelyek a megadott állásokban húzhatók ki.<br />

Kulcsszavak<br />

Meghatározott írásmódos szavak, amelyeknek a programozói nyelven a<br />

→ munkadarabprogram számára egy meghatározott jelentésük van.<br />

KÜ<br />

Áttételi viszony<br />

Külső nullaponteltolás<br />

A → PLC által megadott nullaponteltolás.<br />

KV<br />

Körerősítési tényező, egy szabályzókör szabályozástechnikai értéke<br />

Láncméret<br />

Növekmény-méret is Egy tengely mozgáscéljának megadása egy megteendő útszakasszal<br />

és iránnyal egy már elért pontra vonatkoztatva. Lásd → abszolút-méret<br />

Lazaság kompenzáció<br />

A mechanikus lazaság kiegyenlítésére szolgál, pl. a golyósorsók irányváltási hibájára.<br />

Minden tengelyre meg lehet külön adni a lazaság kompenzációt<br />

Lépésmérték<br />

Elmozdulási úthossz-megadás a növekmény-számmal (lépésmérték) A növekmény-szám<br />

→ beállításiadatként eltárolható ill. megfelelően feliratozott billentyűkkel (10, 100, 1000, 10 000)<br />

kiválasztható.<br />

Lineáris tengely<br />

A lineáris tengely egy olyan tengely, amely a körtengellyel szemben egy egyenest ír le.<br />

Look Ahead<br />

A Look Ahead funkcióval az elmozdulási mondatoknak egy paraméterezhető számán<br />

keresztüli "előtekintése" által optimális megmunkálási sebesség érhető el.<br />

Munka-előkészítés<br />

810 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

Magasszintű CNC nyely<br />

A magasszintű nyelv nyújtja: → felhasználó által definiált változókat, → rendszerváltozókat,<br />

→ makrótechnikát.<br />

Makrotechnika<br />

Az utasítások sorának összefoglalása egy jelölő alatt. A jelölő a programban az összefoglalt<br />

utasítások összességét képviseli.<br />

MDA<br />

A vezérlés üzemmódja: Manual Data Automatic. Az MDA-üzemmódban egyes<br />

programmondatok vagy mondat-sorozatok egy fő- vagy alprogram hivatkozás nélkül<br />

beadhatók és utána az NC-Start billentyűvel azonnal végrehajthatók.<br />

Megmunkálási csatorna<br />

Egy csatorna-felépítésen keresztül pár<strong>hu</strong>zamos mozgáslefolyásokkal a mellékidők<br />

lerövidíthetők, pl. egy töltőportál elmozgatása a megmunkáláshoz szimultán. Egy CNCcsatorna<br />

egy önálló CNC-vezérlésként tekintendő dekódolással, mondatelőkészítéssel és<br />

interpolációval.<br />

Mellékmondat<br />

"N" által bevezetett mondat információkkal egy munkaszakaszra, pl. egy pozíció megadás.<br />

Menetfúrás kiegyenlítő tokmány nélkül<br />

Ezzel a funkcióval menetet tudunk kiegyenlítő-tokmány nélkül fúrni. Az orsó körtengelykénti<br />

és a fúrótengely interpoláló elmozdulása által a menetek pontosan a végfúrás-mélységre<br />

vágódnak, pl. zsáklyuk-furatos menet (előfeltétel: az orsó tengelyüzeme).<br />

Méretmegadás metrikus és hüvelyk<br />

A megmunkálási programban a pozíció és emelkedési értékek hüvelykben programozhatók.<br />

A programozható méretmegadástól függetlenül (G70/G71) a vezérlés egy alap<br />

méretrendszerre állítható be.<br />

Metrikus mértékrendszer<br />

Az egységek szabványosított rendszere: hosszakra pl. mm (milliméter), m (méter).<br />

Modul<br />

Modulnak nevezzük az összes fájlt, amelyekre a program előállításához és feldolgozásához<br />

szükség van.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 811


Fogalmak<br />

Mondatkeresés<br />

A munkadarabprogramok teszteléséhez vagy a megmunkálás megszakítása után a<br />

"Mondatkeresés" funkción keresztül a munkadarabprogram tetszőleges része felhívható,<br />

ahol a megmunkálást folytatni akarjuk.<br />

Mozgási tartomány<br />

A maximálisan megengedett mozgási taromány lineáris tengelyeknék ± 9 dekád. Az<br />

abszolút érték függ a választott beadási és helyzetszabályozási felbontástól és a<br />

mértékrendszertől (hüvelyk vagy metrikus).<br />

Munkadarab<br />

A szerszámgép által előállítandó /megmunkálandó darab.<br />

Munkadarab-kontúr<br />

Az előállítandó /megmunkálandó → munkadarab parancs kontúrja.<br />

Munkadarab-koordinátarendszer<br />

A munkadarab-koordinátarendszer kiindulópontja a → munkadarab-nullapontban van.<br />

A munkadarab-koordinátarendszerben történő programozásnál a méretek és irányok erre a<br />

rendszerre vonatkoznak.<br />

Munkadarab-nullapont<br />

A munkadarab-nullapont a → munkadarab-koordinátarendszer kiindulópontját képezi. Ezt a<br />

→ gépi nullaponthoz megadott távolságokkal kell meghatározni.<br />

Munkadarabprogram<br />

Olyan utasítások sora az NC-vezérlésre, amelyek összesen egy meghatározott →<br />

munkadarab előállítását eredményezik. Ugyancsak egy adott → nyersdarabon egy<br />

meghatározott megmunkálás végrehajtása.<br />

Munkadarabprogram kezelés<br />

A munkadarabprogram kezelést a → munkadarabok szerint lehet szervezni. A felhasználói<br />

tároló nagysága meghatározza a kezelendő programok és adatok számát. Minden fájlt<br />

(programok és adatok) egy max. 24 alfanumerikus jelből álló névvel lehet ellátni.<br />

Munkadarabprogram mondat<br />

Egy → munkadarabprogram része, Line Feed-del határolva. Különbséget teszünk<br />

→ főmondatok és → mellékmondatok között.<br />

Munka-előkészítés<br />

812 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

Munkatároló<br />

A munkatároló egy RAM-tároló a → CPU-ban, amelyben a processzor a programfeldolgozás<br />

alatt az felhasználói programhoz hozzáfér.<br />

Munkatér<br />

Háromdimenziós tér, amelybe a szerszámcsúcs a szerszámgép szerkezete alapján be tud<br />

menni. Lásd → Védőtartomány.<br />

Munkatér-határolás<br />

A munkatér-határolással a tengelyek elmozdulási tartományát a végkapcsolókhoz<br />

kiegészítőleg be lehet határolni. Tengelyenként a védett munkatér leírására egy érték-pár<br />

lehetséges.<br />

NC<br />

Numerical Control: Az NC-vezérlés a szerszámgép-vezérlés összes komponensét magába<br />

foglalja: → NCK, → PLC, HMI, → COM.<br />

Megjegyzés<br />

A SINUMERIK 840D vezérlésekre a CNC-vezérlés megfelelőbb lenne: Computerized<br />

Numerical Control.<br />

NCK<br />

Numerical Control Kernel: Az NC-vezérlés azon komponense, amely→<br />

munkadarabprogramokat dolgoz fel és lényegében koordinálja a szerszámgép mozgási<br />

folyamatait.<br />

Négyzetes hibakompenzáció<br />

Az a kontúrhiba a térnegyed-átmeneteken, amely a vezetőpályákon a váltakozó súrlódási<br />

viszonyok által keletkezik, a négyzetes hibakompenzáció messzemenően megszüntethető.<br />

A négyzetes hibakompenzáció paraméterezése egy körforma-teszteléssel történik.<br />

NRK<br />

Numeric Robotic Kernel (→ NCK operációs rendszere)<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 813


Fogalmak<br />

Nullaponteltolás<br />

Egy új vonatkoztatási pont megadása egy koordinátarendszerhez egy meglevő nullapontra<br />

és egy → frame-re történő vonatkoztatással.<br />

1. Beállítható<br />

SINUMERIK 840D: Minden CNC-tengelyre egy megadható számú beállítható<br />

nullaponteltolás áll rendelkezésre. A G-funkciókon keresztül felhívható eltolások<br />

alternatívan hatnak.<br />

2. Külső<br />

Az összes, a munkadarab-nullapont helyzetét meghatározó eltoláshoz kiegészítőleg egy<br />

külső nullaponteltolás kézikerékkel (DRF-eltolás) vagy a PLC-től átlapoltan valósítható<br />

meg.<br />

3. Programozható<br />

A TRANS utasítással az összes pálya- és pozicionáló tengelyre nullaponteltolások<br />

programozhatók.<br />

NURBS<br />

A vezérlésen belüli mozgásvezetés és pályainterpoláció NURBS (Non Uniform Rational<br />

B-Splines) bázisán kerül végrehajtásra Ezzel a SINUMERIK 840D vezérlésen belül az<br />

összes interpolációra egy egységes módszer áll rendelkezésre.<br />

Nyersdarab<br />

Az a darab, amellyel egy munkadarab megmunkálása elkezdődik.<br />

OEM<br />

Azon gépgyártók részére, akik a saját kezelői felületüket állítják elő vagy technológiaspecifikus<br />

funkciókat akarnak a vezérlésbe bevinni, a SINUMERIK 840D-beni egyéni<br />

megoldásokra (OEM-applikációk) szabad lehetőség van biztosítva.<br />

Orsóemelkedés-hibakompenzáció<br />

Egy az előtolásban résztvevő golyósorsó mechanikus pontatlanságainak a vezérlés általi<br />

kiegyenlítése a tárolt eltérési mérésértékek alapján.<br />

Osztótengely<br />

A osztótengelyek egy munkadarab- vagy szerszámelforgatást hoznak egy osztóraszternek<br />

megfelelő szöghelyzetbe. Egy raszter elérésénél az osztótengely "pozícióban van“.<br />

Override<br />

Kézi ill. programozható beavatkozási lehetőség, amely a kezelő részére lehetővé teszi a<br />

programozott előtolások vagy fordulatszámok befolyásolását azért, hogy egy meghatározott<br />

munkadarabhoz vagy anyagra illeszteni tudja.<br />

Munka-előkészítés<br />

814 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

Pályaelőtolás<br />

A pályaelőtolás a -> pályatengelyekre hat. Ez a résztvevő → geometria-tengelyek<br />

előtolásainak geometriai összege.<br />

Pályasebesség<br />

A maximálisan programozható pályasebesség a beadás-felbontástól függ.<br />

Például 0,1 mm-es felbontásnál a maximálisan programozható pályasebesség 1000 m/perc.<br />

Pályatengely<br />

Pályatengelyek a → csatorna összes azon megmunkálási tengelyei, amelyeket az<br />

→ interpolátor úgy vezet, hogy egyidőben indulnak, gyorsítanak, megállnak és érik el a<br />

végpontjukat .<br />

Pályavezérlő-üzem<br />

A pályavezérlő-üzem célja az, hogy megakadályozza a → pályatengelyek<br />

munkadarabprogram-mondatvégeken történő nagyobb lefékezését, s annak biztosítását,<br />

hogy a következő mondatra történő váltás lehetőleg azonos pályasebességgel történjék.<br />

Periféria-modul<br />

Periféria-modulok a CPU és a folyamat közötti kapcsolatot hozzák létre.<br />

Periféria-modulok:<br />

● → digitális be-/kiadási egységek<br />

● → analóg be-/kiadási egységek<br />

● → szimulátor-egységek<br />

PLC<br />

Programmable Logic Control: → Tároló-programozható vezérlés Az→NC komponense:<br />

Illesztő-vezérlés a szerszámgép vezérlő logikájának feldolgozásához<br />

PLC programozás<br />

A PLC programozása a STEP 7 szoftverrel történik A STEP 7 programozó szoftver a<br />

WINDOWS operációs rendszerre épül és a STEP 5 programozás funkcióinak innovatív<br />

továbbfejlesztése.<br />

PLC programtároló<br />

SINUMERIK 840D: A PLC felhasználói tárolóban a PLC felhasználói programok és a<br />

felhasználói adatok a PLC-alapprogrammal együtt vannak tárolva.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 815


Fogalmak<br />

Polár-koordináták<br />

Koordinátarendszer, amely egy pont helyzetét egy síkban annak a nullaponttól lévő<br />

távolságával és azzal a szöggel határozza meg, amelyet a sugárvektor egy meghatározott<br />

tengellyel képez.<br />

Polinom interpoláció<br />

A polinom interpolációval különféle görbéket lehet létrehozni, mint egyenes-, parabola-,<br />

hatványfüggvények (SINUMERIK 840D).<br />

Pontos állj<br />

Programozott pontos-állj utasításnál az egy mondatban megadott pozícióra pontosan és<br />

szükség esetén nagyon lassan történik rámenetel. A megközelítési idő lecsökkentésére a<br />

gyorsmenetre és az előtolásra → pontos-állj határok definiálhatók.<br />

Pontos-állj határ<br />

Ha az összes pályatengely elérte a pontos-állj határát, akkor a vezérlés úgy viselkedik,<br />

mintha egy célpontot pontosan elért volna. Egy mondat-továbbkapcsolás történik a<br />

→ munkadarabprogramban.<br />

Pozicionáló tengely<br />

Tengely, amely egy segédmozgást hajt végre egy szerszámgépen. (pl. szerszám-tár,<br />

paletta-szállítás). Pozicionáló tengelyek olyan tengelyek, amelyek a → pályatengelyekkel<br />

nem interpolálnak.<br />

Programmodul<br />

Programmodulok tartalmazzák a → munkadarabprogramok fő- és alprogramjait.<br />

Programozási kulcs<br />

Jelek és jelsorozatok, amelyeknek a programozási nyelven a → munkadarabprogramra egy<br />

meghatározott jelentőséggel bírnak.<br />

Programozható frame-k<br />

Programozható → frame-kkel dinamikusan a munkadarabprogram-feldolgozása alatt új<br />

koordinátarendszer-kiindulási pontok definiálhatók. Egy az új frame alapján történő abszolút<br />

meghatározást és az egy fennálló kiindulási pontra vonatkozó additív meghatározást<br />

különböztetünk meg.<br />

Programozható munkatér-határolás<br />

A szerszám mozgásterének behatárolása egy programozható határolásokkal definiált<br />

térben.<br />

Munka-előkészítés<br />

816 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

Pufferelem<br />

A pufferelem biztosítja, hogy a → felhasználói program a → CPU-ban hálózat kimaradás<br />

biztosan van tárolva és a meghatározott adattartományok tárolók, időzítések és számlálók<br />

megmaradnak.<br />

Referenciapont<br />

A szerszámgép azon pontja, amelyre a→ géptengelyek mérőrendszere vonatkozik.<br />

Rendszer-tároló<br />

A rendszer-tároló egy tároló a CPU-ban, amelyikben a következő adatok vannak elhelyezve:<br />

● adatok, a melykre az operációs rendszernek van szüksége<br />

● időzítés, számláló, jelölő operandusok<br />

Rendszerváltozók<br />

A programozó cselekedete nélkül egy → munkadarabprogram létező változója. Ezt egy<br />

adattípus és a$ jellel bevezetett változónév határozza meg. Lásd → Felhasználó által<br />

definiált változók.<br />

R-paraméter<br />

Számítási paraméter, amelyet a→ munkadarabprogram programozója tetszőleges célokra a<br />

programban be tud állítani vagy le tud kérdezni.<br />

Sebesség-vezetés<br />

Annak érdekében, hogy a mondatonkénti nagyon kis értékek elmozdulására egy elfogadható<br />

elmozdulási sebességet érhessünk el, be lehet állítani a több mondaton keresztüli előrelátó<br />

kiértékelést (→ Look Ahead).<br />

Segédfunkciók<br />

Segédfunkciókkal a → munkadarabprogramokban → paramétereket lehet a → PLC-nek<br />

átadni, amelyek ott a gépgyártó által meghatározott reakciókat váltják ki.<br />

Skálázás<br />

Egy → frame komponense, amely a tengelyspecifikus mérték-változásokat okoz.<br />

Softkey<br />

Billentyű, amely feliratozása a képernyőn egy olyan mező, ami dinamikusan illesztődik az<br />

aktuális kezelői helyzetre. A szabadon felhasználható funkciós billentyűk (softkey-k) szoftver<br />

által definiált funkciókhoz lesznek hozzárendelve<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 817


Fogalmak<br />

Soros V.24 interfész<br />

Az adatok be- és kiadására a PCU 20-on egy soros V.24 interfész (RS232), a PCU 50/70-en<br />

két soros V.24 interfész van. Ezeken az interfészeken keresztül lehet a<br />

megmunkálóprogramokat, továbbá a gyártói és az alkalmazói adatokat be- ill. kiadni.<br />

Spline interpoláció<br />

A Spline-interpolációval a vezérlés egy parancs kontúr csak néhány, előre megadott<br />

támpontjaiból egy sima görbelefolyást tud előállítani.<br />

Szabvány ciklusok<br />

A gyakran ismétlődő megmunkálási feladatokra szabványciklusok állnak rendelkezésre:<br />

● a fúrás/marás technológiára<br />

● az esztergályozási technológiára<br />

A "Program" kezelői tartományban a "Ciklustámogatás" menü alatt a rendelkezésre álló<br />

ciklusok listája látható. A kívánt megmunkálási ciklus kiválasztása után az értékhozzárendeléshez<br />

szükséges paraméterek szöveggel kijelzésre kerülnek és értékekkel<br />

láthatók el.<br />

Szekesztő<br />

A szerkesztő lehetővé teszi programok /szövegek /programmondatok előállítását,<br />

megváltoztatását, kiegészítését, összefűzését és betoldását.<br />

Szerszám<br />

A munkadarab megmunkálásához szükséges szerszám (pl. esztergakés, maró, fúró,<br />

köszörűkő, lézersugár ...).<br />

Szerszámkorrekció<br />

A szerszám méreteinek figyelembe vétele a pálya kiszámításánál.<br />

Szerszámsugár-korrekció<br />

Egy kívánt → munkadarab-kontúr közvetlen programozásához a vezérlésnek az alkalmazott<br />

szerszám sugarának figyelembevételével egy ekvidisztáns pályán kell a programozott<br />

kontúrhoz elmennie (G41/G42).<br />

Munka-előkészítés<br />

818 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

Szinkron-akciók<br />

1. Segédfunkció-kiadás<br />

A munkadarab megmunkálása alatt a CNC-programból technológiai funkciók<br />

(→ segédfunkciók) adhatók ki a PLC-nek. Ezekkel a segédfunkciókkal pl. a szerszámgép<br />

kiegészítő berendezései vezérelhetők, mint pl. a csúcstámasz, markoló, szorítótokmány,<br />

stb.<br />

2. Gyors segédfunkció-kiadás<br />

Időkritikus kapcsolási funkciókra a → segédfunkciók nyugtázási időit minimálni lehet és<br />

ezzel ki lehet kerülni a megmunkálási folyamatban szükségtelen megállás-pontokat.<br />

Szinkronizáció<br />

Utasítások meghatározott megmunkálási helyeknek a → munkadarab-programokban a<br />

különböző→ csatorna folyamatok koordinálására.<br />

Szinkrontengelyek<br />

A szinkrontengelyek útjára ugyanazt az idő szükséges, mint a geometria-tengelyek a<br />

pályaútjára.<br />

Szoftver végálláskapcsoló<br />

A szoftver végálláskapcsolók egy tengely elmozdulási tartományát határolják be, és<br />

megakadályozzák a szánnak a hardver-végálláskapcsolóra történő rámenetelét.<br />

Tengelyenként 2 értékpár adható előre meg, amelyek elválasztva a → PLC-n keresztül<br />

aktiválhatók.<br />

Szöveg szerkesztő<br />

Lásd → Szerkesztő<br />

Tájolt orsó-állj<br />

A munkadarab-orsó megállása az előre megadott szöghelyzetben, pl. azért, hogy egy<br />

meghatározott helyen egy kiegészítő megmunkálást hajthassunk végre.<br />

Tájolt szerszám-visszahúzás<br />

RETTOOL: Megmunkálás-megszakításoknál (pl. szerszámtörésnél) a szerszám programozott<br />

utasítással előre megadható orientálással egy meghatározott úttal visszahúzható.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 819


Fogalmak<br />

Tároló-programozható vezérlés<br />

A tároló programozható vezérlések (SPS) elektronikus vezérlések, amelyek funkciói<br />

programként vannak a vezérlésben tárolva. A készülék felépítése és <strong>hu</strong>zalozása tehát nem<br />

függ a vezérlés funkciójától. A tároló programozható vezérlésnek a számítógépnek<br />

megfelelő struktúrája van és a következőkből tevődik ösze: CPU (központi egység) tárolóval,<br />

be- /kimeneti modulok és belső buszrendszer A perifériák és a programozási nyelv a<br />

vezérléstechnika követelményei szerint vannak kialakítva.<br />

Teljes törlés<br />

A teljes törlésnél a → CPU következő tárolói törlődnek:<br />

● → munkatároló<br />

● → töltőtároló irás /olvasás tartománya<br />

● → rendszertároló<br />

● → mentéstároló<br />

Tengelycím<br />

Lásd → tengely-jelölő.<br />

Tengelyek<br />

A CNC tengelyek a funkció-terjedelmüknek megfelelően vannak osztályozva:<br />

● Tengelyek: interpoláló pályatengelyek<br />

● Segédtengelyek: nem interpoláló fogásvételi és pozícionáló tengelyek tengely-specifikus<br />

előtolással. A segédtengelyek a tulajdonképpeni megmunkálásban nem vesznek részt,<br />

pl. szerszám-mozgató, szerszámtár.<br />

Tengely-jelölő<br />

A tengelyek jelölése a DIN 66217 szerint egy jobb-sodrású, derékszögű<br />

→ koordinátarendszer számára X, Y, Z.<br />

Az X, Y, Z körül forgó → körtengelyek jelölője az A, B, C. A megadottakkal pár<strong>hu</strong>zamos<br />

további tengelyeket további cím-betűkkel lehet jelölni.<br />

Tengelynév<br />

Lásd → tengely-jelölő.<br />

TOA–egység<br />

Minden → TOA-tartomány több TOA-egységet tartalmazhat. A lehetséges TOA-egységek<br />

számát az aktív → csatornák maximális száma határolja. Egy TOA-egység pontosan egy<br />

szerszámdat-modult és egy táradat-modult tartalmaz. Ezen kívül tartalamazhat még egy<br />

szerszámtartó-adatmodult (opció).<br />

Munka-előkészítés<br />

820 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Fogalmak<br />

TOA–tartomány<br />

A TOA–tartomány átfogja az összes szerszám- és táradatot. Általában ez a tartomány az<br />

adatok hatásköre szempontjából egybeesik a → csatorna tartománnyal. Azonban<br />

gépadatokkal meg lehet adni, hogy több csatorna osztozzon egy → TOA-egységen, így<br />

ezeknek a csatornáknak közös szerszámadatok állnak rendelkezésre.<br />

Töltőtároló<br />

A töltőtároló a → PLC CPU 314-nél azonos a → munkatárolóval.<br />

Transzformáció<br />

Egy tengely additív vagy abszolút nullaponteltolása.<br />

Tükrözés<br />

Tükrözésnél egy kontúr koordináta-értékeinek előjelei egy tengelyhez viszonyítva<br />

megcserélődnek. Egyidejűleg több tengelyre vonatkoztatottan lehet tükrözni.<br />

Üzemmód<br />

Egy SINUMERIK vezérlés üzemének kezelési koncepciója. A → Jog, → MDA, → Automatika<br />

üzemmódok vannak meghatározva.<br />

Üzemmód-csoport<br />

A technológiailag összetartozó tengelyeket és orsókat össze kehet foglalni egy üzemmódcsoportba<br />

(BAG). Egy BAD tengelyeit/orsóit egy vagy több → csatorna vezérelheti. A BAG<br />

csatornáihoz mind ugyanaz az → üzemmód van hozzárendelve.<br />

Vágóélsugár-korrekció<br />

A kontúr programozásánál egy hegyes szerszámból indulnak ki. Mivel ez a gyakorlatban<br />

nem valósítható meg, az alkalmazott szerszám görbületi sugarát meg kell adni a<br />

vezérlésnek és az azt figyelembe veszi. Ennél a görbületi középpont a görbületi sugárral<br />

eltolva a kontúrtól azonos távolságra lesz vezetve.<br />

Változó definíció<br />

Egy változó definíció egy adattípus és egy változónév meghatározást foglal magába.<br />

A változó-névvel a változó értékéhez hozzá lehet férni.<br />

Védőtér<br />

Háromdimenziós tér a munkatéren belül, ahova nem érhet el a szerszám csúcsa.<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 821


Fogalmak<br />

Vészjelzések<br />

Összes → A jelentések és vészjelzések a kezelőhelyen szövegesen dátummal és idővel és<br />

törlési kritérium megfelelő szimbólumával vannak kijelezve. A vészjelzések és a jelentések<br />

kijelzése külön történik.<br />

1. Vészjelzések és jelentések a munkadarabprogramban.<br />

A vészjelzéseket és a jelentéseket a munkadarabprogramból közvetlenül ki lehet<br />

jeleztetni.<br />

2. Vészjelzések és jelentések a PLC-től<br />

A gép vészjelzéseit és jelentéseit a PLC programból közvetlenül ki lehet jeleztetni. Ehhez<br />

nem szükséges külön funkciómodul csomag.<br />

Vezető tengely<br />

A vezető tengely a → Ganrty tengely, amelyik a kezelő és a programozó szempontjából<br />

létezik és ennek megfelelően normál NC tengelyként befolyásolható.<br />

WinSCP<br />

WinSCP egy szabadon felhasználható nyitott forráskódú program Windows-hoz a fájlok<br />

átviteléhez.<br />

Munka-előkészítés<br />

822 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Index<br />

$<br />

$AA_ATOL, 493<br />

$AA_COUP_ACT, 459, 500, 525<br />

$AA_LEAD_SP, 525<br />

$AA_LEAD_SV, 525<br />

$AA_MOTEND, 276<br />

$AA_TOFF[ ], 596<br />

$AC_ACT_PROG_NET_TIME, 693<br />

$AC_ACTUAL_PARTS, 697<br />

$AC_BLOCKTYPE, 573<br />

$AC_BLOCKTYPEINFO, 573<br />

$AC_CTOL, 493<br />

$AC_CUT_INV, 450<br />

$AC_CUTMOD, 450<br />

$AC_CUTMOD_ANG, 450<br />

$AC_CUTTING_TIME, 693<br />

$AC_CYCLE_TIME, 693<br />

$AC_FIFO1, 571<br />

$AC_MARKER, 566<br />

$AC_OLD_PROG_NET_TIME, 693<br />

$AC_OLD_PROG_NET_TIME_COUNT, 693<br />

$AC_OPERATING_TIME, 693<br />

$AC_OTOL, 493<br />

$AC_PARAM, 566<br />

$AC_PROG_NET_TIME_TRIGGER, 694<br />

$AC_REQUIRED_PARTS, 697<br />

$AC_SMAXVELO, 489<br />

$AC_SMAXVELO_INFO, 489<br />

$AC_SPECIAL_PARTS, 697<br />

$AC_SPLITBLOCK, 573<br />

$AC_STOLF, 496<br />

$AC_TIMER, 570<br />

$AC_TOTAL_PARTS, 697<br />

$AN_POWERON_TIME, 692<br />

$AN_SETUP_TIME, 692<br />

$MC_COMPESS_VELO_TOL, 464<br />

$P_AD, 451<br />

$P_CTOL, 494<br />

$P_CUT_INV, 450<br />

$P_CUTMOD, 450<br />

$P_CUTMOD_ANG, 450<br />

$P_OTOL, 494<br />

$P_STOLF, 496<br />

$P_SUBPAR, 151<br />

$P_TECCYCLE, 629<br />

$PA_ATOL, 494<br />

$R, 567<br />

$Rn, 567<br />

$SA_LEAD_TYPE, 524, 525<br />

$SC_PA_ACTIV_IMMED, 222<br />

$SN_PA_ACTIV_IMMED, 222<br />

$TC_CARR1...14, 434<br />

$TC_CARR18[m], 434, 438<br />

$TC_DP1, 390<br />

$TC_DP10, 390<br />

$TC_DP11, 390<br />

$TC_DP12, 390<br />

$TC_DP13, 390<br />

$TC_DP14, 390<br />

$TC_DP15, 390<br />

$TC_DP16, 390<br />

$TC_DP17, 390<br />

$TC_DP18, 390<br />

$TC_DP19, 390<br />

$TC_DP2, 390<br />

$TC_DP20, 390<br />

$TC_DP21, 390<br />

$TC_DP22, 390<br />

$TC_DP23, 390<br />

$TC_DP24, 390<br />

$TC_DP25, 390<br />

$TC_DP3, 390<br />

$TC_DP4, 390<br />

$TC_DP5, 390<br />

$TC_DP6, 390<br />

$TC_DP7, 390<br />

$TC_DP8, 390<br />

$TC_DP9, 390<br />

$TC_ECPxy, 394<br />

$TC_SCPxy, 394<br />

$TC_TPG1 ... 9, 667, 668<br />

*<br />

* (számítási művelet), 61<br />

/<br />

/ (számítási művelet), 61<br />

+<br />

+ (számítási művelet), 61<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 823


Index<br />

<<br />

< (összehasonlító operátor), 64<br />


Index<br />

ASUP, 109<br />

Aszinkron ingázás, 641<br />

Fogásvétel a fordulás-tartományban, 652<br />

Fogásvételek megadása, 650<br />

Inga- és fogásvétel-tengely hozzárendelés, 650<br />

kiértékelés, IPO-ütem, 653<br />

Következő rész-fogásvétel, 653<br />

megállás a fordulóponton, 652<br />

rámeneteli mozgás, 652<br />

Szinkron-akciók, 651<br />

átalakító rutinok, 562<br />

ATAN2, 61<br />

Átkapcsolható geometria-tengelyek, 672<br />

ATOL, 493<br />

Áttekintés<br />

Csatornában hatásos frame-k, 304<br />

Automatikus GET, 124<br />

Automatikus megszakítás-mutató, 475<br />

Automatikus út-felosztás, 660<br />

AV, 535<br />

AX, 489<br />

AXCTSWE, 677<br />

AXCTSWED, 677<br />

AXIS, 22<br />

AXNAME, 74, 669<br />

AXSTRING, 669<br />

AXTOCHAN, 126<br />

AXTOSPI, 669<br />

Azonosító szám, 553<br />

B<br />

B_AND, 64<br />

B_NOT, 64<br />

B_OR, 64<br />

B_XOR, 64<br />

B2, 323<br />

B3, 323<br />

B4, 323, 330<br />

B5, 323, 330<br />

B6, 335<br />

B7, 335<br />

BAUTO, 233<br />

Beállítási érték, 394<br />

Bemerülési mélység, 415<br />

Bemerülési mélység (ISD), 409<br />

Beolvasás tiltás, 580<br />

BFRAME, 281<br />

BLOCK, 573<br />

BLSYNC, 111<br />

BNAT, 233<br />

BOOL, 22<br />

BOUND, 68<br />

Bővített mérés-funkció, 376<br />

B-Spline, 241<br />

BSPLINE, 233<br />

BTAN, 233<br />

C<br />

C2, 323<br />

C3, 323<br />

C4, 323, 330<br />

C5, 323, 330<br />

C6, 335<br />

C7, 335<br />

CAC, 231<br />

CACN, 231<br />

CACP, 231<br />

CALCDAT, 715<br />

CALL, 187<br />

Call-By-Value paraméter<br />

technológiai ciklusoknak, 630<br />

CALLPATH, 192, 209<br />

CANCEL, 636<br />

CASE, 86<br />

CDC, 231<br />

CFINE, 293<br />

CHAN, 126<br />

CHANDATA, 210<br />

CHAR, 22<br />

CHECKSUM, 142<br />

CHKDNO, 430<br />

CIC, 231<br />

Ciklus vészjelzések, 699<br />

Ciklusok<br />

Felhasználói ciklusok paraméterezése, 197<br />

Címek<br />

közvetetten programozni, 53<br />

CLEARM, 103, 618<br />

CLRINT, 114<br />

CMIRROR, 61, 286<br />

COARSE, 535<br />

COARSEA, 274<br />

COMCAD, 247<br />

COMPCAD, 353<br />

COMPCURV, 247, 353<br />

COMPLETE, 210<br />

COMPOF, 247, 353<br />

COMPON, 247, 353, 464<br />

CONTDCON, 708<br />

CONTPRON, 702<br />

COS, 61<br />

COUPDEF, 535<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 825


Index<br />

COUPDEL, 535<br />

COUPOF, 535<br />

COUPOFS, 535<br />

COUPON, 535<br />

COUPONC, 535<br />

COUPRES, 535<br />

CP, 394<br />

CPROT, 219<br />

CPROTDEF, 215<br />

CROT, 61, 286<br />

CT, 459, 500, 525<br />

CTAB, 513<br />

CTABDEF, 502<br />

CTABDEL, 508<br />

CTABEND, 502<br />

CTABEXISTS, 508<br />

CTABFNO, 518<br />

CTABFPOL, 518<br />

CTABFSEG, 518<br />

CTABID, 511<br />

CTABINV, 513<br />

CTABISLOCK, 511<br />

CTABLOCK, 510<br />

CTABMEMTYP, 511<br />

CTABMPOL, 518<br />

CTABMSEG, 518<br />

CTABNO, 518<br />

CTABNOMEM, 518<br />

CTABPERIOD, 511<br />

CTABPOL, 518<br />

CTABPOLID, 518<br />

CTABSEG, 518<br />

CTABSEGID, 518<br />

CTABSEV, 513<br />

CTABSSV, 513<br />

CTABTEP, 513<br />

CTABTEV, 513<br />

CTABTMAX, 513<br />

CTABTMIN, 513<br />

CTABTSP, 513<br />

CTABTSV, 513<br />

CTABUNLOCK, 510<br />

CTOL, 493<br />

CTRANS, 61, 286, 293<br />

CUT3DC, 409, 415<br />

CUT3DCC, 419<br />

CUT3DCCD, 419<br />

CUT3DF, 409<br />

CUT3DFF, 409<br />

CUT3DFS, 409<br />

CUTMOD, 450<br />

Cs<br />

Csatolás, 453<br />

Csatolás állapota, 500, 525<br />

Csatolási mód, 537<br />

Csatolási tényező, 497<br />

Csatolt-tengely, 678<br />

Csatorna-specifikus frame-k, 303<br />

CSCALE, 61, 286<br />

C-Spline, 242<br />

CSPLINE, 233<br />

D<br />

DEF, 535<br />

DEFAULT, 86<br />

DEFINE, 626<br />

DEFINE ... AS, 201<br />

DELAYFSTOF, 468<br />

DELAYFSTON, 468<br />

DELDL, 395<br />

DELDTG, 582<br />

DELETE, 132<br />

Derékszögű PTP-mozgás, 314<br />

DISABLE, 113<br />

DISPLOF, 164<br />

DISPLON, 164<br />

DISPR, 476<br />

DIV, 61<br />

DL, 395<br />

DO, 557<br />

D-szám<br />

átnevezni, 431<br />

szabad kiadás, 429<br />

vizsgálni, 430<br />

Durva eltolás, 293<br />

DV, 535<br />

E,É<br />

EAUTO, 233<br />

EG<br />

Elektronikus hajtómű, 526<br />

EGDEF, 526<br />

EGDEL, 532<br />

EGOFC, 531<br />

EGOFS, 531<br />

EGON, 528<br />

EGONSYN, 528<br />

EGONSYNE, 528<br />

Egy karakter kiválasztása, 80<br />

Egyes tengely mozgás, 665<br />

Munka-előkészítés<br />

826 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Index<br />

Egyes-mondat<br />

-elnyomás, 158<br />

Elektronikus hajtómű, 526<br />

Előrefutás<br />

-tároló, 465<br />

Előrefutás-állj, 581<br />

Előresietés-szög, 324<br />

Előtolás<br />

tengely, 607<br />

ELSE, 96<br />

Első alap-frame a csatornában, 303<br />

ENABLE, 113<br />

ENAT, 233<br />

ENDFOR, 99<br />

ENDIF, 96<br />

ENDLABEL, 88<br />

ENDLOOP, 98<br />

ENDPROC, 591<br />

ENDWHILE, 100<br />

Érintőleges vezérlés, 453<br />

ETAN, 233<br />

EVERY, 555<br />

EXECTAB, 714<br />

EXECUTE, 215, 717<br />

EXECSTRING, 60<br />

EXP, 61<br />

EXTCALL, 193<br />

EXTERN, 180<br />

F<br />

F10, 215<br />

F3, 689<br />

FA, 86<br />

Fájl<br />

-Információk, 139<br />

FALSE, 22<br />

FCTDEF, 404, 584<br />

FCUB, 460<br />

Felbontott kinematika, 434<br />

Felkerekítés, 144<br />

FENDNORM, 273<br />

Ferde tengely, TRAANG, 314<br />

Ferde tengelyek programozása<br />

G05, G07, 374<br />

FGROUP-tengelyek, 256<br />

FIFOCTRL, 465<br />

FIFO-változó, 571<br />

FILEDATE, 139<br />

FILEINFO, 139<br />

FILESIZE, 139<br />

FILESTAT, 139<br />

FILETIME, 139<br />

FINE, 293<br />

FINEA, 274<br />

Finom eltolás, 293<br />

Fix-ütköző, 620<br />

FLIN, 460<br />

FNORM, 460<br />

FOCOF, 620<br />

FOCON, 620<br />

Fogásvétel<br />

-mozgás, 652<br />

-tengely, 648<br />

FOR, 99<br />

Forduló<br />

-pont, 647<br />

Forgástengely<br />

irányvektorok V1, V2, 434<br />

távolságvektor l1, l2, 434<br />

Forgástengelyek minimum-/maximum pozíció<br />

határszöge, 436<br />

Forgástengelyek offsetje, 436<br />

Forgástengelyek szögoffset/szöginkremens, 436<br />

Forgásvektor interpolációja, 343, 350<br />

Forgásszög, 344<br />

Forgásszög 1, 2, 434<br />

FPO, 518<br />

FPR, 533<br />

Frame<br />

felhívni, 290<br />

FRAME láncolás, 308<br />

FRAME, 281<br />

Frame komponensek<br />

FI, 289<br />

MI, 289<br />

SC, 289<br />

TR, 289<br />

Frame komponensek RT, 289<br />

Frame számítás<br />

MEAFRAME, 298<br />

Frame változó<br />

Hozzárendelések a G54 ... G599 G-<br />

utasításokhoz, 285<br />

Nullaponteltolások G54 ... G599, 285<br />

Frame változók, 279<br />

Előre definiált frame változó, 281, 290<br />

Értékek hozzárendelése, 286<br />

Felhívás - koordináta-transzformációk, 279<br />

Új frame-k definiálása, 292<br />

Frame-ek<br />

Frame-láncok, 291<br />

hozzárendelés, 291<br />

FROM, 555<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 827


Index<br />

FTOC, 593<br />

FTOCOF, 404<br />

FTOCON, 404<br />

Futási idő<br />

-viselkedés vezérlő-struktúráknál, 96<br />

FXS, 620<br />

FXST, 620<br />

FXSW, 620<br />

G<br />

G0 tűréstényező, 495<br />

G05, 374<br />

G07, 374<br />

G40, 409<br />

G450, 417<br />

G451, 417<br />

G62, 273<br />

G621, 273<br />

GEOAX, 672<br />

Geometria-tengely<br />

átkapcsolni, 672<br />

GET, 124<br />

GETACTTD, 432<br />

GETD, 121<br />

GETDNO, 431<br />

G-kód<br />

közvetetten programozni, 56<br />

GOTO, 83<br />

GOTOB, 83<br />

GOTOC, 83<br />

GOTOF, 83<br />

GOTOS, 82<br />

GP, 57<br />

GUD, 22, 206<br />

GUD-változók<br />

Szinkron-akció képes, 563<br />

Gy<br />

Gyors leemelés a kontúrról, 115<br />

H<br />

Helyzet-szinkronitás, 535<br />

Hengerpalást-görbe transzformáció, 362, 363<br />

Offset kontúr-normál OFFN, 369<br />

Hengerpalást-transzformáció, 314<br />

Homlokmarás, 409, 412<br />

I,Í<br />

I1,I2, 434<br />

ICYCOF, 631<br />

ICYCON, 631<br />

ID, 511<br />

Időigény<br />

Szinkron-akciók, 624<br />

Időzítés változó, 570<br />

IDS, 553<br />

IF, 571<br />

IFRAME, 281<br />

II1,II2, 650<br />

INDEX, 78<br />

Ingamozgás<br />

Fogásvétel a fordulóponton, 652<br />

fogásvétel elnyomása, 650<br />

fordulás-tartomány, 650<br />

fordulópont, 650<br />

Ingázás<br />

aszinkron, 641<br />

aszinkron ingázás, 641, 647<br />

rész-fogásvétel, 650<br />

szinkron-akcióval vezérelni, 647<br />

INICF, 22<br />

Inicialaizálás<br />

mezőknek, 44<br />

mező-változók, 617<br />

Inicializáló program, 210<br />

INIPO, 22<br />

INIRE, 22<br />

INIT, 103<br />

INITIAL, 210<br />

INITIAL_INI, 210<br />

INT, 114<br />

Interrupt-rutinok, 109<br />

Gyors leemelés a kontúrról, 115<br />

hozzárendelés és indítás, 111<br />

ki-/bekapcsolni, 113<br />

Modális G-funkciókat menteni, 110<br />

programozható lemeneti irány, 116, 117<br />

törölni, 114<br />

újra hozzárendelni, 112<br />

Visszahúzás mozgás, 117<br />

INTERSEC, 712<br />

IPOBRKA, 274<br />

IPOENDA, 274<br />

IPOSTOP, 535<br />

IPTRLOCK, 473<br />

IPTRUNLOCK, 473<br />

ISAXIS, 669<br />

ISD, 409<br />

ISFILE, 137<br />

Munka-előkészítés<br />

828 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Index<br />

ISNUMBER, 74<br />

ISOCALL, 190<br />

ISVAR, 687<br />

J<br />

Jelölő-változó, 566<br />

JERKLIM, 486<br />

K<br />

Keresési ág<br />

alprogram-hívásnál, 148, 208<br />

programozható keresőág, 192<br />

Keresésre alkalmatlan tartományok felismerése és<br />

keresése, 474<br />

Kerületimarás, 410, 411<br />

Kerületmarás (3D)<br />

határolási felületekkel, 419<br />

Kiértékelő funkció, 586<br />

Kikapcsolási pozíció, 544<br />

Kinematika<br />

felbontott, 438<br />

Kinematika-típus, 438<br />

Kinematika-típus M, 438<br />

Kinematika-típus P, 438<br />

Kinematika-típus T, 438<br />

Kiterhelés kiértékelés, 624<br />

Kompenzációs jelleggörbe betanulása, 689<br />

Kompresszor, 247<br />

Kontúr<br />

-feldolgozás, 702<br />

-kódolás, 708<br />

-táblázat, 702, 708<br />

Újra-rámenet, 476<br />

Kontúrelem<br />

megtenni, 714<br />

Kontúr-feldolgozás<br />

hiba visszajelzés, 717<br />

Kopásérték, 394<br />

Korrekció-tároló, 389<br />

Kör-adatok<br />

kiszámítani, 715<br />

Követő tengely, 520<br />

Közvetett programozás, 57<br />

címekből, 53<br />

G-kódok, 56<br />

KS, 142<br />

Ktengely, 453, 520<br />

Külső nullaponteltolás, 295<br />

L<br />

L..., 178<br />

Label, 88<br />

Láncolása<br />

stringek, 75<br />

LEAD, 525<br />

LEADOF, 520<br />

Leforgácsolás, 701<br />

Lézer teljesítmény vezérlés, 585<br />

LIFTFAST, 115<br />

LLI, 34<br />

LLIMIT, 584<br />

LN, 61<br />

LOCK, 573<br />

Logikai operátorok, 64<br />

LOOP, 98<br />

Löket kioldása, 658<br />

Lötyögés, 689<br />

LUD, 22<br />

Ly<br />

Lyukasztás, 655, 660<br />

M<br />

M, 276<br />

M17, 169<br />

M30, 169<br />

Makró, 201<br />

Maradékidő<br />

egy munkadarabra, 695<br />

Maradékút törlés, 268, 582<br />

Maradékút törlés előkészítésel, 582<br />

Maró<br />

-csúcs (FS),<br />

-segédpont (FH),<br />

Maró-formák, 413<br />

MASLDEF, 546<br />

MASLDEL, 546<br />

MASLOF, 546<br />

MASLOFS, 546<br />

MASLON, 546<br />

MATCH, 78<br />

MAXVAL, 68<br />

MCALL, 185<br />

MD20800, 169<br />

MD37400, 459<br />

MEAC, 262<br />

MEAFRAME, 298<br />

MEAFRAME, 298<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 829


Index<br />

MEAFRAME, 298<br />

MEAS, 259<br />

MEASA, 262<br />

MEAW, 259<br />

MEAWA, 262<br />

Megállási mondat, 474<br />

Megmunkálási idő, 693<br />

Mérés, 616<br />

Mérési feladat állapota, 270<br />

Mérő-tapintó állapot, 270<br />

Mező<br />

-elem, 44<br />

Mező-definíció, 44<br />

Mező-index, 47<br />

MINDEX, 78<br />

MINVAL, 68<br />

MIRROR, 61, 286<br />

MMC, 691<br />

MOD, 450<br />

Modális alprogram-hívás, 185<br />

MODAXVAL, 669<br />

Mondatkijelzés, 190<br />

elnyomni, 164<br />

MOV, 602<br />

Mozgás vége kritérium<br />

programozható, 274<br />

MPF, 206, 689<br />

MU, 373<br />

Munkadarab<br />

-főkönyvtár, 206<br />

-könyvtárak, 207<br />

-számláló, 697<br />

Munkatároló, 210<br />

Adat-tartományok, 210<br />

MZ, 373<br />

N<br />

NCK, 22<br />

NC-mondat kompresszor, 247<br />

NCU-globális alap-frame-k, 304<br />

NCU-globális beállítható frame-k, 302<br />

Négyzetes hibakompenzáció<br />

Tanulási folyamatot aktiválni, 689<br />

Tanulási folyamatot kikapcsolni, 689<br />

Után-tanulás, 690<br />

Nevező-polinom, 254<br />

NEWCONF, 128<br />

NOC, 535<br />

NOT, 64<br />

NPROT, 219<br />

NPROTDEF, 215<br />

Nullaponteltolás<br />

Külső nullaponteltolás, 295<br />

PRESETON, 296<br />

NUMBER, 74<br />

NUT=szög, 335<br />

O,Ó<br />

OEM funkciók, 272<br />

OEM-címek, 272<br />

OEMIPO1/2, 272<br />

OFFN, 369<br />

Offset kontúr-normál OFFN, 369<br />

Oldalszög, 324<br />

Online szerszámhossz-korrekció, 443, 596<br />

OR, 64<br />

ORIAXES, 333, 349<br />

ORIC, 423<br />

ORICONCCW, 335, 349<br />

ORICONCW, 335, 349<br />

ORICONIO, 335, 349<br />

ORICONTO, 335, 349<br />

ORICURVE, 339, 349<br />

ORID, 423<br />

ORIEULER, 333, 349<br />

ORIMKS, 331, 333<br />

ORIPATH, 348<br />

ORIPATHS, 348, 351<br />

ORIPLANE, 335, 349<br />

ORIRESET(A, B, C), 321<br />

ORIROTA, 343<br />

ORIROTC, 343, 349<br />

ORIROTR, 343<br />

ORIROTT, 343<br />

ORIRPY, 333, 349<br />

ORIRPY2, 333<br />

ORIS, 423<br />

ORISOF, 357<br />

ORISON, 357<br />

ORIVECT, 333, 349<br />

ORIVIRT1, 333, 349<br />

ORIVIRT2, 333, 349<br />

ORIWKS, 331, 333<br />

Orsó<br />

-csere, 121<br />

Orsó-mozgások, 610<br />

OS, 61<br />

OSB, 641<br />

OSC, 423<br />

OSCILL, 647, 650<br />

OSCTRL, 641<br />

OSD, 423<br />

Munka-előkészítés<br />

830 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Index<br />

OSE, 641<br />

OSNSC, 641<br />

OSOF, 423<br />

OSP1, 641<br />

OSP2, 641<br />

OSS, 423<br />

OSSE, 423<br />

OST, 535<br />

OST1, 641<br />

OST2, 641<br />

OTOL, 493<br />

Override<br />

aktuális, 623<br />

eredő, 623<br />

OVRA, 540<br />

Ö,Ő<br />

Ossz alap-frame, 305, 306<br />

Összehasonlító operátorok, 64<br />

P<br />

P..., 183<br />

Pályaérintő szöge, 623<br />

Pályához viszonyított tájolás<br />

közbenső mondatok beszúrása, 352<br />

szerszám forgatásai, 348<br />

szerszámtájolás forgatásai, 349<br />

tájolás-vektor forgatása, 349<br />

Pálya-vonatkoztatás<br />

beállítható, 256<br />

Paraméter<br />

aktuális-, 149<br />

-átadás alprogram-hívásnál, 150, 180<br />

formális-, 149<br />

Szerszám-, 389<br />

Parancsérték csatolás, 537<br />

Parancs-tengelyek, 598<br />

PCALL, 191<br />

PDELAYOF, 655<br />

PDELAYON, 655<br />

Peremfeltételek transzformációknál, 385<br />

PFRAME, 281<br />

PHI, 335, 342<br />

P<strong>HU</strong>, 35<br />

PL, 573<br />

PO, 692<br />

PO[PHI], 342, 348<br />

PO[PHI]=(a2, a3, a4, a5), 335<br />

PO[PSI], 342, 348<br />

PO[PSI]=(b2, b3, b4, b5), 335<br />

PO[THT], 342, 348<br />

PO[XH], 342<br />

PO[XH]=(xe, x2, x3, x4, x5), 339<br />

PO[YH], 342<br />

PO[YH]=(ye, y2, y3, y4, y5), 339<br />

PO[ZH], 342<br />

PO[ZH]=(ze, z2, z3, z4, z5), 339<br />

Polár transzformáció, 314<br />

Polinom definíció, 584<br />

Polinom-együttható, 251<br />

Polinom-interpoláció, 250<br />

Nevező-polinom, 254<br />

POLY, 250<br />

POLYPATH, 250<br />

PON, 247, 353, 464<br />

PONS, 655<br />

POS, 274<br />

POSFS, 535<br />

POSP, 647<br />

POSRANGE, 601<br />

POT, 61<br />

Pozíció tulajdonságok<br />

közvetetten programozni, 57<br />

Pozícionáló mozgások, 598<br />

PREPRO, 168<br />

Preset-eltolás, 296<br />

PRESETON, 296<br />

PRIO, 111, 115<br />

PRLOC, 22<br />

PROC, 591<br />

Program<br />

-elágazás, 86<br />

-futásidő, 692<br />

Inicializáló-, 210<br />

-ismétlés, 183<br />

-tároló, 207<br />

-ugrások, 83<br />

Program koordináció<br />

Csatornanevek, 105<br />

Csatornaszám, 105<br />

Program<strong>hu</strong>rok<br />

IF <strong>hu</strong>rok, 96<br />

REPEAT <strong>hu</strong>rok, 101<br />

számláló <strong>hu</strong>rok, 99<br />

véges <strong>hu</strong>rok, 98<br />

WHILE <strong>hu</strong>rok, 100<br />

Programozási utasítás<br />

lista, 719<br />

Programrész<br />

-ismétlés, 88<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 831


Index<br />

Programrész ismétlés<br />

küzvetett CALL programozással, 188<br />

Programtároló, 205<br />

Fájltípusok, 206<br />

Szabványos-könyvtárak, 206<br />

PSI, 342, 348<br />

PTP, 314<br />

PTP TRANSMIT-nál, 381<br />

PTPG0, 381<br />

PUD, 22<br />

PUNCHACC, 655<br />

PUTFTOC, 404<br />

PUTFTOCF, 404<br />

PW, 38<br />

Q<br />

QECDAT, 689<br />

QECLRN, 689<br />

QECLRNOF, 689<br />

QECLRNON, 689<br />

QECTEST, 689<br />

QFK, 689<br />

R<br />

R..., 18, 20<br />

Rámenet a legközelebbi pályapontra, 483<br />

Rándítás<br />

-korrekció, 486<br />

RDISABLE, 580<br />

READ, 134<br />

REAL, 22<br />

REDEF, 28<br />

Refpos, 601<br />

RELEASE, 121<br />

Rendelkezésre állás<br />

rendszer-független, 5<br />

Rendszer<br />

-függő rendelkezésre állás, 5<br />

Rendszerváltozók, 560<br />

REP, 168<br />

REPEAT, 101<br />

REPEATB, 88<br />

REPOS, 109<br />

REPOSA, 476<br />

REPOSH, 476<br />

REPOSHA, 476<br />

REPOSL, 476<br />

REPOSQ, 476<br />

REPOSQA, 476<br />

RESET, 296<br />

Rész-szakasz, 660<br />

Rész-szakaszok, 660<br />

RET, 170, 171<br />

RINDEX, 78<br />

RMB, 476<br />

RME, 476<br />

RMI, 476<br />

RMN, 476<br />

ROUND, 61<br />

ROUNDUP, 144<br />

R-paraméterek, 567<br />

S<br />

S1, S2, 535<br />

Sapkázás, 655, 660<br />

Sarokkésleltetés a belső sarkokon, 273<br />

Sarokkésleltetés minden sarkokon, 273<br />

SAVE, 157<br />

SBLOF, 158<br />

SBLON, 158<br />

SCPARA, 278<br />

SD, 409<br />

SD42475, 354<br />

SD42476, 354<br />

SD42477, 354<br />

SD42678, 357<br />

SD42680, 357<br />

SD42900, 398<br />

SD42910, 398<br />

SD42920, 399<br />

SD42930, 399<br />

SD42935, 402<br />

SD42940, 403, 449<br />

SD42984, 447<br />

Sebesség-csatolás, 537<br />

SEFORM, 213<br />

Segédfunkciók, 579, 660<br />

SET, 692<br />

SETAL, 619, 699<br />

SETDNO, 431<br />

SETINT, 111<br />

SETM, 103, 618<br />

Siemens ciklusok, 699<br />

Simítás<br />

tájolás lefutása, 357<br />

SIN, 61<br />

Skatulyázási mélység<br />

vezérlő-struktúráknál, 95<br />

SON, 357<br />

SONS, 655<br />

Munka-előkészítés<br />

832 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Index<br />

SPATH, 256<br />

SPF, 206, 689<br />

SPI, 669<br />

SPIF1, 655<br />

SPIF2, 655<br />

Spline<br />

-interpoláció, 233<br />

-típusok, 240<br />

Spline-kötelék, 245<br />

SPLINEPATH, 245<br />

SPN, 660<br />

SPOF, 655<br />

SPOS, 274<br />

SPP, 660<br />

SQRT, 61<br />

START, 103<br />

STARTFIFO, 465<br />

STAT, 139<br />

STOLF, 496<br />

STOPFIFO, 465<br />

STOPRE, 465<br />

STOPREOF, 581<br />

String<br />

-hossz, 78<br />

-láncolása, 75<br />

-műveletek, 72<br />

STRING, 669<br />

STRINGIS, 683<br />

STRINGVAR, 80<br />

STRLEN, 78<br />

SUBSTR, 80<br />

SYNFCT, 586<br />

SYNR, 22<br />

SYNRW, 22<br />

SYNW, 22<br />

Sz<br />

Számítási paraméterek<br />

-szám n, 18, 20<br />

Számítási paraméterek (R), 18, 20<br />

Számláló <strong>hu</strong>rok, 99<br />

Szerszám<br />

felügyelet, köszörülés-specifikus, 667<br />

-hosszkorrekció, 439<br />

-korrekció, additív, 392<br />

-korrekció-tároló, 389<br />

-paraméter, 389<br />

-sugárkorrekció, 396<br />

-tájolás frame-váltásnál, 441<br />

-tájolás, simítás, 357<br />

Szerszámkorrekció<br />

koordinátarendszer kopásértékekre, 400<br />

Korrekció-tároló, 389<br />

Online-, 404, 593<br />

Szerszámsugár-korrekció<br />

3D-s kerületmarás határoló felületek nélkül, 419<br />

Sarokkésleltetés, 273<br />

Szerszámtájolás, 423<br />

Szerszámtájolás alaphelyzet ORIRESET, 322<br />

Szerszámtartó, 439<br />

adatokat törölni/változtatni/olvasni, 438<br />

-kinematika, 434<br />

tájolható, 439<br />

Szervó paraméterkészletet<br />

programozható, 278<br />

Szinguláris helyek, 332<br />

Szinkron-akció<br />

Akció, 557<br />

Érvényességi tartomány, 553<br />

Feltétel, 555<br />

megszakítani, 636<br />

Szintaxis, 552<br />

Tengely pozícionálása, 599<br />

törölni, 636<br />

utasítás elemek, 552<br />

Szinkron-akció paraméter, 566<br />

Szinkron-akciók<br />

Akciók áttekintése, 576<br />

Előrefutás-változók, 560<br />

főfutás-változó, 560<br />

Szinkronfutás<br />

durva, 537<br />

finom, 537<br />

Szinkronorsó, 534<br />

áttételi viszony kÜ, 541<br />

-pár, 534<br />

-pár megadása, 540<br />

Szoftver-végállás, 607<br />

Szögkapcsolat, 542<br />

T<br />

Tájolás<br />

-interpoláció, 337<br />

-tengelyek, 336<br />

Tájolás interpoláció, 351<br />

Tájolás lefutás simítása, 349, 352<br />

Tájolás programozása, 334, 350<br />

Tájolási transzformáció TRAORI<br />

Általános 5/6-tengelyes transzformáció, 313<br />

Gépkinematika, 312<br />

tájolás programozás, 321<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 833


Index<br />

Tájolás programozás változatok, 322<br />

Út-elmozdulások és tájolási mozgások, 312<br />

Tájolás-vektor forgatásának programozása THETAval,<br />

343<br />

Tájolható szerszámtartó<br />

Rendszerváltozók, 435<br />

szerszámtartó száma, 436<br />

Tájolható szerszámtartó, 434<br />

Tájolótengelyek, 323, 331, 333<br />

TAN, 61<br />

TANG, 453<br />

TANGDEL, 453<br />

TANGOF, 453<br />

TANGON, 453<br />

Tapadás, 689<br />

-tároló<br />

előrefutás-, 465<br />

munka-, 210<br />

Programtároló, 205<br />

Távolság szabályozás, 590<br />

TCARR, 439<br />

TCOABS, 439<br />

TCOFR, 439<br />

TCOFRX, 439<br />

TCOFRY, 439<br />

TCOFRZ, 439<br />

Technológiai ciklusok, 626<br />

Alapbeállítás paraméter inicializálása, 630<br />

Ciklikus feldolgozás vezérlése ICYCOF, 631<br />

Feltétlen ugrások, 633<br />

IF vezérlő-szerkezet, 632<br />

mondatonkénti szinkron-akciókban, 632<br />

sorba kapcsolás, 632<br />

Ugrás utasítások GOTO, GOTOF, GOTOB, 633<br />

Tengely<br />

-csere, 121<br />

felfogás-, 677<br />

Ferde (TRAANG), 371<br />

közvetlenül átvenni, 121<br />

lokális, 678<br />

vontatás-, 499<br />

Tengely előtolás, 607<br />

Tengely indítás/megállítás, 602<br />

Tengely koordináció, 608<br />

Tengely pozícionálása<br />

megadott referencia-pozíció, 601<br />

Tengely vezető érték csatolás, 520<br />

Tengely-csere, 126<br />

Előfeltételek, 124<br />

előrefutás-állj nélkül, 125<br />

szinkron-akciókból igényelni és engedélyezni, 603<br />

szinkronizálás nélkül, 123<br />

Tengely felszabadítás, 124<br />

Tengelyt átvenni, 124<br />

viselkedést változtathatóra beállítani, 125<br />

Tengely-konténer, 677<br />

THETA, 342, 343<br />

TILT, 328<br />

TLIFT, 453<br />

TMOF, 667<br />

TMON, 667<br />

TOFFOF, 443, 596<br />

TOFFON, 443, 596<br />

TOLOWER, 77<br />

Torzulás, 689<br />

TOUPPER, 77<br />

TOWBCS, 400<br />

TOWKCS, 400<br />

TOWMCS, 400<br />

TOWSTD, 400<br />

TOWTCS, 400<br />

TOWWCS, 400<br />

TRAANG, 314<br />

TRACON, 387<br />

TRACYL, 362, 369<br />

TRACYL transzformáció, 364<br />

TRAFOOF, 386<br />

TRAILOF, 497<br />

TRAILON, 497<br />

TRANSMIT, 381<br />

TRANSMIT transzformáció, 360<br />

TRANSMIT, TRACYL és TRAANG kinematikus<br />

transzformációk, 314<br />

Transzformáció<br />

Ferde tengelyek, 371<br />

Transzformáció billenthető lineáris tengellyel, 319<br />

Transzformáció fajták<br />

Általános funkció, 309<br />

Transzformáció, 5-tengelyes<br />

Euler-szögben történő programozás, 326<br />

pályagörbültség programozása felület<br />

normálvektorokkal, 329<br />

programozás LEAD/TILT által, 323<br />

Programozás RPY-szögekben, 327<br />

Transzformációk<br />

A szerszámtájolás kinematika-független<br />

alaphelyzete, 310<br />

Három-, négy- és öt-tengelyes transzformáció<br />

TRAORI, 310<br />

Három-, négytengelyes transzformációk, 320<br />

Kinematikai transzformáció, 311<br />

láncolt, 387<br />

Láncolt transzformációk, 311<br />

Tájolási transzformáció, 310<br />

Munka-előkészítés<br />

834 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0


Index<br />

TRAORI, 317, 320<br />

Trigger-esemény<br />

mérésnél, 267<br />

TRUE, 22<br />

TRUNC, 61<br />

TU, 697<br />

Tűrés<br />

G0-nál, 495<br />

U,Ú<br />

U1,U2, 650<br />

uc.com, felhasználó ciklusok, 198<br />

Ugrás<br />

-cél, 83<br />

-feltétel, 84<br />

-jelölő, 84, 88<br />

programkezdetre, 82<br />

-utasítás, 83<br />

Ugrás utasítás<br />

CASE, 86<br />

újra-rámenet a kontúrra<br />

Rámenet új szerszámmal, 484484<br />

Újra-rámeneti pont, 481481<br />

ULI, 34<br />

ULIMIT, 584<br />

UNLOCK, 510<br />

UNTIL, 101<br />

UPATH, 256<br />

Út felosztás pályatengelyeknél, 663<br />

Utasítások<br />

lista, 719<br />

út-felosztás, 660<br />

Ü,Ű<br />

Üzemmód<br />

mérésnél, 267<br />

V<br />

V1,V2, 434<br />

Vágóél-szám, 429<br />

Valósérték beállítása, 609<br />

Valósérték csatolás, 537<br />

Változók<br />

-definíció, 22<br />

felhasználó által definiált, 22<br />

-név, 24, 28<br />

-típus, 22<br />

Típus-konverzió, 73<br />

VAR, 687<br />

Várakozás jelölők, 618<br />

Variable<br />

Típus-konverzió, 71<br />

Védelmi<br />

-tartományok, 215<br />

Végszög, 344<br />

Végtelen <strong>hu</strong>rok, 98<br />

VELOLIM, 487<br />

Vészjelzés, 699<br />

-szám, 699<br />

-viselkedés szinkron-akcióknál, 639<br />

Vezérlő<br />

-struktúrra, 95<br />

Vezető érték<br />

-csatolás, 613<br />

Vezető érték csatolás<br />

statikus szinkronakciókból, 521<br />

Valós- és parancsérték csatolás, 520, 524<br />

vezető és követő tengely szinkronizálása, 523<br />

Vezető érték szimuláció, 525<br />

Vezető tengely, 520<br />

Vontatás, 497, 611<br />

Dinamika korlátozás, 500<br />

Vontatás egyesülés, 497<br />

Vtengely, 453, 520<br />

W<br />

WAIT, 103<br />

WAITC, 535<br />

WAITE, 103<br />

WAITENC, 681<br />

WAITM, 103<br />

WAITMC, 103<br />

WHEN, 555<br />

WHEN-DO, 651<br />

WHENEVER, 555<br />

WHENEVER-DO, 651<br />

WHILE, 100<br />

Winlimit, 601<br />

WRITE, 129<br />

X<br />

xe, ye, ze, 339<br />

XH YH ZH, 339<br />

xi, yi, zi, 339<br />

XOR, 64<br />

Munka-előkészítés<br />

Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0 835


Index<br />

Munka-előkészítés<br />

836 Programozási kézikönyv, 03/2010, 6FC5398-2BP20-1QA0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!