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