SINUMERIK 840D sl 4 Przygotowanie do pracy 5 cznik ... · Informacje dot. oferty szkole ń i FAQ...
Transcript of SINUMERIK 840D sl 4 Przygotowanie do pracy 5 cznik ... · Informacje dot. oferty szkole ń i FAQ...
Słowo wst ępne
Opis 1
Zarządzanie plikami i programami 2
Obszary ochrony 3
Polecenia specjalne dot. drogi 4
Transformacje współ-rzędnych (FRAME) 5
Transformacje 6
Korekcje narz ędzi 7
Zachowanie si ę przy ru-chu po torze 8
SprzęŜenia osi 9
Akcje synchroniczne ru-chu 10
Ruch wahliwy 11
Tłoczenie i ci ęcie 12
Szlifowanie 13
Dalsze funkcje 14
Własne programy skra-wania 15
Tablice 16
SINUMERIK 840D sl Przygotowanie do pracy Podr ęcznik programowania
Obowiązuje dla Sterowanie SINUMERIK 840D sl/840DE sl Wersja oprogramowania NCU oprogramowanie systemowe dla 840D sl/840DE sl 01/2008 6FC5398-2BP10-3NA0
Aneks A
Wskazówki techniczne dotycz ące bezpiecze ństwa
Niniejszy podręcznik zawiera wskazówki, których musicie przestrzegać dla swojego osobistego bezpieczeństwa jak teŜ dla uniknięcia szkód rzeczowych. Wskazówki dot. Waszego osobistego bezpieczeństwa są uwydatnione trójką-tem ostrzegawczym, wskazówki dot. tylko szkód rzeczowych są bez trójkąta. ZaleŜnie od stopnia zagroŜenia wska-zówki ostrzegawcze są przedstawiane w kolejności malejącej jak następuje.
Niebezpiecze ństwo oznacza, Ŝe nastąpi śmierć, cięŜkie uszkodzenie ciała albo znaczna szkoda rzeczowa, gdy odpowiednie środki ostroŜności nie zostaną podjęte.
Ostrze Ŝenie oznacza, Ŝe grozi śmierć, cięŜkie uszkodzenie ciała albo znaczna szkoda rzeczowa, gdy odpowiednie środki ostroŜności nie zostaną podjęte.
Ostro Ŝnie oznacza, Ŝe moŜe nastąpić lekkie uszkodzenie ciała albo szkoda rzeczowa, gdy odpowiednie środki ostroŜności nie zostaną podjęte.
Ostro Ŝnie
bez trójkąta ostrzegawczego oznacza, Ŝe moŜe nastąpić szkoda rzeczowa, gdy odpowiednie środki ostroŜności nie zostaną podjęte.
Uwaga
oznacza, Ŝe moŜe nastąpić niepoŜądane wydarzenie albo stan, gdy odpowiednia wskazówka nie będzie prze-strzegana.
Przy wystąpieniu wielu stopni zagroŜenia jest stosowana zawsze wskazówka ostrzegawcza najwyŜszego stop-
nia. Gdy we wskazówce ostrzegawczej ostrzega się przed szkodami osobowymi, wówczas w tej samej wska-zówce moŜe dodatkowo zostać zawarte ostrzeŜenie przed szkodami rzeczowymi.
Personel kwalifikowany
PrzynaleŜne urządzenie/system wolno ustawiać i eksploatować tylko w połączeniu z niniejszą dokumentacją. Uru-chomienie urządzenia i pracę z nim wolno jest prowadzić tylko personelowi wykwalifikowanemu . Personel wy-kwalifikowany w rozumieniu dotyczących bezpieczeństwa wskazówek zawartych w niniejszym podręczniku są to osoby, które są uprawnione do uruchamiania, uziemiania i oznakowywania urządzeń, systemów i obwodów prądu według standardów techniki bezpieczeństwa.
UŜycie zgodnie z przeznaczeniem
Przestrzegajcie co następuje:
Ostrze Ŝenie Urządzenia wolno jest uŜywać tylko zastosowań przewidzianych w katalogu i w opisie technicznym i tylko w połączeniu z zalecanymi wzgl. dopuszczonymi przez firmę Siemens urządzeniami i kompo-nentami obcymi. Nienaganna i bezpieczna praca produktu zakłada jego naleŜyty transport, naleŜyte magazynowanie jak teŜ staranną obsługę i konserwację.
Marki
Wszystkie określenia oznaczone znakiem ochrony ® są zarejestrowanymi markami firmy Siemens AG. Wszystkie pozostałe określenia w niniejszej dokumentacji mogą być markami, których uŜycie przez strony trzecie do swoich celów moŜe naruszać prawa właścicieli.
Wykluczenie odpowiedzialno ści Sprawdziliśmy treść niniejszego druku na zgodność z opisanym sprzętem i oprogramowaniem. Mimo to nie moŜe-my wykluczyć rozbieŜności, tak Ŝe nie dajemy gwarancji na pełną zgodność. Dane zawarte w niniejszym druku są regularnie sprawdzane, niezbędne korekty będą zawierane w kolejnych wydaniach.
Siemens AG Automation and Drives Postfach 4848 90437 NÜRNBERG NIEMCY
Copyright (©) Siemens AG 2008 Nr zamówieniowy dokumentacji 6FC5398-2BP10-3AA0 Ⓟ 12/2007 Zmiany zastrzeŜone
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
3
Słowo wst ępne
Słowo wst ępne
Dokumentacja SINUMERIK
Dokumentacja SINUMERIK jest podzielona na 3 kategorie: • Dokumentacja ogólna • Dokumentacja uŜytkownika • Dokumentacja producenta/serwisowa Aktualizowany co miesiąc przegląd publikacji z kaŜdorazowym podaniem dostępnego języka znajdziecie pod: http://www.siemens.com/motioncontrol Postępujcie według punktów menu "Support" --> "Technische Dokumentation" --> "Druckschri-ften-Übersicht". Internetowe wydanie DOConCD, wydanie DOConWeb, znajdziecie pod: http://www.automation.siemens.com/doconweb
Informacje dot. oferty szkoleń i FAQ (frequently asked questions) znajdziecie w internecie pod: http://www.siemens.com/motioncontrol a tam pod punktem menu "Support".
Adresat dokumentacji
Niniejsza dokumentacja jest skierowana do • programistów • projektantów
PoŜytek Podręcznik programowania pozwala jego adresatom na projektowanie, sporządzanie, testowa-nie i usuwanie błędów programów i otoczek graficznych oprogramowania.
Słowo wstępne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
4
Zakres standardowy
W niniejszej instrukcji obsługi opisano działanie zakresu standardowego. Uzupełnienia albo zmiany, które zostały dokonane przez producenta maszyny, są przez niego dokumentowa-ne. W sterowaniu mogą być moŜliwe do realizacji dalsze funkcje, nie opisane w niniejszej doku-mentacji. Nie ma jednak roszczenia do tych funkcji w przypadku dostawy nowego sterowania albo wykonania usługi serwisowej.
Ze względu na przejrzystość dokumentacja nie zawiera teŜ wszystkich szczegółowych in-formacji dot. wszystkich typów produktu i nie moŜe teŜ uwzględniać kaŜdego moŜliwego przypadku ustawienia, pracy i utrzymania.
Wsparcie techniczne
W przypadku zapytań proszę zwrócić się do następującej hotline:
Europa/Afryka Telefon +49 180 5050 222 Fax +49 180 5050 223 Internet http://www.siemens.com/automation/support-request
Ameryka Telefon +1 423 262 2522 Fax +1 423 262 2200 Internet mailto:[email protected]
Azja / Pacyfik
Telefon +86 1064 719 990 Fax +86 1064 747 474 Internet mailto:[email protected]
Wskazówka Specyficzne dla krajów numery telefonów doradztwa technicznego znajdziecie w interne-cie: http://www.siemens.com/automation/service&support
Słowo wstępne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
5
Pytania dotycz ące dokumentacji
W przypadkach pytań dot. dokumentacji (propozycje, korekty) prosimy wysłać telefaks albo e-mail na następujący adres: Fax +49 9131- 98 63315 E-mail mailto:[email protected]
Szablon telefaksowy znajdziecie w aneksie di niniejszej dokumentacji.
Adres internetowy dla SINUMERIK http://www.siemens.com/sinumerik
Wariant eksportowy
Funkcja 840DE sl
Interpolacja linii śrubowej 2D+6 (wykonanie podstawowe, brak opcji)
-
Pakiet obróbkowy frezowanie -
Pakiet obróbkowy 5 osi -
Pakiet transformacji handling -
Interpolacja wieloosiowa (>4 osie interpolujące) -
Cykle kompilacyjne OA-NCK -
Regulacja odstępu 1D/3D w takcie LR 1) -
Akcje synchroniczne 1)
(wykonanie podstawowe, brak opcji) #
SprzęŜenie wartości wiodącej i interpolacja na podstawie tablic krzywych
#
Kompensacja zwisu, wielowymiarowa #
Akcje synchroniczne stopień 2 1) -
Przekładnia elektroniczna 1) -
Transfer elektroniczny - 1) Ograniczenia funkcji dla wariantu eksportowego SINUMERIK 840DE sl, ograniczenie do
max 4 osi interpolujących.
Słowo wstępne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
6
Podręcznik programowania "Podstawy" i "Przygotowanie pra cy
Opisy do programowania NC są podzielone na dwa podręczniki:
1. Podstawy
Podręcznik programowania "Podstawy" słuŜy fachowemu robotnikowi przy maszynie i za-kłada posiadanie odpowiedniej wiedzy w zakresie obróbki wiertarskiej, frezarskiej i tokar-skiej. Na prostych przykładach programowania zostaną objaśnione polecenia i instrukcje znane równieŜ z DIN66025.
2. Przygotowanie pracy
Podręcznik programowania "Przygotowanie pracy" słuŜy technologowi znającemu wszyst-kie moŜliwości programowania. SINUMERIK 840D sl umoŜliwia przy pomocy specjalnego języka programowania sporządzenie kompletnego programu obróbki (np. powierzchnie swobodne, koordynacja kanałów, ...) i ułatwia technologom pracochłonne programowanie.
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
7
Spis tre ści Słowo wst ępne ................................................ .......................................................................................3
1 Elastyczne programowanie NC...................... .....................................................................................15
1.1 Zmienne ..................................................................................................................................15 1.1.1 Informacje ogólne dot. zmiennych ..........................................................................................15 1.1.2 Zmienne systemowe...............................................................................................................17 1.1.3 Parametry obliczeniowe (R)....................................................................................................18 1.1.4 Zmienne definiowane przez uŜytkownika (DEF) ....................................................................22
1.2 Definicje tablic (DEF, SET, REP)............................................................................................28
1.3 Programowanie pośrednie......................................................................................................36 1.3.1 Pośrednie programowanie w G-Code.....................................................................................39 1.3.2 Pośrednie programowanie atrybutów pozycji (GP) ................................................................41 1.3.3 Pośrednie programowanie wierszy programu obróbki (execstring) .......................................44
1.4 Przyporządkowania.................................................................................................................45
1.5 Funkcje obliczeniowe..............................................................................................................46
1.6 Operacje porównania i operacje logiczne...............................................................................48
1.7 Korekcja dokładności w przypadku błędów porównania (TRUNC) ........................................50
1.8 Minimum, maximum i zakres zmiennych (MINVAL, MAXVAL, BOUND) ...............................53
1.9 Priorytet operacji .....................................................................................................................55
1.10 MoŜliwe konwersje typu..........................................................................................................56
1.11 Operacje na łańcuchach znaków............................................................................................57 1.11.1 Konwersja typu na STRING (AXSTRING)..............................................................................58 1.11.2 Konwersja typu ze STRING (NUMBER, ISNUMBER, AXNAME) ..........................................59 1.11.3 Powiązanie łańcuchów znaków (<<).......................................................................................60 1.11.4 Zmiana na litery małe/duŜe (TOLOVER, TOUPPER) ............................................................61 1.11.5 Określenie długości łańcucha znaków (STRLEN) ..................................................................63 1.11.6 Szukanie znaku/łańcucha znaków w łańcuchu znaków (INDEX, RINDEX, MINDEX, MATCH) ....................................................................................64 1.11.7 Wybór częściowego łańcucha znaków (SUBSTR) .................................................................66 1.11.8 Wybór pojedynczego znaku (STRINGVAR, STRINGFELD) ..................................................67
1.12 Skoki i rozgałęzienia w programie ..........................................................................................69 1.12.1 Skok do początku programu (GOTOS)...................................................................................69 1.12.2 Skoki w programie do znaczników skoku (GOTOB, GOTOF, GOTO, GOTOC)....................70 1.12.3 Rozgałęzienie programu (CASE, DAFAULT) .........................................................................73
1.13 Powtórzenie części programu (REPEAT, REPEATB)............................................................76
1.14 Struktury kontrolne..................................................................................................................83 1.14.1 Pętla programowa z alternatywą (IF, ELSE, ENDIF)..............................................................85 1.14.2 Pętla programowa bez końca (LOOP,ENDLOOP) .................................................................87 1.14.3 Pętla FOR (FOR... TO..., ENDFOR).......................................................................................88 1.14.4 Pętla programowa z warunkiem na początku (WHILE, ENDWHILE).....................................90 1.14.5 Pętla programowa z warunkiem na końcu (REPEAT, UNTIL) ...............................................91
Spis treści
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
8
1.14.6 Przykład programu z kaskadowanymi strukturami kontrolnymi ..............................................92
1.15 Koordynacja programu (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) ................................................................................................................................93
1.16 Procedura przerwania (ASUP)..............................................................................................100 1.16.1 Funkcja procedury przerwania..............................................................................................100 1.16.2 Sporządzenie procedury przerwania ....................................................................................101 1.16.3 Przyporządkowanie i wystartowanie procedury przerwania (SETINT,PRIO) .......................102 1.16.4 Wyłączenie aktywności/uaktywnienie przyporządkowania procedury przerwania (DISABLE, ENABLE)..........................................................................................104 1.16.5 Skasowanie przyporządkowania procedury przerwania (CLRINT) ......................................105 1.16.6 Szybkie cofnięcie od konturu (SETINT LIFTFAST, ALF)......................................................106 1.16.7 Kierunek ruchu przy szybkim cofnięciu od konturu...............................................................108 1.16.8 Przebieg ruchów w przypadku procedur przerwania ............................................................112
1.17 Zamiana osi, zamiana wrzecion (RELEASE, GET, GRTD)..................................................113
1.18 Przekazanie osi do innego kanału (AXTOCHAN).................................................................118
1.19 Ustawienie działania danych maszynowych (NEWCONF)...................................................120
1.20 Zapisanie pliku (WRITE) .......................................................................................................121
1.21 Skasowanie pliku (DELETE).................................................................................................124
1.22 Czytanie wierszy w pliku (READ)..........................................................................................125
1.23 Plik znajduje się w pamięci aplikacji NCK (ISFILE) ..............................................................128
1.24 Informacje o pliku (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) ....................129
1.25 Utworzenie sumy kontrolnej po tablicy (CHECKSUM) .........................................................132
1.26 Zaokrąglenie do góry (ROUNDUP).......................................................................................134
1.27 Technika podprogramów.......................................................................................................135 1.27.1 Podprogramy.........................................................................................................................135 1.27.2 Podprogramy z atrybutem SAVE (SAVE) .............................................................................138 1.27.3 Podprogramy z przekazaniem parametrów (PROC, VAR)...................................................140 1.27.4 Wywoływanie podprogramów (L wzgl. EXTERN).................................................................145 1.27.5 Programowalny skok wsteczny w podprogramie (RET) .......................................................152 1.27.6 Podprogram z powtórzeniem programu (P)..........................................................................159 1.27.7 Modalne wywołanie podprogramu (MCALL).........................................................................161 1.27.8 Pośrednie wywołanie podprogramu (CALL) .........................................................................163 1.27.9 Wykonanie części programu w pośrednio wywołanym podprogramie (CALL BLOCK... TO..)...........................................................................................................164 1.27.10 Pośrednie wywołanie programu zaprogramowanego w języku ISO (ISOCALL) ..................166 1.27.11 Wywołanie podprogramu z podaniem ścieŜki i parametrami (PCALL).................................167 1.27.12 Rozszerzenie ścieŜki szukania przy wywoływaniu podprogramu (CALLPATH)...................168 1.27.13 Wykonanie podprogramu ze źródła zewnętrznego (EXTCALL) ...........................................170 1.27.14 Maskowanie pojedynczego bloku (SBLOF, SBLON)............................................................174 1.27.15 Maskowanie aktualnego wyświetlania bloku (DISPLOF)......................................................180 1.27.16 Oznakowanie programów przygotowaniem (PREPRO) .......................................................182 1.27.17 Cykle: parametryzowanie cykli uŜytkownika .........................................................................183
1.28 Technika makr (DEFINE ... AS) ............................................................................................188
2 Zarządzanie plikami i programami........................ ............................................................................191
2.1 Pamięć programów ...............................................................................................................191
2.2 Pamięć robocza (CHANDATA, COMPLETE, INITIAL).........................................................197
Spis treści
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
9
2.3 Definiowanie danych uŜytkownika (DEF) .............................................................................200
2.4 Stopnie ochrony dla danych uŜytkownika, MD, SD i polecenia językowe NC .....................204 2.4.1 Definiowanie stopni ochrony dla danych uŜytkownika (APR, APW) ....................................204 2.4.2 Automatyczne uaktywnienie GUD i MAC .............................................................................207 2.4.3 Zmiana stopni ochrony dla danych maszynowych i nastawczych (REDEF, APR, APW)............................................................................................................208 2.4.4 Zmiana stopni ochrony dla elementów językowych NC i zmiennych systemowych (REDEF, APX, APW) .....................................................................................209
2.5 Zmiana atrybutów elementów językowych NC (REDEF) .....................................................212
2.6 Instrukcja strukturyzacji w edytorze kroków (SEFORM).......................................................220
3 Obszary ochrony .................................. ..............................................................................................221
3.1 Ustalenie obszarów ochrony (CPROTDEF, NPROTDEF) ...................................................221
3.2 Uaktywnienie/wyłączenie obszarów ochrony (CPROT, NPROT).........................................224
3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenie pola roboczego i ograniczenia softwareowe.................................................................................228
4 Specjalne polecenia dot. drogi ................... ......................................................................................237
4.1 Wykonanie ruchu do pozycji kodowanej (CAC, CIC, CDC, CACP, CACN) .........................237
4.2 Interpolacja spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) ........................................................................238
4.3 Zespół spline (SPLINEPATH)...............................................................................................250
4.4 Kompresja bloku NC (COMPON, COMPCURV, COMPCAD, COMPOF)............................252
4.5 Interpolacja wielomianowa (POLY, POLYPATH, PO, PL) ...................................................255
4.6 Ustawiane odniesienie do toru (SPATH, UPATH)................................................................262
4.7 Pomiar przy uŜyciu czujnika przełączającego (MEAS, MEAW) ...........................................265
4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja ............................268
4.9 Funkcje specjalne dla uŜytkownika OEM (OEMIPO1, OEMIPO2, G810 bis G829).....................................................................................................................278
4.10 Redukcja posuwu ze zwłoką na naroŜnikach (FENDNORM, G62, G621) ...........................279
4.11 Programowane kryterium końca ruchu (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) ........................................................................................................280
4.12 Programowany zestaw parametrów serwo...........................................................................284
5 Transformacje współrz ędnych (FRAME) ...................................... ...................................................285
5.1 Transformacja współrzędnych poprzez zmienną frame .......................................................285 5.1.1 Predefiniowane zmienne frame ($P_BFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) ...........................................................................................287
5.2 Przyporządkowanie wartości zmienne frame / frame...........................................................293 5.2.1 Bezpośrednie przyporządkowanie wartości (wartość osi, kąt, skala)...................................293 5.2.2 Odczyt i zmiana komponentów frame (TR, FI, RT, SC, MI) .................................................296 5.2.3 Powiązanie kompletnych frame............................................................................................298 5.2.4 Definicja nowego frame (DEF FRAME) ................................................................................299
5.3 Przesunięcie zgrubne i dokładne (CFINE, CTRANS)...........................................................300
5.4 Zewnętrzne przesunięcie punktu zerowego .........................................................................302
5.5 Przesunięcie Preset (PRESETON).......................................................................................303
Spis treści
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
10
5.6 Obliczenie frame z 3 punktów pomiarowych w przestrzeni (MEAFRAME) ..........................304
5.7 Frame globalne NCU ............................................................................................................308 5.7.1 Frame specyficzne dla kanału ($P_CHBFR, $P_UBFR)......................................................310 5.7.2 Frame działające w kanale ...................................................................................................311
6 Transformacje.................................... .................................................................................................317
6.1 Ogólne programowanie rodzajów transformacji ...................................................................317 6.1.1 Ruchy orientacji przy transformacjach..................................................................................320 6.1.2 Przegląd transformacji orientacji TRAORI ............................................................................324
6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI) .........................................................324 6.2.1 ZaleŜności ogólne głowicy narzędziowej Kardana ...............................................................326 6.2.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI) .........................................................330 6.2.3 Warianty programowania orientacji i połoŜenie podstawowe (OTIRESET)..........................332 6.2.4 Programowanie orientacji narzędzia (A..., B..., C..., LEAD, TILT)........................................334 6.2.5 Frezowanie czołowe (frezowanie 3D A4, B4, C4, A5, B5, C%............................................342 6.2.6 Odniesienie osi orientacji (ORIWKS, ORIMKS)....................................................................343 6.2.7 Programowanie osi orientacji (ORIAXES, ORIVECT, ORIEULER, ORIRPY)......................346 6.2.8 Programowanie orientacji wzdłuŜ pobocznicy stoŜka (ORIPLANE, ORICONxx) .................349 6.2.9 Programowanie orientacji dwóch punktów kontaktowych (ORICURVE, PO[XH]=, PO[YH]=, PO[ZH]=) ..............................................................................................354
6.3. Wielomiany orientacji (PO[kąt], PO[współrzędna]) ...............................................................356
6.4 Obroty orientacji narzędzia (ORIROTA, ORIROTR/TT, ORIROTC, THETA).......................358
6.5 Orientacje odniesione do toru ...............................................................................................360 6.5.1 Rodzaje orientacji w stosunku do toru ..................................................................................360 6.5.2 Odniesiony do toru obrót orientacji narzędzia (ORIPATH, ORIPATHS, kąt obrotu) .............................................................................................................................362 6.5.3 Odniesiona do toru interpolacja obrotu narzędzia (ORIROTC, THETA) ..............................364 6.5.4 Wygładzanie przebiegu orientacji (ORIPATHS A8=, B8=, C8=) ..........................................367
6.6 Kompresja orientacji (COMPON, COMPCURV, COMPCAD) ..............................................369
6.7 Transformacja kinematyczna ................................................................................................373 6.7.1 Obróbka frezarska na częściach toczonych (TRANSMIT) ...................................................373 6.7.2 Transformacja pobocznicy walca (TRACYL) ........................................................................376 6.7.3 Oś skośna (TRAANG)...........................................................................................................386 6.7.4 Programowanie osi skośnej (G05, G07) ...............................................................................389
6.8 Ruch kartezjański PTP..........................................................................................................391 6.8.1 PTP w przypadku TRANSMIT ..............................................................................................398
6.9 Warunki brzegowe przy wyborze transformacji ....................................................................402
6.10 Cofnięcie wybory transformacji (TRAFOOF) ........................................................................403
6.11 Transformacje powiązane (TRACON, TRAFOOF)...............................................................404
7 Korekcje narz ędzi ................................................ ...............................................................................407
7.1 Pamięć korekcji .....................................................................................................................407
7.2 Korekcje addytywne ..............................................................................................................410 7.2.1 Wybranie korekcji addytywnych (DL)....................................................................................410 7.2.2 Ustalenie wartości zuŜycia i ustawiania ($TC_SCPxy[t,d], $TC_ECPxy[t,d]).......................412 7.2.3 Skasowanie korekcji addytywnych (DELDL).........................................................................413
7.3 Traktowanie specjalne korekcji narzędzia ............................................................................414 7.3.1 Poddanie długości narzędzi lustrzanemu odbiciu.................................................................416 7.3.2 Ewaluacja znaku zuŜycia ......................................................................................................417
Spis treści
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
11
7.3.3 Układ współrzędnych aktywnej obróbki (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) .........................................................................................418 7.3.4 Długość narzędzia i zmiana płaszczyzny .............................................................................421 7.4 Polecenia językowe do zarządzania narzędziami (T, NEWT, DELT, GETT, SETPIECE,GETSELT) (opcja) .............................................................................................423
7.5 Korekcja narzędzia online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF).............................................................................................................426
7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...) ............................................432 7.6.1 Uaktywnienie korekcji narzędzia 3D (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF, ISD) ....................................................................................................................432 7.6.2 Korekcja narzędzia 3D: frezowanie obwodowe, frezowanie czołowe ..................................434 7.6.3 Korekcja narzędzia 3D: kształty narzędzi i dane narzędzi dla frezowania czołowego ..........................................................................................................436 7.6.4 Korekcja narzędzia 3D: korekcja na torze, zakrzywienie toru, głębokość zagłębienia (CUT3DC, ISD)..................................................................................................438 7.6.5 Korekcja narzędzia 3D: naroŜniki wewnętrzne/zewnętrzne i metoda punktu przecięcia (G450/G451)............................................................................................440 7.6.6 Korekcja narzędzia 3D: frezowanie obwodowe 3D z płaszczyznami ograniczającymi.........................................................................................442 7.6.7 Korekcja narzędzia 3D: uwzględnienie płaszczyzny ograniczającej CUT3DCC, CUT3DCCD)......................................................................................................443
7.7 Orientacja narzędzia (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST) ......................447
7.8 Dowolne nadawanie numerów D, numer ostrza...................................................................454 7.8.1 Dowolne nadawanie numerów D, numer ostrza (adres CE) ................................................454 7.8.2 Dowolne nadawanie numerów D: sprawdzenie numerów D (CHKDNO) .............................455 7.8.3 Dowolne nadawanie numerów D: zmiana nazwy numerów D (GETDNO, SETDNO) ...........................................................................................................455 7.8.4 Dowolne nadawanie numerów D: określenie numeru T do zadanego numeru D (GETACTTD) .......................................................................................................457 7.8.5 Dowolne nadawanie numerów D: ustawienie nie obowiązywania numerów D (DZERO) ...............................................................................................................................458
7.9. Kinematyka nośnika narzędzi ...............................................................................................458
7.10 Korekcja długości narzędzia dla orientowalnych nośników narzędzi (TCARR, TCOABS, TCOFR)................................................................................................464
7.11 Korekcja długości narzędzia online (TOFFON, TOFFOF)....................................................468
7.12 Modyfikacja danych ostrzy w przypadku narzędzi obrotowych (CUTMOD).........................477
8 Zachowanie si ę w ruchu po torze.................................. .....................................................................47
8.1 Sterowanie styczne (TANG, TANGON, TANGOF, TLIFT, TANGDEL)................................477
8.2 Przebieg posuwu (FNORM, FLIN, FCUB, FPO) ..................................................................485
8.3 Przebieg programu z pamięcią przebiegu wyprzedzającego (STARTFIFO, STOPFIFO, STOPRE)...................................................................................491
8.4 Warunkowo przerywalne segmenty programu (DELAYFSTON, DELAYFSTOF)................493
8.5 ZapobieŜenie SERUPRO w miejscu w programie (IPTRLOCK, IPTRUNLOCK).................499
8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) ...........................................502
8.7 Sterowanie prowadzeniem ruchu .........................................................................................512 8.7.1 Procentowa korekcja powrotu (JERKLIM)............................................................................512 8.7.2 Procentowa korekcja prędkości (VELOLIM).........................................................................513
Spis treści
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
12
8.7.3 Przykład programu dla JERKLIM i VELOLIM .......................................................................514
9 SprzęŜenia osi........................................... ..........................................................................................515
9.1 Holowanie (TRAILON, TRAILOF) .........................................................................................515
9.2 Tablice krzywych (CTAB)......................................................................................................519 9.2.1 Tablice krzywych: zaleŜności ogólne ....................................................................................519 9.2.2 Tablice krzywych: funkcje punktów cięŜkości, CATBEND, CTABDEL)................................520 9.2.3 Tablice krzywych: kształty (CTABNOMEM, CTABFNO, CTABID, CTABLOCK, CTABDEL, CTABUNLOCK, CTABISLOCK, CTABEXISTS, CTABMEMTYP, CTABPERIOD, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABFPOL, CTABMPOL) .........................................................................................................................527 9.2.4 Tablice krzywych: zachowanie się na obrzeŜach (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABTMIN, CTABTMAX) ..................................................................................523 9.2.5 Tablice krzywych: dostęp do pozycji i segmentów tablic (CTAB, CTABINV, CTABSSV, CATBSEV)
9.3 Osiowe sprzęŜenie wartości wiodącej .................................................................................540
9.4 Przekładnia elektroniczna (EG) ............................................................................................546 9.4.1 Zdefiniowanie przekładni elektronicznej (EGDEF) ...............................................................547 9.4.2 Włączenie przekładni elektronicznej (EGON, EGONSYN, EGONSYNE) ............................548 9.4.3 Wyłączenie przekładni elektronicznej (EGOFS, EGOFC) ....................................................552 9.4.4 Skasowanie definicji przekładni elektronicznej (EGDEL) .....................................................553 9.4.5 Posuw na obrót (G95) / przekładnia elektroniczna (FPR) ....................................................553
9.5 Wrzeciono synchroniczne .....................................................................................................554
9.5.1 Wrzeciono synchroniczne: programowanie (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) 9.6 Zespół master/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) .................568
10 Akcje synchroniczne ruchu....................... ........................................................................................573
10.1 Podstawy...............................................................................................................................573 10.1.1 Zakres obowiązywania i kolejność obróbki (ID, IDS)............................................................576 10.1.2 Cykliczne badanie warunku (WHEN, WHENEVER, FROM, EVERY)..................................578 10.1.3 Akcje (DO).............................................................................................................................581
10.2 Operatory dla warunków i akcji .............................................................................................582
10.3 Główne zmienne dla akcji synchronicznych..........................................................................583
10.3.1 Zmienne systemowe .............................................................................................................583
10.3.2 Zmiana typu implicite ............................................................................................................586
10.3.3 Zmienne GUD .......................................................................................................................587
10.3.4 Domyślny identyfikator osi (NO_AXIS) .................................................................................590
10.3.5 Znacznik akcji synchronicznej ($AC_MARKER[n])...............................................................591
10.3.6 Parametry akcji synchronicznych ($AC_PARAM[n]) ............................................................592
10.3.7 Parametr akcji synchronicznej ($R[n]) ..................................................................................593
10.3.8 Odczyt i zapis danych maszynowych NC i danych nastawczych NC...................................594
10.3.9 Zmienne zegarowe ($AC_FIFO1[n] ... $AC_FIFO10[n]........................................................595
10.3.10 Zmienne FIFO ($AC_FIFO1[n] ... $AC_FIFO10[n]) ............................................................. 596
10.3.11 Informacja o typach bloków w interpolatorze ($AC_BLOCKTYPE, $AC_BLOCKTYPEINFO, $AC_SPLITBLOCK) ..................................599 10.4 Akcje w akcjach synchronicznych.........................................................................................602
Spis treści
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
13
10.4.1 Przegląd moŜliwych akcji w akcjach synchronicznych .........................................................602 10.4.2 Wyprowadzenie funkcji pomocniczych .................................................................................605 10.4.3 Ustawienie blokady wczytywania (RDISABLE) ....................................................................606 10.4.4 Cofnięcie zatrzymania przebiegu wyprzedzającego (STOPREOF) .................................... 606 10.4.5 Skasowanie pozostałej drogi (DELDTG) ............................................................................. 607 10.4.6 Definicja wielomianu (FCTDEF) ...........................................................................................609 10.4.7 Funkcja synchroniczna (SYNFCT) ......................................................................................612 10.4.8 Regulacja odstępu z ograniczoną korekcją ($AA_OFF_MODE)......................................... 615 10.4.9 Korekcja narzędzia online (FTOC) ...................................................................................... 618 10.4.10 Korekcja długości narzędzia online ($AA_TOFF) ................................................................620 10.4.11 Ruchy pozycjonowania .........................................................................................................622 10.4.12 Pozycjonowanie osi (POS) ..................................................................................................622 10.4.13 Pozycja w zadanym zakresie odniesienia (POSRANGE) ...................................................624 10.4.14 Wystartowanie/zatrzymanie osi ...........................................................................................626 10.4.15 Zamiana osi (RELEASE, GET) ............................................................................................627 10.4.16 Posuw osiowy (FA) ..............................................................................................................632 10.4.17 Softwareowe wyłączniki krańcowe .......................................................................................632 10.4.18 Koordynacja osi ...................................................................................................................633 10.4.19 Ustawienie wartości rzeczywistej (PRESETON) ................................................................ 634 10.4.20 Ruchy wrzeciona ..................................................................................................................635 10.4.21 Holowanie (TRAILON, TRAILOF) ........................................................................................636 10.4.22 SprzęŜenie wartości wiodącej (LEADON, LEADOF) ...........................................................638 10.4.23 Pomiar (MEAWA, MEAC) ....................................................................................................641 10.4.24 Inicjalizacja zmiennych tablicowych (SET, REP)................................................................. 642 10.4.25 Ustawienie/skasowanie znaczników czekania (SETM, CLEARM)...................................... 643 10.4.26 Reakcja na błąd (SETAL) ....................................................................................................644 10.4.27 Ruch do oporu sztywnego (FXS, FXST, FXSW, FOCON, FOCOF) ...................................645 10.4.28 Określenie kąta stycznej do toru w akcjach synchronicznych .............................................647 10.4.29 Określenie aktualnego override ............................................................................................648 10.4.30 Ocena obciąŜenia poprzez zapotrzebowanie akcji synchronicznych na czas ....................649 10.5 Cykle technologii ..................................................................................................................651 10.5.1 Zmienna kontekstowa ($P_TECCYCLE) .............................................................................655 10.5.2 Parametry Call by Value .......................................................................................................656 10.5.3 Inicjalizacja parametrów domyślnych ..................................................................................656 10.5.4 Sterowanie wykonywaniem cykli technologii (ICYCOF, ICYCON).......................................657 10.5.5 Kaskadowanie cykli technologii ...........................................................................................658 10.5.6 Cykle technologii w wykonywanych pojedynczymi blokami akcjach synchronicznych .......659 10.5.7 Struktury kontrolne (IF) ........................................................................................................659 10.5.8 Instrukcje skoku (GOTO, GOTOF, GOTOB) .......................................................................660 10.5.9 Zablokowanie, udostępnienie, cofnięcie (LOCK, UNLOCK, RESET) .................................661 10.6 Skasowanie akcji synchronicznej (CANCEL) ...................................................................... 663 10.7 Warunki brzegowe ................................................................................................................664
11 Ruch wahliwy.................................... ..................................................................................................669
11.1 Asynchroniczny ruch wahliwy (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE) .....................................................................................................................669
11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne.......................................................675
12 Tłoczenie i ci ęcie ................................................ ................................................................................685
12.1 Uaktywnienie, wyłączenie aktywności ..................................................................................685 12.1.1 Tłoczenie i cięcie wł. albo wył. (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF)..........................................................................................................................685
12.2 Automatyczne przygotowanie drogi......................................................................................689 12.2.1 Podział drogi w przypadku osi uczestniczących w tworzeniu konturu..................................692 12.2.2 Podział drogi w przypadku pojedynczych osi .......................................................................694
Spis treści
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
14
13 Szlifowanie ..................................... .....................................................................................................697
13.1 Specyficzny dla szlifowania nadzór narzędzia w programie obróbki (TMON, TMOF) .........697
14 Dalsze funkcje.................................. ...................................................................................................699
14.1 Funkcje osi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) ................699
14.2 Przełączane osie geometryczne (GEOAX) ..........................................................................702
14.3 Komunikacja link ..................................................................................................................707
14.3.1 Dostęp do obszaru pamięci globalnego dla NCU ................................................................709
14.4 Pojemnik osi (AXCTSWE, AXCTSWED) .............................................................................710
14.5 Rozszerzone zatrzymanie i wycofanie..................................................................................715
14.5.1 Reakcje autarkiczne dla napędu na ESR ............................................................................717
14.5.2 Prowadzone prze NC reakcje na wycofanie (POLF, POLFA, POLFMASK, POLFMLIN) .. 720
14.5.3 Prowadzone przez NC reakcje na zatrzymanie...................................................................725
14.5.4 Praca generatorowa/spadek napięcia obwodu pośredniego ...............................................726
14.5.5 Zatrzymanie autarkiczne dla napędu ....................................................................................726
14.5.6 Wycofanie autarkiczne dla napędu ......................................................................................727
14.6 Sprawdzenie występującego zakresu językowego NC (STRINGIS) ................................... 728
14.7 Wywołanie funkcji ISVAR i odczyt indeksu tablicy danych maszynowych ...........................734
14.8 Uczenie się charakterystyk kompensacji (QECLRNON, QECLRNOF) ...............................737
14.9 Interaktywne wywołanie okna z programu obróbki (MMC) ..................................................739
14.10 Czas przebiegu programu / licznik obrabianych przedmiotów .............................................740
14.10.1 Czas przebiegu programu / licznik obrabianych przedmiotów (przegląd) ........................... 740
14.10.2 Czas przebiegu programu ................................................................................................... 740
14.10.3 Licznik obrabianych przedmiotów .........................................................................................744
14.11 Alarmy (SETAL) ...................................................................................................................746
15 Własne programy skrawania....................... ......................................................................................749
15.1 Funkcje wspierające skrawanie ............................................................................................749
15.2 Sporządzenie tablicy konturu (CONTPRON) .......................................................................750
15.3 Sporządzenie kodowanej tablicy konturu (CONTDCON) .................................................... 757
15.4 Obliczenie punktu przecięcia między dwoma elementami konturu (INTERSEC) ................762
15.5 Przejście pojedynczymi blokami elementów konturu w tablicy (EXECTAB) .......................764
15.6 Obliczenie danych okręgu (CALCDAT) ...............................................................................765
15.7 Wyłączenie przygotowania konturu (EXECUTE) .................................................................767
16 Tablice ........................................ ......................................................................................................769
16.1 Instrukcje A - G .....................................................................................................................769
A Aneks ........................................... ...................................................................................................821
A.1 Lista skrótów .........................................................................................................................821 A.2 Feedback do dokumentacji ...................................................................................................827 A.3 Przegląd dokumentacji..........................................................................................................829
Glosariusz ......................................... ..................................................................................................831 Indeks ........................................... ...................................................................................................859
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
15
Elastyczne programowanie PN ........................ ..........1
1.1 Zmienne
1.1.1 Informacje ogólne dot. zmiennych
Działanie
Dzięki zastosowaniu zmiennych zamiast stałych wartości moŜecie kształtować program w sposób elastyczny. MoŜecie przez to reagować na sygnały, np. na wartości pomiarowe, albo moŜecie przez stosowanie zmiennych jako wartości zadanej stosować ten sam program do róŜnych geometrii.
Razem z rachunkiem zmiennych i skokami w programie otwiera to zręcznemu programiście moŜliwość załoŜenia wysoce elastycznego archiwum programów a przez to zaoszczędzenie sobie wiele pracy.
Rodzaje zmiennych
Sterowanie rozróŜnia 3 rodzaje zmiennych:
● Zmienne systemowe
Zmienne udostępniane przez sterowanie, które mogą być przetwarzane przez program (za-pis, odczyt). Zmienne systemowe informują o stanie maszyny i sterowania.
● Parametry obliczeniowe
Specjalne, predefiniowane zmienne obliczeniowe, dla których jest przewidziany adres R z następującym dalej numerem.
● Zmienne definiowane przez uŜytkownika
Zmienne definiowane przez uŜytkownika przez podanie nazwy i typu.
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
16
Typy zmiennych Jaki typ danych jest dopuszczalny dla danej zmiennej jest ustalane przy jej definiowaniu. Dla zmiennych systemowych i zmiennych predefiniowanych jest ustalony typ.
Elementarnymi typami zmiennych / typami danych są:
Typ Znaczenie Zakres warto ści
INT Wartości całkowitoliczbowe (integer) ze znakiem -2147483646 ... +2147483647
REAL Liczby real (liczby ułamkowe z kropką dziesiętną, LONG REAL według IEEE)
± (2,2 * 10-308 ... 1,8 * 10+308)
BOOL Wartości logiczne: TRUE (1) i FALSE (0) 1,0
CHAR Znak ASCII odpowiednio do kodu 0 … 255
STRING Łańcuch znaków, liczba znaków w [...] maksymalnie 200 znaków (bez zna-ków specjalnych)
AXIS Identyfikatory (adresy) osi wszystkie identyfikatory osi istniejące w kanale
FRAME Dane geometryczne dla przesunięcia, obrotu, skalowania, lustrzanego odbi-cia
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
17
1.1.2 Zmienne systemowe
Działanie Udostępniane przez sterowanie zmienne systemowe umoŜliwiają dostęp do stanów maszy-ny i sterowania, np. przesunięć punktu zerowego, korekcji narzędzi, wartości rzeczywistych, wartości pomiarowych osi itd.
Mogą one być czytane i po części równieŜ zapisywane we wszystkich bieŜących progra-mach.
Nazwa zmiennej systemowej
W celu specjalnego oznakowania nazwy zmiennych systemowych zawsze rozpoczynają się od znaku "$". Dalej następują specyficzne określenia:
1. litera Znaczenie
$M dane maszynowe
$S dane nastawcze
$T dane zarządzania narzędziami
$P zaprogramowane wartości
$A aktualne wartości
$V dane serwisowe
2. litera Znaczenie
N globalnie dla NCK
C specyficznie dla kanału
A specyficznie dla osi
Przykład:
$AA_IM oznacza "aktualna specyficzna dla osi wartość rzeczywista w układzie współrzęd-nych maszyny".
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
18
1.1.3 Parametry obliczeniowe (R)
Działanie
JeŜeli program NC ma obowiązywać nie tylko dla raz ustalonych wartości albo gdy wartości muszą dopiero zostać obliczone, wówczas moŜna w tym celu uŜyć parametrów obliczenio-wych (parametry R). Potrzebne wartości mogą przy przebiegu programu być obliczane albo ustawiane przez ste-rowanie. Inna moŜliwość polega na ustawianiu wartości parametrów obliczeniowych przez osobę obsługującą. JeŜeli parametry obliczeniowe są wyposaŜone w wartości, mogą one w programie zostać przyporządkowane innym adresom NC.
Składnia
R<n>=<wartość>
Znaczenie R Adres parametru obliczeniowego <n> Numer parametru obliczeniowego Typ: INT Zakres wartości: 0 - maksimum
Wartość maksymalna jest ustawiana poprzez daną maszy-nową i naleŜy wziąć ją z danych producenta maszyny.
PołoŜenie podstawowe: 0 - 99
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
19
<Warto ść> Wartość parametru obliczeniowego Przyporządkowanie wartości musi nastąpić we oddzielnym bloku. MoŜliwymi danymi są: <wartość rzeczywista> Typ: REAL Zakres wartości: Przy zapisie nie wykładniczym: ± (0.000 0001 ... 9999 9999)
Dla zapisu nie wykładniczego obowiązują następujące zasady: • Jest dozwolonych maksymalnie 8 miejsc
dziesiętnych. • W przypadku wartości całkowitoliczbowych
moŜna kropkę pominąć. • Znak dodatni moŜna zawsze pominąć.
Przy zapisie wykładniczym: ± (10-300
... 10+300) Dla zapisu wykładniczego obowiązują na-stępujące zasady: • Wartość wykładnika jest pisana po kombi-
nacji znaków "EX". • Jest dozwolonych maksymalnie 10 znaków
(łącznie ze znakiem liczby i kropką dzie-siętną).
• Znak dodatni moŜna zawsze pominąć.
<Funkcja obliczeniowa> Przy stosowaniu funkcji obliczeniowych / operato-rów naleŜy przestrzegać zwykłego matematyczne-go sposobu zapisu. Priorytety wykonywania są wyznaczane przez na-wiasy okrągłe. Poza tym obowiązuje zasada "krop-ka przed kreską". Dla funkcji trygonometrycznych obowiązuje poda-wanie w stopniach.
Częstą częścią składową funkcji obliczeniowych są parametry R.
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
20
Przyporz ądkowanie do innych adresów
Elastyczność programu NC powstaje przez to, Ŝe innym adresom NC te parametry oblicze-niowe albo funkcje obliczeniowe są przyporządkowywane z parametrami obliczeniowymi. Przyporządkowanie parametrów R moŜe następować do prawie wszystkich adresów (wyjąt-ki: N, G i L). Składnia: <Adres>=R<n> <adres>=<funkcja obliczeniowa z parametrami R>
Przyporządkowanie ze znakiem ujemnym jest moŜliwe.
Gdy przyporządkowania następują na adresach osi (instrukcje ruchów), wówczas jest do te-go potrzebny własny blok.
Przykłady Przyporz ądkowanie warto ści w nie wykładniczym sposobie zapisu: R0=3.5678 R1=-37.3 R3=-7 R4=-45678.1234 Przyporz ądkowanie warto ści w wykładniczym sposobie zapisu: Słowo Słowo: R0=-0.1EX-5 R0 = -0,000 001 R1=1.874EX8 R1 = 187 400 000 Przyporz ądkowanie funkcji obliczeniowej: Słowo Znaczenie:
R5=SIN(25.3) R13 odpowiada sinusowi 25,3 stopnia.
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
21
Przyporz ądkowanie funkcji obliczeniowych z parametrami R: Słowo Znaczenie: R1=R1+1 Nowe R1 wynika ze starego R1 plus 1. R1=R2+R3 R1 wynika z dodania R2 i R3. R4=R5-R6 R4 wynika z odjęcia R6 od R5. R7=R8*R9 R7 wynika z pomnoŜenia R8 i R9. R10=R11/R12 R10 wynika przez podzielenie R11 (licznik) przez R12 (mia-
nownik). R14=R1*R2+R3 Obliczenie następuje zgodnie z zasadą "kropka przed kre-
ską" ⇒ R14=(R1*R2)+R3 R15=SQRT(R1*R1+R2*R2) R15 odpowiada pierwiastkowi kwadratowemu z następującej
sumy: (R1)2+(R2)2
Przyporz ądkowanie parametrów R do adresów osi:
Kod programu
N10 G1 G91 X=R1 F300
N20 Z=R3
N30 X=-R4
N40 Z=-R5
...
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
22
1.1.4 Zmienne definiowane przez u Ŝytkownika (DEF)
Działanie
UŜytkownik moŜe zdefiniować własne zmienne i wyposaŜyć je w wartości. W odróŜnieniu od zmiennych systemowych są one określane jako zmienne definiowane przez uŜytkownika.
Zmiennymi definiowanymi przez uŜytkownika mogą być:
● Lokalne zmienne uŜytkownika (LUD; Local User Data)
LUD są zmiennymi uŜytkownika, które są definiowane w programie obróbki, który nie jest stosowany jako program główny. Są one tworzone ze startem programu obróbki i kaso-wane z jego końcem wzgl. zresetowaniem. Do LUD moŜna mieć dostęp (odczyt / zapis) tylko w ramach tego programu obróbki, w którym są zdefiniowane.
● Zmienne uŜytkownika globalne dla programu (PUD; Program Global User Data)
PUD są zmiennymi uŜytkownika, które są definiowane w programie obróbki stosowanym jako program główny. Są one tworzone ze startem programu obróbki i kasowane z jego końcem wzgl. zresetowaniem. Do PUD moŜna mieć dostęp w programie głównym i we wszystkich podprogramach programu głównego.
Warunek:
MD11120 $MN_LUD_EXTENDED_SCOPE jest ustawiona na "1".
(Gdy MD11120 jest ustawiona na "0", wówczas zmienne uŜytkownika definiowane w pro-gramie głównym działają tylko w tym programie).
● Globalne zmienne uŜytkownika (GUD; Global User Data)
GUD są zmiennymi uŜytkownika globalnymi dla NC wzgl. kanału, które pozostają zacho-wane równieŜ po Power On. Do GUD moŜna sięgać we wszystkich programach.
Definicja zmiennych definiowanych przez uŜytkownika następuje przy pomocy polecenia DEF.
Składnia
DEF <typ zmiennej> <nazwa zmiennej> = <warto ść>
Znaczenie DEF Instrukcje do definicji zmiennych uŜytkownika Zmienne uŜytkownika muszą przed ich zastosowaniem zostać zdefiniowane na
początku programu. NaleŜy przy tym przestrzegać następujących zasad: ● Definicja musi nastąpić w oddzielnym bloku. ● W bloku moŜna zdefiniować tylko jeden typ zmiennej. ● W bloku moŜna zdefiniować wiele zmiennych jednego typu.
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
23
<typ zmiennej> Podanie typu zmiennej:
INT Wartość: Wartość całkowitoliczbowa (integer) ze znakiem
Zakres wartości: -2147483646 ... +2147483647 REAL Wartość: Liczba rzeczywista (liczba ułamkowa
z kropką dziesiętną, LONG REAL we-dług IEEE)
Zakres wartości: ± (2,2 * 10-308 ... 1,8 * 10+308)
BOOL Wartość: Wartość logiczna TRUE (1) / FALSE (0)
Zakres wartości: 1, 0 CHAR Wartość: Znak ASCII Zakres wartości: kod ASCII 0 … 255 Wskazówka:
Zamiast wartości kodowej ASCII moŜe równieŜ bez-pośrednio zostać przyporządkowany znak ASCII. Na-leŜy przy tym przestrzegać, by znak ASCII pisać w cudzysłowie "...".
STRING Wartość: Łańcuch znaków (<String>) zawierają-cy:
● maksymalnie 200 znaków ● bez znaków specjalnych Zakres wartości: kod ASCII 0 … 255 Parametr: [długość łańcucha znaków>] Maksymalna liczba znaków; znajduje
się w nawiasach kwadratowych [...] za typem zmiennej.
Wskazówka: Łańcuch znaków (<string>) musi być umieszczony
w cudzysłowie "...": <String>" AXIS Wartość: ● Identyfikator (adres) osi Zakres wartości: wszystkie występujące w kanale
identyfikatory osi/wrzeciona Wskazówka: Nazwy osi z adresem rozszerzonym muszą być pi-
sane w nawiasach okrągłych. FRAME Wartość: ● Dane geometryczne dla przesunię-
cia, obrotu, skalowania, lustrzanego odbicia
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
24
<nazwa zmiennej> Nazwa zmiennej
Przy nazywaniu naleŜy przestrzegać następujących zasad:
● Nazwa zmiennej składa się z maksymalnie 31 znaków. ● Obydwa pierwsze znaki muszą być literą albo podkreślni-kiem. ● Znaku "$" nie wolno uŜywać dla zmiennych definiowanych przez uŜytkownika, poniewaŜ ten znak jest stosowany dla zmiennych systemowych.
<warto ść> Wartość zmiennej
Rodzaj przyporządkowania wartości i zakres wartości są za-leŜne od typu zmiennej (p. wyŜej.).
Wskazówka :
JeŜeli przy definicji do zmiennej nie zostanie przyporządko-wana wartość, wówczas system wyposaŜa ją w wartość "0".
Przykłady
Przykład 1: Definicje zmiennych ró Ŝnego typu
Blok Znaczenie
DEF INT LICZBA Jest tworzona zmienna typu INTEGER o nazwie "LICZBA". WyposaŜenie domyślne przez system w wartość "0".
DEF INT LICZBA=7 Jest tworzona zmienna typu INTEGER o nazwie "LICZBA". Zmienna ma wartość początkową "7".
DEF REAL GŁĘBOKOŚĆ Jest tworzona zmienna typu REAL o nazwie "GŁĘBOKOŚĆ". WyposaŜenie domyślne przez system w wartość "0.0".
DEF REAL GŁĘBOKOŚĆ=6.25 Jest tworzona zmienna typu REAL o nazwie "GŁĘBOKOŚĆ". Zmienna ma wartość początkową "6.25".
DTEIEF FER=E3A.L 1,DŁUGOŚĆ=2,LICZBA
Definicja wielu zmiennych typu REAL w jednym bloku.
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
25
DEF BOOL GDY_ZA_DUśO Jest tworzona zmienna typu BOOL o nazwie "GDY_ZA_DUśO". WyposaŜenie domyślne przez system w wartość "0" (FALSE).
DEF BOOL GDY_ZA_DUśO=1 Jest tworzona zmienna typu BOOL o nazwie "GDY_ZA_DUśO". Zmienna ma wartość początkową "1" (TRUE).
DEF BOOL GDY_ZA_DUśO =TRUE Jest tworzona zmienna typu BOOL o nazwie "GDY_ZA_DUśO". Zmienna ma wartość początkową "TRUE".
DEF BOOL GDY_ZA_DUśO =FALSE Jest tworzona zmienna typu BOOL o nazwie "GDY_ZA_DUśO". Zmienna ma wartość początkową "FALSE".
DEF CHAR GUSTAV_1=65 Jest tworzona zmienna typu CHAR o nazwie "GUSTAV_1" Zmienna ma wartość początkową ASCII-Code "65". Odpowiada to literze "A".
DEF CHAR GUSTAV_1="A" Jest tworzona zmienna typu CHAR o nazwie "GUSTAV_1" Zmienna ma jako wartość początkową znak ASCII "A".
DEF STRING[6] WZÓR_1="POCZĄTEK"
Jest tworzona zmienna typu STRING o nazwie "WZÓR_1". Maksymalna liczba znaków w łańcuchu jest ograniczona do 6. Do zmiennej jest przyporządkowywany łańcuch znaków "POCZĄTEK".
DEF AXIS NAZWA_OSI=(X1) Jest tworzona zmienna typu AXIS o nazwie "NAZWA_OSI". Zmiennej jest przyporządkowywany identyfikator osi X1.
DEF FRAME SKOS_1 Jest tworzona zmienna typu FRAME o nazwie "SKOS_1".
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
26
Przykład 2: Lokalne i programowane zmienne u Ŝytkownika (LUD / PUD)
Programowanie Komentarz
PROC MAIN ; Program główny
DEF INT VAR1 ; Definicja PUD
...
SUB2 ; Wywołanie podprogramu
...
M30
Kod programu Komentarz
PROC SUB2 ; Podprogram SUB2
DEF INT VAR2 ; DEFINICJA LUD
...
IF (VAR1==1) ; Odczyt PUD
VAR1=VAR1+1 ; Odczyt i zapis PUD
VAR2=1 ; Zapis LUD
ENDIF
SUB3 ; Wywołanie podprogramu
...
M17
Kod programu Komentarz
PROC SUB3 ; Podprogram SUB3
...
IF (VAR1==1) ; Odczyt PUD
VAR1=VAR1+1 ; Odczyt i zapis PUD
VAR2=1 ; Bł ąd: LUD z SUB2 nie jest znana
ENDIF
...
M17
Elastyczne programowanie NC 1.1 Zmienne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
27
Przykład 3: zmienne lokalne dla programu
Kod programu Komentarz
DEF INT LICZNIK
PĘTLA: G0 X… ; P ętla
LICZNIK=LICZNIK+1
IF LICZNIK<50 GOTOB P ĘTLA
M30
Przykład 4: odpytanie na istniej ące osie geometryczne
Kod programu Komentarz
DEF AXIS ODCI ĘTA ; 1. o ś geometryczna
IF ISAXIS(1) == FALSE GOTOF DALEJ
ODCIĘTA = $P_AXN1
DALEJ:
Przykład 5: po średnie programowanie wrzeciona
Kod programu Komentarz
DEF AXIS SPINDLE
SPINDLE=(S1)
OVRA[SPINDLE]=80 ; Override wrzeciona = 80%
SPINDLE=(S3)
…
Elastyczne programowanie NC 1.2 Definicje tablic (DEF, SET, REP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
28
1.2 Definicje tablic (DEF, SET, REP) Działanie
Zmienne systemowe jak teŜ zmienne GUD albo LUD mogą być zdefiniowane jako tablice 1- do 3-wymiarowe (array). ● 1-wymiarowa: DEF <typ danych> <nazwa zmiennej>[<n>] ● 2-wymiarowa: DEF <typ danych> <nazwa zmiennej>[<n>,<m>]
● 3-wymiarowa: DEF <typ danych> <nazwa zmiennej>[<n>,<m>,<o>]
Wskazówka
Zmienne STRING mogą być tworzone tylko 2-wymiarowo.
Typy danych
Są obsługiwane następujące typy danych:
● w przypadku zmiennych systemowych: BOOL, CHAR, INT, REAL, STRING, AXIS
● w przypadku zmiennych GUD albo LUD: BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME
Inicjalizacja tablic
Elementom tablicy mogą podczas przebiegu programu albo juŜ przy definicji tablicy zostać przyporządkowane wartości inicjalizacyjne.
Są dwie moŜliwości inicjalizacji:
● Inicjalizacja z listą wartości (SET)
● Inicjalizacja z takimi samymi wartościami (REP)
Wskazówka
Zmienne typu FRAME nie dają się inicjalizować.
Kolejno ść przy inicjalizacji
W przypadku tablic 2- albo 3-wymiarowych prawy indeks tablicy jest najpierw inkrementowa-ny.
Elastyczne programowanie NC 1.2 Definicje tablic (DEF, SET, REP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
29
Składnia
Definicja tablicy (DEF):
DEF <typ danych> <nazwa zmiennej>[<n>,<m>,<o>]
DEF STRING[<długo ść ła ńcucha znaków>] <nazwa zmiennej>[<n>,<m>]
Inicjalizacja z list ą warto ści (SET):
● przy definicji tablicy :
DEF <typ danych> <nazwa zmiennej> [<n>,<m>,<o>]=SET(<WARTO ŚĆ1>,<WARTOŚĆ2>,...) DEF <typ danych> <nazwa zmien-nej>[<n>,<m>,<o>]=(<WARTO ŚĆ1>,<warto ść2>,...)
Wskazówka
Przy definicji tablicy zastosowanie polecenia SET jest opcjonalne.
● w przebiegu programu
<nazwa zmiennej>[<n>,<m>,<o>]=SET(<WARTO ŚĆ1>,<Warto ść2>,...)
Inicjalizacja z takimi samymi warto ściami (REP)
● przy definicji tablicy
DEF <typ danych> <nazwa zmiennej>[<n>,<m>,<o>]=REP( <warto ść> DEF <typ danych> <nazwa zmiennej> [<n>, <m>, <o>] = REP (<warto ść>, <liczba_elementów_tablicy>)
● w przebiegu programu <nazwa zmiennej>[<n>,<m>,<o>]=REP(<warto ść>) <nazwa zmiennej> [<n>,<m>,<o>]=REP(<warto ść>,<liczba_elementów_tablicy>)
Znaczenie
DEF Polecenie definicji zmiennej
<typ danych> Typ danych zmiennej ● w przypadku zmiennych systemowych: BOOL, CHAR, INT, REAL, STRING, AXIS ● w przypadku zmiennych GUD albo LUD: BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME
<długo ść ła ńcucha znaków>
Maksymalna liczba znaków w przypadku typu danych STRING
Elastyczne programowanie NC 1.2 Definicje tablic (DEF, SET, REP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
30
<nazwa zmiennej> Nazwa zmiennej systemowej, zmiennej GUD albo LUD
[<n>,<m>,<o>] Indeks tablicy
<n> Wielkość tablicy dla 1. wymiaru Typ: INT (w przypadku zmiennej systemowej rów-nieŜ AXIS) Zakres wartości 0 < n ≤ 32767
<m> Wielkość tablicy dla 2. wymiaru Typ: INT (w przypadku zmiennej systemowej rów-nieŜ AXIS) Zakres wartości 0 < m ≤ 32767
<o> Wielkość tablicy dla 3. wymiaru Typ: INT (w przypadku zmiennej systemowej rów-nieŜ AXIS) Zakres wartości 0 < o ≤ 32767
SET Polecenie do inicjalizacji elementów tablicy z wartościami podanej listy wartości
(<WARTOŚĆ1>,<Warto ść2>,...) Lista wartości
REP Polecenie do inicjalizacji elementów tablicy z podaną <wartością>
<WARTOŚĆ> Wartość, którą mają zostać zapisane elementy ta-blicy przy inicjalizacji z REP.
<liczba elementów tablicy Liczba elementów tablicy, które przy inicjalizacji z REP mają zostać zapisane podaną <wartością>. Pozostałe elementy tablicy są domyślnie wyposaŜa-ne w wartość zero (inicjalizacja przy definicji tablicy) wzgl. pozostają bez zmian (inicjalizacja podczas przebiegu programu). Gdy ten parametr nie jest zaprogramowany, wów-czas wszystkie elementy tablic są inicjalizowane z podaną <wartością>. Gdy wartość tego parametru jest równa zero, wów-czas wynik jest zaleŜny od chwili inicjalizacji: ● Inicjalizacja przy definicji tablicy:
→ Wszystkie elementy są wyposaŜane w war-tość domyślną zero
● Inicjalizacja podczas przebiegu programu: → Aktualne elementy tablicy pozostają bez zmian.
Elastyczne programowanie NC 1.2 Definicje tablic (DEF, SET, REP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
31
Indeks tablicy [..., ..., ...]
Do elementów tablicy moŜna sięgać poprzez indeks tablicy. Poprzez ten indeks tablicy ele-menty tablicy mogą być albo wyposaŜane w wartości albo wartości elementów tablicy mogą być czytane.
Pierwszy element tablicy rozpoczyna się:
● w przypadku tablicy 1-wymiarowej od indeksu [0]
● w przypadku tablicy 2-wymiarowej od indeksu [0,0]
● w przypadku tablicy 3-wymiarowej od indeksu [0,0,0]
PoniŜszy rysunek pokazuje indeksy dla tablicy 2-wymiarowej:
Przykład:
Maksymalnie moŜliwym indeksem w przypadku tablicy 2-wymiarowej o wielkości [3,4] jest [2,3].
Elastyczne programowanie NC 1.2 Definicje tablic (DEF, SET, REP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
32
Przykład: inicjalizacja kompletnych tablic zmiennyc h
Aktualna zajętość patrz rysunek.
Kod programu N10 DEF REAL TABLICA1[10,3]=SET(0,0,0,10,11,12,20,2 0,20,30,30,30,40,40,40,) N20 TABLICA1[0,0]=REP(100) N30 TABLICA1[5,0]=REP(-100) N40 TABLICA1[0,0]=SET(0,1,2,-10,-11,-12,-20,-20,-20 ,-30, , , ,-40,-40,-50,-60,-70) N50 TABLICA1[8,1]=SET(8.1,8.2,9.0,9.1,9.2)
0
1
2
3
4
5
6
7
8
9
0
0
10
20
30
40
0
0
0
0
0
1
0
11
20
30
40
0
0
0
0
0
2
0
12
20
30
40
0
0
0
0
0
0
100
100
100
100
100
-100
-100
-100
-100
-100
1
100
100
100
100
100
-100
-100
-100
-100
-100
2
100
100
100
100
100
-100
-100
-100
-100
-100
0
0
-10
-20
-30
0
-50
-100
-100
-100
9.0
1
1
-11
-20
0
-40
-60
-100
-100
8.1
9.1
2
2
-12
-20
0
-40
-70
-100
-100
8.2
9.2
1,2N10: Initicjalizacja przy definicji
N20/N30: Inicjalizacja z identyczną wartością
N40/N50: Inicjalizacjaz róŜnymi wartościami
Elementy tablicy [5.0]do [9,2] zostały zainicjalizo- wane z wartością domyślną(0,0)..
Elementy tablicy [3,1]do [4,0] zostały zainicjalizo-wane z wartością domyślną(0.0). Elementów tablicy [6,0] do [8,0] nie zmieniono.
1
2Indeks tablicy
Elastyczne programowanie NC 1.2 Definicje tablic (DEF, SET, REP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
33
Dalsze informacje
Inicjalizacja z listami warto ści (SET) przy definicji tablicy
● Jest przyporządkowywanych tyle elementów tablicy, ile jest zaprogramowanych wartości inicjalizacyjnych.
● Elementy tablicy bez wartości (luki na liście wartości) są automatycznie wyposaŜane w wartość 0.
● W przypadku zmiennych typu AXIS luki na liście wartości są niedopuszczalne.
● Gdy zostanie zaprogramowanych więcej elementów niŜ jest pozostałych elementów tabli-cy, system wyzwala alarm.
Inicjalizacja z listami warto ści (SET) w przebiegu programu
Zasadniczo inicjalizacja w przebiegu programu działa dokładnie tak samo jak inicjalizacja przy definicji tablicy. Dodatkowo jednak inicjalizacja w przebiegu programu stwarza następu-jące moŜliwości:
● Jako wartości są równieŜ dozwolone wyraŜenia.
● Inicjalizacja rozpoczyna się od zaprogramowanych indeksów tablicy. Przez to moŜna w sposób celowy wyposaŜać w wartości tablice częściowe.
Przykład:
Kod programu Komentarz DEF INT FELD[5,5] ; Definicja tablicy FELD[0,0]=SET(1,2,3,4,5) ; Przyporz ądkowanie zaprogramowanej li-
sty warto ści od indeksu tablicy [0,0]. FELD[2,3]=SET(VARIABLE,4*5.6) ; Przyporz ądkowanie zaprogramowanych
wyra Ŝeń od indeksu tablicy [2,3].
W przypadku zmiennej osi indeks osi nie przejdzie.
Przykład: $MA_AX_VELO_LIMIT[1,AX1]=SET(1.1,2.2,3.3)
Odpowiada: $MA_AX_VELO_LIMIT[1,AX1]=1.1 $MA_AX_VELO_LIMIT[2,AX1]=2.2 $MA_AX_VELO_LIMIT[3,AX1]=3.3
Elastyczne programowanie NC 1.2 Definicje tablic (DEF, SET, REP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
34
Inicjalizacja z takimi samymi warto ściami (REP) przy definicji tablicy
● Wszystkie elementy tablice są wyposaŜane w taką samą wartość (stała). ● Zmienne typu FRAME nie dają się inicjalizować.
Przykład 1: Ustawianie zmiennych tablicowych zakresowo na określoną wartość
Kod programu Komentarz DEF REAL varName[30]=REP(3.5,4) ; Zdefiniowanie ta blicy zmiennych
varName i zainicjalizowanie zakresu varName[0] do varName[3] z warto ści ą 3,5.
varName[5]=REP(4.5,10) ; Ustawienie zakresu varNam e[5] do varName[14] na warto ść 4.
Przykład 2. Ustawienie parametrów R zakresowo na określoną wartość
Kod programu Komentarz R10=REP(2.4,15) ; Ustawienie R10 do R24 na warto ść 2,4.
Inicjalizacja z takimi samymi warto ściami (REP) w przebiegu programu
● Jako wartości są tutaj moŜliwe równieŜ wyraŜenia. ● Wszystkie elementy tablicy są inicjalizowane z taką samą wartością. ● Inicjalizacja rozpoczyna się od zaprogramowanych indeksów tablicy. Przez to moŜna
w sposób celowy wyposaŜać w wartości tablice częściowe.
Przykład:
Kod programu Komentarz DEF FRAME FRM[10] ; Definicja tablicy FRM[5]=REP(CTRANS(X,5)) ;
Elastyczne programowanie NC 1.2 Definicje tablic (DEF, SET, REP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
35
Zapotrzebowanie na pami ęć
Typ zmiennej Zapotrzebowanie na pami ęć na element
BOOL 1 bajt
CHAR 1 bajt
INT 4 bajty
REAL 8 bajtów
STRING długość łańcucha znaków + 1
FRAME ∼ 400 bajtów, zaleŜnie od liczby osi
AXIS 4 bajty
Wskazówka
Maksymalna wielkość tablicy określa wielkość bloków pamięci, w których następuje zarzą-dzanie pamięcią zmiennych. Ta pamięć powinna zostać ustawiona nie większa, niŜ jest to konieczne.
Standard: 812 bajtów
Zalecane ustawienie gdy nie są definiowane duŜe tablice: 256 bajtów
Elastyczne programowanie NC 1.3 Programowanie pośrednie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
36
1.3 Programowanie po średnie Działanie
Przy pośrednim programowaniu adresów adres rozszerzony (indeks) jest zastępowany przez zmienną odpowiedniego typu.
Wskazówka
Programowanie pośrednie adresów jest niemoŜliwe przy:
• N (numer bloku)
• L (podprogram)
• adresach ustawianych
(np. X[1] zamiast X1 jest niedopuszczalne)
Składnia
<ADRES> [<indeks>]
Znaczenie <ADRES>[...] Adres stały z rozszerzeniem (indeks) <Indeks> Zmienna np. dla numeru wrzeciona, osi, ...
Przykłady
Przykład 1: programowanie po średnie numeru wrzeciona
Programowanie bezpośrednie:
Kod programu Komentarz S1=300 ; Pr ędko ść obrotowa 300 obr/min dla wrzeciona o numerze 1.
Programowanie pośrednie:
Kod programu Komentarz DEF INT SPINU=1 ; Definicja zmiennej typu INT i prz yporz ądkowanie warto-
ści. S[SPINU]=300 ; Pr ędko ść obrotowa 300 obr/min dla wrzeciona, którego
numer jest zapisany w zmiennej SPINU (w tym przykła dzie wrzeciono o numerze 1).
Elastyczne programowanie NC 1.3 Programowanie pośrednie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
37
Przykład 2: Programowanie po średnie jednej osi
Programowanie bezpośrednie:
Kod programu Komentarz FA[U]=300 ; Posuw 300 dla osi "U".
Programowanie pośrednie: Kod programu Komentarz DEF AXIS AXVAR2=U ; Definicja jednej zmiennej typu AXIS i przyporz ąd-
kowanie warto ści. FA[AXVAR2]=300 ; Posuw 300 dla osi, której nazwa a dresowa jest za-
pisana w zmiennej o nazwie AXVAR2.
Przykład 3: Programowanie po średnie jednej osi
Programowanie bezpośrednie: Kod programu Komentarz $AA_MM[X] ; Odczyt warto ści zmierzonej przez czujnik po-
miarowy (MKS) osi "X".
Programowanie pośrednie: Kod programu Komentarz DEF AXIS AXVAR3=X ; Definicja jednej zmiennej typu AXIS
i przyporz ądkowanie warto ści. $AA_MM[AXVAR3] ; Odczyt warto ści zmierzonej przez czujnik po-
miarowy (MKS) dla osi, której nazwa jest zapisa-na w zmiennej AXVAR3.
Przykład 4: Programowanie po średnie jednej osi
Programowanie bezpośrednie:
Kod programu Komentarz X1=100 X2=200
Programowanie pośrednie: Kod programu Komentarz DEF AXIS AXVAR1 AXVAR2 ; Definicja dwóch zmiennych typu AXIS AXVAR1=(X1) AXVAR2=(X2) ; Przyporz ądkowanie nazw osi. AX[AXVAR1]=100 AX[AXVAR2]=200 ; Ruch w osiach, któ rych nazwy adresowe s ą
zapisane w zmiennych o nazwach AXVAR1 i AXVAR2.
Elastyczne programowanie NC 1.3 Programowanie pośrednie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
38
Przykład 5: Programowanie po średnie jednej osi
Programowanie bezpośrednie: Kod programu Komentarz G2 X100 I20
Programowanie pośrednie: Kod programu Komentarz DEF AXIS AXVAR1=X ; Definicja jednej zmiennej typu AXIS i przypo-
rz ądkowanie warto ści. G2 X100 IP[AXVAR1]=20 ; Programowanie po średnie podania punktu środko-
wego dla osi, której nazwa adresowa jest zapisa-na w zmiennej o nazwie AXVAR1
Przykład 6: Programowanie po średnie elementów tablicy
Programowanie bezpośrednie: Kod programu Komentarz DEF INT FELD1[4,5] ; Definicja pola 1.
Programowanie pośrednie: Kod programu Komentarz DEFINE DIM1 AS 4 ; W przypadku wymiarów pól ich wi elko ści musz ą zo-
sta ć podane jako stałe warto ści. DEFINE DIM2 AS 5 DEF INT FELD[DIM1,DIM2] FELD[DIM1-1,DIM2-1]=5
Przykład 7: Po średnie wywołanie programu Kod programu Komentarz CALL "L" << R10 ; Wywołanie programu, którego nume r znajduje si ę
w R10 (powi ązanie ła ńcuchów znaków).
Elastyczne programowanie NC 1.3 Programowanie pośrednie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
39
1.3.1 Pośrednie programowanie G-Code
Działanie Programowanie pośrednie G-Code umoŜliwia efektywne programowanie cykli.
Składnia
G[<grupa>]=<numer>
Znaczenie G[...] Polecenie G z rozszerzeniem (indeks)
<Grupa> Parametr indeksowy: grupa funkcji G Typ: INT
Wskazówka: Pośrednio mogą być programowane tylko modalnie działające grupy funkcji G. Działające pojedynczymi blokami grupy funkcji G są odrzucane z alar-mem.
<Numer> Zmienna dla numeru G-Code Typ: INT albo REAL
Wskazówka: W pośrednim programowaniu G-Code nie są dozwolone Ŝadne funkcje arytmetyczne. Konieczne obliczenie numeru G-Code musi nastąpić w od-dzielnym wierszu programu obróbki przed pośrednim zaprogramowaniem G-Code.
Elastyczne programowanie NC 1.3 Programowanie pośrednie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
40
Przykłady
Przykład 1: ustawiane przesuni ęcie punktu zerowego (grupa 8 funkcji G)
Kod programu Komentarz N1010 DEF INT INT_VAR N1020 INT_VAR = 2 ... N1090 G[8]=INT_VAR G1 X0 Y0 ; G54 N1100 INT_VAR=INT_VAR+1 ; Obliczenie G-Code N1110 G[8]=INT_VAR G1 X0 Y0 ; G55
Przykład 2: wybór płaszczyzny (grupa 6 funkcji G)
Kod programu Komentarz N2010 R10=$P_GG[6] ; odczyt aktywnej funkcji G gr upy funkcji G 6 ... N2090 G[6]=R10
Literatura Informacja dot. grupy funkcji G patrz:
Podręcznik programowania Podstawy; punkt "Lista funkcji G / warunków drogowych"
Elastyczne programowanie NC 1.3 Programowanie pośrednie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
41
1.3.2 Programowanie po średnie atrybutów pozycji (GP)
Działanie
Atrybuty pozycji, jak np. przyrostowe albo absolutne programowanie pozycji osi, mogą być programowane w połączeniu ze słowem kluczowym GP pośrednio jako zmienne.
Zastosowanie
Programowanie pośrednie atrybutów pozycji znajduje zastosowanie w cyklach podstawienia, poniewaŜ ma tu miejsce następująca zaleta w stosunku do programowania atrybutów pozycji jako słowo kluczowe (np. IC, AC, ... ): Dzięki programowaniu pośredniemu jako zmienne nie jest potrzebna instrukcja CASE, która rozgałęzia na wszystkie moŜliwe atrybuty pozycji.
Składnia <POLECENIE POZYCJONOWANIA> [oś/wrzeciono>] GP(<pozycja>,<atrybut pozycji) <oś/wrzeciono>=GP(<pozycja>,<atrybut pozycji)
Znaczenie
<POLECENIE POZYCJONOWANIA> [ ]
Następujące polecenia pozycjonowania mogą być programowane razem ze słowem kluczowym GP: POS, POSA,SPOS, SPOSA Poza tym są moŜliwe: • wszystkie występujące w kanale identyfikatory osi/wrzeciona: <oś/wrzeciono> • zmienny identyfikator osi/wrzeciona AX
<oś/wrzeciono> Oś/wrzeciono, które ma być pozycjonowane
GP ( ) Słowo kluczowe pozycjonowania
<pozycja> Parametr 1 Pozycja osi/wrzeciona jako stała albo zmienna
<atrybut pozycji> Parametr 2 Atrybut pozycji (np. tryb ruchu do pozycji) jako zmienna (np. $P_SUB_SPOSMODE) albo jako sło-wo kluczowe (IC, AC, ...)
Elastyczne programowanie NC 1.3 Programowanie pośrednie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
42
Wartości dawane przez zmienne mają następujące znaczenie:
Warto ść Znaczenie Dopuszczalna przy
0 Bez zmiany atrybutu pozycji
1 AC POS, POSA,SPOS, SPOSA,AX , adres osi
2 IC POS, POSA,SPOS, SPOSA,AX , adres osi
3 DC POS, POSA,SPOS, SPOSA,AX , adres osi
4 ACP POS, POSA,SPOS, SPOSA,AX , adres osi
5 ACN POS, POSA,SPOS, SPOSA,AX , adres osi
6 OC -
7 PC
-
8 DAC POS, POSA,AX , adres osi
9 DIC POS, POSA,AX , adres osi
10 RAC POS, POSA,AX , adres osi
11 RIC POS, POSA,AX , adres osi
12 CAC POS, POSA
13 CIC POS, POSA
14 CDC POS, POSA
15 CACP POS, POSA
16 CACN POS, POSA
Przykład
Przy aktywnym sprzęŜeniu wrzecion synchronicznych między wrzecionem wiodącym S1 i wrzecionem holowanym S2 jest przez polecenie SPOS w programie głównym wywoływany następujący cykl zastąpienia do pozycjonowania wrzecion.
Pozycjonowanie następuje poprzez instrukcję w N2230: SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE) SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
Pozycja, do której ma nastąpić ruch, jest odczytywana ze zmiennej systemowej $P_SUB_SPOSIT, tryb ruchu - ze zmiennej systemowej $P_SUB_SPOSMODE.
Elastyczne programowanie NC 1.3 Programowanie pośrednie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
43
Kod programu Komentarz N1000 PROC LANG_SUB DISPLOF SBLOF ... N2100 IF($P_SUB_AXFCT==2) N2110 ; Zast ąpienie polecenia SPOS / SPOSA
/ M19 przy aktywnym sprz ęŜeniu wrze-cion synchronicznych
N2185 DELAYFSTON ; Pocz ątek zakresu stopp-delay N2190 COUPOF(S2,S1) ; Wył ączenie aktywno ści sprz ęŜenia
wrzecion synchronicznych N2200 ; Pozycjonowanie wrzeciona wiod ącego
i holowanego N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE) N2220 ; Pozycjonowanie wrzeciona przy po-
mocy SPOS: N2230 SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE) SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE) N2250 ELSE N2260 ; Pozycjonowanie wrzeciona przy po-
mocy M19: N2270 M1=19 M2=19 ; Pozycjonowanie wrzeciona wiod ącego
i holowanego N2280 ENDIF N2285 DELAYFSTOF ; Koniec zakresu stopp-delay N2290 COUPON(S2,S1) ; Uaktywnienie sprz ęŜenia wrzeciona
synchronicznego N2410 ELSE N2420 ; Odpytanie na dalsze zast ąpienia ... N3300 ENDIF ... N9999 RET
Warunki brzegowe
● W akcjach synchronicznych pośrednie programowanie atrybutów pozycji jest niemoŜliwe.
Literatura Podręcznik działania Funkcje podstawowe; BAG, kanał, praca programowa, zachowanie się przy zresetowaniu (K1), rozdział: Zastępowanie funkcji NC przez podprogramy
Elastyczne programowanie NC 1.3 Programowanie pośrednie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
44
1.3.3 Programowanie po średnie wierszy programu obróbki (EXECSTRING)
Działanie Przy pomocy polecenia programu obróbki EXECSTRING jest jako parametr przekazywany łańcuch znaków, który zawiera będący właściwie do wykonania wiersz programu obróbki.
Składnia
EXECSTRING(<zmienna String >)
Parametry
EXECSTRING Przekazanie zmiennej String z będącym do wykonania wier-szem programu obróbki
<zmienna string > Parametr z będącym właściwie do wykonania wierszem pro-gramu obróbki
Wskazówka
Mogą być osadzane wszystkie układy, które mogą być programowane w części programo-wej programu obróbki. Wykluczone są przez to instrukcje PROC i DEF jak teŜ generalnie zastosowanie plików INI i DEF.
Przykład: po średni wiersz programu obróbki
Kod programu Komentarz N100 DEF STRING[100] BLOCK ; Zmienna string do uj ęcia wiersza pro-
gramu obróbki N110 DEF STRING[10] MFCT1="M7" N200 EXECSTRING(MFCT1 << "M4711") ; Wykonanie wier sza programu obróbki
"M7 M4711" N300 R10=1 N310 BLOCK="M3" N320 IF(R10) N330 BLOCK = BLOCK << MFCT1 N340 ENDIF N350 EXECSTRING(BLOCK) ; Wykonanie wiersza program u obróbki
"M3 M4711"
Elastyczne programowanie NC 1.4 Przyporządkowania
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
45
1.4 Przyporz ądkowania
Działanie Zmiennym/parametrom obliczeniowym mogą w p programie zostać przyporządkowane war-tości pasującego typu.
Programowanie
Przyporządkowanie wymaga przy tym zawsze oddzielnego bloku; w bloku jest moŜliwych wiele przyporządkowań. Przyporządkowanie do adresów osi (instrukcje wykonania ruchu) wymaga oddzielnego bloku w przeciwieństwie do przyporządkowania zmiennych.
Przyporz ądkowanie do zmiennej string
W ramach łańcucha CHAR albo STRING następuje rozróŜnianie pisania duŜymi i małymi li-terami.
JeŜeli ' albo " ma być częścią składową łańcucha, wówczas naleŜy to ująć w '...' .
Przykład:
MSG ("Viene lavorata l'''ultima figura")
wyprowadza na ekranie tekst 'Viene lavorata l'ultima figura'.
Znaki nie dające się przedstawić mogą zostać ujęte w łańcuchu znaków jako stała binarna albo szesnastkowa.
Przykład Kod programu Komentarz R1=10.518 R2=4 VARI1=45 ; Przyporz ądkowanie warto ści numerycz-
nej. X=47.11 Y=R2 R1=R3 VARI1=R4 ; Przyporz ądkowanie zmiennej pasuj ącego
typu. R4=-R5 R7=-VARI8 ; Przyporz ądkowanie z przeciwnym zna-
kiem (dozwolone tylko w przypadku typu INT i REAL).
Elastyczne programowanie NC 1.5 Funkcje obliczeniowe
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
46
1.5 Funkcje obliczeniowe
Funkcja Funkcje obliczeniowe dają się stosować przede wszystkim dla parametrów R i zmiennych (albo stałych i funkcji) typu REAL. Dopuszczalne są równieŜ typy INT i CHAR.
Funkcja obliczeniowa ATAN2( , )
Z dwóch prostopadłych do siebie wektorów funkcja oblicza kąt wektora sumarycznego. Wy-nik mieści się w zakresie czterech ćwiartek koła (–° < 0 < +180°). Baz ą dla odniesienia kąta jest zawsze druga wartość w kierunku dodatnim.
80.1
30.5
-80
30
R3=ATAN2(30.5,80.1)
R3=ATAN2(30,-80)
1. w
ekto
r
2. wektor
2. wektor
1. w
ekto
r
Kąt=20.8455°
Kąt=159.444°
Dokładno ści w przypadku polece ń porówna ń, ustawiane przy pomocy TRUNC( )
Patrz "Korekcja dokładności w przypadku poleceń porównania (TRUNC) "
Minimum, maksimum i zakres zmiennych
Patrz "Minimum, maximum i zakres zmiennych (MINVAL, MAXVAL i BOUND) "
Elastyczne programowanie NC 1.5 Funkcje obliczeniowe
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
47
Programowanie W przypadku funkcji obliczeniowych obowiązuje zwykły matematyczny sposób zapisu. Prio-rytety wykonywania są ustawiane przez nawiasy okrągłe. Dla funkcji trygonometrycznych i ich funkcji odwrotnych obowiązuje podawanie w stopniach (prawy kąt = 90°).
Operator / funkcja obliczeniowa Znaczenie + Dodawanie - Odejmowanie * MnoŜenie / Dzielenie Uwaga: (Typ INT)/(Typ INT)=(Typ REAL); przykład: 3/4 =
0.75 DIV Dzielenie, dla typu zmiennej INT i REAL Uwaga: (Typ INT)DIV(Typ INT)=(Typ INT); przykład: 3 DIV 4
= 0 MOD Dzielenie modulo (tylko typ INT) daje resztę z dzie-
lenia INT Przykład: 3 MOD 4 = 3 : Operator powiązania (w przypadku zmiennych fra-
me) Sin() Sinus COS() Cosinus TAN() Tangens ASIN() Arcus sinus ACOS() Arcus cosinus ATAN2(,) Arcustangens2 SQRT() Pierwiastek kwadratowy ABS() Wartość bezwzględna POT() 2 . Potęga (kwadrat) TRUNC() Część całkowitoliczbowa ROUND() Zaokrąglenie do liczby całkowitej LN() Logarytm naturalny EXP() Funkcja wykładnicza MINVAL() Mniejsza wartość z dwóch zmiennych MAXVAL() Większa wartość z dwóch zmiennych BOUND() Wartość zmniennej, która leŜy w zdefiniowanym za-
kresie wartości CTRANS() Przesunięcie CROT() Obrót CSCALE() Zmiana skali CMIRROR() Lustrzane odbicie
Elastyczne programowanie NC 1.6 Operacje porównania i operacje logiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
48
Przykład: inicjalizacja kompletnych tablic zmiennyc h
Kod programu Komentarz R1=R1+1 ; nowe R1 = stare R1 +1 R1=R2+R3 R4=R5-R6 R7=R8*R9 R10=R11/R12 R13=SIN(25.3) R14=R1*R2+R3 ; "kropka przed kresk ą". R14=(R1+R2)*R3 ; Najpierw obliczenie w nawiasach R15=SQRT(POT(R1)+POT(R2)) ; Nawiasy wewn ętrzne s ą obliczane najpierw:
R15 = pierwiastek kwadratowy z (R1+R2) RESFRAME= FRAME1:FRAME2 FRAME3=CTRANS(…):CROT(…)
; Przy pomocy operatora powi ązania frame ule-gaj ą powi ązaniu we frame wynikowy albo s ą przyporz ądkowywane warto ści do komponentów frame.
1.6 Operacje porównania i operacje logiczne
Działanie
Operacje porównania mogą np. być uŜywane do formułowania warunku skoku. Porównywa-ne mogą być przy tym równieŜ skomplikowane wyraŜenia.
Operacje porównania moŜna stosować do zmiennych typu CHAR, INT, REAL i BOOL. W przypadku typu CHAR jest porównywana wartość kodowa.
W przypadku typów STRING, AXIS i FRAME są moŜliwe == i <>, które dla operacji typu STRING mogą być stosowane równieŜ w akcjach synchronicznych.
Wynikiem operacji porównania jest zawsze typ BOOL.
Operatory logiczne słuŜą do powiązania wartości logicznych.
Operacje logiczne dają się stosować tylko do zmiennych typu BOOL. Poprzez wewnętrzną konwersję typu dają się one stosować równieŜ do typów danych CHAR, INT i REAL .
W przypadku operacji logicznych (boolowskich) obowiązuje dla typów danych BOOL, CHAR,INT i REAL: ● 0 odpowiada: FALSE ● nierówne 0 odpowiada: TRUE
Bitowe operatory logiczne
Na zmiennych typu CHAR i INT mogą równieŜ pojedynczymi bitami być wykonywane opera-cje logiczne. Ewentualnie konwersja typu następuje automatycznie
Elastyczne programowanie NC 1.6 Operacje porównania i operacje logiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
49
Programowanie
Operator porównania Znaczenie == równe <> nierówne > większe niŜ < mniejsze niŜ >= większe lub równe <= mniejsze lub równe Operator logiczny Znaczenie AND I OR LUB NOT negacja XOR ALBO Bitowy operator logiczny Znaczenie B_AND bitowe I B_OR bitowe LUB B_NOT bitowa negacja B_XOR bitowe ALBO
Wskazówka
W wyraŜeniach arytmetycznych moŜna przy pomocy nawiasów okrągłych ustalić kolejność wykonywania wszystkich operatorów a przez to czynić odstępstwa od normalnych zasad pierwszeństwa.
Wskazówka
Między BOOLOWSKIMI argumentami i operatorami muszą być pisane spacje.
Wskazówka
Operator B_NOT odnosi się do tylko jednego argumentu. Znajduje się on za operatorem.
Elastyczne programowanie NC 1.7 Korekcja dokładności w przypadku błędów porównania (TRUNC)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
50
Przykłady
Przykład 1: operatory porównania
IF R10>=100 GOTOF CEL
albo
R11=R10>=100
IF R11 GOTOF CEL
Wynik porównania R10>=100 jest najpierw poddawany pośredniemu zapisaniu w R11.
Przykład 2: operatory logiczne
IF (R10<50) AND ($AA_IM[X]>=17.5) GOTOF CEL
albo
IF NOT R10 GOTOB START
NOT odnosi się tylko do jednego argumentu.
Przykład 3: bitowe operatory logiczne
IF $MC_RESET_MODE_MASK B_AND 'B10000' GOTOF ACT_PLA NE
1.7 Korekcja dokładno ści w przypadku bł ędów porównania (TRUNC)
Działanie
Polecenie TRUNC odcina argument pomnoŜony przez współczynnik dokładności.
Ustawiana dokładno ść w przypadku bł ędów porównania
Dane programu obróbki typu REAL są wewnętrznie przedstawiane w formacie IEEE przy pomocy 64 bitów.
Ze względu na tę formę przedstawienia liczby dziesiętne mogą być odwzorowywane niedo-kładnie, co przy porównywaniu z idealnie obliczonymi wartościami moŜe prowadzić do nie-oczekiwanych wyników.
Równo ść względna
Aby niedokładności wywołane przez tę formę przedstawienia nie zafałszowywały przebiegu programu, następuje w przypadku poleceń porównania porównanie na równość absolutną lecz na równość względną.
Elastyczne programowanie NC 1.7 Korekcja dokładności w przypadku błędów porównania (TRUNC)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
51
Składnia
Korekcja dokładności w przypadku błędów porównania
TRUNC (R1*1000)
Znaczenie TRUNC Odcięcie miejsc po przecinku
Uwzględniona relatywna równo ść 10-12 przy
● Równość: (==) ● Nierówność: (<>) ● Większe albo równe: (>=) ● Mniejsze albo równe: (<=) ● Większe niŜ/mniejsze niŜ: (><) z równością absolutną ● Większe niŜ: (>) ● Mniejsze niŜ: (<) Kompatybilno ść
Z powodów kompatybilności moŜna wyłączyć aktywność kontroli na równość względną przy (>) i (<) przez ustawienie danej maszynowej MD10280 $MN_ PROG_FUNCTION_MASK Bit0 = 1.
Wskazówka
Porównania z danymi typu REAL są z wymienionych powodów generalnie obciąŜone pew-ną niedokładnością. Przy nie akceptowalnych odchyleniach konieczne jest przejście na rachunek INTEGER przez mnoŜenie argumentów przez współczynnik dokładności a na-stępnie obcinanie przy pomocy TRUNC.
Akcje synchroniczne
Opisane zachowanie się poleceń porównania obowiązuje równieŜ w przypadku akcji syn-chronicznych.
Elastyczne programowanie NC 1.7 Korekcja dokładności w przypadku błędów porównania (TRUNC)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
52
Przykład , rozwa Ŝania dot. dokładno ści
Kod programu Komentarz N40 R1=61.01 R2=61.02 R3=0.01 ; Przyporz ądkowanie warto ści pocz ątko-
wych N41 IF ABS(R2-R1) > R3 GOTOF BŁ ĄD ; Skok byłby dotychczas wykonany N42 M30 ; Koniec programu N43 BŁ ĄD: SETAL(66000) ; R1=61.01 R2=61.02 R3=0.01 ; Przyporz ądkowanie warto ści pocz ątko-
wych R11=TRUNC(R1*1000) R12=TRUNC(R2*1000) ; Korekcja do kładno ści R13=TRUNC(R3*1000) IF ABS(R12-R11) > R13 GOTOF BŁ ĄD ; Skok nie zostanie ju Ŝ wykonany M30 ; Koniec programu BŁĄD: SETAL(66000) ;
Przykład, utworzenie i ewaluacja ilorazu obydwu arg umentów
Kod programu Komentarz R1=61.01 R2=61.02 R3=0.01 ; Przyporz ądkowanie warto ści
pocz ątkowych IF ABS((R2-R1)/R3)-1) > 10EX-5 GOTOF BŁ ĄD ; Skok nie zostanie wykonany M30 ; Koniec programu BŁĄD: SETAL(66000) ;
Elastyczne programowanie NC 1.8 Minimum, maximum i zakres zmiennych (MINVAL, MAXVAL, BOUND)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
53
1.8 Minimum, maximum i zakres zmiennych (MINVAL, MAXVAL , BOUND)
Działanie
Przy pomocy obydwu funkcji MINVAL i MAXVAL moŜna porównać ze sobą dwie zmienne i jako wynik jest zwracana wartość mniejsza wzgl. większa.
Przy pomocy funkcji BOUND następuje sprawdzenie, czy wartość badanej zmiennej leŜy w zdefiniowanym zakresie wartości. JeŜeli tak jest, jest zwracana wartość tej zmiennej. Je-Ŝeli wartość sprawdzanej zmiennej jest większa niŜ wartość maksymalna, jest zwracana wartość maksymalna. Analogicznie przy zejściu poniŜej wartości minimalnej jest dawana wartość minimalna.
Zachowanie si ę w przypadku równo ści
W przypadku równości jest w przypadku funkcji MINVAL, MAXVAL dawana ta taka sama wartość a przy BOUND jest zwracana wartość badanej zmiennej.
Składnia
Minimum
Wynik warto ść mniejsza = <MINVAL>(<zmienna1>, <zmienna2>)
Maximum
Wynik warto ść wi ększa = <MAXVAL>(<zmienna1>, <zmienna2>)
Zakres
Warto ść zwrotna = <BOUND> (<zmienna min>, <zmienna max>, < zmienna badana>)
Wskazówka
Trzy funkcje MINVAL( ), MAXVAL( ) i BNOUND( ) mogą być programowane równieŜ w akcjach synchronicznych.
Elastyczne programowanie NC 1.8 Minimum, maximum i zakres zmiennych (MINVAL, MAXVAL, BOUND)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
54
Znaczenie
MINVAL( ) Określa mniejszą wartość z dwóch zmiennych
MAXVAL( ) Określa większą wartość z dwóch zmiennych
BOUND( ) sprawdza, czy badana zmienna leŜy w zdefiniowanym zakresie war-tości min / max
Zmienna1, Pierwsza zmienna i druga zmienna, której wartość jest Zmienna2 sprawdzana na minimum/maksimum
Zmienna Min Dolny zakres definicji wartości badanej zmiennej
Zmienna Max Górny zakres definicji wartości badanej zmiennej
Zmienna Prüf Badana zmienna, czy jej wartość leŜy w zdefiniowanym zakresie
Przykłady
Kod programu Komentarz DEF REAL rVar1 = 10.5, rVar2 = 33.7, rVar3, rVar4, rVar5, rValMin, rVal-Max, rRetVar rValMin = MINVAL(rVar1, rVar2) ; rValM in jest ustawiane na warto ść 10.5 rValMax = MAXVAL(rVar1, rVar2) rValMax jest ustaw iana na warto ść 33.7 rVar3 = 19.7 rVar3 mie ści si ę w granicach, rRetVar = BOUND(rVar1, rVar2, rVar3) rRetVar jest ustawiana na 19.7 rVar3 = 1.8 rRetVar = BOUND(rVar1, rVar2, rVar3) rVar3 le Ŝy poni Ŝej granicy minimum, rRetVar jest ustawiana na 10.5 rVar3 = 45.2 rVar3 le Ŝy powy Ŝej granicy maksimum, rRetVar = BOUND(rVar1, rVar2, rVar3) rRetVar jest ustawiana na 33.7
Elastyczne programowanie NC 1.9 Priorytet operacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
55
1.9 Priorytet operacji
Działanie Do kaŜdego operatora jest przyporządkowany priorytet. Prze ewaluacji wyraŜenia są zawsze stosowane operatory o wyŜszym priorytecie. W przypadku operatorów o takiej samej randze ewaluacja następuje od lewej do prawej. W wyraŜeniach arytmetycznych moŜna przy pomocy nawiasów okrągłych ustalić kolejność wykonywania wszystkich operatorów a przez to czynić odstępstwa od normalnych zasad pierwszeństwa.
Kolejno ść operatorów
Od najwy Ŝszego do najni Ŝszego priorytetu
1. NOT, B_NOT negacja, negacja bitowa
2. *, /, DIV, MOD mnoŜenie, dzielenie
3. +, – dodawanie, odejmowanie
4. B_AND bitowe I
5. B_XOR bitowe albo
6. B_OR
bitowe LUB
7. AND I
8. XOR ALBO
9. OR LUB
10. << powiązanie łańcuchów znaków, typ wyniku STRING
11. ==, <>, >, <, >=, <= operatory porównania
Wskazówka
Operator powiązania ":" dla frame nie moŜe występować w jednym wyraŜeniu z innymi ope-ratorami. Dlatego jest dla tego operatora nie wymagane ustalenie priorytetu.
Przykład instrukcji If
If (otto==10) and (anna==20) gotof end
Elastyczne programowanie NC 1.10 MoŜliwe konwersje typu
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
56
1.10 MoŜliwe konwersje typu
Działanie Konwertowanie typu przy przyporz ądkowaniu
Stała wartość liczbowa, zmienna albo wyraŜenie, które jest przyporządkowywane do zmien-nej, musi tolerować się z typem tej zmiennej. JeŜeli tak jest, wówczas przy przyporządkowy-waniu typ jest automatycznie zmieniany.
MoŜliwe konwersje typu
na REAL INT BOOL CHAR STRING AXIS FRAME
z
REAL tak tak* tak1) tak* – – –
NT tak tak tak1) tak2) – – –
BOOL tak tak tak tak tak – –
CHAR tak tak tak1) tak tak – –
STRING – – tak4) tak3) tak – –
AXIS – – – – – tak –
FRAME – – – – – – tak
Objaśnienia
* Przy zmianie typu z REAL na INT następuje w przypadku ułamka >=0.5 zaokrą-glenie do góry, w przeciwnym przypadku następuje zaokrąglenie do dołu (por. funkcja ROUND)
1) Wartość <>0 odpowiada TRUE, wartość==0 odpowiada FALSE 2) Gdy wartość leŜy w dopuszczalnym zakresie liczbowym 3) Gdy jest tylko jeden znak 4) Długość łańcucha znaków 0=>FALSE, w innym przypadku TRUE
Wskazówka
JeŜeli przy konwersji wartość jest większa niŜ zakres docelowy, następuje komunikat błędu.
JeŜeli w wyraŜeniu występują mieszane typy, wówczas ich dopasowanie następuje automa-tycznie. Konwersje typu są moŜliwe równieŜ w akcjach synchronicznych, patrz punkt "Akcje synchroniczne ruchu, implicite konwersja typu".
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
57
1.11 Operacje na ła ńcuchach znaków
Operacje na ła ńcuchach znaków
Oprócz klasycznych operacji "przyporządkowanie" i "porównanie" są moŜliwe następujące operacje na łańcuchach znaków: ● Konwersja typu na STRING (AXSTRING) ●Konwersja typu ze STRING (NUMBER, ISNUMBER, AXNAME) ● Powiązanie łańcuchów znaków (<<) ● Zmiana na litery małe/duŜe (TOLOWER, TOUPPER) ● Określenie długości łańcucha znaków (STRLEN) ● Szukanie znaku/łańcucha znaków w łańcuchu znaków (INDEX, RINDEX, MINDEX, MATCH) ● Wybór częściowego łańcucha znaków (SUBSTR)
● Wybór pojedynczego znaku (STRINGVAR, STRINGFELD)
Znaczenie specjalne znaku 0
Znak 0 jest wewnętrznie interpretowany jako rozpoznanie końca łańcucha znaków. JeŜeli znak zostanie zastąpiony przez znak 0, łańcuch znaków zostanie przez to skrócony.
Przykład:
Kod programu Komentarz
DEF STRING[20] STRG="O ś . stoi" STRG[6]="X" MSG(STRG) ; Daje komunikat "O ś X stoi". STRG[6]=0 MSG(STRG) ; Daje komunikat "O ś".
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
58
1.11.1 Konwersja typu na STRING (AXSTRING)
Działanie
Dzięki funkcji "konwersja typu na STRING" moŜna wykorzystywać zmienne róŜnego typu ja-ko część składową komunikatu (MSG).
Następuje przy zastosowaniu operatora <<implicite dla typów danych INT, REAL, CHAR i BOOL (patrz "Powiązanie łańcuchów znaków").
Wartość INT jest zmieniana w normalnie czytelną formę. W przypadku wartości REAL jest podawanych do 10 miejsc po przecinku.
Przy pomocy polecenia AXSTRING zmienne typu AXIS mogą być konwertowane na STRING.
Składnia <STRING_ERG>=<<<dow._typ>
<STRING_ERG>=AXSTRING(<identyfikator osi>)
Znaczenie <STRING_ERG> Zmienna dla wyniku konwersji typu Typ: STRING <dow._typ> Typy zmiennych INT, REAL, CHAR, STRING i BOOL AXSTRING Polecenie AXSTRING daje podany identyfikator osi jako łań-
cuch znaków. <identyfikator osi> Zmienna dla identyfikatora osi Typ: AXIS
Wskazówka
Zmienne FRAME nie mogą być konwertowane.
Przykłady
Przykład 1:
MSG("Pozycja:"<<$AA_IM[X])
Przykład 2: AXSTRING
Kod programu Komentarz
DEF STRING[32] STRING_ERG STRING_ERG=AXSTRING(X) ; STRING_ERG == "X"
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
59
1.11.2 Konwersja typu ze STRING (NUMBER, ISNUMBER, AXNAME)
Działanie Przy pomocy polecenia NUMBER następuje konwersja ze STRING na REAL. Konwertowal-ność moŜna sprawdzić poleceniem ISNUMBER.
Przy pomocy polecenia AXNAME łańcuch znaków jest konwertowany na typ danych AXIS.
Składnia <REAL_ERG>=NUMBER("<String>") <BOOL_ERG>=ISNUMBER("<String>") <AXIS_ERG>=AXNAME("<String>")
Znaczenie NUMBER Polecenie NUMBER zwraca liczbę przedstawioną przez <String> jako
wartość REAL. <String> Konwertowana zmienna typu STRING <REAL_ERG> Zmienna dla wyniku konwersji typu przy pomocy NUMBER Typ: REAL ISNUMBER Przy pomocy polecenia ISNUMBER moŜna sprawdzić, czy <String>
moŜna przekonwertować na poprawną liczbę. <BOOL_ERG> Zmienna dla wyniku odpytania przy pomocy ISNUMBER Typ: BOOL Wartość: TRUE ISNUMBER daje wartość TRUE, gdy <String>
przedstawia liczbę REAL poprawną według zasad języka.
FALSE JeŜeli ISNUMBER da wartość FALSE, jest przy wywołaniu NUMBER wyzwalany alarm z takim samym <String>.
AXNAME Polecenie AXNAME konwertuje podany <String> na identyfikator osi.
Wskazówka: JeŜeli <String> nie moŜe zostać przyporządkowany do Ŝadnego
z zaprojektowanych identyfikatorów osi, jest wyzwalany alarm. <AXIS_ERG> Zmienna dla wyniku konwersji typu przy pomocy AXNAME Typ: AXIS
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
60
Przykład Kod programu Komentarz DEF BOOL BOOL_ERG DEF REAL REAL_ERG DEF AXIS AXIS_ERG BOOL_ERG=ISNUMBER("1234.9876Ex-7") ; BOOL_ERG == T RUE BOOL_ERG=ISNUMBER("1234XYZ") ; BOOL_ERG == FALSE REAL_ERG=NUMBER("1234.9876Ex-7") ; REAL_ERG == 123 4.9876Ex-7 AXIS_ERG=AXNAME("X") ; AXIS_ERG == X
1.11.3 Powi ązanie łańcuchów znaków (<<)
Działanie Funkcja "Powiązanie łańcuchów znaków" stwarza moŜliwość składania łańcucha znaków z poszczególnych części składowych. Powiązanie jest realizowane poprzez operator "<<". Ten operator ma typ docelowy STRING dla wszystkich kombinacji typów bazowych CHAR, BOOL, INT, REAL i STRING. Ewentualnie niezbędna konwersja jest dokonywana według istniejących zasad.
Składnia
<dow._typ> << <dow._typ>
Znaczenie <dow._typ> Zmienna typu CHAR, BOOL, INT, REAL albo STRING << Operator do powiązania zmiennych (<dow._typ>) w złoŜony łańcuch znaków
(typ STRING). Ten operator jest dostępny równieŜ jako jedyny jako tzw. wariant "unarny".
W ten sposób jest moŜliwe wykonanie explicite konwersji typu na STRING (nie dla FRAME i AXIS):
<< <dow._typ>
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
61
Na przykład moŜna w ten sposób złoŜyć komunikat albo polecenie z list tekstowych i wsta-wić parametr (na przykład nazwę modułu):
MSG(STRG_TAB[LOAD_IDX]<<NAZWA_MODUŁU)
OSTROśNIE
Wyniki pośrednie przy wiązaniu łańcuchów znaków nie mogą przekraczać maksymalnej długości łańcucha znaków.
Wskazówka
Typy FRAME i AXIS nie mogą być stosowane razem z operatorem "<<".
Przykłady
Przykład 1: powi ązanie łańcuchów znaków
Kod programu Komentarz DEF INT IDX=2 DEF REAL VALUE=9.654 DEF STRING[20] STRG="INDEX:2" IF STRG=="Index:"<<IDX GOTOF NO_MSG MSG("Indeks:"<<IDX<<"/warto ść:"<<VALUE) ; Wy świetlenie: "indeks:2/warto ść:9.654" NO_MSG:
Przykład 2: explicite konwertowanie typu z <<
Kod programu Komentarz DEF REAL VALUE=3.5 <<VALUE ; Podana zmienna typu REAL jest konwertowa na na typ
STRING.
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
62
1.11.4 Zmiana na litery małe/du Ŝe (TOLOWER, TOUPPER)
Działanie Funkcja "zmiana na litery małe/duŜe" pozwala zmienić wszystkie litery łańcucha znaków na jednolite ich przedstawienie.
Składnia <STRING_ERG>=TOUPPER("<String>")
<STRING_ERG>=TOLOWER("<String>")
Znaczenie TOUPPER Przy pomocy polecenia TOUPPER wszystkie litery łańcucha znaków
są zamieniane na litery duŜe. TOLOWER Przy pomocy polecenia TOLOWER wszystkie litery łańcucha znaków
są zamieniane na litery małe. <String> Łańcuch znaków, który ma zostać przekonwertowany Typ: STRING <STRING_ERG> Zmienna dla wyniku konwersji Typ: STRING
Przykład PoniewaŜ jest równieŜ moŜliwe zainicjalizowanie wprowadzeń uŜytkownika na otoczce gra-ficznej, moŜna uzyskać jednolitą prezentację z literami małymi albo duŜymi:
Kod programu DEF STRING [29] STRG ...
IF "LEARN.CNC"==TOUPPER(STRG) GOTOF LOAD_LEARN
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
63
1.11.5 Określenie długo ści łańcucha znaków (STRLEN)
Działanie
Przy pomocy polecenia STRLEN jest moŜliwe określenie długości łańcucha znaków.
Składnia
<INT_ERG>=STRLEN("<STRING>")
Znaczenie STRLEN Przy pomocy polecenia STRLEN jest określana długość podanego łańcu-
cha znaków. Jest zwracana liczba znaków, które - licząc od początku łańcucha zna-
ków - nie są znakiem 0. <String> Łańcuch znaków, którego długość ma zostać określona Typ: STRING <INT_ERG> Zmienna dla wyniku określenia
Typ: INT
Przykład Funkcja w związku z dostępem do pojedynczych znaków umoŜliwia określenie końca łańcu-cha znaków: Kod programu
IF (STRLEN(MODUŁ_NAZWA)>10) GOTOF BŁ ĄD
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
64
1.11.6 Szukanie znaku/ła ńcucha znaków w ła ńcuchu znaków (INDEX, RINDEX, MINDEX, MATCH)
Działanie Funkcja ta pozwala na poszukiwanie pojedynczych znaków wzgl. ich łańcucha w innym łań-cuchu. Wyniki funkcji podają, w jakiej pozycji łańcucha znaleziono znak/łańcuch
Składnia INT_ERG = INDEX (STRING,CHAR)
Typ wyniku: INT INT_ERG = RINDEX
(STRING,CHAR) Typ wyniku: INT
INT_ERG = MINDEX (STRING,STRING) Typ wyniku: INT
INT_ERG = MATCH (STRING,STRING) Typ wyniku: INT
Semantyka
Funkcje poszukiwania: podają one pozycję w łańcucha znaków (pierwszy parametr), w któ-rym poszukiwanie zakończyło się wynikiem pozytywnym. JeŜeli znaku/łańcucha nie moŜna znaleźć, jest zwracana wartość 1. Pierwszy znak ma przy tym pozycję 0.
Znaczenie INDEX poszukuje w pierwszym parametrze znaku podanego jako drugi para-
metr (od przodu). RINDEX poszukuje w pierwszym parametrze znaku podanego jako drugi para-
metr (od tyłu). MINDEX odpowiada funkcji INDEX, oprócz tego, Ŝe jest przekazywana lista zna-
ków (jako łańcuch znaków), z których jest zwracany indeks pierwszego znalezionego znaku.
MATCH szuka łańcucha znaków w łańcuchu znaków.
W ten sposób łańcuchy znaków dają się dzielić według określonych kryteriów, na przykład w pozycjach ze spacją albo znakiem rozdzielającym przy podawaniu ścieŜki ("/").
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
65
Przykład podziału wprowadzenia na nazwy ścieŜek i modułów:
Kod programu Komentarz DEF INT PFADIDX, PROGIDX DEF STRING[26] WPROWADZENIE DEF INT LISTIDX WPROWADZENIE = "/_N_MPF_DIR/_N_EXECUTE_MPF" LISTIDX = MINDEX (WPROWADZENIE, "M,N,O,P") + 1 ; J ako warto ść
LISTIDX jest zwracane 3; po-niewa Ŝ "N" jest w parametrze WPROWADZENIE pierwszym od przodu znakiem z listy wyboru.
PFADIDX = INDEX (WPROWADZENIE, "/") +1 ; Przez to obowi ązuje: PFADIDX = 1
PROGIDX = RINDEX (WPROWADZENIE, "/") +1 ; Przez to obowi ązuje: PROGIDX = 12
Przy pomocy wprowadzonej w nast ępnym punkcie funkcji SUBSTR zmienna WPROWADZENIE daje si ę rozło Ŝyć na komponen-ty " ście Ŝka" i "moduł":
ZMIENNA = SUBSTR (WPROWADZENIE, PFADIDX, PROGIDX- ; Daje wówczas "_N_MPF_DIR"
PFADIDX-1) ZMIENNA = SUBSTR (WPROWADZENIE, PROGIDX) ; Daje w ówczas
"_N_EXECUTE_MPF"
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
66
1.11.7 Wybór cz ęściowego ła ńcucha znaków (SUBSTR)
Działanie Funkcja ta pozwala na wybranie części z łańcucha znaków. W tym celu podaje się indeks pierwszego znaku i ew. poŜądaną długość. JeŜeli informacja dot. długości nie zostanie podana, oznacza to wybór reszty łańcucha.
Składnia
STRING_ERG = SUBSTR (STRING,INT) Typ wyniku: INT
STRING_ERG = SUBSTR(STRING,INT, INT) Typ wyniku: INT
Semantyka
W pierwszym przypadku częściowy łańcuch znaków jest zwracany od pozycji, która jest ustalona przez drugi parametr, do końca łańcucha znaków.
W drugim przypadku łańcuch wynikowy jest ograniczony do maksymalnej długości, podanej przez trzeci parametr.
JeŜeli pozycja początkowa znajduje się za końcem łańcucha znaków, jest zwracany łańcuch pusty ("").
JeŜeli pozycja początkowa albo długość ma wartość ujemną, jest wyzwalany alarm.
Przykład
Kod programu Komentarz
DEF STRING[29] ERG
ERG = SUBSTR ("POKWITOWANIE:10 do 99", 10, 2) ; prz ez to obowi ązuje: ERG == "10"
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
67
1.11.8 Wybór pojedynczego znaku (STRINGVAR, STRINGF ELD)
Działanie Ta funkcja pozwala na wybór pojedynczego znaku z łańcucha. Dotyczy to zarówno dostępu odczytującego jak i dostępu zapisującego.
Składnia
CHAR_ERG = STRINGVAR [IDX] Typ wyniku: CHAR
CHAR_ERG = STRINGFELD [IDX_FELD, IDX_CHAR] Typ wyniku: CHAR
Semantyka
W ramach łańcucha jest czytany/zapisywany znak, który znajduje się w podanym miejscu. JeŜeli podanie pozycji ma wartość ujemną albo większą niŜ łańcuch znaków, następuje wy-zwolenie alarmu.
Przykład komunikatów:
Wstawienie identyfikatora osi do wstępnie przygotowanego łańcucha znaków.
Kod programu Komentarz DEF STRING [50] KOMUNIKAT = "O ś n doszła do pozycji" KOMUNIKAT [6] = "X" MSG (KOMUNIKAT) ; Daje komunikat "O ś X doszła do pozycji"
Parametry Dostęp do pojedynczych znaków jest moŜliwy tylko w przypadku zmiennych definiowanych przez uŜytkownika (dane LUD, GUD i PUD). Poza tym ten rodzaj dostępu jest przy wywołaniu podprogramu moŜliwy tylko dla parame-trów typu "Call-By-Value".
Elastyczne programowanie NC 1.11 Operacje na łańcuchach znaków
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
68
Przykład, dost ęp do pojedynczego znaku danej systemowej, maszynowe j, ...
Kod programu Komentarz DEF STRING [50] STRG DEF CHAR POKWITOWANIE … STRG = $P_MMCA POKWITOWANIE = STRG [0] ; Ewaluacja komponentu kwi towania
Przykład, dost ęp do pojedynczego znaku w przypadku parametrów Call -By-Reference
Kod programu Komentarz
DEF STRING [50] STRG DEF CHAR CHR1 EXTERN UP_CALL (VAR CHAR1) ; Parametr Call-By-Refer ence! … CHR1 = STRG [5] UP_CALL (CHR1) ; Call-By-Reference STRG [5] = CHR1
Elastyczne programowanie NC 1.12 Skoki w rozgałęzienia w programie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
69
1.12 Skoki i rozgał ęzienia w programie
1.12.1 Skok do pocz ątku programu (GOTOS)
Działanie
Przy pomocy polecenia GOTOS jest moŜliwe, w celu powtórzenia programu, przeskoczenie z powrotem na początek programu głównego albo podprogramu.
Poprzez dane maszynowe moŜna ustawić, Ŝe przy kaŜdym skoku powrotnym na początek programu:
● czas przebiegu programu jest ustawiany na "0".
● stan liczenia obrabianych przedmiotów jest zwiększany o wartość "1".
Składnia
GOTOS
Znaczenie
GOTOS Instrukcja skoku z celem początek programu. Wykonanie jest sterowane poprzez sygnał internetowy NC/PLC: DB21, ... DBX384.0 (...) Wartość: Znaczenie: 0 Bez skoku powrotnego do początku programu. Wykonywanie
programu jest kontynuowane od następnego bloku programu obróbki po GOTOS.
1 Skok powrotny do początku programu. Program obróbki jest powtarzany.
Przykład Kod programu Komentarz N10 ... ; Pocz ątek programu ... N90 GOTOS ; Skok do pocz ątku programu ...
Elastyczne programowanie NC 1.12 Skoki w rozgałęzienia w programie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
70
Warunki brzegowe
● GOTOS wyzwala wewnętrznie STOPRE (zatrzymanie przebiegu wyprzedzającego). ● W przypadku programu obróbki z definicjami danych (zmienne LUD) następuje przy po-
mocy GOTOS skok do pierwszego bloku programu po segmencie definicji, tzn. definicje danych nie są ponownie wykonywane. Definiowane zmienne zachowują dlatego wartość uzyskaną w bloku GOTOS i nie są cofane do wartości standardowych zaprogramowanych w segmencie definicji.
● W akcjach synchronicznych i cyklach technologicznych polecenie GOTOS nie jest do-stępne.
Literatura
Podręcznik działania Funkcje podstawowe; BAG, Kanał, Praca programowa, Zachowanie się przy zresetowaniu (K1), Punkt: "Praca programowa" > "Skoki w programie" > "Skok powrot-ny do początku programu"
1.12.2 Skoki w programie do znaczników skoku (GOTOB , GOTOF, GOTO, GOTOC)
Działanie
W programie mogą być ustawiane znaczniki skoku (etykiety), do których moŜna wykonywać skoki z innych miejsc tego samego programu przy pomocy poleceń GOTOF, GOTOB, GOTO wzgl. GOTOC. Wykonywanie programu jest wówczas kontynuowane z instrukcją, która nastę-puje bezpośrednio po znaczniku skoku. Przez to mogą być realizowane rozgałęzienia w ra-mach programu.
Oprócz znaczników skoku są jako cele skoku moŜliwe równieŜ numery bloków głównych i pomocniczych.
Gdy przed instrukcją skoku jest sformułowany warunek skoku (IF ... ), wówczas skok w programie następuje tylko wtedy, gdy ten warunek jest spełniony.
Składnia GOTOB <cel skoku> IF <warunek skoku> = TRUE GOTOB <cel skoku> GOTOF < cel skoku > IF <warunek skoku> = TRUE GOTOF <cel skoku> GOTO < cel skoku > IF <warunek skoku> = TRUE GOTO <cel skoku> GOTOC < cel skoku > IF <warunek skoku> = TRUE GOTOC <cel skoku>
Elastyczne programowanie NC 1.12 Skoki w rozgałęzienia w programie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
71
Znaczenie
GOTOB Instrukcja skoku z celem w kierunku początku programu.
GOTOF Instrukcja skoku z celem w kierunku końca programu.
GOTO Instrukcja skoku z szukaniem celu. Szukanie następuje w kierunku końca programu, następnie w kierunku początku programu.
GOTOC Działanie GOTO z tą róŜnicą, Ŝe alarm 14080 "Cel skoku nie został znale-ziony" jest ukrywany.
Oznacza to, Ŝe w przypadku bezowocnego szukania celu skoku wykony-wanie programu nie jest przerywane, lecz jest kontynuowane od wiersza programu następującego po poleceniu GOTOC.
<cel skoku Parametry celu skoku
MoŜliwymi danymi są:
<Znacznik skoku> Celem skoku jest umieszczony w programie znacznik skoku o nazwie zdefiniowanej przez uŜytkownika: <znacznik skoku >:
<numer bloku> Celem skoku jest numer bloku głównego lub pomocni-czego (np. 200, N300 )
Zmienna typu Zmienny cel skoku. Zmienna oznacza znacznik STRING skoku albo numer bloku.
IF Słowo kluczowe do sformułowania warunku skoku.
Warunek skoku dopuszcza wszystkie operacje porównań i logiczne (wynik: TRUE albo FALSE). Skok w programie jest wykonywany, gdy wynik tej operacji jest TRUE.
Wskazówka
Znaczniki skoku (etykiety) Znaczniki skoku zawsze znajdują się na początku bloku. Gdy jest numer bloku, znacznik skoku znajduje się bezpośrednio po tym numerze. Dla nazywania znaczników skoku obowiązują następujące zasady: • Liczba znaków:
– co najmniej 2 – co najwyŜej 32
• Dopuszczalnymi znakami są: – litery – cyfry – podkreślniki
• Pierwsze dwa znaki muszą być literami albo podkreślnikami.
• Po nazwie znacznika skoku następuje dwukropek (":").
Elastyczne programowanie NC 1.12 Skoki w rozgałęzienia w programie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
72
Przykłady
Przykład 1: skoki do znaczników skoku
Kod programu Komentarz N10 … N20 GOTOF etykieta_1 ; Skok w kierunku ko ńca programu do znacznika
"etykieta_1. N30 … N40 Etykieta_0: R1=R2+R3 ; Znacznik skoku "etykiet a_0" ustawiony. N50 … N60 etykieta_1: ; Znacznik skoku "etykieta_1" usta wiony. N70 … N80 GOTOB etykieta_0 ; Skok w kierunku pocz ątku programu do znacz-
nika "etykieta_0). N90 …
Przykład 2: skok po średni do numeru bloku
Kod programu Komentarz N5 R10=100 N10 GOTOF "N"<<R10 ; Skok do bloku, którego numer znajduje si ę
w R10. ... N90 ... N100 ... ; Cel skoku N110 ... ...
Przykład 3: skok do zmiennego celu skoku
Kod programu Komentarz DEF STRING[20] CEL CEL = "znacznik2" GOTOF CEL ; Skok w kierunku ko ńca programu do zmiennego
celu skoku CEL. Znacznik: T="wiertło1" ... Znacznik2: T="wiertło2" ; Cel skoku ...
Elastyczne programowanie NC 1.12 Skoki w rozgałęzienia w programie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
73
Przykład 3: skok z warunkiem skoku
Kod programu Komentarz N40 R1=30 R2=60 R3=10 R4=11 R5=50 R6=20 ; Przyporz ądkowanie warto-
ści pocz ątkowych. N41 LA1: G0 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6 ; Znacz nik skoku LA1
ustawiony. N42 R1=R1+R3 R4=R4-1 N43 IF R4>0 GOTOB LA1 ; Gdy warunek skoku jest
spełniony, wówczas skok w kierunku pocz ątku programu do znacznika skoku LA1.
N44 M30 ; Koniec programu
Warunki brzegowe ● Celem skoku moŜe być tylko blok ze znacznikiem skoku albo numer bloku, który leŜy w ramach programu. ● Instrukcja skoku bez warunku skoku musi zostać zaprogramowana w oddzielnym bloku. W przypadku instrukcji skoku z warunkami skoku to ograniczenie nie obowiązuje. Tutaj moŜna sformułować wiele instrukcji skoku w jednym bloku. ● W przypadku programów z instrukcjami skoku bez warunków skoku koniec programu M2/M30 nie musi koniecznie znajdować się na końcu programu.
Literatura /PGA/ Podręcznik programowania Przygotowanie pracy; punkt "Elastyczne programowanie NC" > "Operacje porównania i operacje logiczne"
1.12.3 Rozgał ęzienie programu (CASE, DEFAULT)
Działanie Funkcja CASE stwarza moŜliwość sprawdzenia aktualnej wartości (typ: INT) zmiennej albo funkcji obliczeniowej i zaleŜnie od wyniku wykonywania skoków do róŜnych miejsc w pro-gramie.
Składnia CASE(<wyra Ŝenie>) OF <stała_1> GOTOF <cel_skoku_1> <stała_2> G OTOF <cel_skoku_2> ... DEFAULT GOTOF <cel_skoku_n>
Elastyczne programowanie NC 1.12 Skoki w rozgałęzienia w programie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
74
Znaczenie CASE Instrukcja skoku <wyra Ŝenie> Zmienna albo funkcja obliczeniowa OF Słowo kluczowe do formułowania warunkowych rozgałęzień pro-
gramu <stała_1> Pierwsza podana stała wartość dla zmiennej albo funkcji oblicze-
niowej Typ: INT <stała_2> Druga podana stała wartość dla zmiennej albo funkcji obliczenio-
wej Typ: INT DEFAULT Dla przypadków, w których zmienna albo funkcja obliczeniowa nie
przyjmuje Ŝadnej z podanych stałych wartości, moŜna przy pomocy instrukcji DEFAULT określić cel skoku.
Wskazówka: W przypadku gdy instrukcja DEFAULT nie jest zaprogramowana, celem skoku jest blok następujący po instrukcji CASE.
GOTOF Instrukcja skoku z celem w kierunku końca programu. Zamiast GOTOF moŜna programować równieŜ wszystkie inne pole-cenia GOTO (patrz temat "Skoki w programie do znaczników sko-ku").
<cel_skoku_1> Na ten cel skoku następuje rozgałęzienie, gdy wartość zmiennej albo funkcji obliczeniowej odpowiada pierwszej podanej stałej. Cel skoku moŜe zostać podany następująco: <znacznik skoku> Celem skoku jest umieszczony w programie
znacznik skoku o nazwie zdefiniowanej przez uŜytkownika <znacznik skoku> :
<numer bloku> Celem skoku jest numer bloku głównego lub po-mocniczego (np. 200, N300 ) Zmienna typu Zmienny cel skoku. Zmienna oznacza STRING znacznik skoku albo numer bloku.
<cel_skoku_2> Na ten cel skoku następuje rozgałęzienie, gdy wartość zmiennej
albo funkcji obliczeniowej odpowiada drugiej podanej stałej. <cel_skoku_n> Na ten cel skoku następuje rozgałęzienie, gdy wartość zmiennej
nie odpowiada Ŝadnej z podanych wartości stałych.
Elastyczne programowanie NC 1.12 Skoki w rozgałęzienia w programie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
75
Przykład Kod programu Komentarz ... N20 DEF INT VAR1 VAR2 VAR3 N30 CASE(VAR1+VAR2-VAR3) OF 7 GOTOF etykieta_1 9 GO TOF etykieta_2 DEFAULT
GOTOF etykieta_3 N40 etykieta_1: G0 X1 Y1 N50 etykieta_2: G0 X2 Y2 N60 etykieta_3: G0 X3 Y3 ...
Instrukcja CASE z N30 definiuje następujące moŜliwości rozgałęziania programów: 1. Gdy wartość funkcji obliczeniowej VAR1+VAR2-VAR3 = 7, wówczas przeskocz do bloku
z definicją znacznika skoku "etykieta_1" (→ N40). 2. Gdy wartość funkcji obliczeniowej VAR1+VAR2-VAR3 = 9, wówczas przeskocz do bloku z definicją znacznika skoku "etykieta_2" (→ N50). 3. Gdy wartość funkcji obliczeniowej VAR1+VAR2-VAR3 nie wynosi ani 7 ani 9, wówczas prze-
skocz do bloku z definicją znacznika skoku "etykieta_3" (→ N60).
Elastyczne programowanie NC 1.13 Powtórzenie części programu (REPEAT, REPEATB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
76
1.13 Powtórzenie cz ęści programu (REPEAT, REPEATB)
Działanie Powtórzenie części programu umoŜliwia powtarzanie juŜ napisanych części programu w ra-mach jednego programu w dowolnej konstelacji. Jest przy tym przy pomocy etykiet ozna-czany blok albo segmenty programu, które mają być powtarzane. Odnośnie etykiety patrz punkt "Skoki i rozgałęzienia w programie" i "struktury kontrolne".
Składnia: powtórzenie bloku
ETYKIETA: xxx yyy REPEATB ETYKIETA P=n Zzz
Wiersz programu oznaczony dowolną etykietą jest powtarzany P=n razy. JeŜeli P nie poda-no, blok jest powtarzany dokładnie jeden raz. Po ostatnim powtórzeniu program jest konty-nuowany od wiersza zzz następującego po wierszy REPEATB.
Blok oznaczony etykietą moŜe znajdować się przed albo za instrukcją REPEATB. Poszukiwanie następuje najpierw w kierunku początku programu. Gdy etykieta nie zostanie w tyk kierunku znaleziona, wówczas szukanie następuje w kierunku końca programu.
Składnia powtarzanie zakresu od etykiety
ETYKIETA: xxx yyy REPEAT ETYKIETA P=n zzz
Segment programu między etykietą o dowolnej nazwie i instrukcją REPEAT jest powtarzany P=n razy. JeŜeli blok z etykietą zawiera dalsze instrukcje, wówczas są one ponownie wyko-nywane przy kaŜdym powtórzeniu. JeŜeli P nie podano, segment programu jest powtarzany dokładnie jeden raz. Po ostatnim powtórzeniu program jest kontynuowany od wiersza zzz następującego po wierszu z REPEAT.
Wskazówka
Etykieta musi znajdować się przed instrukcją REPEAT. Szukanie następuje tylko w kierunku początku programu.
Elastyczne programowanie NC 1.13 Powtórzenie części programu (REPEAT, REPEATB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
77
Składnia: powtarzanie zakresu mi ędzy dwoma etykietami
ETYKIETA_STARTOWA: xxx ooo ETYKIETA_KOŃCOWA: yyy ppp REPEAT ETYKIETA_STARTOWA ETYKIETA_KOŃCOWA P=n zzz
Zakres między dwoma etykietami jest wykonywany P=n razy. Etykiety mogą być definiowa-ne dowolnymi nazwami. Pierwszy wiersz powtórzenia zawiera etykietę startową, ostatni wiersz etykietę końcową. JeŜeli wiersz z etykietą początkową albo końcową zawiera dalsze instrukcje, wówczas przy kaŜdym przebiegu są one ponownie wykonywane. JeŜeli nie poda-no P, wówczas segment programu jest wykonywany dokładnie jeden raz. Po ostatnim po-wtórzeniu program jest kontynuowany od wiersza zzz następującego po wierszu z REPEAT.
Wskazówka
Powtarzany segment programu moŜe znajdować się przed albo za instrukcją REPEAT. Poszukiwanie następuje najpierw w kierunku początku programu. Gdy etykieta startowa nie zostanie w tym kierunku znaleziona, wówczas instrukcja REPEAT jest poszukiwana do dołu w kierunku końca programu.
Wzięcie instrukcji REPEAT w nawias obydwu etykiet jest niemoŜliwe. JeŜeli etykieta starto-wa zostanie znaleziona przed instrukcją REPEAT i etykieta końcowa nie zostanie osiągnię-ta przed tą instrukcją, wówczas jest wykonywane powtórzenie między etykietą startową i instrukcją REPEAT.
Składnia: Powtórzenie zakresu mi ędzy znacznikiem i znacznikiem ko ńcowym
ETYKIETA: xxx ooo ETYKIETA_KOŃCOWA: yyy REPEAT ETYKIETA P=n zzz
ETYKIETA KOŃCOWA jest predefiniowaną etykietą o stałej nazwie. ETYKIETA_KOŃCOWA oznacza koniec segmentu programu i moŜe być wielokrotnie stosowana w programie. Blok zaznaczony ETYKIETĄ KOŃCOWĄ moŜe zawierać dalsze instrukcje.
Obszar między etykietą i następną ETYKIETĄ KOŃCOWĄ jest powtarzana z P=n razy. Ety-kieta początkowa moŜe być zdefiniowana przy pomocy dowolnej nazwy. JeŜeli blok z etykie-tą startową albo ETYKIETĄ KOŃCOWĄ zawiera dalsze instrukcje, wówczas są one wyko-nywane przy kaŜdym powtórzeniu.
Elastyczne programowanie NC 1.13 Powtórzenie części programu (REPEAT, REPEATB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
78
Wskazówka
JeŜeli od etykiety początkowej do bloku z wywołaniem REPEAT nie zostanie znaleziona ETYKIETA KOŃCOWA, wówczas pętla kończy się przed wierszem REPEAT. Konstrukcja działa przez to jak wyŜej opisane "powtórzenie zakresu od znacznika".
JeŜeli nie podano P, wówczas segment programu jest wykonywany dokładnie jeden raz.
Po ostatnim powtórzeniu program jest kontynuowany od wiersza zzz następującego po wierszu z REPEAT.
Znaczenie
ETYKIETA: Cel skoku; po nazwie celu skoku następuje dwukropek
REPEAT Powtórz (powtórz wiele wierszy)
REPEATB Powtórz blok (powtórz tylko jeden wiersz)
Przykład: powtarzanie pozycji
Kod programu Komentarz
N10 POSITION1: X10 Y20 N20 POSITION2: CYCLE(0,,9,8) ; Cykl pozycji N30 ... ; N40 REPEATB POSITION1 P=5 ; Wykonaj BLOK N10 pi ęć razy N50 REPEATB POSITION2 ; Wykonaj blok N20 jeden raz N60 ... N70 M30
Przykład: jest wykonywanych 5 kwadratów o rosn ącej szeroko ści
Kod programu Komentarz N5 R10=15 N10 Begin: R10=R10+1 ; Szeroko ść N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 N50 X=-R10 N60 Y=-R10 N70 Z=10+R10 N80 REPEAT BEGIN P=4 ; Wykonaj cztery razy zakres N 10 do N70 N90 Z10 N100 M30
Elastyczne programowanie NC 1.13 Powtórzenie części programu (REPEAT, REPEATB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
79
Przykład: powtórzenie segmentu programu od BEGIN do END
Kod programu Komentarz N5 R10=15 N10 Begin: R10=R10+1 ; Szeroko ść N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 N50 X=-R10 N60 Y=-R10 N70 END:Z=10 N80 Z10 N90 CYCLE(10,20,30) N100 REPEAT BEGIN END P=3 ; Wykonaj trzy razy zakr es N10 do N70 N110 Z10 N120 M30
Przykład: ETYKIETA KO ŃCOWA
Kod programu Komentarz N10 G1 F300 Z-10 N20 BEGIN1: N30 X10 N40 Y10 N50 BEGIN2: N60 X20 N70 Y30 N80 ETYKIETA_KOŃCOWA: Z10 N90 X0 Y0 Z0 N100 Z-10 N110 BEGIN3: X20 N120 Y30 N130 REPEAT BEGIN3 P=3 ; Wykonaj trzy razy zakres N 110 do N120 N140 REPEAT BEGIN2 P=2 ; Wykonaj dwa razy zakres N5 0 do N80 N150 M100 N160 REPEAT BEGIN1 P=2 ; Wykonaj dwa razy zakres N2 0 do N80 N170 Z10 N180 X0 Y0 N190 M30
Elastyczne programowanie NC 1.13 Powtórzenie części programu (REPEAT, REPEATB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
80
Przykład: obróbka frezarska: obróbka w pozycjach wi ercenia przy pomocy ró Ŝnych techno-logii
Kod programu Komentarz N10 WIERTŁO_DO_NAKIEŁKÓW() ; Wprowadzenie wiertła do nakiełków do pozy-
cji roboczej N20 POS_1: ; Pozycje wiercenia 1 N30 X1 Y1 N40 X2 N50 Y2 N60 X3 Y3 N70 ETYKIETA_KOŃCOWA: N80 POS_2: ; Pozycje wiercenia 2 N90 X10 Y5 N100 X9 Y-5 N110 X3 Y3 N120 ETYKIETA_KOŃCOWA: N130 WIERTŁO() ; Wprowadzenie wiertła po pozycji r oboczej
i cykl wiercenia N140 GWINT(6) ; Wprowadzenie do pozycji roboczej g wintow-
nika M6 i cykl gwintowania N150 REPEAT POS_1 ; Powtórz segment programu od PO S_1 jeden
raz do ETYKIETA_KO ŃCOWA N160 WIERTŁO() ; Wprowadzenie wiertła po pozycji r oboczej
i cykl wiercenia N170 GWINT(8) ; Wprowadzenie do pozycji roboczej g wintow-
nika M8 i cykl gwintowania N180 REPEAT POS_2 ; Powtórz segment programu od PO S_2 jeden
raz do ETYKIETA_KO ŃCOWA N190 M30
Elastyczne programowanie NC 1.13 Powtórzenie części programu (REPEAT, REPEATB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
81
Warunki brzegowe ● Powtarzanie części programu moŜna wywoływać w sposób kaskadowy. KaŜde wywołanie
zajmuje jedną płaszczyznę podprogramu. ● JeŜeli podczas wykonywania powtarzania części programu jest zaprogramowane M17 al-
bo RET, wówczas powtarzanie części programu jest przerywane. Program jest kontynu-owany od bloku następującym po wierszu REPEAT.
● W aktualnym wyświetleniu programu jest wyświetlane powtórzenie części programu jako własna płaszczyzna podprogramu.
● JeŜeli podczas wykonywania części programu zostanie wyzwolone anulowanie płaszczy-zny, wówczas program jest kontynuowany po wywołaniu wykonywania części programu.
Przykład:
Kod programu Komentarz N5 R10=15 N10 BEGIN: R10=R10+1 ; Szeroko ść N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 ; Anulowanie płaszczyzny N50 X=-R10 N60 Y=-R10 N70 END: Z10 N80 Z10 N90 CYCLE(10,20,30) N100 REPEAT BEGIN END P=3 N120 Z10 ; Kontynuowanie obróbki programowej N130 M30
● Struktur kontrolnych i powtarzania części programu moŜna uŜywać w sposób kombinowa-
ny. Nie powinno być jednak krzyŜowania się. Powtórzenie części programu powinno le-Ŝeć w ramach gałęzi struktury kontrolnej wzgl. struktura kontrolna w ramach powtórzenia części programu.
Elastyczne programowanie NC 1.13 Powtórzenie części programu (REPEAT, REPEATB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
82
● Przy pomieszaniu skoków i powtórzenia części programu bloki są wykonywane czysto se-
kwencyjnie. JeŜeli np skok następuje z powtórzenia programu, wówczas wykonywanie następuje tak długo, aŜ zostanie znaleziony koniec części programu.
Przykład:
Kod programu N10 G1 F300 Z-10 N20 BEGIN1: N30 X=10 N40 Y=10 N50 GOTOF BEGIN2 N60 ETYKIETA_KOŃCOWA: N70 BEGIN2: N80 X20 N90 Y30 N100 ETYKIETA_KOŃCOWA: Z10 N110 X0 Y0 Z0 N120 Z-10 N130 REPEAT BEGIN1 P=2 N140 Z10 N150 X0 Y0 N160 M30
Wskazówka
Powtórzenie części programu jest uaktywniane przez zaprogramowanie.
Instrukcja REPEAT powinna znajdować się za blokami ruchu.
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
83
1.14 Struktury kontrolne
Działanie Sterowanie standardowo wykonuje bloki NC w zaprogramowanej kolejności. Ta kolejność moŜe być zmieniana przez programowanie alternatywnych bloków programu i pętli programowych. Programowanie tych struktur kontrolnych następuje przy pomocy ele-mentów struktur kontrolnych (słów kluczowych) IF...ELSE, LOOP, FOR, WHILE i REPEAT.
OSTROśNIE
Struktury kontrolne są moŜliwe tylko w ramach części instrukcyjnej programu. Definicje w nagłówku programu nie mogą być powtarzane warunkowo albo powtarzalnie.
Na słowa kluczowe dla struktur kontrolnych nie wolno, tak samo jak celów skoku, nakładać makropolecenia. Sprawdzenie w przypadku definicji makra nie następuje.
Działanie
Struktury kontrolne obowiązują lokalnie w programie.
Głęboko ść kaskadowania W ramach kaŜdej płaszczyzny podprogramu jest moŜliwa głębokość kaskadowania wyno-sząca do 16 struktur kontrolnych.
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
84
Zachowanie si ę pod wzgl ędem czasu przebiegu
W standardowo aktywnej pracy interpretera moŜna przez zastosowanie skoków w programie uzyskać szybszy przebieg programu niŜ ze strukturami kontrolnymi. W cyklach prekompilowanych nie ma Ŝadnej róŜnicy między skokami w programie i struktu-rami kontrolnymi.
Warunki brzegowe ● Bloki z elementami struktur kontrolnych nie mogą być maskowane. ● Znaczniki skoku (etykiety) są niedozwolona w blokach z elementami struktur kontrolnych. ● Struktury kontrolne są wykonywane interpretacyjnie. Przy rozpoznaniu końca pętli jest przy
uwzględnieniu znalezionych przy tym struktur kontrolnych szukany początek pętli. Dlate-go w pracy interpretorowej struktura bloków programu nie jest kompletnie sprawdzana.
● Zasadniczo zaleca się nie stosowanie w sposób mieszany struktur kontrolnych i skoków w programie.
● Przy wyprzedzającym przetwarzaniu cykli moŜe zostać sprawdzone prawidłowe kaskado-wanie struktur kontrolnych.
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
85
1.14.1 Pętla programowa z alternatyw ą (IF, ELSE, ENDIF)
Działanie Konstrukcja z IF i ELSE jest stosowana, gdy pętla programowa ma zawierać alternatywny blok programu: Gdy warunek IF jest spełniony, wówczas jest wykonywany blok programu następujący po IF . Gdy warunek IF nie jest spełniony, wówczas jest wykonywany blok al-ternatywny następujący po ELSE.
Wskazówka
JeŜeli alternatywa nie jest wymagana, wówczas moŜe zostać zaprogramowana pętla IF równieŜ bez instrukcji ELSE i następującego po niej bloku programu.
Składnia IF <warunek> ... ELSE ... ENDIF
Znaczenie
IF Rozpoczyna pętlę IF. ELSE Rozpoczyna alternatywny blok programu. ENDIF Zaznacza koniec pętli IF i powoduje skok powrotny do początku pętli. <warunek > Warunek, który decyduje o tym, który blok programu jest wykonywany.
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
86
Przykład: podprogram zmiany narz ędzia
Kod programu Komentarz PROC L6 ; Procedura zmiany narz ędzia N500 DEF INT TNR_AKTUELL ; Zmienna dla aktywnego n umeru T N510 DEF INT TNR_VORWAHL ; Zmienna dla wst ępnie wybranego numeru T ; Okre ślenie aktualnego narz ędzia N520 STOPRE N530 IF $P_ISTEST ; W trybie testu programu jest ... N540 TNR_AKTUELL = $P_TOOLNO ; ... kontekstu progra mowego odczytywane aktualne narz ędzie. N550 ELSE ; W przeciwnym przypadku jest ... N560 TNR_AKTUELL = $TC_MPP6[9998,1] ; ... odczytywa ne narz ędzie wrzeciona. N570 ENDIF N580 GETSELT(TNR_VORWAHL) ; Odczyt numeru T wst ępnie wybranego narz ędzia
we wrzecionie. N590 IF TNR_AKTUELL <> TNR_VORWAHL ; Gdy wst ępnie wybrane narz ędzie nie
jest jeszcze aktualnym narz ędziem, wówczas ... N600 G0 G40 G60 G90 SUPA X450 Y300 Z300 D0 ; ... wy kona ć ruch do punktu
zmiany narz ędzia ... N610 M206 ; ... i wykona ć zmian ę narz ędzia. N620 ENDIF N630 M17
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
87
1.14.2 Pętla programowa bez ko ńca (LOOP, ENDLOOP)
Działanie Pętla bez końca znajduje zastosowanie w programach bez końca. Na końcu pętli następuje zawsze przeskok do jej początku.
Składnia LOOP ... ENDLOOP
Znaczenie LOOP Rozpoczyna pętlę bez końca ENDLOOP Zaznacza koniec pętli i powoduje powrót do jej początku.
Przykład Kod programu ... LOOP MSG(Ŝadne ostrze narz ędzia nie jest aktywne") M0 STOPRE ENDLOOP ...
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
88
1.14.3 Pętla FOR (FOR ... TO ..., ENDFOR)
Działanie Pętla FOR jest stosowana, gdy przebieg pracy ma być powtarzany ze stałą liczbą przebie-gów.
Składnia FOR <zmienna> = <warto ść pocz ątkowa> TO <warto ść ko ńcowa> ... ENDFOR
Znaczenie
FOR Rozpoczyna pętlę FOR.
ENDFOR Zaznacza koniec pętli i powoduje skok powrotny do jej początku, jak długo wartość końcowa liczenia nie jest jeszcze osiągnięta.
<zmienna> Zmienna sterująca, która jest inkrementowana od wartości początkowej do końcowej i przy kaŜdym przebiegu zwięk-sza się o wartość "1". Typ INT albo REAL
Wskazówka: Typ REAL jest brany, gdy np. są programowane parametry R dla pętli FOR. Gdy zmienna sterująca jest typu REAL, jej wartość jest zaokrąglana do wartości całkowitoliczbowej.
<warto ść pocz ątkowa> Wartość początkowa liczenia
Warunek: Wartość początkowa musi być mniejsza niŜ wartość końcowa.
<warto ść ko ńcowa> Wartość końcowa liczenia
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
89
Przykłady
Przykład 1: zmienna INTEGER albo parametr R jako zm ienna steruj ąca
Zmienna INTEGER jako zmienna steruj ąca:
Kod programu Komentarz DEF INT iVARIABLE1 R10=R12-R20*R1 R11=6 FOR iVARIABLE1= R10 TO R11 ; Zmienna steruj ąca = zmienna INTEGER R20=R21*R22+R33 ENDFOR M30
Parametr R jako zmienna steruj ąca:
Kod programu Komentarz R11=6 FOR R10=R12-R20*R1 TO R11 ; Zmienna steruj ąca = parametr R
(zmienna real) R20=R21*R22+R33 ENDFOR M30
Przykład 2: wykonanie stałej liczby cz ęści
Kod programu Komentarz DEF INT LICZBA_SZTUK ; Definiuje zmienn ą typu INT o nazwie
"LICZBA_SZTUK". FOR LICZBA_SZTUK = 0 TO 100 ; rozpoczyna p ętl ę FOR. Zmienna
"LICZBA_SZTUK" jest inkrementowana od war-to ści pocz ątkowej "0" do warto ści ko ńcowej "100".
G01 … ENDFOR ; Koniec p ętli FOR. M30
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
90
1.14.4 Pętla programowa z warunkiem na pocz ątku p ętli (WHILE, ENDWHILE)
Działanie W przypadku pętli WHILE warunek znajduje się na jej początku. Jak długo warunek jest spełniony, pętla WHILE będzie wykonywana.
Składnia WHILE <warunek> ... ENDWHILE
Znaczenie
WHILE Rozpoczyna pętlę programową.
ENDWHILE Zaznacza koniec pętli i powoduje powrót do jej początku.
<warunek> Warunek, który musi być spełniony, aby pętla WHILE była wykonywa-na.
Przykład Kod programu Komentarz ... WHILE $AA_IW[O Ś_WIERCENIA] > -10 ; Wywołanie p ętli WHILE pod nast ępu-
j ącym warunkiem: aktualna warto ść za-dana w WKS musi by ć wi ększa ni Ŝ -10.
G1 G91 F250 AX[O Ś_WIERCENIA] = -1 ENDWHILE ...
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
91
1.14.5 Pętla programowa z warunkiem na ko ńcu pętli (REPEAT, UNTIL)
Działanie W przypadku pętli REPEAT warunek znajduje się na jej końcu. Pętla REPEAT jest wykony-wana jeden raz i powtarzana tak długo, aŜ warunek zostanie spełniony.
Składnia REPEAT ... UNTIL <warunek>
Znaczenie
REPEAT Rozpoczyna pętlę programową.
UNTIL Zaznacza koniec pętli i powoduje powrót do jej początku.
<warunek> Warunek, który musi być spełniony, aby pętla REPEAT nie była juŜ wy-konywana.
Przykład Kod programu Komentarz ... REPEAT ; Wywołanie p ętli REPEAT. ... UNTIL ... ; Sprawdzenie, czy warunek jest spełnion y. ...
Elastyczne programowanie NC 1.14 Struktury kontrolne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
92
1.14.6 Przykład programu z kaskadowanymi strukturam i kontrolnymi
Kod programu Komentarz LOOP IF NOT $P_SEARCH ; Nie szukanie bloku G01 G90 X0 Z10 F1000 WHILE $AA_IM[X] <= 100 G1 G91 X10 F500 ; Układ wierconych otworów Z–F100 Z5 ENDWHILE Z10 ELSE MSG(w trakcie szukania wiercenie nie nast ępuje) ENDIF $A_OUT[1] = 1 : Nast ępna płyta wiertarska G4 F2 ENDLOOP M30
Elastyczne programowanie NC 1.15 Koordynacja programu (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
93
1.15 Koordynacja programu (INIT, START, WAITM, WAIT MC, WAITE, SETM, CLEARM)
Działanie Kanały Kanał moŜe wykonywać własny program, niezaleŜnie od innych kanałów. Dzięki temu przyporządkowane mu czasowo osie i wrzeciona mogą być sterowane poprzez program. Przy uruchamianiu moŜna utworzyć dla sterowania dwa albo więcej kanałów.
Koordynacja programu JeŜeli w obróbce przedmiotu uczestniczy wiele kanałów, wówczas moŜe być wymagana synchronizacja przebiegów programów. Dla tej koordynacji programów są specjalne instrukcje (polecenia). Są one umieszczane kaŜdorazowo w oddzielnym bloku.
Wskazówka
Koordynacja programu jest moŜliwa równieŜ we własnym kanale.
Instrukcje dotycz ące koordynacji programu
● Podanie z absolutnym podaniem ścieŜki
ŚcieŜka absolutna jest przy tym tworzona we-dług następujących zasad:
INIT (n,"/_HUGO_DIR/_N_nazwa_MPF" )
albo
- aktualny katalog/_N_nazwa_MPF "aktualny katalog" oznacza wybrany katalog
obrabianego przedmiotu albo katalog stan-dardowy /_N_MPF_DIR.
INIT (n,"/_N_MPF_DIR/_N_nazwa_MPF" )
- Wybór określonego programu do wykony-wania w określonym kanale:
n: numer kanału, wartość zaleŜnie od kon-figuracji sterowania
- Kompletna nazwa programu
Elastyczne programowanie NC 1.15 Koordynacja programu (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
94
Przykład: do w. opr. 3: INIT(2,"/_N_WKS_DIR/_ABRICHT_MPF") G01F0.1
START
Między poleceniem init (bez synchronizacji) i NC-Start musi znajdować się co najmniej jeden blok moŜliwy do wykonania. Przy wywołaniach podprogramów musi w po-daniu ścieŜki zostać uzupełnione "_SPF"
INIT
(2,"/_N_WKS_DIR/_N_UNTER_1_SPF")
● Podanie ze względnym podaniem ścieŜki
Przykład:
Przy względnym podaniu ścieŜki obowiązują te same zasady jak dla wywołań podprogramów.
INIT(2,"ABRICHT")
INIT(3,"UNTER_1_SPF")
Przy wywołaniach podprogramów musi zostać uzupełnione "_SPF" w nazwie programu.
Parametry Do wymiany danych między programami mogą być uŜywane zmienne, którymi kanały wspólnie dysponują (zmienne globalne specyficzne dla NCK). Poza tym sporządzanie pro-gramów następuje oddzielnie dla kaŜdego kanałów.
INIT(n, podanie ście Ŝki, tryb kwitowania)
Instrukcja do wykonania w jednym kanale. Wybór okre ślonego programu z absolutnym albo wzgl ędnym podaniem ście Ŝki.
START (n, n) Wystartowanie wybranych programów w in -nych kanałach n,n: Podanie numerów kanałów: warto ść zale Ŝnie od konfiguracji sterowania
WAITM (nr znacznika, n, n, ...)
Ustawienie znacznika "nr znacznika" we własnym kanale. Zako ńczenie poprzedniego bloku z zatrzymaniem dokładnym. Czekanie na znacznik o takim samym "nr znacznika" w podanych kanałach "n" (własny kanał nie musi zosta ć podany). Znacznik jest kasowany po synchronizacji. Równocześnie mo Ŝna ustawi ć max 10 znacz-ników na kanał.
Elastyczne programowanie NC 1.15 Koordynacja programu (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
95
WAITMC (Marker-Nr., n, n, Ustawienie znacznika "nr znacznika" we własnym
kanale. Dokładne zatrzymanie nast ępuje tylko wte-dy, gdy inne kanały jeszcze nie doszły do znaczni-ka. Czekanie na znacznik o takim samym "nr znacz-nika" w podanych kanałach "n" (własny kanał nie musi zosta ć podany). Gdy tylko znacznik "nr znacz-nika" w podanych kanałach b ędzie osi ągni ęty, kon-tynuowanie obróbki bez zako ńczenia zatrzymania dokładnego.
WAITE (n, n, ...) Czekanie na koniec programu podanych kanałów (nie podawać własnego kanału). Przykład:Programowanie czasu oczekiwania po pole-ceniu start. N30 START(2) N31 G4 F0.01 N40 WAITE(2)
SETM (Marker-Nr., Marker-Nr., Ustawienie znaczników "nr znacznika" we własnym kanale, bez wpływu na bie Ŝące wykonywanie. SETM() zachowuje obowi ązywanie po RESET i NC-START.
CLEARM (Marker-Nr., Marker-Nr.,
Skasowanie znaczników "nr znacznika" we własnym kanale, bez wpływu na bie Ŝące wykonywanie. Wszyst-kie znaczniki w kanale mog ą zosta ć skasowane przy pomocy CLEARM(). CLEARM (0) kasuje znacznik "0". CLEARM() zachowuje obowi ązywanie po RESET i NC-START.
n Odpowiedni numer albo nazwa kanału
Wskazówka
Wszystkie powyŜsze polecenia muszą znajdować się w oddzielnych blokach.
Liczba znaczników jest zaleŜna od wbudowanej CPU..
Numery kanałów
Dla koordynowanych kanałów moŜna podać do 10 kanałów jako numer kanału (wartość in-teger).
Elastyczne programowanie NC 1.15 Koordynacja programu (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
96
Nazwy kanałów
Nazwy kanałów muszą poprzez zmienną (patrz punkt "Zmienne i parametry obliczeniowe") zostać zamienione na numery albo zamiast numerów kanałów mogą teŜ być programowane nazwy kanałów (identyfikator albo słowo kluczowe) definiowane poprzez $MC_CHAN_NAME. Definiowane nazwy muszą odpowiadać konwencjom języków NC (tzn. obydwa pierwsze znaki muszą być albo literami albo podkreślnikami).
OSTROśNIE
Przyporządkowanie numerów naleŜy zmienić przed lekkomyślną zmianą.
Nazw nie moŜe być juŜ w NC w innym znaczeniu jak np. słowo kluczowe, polecenie języ-kowe, nazwa osi itd.
SETM() i CLEARM()
SETM() i CLEARM() mogą być równieŜ programowane z akcji synchronicznej. Patrz punkt "Ustawienie/skasowanie znaczników czekania: SETM CLEARM"
Przykład
Kanał o nazwie "MASZYNA" powinien zawierać numer kanału 1, Kanał o nazwie "MANIPULATOR" powinien zawierać numer kanału 2:
DEF INT MASZYNA=1, LADER=2
Zmienne otrzymają tę samą nazwę co kanały.
Dzięki temu na przykład instrukcja START brzmi:
START(MASZYNA)
Elastyczne programowanie NC 1.15 Koordynacja programu (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
97
Przykład koordynacji programu
Kanał 1:
_N_MPF100_MPF
Kod programu Komentarz N10 INIT(2,"MPF200") N11 START(2) ; Obróbka w kanale 2 ... N80 WAITM(1,1,2) ; Czekanie na znacznik WAIT 1 w k anale 1 i w ka-
nale 2 dalsze wykonywanie w kanale 1 ... N180 WAITM(2,1,2) ; Czekanie na znacznik WAIT 2 w kanale 1 i w ka-
nale 2 dalsze wykonywanie w kanale 1 ... N200 WAITE(2) ; Czekanie na koniec programu w kana le 2 N201 M30 ; Koniec programu kanał 1, koniec cało ści ...
Kanał 2:
_N_MPF200_MPF
Kod programu Komentarz ;$PATH=/_N_MPF_DIR ; Obróbka w kanale 2 N70 WAITM(1,1,2) ; Czekanie na znacznik WAIT 1 w k anale 1 i w kana-
le 2 dalsze wykonywanie w kanale 1 ... N270 WAITM(2,1,2) ; Czekanie na znacznik WAIT 2 w kanale 1 i w kana-
le 2 dalsze wykonywanie w kanale 2 ... N400 M30 ; Koniec programu kanału 2
Elastyczne programowanie NC 1.15 Koordynacja programu (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
98
N10
N10N11 ... ... ... ... ... ... ... ...
START(2)
START(2)
M1 M2
N80WAITM(1,1,2)
N180WAITM(2,1,2)
N70WAITM(1,1,2)
N270WAITM(2,1,2)
N200WAITE(2)
N400M30
N400M30
... ... ... ... ... ... ...
czekanie
koniec czasuPoczątek
czekanie
czekaniekanał 1% 100
kanał 2MPF 200
Przykład: program z obrabianego przedmiotu
Kod programu Komentarz N10 INIT(2,"/_N_WKS_DIR/_N_WELLE1_WPD/_N_ABSPAN1_MP F")
Przykład: polecenie INIT ze wzgl ędnym podaniem ścieŜki
W kanale 1 jest wybrany program /_N_MPF_DIR/_N_MAIN_MPF.
Kod programu Komentarz N10 INIT(2,"MYPROG") ; Wybór programu /_N_MPF_DIR/_ N_MYPROG_MPF w kanale 2
Elastyczne programowanie NC 1.15 Koordynacja programu (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
99
Przykład: nazwa i numer kanału ze zmienn ą integer
$MC_CHAN_NAME[0]= "CHAN_X" ; Nazwa 1. kanału $MC_CHAN_NAME[1]= "CHAN_Y" ; Nazwa 2. kanału
Kod programu Komentarz START(1, 2) ; Wykonanie startu w 1. i 2. kanale
Analogicznie do tego zaprogramowanie z identyfikatorami kanału:
Kod programu Komentarz START(CHAN_X, CHAN_Y) ; Wykonanie startu w 1. i 2. kanale ; Identyfikatory Kanał_X i Kanał_Y reprezentu-
j ą na podstawie danej maszynowej $MC_CHAN_NAME wewnętrznie numery kanałów 1 i 2. Odpowiednio do tego wykonuje one równie Ŝ start w 1. i 2. kanale
Programowanie ze zmienną integer:
Kod programu Komentarz DEF INT chanNo1, chanNo2) ; Zdefiniowanie numeru kanału chanNo1=CHAN_X chanNo2=CHAN_Y START(chanNo1, chanNo2)
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
100
1.16 Procedura przerwania (ASUP)
1.16.1 Działanie procedury przerwania
Unaocznijmy funkcję procedury przerwania na podstawie typowego przykładu:
Programgłówny
Proced. przerw.
Odsunięcie odkonturuZmiana narzędziaNowe wartościkorekcjiPonowne dosun.
Podczas obróbki następuje pęknięcie narzędzia. Przez to jest wyzwalany sygnał, który za-trzymuje bieŜący przebieg obróbki i równocześnie uruchamia podprogram - tak zwaną pro-cedurę przerwania. W tym podprogramie znajdują się wszystkie instrukcje, które w takim przypadku mają zostać wykonane. Gdy podprogram jest wykonany (i przez to stworzona gotowość do pracy), sterowane prze-chodzi z powrotem do programu głównego i kontynuuje obróbkę - zaleŜnie od polecenia REPOS - od miejsca przerwania (patrz " Ponowne dosunięcie do konturu (strona 502) ").
OSTROśNIE
Gdy w podprogramie nie jest zaprogramowane polecenie REPOS, wówczas pozycjono-wanie następuje na koniec bloku, po którym następuje blok przerwany.
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
101
1.16.2 Sporządzenie procedury przerwania
Sporz ądzenie procedury przerwania jako podprogramu
Procedura przerwania jest oznakowywana przy definicji jak podprogram.
Przykład:
Kod programu Komentarz PROC ABHEB_Z ; Nazwa programu "ABHEB_Z" N10 ... ; Nast ępnie nast ępuj ą bloki NC. ... N50 M17 ; Na zako ńczenie koniec programu i powrót do programu
głównego
Zapisanie funkcji G (SAVE) Procedura przerwania moŜe przy definicji zostać oznaczona przez SAVE. Atrybut SAVE powoduje, Ŝe aktywne przed wywołaniem procedury przerwania modalne funkcje G są zapisywane a po zakończeniu procedury przerwania ponownie reaktywowane. (patrz " Podprogramy z mechanizmem SAVE (SAVE) (strona 138) "). Przez to jest moŜliwe kontynuowanie obróbki w miejscu przerwania po upływie procedury przerwania.
Przykład:
Kod programu PROC ABHEB_Z SAVE N10 ... ... N50 M17
Przyporz ądkowanie dalszych procedur przerwania (SETINT)
W ramach procedury przerwania mogą być programowane instrukcje SETINT (patrz "Przy-porządkowanie i uruchomienie procedury przerwania (SETINT)" (strona 102)) a przez to uaktywniane dalsze procedury. Wyzwolenie następuje dopiero przez wejście.
Literatura Odnośnie dalszych informacji dot. sporządzania podprogramów patrz punkt "Technika pod-programów, technika makr".
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
102
1.16.3 Przyporz ądkowanie i uruchomienie procedury przerwania (SETIN T, PRIO)
Działanie Sterowanie dysponuje sygnałami (wejście 1...8), które wyzwalają przerwanie bieŜącego pro-gramu i mogą wystartować odpowiednią procedurę przerwania. Przyporządkowanie, które wejście który program uruchamia, następuje w programie obróbki przy pomocy polecenia SETINT. W przypadku gdy w programie obróbki jest wiele instrukcji SETINT i przez to moŜe nastąpić jednoczesny wpływ wielu sygnałów, przyporządkowanym procedurom przerwania muszą zostać przyporządkowane wartości priorytetu, które ustalają kolejność wykonywania: PRIO=<warto ść> JeŜeli podczas wykonywania procedury dotrą nowe sygnały, wówczas procedura o wyŜszym priorytecie przerywa procedurę aktualną.
Składnia
SETINT(<n>) PRIO=<warto ść> <NAZWA>
Znaczenie
SETINT(<n>) Polecenie: wejście <n. przyporządkować do procedury przerwania. Przyporządkowana procedura przerwania startuje, gdy przełączy wej-ście <n>. Wskazówka: JeŜeli do zajętego wejścia zostanie przyporządkowana nowa procedu-ra, stare przyporządkowanie automatycznie przestaje obowiązywać.
<n> Parametr: numer wejścia Typ: INT Zakres wartości: 1 ... 8
PRIO= Polecenie: Ustalenie priorytetu
<warto ść> Wartość priorytetu Typ: INT Zakres wartości: 1 ... 128
Priorytet 1 odpowiada najwyŜszemu priorytetowi.
<NAZWA> Nazwa podprogramu (procedury przerwania), który ma zostać wykona-ny.
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
103
Przykłady
Przykład 1: przyporz ądkowanie procedur przerwania i ustalenie priorytetu
Kod programu Komentarz ... N20 SETINT(3) PRIO=1 ABHEB_Z ; Gdy wej ście 3 przeł ączy, wówczas powinna
wystartowa ć procedura przerwania "ABHEB_Z". N30 SETINT(2) PRIO=2 ABHEB_X ; Gdy wej ście 2 przeł ączy, wówczas powinna
wystartowa ć procedura przerwania "ABHEB_X".
Procedury przerwania są kolejno wykonywane w kolejności wartości priorytetów, gdy wejścia są aktywne równocześnie: najpierw "ABHEB_Z", następnie "ABHEB_X".
Przykład 2: ponowne przyporz ądkowanie procedury przerwania
Kod programu Komentarz ... N20 SETINT(3) PRIO=2 ABHEB_Z ; Gdy wej ście 3 przeł ączy, wówczas powinna
wystartowa ć procedura przerwania "ABHEB_Z". … N120 SETINT(3) PRIO=1 ABHEB_X ; Wej ściu 3 jest przyporz ądkowywana nowa
procedura przerwania: zamiast "ABHEB_Z" po-winna wystartowa ć "ABHEB_X", gdy wej ście 3 przeł ączy.
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
104
1.16.4 Wyłączenie aktywno ści / reaktywowanie procedury przerwania (DISABLE, ENABLE)
Działanie Aktywność instrukcji SETINT moŜe zostać włączona przy pomocy DISABLE i ponownie włą-czona przy pomocy ENABLE, bez utraty przyporządkowania wejście --> procedura przerwa-nia.
Składnia DISABLE(<n>) ENABLE(<n>)
Znaczenie DISABLE(<n>) Polecenie: wył ączenie aktywno ści przyporządkowania procedury prze-
rwania od wejścia <n> ENABLE(<n>) Polecenie: reaktywowanie przyporządkowania procedury przerwania
od wejścia <n> <n> Parametr: numer wejścia Typ: INT Zakres wartości: 1 ... 8
Przykład Kod programu Komentarz ... N20 SETINT(3) PRIO=1 ABHEB_Z ; Gdy wej ście 3 przeł ączy, wówczas powinna
wystartowa ć procedura przerwania "ABHEB_Z".
... N90 DISABLE(3) ; Aktywno ść instrukcji SETINT z N20 jest
wył ączana. ... N130 ENABLE(3) ; Instrukcja SETINT z N20 jest pono wnie
uaktywniana.
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
105
1.16.5 Skasowanie przyporz ądkowania procedury przerwania (CLRINT)
Działanie Zdefiniowane przy pomocy SETINT przyporządkowanie wejście --> procedura przerwania moŜe zostać skasowane przy pomocy CLRINT.
Składnia
CLRINT(<n>)
Znaczenie CLRINT(<n>) Polecenie: skasowanie przyporządkowania procedury przerwania od we-
jścia <n> <n> Parametr: numer wejścia Typ: INT Zakres wartości: 1 ... 8
Przykład Kod programu Komentarz ... N20 SETINT(3) PRIO=2 ABHEB_Z ; ... N50 CLRINT(3) ; Przyporz ądkowanie mi ędzy wej ściem "3"
i procedur ą przerwania "ABHEB_Z" jest skasowane.
...
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
106
1.16.6 Szybkie cofni ęcie od konturu (SETINT LIFTFAST, ALF)
Działanie W przypadku instrukcji SETINT z LIFTFAST przy przełączeniu wejścia narzędzie jest odsu-wane od konturu przez szybkie cofnięcie.
Dalszy przebieg jest zaleŜny od tego, czy instrukcja SETINT oprócz LIFTFAST zawiera pro-cedurę przerwania: Z procedurą przerwania: Po szybkim cofnięciu jest wykonywana procedura prze-
rwania. Bez procedury przerwania: Po szybkim cofnięciu obróbka jest zatrzymywana z alar-
mem.
Składnia SETINT(<n>) PRIO=1 LIFTFAST
SETINT(<n>) PRIO=1 <NAZWA> LIFTFAST
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
107
Znaczenie
SETINT(<n>) Polecenie: wejście <n. przyporządkować do procedury przerwania. Przyporządkowana procedura przerwania startuje, gdy przełączy wej-ście <n>.
<n> Parametr: Numer wejścia Typ: INT
Zakres wartości: 1 ... 8
PRIO= Ustalenie priorytetu
<warto ść> Wartość priorytetu
Zakres wartości: 1 ... 28
Priorytet 1 odpowiada najwyŜszemu priorytetowi.
<NAZWA> Nazwa podprogramu (procedury przerwania), który ma zostać wykona-ny.
LIFTFAST Polecenie: Szybkie cofnięcie od konturu
ALF=... Polecenie: Programowany kierunek ruchu (znajduje się w bloku ruchu) Odnośnie moŜliwości programowania z ALF patrz temat "Kierunek ruchu przy szybkim cofnięciu od konturu (strona 108) ".
Przykład Wyłamane narzędzie ma zostać automatycznie zastąpione przez narzędzie siostrzane. Ob-róbka jest następnie kontynuowana przy uŜyciu nowego narzędzia.
Program główny
Kod programu Komentarz N10 SETINT(1) PRIO=1 W_WECHS LIFTFAST ; Gdy zast ąpi zmiana sygnału na
wej ściu 1, narz ędzie jest natych-miast w drodze cofni ęcia szybkiego (kod nr 7 dla korekcji promienia narz ędzia G41) odsuwane od kontu-ru. Nast ępnie jest wykonywana pro-cedura przerwania "W_WECHS".
N20 G0 Z100 G17 T1 ALF=7 D1 N30 G0 X-5 Y-22 Z2 M3 S300 N40 Z-7 N50 G41 G1 X16 Y16 F200 N60 Y35 N70 X53 Y65 N90 X71.5 Y16 N100 X16 N110 G40 G0 Z100 M30
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
108
Podprogram: Kod programu Komentarz PROC W_WECHS SAVE ; Podprogram z zapisaniem aktual nego stanu robocze-
go N10 G0 Z100 M5 ; Pozycja zmiany narz ędzia, stop wrzeciona N20 T11 M6 D1 G41 ; Zmiana narz ędzia N30 REPOSL RMB M3 ; Ponowne dosuni ęcie do konturu i przeskok do pro-
gramu głównego (programowanie nast ępuje w jednym bloku)
Warunki brzegowe Zachowanie się przy aktywnym frame z lustrzanym odbiciem Przy określaniu kierunku odsunięcia następuje sprawdzenie, czy jest aktywny frame zawie-rający lustrzane odbicie. W tym przypadku przy kierunku odsunięcia odniesionym do kierun-ku stycznej następuje zamiana prawej i lewej strony. Udziały kierunków w kierunku narzę-dzia nie są poddawane lustrzanemu odbiciu. To zachowanie się jest uaktywniane przez ustawienie MD:
MD21202 $MC_LIFTFAST_WITH_MIRROR = TRUE
1.16.7 Kierunek ruchu przy szybkim odsuni ęciu od konturu
Ruch wycofania
Kierunek ruchu wycofania jest określany przez następujące G-Code: ● LFTXT Kierunek ruchu wycofania jest określany ze stycznej do toru i kierunku narzędzia (ustawienie standardowe). ● LFWP Płaszczyzna ruchu odsunięcia jest aktywną płaszczyzną roboczą, która jest wybierana przy pomocy aktywnych G-Code G17, G18 albo G19. Kierunek ruchu wycofania jest niezaleŜny od stycznej do konturu. Przez to jest moŜliwe programowanie szybkiego cofnięcia równole-głego do osi. ● LFPOS Wycofanie osi podanej przy pomocy POLFMASK do absolutnej pozycji osi zaprogramowanej przy pomocy POLF. ALF nie ma wpływu na kierunek cofnięcia dla wielu osi jak teŜ dla wielu osi w zaleŜności li-niowej.
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
109
Programowany kierunek ruchu (ALF=…)
W płaszczyźnie ruchu wycofania jest przy pomocy ALF programowany kierunek w krokach dyskretnych wynoszących 45 stopni. MoŜliwe kierunku ruchu są zapisane w sterowaniu pod specjalnymi numerami kodowymi i mogą być pod tymi numerami wywoływane.
Przykład:
Kod programu N10 SETINT(2) PRIO=1 ABHEB_Z LIFTFAST ALF=7
Narzędzie przy włączonym G41 (kierunek obróbki na lewo od konturu) odsuwa się prostopa-dle od konturu.
Płaszczyzna odniesienia dla opisu kierunków ruchu p rzy LFTXT
W punkcie przyporu narzędzia na zaprogramowanym konturze jest tworzona płaszczyzna, która słuŜy jako odniesienie dla podania ruchu odsunięcia przy pomocy odpowiedniego nu-meru kodowego.
Płaszczyzna odniesienia jest tworzona z osi wzdłuŜnej narzędzia (kierunek dosuwu) i wekto-ra, który stoi na konturze prostopadle do niej i do stycznej w punkcie przyporu narzędzia.
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
110
E
Punktprzyporu
Punkt-przyporu
Styczna
Styczna
Styczna
Styczna
Numery kodowe z kierunkami ruchu w przypadku LFXT
Wychodząc od płaszczyzny odniesienia znajdziecie na poniŜszym rysunku numery kodowe z kierunkami ruchu.
45°
45°
5
18
2
8
4
G41
G42
2
6
3
4
7
1
3
5
6 7W idok zgóry
Kierunek ruchu
W idok wkier. ruchu
Oś
dosu
wu
Dla ALF=1 jest ustalone wycofanie w kierunku narzędzia.
Przy pomocy ALF=0 funkcja "szybkie cofnięcie" jest wyłączona.
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
111
OSTROśNIE Przy włączonej korekcji promienia narzędzia nie powinny być stosowane: • w przypadku G41 kodowania 2, 3, 4 • w przypadku G42 kodowania 6, 7, 8, poniewaŜ w tych przypadkach narzędzie wykonałoby ruch do konturu i nastąpiłaby kolizja z obrabianym przedmiotem.
Numery kodowe z kierunkami ruchu w przypadku LFWP
W przypadku LFWP kierunek na płaszczyźnie roboczej wynika z następującego przyporząd-kowania: ● G17: płaszczyzna X/Y ALF=1: Wycofanie w kierunku X ALF=3: Wycofanie w kierunku Y ● G18: płaszczyzna Z/X ALF=1: Wycofanie w kierunku Z ALF=3: Wycofanie w kierunku X ● G19: płaszczyzna Y/Z ALF=1: Wycofanie w kierunku Y
ALF=3: Wycofanie w kierunku Z
Literatura /PG/ Podręcznik programowania Podstawy; Kapitel: "Polecenia wykonania ruchu" > "Stop przy nacinaniu gwintu" > "Cofnięcie przy wycofaniu"
/FB1/ Podręcznik działania Funkcje specjalne; SprzęŜenia osi i ESR (M3)
Elastyczne programowanie NC 1.16 Procedura przerwania (ASUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
112
1.16.8 Przebieg ruchów w przypadku procedur przerwa nia
Procedura przerwania bez LIFTFAST
Ruchy w osiach są hamowane na torze aŜ do stanu zatrzymanego. Następnie startuje pro-cedura przerwania. Pozycja stanu zatrzymanego jest zapisywana jako pozycja przerwania i dosunięcie do niej następuje przy REPOS z RMI na końcu procedury przerwania.
Procedura przerwania z liftfast
Ruchy w osiach są hamowane na torze. Równocześnie jest wykonywany ruch nałoŜony na LIFTFAST . Gdy ruch po torze i ruch LIFTFAST zatrzymały się, następuje wystartowanie procedury przerwania. Jako pozycja przerwania jest zapisywana pozycja na konturze, w której startuje ruch LIFTFAST a przez to nastąpiło wyjście z toru. Procedura przerwania z LIFTFAST i ALF=0 zachowuje się identycznie jak procedura prze-rwania bez LIFTFAST .
Wskazówka
Wielkość bezwzględna, o którą osie geometryczne odsuwają się od konturu przy szybkim cofnięciu, jest ustawiana poprzez daną maszynową.
Elastyczne programowanie NC 1.17 Zamiana osi, zamiana wrzecion (RELEASE, GET, GETD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
113
1.17 Zamiana osi, zamiana wrzecion (RELEASE, GET, G ETD)
Działanie Jedna albo wiele osi wzgl. wrzecion moŜe zawsze interpolować tylko w jednym kanale. JeŜe-li oś musi pracować na przemian w dwóch róŜnych kanałach (np. w wymieniaczu palet), wówczas musi ona najpierw zostać zwolniona w aktualnym kanale a następnie przejęta w innym kanale. Oś jest wymieniana między kanałami.
Rozszerzenia zamiany osi
Oś/wrzeciono moŜe być poddawane zamianie z zatrzymaniem przebiegu wyprzedzającego i synchronizacją między przebiegiem wyprzedzającym i przebiegiem głównym wzgl. równieŜ bez zatrzymania przebiegu wyprzedzającego. Poza tym zamiana osi jest równieŜ moŜliwa przez ● obrót pojemnika osi AXCTSWE wzgl. AXCTWED przy pomocy implicite GET/GETD. ● frame z rotacją, gdy ta oś jest przez to powiązana z innymi osiami. ● akcje synchroniczne, patrz akcje synchroniczne ruchu, "zamiana osi RELEASE, GET" .
Producent maszyny
Proszę przestrzegać danych producenta maszyny. Poprzez projektowane dane maszynowe oś musi być dla zamiany osi jednoznacznie zdefiniowana we wszystkich kanałach a zacho-wanie się pod względem zamiany osi jest równieŜ poprzez dane maszynowe ustawiane zmiennie.
Składnia RELEASE(nazwa osi, nazwa osi, ...) albo RELEASE(S1) GET(nazwa osi, nazwa osi, ...) albo GET(S2) GETD(nazwa osi, nazwa osi, ...) albo GETD(S3) Przy pomocy GETD (GET Directly) oś jest pobierana bezpośrednio z innego kanału. Ozna-cza to, Ŝe do tego GETD nie musi być programowany pasujący RELEASE w innym kanale. Oznacza to jednak równieŜ, Ŝe teraz musi zostać zbudowana inna komunikacja kanałowa (np. znaczniki Wait).
Elastyczne programowanie NC 1.17 Zamiana osi, zamiana wrzecion (RELEASE, GET, GETD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
114
Znaczenie RELEASE (nazwa osi, nazwa osi, …) Zezwolenie dla osi(n) GET (nazwa osi, nazwa osi, …) Przejęcie osi GETD (nazwa osi, nazwa osi, …) Bezpośrednie przejęcie osi(n) Nazwa osi Przyporządkowanie osi w systemie: AX1,
AX2, ... albo podanie nazwy osi maszyny RELEASE (S1) Zezwolenie dla wrzeciona S1, S2, … GET(S2) Przejęcie wrzeciona S1, S2, … GETD(S3) Bezpośrednie przejęcie wrzeciona S1, S2,
…
ZaŜądanie GET bez zatrzymania przebiegu
JeŜeli po zaŜądaniu GET bez zatrzymania przebiegu wyprzedzającego oś uzyska ponownie zezwolenie przy pomocy RELEASE(oś) albo WAITP(oś) , wówczas kolejny GET prowadzi do GET z zatrzymaniem przebiegu wyprzedzającego.
OSTROśNIE
Oś wzgl. wrzeciono przejęte przy pomocy GET pozostaje przyporządkowane do tego ka-nału równieŜ po RESET przyciskiem albo z programu. Przy ponownym starcie programu przyporządkowanie zmienionych osi wzgl. wrzecion musi nastąpić programowo, w przypadku gdy oś jest potrzebna w swoim podstawowym kanale.
W przypadku POWER ON zostaje ona przyporządkowana do kanału zapisanego w danej maszynowej.
Przykład: zamiana osi mi ędzy dwoma kanałami
Z 6 osi są w kanale 1 uŜywane do prowadzenia obróbki: 1., 2. 3. i 4. oś. Osie 5. i 6. są uŜy-wane w kanale 2 do zmiany obrabianego przedmiotu.
Oś 2 ma być moŜliwa do wymieniania między obydwoma kanałami a po załączeniu zasilania być przyporządkowana do kanału 1.
Elastyczne programowanie NC 1.17 Zamiana osi, zamiana wrzecion (RELEASE, GET, GETD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
115
Program „MAIN“ w kanale 1:
Kod programu Komentarz INIT (2,"TAUSCH2") ; Wybór programu TAUSCH2 w kana le2. N… START (2) ; Start programu w kanale 2. N… GET (AX2) ; Przej ęcie osi AX2. ... N… RELEASE (AX2) ; Zezwolenie dla osi AX2. N… WAITM (1,1,2) ; Czekanie na znacznik czekania w kanale
1 i 2 w celu synchronizacji w obydwu kanałach. ... ; Dalszy przebieg po zamianie osi. N… M30
Program "Tausch2" w kanale 2:
Kod programu Komentarz N… RELEASE(AX2) N160 WAITM(1,1,2) ; Czekanie na znacznik czekania w kanale
1 i 2 w celu synchronizacji w obydwu kanałach. N150 GET(AX2) ; Przej ęcie osi AX2. ... ; Dalszy przebieg po zamianie osi. N… M30
Przykład: zamiana osi bez synchronizacji
Gdy oś nie musi być synchronizowana, GET nie wytwarza zatrzymania przebiegu wyprze-dzającego.
Kod programu Komentarz N01 G0 X0 N02 RELEASE(AX5) N03 G64 X10 N04 X20 N05 GET(AX5) ; Gdy synchronizacja nie jest koniecz na, nie jest to
wykonywalny blok N06 G01 F5000 ; Nie jest to wykonywalny blok. N07 X20 ; Nie jest to wykonywalny blok, poniewa Ŝ pozycja X jak
w N04. N08 X30 ; Pierwszy wykonywalny blok po N05. ...
Elastyczne programowanie NC 1.17 Zamiana osi, zamiana wrzecion (RELEASE, GET, GETD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
116
Przykład: uaktywnienie zamiany osi bez zatrzymania przebiegu wyprzedzaj ącego
Warunek: Zamiana osi bez zatrzymania przebiegu wyprzedzającego musi zostać zaprogra-mowana poprzez daną maszynową.
Kod programu Komentarz N010 M4 S100 N011 G4 F2 N020 M5 N021 SPOS=0 N022 POS[B]=1 N023 WAITP(B) ; O ś B staje si ę osi ą neutraln ą. N030 X1 F10 N031 X100 F500 N032 X200 N040 M3 S500 ; O ś nie wyzwala zatrzymania przebiegu wyprze-
dzaj ącego/REORG. N041 G4 F2 N050 M5 N099 M30
JeŜeli jest wykonywany ruch wrzeciona wzgl. osi B bezpośrednio po bloku N023 jako osi PLC, np. na 180 stopni i z powrotem na 1 stopień, wówczas ta oś staje się z powrotem osią neutralną i w bloku N40 nie wyzwala zatrzymania przebiegu wyprzedzającego.
Warunek Warunki zamiany osi
● Oś musi być poprzez dane maszynowe zdefiniowana we wszystkich kanałach, które chcą tej osi uŜywać.
● Poprzez specyficzną dla osi daną maszynową musi być ustalone, któremu kanałowi ma być przyporządkowana oś po załączeniu zasilania.
Opis Zezwolenie dla osi: RELEASE
Przy udzielaniu zezwolenia dla osi naleŜy przestrzegać: 1. Oś nie moŜe uczestniczyć w Ŝadnej transformacji 2. Przy sprzęŜeniach osi (sterowanie styczne), muszą uzyskać zezwolenie wszystkie osie
zespołu. 3. Konkurującej osi pozycjonowania nie wolno zamienić. 4. W przypadku osi prowadzącej gantry są zamieniane równieŜ wszystkie następne osie. 5. W przypadku sprzęŜeń osi (holowanie, sprzęŜenie wartości wiodącej, przekładnia elektro-
niczna) moŜna udzielić zezwolenia tylko dla osi prowadzącej systemu.
Elastyczne programowanie NC 1.17 Zamiana osi, zamiana wrzecion (RELEASE, GET, GETD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
117
Przejęcie osi: GET
Przy pomocy tego polecenia przeprowadza się właściwą zamianę osi. Odpowiedzialność za oś leŜy całkowicie w kanale, w którym zaprogramowano polecenie.
Skutki GET:
Zamiana osi z synchronizacją: Oś musi być synchronizowana zawsze wtedy, gdy w międzyczasie była przyporządkowana do innego kanału albo do PLC a przed GET nie nastąpiła synchronizacja przez "WAITP", G74 albo skasowanie pozostałej drogi. ● Zatrzymanie przebiegu wyprzedzającego następuje (jak przy STOPRE). ● Obróbka zostaje przerwana na tak długo, aŜ zamiana zostanie całkowicie wykonana.
Automatyczne "GET"
JeŜeli oś jest zasadniczo dostępna w kanale, ale obecnie nie występuje jako "oś kanału", następuje automatyczne wykonanie GET. Gdy oś(sie) jest(są) juŜ zsynchronizowana(e), za-trzymanie przebiegu wyprzedzającego nie jest wytwarzane.
Ustawienie zmiennego zachowania si ę przy zamianie osi
Moment oddania osi daje się ustawić poprzez daną maszynową jak następuje: ● Automatyczna zamiana odbywa się między dwoma kanałami równieŜ wtedy, gdy oś zosta-
ła przez WAITP doprowadzona do stanu neutralnego (zachowanie się jak dotychczas) ● Przy zaŜądaniu obrotu pojemnika osi wszystkie przyporządkowywalne do kanału wykonu-
jącego osie pojemnika są przy pomocy następującego implicite GET wzgl. GETD pobiera-ne do kanału. Następna zamiana osi jest dozwolona dopiero po zakończeniu obrotu po-jemnika osi.
● Po wstawionym bloku pośrednim w przebiegu głównym następuje sprawdzenie, czy reor-ganizacja jest konieczna czy nie. Tylko gdy stany osi tego bloku nie są zgodne z aktual-nymi stanami osi, jest wymagana reorganizacja.
● Zamiast bloku GET z zatrzymaniem przebiegu wyprzedzającego i synchronizacją między przebiegiem wyprzedzającym i głównym zamiana osi moŜe nastąpić równieŜ bez zatrzy-mania przebiegu wyprzedzającego. Jest wówczas tworzony tylko blok pośredni z zaŜąda-niem GET. W przebiegu głównym przy wykonywaniu tego bloku następuje sprawdzenie, czy stany osi w bloku są zgodne z aktualnymi stanami osi.
Dalsze informacje dot. działania zamiany osi i wrzecion patrz /FB2/ Podręcznik działania Funkcje rozszerzające; BAG, kanały, zamiana osi (K5).
Elastyczne programowanie NC 1.18 Przekazanie osi do innego kanału (AXTOCHAN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
118
1.18 Przekazanie osi do innego kanału (AXTOCHAN)
Działanie Przy pomocy polecenia językowego AXTOCHAN moŜe zostać zaŜądana oś, aby przekazać ją do innego kanału. Oś moŜe zostać pobrana do odpowiedniego kanału zarówno z progra-mu obróbki NC jak teŜ z akcji synchronicznej.
Składnia
AXTOCHAN(nazwa osi,numer kanału[,nazwa osi,numer ka nału[,...]])
Znaczenie AXTOCHAN ZaŜądanie osi dla określonego kanału Nazwa osi Przyporządkowanie osi w systemie X, Y, ... albo podanie nazw uczestni-
czących osi maszyny. Wykonującym kanałem nie musi być własny kanał i nie musi to być teŜ ten kanał, który posiada aktualnie prawo interpolacji dla osi
Numer kanału Numer kanału, któremu oś ma zostać przyporządkowana
Wskazówka
Konkuruj ąca oś pozycjonowania i o ś kontrolowana wył ącznie przez PLC Oś PLC nie moŜe jako konkurująca oś pozycjonowania zmienić kanału. Oś kontrolowana wyłącznie przez PLC nie moŜe zostać przyporządkowana do programu NC.
Literatura
/FB2/ Podręcznik działania Funkcje rozszerzające; Osie pozycjonowania (P2)
Elastyczne programowanie NC 1.18 Przekazanie osi do innego kanału (AXTOCHAN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
119
Przykład AXTOCHAN w programie NC
Osie X i Y są znane w 1. kanale i w 2. kanale. Aktualnie kanał 1 ma prawo interpolacji i w kanale 1 jest uruchamiany następujący program:
Kod programu Komentarz N110 AXTOCHAN(Y,2) ; Zapisanie osi Y do 2. kanału. N111 M0 N120 AXTOCHAN(Y,1) ; Sprowadzenie osi Y z powrotem (neutralna). N121 M0 N130 AXTOCHAN(Y,2,X,2) ; Przesuni ęcie osi Y i osi X do 2. kanału (osie
neutralne). N131 M0 N140 AXTOCHAN(Y,2) ; Przesuni ęcie osi Y do 2. kanału (program NC). N141 M0
Opis AXTOCHAN w programie NC
Przy tym jest tylko przy zaŜądaniu osi dla programu NC we własnym kanale przeprowadza-ne GET a przez to równieŜ następuje czekanie na rzeczywistą zmianę stanu. JeŜeli oś zo-stanie zaŜądana dla innego kanału albo ma stać się osią neutralną we własnym kanale, wówczas jest tylko odpowiednio generowane Ŝądanie.
AXTOCHAN z akcji synchronicznej
Gdy oś zostanie zaŜądana dla własnego kanału, wówczas AXTOCHAN zostaje z akcji syn-chronicznej odwzorowane na GET. W tym przypadku oś staje się neutralna przy pierwszym zaŜądaniu dla własnego kanału. Przy drugim zaŜądaniu oś jest przyporządkowywana do programu NC analogicznie do zaŜądania GET w programie NC. Odnośnie zaŜądania GET z akcji synchronicznej patrz rozdział "Akcje synchroniczne ruchu".
Elastyczne programowanie NC 1.19 Ustawienie działania danych maszynowych (NEWCONF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
120
1.19 Ustawienie działania danych maszynowych (NEWCO NF)
Działanie Przy pomocy polecenia językowego NEWCONF jest ustawiane działanie wszystkich danych maszynowych stopnia działania "NEW_CONFIG". Funkcja moŜe zostać równieŜ uaktywnio-na na otoczce graficznej HMI przez naciśnięcie przycisku programowanego "Ustaw działanie MD". Przy wykonywaniu funkcji NEWCONF następuje implicite zatrzymanie przebiegu wyprzedza-jącego, tzn. ruch po torze jest przerywany.
Składnia
NEWCONF
Znaczenie NEWCONF Jest ustawiane działanie wszystkich danych maszynowych stopnia działa-
nia "NEW_CONFIG".
Wykonanie NEWCONF z programu obróbki poza granice k anału
Gdy dane maszynowe osi zostaną zmienione z programu obróbki a następnie uaktywnione przy pomocy NEWCONF, wówczas NEWCONF ustawia aktywność tylko tych danych ma-szynowych, które powodują zmiany dla kanału programu obróbki.
Wskazówka
Aby spowodować niezawodne działanie wszystkich zmian, instrukcja NEWCONF musi zostać wykonana w kaŜdym kanale, w którym są aktualnie liczone odnośne osie albo funkcje zmienione przez dane maszynowe. Przy NEWCONF nie są ustawiane Ŝadne osiowe dane maszynowe.
Dla osi kontrolowanych przez PLC musi zostać wykonany RESET osiowy.
Przykład
Obróbka frezarska: obróbka w pozycjach wiercenia przy pomocy róŜnych technologii
Kod programu Komentarz N10 $MA_CONTOUR_TOL[AX]=1.0 ; Zmiana danej maszyno wej N20 NEWCONF ; Ustawienie działania danych maszy-
nowych
Elastyczne programowanie NC 1.20 Zapisanie pliku (WRITE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
121
1.20 Zapisanie pliku (WRITE)
Działanie Przy pomocy polecenia WRITE moŜna dołączyć dane (np. wyniki pomiaru w przypadku cykli pomiarowych) na końcu podanego pliku. Utworzone pliki mogą ● być czytane, zmieniane i kasowane przez wszystkich uŜytkowników, ● być zapisywane do właśnie wykonywanego programu obróbki. Bloki są wstawiane na końcu pliku, w więc po M30. Aktualnie ustawiony stopień ochrony musi być równy albo większy od prawa WRITE pliku. JeŜeli tak nie jest, dostęp jest odrzucany z komunikatem błędu (error=13)
Składnia
WRITE(VAR INT error, CHAR[160] filename, CHAR[200] STRING)
Znaczenie
Producent maszyny
Przy pomocy polecenia WRITE bloki z programu obróbki mogą zostać zapisane w pliku. Wielkość plików protokołowych (w kilobajtach) jest ustalana w MD
Poprzez MD11420 $MN_LEN_PROTOCOL_FILE jest ustawiana maksymalna długość pli-ków protokołowych w kByte. Ta długość obowiązuje dla wszystkich plików, które zostaną utworzone przy pomocy polecenia WRITE.
Gdy plik osiągnie podaną długość, jest wyprowadzany komunikat błędu, łańcuch znaków nie jest zapisywany. O ile pamięć jest wystarczająca, moŜna utworzyć nowy plik.
Elastyczne programowanie NC 1.20 Zapisanie pliku (WRITE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
122
WRITE
error
Dołączenie danych na końcu podanego pliku Zmienna błędu dla zwrotu 0: Nie ma błędu 1: ŚcieŜka niedozwolona 2: ŚcieŜka nie znaleziona 3: Plik nie znaleziony 4: Nieprawidłowy typ pliku 10: Plik jest zapełniony 11: Plik jest uŜywany 12: Brak wolnych zasobów 13: Brak praw dostępu 20: Inny błąd
filename Nazwa pliku, w którym ma zostać zapisany łańcuch znaków. JeŜeli nazwa pliku zawiera spację albo znak sterujący (znak z kodem dziesiętnym ASCII <=32), wówczas polecenie WRITE z oznaczeniem błędu 1 "ścieŜka niedo-zwolona" jest przerywane. Nazwę pliku moŜna podać ze ścieŜką i identyfikatorem pliku. Nazwy ścieŜek muszą być absolutne, tzn. rozpoczynają się one od "/". JeŜe-li nazwa pliku nie zawiera identyfikatora domeny (_N_), jest on odpowiednio uzupełniany. JeŜeli nie jest podane rozszerzenie (_MPF albo _SPF), jest automatycznie uzupełniane _MPF. Gdy podanie nastąpi bez ścieŜki, plik jest zapisywany w aktualnym katalogu (= katalogu wybranego programu). Długość nazwy pliku moŜe wynosić maksymalnie 32 bajty, długość podania ścieŜki maksy-malnie 128 bajtów.
Przykład: PROTFILE _N_PROTFILE _N_PROTFILE_MPF /_N_MPF_DIR_/_N_PROTFILE_MPF/
STRING Tekst do zapisania. Wewnętrznie jest jeszcze dołączane LF, tzn. tekst staje się dłuŜszy o 1 znak.
Elastyczne programowanie NC 1.20 Zapisanie pliku (WRITE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
123
Wskazówka
Plik będący do zapisania poprzez polecenie WRITE ulega utworzeniu, jeŜeli nie istnieje w NC. JeŜeli na dysku twardym istnieje plik o takiej samej nazwie, jest on zastępowany po za-mknięciu pliku (W NC). Pomoc: zmienić nazwę w NC pod zakresem czynności obsługowych "Usługi" poprzez przy-cisk programowany "Właściwości".
Przykład
Kod programu Komentarz
N10 DEF INT ERROR N20 WRITE(ERROR,"TEST1","PROTOKÓŁ Z 7.2.97") ; Zapisz tekst
z PROTOKOŁU Z 7.2.97 do pliku TEST1.
N30 IF ERROR N40 MSG ("bł ąd przy poleceniu WRITE:" <<ERROR) N50 M0 N60 ENDIF ... WRITE(ERROR, "/_N_WKS_DIR/_N_PROT_WPD/_N_PROT_MPF", "PROTOKÓŁ C 7.2.97") ; Absolutne podanie
ście Ŝki.
Elastyczne programowanie NC 1.21 Skasowanie pliku (DELETE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
124
1.21 Skasowanie pliku (DELETE)
Działanie Przy pomocy polecenia DELETE mogą być kasowane wszystkie pliki, wszystko jedno czy powstały poprzez polecenie WRITE czy nie. RównieŜ pliki, które zostały sporządzone pod najwyŜszym stopniem dostępu, moŜna skasować przy pomocy DELETE.
Składnia
DELETE(VAR INT error, CHAR[160] filename)
Znaczenie
DELETE Skasowanie podanego pliku.
error Zmienna błędu dla zwrotu 0: Nie ma błędu 1: ŚcieŜka niedozwolona 2: ŚcieŜka nie znaleziona 3: Plik nie znaleziony 4: Nieprawidłowy typ pliku 11: Plik jest uŜywany 12: Brak wolnych zasobów 20: Inny błąd
filename Nazwa pliku, który ma zostać skasowany. Nazwę pliku moŜna podać ze ścieŜką i identyfikatorem pliku. Nazwy ścieŜek muszą być absolutne, tzn. rozpoczynają się one od "/". JeŜeli nazwa pliku nie zawiera identyfikatora domeny (_N_), jest on odpowiednio uzupełniany. Rozszerzenie pliku ("_" plus 3 znaki), np. _SPF) jest opcjonalne. JeŜeli nie ma rozszerzenia, nazwa pliku jest automatycznie wyposaŜana w _MPF. Gdy podanie nastąpi bez ścieŜki, plik jest zapisywany w aktualnym katalogu (= katalogu wybranego programu). Długość nazwy pliku moŜe wynosić maksymalnie 32 bajty, długość podania ścieŜki maksymalnie 128 bajtów.
Przykład: PROTFILE _N_PROTFILE _N_PROTFILE_MPF /_N_MPF_DIR/_N_PROTFILE_MPF/
Elastyczne programowanie NC 1.22 Czytanie wierszy w pliku (READ)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
125
Przykład Kod programu Komentarz
N10 DEF INT ERROR N15 STOPRE ; Zatrzymanie przebiegu wyprzedzaj ącego N20 DELETE(ERROR,"/_N_SPF_DIR/_N_TEST1_SPF") ; Skas uj plik TEST1 w odgał ęzieniu
podprogramu. N30 IF ERROR N40 MSG("Bł ąd przy poleceniu DELETE:" <<ERROR) N50 M0 N60 ENDIF
1.22 Czytanie wierszy w pliku (READ)
Działanie Polecenie READ czyta w podanym pliku jeden albo wiele wierszy i zapisuje przeczytane in-formacje w tablicy typu STRING. KaŜdy przeczytany wiersz zajmuje w tej tablicy jeden ele-ment. Aktualnie ustawiony stopień ochrony musi być równy albo większy uprawnieniu READ pliku. JeŜeli tak nie jest, dostęp jest odrzucany z komunikatem błędu (error=13).
Składnia READ(VAR INT error, STRING[160] file, INT line, INT number, VAR STRING[255] result[])
Elastyczne programowanie NC 1.22 Czytanie wierszy w pliku (READ)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
126
Znaczenie
READ W podanym pliku przeczytać jeden albo wiele wierszy i zapisać w elemen-cie tablicy. Informacja występuje jako STRING.
error Zmienna błędu dla zwrotu (parametr Call-By-Reference, typ INT) 0: Nie ma błędu 1: ŚcieŜka niedozwolona 2: ŚcieŜka nie znaleziona 3: Plik nie znaleziony 4: Nieprawidłowy typ pliku 13: Prawa dostępu niewystarczające 21: Wiersz nie istnieje (parametr "line" albo "number" większy niŜ liczba wierszy pliku) 22: Długość tablicy zmiennej wynikowej "result" jest za mała 23: Zakres wiersza za duŜy (parametr "number" został wybrany tak duŜy, Ŝe odczyt następuje poza końcem pliku)
file Nazwa/ścieŜka pliku do odczytania (parametr Call-By-Value typu STRING o max długości 160 bajtów). Plik musi znajdować się w pamięci uŜytkownika NCK (pasywny system plików). Przed nazwą pliku moŜe zostać umieszczo-ny identyfikator domeny _N_. Gdy brak jest identyfikatora domeny, jest on odpowiednio uzupełniany. Rozszerzenie pliku ("_" plus trzy znaki), np. _SPF) jest opcjonalne. JeŜeli nie ma rozszerzenia, nazwa pliku jest automatycznie wyposaŜana w _MPF JeŜeli w "file" nie jest podana ścieŜka, plik jest szukany w aktualnym katalo-gu (=katalog wybranego programu). Istniejące podania ścieŜki w "file" muszą rozpoczynać się od "/" (absolutne podanie ścieŜki).
line Podanie pozycji będącego do odczytania zakresu wiersza. (parametr Call-By-Value typu INT). 0: Jest czytana podana przy pomocy parametru "number" liczba wierszy przed końcem pliku 1 do 1: numer pierwszego wiersza do przeczytania
number Liczba wierszy do przeczytania (parametr Call-By-Value typu INT)
result Tablica typu STRING, w której odczytany tekst jest zapisywany (parametr Call-By-Reference o długości 255)
Elastyczne programowanie NC 1.22 Czytanie wierszy w pliku (READ)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
127
JeŜeli w parametrze "number" jest podanych mniej wierszy niŜ wynosi długość tablicy "re-sult", wówczas pozostałe elementy tablicy nie są zmieniane. Zakończenie wiersza przez znak sterujący "LF" (Line Feed) albo "CR LF" (Carrige Return Line Feed) nie jest zapisywane w zmiennej wynikowej "result". Przeczytane wiersze są obci-nane, gdy wiersz jest dłuŜszy niŜ długość ciągu znaków zmiennej docelowej "result". Nie na-stępuje komunikat błędu.
Wskazówka
Pliki binarne nie mog ą być wczytywane.
Jest wyprowadzany błąd error=4: nieprawidłowy typ pliku. Następujące typy plików nie dają się czytać: _BIN, _EXE, _OBJ, _LIB, _BOT, _TRC, _ACC, _CYC, _NCK.
Przykład Kod programu Komentarz
N10 DEF INT ERROR ; Zmienna bł ędu N20 STRING[255] RESULT[5] ; Zmienna wynikowa ... N30 READ(ERROR,"TESTFILE",1,5,RESULT) ; Nazwa plik u bez identyfikatora domeny i pliku. ... N30 READ(ERROR,"TESTFILE_MPF",1,5,RESULT) ; Nazwa p liku bez identyfikatora domeny i z rozszerze-
niem pliku. ... N30 READ(ERROR,"_N_TESTFILE_MPF",1,5,RESULT) ; Nazw a pliku z identyfikatorem domeny i rozszerze-
niem pliku. ... N30 READ(ERROR,"/_N_CST_DIR/_N_TESTFILE_MPF",1,5,RE SULT) ; Nazwa pliku z identyfikatorem domeny,
rozszerzeniem pliku i podaniem ście Ŝki. ... N40 IF ERROR <>0 ; Ewaluacja bł ędu N50 MSG("BŁ ĄD "<<ERROR<<" PRZY POLECENIU READ ") N60 M0 N70 ENDIF ...
Elastyczne programowanie NC 1.23 Plik znajduje się w pamięci aplikacji (ISFILE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
128
1.23 Plik znajduje si ę w pami ęci aplikacji (ISFILE)
Działanie Przy pomocy polecenia ISFILE następuje sprawdzenie, czy plik istnieje w pamięci uŜytkow-nika w NCK (pasywny system plików). Wynikiem jest TRUE (plik jest) albo False (nie ma pli-ku).
Składnia
result=ISFILE(STRING[160]file)
Znaczenie
ISFILE Sprawdza, czy plik istnieje w pamięci uŜytkownika NCK
file Nazwa wzgl. ścieŜka pliku do odczytania (parametr Call-By-Value typu STRING o długości maksymalnej 160 bajtów). Plik musi się znajdować w pamięci uŜytkownika NCK (pasywny system plików). Przed nazwą pliku moŜe zostać umieszczony identyfikator domeny _N_. Gdy brak jest identyfikatora domeny, jest on odpowiednio uzupełnia-ny. Rozszerzenie pliku ("_" plus trzy znaki), np. _SPF) jest opcjonalne. Gdy nie ma identyfikatora, nazwa pliku jest automatycznie wyposaŜana w _MPF. JeŜeli w "file" nie jest podana ścieŜka, plik jest szukany w aktualnym kata-logu (=katalog wybranego programu). Istniejące podania ścieŜki w "file" muszą rozpoczynać się od "/" (absolutne podanie ścieŜki).
result Zmienna do zapisu wyniku typu BOOL (TRUE albo FALSE)
Elastyczne programowanie NC 1.24 Informacje o pliku (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
129
Przykład Kod programu
N10 DEF BOOL RESULT N20 RESULT=ISFILE("TESTFILE") N30 IF(RESULT==FALSE) N40 MSG("PLIKU NIE MA") N50 M0 N60 ENDIF ... albo: N30 IF(NOT ISFILE("TESTFILE")) N40 MSG("PLIKU NIE MA") N50 M0 N60 ENDIF ...
1.24 Informacje o pliku (FILEDATE, FILETIME, FILESI ZE, FILESTAT, FILEINFO)
Działanie Poprzez polecenia językowe FILEDATE, FILETIME, FILESIZE, FILESTAT i FILEINFO mogą zostać odczytane z pamięci uŜytkownika NCK określone informacje o pliku jak data, czas zegarowy, aktualna wielkość pliku, status pliku albo suma tych informacji (pasywny system plików). Aktualnie ustawiony stopień ochrony musi być równy albo większy od show right katalogu nadrzędnego. JeŜeli tak nie jest, dostęp jest odrzucany z komunikatem błędu (error=13).
Zastosowanie:
Udostępnienie nowych informacji o pliku, gdy plik dla uŜytkownika zmienił się i powinien np. zostać na nowo obliczony.
Składnia
FILExxxx(VAR INT error, STRING[160] file, VAR {STRI NG[yy]INT}result)
Elastyczne programowanie NC 1.24 Informacje o pliku (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
130
Znaczenie
FILEDATE Daje datę ostatniego dostępu do pliku w celu zapisu
FILETIME Daje czas zegarowy ostatniego dostępu do pliku w celu zapisu
FILESIZE Daje aktualną wielkość pliku
FILESTAT Daje status pliku jak prawa do odczytu, zapisu i wykonywania
FILEINFO Daje sumę informacji z elementu katalogu
error Zmienna błędu dla zwrotu przedstawienie 0: Nie ma błędu 1: ŚcieŜka niedozwolona 2: ŚcieŜka nie znaleziona 3: Plik nie znaleziony 13: Prawa dostępu niewystarczające 22: Długość tablicy zmiennej wynikowej "result" jest za mała
file Nazwa wzgl. ścieŜka pliku do odczytania (parametr Call-By-Value typu STRING o długości maksymalnej 160 bajtów). Plik musi się znajdować w pamięci uŜytkownika NCK (pasywny system plików). Przed nazwą pliku moŜe zostać umieszczony identyfikator domeny _N_. Gdy brak jest identyfikatora domeny, jest on odpowiednio uzupełniany. Rozszerzenie pliku ("_" plus trzy znaki), np. _SPF) jest opcjonalne. Gdy nie ma identyfikatora, nazwa pliku jest automatycznie wyposaŜana w _MPF. JeŜeli w "file" nie jest podana ścieŜka, plik jest szukany w aktualnym katalogu (=katalog wybranego programu). Istniejące podania ścieŜki w "file" muszą rozpoczynać się od "/" (abso-lutne podanie ścieŜki).
result Zmienna z wynikiem, w którym jest zapisywana informacja o pliku (pa-rametr Call-By-Reference) typu String przy: FILEDATE, długość musi być 8, formatem jest "dd.mm.yy" FILETIME, długość musi być 8, formatem jest "hh:mm.ss" FILESTAT, długość musi być 5, formatem jest "rwxsd" FILEINFO, długość musi być 32, formatem jest "rwxsd nnnnnnnn dd.mm.yy hh:mm:ss" (Parametr Call-By-Reference) typu INT przy: FILESIZE, wielkość pliku jest wyprowadzana w bajtach "rwxsd" (Read, write, eXecute, Show, Delete)
Elastyczne programowanie NC 1.24 Informacje o pliku (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
131
Przykłady
Kod programu Komentarz
N10 DEF INT ERROR ; Zmienna bł ędu N20 STRING[32] RESULT ; Zmienna wynikowa ... N30 FILEINFO(ERROR,"TESTFILE",RESULT) ; Nazwa plik u bez identyfikatora domeny i rozsze-
rzenia pliku. ... N30 FILEINFO(ERROR,"TESTFILE_MPF",RESULT) ; Nazwa pliku bez identyfikatora domeny i z rozsze-
rzeniem pliku ... N30 FILEINFO(ERROR,"_N_TESTFILE_MPF",RESULT) ; Nazw a pliku z identyfikatorem domeny i rozszerze-
niem pliku. ... N30 FILEINFO(ERROR,"/_N_MPF_DIR/_N_TESTFILE_MPF",RE SULT) ; Nazwa pliku z identyfikatorem domeny,
rozszerzeniem pliku i podaniem ście Ŝki. ... N40 IF ERROR <>0 ; Ewaluacja bł ędu N50 MSG("BŁ ĄD "<<ERROR<<" PRZY POLECENIU FILEINFO ") N60 M0 N70 ENDIF ...
Przykład daje zmienną wynikową RESULT: "77777 12345678 26.05.00 13:51:30"
Elastyczne programowanie NC 1.25 Utworzenie sumy kontrolnej po tablicy (CHECKSUM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
132
1.25 Utworzenie sumy kontrolnej po tablicy (CHECKSU M)
Działanie
Przy pomocy CHECKSUM tworzycie sumę kontrolną po tablicy.
Zastosowanie
Sprawdzenie, czy przy skrawaniu kontur wejściowy zmienił się.
Składnia error=CHECKSUM(VAR STRING[16] chksum, STRING[32]arr ay, INT first, INT last)
Znaczenie
CHECKSUM Utworzenie sumy kontrolnej tablicy
error Zmienna błędu dla zwrotu przedstawienie 0: Nie ma błędu 1: Symbolu nie znaleziono 2: Nie tablica 3: Indeks 1 za duŜy 4: Indeks 2 za duŜy 5: Niepoprawny typ danych 10: Przekroczenie sumy kontrolnej
chksum Suma kontrolna po tablicy jako STRING (parametr Call-By-Reference typu STRING), o ustalonej długości 16. Suma kontrolna jest przedstawiana jako łańcuch znaków obejmujący 16 cyfr szesnastkowych. Nie są równocześnie podawane Ŝadne znaki formatu.
Przykład: "A6FC3404E534047C"
array Nazwa tablicy, po której jest tworzona suma kontrolna. (parametr Call-By-Value typu STRING), o długości max 32. Dopuszczalne tablice: 1- albo 2-wymiarowe tablice typów BOOL, CHAR, INT, REAL, STRING
Tablice danych maszynowych są niedopuszczalne.
first Numer kolumny początkowej (opcjonalnie)
last Numer kolumny końcowej (opcjonalnie)
Elastyczne programowanie NC 1.25 Utworzenie sumy kontrolnej po tablicy (CHECKSUM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
133
Wskazówka
Parametry first i last są opcjonalne. Gdy indeksy kolumn nie zostaną podane, wówczas jest tworzona suma kontrolna po kompletnej tablicy. Wynik sumy kontrolnej jest zawsze jednoznaczny. Przy zmianie jednego elementu tablicy powstaje równieŜ inny wynikowy łańcuch znaków.
Przykład Kod programu
N10 DEF INT ERROR N20 DEF STRING[16] MY_CHECKSUM N30 DEF INT MY_VAR[4,4] N40 MY_VAR=... N50 ERROR=CHECKSUM (CHECKSUM;"MY_VAR", 0, 2) ... daje w MY_CHECKSUM warto ść "A6FC3404E534047C"
Elastyczne programowanie NC 1.26 Zaokrąglenie do góry (ROUNDUP)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
134
1.26 Zaokr ąglenie do góry (ROUNDUP)
Działanie Przy pomocy funkcji "ROUNDUP" wprowadzane wartości typu REAL (liczby ułamkowe z kropką dziesiętną) mogą być zaokrąglane do góry do najbliŜszej liczby całkowitej.
Składnia
ROUNDUP(<wartość>)
Znaczenie ROUNDUP Polecenie zaokrąglenia wprowadzonej wartości do góry
<warto ść> Wprowadzona wartość typu REAL
Wskazówka
Wprowadzane wartości typu INTEGER (liczba całkowita) są zwracane bez zmiany.
Przykłady Przykład 1: Ró Ŝne wprowadzane warto ści i wyniki ich zaokr ąglenia Przykład Wynik zaokr ąglenia ROUNDUP(3.1) 4.0 ROUNDUP(3.6) 4.0 ROUNDUP(-3.1) -3.0 ROUNDUP(-3.6) -3.0 ROUNDUP(3.0) 3.0 ROUNDUP(3) 3.0
Przykład 2: ROUNDUP w programie NC
Kod programu
N10 X=ROUNDUP(3.5) Y=ROUNDUP(R2+2) N15 R2=ROUNDUP($AA_IM[Y]) N20 WHEN X=100 DO Y=ROUNDUP($AA_IM[X]) ...
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
135
1.27 Technika podprogramów
1.27.1 Podprogramy
Działanie Jak we wszystkich językach programowania wyŜszego poziomu, równieŜ w języku NC czę-ści programu, które są stosowane wielokrotnie, mogą zostać umieszczone w podprogra-mach. Podprogramy mają następujące zalety: ● zwiększają przejrzystość i czytelność programów ● zwiększają jakość przez ponowne stosowanie przetestowanych części programu ● stwarzają moŜliwość tworzenia specyficznych bibliotek obróbkowych ● oszczędzają miejsce w pamięci
Program główny
Podprogram
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
136
Podprogram
Budowa podprogramu
W zasadzie podprogram jest zbudowany tak, jak program główny. Składa się on z bloków NC z poleceniami ruchu i poleceniami wykonania czynności łączeniowych. Dodatkowo moŜna w podprogramie zaprogramować nagłówek z definicjami parametrów. Koniec podprogramu jest programowany z M17. Oznacza to powrót do wywołującej płasz-czyzny programowej.
Wskazówka
Poprzez daną maszynową moŜna maskować koniec programu M17 (np. aby uzyskać ko-rzyści pod względem czasu przebiegu).
Koniec podprogramu z RET
Zamiast końca programu M17 moŜna w podprogramie równieŜ uŜyć instrukcji końca RET. RET wymaga własnego bloku.
Instrukcji RET naleŜy uŜyć wtedy, gdy praca z przechodzeniem płynnym G64 (G641, G642, G643) nie powinna być przerywana przez powrót. Warunkiem tego jest, by podpro-gram nie posiadał atrybutu SAVE.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
137
Gdy M17 zostanie zaprogramowane we własnym bloku, G64 jest przerywane i jest wytwa-rzane zatrzymanie dokładne. Pomoc: nie pisać M17 oddzielnie w bloku podprogramu, lecz np. z drogą ruchu: G1 X=YY M17
Poprzez daną maszynową musi być ustawione: "bez M17 z PLC".
Nazwa podprogramu
Przy sporządzaniu podprogramu musi mu zostać nadana nazwa. Dla nadania nazwy obo-wiązują takie same zasady jak dla programów głównych.
Literatura:
Podręcznik programowania Podstawy
Kaskadowanie podprogramów
Podprogramy moŜna wywoływać nie tylko w programie głównym, lecz równieŜ w podpro-gramie. Cała hierarchia wywoływania nie moŜe przekraczać 16 płaszczyzn programowych, łącznie z płaszczyzną programu głównego. Z programu głównego moŜe przez to wychodzić maksymalnie 15 kaskadowanych wywołań podprogramu.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
138
Wskazówka
Procedury przerwania (ASUP)
RównieŜ w procedurach przerwania mogą być wywoływane podprogramy. Aby nie prowa-dziło to do przekroczenia maksymalnie moŜliwej liczby płaszczyzn programu a przez to do alarmu, system rezerwuje 2 dodatkowe płaszczyzny programowe dla procedur przerwania. Nie mogą być one uŜywane przez uŜytkownika.
Gdy dla procedur przerwania potrzeba więcej niŜ 2 płaszczyzny programowe, wówczas musi to zostać uwzględnione przy kaskadowaniu podprogramów, tzn. potrzebne płaszczy-zny programowe muszą zostać udostępnione.
Wskazówka
Cykle
Dla cykli obróbkowych i pomiarowych SIEMENS potrzeba 3 płaszczyzn. Gdy cykl ma zo-stać wywołany z podprogramu, moŜe to nastąpić maksymalnie w płaszczyźnie 14.
1.27.2 Podprogramy z atrybutem SAVE (SAVE)
Działanie Atrybut SAVE powoduje, Ŝe aktywne przed wywołaniem podprogramu modalne funkcje G są zapisywane i ponownie uaktywniane po zakończeniu podprogramu.
Składnia
PROC <podprogramy> SAVE
Znaczenie
SAVE Zapisanie modalnej funkcji G przed wywołaniem podprogramu i odtworzenie po zakończeniu podprogramu
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
139
Przykład
W podprogramie KONTUR działa modalna funkcja G91 (wymiar przyrostowy). W programie głównym działa modalna funkcja G90 (wymiar absolutny). Przez definicję podprogramu z SAVE po zakończeniu podprogramu działa ponownie G90.
Definicja podprogramu:
Kod programu Komentarz
PROC KONTUR (REAL WERT1) SAVE ; Definicja podprogra mu z parametrem SAVE N10 G91 … ; Modalna funkcja G91: wymiar przyrosto wy N100 M17 ; Koniec podprogramu
Program główny:
Kod programu Komentarz N10 G0 X… Y… G90 ; Modalna funkcja G90: wymiar abs olutny N20 … ... N50 KONTUR (12.4) ; Wywołanie podprogramu N60 X… Y… ; Modalna funkcja G90 reaktywowana prze z SAVE
Warunki brzegowe
• Frame
Zachowanie się frame odnośnie podprogramów z atrybutem SAVE jest zaleŜne od typu frame i moŜe zostać ustawione poprzez dane maszynowe.
Literatura Podręcznik działania Funkcje podstawowe; osie, Układy współrzędnych, Frame (K2), punkt "Powrót z podprogramu przy pomocy SAVE".
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
140
1.27.3 Podprogramy z przekazaniem parametrów (PROC, VAR)
Działanie
Początek programu, PROC
Podprogram, który podczas przebiegu programu ma przejmować parametry od programu wywołującego, jest oznakowywany przy pomocy słowa kluczowego PROC.
Koniec podprogramu M17, RET
Przy pomocy polecenia M17 oznacza się koniec podprogramu z równoczesną instrukcją przeskoku z powrotem do wywołującego programu głównego. Alternatywnie do M17: słowo kluczowe RET oznacza koniec podprogramu bez przerwania pracy z płynnym przechodze-niem między blokami i bez wyprowadzenia funkcji do PLC.
Programowanie
Parametry podprogramu muszą zostać podane na początku jego definicji z podaniem typu i nazwy.
Przekazanie parametrów Call-by-value
PROC NAZWA_PROGRAMU(TYP_ZMIENNEJ1 ZMIENNA1,TYP_ZMIENNEJ2 ZMIENNA2,...)
Przykład:
PROC KONTUR(REAL DŁUGOŚĆ, REAL SZEROKOŚĆ)
Przekazanie parametrów Call-by-reference, oznaczeni e słowem kluczowym VAR
PROC NAZWA_PROGRAMU(VAR TYP_ZMIENNEJ1 ZMIENNA1,VAR TYP_ZMIENNEJ2 …,)
Przykład:
PROC KONTUR(VAR REAL DŁUGOŚĆ, VAR REAL SZEROKOŚĆ)
Przekazanie tablic Call-by-reference, oznaczenie sł owem kluczowym VAR
PROC NAZWA_PROGRAMU(VAR TYP_ZMIENNEJ1 NAZWA_TABLICY1[wielko ść tabli-cy], VAR TYP_ZMIENNEJ2 NAZWA_TABLICY2[wielko ść tablicy], VAR TYP_ZMIENNEJ3 NAZWA_ZMIENNEJ3[wielko ść tablicy1, wielko ść tabli-cy2], VAR TYP_ZMIENNEJ4 NAZWA_TABLICY4[ ], VAR TYP_ZMIENNEJ5 NAZWA_TABLICY5 [,wielko ść tablicy])
Przykład:
PROC PALETA(VAR INT TABLICA[,10])
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
141
Parametry PROC Pierwsza instrukcja programu NAZWA_PROGRAMU Nazwa podprogramu, który ma przej ąć odno śne warto ści parame-
trów TYP ZMIENNEJ Typy zmiennych z podaniem warto ści zmiennych. ZMIENNA Ka Ŝdorazowo jest mo Ŝliwych wiele informacji wej ściowych. VAR Słowo kluczowe rodzaju przekazania parametrów NAZWA_TABLICY Elementy tablicy z wyszczególnionymi warto ściami definicji
tablicy Wielko ść tablicy 1 dla tablicy jednowymiarowej Wielko ść tablicy2 dla tablicy dwuwymiarowej
Wskazówka
Instrukcja definicyjna z PROC musi być pisana we oddzielnym bloku NC. Dla przekazania parametrów moŜna uzgodnić maksymalnie 127 parametrów.
Przykład Przekazanie parametrów mi ędzy programem głównym i podprogramem
N10 DEF REAL DŁUGOŚĆ,SZEROKOŚĆ N20 LAENGE=12 SZEROKOŚĆ =10 N30 RAMKA(DŁUGOŚĆ,SZEROKOŚĆ)
DŁUG., SZER.
Program główny
Przyporz. wartościDŁUGOŚĆ=12SZEROKOŚĆ=10 Podprogram
Nowe przporz.
wartościDŁUGOŚĆ=20SZEROKOŚĆ=15
Obow. nowe wartości
Obow. stare wartości
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
142
Wartości przyporządkowane w programie głównym w N20 są przy wywołaniu podprogramu przekazywane do N30. Przekazanie parametrów następuje w podanej kolejności.
Nazwy parametrów w programie głównym i podprogramie nie muszą być identyczne.
Druga mo Ŝliwo ść przekazania parametrów:
● Warto ści są tylko przekazywane (Call-by-value)
W przypadku gdy parametry przy przebiegu wykonywania podprogramu są zmieniane, nie ma to wpływu na program główny. Tutaj parametry pozostają bez zmian (patrz rysunek).
DŁUG, SZEROK.
DŁUG., SZER.
Przyporz. wart.DŁUGOŚĆ=12SZEROKOŚĆ=10
Program główny
Podprogram
Noweprzyporz. wartościDŁUGOŚĆ=20SZEROKOŚĆ=15
Obow. nowe wartości
Obow. nowe wartości
● Przekazanie parametrów z wymian ą danych (Call-by-reference)
KaŜda zmiana parametrów w podprogramie powoduje równocześnie zmianę parametru w programie głównym (patrz rysunek).
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
143
Przykład: długo ść tablicy zmiennej
Program główny "PŁYTA_WIERTARSKA":
Kod programu Komentarz
N10 DEF REAL TABLICA[100,2] ; Zdefiniowanie tablic y pozycji N20 EXTERN UKŁAD_WIERC_OTWORÓW (VAR REAL[,2],INT) ; N30 TABLICA[0,0]=-17.5 ; Ustalenie pozycji … N200 TABLICA[99,1]=45 N210 UKŁAD_WIERC_OTWORÓW (TABLICA,100) ; Wywołanie podprogramu N220 M30
Przykład: wykonanie układu wierconych otworów na po dstawie przekazanej tablicy pozycji o zmiennej długo ści
Podprogram "UKŁAD_WIERCONYCH_OTWORÓW":
Kod programu Komentarz
N10 PROC UKŁAD_WIERC_OTWORÓW(VAR REAL TABLICA[,2], INT LICZBA) ; Definicja N20 DEF INT LICZNIK ; Kolejno ść obróbki N30 STEP: G1 X=TABLICA[LICZNIK,0] Y=TABLICA[LICZNIK ,1] F100 N40 Z=IC(-5) N50 Z=IC(5) N60 LICZNIK = LICZNIK + 1 N70 IF LICZNIK < LICZNIK GOTOB STEP N80 RET
Bezprzerwowa praca z przechodzeniem płynnym
Aby praca z przechodzeniem płynnym nie była przerywana przez wywołanie podprogramu, nie wolno przy definicji podprogramu stosować atrybutu SAVE. Jako polecenie powrotu z podprogramu musi być stosowane polecenie RET.
Kod programu Komentarz
PROC KONTUR ; Pocz ątek podprogramu N10… … N100 RET ; powrót
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
144
Przekazanie parametrów mi ędzy programem głównym i podprogramem
Gdy w programie głównym pracujecie z parametrami, moŜecie je stosować równieŜ w zasi-laniu. W tym celu przy wywołaniu podprogramu przekaŜcie wartości aktualnych parametrów programu głównego do formalnych parametrów podprogramu.
Tablice o nieokre ślonej długo ści jako parametry formalne
Dzięki tablicom o nieokreślonej długości jako parametrom formalnym podprogramy mogą wykonywać tablice o zmiennej długości. W tym celu przy definicji tablicy dwuwymiarowej ja-ko parametru formalnego długość 1. wymiaru nie jest podawana. Przecinek musi być jednak pisany.
Przykład:
PROC <nazwa_podprogramu> (VAR REAL TABLICA[,5])
Szczegółowe objaśnienie definicji tablic znajdziecie pod:
Literatura
/PGA/ Instrukcja programowania Przygotowanie pracy; Elastyczne programowanie NC,
punkt: Definicje tablic (DEF, SET, REF)
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
145
1.27.4 Wywoływanie podprogramów (L wzgl. EXTERN)
Działanie
Wywołanie podprogramu bez przekazania parametrów
W programie głównym wywołujecie podprogram albo przy pomocy adresu L i numeru podpro-gramu albo przez podanie nazwy programu.
Przykład: N10 L47
albo N10 CZOP_2
Program główny
N10 L47alboN10 Czop_2
Podprogram
Wywołanie podprogramu z przekazaniem parametrów
Przy wywołaniu podprogramu z przekazaniem parametrów moŜecie bezpośrednio przekazy-wać zmienne albo wartości (nie w przypadku parametrów VAR).
Podprogramy z przekazaniem parametrów muszą przed wywołaniem zostać podane w pro-gramie głównym przez EXTERN (np. na początku programu).
Podawane są przy tym nazwa podprogramu i typy zmiennych w kolejności przekazania.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
146
Składnia Wywołanie podprogramu bez przekazania parametrów:
L<numer> <nazwa_programu>
Wywołanie podprogramu z przekazaniem parametrów:
EXTERN <nazwa_programu>(<Typ_Par1>,<Typ_Par2>,<Typ_ Par3>) ...
<nazwa_programu>(<warto ść_Par1>,<warto ść_Par2>,<warto ść_Par3>)
OSTROśNIE
Dla kaŜdego wywołania podprogramu obowiązuje:
Podprogram musi zawsze być programowany we własnym bloku NC.
Znaczenie
L Adres dla wywołania podprogramu
<Numer> Numer podprogramu Typ: INT Wartość: Maksymalnie 7 miejsc dziesiętnych
Uwaga:
Zera na początku mają znaczenie przy nadawa-niu nazw (⇒ L123, L0123 i L00123 są trzema róŜnymi podprogramami).
<Nazwa programu> Nazwa podprogramu
EXTERN Słowo kluczowe do podania podprogramu z przekazaniem para-metrów. Wskazówka: EXTERN musi zostać podane tylko wtedy, gdy podprogram znaj-duje się w katalogu obrabianego przedmiotu albo podprogramu. Cykle nie muszą być deklarowane jako EXTERN.
<Typ_Par1>, <Typ_Par2>, <Typ_Par3>
Typy zmiennych przekazywanych parametrów w kolejności prze-kazania
<Warto ść_Par1>, <Warto ść_Par2>, <Warto ść_Par3>
Wartości zmiennych dla przekazywanych parametrów
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
147
Niekompletne przekazanie parametrów
Przy wywoływaniu podprogramu ustawione domyślnie wartości albo parametry moŜna wła-ściwie pominąć. W tym przypadku odpowiedni parametr w podprogramie otrzymuje wartość zero.
W celu podania kolejności musi być pisany przecinek. JeŜeli parametry znajdują się na koń-cu ciągu, przecinek moŜna równieŜ pominąć.
OSTROśNIE Aktualnych parametrów typu AXIS nie wolno pomijać. Parametry VAR muszą zostać prze-niesione kompletnie.
Przykłady Przykład 1: wywołanie podprogramu z przekazaniem pa rametrów (z EXTERN)
Kod programu Komentarz
N10 EXTERN RAMKA(REAL,REAL,REAL) ; Podanie podprog ramu. ... N40 RAMKA(15.3,20.2,5) ; Wywołanie podprogramu z p rze-
kazaniem parametrów.
Program główny
N10 EXTERNRAMKA(REAL,REAL,REAL)..N40 RAMKA(15.3,20.2,5)
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
148
Przykład 2: wywołanie podprogramu z przekazaniem pa rametrów (bez EXTERN)
Kod programu Komentarz
N10 DEF REAL DŁUGOŚĆ, SZEROKOŚĆ, GŁ ĘBOKOŚĆ N20 … N30 DŁUGOŚĆ=15.3 SZEROKOŚĆ=20.2 GŁ ĘBOKOŚĆ=5 N40 RAMKA(DŁUGOŚĆ,SZEROKOŚĆ,GŁ ĘBOKOŚĆ) ; albo: N40 RAMKA(15.3,20.2,5)
Program główny
N30 DŁUG=15.3 SZER=20.2 GŁĘB=5N40 RAMKA(DŁUG,SZER;GŁ ĘB)alboN40RAMKA(15.3,20.2,5)
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
149
Przykład 3: podprogram
Kod programu Komentarz
PROC SUB1(INT VAR1,DOUBLE VAR2) IF $P_SUBPAR[1]==TRUE ; Parametr VAR1 został zapro gramowany w wywołaniu podpro-
gramu. ELSE ; Parametr VAR1 nie został zaprogramowany w w ywołaniu
podprogramu i wyposa Ŝony przez system w warto ść standardow ą 0.
ENDIF IF $P_SUBPAR[2]==TRUE ; Parametr VAR2 został zaprog ramowany w wywołaniu podpro-
gramu ELSE ; Parametr VAR2 nie został zaprogramowany w w ywołaniu
podprogramu i został wyposa Ŝony przez system w warto ść standardow ą 0.0.
ENDIF ; Parametr 3 nie jest zdefiniowany. IF $P_SUBPAR[3]==TRUE -> Alarm 17020 M17
Opis
OSTROśNIE
Definicja podprogramu odpowiada wywołaniu podprogra mu
Zarówno typy zmiennych jak i kolejność przekazania muszą być zgodne z definicjami, które zostały uzgodnione w nazwie podprogramu pod PROC. Nazwy parametrów mogą być róŜne w programie głównym i podprogramie.
Definicja w podprogramie:
PROC RAMKA(REAL DŁUGOŚĆ, REAL SZEROKOŚĆ, REAL GŁ ĘBOKOŚĆ)
Wywołanie w programie głównym:
N30 RAMKA(DŁUGOŚĆ, SZEROKOŚĆ, GŁ ĘBOKOŚĆ)
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
150
Niepełne przekazanie parametrów
Powróćmy do ostatniego przykładu:
N40 RAMKA(15.3, ,5)
Wartość średnia 20.2 została tutaj pominięta
W przypadku niekompletnego przekazania parametrów moŜna poprzez zmienną systemo-wą $P_SUBPAR[i] rozpoznać, czy przekazywany parametr dla podprogramów został rze-czywiście zaprogramowany, czy nie. Zmienna systemowa zawiera jako argument (i) numer przekazywanego parametru.
Zmienna systemowa $P_SUBPAR daje
● TRUE, gdy przekazywany parametr został zaprogramowany
● FALSE, gdy jako przekazywany parametr nie uŜyto wartości.
Gdy podano niedopuszczalny numer parametru, wówczas program obróbki jest przerywany z wyprowadzeniem alarmu.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
151
Wywołanie programu głównego jako podprogramu
RównieŜ program główny moŜe zostać wywołany jako podprogram. Wstawiony do programu głównego koniec programu M2 albo M30 jest w tym przypadku traktowany jak M17 (koniec programu z powrotem do programu wywołującego)..
Wywołanie programujecie przez podanie nazwy programu.
Przykład:
N10 MPF739 albo
N20 Wałek3
Odpowiednio podprogram moŜe równieŜ zostać uruchomiony jako program główny.
Wskazówka
Strategia poszukiwania przez sterowanie:
Jest *_MPF?
Jest *_SPF?
Z tego wynika: JeŜeli nazwa podprogramu wywoływanego jest identyczna z nazwą progra-mu głównego, wówczas jest ponownie wywoływany program wywołujący. Tego z reguły nie poŜądanego zjawiska naleŜy uniknąć przez jednoznaczny wybór nazw programów i pod-programów.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
152
Wywoływanie podprogramów przy pomocy pliku INI
Z pliku inicjalizacyjnego mogą być wywoływane podprogramy, które nie wymagają przeka-zania parametrów:
Przykład:
N10 MYINISUB1 ; wywołanie podprogramu bez parametrów
1.27.5 Parametryzowalny powrót z podprogramu (RET)
Działanie
Zazwyczaj skok powrotny z podprogramu następuje przy pomocy końca podprogramu RET albo M17 do programu, z którego podprogram został wywołany, i wykonywanie jest kontynu-owane od wiersza programu następującego po wywołaniu podprogramu.
Oprócz tego są jednak równieŜ przypadki zastosowania, gdzie wykonywanie programu ma być kontynuowane w innym miejscu, np.:
● Kontynuacja wykonywania programu po wywołaniu cykli skrawania w trybie dialektu ISO (według opisu konturu).
● Powrót do programu głównego z dowolnej płaszczyzny podprogramu (równieŜ po ASUP) w przypadku reakcji na błąd).
● Skok powrotny przez wiele płaszczyzn programowych dla zastosowań specjalnych w cy-klach kompilacyjnych i w trybie dialektu ISO.
W takich przypadkach jest programowane polecenie RET razem z "parametrami powrotu". Składnia
RET("<blok poszukiwany>") RET("<blok poszukiwany>",<blok po bloku poszukiwany m>) RET("<blok poszukiwany>",<blok po bloku poszukiwany m>,<liczba płasz-czyzn powrotu>) RET("<blok poszukiwany>", ,<liczba płaszczyzn bloku poszukiwanego>) RET("<blok poszukiwany>, <blok po bloku poszukiwany m>,<liczba płasz-czyzn powrotu>, <skok powrotny do pocz ątku programu>) RET( ,
,<liczba płaszczyzn powrotu>,<powrót do pocz ątku programu>)
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
153
Znaczenie
RET Koniec podprogramu (zastosowanie zamiast M17)
Parametr skoku powrotnego 1
Podaje jako blok poszukiwany ten blok, od którego ma być kontynuowane wykonywanie programu.
Gdy parametr powrotu 3 nie jest zaprogramowany, wówczas cel skoku znaj-duje się w tym programie, z którego został wywołany aktualny podprogram.
MoŜliwymi danymi są:
"<Numer bloku>" Numer bloku poszukiwanego
"<Znacznik skoku>" Znacznik skoku, który musi być umieszczony w blo-ku poszukiwanym.
<blok po-szukiwany>
"<Łańcuch znaków>" Łańcuch znaków, który musi być znany w programie (np. nazwa programu albo zmiennej).
Dla programowania łańcucha znaków w bloku po-szukiwanym obowiązują następujące zasady:
• Spacja na końcu (w odróŜnieniu od znacznika skoku, który jest oznaczony przez ":" na końcu).
• Przed łańcuchem znaków wolno umieścić tylko jeden numer bloku i/albo jeden znacznik skoku, nie polecenia programowe.
Parametr skoku powrotnego 2
Odnosi się do parametru powrotu 1.
Typ: INT
<blok po bloku po-szukiwa-nym>
Wartość: 0 Skok powrotny następuje do bloku, który został podany parametrem powrotu 1.
> 0 Skok powrotny następuje do bloku, który nastę-puje po bloku podanego parametrem powrotu 1.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
154
Parametr skoku powrotnego 3
Podaje liczbę płaszczyzn, o które ma nastąpić skok powrotny, aby dotrzeć do płaszczyzny programowej, w której ma być kontynuowane wykonywanie programu.
Typ: INT
<liczba płaszczyzn powrotu>
Wartość: 1 Program jest kontynuowany w "aktualnej płasz-czyźnie programowej - 1" (jak RET bez parame-trów).
2 Program jest kontynuowany w "aktualnej płasz-czyźnie programowej - 2", tzn. jedna płaszczyzna jest przeskakiwana.
3 Program jest kontynuowany w "aktualnej płasz-czyźnie programowej - 3", tzn. są przeskakiwane dwie płaszczyzny.
...
Zakres warto-ści:
1 ... 15
Parametr skoku powrotnego 4
Typ: BOOL
<skok po-wrotny do pocz ątku programu>
Wartość: 1 Gdy skok powrotny następuje do programu głów-nego i tam jest aktywny tryb dialektu ISO, nastę-puje rozgałęzienie na początek programu.
Wskazówka
Przy powrocie z podprogramu z łańcuchem znaków jako informacją dla szukania bloku poszukiwanego następuje w programie wywołującym zawsze najpierw szukanie znacznika skoku.
JeŜeli cel skoku ma być jednoznacznie zdefiniowany przez łańcuch znaków, łańcuch ten nie moŜe być zgodny z nazwą znacznika skoku, poniewaŜ w przeciwnym przypadku powrót z podprogramu będzie zawsze wykonywany na znacznik skoku a nie na łańcuch znaków (patrz przykład 2).
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
155
Przykład
Przykład 1: Kontynuacja w programie głównym po wyko naniu ASUP
Kod programu Komentarz N10010 CALL "UP1" ; Płaszczyzna programu 0 (progra m główny) N11000 PROC UP1 ; Płaszczyzna programowa 1 N11010 CALL "UP2" N12000 PROC UP2 ; Płaszczyzna programowa 2 ... N19000 PROC ASUP ; Płaszczyzna programowa 3 (wykon anie ASUP) ... N19100 RET("N10900", ,$P_STACK) ; Powrót z podprogr amu N10900 ; Kontynuacja w programie głównym N10910 MCALL ; Modalne wył ączenie podprogramu N10920 G0 G60 G40 M5 ; Skorygowanie dalszych ustaw ie ń modalnych
Przykład 2: Ła ńcuch znaków (<String>) jako informacja dla szukania bloku poszuki-wanego
Program główny:
Kod programu Komentarz
PROC MAIN_PROGRAM N1000 DEF INT iVar1=1, iVar2=4 N1010 ... N1200 subProg1 ; Wywołanie podprogramu "subProg1" N1210 M2 S1000 X10 F1000 N1220 ...... N1400 subProg2 ; Wywołanie podprogramu "subProg2" N1410 M3 S500 Y20 N1420 .. N1500 lab1: iVar1=R10*44 N1510 F500 X5 N1520 ... N1550 subprog1: G1 X30 ; "subProg1" jest tutaj def iniowany jako znacznik skoku. N1560 ... N1600 subProg3 Wywołanie podprogramu "subProg3" N1610 ... N1900 M30
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
156
Podprogram subProg1:
Kod programu Komentarz
PROC subProg1 N2000 R10=R20+100 N2010 ... N2200 RET("subProg2") ; Powrót do programu główneg o do bloku N1400
Podprogram subProg2:
Kod programu Komentarz PROC subProg2 N2000 R10=R20+100 N2010 ... N2200 RET("iVar1") ; Powrót do programu głównego do bloku N1500
Kod programu Komentarz PROC subProg3 N2000 R10=R20+100 N2010 ... N2200 RET("subProg1") ; Powrót do programu główneg o do bloku N1550
Warunki brzegowe ● W przypadku powrotu poprzez wiele płaszczyzn programowych następuje ewaluacja in-
strukcji SAVE poszczególnych płaszczyzn programowych. ● JeŜeli przy powrocie poprzez wiele płaszczyzn programowych jest aktywny podprogram
modalny i w jednym z przeskakiwanych podprogramów jest zaprogramowane polecenie MCALL cofnięcia podprogramu modalnego, wówczas modalny podprogram pozostaje nadal aktywny.
OSTROśNIE
Programista musi zwracać uwagę, by przy powrocie przez wiele płaszczyzn programo-wych kontynuować z prawidłowymi ustawieniami modalnymi. Jest to uzyskiwane np. przez zaprogramowanie odpowiedniego bloku głównego.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
157
Opis PoniŜsze grafiki powinny unaocznić róŜne działania parametrów powrotu 1 do 3.
1. parametr powrotu 1 = "N200", parametr powrotu 2 = 0
Po poleceniu RET wykonywanie jest kontynuowane od bloku N200 w programie głównym.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
158
2. Parametr powrotu 1 = "N200", parametr powrotu 2 = 1
Po poleceniu RET wykonywanie programu jest kontynuowane od bloku (N210), który w pro-gramie głównym następuje po bloku N200.
3. Parametr powrotu 1 = "N220", parametr powrotu 3 = 2
Po poleceniu RET następuje skok powrotny o dwie płaszczyzny programowe i wykonywanie programu jest kontynuowane od bloku N220.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
159
1.27.6 Podprogram z powtórzeniem programu (P)
Działanie
JeŜeli podprogram ma być wiele razy kolejno wykonany, moŜna w bloku z wywołaniem pod-programu pod adresem P zaprogramować poŜądaną liczbę powtórzeń programu.
OSTROśNIE
Wywołanie podprogramu z powtórzeniem programu i przekazaniem parametrów
Parametry są przekazywane tylko przy wywołaniu programu wzgl. pierwszym przebiegu. Dla dalszych powtórzeń parametry pozostają bez zmian. W przypadku gdy przy powtórze-niach programu chcecie zmieniać parametry, musicie w podprogramie ustalić odpowiednie uzgodnienia.
Składnia
P<liczba_powtórze ń_programu>
Znaczenie
P Adres dla programowania powtórzeń programu
<liczba_powtórze ń_programu> Przy pomocy tego parametru jest podawana liczba powtórzeń programu
Typ: INT
Zakres wartości: 1 … 9999
(bez znaku liczby)
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
160
Przykład
Kod programu Komentarz ...
N40 RAMKA P3 ; Podprogram ramka ma by ć wykonywany kolejno 3 razy. ...
1 2 3
Program główny
N40 RAMKA P3Podprogram
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
161
1.27.7 Modalne wywołanie podprogramu (MCALL)
Działanie W przypadku modalnego wywołania podprogramu przy pomocy MCALL podprogram jest au-tomatycznie wywoływany i wykonywany po kaŜdym bloku z ruchem po torze. Przez to moŜ-na zautomatyzować wywoływanie podprogramów, które mają być wykonywane w róŜnych pozycjach na obrabianym przedmiocie (na przykład wykonywanie układów wierconych otwo-rów). Wyłączenie funkcji następuje przy pomocy MCALL bez wywołania podprogramu albo przez zaprogramowanie nowego modalnego wywołania nowego podprogramu.
OSTROśNIE
W jednym przebiegu programu moŜe jednocześnie działać tylko jedno wywołanie MCALL. Parametry są przekazywane tylko jeden raz przy wywołaniu MCALL.
Podprogram modalny jest wywoływany w następujących sytuacjach, równieŜ bez progra-mowania ruchu:
• Przy programowaniu adresów S i F gdy jest aktywne G0 albo G1.
• Gdy G0/G1 zostało zaprogramowane samo w bloku albo z dalszymi G-Code.
Składnia
MCALL L<numer>
Znaczenie
MCALL Słowo kluczowe dla modalnego wywołania podprogramu
L Adres dla wywołania podprogramu
<numer> Numer podprogramu
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
162
Przykłady
Przykład 1:
Kod programu
N10 G0 X0 Y0
N20 MCALL L70
N30 X10 Y10
N40 X50 Y50
W blokach N30 i N40 następuje ruch do zaprogramowanej pozycji a następnie wykonanie podprogramu L70:
Program główny
N10 G0 X0 Y0N20 MCALL L70N30 X10 Y10
N40 X50 Y50
Podprogram L70
Przykład 2:
Kod programu
N10 G0 X0 Y0 N20 MCALL L70 N30 L80
W tym przykładzie następne bloki NC z zaprogramowanymi osiami biorącymi udział w two-rzeniu konturu znajdują się w podprogramie L80. L70 jest wywoływany przez L80.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
163
1.27.8 Pośrednie wywołanie podprogramu
Działanie
W zaleŜności od danych warunków mogą w jednym miejscu być wywoływane róŜne podpro-gramy. W tym celu nazwa podprogramu jest zapisywana w zmiennej typu STRING. Wywoła-nie podprogramu następuje przy pomocy CALL i nazwy zmiennej.
OSTROśNIE Pośrednie wywołanie podprogramu jest moŜliwe tylko dla podprogramów bez przekazania parametrów. W celu bezpośredniego wywołania podprogramu zapiszcie nazwę w stałej typu string..
Składnia
CALL <nazwa_programu>
Parametry
CALL Słowo kluczowe do pośredniego wywołania podprogramu
< na-zwa_programu >
Nazwa podprogramu (zmienna albo stała typu String)
Przykłady Przykład 1: Wywołanie bezpo średnie ze stał ą typu string
CALL "/_N_WKS_DIR/_N_SUBPROG_WPD/_N_CZĘŚĆ1_SPF" Przykład 2: po średnie wywołanie poprzez zmienn ą Kod programu DEF STRING[100] PROGNAME PROGNAME="/_N_WKS_DIR/_N_SUBPROG_WPD/_N_CZĘŚĆ1_SPF" CALL PROGNAME
Podprogram CZĘŚĆ1 jest przyporządkowywany zmiennej PROGNAME. Przy pomocy CALL i podania ścieŜki podprogram jest wywoływany pośrednio.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
164
1.27.9 Wykonanie cz ęści programu w po średnio wywołanym podprogramie (CALL BLOCK ... TO ...)
Działanie Przy pomocy CALL i kombinacji słów kluczowych BLOCK... TO podprogram jest pośrednio wywoływany i wykonywana jego część oznaczona etykietą startową i etykietą końcową.
Składnia CALL <nazwa programu> BLOCK <etykieta startowa> TO <etykieta ko ńco-wa>
CALL BLOCK <etykieta startowa> TO <etykieta ko ńcowa>
Znaczenie
CALL Słowo kluczowe do pośredniego wywołania podprogramu
<nazwa programu> Zmienna albo stała nazwy podprogramu, który zawiera część programu do wykonania (podanie opcjonalne). Wskazówka: Gdy <nazwa programu> nie jest zaprogramowana, jest w ak-tualnym programie szykana i wykonywana jego część oznaczona <etykiet ą startow ą> i <etykiet ą ko ńcową>.
Typ: STRING
BLOCK ... TO ... Kombinacja słów kluczowych dla pośredniego powtórzenia czę-ści programu
<etykieta star-towa>
Zmienna, która odsyła do początku będącej do wykonania części programu.
Typ: STRING
<etykieta ko ńco-wa>
Zmienna, która odsyła do końca będącej do wykonania części programu.
Typ: STRING
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
165
Przykład
Kod programu Komentarz
DEF STRING[20] ETYKIETA_STARTOWA, ETYKIETA_KO ŃCOWA ETYKIETA_STARTOWA="ETYKIETA_1" ETYKIETA_KOŃCOWA="ETYKIETA_2" ... CALL "CONTUR_1" BLOCK ETYKIETA_STARTOWA TO ETYKIETA_KOŃCOWA ... ...
Kod programu Komentarz
PROC CONTUR_1 ... ETYKIETA_1 ; Pocz ątek powtórzenia cz ęści programu N1000 G1 ... ETYKIETA_2 ; Koniec powtórzenia cz ęści programu ...
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
166
1.27.10 Pośrednie wywołanie programu programowanego w j ęzyku ISO (ISOCALL)
Działanie Przy pomocy pośredniego wywołania programu ISOCALL moŜe zostać wywołany program zaprogramowany w języku ISO. Jest przy tym uaktywniany tryb ISO ustawiony w danych maszynowych Na końcu programu działa ponownie pierwotny tryb obróbki. JeŜeli w danych maszynowych nie jest ustawiony tryb ISO, wywołanie podprogramu następuje w trybie Sie-mens.
Dalsze informacje dot. trybu ISO patrz:
Literatura: Opis działania Dialekty ISO
Składnia
ISOCALL <nazwa programu>
Znaczenie
ISOCALL Słowo kluczowe do pośredniego wywołania podprogramu, przy pomocy którego jest uaktywniany tryb ISO ustawiony w danych maszynowych
<nazwa programu> Nazwa programu zaprogramowanego w języku ISO (zmienna albo stała typu String)
Przykład: wywołanie konturu z zaprogramowaniem cykl i z trybu ISO
Kod programu Komentarz
0122_SPF ; Opis konturu w trybie ISO N1010 G1 X10 Z20 N1020 X30 R5 N1030 Z50 C10 N1040 X50 N1050 M99 N0010 DEF STRING[5] PROGNAME = "0122" ; Program obr óbki (cykl)
Siemens ... N2000 R11 = $AA_IW[X] N2010 ISOCALL PROGNAME N2020 R10 = R10+1 ; Wykonanie programu 0122.spf
w trybie ISO ... N2400 M30
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
167
1.27.11 Wywołanie podprogramu z podaniem ścieŜki i parametrami (PCALL)
Działanie Przy pomocy PCALL mogą być wywoływane podprogramy z absolutnym podaniem ścieŜki i przekazaniem parametrów.
Składnia
PCALL <ście Ŝka/nazwa_programu>(<parametr 1>,…,<parametr n>)
Znaczenie
PCALL Słowo kluczowe do wywołania podprogramu z absolutnym podaniem ścieŜki.
<ście Ŝka/nazwa pro-gramu>
Absolutne podanie ścieŜki rozpoczynające się od "/", łącz-nie z nazwą podprogramu.
JeŜeli nie podano ścieŜki absolutnej, PCALL zachowuje się jak standardowe wywołanie podprogramu z identyfikatorem programu.
Identyfikator programu jest podawany bez przedrostka _N_ i bez rozszerzenia.
JeŜeli nazwa programu ma być programowana z przedrost-kiem i rozszerzeniem, wówczas musi ona explicite zostać zadeklarowana z przedrostkiem i rozszerzeniem przy po-mocy polecenia EXTERN.
<Parametr 1>, ...,
<Parametr n>
Aktualny parametr odpowiednio do instrukcji PROC pod-programu.
Przykład
Kod programu
PCALL/_N_WKS_DIR/_N_WAŁEK_WPD/WAŁEK(parametr1,param etr2,…)
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
168
1.27.12 Rozszerzenie ścieŜki szukania przy wywołaniach podprogramu (CALLPATH)
Działanie
Przy pomocy polecenia CALLPATH moŜna rozszerzyć ścieŜkę szukania dla wywołań pod-programów.
Przez to mogą być wywoływane równieŜ podprogramy z nie wybranego katalogu obrabiane-go przedmiotu, bez podania kompletnej, absolutnej nazwy ścieŜki podprogramu.
Rozszerzenie ścieŜki szukania następuje przed wpisem dla cykli uŜytkownika (_N_CUS_DIR).
Następujące wydarzenia ponownie cofają wybór rozszerzenia ścieŜki szukania:
● CALLPATH ze spacją
● CALLPATH bez parametrów
● koniec programu obróbki
● reset
Składnia
CALLPATH("<nazwa ście Ŝki>")
Znaczenie
CALLPATH Słowo kluczowe dla programowalnego rozszerzenia ścieŜki szu-kania.
Jest programowane we własnym wierszu programu obróbki.
<nazwa ście Ŝki> Stała albo zmienna typu string. Zawiera absolutne podanie ścieŜ-ki katalogu, o który ścieŜka szukania ma zostać rozszerzona. Podanie ścieŜki rozpoczyna się od "/". ŚcieŜka musi być podana kompletnie z przedrostkami i przyrostkami Maksymalna długość ścieŜki wynosi 128 bajtów. JeŜeli <nazwa ścieŜki> zawiera spację albo zostanie wywołane CALLPATH bez parametrów, instrukcja ścieŜki szukania jest co-fana.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
169
Przykład Kod programu Komentarz
CALLPATH("/_N_WKS_DIR/_N_MYWPD_WPD")
Jest przez to ustawiana następująca ścieŜka szukania (pozycja 5. jest nowa): 1. Aktualny katalog/identyfikator podprogramu 2. Aktualny katalog/identyfikator podprogramu_SPF 3. Aktualny katalog/identyfikator podprogramu_MPF 4. /_N_SPF_DIR/identyfikator podprogramu_SPF 5. /_N_WKS_DIR/_N_MYWPD/identyfikator podprogramu_SPF 6. /N_CUS_DIR/_N_MYWPD/identyfikator podprogramu_SPF 7. /_N_CMA_DIR/identyfikator podprogramu_SPF 8. /_N_CST_DIR/identyfikator podprogramu_SPF
Warunki brzegowe
● CALLPATH sprawdza, czy zaprogramowana nazwa ścieŜki rzeczywiście istnieje. W przy-padku błędu wykonywanie programu obróbki jest przerywane z alarmem bloku korekcyj-nego 14009.
● CALLPATH moŜna równieŜ programować w plikach INI. Działa on wówczas na czas trwania wykonywania pliku INI (plik WPD-INI albo program inicjalizacyjny dla danych ak-tywnych NC, np. frame w 1. kanale _N_CH1_UFR_INI). Następnie ścieŜka szukania jest ponownie cofana.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
170
1.27.13 Wykonywanie podprogramu zewn ętrznego (EXTCALL)
Działanie Przy pomocy EXTCALL moŜecie doładowywać program z HMI w trybie "wykonywania ze źródła zewnętrznego". Przy tym mogą być doładowywane i wykonywane wszystkie progra-my, które są dostępne poprzez strukturę katalogów HMI.
Składnia
EXTCALL("< ście Ŝka/nazwa_programu>")
Znaczenie
EXTCALL Słowo kluczowe do wywołania podprogramu
<ście Ŝka/nazwa programu>
Stała/zmienna typu STRING MoŜe zostać podana ścieŜka absolutna (wzgl. ścieŜka względ-na) albo nazwa programu. Nazwa programu jest podawana z/bez przedrostka _N_ i bez rozszerzenia. Rozszerzenie moŜe zostać dołączone do nazwy programu ze znakiem <_>. Przykład: "/_N_WKS_DIR/_N_WELLE_WPD/_N_WAŁEK_SPF" albo
"WAŁEK"
Wskazówka
Podprogramy zewnętrzne nie mogą zawierać Ŝadnych instrukcji skoków jak GOTOF, GOTOB, CASE, FOR, LOOP, WHILE albo REPEAT. Konstrukcje IF-ELSE-ENDIF są moŜliwe.
Wywołania podprogramu i kaskadowane wywołania EXTCALL są moŜliwe.
RESET, POWER ON
Przez Reset i POWER ON zewnętrzne wywołania podprogramów są przerywane a poszcze-gólne pamięci doładowywania kasowane.
Podprogram wybrany do "wykonywania ze źródła zewnętrznego" pozostaje po RESET / końcu podprogramu nadal wybrany dla "wykonywania ze źródła zewnętrznego". W wyniku POWER ON wybór ulega utraceniu.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
171
Przykłady 1. Wykonywanie z lokalnego dysku twardego Systemy: SINUMERIK solution line / powerline z HMI Advanced Program główny "_N_MAIN_MPF" znajduje się w pamięci NC i jest wybrany do wykonywa-nia:
Kod programu N010 PROC MAIN N020 ... N030 EXTCALL ("OBRÓBKA_ZGRUBNA") N040 ... N050 M30
Doładowywany podprogram "_N_SCHRUPPEN_SPF" znajduje się na lokalnym dysku twar-dym w katalogu "_N_WKS_DIR/_N_WST1". ŚcieŜka do p[odprogramu jest domyślnie ustawiona w SD42700: SD42700 $SC_EXT_PROG_PATH = "_N_WKS_DIR/_N_WST1" Kod programu N010 PROC OBRÓBKA ZGRUBNA N020 G1 F1000 N030 X= ... Y= ... Z= ... N040 ... ... ... N999999 M17 2. Wykonywanie ze stacji sieciowej Systemy: SINUMERIK solution line / powerline a HMI sl / HMI Advanced / HMI Embedded
Doładowywany program "Kontur2.spf" znajduje się na dysku sieciowym w katalogu "\\R4711\obrabiane przedmioty". Kod programu ... N... EXTCALL("\\R4711\obrabiane przedmioty\kontur2. spf") ...
Podanie zewn ętrznej ścieŜki programu
ŚcieŜka do zewnętrznego katalogu podprogramu moŜe zostać domyślnie ustawiona przy pomocy danej nastawczej: SD42700 $SC_EXT_PROG_PATH Razem ze ścieŜką wzgl. identyfikatorem podprogramu, podanym przy wywołaniu EXTCALL wynika z tego ścieŜka całkowita wywoływanego programu.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
172
Skutki
Wywołanie EXTCALL z absolutnym podaniem ścieŜki
Gdy podprogram pod podaną ścieŜką istnieje, wówczas jest wykonywany po wywołaniu EXTCALL. JeŜeli nie istnieje, wówczas wykonywanie programu jest anulowane.
Wywołanie EXTCALL ze wzgl ędnym podaniem ścieŜki / bez podania ścieŜki
W przypadku wywołania EXTCALL ze względnym podaniem ścieŜki wzgl. bez jej podania ist-niejące pamięci programów są przeszukiwane według następującego wzorca:
● Gdy w SD42700 jest domyślnie ustawiona ścieŜka, następuje najpierw szukanie rozpo-czynając od tej ścieŜki według podania w wywołaniu EXTCALL (nazwa programu ew. ze względnym podaniem ścieŜki). ŚcieŜka absolutna wynika wówczas przez powiązanie znaków:
– podania ścieŜki wstępnie ustawionego w SD42700
– znaku "/" jako znaku rozdzielającego
– ścieŜki wzgl. identyfikatora podprogramu podanego przy EXTCALL
● JeŜeli wywoływany podprogram nie został znaleziony pod domyślną ustawioną ścieŜką, są w następnej kolejności przeszukiwane katalogi pamięci uŜytkownika według podania w wywołaniu EXTCALL.
● Gdy wywoływany podprogram nie został znaleziony w aktualnie przeszukiwanej pamięci programów (np. CompactFlash Card), jest przeszukiwana następna pamięć programów (np. stacja sieciowa) według punktu 1 i 2.
● Szukanie kończy się, gdy podprogram został po raz pierwszy znaleziony. Gdy szukanie nie ma pozytywnego wyniku, następuje anulowanie programu.
Wskazówka
SINUMERIK powerline z HMI Embedded
W przypadku SINUMERIK powerline z HMI Embedded musi zawsze zostać podana ścieŜka graficzna.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
173
Zewnętrzna pami ęć programów
ZaleŜnie od systemu (SINUMERIK solution line / powerline), występującej otoczki graficznej ((HMI sl / HMI Advanced / HMI Embedded) i nabytych opcji zewnętrzne pamięci programów mogą znajdować się na następujących nośnikach danych: ● CompactFlash Card ● stacja sieciowa ● stacja USB ● lokalny dysk twardy
Wskazówka
Wykonywanie ze źródła zewn ętrznego poprzez interfejs USB w przypadku SINUMERIK solution line
JeŜeli programy zewnętrzne mają być przesyłane ze stacji zewnętrznej USB (USB-FlashDrive) poprzez interfejs USB, wówczas wolno w tym celu zastosować tylko interfejs poprzez X203 o nazwie "TCU_1".
UWAGA
• USB-FlashDrive nie nadają się jako trwałe nośniki danych.
• USB-FlashDrive nie są zalecane do "wykonywania ze źródła zewnętrznego".
Powody:
– USB-FlashDrive mogą ulec awarii albo mieć trudności z kontaktem w pracy bieŜącej. Skutkiem są przerwania obróbki.
– USB-FlashDrive mogą w wyniku uderzenia zostać wyłamane i uszkodzić pulpit ob-sługi.
Wskazówka
Wykonywanie ze źródła zewn ętrznego poprzez interfejs V24 w przypadku SINUMERIK powerline
Przy pomocy HMI Embedded programy zewnętrzne mogą przyciskiem programowanym "Wykonywanie ze źródła zewnętrznego" być przenoszone poprzez interfejs V24 do NC.
Ustawiana pami ęć doładowcza (bufor FIFO)
Do wykonywania programu w trybie "wykonywanie ze źródła zewnętrznego" (program głów-ny albo podprogram) jest w NCK potrzebna pamięć doładowywania. Wielkość pamięci doła-dowywania jest domyślnie ustawiona na 30 kByte i jak i inne dane maszynowe dot. pamięci moŜe zostać zmieniona odpowiednio do potrzeb tylko przez producenta maszyny.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
174
Dla wszystkich programów (programy główne albo podprogramy), które są jednocześnie wy-konywane w trybie wykonywania ze źródła zewnętrznego, musi zostać kaŜdorazowo usta-wiona pamięć doładowywania.
Producent maszyny
Proszę zwrócić się do producenta maszyny, gdy wielkość i liczba pamięci doładowywania powinna zostać zwiększona.
Dalsze informacje dot. "wykonywania ze źródła zewnętrznego" patrz:
Literatura:
/FB1/ Podręcznik działania Funkcje podstawowe; BAG, Kanał, praca programowa (K1)
Wyświetlanie bloków, pojedynczymi blokami i zachowanie się przy NC-Stop
Przy wykonywaniu z dysku twardego jak teŜ przy EXTCALL jest moŜliwe tylko HMI Advan-ced wyświetlanie 3 bloków "Przebieg programu". To ustawienie pozostaje zachowane dla wykonywania pojedynczymi blokami i stany NC-Stop.
1.27.14 Blokowanie wykonywania pojedynczymi blokami (SBLOF, SBLON)
Działanie
Blokowanie wykonywania pojedynczymi blokami dla cał ego programu
Programy oznaczone przez SBLOF są przy aktywnym wykonywaniu pojedynczymi blokami wykonywane jak jeden kompletny blok, tzn. dla całego programu wykonywanie pojedynczymi blokami jest zablokowane.
SBLOF znajduje się w wierszu PROC i działa aŜ do końca albo anulowania podprogramu. Po-leceniem powrotu następuje decyzja, czy na końcu podprogramu następuje zatrzymanie czy nie:
Powrót z M17: Stop na końcu podprogramu
Powrót z RET: Bez zatrzymania na końcu podprogramu
Blokowanie wykonywania pojedynczymi blokami w ramac h programu
SBLOF musi znajdować się w oddzielnym bloku. Od tego bloku wykonywanie pojedynczymi blokami jest wyłączane do:
● do następnego SBLON
albo
● do końca aktywnej płaszczyzny podprogramu
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
175
Składnia: Blokowanie wykonywania pojedynczymi blokami dla cał ego programu: PROC ... SBLOF
Blokowanie wykonywania pojedynczymi blokami w ramac h programu: SBLOF ...
SBLON
Znaczenie
PROC Pierwsza instrukcja programu
SBLOF Polecenie wyłączenia wykonywania pojedynczymi blokami
SBLOF moŜe znajdować się w bloku PROC albo w oddzielnym bloku.
SBLON Polecenie włączenia wykonywania pojedynczymi blokami
SBLON musi znajdować się w oddzielnym bloku.
Warunki brzegowe ● Blokowanie wykonywania pojedynczymi blokami i wy świetlenie bloku
Aktualne wyświetlanie bloku moŜe w cyklach/podprogramach być blokowane przy pomocy DISPLOF. JeŜeli DISPLOF zostanie zaprogramowane razem z SBLOF, wówczas przy za-trzymaniu wykonywania pojedynczymi blokami w ramach cyklu/podprogramu wyświetlanie następuje jak przed wywołaniem cyklu/podprogramu.
● Blokowanie wykonywania pojedynczymi blokami w ASUP systemowym i ASUP uŜytkownika
Gdy zatrzymywanie w wykonywaniu pojedynczymi blokami jest blokowane w ASUP sys-temowym albo uŜytkownika poprzez ustawienia w danej maszynowej MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Bit0 = 1 wzgl. Bit1 = 1), wówczas zatrzymywanie w wykonywaniu pojedynczymi blokami moŜe zostać ponownie uaktywnione przez zapro-gramowanie SBLON w ASUP. Gdy zatrzymywanie w wykonywaniu pojedynczymi blokami jest blokowane w ASUP uŜyt-kownika przez ustawienie w danej maszynowej MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP, nie moŜna ponownie uaktywnić zatrzymywania przez zaprogramowanie SBLON w ASUP.
● Cechy szczególne blokowania wykonywania pojedynczym i blokami przy ró Ŝnych typach wykonywania pojedynczymi blokami Przy aktywnym wykonywaniu pojedynczymi blokami SBL2 (stop po kaŜdym bloku progra-mu obróbki) nie następuje zatrzymanie w bloku SBLON, gdy w MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (uniemoŜliwienie zatrzymywania w wykonywaniu poj. blokami) bit 12 jest ustawiony na "1". Przy aktywnym wykonywaniu pojedynczymi blokami SBL3 (stop po kaŜdym bloku progra-mu obróbki równieŜ w cyklu) polecenie SBLOF jest blokowane.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
176
Przykłady Przykład 1: blokowanie wykonywania pojedynczymi blo kami w ramach programu Kod programu Komentarz N10 G1 X100 F1000 N20 SBLOF ; wył ączenie wykonywania pojedynczymi blokami N30 Y20 N40 M100 N50 R10=90 N60 SBLON ; ponowne wł ączenie wykonywania pojedynczymi blokami N70 M110 N80 ...
Zakres między N20 i N60 jest przy wykonywaniu pojedynczymi blokami wykonywany jako jeden krok.
Przykład 2: cykl powinien dla u Ŝytkownika działa ć jak polecenie
Program główny: Kod programu Komentarz N10 G1 X10 G90 F200 N20 X-4 Y6 N30 CYCLE1 N40 G1 X0 N50 M30
Cykl CYCLE1: Kod programu Komentarz N100 PROC CYCLE1 DISPLOF SBLOF ; blokowanie wykonyw ania pojedyn-
czymi blokami N110 R10=3*SIN(R20)+5 N120 IF (R11 <= 0) N130 SETAL(61000) N140 ENDIF N150 G1 G91 Z=R10 F=R11 N160 M17
Cykl CYCLE1 jest wykonywany przy aktywnym wykonywaniu pojedynczymi blokami, tzn. w celu wykonania CYCLE1 musi zostać naciśnięty przycisk Start.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
177
Przykład 3:
ASUP wystartowany z PLC w celu uaktywnienia zmienio nego przesuni ęcia punktu ze-rowego i korekcji narz ędzia powinien by ć niewidoczny.
Kod programu N100 PROC NV SBLOF DISPLOF N110 CASE $P_UIFRNUM OF 0 GOTOF _G500 1 GOTOF _G54 2 GOTOF _G55 3 GOTOF _G56 4 GOTOF _G57 DEFAULT GOTOF END N120 _G54: G54 D=$P_TOOL T=$P_TOOLNO N130 RET N140 _G54: G55 D=$P_TOOL T=$P_TOOLNO N150 RET N160 _G56: G56 D=$P_TOOL T=$P_TOOLNO N170 RET N180 _G57: G57 D=$P_TOOL T=$P_TOOLNO N190 RET N200 END: D=$P_TOOL T=$P_TOOLNO N210 RET
Przykład 4: Przy pomocy MD10702 Bit 12 = 1 nie następuje zatrzymanie
Sytuacja wyj ściowa:
● Wykonywanie pojedynczymi blokami jest aktywne.
● MD10702 $MN_IGNORE_SINGLEBLOCK_MASK Bit12 = 1
Program główny: Kod programu Komentarz N10 G0 X0 ; Zatrzyma ć w tym wierszu programu obróbki. N20 X10 ; Zatrzyma ć w tym wierszu programu obróbki. N30 CYCLE ; Blok ruchu wygenerowany przez cykl. N50 G90 X20 ; Zatrzyma ć w tym wierszu programu obróbki. M30
Cykl CYCLE: Kod programu Komentarz PROC CYCLE SBLOF ; Blokowanie zatrzymywania w wyko nywaniu po-
jedynczymi blokami N100 R0 = 1 N110 SBLON ; Z powodu MD10702 bit12=1 w tym wiersz u pro-
gramu obróbki nie nast ępuje zatrzymanie. N120 X1 ; W tym wierszu programu obróbki nast ępuje
zatrzymanie. N140 SBLOF N150 R0 = 2 RET
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
178
Przykład 5: Blokowanie wykonywania pojedynczymi blo kami przy kaskadowaniu pro-gramu
Sytuacja wyj ściowa:
Wykonywanie pojedynczymi blokami jest aktywne.
Kaskadowanie programu: Kod programu Komentarz N10 X0 F1000 ; W tym bloku nast ępuje zatrzy-
manie. N20 UP1(0)
PROC UP1(INT _NR) SBLOF ; Blokowanie zatrzymywania w wykonywaniu pojedynczymi bloka-mi.
N100 X10 N110 UP2(0)
PROC UP2(INT _NR) N200 X20 N210 SBLON ; Wł ączenie zatrzymywania w wy-
konywaniu pojedynczymi blokami. N220 X22 ; W tym bloku nast ępuje zatrzy-
manie. N230 UP3(0)
PROC UP3(INT _NR) N300 SBLOF ; Blokowanie zatrzymywania w
wykonywaniu pojedynczymi bloka-mi.
N305 X30 N310 SBLON ; Wł ączenie zatrzymywania w wy-
konywaniu pojedynczymi blokami. N320 X32 ; W tym bloku nast ępuje zatrzy-
manie. N330 SBLOF ; Blokowanie zatrzymywania w
wykonywaniu pojedynczymi bloka-mi.
N340 X34 N350 M17 ; SBLOF jest aktywne.
N240 X24 ; W tym bloku nast ępuje zatrzy-manie. SBLON jest aktywne.
N250 M17 ; W tym bloku nast ępuje zatrzy-manie. SBLON jest aktywne.
N120 X12 N130 M17 ; W tym bloku powrotu nast ępuje
zatrzymanie. SBLOF instrukcji PROC jest aktywne.
N30 X0 ; W tym bloku nast ępuje zatrzy-manie.
N40 M30 ; W tym bloku nast ępuje zatrzy-manie.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
179
Dalsze informacje
Blokada wykonywania pojedynczymi blokami dla podpro gramów asynchronicznych
Aby wykonać ASUP w jednym kroku przy wykonywaniu pojedynczymi blokami, musi w ASUP zostać zaprogramowana instrukcja PROC z SBLOF. Obowiązuje to równieŜ dla funk-cji "edytowalny ASUP systemowy" (MD11610 $MN_ASUP_EDITABLE).
Przykład dla edytowalnego ASUP systemowego: Kod programu Komentarz N10 PROC ASUP1 SBLOF DISPLOF N20 IF $AC_ASUP=='H200' N30 RET ; Bez REPOS przy zmianie rodzaju pracy. N40 ELSE N50 REPOSA ; REPOS we wszystkich pozostałych przy padkach. N60 ENDIF
Sterowanie programem w wykonywaniu pojedynczymi blo kami
W trybie wykonywania pojedynczymi blokami uŜytkownik moŜe wykonywać program obróbki pojedynczymi blokami.
Istnieją następujące rodzaje ustawienia:
● SBL1: IPO pojedynczymi blokami z zatrzymaniem po kaŜdym bloku zawierającym funkcje maszynowe.
● SBL2: wykonywanie pojedynczymi blokami z zatrzymaniem po kaŜdym bloku.
● SBL3: zatrzymanie w cyklu (przez wybór SBL3 jest blokowane polecenie SBLOF).
Blokowanie wykonywania pojedynczymi blokami przy ka skadowaniu programu
JeŜeli w podprogramie zaprogramowano SBLOF w instrukcji PROC, wówczas następuje za-trzymanie do powrotu z podprogramu przy pomocy M17. Zapobiega to temu, Ŝe w programie wywołującym będzie juŜ wykonywany następny blok. JeŜeli w podprogramie z SBLOF bez SBLOF) w instrukcji PROC zostanie uaktywnione wyłączenie wykonywania pojedynczymi blo-kami, zatrzymanie następuje dopiero po następnym zawierającym funkcje maszynowe bloku programu wywołującego. JeŜeli jest to niepoŜądane, musi w podprogramie jeszcze przed powrotem (M17) ponownie zostać zaprogramowane SBLON. Przy powrocie z RET do pro-gramu nadrzędnego nie następuje zatrzymanie.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
180
1.27.15 Maskowanie wy świetlania aktualnego bloku (DISPLOF)
Działanie W wyświetlaniu bloku jest standardowo wyświetlany aktualny blok programu. W cyklach wzgl. podprogramach moŜe być blokowane wyświetlanie aktualnego bloku. Zamiast aktual-nego bloku jest wówczas wyświetlane wywołanie cyklu wzgl. podprogramu.
Składnia PROC … DISPLOF
PROC … DISPLOF ACTBLOCNO
Znaczenie
DISPLOF Polecenie blokowania aktualnego wyświetlania bloku. Umiejscowienie: na końcu instrukcji PROC Działanie: AŜ do powrotu z podprogramu albo do końca programu. Wskazówka: Gdy z podprogramu z poleceniem DISPLOF są wywoływane dalsze podprogramy, wówczas równieŜ w nich aktualne wyświetlanie bloku jest blokowane.
ACTBLOCNO DISPLOF razem z atrybutem programu ACTBLOCNO powoduje, Ŝe w przypadku alarmu jest wyprowadzany numer aktualnego bloku, w którym wystąpił alarm. Obowiązuje to równieŜ wtedy, gdy w niŜszej płaszczyźnie programowej jest zaprogramowane tylko DISPLOF. W przypadku DISPLOF bez ACTBLOCNO jest natomiast wyświetlany numer bloku wywołania cyklu wzgl. podprogramu z ostatniej płaszczy-zny programowej nie oznaczonej przez DISPLOF.
Warunki brzegowe
● Gdy podprogram z blokowanym wyświetlaniem bloku zostanie przerwany przez podpro-gram asynchroniczny (ASUP), wówczas są wyświetlane bloki aktualnego podprogramu.
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
181
Przykłady
Kod programu Komentarz
PROC CYCLE(AXIS TOMOV, REAL POSITION) SAVE DISPLOF ; Blokowanie wy świetlania aktual-nego bloku.
Zamiast tego ma by ć wy świetlane wywołanie cyklu, np.:
CYCLE(X,100.0) DEF REAL DIFF ; Tre ść cykli G01 ... ... RET ; Powrót z podprogramu. Na wy świetleniu
bloku jest na wywołanie cyklu wy świetlany nast ępuj ący blok.
Przykład 2: wy świetlenie bloku przy wyprowadzeniu alarmu
Podprogram SUBPROG1 (z ACTBLOCNO): Kod programu Komentarz PROC SUBPROG1 DISPLOF ACTBLOCNO N8000 R10 = R33 + R44 ... N9040 R10 = 66 X100 ; Wyzwolenie alarmu 12080 ... N10000 M17
Podprogram SUBPROG2 (bez ACTBLOCNO): Kod programu Komentarz PROC SUBPROG2 DISPLOF N5000 R10 = R33 + R44 ... N6040 R10 = 66 X100 ; Wyzwolenie alarmu 12080 ... N7000 M17
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
182
Program główny: Kod programu Komentarz N1000 G0 X0 Y0 Z0 N1010 ... ... N2050 SUBPROG1 ; Wyprowadzenie alarmu = "12080 kan ał K1 blok
N9040 Bł ąd składni przy tekst R10=" N2060 ... N2350 SUBPROG2 ; Wyprowadzenie alarmu = "12080 Kan ał K1 blok
N2350 Bł ąd składni przy tekst R10=" ... N3000 M30
1.27.16 Oznakowanie podprogramów z przygotowaniem ( PREPRO)
Działanie
Przy pomocy słowa kluczowego PREPRO mogą w rozruchu na końcu wiersza instrukcji PROC zostać oznakowane wszystkie pliki.
Producent maszyny
Ten rodzaj przygotowania programu jest zaleŜny od odpowiednio ustawionej danej maszy-nowej. Proszę odnośnie tego przestrzegać danych producenta maszyny.
/FB3/ Podręcznik działania Funkcje specjalne; Przygotowanie (V2)
Składnia W wierszu instrukcji PROC
PROC … PREPRO
Znaczenie PREPRO Słowo kluczowe do oznakowania wszystkich plików przygotowanych w rozru-
chu, programów NC zapisanych w katalogach cykli
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
183
Wczytanie podprogramów z przygotowaniem i wywołanie podprogramu
Zarówno w rozruchu przygotowanych podprogramów z parametrami jak teŜ przy wywołaniu podprogramu katalogi cykli są traktowane w tej samej kolejności
1. _N_CUS_DIR cykle uŜytkownika
2. _N_CMA_DIR cykle producenta
3. _N_CST_DIR cykle standardowe
W przypadku programów NC o tej samej nazwie a róŜnym wykonaniu jest uaktywniana in-strukcja znaleziona jako pierwsza a inna instrukcja PROC jest pomijana bez komunikatu alarmowego.
1.27.17 Cykle: parametryzowanie cykli u Ŝytkownika
Działanie
Przy pomocy plików cov.com i uc.com moŜna parametryzować własne cykle.
Plik cov.com jest dostarczany z cyklami standardowymi i naleŜy go odpowiednio rozszerzyć.
Plik uc.com uŜytkownik powinien sporządzić sam.
Obydwa pliki naleŜy w pasywnym systemie plików załadować do katalogu "cykle uŜytkowni-ka" (wzgl. z odpowiednim podaniem ścieŜki): ;$PATH=/_N_CUS_DIR
Pliki i ścieŜki
cov.com_COM Przegląd cykli uc.com Opis wywoływania cykli
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
184
Dopasowanie cov.com - przegl ąd cykli
Dostarczony z cyklami standardowymi plik cov.com ma następującą strukturę: %_N_COV_COM nazwa pliku ;$PATH=/_N_CST_DIR podanie ścieŜki
;Vxxx 11.12.95 Sca przegl ąd cykli wiersz komentarzy C1(CYCLE81) wiercenie, nakiełkowanie wywołanie dla 1. cyklu C2(CYCLE82) wiercenie, pogł ębianie czołowe wywołanie dla 2. cyklu ... C24(CYCLE98) ła ńcuchy gwintów wywołanie ostatniego cyklu M17 koniec pliku
Składnia Dla kaŜdego nowo dochodzącego cyklu naleŜy wstawić wiersz o następującej składni: C<numer> (<nazwa cyklu>) tekst komentarza
Numer: dowolna liczba całkowita, nie moŜe to być liczba juŜ uŜyta w pliku;
Nazwa cyklu: nazwa programu włączanego cyklu
Tekst komentarza: do wyboru tekst komentarza do cyklu
Przykład:
C25 (MÓJ_CYKL_1) cykl_u Ŝytkownika_1
C26 (CYKL SPECJALNY)
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
185
Przykład, plik uc.com - opis cykli u Ŝytkownika
Objaśnienie nastąpi na podstawie kontynuacji przykładu:
Dla następujących obydwu cykli ma zostać na nowo sporządzone ich parametryzowanie:
Kod programu Komentarz
PROC MÓJ_CYKL_1 (REAL PAR1, INT PAR2, CHAR PAR3, ST RING[10] PAR4) Cykl ma nast ępuj ące przekazywane parametry: PAR1: ; Warto ść Real w zakresie -1000.001 <= PAR2
<= 123.456, ustawienie domy ślne 100 PAR2: ; Dodatnia warto ść całkowitoliczbowa mi ędzy
0 <= PAR3 <= 999999, ustawienie domy ślne 0 PAR3: ; 1 znak ASCII PAR4: ; Ła ńcuch znaków o długo ści 10 dla nazwy
podprogramu ... M17 ;
Kod programu Komentarz PROC CYKL SPECJALNY (REAL WARTOŚĆ1, INT WARTO ŚĆ2) Cykl ma nast ępuj ące przekazywane parametry: WARTOŚĆ1: ; Warto ść real bez ograniczenia zakresu
i ustawienia domy ślnego WARTOŚĆ2: ; Warto ść całkowitoliczbo wa bez ograniczenia
zakresu i ustawienia domy ślnego ... M17
PrzynaleŜny plik uc.com: Kod programu Komentarz %_N_UC_COM ;$PATH=/_N_CUS_DIR //C25(MÓJ_CYKL_1) cykl_u Ŝytkownika_1 (R/-1000.001 123.456 / 100 /parametr_2 cyklu) (I/0 999999 / 1 / warto ść całkowitoliczbowa) (C//"A" / parametr znaku) (S///podprogramy) //C26(CYKL SPECJALNY) (R///długo ść całkowita) (I/*123456/3/rodzaj obróbki) M17
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
186
Przykład: obydwa cykle
Maska wyświetlania dla cyklu MÓJ_CYKL_1
Maska wyświetlania dla cyklu CYKL_SPECJALNY
Elastyczne programowanie NC 1.27 Technika podprogramów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
187
Opis składni dla pliku uc.com - opis cykli u Ŝytkownika
Wiersz nagłówkowy na cykl:
jak w pliku cov.com poprzedzonym przez "//" //C <numer> (<nazwa cyklu>) tekst komentarza
Przykład:
//C25 (MÓJ_CYKL_1) cykl u Ŝytkownika_
Wiersz do opisu na parametr:
(<oznaczenie typu danych> / <warto ść minimalna> <warto ść maksymalna> / <warto ść domy ślna> /<komentarz>)
Oznaczenie typu danych:
R dla real
I dla integer
C dla charakter (1 znak)
S dla string
Warto ść minimalna, warto ść maksymalna (moŜna pominąć)
Granice wprowadzanej wartości, które są sprawdzane przy wprowadzaniu; wartości spoza tego zakresu nie mogą być wprowadzane. Mogą zostać podane wartości wymienione, które moŜna przełączać przyciskiem Toggle; są one wymienione rozpoczynając od "*", inne war-tości są wówczas niedopuszczalne.
Przykład:
(I/*123456/1/rodzaj obróbki)
W przypadku typów String i Charakter nie ma granic.
Warto ść domy ślna (moŜna pominąć)
Wartość, która przy wywoływaniu cyklu jest ustawiona domyślnie w odpowiedniej masce; moŜna ją zmienić w drodze czynności obsługowej.
Komentarz
Tekst, maksymalnie 50 znaków, który jest wyświetlany w masce wywołania cyklu przed po-lem wprowadzania parametru.
Elastyczne programowanie NC 1.28 Technika makr (DEFINE ... AS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
188
1.28 Technika makr (DEFINE ... AS)
OSTROśNIE
Przy pomocy techniki makr język programowania sterowania moŜe zostać bardzo zmie-niony! Dlatego technikę makr stosujcie z duŜą starannością!
Działanie
Jako makro określa się połączenie poszczególnych instrukcji w nową instrukcję łączną z no-wą nazwą. RównieŜ funkcje G, M i H albo podprogramy L mogą być tworzone jako makra. Przy wywołaniu makra w przebiegu programu instrukcje zaprogramowane pod nazwą makra są kolejno wykonywane.
Zastosowanie
Ciągi instrukcji, które się powtarzają, programuje się tylko jeden raz jako makro we własnym module makr (plik makr) albo jeden raz na początku programu. Makro moŜna następnie wy-wołać i wykonać w dowolnym programie głównym albo podprogramie.
Uaktywnienie
Aby móc stosować makra pliku makr w programie NC, plik makr musi zostać załadowany do NC.
Składnia
Definicja makra: DEFINE <nazwa makra> AS <instrukcja 1> <instrukcja 2> ...
Wywołanie w programie NC:
<nazwa makra>
Elastyczne programowanie NC 1.28 Technika makr (DEFINE ... AS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
189
Znaczenie
DEFINE ... AS Kombinacja słów kluczowych do definicji makra
<nazwa makra> Nazwa makra Jako nazwy makr są dopuszczalne tylko identyfikatory. Przy pomocy nazwy makra makro jest wywoływane z programu NC.
<instrukcja> Instrukcja programowa, która ma być zawarta w makropoleceniu.
Zasady dot. definicji makra
● W makro mogą być definiowane dowolne identyfikatory, funkcje G, M, H i programy L.
● Makra mogą być definiowane równieŜ w programie NC.
● Makra funkcji G mogą być definiowane tylko globalnie dla sterowania w module makr.
● Funkcje H i L mogą być programowane dwumiejscowo.
● Funkcje M i G mogą być programowane 3-miejscowo.
OSTROśNIE
Słów kluczowych i zarezerwowanych nazw nie wolno przedefiniowywać przy pomocy makr.
Warunki brzegowe
● Kaskadowanie makr jest niemoŜliwe.
Przykłady
Przykład 1: Definicja makra i pocz ątek programu Kod programu Komentarz DEFINE LINIE AS G1 G94 F300 ; Definicja makra ... ... N70 LINIE X10 Y20 ; Wywołanie makra ...
Elastyczne programowanie NC 1.28 Technika makr (DEFINE ... AS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
190
Przykład 2: definicje makr w pliku makr Kod programu Komentarz DEFINE M6 AS L6 ; Przy zmianie narz ędzia jest wywoływany
podprogram, który przejmuje niezb ędne prze-syłanie danych. W podprogramie jest wypro-wadzana wła ściwa funkcja M zmiany narz ędzia (np. M106).
DEFINE G81 AS DRILL(81) ; Emulacja funkcji G DIN. DEFINE G33 AS M333 G333 ; Przy nacinaniu gwintu nas t ępuje za Ŝąda-
nie synchronizacji z PLC. Pierwotna funkcja G33 została poprzez MD przemianowana na G333, programowanie pozostaje dla u Ŝytkow-nika takie samo.
Przykład 3: zewn ętrzny plik makr
Po wczytaniu zewnętrznego pliku makr do sterowania plik makr musi zostać załadowany do NC. Dopiero wówczas makra mogą być stosowane w programie NC. Kod programu Komentarz %_N_UMAC_DEF ;$PATH=/_N_DEF_DIR ; Makra specyficzne dla klienta DEFINE PI AS 3.14 DEFINE TC1 AS M3 S1000 DEFINE M13 AS M3 M7 ; Wrzeciono w prawo, wł ączenie chłodziwa DEFINE M14 AS M4 M7 ; Wrzeciono w lewo, wł ączenie chłodziwa DEFINE M15 AS M5 M9 ; Zatrzymanie wrzeciona, wył ączenie chło-
dziwa DEFINE M6 AS L6 ; Wywołanie programu zmiany narz ędzia DEFINE G80 AS MCALL ; Cofni ęcie wyboru cyklu toczenia M30
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
191
Zarządzanie plikami i programami 2
2.1 Pamięć programów
Działanie
W pamięci programów są trwale zapisywane pliki i programy (np. programy główne i pod-programy, definicje makr) (→ pasywny system plików).
Literatura:
/FB2/ Podręcznik działania Funkcje rozszerzające; konfiguracja pamięci (S7)
Oprócz tego jest pewna liczba typów plików, które moŜna tutaj pośrednio zapisać i w razie potrzeby (np. przy obróbce określonych przedmiotów) przenieść do pamięci roboczej (np. do celów inicjalizacyjnych).
Zarządzanie plikami i programami 2.1 Pamięć programów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
192
Katalogi standardowe
Standardowo są zawarte następujące katalogi:
Katalog Treść _N_DEF_DIR Moduły danych i moduły makropoleceń _N_CST_DIR Cykle standardowe _N_CMA_DIR Cykle producenta _N_CUS_DIR Cykle uŜytkownika _N_WKS_DIR Obrabiane przedmioty _N_SPF_DIR Podprogramy globalne _N_MPF_DIR Programy główne _N_COM_DIR Komentarze
Zarządzanie plikami i programami 2.1 Pamięć programów Zarządzanie plikami i programami
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
193
Typy plików
W pamięci programów mogą być umieszczane następujące typy plików:
Typ pliku Opis name_MPFMPF Program główny name_SPFSPF Podprogram name_TEA Dane maszynowe name_SEA Dane nastawcze name_TOA Korekcji narzędzi name_UFR Przesunięcia punktu zerowego/frame name_INI Plik inicjalizacyjny name_GUDGUD Globalne dane uŜytkownika name_RPA Parametry R name_COM Komentarz name_DEF Definicja globalnych danych uŜytkownika i makr
Katalog główny obrabianych przedmiotów (_N_WKS_DIR)
Katalog główny obrabianych przedmiotów jest standardowo utworzony w pamięci progra-mów pod określeniem _N_WKS_DIR. Katalog główny obrabianych przedmiotów zawiera dla wszystkich obrabianych przedmiotów, które zaprogramowaliście, odpowiednie katalogi ob-rabianego przedmiotu.
Katalogi obrabianych przedmiotów ( ..._WPD)
W celu bardziej elastycznego posługiwania się danymi i programami określone dane i pro-gramy mogą być ze sobą wiązane albo zapisywane w poszczególnych katalogach obrabia-nego przedmiotu.
Katalog obrabianego przedmiotu zawiera wszystkie pliki, które są konieczne do obrobienia przedmiotu. Mogą to być programy główne, podprogramy, dowolne programy inicjalizacyjne i pliki komentarzowe.
Programy inicjalizacyjne są jednorazowo wykonywane z pierwszym startem programu po je-go wybraniu (odpowiednio do danej maszynowej MD11280 $MN_WPD_INI_MODE).
Zarządzanie plikami i programami 2.1 Pamięć programów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
194
Przykład:
Katalog obrabianego przedmiotu _N_WAŁEK_WPD, który został utworzony dla obrabianego przedmiotu WAŁEK, zawiera następujące pliki:
Plik Opis _N_WAŁEK_MPF Program główny _N_PART2_MPF Program główny _N_PART1_SPF Podprogram _N_PART2_SPF Podprogram _N_WAŁEK_INI Ogólny program inicjalizacyjny danych obrabianego przedmiotu _N_WAŁEK_SEA Program inicjalizacyjny danych nastawczych _N_PART2_INI Ogólny program inicjalizacyjny danych dla programu Part 2 _N_PART2_UFR Program inicjalizacyjny dla danych frame dla programu Part 2 _N_WAŁEK_COM Plik komentarzu
Tworzenie katalogów obrabianych przedmiotów na zewn ętrznym PC
PoniŜej opisany sposób postępowania jest przeprowadzany na zewnętrznej stacji danych. Informacje odnośnie zarządzania plikami i programami (od PC do sterowania), bezpośrednio w sterowaniu, znajdziecie w instrukcji obsługi.
Utworzenie katalogu obrabianego przedmiotu z podani em ścieŜki ($PATH=…)
W drugim wierszu pliku jest podawana ścieŜka celu przy pomocy $PATH=… . Plik jest wów-czas zapisywany pod podaną ścieŜką.
Przykład:
Kod programu %_N_WAŁEK_MPF ;$PATH=/_N_WKS_DIR/_N_WAŁEK_WPD N10 G0 X… Z… ... M2
Plik _N_WAŁEK_MPF jest zapisywany w katalogu /_N_WKS_DIR/_N_WAŁEK_WPD.
Zarządzanie plikami i programami 2.1 Pamięć programów Zarządzanie plikami i programami
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
195
Utworzenie katalogu obrabianego przedmiotu bez poda nia ścieŜki
Gdy brak jest podania ścieŜki, wówczas pliki z zakończeniem _SPF są zapisywane w kata-logu /_N_SPF_DIR, pliki z zakończeniem _INI w pamięci roboczej a wszystkie pozostałe pliki w katalogu /_N_MPF_DIR.
Przykład: Kod programu
%_N_WAŁEK_SPF ... M17
Plik _N_WAŁEK_SPF jest zapisywany w katalogu /_N_SPF_DIR.
Wybranie obrabianego przedmioty do obróbki
Katalog obrabianego przedmiotu moŜe zostać wybrany w celu wykonania w kanale.
JeŜeli w tym katalogu znajduje się program główny o tej samej nazwie albo tylko jeden jedy-ny program główny (_MPF), wówczas jest on automatycznie wybierany do wykonania.
Literatura:
/BAD/ Podręcznik obsługi HMI Advanced; punkt "Lista zadań" jak teŜ "Wybór programu do wykonania"
ŚcieŜki szukania przy wywołaniu podprogramu
JeŜeli ścieŜka wywołania nie zostanie wyraźnie podana w programie obróbki przy wywołaniu podprogramu (albo teŜ plik inicjalizacyjny), wówczas wywoływany program jest ustalany we-dług stałej ścieŜki szukania.
Wywołanie podprogramu z absolutnym podaniem ścieŜki
Przykład: Kod programu Komentarz
...
CALL"/_N_CST_DIR/_N_CYCLE1_SPF"
...
Zarządzanie plikami i programami 2.1 Pamięć programów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
196
Wywołanie podprogramu bez absolutnego podania ścieŜki
Z reguły programy są wywoływane bez podania ścieŜki.
Przykład: Kod programu ... CYCLE1 ...
Katalogi są przeszukiwane w poszukiwaniu wywołanego programu w następującej kolejno-ści:
Nr Katalog Opis
1 aktualny katalog / name Katalog główny obrabianych przedmiotów albo katalog standardowy _N_MPF_DIR
2 aktualny katalog / nazwa_SPF
3 aktualny katalog / nazwa_MPF
4 /_N_SPF_DIR / nazwa_SPF podprogramy globalne
5 /_N_CUS_DIR / nazwa_SPF cykle uŜytkownika
6 /_N_CMA_DIR / nazwa_SPF cykle producenta
7 /_N_CST_DIR / nazwa_SPF cykle standardowe
Programowanie ścieŜek szukania przy wywołaniu podprogramu (CALLPATH)
Przy wywołaniu podprogramu moŜna rozszerzyć ścieŜkę szukania przy pomocy polecenia programu obróbki CALLPATH.
Przykład: Kod programu Komentarz CALLPATH ("/_N_WKS_DIR/_N_MYWPD_WPD") ...
ŚcieŜka szukania jest zapisywana przed pozycją 5. (cykl uŜytkownika) odpowiednio do podanego zaprogramowania. Dalsze informacje dot. programowalnej ścieŜki szukania przy wywoływaniach podprogramów z CALLPATH patrz punkt "Rozszerzenie ścieŜki szukania przy wywoływaniu podprogramu CALLPATH".
Zarządzanie plikami i programami 2.2 Pamięć robocza (CHANDATA, COMPLETE, INITIAL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
197
2.2 Pamięć robocza (CHANDATA, COMPLETE, INITIAL)
Działanie Pamięć robocza zawiera aktualne dane systemowe i uŜytkownika, z którymi sterowanie jest eksploatowane (aktywny system plików), np.: ● aktywne dane maszynowe ● dane korekcyjne narzędzia ● przesunięcia punktu zerowego ● ...
Programy inicjalizacyjne
Chodzi tutaj o programy, przy pomocy których dane pamięci roboczej są domyślnie ustawia-ne (inicjalizowane) Mogą w tym celu być stosowane następujące typy plików:
Typ pliku Opis
name_TEA Dane maszynowe
name_SEA Dane nastawcze
name_TOA Korekcje narzędzi
name_UFR Przesunięcia punktu zerowego / frame
name_INI Plik inicjalizacyjny
name_GUD Globalne dane uŜytkownika
name_RPA Parametry R
Informacje dot. wszystkich typów plików znajdziecie w podręczniku obsługi otoczki graficz-nej.
Zakresy danych
Dane mogą być włączone do róŜnych zakresów, w których mają obowiązywać. Na przykład sterowanie moŜe dysponować wieloma kanałami (nie w przypadku SINUMERIK 840D NCU 571) albo zazwyczaj teŜ wieloma osiami.
Są:
Oznaczenie Zakresy danych
NCK Dane specyficzne dla NCK
CH<n> Dane specyficzne dla kanału (<n> podaje numer kanału)
AX<n> Dane specyficzne dla osi (<n> podaje numer osi maszyny)
TO Dane narzędzi
COMPLETE Wszystkie dane
rządzanie plikami i programami 2.2 Pamięć robocza (CHANDATA, COMPLETE, INITIAL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
198
Utworzenie programu inicjalizacyjnego na zewn ętrznym PC
Przy pomocy identyfikacji zakresów danych i identyfikacji typów danych mogą zostać okre-ślone obszary, które przy zapisywaniu danych są traktowane jako jednostka:
_N_AX5_TEA_INI dane maszynowe dla osi
_N_CH2_UFR_INI frame dla kanału
_N_COMPLETE_TEA_INI wszystkie dane maszynowe
Po uruchomieniu sterowania w pamięci roboczej jest zestaw danych, który gwarantuje jego naleŜytą pracę.
Sposób post ępowania w przypadku sterowa ń wielokanałowych (CHANDATA)
CHANDATA(<numer kanału>) dla wielu kanałów jest dopuszczalne tylko w pliku _N_INITIAL_INI. Jest to plik uruchomieniowy, przy pomocy którego są inicjalizowane wszystkie dane sterowania. Kod programu Komentarz
%_N_INITIAL_INI CHANDATA(1) ; Przyporz ądkowanie osi maszyny
kanał 1: $MC_AXCONF_MACHAX_USED[0]=1 $MC_AXCONF_MACHAX_USED[1]=2 $MC_AXCONF_MACHAX_USED[2]=3 CHANDATA(2) ; Przyporz ądkowanie osi maszyny
kanał 2: $MC_AXCONF_MACHAX_USED[0]=4 $MC_AXCONF_MACHAX_USED[1]=5 CHANDATA(1) ; Osiowe dane maszynowe ; Okno zatrzymania dokładnego
zgrubnie: $MA_STOP_LIMIT_COARSE[AX1]=0.2 ; O ś 1 $MA_STOP_LIMIT_COARSE[AX2]=0.2 ; O ś 2 ; Okno zatrzymania dokładnego
dokładnie: $MA_STOP_LIMIT_FINE[AX1]=0.01 ; O ś 1 $MA_STOP_LIMIT_FINE[AX1]=0.01 ; O ś 2
Zarządzanie plikami i programami 2.2 Pamięć robocza (CHANDATA, COMPLETE, INITIAL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
199
OSTROśNIE
Instrukcja CHANDATA
W programie obróbki instrukcję CHANDATA wolno ustawić tylko dla tego kanału, w którym program NC jest wykonywany, tzn. instrukcja moŜe zostać uŜyta do ochrony programów NC przed wykonywaniem w nie przewidzianym kanale.
W przypadku błędu wykonywanie programu jest przerywane.
Wskazówka
Pliki INI na listach zadań nie zawierają instrukcji CHANDATA.
Wykonanie kopii zapasowej programów inicjalizacyjny ch (COMPLETE, INITIAL)
Pliki pamięci roboczej mogą zostać zapisane na zewnętrznym PC i być stamtąd wczytywa-ne.
● Pliki są zapisywane przy pomocy COMPLETE.
● Przy pomocy INITIAL jest dla wszystkich obszarów tworzony plik INI (_N_INITIAL_INI).
Wczytanie programów inicjalizacyjnych
UWAGA
Gdy zostanie wczytany plik o nazwie "INITIAL_INI", wówczas wszystkie dane, które nie są dostarczane w tym pliku, są inicjalizowane jako dane standardowe. Wyłączone z tego są tylko dane maszynowe. Jako standardowe są więc dostarczane dane nastawcze, dane narzędzi, NPV, wartości GUD, ... (zazwyczaj "ZERO").
Do wczytywania poszczególnych danych maszynowych nadaje się np. plik COMPLETE_TEA_INI. W tym pliku sterowanie oczekuje tylko danych maszynowych. Inne obszary danych pozostają w tym przypadku nietknięte.
Załadowanie programów inicjalizacyjnych
Programy INI mogą być równieŜ wybierane i wywoływane jako programy obróbki, gdy stosu-ją tylko dane jednego kanału. W ten sposób jest równieŜ moŜliwe inicjalizowanie danych ste-rowanych programem.
Zarządzanie plikami i programami 2.3 Zdefiniowanie danych uŜytkownika (DEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
200
2.3 Zdefiniowanie danych u Ŝytkownika (DEF)
Działanie
UWAGA
Definicja danych uŜytkownika (GUD) następuje w chwili uruchomienia. Niezbędne dane maszynowe muszą być odpowiednio ustawione. Pamięć uŜytkownika musi być skonfigu-rowana. Wszystkie mające znaczenie dane maszynowe mają w nazwie składnik GUD.
Definicja danych uŜytkownika (GUD) moŜe zostać sporządzona w zakresie czynności obsłu-gowych "Usługi". Przez to odpada czasochłonne ponowne wgrywanie zapisanych danych (%_N_INITIAL_INI).
Przy tym obowiązuje:
● Pliki definicji, które są zapisane na dysku twardym, nie są aktywne.
● Pliki definicji, które są w NC, są zawsze aktywne.
Programowanie poszczególnych zmiennych GUD następuje poleceniem DEF.
Składnia
DEF <zakres> <zatrz. przeb. wyprz.> <typ> <nazwa>[. ..,...]=<warto ść>
Znaczenie
DEF Polecenie dot. definicji zmiennych GUD
<zakres> <zakres> oznakowuje zmienną jako zmienną GUD i ustala zakres obo-wiązywania:
NCK W całym NCK
CHAN W całym kanale
<zatrzym. przebiegu wyprzedz.>
Atrybut opcjonalny zatrzymanie przebiegu wyprzedzającego:
SYNR Zatrzymanie przebiegu wyprz. przy odczycie
SYNW Zatrzymanie przebiegu wyprz. przy zapisie
SYNRW Zatrzymanie przebiegu wyprz. przy odczycie/zapisie
<typ> Typ danych:
BOOL, REAL, INT, AXIS, FRAME, STRING albo CHAR
Elastyczne programowanie NC 2.3 Zdefiniowanie danych uŜytkownika (DEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
201
<nazwa> Nazwa zamiennej
[..., ...] Opcjonalne granice przebiegu dla zmiennych tablicowych
<warto ść> Opcjonalna wartość domyślna Wiele wartości tablic, rozdzielonych przecinkiem albo REP(w1), SET(w1,w2, ...), (w1,w2,...) .
Wskazówka:
W przypadku typu FRAME nie są moŜliwe Ŝadne wartości inicjalizacyjne
Przykłady
Przykład 1: plik definicji, dane globalne (Siemens) Kod programu Komentarz %_N_SGUD_DEF $PATH=/_N_DEF_DIR DEF NCK REAL RTP ; Płaszczyzna wycofania DEF CHAN INT SDIS ; Odst ęp bezpiecze ństwa M30
Przykład 2: plik definicji, dane globalne (producen t maszyny) Kod programu Komentarz %_N_MGUD_DEF $PATH=/_N_DEF_DIR ; Globalne definicje danych producenta
maszyny: DEF NCK SYNRW INT LICZBA SZTUK ; Zatrzymanie przebi egu wyprzedza-
j ącego implicite przy odczycie/zapisie, specjalna dana znajduje si ę w sterowa-niu, dost ęp ze wszystkich kanałów.
DEF CHAN INT TABLICA NARZ ĘDZI[100] ; Tablica narz ędzi do specy-ficznego dla kanału odwzorowania nume-rów narz ędzi na miejscach magazynu, ta-blica utworzona oddzielnie dla ka Ŝdego kanału.
M30
Zarządzanie plikami i programami 2.3 Zdefiniowanie danych uŜytkownika (DEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
202
Dalsze informacje
Zarezerwowane nazwy modułów
W katalogu /_N_DEF_DIR mogą zostać zapisane następujące moduły:
_N_SMAC_DEF zawiera makrodefinicje (zastosowania systemowe Siemens)
_N_MMAC_DEF zawiera makrodefinicje (producent maszyny)
_N_UMAC_DEF zawiera makrodefinicje (uŜytkownik)
_N_SGUD_DEF zawiera makrodefinicje dla danych globalnych (zastosowania syste-mowe Siemens)
_N_MGUD_DEF zawiera makrodefinicje dla danych globalnych (producent maszyny)
_N_UGUD_DEF zawiera makrodefinicje dla danych globalnych (uŜytkownik)
_N_GUD4_DEF dowolnie definiowana
_N_GUD5_DEF zawiera definicje cykli pomiarowych (zastosowania systemowe Sie-mens)
_N_GUD6_DEF zawiera definicje cykli pomiarowych (zastosowania systemowe Sie-mens)
_N_GUD7_DEF zawiera makrodefinicje dla cykli standardowych (zastosowania sys-temowe Siemens)
_N_GUD8_DEF definiowana dowolnie
_N_GUD9_DEF definiowana dowolnie
Wskazówka
JeŜeli nie ma cykli pomiarowych / standardowych, wówczas równieŜ zarezerwowane dla nich moduły moŜna dowolnie definiować..
Elastyczne programowanie NC 2.3 Zdefiniowanie danych uŜytkownika (DEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
203
Sposób post ępowania: Definiowanie danych u Ŝytkownika (GUD)
1. Wykonanie kopii zapasowej modułu _N_INITIAL_INI
2. Sporz ądzenie pliku definicji dla danych u Ŝytkownika
Pliki definicji mogą zostać sporządzone na zewnętrznym PC albo w zakresie czynności obsługowych "Usługi". Istnieją równieŜ predefiniowane nazwy plików (patrz "zarezerwo-wane nazwy modułów")
_N_SGUD_DEF
_N_MGUD_DEF
_N_UGUD_DEF
_N_GUD4_DEF … _N_GUD9_DEF
Pliki o tych nazwach mogą zawierać definicje zmiennych GUD.
3. Załadowanie pliku definicji do pami ęci programów sterowania
Sterowanie standardowo zawsze tworzy katalog _N_DEF_DIR. Ta nazwa jest jako ścieŜ-ka wpisywana do nagłówka pliku definicji GUD i przy wczytywaniu poddawana ewaluacji poprzez odpowiedni interfejs.
4. Uaktywnienie pliku definicji i ponowne uaktywnie nie jego tre ści
Gdy plik definicji GUD zostanie załadowany do NC (przycisk programowany "ładuj"), staje się aktywny. Gdy treść określonego pliku definicji GUD jest ponownie uaktywniana, stary moduł danych GUD w aktywnym systemie plików jest kasowany i nowe parametry są przy tym cofane Gdy ten proces następuje poprzez dialog "Usługi" > "Zarządzanie dany-mi" > "Definicja i uaktywnienie danych uŜytkownika (GUD)", wówczas poprzez plik INI jest wykonywana kopia zapasowa treści zmiennych i na końcu tego procesu następuje ich odtworzenie.
5. Wykonanie kopii zapasowej danych
Przy archiwizowaniu pliku _N_COMPLETE_GUD z pamięci roboczej są zapisywane tylko treści danych. Sporządzone pliki definicji dla globalnych zmiennych uŜytkownika muszą być archiwizowane oddzielnie.
Przyporządkowania zmiennych do globalnych danych uŜytkownika są zapisywane rów-nieŜ w _N_INITIAL_INI, nazwy muszą być identyczne z nazwami w plikach definicji.
Zarządzanie plikami i programami 2.4 Stopnie ochrony dla danych uŜytkownika, MD, SD i polecenia językowe NC
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
204
2.4 Stopnie ochrony dla danych u Ŝytkownika, MD, SD i polece ń ję-zykowych NC
2.4.1 Zdefiniowanie stopni ochrony dla danych u Ŝytkownika (APR, APW)
Działanie
Przez definicję kryteriów dostępu moŜna chronić moduły GUD przed manipulacjami. W cy-klach mogą być odpytywane zmienne GUD, które w ten sposób są chronione przed zmianą poprzez otoczkę graficzną albo z programu. Ochrona przed dostępem odnosi się do wszyst-kich zmiennych, które są w tym module zdefiniowane. W przypadku nie dozwolonego dostę-pu sterowanie komunikuje odpowiedni alarm.
Składnia Stopnie ochrony dla całego modułu są podawane po wierszach nagłówkowych: Kod programu Komentarz %_N_MGUD_DEF ; Wiersz nagłówkowy 1 $PATH=/_N_DEF_DIR ; Wiersz nagłówkowy 2 APR<stopie ń ochrony> APW<stopie ń ochrony> ; Definicja ochrony przed dost ępem
Ochrona przed dostępem jest programowana w samym module GUD przed pierwszą defini-cją zmiennej z poŜądanym stopniem ochrony. Słowa kluczowe muszą znajdować się w od-dzielnym bloku.
Znaczenie
APR Przy pomocy polecenia APR jest ustalana ochrona przed dostępem (Access Protection) dla odczytu (read) zmiennych GUD.
APW Przy pomocy polecenia APW jest ustalana ochrona przed dostępem (Access Protection) dla zapisu (write) zmiennych GUD.
Zarządzanie plikami i programami 2.4 Stopnie ochrony dla danych uŜytkownika, MD, SD i polecenia językowe NC
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
205
<stopie ń ochrony> Stopień ochrony
Typ: INT
Zakres wartości: od 0 albo 10 (najwyŜszy stopień)
do 7 albo 17 (najniŜszy stopień)
0 - 7 Ochrona przed zapisem i odczytem działa na otoczce graficznej i w programie NC wzgl. w trybie MDA.
Te wartości są dopuszczalne w modułach GUD i w podawaniu stopni ochrony dla poszczególnych zmiennych w instrukcji REDEF.
10 - 17 Ochrona przed zapisem i odczytem działa na otoczce graficznej
Te wartości są dopuszczalne tylko w przy-padku stopnia ochrony GUD specyficznego dla modułu.
Znaczenie stopni ochrony:
0 albo 10 SIEMENS
1 albo 11 OEM_HIGH
2 albo 12 OEM_LOW
3 albo 13 uŜytkownik końcowy
4 albo 14 przełącznik z kluczykiem 3
... ...
7 albo 17 przełącznik z kluczykiem 0
Wskazówka
Gdy jest chroniony kompletny plik, wówczas polecenia muszą znajdować się przed pierw-szymi definicjami pliku, w przeciwnym przypadku w instrukcji REDEF (patrz "Stopnie ochro-ny dla poleceń językowych NC").
Zarządzanie plikami i programami 2.4 Stopnie ochrony dla danych uŜytkownika, MD, SD i polecenia językowe NC
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
206
Przykład
Plik definicji z:
● ochroną przed dostępem zapis: producent maszyny
● ochroną przed dostępem odczyt: przełącznik z kluczykiem 2 na interfejsie graficznym Kod programu Komentarz %_N_GUD6_DEF $PATH=/_N_DEF_DIR APR15 APW12 ; stopnie ochrony dla wszystkich nast ępnych zmiennych DEF CHAN REAL_CORRVAL DEF NCK INT MYCOUNT … M30
Dalsze informacje
Uaktywnienie po raz pierwszy pliku definicji GUD
Przy uaktywnieniu pliku definicji GUD po raz pierwszy następuje ewaluacja moŜliwie zawar-tego w nim zdefiniowane prawo dostępu i automatyczne przeniesienie go na prawa do zapi-su i odczytu samego pliku definicji GUD.
Wskazówka
Wpisy prawa dostępu w pliku definicji GUD mogą ograniczać uprawnienie do dostępu do samego pliku definicji GUD, nie mogą ich natomiast rozszerzać.
Przykład:
W pliku definicji _N_GUD7_DEF jest: APW2
1. W pliku _N_GUD7_DEF ma jako ochronę przed zapisem wartość 3. Wartość 3 jest wów-czas zastępowana wartością 2.
2. Plik _N_GUD7_DEF ma jako ochronę przed zapisem wartość 0. Zmiana nie następuje.
Przy pomocy instrukcji APW następuje działający wstecz wpływ na prawo zapisu samego pliku.
Przy pomocy instrukcji APR następuje działający wstecz wpływ na prawo odczytu samego pliku.
Wskazówka
JeŜeli w pliku definicji GUD zostanie przez pomyłkę wpisane wyŜsze prawo niŜ prawo przy-sługujące osobie wpisującej, wówczas plik archiwalny musi ponownie zostać wgrany.
Zarządzanie plikami i programami 2.4 Stopnie ochrony dla danych uŜytkownika, MD, SD i polecenia językowe NC
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
207
2.4.2 Automatyczne uaktywnienie GUD i MAC
Działanie
Pliki definicji GUD i makr są dla HMI Advanced edytowane w zakresie czynności obsługo-wych "Usługi".
Gdy plik definicji jest edytowany w NC, przy wychodzeniu z edytora ukazuje się zapytanie, czy działanie definicji ma zostać ustawione.
Rozładowanie definicji GUD i Makr
JeŜeli plik danych zostaje rozładowany, wówczas przynaleŜny moduł danych, po wyświetle-niu zapytania, jest kasowany.
Załadowanie GUD i definicji makr
Gdy plik definicji jest ładowany, wówczas ukazuje się zapytanie, czy plik ma zostać uaktyw-niony wzgl. czy dane mają zostać zachowane. Gdy odrzucicie uaktywnienie, plik nie zosta-nie załadowany.
Gdy kursor znajduje się na załadowanym pliku definicji, wówczas napis na przycisku pro-gramowanym zmienia się z "Ładuj" na "Uaktywnij" w celu ustawienia działania definicji. Je-Ŝeli wybierzecie "Uaktywnij", następuje ponownie zapytanie, czy dane mają zostać zacho-wane.
Zachowywanie danych następuje tylko w przypadku plików definicji zmiennych, nie w przy-padku makr.
Wskazówka
HMI Advanced
W przypadku gdy brak jest wystarczającego miejsca w pamięci dla uaktywnienia pliku defi-nicji, po zmianie wielkości pamięci plik musi zostać załadowany z NC do MMC a następnie z powrotem do NC, a przez to uaktywniony.
Zarządzanie plikami i programami 2.4 Stopnie ochrony dla danych uŜytkownika, MD, SD i polecenia językowe NC
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
208
Przykład: pytanie przy wychodzeniu z edytora
"Czy uaktywnić definicję z pliku GUD7.DEF?"
"OK": Ukazuje się pytanie, czy aktualnie aktywne dane mają zostać uratowane:
"Czy dotychczasowe dane definicji mają pozostać zachowane?"
OK": Moduły GUD opracowywanego pliku definicji są zapisywane, są uak-tywniane nowe definicje i zapisane dane są ponownie wgrywane.
"Anuluj": Nowe definicje są uaktywniane, stare dane są utracone.
"Anuluj": Zmiany w pliku definicji są anulowane, przynaleŜny moduł danych nie jest zmieniany.
2.4.3 Zmiana stopni ochrony dla danych maszynowych i nastawczych (REDEF, APR, APW)
Działanie UŜytkownik ma moŜliwość zmiany stopni ochrony dla danych maszynowych i nastawczych. W przypadku danych maszynowych mogą być nadawane tylko stopnie ochrony o niŜszym priorytecie, w przypadku danych nastawczych równieŜ o priorytecie wyŜszym.
Składnia
REDEF <MD/SD> APR<stopie ń ochrony> APW<stopie ń ochrony>
Znaczenie
REDEF Polecenie ponownej definicji (REDEFinicja) stopni ochrony danych maszynowych i nastawczych
<MD/SD> Dana maszynowa albo nastawcza, której ma zostać przypo-rządkowany stopień ochrony.
APR Ochrona przed dostępem (Access Protection) dla odczytu (read) podanej danej maszynowej albo nastawczej
APW Ochrona przed dostępem (Access Protection) dla zapisu (write) podanej danej maszynowej albo nastawczej
<stopie ń ochrony) Stopień ochrony
Typ: INT
Zakres wartości: od 0 (najwyŜszy stopień) do 7 (najniŜszy stopień)
Zarządzanie plikami i programami 2.4 Stopnie ochrony dla danych uŜytkownika, MD, SD i polecenia językowe NC
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
209
Cofni ęcie danych maszynowych/nastawczych
JeŜeli zmiana stopni ochrony ma zostać cofnięta, muszą zostać z powrotem wpisane pier-wotne stopnie ochrony.
Przykłady
Przykład 1: zmiana praw w przypadku poszczególnych MD Kod programu Komentarz %_N_SGUD_DEF ;$PATH=/_N_DEF_DIR REDEF $MA_CTRLOUT_SEGMENT_NR APR2 APW2 REDEF $MA_ENC_SEGMENT_NR APR2 APW2 REDEF $SN_JOG_CONT_MODE_LEVELTRIGGRD APR2 APW2 M30
Przykład 2: cofni ęcie do pierwotnej warto ści praw w przypadku poszczególnych MD Kod programu Komentarz %_N_SGUD_DEF ;$PATH=/_N_DEF_DIR REDEF $MA_CTRLOUT_SEGMENT_NR APR7 APW2 REDEF $MA_ENC_SEGMENT_NR APR0 APW0 REDEF $SN_JOG_CONT_MODE_LEVELTRIGGRD APR7 APW7 M30
2.4.4 Zmiana stopni ochrony dla elementów j ęzykowych NC i zmiennych syste-
mowych (REDEF, APX, APW)
Działanie Koncepcja stopni ochrony dla dostępu do danych maszynowych/nastawczych i GUD moŜe zostać rozszerzona na elementy językowe NC i zmienne systemowe.
Wskazówka
Element językowy z ochroną przed dostępem jest w wykonywaniu programu obróbki wyko-nywany juŜ tylko wtedy, gdy jest odpowiednie prawo do wykonania.
Zarządzanie plikami i programami 2.4 Stopnie ochrony dla danych uŜytkownika, MD, SD i polecenia językowe NC
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
210
Składnia Prawo dostępu dla elementu językowego NC: REDEF <element j ęzykowy NC> APX<stopie ń ochrony>
Dostęp do zmiennej systemowej w celu zapisu z programu obróbki albo akcji synchronicz-nych:
REDEF <zmienna systemowa> APW<stopie ń ochrony>
Znaczenie
REDEF Polecenie ponownej definicji (REDEFinicja) stopnia ochrony Działanie: globalnie dla wszystkich kanałów i BAG
<element j ęzy-kowy NC >
Element językowy NC, któremu ma zostać przyporządkowany stopień ochrony dla wykonania
MoŜliwymi elementami językowymi NC są:
• Predefiniowane wywołania podprogramów
• Funkcje zdefiniowane domyślnie
• Instrukcja DO dla akcji synchronicznych
• Funkcje G /warunki drogowe
• Identyfikatory programów dla cykli
Cykl musi być zapisany w jednym z katalogów cykli i zawierać instrukcję PROC.
APX Ochrona przed dostępem (Access Protection) dla wykonania po-danego elementu językowego
<zmienna syste-mowa>
Zmienna systemowa, której ma zostać przyporządkowany stopień ochrony przed dostępem z celu zapisu
Wskazówka:
Dostęp do zmiennych systemowych w celu odczytu jest zawsze moŜliwy
APW Ochrona przed dostępem (Acces Protection) dla zapisu (write) podanych zmiennych systemowych
<stopie ń ochro-ny>
Stopień ochrony
Typ: INT
Zakres wartości: od 0 (najwyŜszy stopień) do 7 (najniŜszy stopień)
Odnośnie znaczenia poszczególnych stopni ochrony patrz "Definiowanie stopni ochrony dla danych uŜytkownika (APR, APW) ".
Wskazówka:
PołoŜenie przełącznika z kluczykiem 0 (stopień ochrony 7) odpowiada ustawieniu domyślnemu wszystkich dostępnych poleceń NC.
Zarządzanie plikami i programami 2.4 Stopnie ochrony dla danych uŜytkownika, MD, SD i polecenia językowe NC
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
211
Przykład: wywołanie podprogramu w plikach definicji
Kod programu Komentarz N10 REDEF GEOAX APX3 N20 IF(ISFILE("/_N_CST_DIR/_N_SACCESS_SUB1_SPF") N30 PCALL /_N_CST_DIR/_N_SACCESS_SUB1_SPF N40 ENDIF N40 M17
Dalsze informacje
Pliki definicji
Analogicznie do definicji GUD są do dyspozycji własne pliki definicji, które są przetwarzane przy rozruchu sterowania:
UŜytkownik końcowy: /_N_DEF_DIR/_N_UACCESS_DEF
Producent: /_N_DEF_DIR/_N_MACCESS_DEF
Siemens: /_N_DEF_DIR/_N_SACCESS_DEF
Wywołanie podprogramu w plikach definicji
W wyŜej wymienionych plikach definicji mogą być równieŜ wywoływane podprogramy, które zawierają instrukcje REDEF. Instrukcje REDEF muszą z zasady jak definicje DEF znajdo-wać się na początku w części zawierającej dane. Podprogramy muszą mieć rozszerzenie SPF albo MPF i dziedziczą ochronę przed zapisem plików definicji ustawioną przy pomocy danych maszynowych MD11170 bis MD11172.
Ochrona przed dost ępem dla danych maszynowych/danych nastawczych
Wskazówka
Gdy tylko pliki definicji dla nowej definicji stopni ochrony elementów językowych NC są ak-tywne, dotychczas utworzone w plikach definicji GUD nowe definicje stopni ochrony danych maszynowych/nastawczych muszą zostać przemieszczone do nowych plików definicji stop-ni ochrony, tzn. ustawienie stopni ochrony dla danych maszynowych i nastawczych jest dozwolone juŜ tylko w wyŜej wymienionych plikach definicji stopni ochrony i jest w plikach definicji GUD odrzucane (alarm!).
Ustawienie atrybutów inicjalizacji i atrybutów synchronizacji jest nadal moŜliwe tylko w plikach definicji GUD.
Zarządzanie plikami i programami 2.5 Zmiana atrybutów elementów językowych NC (REDEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
212
Stopnie ochrony dla zmiennych systemowych
Stopnie ochrony dla zmiennych systemowych obowiązują tylko dla przyporządkowań warto-ści poprzez polecenie programu obróbki. Na interfejsie graficznym działa koncepcja stopni ochrony danego interfejsu graficznego.
2.5 Zmiana atrybutów elementów j ęzykowych NC (REDEF)
Działanie
Opisane w punkcie "Stopnie ochrony" funkcje do definiowania obiektów danych i ustalenia stopni ochrony stają się z rozszerzeniem instrukcji REDEF ogólną funkcją do ustawienia atry-butów i wartości dla elementów językowych NC.
Składnia REDEF <element j ęzykowy NC> <atrybut> <warto ść>
REDEF <nazwa>
Znaczenie REDEF Polecenie ponownej definicji (REDEFinicja) <elem. j ęz. NC> Podpadają pod to:
• GUD
• parametry R
• dane maszynowe/nastawcze
• zmienne synchroniczne ($AC_PARAM, $AC_MARKER, $AC_TIMER)
• zmienne systemowe zapisywalne z programów obróbki (patrz pod-ręcznik "Lista zmiennych systemowych")
• frame uŜytkownika (G500, itd.)
• konfiguracje magazynu/narzędzi
Zarządzanie plikami i programami 2.5 Zmiana atrybutów elementów językowych NC (REDEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
213
<atrybut> <warto ść>
InicjalizacjeInicjalizacjeInicjalizacjeInicjalizacje <warto ść>: dopuszczalna przy: INIPO GUD, parametry R, zmienne synchroniczne INIRE GUD, parametry R, zmienne synchroniczne INICF GUD, parametry R, zmienne synchroniczne PRLOC dane nastawcze
Wskazówka: Znaczenie atrybutów patrz niŜej.
Synchronizacja
<warto ść>: Dop. przy: Zadanie wartości standardowej: SYNR GUD Zatrzymanie przebiegu wyprz. przy odczy-
cie
SYNW GUD Zatrzymanie przebiegu wyprz. przy zapisie SYNRW GUD Zatrz. przeb. wyprz. przy odczycie i zapisie Uprawnienie do dost ępu
<warto ść>: Dopuszczalne przy:
Zadanie wartości standar-dowej:
APW Dane maszyno-we i nastawcze
Prawo dostępu przy zapisie
APR Dane maszyno-we i nastawcze
Prawo dostępu przy odczy-cie
Wskazówka:
Dla danych maszynowych i nastawczych moŜna później domyśl-ne uprawnienia do dostępu zastąpić. Dopuszczalne wartości sięgają przy tym od "0" (hasło firmy Siemens) do "7" (połoŜenie 0 przełącznika z kluczykiem).
<Nazwa> Ustawienia APX, APR, APW są dokonywane na wartości stan-dardowe a INIPO, INIRE, INICF, PRLOC są cofane.
Zarządzanie plikami i programami 2.5 Zmiana atrybutów elementów językowych NC (REDEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
214
Parametry opcjonalne
<warto ść> Opcjonalny parametr w przypadku atrybutów INIPO, INIRE, INICF, PRLOC : późniejsza(e) wartość(i) startowa(e) Formy: Pojedyncza wartość np. 5 Lista wartości np. (0,1,2,3,4,5,6,7,8,9 ) dla zmiennej
z 10 elementami
z: • REP(<w1>)
<w1>: powtarzana ;lista wartości dla zmiennej z wieloma elementami Przykład: REP(12) • SET(<w1>,<w2>,<w3>,...) • (<w1>,<w2>,<w3>,...)
lista wartości <stopie ń ochrony>
Wymagany parametr stopień ochrony w przypadku atrybutów przy APR albo APW Dla GUD moŜe przy definicji zostać podana wartość startowa (DEF NCK INT _MYGUD=5). JeŜeli ta wartość startowa (np. przy DEF NCK INT _MYINT ) nie zostanie podana, wówczas moŜna przy instrukcji REDEF ustalić tę wartość startową później. Wartość inicjalizacyjna dla tablicy obowiązuje dla wszystkich jej ele-mentów. Poszczególne elementy moŜna ustawić przy pomocy listy inicjalizacji albo REP( ). Przykłady: REDEF_MYGUD INIRE 5 REDEF_MYGUD INIRE 0,1,2,3,4,5,6,7,8,9 REDEF_MYGUD INIRE REP(12,14,16,18,20) Nie moŜna stosować do parametrów R i zmiennych systemowych. Mogą zostać przyporządkowane tylko stałe.
WyraŜenia nie są dozwolone jako wartość.
Zarządzanie plikami i programami 2.5 Zmiana atrybutów elementów językowych NC (REDEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
215
Znaczenie atrybutów:
INIPO INIt przy Power On
Dane są przy buforowanym ponownym rozruchu NC zastępowane warto-ścią(ami) standardową(ymi).
INIRE INIt prze zresetowaniu pulpitu obsługi albo końcu TP
Na końcu programu głównego np. M2, M30 , itd. albo po przerwaniu przez Reset dane są zastępowane wartością standardową.
INIRE działa równieŜ przy INIPO .
INICF INIt przy zaŜądaniu NewConf albo poleceniu TP NEWCONF
Przy zaŜądaniu NewConfig albo poleceniu TP NEWCONF dane są zastępo-wane wartością standardową.
INICF działa równieŜ przy INIRE i INIPO .
PRLOC Tylko zmiana lokalna w programie
JeŜeli dana w programie obróbki, podprogramie, cyklu albo ASUP zostanie zmieniona, wówczas po zakończeniu programu głównego (koniec z np. M2, M30 , itd. albo przy anulowaniu przez zresetowanie pulpitu obsługi) ponownie przyjmuje swoją pierwotną wartość.
Ten atrybut jest dopuszczalny tylko dla programowalnych danych nastaw-czych (patrz programowalne dane nastawcze).
Synchronizacj ę wydarzeń wyzwalających inicjalizację uŜytkownik musi zrealizować sam, tzn. gdy np. koniec programu obróbki jest wykonywany w dwóch róŜnych kanałach, wów-czas przy kaŜdym z tych procesów są inicjalizowane zmienne. Ma to wpływ na dane global-ne albo osiowe!
Zarządzanie plikami i programami 2.5 Zmiana atrybutów elementów językowych NC (REDEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
216
Programowalne dane nastawcze i zmienne systemowe za pisywane z programu ob-róbki
Następujące dane nastawcze są inicjalizowalne w połączeniu z instrukcją REDEF:
Numer Identyfikator GCODE 42000 $SC_THREAD_START_ANGLE SF
42010 $SC_THREAD_RAMP_DISP DITS/DITE
42400 $SA_PUNCH_DWELLTIME PDELAYON
42800 $SA_SPIND_ASSIGN_TAB SETMS
43210 $SA_SPIND_MIN_VELO_G25 G25
43220 $SA_SPIND_MAX_VELO_G26 G26
43230 $SA_SPIND_MAX_VELO_LIMS LIMS
43300 $SA_ASSIGN_FEED_PER_REV_SOURCE FPRAON
43420 $SA_WORKAREA_LIMIT_PLUS G26
43430 $SA_WORKAREA_LIMIT_MINUS G25
43510 $SA_FIXED_STOP_TORQUE FXST
43520 $SA_FIXED_STOP_WINDOW FXSW
43700 $SA_OSCILL_REVERSE_POS1 OSP1
43710 $SA_OSCILL_REVERSE_POS2 OSP2
43720 $SA_OSCILL_DWELL_TIME1 OST1
43730 $SA_OSCILL_DWELL_TIME2 OST2
43740 $SA_OSCILL_VELO FA
43750 $SA_OSCILL_NUM_SPARK_CYCLES OSNSC
43760 $SA_OSCILL_END_POS OSE
43770 $SA_OSCILL_CTRL_MASK OSCTRL
43780 $SA_OSCILL_IS_ACTIVE OS
43790 $SA_OSCILL_START_POS OSB
W podręczniku "Lista zmiennych systemowych" znajdziecie wyszczególnienie zmiennych systemowych. Wszystkie zmienne systemowe, które w kolumnie "Program obróbki" są oznaczone przez W (write) albo WS (write z zatrzymaniem przebiegu wyprzedzającego), mogą być inicjalizowane przy pomocy instrukcji RESET.
Zarządzanie plikami i programami 2.5 Zmiana atrybutów elementów językowych NC (REDEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
217
Przykład Kod programu Komentarz ; Zachowanie si ę przy zresetowaniu w
przypadku GUD: /_N_DEF_DIR/_N_SGUD_DEF DEF NCK INT _MYGUD1 ; Definicje DEF NCK INT _MYGUD2=2 DEF NCK INT _MYGUD3=3 ; Inicjalizacja przy zresetowaniu pul-
pitu obsługi / ko ńcu programu obróbki: DEF _MYGUD2 INIRE ; Inicjalizacja M17
Przez to następnie przy zresetowaniu pulpitu obsługi / końcu programu obróbki "_MYGUD2" następuje ponownie nastawienie na wartość "2", podczas gdy "_MYGUD1" i "_MYGUD3" zachowują swoją wartość.
Przykład: modalne ograniczenie pr ędkości roboczej w programie obróbki (dana nastawcza) Kod programu Komentarz /_N_DEF_DIR/_N_SGUD_DEF REDEF $SA_SPIND_MAX_VELO_LIMS PRLOC ; dana nastawcz a dla granicz-
nej pr ędko ści obrotowej M17
Kod programu /_N_MPF_DIR/_N_MY_MPF N10 SETMS(3) N20 G96 S100 LIMS=2500 ... M30
Niech graniczna prędkość obrotowa ustalona w danej nastawczej (SD43230 $SA_SPIND_MAX_VELO_LIMS) ograniczenie prędkości obrotowej będzie 1200 obr/min. PoniewaŜ w ustawionym i przetestowanym na gotowo programie obróbki moŜe zostać do-puszczona wyŜsza prędkość obrotowa, zostanie tutaj zaprogramowane LIMS=2500 . Po za-kończeniu programu działa jednak znów wartość zaprojektowana poprzez daną nastawczą.
Zarządzanie plikami i programami 2.5 Zmiana atrybutów elementów językowych NC (REDEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
218
Ustawienie nastawów ponownie na warto ści standardowe i skasowanie inicjalizacji
Nowa defini-cja
Atrybut Warto ści standardowe. cof-nięcie inicjalizacji
REDEF Element językowy NC APX=7
REDEF Dane maszynowe/nastawcze Cofnięcie APW=7 APR=7 PRLOC
REDEF Zmienna synchronizacyjna Cofnięcie APW=7 INIRE, INIPO,
INICF
REDEF GUD, LUD Cofnięcie INIRE, INIPO, INICF
Przykład: Kod programu Komentarz REDEF MASLON APX2 REDEF SYG RS INIRE APW3 REDEF R[ ] INIRE REDEF MASLON ; APX ustawione na 7. REDEF SYG RS ; APW ustawione na 7 a INIRE skasowan e. REDEF R[ ] ; INIRE skasowane.
Warunki brzegowe
● Zmiana atrybutów obiektów NC moŜe nastąpić dopiero po definicji obiektu. W szczegól-ności przy GUD naleŜy przez to zwracać uwagę na kolejność DEF .../REDEF . (Dane nastawcze/systemowe są tworzone implicite i jeszcze przed przetwarzaniem plików defi-nicji). Zawsze musi najpierw zostać zdefiniowany symbol (implicite z systemu albo przez instrukcję DEF) a dopiero następnie moŜna go zmienić przy pomocy REDEF.
● JeŜeli zostanie zaprogramowanych wiele konkurujących zmian atrybutów, wówczas jest zawsze aktywna ostatnia zmiana.
● Atrybuty tablic nie mogą być nastawiane dla poszczególnych elementów lecz zawsze tylko całej tablicy:
DEF CHAN INT _MYGUD[10,10] REDEF _MYGUD INIRE // ok REDEF _MYGUD[1,1] INIRE // niemo Ŝliwe, jest wyprowadzany alarm
// (warto ść tablicy)
Zarządzanie plikami i programami 2.5 Zmiana atrybutów elementów językowych NC (REDEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
219
● Nie ma wpływu na inicjalizację samych tablic GUD. DEF NCK INT _MYGUD[10] =(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) DEF NCK INT _MYGUD[100,100] = REP (12) DEF NCK INT _MYGUD[100,100] ;
● REDEF Instrukcje z parametrami R muszą być podawane w nawiasach.
REDEF R[ ]INIRE
● Atrybuty INI
NaleŜy przy tym jednak pamiętać, Ŝe przy ustawianiu atrybutów INI dla tych zmiennych musi być do dyspozycji odpowiednio duŜa pamięć dla wartości INIT, ustawiana poprzez MD18150 $MN_MM_GUD_VAL_MEM. W MD11270 $MN_DEFAULT_VALUES_MEM_MASK musi być ustawiony Bit1=1 (pamięć dla wartości inicjalizacyjnych aktywna). Zbyt mała pamięć ma za skutek alarm 12261 "Inicjalizacja niedozwolona"
● Parametry R i zmienne systemowe
Dla zmiennych R i zmiennych systemowych nie ma moŜliwości podania wartości domyśl-nej odbiegającej od wartości wkompilowanej. Cofnięcie do wartości wkompilowanej przy pomocy INIPO, INIRE albo INICF jest jednak moŜliwe.
● Dla typu danych FRAME globalnych danych u Ŝytkownika równieŜ nie moŜna podać wartości domyślnej odbiegającej od wartości wkompilowanej (jak juŜ przy definicji danej).
● GUD (DEF NCK INT_MYGUD)
Dla globalnych GUD (DEF NCK INT_MYGUD) jest dopuszczalny tylko atrybut INIPO.
Dla specyficznych dla kanału GUD (DEF CHAN INT_MYGUD) są przy odpowiednim wy-niku (RESET, BAG-RESET albo NewConfig) inicjalizowane tylko dane kaŜdorazowego kanału.
Przykład: Są zdefiniowane 2 kanały z GUD specyficznymi dla kanału, które mają być ini-cjalizowane przy RESET: DEF CHAN INT _MYGUD REDEF _MYGUD INIRE
Przy RESET w pierwszym kanale GUD dla tego kanału jest cofana, nie ma to wpływu na wartość w drugim kanale.
Zadanie warto ści domy ślnej
Gdy przez REDEF <nazwa> INIRE, INIPO; INICF; PRLOC jest zmieniane zachowanie się zmiennej systemowej albo GUD, musi być ustawiona dana maszynowa MD11270 $MN_ DEFAULT_VALUES_MEM_MASK = 1. (pamięć dla wartości inicjalizacyjnych aktywna). Je-Ŝeli tak nie jest, prowadzi to do alarmu 12261 "Inicjalizacja niedozwolona".
Zarządzanie plikami i programami 2.6 Instrukcja strukturyzacji w edytorze kroków (SEFORM)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
220
2.6 Instrukcja strukturyzacji w edytorze kroków (SE FORM)
Działanie
Instrukcja strukturyzacji SEFORM jest poddawana ewaluacji w edytorze kroków (bazujące na edytorze wspieranie programu), aby wygenerować z tego widok kroków dla HMI Advan-ced. Widok kroków słuŜy do lepszej czytelności podprogramu NC.
Składnia
SEFORM(<nazwa segmentu>,<płaszczyzna>,<ikona>)
Znaczenie
SEFORM() Wywołanie funkcji instrukcji strukturyzacji z parametrami <nazwa segmentu>, <płaszczyzna> i <ikona>
<nazwa segmen-tu>
Identyfikator kroku roboczego
<płaszczyzna> Indeks płaszczyzny głównej albo podpłaszczyzny
Typ: INT
Wartość: 0
1,..., <n>
Płaszczyzna główna
Podpłaszczyzna 1, ..., podpłaszczyzna <n>
<ikona> Nazwa ikony, która ma być wyświetlana dla tego segmentu.
Typ: STRING
Wskazówka
Instrukcje SEFORM są tworzone w edytorze kroków.
Łańcuch kroków przekazany parametrem <nazwa segmentu> jest zapisywany analogicz-nie do instrukcji MSG w zmiennej BTSS synchronicznie z przebiegiem głównym. Informacja pozostaje aŜ do zastąpienia następnej instrukcji SEFORM. Reset i koniec programu obróbki kasuje treść.
Parametry <płaszczyzna> i <ikona> są sprawdzane przez NCK przy wykonywaniu pro-gramu obróbki, ale nie są dalej przetwarzane.
Literatura Dalsze informacje dot. bazującego na edytorze wspierania programu patrz: Podręcznik ob-sługi HMI Advanced
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
221
Obszary ochrony 3
3.1 Ustalenie obszarów ochrony (CPROTDEF, NPROTDEF)
Działanie Przy pomocy obszarów ochrony moŜna chronić przed nieprawidłowymi ruchami róŜne ele-menty w maszynie, wyposaŜeniu jak teŜ obrabiany przedmiot. Obszary ochrony odniesione do narz ędzia : Dla części, które naleŜą do narzędzia (np. narzędzie, nośnik narzędzi). Obszary ochrony odniesione do obrabianego przedmiotu : Dla części, które naleŜą do obrabianego przedmiotu (np. części obrabianego przedmiotu, stół, łapy mocujące, uchwyt tokarski, konik).
Obszary ochrony 3.1 Ustalenie obszarów ochrony (CPRODEF, NPRODEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
222
Składnia DEF INT NOT_USED CPROTDEF(n,t,applim,applus,appminus) NPROTDEF(n,t,applim,applus,appminus) EXECUTE (NOT_USED)
Znaczenie
DEF INT NOT_USED
Zdefiniowanie zmiennej lokalnej, typu danych integer (por. punkt "Akcje synchroniczne ruchu")
CPROTDEF Definicja obszarów ochrony specyficznych dla kanału (tylko dla NCU 572/573)
NPROTDEF Definicja obszarów ochrony specyficznych dla maszyny
n Numer zdefiniowanego obszaru ochrony
t TRUE = obszar ochrony odniesiony do narzędzia
FALSE = obszar ochrony odniesiony do obrabianego przedmiotu
applim Rodzaj ograniczenia w 3. wymiarze 0 = nie ma ograniczenia 1 = ograniczenie w kierunku dodatnim 2 = ograniczenie w kierunku ujemnym 3 = ograniczenie w kierunku dodatnim i ujemnym
applus Wartość ograniczenia w kierunku dodatnim 3. wymiaru
appminus Wartość ograniczenia w kierunku ujemnym 3. wymiaru
NOT_USED Zmienna błędu nie działa w przypadku obszarów ochrony z EXECUTE
Opis Do definicji obszarów ochrony naleŜą: ● CPROTDEF dla obszarów ochrony specyficznych dla kanału ● NPROTDEF dla obszarów ochrony specyficznych dla maszyny ● Opis konturu obszaru ochrony ● Zakończenie definicji przy pomocy EXECUTE Przy uaktywnieniu obszaru ochrony w programie obróbki NC moŜecie relatywnie przesunąć jego punkt odniesienia.
Obszary ochrony 3.1. Ustalenie obszarów ochrony (CPRODEF, NPRODEF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
223
Punkt odniesienia opisu konturu
Obszary ochrony odniesione do obrabianego przedmiotu są definiowane w bazowym ukła-dzie współrzędnych. Obszary ochrony odniesione do narzędzia są podawane w odniesieniu do punktu odniesienia nośnika narzędzi F.
Opis konturu obszarów ochrony
Kontur obszarów ochrony jest podawany przy pomocy maksymalnie 11 ruchów postępo-wych w wybranej płaszczyźnie. Pierwszym ruchem jest przy tym ruch do konturu. Jako ob-szar ochrony obowiązuje przy tym obszar na lewo od konturu. Ruchy znajdujące się między CPROTDEF wzgl. NPROTDEF i EXECUTE nie są wykonywane, lecz definiują obszar ochrony.
Płaszczyzna robocza
PoŜądana płaszczyzna jest wybierana przed CPROTDEF wzgl. NPROTDEF przy pomocy G17, G18, G19 i nie wolno jej zmienić przed EXECUTE. Programowanie aplikat między CPROTDEF wzgl. NPROTDEF i EXECUTE jest niedopuszczalne.
Elementy konturu
Dopuszczalne są: ● G0, G1 dla prostych elementów konturu ● G2 dla elementów kołowych w kierunku ruchu wskazówek zegara (tylko dla obszarów
ochrony odniesionych do obrabianego przedmiotu) ● G3 dla elementów kołowych przeciwnie do ruchu wskazówek zegara
Wskazówka
JeŜeli pełny okrąg ma opisywać obszar ochrony, wówczas naleŜy podzielić go na 2 części.
Ciąg G2, G3 wzgl. G3, G2 jest niedopuszczalny. Tutaj naleŜy ew. wstawić krótki blok G1.
Ostatni punkt opisu konturu musi pokrywać się z pierwszym punktem.
Zewnętrzne obszary ochrony (moŜliwe tylko w przypadku obszarów ochrony odniesionych do obrabianego przedmiotu)) naleŜy definiować w kierunku ruchu wskazówek zegara. W przypadku obrotowo-symetrycznych obszarów ochrony (np. uchwyt tokarski) musicie opi-sać cały kontur (nie tylko do osi toczenia!). Obszary ochrony odniesione do narzędzia muszą być zawsze wypukłe. JeŜeli jest Ŝądany wklęsły obszar ochrony, naleŜy go podzielić na wiele obszarów wypukłych.
Obszary ochrony 3.2 Uaktywnienie/wyłączenie obszarów ochrony (CPROT, NPROT)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
224
Podczas definicji obszarów ochrony nie moŜe być aktywna ● korekcja promienia frezu albo ostrza, ● Ŝadna transformacja, ● Ŝaden frame. Nie moŜe być teŜ zaprogramowany ruch do punktu odniesienia (G74), ruch do punktu stałe-go (G75), zatrzymanie przebiegu wyprzedzającego albo koniec programu.
3.2 Uaktywnienie/wył ączenie obszarów ochrony (CPROT, NPROT)
Działanie Uaktywnienie wcześniej zdefiniowanych obszarów ochrony dla nadzoru na kolizję wzgl. wy-łączenie aktywności aktywnych obszarów ochrony. Maksymalna liczba obszarów ochrony równocześnie aktywnych w kanale jest ustalana po-przez daną maszynową. JeŜeli Ŝaden obszar ochrony odniesiony do narzędzia nie jest aktywny, wówczas tor ruchu narzędzia jest sprawdzany w stosunku do obszarów ochrony odniesionych do obrabianego przedmiotu.
Wskazówka
JeŜeli Ŝaden obszar ochrony odniesiony do obrabianego przedmiotu nie jest aktywny, nie następuje nadzór obszarów ochrony.
Obszary ochrony 3.2 Uaktywnienie/wyłączenie obszarów ochrony (CPROT, NPROT)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
225
Składnia CPROT (n,state,xMov,yMov,zMov)
NPROT (n,state,xMov,yMov,zMov)
Znaczenie
CPROT Wywołanie obszaru ochrony specyficznego dla kanału (tylko dla NCU 572/573)
NPROT Wywołanie obszaru ochrony specyficznego dla maszyny
n Numer obszaru ochrony
state Podanie statusu 0 = wyłączenie aktywności obszaru ochrony 1 = wstępne uaktywnienie obszaru ochrony 2 = uaktywnienie obszaru ochrony 3 = wstępne uaktywnienie obszaru ochrony z zatrzymaniem warunkowym
xMov,yMov,zMov Przesunięcie w osiach geometrycznych juŜ zdefiniowanego obszaru ochrony
Przykład: frezowanie
Dla frezarki ma być prowadzony nadzór na moŜliwą kolizję frezu z czujnikiem pomiarowym. PołoŜenie czujnika pomiarowego powinno przy uaktywnieniu zostać podane przez przesu-nięcie. Są w tym celu definiowane następujące obszary ochrony:
● KaŜdorazowo jeden specyficzny dla maszyny i odniesiony do obrabianego przedmiotu ob-szar ochrony dla uchwytu czujnika pomiarowego (n-SB1) i dla samego czujnika pomiarowe-go (n-SB2).
● KaŜdorazowo specyficzny dla kanału i odniesiony do narzędzia obszar ochrony dla uchwy-tu frezu (c-SB1), chwytu frezu (c-SB2) i dla samego frezu (c-SB3).
Wszystkie obszary ochrony są zorientowane w kierunku Z.
PołoŜenie punktu odniesienia czujnika pomiarowego przy uaktywnieniu niech wynosi X = –120, Y = 60 i Z = 80.
Obszary ochrony 3.2 Uaktywnienie/wyłączenie obszarów ochrony (CPROT, NPROT)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
226
Kod programu Komentarz DEF INT SCHUTZB ; Definicja zmiennej pomocniczej Definicja obszarów ochronyG17 ; Ustawienie orientac ji NPROTDEF(1,FALSE,3,10,–10)G01 X0 Y–10 ; Obszar ochr ony n–SB1 X40 Y10 X0 Y–10 EXECUTE(SCHUTZB) NPROTDEF(2,FALSE,3,5,–5) ; Obszar ochrony n–SB2 G01 X40 Y–5 X70 Y5 X40 Y–5 EXECUTE(SCHUTZB) CPROTDEF(1,TRUE,3,0,–100) ; Obszar ochrony c–SB1 G01 X–20 Y–20 X20 Y20 X–20 Y–20 EXECUTE(SCHUTZB)
Obszary ochrony 3.2 Uaktywnienie/wyłączenie obszarów ochrony (CPROT, NPROT)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
227
Kod programu Komentarz CPROTDEF(2,TRUE,3,–100,–150) ; Obszar ochrony c–SB2 G01 X0 Y–10 G03 X0 Y10 J10 X0 Y–10 J–10 EXECUTE(SCHUTZB) CPROTDEF(3,TRUE,3,–150,–170) ; Obszar ochrony c–SB3 G01 X0 Y–27,5 G03 X0 Y27,5 J27,5 X0 Y27,5 J–27,5 EXECUTE(SCHUTZB) Uaktywnienie obszarów ochrony: NPROT(1,2,–120,60,80) ; Uaktywnienie obsz. ochr. n -SB1 z
przes. NPROT(2,2,–120,60,80) ; Uaktywnienie obsz. ochr. n -SB2 z
przes. CPROT(1,2,0,0,0) ; Uaktywnienie obsz. ochr. c-SB1 z
przes. CPROT(2,2,0,0,0) ; Uaktywnienie obsz. ochr. c-SB2 z
przes. CPROT(3,2,0,0,0) ; Uaktywnienie obsz. ochr. c-SB3 z
przes.
Status uaktywnienia Obszar ochrony jest zazwyczaj uaktywniany w programie obróbki ze statusem = 2. Status jest zawsze specyficzny dla kanału, równieŜ w przypadku obszarów ochrony odnie-sionych do maszyny. Gdy program uŜytkownika PLC przewiduje, Ŝe obszar ochrony moŜe zostać skutecznie usta-wiony przez program uŜytkownika PLC, wówczas następuje wymagane w tym celu uaktyw-nienie wstępne przez status = 1. Wyłączenie aktywności a przez to wyłączenie obszarów ochrony następuje przez status = 0. Nie jest przy tym konieczne Ŝadne przesunięcie.
Przesuni ęcie obszarów ochrony przy (wst ępnym) uaktywnieniu
Przesunięcie moŜe nastąpić w 1, 2 albo 3 wymiarach. Podanie przesunięcia odnosi się do:
● punktu zerowego maszyny w przypadku obszarów ochrony specyficznych dla obrabianego przedmiotu,
● punktu odniesienia nośnika narzędzi F w przypadku obszarów ochrony specyficznych dla narzędzia.
Obszary ochrony 3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenia pola roboczego i ograniczeń softwareowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
228
Status po rozruchu
Obszary ochrony mogą być uaktywnione juŜ po załadowaniu programu i następnie przepro-wadzonym bazowaniu do punktu odniesienia. W tym celu musi być ustawiona zmienna sys-temowa $SN_PA_ACTIV_IMMED [n] wzgl. $SN_PA_ACTIV_IMMED[n] = TRUE .
Są one zawsze uaktywniane ze statusem = 2 i nie mają przesunięcia.
Wielokrotne uaktywnienie obszarów ochrony
Obszar ochrony moŜe działać równocześnie w wielu kanałach (np. tuleja wrzecionowa w przypadku dwóch naprzeciwległych sań). Nadzór obszarów ochrony następuje tylko wtedy, gdy nastąpiło bazowanie wszystkich osi geometrycznych do punktu odniesienia. Przy tym obowiązuje:
● Obszar ochrony nie da się uaktywnić w tym samym czasie wielokrotnie w jednym kanale z róŜnymi przesunięciami.
● Obszary ochrony odniesione do maszyny muszą w obydwu kanałach być tak samo zorien-towane.
3.3 Sprawdzenie na naruszenie obszaru ochrony, ogra niczenie pola roboczego i ograniczenia programowe
Działanie Funkcja CALCPOSI słuŜy do sprawdzenia, czy wychodząc od danego punktu startowego osie geometryczne mogą wykonać ruch po zadanej drodze, bez naruszenia granic osi (ogra-niczenia programowe), ograniczeń pola roboczego albo obszarów ochrony. W przypadku gdyby nie moŜna było przebyć zadanej drogi, jest zwracana maksymalna do-puszczalna wartość. Funkcja CALCPOSI jest predefiniowanym podprogramem. Musi ona znajdować się w oddzielnym bloku.
Składnia
Status=CALCPOSI(_STARTPOS, _MOVDIST, _DLIMIT, _MAXD IST, _BASE_SYS, _TESTLIM)
Obszary ochrony 3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenia pola roboczego i ograniczeń
softwareowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
229
Znaczenie
Status 0: Funkcja o.k.,
moŜe nastąpić kompletne przejście po zadanej drodze.
–: W _DLIMIT przynajmniej jedna składowa jest ujemna –: W obliczeniu transformacji wystąpił błąd
JeŜeli nie moŜna całkowicie przebyć zadanej drogi, jest zwracana do-datnia, dziesiętnie kodowana wartość:
Miejsce jednostek (rodzaj naruszonej granicy):
1: Ograniczenia programowe ograniczają drogę ruchu. 2: Ograniczenie pola roboczego narusza drogę ruchu 3: Obszary ochrony ograniczają drogę ruchu
JeŜeli jednocześnie jest naruszonych wiele granic (np. ograniczenia programowe i obszary ochrony), jest w miejscu jednostek sygnalizo-wana granica, która prowadzi do największego ograniczenia zadanej drogi ruchu.
Miejsce dziesi ątek
10:
Wartość początkowa narusza granicę
20:
Zadana prosta narusza granicę. Ta wartość jest równieŜ wtedy zwra-cana, gdy sama wartość końcowa nie narusza granicy, w drodze od punktu startowego do punktu końcowego wystąpiłoby jednak narusze-nie wartości granicznej (np. przejście przez obszar ochrony, zakrzy-wione ograniczenia programowe w WKS w przypadku transformacji nieliniowych, np. Transmit).
Miejsce setek
100:
Dodatnia wartość graniczna jest naruszona (tylko wtedy, gdy w miejscu jednostek jest 1 albo 2, tzn. w przypadku ograniczeń softwareowych i ograniczenia pola roboczego)
100:
Jest naruszony obszar ochrony specyficzny dla NCK (tylko wtedy, gdy w miejscu jednostek jest 3).
200:
Ujemna wartość graniczna jest naruszona (tylko wtedy, gdy w miejscu jednostek jest 1 albo 2, tzn. w przypadku ograniczeń softwareowych i ograniczenia pola roboczego).
200:
Jest naruszony obszar ochrony specyficzny dla kanału (tylko wtedy, gdy w miejscu jednostek jest 3).
Obszary ochrony 3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenia pola roboczego i ograniczeń softwareowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
230
Miejsce tysi ęcy
1000:
Liczenie osi rozpoczyna się od 1 i przy naruszonym ogranicze-niu programowym (miejsce jednostek = 1) odnosi się do osi maszyny a przy naruszonym ograniczeniu pola roboczego (miejsce jednostek = 2) - do osi geometrycznych.
Liczenie osi rozpoczyna się od 1 i odnosi się przy naruszonych limitach softwareowych (miejsce jednostek = 1) do osi maszyny a przy naruszonym ograniczeniu pola roboczego (miejsce jed-nostek = 2) do osi geometrycznych.
1000:
Współczynnik, przez który jest mnoŜony numer naruszonego obszaru ochrony (tylko wtedy, gdy w miejscu jednostek jest 3).
Gdy jest naruszonych wiele obszarów ochrony, jest w miejscu setek i tysięcy sygnalizowany obszar ochrony, który prowadzi do największego ograniczenia zadanej drogi ruchu.
_STARTPOS Wartość początkowa dla odciętej [0], rzędnej [1] i aplikaty [2] w (WKS)
_MOVEDIST Zadanie drogi przyrostowo dla odciętej [0], rzędnej [1] i aplikaty [2]
_DLIMIT [0] - [2]: Odstępy minimalne, które są przyporządkowane osiom geometrycznym.
[3]: Odstęp minimalny, który jest przyporządkowywany liniowej osi maszyny w przypadku transformacji osiowej, gdy nie moŜna jednoznacznie przyporządkować Ŝadnej osi geometrycznej.
[4]: Odstęp minimalny, który jest przyporządkowywany obroto-wej osi maszyny w przypadku transformacji nieliniowej, gdy nie moŜna jednoznacznie przyporządkować Ŝadnej osi geometrycz-nej. Tylko w przypadku transformacji specjalnych, gdy mają być nadzorowane ograniczenia programowe.
_MAXDIST Tablica [0] - [2] dla wartości zwracanej. Droga przyrostowa we wszystkich trzech osiach geometrycznych, bez zejścia poniŜej zadanego odstępu minimalnego od granicy osi w uczestniczą-cych osiach maszyny.
JeŜeli droga ruchu nie jest ograniczona, treść tego parametru zwracanego jest równa treści _MOVDIST.
Obszary ochrony 3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenia pola roboczego i ograniczeń
softwareowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
231
_BASE_SYS FALSE: albo parametr nie podany: Przy ocenie danych dot. pozycji i długości następuje ewaluacja G-Code grupy 13 (G70, G71, G700, G710; calowo/metrycznie). Przy aktywnym G70 i metrycznym systemie podstawowym (wzgl. aktyw-nym G71 i calowym) zmienne systemowe WKS $AA_IW[X] i $AA_MW[X]) są dawane w systemie podstawowym i w celu zasto-sowania przez funkcję CALCPOSI muszą zostać przeliczone. TRUE: Przy ewaluacji danych dot. pozycji i długości jest stale stosowany system podstawowy sterowania niezaleŜnie od wartości aktywnej grupy G 13.
_TESTLIM Ograniczenia do sprawdzenia (kodowane binarnie): 1: nadzór ograniczeń softwareowych 2: nadzór ograniczeń pola roboczego 3: nadzór uaktywnionych obszarów ochrony 4: nadzór wstępnie uaktywnionych obszarów ochrony
Kombinacje przez dodawanie wartości. Domyślnie: 15; sprawdź wszystkie.
Przykład Na przykładzie (obraz) są na płaszczyźnie X-Y narysowane ograniczenia programowe i ograniczenia pola roboczego. Dodatkowo są zdefiniowane trzy obszary ochrony, obydwa specyficzne dla kanału obszary ochrony C2 i C4 jak teŜ specyficzny dla NCK obszar ochrony N3. C2 jest kołowym, aktywnym, odniesionym do narzędzia obszarem ochrony o promieniu 2 mm. C4 jest kwadratowym, preaktywowanym i odniesionym do obrabianego przedmiotu ob-szarem ochrony o długości boku a N3 jest prostokątnym aktywnym obszarem ochrony o dłu-gości boku 10 mm wzgl. 15 mm. PoniŜej zostaną najpierw zdefiniowane obszary ochrony i ograniczenia pola roboczego jak naszkicowano a następnie będzie wywoływana funkcja CALCPOSI z róŜnymi parametryzowaniami. Wyniki poszczególnych wywołań CALCPOSI są zestawione w tablicy na końcu przykładu.
Obszary ochrony 3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenia pola roboczego i ograniczeń softwareowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
232
Kod programu Komentarz N10 def real _STARTPOS[3] N20 def real _MOVDIST[3] N30 def real _DLIMIT[5] N40 def real _MAXDIST[3] N50 def int _SB N60 def int _STATUS N70 cprotdef(2, true, 0) ; Obszar ochrony odniesio ny do narz ę-
dzia N80 g17 g1 x–y0 N90 g3 i2 x2 N100 i–x– N110 execute(_SB) N120 cprotdef(4, false, 0) ; Obszar ochrony odnies iony do obra-
bianego przedmiotu N130 g17 g1 x0 y15 N140 x10 N150 y25 N160 x0 N170 y15 N180 execute(_SB)
Obszary ochrony 3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenia pola roboczego i ograniczeń
softwareowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
233
Kod programu Komentarz N190 nprotdef(3, false, 0) ; Obszar ochrony odniesi ony do maszyny N200 g17 g1 x10 y5 N210 x25 N220 y15 N230 x10 N240 y5 N250 execute(_SB) N260 cprot(2,2,0, 0, 0) ; Uaktywnienie wzgl. uaktyw nienie wst ępne
obszarów ochrony N270 cprot(4,1,0, 0, 0) N280 nprot(3,2,0, 0, 0) N290 g25 XX=–YY=– ; Zdefiniowanie ogranicze ń pola roboczego N300 g26 xx= 20 yy= 21 N310 _STARTPOS[0] = 0. N320 _STARTPOS[1] = 0. N330 _STARTPOS[2] = 0. N340 _MOVDIST[0] = 35. N350 _MOVDIST[1] = 20. N360 _MOVDIST[2] = 0. N370 _DLIMIT[0] = 0. N380 _DLIMIT[1] = 0. N390 _DLIMIT[2] = 0. N400 _DLIMIT[3] = 0. N410 _DLIMIT[4] = 0. ; Ró Ŝne wywołania funkcji ; Inny punkt startowy N420 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT , _MAXDIST) N430 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT , _MAXDIST,,3) N440 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT , _MAXDIST,,1) N450 _STARTPOS[0] = 5. ; Inny cel N460 _STARTPOS[1] = 17. N470 _STARTPOS[2] = 0. N480 _MOVDIST[0] = 0. N490 _MOVDIST[1] =–. N500 _MOVDIST[2] = 0.
Obszary ochrony 3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenia pola roboczego i ograniczeń softwareowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
234
Kod programu Komentarz ; Ró Ŝne wywołania funkcji N510 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT , _MAXDIST,,14) N520 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT , _MAXDIST,, 6) N530 _DLIMIT[1] = 2. N540 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT , _MAXDIST,, 6) N550 _STARTPOS[0] = 27. N560 _STARTPOS[1] = 17.1 N570 _STARTPOS[2] = 0. N580 _MOVDIST[0] =–. N590 _MOVDIST[1] = 0. N600 _MOVDIST[2] = 0. N610 _DLIMIT[3] = 2. N620 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT , _MAXDIST,, 12) N630 _STARTPOS[0] = 0. N640 _STARTPOS[1] = 0. N650 _STARTPOS[2] = 0. N660 _MOVDIST[0] = 0. N670 _MOVDIST[1] = 30. N680 _MOVDIST[2] = 0. N690 trans x10 N700 arot z45 N710 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT , _MAXDIST) N720 M30
Obszary ochrony 3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenia pola roboczego i ograniczeń
softwareowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
235
Wyniki sprawdzenia w przykładzie
Nr bloku
_STATUS _MAXDIST
[0] (= X)
_MAXDIST
[1] (= Y)
Uwagi
420 3123 8.040 4.594 Jest naruszony obszar ochrony SB N3.
430 1122 20.000 11.429 Brak nadzoru obszaru ochrony, jest naruszo-ne ograniczenie pola roboczego
440 1121 30.000 17.143 Jest aktywny juŜ tylko nadzór ograniczeń softwareowych
510 4213 0.000 0.000 Punkt startowy narusza obszar ochrony C4
520 0000 0.000 –.000 Wstępnie uaktywniony obszar ochrony C4 nie jest nadzorowany. Zadaną drogę moŜna cał-kowicie przebyć.
540 2222 0.000 –.000 Z powodu _DLIMIT[1]=2 droga ruchu jest ograniczona przez ograniczenie pola robo-czego.
620 4223 –.000 0.000 Odstęp od C4 z powodu C2 i _DLIMIT[3] razem 4 mm. Odstęp C2 - N3 wynoszący 0.1 mm nie prowadzi do ograniczenia drogi ruchu.
710 1221 0.000 21.213 Aktywny frame z przesunięciem i obrotem. Dopuszczalna droga ruchu w _MOVDIST obowiązuje w przesuniętym i obróconym układzie współrzędnych (WKS).
Przypadki specjalne i dalsze szczegóły
Wszystkie drogi są zawsze podawane w promieniu, równieŜ w przypadku osi poprzecznej z aktywnym G-Code "DIAMON". JeŜeli droga w jednej z uczestniczących osi nie moŜe zo-stać całkowicie przebyta, są w zwracanej wartości _MAXDIST odpowiednio redukowane równieŜ drogi w innych osiach, tak Ŝe wynikający punkt końcowy leŜy na zadanym torze.
Jest dopuszczalny brak zdefiniowania ograniczeń softwareowych wzgl. ograniczeń pola ro-boczego albo obszarów ochrony dla jednej lub wielu uczestniczących osi. Wszystkie granice są nadzorowane tylko wtedy, gdy uczestniczące osie są zbazowane. Ewentualnie uczestni-czące osie obrotowe są nadzorowane tylko wtedy, gdy nie są osiami modulo.
Obszary ochrony 3.3 Sprawdzenie na naruszenie obszaru ochrony, ograniczenia pola roboczego i ograniczeń softwareowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
236
Nadzór ograniczeń softwareowych i ograniczeń pola roboczego jest jak przy normalnym wy-konywaniu ruchów zaleŜny od aktywnych ustawień (sygnały interfejsowe do wyboru ograni-czeń softwareowych 1 wzgl. ograniczeń softwareowych 2, GWALIMON/WALIMOF, danych nastawczych do indywidualnego uaktywniania ograniczeń pola roboczego i do ustalenia, czy przy nadzorze ograniczeń pola roboczego promień aktywnego narzędzia ma zostać uwzględniony czy nie).
W przypadku określonych transformacji kinematycznych (np. TRANSMIT) nie moŜna jedno-znacznie określić pozycji osi maszyny z pozycji w układzie współrzędnych obrabianego przedmiotu (WKS) (wieloznaczność). Przy normalnym wykonywaniu ruchu postępowego jednoznaczność wynika z reguły z poprzedzającej historii i warunku, Ŝe ciągłemu ruchowi w WKS musi odpowiadać ciągły ruch osi maszyny. Przy nadzorze ograniczeń software-owych przy pomocy funkcji CALCPOSI jest dlatego w tego rodzaju przypadkach uŜywana aktualna pozycja maszyny do rozwiązywania wieloznaczności. Ewentualnie musi dlatego przed CALCPOSI zostać zaprogramowane STOPRE, aby móc wyposaŜyć funkcję w obo-wiązujące pozycje osi maszyny.
Nie jest zagwarantowane, Ŝe przy ruchu po zadanej drodze wszędzie zostanie dotrzymany wyspecyfikowany w _DLIMIT[3] odstęp od obszarów ochrony . Za to przy przedłuŜeniu o tą odległość punktu końcowego zwracanego w _MOVDIST nie moŜe zostać naruszony Ŝaden obszar ochrony. Prosta moŜe jednak przechodzić dowolnie blisko obszaru ochrony.
Wskazówka
Szczegóły dot. ograniczeń pola roboczego znajdziecie w
/PG/ Podręcznik programowania Podstawy,
dotyczące ograniczeń softwareowych w
/FB1/ Podręcznik działania Funkcje podstawowe; Ruchy w osiach, obszary ochrony (A3).
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
237
Specjalne polecenia dot. drogi 4
4.1 Ruch do pozycji kodowanych (CAC, CIC, CDC, CACP , CACN)
Działanie
Poprzez poniŜsze polecenia moŜecie wykonywać ruchy w osiach liniowych i obrotowych do stałych pozycji w osach zapisanych w tablicach danych maszynowych. Ten rodzaj progra-mowania jest określany jako "ruchy do pozycji kodowanych".
Składnia CAC(<n>) CIC(<n>) CACP(<n>) CACN(<n>)
Znaczenie
CAC(<n>) Ruch do pozycji kodowanej o numerze n
CIC(<n>) Ruch do pozycji kodowanej, wychodząc od aktualnego numeru pozycji, o n miejsc do przodu (+n) albo do tyłu (-n)
CDC(<n>) Ruch do pozycji kodowanej o numerze n po najkrótszej drodze (tylko dla osi obrotowych)
CACP(<n>) Ruch do pozycji kodowanej o numerze n w kierunku dodatnim (tylko dla osi obrotowych)
CACN(<n>) Ruch do pozycji kodowanej o numerze n w kierunku ujemnym (tylko dla osi obrotowych)
<n> Numer pozycji w ramach tablicy danych maszynowych
Zakres wartości: 0, 1, ... (max liczba miejsc w tablicy - 1)
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
238
Przykład: ruch do pozycji kodowanych osi pozycjonow ania
Kod programu Komentarz N10 FA[B]=300 ; Posuw dla osi pozycjonowania B N20 POS[B]=CAC(10) ; Ruch do pozycji kodowanej o n umerze 10 N30 POS[B]=CIC(-4) ; Ruch do pozycji kodowanej -4 od "aktualnej
pozycji"
Literatura ● Podręcznik działania, Funkcje rozszerzające; Osie podziałowe (T1) ● Podręcznik działania Akcje synchroniczne
4.2 Interpolacja spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)
Działanie
Dowolnie zakrzywione kontury na obrabianych przedmiotach nie mogą zostać dokładnie opi-sane analitycznie. Tego rodzaju kontury są dlatego przybliŜane przez ograniczoną liczbę punktów oparcia, np. przy dygitalizacji powierzchni. W celu utworzenia powierzchni dygitali-zowanej na obrabianym przedmiocie punkty oparcia muszą zostać połączone w opis kontu-ru. UmoŜliwia to interpolacja Spline. Spline definiuje krzywą, która składa się z wielomianów 2. albo 3. stopnia. Właściwości w punktach oparcia spline są zaleŜne od zastosowanego typu spline.
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT,
ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
239
P1
P2 P3
P4
P5 P6
P1 do P6: zadane współrzędne
W przypadku SINUMERIK solution line są do dyspozycji następujące typy spline ● A-Spline ● B-Spline ● C-Spline
Składnia
Ogólnie:
ASPLINE X... Y... Z... A... B... C... BSPLINE X... Y... Z... A... B... C... CSPLINE X... Y... Z... A... B... C...
Dodatkowo programowane w przypadku B-Spline:
PW=<n> SD=2 PL=<warto ść>
Dodatkowo programowane w przypadku A-Spline i C-Spline:
BAUTO / BNAT / BTAN EAUTO / ENAT / ETAN
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
240
Znaczenie
Typ interpolacji spline: ASPLINE Polecenie do włączenia interpolacji A-Spline BSPLINE Polecenie do włączenia interpolacji B-Spline CSPLINE Polecenie do włączenia interpolacji C-Spline Polecenia ASPLINE, BSPLINE i CSPLINE działają modalnie i naleŜą
do grupy poleceń drogowych
Punkty oparcia wzgl. punkty kontrolne:
X... Y... Z... Pozycje we współrzędnych kartezjańskich A... B... C...
Waga punktu (tylko B-Spline):
PW Przy pomocy polecenia PW jest dla kaŜdego punktu oparcia moŜliwe zaprogramowanie tak zwanej "wagi punktu".
<n> "Waga punktu" Zakres wartości: Wielkość przyrostów: Działanie:
0 ≤ n ≤ 3 0.0001 n > 1
Krzywa jest silniej przyciągana przez punkt kontrolny.
n < 1 Krzywa jest mniej silnie przy-
ciągana przez punkt kontrolny. Spline-Grad (nur B-Spline):
SD Standardowo jest stosowany wielokąt 3. stopnia. Przez zaprogramo-wanie SD=2 moŜna jednak uŜyć równieŜ wielokąta 2. stopnia.
Odst ęp węzłów (tylko B-Spline):
PL Odstępy węzłów są wewnętrznie odpowiednio obliczane. Sterowanie moŜe jednak realizować równieŜ zadane odstępy węzłów, które przy pomocy polecenia PL są podawane jako tzw. parametry-przedział-długość.
<Warto ść> Parametr-przedział-długość Zakres wartości: jak miara drogi
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT,
ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
241
Zachowanie si ę na przej ściu na pocz ątku krzywej spline (tylko A-Spline albo C-Spline): BAUTO Brak zadania zachowania się na przejściu. Początek wynika z poło-
Ŝenia pierwszego punktu. BNAT Zakrzywienie zero BTAN Przejście styczne do poprzedniego bloku (pozycja kasowania)
Zachowanie si ę na przej ściu na ko ńcu krzywej spline (tylko A-Spline albo C-Spline): EAUTO Brak zadania zachowania się na przejściu. Koniec wynika z połoŜe-
nia ostatniego punktu. ENAT Zakrzywienie zero ETAN Przejście styczne do poprzedniego bloku (pozycja kasowania)
BAUTO
EAUTO
BNAT
BTAN ETAN
ENAT
Przejściestyczne
Zakrzywienie zero
Bez zadanego punktu
Wskazówka
Programowane zachowanie się na przejściu nie ma wpływu na B-Spline. B-Spline jest w punkcie startowym i końcowym zawsze styczny do wielokąta kontrolnego.
Warunki brzegowe ● Korekcję promienia narzędzia moŜna stosować. ● Nadzór na kolizję następuje w rzucie na płaszczyznę.
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
242
Przykłady
Przykład 1: B-Spline
Kod programu 1 (wszystkie wagi 1) N10 G1 X0 Y0 F300 G64 N20 BSPLINE N30 X10 Y20 N40 X20 Y40 N50 X30 Y30 N60 X40 Y45 N70 X50 Y0 Kod programu 2 (ró Ŝne wagi) N10 G1 X0 Y0 F300 G64 N20 BSPLINE N30 X10 Y20 PW=2 N40 X20 Y40 N50 X30 Y30 PW=0.5 N60 X40 Y45 N70 X50 Y0
Kod programu Komentarz N10 G1 X0 Y0 F300 G64 N20 ; Odpada N30 X10 Y20 N40 X20 Y40 N50 X30 Y30 N60 X40 Y45 N70 X50 Y0
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT,
ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
243
Przykład 2: C-Spline, na pocz ątku i na ko ńcu zakrzywienia zero
Kod programu N10 G1 X0 Y0 F300 N15 X10 N20 BNAT ENAT N30 CSPLINE X20 Y10 N40 X30 N50 X40 Y5 N60 X50 Y15 N70 X55 Y7 N80 X60 Y20 N90 X65 Y20 N100 X70 Y0 N110 X80 Y10 N120 X90 Y0 N130 M30
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
244
Przykład 3: Interpolacja spline (A-Spline) i transf ormacja współrz ędnych (ROT)
Program główny:
Kod programu Komentarz N10 G00 X20 Y18 F300 G64 ; Ruch do punktu startoweg o. N20 ASPLINE ; Uaktywnienie typu interpolacji A-
Spline. N30 KONTUR ; Pierwsze wywołanie podprogramu. N40 ROT Z-45 ; Transformacja współrz ędnych: obrót WKS
o -45° wokół osi Z. N50 G00 X20 Y18 ; Ruch do punktu pocz ątkowego konturu. N60 KONTUR ; Drugie wywołanie podprogramu. N70 M30 ; Koniec programu
Podprogram "Kontur" (zawiera współrzędne punktu oparcia):
Kod programu N10 X20 Y18 N20 X10 Y21 N30 X6 Y31 N40 X18 Y31 N50 X13 Y43 N60 X22 Y42 N70 X16 Y58 N80 X33 Y51 N90 M1
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT,
ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
245
Na poniŜszym rysunku są oprócz krzywej spline, która wynika z przykładu programu (ASPLINE), zawarte równieŜ krzywe spline, które wynikły by przy uaktywnieniu interpolacji B-Spline albo C-Spline (BSPLINE, CSPLINE):
Dalsze informacje
Zalety interpolacji spline
Przez zastosowanie interpolacji spline moŜna, w przeciwieństwie do zastosowania bloków prostoliniowych G01, uzyskać następujące zalety:
● Zmniejszenie liczby potrzebnych bloków programu obróbki do opisania konturu ● Miękki, oszczędzający mechanikę, przebieg krzywej przy przejściach między blokami
programu obróbki
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
246
Właściwo ści i zastosowanie ró Ŝnych typów spline
Typ spline Właściwo ści i zastosowanie
A-Spline
P1
P2
P3
P4P6 P7
P5
A-spline (akima-spline)
P1 do P7: zadane współrzędne
Właściwo ści: • Przebiega ściśle przez zadane punkty oparcia. • Przebieg krzywej jest styczny ale nie o stałym zakrzywieniu. • Prawie nie wytwarza niechcianych wahań. • Obszar wpływu zmian punktów oparcia jest lokalny, tzn. zmiana punktu oparcia ma wpływ na max 6 sąsiednich punktów oparcia. Zastosowanie:
A-Spline nadaje się przede wszystkim do interpolacji przebiegów krzywych i duŜych zmianach nachylenia (np. przebiegi schodkowe).
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT,
ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
247
Typ spline Właściwo ści i zastosowanie
B-Spline
P1
P2
P3
P4P6 P7
P5
Wielobok kontrolny
B-spline
P1 do P7: zadane współrzędne
Właściwo ści: • Przebiega nie przez zadane punkty oparcia lecz tylko w ich pobliŜu. Krzywa
jest przyciągana przez punkty oparcia. Przez waŜenie punktów oparcia przez współczynnik moŜna dodatkowo wpływać na przebieg krzywej.
• Przebieg krzywej jest styczny i o stałym zakrzywieniu. • Nie wytwarza niechcianych drgań. • Obszar wpływu zmian punktów oparcia jest lokalny, tzn. zmiana punktu
oparcia ma wpływ na max 6 sąsiednich punktów oparcia. Zastosowanie: B-Spline pierwotnie pomyślano jako interfejs do systemów CAD.
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
248
Typ spline Właściwo ści i zastosowanie
C-Spline
P1
P2
P3
P4 P6P7
P5
C-spline (spline sześcienny)
P1 do P7: zadane współrzędne
Właściwo ści: • Przebiega ściśle przez zadane punkty oparcia. • Przebieg krzywej jest styczny i o stałym zakrzywieniu. • Wytwarza często niechciane drgania, w szczególności w miejscach o du-Ŝych zmianach nachylenia. • Zakres wpływu zmian punktów podparcia jest globalny, tzn. zmiana jednego punktu oparcia ma wpływ na cały przebieg krzywej. Zastosowanie: C-Spline moŜna tylko wtedy dobrze stosować, gdy punktu oparcia leŜą na analitycznie znanej krzywej (okrąg, parabola, hiperbola)
Specjalne polecenia dot. drogi 4.2 Interpolacja Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT,
ETAN, PW, SD, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
249
Porównanie trzech typów spline przy takich samych p unktach oparcia
Liczba minimalna bloków spline
G-Code ASPLINE, BSPLINE i CSPLINE łączą punkty końcowe bloków przy pomocy krzy-wej spline.
W tym celu musi w przebiegu wyprzedzającym być równocześnie obliczanych szereg blo-ków (punktów końcowych).
Wielkość bufora do obliczania wynosi standardowo 10 bloków. Nie kaŜda informacja zawar-ta w bloku jest punktem końcowym spline. Sterowanie potrzebuje jednak z 10 bloków okre-ślonej liczby bloków z punktem końcowym spline.
Typ spline Minimalna liczba bloków spline
A-Spline Z kaŜdych 10 bloków co najmniej 4 muszą być blokami spline.
Nie wlicza się do tego bloków komentarzowych i obliczeń parametrów.
B-Spline Z kaŜdych 10 bloków co najmniej 6 muszą być blokami spline.
Nie wlicza się do tego bloków komentarzowych i obliczeń parametrów.
C-Spline Potrzebna minimalna liczba bloków spline wynika z następującej sumy: wartość z MD20160 $MC_CUBIC_SPLINE_BLOCKS + 1 W MD20160 jest wpisywana liczba punktów, z których jest obliczany segment spline. Ustawienie standardowe wynosi 8. Z 10 bloków musi dlatego w przypadku standardowym być 9 bloków spline.
Specjalne polecenia dot. drogi 4.3 Zespół spline (SPLINEPATH)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
250
Wskazówka
Przy zejściu poniŜej tolerowalnej wartości jest wyprowadzany alarm, tak samo gdy oś uczestnicząca w spline zostanie zaprogramowana jako oś pozycjonowania.
Połączenie krótkich bloków Spline
W przypadku interpolacji spline mogą powstawać krótkie bloki spline, które prowadzą do niepotrzebnego zmniejszenia prędkości ruchu po torze. Przy pomocy funkcji "podsumowanie krótkich bloków spline" bloki te mogą zostać tak połączone, by wynikowa długość bloku była wystarczająco duŜa i nie prowadziła do zmniejszenia prędkości ruchu po torze.
Funkcja jest uaktywniana poprzez daną maszynową specyficzną dla kanału:
MD20488 $MC_SPLINE_MODE (ustawienie interpolacji spline)
Literatura:
Podręcznik działania Funkcje podstawowe, Przechodzenie płynne, Zatrzymanie dokładne, LookAhead (B1),
Punkt: Połączenie krótkich bloków spline
4.3 Zespół spline (SPLINEPATH)
Działanie Osie, które mają interpolować w zespole spline, są wybierane poleceniem SPLINEPATH. Przy interpolacji spline jest moŜliwych do ośmiu osi uczestniczących w tworzeniu konturu.
Wskazówka
JeŜeli SPLINEPATH nie zostanie explicite zaprogramowane, wówczas jako zespół spline wykonują ruch pierwsze trzy osie kanału.
Składnia Ustalenie zespołu spline następuje w oddzielnym bloku:
SPLINEPATH(n,X,Y,Z,…)
Specjalne polecenia dot. drogi 4.3 Zespół spline (SPLINEPATH)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
251
Znaczenie SPLINEPATH Polecenie do ustalenia zespołu spline n =1 (wartość stała)
X,Y,Z,… Identyfikatory osi, które mają interpolować w zespole spline
Przykład: zespół spline z trzema osiami uczestnicz ącymi w tworzeniu konturu
Kod programu Komentarz N10 G1 X10 Y20 Z30 A40 B50 F350 N11 SPLINEPATH(1,X,Y,Z) ; Zespół spline N13 CSPLINE BAUTO EAUTO X20 Y30 Z40 A50 B60 ; C-Spl ine N14 X30 Y40 Z50 A60 B70 ; Punktu oparcia … N100 G1 X… Y… ; Cofni ęcie wyboru interpolacji spline
Specjalne polecenia dot. drogi 4.4 Kompresja bloku NC (COMPON, COMPCURV, COMPCAD, COMPOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
252
4.4 Kompresja bloku NC (COMPON, COMPCURV, COMPCAD, COMPOF)
Działanie
Systemy CAD/CAM dają z reguły bloki liniowe, które dotrzymują sparametryzowanej dokład-ności. W przypadku skomplikowanych konturów prowadzi to do znacznej ilości danych i do ewentualnie krótkich odcinków torów. Te krótkie odcinki ograniczają prędkość wykonywania.
Przez zastosowanie funkcji kompresora następuje przybliŜenie do konturu zadanego przez bloki liniowe przez uŜycie bloków wielomianowych. Wynikają z tego następujące zalety:
● Zmniejszenie liczby bloków programu obróbki potrzebnych do opisania konturu obrabiane-go przedmiotu
● Stałe przejścia między blokami
● Zwiększenie maksymalnie moŜliwych prędkości ruchu po torze
Są do dyspozycji następujące funkcje kompresora:
● COMPON
Przejścia między blokami są stałe tylko pod względem prędkości, podczas gdy przyspie-szenie uczestniczących osi moŜe na przejściach między blokami wykonywać skoki.
● COMPCURV
Przejścia między blokami mają stałe przyspieszenie. Przez to jest zagwarantowany gładki przebieg zarówno prędkości jak i przyspieszenia wszystkich osi na przejściach między blokami.
● COMPCAD
Kompresja wymagająca długiego czasu obliczania i duŜego miejsca w pamięci, zoptyma-lizowana pod względem jakości pamięci i prędkości. COMPCAD naleŜy stosować tylko wtedy, gdy środków do polepszenia powierzchni nie moŜna z góry uŜyć z programu CAD/CAM.
Funkcja kompresora ulega zakończeniu przy pomocy COMPOF.
Składnia COMPON COMPCURV COMPCAD COMPOF
Specjalne polecenia dot. drogi 4.4 Kompresja bloku NC (COMPON, COMPCURV, COMPCAD, COMPOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
253
COMPON Polecenie do włączenia funkcji kompresora COMPON.
Działanie: modalnie
COMPCURV Polecenie do włączenia funkcji kompresora COMPCURV.
Działanie: modalnie
COMPCAD Polecenie do włączenia funkcji kompresora COMPCAD.
Działanie: modalnie
COMPOF Polecenie do wyłączenia aktualnie aktywnej funkcji kompresora.
Wskazówka
W celu dodatkowego polepszenia jakości powierzchni moŜna uŜyć funkcji ścinania naroŜni-ków G642 i ograniczenia przyspieszenia drugiego stopnia SOFT. Te polecenia naleŜy pisać na początku programu.
Warunki brzegowe
● Kompresja bloków NC jest przeprowadzana tylko dla bloków liniowych (G1).
● Są kompresowane tylko bloki, które spełniają wymóg prostej składni:
N... G1X... Y... Z... F... ; Komentarz
Wszystkie inne bloki są wykonywane bez zmian (bez kompresji).
● Bloki ruchu z adresami rozszerzonymi jak C=100 albo A=AC(100) są równieŜ kompreso-wane.
● Wartości pozycji nie muszą być bezpośrednio programowane, lecz mogą być podawane równieŜ pośrednio poprzez przyporządkowania parametrów, np. X=R1*(R2+R3).
● Gdy jest do dyspozycji opcja "transformacja orientacji", wówczas mogą być kompresowa-ne równieŜ bloki NC, w których jest zaprogramowana orientacja narzędzia (i ew. równieŜ obrót narzędzia) przy pomocy wektorów kierunkowych (patrz "Kompresja orientacji (strona 369) ").
● Proces kompresji jest przerywany przez kaŜdą inną instrukcję NC, np. wyprowadzenie funkcji pomocniczej.
Specjalne polecenia dot. drogi 4.4 Kompresja bloku NC (COMPON, COMPCURV, COMPCAD, COMPOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
254
Przykłady
Przykład 1: COMPON
Kod programu Komentarz N10 COMPON ; Funkcja kompresora COMPON wł.. N11 G1 X0.37 Y2.9 F600 ; G1 przed punkt ko ńcowy i posuw. N12 X16.87 Y–.698 N13 X16.865 Y–.72 N14 X16.91 Y–.799 … N1037 COMPOF ; Funkcja kompresora wył.. …
Przykład 2: COMPCAD
Kod programu Komentarz G00 X30 Y6 Z40 G1 F10000 G642 ; Funkcja ścinania naro Ŝników G642
wł. SOFT ; Ograniczenie przysp. drugiego stop-
nia SOFT wł.. COMPCAD ; Funkcja kompresora COMPCAD wł.. STOPFIFO N24050 Z32.499 N24051 X41.365 Z32.500 N24052 X43.115 Z32.497 N24053 X43.365 Z32.477 N24054 X43.556 Z32.449 N24055 X43.818 Z32.387 N24056 X44.076 Z32.300 … COMPOF ; Funkcja kompresora wył.. G00 Z50 M30
Literatura Podręcznik działania Funkcje podstawowe, Przechodzenie płynne, Zatrzymanie dokładne, LookAhead (B1), Punkt: "Kompresja bloków NC"
Specjalne polecenia dot. drogi
4.5 Interpolacja wielomianowa (POLY, POLYPATH, PO, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
255
4.5 Interpolacja wielomianowa (POLY, POLYPATH, PO, PL)
Działanie
W przypadku interpolacji wielomianowej (POLY) chodzi właściwie nie o rodzaj interpolacji spline. Jest ona w pierwszym rzędzie pomyślana jako interfejs do programowania zewnętrz-nie wytwarzanych krzywych spline. Przy tym odcinki spline mogą być programowane bezpo-średnio.
Ten rodzaj interpolacji odciąŜa NC od obliczania współczynników wielomianu. Daje się ona optymalnie stosować wtedy, gdy współczynniki przychodzą bezpośrednio od systemu CAD albo postprocesora.
Składnia Wielomian 3. stopnia: POLY PO[X]=(xe,a2,a3) PO[Y]=(ye,b2,b3) PO[Z]=(ze,c2 ,c3) PL=n
albo rozszerzenie na wielomiany 5. stopnia i nowa składnia wielomianu: POLY X=PO(xe,a2,a3,a4,a5) Y=PO(ye,b2,b3,b4,b5) Z=PO (ze,c2,c3,c4,c5) PL=n
POLYPATH("AXES","VECT")
Składnia
POLY Włączenie interpolacji wielomianowej przy pomocy bloku z POLY.
POLYPATH Interpolacja wielomianowa wybieralna dla obydwu grup osi AXIS albo VECT
PO[identyfikator osi/zmienna]
Punkty końcowe i współczynniki wielomianu
X, Y, Z Identyfikatory osi
xe, ye, ze Podanie pozycji końcowej dla kaŜdorazowej osi; zakres wartości jak miara drogi
a2, a3, a4, a5 Współczynniki a2, a3, a4, i a5 są pisane ze swoimi wartościami; zakres wartości jak miara drogi. KaŜdo-razowo ostatni współczynnik moŜna pominąć, gdy ma on wartość zero.
Obszary ochrony 4.5 Interpolacja wielomianowa (POLY, POLYPATH, PO, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
256
PL Długość przedziału parametru, na którym wielomiany są zdefiniowane (zakres definicji funkcji f(p)).
Przedział rozpoczyna się zawsze od 0, p moŜe przyj-mować wartości od 0 do PL.
Teoretyczny zakres wartości dla PL:
0,0001 … 99 999,9999
Wskazówka:
Wartość PL obowiązuje dla bloku, w którym się znajduje. Gdy PL nie zaprogramowano, działa PL=1.
Włączenie/wył ączenie POLY
Interpolacja wielomianowa znajduje się razem z G0, G1, G2, G3, A-spline, B-spline i C-spline w pierwszej grupie G. Gdy jest ona aktywna, nie jest wymagane programowanie składni wielomianowej: osie, które są programowane tylko przez swoją nazwę i punkt koń-cowy, wykonają ruch liniowy do punktu końcowego. Gdy wszystkie osie są tak zaprogramo-wane, sterowanie zachowuje się tak, jak w przypadku G1.
Interpolacja wielomianowa jest wyłączana przez inne polecenie z grupy G (np. G0, G1).
Współczynnik wielomianu
Wartość PO (PO[]=) wzgl. ...=PO(...) podaje wszystkie współczynniki wielomianu dla osi. Odpowiednio do stopnia wielomianu podaje się wiele wartości rozdzielonych przecin-kiem. W ramach jednego bloku są moŜliwe róŜne stopnie wielomianów dla róŜnych osi.
Nowa składnia wielomianu z PO: dotychczasowa składnia nadal jest poprawna.
Wywołanie podprogramu POLYPATH Przy pomocy POLYPATH moŜna podać interpolację wielomianową selektywnie dla następu-jących grup osi: ● POLYPATH("AXES")
Wszystkie osie uczestniczące w tworzeniu konturu i osie dodatkowe. ● POLYPATH("VECT") Osie orientacji (w przypadku transformacji orientacji)
Specjalne polecenia dot. drogi
4.5 Interpolacja wielomianowa (POLY, POLYPATH, PO, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
257
Standardowo dla obydwu grup osi zaprogramowane wielomiany są teŜ interpolowane jako wielomian.
Przykłady:
POLYPATH("VECT")
Dla interpolacji wielomianowej są wybierane tylko osie orientacji, wszystkie inne osie wyko-nują ruch liniowy.
POLYPATH( )
Wyłącza aktywność interpolacji wielomianowej dla wszystkich osi
Przykład
Kod programu Komentarz N10 G1 X… Y… Z… F600 N11 POLY PO[X]=(1,2.5,0.7) PO[Y]=(0.3,1,3.2) PL=1.5 ; Interpolacja wielomiano-
wa wł. N12 PO[X]=(0,2.5,1.7) PO[Y]=(2.3,1.7) PL=3 ... N20 M8 H126 … N25 X70 PO[Y]=(9.3,1,7.67) PL=5 ; Dane mieszane dl a osi N27 PO[X]=(10,2.5) PO[Y]=(2.3) ; PL nie zaprogramo wano, działa PL=1 N30 G1 X… Y… Z. ; Interpolacja wielomianowa wył. …
Przykład: obowi ązująca składnia wielomianowa z PO
Dotychczasowa składnia wielomiano-wa pozostaje poprawna
Nowa składnia wielomianowa (od w. opr. 6)
PO[identyfikator osi]=(.. , ..)
Identyfikator osi=PO(.. , ..)
PO[PHI]=(.. , ..) PHI=PO(.. , ..) PO[PSI]=(.. , ..) PSI=PO(.. , ..) PO[THT]=(.. , ..) THT=PO(.. , ..) PO[]=(.. , ..) PO(.. , ..) PO[zmienna]=IC(.. , ..) zmienna =PO IC(.. , ..)
Obszary ochrony 4.5 Interpolacja wielomianowa (POLY, POLYPATH, PO, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
258
Przykład: krzywa w płaszczy źnie X/Y
Kod programu Komentarz N9 X0 Y0 G90 F100 N10 POLY PO[Y]=(2) PO[X]=(4,0.25) PL=4
X
Y
0
1
1
2
2
3
3
4(PL)
1
2
3
4
4
Wynik w płaszczyźnie XY
Specjalne polecenia dot. drogi
4.5 Interpolacja wielomianowa (POLY, POLYPATH, PO, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
259
Opis
Sterowanie jest w stanie wykonywać ruchy po krzywych (torach), w przypadku których kaŜ-da wybrana oś uczestnicząca w tworzeniu konturu wykonuje ruch według funkcji wielomia-nowej max 5. stopnia.
Ogólna postać funkcji wielomianowej brzmi:
f(p)= a0 + a1p + a2p2
+ a3p3
albo
f(p)= a0 + a1p + a2p2 + a3p
3 + a4p
4 + a5p
5
Oznaczają przy tym:
an: stałe współczynniki
p: parametr
X
Y
0
1
1
2
2
3
3
4(PL)
1
2
3
4
4
Wynik w płaszczyźnie XY
Przez wyposaŜanie współczynników w konkretne wartości moŜna tworzyć najróŜniejsze przebiegi krzywych, jak funkcje prostoliniowe, paraboliczne, potęgowe. Przy podstawieniu współczynników a2 = a3 = 0 albo a2 = a3 = a4 = a5 = 0 uzyskuje się np. prostą z: f(p) = a0 + a1p Gdzie: a0 = pozycja osi na końcu poprzedzającego bloku p = PL a1 = (xE - a0 - a2*p
2 - a3*p
3) / p
Obszary ochrony 4.5 Interpolacja wielomianowa (POLY, POLYPATH, PO, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
260
Jest moŜliwe programowanie wielomianów, bez aktywności G-Code POLY. W tym przypadku jednak nie są interpolowane zaprogramowane wielomiany, lecz następuje liniowe dosunięcie do kaŜdorazowo zaprogramowanego punktu końcowego w kaŜdej osi (G1). Przez zaprogra-mowanie POLY jest następnie uaktywniana interpolacja wielomianowa. Dalej moŜna przy aktywnym G-Code POLY wybrać przy pomocy predefiniowanego podpro-gramu POLYPATH(...) , które osie mają być interpolowane z wielomianem.
Cecha szczególna wielomian mianownikowy
Dla osi geometrycznych moŜna przy pomocy PO[]=(…) bez podania nazwy osi zaprogra-mować równieŜ wspólny wielomian mianownikowy, tzn. ruch osi geometrycznych jest inter-polowany jako iloraz dwóch wielomianów. W ten sposób dają się dokładnie przedstawiać np. krzywe stoŜkowe (okrąg, elipsa, parabola, hiperbola).
Przykład:
Kod programu Komentarz POLY G90 X10 Y0 F100 ; Ruch liniowy osi geometrycz -
nych do pozycji X10 Y0. PO[X]=(0,–) PO[Y]=(10) PO[]=(2,1) ; Ruch w osiach geometrycznych
po ćwier ćokr ęgu do X0 Y10.
Stały współczynnik (a0) wielomianu mianownikowego jest zawsze przyjmowany jako 1, podany punkt końcowy jest niezaleŜny od G90/G91 .
Z powyŜszego przykładu powstaje następujący wynik:
X(p) = 10(1) / (1+p2) i
Y(p) = 20p / (1+p2)
gdzie 0 ≤ p ≤ 1
Z zaprogramowanych punktów początkowych, punktów końcowych, współczynnika a2 i PL=1 wynikają następujące wartości pośrednie:
Licznik (X) = 10+0*p-p2
Licznik (Y) = 0+20*p+0*p2
Mianownik = 1+2*p+1*p2
Specjalne polecenia dot. drogi
4.5 Interpolacja wielomianowa (POLY, POLYPATH, PO, PL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
261
Przy włączonej interpolacji wielomianowej zaprogramowanie wielomianu mianownikowego z miejscami zerowymi w ramach przedziału [0,PL] jest odrzucane z alarmem. Na ruch osi dodatkowych wielomian mianownikowy nie ma wpływu.
Wskazówka
Korekcja promienia narzędzia daje się przy interpolacji wielomianowej włączyć przy pomocy G41, G42 i stosować jak dla interpolacji prostoliniowej albo kołowej.
Obszary ochrony 4.6 Ustawiane odniesienie do toru (SPATH, UPATH)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
262
4.6 Ustawiane odniesienie do toru (SPATH, UPATH)
Działanie
Podczas interpolacji wielomianowej uŜytkownik moŜe Ŝyczyć sobie dwóch róŜnych zaleŜno-ści między określającymi prędkość osiami FGROUP i pozostałymi osiami uczestniczącymi w tworzeniu konturu: Te ostatnie powinny być prowadzone albo synchronicznie do drogi po torze osi FGROUP albo synchronicznie do parametru krzywej.
Dla osi nie zawartych FGROUP są dlatego dwie moŜliwości ruchu po torze:
● synchronicznie do drogi S (SPATH)
albo
● synchronicznie do parametru U krzywej osi FGROUP (UPATH)
Obydwa rodzaje interpolacji torowej są uŜywane w róŜnych aplikacjach i mogą być przełą-czane przez G-Code SPATH i UPATH.
Składnia SPATH UPATH
Znaczenie SPATH Odniesieniem toru dla osi FGROUP jest długość łuki UPATH Odniesieniem toru dla osi FGROUP jest parametr krzywej FGROUP Ustalenie osi z posuwem po torze
SPATH, UPATH
Poprzez jeden z obydwu G-Code (SPATH,UPATH) moŜna wybrać i zaprogramować poŜąda-ne zachowanie się. Polecenia działają modalnie. Przy aktywnym SPATH osie są prowadzone synchronicznie do drogi, przy aktywnym UPATH synchronicznie do parametru krzywej. UPATH i SPATH określają równieŜ współzaleŜność wielomianu słowa S (FPOLY, FCUB, FLIN ) z ruchem po torze.
Uaktywnienie FGROUP
Odniesienie toru dla osi nie zawartych w FGROUP jest ustawiane przez obydwa zawarte 45. grupie G-Code polecenia językowe SPATH i UPATH.
Specjalne polecenia dot. drogi 4.6 Ustawiane odniesienie do toru (SPATH, UPATH)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
263
Przykład 1
W poniŜszym przykładzie zostaną przy pomocy G643 ścięte naroŜniki kwadratu o długości krawędzi 20 mm. Maksymalne odchylenia od dokładnego konturu są przy tym ustalane przez dane maszyno-we MD33100 $MA_COMPRESS_POS_TOL[...] dla kaŜdej osi.
Kod programu Komentarz N10 G1 X… Y… Z… F500 N20 G643 ; Ścinanie wewn ętrzne w bloku mit G643 N30 XO Y0 N40 X20 Y0 ; mm długo ści kraw ędzi dla osi N50 X20 Y20 N60 X0 Y20 N70 X0 Y0 N100 M30
Przykład 2 PoniŜszy przykład programowania ilustruje róŜnicę między obydwoma rodzajami prowadze-nia ruchu. W kaŜdym przypadku jest aktywne ustawienie domyślne FGROUP(X,Y,Z).
Obszary ochrony 4.6 Ustawiane odniesienie do toru (SPATH, UPATH)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
264
Kod programu Komentarz N10 G1 X0 A0 F1000 SPATH N20 POLY PO[X]=(10,10) A10
Kod programu Komentarz N10 G1 X0 F1000 UPATH N20 POLY PO[X]=(10,10) A10
W bloku N20 droga S osi FGROUP zaleŜy od kwadratu parametru krzywej U. Dlatego wzdłuŜ drogi X wynikają róŜne pozycje osi synchronicznej A, w zaleŜności od tego, czy jest aktywne SPATH czy UPATH:
Warunki brzegowe
Ustawione odniesienie do toru nie ma znaczenia przy ● interpolacji liniowej i kołowej, ● w blokach gwintowania i ● wówczas, gdy wszystkie osie uczestniczące w tworzeniu konturu są zawarte w FGROUP.
Opis Podczas interpolacji wielomianowej - a przez nią rozumie się zawsze interpolację wielomia-nową ● w węŜszym rozumieniu (POLY), ● wszystkie rodzaje interpolacji spline (ASPLINE, BSPLINE, CSPLINE) i ● interpolację wielomianową z kompresorem (COMPON, COMPCURV), - pozycje wszystkich osi uczestniczących w tworzeniu konturu i są zadane przez wielomiany pi(U). Parametr krzywej U porusza się przy tym w ramach bloku NC od 0 do 1, jest więc znormalizowany. Przez polecenie językowe FGROUP moŜna w ramach osi uczestniczących w tworzeniu kon-turu wybrać te osie, do których ma się odnosić zaprogramowany posuw po torze. Interpola-cja ze stałą prędkością na drodze S tych osi oznacza podczas interpolacji wielomianowej jednak z reguły nie stałą zmianę parametru krzywej U.
Specjalne polecenia dot. drogi 4.7 Pomiar czujnikiem przełączającym (MEAS, MEAW)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
265
Zachowanie si ę sterowania w przypadku reset i danych maszynowych / danych opcji
Po zresetowaniu działa określony przez MD 20150: GCODE_RESET_VALUES[44] G-Code (45. grupa G-Code).
Wartość ustawienia podstawowego dla rodzaju ścięcia jest ustalana przy pomocy MD 20150: GCODE_RESET_VALUES[9] (10. grupa G-Code).
Aktywna po zresetowaniu wartość grupy G-Code jest określana przez daną maszynową MD 20150: GCODE_RESET_VALUES [44] . Aby pozostała kompatybilność z istniejącymi urzą-dzeniami, jest tutaj jako wartość standardowa domyślnie ustawiane SPATH.
Dane maszynowe dot. osi MD 33100: COMPRESS_POS_TOL mają od wersji opr. 4.3 roz-szerzone znaczenie: zawierają one tolerancje dla funkcji kompresora i dla ścięcia przy po-mocy G642.
4.7 Pomiar czujnikiem przeł ączającym (MEAS, MEAW)
Działanie Dla wszystkich osi zaprogramowanych w bloku NC są rejestrowane pozycji na zboczu łącze-niowym czujnika pomiarowego i dla kaŜdej osi wpisywane do odpowiedniej komórki pamięci. Istnieją maksymalnie dwa czujniki pomiarowe.
Odczyt wyniku pomiaru
Wynik pomiaru jest dla osi wymierzonych przy pomocy czujnika pomiarowego dostępny pod na-stępującymi zmiennymi: ● W układzie współrzędnych maszyny pod $AA_MM[oś] ● W układzie współrzędnych obrabianego przedmiotu pod $AA_MW[oś] Przy odczycie tych zmiennych nie jest wewnętrznie wytwarzane zatrzymanie przebiegu wyprze-dzającego. Przy pomocy STOPRE musi w programie NC w odpowiednim miejscu zostać zaprogramowane zatrzymanie przebiegu wyprzedzającego. W przeciwnym przypadku są czytane nieprawidłowe wartości.
Obszary ochrony 4.7 Pomiar czujnikiem przełączającym (MEAS, MEAW)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
266
Składnia
Programowanie bloków pomiarowych
Przy pomocy polecenia MEAS i rodzaju interpolacji następuje dosuwanie do pozycji rzeczy-wistych na obrabianym przedmiocie i są przy tym przejmowane wartości pomiarowe. Pozo-stała droga między wartością rzeczywistą i zadaną jest kasowana. Dla specjalnych zadań pomiarowych, przy których w kaŜdym przypadku powinno nastąpić dosunięcie do zaprogramowanej pozycji, jest stosowana funkcja MEAW. MEAS i MEAW działa pojedynczymi blokami. MEAS=±1 G... X... Y... Z... (+1/+2 pomiar z kasowaniem pozostałej drogi
i zboczem rosnącym) MEAS=±2 G... X... Y... Z... (–/–pomiar z kasowaniem pozostałej drogi
i zboczem opadającym) MEAW=±1 G... X... Y... Z... (+1/+2 Pomiar bez kasowania pozostałej
drogi i zboczem rosnącym) MEAW=±2 G... X... Y... Z... (–/–Pomiar bez kasowania pozostałej drogi
i zboczem opadającym)
Specjalne polecenia dot. drogi 4.7 Pomiar czujnikiem przełączającym (MEAS, MEAW)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
267
Znaczenie MEAS=±1 Pomiar czujnikiem 1 na wejściu pomiarowym 1
MEAS=±2* Pomiar czujnikiem 2 na wejściu pomiarowym 2
MEAW=±1 Pomiar czujnikiem 1 na wejściu pomiarowym 1
MEAW=±2* Pomiar czujnikiem 2 na wejściu pomiarowym 2
G... Rodzaj interpolacji np. G0, G1, G2 albo G3
X... Y... Z...
Punkt końcowy we współrzędnych kartezjańskich
*ZaleŜnie od stopnia rozbudowy max 2 wejścia
Przykład, programowanie bloków pomiarowych
MEAS i MEAW są programowane w bloku i instrukcjami ruchu. Posuwy i rodzaje interpolacji (G0, G1, …) naleŜy dopasować do kaŜdorazowego zadania pomiarowego; równieŜ liczbę osi. N10 MEAS=1 G1 F1000 X100 Y730 Z40 Blok pomiarowy z czujnikiem pomiarowym pierwszego wejścia pomiarowego i interpolacją prostoliniową. Zatrzymanie przebiegu wyprzedzającego jest wytwarzane automatycznie.
Dalsze informacje
Status zlecenia pomiarowego
JeŜeli w programie jest wymagana ewaluacja, czy czujnik pomiarowy przełączył czy nie, moŜna odpytać zmienną stanu $AC_MEA[n] (n= numer czujnika pomiarowego)
0 zlecenie pomiaru nie wykonane
1 zlecenie pomiaru zakończone pomyślnie (czujnik pomiarowy przełączył)
Wskazówka
JeŜeli czujnik pomiarowy jest wyłączany w programie, zmienna jest ustawiana na 1. Przy starcie bloku pomiarowego zmienna jest automatycznie ustawiana na stan początkowy czujnika.
Zapis warto ści pomiarowych
Są rejestrowane pozycje wszystkich osi uczestniczących w tworzeniu konturu i osi pozycjo-nowania (maksymalna liczba osi zaleŜnie od konfiguracji sterowania). W przypadku MEAS ruch jest po przełączeniu czujnika w sposób zdefiniowany hamowany.
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
268
Wskazówka
Gdy w bloku pomiarowym jest zaprogramowana oś GEO, zostaną zapisane wartości po-miarowe dla wszystkich aktualnych osi GEO.
JeŜeli w bloku pomiaru jest zaprogramowana oś uczestnicząca w transformacji, są zapisy-wane wartości pomiarowe wszystkich osi uczestniczących w tej transformacji.
4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, ME AC, TE) (opcja)
Przy pomiarze osiowym noŜna uŜywać wielu czujników pomiarowych i wielu systemów po-miarowych. Przy MEASA, MEAWA jest dla kaŜdorazowo zaprogramowanej osi odczytywanych do czte-rech wartości na pomiar i zapisywanych w zmiennych systemowych odpowiednio do wyda-rzenia przerzutnikowego. Ciągłe zlecenia pomiaru mogą być przeprowadzane przy pomocy MEAC. W tym przypadku wyniki pomiaru są zapisywane w zmiennych FIFO. RównieŜ dla MEAC są na pomiar moŜliwe maksymalnie cztery wartości pomiarowe: ● W układzie współrzędnych maszyny pod $AA_MM1 do 4[o ś] ● W układzie współrzędnych obrabianego przedmiotu $AA_WM1 do 4[o ś]
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
269
Składnia
MEASA i MEAWA działają pojedynczymi blokami i moŜna je programować w jednym bloku. Gdy MEASA/MEAWA zostanie zaprogramowane w jednym bloku z MEAS/MEAW, wówczas na-stępuje komunikat błędu MEASA[oś]=(tryb,TE1,...,TE4) MEAWA[oś]=(tryb,TE1,...,TE4) MEAC[oś]=(tryb,pami ęć pomiarowa,TE1,...,TE4)
Znaczenie MEASA Pomiar z kasowaniem pozostałej drogi
MEAWA Pomiar bez kasowania pozostałej drogi
MEAC Pomiar ciągły bez skasowania pozostałej drogi
Oś Nazwa osi kanału uŜytej do pomiaru
Tryb Dwumiejscowa informacja o trybie pracy; składająca się z trybu pomiaru i systemu pomiarowego .
Tryb pomiaru (dekada jednostek):
0 Tryb 0:
Anulowanie zlecenia pomiaru
1 Tryb 1:
Max 4 róŜne równocze śnie uaktywnialne wydarzenia przerzutnikowe.
2 Tryb 2:
Max 4 kolejno uaktywnialne wydarzenia przerzutniko-we
3 Tryb 3: Max 4 kolejno uaktywnialne wydarzenia przerzutniko-we, jednak bez nadzoru wydarzenia przerzutnikowego 1 przy STARCIE (alarmy 21700/21703 są blokowane).
Wskazówka: Tryb 3 przy MEAC niemoŜliwy
System pomiarowySystem pomiarowySystem pomiarowySystem pomiarowy (dekada dziesiątek): 0 (albo brak informacji) aktywny system pomiarowy 1 system pomiarowy 1 2 system pomiarowy 2 3 obydwa systemy pomiarowe
TE Wydarzenie przerzutnikowe : 1 zbocze rosnące, czujnik pomiarowy 1 -1 zbocze opadające, czujnik pomiarowy 1 2 zbocze rosnące, czujnik pomiarowy 2 -2 zbocze opadające, czujnik pomiarowy 2
Pamięć pomiarowa Numer pamięci FIFO
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
270
Przykład, pomiar z kasowaniem pozostałej drogi w tr ybie 1
(ewaluacja w kolejności czasowej)
a) z 1 systemem pomiarowym
Kod programu Komentarz ... N100 MEASA[X]=(1,1,-1) G01 X100 F100 ; Pomiar w try bie 1 z aktyw-
nym systemem pomiarowym. Czekanie na sy-gnał pomiarowy o zboczu rosn ą-cym/opadaj ącym od czujnika pomiarowego 1 na drodze ruchu do X=100.
N110 STOPRE ; Zatrzymanie przebiegu wyprzedzaj ącego N120 IF $AC_MEA[1]==FALSE gotof ENDE ; Pomy ślne skontrolowanie po-
miaru. N130 R10=$AA_MM1[X] ; Zapisanie warto ści pomiarowej nale Ŝącej
do pierwszego zaprogramowanego wydarzenia przerzutnikowego (zbocze rosn ące).
N140 R11=$AA_MM2[X] ; Zapisanie warto ści pomiarowej nale Ŝącej do drugiego zaprogramowanego wydarzenia przerzutnikowego (zbocze opadaj ące).
N150 ENDE:
Przykład, pomiar z kasowaniem pozostałej drogi w tr ybie 1
b) z 2 systemami pomiarowymi
Kod programu Komentarz ... N200 MEASA[X]=(31,1-1) G01 X100 F100 ; Pomiar w try bie 1 z obydwo-
ma systemami pomiarowymi. Czekanie na sy-gnał pomiarowy o zboczu rosn ą-cym/opadaj ącym od czujnika pomiarowego 1 na drodze ruchu do X=100.
N210 STOPRE ; Zatrzymanie przebiegu wyprzedzaj ącego N220 IF $AC_MEA[1]==FALSE gotof ENDE ; Pomy ślne skontrolowanie po-
miaru. N230 R10=$AA_MM1[X] ; Zapisanie warto ści pomiarowej systemu
pomiarowego 1 przy zboczu rosn ącym N240 R11=$AA_MM2[X] ; Zapisanie warto ści pomiarowej systemu
pomiarowego 2 przy zboczu rosn ącym N250 R12=$AA_MM3[X] ; Zapisanie warto ści pomiarowej systemu
pomiarowego 1 przy zboczu opadaj ącym N260 R13=$AA_MM4[X] ; Zapisanie warto ści pomiarowej systemu
pomiarowego 2 przy zboczu opadaj ącym N270 ENDE:
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
271
Przykład: pomiar z kasowaniem pozostałej drogi w tr ybie 2
(ewaluacja w zaprogramowanej kolejności)
Kod programu Komentarz ... N100 MEASA[X]=(2,1,-1,2,-2) G01 X100 F100 ; Pomiar w trybie 2 z
aktywnym systemem pomiarowym. Czekanie na sygnał pomiarowy w kolejno ści zbocze rosn ące od czujnika pomiarowego 1, zbo-cze opadaj ące czujnik 1, zbocze rosn ące czujnik 2, zbocze opadaj ące czujnik 2 na drodze ruchu do X=100.
N110 STOPRE ; Zatrzymanie przebiegu wyprzedzaj ącego N120 IF $AC_MEA[1]==FALSE gotof ; Skontrolowanie po myślnego pomia-
ru czujnikiem pomiarowym 1. CZUJNIK_POMIAROWY2 ; N130 R10=$AA_MM1[X] ; Zapisanie warto ści pomiarowej nale Ŝą-
cej do pierwszego zaprogramowanego wyda-rzenia przerzutnikowego (zbocze rosn ące czujnik pomiarowy 1).
N140 R11=$AA_MM2[X] ; Zapisanie warto ści pomiarowej nale Ŝą-cej do drugiego zaprogramowanego wyda-rzenia przerzutnikowego (zbocze rosn ące czujnik pomiarowy 1)
N150 CZUJNIK_POMIAROWY2: N160 IF $AC_MEA[2]==FALSE gotof ENDE ; Skontrolowan ie pomy ślnego
pomiaru czujnikiem pomiarowym 2. N170 R12=$AA_MM3[X] ; Zapisanie warto ści pomiarowej nale Ŝą-
cej do trzeciego zaprogramowanego wyda-rzenia przerzutnikowego (zbocze rosn ące czujnik pomiarowy 2).
N180 R13=$AA_MM4[X] ; Zapisanie warto ści pomiarowej nale Ŝą-cej do czwartego zaprogramowanego wyda-rzenia przerzutnikowego (zbocze rosn ące czujnik pomiarowy 2).
N190 KONIEC:
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
272
Przykład, pomiar ci ągły w trybie 1
(ewaluacja w kolejności czasowej)
a) Pomiar do 100 warto ści pomiarowych
Kod programu Komentarz ... N110 DEF REAL WARTOŚĆ_POMIAROWA[100] N120 DEF INT p ętla=0 N130 MEAC[X]=(1,1,-1) G01 X1000 F100 ; Pomiar w try bie 1 z aktyw-
nym systemem pomiarowym, zapisanie warto ści pomiarowych ;pod $AC_FIFO1, czekanie na sy-gnał pomiarowy o zboczu opadaj ącym od czuj-nika pomiarowego 1 na drodze ruchu do X=1000.
N135 STOPRE N140 MEAC[X]=(0) ; Przerwanie pomiaru po osi ągni ęciu pozycji osi. N150 R1=$AC_FIFO1[4] ; Zapisanie liczby zebranych w arto ści pomia-
rowych w parametrze R1. N160 FOR p ętla=0 TO R1-1 N170 WARTOŚĆ_POMIAROWA[pętla]=$AC_FIFO1[0] ; Odczytanie i zapisa-
nie warto ści pomiarowych z $AC_FIFO1.. N180 ENDFOR
Przykład, pomiar ci ągły w trybie 1
(ewaluacja w kolejności czasowej)
b) Pomiar z kasowaniem pozostałej drogi po 10 warto ściach pomiarowych
Kod programu Komentarz ... N10 WHEN $AC_FIFO1[4]>=10 DO MEAC[x]=(0) DELDTG(x) ; Skasowanie
pozostałej drogi N20 MEAC[x]=(1,1,1,-1) G01 X100 F500 N30 MEAC[X]=(0) N40 R1=$AC_FIFO1[4] ; Liczba warto ści pomiarowych ...
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
273
Opis Zaprogramowanie moŜe nastąpić w programie obróbki albo z akcji synchronicznej (patrz rozdział "Akcje synchroniczne ruchu") Na oś moŜe przy tym w jednej i tej samej chwili być aktywne tylko jedno zlecenie pomiaru.
Wskazówka
Posuw naleŜy dopasować do kaŜdorazowego zadania pomiarowego.
W przypadku MEASA i MEAWA prawidłowe wyniki moŜna zagwarantować tylko przy posu-wach, przy których na jeden takt regulacji dociera nie więcej niŜ jedno takie samo i nie wię-cej niŜ 4 róŜne wydarzenia przerzutnikowe.
Przy pomiarze ciągłym przy pomocy MEAC stosunek między taktem interpolacji i taktem regulacji połoŜenia nie moŜe być większy niŜ 8 : 1.
Wydarzenia przerzutnikowe
Wydarzenie przerzutnikowe składa się z numeru czujnika pomiarowego i kryterium wyzwala-nia (zbocze rosnące albo malejące) sygnału pomiarowego.
Dla kaŜdego pomiaru moŜna przetwarzać kaŜdorazowo do 4 wydarzeń przełączających uak-tywnionego czujnika pomiarowego, a więc do dwóch czujników pomiarowych po dwa zbocza pomiarowe. Kolejność przetwarzania jak teŜ maksymalna liczba wydarzeń przerzutnikowych są przy tym zaleŜne od wybranego trybu.
Wskazówka
Takie samo wydarzenie przerzutnikowe wolno zaprogramować tylko jeden raz w jednym zleceniu pomiaru (obowiązuje tylko dla trybu 1)!
Tryb pracy Przy pomocy pierwszej cyfry trybu jest wybierany poŜądany system pomiarowy. Gdy jest tyl-ko jeden system pomiarowy a został jednak zaprogramowany drugi, zostaje automatycznie zastosowany system istniejący. Przy pomocy drugiej cyfry, trybu pomiarowego, proces pomiaru jest dopasowywany do moŜ-liwości kaŜdorazowego sterowania: ● Tryb 1 : Reagowanie na wydarzenia przełączające następuje w czasowej kolejności ich wystąpienia. W tym trybie przy zastosowaniu sześcioosiowych zespołów konstrukcyjnych moŜliwe jest zaprogramowanie tylko jednego wydarzenia przełączającego wzgl. przy poda-niu wielu wydarzeń czujnikowych następuje automatyczne przejście na tryb 2 (bez komuni-katu).
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
274
● Tryb 2 : Reagowanie na wydarzenia przełączające następuje w kolejności zaprogramo-
wanej. ● Tryb 3 : Reagowanie na wydarzenia przełączające następuje w kolejności zaprogramo-
wanej, ale nie ma nadzoru wydarzenia przełączającego 1 przy STARCIE.
Wskazówka
Przy zastosowaniu 2 systemów pomiarowych dają się zaprogramować tylko dwa wydarze-nia przerzutnikowe.
Pomiar z i bez kasowania pozostałej drogi, MEASA, M EAWA
Przy zaprogramowaniu MEASA kasowanie pozostałej drogi jest przeprowadzane dopiero po zarejestrowaniu wszystkich wymaganych wartości pomiarowych.
Dla specjalnych zadań pomiarowych, w przypadku których w kaŜdym przypadku ma zostać dokonane dosunięcie do zaprogramowanej pozycji, stosuje się MEAWA.
● MEASA nie daje się programować w akcjach synchronicznych. Zastępczo moŜna zapro-
gramować MEAWA plus skasowanie pozostałej drogi jako akcja synchroniczna. ● JeŜeli zlecenie pomiaru jest uruchamiane przy pomocy MEAWA z akcji synchronicznych,
wartości pomiarowe są dostępne tylko w układzie współrzędnych maszyny.
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
275
Wyniki pomiaru dla MEASA, MEAWA
Wyniki pomiaru są do dyspozycji pod następującymi zmiennymi systemowymi:
● W układzie współrzędnych maszyny:
$AA_MM1[oś] Wartość pomiarowa zaprogramowanego systemu pomiaro-wego przy wydarzeniu przerzutnikowym 1
... ...
$AA_MM4[oś] Wartość pomiarowa zaprogramowanego systemu pomiaro-wego przy wydarzeniu przerzutnikowym 4
● W układzie współrzędnych obrabianego przedmiotu:
$AA_WM1[oś] Wartość pomiarowa zaprogramowanego systemu pomiaro-wego przy wydarzeniu przerzutnikowym 1
... ...
$AA_WM4[oś] Wartość pomiarowa zaprogramowanego systemu pomiaro-wego przy wydarzeniu przerzutnikowym 4
Wskazówka
Przy odczycie tych zmiennych nie jest wewnętrznie wytwarzane zatrzymanie prze-biegu wyprzedzającego. Przy pomocy STOPRE (punkt "Lista instrukcji") musi zostać w odpowiednim miejscu zaprogramowane zatrzymanie przebiegu wyprzedzającego.
W przeciwnym przypadku będą wczytywane nieprawidłowe wartości.
JeŜeli ma zostać uruchomiony pomiar osiowy dla osi geometrycznej, to samo zlece-nie pomiaru musi zostać explicite zaprogramowane dla wszystkich pozostałych osi geometrycznych. To samo dotyczy osi, które uczestniczą w transformacji.
Przykład:
N10 MEASA[Z]=(1,1) MEASA[Y]=(1,1) MEASA[X]=(1,1) G0 Z100;
albo
N10 MEASA[Z]=(1,1) POS[Z]=100
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
276
Zlecenie pomiarowe z 2 systemami pomiarowymi
JeŜeli jest przeprowadzane zlecenie pomiaru z dwoma systemami pomiarowymi, kaŜde z obydwu moŜliwych wydarzeń przerzutnikowych jest rejestrowane przez obydwa systemy kaŜdej osi. Zajętość zarezerwowanych zmiennych jest przez to zadana:
$AA_MM1[oś] wzgl. $AA_MW1[oś] Wartość pomiarowa od systemu pomiaro-wego 1 przy wydarzeniu przerzutnikowym 1
$AA_MM2[oś] wzgl. $AA_MW2[oś] Wartość pomiarowa od systemu pomiaro-wego 2 przy wydarzeniu przerzutnikowym 1
$AA_MM3[oś] wzgl. $AA_MW3[oś] Wartość pomiarowa od systemu pomiaro-wego 1 przy wydarzeniu przerzutnikowym 2
$AA_MM4[oś] wzgl. $AA_MW4[oś] Wartość pomiarowa od systemu pomiaro-wego 2 przy wydarzeniu przerzutnikowym 2
Status czujnika pomiarowego odczytywalny poprzez $A _PROBE[n]
n=czujnik pomiarowy 1==czujnik pomiarowy odchylony 0==czujnik pomiarowy nie odchylony
Status zlecenia pomiarowego w przypadku MEASA, MEAW A
JeŜeli w programie jest wymagana ewaluacja, wówczas moŜna dokonać odpytania na status zlecenia pomiaru poprzez $AC_MEA[n] , gdzie n = numer czujnika pomiarowego. Gdy tylko wszystkie zaprogramowane w bloku wydarzenia przerzutnikowe czujników pomiarowych "n" nastąpiły, zmienna daje wartość 1. W przeciwnym przypadku wartość wynosi 0.
Wskazówka
JeŜeli pomiar jest uruchamiany z akcji synchronicznych, $AC_MEA nie jest juŜ aktualizowa-ne. W tym przypadku naleŜy odpytać na nowe sygnały statusu PLC DB(31-48) DBB62 bit 3 wzgl. równowartościową zmienną $AA_MEAACT[”oś”].
Znaczenie:
$AA_MEAACT==1: pomiar aktywny
$AA_MEAACT==0: pomiar nie jest aktywny
Literatura:Literatura:Literatura:Literatura:
/FB2/ Podręcznik działania Funkcje rozszerzające; Pomiar (M5).
Specjalne polecenia dot. drogi 4.8 Rozszerzona funkcja pomiarowa (MEASA, MEAWA, MEAC, TE) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
277
Pomiar ci ągły MEAC
Wartości pomiarowe są w przypadku MEAC w układzie współrzędnych maszyny i są zapisy-wane w podanej pamięci FIFO[n]. JeŜeli dla pomiarów są zaprojektowane dwa czujniki po-miarowe, wartości pomiarowe drugiego czujnika są zapisywane oddzielnie w zaprojektowa-nej w tym celu (ustawianej poprzez MD) pamięci FIFO[n+1].
Pamięć FIFO jest pamięcią obiegową, do której wartości pomiarowe są wpisywane na zasa-dzie obiegu w zmiennych $AC_FIFO, patrz rozdział "Akcje synchroniczne ruchu".
Wskazówka
Treść pamięci FIFO moŜe być odczytana tylko jeden raz. W celu wielokrotnego uŜycia da-nych muszą one być poddane zapisaniu pośredniemu w danych uŜytkownika.
Gdy liczba wartości pomiarowych przekracza liczbę maksymalną ustaloną w danej maszy-nowej dla pamięci FIFO, wówczas pomiar ulega automatycznemu zakończeniu.
Pomiar bez końca daje się zrealizować przez cykliczny odczyt wartości pomiarowych. Od-czyt musi przy tym następować co najmniej z taką samą częstotliwością co wpływ nowych wartości pomiarowych.
Rozpoznane bł ędne zaprogramowania
Następujące błędne zaprogramowania są rozpoznawane i wyświetlane jako błąd: ● MEASA/MEAWA zaprogramowane w jednym bloku z MEAS/MEAW
Przykład: N01 MEAS=1 MEASA[X]=(1,1) G01 F100 POS[X]=100
● MEASA/MEAWA z liczbą parametrów <2 albo >5 Przykład: N01 MEAWA[X]=(1) G01 F100 POS[X]=100
● MEASA/MEAWA z wydarzeniem przerzutnikowym 1/ -1/ 2/ -2 Przykład: N01 MEASA[B]=(1,1,3) B100
● MEASA/MEAWA z nieprawidłowym trybem Przykład: N01 MEAWA[B]=(4,1) B100
● MEASA/MEAWA z podwójnie zaprogramowanym wydarzeniem przerzutnikowym Przykład:
N01 MEASA[B]=(1,1,-1,2,-1) B100
Specjalne polecenia dot. drogi 4.9 Funkcje specjalne dla uŜytkownika OEM (OEMIPRO1, OEMIPRO2, G810 do G829)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
278
● MEASA/MEAWA i brakująca oś GEO
Przykład:
N01 MEASA[X]=(1,1) MESA[Y]=(1,1) G01 X50 Y50 Z50 F1 00 ; O ś geome-tryczna X/Y/Z
●Niejednolite zlecenie pomiarowe w przypadku osi geometrycznych
Przykład:
N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) MEASA[Z]=(1,1,2) G01 X50 Y50 Z50 F100
4.9 Funkcje specjalne dla u Ŝytkownika OEM (OEMIPO1, OEMIPO2, G810 do G829)
Działanie
Adresy OEM
Znaczenie adresów OEM określa uŜytkownik OEM. Działanie jest nadawane poprzez cykle kompilacji. 5 adresów OEM jest zarezerwowanych. Identyfikatory adresów moŜna ustawiać. Ad-resy OEM są dopuszczalne w kaŜdym bloku.
Parametry
Zarezerwowane grupy G
Grupa 1 z OEMIPO1, OEMIPO2
UŜytkownik OEM moŜe zdefiniować dwie dodatkowe nazwy funkcji G OEMIPO1, OEMIPO2. To działanie jest nadawane poprzez cykle kompilacji i zarezerwowane dla uŜyt-kownika OEM.
● Grupa 31 z G810 do G819
● Grupa 32 z G820 do G829
Dla uŜytkownika OEM zarezerwowano dwie grupy G kaŜda po 10 funkcji G OEM.
Przez to funkcje wprowadzone przez uŜytkownika OEM dają się wyprowadzić na zewnątrz w celu uŜycia.
Funkcje i podprogramy
Dodatkowo uŜytkownicy OEM mogą równieŜ zakładać predefiniowane funkcje i podprogra-my z przekazaniem parametrów.
Specjalne polecenia dot. drogi 4.10 Redukcja posuwu ze zwłoką w naroŜnikach (FENDNORM, G62, G621)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
279
4.10 Redukcja posuwu ze zwłok ą na naro Ŝnikach (FENDNORM, G62, G621)
Działanie Przy automatycznej zwłoce na naroŜnikach posuw jest dzwonokształtnie zmniejszany na krótko przed odnośnym naroŜnikiem. Poza tym mające znaczenie dla obróbki zachowanie się narzędzia moŜe być parametryzowane poprzez dane nastawcze. Są to: ● początek i koniec zmniejszenia posuwu ● Override, z którym posuw jest zmniejszany ● rozpoznanie odnośnego naroŜnika Jako naroŜniki mające znaczenie są uwzględniane te naroŜniki, których kąt wewnętrzny jest mniejszy niŜ naroŜnik sparametryzowany poprzez daną nastawczą. Przy pomocy wartości domyślnej FENDNORM funkcja automatycznego override na naroŜni-kach jest wyłączana.
Literatura: /FBFA/ Opis działania Dialekty ISO
Składnia FENDNORM G62 G41 G62
Znaczenie FENDNORM Automatyczna zwłoka na naroŜnikach wył. G62 Zwłoka w naroŜnikach wewnętrznych przy aktywnej korekcji promienia na-
rzędzia G621 Zwłoka na wszystkich naroŜnikach przy aktywnej korekcji promienia narzę-
dzia
G62 działa tylko na naroŜnikach wewnętrznych z ● aktywną korekcją promienia narzędzia G41, G42 i ● aktywną pracą z przechodzeniem płynnym G64, G641 Dosunięcie do odpowiedniego naroŜnika następuje ze zmniejszonym posuwem, który wyni-ka z:
F * (Override do redukcji posuwu) * override posuwu
Specjalne polecenia dot. drogi 4.11 Programowane kryterium końca ruchu (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
280
Maksymalnie moŜliwe obniŜenie posuwu jest uzyskiwane dokładnie wtedy, gdy narzędzie, w odniesieniu do toru punktu środkowego, ma dokonać zmiany kierunku na odnośnym na-roŜniku.
G621 działa analogicznie do G62 na kaŜdym naroŜniku, osi ustalonych przez FGROUP.
4.11 Programowane kryterium ko ńca ruchu (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)
Działanie
Podobnie do kryterium zmiany bloku przy interpolacji ruchu po torze (G601, G602 i G603), kryterium końca ruchu przy interpolacji pojedynczej osi moŜe zostać zaprogramowane w programie obróbki wzgl. w akcjach synchronicznych dla osi rozkazowych/PLC.
ZaleŜnie od tego, które kryterium końca ruchu jest ustawione, bloki programu obróbki wzgl. bloki cyklu technologicznego ulegają róŜnie szybkiemu zakończeniu. To samo obowiązuje dla PLC poprzez FC15/16/18.
Składnia FINEA[<o ś>] COARSEA[<oś>] IPOENDA[<oś>] IPOBRKA(<oś>,[,[<punkt czasowy>]]) ; wielokrotne podania s ą moŜliwe ADISPOSA(<oś>,[<tryb>][,[<wielko ść okna>]]) ; wielokrotne podania s ą moŜliwe
Znaczenie
FINEA Koniec ruchu przy osiągnięciu ”zatrzymania dokładnego dokładnie”
COARSEA Koniec ruchu przy osiągnięciu ”zatrzymania dokładnego ZGRUBNIE”
IPOENDA Koniec ruchu przy osiągnięciu ”interpolatora”
IPOBRKA Zmiana bloku na zboczu hamowania moŜliwa
ADISPOSA Wielkość okna tolerancji do kryterium końca ruchu
<oś> Nazwa kanału (X, Y, ....)
<punkt cza-sowy>
Punkt czasowy zmiany bloku, odniesiony do charakterystyki hamowa-nia w %
Specjalne polecenia dot. drogi 4.11 Programowane kryterium końca ruchu (FINEA, COARSEA, IPOENDA, IPOBRKA,
ADISPOSA)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
281
<tryb> Tryb
Typ: INT
Zakres wartości: 0 Okno tolerancji nie aktywne 1 Okno tolerancji odnośnie pozycji zadanej 2 Okno tolerancji odnośnie pozycji rzeczywistej
<wielko ść okna>
Wielkość okna tolerancji Ta wartość jest synchronicznie z przebiegiem głównym wpisywana do danej nastawczej SD43610 $SA_ADISPOSA_VALUE.
Typ: REAL
Przykład: koniec ruchu przy osi ągni ęciu zatrzymania interpolatora
Kod programu Komentarz ... N110 G01 POS[X]=100 FA[X]=1000 ACC[X]=90 IPOENDA[X] ; Ruch do po-
zycji X100 z pr ędko ści ą ruchu po torze 1000 obr/min z warto ści ą przyspieszenia 90% i ko ńcem ruchu przy osi ągni ęciu zatrzymania in-terpolatora.
... N120 EVERY $A_IN[1] DO POS[X]=50 FA[X]=2000 ACC[X]= 140 IPOENDA[X]
; Ruch do pozycji X150, gdy wej-ście 1 jest aktywne, z pr ędko ści ą ruchu po torze 2000 obr/min i warto ści ą przyspieszenia 140% oraz ko ńcem ruchu przy osi ągni ę-ciu zatrzymania interpolatora.
Specjalne polecenia dot. drogi 4.11 Programowane kryterium końca ruchu (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
282
Przykład: kryterium zmiany bloku charakterystyka ha mowania w programie obróbki
Kod programu Komentarz ; Ustawienie domy ślne działa N40 POS[X]=100 ; Zmiana bloku nast ępuje, gdy o ś X osi ągnęła pozycj ę 100 i za-
trzymanie dokładne dokładnie. N20 IPOBRKA(X,100) ; Uaktywnienie kryterium zmiany bloku charakterystyka hamowa-
nia. N30 POS[X]=200 ; Zmiana bloku nast ępuje, gdy tylko o ś X zaczyna hamowa ć. N40 POS[X]=250 ; O ś X nie hamuje na pozycj ę 200 lecz wykonuje ruch dalej na
pozycj ę 250, gdy tylko o ś X zacznie hamowa ć, nast ępuje zmiana bloku.
N50 POS[X]=0 ; O ś X hamuje i wykonuje ruch powrotny do pozycji 0, zm iana bloku nast ępuje w pozycji 0 przy zatrzymaniu dokładnym dokład-nie.
N60 X10 F100 N70 M30 ...
Przykład, kryterium zmiany bloku charakterystyka ha mowania w akcjach synchronicznych
Kod programu Komentarz ; W cyklu technologicznym: FINEA ; Kryterium ko ńca ruchu zatrzymanie
dokładne dokładnie. POS[X]=100 ; Zmiana bloku w cyklu technologicznym
nast ępuje, gdy o ś X uzyskała pozycj ę 100 i zatrzymanie dokładne dokładnie.
IPOBRKA(X,100) ; Uaktywnienie kryterium zmiany blo ku charakterystyka hamowania.
POS[X]=100 ; POS[X]-=100 ; Zmiana bloku w cyklu tec hnologicznym nast ępuje gdy tylko o ś zacznie hamo-wać.
POS[X]=250 ; O ś X nie hamuje na pozycji 200 lecz wykonuje ruch dalej do pozycji 250, gdy tylko o ś X zacznie hamowa ć, nast ę-puje zmiana bloku w cyklu technolo-gicznym.
POS[X]=250 ; O ś X hamuje i powraca do pozycji 0, zmiana bloku nast ępuje przy pozycji 0 i zatrzymaniu dokładnym dokładnie.
M17
Specjalne polecenia dot. drogi 4.11 Programowane kryterium końca ruchu (FINEA, COARSEA, IPOENDA, IPOBRKA,
ADISPOSA)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
283
Opis Zmienna systemowa $AA_MOTEND
Ustawione kryterium ruchu moŜna odpytać przy pomocy zmiennej systemowej $AA_MOTEND[<oś>] .
$AA_MOTEND[ós]=1 Koniec ruchu przez ”zatrzymanie dokładne dokład-nie”
$AA_MOTEND[oś]=2 Koniec ruchu przez ”zatrzymanie dokładne zgrubnie”
$AA_MOTEND[oś]=3 Koniec ruchu przez ”zatrzymanie IPO”
$AA_MOTEND[oś]=4 Kryterium zmiany bloku charakterystyka hamowania ruchu osi
$AA_MOTEND[oś]=5 Zmiana bloku w charakterystyce hamowania z oknem tolerancji odnośnie "pozycji zadanej"
$AA_MOTEND[oś]=6 Zmiana bloku w charakterystyce hamowania z oknem tolerancji odnośnie "pozycji rzeczywistej"
Wskazówka
Po RESET pozostaje ostatnia wartość.
Literatura:
/FB/ Podręcznik działania Funkcje podstawowe; posuwy (V1).
Kryterium zmiany bloku w charakterystyce hamowania
Wartość procentowa jest synchronicznie do przebiegu głównego wpisywana do SD 43600: IPOBRAKE_BLOCK_EXCHANGE. Gdy wartość nie zostanie podana, wówczas działa aktu-alna wartość tej danej nastawczej. MoŜna ustawiać zakres od 0% do 100%.
Dodatkowe okno tolerancji dla IPOBRKA Do juŜ istniejącego kryterium zmiany bloku w charakterystyce hamowania moŜna równieŜ wybrać dodatkowe okno tolerancji kryterium zmiany bloku. Zezwolenie następuje dopiero wtedy, gdy oś ● jak dotychczas osiągnęła zadaną wartość procentową swojej charakterystyki hamowania ● jej aktualna pozycja rzeczywista albo zadana jest oddalona nie dalej niŜ tolerancja od po-zycji końcowej osi w bloku.
Dalsze informacje na temat kryterium zmiany bloku od osi pozycjonowania proszę przeczy-tać z:
Literatura: /FB2/ Podręcznik działania Funkcje rozszerzające; Osie pozycjonowania (P2).
/PG/ Podręcznik programowania Podstawy; "Regulacja posuwu i ruchy wrzeciona".
Specjalne polecenia dot. drogi 4.11 Programowalny zestaw parametrów serwo (SCPARA)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
284
4.12 Programowalny zestaw parametrów serwo (SCPARA)
Działanie Przy pomocy SCPARA moŜna zaprogramować zestaw parametrów (składający się z danych maszynowych) w programie obróbki i w akcjach synchronicznych (dotychczas tylko poprzez PLC). DB3n DBB9 Bit3 Aby nie doszło do konfliktu między PLC i NCK, jest definiowany kolejny bit na interfejsie PLC → NCK: DB3n DBB9 Bit3 "zadanie zestawu parametrów zablokowane przez SCPARA". Przy zablokowanym zadaniu zestawu parametrów dla SCPARA nie dochodzi do komunikatu błędu, gdy jest on jednak zaprogramowany.
Składnia
SCPARA[<oś>]=<warto ść>
Znaczenie SCPARA Ustalenie zestawu parametrów <oś> Nazwa osi kanału (X, Y, ...) <warto ść> PoŜądany zestaw parametrów (1<= wartość <=6)
Wskazówka
Aktualny zestaw parametrów moŜe zostać odczytany przy pomocy zmiennej systemowej $AA_SCPAR[<oś>] .
W przypadku G33, G331 wzgl. G332 najbardziej nadający się zestaw parametrów jest wybierany przez sterowanie.
W przypadku, gdy zestaw parametrów serwo ma zostać zmieniony zarówno w programie obróbki wzgl. w akcji synchronicznej jak teŜ w PLC, musi zostać rozszerzony program uŜyt-kownika PLC.
Literatur: /FB1/ Podręcznik działania Funkcje podstawowe; Posuwy (V1), Punkt "Sterowanie posu-wem".
Przykład
Kod programu Komentarz ... N110 SCPARA[X]= 3 ; 3. zestaw parametrów jest wybie rany dla osi X. ...
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
285
Transformacje współrz ędnych (FRAME) 5
5.1 Transformacja współrz ędnych poprzez zmienn ą frame
Działanie
Oprócz moŜliwości programowania juŜ opisanych w podręczniku programowania "Podstawy", moŜecie ustalać układy współrzędnych równieŜ przy pomocy predefiniowanych zmiennych fra-me.
Są zdefiniowane następujące układy współrzędnych: MKS: Układ współrzędnych maszyny BKS: Bazowy układ współrzędnych BNS: Układ współrzędnych bazowego punktu zerowego ENS: Ustawiany układ współrzędnych punktu zerowego WKS: układ współrzędnych obrabianego przedmiotu
Transformacjwe współrzędnych (FRAME) 5.1 Transformacja współrzędnych poprzez zmienną frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
286
Co to jest predefiniowana zmienna frame? Domyślnie zdefiniowana zmienna frame są to słowa kluczowe, które są juŜ ustalone w języ-ku sterowania razem z ich odpowiednim działaniem i mogą być przetwarzane w programie NC. MoŜliwe zmienne frame: ● frame bazowy (przesunięcie bazowe) ● frame ustawiane ● frame programowane
Przyporz ądkowania warto ści i odczyt warto ści rzeczywistych
ZaleŜność zmienna frame/frame
Transformację współrzędnych moŜna uaktywnić przez przyporządkowanie wartości frame do zmiennej frame.
Przykład: $P_PFRAME=CTRANS(X,10)
Zmienna frame:
$P_PFRAME oznacza aktualny frame programowalny.
Frame:
CTRANS(X,10) oznacza: programowane przesunięcie punktu zerowego osi X o 10 mm.
Transformacje współrzędnych (FRAME) 5.1 Transformacja współrzędnych poprzez zmienną frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
287
Odczyt warto ści rzeczywistych
Poprzez predefiniowane zmienne w programie obróbki mogą być odczytywane aktualne wartości rzeczywiste układów współrzędnych: $AA_IM[oś]: Odczyt wartości rzeczywistej w MKS $AA_IB[oś]: Odczyt wartości rzeczywistej w BKS $AA_IBN[oś:] Odczyt wartości rzeczywistej w BNS $AA_IEN[oś]: Odczyt wartości rzeczywistej w ENS $AA_IW[oś]: Odczyt wartości rzeczywistej w WKS
5.1.1 Predefiniowane zmienne frame ($P_BFRAME, $P_I FRAME, $P_PFRAME,
$P_ACTFRAME
$P_BFRAME
Aktualna zmienna frame bazowego, która tworzy odniesienie między bazowym układem współrzędnych (BKS) i bazowym układem współrzędnych punktu zerowego (BNS).
JeŜeli frame bazowy opisany przez $P_UBFR ma natychmiast działać w programie, musi al-bo
● zostać zaprogramowane G500, G54...G599 albo
● $P_BFRAME zastąpione przez $ $P_UBFR.
Transformacjwe współrzędnych (FRAME) 5.1 Transformacja współrzędnych poprzez zmienną frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
288
$P_IFRAME
Aktualna, ustawiana zmienna frame, która tworzy odniesienie między bazowym układem współrzędnych punktu zerowego (BNS) i ustawianym układem współrzędnych punktu zero-wego (ENS).
● $P_IFRAME odpowiada $P_UIFR[$P_IFRNUM]
● $P_IFRAME zawiera po zaprogramowaniu np. G54 zdefiniowane przez G54 przesunięcie, obrót, skalowanie i lustrzane odbicie.
Transformacje współrzędnych (FRAME) 5.1 Transformacja współrzędnych poprzez zmienną frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
289
$P_PFRAME
Aktualna, programowana zmienna frame, która tworzy odniesienie między ustawianym ukła-dem punktu zerowego (ENS) i układem współrzędnych obrabianego przedmiotu (WKS).
$P_PFRAME zawiera wynikający frame, który wynika
● z zaprogramowania TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR wzgl.
● z przyporz ądkowania CTRANS, CROT, CMIRROR, CSCALE do FRAME programowa-nego
Transformacjwe współrzędnych (FRAME) 5.1 Transformacja współrzędnych poprzez zmienną frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
290
$P_ACTFRAME
Aktualny, wynikający frame całkowity, który wynika przez powiązanie z ● aktualnej zmiennej frame bazowego $P_BFRAME, ● aktualnej ustawianej zmiennej frame $P_IFRAME z frame systemowymi i ● aktualnej programowanej zmiennej frame $P_PFRAME z frame systemowymi. Frame systemowe, patrz punkt "Frame działające w kanale $P_ACTFRAME opisuje aktualnie obowiązujący punkt zerowy obrabianego przedmiotu.
W przypadku zmiany $P_IFRAME, $P_BFRAME albo $P_PFRAME, następuje ponowne obli-czenie $P_ACTFRAME.
$P_ACTFRAME odpowiada $P_BFRAME:$P_IFRAME:$P_PFRAME
Transformacje współrzędnych (FRAME) 5.1 Transformacja współrzędnych poprzez zmienną frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
291
Frame bazowy i frame ustawiany działają po reset, gdy MD 20110 RESET_MODE_MASK jest ustawiona następująco: Bit0=1, Bit14=1 --> $P_UBFR (frame bazowy) działa Bit0=1, Bit5=1 --> $P_UIFR[$P_UIFRNUM] (frame ustawiany) działa
Predefiniowane frame ustawiane $P_UBFR
Przy pomocy $P_UBFR jest programowany frame bazowy, nie jest on jednak równocześnie aktywny w programie obróbki. Napisany z $P_UBFR frame bazowy jest wliczany, gdy
● wykonano reset i są ustawione bity 0 i 14 MD RESET_MODE_MASK,
● zostały wykonane instrukcje G500, G54...G599 .
Transformacjwe współrzędnych (FRAME) 5.1 Transformacja współrzędnych poprzez zmienną frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
292
Predefiniowane frame ustawiane $P_UIFR[n]
Przez predefiniowaną zmienną frame $P_UIFR[n] mogą być czytane albo zapisywane z programu obróbki ustawiane przesunięcia punktu zerowego G54 do G599.
Pod względem budowy te zmienne stanowią jednowymiarową tablicę typu FRAME o nazwie $P_UIFR[n].
Przyporz ądkowanie do polece ń G
Standardowo jest domyślnie ustawionych 5 ustawianych frame $P_UIFR[0]…$P_UIFR[4] wzgl. 5 poleceń G o takim samym znaczeniu – G500 i G54 do G57, pod których adresami mogą być zapisywane wartości.
$P_IFRAME=$P_UIFR[0] odpowiada G500
$P_IFRAME=$P_UIFR[1] odpowiada G54
$P_IFRAME=$P_UIFR[2] odpowiada G55
$P_IFRAME=$P_UIFR[3] odpowiada G56
$P_IFRAME=$P_UIFR[4] odpowiada G57
Poprzez daną maszynową moŜecie zmienić liczbę frame: $P_IFRAME=$P_UIFR[5] odpowiada G505 ... ... ...
$P_IFRAME=$P_UIFR[99] odpowiada G599
Wskazówka
Przez to moŜna utworzyć w sumie 100 układów współrzędnych, które np. jako punkt zerowy dla róŜnych urządzeń mogą być wywoływane w róŜnych programach.
OSTROśNIE
Programowanie zmiennych frame i frame wymaga w programie NC własnego bloku NC. Wyjątek: Programowanie ustawianego frame z G54, G55, …
Transformacje współrzędnych (FRAME) 5.2 Przyporządkowanie wartości zmienne frame / frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
293
5.2 Przyporz ądkowanie warto ści zmiennym frame / frame
5.2.1 Bezpośrednie przyporz ądkowanie warto ści (warto ść osi, k ąt, skala)
Działanie
W programie NC moŜecie frame albo zmienne frame bezpośrednio wyposaŜać w wartości.
Składnia $P_PFRAME=CTRANS (X, warto ść osi, Y, warto ść osi, Z, warto ść osi, …) $P_PFRAME=CROT (X, k ąt, Y, k ąt, Z, k ąt, …) $P_UIFR[..]=CROT (X, k ąt, Y, k ąt, Z, k ąt, …) $P_PFRAME=CSCALE (X, skala, Y, skala, Z, skala, …) $P_PFRAME=CMIRROR (X, Y, Z)
Programowanie $P_BFRAME następuje analogicznie do $P_PFRAME.
Znaczenie CTRANS Przesunięcie w podanych osiach CROT Obrót wokół podanych osi CSCALE Zmiana skali w podanych osiach CMIRROR Odwrócenie kierunku podanej osi X Y Z Wartość przesunięcia w kierunku podanej osi geometrycznej Warto ść osi Przyporządkowanie wartości osi do przesunięcia Kąt Przyporządkowanie kąta obrotu wokół podanych osi Skala Zmiana skali
Transformacjwe współrzędnych (FRAME) 5.2 Przyporządkowanie wartości zmienne frame / frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
294
Przykład Przez przyporządkowanie wartości na aktualnym zaprogramowanym frame są uaktywniane translacja, obrót i lustrzane odbicie.
N10 $P_PFRAME=CTRANS(X,10,Y,20,Z,5):CROT(Z,45):CMIR ROR(Y)
Wstępne wyposa Ŝenie komponentów frame-rot w inne warto ści
Wstępne wyposaŜenie w wartości wszystkich trzech komponentów UIFR przy pomocy CROT
Kod programu Komentarz $P_UIFR[5]=CROT (X, 0, Y, 0, Z, 0) N100 $P_UIFR[5, y, rt]=0 N100 $P_UIFR[5, x, rt]=0 N100 $P_UIFR[5, z, rt]=0
Transformacje współrzędnych (FRAME) 5.2 Przyporządkowanie wartości zmienne frame / frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
295
Opis MoŜecie programować wiele kolejnych instrukcji obliczeniowych.
Przykład:
$P_PFRAME=CTRANS(...):CROT(...):CSCALE...
Pamiętajcie, Ŝe polecenia muszą zostać ze sobą powiązane operatorem powiązania w po-staci dwukropka (…):(…). Przez to polecenia zostają po pierwsze powiązane ze sobą a po drugie addytywnie wykonane w zaprogramowanej kolejności.
Wskazówka
Wartości zaprogramowane przy pomocy wymienionych poleceń są przyporządkowywane do frame i zapisywane.
Wartości stają się aktywne dopiero wtedy, gdy zostaną przyporządkowane do frame aktyw-nej zmiennej frame $P_BFRAME wzgl. $P_PFRAME.
Transformacjwe współrzędnych (FRAME) 5.2 Przyporządkowanie wartości zmienne frame / frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
296
5.2.2 Odczyt i zmiana komponentów frame (TR, FI, RT , SC, MI)
Działanie Macie moŜliwość sięgania do pojedynczych danych danego frame, np. do określonej warto-ści przesunięcia albo kąta obrotu. Te wartości moŜecie zmienić albo przyporządkować innej zmiennej.
Składnia
R10=$P_UIFR[$P_UIFNUM,X,RT] Kąt obrotu RT wokół osi X z aktualnie obowiązują-cego ustawianego przesunięcia punktu zerowego $P_UIFRNUM ma zostać przyporządkowany do zmiennej R10.
R12=$P_UIFR[25,Z,TR] Wartość przesunięcia TR w Z z zestawu danych ustawionego frame nr 25 ma zostać przyporządko-wana do zmiennej R12.
R15=$P_PFRAME[Y,TR] Wartość przesunięcia TR w Y aktualnego progra-mowanego frame ma zostać przyporządkowana do zmiennej R15.
$P_PFRAME[X,TR]=25 Wartość przesunięcia TR w X aktualnego progra-mowanego frame ma zostać zmieniona. Od natychmiast obowiązuje X25.
Znaczenie $P_UIFRNUM Przy pomocy tej zmiennej jest automatyc z-
nie tworzone odniesienie do aktualnie obo-wi ązuj ącego ustawianego przesuni ęcia punk-tu zerowego.
P_UIFR[n,…,…] Przez podanie numeru frame n si ęgacie do ustawianego frame numer n.
Podanie składowej, który ma by ć czytana albo zmieniona:
TR TR Translacja FI FI Translacja Fine RT RT Obrót SC SC Scale zmiana skali MI MI Lustrzane odbicie X Y Z Dodatkowo (patrz przykłady) jest podawana
odpowiednia o ś.
Transformacje współrzędnych (FRAME) 5.2 Przyporządkowanie wartości zmienne frame / frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
297
Zakres warto ści dla obrotu RT
Obrót wokół 1. osi geometrycznej: -180° do +180°
Obrót wokół 2. osi geometrycznej: -90° do +90°
Obrót wokół 3. osi geometrycznej: -180° do +180°
Opis
Wywołanie frame
Przez podanie zmiennej systemowej $P_UIFRNUM moŜecie uzyskać dostęp bezpośrednio do przesunięcia punktu zerowego aktualnie ustawionego przy pomocy $P_UIFR wzgl. G54, G55, … ($P_UIFRNUM zawiera numer aktualnie ustawionego frame).
Wszystkie inne zapisane w pamięci ustawiane frame $P_UIFR wywołujecie przez podanie odpowiedniego numeru $P_UIFR[n].
Dla predefiniowanej zmiennej frame z frame zdefiniowanych przez siebie podajecie nazwę, np. $P_IFRAME.
Wywołanie danych
W nawiasach kwadratowych znajduje się nazwa osi i składowa frame wartości, do której chcecie sięgnąć lub którą chcecie zmienić, np. [X, RT] albo [Z, MI].
Transformacjwe współrzędnych (FRAME) 5.2 Przyporządkowanie wartości zmienne frame / frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
298
5.2.3 Powi ązanie kompletnych frame
Działanie
W programie NC kompletny frame moŜe być przyporządkowany do innego frame albo frame mogą zostać ze sobą powiązane.
Powiązania frame nadają się np. do opisu wielu obrabianych przedmiotów, które są umiesz-czone na palecie i mają być obrabiane w jednym przebiegu.
Dla opisu zadań obróbki na paletach składowe frame mogą zawierać tylko określone warto-ści częściowe, przez których powiązanie są generowane róŜne punkty zerowe obrabianego przedmiotu.
Składnia
Przyporz ądkowanie frame
DEF FRAME EINSTELLUNG1 EINSTELLUNG1=CTRANS(X,10) $P_PFRAME=EINSTELLUNG1
Do aktualnego programowanego frame s ą przyporz ądkowywane warto ści zdefiniowa-nego przez siebie frame USTAWIENIE1.
DEF FRAME EINSTELLUNG4 EINSTELLUNG4=$P_PFRAME $P_PFRAME=EINSTELLUNG4
Aktualny programowany frame jest podda-wany po średniemu zapisaniu w pami ęci i nast ępnie w razie potrzeby zapisywany z powrotem.
Transformacje współrzędnych (FRAME) 5.2 Przyporządkowanie wartości zmienne frame / frame
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
299
Łańcuchy frame
Frame są ze sobą wiązane w zaprogramowanej kolejności, składowe frame (przesunięcia, obroty itd.) są wykonywane kolejno addytywnie.
$P_IFRAME=$P_UIFR[15]:$P_UIFR[16] $P_UIFR[15] zawiera np. dane dla przesunięcia punktu zerowego. Następnie są – budując na tym – przetwarzane dane z $P_UIFR[16] np. dane dla obrotu.
$P_UIFR[3]=$P_UIFR[4]:$P_UIFR[5] Ustawiany frame 3 jest wytwarzany przez po-wiązanie ustawianych frame 4 i 5.
Wskazówka
Pamiętajcie, Ŝe frame muszą być ze sobą połączone operatorem powiązania w postaci dwukropka :.
5.2.4 Definicja nowych frame (DEF FRAME)
Działanie Obok dotychczas opisanych, domyślnie zdefiniowanych, ustawianych frame, macie równieŜ moŜliwość tworzenia nowych frame. Chodzi przy tym o zmienne typu FRAME, które definiu-jecie przy dowolnym nadaniu nazwy. Przy pomocy funkcji CTRANS, CROT, CSCALE i CMIRROR moŜecie w programie NC nadawać wartości swoim frame.
Składnia DEF FRAME PALETA1
PALETA1=CTRANS(…):CROT(…)…
Znaczenie DEF FRAME Utworzenie nowych frame.
PALETTE1 Nazwa nowego frame =CTRANS(...):
CROT(...)... Przyporządkowanie wartości do moŜliwych funkcji
Transformacjwe współrzędnych (FRAME) 5.3 Przesunięcie zgrubne i dokładne (CFINE, CTRANS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
300
5.3 Przesuni ęcie zgrubne i dokładne (CFINE, CTRANS)
Działanie
Przesuni ęcie dokładne
Przy pomocy polecenia CFINE(X, ..,Y, ...) moŜna programować przesunięcie do-kładne frame bazowego i wszystkich ustawianych frame.
Przesunięcie dokładne moŜe nastąpić tylko wtedy, gdy MD18600 $MN_MM_FRAME_FINE_TRANS=1.
Przesuni ęcie zgrubne
Przy pomocy CTRANS(...) jest ustalane przesunięcie zgrubne.
Przesunięcie zgrubne i przesunięcie dokładne dodają się dając przesunięcie łączne.
Składnia $P_UBFR=CTRANS(x, 10) : CFINE(x, 0.1)
: CROT(x, 45)
; Powiązanie przesunięcia, przesu-nięcia dokładnego i obrotu
$P_UIFR[1]=CFINE(x, 0.5 y, 1.0, z, 0.1)
; Cały frame jest zastępowany przy pomocy CFINE łącznie z przesu-nięciem zgrubnym
Transformacje współrzędnych (FRAME) 5.3 Przesunięcie zgrubne i dokładne (CFINE, CTRANS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
301
Dostęp do poszczególnych składowych przesunięcia dokładnego następuje przez podanie składowej FI (Translation Fine).
DEF REAL FINEX ;Definicja zmiennej FINEX
FINEX=$P_UIFR[$P_UIFNUM, x, FI]
;Załadowanie przesunięcia dokładnego poprzez zmienną FINEX
FINEX=$P_UIFR[3, x, FI]$P ;Załadowanie przesunięcia dokładnego osi X w 3. frame poprzez zmienną FINEX
Znaczenie CFINE(x, warto ść, y, warto ść, z, warto ść )
Przesunięcie dokładne dla wielu osi. Przesunię-cie addytywne (translacja)
CTRANS(x, warto ść, y, warto ść, z, warto ść )
Przesunięcie zgrubne dla wielu osi. Przesunięcie absolutne (translacja)
x y z Przesunięcie punktu zerowego osi (max 8)
Warto ść Składowa translacyjna
Producent maszyny
Przy pomocy MD18600 $MN_ MM_FRAME_FINE_TRANS przesunięcie dokładne moŜe być projektowane w następujących wariantach:
0:
Przesunięcia dokładnego nie moŜna wprowadzić wzgl. zaprogramować. G58 i G59 są nie-moŜliwe.
1:
Przesunięcie dokładne dla frame ustawianych, frame bazowych, frame programowanych, G58 i G59 moŜna wprowadzić wzgl. zaprogramować.
Opis
Przesunięcie dokładne zmienione przez obsługę staje się aktywne dopiero po uaktywnieniu odpowiedniego frame, tzn. uaktywnienie następuje przez G500, G54...G599. Uaktywnione przesunięcie dokładne frame jest tak długo aktywne, jak długo frame jest aktywny.
Frame programowalny nie posiada składowej przesunięcia dokładnego. JeŜeli do frame pro-gramowanego zostanie przyporządkowany frame z przesunięciem dokładnym, wówczas je-go przesunięcie łączne jest tworzone z sumy przesunięcia zgrubnego i dokładnego. Przy czytaniu frame programowanych przesunięcie dokładne zawsze wynosi zero.
Transformacjwe współrzędnych (FRAME) 5.4 Zewnętrzne przesunięcie punktu zerowego
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
302
5.4 Zewnętrzne przesuni ęcie punktu zerowego
Działanie
Macie przez to kolejną moŜliwość przesunięcia punktu zerowego między bazowym układem współrzędnych i układem współrzędnych obrabianego przedmiotu.
Przy zewnętrznym przesunięciu punktu zerowego mogą być programowane tylko przesunię-cia liniowe.
Programowanie Programowanie wartości przesunięcia, $AA_ETRANS następuje przez ustawienie zmien-nych systemowych specyficznych dla osi.
Przyporz ądkowanie warto ści przesuni ęcia
$AA_ETRANS[oś]=RI
RI jest zmienną obliczeniową typu REAL, która uzyskuje nową wartość. Przesunięcie zewnętrzne z reguły nie jest podawane w programie obróbki, lecz ustawiane przez PLC.
Wskazówka
Wartość napisana w programie obróbki działa dopiero wtedy, gdy na interfejsie VDI (inter-fejs NCU-PLC) jest ustawiony odpowiedni sygnał.
Transformacje współrzędnych (FRAME) 5.5 Przesunięcie Preset (PRESETON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
303
5.5 Przesuni ęcie Preset (PRESETON)
Działanie Dla zastosowań specjalnych moŜe być wymagane przyporządkowanie jednej albo wielu osiom w aktualnej pozycji (na postoju) nowej, programowanej wartości rzeczywistej.
OSTROśNIE
Przy pomocy funkcji PRESETON jest wyłączane obowiązywanie punktu odniesienia. Dla-tego powinniście stosować tę funkcję tylko do osi bez obowiązku punktu odniesienia. Je-Ŝeli ma zostać przywrócony poprzedni system, musi przy pomocy G74 zostać dokonane dosunięcie do punktu odniesienia - patrz punkt 3.1.
Składnia
PRESETON(oś, warto ść, ...)
Znaczenie PRESETON Ustawienie wartości rzeczywistej Oś Podanie osi maszynowej Warto ść Nowa wartość rzeczywista, która ma obowiązywać dla podanej osi
Wskazówka
Ustawienie wartości rzeczywistej z akcjami synchronicznymi powinno nastąpić tylko przy pomocy słowa kluczowego "WHEN" albo "EVERY".
Transformacjwe współrzędnych (FRAME) 5.6 Obliczenie frame z 3 punktów pomiarowych w przestrzeni (MEAFRAME)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
304
Przykład Przyporządkowanie wartości rzeczywistych następuje w układzie współrzędnych maszyny - wartości odnoszą się do osi maszyny.
N10 G0 A760 N20 PRESETON(A1,60)
Oś A wykonuje ruch do pozycji 760. Oś maszyny A1 otrzymuje w pozycji 760 nową wartość rzeczywistą 60. Od teraz następuje pozycjonowanie w nowym systemie wartości rzeczywi-stej.
5.6 Obliczenie frame z 3 punktów pomiarowych w prz estrzeni (MEAFRAME)
Działanie MEAFRAME jest rozszerzeniem języka 840D do wspierania cykli pomiarowych. Funkcja MEAFRAME oblicza frame z trzech idealnych i korespondujących zmierzonych punktów. Gdy obrabiany przedmiot jest pozycjonowany w celu obróbki, jego pozycja jest w stosunku do kartezjańskiego układu współrzędnych maszyny odnośnie jego pozycji idealnej zazwyczaj zarówno przesuwana jak teŜ obracana. W celu dokładnej obróbki albo pomiaru jest koniecz-ne albo kosztowne ustawienie fizyczne albo zmiana ruchów w programie obróbki. Frame moŜna ustalić przez odczyt trzech punktów w przestrzeni, których idealne pozycje są znane. Odczyt następuje przy pomocy czujnika dotykowego albo optycznego, który dotyka specjalnych otworów, precyzyjnie ustalonych na płycie nośnej, albo kulek pomiarowych.
Składnia
MEAFRAME IDEAL_POINT,MEAS_POINT,FIT_QUALITY)
Znaczenie
MEAFRAME Obliczenie frame z 3 punktów pomiarowych w przestrzeni IDEAL_POINT Tablica danych real, zawierająca trzy współrzędne punktów ideal-
nych MEAS_POINT Tablica danych real, zawierająca trzy współrzędne punktów zmie-
rzonych
Transformacje współrzędnych (FRAME) 5.6 Obliczenie frame z 3 punktów pomiarowych w przestrzeni (MEAFRAME)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
305
FIT_QUALITY Zmienna real, przy pomocy której są zwracane następujące informa-cje.
-1 Punkty idealne leŜą prawie na jednej prostej: Frame nie moŜna było obliczyć. Zwracana zmienna frame zawiera neutralny frame.
-2 Punkty pomiarowe leŜą prawie na jednej pro-stej: Frame nie moŜna było obliczyć. Zwracana zmienna frame zawiera neutralny frame.
-4 Obliczenie matrycy obrotu nie udaje się z inne-go powodu.
wartość dodatnia: Suma zniekształceń (odstępy między punkta-mi), które są potrzebne do zamiany zmierzone-go trójkąta na trójkąt zgodny z trójkątem ideal-nym.
Wskazówka
Jako ść pomiaru
Aby współrzędne zmierzone mogły zostać przyporządkowane do współrzędnych idealnych przy pomocy kombinacji obrót/translacja, trójkąt utworzony przez punkty pomiarowe musi być kongruentny z trójkątem idealnym. Jest to realizowane przy pomocy algorytmu kom-pensacji, który minimalizuje sumę kwadratów odchyleń między trójkątem zmierzonym i ide-alnym.
Efektywnie potrzebne zniekształcenie punktów pomiarowych moŜe słuŜyć jako wskaźnik jakości pomiaru i jest dlatego wyprowadzane przez MEAFRAME jako dodatkowa zmienna.
Wskazówka
Frame utworzony przez MEAFRAME moŜe przez funkcję ADDFRAME zostać przetransformo-wany na inny frame w łańcuchu frame.
Patrz przykład: powiązanie frame "Powiązanie z ADDFRAME".
Dalsze informacje dot. parametrów ADDFRAME(FRAME, STRING) patrz /FB1/ Podręcznik działania Funkcje podstawowe; osie, Układy współrzędnych, Frame (K2), punkt "powiązanie FRAME ".
Transformacjwe współrzędnych (FRAME) 5.6 Obliczenie frame z 3 punktów pomiarowych w przestrzeni (MEAFRAME)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
306
Przykład
Kod programu Komentarz ; Program obróbki 1 DEF FRAME CORR_FRAME
Ustawienie punktów pomiarowych
Kod programu Komentarz DEF REAL IDEAL_POINT[3,3] = SET(10.0,0.0,0.0, 0.0,1 0.0,0.0, 0.0,0.0,10.0) DEF REAL MEAS_POINT[3,3] = SET ; Dla testu (10.1,0.2,-0.2, -0.2,10.2,0.1, -0.2,0.2,9.8) DEF REAL FIT_QUALITY = 0 DEF REAL ROT_FRAME_LIMIT = 5 ; Pozwala na obrót po zycji podziałowej
max 5 stopni DEF REAL FIT_QUALITY_LIMIT = 3 ; Pozwala na przesu ni ęcie max 3 mm
między trójk ątem idealnym i trójk ątem zmierzonym
DEF REAL SHOW_MCS_POS1[3] DEF REAL SHOW_MCS_POS2[3] DEF REAL SHOW_MCS_POS3[3]
Kod programu Komentarz N100 G01 G90 F5000 N110 X0 Y0 Z0 N200 CORR_FRAME=MEAFRAME(IDEAL_POINT,MEAS _POINT,FIT_QUALITY) N230 IF FIT_QUALITY < 0 SETAL(65000) GOTOF NO_FRAME ENDIF N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT SETAL(65010) GOTOF NO_FRAME ENDIF N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT ; Ograni czenie 1. k ąta
RPY SETAL(65020) GOTOF NO_FRAME ENDIF
Transformacje współrzędnych (FRAME) 5.6 Obliczenie frame z 3 punktów pomiarowych w przestrzeni (MEAFRAME)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
307
Kod programu Komentarz N260 IF CORR_FRAME[Y,RT] > ROT_FRAME_LIMIT ; Ograni czenie 2. k ąta
RPY SETAL(65021) GOTOF NO_FRAME ENDIF N270 IF CORR_FRAME[Z,RT] > ROT_FRAME_LIMIT ; Ograni czenie 3. k ąta
RPY SETAL(65022) GOTOF NO_FRAME ENDIF N300 $P_IFRAME=CORR_FRAME ; Uaktywnienie frame prób kowania z frame
ustawianym ; Sprawdzenie frame przez pozycjonowanie
osi geometrycznych na punkty idealne N400 X=IDEAL_POINT[0,0] Y=IDEAL_POINT[0,1] Z=IDEAL_POINT[0,2] N410 SHOW_MCS_POS1[0]=$AA_IM[X] N420 SHOW_MCS_POS1[1]=$AA_IM[Y] N430 SHOW_MCS_POS1[2]=$AA_IM[Z] N500 X=IDEAL_POINT[1,0] Y=IDEAL_POINT[1,1] Z=IDEAL_POINT[1,2] N510 SHOW_MCS_POS2[0]=$AA_IM[X] N520 SHOW_MCS_POS2[1]=$AA_IM[Y] N530 SHOW_MCS_POS2[2]=$AA_IM[Z] N600 X=IDEAL_POINT[2,0] Y=IDEAL_POINT[2,1] Z=IDEAL_POINT[2,2] N610 SHOW_MCS_POS3[0]=$AA_IM[X] N620 SHOW_MCS_POS3[1]=$AA_IM[Y] N630 SHOW_MCS_POS3[2]=$AA_IM[Z] N700 G500 ; Wył ączenie aktywno ści frame ustawiane-
go, poniewa Ŝ z frame zerowym (ustawienie wst ępne braku wpisu warto ści).
No_FRAME ; Wył ączenie frame ustawianego, poniewa Ŝ jest wst ępnie ustawiony frame zerowy (warto ść nie jest wpisana)
M0 M30
Transformacjwe współrzędnych (FRAME) 5.7 Frame globalne NCU
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
308
Przykład, powi ązanie frame
Powiązanie MEAFRAME dla korekcji
Funkcja MEAFRAME( ) daje frame korekcyjny. JeŜeli ten frame zostanie powiązany z ustaw-nym frame $P_UIFR[1] , który był aktywny przy wywołaniu funkcji, np. G54, wówczas uzy-skuje się ustawny frame dla dalszych przeliczeń w celu wykonywania ruchów albo obróbki.
Powiązanie przy pomocy ADDFRAME
JeŜeli ten frame korekcyjny ma działać w łańcuchu frame w innym miejscu albo przed frame ustawianym są aktywne jeszcze inne frame, wówczas moŜe zostać uŜyta funkcja ADDFRAME( ) do włączenia do łańcucha we frame bazowym kanału albo frame systemo-wym.
We frame nie moŜe być przy tym aktywne:
● lustrzane odbicie przy pomocy MIRROR
● skalowanie przy pomocy SCALE
Parametrami wejściowymi dla wartości zadanych i rzeczywistych są współrzędne obrabia-nego przedmiotu. W systemie podstawowym sterowania te współrzędne W systemie pod-stawowym sterowania te współrzędne naleŜy zawsze podawać jako
● metryczne albo calowa (G71/G70) i jako
● wymiar w promieniu (DIAMOF) .
5.7 Frame globalne NCU
Działanie Frame globalne NCU występują w NCU tylko raz dla wszystkich kanałów. Uaktywnienie fra-me globalnych NCU następuje w kaŜdorazowym kanale. Przez frame globalne osie kanału i osie maszyny z przesunięciami mogą być skalowane i poddawane lustrzanemu odbiciu.
Transformacje współrzędnych (FRAME) 5.7 Frame globalne NCU
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
309
ZaleŜności geometryczne i łańcuchy frame
W przypadku frame globalnych nie istnieje zaleŜność geometryczna między osiami.
Dlatego nie mogą być wykonywane Ŝadne obroty ani programowanie identyfikatorów osi geometrycznych.
● Do frame globalnych nie dają się uŜyć Ŝadne rotacje. Zaprogramowanie obrotu jest odrzu-cane z alarmem: "18310 Kanał %1 blok %2 frame: rotacja niedopuszczalna".
● Powiązanie frame globalnych i frame specyficznych dla kanału jest moŜliwe. Frame wyni-kowy zawiera wszystkie składowe frame łącznie z rotacją dla wszystkich osi.
Przyporządkowanie frame ze składowymi rotacyjnymi do frame globalnego jest odrzucane z alarmem "Frame: rotacja niedopuszczalna".
Frame globalne NCU
Globalne dla NCU frame bazowe $P_NCBFR[n]
MoŜna zaprojektować do 8 frame bazowych globalnych dla NCU:
Równocześnie mogą być specyficzne dla kanału frame bazowe.
Frame globalne mogą być czytane i pisane ze wszystkich kanałów NCU. Przy pisaniu frame globalnych uŜytkownik powinien zatroszczyć się o koordynację kanałów. MoŜe to zostać zrealizowane np. przez znaczniki Wait (WAITMC).
Producent maszyny
Liczba globalnych frame bazowych jest projektowana poprzez dane maszynowe patrz /FB1/ Podręcznik działania Funkcje podstawowe; osie, Układy współrzędnych, Frame (K2).
Globalne dla NCU frame ustawialne $P_UIFR[n]
Wszystkie frame ustawiane G500, G54...G599 mogą być projektowane albo jako global-ne dla NCU albo jako specyficzne dla kanału.
Producent maszyny
Wszystkie frame ustawiane mogą przy pomocy danej maszynowej $MN_MM_NUM_GLOBAL_USER_FRAMES zostać przeprojektowane na frame globalne.
Jako identyfikatory osi w przypadku poleceń programowania frame mogą być stosowane identyfikatory kanału i identyfikatory osi maszyny. Programowanie identyfikatorów osi geo-metrycznych jest odrzucane z alarmem.
Transformacjwe współrzędnych (FRAME) 5.7 Frame globalne NCU
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
310
5.7.1 Frame specyficzne dla kanału ($P_CHBFR, $P_U BFR)
Działanie
Ustawiane frame albo frame bazowe mogą
● poprzez program obróbki i
● poprzez BTSS
być zapisywane i czytane z jednostki obsługowej np. HMI Advanced i z PLC.
Przesunięcie dokładne jest moŜliwe równieŜ dla frame globalnych. Wyłączanie frame global-nych następuje tak jak w przypadku frame specyficznych dla kanału poprzez G53, G153, SUPA i G500.
Producent maszyny
Poprzez MD28081 MM_NUM_BASE_FRAMES moŜna zaprojektować liczbę frame bazo-wych w kanale. Konfiguracja standardowa jest tak zaprojektowana, Ŝe jest co najmniej jeden frame bazowy na kanał. Maksymalnie jest moŜliwych 8 frame bazowych na kanał. Dodatko-wo do 8 frame bazowych w kanale moŜe być jeszcze 8 frame globalnych NCU.
Frame specyficzne dla kanału
$P_CHBFR[n]
Poprzez zmienną systemową $P_CHBFR[n] mogą być czytane i zapisywane frame bazowe. Przy zapisaniu frame globalnego powiązany łączny frame bazowy nie jest uaktywniany, lecz uaktywnienie następuje dopiero przy wykonaniu instrukcji G500, G54..G599 . Zmienna słu-Ŝy przewaŜnie jako pamięć dla procesów zapisu na frame bazowym z MMC albo PLC. Te zmienne frame są zapisywane poprzez zachowanie danych.
Pierwszy frame bazowy w kanale
Zapis na predefiniowaną zmienną $P_UBFR uaktywnia frame bazowy z indeksem tablicy 0 nie równocześnie, lecz uaktywnienie następuje dopiero z wykonaniem instrukcji G500, G54..G599 . Zmienna moŜe być zapisywana i czytana równieŜ w programie.
$P_UBFR
$P_UBFR jest identyczne z $P_CHBFR[0] . Standardowo jest zawsze jeden frame bazowy w kanale, tak Ŝe zmienna systemowa jest kompatybilna ze starszymi wersjami. JeŜeli nie ma specyficznego dla kanału frame bazowego, jest przy zapisie albo odczycie wyprowadzany alarm "Frame: instrukcja niedopuszczalna".
Transformacje współrzędnych (FRAME) 5.7 Frame globalne NCU
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
311
5.7.2 Frame działaj ące w kanale
Działanie Frame działające w kanale są wprowadzane z programu obróbki poprzez odnośne zmienne systemowe tych frames. NaleŜą do tego równieŜ frame systemowe. Poprzez te zmienne sys-temowe moŜna w programie obróbki czytać i zapisywać aktualny frame systemowy.
Aktualne frame działaj ące w kanale
Przegląd
Aktualne frame systemowe dla:
$P_PARTFRAME TCARR i PAROT
$P_SETFRAME Ustawienie wartości rzeczywistej i draśnięcie
$P_EXTFRAME Zewnętrzne przesunięcie punktu zerowego
$P_NCBFRAME[n] Aktualne frame bazowe globalne dla NCU
$P_CHBFRAME[n] Aktualne frame bazowe kanału
$P_BFRAME Aktualny 1. frame bazowy w kanale
$P_ACTBFRAME Całkowity frame bazowy
$P_CHBFRMASK i $P_NCBFRMASK Całkowity frame bazowy
$P_IFRAME Aktualny ustawiany frame
Aktualne frame systemowe dla:
$P_TOOLFRAME TOROT i TOFRAME
$P_WPFRAME Punkty odniesienia obrabianego przedmiotu
$P_TRAFRAME Transformacje
$P_PFRAME Aktualny frame programowany
Aktualny frame systemowy dla:
$P_CYCFRAME Cykle
P_ACTFRAME Aktualny frame całkowity
Powiązanie FRAME Frame aktualny składa się z całkowitego frame bazowego
$P_NCBFRAME[n] Aktualne frame bazowe globalne dla N CU
Poprzez zmienną systemową $P_NCBFRAME[n] mogą być czytane i zapisywane aktualne globalne elementy tablicy frame bazowego. Wynikający całkowity frame bazowy jest wlicza-ny przez proces zapisu w kanale.
Transformacjwe współrzędnych (FRAME) 5.7 Frame globalne NCU
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
312
Zmieniony frame będzie aktywny tylko w kanale, w którym został zaprogramowany. JeŜeli frame ma zostać zmieniony dla wszystkich kanałów NCU, konieczne jest równoczesne zapisanie $P_NCBFR[n] i $P_NCBFRAME[n]. Inne kanały muszą wówczas jeszcze uaktyw-nić frame przy pomocy np. G54. Przy zapisie frame bazowego całkowity frame bazowy jest obliczany na nowo.
$P_CHBFRAME[n] Aktualny frame bazowy kanału
Poprzez zmienną systemową $P_CHBFRAME[n] mogą być czytane i zapisywane aktualne elementy tablicy frame bazowego kanału. Wynikający całkowity frame bazowy jest wliczany przez proces zapisu w kanale. Przy zapisie frame bazowego całkowity frame bazowy jest ob-liczany na nowo.
$P_BFRAME Aktualny 1. frame bazowy w kanale
Poprzez predefiniowaną zmienną frame $P_BFRAME aktualny frame bazowy z indeksem ta-blicy 0, który obowiązuje w kanale, moŜe być czytany i zapisywany w programie obróbki. Za-pisany frame bazowy jest natychmiast wliczany.
$P_BFRAME jest identyczna z $P_CHBFRAME[0]. Zmienna systemowa ma standardowo zawsze poprawną wartość. JeŜeli nie ma specyficznego dla kanału frame bazowego, jest przy zapisie albo odczycie wyprowadzany alarm "Frame: instrukcja niedopuszczalna".
$P_ACTBFRAME Całkowity frame bazowy
Zmienna $P_ACTBFRAME oblicza powiązany całkowity frame bazowy. Zmienna moŜe być tylko czytana.
$P_ACTFRAME odpowiada
$P_NCBFRAME[0] : ... : $P_NCBFRAME[n] : $P_CHBFRAME [0] : ... : $P_CHBFRAME[n].
Y
BKS
YBK
X
X
BK
BKS = bazowy układ współrz ędnych
BNS=układ bazowy punktu zerowego
BNS
Y BNS
X BNS
$P_NCBFRAME[0]
$P_NCBFRAME[n], n projektowane poprzez$MN_MM_NUM_GLOBAL_BASE_FRAMES
$P_CHBFRAME[0] = $P_BFRAME
$P_CHBFRAME[n], n projektowane poprzez$MC_MM_NUM_BASE_FRAMES
$P_ACTBFRAME
$P-ACTBFRAME = $ P_NCBFRAME[0] : $ P_NCBFRAME[n] : $ P_CHBFRAME[0] :$P_CHBFRAME[n]
Transformacje współrzędnych (FRAME) 5.7 Frame globalne NCU
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
313
$P_CHBFRMASK i $P_NCBFRMASK Całkowity frame bazowy
Poprzez zmienne systemowe $P_CHBFRMASK i $P_NCBFRMASK uŜytkownik moŜe wybrać, jakie frame bazowe chce włączyć do obliczenia "całkowitego" frame bazowego. Zmienne powinny być programowane tylko w programie i czytane poprzez BTSS. Wartość zmien-nych jest interpretowana jako maska bitowa i podaje, który element tablicy frame bazowego $P_ACTBFAME jest brany do obliczenia.
Przy pomocy $P_CHBFRMASK moŜna zadać, które specyficzne dla kanału frame bazowe, a przy pomocy $P_NCBFRMASK, które globalne dla NCU frame bazowe są wliczane.
Przez zaprogramowanie zmiennych całkowity frame bazowy i frame całkowity jest obliczany na nowo. Po zresetowaniu i w ustawieniu podstawowym wartość
$P_CHBFRMASK = $MC_CHBFRAME_RESET_MASK i
$P_NCBFRMASK = $MC_CHBFRAME_RESET_MASK.
wynosi np.
$P_NCBFRMASK = 'H81' ;$P_NCBFRAME[0] : $P_NCBFRAME[7]
$P_CHBFRMASK = 'H11' ;$P_CHBFRAME[0] : $P_CHBFRAME[4]
$P_IFRAME Aktualny ustawiany frame
Poprzez predefiniowaną zmienną frame $P_IFRAME aktualnie ustawiany frame, który obo-wiązuje w kanale, moŜe być czytany i zapisywany w programie obróbki. Zapisany ustawiany frame jest wliczany natychmiast.
W przypadku globalnych dla NCU frame ustawianych zmieniony frame działa tylko w tym kanale, w którym jest zaprogramowany. JeŜeli frame ma zostać zmieniony dla wszystkich kanałów NCU, musi równocześnie nastąpić opisanie $P_UIFR[n] i $P_IFRAME. Inne ka-nały muszą wówczas jeszcze uaktywnić odpowiedni frame przy pomocy np. G54.
$P_PFRAME Aktualny frame programowalny
$P_PFRAME jest to frame programowany, który wynika z zaprogramowania TRANS/ATRANS, G58/G59, ROT/AROT, SCALE/ASCALE, MIRR OR/AMIRROR wzgl. z przyporządkowania CTRANS, CROT, CMIRROR, CSCALE do programowanego FRAME.
Aktualna, programowana zmienna frame, która tworzy odniesienie między ustawianym
● systemem punktu zerowego (ENS) i
● układem współrzędnych obrabianego przedmiotu (WKS).
Transformacjwe współrzędnych (FRAME) 5.7 Frame globalne NCU
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
314
P_ACTFRAME Aktualny frame całkowity
Aktualny wynikający frame łączny $P_ACTFRAME wynika teraz jako powiązanie wszystkich frame bazowych, aktualnego frame ustawianego i frame programowanych. Aktualny frame jest uaktualniany zawsze wtedy, gdy zmienia się jego składowa.
$P_ACTFRAME odpowiada $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ACTBF RAME : $P_IFRAME :
$P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME : $P_PFRAME : $P_CYCFRAME
Transformacje współrzędnych (FRAME) 5.7 Frame globalne NCU
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
315
Powi ązanie frame
Aktualny frame składa się z całkowitego frame bazowego, frame ustawianego, frame syste-mowego i frame programowanego według wyŜej podanego frame całkowitego.
Transformacja kinematyczna
Przesun. kółkiem ręcznym (DRF), ruch nałoŜony,[zewn. przesun. punktu zerowego]
MKS
WKS
ENS
BNS
BKS
Frame dla cykli, Frame programowany
Frame systemowy dla TOROT(TOFRAME), obrabiane przedmioty
G54 ... G599 frame nastawianespec. dla kanału albo globalne dla NCU
Powiązana tablica frame bazowego,spec. dla kanału i / albo glob. dla NCU
Powiązane frame systemowe do nastaw. wart. rzeczyw.,draśnięcia, zewn., przes. punktu zerowego, PAROT
M KS = układ współrz. maszyny BKS = bazowy układ współrz. WKS = układ wsp. obrabianego przedmiotu
BNS = U kład baz. punktu zer. ENS = nastaw. układ punktu zeroweg o
Łańcuch frame
Przesunięcie punktu bazowego
Transformacjwe współrzędnych (FRAME) 5.7 Frame globalne NCU
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
316
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
317
Transformacje 6
Działanie ogólne
W celu dopasowywania sterowania do róŜnych kinematyk maszyny moŜna wybrać progra-mowanie rodzajów transformacji przy pomocy odpowiednich parametrów. Poprzez te para-metry moŜna dla wybranej transformacji odpowiednio uzgodnić zarówno orientację narzę-dzia w przestrzeni jak teŜ ruchy orientacji.
Przy transformacjach trzy-, cztero- i pięcioosiowych zaprogramowane dane dot. pozycji od-noszą się zawsze do wierzchołka narzędzia, który jest ortogonalnie aktualizowany do znaj-dującej się w przestrzeni powierzchni obróbki. Współrzędne kartezjańskie są przeliczane z bazowego układu współrzędnych na układ współrzędnych maszyny i odnoszą się do osi geometrycznych. Te opisują punkt roboczy. Wirtualne osie obrotowe opisują orientacje na-rzędzia w przestrzeni i są programowane przy pomocy TRAORI.
Przy transformacji kinematycznej pozycje mogą być programowane w kartezjańskim ukła-dzie współrzędnych. Sterowanie transformuje zaprogramowane przy pomocy TRANSMIT, TRACYL i TRAANG ruchy kartezjańskiego układu współrzędnych na ruchy realnych osi ma-szyny.
Programowanie Transformacje trzy-, cztero- i pi ęcioosiowe TRAORI
Uzgodniona transformacja orientacji jest uaktywniana przy pomocy polecenia TRAORI i trzech moŜliwych parametrów dla numeru transformacji, wektora orientacji i offsetów osi ob-rotowych.
TRAORI(numer transformacji, wektor orientacji, offs ety osi obroto-wych)
Transformacje 6.1 Ogólne programowanie rodzajów transformacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
318
Transformacja kinematyczna
Do transformacji kinematycznych naleŜą uzgodnione transformacje TRANSMIT(numer transformacji) TRACYL średnica robocza, numer transformacji) TRAANG(kąt osi ustawionej sko śnie, numer transformacji)
Wyłączenie aktywnej transformacji
Przy pomocy TRAFOOF moŜna wyłączyć właśnie aktywną transformację.
Transformacja orientacji
Transformacje trzy-, cztero- i pi ęcioosiowe TRAORI
Do optymalnej obróbki powierzchni ukształtowanych przestrzennie w przestrzeni roboczej maszyny, obrabiarki potrzebują oprócz trzech osi liniowych X, Y i Z, jeszcze osi dodatko-wych. Dodatkowe osie opisują orientację w przestrzeni i są dalej nazywane osiami orientacji. Są one do dyspozycji jako osie obrotu w przypadku czterech typów maszyn z róŜną kinema-tyką.
1. Dwuosiowa głowica skrętna, np. głowica narzędziowa Kardana z osią obrotową równole-gle do osi liniowej przy nieruchomym stole narzędziowym.
2. Dwuosiowy stół obrotowy, np. nieruchoma głowica skrętna ze stołem narzędziowym obra-canym wokół dwóch osi.
3. Jednoosiowa głowica skrętna i jednoosiowy stół obrotowy, np. obrotowa głowica skrętna z narzędziem obróconym przy stole narzędziowym obracanym wokół jednej osi.
4. Dwuosiowa głowica skrętna i jednoosiowy stół obrotowy, np. przy stole narzędziowym ob-racanym wokół jednej osi i obrotowa głowica skrętna z narzędziem obracanym wokół wła-snej osi.
Transformacje 3- i 4-osiowe są specjalnymi formami transformacji 5-osiowej i są programo-wane analogicznie do transformacji 5-osiowych.
Transformacja orientacji 3-/4-/5-/6-osiowa pokrywa swoim zakresem funkcji prostopadle umieszczone osie obrotowe jak teŜ transformacje dla głowicy frezarskiej Kardana i moŜe jak kaŜda inna transformacja orientacji być uaktywniana przy pomocy TRAORI równieŜ dla tych czterech typów maszyn. Przy rodzajowej transformacji 5/6-osiowej orientacja narzędzia ma kolejny trzeci stopień swobody, przy którym oprócz dowolnego kierunku narzędzia w prze-strzeni, narzędzie moŜe być obracane wokół własnej osi.
Literatura: /FB3/ Podręcznik działania Funkcje specjalne; Transformacja 3- do 5-osiowej (F2)
Transformacje 6.1 Ogólne programowanie rodzajów transformacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
319
NiezaleŜne od kinematyki poło Ŝenie podstawowe orientacji narz ędzia
ORIRESET
JeŜeli przy pomocy TRAORI jest aktywna transformacja orientacji, wówczas moŜna przy pomocy ORIRESET podać połoŜenia podstawowe do 3 osi orientacji z opcjonalnymi para-metrami A, B, C. Przyporządkowanie kolejności zaprogramowanych parametrów do osi ob-rotowych następuje według kolejności osi orientacji ustalonej przez transformację. Zapro-gramowanie ORIRESET(A, B, C) powoduje, Ŝe osie orientacji wykonują ruch liniowy i syn-chroniczny od swojej aktualnej pozycji do podanej pozycji połoŜenia podstawowego.
Transformacje kinematyczne
TRANSMIT i TRACYL
Przy obróbkach frezarskich na tokarkach moŜna dla uzgodnionej transformacji zaprogramo-wać albo
1. obróbkę na stronie czołowej w zamocowaniu tokarskim z TRANSMIT albo
2. obróbkę dowolnie przebiegających rowków na elementach walcowych z TRACYL.
TRAANG
JeŜeli oś dosuwu, np. dla technologii szlifowania, ma być dosuwana równieŜ skośnie, wów-czas moŜna przy pomocy TRAANG dla uzgodnionej transformacji zaprogramować parame-tryzowalny kąt.
Ruch kartezja ński PTP
Do transformacji kinematycznej naleŜy równieŜ "ruch kartezjański PTP" przy którym moŜna programować do 8 róŜnych połoŜeń przegubu STAT=. Pozycje są programowane w karte-zjańskim układzie współrzędnych, przy czym ruch maszyny następuje we współrzędnych maszyny.
Literatura:
/FB2/ Podręcznik działania Funkcje rozszerzające, Transformacja kinematyczna (M1)
Transformacje 6.1 Ogólne programowanie rodzajów transformacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
320
Transformacje powi ązane
KaŜdorazowo moŜna połączyć dwie transformacje jedna za drugą. W przypadku powiązanej przez to drugiej transformacji udziały osi w ruchu są przejmowane z pierwszej transformacji.
Jako pierwsza transformacja są moŜliwe:
● transformacja orientacji TRAORI
● transformacja biegunowa TRANSMIT
● transformacja walcowa TRACYL
● transformacja oś skośna TRAANG
Druga transformacja musi być skośną osią TRAANG
6.1.1 Ruchy orientacji przy transformacjach
Ruchy post ępowe i ruchy orientacji
Ruchy programowalnych orientacji zaleŜą pierwotnie od typu maszyny. Przy transformacji trzy-, cztero- i pięcioosiowej z TRAORI osie obrotowe albo osie skrętne osie liniowe opisują ruchy orientacji narzędzia. Zmiany pozycji osi obrotowych uczestniczących w transformacji orientacji prowadzą do ru-chów wyrównawczych pozostałych osi maszyny. PołoŜenie wierzchołka narzędzia pozostaje przy tym niezmienione. Ruchy orientacji narzędzia mogą być programowane poprzez identyfikatory osi obrotowych A..., B..., C... osi wirtualnych zaleŜnie od zastosowania albo przez podanie kątów Eulera wzgl. kątów RPY albo wektorów kierunkowych wzgl. wektorów normalnej powierzchni, wek-torów normalizowanych dla osi obrotu stoŜka albo dla orientacji pośredniej na pobocznicy stoŜka. Przy transformacji kinematycznej z TRANSMIT, TRACYL i TRAANG sterowanie transformu-je zaprogramowane ruchy kartezjańskiego układu współrzędnych na ruchy realnych osi ma-szyny.
Transformacje 6.1 Ogólne programowanie rodzajów transformacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
321
Kinematyka maszyny przy transformacji trzy-, cztero - i pi ęcioosiowej TRAORI
Obrotowe moŜe być albo narzędzie albo stół narzędziowy z maksymalnie dwoma osiami ob-rotowymi. Kombinacja kaŜdorazowo jednoosiowej głowicy skrętnej i stołu obrotowego jest równieŜ moŜliwa.
Typ maszyny Programowanie orientacji Transformacja trzyosiowa
Typy maszyny 1 i 2
Programowanie orientacji narzędzia tylko w płaszczyź-nie, która jest prostopadła do osi obrotowej. Istnieją dwie osie postępowe (liniowe) i jedna oś rotacyjna (ob-rotowa).
Transformacja czteroosiowa Typy maszyny 1 i 2
Programowanie orientacji narzędzia tylko w płaszczyź-nie, która jest prostopadła do osi obrotowej. Istnieją trzy osie ruchu postępowego (liniowe) i jedna oś rotacyjna (obrotowa).
Transformacja pięcioosiowa Typy maszyny 3 Jednoosiowa głowica skrętna i jednoosiowy stół obrotowy
Programowanie transformacji orientacji. Kinematyka z trzema osiami liniowymi i dwoma ortogonalnymi osia-mi obrotowymi. Osie obrotowe są równoległe do dwóch z trzech osi liniowych. Pierwsza oś obrotowa jest poruszana od dwóch karte-zjańskich osi liniowych. Obraca ona trzecią oś liniową z narzędziem. Druga oś obrotowa obraca obrabianym przedmiotem.
Transformacje 6.1 Ogólne programowanie rodzajów transformacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
322
Transformacje rodzajowe 5/6-osiowe
Typ maszyny Programowanie transformacji orientacji
Transformacja rodzajowa pię-cio-/sześcioosiowa
Typy maszyn 4
Dwuosiowa głowica skrętna z narzędziem obrotowym wo-kół siebie samego i jedno-osiowego stołu obrotowego
Programowanie transformacji orientacji. Kinematyka z trzema osiami liniowymi i trzema ortogonalnymi osiami obrotowymi.
Osie obrotowe są równoległe do dwóch z trzech osi li-niowych.
Pierwsza oś obrotowa jest poruszana od dwóch karte-zjańskich osi liniowych. Obraca ona trzecią oś liniową z narzędziem. Druga oś obrotowa obraca obrabianym przedmiotem.
Podstawowa orientacja narzędzia moŜe zostać zapro-gramowana przez dodatkowy obrót wokół niego o kąt THETA.
Przy wywołaniu "transformacji rodzajowej trzy-, cztero- i pięcio-/sześcioosiowej" moŜna do-datkowo przekazać orientację podstawową narzędzia. Ograniczenia odnośnie kierunków osi obrotowych juŜ nie obowiązują. JeŜeli osie obrotowe nie są dokładnie prostopadłe do siebie albo występujące osie obrotowe nie są ustawione dokładnie równolegle do osi liniowych, "ro-dzajowa transformacja pięcio-/sześcioosiowa" moŜe dać lepsze wyniki orientacji narzędzia.
Transformacja kinematyczna TRANSMIT, TRACYL i TRAAN G
Dla obróbek frezarskich na tokarkach albo skośnie dosuwanej osi przy szlifowaniu obowiązu-ją zaleŜnie od transformacji w przypadku standardowym następujące układy osi:
TRANSMIT Uaktywnienie transformacji biegunowej
Obróbka czołowa w zamocowaniu tokarskim
Jedna oś obrotowa Jedna oś dosuwu prostopadła do osi obrotu Jedna oś podłuŜna równoległa do osi obrotu
TRACYL Uaktywnienie transformacji pobocznicy walca
Obróbka dowolnie przebiegających rowków na elementach cylindrycz-nych
Jedna oś obrotowa Jedna oś dosuwu prostopadła do osi obrotu Jedna oś podłuŜna równoległa do osi obrotu
Transformacje 6.1 Ogólne programowanie rodzajów transformacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
323
TRAANG Uaktywnienie transformacji o ś sko śna
Obróbka ze skośną osią dosuwu Jedna oś obrotowa Jedna oś dosuwu o parametryzowanym kącie Jedna oś podłuŜna równoległa do osi obrotu
Ruch kartezja ński PTP
Ruch maszyny następuje we współrzędnych maszyny i jest programowany przy pomocy:
TRAANG Uaktywnienie transformacji o ś sko śna PTP Ruch punkt do punktu Ruch do pozycji w kartezjańskim układzie współrzędnych (MKS)
CP Ruch konturowy osi kartezjańskich w (BKS)
STAT PołoŜenie przegubów jest zaleŜne od transformacji
TU Kąt, o który osie wykonują ruch po najkrótszej drodze
Ruch PTP przy rodzajowej transformacji 5/6-osiowej
Ruch maszyny następuje we współrzędnych maszyny a orientacja narzędzia moŜe zostać zaprogramowana zarówno przy pomocy pozycji osi obrotowych jak równieŜ przy pomocy niezaleŜnych od kinematyki wektorów kąt Eulera wzgl. kąt RPY albo wektorów biegunowych. Jest przy tym moŜliwa interpolacja osi obrotowej, interpolacja wektorowa z interpolacją wiel-kiego okręgu albo interpolacja wektora orientacji.
Przykład, transformacja trzy- do pi ęcioosiowej w przypadku głowicy frezarskiej Kardana
Obrabiarka ma co najmniej 5 osi, z tego ● Trzy osie ruchu prostoliniowego, które przesuwają punkt roboczy do dowolnej pozycji w przestrzeni roboczej. ● Dwie obrotowe osie skrętne, które są umieszczone pod projektowalnym kątem (najczęściej 45 stopni), umoŜliwiają narzędziu przyjmowanie zorientowanej pozycji w przestrzeni i przy umieszczeniu pod kątem 45 stopni ograniczają się do półkuli.
Transformacje 6.1 Ogólne programowanie rodzajów transformacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
324
6.1.2 Przegl ąd transformacji orientacji TRAORI
MoŜliwe rodzaje transformacji w zwi ązku z TRAORI
Typ maszyny Programowanie przy aktywnej transformacji TRAORI Typy maszyny 1, 2 albo 3 Dwuosiowa głowica skrętna albo dwuosiowy stół obro-towy albo kombinacja gło-wicy skrętnej i stołu obroto-wego mających po jednej osi.
Kolejność osi orientacji i kierunek orientacji narzędzia moŜna projek-tować albo w odniesieniu do maszyny poprzez dane maszynowe zaleŜnie od kinematyki maszyny albo w odniesieniu do obrabianego przedmiotu z programowalną orien-tacją niezaleŜnie od kinematyki maszyny Kierunki obrotu osi orientacji w systemie odniesienia są programowa-ne przy pomocy: - ORIMKS system odniesienia = układ współrzędnych maszyny - ORIWKS system odniesienia = układ współrzędnych obrabianego przedmiotu Ustawieniem podstawowym jest ORIWKA. Programowanie osi orientacji przy pomocy: A, B, C pozycji osi maszyny bezpośrednio A2, B2, C2 programowanie kąta osi wirtualnych przy pomocy - ORIEULER poprzez kąt Eulera (standardowo) - ORIRPY poprzez kąt RPY - ORIVIRT1 poprzez wirtualne osie orientacji 1. definicja - ORIVIRT2 poprzez wirtualne osie orientacji 2. definicja z rozróŜnieniem rodzaju interpolacji: Interpolacja liniowa - ORIAXES osi orientacji albo osi maszynowych Interpolacja wielkiego okr ęgu (interpolacja wektora orientacji) - ORIVECT osi orientacji Programowanie osi orientacji przez podanie A3, B3, C3 składowych wektorowych (normalna kierunku/powierzchni) Programowanie wynikowej orientacji narzędzia A4, B4, C4 wektora normalnej powierzchni na początku bloku A5, B5, C5 wektora normalnej powierzchni na końcu bloku LEAD kąt wyprzedzenia dla orientacji narzędzia TILT kąt boczny dla orientacji narzędzia
Transformacje 6.1 Ogólne programowanie rodzajów transformacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
325
Typ maszyny Programowanie przy aktywnej transformac ji TRAORI Interpolacja wektora orientacji na pobocznicy stoŜka
Zmiana orientacji na pobocznicy stoŜka dowolnie znajdującej się w przestrzeni przez interpolację: - ORIPLANE w płaszczyźnie (interpolacja wielkiego okręgu) - ORICONCW na pobocznicy stoŜka w kierunku ruchu wskazó-wek zegara - ORICONCCW na pobocznicy stoŜka przeciwnie do ruchu wskazówek zegara A6, B6, C6 wektora biegunowego (oś obrotu stoŜka) -OICONIO interpolacja na pobocznicy stoŜka z: A7, B7, C7 wektory pośrednie (orientacja startowa i końcowa) albo - ORICONTO na pobocznicy stoŜka przejście styczne Zmiany orientacji odniesione do toru z - ORICURVE zadanie ruchu dwóch punktów kontaktowych przez PO[XH]=(xe, x2, x3, x4, x5) wielomiany orientacji do 5. stopnia PO[YH]=(ye, y2, y3, y4, y5) wielomiany orientacji do 5. stopnia PO[ZH]=(ze, z2, z3, z4, z5) wielomiany orientacji do 5. stopnia - ORIPATHS wygładzanie przebiegu orientacji z A8, B8, C8 Faza przeorientowania narzędzia odpowiada:
Kierunek i długość drogi narzędzia przy cofnięciu
Typy maszyn 1 i 3
Dalsze typy maszyn z dodatko-wym obrotem narzędzia wokół siebie samego wymagają 3. osi obrotowej
Transformacja orientacji, jak np. rodzajowa transformacja 6-osiowa. Obroty wektora orienta-cji.
Programowanie obrotów orientacji narzędzia przy pomocy LEAD kąt wyprzedzenia w stosunku do wektora normalnej po-wierzchni PO[PHI] programowanie wielomianu do 5. stopnia TILT kąt boczny obrót wokół stycznej toru (kierunek Z) PO[PSI] programowanie wielomianu do 5. stopnia THETA kąt obrotu (obrót wokół kierunku narzędzia w Z) THETA= wartość, która jest uzyskiwana na końcu bloku THETA=AC(...) przełączenie pojedynczymi blokami na absolut-ne podawanie wymiarów THETA=IC(...) przełączenie pojedynczymi blokami na przyro-stowe podawanie wymiarów THETA=Θe interpolacja zaprogramowanego kąta G90/G91 PO[THT]=(..) Programowanie wielomianu do 5. stopnia Programowanie wektora obrotu - ORIROTA obrót absolutny - ORIROTR względny wektor obrotu - ORIROTT styczny wektor obrotu
Odniesiona do toru orientacja dla zmian orientacji w stosunku do toru albo obrót wektora obrotu stycznie do toru
Zmiany orientacji w stosunku do toru przy pomocy
- ORIPATH orientacja narzędzia w odniesieniu do toru
- ORIPATHS dodatkowo w przypadku załamania w przebiegu orientacji
Programowanie wektora obrotu
- ORIROTC styczny wektor obrotu, obrót stycznej do toru
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
326
6.2 Transformacja trzy-, cztero- i pi ęcioosiowa (TRAORI)
6.2.1 ZaleŜności ogólne głowicy narz ędziowej Kardana
Działanie Aby uzyskać optymalne warunki skrawania przy obrabianiu powierzchni przestrzennie za-krzywionych, kąt ustawienia narzędzia musi się dawać zmieniać.
Przy pomocy jakiej konstrukcji maszyny jest to uzyskiwane, jest zapisane w danych osi.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
327
Transformacja 5-osiowa
Głowica narz ędziowa Kardana
Tutaj trzy osie liniowe (X, Y, Z) i dwie osie orientacji ustalają kąt ustawienia i punkt roboczy narzędzia. Jedna z obydwu osi orientacji jest przyłoŜona jako oś skośna, tutaj w przykładzie A' - w wielu przypadkach jako układ 45°.
W pokazanych tutaj przykładach widzicie układy na przykładzie z głowicą narzędziową kar-dana kinematyki maszyny CA!
Producent maszyny
Kolejność osi orientacji i kierunek orientacji narzędzia są zaleŜnie od kinematyki maszyny ustawiane poprzez dane maszynowe.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
328
W tym przykładzie A' leŜy pod kątem φ w stosunku do osi X Ogólnie obowiązują następujące moŜliwe zaleŜności: A' leŜy pod kątem φ w stosunku do osi X B' leŜy pod kątem φw stosunku do osi Y C' leŜy pod kątem φw stosunku do osi Z
Kąt φ moŜe być projektowany w zakresie 0° do +89°.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
329
Ze skrętną osi ą liniow ą
Chodzi przy tym o układ z poruszanym obrabianym przedmiotem i poruszanym narzędziem. Kinematyka składa się z trzech osi liniowych (X, Y, Z) i dwóch prostopadle usytuowanych osi obrotowych. Pierwsza oś obrotowa jest poruszana np. poprzez sanie krzyŜowe o dwóch osiach liniowych, narzędzie jest ustawione równolegle do trzeciej osi liniowej. Druga oś ob-rotu obraca obrabiany przedmiot. Trzecia oś liniowa (oś skrętna) leŜy w płaszczyźnie sani krzyŜowych.
Kolejność osi rotacyjnych i kierunek orientacji narzędzia są zaleŜnie od kinematyki maszyny ustawiane poprzez dane maszynowe.
Obowiązują następujące moŜliwe zaleŜności:
Osie Kolejno ści osi: 1. oś obrotowa 2. oś obrotowa Skręcona oś liniowa
A A B B C C B C A C A B Z Y Z X Y X
Dalsze objaśnienia dot. konfigurowalnych kolejności osi dla kierunku orientacji narzędzia patrz Literatura : /FB3/ Podręcznik działania Funkcje specjalne; transformacja 3- do 5-osiowej (F2), punkt Głowica frezarska Kardana, "Parametryzacja".
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
330
6.2.2 Transformacja trzy-, cztero- i pi ęcioosiowa (TRAORI)
Działanie
UŜytkownik moŜe projektować dwie wzgl. trzy osie ruchu postępowego. Transformacje za-kładają, Ŝe oś obrotowa jest ustawiona ortogonalnie na płaszczyźnie orientacji.
Orientacja narzędzia jest moŜliwa tylko w płaszczyźnie, która jest prostopadła do osi obroto-wej. Transformacja obsługuje typy maszyn o ruchomym narzędziu i ruchomym obrabianym przedmiocie.
Projektowanie i programowanie transformacji trzy- i czteroosiowych jest analogiczne do transformacji pięcioosiowych.
Literatura:
/FB3/ Podręcznik działania Funkcje specjalne; Transformacje 3- do 5-osiowych (F2)
Programowanie
TRAORI(n)
albo
TRAORI(n,X,Y,Z,A,B)
albo
TRAFOOF
Parametry TRAORI Uaktywnia pierwsz ą uzgodnion ą transformacj ę
orientacji TRAORI(n) Uaktywnia transformacj ę orientacji uzgodnion ą
przy pomocy n n Numer transformacji (n = 1 albo 2), TRAORI(1)
odpowiada transformacja orientacji wł. X,Y,Z Składowa wektora orientacji, na któr ą wskazuje
narz ędzie. A,B Programowalny offset dla osi obrotowych TRAFOOF Wył ączenie transformacji
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
331
Orientacja narz ędzia
ZaleŜnie od wybranego kierunku orientacji narzędzia aktywna płaszczyzna robocza (G17, G18, G19) musi być tak ustawiona w programie NC, by korekcja długości narzędzia działała w kierunku orientacji narzędzia.
Wskazówka
Po włączeniu transformacji dane dot. pozycji odnoszą się zawsze do wierzchołka narzędzia. (X, Y, Z). Zmiana pozycji osi obrotowych uczestniczących w transformacji prowadzi do ta-kich ruchów wyrównawczych pozostałych osi maszyny, Ŝe pozycja wierzchołka narzędzia pozostaje bez zmian.
Transformacja orientacji jest zawsze skierowana od wierzchołka narzędzia do jego uchwytu.
Przykład, transformacje rodzajowe
Podstawowa orientacja narzędzia wskazuje w:
TRAORI(1,0,0,1) kierunek Z
TRAORI(1,0,1,0) kierunek Y
TRAORI(1,0,1,1) kierunek Y/Z (odpowiada połoŜeniu -45°)
Offset dla osi orientacji
Przy uaktywnieniu transformacji orientacji moŜna bezpośrednio zaprogramować dodatkowy offset dla osi orientacji.
Wolno pominąć parametry, gdy przy programowaniu zostanie zachowana prawidłowa kolej-ność.
Przykład
TRAORI(, , , ,A,B) gdy ma zostać wprowadzony tylko jeden jedyny offset.
Alternatywnie do bezpośredniego programowania moŜna ten dodatkowy offset dla osi orien-tacji równieŜ przejąć automatycznie z aktualnie aktywnego przesunięcia punktu zerowego. Przejęcie jest projektowane poprzez dane maszynowe.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
332
6.2.3 Warianty programowania orientacji i poło Ŝenie podstawowe (OTIRESET)
Programowanie orientacji narz ędzia przy TRAORI W połączeniu z programowaną transformacją orientacji TRAORI mogą dodatkowo do osi li-niowych X, Y, Z być poprzez identyfikatory osi obrotowych A..., B..., C... programowane po-zycje osi albo osie wirtualne z kątami albo komponentami wektorowymi. Dla osi orientacji i osi maszyny są moŜliwe róŜne rodzaje interpolacji. NiezaleŜnie od tego, jakie wielomiany orientacji PO[kąt] i wielomiany osi są właśnie aktywne, moŜe być zaprogramowanych wiele róŜnych rodzajów wielomianów jak np. G1, G2, G3, CIP albo POLY. Zmiana orientacji narzędzia moŜe zostać zaprogramowana poprzez wektory orientacji. Przy tym orientacja końcowa kaŜdego bloku moŜe nastąpić albo przez programowanie bezpo-średnie wektora albo przez programowanie pozycji osi obrotowych.
Wskazówka
Warianty programowania orientacji przy transformacj i trzy- do pi ęcioosiowej
Przy transformacji trzy- do pięcioosiowej warianty 1. A, B, C bezpośrednie podanie pozycji osi maszyny 2. A2, B2, C2 programowanie kąta osi wirtualnych poprzez kąt Eulera albo kąt RPY 3. A3, B3, C3 podanie składowych wektorowych 4. LEAD, TILT podanie kąta wyprzedzenia i kąta bocznego w odniesieniu do toru i po-wierzchni 5. A4, B4, C4 i A5, B5, C5 wektor normalnej powierzchni na początku i na końcu bloku 6. A6, B6, C6 i A7, B7, C7 interpolacja wektora orientacji na pobocznicy stoŜka 7. A8, B8, C8 przeorientowanie narzędzia, kierunku i długości drogi ruchu cofnięcia wzajemnie wykluczają się. Mieszane programowanie wartości jest uniemoŜliwiane przez komunikaty alarmowe.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
333
Poło Ŝenie podstawowe orientacji narz ędzia ORIRESET
Przez zaprogramowanie ORIRESET(A, B, C) ruchy w osiach orientacji są wykonywane li-niowo i synchronicznie od ich aktualnej pozycji do podanej pozycji połoŜenia podstawowego. JeŜeli dla osi nie zostanie zaprogramowana pozycja połoŜenia podstawowego, wówczas jest stosowana zdefiniowana pozycja z przynaleŜnej danej maszynowej $MC_TRAFO5_ROT_AX_OFFSET_1/2. Ewentualnie aktywne frame osi obrotowych nie są przy tym uwzględniane.
Wskazówka
Tylko gdy jest aktywna transformacja orientacji z TRAORI(...), moŜe zostać zaprogramowa-ne połoŜenie podstawowe orientacji narzędzia niezaleŜnie od kinematyki przy pomocy ORIRESET(...) bez alarmu 14101.
Przykłady 1. Przykład dla kinematyki maszyny CA (nazwy osi ma szyny C, A) ORIRESET(90, 45) ; C na 90 stopni, A na 45 stopni ORIRESET(, 30) ;C na $MC_TRAFO5_ROT_AX_OFFSET_1/2[ 0], A na 30
stopni ORIRESET( ) ;C na $MC_TRAFO5_ROT_AX_OFFSET_1/2[0], ;A na $MC_TRAFO5_ROT_AX_OFFSET_1/2[1] 2. Przykład dla kinematyki maszyny CAC (nazwy osi k anału C, A, B) ORIRESET(90, 45, 90) ;C na 90 stopni, A na 45 stopn i, B na 90
stopni ORIRESET( ) ;C na $MC_TRAFO5_ROT_AX_OFFSET_1/2[0], ;A na $MC_TRAFO5_ROT_AX_OFFSET_1/2[1], ;B na $MC_TRAFO5_ROT_AX_OFFSET_1/2[2]
Programowanie obrotów LEAD, TILT i THETA
Obroty orientacji narzędzia w przypadku transformacji trzy- do pięcioosiowej są programo-wane przy pomocy kątów wyprzedzenia LEAD i kątów bocznych TILT.
Przy transformacji z trzecią osią obrotową są zarówno dla orientacji z komponentami wekto-rowymi jak równieŜ z podaniem kątów LEAD, TILT dozwolone dodatkowe zaprogramowania C2 (obroty wektora orientacji).
Z dodatkową trzecią osią obrotową moŜe zostać zaprogramowany obrót narzędzia wokół siebie samego z kątem obrotu THETA.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
334
6.2.4 Programowanie orientacji narz ędzia (A..., B..., C..., LEAD, TILT)
Działanie
Są następujące moŜliwości programowania orientacji narzędzia.
1. Bezpośrednie programowanie ruchu osi obrotowych. Zmiana orientacji następuje zawsze w bazowym układzie współrzędnych wzgl. układzie współrzędnych maszyny. Osie orien-tacji wykonują zawsze ruch jako osie synchroniczne.
2. Programowanie w kątach Eulera albo RPY według definicji kąta poprzez A2, B2, C2 .
3. Programowanie wektora biegunowego poprzez A3, B3, C3 . Wektor biegunowy jest skierowany od wierzchołka narzędzia w kierunku uchwytu.
4. Programowanie wektora normalnej powierzchni na początku bloku przy pomocy A4, B4, C4 i na końcu bloku przy pomocy A5, B5, C5 (frezowanie czołowe).
5. Programowanie poprzez kąt wyprzedzenia LEAD i kąt boczny TILT
6. Programowanie osi obrotu stoŜka jako wektor znormalizowany przez A6, B6, C6 albo orientacja pośrednia na pobocznicy stoŜka przez A7, B7, C7 , patrz punkt "Programo-wanie orientacji wzdłuŜ pobocznicy stoŜka (ORIPLANE, ORICONxx)".
7. Programowanie przeorientowania, kierunku i długości drogi narzędzia podczas ruchu cof-nięcia przez A8, B8, C8 , patrz punkt "Wygładzanie przebiegu orientacji (ORIPATHS A8=, B8=, C8=)"
Wskazówka
We wszystkich przypadkach programowanie orientacji jest dopuszczalne tylko wtedy, gdy transformacja orientacji jest włączona.
Zaleta: te programy dają się przenosić na kaŜdą kinematykę maszyny.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
335
Definicja orientacji narz ędzia poprzez G-Code
Wskazówka
Producent maszyny
Poprzez daną maszynową moŜna przełączać między kątami Eulera i kątami RPY. Przy odpowiednich ustawieniach danych maszynowych jest moŜliwe przełączanie zarówno za-leŜnie jak i niezaleŜnie od aktywnego G-Code grupy 50. Są do dyspozycji następujące moŜ-liwości wyboru:
1. Gdy obydwie dane maszynowe do definicji osi orientacji i definicji kąta orientacji poprzez G-Code są ustawione na zero.
Kąty zaprogramowane przy pomocy A2, B2, C2 są w zaleŜności od danej maszyno-wej definicja kąta zaprogramowania orientacji interpretowane albo jako kąty Eulera albo kąty RPY.
2. Gdy dana maszynowa do definicji osi orientacji poprzez G-Code jest ustawiona na jeden, przełączenie następuje zaleŜnie od aktywnego G-Code grupy 50:
Kąty zaprogramowane przy pomocy A2, B2, C2 są interpretowane według jednego z aktywnych G-Code ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2, ORIAXPOS i ORIPY2. Wartości zaprogramowane z osiami orientacji są interpretowane odpowiednio do aktywnego G-Code grupy 50 jako kąt orientacji.
3. Gdy dana maszynowa do definicji kątów orientacji poprzez G-Code jest ustawiona na jeden a dana maszynowa do definicji osi orientacji poprzez G-Code jest ustawiona na zero, przełączenie następuje niezaleŜnie od aktywnego G-Code grupy 50:
Kąty zaprogramowane przy pomocy A2, B2, C2 są interpretowane według jednego z aktywnych G-Code ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2, ORIAXPOS i ORIPY2.
Wartości zaprogramowane z osiami orientacji są niezaleŜnie od aktywnego G-Code grupy 50 zawsze interpretowane jako pozycje osi obrotowych.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
336
Programowanie
G1 X Y Z A B C Programowanie ruchu osi obrotowych G1 X Y Z A2= B2= C2= Programowanie w kątach Eulera G1 X Y Z A3== B3== C3== Programowanie wektora biegunowego G1 X Y Z A4== B4== C4== Programowanie wektora normalnej powierzchni na
początku bloku G1 X Y Z A5== B5== C5== Programowanie wektora normalnej powierzchni na
końcu bloku LEAD= Kąt wyprzedzenia do programowania orientacji
narzędzia TILT= Kąt w kierunku bocznym do programowania orien-
tacji narzędzia
Parametry G.... Podanie rodzaju ruchu osi obrotowych X Y Z Podanie osi liniowych A B C Podanie pozycji osi obrotowych maszyny A2 B2 C2 Programowanie k ąta (k ąt Eulera albo RPY) osi wirtu-
alnych wzgl. osi orientacji A3 B3 C3 Podanie składowych wektora biegunowego A4 B4 C4 Podanie, np. przy frezowaniu czołowym, sk ładowej
wektora normalnej powierzchni na pocz ątku bloku A5 B5 C5 Podanie, np. przy frezowaniu czołowym, sk ładowej
wektora normalnej powierzchni na ko ńcu bloku LEAD K ąt w stosunku do wektora normalnej powierzchni,
w płaszczy źnie wyznaczonej przez styczn ą do toru i wektor normalnej powierzchni
TILT K ąt w płaszczy źnie, prostopadle do stycznej do toru w stosunku do wektora normalnej powierzchni
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
337
Przykład, zestawienie bez i z transformacj ą 5-osiow ą
Opis
Z reguły programy 5-osiowe są wytwarzane przez systemy CAD/CAM a nie wprowadzane na sterowaniu. Dlatego poniŜsze objaśnienia są skierowane głównie do programistów post-procesorów.
Rodzaj programowania orientacji jest ustalany w G-Code grupa 50:
ORIEULER poprzez kąt Eulera
ORIRPY poprzez kąt RPY (kolejność obrotów ZYX)
ORIVIRT1 poprzez wirtualne osie orientacji (definicja 1)
ORIVIRT2 poprzez wirtualne osie orientacji (definicja 2)
ORIAXPOS poprzez wirtualne osie orientacji z pozycjami osi obrotowych
ORIPY2 poprzez kąt RPY (kolejność XYZ)
Producent maszyny
Poprzez dane maszynowe producent maszyny moŜe definiować róŜne warianty. Proszę przestrzegać danych producenta maszyny.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
338
Programowanie w k ątach Eulera ORIEULER
Wartości programowane przy programowaniu orientacji przy pomocy A2, B2, C2 są inter-pretowane jako kąty Eulera (w stopniach). Wektor orientacji uzyskuje się, gdy wektor w kierunku Z zostanie obrócony najpierw przy pomocy A2 wokół osi Z, następnie przy pomocy B2 wokół nowej osi X a na końcu przy po-mocy C2 wokół nowej osi Z.
W tym przypadku wartość C2 (obrót wokół nowej osi Z) jest bez znaczenia i nie musi być programowana.
Programowanie w k ątach RPY ORIRPY
Wartości zaprogramowane przy programowaniu orientacji przy pomocy A2, B2, C2 są in-terpretowane jako kąty RPY (w stopniach).
Wskazówka
W przeciwieństwie do programowania w kątach Eulera tutaj wszystkie trzy wartości mają wpływ na wektor orientacji.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
339
Producent maszyny
Przy definicji kąta z kątem orientacji poprzez kąt RPY obowiązuje dla osi orientacji z $MC_ORI_DEF_WITH_G_CODE = 0
Wektor orientacji uzyskuje się, gdy wektor w kierunku Z zostanie obrócony najpierw przy pomocy C2 wokół osi Z, następnie przy pomocy B2 wokół nowej osi Y a na końcu przy po-mocy A2 wokół nowej osi X.
JeŜeli dana maszynowa do definicji osi orientacji poprzez G-Code jest $MC_ORI_DEF_WITH_G_CODE = 1, wówczas obowiązuje: Wektor orientacji wynika przez obrót wektora w kierunku Z najpierw z A2 wokół osi Z, na-stępnie z B2 wokół nowej osi Y a na końcu z C2 wokół nowej osi X.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
340
Programowanie wektora biegunowego Składowe wektora biegunowego są programowane przy pomocy A3, B3, C3 . Wektor jest skierowany w kierunku uchwytu narzędzia; długość wektora jest przy tym bez znaczenia.
Nie zaprogramowane składowe wektora są ustawiane na zero.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
341
Programowanie orientacji narz ędzia przy pomocy LEAD= i TILT=
Wynikająca orientacja narzędzia jest obliczana ze:
● stycznej do toru
● wektora normalnej powierzchni na początku bloku A4, B4, C4 i na końcu bloku A5, B6, C5
● kąta wyprzedzenia LEAD w płaszczyźnie wyznaczonej przez styczną do toru i wektor normalnej powierzchni
● kąt TILT w kierunku bocznym na końcu bloku prostopadle do stycznej do toru i w stosunku do wektora normalnej powierzchni
Zachowanie si ę na naro Ŝnikach wewn ętrznych (przy 3D-WZK)
Gdy blok jest skracany na naroŜniku wewnętrznym, wynikająca orientacja narzędzia jest uzyskiwana równieŜ na końcu bloku.
Definicja orientacji narz ędzia przy pomocy LEAD= i TILT=
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
342
6.2.5 Frezowanie czołowe (frezowanie 3D A4, B4, C4, A5, B5, C5)
Działanie
Frezowanie czołowe słuŜy do obróbki powierzchni dowolnie zakrzywionych.
Dla tego rodzaju frezowania trójwymiarowego potrzebujecie wierszowego opisu torów trój-wymiarowych na powierzchni obrabianego przedmiotu. Obliczenia są przeprowadzane przy uwzględnieniu kształtu narzędzia i jego wymiarów - za-zwyczaj w CAM. Obliczone na gotowo bloki NC są następnie poprzez postprocesory wczy-tywane do sterowania.
Programowanie zakrzywienia toru
Opis powierzchni
Pis zakrzywień toru następuje poprzez wektory normalnych powierzchni przy pomocy nastę-pujących składowych:
A4, B4, C4 wektor startowy na początku bloku A5, B5, C5 wektor końcowy na końcu bloku
JeŜeli w bloku jest tylko wektor startowy, wektor normalnej powierzchni pozostaje stały przez cały blok. Gdy w bloku jest tylko wektor końcowy, wówczas interpolacja odbywa się od war-tości końcowej poprzedniego bloku poprzez interpolację wielkiego okręgu do zaprogramo-wanej wartości końcowej.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
343
Gdy jest zaprogramowany wektor startowy i końcowy, wówczas między obydwoma kierun-kami interpolacja następuje równieŜ poprzez interpolację wielkiego okręgu. Przez to dają się wytwarzać w sposób ciągły gładkie drogi po torze. W połoŜeniu podstawowym wektory normalnej powierzchni są niezaleŜnie od aktywnej płaszczyzny G17 do G19 skierowane w kierunku Z. Długość wektora jest bez znaczenia. Nie zaprogramowane składowe wektora są ustawiane na zero. Przy aktywnym ORIWKS, patrz punkt "Odniesienie osi orientacji (ORIWKS, ORIMKS)" wek-tory normalnych powierzchni odnoszą się do aktywnego frame i przy obrocie frame są rów-nocześnie obracane.
Producent maszyny
Wektor normalnej powierzchni musi być prostopadły do stycznej do toru w ramach wartości granicznej ustawionej poprzez daną maszynową, w przeciwnym przypadku jest wyprowa-dzany alarm.
6.2.6 Odniesienie osi orientacji (ORIWKS, ORIMKS)
Działanie Przy programowaniu orientacji w układzie współrzędnym obrabianego przedmiotu poprzez ● kąt Eulera wzgl. kąt RPY albo ● wektor orientacji moŜna poprzez ORIMKS/ORIWKS ustawić przebieg ruchu obrotowego.
Producent maszyny Przy pomocy danej maszynowej $MC_ORI_IPO_WITH_G_CODE następuje ustalenie, który rodzaj interpolacji działa:
ORIMKS/ORIWKS
albo
ORIMACHAX/ORIVIRTAX.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
344
Programowanie N.. ORIMKS=
albo
N.. ORIWKS=
Parametr ORIMKS Obrót w układzie współrz ędnych maszyny ORIWKS Obrót w układzie współrz ędnych obrabianego przedmiotu
Wskazówka
ORIWKS jest ustawieniem podstawowym. JeŜeli w przypadku programu 5-osiowego nie jest z góry jasne, na której maszynie ma on być wykonywany, naleŜy z zasady wybrać ORIWKS. Jakie ruchy maszyna rzeczywiście wykonuje, zleŜy od jej kinematyki.
Przy ORIMKS moŜecie programować rzeczywiste ruchy maszyny, aby np. uniknąć kolizji z urządzeniami itp.
Opis
W przypadku ORIMKS wykonywany ruch narzędzia jest zaleŜny od kinematyki maszyny.
Przy zmianie orientacji z wierzchołkiem narzędzia stałym w przestrzeni następuje interpola-cja liniowa między pozycjami osi obrotowej.
W przypadku ORIWKS ruch narzędzia jest niezaleŜny od kinematyki maszyny. Przy zmianie orientacji z wierzchołkiem narzędzia stałym w przestrzeni narzędzie porusza się w płasz-czyźnie wyznaczonej przez wektor początkowy i wektor końcowy.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
345
Wskazówka
ORIWKS
Ruchy orientacji w zakresie połoŜenia szczególnego maszyny 5-osiowej wymagają duŜych ruchów w osiach maszyny. (Na przykład w przypadku skrętnej głowicy tokarskiej z C jako osią obrotu i A jako osią skrętu wszystkie połoŜenia z A=0 są połoŜeniami szczególnymi.)
Producent maszyny
Aby nie przeciąŜyć osi maszyny, układ prowadzenia prędkości bardzo zmniejsza prędkość po torze w pobliŜu miejsc szczególnych.
Przy pomocy danych maszynowych
$MC_TRAFO5_NON_POLE_LIMIT $MC_TRAFO5_POLE_LIMIT
moŜna tak sparametryzować orientację, by ruchy orientacji w pobliŜu bieguna zostały poło-Ŝone przez biegun i by moŜliwa była płynna obróbka.
Miejsca szczególne są traktowane tylko przy pomocy MD $MC_TRAFO5_POLE_LIMIT.
Literatura:
/FB3/ Podręcznik działania Funkcje specjalne; Transformacja 3- do 5-osiowej (F2),
Punkt "Miejsca osobliwe i obchodzenie się z nimi".
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
346
6.2.7 Programowanie osi orientacji (ORIAXES, ORIVEC T, ORIEULER,
ORIRPY)
Działanie
Funkcja osi orientacji opisuje orientację narzędzia w przestrzeni i jest osiągalna przez zapro-gramowanie offsetu dla osi obrotowych. Dalszy trzeci stopień swobody moŜna osiągnąć przez dodatkowy obrót narzędzia wokół siebie samego. Ta orientacja narzędzia następuje dowolnie w przestrzeni poprzez trzecią oś obrotową i wymaga transformacji sześcioosiowej. Samoobrót narzędzia wokół siebie samego jest zaleŜnie od rodzaju interpolacji wektorów ob-rotu ustalany przy pomocy kąta obrotu THETA, patrz punkt "Obroty orientacji narzędzia (ORIROTA/TR/TT, ORIROTC, THETA)".
Programowanie
Osie orientacji są programowane poprzez identyfikatory osi A2, B2, C2.
N... ORIAXES albo ORIVECT
N... G1 X Y Z A B C Interpolacja liniowa albo interpolacja duŜego okręgu
albo
N... ORIPLANE
albo
interpolacja orientacji w płaszczyźnie
albo
N... ORIEULER albo ORIRPY wzgl. ORIRPY2
N... G1 X Y Z A2= B2= C2=
albo kąt orientacji kąt Eulera/RPY programowanie kąta osi wirtualnych
albo N... ORIVIRT1 albo ORIVIRT2
N... G1 X Y Z A3= B3= C3=
albo wirtualne osie orientacji definicja 1 albo 2
programowanie wektora kierunkowego
Dla zmian orientacji wzdłuŜ znajdującej się w przestrzeni pobocznicy walca mogą być pro-gramowane dalsze offsety osi obrotowej osi orientacji, patrz punkt "Programowanie orientacji wzdłuŜ pobocznicy stoŜka (ORIPLANE, ORICONxx).
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
347
Parametry ORIAXES Interpolacja liniowa osi maszyny albo osi orienta-
cji ORIVECT Interpolacja wielkiego okr ęgu (identyczna z
ORIPLANE) ORIMKS Obrót w układzie współrz ędnych maszyny ORIWKS Obrót w układzie współrz ędnych obrabianego przed-
miotu Opis patrz punkt "Obroty orientacji narz ędzia"
A= B= C= Programowanie pozycji osi maszyny ORIEULER Programowanie orientacji poprzez k ąt Eulera ORIRPY Programowanie orientacji poprzez k ąt RPY. Kolejno-
ści ą obrotów jest XYZ, przy czym obowi ązuje: A2 jest k ątem obrotu wokół X B2 jest k ątem obrotu wokół Y C2 jest k ątem obrotu wokół Z
ORIRPY2 Programowanie orientacji poprzez k ąt RPY. Kolejno-ści ą obrotów jest ZYX, przy czym obowi ązuje: A2 jest k ątem obrotu wokół Z B2 jest k ątem obrotu wokół Y C2 jest k ątem obrotu wokół X
A2= B2= C2= Programowanie k ąta osi wirtualnych ORIVIRT1 Programowanie orientacji poprzez wirtualn e ORIVIRT2 osie orientacji
(Definicja 1), ustalenie według MD $MC_ORIAX_TURN_TAB_1 (Definicja 2), ustalenie według MD $MC_ORIAX_TURN_TAB_2
A3= B3= C3= Programowanie wektora biegunowego osi kierunkowej
Opis
Producent maszyny
Przy pomocy MD $MC_ORI_DEF_WITH_G_CODE ustala się, jak są definiowane progra-mowane kąty A2, B2, C2 :
Definicja następuje według MD $MC_ORIENTATION_IS_EULER (standard) albo definicja następuje według grupy G 50 (ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2 ).
Przy pomocy MD $MC_ORI_IPO_WITH_G_CODE następuje ustalenie, który rodzaj interpo-lacji działa: ORIWKS/ORIMKS czy ORIAXES/ORIVECT.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
348
Rodzaj pracy JOG
Kąty orientacji są w tym rodzaju pracy zawsze interpolowane liniowo. Przy ruchu ciągłym i przyrostowym poprzez przyciski ruchu moŜe wykonywać ruch tylko jedna oś orientacji. Po-przez kółka ręczne osie orientacji mogą wykonywać ruch równocześnie.
Dla ruchu ręcznego osi orientacji działa specyficzny dla kanału przełącznik korekcyjny posu-wu wzgl. przełącznik korekcyjny przesuwu szybkiego przy nałoŜeniu tego przesuwu.
Przy pomocy następujących danych maszynowych jest moŜliwe oddzielne zadanie prędko-ści:
$MC_JOG_VELO_RAPID_GEO
$MC_JOG_VELO_GEO
$MC_JOG_VELO_RAPID_ORI
$MC_JOG_VELO_ORI
Wskazówka
SINUMERIK 840D z "Posługiwanie si ę pakietem transformacji"
Przy pomocy funkcji "Kartezjański ruch ręczny" moŜna w trybie JOG w rozdzieleniu od sie-bie ustawić przesunięcie osi geometrycznych w systemach odniesienia MKS, WKS i TKS.
Literatura:
/FB2/ Podręcznik działania Funkcje rozszerzające, Transformacja kinematyczna (M1)
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
349
6.2.8 Programowanie orientacji wzdłu Ŝ pobocznicy sto Ŝka (ORIPLANE, ORI-
CONxx)
Działanie Przy pomocy orientacji rozszerzonej jest moŜliwe wykonywanie zmian orientacji wzdłuŜ po-wierzchni pobocznicowej stoŜka znajdującej się w przestrzeni. Interpolacja wektora orientacji na pobocznicy stoŜka następuje przy pomocy poleceń modalnych ORICONxx. Dla interpola-cji w płaszczyźnie moŜna programować orientację końcową przy pomocy ORIPLANE. Gene-ralnie orientacja startowa jest ustalana przez poprzedzające bloki.
Programowanie
Orientacja końcowa jest ustalana albo przez podanie zaprogramowania kąta w kącie Eulera albo kącie RPY przy pomocy A2, B2, C2 albo przez zaprogramowanie pozycji osi obroto-wych przy pomocy A, B, C. Dla osi orientacji wzdłuŜ pobocznicy stoŜka są wymagane dalsze dane programowe:
● Oś obrotu stoŜka jako wektor z A6, B6, C6
● Kąt rozwarcia PSI z identyfikatorem NUT
● Orientacja pośrednia w pobocznicy stoŜka z A7, B7, C7
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
350
Wskazówka
Programowanie wektora biegunowego A6, B6, C6 dla os i obrotu sto Ŝka
Zaprogramowanie orientacji końcowej nie jest bezwarunkowo wymagane. Gdy orientacja końcowa nie jest podana, wówczas jest interpolowana pełna pobocznica stoŜka z 360 stop-niami.
Programowanie k ąta rozwarcia sto Ŝka z NUT=kąt
Podanie orientacji końcowej jest bezwzględnie wymagane.
Kompletna pobocznica stoŜka z 360 stopniami nie moŜe być w ten sposób interpolowana.
Programowanie orientacji po średniej A7, B7, C7 w pobocznicy sto Ŝka
Podanie orientacji końcowej jest bezwzględnie wymagane. Zmiana orientacji i kierunek obrotu są jednoznacznie ustalane przez trzy wektory orientacja startowa, końcowa i po-średnia. Wszystkie trzy wektory muszą przy tym być róŜne. JeŜeli zaprogramowana orien-tacja pośrednia jest równoległa do orientacji startowej albo końcowej, jest przeprowadzana liniowa interpolacja wielkiego okręgu orientacji w płaszczyźnie, która jest wyznaczana przez wektor startowy i końcowy
Rozszerzona interpolacja orientacji na pobocznicy s toŜka
N... ORICONCW albo ORICONCCW N... A6= B6= C6= A3= B3= C3= albo N... ORICONTO
N... G1 X Y Z A6= B6= C6=
Interpolacja na pobocznicę stoŜka z wek-torem kierunkowym zgodnie/przeciwnie do ruchu wskazówek zegara i orientacją końcową albo przejściem stycznym i po-daniem orientacji końcowej
albo N... ORICONIO N... G1 X Y Z A7= B7= C7= N... PO[PHI]=(a2, a3, a4, a5)
N... PO[PSI]=(b2, b3, b4, b5)
albo Podanie orientacji końcowej i orientacji pośredniej na pobocznicy stoŜka przy pomocy wielomianów dla kąta obrotu i wielomianów dla kąta rozwarcia
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
351
Parametry ORIPLANE Interpolacja na płaszczy ź-
nie(interpolacja wielkiego okr ęgu) ORICONCW Interpolacja na pobocznicy sto Ŝka
w kierunku ruchu wskazówek zegara ORICONCCW Interpolacja na pobocznicy sto Ŝka prze-
ciwnie do ruchu wskazówek zegara ORICONTO Interpolacja na pobocznicy sto Ŝka
przej ście styczne A6= B6= C6= Programowanie osi obrotu sto Ŝka (wektor
znormalizowany) NUT=kąt K ąt rozwarcia sto Ŝka w stopniach NUT=+179 K ąt ruchu mniejszy albo równy 180 stop-
ni NUT=-181 K ąt ruchu wi ększy albo równy 180 stopni ORICONIO Interpolacja na pobocznicy sto Ŝka A7= B7= C7= Orientacja po średnia (programowanie
jako wektor znormalizowany) PHI K ąt obrotu orientacji wokół osi kierun-
kowej sto Ŝka PSI K ąt rozwarcia sto Ŝka moŜliwe wielomiany PO[PHI]=(a2, a3, a4, a5) PO[PSI]=(b2, b3, b4, b5)
Oprócz poszczególnych k ątów mo Ŝna pro-gramować równie Ŝ wielomiany maksymal-nie 5. stopnia
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
352
Przykład, ró Ŝne zmiany orientacji
… N10 G1 X0 Y0 F5000 N20 TRAORI(1) ; Transformacja orientacji wł. N30 ORIVECT ;Interpolowanie orientacji narz ędzia jako
wektor … ; Orientacja narz ędzia na płaszczy źnie N40 ORIPLANE ; Wybór interpolacji wielkiego okr ęgu N50 A3=0 B3=0 C3=1 N60 A3=0 B3=1 C3=1 ; ; Orientacja na płaszczy źnie Y/Z obrócona
o 45 stopni, na ko ńcu bloku jest osi ągana orientacja (0, 1/ √2, 1/ √2)
… ;Programowanie orientacji na pobocznicy sto Ŝka
N70 ORICONCW N80 A6=0 B6=0 C6=1 A3=0 B3=0 C3=1
; Wektor orientacji jest interpolowany na pobocznicy sto Ŝka z kierunkiem (0,0,1) a Ŝ do orientacji (1/ √2, 0, 1/ √2) w kierunku ruchu wskazówek zegara, k ąt obrotu wynosi przy tym 270 stopni
N90 A6=0 B6=0 C6=1 ;Orientacja narz ędzia przechodzi pełny obrót
na tej samej pobocznicy sto Ŝka
Opis
JeŜeli zmiany orientacji mają zostać opisane na pobocznicy stoŜka leŜącej dowolnie w prze-strzeni, wówczas musi być znany wektor, wokół którego orientacja narzędzia ma wykonać obrót. Poza tym musi zostać zadana orientacja startowa i orientacja końcowa. Orientacja startowa wynika z bloku poprzedzającego a orientacja końcowa musi albo zostać zaprogra-mowana albo ustalona przez inne warunki.
Programowanie w płaszczy źnie ORIPLANE odpowiada ORIVECT
Programowanie interpolacji wielkiego okręgu razem z wielomianami kąta odpowiada interpo-lacji liniowej i wielomianowej konturów. Orientacja narzędzia jest interpolowana w płaszczyź-nie, która jest wyznaczona przez orientację startową i końcową. Gdy zostaną dodatkowo za-programowane wielomiany, wówczas wektor orientacji moŜe ulec odchyleniu od płaszczy-zny.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
353
Programowanie okr ęgów w płaszczy źnie G2/G3, CIP i CT
Orientacja rozszerzona odpowiada interpolacji okręgów w płaszczyźnie. Odnośnie odpo-wiednich moŜliwości programowania okręgów z podaniem punktu środkowego albo promie-nia jak G2/G3, okrąg przez punkt pośredni CIP i okręgi styczne CT patrz
Literatura : Podręcznik programowania Podstawy, "Programowanie poleceń dot. drogi".
Programowanie orientacji
Interpolacja wektora orientacji na pobocznicy stoŜka ORICONxx
Dla interpolacji orientacji na pobocznicy stoŜka mogą być wybierane cztery róŜne rodzaje in-terpolacji z grupy G-Code 51:
1. Interpolacja na pobocznicy stoŜka w kier. ruchu wskazówek zegara ORICONCW z poda-niem orientacji końcowej i kierunku stoŜka albo kąta rozwarcia. Wektor biegunowy jest programowany przy pomocy identyfikatorów A6, B6, C6 a kąt rozwarcia stoŜka przy pomocy identyfikatora NUT= zakres wartości w przedziale 0 do 180 stopni.
2. Interpolacja na pobocznicy stoŜka przeciwnie do ruchu wskazówek zegara ORICONCWW z podaniem orientacji końcowej i kierunku stoŜka albo kąta rozwarcia. Wektor biegunowy jest programowany przy pomocy identyfikatorów A6, B6, C6 a kąt rozwarcia stoŜka przy pomocy identyfikatora NUT= zakres wartości w przedziale 0 do 180 stopni.
3. Interpolacja na pobocznicy stoŜka ORICONIO z podaniem orientacji końcowej i orientacji pośredniej, która jest programowana przy pomocy identyfikatorów A7, B7, C7 .
4. Interpolacja na pobocznicy stoŜka ORICONTO z przejściem stycznym i podaniem orientacji końcowej. Wektor biegunowy jest programowany przy pomocy identyfikatorów A6, B6, C6.
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
354
6.2.9 Zadanie orientacji dwóch punktów kontaktowych (ORICURVE, PO[XH]=,
PO[YH]=, PO[ZH]=)
Działanie
Programowanie zmiany orientacji przez drug ą krzyw ą w przestrzeni ORICURVE
Dalsza moŜliwość programowania zmian orientacji polega na zaprogramowaniu oprócz wierzchołka narzędzia wzdłuŜ krzywej w przestrzeni równieŜ ruchu drugiego punktu kontak-towego narzędzia przy pomocy ORICURVE. Przez to mogą zostać jednoznacznie ustalone zmiany orientacji narzędzia, jak przy programowaniu samego wektora narzędzia.
Producent maszyny
Proszę przestrzegać wskazówek producenta maszyny dot. identyfikatorów osi ustawianych poprzez daną maszynową odnośnie programowania 2. toru orientacji narzędzia.
Programowanie
Przy tym rodzaju interpolacji mogą dla obydwu krzywych w przestrzeni programowane punk-ty przy pomocy G1 wzgl. wielomiany przy pomocy POLY. Okręgi i ewolwenty są niedopusz-czalne.
Dodatkowo moŜe zostać uaktywniona interpolacja spline przy pomocy BSPLINE i funkcja "Połączenie krótkich bloków Spline".
Literatura:
/FB1/ Podręcznik działania Funkcje podstawowe; praca z przechodzeniem płynnym, zatrzy-manie dokładne, Look Ahead (B1), Punkt: Połączenie krótkich bloków spline
Inne rodzaje spline ASPLINE i CSPLINE jak teŜ uaktywnienie kompresora przy pomocy COMPON, COMPCURV albo COMPCAD są niedopuszczalne.
Ruch dwóch punktów kontaktowych narzędzia moŜna zadać przy programowaniu wielomia-nów orientacji dla współrzędnych do maksymalnie 5. stopnia.
Rozszerzona interpolacja orientacji z dodatkow ą krzyw ą w przestrzeni i wielomiany dla współrz ędnych
N... ORICURVE N... PO[XH]=(xe, x2, x3, x4, x5) N... PO[YH]=(ye, y2, y3, y4, y5) N... PO[ZH]=(ze, z2, z3, z4, z5)
Podanie ruchu drugiego punktu kontak-towego narzędzia i dodatkowe wielomia-ny kaŜdorazowych współrzędnych
Transformacje 6.2 Transformacja trzy-, cztero- i pięcioosiowa (TRAORI)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
355
Parametry ORICURVE Interpolacja orientacji z zadaniem ruchu
dwóch punktów kontaktowych narz ędzia. XH YH ZH Identyfikator współrz ędnych drugiego
punktu kontaktowego narz ędzia dodatkowego konturu jako krzywa w przestrzeni
moŜliwe wielomiany Oprócz ka Ŝdorazowych punktów ko ńcowych PO[XH]=(xe, x2, x3, x4, mo Ŝna dodatkowo programowa ć krzywe x5) PO[YH]=(ye, y2, y3, w przestrzeni przy pomocy w ielomianów. y4, y5) PO[ZH]=(ze, z2, z3, z4, z5) xe, ye, ze Punkty ko ńcowe krzywej w przestrzeni xi, yi, zi Współczynniki wielomianów maksymalnie 5 .
stopnia
Wskazówka
Identyfikatory XH YH ZH do programowania 2. toru or ientacji
Identyfikatory muszą zostać tak wybrane, by nie powstał konflikt z innymi identyfikatorami osi liniowych
Osie X Y Z
i osie obrotowe jak
A2 B2 C2 kąt Eulera wzgl. kąt RPY
A3 B3 C3 wektory biegunowe
A4 B4 C4 wzgl. A5 B5 C5 wektory normalnej powierzchni
A6 B6 C6 wektory obrotu wzgl. A7 B7 C7 współrzędne punktu pośredniego albo inne para-metry interpolacji.
Transformacje 6.3 Wielomiany orientacji (PO[kąt], PO[współrzędna])
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
356
6.3 Wielomiany orientacji (PO[k ąt], PO[współrz ędna])
Działanie NiezaleŜnie od tego, jaka interpolacja wielomianowa G-Code grupy 1 jest właśnie aktywna, mogą być programowane dwa róŜne typy wielomianów orientacji do maksymalnie 5. stopnia przy transformacji trzy- do pięcioosiowej. 1. Wielomiany dla kąta: kąt wyprzedzenia LEAD, kąt boczny TILT w odniesieniu do płasz-
czyzny, która jest wyznaczana przez orientację startową i końcową. 2. Wielomiany dla współrz ędnych : XH, YH, ZH drugiej krzywej w przestrzeni dla orientacji
narzędzia punktu odniesienia na narzędziu. Przy transformacji sześcioosiowej moŜna w celu orientacji narzędzia dodatkowo programo-wać obrót wektora obrotu THT z wielomianami do maksymalnie 5. stopnia dla obrotu same-go narzędzia.
Składnia
Wielomiany orientacji typu 1 dla kąta N… PO[PHI]=(a2, a3, a4, a5)
N… PO[PSI]=(b2, b3, b4, b5)
Transformacja trzy- do pięcioosiowej
Transformacja trzy- do pięcioosiowej
Wielomiany orientacji typu 2 dla współrz ędnych
N… PO[XH]=(xe, x2, x3, x4, x5) N… PO[YH]=(ye, y2, y3, y4, y5)
N… PO[ZH]=(ze, z2, z3, z4, z5)
Identyfikatory dla współrzędnych drugiego toru orientacji dla orientacji narzędzia
Dodatkowo w obydwu przypadkach moŜe zostać zaprogramowany wielomian dla obrotu przy transformacjach sześcioosiowych z N… PO[THT]=(c2, c3, c4, c5)
albo N… PO[THT]=(d2, d3, d4, d5)
Odniesiona do toru interpolacja obrotu absolutna, względna i styczna interpolacja do zmiany orientacji
wektora orientacji. Jest to moŜliwe wtedy, gdy transformacja obsługuje wektor obrotu z offse-tem programowalnym i interpolowalnym przez kąt obrotu THETA.
Transformacje 6.3 Wielomiany orientacji (PO[kąt], PO[współrzędna])
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
357
Znaczenie PO[PHI] Kąt w płaszczyźnie między orientacją startową i końcową PO[PSI] Kąt, który opisuje odchylenie orientacji od płaszczyzny między orientacją
startową i końcową PO[THT] Kąt obrotu, który powstaje przez obrót wektora obrotu G-Code grupy 54 za-
programowanego przy pomocy THETA PHI Kąt wyprzedzenia LEAD PSI Kąt w kierunku bocznym TILT THETA Obrót wokół kierunku narzędzia w Z PO[XH] Współrzędna X punktu odniesienia na narzędziu PO[YH] Współrzędna Y punktu odniesienia na narzędziu PO[ZH] Współrzędna Z punktu odniesienia na narzędziu
Opis
Wielomiany orientacji nie mogą być programowane
● gdy interpolacje spline ASPLINE, BSPLINE, CSPLINE są aktywne.
Wielomiany typu 1 dla kąta orientacji są moŜliwe dla kaŜdego rodzaju interpolacji oprócz Spline tzn. przy interpolacji liniowej z przesuwem szybkim G00 wzgl. z posuwem G01 przy interpolacji wielomianowej z POLY i przy interpolacji okręgu wzgl. ewolwenty z G02, G03, CIP, CT, INVCW i INCCCW.
Wielomiany typu 2 dla współrzędnych orientacji są natomiast moŜliwe tylko wtedy, gdy jest aktywna interpolacja liniowa z przesuwem szybkim G00 wzgl. z posuwem G01 albo interpolacja wielomianowa z POLY.
● gdy orientacja jest interpolowana przy pomocy interpolacji osi ORIAXES. W tym przy-padku mogą być programowane bezpośrednio wielomiany z PO[A] i PO[B] dla osi orien-tacji A i B.
Wielomiany orientacji typu 1 z ORIVECT, ORIPLANE i ORICONxx
Przy interpolacji wielkiego okręgu i interpolacji na pobocznicy stoŜka z ORIVECT, ORIPLANE i ORICONxx są moŜliwe tylko wielomiany orientacji typu 1.
Wielomiany orientacji typu 2 z ORICURVE
Gdy jest aktywna interpolacja z dodatkową krzywą w przestrzeni ORICURVE, kartezjańskie składowe wektora orientacji są interpolowane i są moŜliwe tylko wielomiany orientacji typu 2.
Transformacje 6.4 Obroty orientacji narzędzia (ORIROTA, ORIROTR/TT, ORIROTC, THETA)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
358
6.4 Obroty orientacji narz ędzia (ORIROTA, ORIROTR/TT, ORIROTC, THETA)
Działanie
JeŜeli w przypadku typów maszyn z ruchomym narzędziem równieŜ musi być moŜliwa zmia-na orientacji narzędzia, wówczas kaŜdy blok jest programowany z orientacją końcową. Za-leŜnie od kinematyki maszyny moŜna programować albo kierunek orientacji osi orientacji al-bo kierunek obrotu wektora orientacji THETA. Dla tych wektorów obrotu moŜna programo-wać róŜne rodzaje interpolacji:
● ORIROTA: Kąt obrotu do kierunku obrotu zadanego absolutnie.
● ORIROTR Kąt obrotu w stosunku do płaszczyzny między orientacją startową i końcową.
● ORIROTT: Kąt obrotu w stosunku do zmiany wektora orientacji.
● ORIROTC: Styczny kąt obrotu do stycznej do toru.
Składnia Tylko gdy jest aktywny rodzaj interpolacji ORIRORA, moŜna programować kąt obrotu albo wektor obrotu na cztery moŜliwe sposoby: 1. Bezpośrednio pozycje osi obrotowych A, B, C 2. Kąt Eulera (w stopniach) poprzez A2, B2, C2 3. Kąt RPY (w stopniach) poprzez A2, B3, C2 4. Wektor kierunkowy poprzez A3, B3, C3 (kąt obrotu przy pomocy THETA=warto ść) W przypadku gdy ORIROTR albo ORIROTT są aktywne, kąt obrotu moŜna programować juŜ tylko bezpośrednio przy pomocy THETA. Obrót moŜna równieŜ zaprogramować w oddzielnym bloku, przy czym nie następuje zmiana orientacji. Przy tym ORIROTR i ORIROTT nie mają znaczenia. W tym przypadku kąt obrotu jest zawsze interpretowany w odniesieniu do kierunku absolut-nego (ORIROTA).
N... ORIROTA N... ORIROTR N... ORIROTT
N... ORIROTC
Ustalenie interpolacji wektora obrotu
N... A3= B3= C3= THETA=warto ść
Ustalenie obrotu wektora orientacji
N... PO[THT]=(d 2, d 3, d 4, d 5) Interpolacja kąta obrotu z wielomianem 5. stopnia
Transformacje 6.4 Obroty orientacji narzędzia (ORIROTA, ORIROTR/TT, ORIROTC, THETA)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
359
Znaczenie ORIROTA Kąt obrotu do kierunku obrotu zadanego absolutnie ORIROTR Kąt obrotu w stosunku do płaszczyzny między orientacją startową
i końcową ORIROTT Kąt obrotu jako styczny wektor obrotu do zmiany orientacji ORIROTC Kąt obrotu jako styczny wektor obrotu do stycznej do toru THETA Obrót wektora orientacji THETA=wartość Kąt w stopniach, który jest osiągany na końcu bloku THETA=Θe Kąt obrotu z kątem końcowym Θe wektora obrotu THETA=AC(…) Przełączanie pojedynczymi blokami na absolutne podawanie wymia-
ru THETA=AC(…) Przełączanie pojedynczymi blokami na przyrostowe podawanie wy-
miaru Θe Kąt końcowy wektora obrotu zarówno absolutny z G90 jak teŜ
względny z G91 (przyrostowe podawanie wymiarów) jest aktywny PO[THT]=(....) Wielomian dla kąta obrotu
Przykład, obroty orientacji Kod programu Komentarz N10 TRAORI ; Uaktywnienie transformacji orientacji N20 G1 X0 Y0 Z0 F5000 ; Orientacja narz ędzia N30 A3=0 B3=0 C3=1 THETA=0 ; W kierunku Z z k ątem obrotu 0 N40 A3=1 B3=0 C3=0 THETA=90 ; W kierunku X i obrót o 90 stopni N50 A3=0 B3=1 C3=0 PO[THT]=(180,90) ; Orientacja N60 A3=0 B3=1 C3=0 THETA=IC(-90) ; W kierunku Y i o brót na 180 stopni N70 ORIROTT ; Pozostaje stała i obrót na 90 stopni N80 A3=1 B3=0 C3=0 THETA=30 ; K ąt obrotu w stosunku do zmiany ori-entacji ; K ąt obrotu w k ącie 30 stopni do płaszczyzny X-Y
Przy interpolacji od bloku
N40 kąt obrotu jest interpolowany liniowo od wartości startowej 0 do wartości końcowej 90 stopni. W bloku N50 kąt obrotu zmienia się z 90 stopni na 180 stopni według paraboli θ(u)
= +90u 2. W N60 moŜe równieŜ zostać wykonany obrót, bez zmiany orientacji.
W przypadku N80 orientacja narzędzia jest obracana z kierunku Y do kierunku X. Przy tym zmiana orientacji leŜy w płaszczyźnie X-Y a wektor obrotu tworzy z tą płaszczyzną kąt 30 stopni.
Transformacje 6.5 Orientacje odniesione do toru
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
360
Opis
ORIROTA
Kąt obrotu THETA jest interpolowany względem absolutnie ustalonego kierunku w przestrze-ni. Podstawowy kierunek obrotu jest definiowany poprzez dane maszynowe
ORIROTR
Kąt obrotu THETA jest interpretowany względem płaszczyzny, która jest wyznaczana przez orientację początkową i orientację końcową.
ORIROTT
Kąt obrotu THETA jest interpretowany względem zmiany orientacji. Dla THEA=0 wektor obro-tu jest interpolowany stycznie do zmiany orientacji i róŜni się tylko wtedy od ORIROTR, gdy dla orientacji został zaprogramowany co najmniej jeden wielomian dla "kąta wychylenia PSI". Przez to wynika zmiana orientacji, która nie przebiega w płaszczyźnie. Przez dodatko-wo zaprogramowany kąt obrotu THETA moŜna wówczas np. tak interpolować wektor obrotu, by tworzył on zawsze określoną wartość do zmiany orientacji.
ORIROTC
Wektor obrotu jest interpolowany w stosunku do stycznej do toru z offsetem programowal-nym przez kąt THETA. Dla kąta offsetu moŜe przy tym być równieŜ programowany wielomian PO[THT]=(c2, c3, c4, c5) maksymalnie 5. stopnia.
6.5 Orientacje odniesione do toru
6.5.1 Rodzaje orientacji w stosunku do toru
Działanie
Przy pomocy tej rozszerzonej funkcji orientacja względna jest osiągana nie tylko na końcu bloku, lecz na całym przebiegu toru. Orientacja osiągnięta w poprzedzającym bloku jest przy pomocy interpolacji wielkiego okręgu transferowana do zaprogramowanej orientacji końco-wej
Zasadniczo są dwie moŜliwości programowania poŜądanej orientacji w stosunku do toru:
1. Orientacja narzędzia jak równieŜ obrót narzędzia jest przy pomocy ORIPATH, ORPATHTS interpolowana w stosunku do toru.
2. Wektor orientacji jest programowany i interpolowany jak zazwyczaj dotychczas. Przy po-mocy ORIROTC jest inicjalizowany obrót wektora orientacji w stosunku do stycznej do to-ru.
Transformacje 6.5 Orientacje odniesione do toru
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
361
Składnia Rodzaj interpolacji orientacji i obrotu narzędzia jest programowany przy pomocy: N... ORIPATH Orientacja w stosunku do toru N... ORIPATHS Orientacja w stosunku do toru z wygładzaniem przebiegu orientacji N... ORIROTC Odniesiona do toru interpolacja wektora obrotu
Załamanie orientacji wywołane przez naroŜnik w przebiegu toru moŜna wygładzić przy po-mocy ORIPATHS. Kierunek i długość drogi ruchu cofnięcia są programowane przez wektor o składowych A8=X, B8=Y, C8=Z .
Przy pomocy ORIPATH/ORIPATHS mogą być programowane róŜne odniesienia do stycznej do toru poprzez trzy kąty
● LEAD= podanie kąta do przodu w odniesieniu do toru i powierzchni
● TILT= podanie kąta bocznego w odniesieniu do toru i powierzchni
● THETA= kąt obrotu
dla całego przebiegu toru. Do kąta obrotu THETA mogą przy pomocy PO[THT]=(...) być dodatkowo programowane wielomiany maksymalnie 5. stopnia.
Wskazówka
Producent maszyny
Proszę przestrzegać danych producenta maszyny. Poprzez projektowalne dane maszyno-we i ustawcze mogą do rodzaju orientacji w stosunku do toru zostać dokonane dalsze usta-wienia. Dalsze objaśnienia patrz
Literatura:
/FB3/ Podręcznik działania Funkcje specjalne; Transformacja 3- do 5-osiowej (F2),
punkt "Orientacja"
Transformacje 6.5 Orientacje odniesione do toru
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
362
Znaczenie
Interpolację kątów LEAD i TILT moŜna poprzez daną maszynową róŜnie ustawiać:
● Odniesienie orientacji narzędzia zaprogramowane przy pomocy LEAD i TILT jest dotrzy-mywane przez cały blok.
● Kąt do przodu LEAD: obrót wokół kierunku prostopadle do stycznej i wektora normalnej TILT : obrót orientacji wokół wektora normalnej.
● Kąt do przodu LEAD: obrót wokół kierunku prostopadle do stycznej i wektora normalnej kąt boczny TILT : obrót orientacji wokół kierunku stycznej do toru.
● Kąt obrotu THETA: obrót narzędzia wokół siebie z dodatkową trzecią osią obrotową jako osią orientacji przy transformacji sześcioosiowej.
Wskazówka
Odniesiona do toru orientacja razem z OSC, OSS, OSS E, OSD, OST jest niedopusz-czalna
Odniesiona do toru interpolacja orientacji ORIPATH wzgl. ORIPATHS i ORIOTC nie moŜe być programowana razem z wygładzaniem przebiegu orientacji przy pomocy jednego z G-Code z grupy 34. W tym celu musi być aktywne OSOF.
6.5.2 Odniesiony do toru obrót orientacji narz ędzia (ORIPATH, ORIPATHS, k ąt
obrotu)
Działanie
W przypadku transformacji sześcioosiowej moŜna w celu orientacji narzędzia dowolnie w przestrzeni równieŜ obrócić narzędzie przy pomocy trzeciej osi obrotowej wokół siebie samego. Przy odniesionym do toru obrocie orientacji narzędzia przy pomocy ORIPATH wzgl. ORIPATHS moŜna zaprogramować dodatkowy obrót poprzez kąt obrotu THETA. Alterna-tywnie do tego kąty LEAD i TILT mogą być programowane przez wektor, który leŜy na płasz-czyźnie prostopadle do kierunku narzędzia.
Producent maszyny
Proszę przestrzegać danych producenta maszyny. Poprzez daną maszynową moŜna róŜnie ustawić interpolację kątów LEAD i TILT.
Transformacje 6.5 Orientacje odniesione do toru
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
363
Składnia Obrót orientacji narz ędzia i narz ędzia
Rodzaj orientacji narzędzia w stosunku do toru jest uaktywniany przy pomocy ORIPATH al-bo ORIPATHS.
N... ORIPATH Uaktywnienie rodzaju orientacji w odniesieniu do toru N... ORIPATHS Uaktywnienie rodzaju orientacji w odniesieniu do toru z wygładza-
niem przebiegu orientacji Uaktywnienie trzech moŜliwych kątów z działaniem obrotowym: N... LEAD = Kąt dla zaprogramowanej orientacji w stosunku do wektora normal-
nej powierzchni N... TILT= Kąt dla zaprogramowanej orientacji w płaszczyźnie prostopadle do
stycznej do toru w stosunku do wektora normalnej powierzchni N... THETA= Kąt obrotu w stosunku do zmiany orientacji wokół kierunku narzę-
dzia trzeciej osi obrotowej
Wartości kątów na końcu bloku są programowane przy pomocy LEAD=wartość, TILT=wartość wzgl. THETA=wartość. Dodatkowo do stałych kątów mogą dla wszystkich trzech kątów być programowane wielomiany maksymalnie 5. stopnia.
N... PO[PHI]=(a2, a3, a4, a5) Wielomian dla kąta wyprzedzenia N... PO[PSI]=(b2, b3, b4, b5) Wielomian dla kąta bocznego TILT N... PO[THT]=(d2, d3, d4, d5) Wielomian dla kąta obrotu THETA
Przy programowaniu wyŜsze współczynniki wielomianu, które wynoszą zero, moŜna pomi-nąć. Przykład PO[PHI]=a2 daje parabolę dla kąta wyprzedzenia LEAD.
Transformacje 6.5 Orientacje odniesione do toru
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
364
Znaczenie
Orientacja narz ędzia odniesiona do toru
ORIPATH Orientacja narzędzia odniesiona do toru ORIPATHS Orientacja narzędzia odniesiona do toru, załamanie w przebiegu
orientacji jest wygładzane LEAD Kąt w stosunku do wektora normalnej powierzchni, w płaszczyźnie
wyznaczonej przez styczną do toru i wektor normalnej powierzchni TILT Obrót orientacji wokół kierunku Z wzgl. obrót wokół stycznej do toru THETA Obrót wokół kierunku narzędzia do Z PO[PHI] Wielomian orientacji dla kąta wyprzedzenia LEAD PO[PSI] Wielomian orientacji dla kąta bocznego TILT PO[THT] Wielomian orientacji dla kąta obrotu THETA
Wskazówka
Kąt obrotu THETA
Do obrotu narzędzia z trzecią osią obrotową jako osią orientacji wokół siebie samego jest wymagana transformacja sześcioosiowa.
6.5.3 Odniesiona do toru interpolacja obrotu narz ędzia (ORIROTC, THETA)
Działanie Interpolacja z wektorami obrotu
Do zaprogramowanego przy pomocy ORIROTC obrotu narzędzia w stosunku do stycznej do toru moŜna interpolować wektor obrotu równieŜ z offsetem programowalnym przez kąt obro-tu THETA. Przy tym moŜna dla kąta offsetu z PO[THT] programować wielomian do maksy-malnie 5. stopnia.
Transformacje 6.5 Orientacje odniesione do toru
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
365
Składnia N... ORIROTC Inicjalizacja obrotu narzędzia w stosunku do
stycznej do toru N... A3= B3= C3= THETA=Wert Ustalenie obrotu wektora orientacji N... A3= B3= C3= PO[THT]=(c2, c3, c4, c5) Interpolacja kąta offsetu
z wielomianem maksymalnie 5. stopnia Obrót moŜna równieŜ zaprogramować w oddzielnym bloku, przy czym nie następuje zmiana orientacji.
Znaczenie Odniesiona do toru interpolacja obrotu narz ędzia przy transformacji sze ścioosiowej
ORIROTC Inicjalizacja stycznego wektora obrotu do stycznej do toru THETA=warto ść Kąt obrotu w stopniach, który jest osiągany na końcu bloku THETA=θe Kąt obrotu z kątem końcowym Θe wektora obrotu THETA=AC(…) Przełączanie pojedynczymi blokami na absolutne podawanie
wymiaru THETA=IC(…) Przełączanie pojedynczymi blokami na przyrostowe poda-
wanie wymiaru
PO[THT]=(c2, c3, c4, c5) Interpolacja kąta offsetu z wielomianem 5. stopnia
Wskazówka
Interpolacja wektora obrotu ORIROTC
Zainicjalizowanie równieŜ obrotu narzędzia w stosunku do stycznej do toru przeciwnie do kierunku jego orientacji jest moŜliwe tylko w przypadku transformacji sześcioosiowej.
Przy aktywnym ORIROTC
Wektora obrotu ORIROTA nie moŜna zaprogramować. W przypadku zaprogramowania jest wyprowadzany ALARM 14128 "Absolutne zaprogramowanie obrotu narzędzia przy aktyw-nym ORIROTC".
Transformacje 6.5 Orientacje odniesione do toru
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
366
Kierunek orientacji narz ędzia przy transformacji trzy- do pi ęcioosiowej
Kierunek orientacji narzędzia moŜe być programowany jak zazwyczaj poprzez kąt Eulera wzgl. kąt RPY albo wektory biegunowe przy transformacji trzy- do pięcioosiowej. RównieŜ są moŜliwe zmiany orientacji narzędzia w przestrzeni przez programowanie interpolacji wielkie-go okręgu ORIVECT, interpolacji liniowej osi orientacji ORIAXES, wszystkie interpolacje na pobocznicy stoŜka ORICONxx jak teŜ interpolacji dodatkowo do krzywej w przestrzeni z dwoma punktami kontaktowymi narzędzia ORICURVE.
G.... Podanie rodzaju ruchu osi obrotowych X Y Z Podanie osi liniowych ORIAXES Interpolacja liniowa osi maszyny albo osi orientacji ORIVECT Interpolacja wielkiego okręgu (identyczna z ORIPLANE) ORIMKS Obrót w układzie współrzędnych maszyny ORIWKS Obrót w układzie współrzędnych obrabianego przedmiotu Opis patrz punkt "Obroty orientacji narzędzia" A= B= C= Programowanie pozycji osi maszyny ORIEULER Programowanie orientacji poprzez kąt Eulera ORIRPY Programowanie orientacji poprzez kąt RPY A2= B2= C2= Programowanie kąta osi wirtualnych ORIVIRT1 Programowanie orientacji poprzez wirtualne ORIVIRT2 osie orientacji (Definicja 1), ustalenie według MD $MC_ORIAX_TURN_TAB_1 (Definicja 2), ustalenie według MD $MC_ORIAX_TURN_TAB_2 A3= B3= C3= Programowanie wektora biegunowego osi kierunkowej ORIPLANE Interpolacja na płaszczyźnie(Interpolacja wielkiego okręgu) ORICONCW Interpolacja na pobocznicy stoŜka w kierunku ruchu wskazówek
zegara ORICONCCW Interpolacja na pobocznicy stoŜka przeciwnie do ruchu wskazówek
zegara ORICONTO Interpolacja na pobocznicy stoŜka przejście styczne A6= B6= C6= Programowanie osi obrotu stoŜka (wektor znormalizowany) NUT=kąt Kąt rozwarcia stoŜka w stopniach NUT=+179 Kąt ruchu mniejszy albo równy 180 stopni NUT=-181 Kąt ruchu większy albo równy 180 stopni
Transformacje 6.5 Orientacje odniesione do toru
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
367
ORICONIO Interpolacja na pobocznicy stoŜka
A7= B7= C7= Orientacja pośrednia (programowanie jako wektor znormali-zowany)
ORICURVE XH YH ZH np. z Wielomiany PO[XH]=(xe, x2, x3, x4, x5)
Interpolacja orientacji z zadaniem ruchu dwóch punktów kontaktowych narzędzia. Oprócz kaŜdorazowych punktów końcowych moŜna programować dodatkowe wielomiany krzywych w przestrzeni.
Wskazówka
Gdy orientacja narzędzia jest interpolowana z aktywnym ORIAXES poprzez osie orientacji, wówczas odniesiona do toru inicjalizacja kąta obrotu jest spełniana tylko na końcu bloku.
Działanie Przy wykazujących stałe przyspieszenie zmianach orientacji na konturze przerwania ruchów po torze, które szczególnie mogą występować na naroŜnikach konturu, są niepoŜądane. Wynikające z tego załamanie w przebiegu orientacji moŜna wygładzić przez wstawienie wła-snego bloku pośredniego. Zmiana orientacji następuje wówczas ze stałym przyspieszeniem, gdy podczas przeorientowania jest aktywne ORIPATHS. W tej fazie moŜe zostać przepro-wadzony ruch cofnięcia narzędzia.
Producent maszyny
Proszę przestrzegać wskazówek producenta maszyny dot. ewentualnie predefiniowanych danych maszynowych i nastawczych, przy pomocy których ta funkcja jest uaktywniana. Poprzez daną maszynową moŜna ustawić, jak wektor cofnięcia jest interpretowany: 1. W układzie współrzędnych narzędzia współrzędna Z jest definiowana przez kierunek na-rzędzia. 2. W układzie współrzędnych obrabianego przedmiotu współrzędna Z jest definiowana przez aktywną płaszczyznę. Dalsze objaśnienia do funkcji "orientacja odniesiona do toru" patrz
Literatura: /FB3/ Podręcznik działania Funkcje specjalne; Transformacja 3- do 5-osiowej (F2)
Transformacje 6.5 Orientacje odniesione do toru
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
368
Składnia Dla stałej orientacji narzędzia w odniesieniu do całego toru są na naroŜniku konturu wyma-gane dalsze dane programowe. Kierunek i długość tego ruchu jest programowany przez wektor ze składowymi A8=X, B8=Y, C8=Z.
N... ORIPATHS A8=X B8=Y C8=Z
Znaczenie ORIPATHS Orientacja narzędzia w odniesieniu do toru, załamanie w przebiegu orien-
tacji jest wygładzane. A8= B8= C8= Składowe wektora dla kierunku i długości drogi
X, Y, Z Ruch cofnięcia w kierunku narzędzia
Wskazówka
Programowanie wektora biegunowego A8, B8, C8
Gdy długość wektora jest równa zeru, ruch cofnięcia nie następuje.
ORIPATHS
Odniesiona do toru orientacja narzędzia staje się aktywna z ORIPATHS. Z drugiej strony orientacja jest przy pomocy liniowej interpolacji wielkiego okręgi transferowana z orientacji startowej do końcowej.
Transformacje 6.6 Kompresja orientacji (COMPON, COMPCURV, COMPCAD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
369
6.6 Kompresja orientacji (COMPON, COMPCURV, COMPCAD )
Działanie Programy NC, w których jest aktywna transformacja orientacji (TRAORI) i zaprogramowana orientacja za pomocą wektorów biegunowych, mogą być kompresowane przy dotrzymaniu zadanych tolerancji.
Wskazówka
Ruch orientacji jest kompresowany tylko przy aktywnej interpolacji wielkiego okręgu i przez to jest zaleŜny od G-Code dla interpolacji orientacji. Jest on tak samo jak maksymalna dłu-gość drogi i dopuszczalna tolerancja ustawiany poprzez dane maszynowe dla kaŜdej osi wzgl. dla posuwu po torze dla funkcji kompresora. Proszę przestrzegać danych producenta maszyny.
Programowanie
Orientacja narz ędzia W przypadku gdy jest aktywna transformacja orientacji (TRAORI) , w przypadku maszyn 5-osiowych orientacja narzędzia moŜe być programowana następująco (niezaleŜnie od kine-matyki): ● Programowanie wektora biegunowego poprzez: A3=<...> B3=<...> C3=<...> ● Programowanie kątów Eulera wzgl. kątów RPY poprzez: A2=<...> B2=<...> C2=<...>
Obrót narz ędzia
W przypadku maszyn 6-osiowych moŜna dodatkowo do orientacji narzędzia zaprogramować jeszcze jego obrót.
Programowanie kąta obrotu następuje przy pomocy:
THETA=<...>
Patrz "Obroty orientacji narzędzia (strona 358)".
Wskazówka
Bloki NC, w których dodatkowo jest zaprogramowany obrót, dają się kompresować tylko wtedy, gdy kąt obrotu zmienia się liniowo. Tzn. dla kąta obrotu nie moŜe być zaprogramo-wany wielomian przy pomocy PO[THT]=(...) .
Transformacje 6.6 Kompresja orientacji (COMPON, COMPCURV, COMPCAD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
370
Ogólna forma kompresowalnego bloku NC
Ogólna forma kompresowalnego bloku NC moŜe dlatego wyglądać następująco: N... X=<...> Y=<...> Z=<...> A3=<...> B3=<...> C3=< ...> THETA=<...> F=<...>
wzgl. N... X=<...> Y=<...> Z=<...> A2=<...> B2=<...> C2=< ...> THETA=<...> F=<...>
Wskazówka
Wartości pozycji mogą być podawana bezpośrednio (np. X90) albo pośrednio poprzez przyporządkowania parametrów (np. X=R1*(R2+R3)).
Programowanie orientacji narz ędzia przez pozycje osi obrotowych
Orientacja narzędzia moŜe być równieŜ podana przez pozycje osi obrotowych, np. w formie:
N... X=<...> Y=<...> Z=<...> A=<...> B=<...> C=<... > THETA=<...> F=<...>
W tym przypadku kompresja jest przeprowadzana na dwa róŜne sposoby, zaleŜnie od tego, czy interpolacja wielkiego okręgu jest przeprowadzana czy nie. Gdy interpolacja wielkiego okręgu nie następuje, wówczas skompresowana zmiana orientacji jest przedstawiana w zwykły sposób przez wielomiany osiowe dla osi obrotowych.
Dokładno ść konturu
ZaleŜnie od ustawionego trybu kompresji (MD20482 $MC_COMPRESSOR_MODE) przy kompresji działają dla osi geometrycznych i osi orientacji albo zaprojektowane tolerancje specyficzne dla osi (MD33100 $MA_COMPRESS_POS_TOL) albo następujące tolerancje specyficzne dla kanału, ustawiane poprzez dane nastawcze:
SD42475 $SC_COMPRESS_CONTUR_TOL (maksymalne odchylenie od konturu)
SD42476 $SC_COMPRESS_ORI_TOL (maksymalne odchylenie kątowe dla orientacji na-rzędzia)
SD42477 $SC_COMPRESS_ORI_ROT_TOL (maksymalne odchylenie kątowe dla kąta ob-rotu narzędzia) (dostępne tylko w przypadku maszyn 6-osiowych)
Literatura:
Podręcznik działania Funkcje podstawowe; Transformacja 3- do 5-osiowej (F2), punkt: "Kompresja orientacji".
Transformacje 6.6 Kompresja orientacji (COMPON, COMPCURV, COMPCAD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
371
Uaktywnienie / wył ączenie aktywno ści
Funkcje kompresora są włączane przez modalne G-Code COMPON, COMPCURV wzgl. COMPCAD.
Funkcja kompresora ulega zakończeniu przy pomocy COMPOF.
Patrz " Kompresja NC (COMPON, COMPCURV, COMPCAD) (strona 252) ".
Wskazówka
Zmiana orientacji narzędzia następuje w płaszczyźnie, która jest wyznaczona przez orien-tację startową i końcową).
Interpolacja wielkiego okręgu jest przeprowadzana pod następującymi warunkami:
• MD21104 $MC_ORI_IPO_WITH_G_CODE = 0, ORIWKS jest aktywne a orientacja jest programowana przy pomocy wektorów (z A3, B3, C3 wzgl. A2, B2, C2).
• MD21104 $MC_ORI_IPO_WITH_G_CODE = 1 i ORIVECT wzgl. ORIPLANE jest aktywne.
Orientacja narzędzia moŜe być zaprogramowana albo jako wektor biegunowy albo z po-zycjami osi obrotowych. JeŜeli jest aktywny jeden z G-Code ORICONxx albo ORICURVE albo są zaprogramowane wielomiany dla kąta orientacji (PO[PHI] i PO[PSI]) , nie jest przeprowadzana interpolacja wielkiego okręgu.
Transformacje 6.6 Kompresja orientacji (COMPON, COMPCURV, COMPCAD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
372
Przykład
W poniŜszym przykładzie programowania jest kompresowany okrąg, który jest przybliŜany przez ciąg poligonowy. Orientacja narzędzia porusza się przy tym synchronicznie do niego na pobocznicy stoŜka. ChociaŜ kolejne zaprogramowane zmiany orientacji przebiegają nie-stale, funkcja kompresora generuje gładki przebieg orientacji.
Programowanie Komentarz DEF INT LICZBA=60 DEF REAL PROMIEŃ=20 DEF INT COUNTER DEF REAL KĄT N10 G1 X0 Y0 F5000 G64 $SC_COMPRESS_CONTUR_TOL=0.05 ; Maksymalne odchylen ie konturu =
0.05 mm $SC_COMPRESS_ORI_TOL=5 ; Maksymalne odchylenie ori entacji =
5 stopni TRAORI COMPCURV
; Nast ępuje ruch po okr ęgu, który jest tworzony z wieloboków. Orienta-cja porusza si ę przy tym po sto Ŝku wokół osi Z z k ątem rozwarcia 45 stopni.
N100 X0 Y0 A3=0 B3=-1 C3=1 N110 FOR COUNTER=0 TO LICZBA N120 K ĄT=360*COUNTER/LICZBA N130 X=PROMIEŃ*cos(K ĄT) Y=PROMIE Ń*sin(K ĄT) A3=sin(K ĄT) B3=-cos(K ĄT) C3=1 N140 ENDFOR
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
373
6.7 Transformacja kinematyczna
6.7.1 Obróbka frezarska na cz ęściach toczonych (TRANSMIT)
Działanie
Funkcja TRANSMIT daje następujące moŜliwości:
● Obróbka na stronie czołowej części toczonych w zamocowaniu dla toczenia (otwory, kon-tury).
● Do programowania tej obróbki moŜna uŜywać kartezjańskiego układu współrzędnych.
● Sterowanie transformuje zaprogramowane ruchy postępowe w kartezjańskim układzie współrzędnych na ruchy postępowe realnych osi maszyny (przypadek standardowy):
– Oś obrotowa
– Oś dosuwu prostopadła do osi obrotu
– Oś podłuŜna równoległa do osi obrotu
– Osie liniowe są prostopadłe do siebie.
● Przesunięcie środka narzędzia w stosunku do osi obrotu jest dopuszczalne.
● Prowadzenie prędkości uwzględnia ograniczenia zdefiniowane dla ruchów obrotowych.
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
374
TRANSMIT Typy transformacji
Dla obróbek TRANSMIT są dwa ustawiane formy:
● TRANSMIT w przypadku standardowym z (TRAFO_TYPE_n = 256)
● TRANSMIT z dodatkową osią liniową Y (TRAFO_TYPE_n = 257)
Rozszerzony typ transformacji 257 moŜe być stosowany np. do skompensowania korekcji zamocowania narzędzia z realną osią Y.
Składnia TRANSMIT albo TRANSMIT(n) TRAFOOF
Oś obrotowa
Oś obrotowa nie moŜe być programowana, , poniewaŜ jest zajmowana przez oś geome-tryczną a przez to nie jest bezpośrednio programowalna jako oś kanału.
Znaczenie TRANSMIT Uaktywnia pierwszą uzgodnioną funkcję TRANSMIT. Ta funkcja jest
równieŜ określana jako transformacja biegunowa. TRANSMIT(n) Uaktywnia n-tą uzgodnioną funkcję TRANSMIT; n moŜe wynosić
maksymalnie 2 (TRANSMIT(1) odpowiada TRANSMIT).
TRAFOOF Wyłącza aktywną transformację
OFFN Odstęp konturu - normalny: odstęp obróbki czołowej od zaprogramo-wanego konturu odniesienia
Wskazówka
Aktywna transformacja TRANSMIT jest równieŜ wyłączana, gdy w danym kanale zostanie uaktywniona jedna z pozostałych transformacji (z. B. TRACYL, TRAANG, TRAORI ).
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
375
Przykład
Kod programu Komentarz N10 T1 D1 G54 G17 G90 F5000 G94 ; Wybór narz ędzia N20 G0 X20 Z10 SPOS=45 ; Dosuni ęcie do pozycji wyj ściowej N30 TRANSMIT ; Uaktywnienie funkcji TRANSMIT N40 ROT RPL=–45 ; Ustawienie frame N50 ATRANS X–2 Y10 N60 G1 X10 Y–10 G41 OFFN=1OFFN ; Obróbka zgrubna cz opa kwadratowe-go; naddatek 1 mm N70 X–10 N80 Y10 N90 X10 N100 Y–10 N110 G0 Z20 G40 OFFN=0 ; Zmiana narz ędzia N120 T2 D1 X15 Y–15 N130 Z10 G41 N140 G1 X10 Y–10 ; Obróbka wyka ńczaj ąca czopa kwadratowego N150 X–10 N160 Y10 N170 X10 N180 Y–10 N190 Z20 G40 ; Cofni ęcie wyboru frame N200 TRANS N210 TRAFOOF N220 G0 X20 Z10 SPOS=45 ; Dosuni ęcie do pozycji wyj ściowej N230 M30
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
376
Opis
Biegun
Są dwie moŜliwości przejścia przez biegun:
● Ruch tylko w osi liniowej
● Ruch do bieguna z obrotem osi obrotowej w biegunie i ruch z bieguna
Wybór następuje poprzez MD 24911 i 24951.
TRANSMIT z dodatkową osią liniową Y (typ transformacji 257):
Ten wariant transformacji biegunowej w przypadku maszyny z jedną dalszą osią liniową wy-korzystuje redundancję, aby przeprowadzić polepszoną korekcję narzędzia. Dla drugiej osi liniowej obowiązuje wówczas:
● mniejszy zakres pracy
● Ŝe druga oś liniowa nie powinna być uŜywana do wykonywania programu obróbki.
Dla programu obróbki i przyporządkowania odpowiednich osi w BKS albo MKS zakłada się odpowiednie ustawienia danych maszynowych, patrz
Literatura
/FB2/ Podręcznik działania Funkcje rozszerzające; Transformacje kinematyczne (M1)
6.7.2 Transformacja pobocznicy walca (TRACYL)
Działanie
Transformacja krzywej na pobocznicy walca TRACYL daje następujące moŜliwości:
Obróbka
● rowków wzdłuŜnych na elementach cylindrycznych,
● rowków poprzeczny na elementach cylindrycznych,
● dowolnie przebiegających rowków na elementach cylindrycznych.
Przebieg rowków jest programowany w odniesieniu do rozwiniętej, równej powierzchni po-bocznicy walca.
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
377
TRACYL Typy transformacji
Są trzy formy transformacji współrzędnych pobocznicy walca:
● TRACYL bez korekcji ścianki rowka: (TRAFO_TYPE_n=512)
● TRACYL z korekcją ścianki rowka: (TRAFO_TYPE_n=513)
● TRACYL z dodatkową osią liniową z korekcją ścianki rowka: (TRAFO_TYPE_n=514)
Korekcja ścianki rowka jest parametryzowana przy pomocy TRACYL poprzez trzeci para-metr.
Przy transformacji krzywej na pobocznicy walca z korekcją ścianki rowka oś stosowana do korekcji powinna być ustawiona na zero (y=0), aby rowek był wykonywany środkowo w sto-sunku do zaprogramowanej linii środkowej rowka.
Korzystanie z osi
Następujące osie nie mogą być stosowane jako osie pozycjonowania wzgl. osie wahliwe:
● oś geometryczna w kierunku obwodowym pobocznicy walca (oś Y)
● dodatkowa oś liniowa w przypadku korekcji ścianki rowka (oś Z)
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
378
Składnia
TRACYL(d) albo TRACYL(d, n) albo dla typu transformacji 514 TRACYL(d, n, korekcja ścianki rowka) TRAFOOF
Oś obrotowa
Oś obrotowa nie moŜe być programowana, , poniewaŜ jest zajmowana przez oś geome-tryczną a przez to nie jest bezpośrednio programowalna jako oś kanału.
Znaczenie TRACYL(d) Uaktywnia pierwszą funkcję TRACYL uzgodnioną w danych ma-
szynowych kanału. d parametr dla średnicy roboczej.
TRACYL (d, n) Uaktywnia n-tą funkcję TRACYL uzgodnioną w danych maszyno-wych kanału. n moŜe wynosić maksymalnie 2, TRACYL(d,1) od-powiada TRACYL(d).
D Wartość średnicy roboczej. Średnica robocza jest podwójną odle-głością między wierzchołkiem narzędzia i osią toczenia. Ta śred-nica musi zawsze zostać podana i być większa od 1.
n Opcjonalny 2. parametr dla zestawu danych TRACYL 1 (domyśl-nie wybrany) albo 2.
Korekcja ścianki rowka
Opcjonalny 3. parametr, którego wartość dla TRACYL jest wybie-rana uŜywając trybu dla danych maszynowych. Zakres wartości: 0: typ transformacji 514 bez korekcji ścianki rowka jak dotychczas
1: typ transformacji 514 z korekcją ścianki rowka
TRAFOOF Transformacja wył. (BKS i MKS są znów identyczne).
OFFN Offset konturu - normalny: odstęp ścianki rowka od zaprogramo-wanego konturu odniesienia
Wskazówka
Aktywna transformacja TRACYL jest równieŜ wyłączana, gdy w danym kanale zostanie uak-tywniona jedna z pozostałych transformacji (np. TRANSMIT, TRAANG, TRAORI ).
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
379
Przykład: Definicja narz ędzia
PoniŜszy przykład nadaje się do testowania parametryzacji transformacji walcowej TRACYL:
Kod programu Komentarz Parametr narz ędzia Znaczenie Uwagi Numer (DP) $TC_DP1[1,1]=120 Typ narz ędzia Frez $TC_DP2[1,1]=0 Poło Ŝenie ostrza Tylko dla narz ędzi tokarskich
Kod programu Komentarz Geometria Korekcja długo ści $TC_DP3[1,1]=8. Wektor korekcji długo ści Obliczenie zale Ŝnie od $TC_DP4[1,1]=9. typu i płaszczyzny $TC_DP5[1,1]=7.
Kod programu Komentarz Geometria Promie ń $TC_DP6[1,1]=6. Promie ń Promie ń narz ędzia $TC_DP7[1,1]=0 Szeroko ść rowka b dla piły do rowków, promie ń
zaokr ąglenia dla narz ędzi frezarskich $TC_DP8[1,1]=0 Wyst ęp k Tylko dla piły do rowków $TC_DP9[1,1]=0 $TC_DP10[1,1]=0 $TC_DP11[1,1]=0 K ąt dla sto Ŝkowych narz ędzi frezarskich
Kod programu Komentarz ZuŜycie Korekcja długo ści i promienia $TC_DP12[1,1]=0 Pozostałe parametry Wymiar bazowy/ przystawka do $TC_DP24=0
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
380
Przykład: Wykonanie rowka hakowego
Włączenie transformacji pobocznicy walca:
Kod programu Komentarz N10 T1 D1 G54 G90 F5000 G94 ; Wybór narz ędzia, kompensacja zamoco-
wania N20 SPOS=0 ; Dosuni ęcie do pozycji wyj ściowej N30 G0 X25 Y0 Z105 CC=200 N40 TRACYL (40) ; Wł ączenie transformacji krzywej na
pobocznicy walca N50 G19 ; Wybór płaszczyzny
Wykonanie rowka hakowego:
Kod programu Komentarz N60 G1 X20 ; Dosuw narz ędzia do dna rowka N70 OFFN=12 ; Ustalenie odst ępu ścianki rowka 12 mm w
stosunku do linii środkowej rowka N80 G1 Z100 G42 ; Dosuni ęcie do prawej ścianki rowka N90 G1 Z50 ; Fragment rowka równoległy do osi walc a N100 G1 Y10 ; Fragment rowka równoległy do obwodu N110 OFFN=4 G42 ; Ruch do lewej ścianki rowka ; Ustalenie od-
st ępu ścianki rowka 4 mm w stosunku do linii środkowej rowka
N120 G1 Y70 ; Fragment rowka równoległy do obwodu N130 G1 Z100 ; Fragment rowka równoległy do osi wa lca N140 G1 Z105 G40 ; Odsuni ęcie od ścianki rowka
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
381
Kod programu Komentarz N150 G1 X25 ; Odsuni ęcie N160 TRAFOOF N170 G0 X25 Y0 Z105 ; Dosuni ęcie do pozycji wyj ściowej CC=200 N180 M30
Opis
Bez korekcji ścianki rowka (typ transformacji 512):
Sterowanie transformuje zaprogramowane ruchy postępowe w walcowym układzie współ-rzędnych na ruchy postępowe w rzeczywistych osiach maszyny:
● Oś obrotowa
● Oś dosuwu prostopadła do osi obrotu
● Oś podłuŜna równoległa do osi obrotu
Osie liniowe są prostopadłe do siebie. Oś dosuwu przecina oś obrotową.
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
382
Z korekcj ą ścianki rowka (typ transformacji 513):
Kinematyka jak wyŜej ale dodatkowo oś podłuŜna równoległa do kierunku obwodowego
Osie liniowe są prostopadłe do siebie.
Prowadzenie prędkości uwzględnia ograniczenia zdefiniowane dla ruchów obrotowych.
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
383
Przekrój rowka
W przypadku konfiguracji osi 1 rowki wzdłuŜne do osi obrotowej są tylko wtedy równolegle ograniczone, gdy szerokość rowka dokładnie odpowiada promieniowi narzędzia.
Rowki równoległe do obwodu (poprzeczne) nie są równoległe na początku i końcu.
Z dodatkow ą osią liniow ą i z korekcj ą ścianki rowka (typ transformacji 514):
W przypadku maszyny z kolejną osią liniową ten wariant transformacji wykorzystuje redun-dancję, aby przeprowadzić polepszoną korekcję narzędzia. Dla drugiej osi liniowej obowią-zuje wówczas:
● mniejszy zakres pracy i
● Ŝe druga oś liniowa nie powinna być uŜywana do wykonywania programu obróbki.
Dla programu obróbki i przyporządkowania odpowiednich osi w BKS albo MKS zakłada się odpowiednie ustawienia danych maszynowych, patrz
Literatura
/FB2/ Podręcznik działania Funkcje rozszerzające; Transformacja kinematyczna (M1)
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
384
Offset konturu normalny OFFN (typ transformacji 513 )
Aby frezować rowki przy pomocy TRACYL, jest w
● w programie obróbki programowana linia środkowa rowka,
● poprzez OFFN programowana połowa szeroko ści rowka .
OFFN działa dopiero z wybraną korekcją promienia narzędzia, aby uniknąć uszkodzenia ścianki rowka). Ponadto powinien być OFFN>=promień narzędzia, aby wykluczyć uszkodze-nie przeciwległej ścianki rowka.
Program obróbki do frezowania rowka składa się z reguły z następujących kroków:
1. Wybór narzędzia
2. Wybór TRACYL
3. Wybór odpowiedniego przesunięcia współrzędnych (FRAME)
4. Pozycjonowanie
5. Zaprogramowanie OFFN
6. Wybór WRK
7. Blok dosuwu (zrealizowanie WRK i dosunięcie do ścianki rowka)
8. Kontur linii środkowej rowka
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
385
9. Cofnięcie wyboru WRK
10. Blok odsunięcia (cofnięcie korekcji promienia narzędzia i odsunięcie od ścianki rowka)
11. Pozycjonowanie
12. TRAFOOF
13. Ponowny wybór pierwotnego przesunięcia współrzędnych (FRAME)
Cechy szczególne
● Wybór WRK:
Korekcja promienia narzędzia jest programowana nie odnośnie ścianki rowka lecz w stosun-ku do zaprogramowanej linii środkowej rowka. Aby narzędzie poruszało się na lewo od ścianki rowka, jest wprowadzane G42 (zamiast G41). Unikacie tego, gdy w OFFN została wpisana szerokość rowka ze znakiem ujemnym.
● OFFN z TRACYL działa inaczej niŜ bez TRACYL. PoniewaŜ OFFN jest wliczane równieŜ bez TRACYL przy aktywnej WRK, OFFN powinno po TRAFOOF ponownie zostać ustawione na ze-ro.
● Zmiana OFFN w ramach programu obróbki jest moŜliwa. W ten sposób linia środkowa rowka mogłaby zostać przesunięta ze środka (patrz rysunek).
● Rowki prowadzące:
Przy pomocy TRACYL nie jest wykonywany ten sam rowek jaki wykonano by przy pomocy narzędzia, którego średnica jest równa szerokości rowka. Z zasady nie jest moŜliwe wyko-nanie przy pomocy mniejszego narzędzia cylindrycznego takiej samej geometrii ścianki row-ka co przy pomocy większego. TRACYL minimalizuje błąd.
Aby uniknąć problemów z dokładnością, promień narzędzia powinien być tylko niewiele mniejszy niŜ połowa szerokości rowka.
Wskazówka
OFFN i WRK
W przypadku TRAFO_TYPE_n = 512 wartość pod OFFN działa jako naddatek do WRK.
Przy TRAFO_TYPE_n = 513 jest w OFFN programowana połowa szerokości rowka. Przej-ście po konturze następuje z OFFN-WRK.
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
386
6.7.3 Oś skośna (TRAANG)
Działanie Funkcja osi skośnej jest pomyślana dla technologii szlifowania i umoŜliwia co następuje: ● Obróbka ze skośną osią dosuwu ● Do programowania moŜna stosować kartezjański układ współrzędnych. ● Sterowanie transformuje zaprogramowane ruchy postępowe w kartezjańskim układzie współrzędnych na ruchy postępowe realnych osi maszyny (przypadek standardowy): skośna oś dosuwu.
Składnia TRAANG(α) albo TRAANG(α, n)
TRAFOOF
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
387
Znaczenie TRAANG( ) albo
TRAANG( ,n)
Uaktywnienie transformacji z parametryzacją po-przedzającego wyboru.
TRAANG(α) Uaktywnia pierwszą uzgodnioną transformację osi skośnej
TRAANG(α,n) Uaktywnia n. uzgodnioną transformację osi skośnej. n moŜe wynosić maksymalnie 2. TRAANG(α,1) od-powiada TRAANG(α).
αA Kąt osi skośnej Dopuszczalnymi wartościami dla α są:
-90 stopni < α < + 90 stopni
TRAFOOF Transformacja wył.
n Liczba uzgodnionych transformacji
Pomini ęcie kąta α albo zero
Gdy kąt α zostanie pominięty (np. TRAANG(), TRAANG(, n) ), transformacja jest uaktyw-niana ze sparametryzowaniem z poprzedniego wyboru. Przy pierwszym wyborze obowiązuje ustawienie wstępne według danych maszynowych.
Kąt α = 0 (no. TRAANG(0), TRAANG(0,n)) jest poprawnym sparametryzowaniem i juŜ nie odpowiada pominięciu parametry w przypadku starszych wersji.
Przykład
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
388
Kod programu Komentarz N10 G0 G90 Z0 MU=10 G54 F5000 -> ; Wybór narz ędzia, kompensacja -> G18 G64 T1 D1 zamocowania, wybór płaszczyzny N20 TRAANG(45) ; Wł ączenie transformacji osi sko śnej N30 G0 Z10 X5 ; Dosuni ęcie do pozycji wyj ściowej N40 WAITP(Z) ; Zezwolenie dla osi na ruch wahliwy N50 OSP[Z]=10 OSP2[Z]=5 OST1[Z]=–2 -> ; Ruch wahliw y, a Ŝ do osi ą-
gni ęcia wymiaru -> OST2[Z]=–2 FA[Z]=5000 (ruch wahliwy patrz punkt "ruch wahliwy" N60 OS[Z]=1 N70 POS[X]=4.5 FA[X]=50 N80 OS[Z]=0 ) N90 WAITP(Z) ; Zezwolenie dla osi ruchu wahliwego na ruch jako o ś pozycjonowania N100 TRAFOOF ; Wył ączenie transformacji N110 G0 Z10 MU=10 ; Odsuni ęcie N120 M30 ;
Opis
Są moŜliwe następujące obróbki
1. Szlifowanie podłuŜne
2. Szlifowanie płaszczyzny
3. Szlifowanie określonego konturu
4. Szlifowanie wcinające skośne
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
389
Producent maszyny
Następujące ustawienia są dokonywane poprzez daną maszynową: ● kąt między osią maszyny i osią skośną, ● połoŜenie punktu zerowego obrabianego przedmiotu w odniesieniu do środka układu współrzędnych uzgodnionego przy funkcji "oś skośna", ● rezerwa prędkości, która jest utrzymywana na osi równoległej dla potrzeb ruchu wyrów-nawczego, ● rezerwa przyśpieszenia osi, która jest utrzymywana na osi równoległej dla potrzeb ruchu wyrównawczego.
Konfiguracja osi
Aby móc programować w kartezjańskim układzie współrzędnych, sterowanie musi zostać poinformowane o związku między tym układem współrzędnych i rzeczywiście istniejącymi osiami maszyny (MU, MZ): ● Nadanie nazw osiom geometrycznym ● Przyporządkowanie osi geometrycznych do osi kanału – przypadek ogólny (oś skośna nie jest aktywna) – oś skośna jest aktywna ● Przyporządkowanie osi kanału do numerów osi maszyny ● Oznaczenie wrzecion ● Przydzielenie nazw osi maszyny Postępowanie odpowiada z wyjątkami z "oś skośna aktywna" postępowaniu przy normalnej konfiguracji osi.
6.7.4 Programowanie osi sko śnej (G05, G07)
Działanie W pracy Jog moŜna poruszać ściernicę do wyboru w układzie kartezjańskim albo w kierunku osi skośnej (wyświetlanie pozostaje w układzie kartezjańskim). Porusza się tylko rzeczywista oś U, wyświetlanie osi Z jest aktualizowane. Przesunięcia repos muszą zostać cofnięte w układzie kartezjańskim. Przekroczenie kartezjańskiego ograniczenia pola roboczego jest w pracy Jog przy aktywnym "ruchu PTP" nadzorowane, odpowiednia oś jest przedtem hamowana. JeŜeli "ruch PTP" nie jest aktywny, moŜna wykonać ruch w osi dokładnie do ograniczenia pola roboczego.
Literatura
/FB2/ Podręcznik działania Funkcje rozszerzające, Transformacja kinematyczna (M1)
Transformacje 6.7 Transformacja kinematyczna
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
390
Składnia G07 G05 Polecenia G07/G05 słuŜą do ułatwienia programowania osi skośnej. Mogą być przy tym programowane i wyświetlane pozycje w kartezjańskim układzie współ-rzędnych. Korekcja narzędzia i przesunięcie punktu zerowego są wliczane w układzie karte-zjańskim. Po zaprogramowaniu kąta dla osi skośnej w programie NC moŜna dokonać dosunięcia do pozycji startowej (G07) a następnie przeprowadzić obróbkę wcinającą skośną (G05).
Znaczenie G07 Dosunięcie do pozycji startowej
G05 Uaktywnia szlifowanie wcinające skośne
Przykład
Kod programu Komentarz N.. G18 ; Programowanie k ąta dla osi sko śnej N50 G07 X70 Z40 F4000 ; Dosuni ęcie do pozycji startowej N60 G05 X70 F100 ; Szlifowanie wcinaj ące sko śne N70 ... ;
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
391
6.8 Ruch kartezja ński PTP
Działanie Przy pomocy tej funkcji pozycja moŜe zostać zaprogramowana w kartezjańskim układzie współrzędnych, ruch maszyny następuje jednak we współrzędnych maszyny. Funkcja ta moŜe być stosowana na przykład przy zmianie połoŜenia przegubu, gdy przy tym ruch prowadzi przez połoŜenie szczególne.
Wskazówka
Funkcja ma sens tylko w połączeniu z aktywną transformacją. Ponadto "ruch PTP" jest do-puszczalny tylko w połączeniu z G0 i G1.
Składnia N... TRAORI N... STAT='B10' TU='B100' PTP N... CP
Ruch PTP przy rodzajowej transformacji 5/6-osiowej
JeŜeli przy aktywnej transformacji rodzajowej 5/6-osiowei z PTP zostanie uaktywniony ruch punkt-do-punktu w układzie współrzędnych maszyny (ORIMKS), wówczas orientacja narzę-dzia moŜe być programowana zarówno przy pomocy pozycji osi obrotowych N... G1 X Y Z A B C
jak teŜ przy pomocy niezaleŜnych od kinematyki wektorów kąt Eulera wzgl. kąt RPY
N... ORIEULER albo ORIRPY N... G1 X Y Z A2 B2 C2 albo wektorów biegunowych N... G1 X Y Z A3 B3 C3
Przy tym moŜe być aktywna zarówno interpolacja osi obrotowej jak teŜ interpolacja wektoro-wa z interpolacją wielkiego okręgu ORIVECT albo interpolacja wektora orientacji na pobocz-nicy stoŜka ORICONxx.
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
392
Wieloznaczno ści orientacji z wektorami
Przy programowaniu orientacji z wektorami występują wieloznaczności w moŜliwych pozy-cjach osi obrotowych. Przyjmowane pozycje osi obrotowych mogą przy tym być wybierane przez programowanie STAT = <...> . Gdy nastąpi zaprogramowanie STAT = 0 (odpo-wiada to ustawieniu standardowemu), następuje ruch do pozycji znajdujących się w mniej-szej odległości od pozycji startowych. Gdy nastąpi zaprogramowanie STAT = 1 , następuje ruch do pozycji znajdujących się w dalszej odległości od pozycji startowych.
Znaczenie Polecenia PTP i CP działają modalnie. CP jest ustawieniem standardowym. Podczas gdy zaprogramowanie wartości STAT działa modalnie, zaprogramowanie TU = <...> działa pojedynczymi blokami. Dalszą róŜnicą jest równieŜ, Ŝe zaprogramowanie wartości STAT działa tylko przy interpola-cji wektorowej, podczas gdy zaprogramowanie TY jest poddawane ewaluacji równieŜ przy aktywnej interpolacji osi obrotowych.
PTP Point to Point (ruch punkt do punktu)
Ruch jest wykonywany jako ruch osi synchronicznych; najwolniejsza oś uczest-nicząca w ruchu jest osią dominującą dla prędkości.
CP continuous path (ruch po torze) Ruch jest wykonywany jako kartezjański ruch po torze.
STAT= PołoŜenie przegubów; wartość jest zaleŜna od transformacji. TU= Informacja TURN działa pojedynczymi blokami. Jest przez to moŜliwy jedno-
znaczny ruch do kąta osi między -360 stopni i 360 stopni.
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
393
Przykład
N10 G0 X0 Y-30 Z60 A-30 F10000 PołoŜenie wyjściowe → łokieć u góry N20 TRAORI(1) Transformacja wł. N30 X1000 Y0 Z400 A0 N40 X1000 Z500 A0 STAT='B10' TU='B100' PTP Przeorientowanie bez transformacji → łokieć u dołu N50 X1200 Z400 CP Transformacja ponownie aktywna N60 X1000 Z500 A20
N70 M30
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
394
Przykład: ruch PTP przy rodzajowej transformacji 5- osiowej
Wyjątek: Podstawą jest prostokątna kinematyka CA.
Kod programu Komentarz TRAORI ; Transformacja kinematyka CA wł. PTP ; Wł ączenie ruchu PTP N10 A3 = 0 B3 = 0 C3 = 1 ; Pozycje osi obrot. C = 0 A = 0 N20 A3 = 1 B3 = 0 C3 = 1 ; Pozycje osi obrot. C = 9 0 A = 45 N30 A3 = 1 B3 = 0 C3 = 0 ; Pozycje osi obrot. C = 9 0 A = 90 N40 A3 = 1 B3 = 0 C3 = 1 STAT = ; Pozycje osi obrot . C = 270 A = –45 1
Wybór jednoznacznego ruchu do pozycji osi obrotowej:
W bloku N40 osie obrotowe w wyniku zaprogramowania STAT = 1 wykonują dłuŜszą drogę od swojego punktu startowego (C=90, A=90) do punktu końcowego (C=270, A=-45), zamiast krót-szej drogi jak byłoby to w przypadku STAT =0 (C=90, A=45).
Opis Przełączanie między ruchami w układzie kartezjańskim i ruchami w osiach maszyny następuje przy pomocy poleceń PTP i CP.
Ruch PTP przy rodzajowej transformacji 5/6-osiowej Przy ruchu PTP w przeciwieństwie do transformacji 5/6 osiowej TCP zazwyczaj nie pozostaje na stałym miejscu, gdy zmienia się tylko orientacja. Następuje ruch liniowy do transformowa-nych pozycji końcowych wszystkich osi transformacji (3 osie liniowe i max 3 osie obrotowe), przy czym transformacja w ścisłym sensie nie jest jeszcze aktywna. Ruch PTP jest wyłączany przez zaprogramowanie modalnego G-Code CP. RóŜne transformacje są zawarte w druku: /FB3/ Podręcznik działania Funkcje specjalne; Posługiwanie się pakietem transformacji (TE4).
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
395
Programowanie poło Ŝenia (STAT=)
PołoŜenie maszyny nie jest jednoznacznie określone tylko przez podanie pozycji w układzie współrzędnych kartezjańskich i orientacji narzędzia. W zaleŜności od tego o jaką kinematykę chodzi, istnieje do 8 róŜnych wzgl. rozróŜnianych połoŜeń przegubu. Są one przez to specy-ficzne dla transformacji. Aby pozycję kartezjańską móc jednoznacznie przeliczyć na kąt osi, połoŜenie przegubów musi zostać podane przy pomocy polecenia STAT=. Polecenie "STAT" zawiera jeden bit jako wartość binarną dla kaŜdego z moŜliwych połoŜeń.
Bity połoŜenia, które naleŜy programować przy "STAT" , patrz:
/FB2/ Podręcznik działania Funkcje rozszerzające, Transformacja kinematyczna (M1), punkt "Ruch kartezjański PTP".
Programowanie k ątów osi (TU=)
Aby móc jednoznacznie wykonać ruch do kąta osi < ±360 stopni, informacja ta musi zostać zaprogramowana poleceniem "TU= " .
Osie wykonują ruch po najkrótszej drodze:
● gdy w przypadku pozycji nie zostanie zaprogramowane TU,
● w przypadku osi, które mają zakres ruchu > ±360 stopni.
Przykład:
Ruch do pozycji podanej na rysunku moŜe nastąpić w kierunku ujemnym albo dodatnim. Pod adresem 1 jest programowany kierunek.
A1=225°, TU=Bit 0, → kierunek dodatni
A1=−135°, TU=Bit 1, → kierunek ujemny
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
396
Przykład Ewaluacja TU dla rodzajowej transformacji 5/6-osiowej i pozycje docelowe
Zmienna TU zawiera dla kaŜdej osi, która wchodzi do transformacji, jeden bit, który sygnali-zuje kierunek ruchu. Przyporządkowanie bitów TU odpowiada widokowi osi obrotowych w kanale. Informacja TU jest poddawana ewaluacji tylko dla max 3 moŜliwych osi obrotowych, które wchodzą do transformacji:
Bit0: oś 1, bit TU = 0 : 0 stopni <= kąt osi obrotowej < 360 stopni
Bit1: oś 2, bit TU = 1: –360 stopni < kąt osi obrotowej < 0 stopni
Pozycją startową osi obrotowej jest C = 0, przez zaprogramowanie C = 270 oś obrotowa wy-konuje ruch do następujących pozycji docelowych:
C = 270: TU–Bit 0, dodatni kierunek obrotu
C = –90: TU–Bit 1, ujemny kierunek obrotu
Dalsze zachowanie si ę
Zmiana rodzaju pracy
Funkcja "ruch kartezjański PTP" ma sens tylko w rodzajach pracy AUTO i MDA. Przy zmia-nie rodzaju pracy na JOG aktualne ustawienie pozostaje zachowane.
Gdy jest ustawiony G-Code PTP, osie wykonują ruch w MKS. Gdy jest ustawiony G-Code CP, osie wykonują ruch w WKS.
Power On/RESET
Po Power On albo po Reset ustawienie jest zaleŜne od danej maszynowej $MC_GCODE_RESET_VALUES[48]. Standardowo jest ustawiony rodzaj ruchu "CP".
REPOS
JeŜeli podczas bloku przerwania była ustawiona funkcja "ruch kartezjański PTP ", równieŜ z PTP podlega pozycjonowaniu przywracającemu.
Ruchu nało Ŝone
Przesunięcie DRF albo zewnętrzne przesunięcie punktu zerowego są w przypadku ruchu kartezjańskiego PTP moŜliwe tylko z ograniczeniem. Przy zmianie z ruchu PTP na ruch CP w BKS nie moŜe być Ŝadnych nałoŜeń.
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
397
Ścięcie mi ędzy ruchami CP i PTP
Między blokami jest przy pomocy G641 moŜliwe programowane ścięcie przejścia. Wielkość obszaru ścięcia jest to droga po torze w mm albo calach, od której wzgl. do której przejście między blokami jest ścinane. Wielkość naleŜy podawać następująco: ● dla bloków G0 z ADISPOS ● dla wszystkich innych poleceń drogowych z ADIS Obliczenie drogi po torze odpowiada uwzględnieniu adresów F w przypadku bloków nie G0. Posuw jest dotrzymywany w osiach podanych w FGROUP(...) .
Obliczenie posuwu
Dla bloków CP są stosowane do obliczenia osie kartezjańskie bazowego układu współrzęd-nych. Dla bloków PTP są stosowane do obliczenia odpowiednie osie układu współrzędnych ma-szyny.
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
398
6.8.1 PTP przy TRANSMIT
Działanie
Przy pomocy PTP w przypadku TRANSMIT następuje optymalny pod względem czasu ruch do bloków G0 i G1. Zamiast liniowego ruchu osi w bazowym układzie współrzędnych (CP), ruch liniowy wykonują osie maszyny (PTP). Przez to przebieg osi maszyny w pobliŜu biegu-na ma taki wpływ, Ŝe punkt końcowy bloku moŜe zostać znacznie szybciej uzyskany.
Program obróbki jest nadal pisany w kartezjańskim układzie współrzędnych obrabianego przedmiotu i wszystkie przesunięcia współrzędnych, obrotu i programowania frame pozosta-ją obowiązujące. Symulacja na HMI jest równieŜ wyświetlana w kartezjańskim układzie współrzędnych obrabianego przedmiotu.
Składnia N... TRANSMIT N... PTPG0 N... G0 ... ... N... G1 ...
Znaczenie TRANSMIT Uaktywnia pierwszą uzgodnioną funkcję TRANSMIT (patrz punkt "Obróbki
frezarskie na częściach toczonych: TRANSMIT")
PTPG0 Point to Point G0 (ruch punkt do punktu automatycznie do kaŜdego bloku G0 a następnie ponownie ustawienie CP)
PoniewaŜ STAT i TU są modalne, obowiązuje zawsze ostatnia zaprogra-mowana wartość.
PTP Point to Point (Ruch punkt do punktu) Dla TRANSMIT, PTP oznacza, Ŝe przejście ze spirali kartezjańskiej na spiralę Archimedesa następuje albo wokół bieguna albo z bieguna. Wyni-kające stąd ruchy narzędzia przebiegają wyraźnie inaczej niŜ w przypadku CP i są przedstawione w poszczególnych przykładach programowania.
STAT= Rozwiązanie wieloznaczności odnośnie bieguna.
TU= TU jest bez znaczenia w przypadku PTP przy TRANSMIT
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
399
Przykład: obej ście bieguna przy pomocy PTP i TRANSMIT
Kod programu Komentarz N001 G0 X30 Z0 F10000 T1 D1 G90 ; Poło Ŝenie wyj ściowe wymiar ab-
solutny N002 SPOS=0 N003 TRANSMIT ; Transformacja TRANSMIT N010 PTPG0 ; Do ka Ŝdego bloku G0 automa-
tycznie PTP a nast ępnie ponownie CP
N020 G0 X30 Y20 N030 X-30 Y-20 N120 G1 X30 Y20 N110 X30 Y0 M30
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
400
Przykład: wyj ście z bieguna przy pomocy PTP i TRANSMIT
Kod programu Komentarz N001 G0 X90 Z0 F10000 T1 D1 G90 ; Poło Ŝenie wyj ściowe N002 SPOS=0 N003 TRANSMIT ; Transformacja TRANSMIT N010 PTPG0 ; Do ka Ŝdego bloku G0 automatycz-
nie PTP a nast ępnie ponownie CP N020 G0 X90 Y60 N030 X-90 Y-60 N040 X-30 Y-20 N050 X10 Y0 N060 X0 Y0 N070 X-20 Y2 N170 G1 X0 Y0 N160 X10 Y0 N150 X-30 Y-20 M30
Transformacje 6.8 Ruch kartezjański PTP
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
401
Opis PTP i PTPG0
PTPG0 jest uwzględniane przy wszystkich transformacjach, które mogą wykonywać PTP. We wszystkich innych przypadkach PTPG0 jest bez znaczenia. Bloki G0 są wykonywane w trybie CP. Wybór PTP wzgl. PTPG0 następuje w programie obróbki albo przez cofnięcie wyboru CP w danej maszynowej $MC_GCODE_RESET_VALUES[48].
OSTROśNIE
Warunki brzegowe
Odnośnie ruchów narzędzia i kolizji obowiązuje wiele warunków brzegowych i określone wykluczenia funkcji jak:
Z PTP nie moŜe być aktywna Ŝadna korekcja promienia narzędzia (WRK).
Z PTPG0 następuje ruch poprzez CP przy aktywnej korekcji promienia narzędzia (WRK).
Z PTP miękkie dosunięcie i odsunięcie (WAB) jest niemoŜliwe.
Z PTPG0 następuje ruch poprzez CP z miękkim dosunięciem i odsunięciem (WAB)
Z PTP cykle skrawania warstwowego (CONTPRON, CONTDCON) są niemoŜliwe.
Z PTPG następuje w cyklach skrawania warstwowego ruch poprzez CP.
Fazka (CHF, CHR) i zaokrąglenie (RND, RNDM) są ignorowane.
Kompresor nie toleruje się z PTP i jego wybór jest automatycznie cofany w blokach PTP.
NałoŜenie osi w interpolacji nie moŜe się zmienić podczas sekcji PTP.
Przy G643 następuje automatyczne przełączenie na ścinanie z dokładnością osiową G642.
Przy aktywnym PTP osie transformacji nie mogą być równocześnie osiami pozycjonowa-nia.
Literatura:
/FB2/ Podręcznik działania Funkcje rozszerzające, Transformacja kinematyczna (M1), punkt "Ruch kartezjański PTP"
Transformacje 6.9 Warunki brzegowe przy wyborze transformacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
402
PTP przy TRACON:
PTP moŜna uŜywać równieŜ z TRACON, gdy pierwsza powiązana transformacja obsługuje PTP.
Znaczenie STAT= i TU= przy TRANSMIT
Gdy oś obrotowa ma się obrócić o 180 stopni wzgl. kontur przy CP prowadzić przez biegun, osie obrotowe mogą zaleŜnie od danej maszynowej $MC_TRANSMIT_POLE_SIDE_FIX_1/2 [48] wykonać obrót o -/+ 180 stopni i wykonać ruch zgodnie lub przeciwnie do ruchu wska-zówek zegara. RównieŜ moŜna ustawić, czy ruch jest wykonywany przez biegun, czy nastę-puje obrót wokół bieguna.
6.9 Warunki brzegowe przy wyborze transformacji
Działanie Wybór transformacji jest moŜliwy poprzez program obróbki wzgl. MDA. NaleŜy przy tym uwzględnić: ● Nie jest wstawiany blok pośredni ruchu (fazki/zaokrąglenia). ● Ciąg bloków spline musi być zakończony; jeŜeli nie, ukazuje się komunikat. ● Musi być cofnięty wybór korekcji dokładnej narzędzia (FTOCOF); jeŜeli nie, ukazuje się
komunikat. ● Musi być cofnięty wybór korekcji promienia narzędzia (G40); jeŜeli nie, ukazuje się komu-
nikat. ● Uaktywniona korekcja długości narzędzia jest przejmowana przez sterowanie do transfor-
macji. ● Sterowanie cofa wybór aktualnego frame, działającego przed transformacją. ● Aktywne ograniczenie pola roboczego jest dla osi objętych transformacją cofane przez ste-
rowanie (odpowiada WALIMOF). ● Nadzór obszaru ochrony jest cofany. ● Praca z przechodzeniem płynnym i ścinanie naroŜników są przerywane. ● Wszystkie osie podane w danej maszynowej muszą być zsynchronizowane w odniesieniu
do bloku. ● Zamienione osie są zamieniane z powrotem, jeŜeli nie, ukazuje się komunikat. ● W przypadku osi zaleŜnych jest wyprowadzany komunikat.
Transformacje 6.10 Cofnięcie wyboru transformacji (TRAFOOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
403
Zmiana narz ędzia
Zmiana narzędzia jest dopuszczalna tylko przy cofniętym wyborze korekcji promienia narzę-dzia. Zmiana korekcji długości narzędzia i wybór/cofnięcie wyboru korekcji promienia narzędzia nie mogą być zaprogramowane w tym samym bloku.
Zmiana frame
Wszystkie instrukcje, które odnoszą się tylko do bazowego układu współrzędnych, są do-zwolone (FRAME, korekcja promienia narzędzia). Zmiana frame w przypadku G91 (wymiar przyrostowy) nie jest jednak - inaczej niŜ przy nie aktywnej transformacji - traktowana od-dzielnie. Będący do przebycia przyrost jest poddawany ewaluacji w układzie współrzędnych obrabianego przedmioty - niezaleŜnie od tego, jaki frame działał w poprzedzającym bloku.
Wykluczenia
Osie objęte transformacją nie mogą być stosowane: ● jako oś preset (alarm), ● do dosunięcia do punktu stałego (alarm), ● do bazowania (alarm).
6.10 Cofni ęcie wyboru transformacji (TRAFOOF)
Działanie
Przy pomocy polecenia TRAFOOF są wyłączane wszystkie aktywne transformacje i frame.
Wskazówka
Aktywność później potrzebnych frame musi zostać włączona przez ponowne zaprogramo-wanie.
NaleŜy przy tym uwzględnić:
Dla cofnięcia wyboru transformacji obowiązują te same warunki brzegowe co dla wyboru (patrz punkt "Warunki brzegowe przy wyborze transformacji").
Składnia
TRAFOOF
Znaczenie
Kod programu Komentarz TRAFOOF ; Wył ącza wszystkie aktywne transformacje / frame
Transformacje 6.11 Transformacje powiązane (TRACON, TRAFOOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
404
6.11 Transformacje powi ązane (TRACON, TRAFOOF)
Działanie KaŜdorazowo dwie transformacje mogą być połączone jedna za drugą (powiązane), tak Ŝe składowe ruchu dla osi z pierwszej transformacji są danymi początkowymi dla powiązanej drugiej transformacji. Składowe ruchu z drugiej transformacji działają na osie maszyny.
Łańcuch moŜe obejmować dwie transformacje
Wskazówka
Narzędzie jest zawsze przyporządkowywane do pierwszej transformacji łańcucha. Następ-na transformacja zachowuje się zawsze tak, jakby aktywna długość narzędzia wynosiła zero. Działają tylko ustawione poprzez dane maszynowe długości bazowe narzędzia (_BASE_TOOL_).
Producent maszyny
Przestrzegajcie wskazówek producenta maszyny i ew. transformacji predefiniowanych przez dane maszynowe. Transformacje i transformacje powiązane są opcjami. Na temat dostępności określonych transformacji w łańcuchu w określonych sterowaniach informuje kaŜdorazowo aktualny kata-log.
Zastosowania
● Szlifowanie konturów, które zostały zaprogramowane jako tworząca rozwinięcia walca (TRACYL) przy pomocy ściernicy ustawionej skośnie, np. szlifowanie narzędzi.
● Obróbka dokładna konturu nieokrągłego utworzonego przy pomocy TRANSMIT przy po-mocy ściernicy ustawionej skośnie.
Składnia TRACON(trf,par) Jest włączana transformacja powiązana.
TRAFOOF
Transformacje 6.11 Transformacje powiązane (TRACON, TRAFOOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
405
Znaczenie
TRACON Transformacja powiązana jest włączana. Uaktywniona przedtem inna trans-formacja jest przez TRACON() implicite wyłączana.
TRAFOOF Ostatnio włączona (powiązana) transformacja jest wyłączana.
trf Numer powiązanej transformacji: 0 albo 1 dla pierwszej/jedynej powiązanej transformacji. JeŜeli w tym miejscu nic nie zaprogramowano, jest to równoznaczne z poda-niem wartości 0 albo 1, tzn. jest uaktywniana pierwsza/jedyna transformacja. 2 dla drugiej powiązanej transformacji. (wartości nierówne 0 - 2 wytwarzają komunikat błędu).
par Jeden albo wiele rozdzielonych przecinkiem parametrów transformacji w powiązaniu, które oczekują parametrów, np. kąt osi skośnej. Przy nie usta-wionych parametrach działają ustawienia domyślne albo parametry ostatnio uŜywane. Przez postawienie przecinków konieczne jest zatroszczenie się, by podane parametry były poddane ewaluacji w takiej kolejności, w jakiej są oczekiwane, jeŜeli dla wcześniej umieszczonych parametrów mają działać ustawienia domyślne. W szczególności przy podaniu co najmniej jednego parametru musi przed nim znajdować się przecinek, równieŜ gdy podanie trf nie jest konieczne, a więc na przykład TRACON( , 3.7).
Warunek
Drugą transformacją musi być "oś sko śna" (TRAANG). Jako pierwsza transformacja są moŜ-liwe:
● Transformacje orientacji (TRAORI), łącznie z głowicą frezarską Kardana
● TRANSMIT
● TRACYL
● TRAANG
Dla uŜycia polecenia włączenia transformacji powiązanej warunkiem jest, by poszczególne transformacje do powiązania i będąca do uaktywnienia transformacja powiązana były zdefi-niowane przez dane maszynowe.
Warunków brzegowych i przypadków specjalnych podanych w poszczególnych opisach transformacji naleŜy przestrzegać równieŜ w ramach powiązania.
Informacje dot. projektowania danych maszynowych transformacji znajdziecie w:
/FB2/ Podręcznik działania Funkcje rozszerzające; Transformacje kinematyczne (M1) i
/FB3/ Podręcznik działania Funkcje specjalne; Transformacje 3- do 5-osiowych (F2).
Transformacje 6.11 Transformacje powiązane (TRACON, TRAFOOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
406
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
407
Korekcje narz ędzi 7
7.1 Pamięć korekcji Działanie
Budowa korekcji pami ęci
KaŜde pole danych moŜna wywołać przy pomocy numeru T i D-numeru (oprócz "płaskiego nr D") i zawiera ono oprócz danych geometrycznych dla narzędzia jeszcze dalsze wpisy, np. typ narzędzia.
Płaska struktura numerów D
"Płaska struktura numerów D" jest stosowana, gdy zarządzanie narzędziami następuje poza NCK. W tym przypadku numeru D z przynaleŜnymi zestawami korekt narzędzia są zakłada-ne bez przyporządkowania do narzędzi.
W programie obróbki moŜna dalej programować T. To T nie ma jednak odniesienia do za-programowanego numeru D.
Dane ostrzy u Ŝytkownika
Poprzez daną maszynową mogą być konfigurowane dane uŜytkownika dot. ostrza. Proszę przestrzegać danych producenta maszyny.
Parametry narz ędzia
Wskazówka
Poszczególne warto ści w pami ęci korekcji
Poszczególne wartości pamięci korekcji P1 do P25 dają się czytać i zapisywać z programu poprzez zmienne systemowe. Wszystkie pozostałe parametry są zarezerwowane.
Parametry narzędzi $TC_DP6 do $TC_DP8, $TC_DP10 i $TC_DP11 jak teŜ $TC_DP15 do $TC_DP17, $TC_DP19 i $TC_DP20 mają w zaleŜności od typu narzędzia inne znaczenie 1Obowiązuje równieŜ dla narzędzi frezarskich dla frezowania czołowego 3D 2W przypadku piły do rowków typ narzędzia 3Zarezerwowano: nie jest uŜywane przez SINUMERIK 840D
Korekcje narzędzi 7.1 Pamięć korekcji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
408
Parametr narz ędzia numer (DP)
Znaczenie zmiennych systemowych Uwagi
$TC_DP 1 Typ narzędzia Przegląd patrz lista $TC_DP 2 PołoŜenie ostrza Tylko dla narzędzi tokar-
skich Geometria Korekcja długo ści $TC_DP 3 Długość 1 Obliczenie według typu $TC_DP 4 Długość 2 i płaszczyzny $TC_DP 5 Długość 3 Geometria Promie ń
$TC_DP 61
$TC_DP62 Promień 1 / długość 1 średnica d
Narzędzia frezarskie/ tokarskie/ szlifierskie, piła do rowków
$TC_DP 71
$TC_DP72 Długość 2 / zaokrąglenie naroŜnika frezów stoŜkowych, szerokość rowka przy zaokrągle-niu naroŜnika
Narzędzia frezarskie Piła do rowków
$TC_DP 81
$TC_DP82 Promień zaokrąglenia 1 dla narzędzi frezar-skich Występ k
Tylko dla piły do rowków
$TC_DP91,3 Promień zaokrąglenia 2 zarezerwowano
$TC_DP 101 Kąt 1 czołowa strona narzędzia StoŜkowe narzędzia fre-zarskie
$TC_DP 111 Kąt 2 oś podłuŜna narzędzia StoŜkowe narzędzia fre-zarskie
ZuŜycie Korekcja długo ści i promienia $TC_DP 12 Długość 1 $TC_DP 13 Długość 2 $TC_DP 14 Długość 3
$TC_DP 151
$TC_DP152 Promień 1 / długość 1 średnica d
Narzędzia frezarskie/ tokarskie/ szlifierskie, piła do rowków
$TC_DP 161
$TC_DP163 Długość 2 / zaokrąglenie naroŜnika frezów stoŜkowych, szerokość rowka przy zaokrągle-niu naroŜnika
Narzędzia frezarskie Piła do rowków
$TC_DP 171
$TC_DP172 Promień zaokrąglenia 1 dla narzędzi frezar-skich Występ k
Frezowanie / frezowanie czołowe 3D piła do rowków
$TC_DP181,3 Promień zaokrąglenia 2 zarezerwowano
$TC_DP 191 Kąt 1 czołowa strona narzędzia StoŜkowe narzędzia fre-zarskie
$TC_DP 201 Kąt 2 dla osi podłuŜnej narzędzia StoŜkowe narzędzia fre-zarskie
Wymiar bazo-wy/przystawka
Korekcje długo ści
$TC_DP 21 Długość 1 $TC_DP 22 Długość 2 $TC_DP 23 Długość 3 Technologia $TC_DP 24 Kąt przyłoŜenia Dla narzędzi tokarskich $TC_DP25 zarezerwowano
Korekcje narzędzi 7.1 Pamięć korekcji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
409
Wskazówki
Dla wielkości geometrycznych (np. długość 1 albo promień) jest wiele wpisywanych składowych. Te są sumowane w wartość wynikową (np. długość całkowita 1, promień całkowity), która następnie działa.
Niepotrzebne korekcje naleŜy wyposaŜyć w wartość zero.
Parametry narz ędzia $TC-DP1 do $TC-DP23 z narz ędziami konturowymi
Wskazówka
Parametry narzędzi, które nie są wymienione w tablicy, jak np. $TC_DP7, nie są pod-dawane ewaluacji, tzn. ich treść jest bez znaczenia.
Parametr narz ędzia Numer (DPP
Znaczenie Nr ostrza Uwagi
$TC_DP1 Typ narzędzia 400 do 599
$TC_DP2 PołoŜenie ostrza
Geometria Korekcja długo ści
$TC_DP3 Długość 1
$TC_DP4 Długość 2
$TC_DP5 Długość 3
Geometria Promie ń
$TC_DP6 Promień
Geometria K ąt graniczny
$TC_DP10 Minimalny kąt graniczny
$TC_DP11 Maksymalny kąt graniczny
ZuŜycie Korekcja długo ści i promie-nia
$TC_DP12 ZuŜycie długość 1
$TC_DP13 ZuŜycie długość 2
$TC_DP14 ZuŜycie długość 3
$TC_DP15 ZuŜycie promień
ZuŜycie K ąt graniczny
$TC_DP19 ZuŜycie min. kąt graniczny
$TC_DP20 ZuŜycie max kąt graniczny
Wymiar bazowy / przystawka
Korekcje długo ści
$TC_DP21 Długość 1
$TC_DP22 Długość 2
$TC_DP23 Długość 3
Korekcje narzędzi 7.2 Korekcje addytywne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
410
Warto ść podstawowa i warto ść zuŜycia
Wielkości wynikowe wynikają kaŜdorazowo z sumy z wartości podstawowej i wartości zuŜycia (np. $TC_DP6 + $TC_DP15 dla promienia). Do długości narzędzia pierwsze-go ostrza jest poza tym jeszcze dodawany wymiar bazowy ($TC_DP21 – $TC_DP23). Dodatkowo na tę długość narzędzia działają wszystkie inne wielkości, które równieŜ w przypadku zwykłego narzędzia mogą mieć wpływ na jego efektywną długość (przy-stawka, orientowalny nośnik narzędzi, dane nastawcze).
Kąty graniczne 1 i 2
Kąty graniczne 1 wzgl. 2 odnoszą się kaŜdorazowo do wektora od punktu środkowego ostrza do punktu odniesienia ostrza i są liczone przeciwnie do kierunku ruchu wska-zówek zegara.
7.2 Korekcje addytywne
7.2.1 Wybranie korekcji addytywnych (DL)
Działanie
Korekcje addytywne mogą być traktowane jako korekcje procesu programowalne w czasie obróbki. Odnoszą się one do danych geometrycznych ostrza i są przez to częścią składową danych ostrza narzędzia. Dostęp do danych korekcji addytywnej jest uzyskiwany poprzez numer DL (DL: Loca-tion dependent; korekcje odnośnie kaŜdorazowego miejsca uŜycia) i wprowadzane poprzez interfejs graficzny.
Zastosowanie
Poprzez korekcje addytywne mogą być wyrównywane błędy uwarunkowane miejscem uŜycia.
Składnia
DL=<numer>
Korekcje narzędzi 7.2 Korekcje addytywne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
411
Znaczenie
DL Polecenie do uaktywnienia korekcji addytywnej
<numer> Poprzez parametr <numer> jest podawany będący do uaktyw-nienia addytywny zestaw danych korekcyjnych narzędzia.
Wskazówka
Ustalenie liczby i uaktywnienie korekcji addytywnych następuje poprzez dane ma-szynowe (→ Przestrzegać danych producenta maszyny!).
Przykład
To samo ostrze jest stosowane do dwóch miejsc w łoŜysku:
Kod programu Komentarz N110 T7 D7 ; Rewolwer jest pozycjonowany na
miejscu 7. D7 i DL=1 s ą uaktywnia-ne i realizowane w nast ępnym blo-ku.
N120 G0 X10 Z1 N130 G1 Z-6 N140 G0 DL=2 Z-14 ; Dodatkowo do D7 jest uaktywniane
DL=2 i realizowane w nast ępnym bloku.
N150 G1 Z-21 N160 G0 X200 Z200 ; Dosuni ęcie do punktu zmiany na-
rz ędzia. ...
Korekcje narzędzi 7.2 Korekcje addytywne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
412
7.2.2 Ustalenie warto ści zu Ŝycia i ustawiania ($TC_SCPxy[t,d], $TC_ECPxy[t,d])
Działanie Wartości zuŜycia i ustawcze mogą być czytane i zapisywane poprzez zmienne syste-mowe. Logika orientuje się przy tym według logiki odpowiednich parametrów syste-mowych dla narzędzi i ostrzy.
Zmienne systemowe
Zmienna systemowa Znaczenie
$TC_SCPxy[<t>,<d>] Wartości zuŜycia, które poprzez xy są przyporządkowane do kaŜdorazowego parametru geometrycznego, przy czym x odpo-wiada numerowi wartości zuŜycia a y tworzy odniesienie do parametru geometrycznego.
$TC_ECPxy[<t>,<d>] Wartości ustawcze, które poprzez xy są przyporządkowane do kaŜdorazowego parametru geometrycznego, przy czym x odpo-wiada numerowi wartości ustawczej a y tworzy odniesienie do parametru geometrycznego.
<t>: numer T narzędzia <d>: numer D ostrza narzędzia
Przykład Wartość zuŜycia długości 1 dla ostrza <d> narzędzia <t> jest ustalona na wartość 1.0. Parametr: $TC_DP3 (długość 1, w przypadku narzędzi tokarskich) Wartości zuŜycia: $TC_SCP13 do $TC_SCP63 Wartości ustawcze: $TC_ECP13 do $TC_ECP63 $TC_SCP43 [<t>,<d>] = 1.0
Korekcje narzędzi 7.2 Korekcje addytywne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
413
7.2.3 Skasowanie korekcji addytywnych (DELDL)
Działanie
Przy pomocy polecenia DELDL są kasowane korekcje dla ostrza narzędzia (zwolnie-nie pamięci). Są przy tym kasowane zarówno ustalone wartości zuŜycia jak teŜ warto-ści ustawiania.
Składnia DELDL[<t>,<d>] DELDL[<t>] DELDL <status>=DELDL[<t>,<d>]
Znaczenie
DELDL Polecenie do kasowania korekcji addytywnych
<t> Numer T narzędzia
<d> Numer D ostrza narzędzia
DELDL[<t>,<d>] Są kasowane wszystkie addytywne korekcje ostrza <d> narzędzia <t>.
DELDL[<t>] Są kasowane wszystkie addytywne korekcje wszystkich ostrzy narzędzia <t>.
DELDL Są kasowane wszystkie addytywne korekcje wszystkich ostrzy wszystkich narzędzi jednostki TO (dla kanału, w którym jest programowane polecenie).
<status> Status kasowania
Wartość: Znaczenie: 0 Skasowanie zostało przeprowadzone z powo-
dzeniem. - Skasowanie nie zostało przeprowadzone (gdy
parametryzowanie określa dokładnie jedno ostrze), albo jest niekompletne (gdy parametry-zowanie określa wiele ostrzy).
Wskazówka
Wartości zuŜycia i wartości ustawiania aktywnych narzędzi nie mogą zostać skasowa-ne (zachowuje się analogicznie do zachowania się przy kasowaniu D wzgl. danych narzędzia).
Korekcje narzędzi 7.3 Traktowanie specjalne korekcji narzędzia
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
414
7.3 Traktowanie specjalne korekcji narz ędzia
Działanie
Przy pomocy danych nastawczych SD42900 do SD42960 moŜna sterować ewaluacją znaków długości narzędzia i zuŜycia.
Dotyczy to równieŜ zachowania się składowych zuŜycia przy lustrzanym odbiciu osi geometrycznych albo przy zmianie płaszczyzny obróbki a równieŜ do kompensacji temperatury w kierunku narzędzia.
Wartości zu Ŝycia Gdy dalej powołujemy się na wartości zuŜycia, naleŜy pod tym pojęciem kaŜdorazowo rozumieć sumę właściwych wartości zuŜycia ($TC_DP12 do $TC_DP20) i korekcje sumaryczne z wartości zuŜycia ($SCPX3 do $SCPX11) i ustawiania ($ECPX3 do $ECPX11). BliŜsze dane dot. korekcji sumarycznych patrz:
Literatura:
Podręcznik działania Zarządzanie narzędziami
Dane nastawcze
Dana nastawcza Znaczenie
SD42900 $SC_MIRROR_TOOL_LENGTH Lustrzane odbicie komponentów długości narzędzia i komponentów wymiaru bazowego
SD42910 $SC_MIRROR_TOOL_WEAR Lustrzane odbicie wartości zuŜycia komponen-tów długości narzędzia.
SD42920 $SC_WEAR_SIGN_CUTPOS Reakcja na znak składowej zuŜycia w zaleŜ-ności od połoŜenia ostrza.
SD42930 $SC_WEAR_SIGN Odwraca znaki wymiarów zuŜycia.
SD42935 $SC_WEAR_TRANSFORM Transformacja wartości zuŜycia.
SD42940 $SC_TOOL_LENGTH_CONST Przyporządkowanie komponentów długości narzędzia do osi geometrycznych.
SD42950 $SC_TOOL_LENGTH_TYPE Przyporządkowanie komponentów długości narzędzia niezaleŜnie od typu narzędzia.
SD42960 $SC_TOOL_TEMP_COMP Wartość kompensacji temperatury w kierunku narzędzia. Działa równieŜ przy istniejącej orientacji narzędzia.
Literatura
Podręcznik działania Funkcje podstawowe; korekcja narzędzia (W1)
Korekcje narzędzi 7.3 Traktowanie specjalne korekcji narzędzia
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
415
Dalsze informacje
Uaktywnienie zmienionych danych nastawczych
Nowa reakcja na składowe narzędzia przy zmianie opisanych danych nastawczych działa dopiero wtedy, gdy następny raz zostanie wybrane ostrze narzędzia. JeŜeli na-rzędzie jest juŜ aktywne i ma zacząć działać zmieniona reakcja na dane tego narzę-dzia, narzędzie to musi zostać wybrane ponownie.
Odpowiednio jest w przypadku, gdy zmienia się wynikowa długość narzędzia, ponie-waŜ zmieniony został stan lustrzanego odbicia osi. Narzędzie musi po poleceniu lu-strzanego odbicia zostać ponownie zostać wybrane, aby zaczęły działać zmienione komponenty długości narzędzia. Orientowalne no śniki narz ędzi i nowe dane nastawcze
Dane nastawcze SD42900 do SD42940 nie działają na komponenty ewentualnie ak-tywnego orientowalnego nośnika narzędzi. Narzędzie wchodzi jednak zawsze ze swo-ją całą wynikową długością (długość narzędzia + zuŜycie + wymiar bazowy) do obli-czenia z orientowanym nośnikiem narzędzi. Przy obliczaniu wynikającej długości cał-kowitej są uwzględniane wszystkie zmiany, które zostały spowodowane przez dane nastawcze; tzn. wektory orientowanego nośnika narzędzi są niezaleŜne od płaszczy-zny obróbki.
Wskazówka
Często przy stosowaniu orientowanych nośników narzędzi będzie sensowne zdefinio-wanie wszystkich narzędzi dla nie poddanego lustrzanemu odbiciu systemu podstawo-wego, równieŜ tych, które są stosowane tylko do obróbki w lustrzanym odbiciu. Przy obróbce z osiami poddanymi lustrzanemu odbiciu nośnik narzędzi jest wówczas tak obracany, Ŝe rzeczywiste połoŜenie narzędzia jest prawidłowo opisywane. Wszystkie składowe długości narzędzia działają wówczas automatycznie we właściwym kierunku, tak Ŝe zbędne staje się sterowaniem reakcją poszczególnych składowych poprzez da-ne nastawcze zaleŜnie od stanu lustrzanego odbicia poszczególnych osi.
Dalsze mo Ŝliwo ści zastosowania
Zastosowanie funkcji orientowanych nośników narzędzi moŜe mieć sens równieŜ wte-dy, gdy w maszynie nie jest fizycznie przewidziana Ŝadna moŜliwość skręcania narzę-dzi, ale są one na stałe zainstalowane z róŜnym zorientowaniem. Zwymiarowania na-rzędzi moŜna wówczas dokonać jednolicie w zorientowaniu podstawowym a wymiary mające znaczenie dla obróbki wynikają wówczas z obrócenia wirtualnego nośnika na-rzędzi.
Korekcje narzędzi 7.3 Traktowanie specjalne korekcji narzędzia
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
416
7.3.1 Poddanie długo ści narz ędzia lustrzanemu odbiciu
Działanie Przy pomocy danych nastawczych SD42900 $SC_MIRROR_TOOL_LENGTH i SD42910 $SC_MIRROR_TOOL_WEAR nierównych zeru moŜecie poddać lustrzane-mu odbiciu komponenty długości narzędzia i komponenty wymiarów bazowych z war-tościami zuŜycia w ich przynaleŜnych osiach.
SD42900 $SC_MIRROR_TOOL_LENGTH
Dana nastawcza nierówna zeru:
Lustrzanemu odbiciu podlegają równieŜ komponenty długości narzędzia ($TC_DP3, $TC_DP4 i $TC_DP5) i komponenty wymiarów bazowych ($TC_DP21, $TC_DP22 i $TC_DP23), których przynaleŜne osie są poddane lustrzanemu odbiciu, - przez zmianę znaku liczby.
Wartości zuŜycia nie podlegają równoczesnemu lustrzanemu odbiciu. Gdy mają one równieŜ zostać poddane lustrzanemu odbiciu, musi być ustawiona dana nastawcza SD42910 $SC_MIRROR_TOOL_WEAR. SD42910 $SC_MIRROR_TOOL_WEAR
Dana nastawcza nierówna zeru:
Wartości zuŜycia komponentów długości narzędzia, których przynaleŜne osie są pod-dane lustrzanemu odbiciu, są równieŜ poddawane lustrzanemu odbiciu - przez odwró-cenie znaku liczby.
Korekcje narzędzi 7.3 Traktowanie specjalne korekcji narzędzia
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
417
7.3.2 Ewaluacja znaku zu Ŝycia
Działanie Przy pomocy ustawionych danych nastawczych SD42920 $SC_WEAR_SIGN_CUTPOS i SD42930 $SC_WEAR_SIGN nierówne zeru, moŜecie poddać odwróceniu ewaluację znaku komponentów zuŜycia.
SD42920 $SC_WEAR_SIGN_CUTPOS
Dana nastawcza nierówna zeru:
W przypadku narzędzi o względnym połoŜeniu ostrza (narzędzia tokarskie i szlifier-skie, typy narzędzi 400) ewaluacja znaku liczby składowych zuŜycia w płaszczyźnie obróbki zaleŜy od połoŜenia ostrza. W przypadku typów narzędzi bez mającego zna-czenie połoŜenia ostrza ta dana nastawcza nie ma znaczenia. W poniŜszej tablicy są przez X zaznaczone wymiary, których znak jest odwracany po-przez SD42920 (nierówna 0):
Długo ść ostrza Długo ść 1 Długo ść 2
1
2 X
3 X X
4 X
5
6
7 X
8 X
9
Wskazówka
Ewaluacja znaku przez SD42920 i SD42910 jest niezaleŜna od siebie.
Gdy np. znak podania wymiaru zostanie zmieniony przez obydwie dane nastawcze, znak wynikowy pozostanie bez zmian.
Korekcje narzędzi 7.3 Traktowanie specjalne korekcji narzędzia
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
418
SD42930 $SC_WEAR_SIGN
Dana nastawcza nierówna zeru:
Znak wszystkich wymiarów zuŜycia jest odwracany. Działa on zarówno na długość na-rzędzia jak równieŜ na pozostałe wielkości promienia narzędzia, promień zaokrąglenia itd.
Gdy zostanie wprowadzona dodatnia miara zuŜycia, narzędzie stanie się przez to "krótsze" i "cieńsze", patrz punkt "Korekcja narzędzia, traktowanie specjalne", począ-tek działania zmienionych danych nastawczych".
7.3.3 Układ współrz ędnych aktywnej obróbki (TOWSTD, TOWMCS,
TOWWCS, TOWBCS, TOWTCS, TOWKCS)
Działanie ZaleŜnie od kinematyki maszyny albo od występowania orientowalnego nośnika na-rzędzi wartości zuŜycia zmierzone w jednym z tych układów współrzędnych są prze-noszone lub transformowane na odpowiedni układ współrzędnych.
Układy współrz ędnych aktywnej obróbki
Z poniŜszych układów współrzędnych mogą wynikać offsety długości narzędzia, które zuŜycie jako składową długości narzędzia poprzez odpowiedni G-Code z grupy 56 wliczają do aktywnego narzędzia. ● Układ współrzędnych maszyny (MKS) ● Bazowy układ współrzędnych (BKS) ● Układ współrzędnych obrabianego przedmiotu (WKS) ● Układ współrzędnych narzędzia (TCS) ● Układ współrzędnych narzędzia transformacji kinematycznej (KCS)
Składnia TOWSTD TOWMCS TOWWCS TOWBCS TOWTCS TOWKCS
Korekcje narzędzi 7.3 Traktowanie specjalne korekcji narzędzia
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
419
Znaczenie
TOWSTD Wartość nastawienia podstawowego korekcji w długości narzędzia wartość zuŜycia
TOWMCS Korekcje w długości narzędzia w MKS
TOWWCS Korekcje w długości narzędzia w WKS
TOWBCS Korekcje w długości narzędzia w BKS
TOWTCS Korekcje długości narzędzia w punkcie odniesienia nośnika narzędzi
(orientowany nośnik narzędzi)
TOWKCS Korekcje długości narzędzia głowicy narzędziowej (transformacja kinematyczna)
Dalsze informacje
Cechy odró Ŝniające
W poniŜszej tablicy są przedstawione najwaŜniejsze cechy rozróŜniające:
G-Code Warto ść zuŜycia Aktywny orientowalny no śnik narzędzi
TOWSTD Wartość połoŜenia podstawowego, długość narzędzia
Wartości zuŜycia podlegają obro-towi.
TOWMCS Wartość zuŜycia w MKS. TOWMCS jest identyczny z TOWSTD, gdy nie jest aktywny orientowalny nośnik narzędzi.
Obraca się tylko wektor wynikowej długości narzędzia bez uwzględ-nienia zuŜycia.
TOWWCS Wartość zuŜycia jest w ukł. wsp. obr. przedm. przeliczana na układ wsp. maszyny.
Wektor narzędzia jest obliczany bez uwzględnienia zuŜycia jak w przypadku TOWMCS.
TOWBCS Wartość zuŜycia jest w bazowym ukł. wsp. przeliczana na układ wsp. ma-szyny.
Wektor narzędzia jest obliczany bez uwzględnienia zuŜycia jak w przypadku TOWMCS.
TOWTCS Wartość zuŜycia jest w układzie wsp. narzędzia przeliczana na układ wsp. maszyny.
Wektor narzędzia jest obliczany bez uwzględnienia zuŜycia jak w przypadku TOWMCS.
TOWWCS , TOWBCS, TOWTCS: Wektor zuŜycia jest dodawany do wektora narzę-dzia.
Korekcje narzędzi 7.3 Traktowanie specjalne korekcji narzędzia
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
420
Transformacja liniowa
Długość narzędzia jest moŜliwa tylko wtedy do sensownego zdefiniowania w układzie wsp. maszyny, gdy układ ten wynika z bazowego układu wsp. przez transformację li-niową.
Transformacja nieliniowa
JeŜeli np. przy pomocy TRANSMIT jest aktywna transformacja nieliniowa, wówczas przy podaniu MKS jako poŜądanego układu współrzędnych jest automatycznie stoso-wany BKS.
Bez transformacji kinematycznej i bez orientowalneg o no śnika narz ędzi
JeŜeli z powodu transformacji kinematycznej jest aktywny jeszcze jeden orientowalny nośnik narzędzi, wówczas oprócz WKS są kombinowane wszystkie dalsze cztery układy współrzędnych. Przez to tylko układ współrzędnych obrabianego przedmiotu róŜni się od pozostałych. PoniewaŜ naleŜy poddać ewaluacji wyłącznie długości na-rzędzi, translacje między układami współrzędnych nie mają Ŝadnego znaczenia.
Literatura:
Dalsze informacje dot. korekcji narzędzia patrz:
Podręcznik działania Funkcje podstawowe; korekcja narzędzia (W1)
Wliczenie warto ści zu Ŝycia
Dana nastawcza SD42935 $SC_WEAR_TRANSFORM ustala, który z trzech kompo-nentów zuŜycia:
● zuŜycie ● korekcje sumaryczne dokładne ●korekcje sumaryczne zgrubne
ma zostać poddany obrotowi przez transformację dostosowawczą albo orientowalny nośnik narzędzi, gdy jest aktywny jeden z następujących G-Code:
● TOWSTD PołoŜenie podstawowe dla korekcji w długości narzędzia
● TOWMCS Wartości zuŜycia w układzie współrzędnych maszyny (MKS)
● TOWWCS Wartości zuŜycia w układzie współrzędnych obrabianego przedmiotu (WKS)
● TOWBCS Wartości zuŜycia (BKS) w bazowym układzie współrzędnych
Korekcje narzędzi 7.3 Traktowanie specjalne korekcji narzędzia
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
421
● TOWTCS Wartości zuŜycia w układzie współrzędnych narzędzia na zamocowaniu uch-
wytu narzędzia (T odniesienie nośnika narzędzi) ● TOWKCS Wartości zuŜycia w układzie współrzędnych głowicy narzędziowej przy trans-
formacji kinetyczne
Wskazówka
Na ewaluację poszczególnych komponentów zuŜycia (przyporządkowanie do osi geo-metrycznych, ewaluacja znaku) ma wpływ: • aktywna płaszczyzna • transformacja dostosowawcza • następujące dane nastawcze:
– SD42910 $SC_MIRROW_TOOL_WEAR – SD42920 $SC_WEAR_SIGN_CUTPOS – SD42930 $SC_WEAR_SIGN – SD42940 $SC_TOOL_LENGTH_CONS
7.3.4 Długo ść narzędzia i zmiana płaszczyzny
Działanie
Przy pomocy ustawionych danych ustawczych SD42940 $SC_TOOL_LENGTH_CONST nierównych zero moŜecie dla narzędzi tokarskich i szlifierskich przy zmianie płaszczyzny przyporządkować komponenty długości narz. jak długość, zuŜycie i wymiar bazowy do osi geom.
SD42940 $SC_TOOL_LENGTH_CONST
Dana nastawcza nierówna zeru:
Przyporządkowanie komponentów długości narzędzia (długość, zuŜycie i wymiar bazo-wy) do osi geometrycznych przy zmianie płaszczyzny obróbki (G17 - G18) nie ulega zmi-anie.
Korekcje narzędzi 7.3 Traktowanie specjalne korekcji narzędzia
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
422
PoniŜsza tablica pokazuje przyporządkowanie składowych długości narzędzia do osi geometrii dla narzędzi tokarskich i szlifierskich (typ narzędzia 400 do 599):
Treść Długo ść 1 Długo ść 2 Długo ść 3
17 Y X Z
*) X Z Y
19 Z Y X
-17 X Y Z
-18 Y X Y
- 19 Z Z X
*) KaŜda wartość nierówna 0, która jest nierówna jednej z sześciu wymienionych wartości, jest trak-towana jako wartość 18.
PoniŜsza tablica pokazuje przyporządkowanie składowych długości narzędzia do osi geometrii dla wszystkich innych narzędzi (typ narzędzia <400 wzgl. >599):
Płaszczyzna ob-róbki
Długo ść 1 Długo ść 2 Długo ść 3
*) Z Y X
18 Y X Z
19 X Z Y
-17 Z X Y
-18 Y Z X
-19 X Y Z
Wskazówka
Przy przedstawianiu w tablicach zakładamy, Ŝe osie geometryczne 1 do 3 mają identy-fikatory X, Y i Z. Dla przyporządkowania korekcji do osi jest miarodajny nie identyfikator osi lecz ich kolejność.
Korekcje narzędzi 7.4 Polecenia językowe do zarządzania narzędziami (T, NEWT,DELT, GETT, SETPIECE, GETSELT) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
423
7.4 Polecenia j ęzykowe do zarz ądzania narz ędziami (T, NEWT, DELT, GETT, SETPIECE, GETSELT) (opcja)
Działanie Przy zastosowaniu zarządzania narzędziami dane narzędzi mogą być zmieniane i aktu-alizowane. Poprzez predefiniowane funkcje moŜecie w programie NC: ● tworzyć narzędzia z nazwami i je wywoływać. ● utworzyć nowe narzędzie albo skasować narzędzie istniejące. ● do narzędzia o znanej nazwie przyporządkować niezbędny numer T. ● zaktualizować nadzór liczby sztuk. ● odczytać numer T narzędzia wstępnie wybranego dla wrzeciona.
Składnia
T="<WZ>" <parametry zwrotu>=NEWT("<WZ>",DUPLO_NR) DELT("WZ",DUPLO_NR) <parametry zwrotu>=GETT("<WZ>",DUPLO_NR) SETPIECE(<x>,<y>) GETSELT(<y>)
Znaczenie
T Polecenie wyboru narzędzia
NEWT Polecenie utworzenia nowego narzędzia
Przy pomocy funkcji NEWT moŜna w programie NC nałoŜyć nowe narzędzie przy uŜyciu nazwy. Funkcja daje jako parametr zwrotny au-tomatycznie wytwarzany numer T, przy pomocy którego moŜna na-stępnie adresować narzędzie.
Podanie numeru duplo jest opcjonalne. Gdy podanie nie nastąpi, nu-mer duplo jest wytwarzany przez zarządzanie narzędziami.
DELT Polecenie skasowania narzędzia Przy pomocy funkcji DELT moŜna skasować narzędzie bez odniesienia do numeru T. Podanie numeru duplo jest opcjonalne.
Korekcje narzędzi 7.4 Polecenia językowe do zarządzania narzędziami (T, NEWT,DELT, GETT, SETPIECE, GETSELT) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
424
GETT Polecenie przyporządkowania numeru T
Funkcja GETT daje do narzędzia, które jest znane tylko poprzez na-zwę, numer T niezbędny do nastawienia danych narzędzia. JeŜeli jest wiele narzędzi o podanym identyfikatorze, wówczas jest zwracany numer T pierwszego moŜliwego z tych narzędzi. Zwracana wartość = -1: Określenia narzędzia wzgl. numeru duplo nie moŜna przyporządkować do narzędzia.
<WZ> Identyfikator narzędzia (np. "wiertło", "123")
<DUPLO_NR> Numer duplo (liczba sztuk)
SETPIECE Polecenie ustawienia liczby sztuk Funkcja SETPIECE słuŜy do aktualizacji danych nadzoru liczby sztuk. Funkcja rejestruje wszystkie ostrza narzędzia, które od ostatniego uak-tywnienia SETPIECE zostały wprowadzone do pozycji roboczej na wymienionym numerze wrzeciona.
GETSELT Odczyt domyślnie wybranego numeru narzędzia (T-Nr.) Funkcja GETSELT daje numer T narzędzia wstępnie wybranego dla wrzeciona. Przez to moŜna juŜ przed M6 sięgnąć do danych korekcyj-nych narzędzia i juŜ trochę wcześniej stworzyć synchronizację z prze-biegiem głównym.
<x> Liczba obrobionych przedmiotów
<x> Numer wrzeciona (podanie opcjonalne) 0 oznacza wrzeciono wiodące (ustawienie standardowe).
Przykłady
Przykład 1: funkcja NEWT
Kod programu Komentarz DEF INT DUPLO_NR DEF INT T_NR DUPLO_NR=7 T_NR=NEWT("WIERTŁO",DUPLO_NR) ; Utworzenie nowego n arz ędzia
"WIERTŁO" o numerze duplo 7. Ut-worzony numer T jest zapisywany w T_NR.
Korekcje narzędzi 7.4 Polecenia językowe do zarządzania narzędziami (T, NEWT,DELT, GETT, SETPIECE, GETSELT) (opcja)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
425
Przykład 2: funkcja GETT
Kod programu Komentarz T="WIERTŁO" R10=GETT("WIERTŁO",DUPLO_NR) ; Okre śl numer T dla WIERTŁO
z numerem duplo = DUPLO_NR.
"WIERTŁO" musi przedtem zostać uczynione znanym przy pomocy NEWT albo $TC_DP1[ ].
Kod programu Komentarz $TC_DP1[GETT("WIERTŁO", DUPLO_NR),1]=100 ; Zapisani e parametru narz ędzia (zmienna systemowa) przy pomocy nazwy narz ędzia.
Przykład 3: zmiana narz ędzia przy pomocy zarz ądzania narz ędziami
T1 Wstępny wybór narzędzia, tzn. magazyn narzędzi moŜe równolegle do obróbki zostać ustawiony w pozycji narzędzia.
M6 Wprowadzenie wstępnie wybranego narzędzia do pozycji roboczej (zaleŜnie od nastawienia domyślnego w danej maszynowej moŜna programować równieŜ bez M6).
Kod programu Komentarz T1 M6 ; Wprowadzenie narz ędzia 1 do pozycji robo-
czej. D1 ; Wybór korekcji długo ści narz ędzia. G1 X10 … ; Praca z T1. T="WIERTŁO" ; Preselekcja narz ędzia Wiertło. D2 Y20 … ; Zmiana ostrza T1 X10 … ; Praca z T1. M6 ; Wprowadzenie do pozycji roboczej narz ędzia
wiertło. SETPIECE(4) ; Liczba obrobionych przedmiotów. D1 G1 X10 … ; Praca z wiertłem.
Literatura Odnośnie kompletnej listy wszystkich zmiennych do zarządzania narzędziami patrz: Podręcznik listowy Zmienne systemowe
Korekcje narzędzi
7.5 Korekcja narzędzia online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
426
7.5 Korekcja narz ędzia online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)
Działanie Przy pomocy tej funkcji korekcje narzędzia, które wynikają z obróbki, są poprzez działają-cą online korekcję długości narzędzia natychmiast wliczane (np. obciąganie CD: ściernica jest obciągana równolegle do obróbki). Korekcję długości narzędzia moŜna zmienić z ka-nału obróbki albo kanału równoległego (kanał obciągacza).
Wskazówka
Korekcja narzędzia online może być stosowana tylko w przypadku narzędzi szlifier-skich.
Składnia FCTDEF(nr wielomianu,LLimit,ULimit,a0,a1,a2,a3) PUTFTOCF(nr wielomianu, warto ść odniesienia, dłu-gość1_2_3.kanał,wrzeciono) PUTFTOC(warto ść,długo ść1_2_3,kanał,wrzeciono) FTOCON FTOCOF
Korekcje narzędzi
7.5 Korekcja narzędzia online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
427
Znaczenie
PUTFTOCF Zapis ciągły korekcji narzędzia online
FCTDEF Parametryzowanie funkcji PUTFTOCF
PUTFTOC Zapis nieciągły korekcji narzędzia online
FTOCON Włączenie korekcji narzędzia online
FTOCOF Wyłączenie korekcji narzędzia online
Nr wielomia-nu
Wartość 1 do 3: są jednocześnie moŜliwe max 3 wielomiany; wielo-mian do 3. stopnia
Warto ść od-niesienia
Wartość odniesienia, od której jest wyprowadzana korekcja
Długo ść1_2_3 Parametr zuŜycia, w którym jest dodawana wartość korekcji narzę-dzia
Kanał Numer kanału, w którym korekcja narzędzia działa; podawanie tylko wtedy, gdy nie chodzi o własny kanał.
Wrzeciono Numer wrzeciona, dla którego działa korekcja wrzeciona online; po-danie jest wymagane tylko dla nie aktywnych ściernic
LLimit Górna wartość graniczna
ULimit Dolna wartość graniczna
a0,a1,a2,a3 Współczynniki funkcji wielomianowej
Warto ść Wartość, która jest dodawana w parametrze zuŜycia
Przykład
W przypadku szlifierki do płaszczyzn o poniŜszych ustaleniach, po rozpoczęciu ruchu szlifowania przy X100 ściernica ma zostać obciągnięta o wielkość 0.05. Wielkość ob-ciągnięcia powinna przy zapisie korekcji narzędzia onlne działać ciągle w przypadku narzędzia szlifierskiego.
Y: Oś dosuwu dla ściernicy
V: Oś dosuwu obciągacza krąŜkowego
Obróbka: kanał 1 z osiami X, Z, Y
Obciąganie: kanał 2 z osią V
Korekcje narzędzi
7.5 Korekcja narzędzia online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
428
Program obróbki w kanale 1:
Kod programu Komentarz … N110 G1 G18 F10 G90 ; Poło Ŝenie podstawowe. N120 T1 D1 ; Wybór aktualnego narz ędzia. N130 S100 M3 X100 ; Wrzeciono wł., ruch do pozycji
wyj ściowej. N140 INIT(2,"ABRICHT","S") ; Wybór programu obci ągania w kana-
le 2. N150 START(2) ; Uruchomienie programu obci ągania
w kanale 2. N160 X200 ; Ruch do pozycji docelowej. N170 FTOCON ; Wł ączenie korekcji online. N… G1 X100 ; Dalsza obróbka. N… M30
Korekcje narzędzi
7.5 Korekcja narzędzia online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
429
Program obciProgram obciProgram obciProgram obciąąąągania w kanale:gania w kanale:gania w kanale:gania w kanale:
Kod programu Komentarz … N40 FCTDEF(1,–1000,1000,–$AA_IW[V],1) ; zdefiniowan ie funkcji:
prosta N50 PUTFTOCF(1,$AA_IW[V],3,1) ; Zapis ci ągły korekcji narz ę-
dzia: wyprowadzona od ruchu osi V długo ść 3 aktualnej ściernicy jest korygowana w kanale 1.
N60 V–0.05 G1 F0.01 G91 ; Ruch dosuwu do obci ągania, tylko w tym bloku działa PUTFTOCF.
… N… M30
Program obci ągania modalny:
Kod programu Komentarz FCTDEF(1,-1000,1000,-$AA_IW[V],1) ; Zdefiniowanie f unkcji. ID=1 DO FTOC(1,$AA_IW[V],3,1) ; Wybór korekcji onl ine na-
rz ędzia. Warto ść rzeczywista osi V
jest warto ści ą wej ściow ą dla wielomiany 1. Wynik jest w kanale 1 dodawany jako warto ść korekcyjna do długo-ści 3 aktywnej ściernicy.
WAITM(1,1,2) ; Synchronizacja z kanałem obróbki.
G1 V-0.05 F0.01 G91 ; Ruch dosuwu do obci ągania. G1 V-0.05 F0.02 ... CANCEL(1) ; Cofni ęcie wyboru korekcji
online. ...
Opis
Ogólnie na temat korekcji narz ędzia online
W zaleŜności od chwili procesu obciągania są do zapisu korekcji narzędzia online sto-sowane róŜne funkcje:
● Zapis ciągły pojedynczymi blokami: PUTFTOCF ● Zapis ciągły modalnie: ID=1 DO FTOC (patrz punkt akcje synchroniczne) ● Zapis dyskretny: PUTFTOC
Korekcje narzędzi
7.5 Korekcja narzędzia online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
430
Przy zapisie ciągłym (na takt interpolatora) po włączeniu funkcji oceny kaŜda zmiana jest addytywnie przeliczana w pamięci zuŜycia, aby uniknąć skoków wartości zadanej. W kaŜdym przypadku obowiązuje: Korekcja narzędzia online moŜe działać w kaŜdym kanale dla kaŜdego wrzeciona i długości 1, 2 albo 3 parametrów zuŜycia. Przyporządkowanie długości do osi geometrycznych następuje na podstawie aktual-nej płaszczyzny. Przyporządkowanie wrzeciona do narzędzia następuje przez dane narzędzia w przy-padku GWPSON wzgl. TMON, o ile nie chodzi o aktywną ściernicę (patrz podręcznik programowania "Podstawy"). Korygowany jest zawsze parametr zuŜycia dla aktualnej strony ściernicy wzgl. lewej strony ściernicy w przypadku narzędzi nie aktywnych.
Wskazówka
Przy identycznej korekcji dla wielu stron ściernicy naleŜy poprzez przepis powiązania (opis patrz obsługa) zadbać o to, by wartości były automatycznie przejmowane dla drugiej strony ściernicy. JeŜeli dla kanału obróbki zostaną zadane korekcje online, wówczas nie wolno jest Wam zmienić wartości zuŜycia dla aktualnego narzędzia w tym kanale z programu obróbki albo poprzez czynność obsługową. Korekcja narzędzia online jest równieŜ uwzględniana dla stałej prędkości obwodowej ściernicy (SUG) jak teŜ nadzoru narzędzia TMON.
PUTFTOCF = zapis ci ągły
Proces obciągania następuje w czasie obróbki: obciąganie na całej szerokości ścier-nicy przy pomocy obciągacza rolkowego albo diamentowego od strony ściernicy. Obróbka i obciąganie moŜe następować w róŜnych kanałach. JeŜeli Ŝaden kanał nie zostanie zaprogramowany, wówczas korekcja działa w aktualnym kanale.
PUTFTOCF(nr wielomianu, warto ść odniesienia, długo ść1_2_3, ka-nał, wrzeciono)
Korekcja narzędzia jest zmieniana w kanale obróbkowym w sposób ciągły według funkcji wielomianowej 1., 2. albo 3. stopnia, która przedtem musi zostać zdefiniowana przy pomocy FCTDEF. Od zmiennej "wartość odniesienia" jest wyprowadzana korek-cja, np. zmieniająca się wartość rzeczywista. Gdy numer wrzeciona nie zostanie zaprogramowany, jest korygowane aktywne, pra-cujące narzędzie.
Korekcje narzędzi
7.5 Korekcja narzędzia online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
431
Parametryzowanie funkcji FCTDEF
Parametryzowanie następuje w oddzielnym bloku: FCTDEF (Nr wielomiany, LLimit, ULimit, a0,a1,a2,a3) Wielomian moŜe być 1., 2. albo 3. stopnia. Limit określa wartości graniczne (LLimit = dolna, ULimit = górna wartość graniczna). Przykład: prosta (y = a0 + a1x) o skoku 1
FCTDEF(1, -1000, 1000, -$AA_IW[X], 1)
Zapis dyskretny korekcji narz ędzia online : PUTFTOC
Przy pomocy tego polecenia moŜna jeden raz zapisać jedną wartość korekcji. War-tość korekcji działa natychmiast w kanale docelowym.
Zastosowanie PUTFTOC: Ściernica jest obciągana z kanału równoległego, ale nie równocześnie z obróbką.
PUTFTOC(warto ść, długo ść1_2_3, kanał, wrzeciono)
Korekcja narzędzia online dla podanej długości 1, 2 albo 3 jest zmieniana o podaną wartość, tzn. wartość jest dodawana w parametrze zuŜycia.
Wliczenie korekcji narz ędzia online:
Kanał docelowy moŜe tylko wtedy odbierać korekcje narzędzia online, gdy FTOCON jest aktywne. ● FTOCON musi być pisane w kanale, w którym korekcja ma działać. Przy pomocy
FTOCOF korekcja nie jest dalej realizowana, w specyficznych dla ostrza danych ko-rekcyjnych jest jednak skorygowana kompletna wartość napisana z PUTFTOC.
● FTOCOF jest zawsze połoŜeniem Reset. ● PUTFTOCF działa zawsze pojedynczymi blokami, tzn. w kolejnym bloku ruchu po-
stępowego. ● Korekcja narzędzia online moŜe przy pomocy FTOC zostać wybrana równieŜ mo-
dalnie. Więcej informacji na ten temat patrz punkt "Akcje synchroniczne ruchu".
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
432
7.6 Uaktywnienie korekcji narz ędzi 3D (CUT3DC..., CUT3DF...)
7.6.1 Uaktywnienie korekcji narz ędzia 3D (CUT3DC, CUT3DF, CUT3DFS,
CUT3DFF, ISD)
Działanie
W przypadku korekcji promienia narzędzia dla narzędzi cylindrycznych jest uwzględ-niana zmieniona orientacja narzędzia.
Dla wyboru korekcji promienia narzędzia 3D obowiązują takie same polecenia pro-gramowe jak w przypadku korekcji promienia narzędzia 2D. Przez G41/G42 jest po-dawana korekcja na lewo/prawo w kierunku ruchu. Zachowanie się przy posuwie jest zawsze NORM. Korekcja promienia narzędzia 3D działa zawsze przy wybranej trans-formacji 5-osiowej.
Korekcja promienia narzędzia 3D jest określana równieŜ jako korekcja 5D, poniewaŜ w tym przypadku jest do dyspozycji 5 stopni swobody dla połoŜenia narzędzia w prze-strzeni.
RóŜnica mi ędzy korekcj ą promienia narz ędzia 2 1/2D i 3D
W przypadku korekcji promienia narzędzia 3D orientacja narzędzia jest zmienna. W przypadku korekcji promienia narzędzia 2 1/2D obliczenie jest wykonywane tylko z jednym narzędziem o stałej orientacji.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
433
Składnia CUT3DC CUT3DFS CUT3DFF CUT3DF ISD=<warto ść>
Znaczenie
CUT3DC Uaktywnienie korekcji narzędzia 3D dla frezowania obwodowego
CUT3DFS Korekcja narzędzia D dla frezowania czołowego ze stałą orienta-cją. Orientacja narzędzia jest ustalona przez G17 - G19 i frame nie mają na nią wpływu.
CUT3DFF Korekcja narzędzia D dla frezowania czołowego ze stałą orienta-cją. Orientacją narzędzia jest kierunek ustalony przez G17 - G19 i ew. obrócony przez frame.
CUT3DF Korekcja narzędzia dla frezowania czołowego ze zmianą orientacji (tylko przy aktywnej transformacji 5-osiowej).
G40 X... Y... Z...
Do wyłączenia: blok liniowy G0/G1 z osiami geometrycznymi
ISD Głębokość załębienia
Wskazówka
Polecenia działają modalnie i są w tej samej grupie co CUT2D i CUT2DF.
Cofnięcie wyboru następuje dopiero z następnym ruchem w aktualnej płaszczyźnie. Obowiązuje to zawsze dla G40 i jest niezaleŜne od polecenia CUT.
Bloki pośrednie przy aktywnej korekcji promienia narzędzia 3D są dozwolone. Obowią-zują ustalenia korekcji promienia narzędzia 2 1/2D.
Warunki brzegowe ● G450/G451 i DISC Na naroŜnikach zewnętrznych jest zawsze wstawiany blok ruchu po okręgu. G450/G451 nie mają znaczenia.
Na polecenie DISC nie ma reakcji.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
434
Przykład Kod programu Komentarz N10 A0 B0 X0 Y0 Z0 F5000 N20 T1 D1 ; Wywołanie narz ędzia, wywołanie warto ści
korekcyjnych narz ędzia. N30 TRAORI(1) ; Wybór transformacji N40 CUT3DC ; Wybór korekcji promienia narz ędzia 3D N50 G42 X10 Y10 ; Wybór korekcji promienia narz ędzia N60 X60 N70 …
7.6.2 Korekcja narz ędzia 3D: frezowanie obwodowe 3D: frezowanie obwo-dowe, frezowanie czołowe
Frezowanie obwodowe UŜywany tutaj wariant frezowania obwodowego jest realizowany przez podanie toru (linii prowadzącej) i przynaleŜnej orientacji. Przy tym rodzaju obróbki jest na torze kształt narzędzia bez znaczenia. Decyduje tylko promień na punkcie przyporu narzę-dzia.
Wskazówka
Funkcja korekcji promienia narzędzia 3D ogranicza się do narzędzi cylindrycznych.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
435
Frezowanie czołowe
Dla tego rodzaju frezowania trójwymiarowego potrzebujecie wierszowego opisu torów trójwymiarowych na powierzchni obrabianego przedmiotu. Obliczenia są przeprowa-dzane przy uwzględnieniu kształtu i wymiarów narzędzia - zazwyczaj w CAM. Post-procesor zapisuje do programu obróbki – oprócz bloków NC– orientacje narzędzi (przy aktywnej transformacji 5-osiowej) i G-Code dla poŜądanej korekcji narzędzia 3D. Przez to operator maszyny ma moŜliwość - odmiennie od narzędzia stosowanego do obliczenia torów NC - stosowania nieznacznie mniejszych narzędzi.
Przykład: Bloki NC były obliczane z uŜyciem frezu 10 mm. Tutaj moŜna by równieŜ pracować ze średnicą frezu 9,9 mm, przy czym naleŜy się liczy ze zmienionym profilem chropowa-tości.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
436
7.6.3 Korekcja narz ędzia 3D: kształty narz ędzi i dane narz ędzi dla frezowa-nia czołowego
Kształty frezów, dane narz ędzi
PoniŜej zestawiono kształty narzędzia moŜliwe dla frezowania czołowego i wartości graniczne danych narzędzi. Kształt części trzpieniowej narzędzia nie jest uwzględnia-ny - typy narzędzi 120 i 156 są identyczne pod względem działania.
JeŜeli w programie NC zostanie podany numer typu inny niŜ pokazany na rysunku, system automatycznie stosuje typ narzędzia 110 (Cylindryczny frez do matryc). Przy przekroczeniu wartości granicznych narzędzia jest wyprowadzany alarm.
Typ frezu Nr typu R r a
Frez walcowy do matryc 110 >0 X X
Frez z głowicą kulistą 111 >0 >R X
Frez palcowy, frez z głowicą kątową 120, 130 >0 X X
Frez palcowy, frez z głowicą kątową z zaokrągleniem naroŜników
121, 131 >r >0 X
Frez w kształcie stoŜka ściętego 155 >0 X >0
Frez w kształcie stoŜka ściętego z za-okrągleniem naroŜników
156 >0 >0 >0
Frez stoŜkowy do matryc 157 >0 X >0
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
437
R = promień części trzpieniowej (promień narzędzia) r = promień naroŜnika a = kąt między osią wzdłuŜną narzędzia i górnym końcem powierzchni torusowej
X = nie jest poddawane ewaluacji
Dane narz ędzia Parametry narz ędzia
Wymiary narzędzia Geometria ZuŜycie
R $TC_DP6 $TC_DP15
r $TC_DP7 $TC_DP16
a $TC_DP11 $TC_DP20
Korekcja długo ści narz ędzia
Jako punkt odniesienia dla korekcji narzędzia słuŜy wierzchołek narzędzia (punkt przecięcia oś wzdłuŜna/powierzchnia).
Korekcja narz ędzia 3D, zmiana narz ędzia
Nowe narzędzie o zmienionych wymiarach (R, r, a) albo innym kształcie wolno podać tylko z zaprogramowaniem G41 wzgl. G42 (przejście G40 na G41 wzgl. G42, ponowne zaprogramowanie G41 wzgl. G42). Wszystkie inne dane narzędzia, np. długości na-rzędzi, pozostają nie uwzględnione przez tę regułę, tak Ŝe takie narzędzia moŜna wprowadzać do pozycji roboczej równieŜ bez ponownego G41 wzgl. G42.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
438
7.6.4 Korekcja narz ędzia 3D: korekcja na torze, zakrzywienie toru, gł ębo-kość zagłębienia (CUT3DC, ISD)
Działanie
Korekcja toru
Przy frezowaniu czołowym musi zostać rozwaŜony przypadek, gdy punkt styku na po-wierzchni narzędzia przeskakuje. Jak w tym przykładzie przy obróbce powierzchni wypukłej narzędziem ustawionym pionowo. Zastosowanie pokazane na rysunku moŜe być traktowane jako przypadek graniczny.
Ten przypadek jest przez sterowanie nadzorowany w ten sposób, Ŝe na bazie kątów między narzędziem i wektorami normalnych powierzchni są rozpoznawane skokowe zmiany punktu obróbki. W tych miejscach sterowanie wstawia bloki liniowe, tak Ŝe ruch moŜe zostać wykonany. W celu obliczenia bloków liniowych są w danych maszynowych dla kąta w kierunku bocznym zapisane dopuszczalne zakresy kąta. W przypadku gdy ustalone w danych maszynowych wartości graniczne dopuszczalnych zakresów kąta zostaną przekro-czone, system generuje alarm.
Zakrzywienie toru
Zakrzywienie toru nie jest nadzorowane. RównieŜ tutaj zaleca si stosowanie tylko ta-kich narzędzi, przy pomocy których moŜna pracować bez naruszenia konturu.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
439
Głęboko ść zagłębienia (ISD)
Głębokość zagłębienia ISD podlega ewaluacji tylko przy aktywnej korekcji promienia narzędzia 3D.
Przy pomocy polecenia programowego ISD (Insertion Depth) jest programowana głę-bokość zagłębienia narzędzia przy frezowaniu obwodowym. Przez to jest moŜliwa zmiana połoŜenia punktu obróbki na powierzchni pobocznicowej narzędzia.
Składnia
Korekcja narzędzia 3D, frezowanie obwodowe CUT3DC ISD=<warto ść>
Znaczenie
CUT3DC Uaktywnienie korekcji narzędzia 3D dla frezowania obwodowego, np. do frezowania wnęki o skośnych ściankach bocznych.
ISD Przy pomocy polecenia ISD jest podawany odstęp (<warto ść>) między wierzchołkiem frezu (FS) i punktem pomocniczym frezu (FH).
Punkt pomocniczy frezu
Punkt pomocniczy frezu (FH) powstaje przez rzut zaprogramowanego punktu obróbki na oś narzędzia.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
440
Dalsze informacje
Frezowanie wn ęki o sko śnych ściankach dla frezowania obwodowego przy po-mocy CUT3DC
Przy tej korekcie promienia narzędzia 3D jest kompensowane odchylenie promienia frezu przez dokonanie dosunięcia w kierunku normalnej do powierzchni obrabianej. Niezmieniona pozostaje przy tym płaszczyzna, w której leŜy powierzchnia czołowa frezu, gdy głębokość zagłębienia ISD pozostaje taka sama. Frez z np. mniejszym promieniu w stosunku do narzędzia normalnego nie osiągnąłby wówczas dna wnęki, które równieŜ stanowi płaszczyznę ograniczającą. Dla automatycznego dosuwu na-rzędzia sterowaniu musi być znana ta płaszczyzna ograniczająca, patrz punkt "Fre-zowanie obwodowe 3D z powierzchniami ograniczającymi".
Dalsze informacje dot. nadzoru na kolizję patrz:
Literatura:
Podręcznik programowania Podstawy; punkt "Korekcje narzędzia".
7.6.5 Korekcja narz ędzia 3D: naro Ŝniki wewn ętrzne/zewn ętrzne i metoda punktu przeci ęcia (G450/G451)
Działanie NaroŜniki wewn ętrzne / naro Ŝniki zewn ętrzne
NaroŜniki zewnętrzne i wewnętrzne są traktowane oddzielnie. Określenie naroŜnik wewnętrzny albo zewnętrzny jest zaleŜne od orientacji narzędzia. Przy zmianie orientacji na naroŜniku moŜe wystąpić przypadek, Ŝe typ naroŜnika zmieni się podczas obróbki. JeŜeli ten przypadek wystąpi, obróbka jest przerywana z komunikatem błędu.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
441
Składnia G450
G451
Znaczenie
G450 Okrąg przejściowy (narzędzie obchodzi naroŜniki obrabianego przed-miotu po torze kołowym)
G451 Punkt przecięcia równoległych (narzędzie wychodzi z materiału w na-roŜniku obrabianego przedmiotu)
Dalsze informacje
Metoda punktu przeci ęcia dla korekcji 3D
Przy frezowaniu obwodowym 3D następuje teraz na naroŜnikach zewnętrznych reak-cja na G-Code G450/G451 , tzn. moŜe nastąpić dosunięcie do punktów przecięcia krzywych offsetu. Do wersji opr. 4 na naroŜnikach zewnętrznych zawsze był wstawia-ny okrąg. Dostępna metoda punktu przecięcia jest w przypadku typowych programów 3D wytworzonych przez CAD szczególnie korzystna. Składają się one często z krót-kich bloków definiujących proste (dla aproksymacji gładkich krzywych), przy których przejścia między sąsiadującymi blokami są prawie styczne.
W przypadku korekcji promienia narzędzia na stronie zewnętrznej konturu wstawiano dotychczas z zasady okręgi w celu obchodzenia naroŜników zewnętrznych. PoniewaŜ te bloki przy prawie stycznych przejściach stają się bardzo krótkie, wynikają niepoŜą-dane załamania prędkości.
W tych przypadkach analogicznie do korekcji promienia 2 ½ D obydwie uczestniczą-ce krzywe są przedłuŜane, następuje ruch do punktu przecięcia obydwu krzywych.
Punkt przecięcia jest określany przez przedłuŜenie krzywych przesunięcia obydwu uczestniczących bloków i określenie ich punktu przecięcia w płaszczyźnie prostopa-dłej do orientacji narzędzia na naroŜniku. JeŜeli taki punkt przecięcia nie istnieje, na-roŜnik jest traktowany jak dotychczas, tzn. jest wstawiany okrąg.
Dalsze informacje dot. metody punktu przecięcia patrz:
Literatura:
Podręcznik działania Funkcje specjalne; Korekcja promienia narzędzia 3D (W5)
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
442
7.6.6 Korekcja narz ędzia 3D: frezowanie obwodowe 3D z płaszczyznami ograniczaj ącymi
Dopasowania frezowania obwodowego 3D do warunków pr ogramów CAD
Programy NC generowane przez systemy CAD z reguły aproksymują tor punktu środ-kowego znormalizowanego narzędzia przy pomocy duŜej liczby krótkich bloków linio-wych. Aby te tak wytworzone bloki wielu konturów częściowych moŜliwie dokładnie odwzorowywały kontur oryginalny, jest konieczne dokonanie pewnych dopasowań w programie obróbki. WaŜne informacje, które byłyby konieczne dla optymalnej korekcji, ale w programie obróbki nie są juŜ dostępne, muszą zostać zastąpione przez odpowiednie środki. Po-niŜej zostaną przedstawione typowe metody wyrównania przejść krytycznych albo bezpośrednio w programie obróbki albo przy określaniu realnego konturu (np. przez dosuw narzędzia).
Zastosowania
Dodatkowo do typowych przypadków zastosowania, w przypadku których zamiast na-rzędzia znormalizowanego narzędzie realne opisuje tor punktu środkowego, zostaną równieŜ omówione narzędzia cylindryczne z korekcją 3D. Przy tym programowany tor odnosi się do konturu na powierzchni obróbki. Obowiązująca tutaj powierzchnia ogra-niczająca jest niezaleŜna od narzędzia. Jak przy zwykłej korekcji promienia narzędzia do obliczenia offsetu prostopadłego w stosunku do płaszczyzny ograniczającej jest brany promień całkowity.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
443
7.6.7 3D-Werkzeugkorrektur: Uwzgl ędnienie powierzchni ograniczaj ącej
(CUT3DCC, CUT3DCCD)
Działanie
Frezowanie obwodowe 3D przy u Ŝyciu narz ędzi realnych
Przy frezowaniu obwodowym 3D z ciągłą albo stałą zmianą orientacji narzędzia jest często programowany tor punktu środkowego narzędzia dla zdefiniowanego narzędzia znormalizowanego. PoniewaŜ w praktyce często nie ma do dyspozycji pasujących narzędzi znormalizowanych, moŜna uŜyć narzędzie nie odbiegającego zanadto od narzędzia znormalizowanego.
Przy pomocy CUT3DCCD jest dla realnego narzędzia róŜniącego się uwzględniana powierzchnia ograniczająca, którą opisałoby zaprogramowane narzędzie znormali-zowane. Program NC opisuje tor punktu środkowego narzędzia znormalizowanego.
Przy pomocy CUT3DCC jest przy zastosowaniu narzędzi cylindrycznych uwzględ-niana powierzchnia ograniczająca, którą osiągnęło by zaprogramowane narzędzie znormalizowane. Program NC opisuje kontur powierzchni obróbki.
Składnia CUT3DCCD
CUT3DCC
Znaczenie CUT3DCCD Uaktywnienie korekcji narzędzia 3D dla frezowania obwodowe-
go z płaszczyznami ograniczającymi z narzędziem róŜnicowym na torze punktu środkowego narzędzia: Dosunięcie do po-wierzchni ograniczającej.
CUT3DCC Uaktywnienie korekcji narzędzia 3D dla frezowania obwodowe-go dla frezowania obwodowego z płaszczyznami ograniczają-cymi z korekcją promienia 3D. Kontur na powierzchni obróbki
Wskazówka
Korekcja promienia narz ędzia z G41, G42
Dla korekcji promienia narzędzia z G41, G42 przy aktywnym CUT3DCCD albo CUT3DCC musi być opcja "transformacja orientacji".
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
444
Narzędzia znormalizowane z zaokr ągleniem naro Ŝnika
Zaokrąglenie naroŜnika narzędzia znormalizowanego jest podawane przez parametr narzędzia $TC_DP7. Z parametru narzędzia $TC_DP16 wynika odchylenie zaokrągle-nia naroŜnika realnego narzędzia w stosunku do narzędzia znormalizowanego.
Przykład
Wymiary narzędzia dla frezu torusowego o promieniu zmniejszonym w stosunku do promienia normalnego.
Typ narz ędzia R = promie ń części trzpie-niowej
r = promie ń naro Ŝnika
Narzędzie znormalizowane z za-okrągleniem naroŜnika
R = $TC_TP6 r = $TC_TP7
Narzędzie realne z zaokrągleniem naroŜnika: typy narzędzi 121 i 131 frez torusowy (trzpieniowy)
R' = $TC_DP6 + $TC_DP15 + OFFN
r' = $TC_DP7 + $TC_DP16
W tym przykładzie zarówno $TC_DP15 + OFFN jak teŜ $TC_DP16 są ujemne.
Ewaluacji jest poddawany typ narzędzia ($TC_DP1).
Dopuszczone są tylko typy frezów o cylindrycznej części trzpieniowej (frez cylindryczny albo palcowy) jak teŜ frezy torusowe (typ 121 i 131) a w przypadku granicznym cylindrycz-ny frez do matryc (typ 110).
W przypadku tych dopuszczonych typów frezów pro-mień naroŜnika r jest równy promieniowi części trzpie-niowej R. Wszystkie inne dopuszczalne typy narzędzi są interpretowane jako frez walcowy a ewentualnie podany wymiar zaokrąglenia naroŜnika nie jest podda-wany ewaluacji.
Dopuszczalne są wszystkie typy narzędzi o numerach 1 - 399 za wyjątkiem numerów 111 i 155 do 157.
Dalsze informacje
Tor punktu środkowego narz ędzia z dosuwem do płaszczyzny ograniczaj ącej CUT3DCCD
Gdy jest stosowane narzędzie, które w porównaniu z pasującym narzędziem znorma-lizowanym ma mniejszy promień, wówczas frez dosuwany w kierunku wzdłuŜnym jest prowadzony na tyle dalej, aŜ ponownie on dna wnęki. Przez to z naroŜnika, który jest tworzony przez płaszczyznę obróbki i płaszczyznę ograniczającą, materiał jest wybie-rany na tyle, na ile pozwala na to narzędzie. Chodzi przy tym o mieszany sposób ob-róbki z frezowania obwodowego i czołowego. Analogicznie do narzędzia o zmniej-szonym promieniu, w przypadku narzędzia o powiększonym promieniu następuje od-powiednie dosunięcie w kierunku przeciwnym.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
445
W stosunku do wszystkich innych korekcji narzędzia G-Code grupa 22 podany dla CUT3DCCD parametr narzędzia $TC_DP6 nie ma Ŝadnego znaczenia dla promienia narzędzia i nie wpływa na wynikającą korekcję.
Offset korekcji wynika z sumy:
● wartości zuŜycia promienia narzędzia (parametr narzędzia $TC_DP15) ● i offsetu narzędzia OFFN zaprogramowanego do obliczenia offsetu prostopadłego do płaszczyzny ograniczającej.
Czy obrabiana powierzchnia leŜy na lewo czy na prawo od toru, nie moŜna odczytać z utworzonego programu obróbki. Dlatego zakłada się dodatni promień i ujemną war-tość zuŜycia oryginalnego narzędzia. Ujemna wartość zuŜycia opisuje zawsze narzę-dzie o zmniejszonej średnicy.
Zastosowanie narz ędzi walcowych
Przy zastosowaniu narzędzi walcowych dosuw jest wymagany tylko wtedy, gdy po-wierzchnia obróbki i płaszczyzna ograniczająca tworzą kąt ostry (mniejszy niŜ 90 stopni). Gdy są stosowane frezy torusowe (walec z zaokrąglonym naroŜnikiem), wów-czas zarówno w przypadku kątów ostrych jak i rozwartych wymaga to dosuwu w kie-runku wzdłuŜnym narzędzia.
Korekcje narzędzi 7.6 Uaktywnienie korekcji narzędzia 3D (CUT3DC..., CUT3DF...)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
446
Korekcja promienia 3D z CUT3DCC, kontur na obrabian ej powierzchni
JeŜeli jest aktywne CUT3DCC z frezem torusowym, wówczas zaprogramowany tor od-nosi się do fikcyjnego frezu palcowego o takiej samej średnicy. Wynikający stąd punkt odniesienia toru jest przy zastosowaniu frezu torusowego przedstawiony na poniŜ-szym rysunku.
Jest dopuszczalne, by kąt między powierzchnią obrabianą i powierzchnią ogranicza-jącą równieŜ w ramach bloku przechodził z kąta ostrego na rozwarty albo na odwrót. W stosunku do narzędzia znormalizowanego stosowane realne narzędzie moŜe być albo większe albo mniejsze. Przy tym wynikający promień naroŜnika nie moŜe stać się ujemny a znak wynikającego promienia narzędzia musi pozostać zachowany. W przypadku CUT3DCC program obróbki NC odnosi się do konturu na obrabianej po-wierzchni. Jest przy tym jak przy zwykłej korekcji promienia narzędzia brany cały promień, który składa się z sumy: ● promienia narzędzia (parametr narzędzia $TC_DP6) ● wartości zuŜycia (parametr narzędzia $TC_DP15) ● i offsetu narzędzia OFFN, zaprogramowanego do obliczenia offsetu prostopadłego w stosunku do płaszczyzny ograniczającej. PołoŜenie płaszczyzny ograniczającej jest określane z róŜnicy obydwu wartości: ● wymiary narzędzia znormalizowanego ● promień narzędzia (parametr narzędzia $TC_DP6)
Korekcje narzędzi 7.7 Orientacja narzędzia (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
447
7.7 Orientacja narz ędzia (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Działanie Pod orientacją narzędzia rozumie się geometryczne ustawienie narzędzia w prze-strzeni. W przypadku 5-osiowej maszyny obróbkowej orientacja osi jest ustawialna poprzez polecenia programowe.
Ruchy ścinania naroŜników orientacji zaprogramowane przy pomocy OSD i OST są w zaleŜności od rodzaju interpolacji dla orientacji narzędzia tworzone róŜnie:
Przy aktywnej interpolacji wektorowej wygładzony przebieg orientacji jest interpolowa-ny równieŜ przy pomocy interpolacji wektorowej. Natomiast przy aktywnej interpolacji osi obrotowej orientacja jest wygładzana bezpośrednio przy pomocy ruchów osi obro-towej.
Programowanie
Programowanie zmiany orientacji:
Zmiana orientacji narzędzia moŜe być programowana przez:
● bezpośrednie programowanie osi obrotowych A,B,C (interpolacja osi obrotowej) ● kąt Eulera albo kąt RPY ● wektor biegunowy (interpolacja wektorowa przez podanie A4 albo B3 albo C3)
● LEAD/TILT (frezowanie czołowe)
Korekcje narzędzi 7.7 Orientacja narzędzia (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
448
Układem współrzędnych odniesienia jest albo układ współrzędnych maszyny (ORIMKS) albo aktualny układ współrzędnych obrabianego przedmiotu (ORIWKS).
Programowanie orientacji narz ędzia
ORIC Orientacja i ruch po torze równolegle ORID Orientacja i ruch po torze kolejno OSOF Brak wygładzania orientacji OSC Orientacja stała OSS Wygładzanie orientacji tylko na początku bloku OSSE Wygładzanie orientacji na początku i końcu bloku ORIS Prędkość zmiany orientacji przy włączonym wygładzaniu orientacji
w stopniach na mm; obowiązuje dla OSS i OSSE OSD Ścinanie naroŜników orientacji przez zadanie długości ścięcia przy po-
mocy danej nastawczej SD42674 $SC_ORI_SMOOTH_DIST. OST Ścinanie naroŜników orientacji przez zadanie tolerancji kątowej w stop-
niach przy interpolacji wektorowej przy pomocy danej nastawczej SD42676 $SC_ORI_SMOOTH_TOL.
Przy interpolacji osi obrotowej zadana tolerancja jest przyjmowana jako maksymalne odchylenie osi orientacji.
Korekcje narzędzi 7.7 Orientacja narzędzia (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
449
Przykłady Przykład 1: ORIC
JeŜeli między blokami ruchu N10 i N20 jest zaprogramowanych dwa albo więcej blo-ków ze zmianami orientacji (np. A2=B2=C2=_ i jest aktywne ORIC, wówczas wsta-wiony blok ruchu kołowego jest odpowiednio do wielkości zmian kąta dzielony na te bloki pośrednie.
Kod programu Komentarz ORIC N8 A2=… B2=… C2=… N10 X… Y… Z… N12 C2=… B2=… ; Blok okr ęgu, który jest wstawiany na N14 C2=… B2=… naro Ŝniku zewn ętrznym, dzieli si ę na
N12 i N14 odpowiednio do zmiany orien-tacji. Ruch kołowy i zmiana orientacji są przy tym wykonywane równolegle.
N20 X =…Y=… Z=… G1 F200
Korekcje narzędzi 7.7 Orientacja narzędzia (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
450
Przykład 2: ORID
Gdy jest aktywne ORID, wówczas wszystkie bloki są wykonywane między obydwoma blokami ruchu postępowego na końcu pierwszego bloku ruchu. Blok okręgu ze stałą orientacją jest wykonywany bezpośrednio przed drugim blokiem ruchu postępowego.
Kod programu Komentarz ORID N8 A2=… B2=… C2=… N10 X… Y… Z… N12 A2=… B2=… C2=… ; Bloki N12 i N14 s ą wykonywana na
końcu N10. Nast ępnie jest realizowany blok okr ęgu
z aktualn ą orientacj ą. N14 M20 ; Funkcje pomocnicze itd. N20 X… Y… Z…
Wskazówka
Dla rodzaju zmiany orientacji na naroŜniku zewnętrznym jest miarodajne polecenie programowe, które jest aktywne w pierwszym bloku ruchu postępowego naroŜnika zewnętrznego. Bez zmiany orientacji: JeŜeli orientacja nie jest na końcu bloku zmieniana, wówczas przekrój narzędzia jest okręgiem, który dotyka obydwu konturów.
Korekcje narzędzi 7.7 Orientacja narzędzia (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
451
Przykład 3: zmiana orientacji na naro Ŝniku wewn ętrznym
Kod programu Komentarz ORIC N10 X …Y… Z… G1 F500 N12 X …Y… Z… A2=… B2=…, C2=… N15 X Y Z A2 B2 C2
Korekcje narzędzi 7.7 Orientacja narzędzia (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
452
Dalsze informacje
Zachowanie si ę na naro Ŝnikach zewn ętrznych
Na naroŜniku zewnętrznym jest zawsze wstawiany blok okręgu o promieniu frezu. Przy pomocy poleceń programowych ORIC wzgl. ORID moŜna ustalić, czy zmiany orientacji, które zostały zaprogramowane między blokiem N1 i N2, mają być wykony-wane przed rozpoczęciem wstawionego bloku okręgu czy równocześnie z nim.
JeŜeli na naroŜnikach zewnętrznych jest konieczna zmiana orientacji, wówczas moŜe ona nastąpić do wyboru równolegle do interpolacji albo oddzielnie od ruchu po torze.
W przypadku ORID są najpierw wykonywane wstawione bloki bez ruchu po torze. Blok okręgu jest wstawiany bezpośrednio przed drugim z obydwu bloków ruchu, przy po-mocy których jest tworzony naroŜnik.
JeŜeli na naroŜniku zewnętrznym jest wstawionych wiele bloków orientacji i jest wy-brane ORIC, wówczas ruch kołowy jest dzielony na poszczególne wstawione bloki od-powiednio do zawartych w nich wielkości zmian orientacji.
Korekcje narzędzi 7.7 Orientacja narzędzia (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
453
Ścinanie naro Ŝników orientacji z OSD i OST
Przy ścinaniu naroŜników przy pomocy G642 maksymalne odchylenie dla osi kontu-rowych i osi orientacji nie moŜe być bardzo róŜne. Ta mniejsza tolerancja jednego i drugiego określa kształt ruchu ścinania wzgl. tolerancję kątową, aby w stosunkowo wysokim stopniu wygładzać przebieg orientacji unikając przy tym większych odchyleń od konturu. Przez uaktywnienie OSD i OST jest moŜliwe, z zadaną długością ścinania i tolerancją kątową, bardzo małymi odchyleniami przebiegu orientacji, dokonywanie "znakomite-go" wygładzania bez znaczących odchyleń od konturu.
Wskazówka
W odróŜnieniu od wygładzania konturu (i przebiegu orientacji) przy pomocy G642 nie jest przy wygładzaniu orientacji przy pomocy OSD wzgl. OST tworzony własny blok, lecz ruch ścięcia naroŜnika jest wstawiany bezpośrednio do programowanych bloków orygi-nalnych. Przy pomocy OSD wzgl. OST nie mogą być wygładzane przejścia między blokami, przy których następuje zmiana rodzaju interpolacji dla orientacji narzędzia (wektor --> oś obrotowa, oś obrotowa --> wektor). Te przejścia między blokami mogą ewentualnie być wygładzane przy pomocy zwykłych funkcji ścinania naroŜników G641, G642 wzgl. G643.
Korekcje narzędzi 7.8 Dowolne nadawanie numerów D, numer ostrza
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
454
7.8 Dowolne nadawanie numerów D , numer ostrza
7.8.1 Dowolne nadawanie numerów D , numer ostrza (a dres CE)
Numer D Numery D mogą być stosowane jako numery korekcji. Dodatkowo moŜna poprzez ad-res CE adresować numer ostrza. Poprzez parametr systemowy $TC_DPCE moŜna zapisać numer ostrza. Ustawienie domyślne: nr korekcji == nr ostrza Poprzez dane maszynowe jest ustalana maksymalna liczba numerów D (numerów ostrzy) i maksymalna liczba ostrzy na narzędzie (→ producent maszyny). Kolejne po-lecenia mają sens tylko wtedy, gdy maksymalny numer ostrza (MD18105) został usta-lony większy niŜ liczba ostrzy na narzędzie (MD18106). Przestrzegajcie danych pro-ducenta maszyny.
Wskazówka
Oprócz względnego nadawania numerów D numery D mogą być równieŜ nadawane jako "płaskie" wzgl. "absolutne" numery D (1-32000) bez odniesienia do numeru T (w ramach funkcji "płaska struktura numerów D).
Literatura
Podręcznik działania Funkcje podstawowe; korekcja narzędzia (W1)
Korekcje narzędzi 7.8 Dowolne nadawanie numerów D, numer ostrza
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
455
7.8.2 Dowolne nadawanie numerów D: sprawdzenie nume rów D
Działanie Przy pomocy polecenia CKKDNO sprawdzacie, czy istniejące numery D są jednoznacznie nadane. Numery D wszystkich narzędzi zdefiniowanych w ramach jednej jednostki TO mogą wystąpić tylko jeden raz. Narzędzia zamienne nie są przy tym uwzględniane.
Składnia
state=CHKDNO(Tno1,Tno2,Dno)
Znaczenie
=TRUE: Numery D zostały jednoznacznie nadane dla sprawdzonego zakresu
state
=FALSE: Nastąpiła kolizja numerów D albo parametryza-cja jest niepoprawna. Poprzez Tno1, Tno2 i Dno są przekazywane parametry, które prowa-dziły do kolizji. Ewaluacja tych danych jest moŜ-liwa w programie obróbki.
CHKDNO(Tno1,Tno2) Są sprawdzane wszystkie numery D wymienionych narzędzi.
CHKDNO(Tno1) Są sprawdzane wszystkie numery D dla Tno1 w stosunku do wszystkich innych narzędzi.
CHKDNO Są sprawdzane numery D wszystkich narzędzi w stosunku do wszystkich innych narzędzi.
7.8.3 Dowolne nadawanie numerów D: Zmiana nazw nume rów D (GETDNO, SETDNO)
Działanie Numery D muszą być nadawane jednoznacznie. Dwa róŜne ostrza jednego narzędzia nie mogą mieć tego samego numeru D.
GETDNO
To polecenie daje numer D określonego ostrza (ce) narzędzia o numerze T = t. JeŜeli nie istnieje numer D do podanych parametrów, wówczas następuje ustawienie d=0. JeŜeli numer D jest nie poprawny, jest zwracana wartość większa niŜ 32000.
Korekcje narzędzi 7.8 Dowolne nadawanie numerów D, numer ostrza
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
456
SETDNO Przy pomocy tego polecenia przyporządkowujecie wartość d do numeru D ostrza ce narzędzia t. Poprzez state jest zwracany wynik tej instrukcji (TRUE albo FALSE) JeŜeli nie istnieje zestaw danych do wprowadzonych parametrów, jest zwracane FALSE. Błędy składni powodują alarm. Numeru D nie moŜna explicite ustawić na 0.
Składnia d = GETDNO (t,ce)
state = SETDNO (t,ce,d)
Znaczenie d Numer D ostrza narzędzia t Numer T narzędzia ce Numer ostrza (numer CE) narzędzia
state Podaje, czy moŜna było bezbłędnie wykonać polecenie (TRUE albo FALSE).
Przykład, zmiana nazwy numeru D
Kod programu Komentarz $TC_DP2[1,2] = 120 ; $TC_DP3[1,2] = 5.5 ; $TC_DPCE[1,2] = 3 ; Numer ostrza CE ... ; N10 def int DNrAlt, DNrNeu = 17 ; N20 DNrAlt = GETDNO(1,3) ; N30 SETDNO(1,3,DNrNeu) ;
Przez to do ostrza CE=3 jest przyporządkowywana nowa wartość D 17. Teraz sięga-nie do danych tego ostrza następuje poprzez numer D 17; zarówno poprzez parame-try systemowe jak teŜ w programowaniu przy pomocy adresu NC.
Korekcje narzędzi 7.8 Dowolne nadawanie numerów D, numer ostrza
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
457
7.8.4 Dowolne nadawanie numerów D: Okre ślenie numeru T do zadanego
numeru D (GETACTTD)
Działanie Przy pomocy polecenia GETACTTD określacie do absolutnego numeru D przynaleŜny numer T. Nie ma badania na jednoznaczność. Gdy jest wiele takich samych numerów D w ramach jednej jednostki TO, jest zwracany numer T pierwszego znalezionego narzę-dzia. Przy zastosowaniu "płaskich" numerów D zastosowanie tego polecenia nie ma sen-su, poniewaŜ jest tutaj zawsze zwracana wartość "1" (w zarządzaniu danymi nie ma nu-meru T).
Składnia
status=GETACTTD(Tnr,Dnr)
Znaczenie
Dnr Numer D, dla którego ma być szukany numer T.
Tnr Znaleziony numer T
Wartość: Znaczenie:
0 Numer T został znaleziony. Tnr otrzymuje wartość nu-meru T.
-1 Do podanego numeru D nie istnieje numer T; Tnr=0.
-2 Numer D nie jest absolutny. Tnr zawiera wartość pierw-szego znalezionego narzędzia, który zawiera numer o wartości Dnr.
status
-5 Funkcja nie mogła zostać wykonana z innego powodu.
Korekcje narzędzi 7.9 Kinematyka nośnika narzędzi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
458
7.8.5 Dowolne nadawanie numerów D: ustawienie nie o bowi ązywania numerów D (DZERO)
Działanie Polecenie DZERO słuŜy do wsparcia podczas przezbrajania. Zaznaczone zestawy da-nych korekcyjnych nie są juŜ sprawdzane przez polecenie CHKDNO. Aby je ponownie udostępnić, numer D musi zostać ponownie ustawiony przy pomocy SETDNO.
Składnia
DZERO
Znaczenie
DZERO Zaznacza wszystkie numery D jednostki TO jako nie obowiązujące.
7.9 Kinematyka no śnika narz ędzi
Warunki Nośnik narzędzi moŜe orientować narzędzie tylko wówczas we wszystkich moŜliwych kierunkach w przestrzeni, gdy ● są dwie osie obrotowe V1 i V2. ● osie obrotowe są prostopadłe w stosunku do siebie. ● oś wzdłuŜna narzędzia jest prostopadła do drugiej osi obrotu v2. Dodatkowo w przypadku maszyn, przy których muszą być ustawialne wszystkie moŜ-liwe orientacje, obowiązuje następujący wymóg:
● orientacja narzędzia musi być prostopadła do pierwszej osi obrotowej v1.
Działanie Kinematyka nośnika narzędzi o maksymalnie dwóch osiach obrotowych v1 albo v2 jest opisywana poprzez 17 zmiennych systemowych $TC_CARR1[m] do $TC_CARR17[m]. Opis nośnika narzędzi składa się z: ● odstępu wektorowego od pierwszej osi obrotu punktu odniesienia nośnika narzędzi
I 1, odstępu wektorowego od pierwszej do drugiej osi obrotu I 2, odstępu wektoro-wego od drugiej osi obrotu do punktu odniesienia narzędzia I 3.
Korekcje narzędzi 7.9 Kinematyka nośnika narzędzi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
459
● wektorów biegunowych obydwu osi obrotowych V1, V2. ● kątów obrotu α1, α2 wokół obydwu osi. Kąty obrotu są liczone w kierunku ruchu
wskazówek zegara patrząc w kierunku wektorów osi obrotu.
Dla maszyn z rozdzielon ą kinematyk ą (obrotowe jest zarówno narzędzie jak i obra-biany przedmiot) zmienne systemowe są rozszerzone o wpisy
● $TC_CARR18[m] do $TC_CARR23[m].
Parametry Funkcja zmiennych systemowych dla orientowanych no śników narz ędzi
Określenie Składowa x Składowa y Składowa z
l1 wektor offsetu $TC_CARR1[m] $TC_CARR2[m] $TC_CARR3[m]
l2 wektor offsetu $TC_CARR4[m] $TC_CARR5[m] $TC_CARR6[m]
v1 oś obrotowa $TC_CARR7[m] $TC_CARR8[m] $TC_CARR9[m]
v2 oś obrotowa $TC_CARR10[m] $TC_CARR11[m] $TC_CARR12[m]
α1 kąt obrotu
α2 kąt obrotu
$TC_CARR13[m] $TC_CARR14[m]
l3 wektor offsetu $TC_CARR15[m] $TC_CARR16[m] $TC_CARR17[m]
Korekcje narzędzi 7.9 Kinematyka nośnika narzędzi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
460
Rozszerzenie zmiennych systemowych dla orientowanyc h no śników narz ędzi
Określenie Składowa x Składowa y Składowa z
l4 wektor offsetu $TC_CARR18[m] $TC_CARR19[m] $TC_CARR20[m]
Identyfikator osi
Oś obrotowa v1
Oś obrotowa v2
Identyfikatory osi obrotowych v1 i v2 (ustawienie domyślne wynosi zero) $TC_CARR21[m] $TC_CARR22[m]
$TC_CARR23[m]
Typ kinematyki T -> Typ kinematyki P -> Typ kinematyki M
Typ kinematyki
Tool Part Mixed mode
Tylko narzędzie jest obro-towe (ustawienie domyśl-ne)
Tylko obr. przedmiot jest obrotowy
Obr. przedmiot & narzę-dzie są obrotowe
Offset r
osi obrotowej v1
osi obrotowej v2
Kąt w stopniach osi obrotowej v1 i v2 przy przyjęciu pozycji podstaw. $TC_CARR24[m] $TC_CARR25[m]
Offset k ątowy
osi obrotowej v1
osi obrotowej v2
Offset w połączeniu Hirtha w stopniach osi obrotowej v1 i v2 $TC_CARR26[m] $TC_CARR27[m]
Przyrost k ątowy
osi obrotowej v1
osi obrotowej v2
Przyrost połączenia Hirtha w stopniach osi obrotowej v1 i v2 $TC_CARR28[m] $TC_CARR29[m]
Pozycja min
Oś obrotowa v1
Oś obrotowa v2
Ograniczenie programowe dla pozycji minimalnej osi obrotowej v1 i v2 $TC_CARR30[m] $TC_CARR31[m]
Pozycja max
Oś obrotowa v1
Oś obrotowa v2
Ograniczenie programowe dla pozycji maksymalnej osi obrotowej v1 i v2 $TC_CARR32[m] $TC_CARR33[m]
Nazwa no śnika narzędzi
Zamiast liczby nośnik narzędzi moŜe otrzymać nazwę.
$TC_CARR34[m]
Zamierzone zastosowanie przez uŜytkownika w ramach cykli pomiarowych. $TC_CARR35[m] $TC_CARR36[m] $TC_CARR37[m]
UŜytkownik: nazwa osi 1 nazwa osi 2 Oznaczenie Pozycja
$TC_CARR38[m] $TC_CARR39[m] $TC_CARR40[m] Przesuni ęcie dokładne
Parametry, które mogą być dodawane do wartości w parametrach bazowych.
l1 wektor offsetu $TC_CARR41[m] $TC_CARR42[m] $TC_CARR43[m]
l2 wektor offsetu $TC_CARR44[m] $TC_CARR45[m] $TC_CARR46[m]
l3 wektor offsetu $TC_CARR55[m] $TC_CARR56[m] $TC_CARR57[m]
l4 wektor offsetu $TC_CARR58[m] $TC_CARR59[m] $TC_CARR60[m]
v1 oś obrotowa $TC_CARR64[m]
v2 oś obrotowa $TC_CARR65[m]
Korekcje narzędzi 7.9 Kinematyka nośnika narzędzi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
461
Wskazówka
Objaśnienia do parametrów
Przy pomocy "m" jest kaŜdorazowo podawany numer opisywanego nośnika narzędzi
$TC_CARR47 do $TC_CARR54 jak teŜ $TC_CARR61 do $TC_CARR63 nie są zdefinio-wane i przy próbie dostępu w celu zapisu albo odczytu prowadzą do alarmu.
Punkty początkowe wzgl. końcowe wektorów odległości na osiach mogą być dowolnie wybierane. Kąty obrotu α1, α2 wokół obydwu osi są definiowane w stanie podstawowym nośnika narzędzi jako 0°. Kinematyka no śnika narzędzi moŜe w ten sposób być opisy-wana na dowolnie wiele sposobów.
Nośniki narzędzi o tylko jednej albo nie posiadające osi obrotowych mogą być opisy-wane przez ustawienie na zero wektorów kierunkowych jednej albo obydwu osi obro-towych. W przypadku nośnika narzędzi bez osi obrotu wektory odstępu działają jak dodatkowe korekcje narzędzia, których składowe nie podlegają wpływom przy przełączaniu płasz-czyzn obróbki (G17 do G19).
Rozszerzenia parametrów
Parametry osi obrotowych
Zmienne systemowe zostały rozszerzone o wpisy $TC_CARR24[m] do $TC_CARR33[m] i opisane następująco:
Offset osi obrotowych v1, v2
Zmiana pozycji osi obrotu v1 albo v2 przy pozycji podstawowej orientowanego nośnika narzędzi.
Offset kątowy / przyrost kątowy osi obrotowych v1, v2
Offset albo przyrost kątowy połączenia Hirtha osi obrotowych v1 i v2. Zaprogramowany albo obliczony kąt jest zaokrąglany do naj-bliŜszej wartości, która wynika przy n całkowitym z phi = s + n * d.
Minimalna i maksymalna pozycja osi obrotowych v1, v2
Pozycja minimalna/maksymalna osi obrotowej, kąt graniczny (So-ftware-Limit) osi obrotu v1 i v2.
Parametry dla u Ŝytkownika
$TC_CARR34 do $TC_CARR40 zawierają parametry, które są do dowolnej dyspozycji uŜytkownika i do w. opr. 6.4 standardowo w ramach NCK nie są juŜ poddawane ewalu-acji albo nie mają znaczenia. Parametry przesuni ęcia dokładnego
$TC_CARR41 bis $TC_CARR65 zawierają parametry przesunięcia dokładnego, które mogą być dodawane do wartości w parametrach bazowych. Wartość przesunięcia do-kładnego przyporządkowana do parametru bazowego wynika, gdy do numeru parame-tru zostanie dodana wartość 40.
Korekcje narzędzi 7.9 Kinematyka nośnika narzędzi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
462
Przykład Nośnik narzędzi zastosowany w poniŜszym przykładzie daje się kompletnie opisać przez obrót wokół osi Y.
Kod programu Komentarz N10 $TC_CARR8[1]=1 ; Definicja składowej Y pierwsz ej osi
obrotu no śnika narz ędzi 1. N20 $TC_DP1[1,1]=120 ; Definicja frezu trzpieniowe go. N30 $TC_DP3[1,1]=20 ; Definicja frezu trzpienioweg o o
długo ści 20 mm. N40 $TC_DP6[1,1]=5 ; Definicja frezu trzpieniowego o
promieniu 5 mm. N50 ROT Y37 ; Definicja frame z obrotem 37° wokół
osi Y. N60 X0 Y0 Z0 F10000 ; Dosuni ęcie do pozycji wyj ściowej. N70 G42 CUT2DF TCOFR TCARR=1 T1 D1 X10 ; Ustawienie korekcji
promienia, korekcji długo ści narz ę-dzia w obróconym frame, wybór no śnik narz ędzi 1, narz ędzie 1.
N80 X40 ; Przeprowadzenie obróbki przy obro-cie 37°.
N90 Y40 N100 X0 N110 Y0 N120 M30
Korekcje narzędzi 7.9 Kinematyka nośnika narzędzi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
463
Dalsze informacje
Kinematyka rozdzielona
Dla maszyn z rozłączoną kinematyką (obrotowe jest zarówno narzędzie jak i obrabia-ny przedmiot) zmienne systemowe są rozszerzone o wpisy $TC_CARR18[m] do $TC_CARR23[m] i opisywane następująco:
Obrotowy stół narzędziowy składający się z:
● odstępu wektorowego drugiej osi obrotowej v2 od punktu odniesienia obrotowego stołu narzędziowego I 4 trzeciej osi obrotowej.
Osie obrotowe składające się z:
● obydwu identyfikatorów kanału dla odniesienia osi obrotowych V1 i V2, do których pozycji ewentualnie następuje dostęp przy określaniu orientacji orientowalnego nośni-ka narzędzi.
Typ kinematyki z jedną z wartości T, P albo M:
● Typ kinematyki T: Obrotowe jest tylko narzędzie.
● Typ kinematyki P: Obrotowy jest tylko obrabiany przedmiot.
● Typ kinematyki M: Obrotowe jest narzędzie i obrabiany przedmiot.
Skasowanie danych no śnika narz ędzi
Przy pomocy $TC_CARR1[0]=0 mogą być kasowane dane wszystkich zestawów da-nych nośników narzędzi.
Typ kinematyki $TC_CARR23[T]=T musi zostać podany jako jedna z trzech dopusz-czalnych liter duŜych albo małych (T,P,M) i z tego powodu nie powinien być kasowa-ny.
Zmiana danych no śnika narz ędzi
KaŜdą z opisanych wartości moŜna zmienić przez przyporządkowanie nowej wartości w programie obróbki. KaŜdy znak inny niŜ T, P albo M prowadzi do alarmu przy próbie uaktywnienia orientowalnego nośnika narzędzi.
Odczyt danych no śnika narz ędzi
KaŜda z zapisanych wartości moŜe zostać przeczytana przez przyporządkowanie do zmiennej w programie obróbki.
Przesuni ęcia dokładne
Niedopuszczalna wartość przesunięcia dokładnego zostaje rozpoznana dopiero wte-dy, gdy zostanie uaktywniony orientowalny nośnik narzędzi, który zawiera taką war-tość i jednocześnie dana nastawcza SD42974 $SC_TOCARR_FINE_CORRECTION = TRUE.
Wielkość dopuszczalnego przesunięcia dokładnego jest poprzez dane maszynowe ograniczana do maksymalnie dopuszczalnej wartości.
Korekcje narzędzi 7.11 Korekcja długości narzędzia online (TOFFON, TOFFOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
464
7.10 Korekcja długo ści narz ędzia dla orientowalnych no śników narzędzi (TCARR, TCOABS, TCOFR)
Działanie Ze zmienioną orientacją narzędzia w przestrzeni zmieniają się równieŜ jego składowe długości.
Po przezbrojeniu, np. przez ustawienie ręczne albo zmianę nośnika narzędzi o stałym ustawieniu przestrzennym, komponenty długości narzędzia muszą dlatego zostać określone na nowo. Następuje to przy pomocy poleceń drogowych TCOABS i TCOFR. W przypadku orientowalnego nośnika narzędzi aktywnego frame moŜna przy wyborze narzędzia przy pomocy TCOFRZ, TCOFRY i TCOFRX określić kierunek, w którym na-rzędzie ma być zwrócone.
Składnia TCARR=[<m>] TCOABS TCOFR TCOFRZ TCOFRY TCOFRX
Korekcje narzędzi 7.11 Korekcja długości narzędzia online (TOFFON, TOFFOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
465
Znaczenie TCARR=[<m>] ZaŜądanie nośnika narzędzi o numerze "m"
TCOABS Obliczenie składowej długości narzędzia z aktualnego zoriento-wania nośnika narzędzi
TCOFR Określenie składowej długości narzędzia ze zorientowania ak-tywnego frame
TCOFRZ Orientowalny nośnik narzędzi z aktywnego frame, którego na-rzędzie wskazuje w kierunku Z
TCOFRY Orientowalny nośnik narzędzi z aktywnego frame, którego na-rzędzie wskazuje w kierunku Y
TCOFRX Orientowalny nośnik narzędzi z aktywnego frame, którego na-rzędzie wskazuje w kierunku X
Dalsze informacje
Korekcja długo ści narz ędzia z orientacji no śnika (TCOABS)
TCOABS oblicza korekcję promienia narzędzia z aktualnych kątów orientacji nośnika narzędzi; zapisanych w zmiennych systemowych $TC_CARR13 i $TC_CARR14.
Odnośnie definicji kinematyki nośnika narzędzi przy pomocy zmiennych systemowych patrz " Kinematyka nośnika narzędzi (strona 458) ".
W celu ponownego obliczenia korekcji długości narzędzia przy zmianie frame, wrze-ciono musi zostać jeszcze raz wybrane.
Kierunek narz ędzia z aktywnego frame
Orientowalny nośnik narzędzi moŜna tak ustawić, Ŝe narzędzie będzie zwrócone w następujących kierunkach:
● przy pomocy TCOFR wzgl. TCOFRZ w kierunku Z
● przy pomocy TCOFRY w kierunku Y
● przy pomocy TCOFRX w kierunku X
Przełączenie między TCOFR i TCOABS powoduje nowe obliczenie korekcji długości na-rzędzia.
Korekcje narzędzi 7.11 Korekcja długości narzędzia online (TOFFON, TOFFOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
466
ZaŜądanie no śnika narz ędzi (TCARR)
Przy pomocy TCARR następuje przy pomocy numeru nośnika narzędzi m zaŜądanie jego danych geometrycznych (pamięć korekcji).
Przy pomocy m=0 następuje cofnięcie wyboru.
Dane geometryczne nośnika narzędzi stają się aktywne dopiero po wywołaniu narzę-dzia. Wybrane narzędzie pozostaje aktywne po zmianie nośnika narzędzi.
Aktualne dane geometryczne nośnika narzędzi mogą być równieŜ definiowane w pro-gramie obróbki poprzez odpowiednie zmienne systemowe.
Nowe obliczenie korekcji długo ści narz ędzia (TCOABS) przy zmianie frame
W celu ponownego obliczenia korekcji długości narzędzia przy zmianie frame, wrze-ciono musi zostać jeszcze raz wybrane.
Wskazówka
Orientacja narzędzia musi zostać ręcznie dopasowana do aktywnego frame.
Przy obliczaniu korekcji długości narzędzia są w ramach kroku pośredniego obliczane równieŜ kąty obrotu nośnika narzędzi. PoniewaŜ w przypadku nośników narzędzi o dwóch osiach obrotu zazwyczaj istnieją dwie pary kątów obrotu, przy pomocy któ-rych orientacja narzędzia moŜe zostać dopasowana do aktywnego frame, wartości zapisane w zmiennych systemowych muszą przynajmniej w przybliŜeniu odpowiadać mechanicznie ustawionym kątom obrotu.
Korekcje narzędzi 7.11 Korekcja długości narzędzia online (TOFFON, TOFFOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
467
Wskazówka
Orientacja narz ędzia
Kątów skrętu obliczonych poprzez zorientowanie frame sterowanie nie jest w stanie sprawdzić pod względem moŜliwości ustawienia na maszynie.
JeŜeli osie obrotu nośnika narzędzi są konstrukcyjnie tak usytuowane, Ŝe orientacja narzędzia, obliczona poprzez orientację frame, nie moŜe zostać osiągnięta, zostaje wyprowadzony alarm.
Kombinacja korekcji dokładnej narzędzia i funkcji dotyczących korekcji długości na-rzędzia przy ruchomych nośnikach narzędzi jest niedopuszczalna. Przy próbie rów-noczesnego wywołania obydwu funkcji następuje komunikat błędu.
Przy pomocy TOFRAME jest moŜliwe zdefiniowanie frame na podstawie kierunku zorientowania wybranego nośnika narzędzi. Dokładniejsze informacje patrz punkt "Frame".
Przy aktywnej transformacji orientacji (transformacja 3-, 4-, 5-osiowa) moŜe zostać wybrany nośnik narzędzi odbiegający od połoŜenia zerowego, bez wyprowadzenia przy tym alarmu.
Przekazywane parametry cykli standardowych i pomiar owych
Dla przekazywanych parametrów cykli standardowych i pomiarowych obowiązują zde-finiowane zakresy wartości.
W przypadku wartości kątowych zakres wartości jest ustalony następująco:
● Obrót wokół 1. osi geometrycznej: -180 stopni do +180 stopni
● Obrót wokół 2. osi geometrycznej: -90 stopni do +90 stopni
● Obrót wokół 3. osi geometrycznej: -180 stopni do +180 stopni
Patrz punkt "Obrót programowany (ROT, AROT, RPL)".
Wskazówka
Przy przekazywaniu wartości kątowych do cyklu standardowego albo pomiarowego naleŜy przestrzegać:
Warto ści mniejsze ni Ŝ dokładno ść obliczania przez NC nale Ŝy zaokr ąglić do zera!
Dokładność obliczania przez NC dla pozycji końcowej jest ustalona w danej maszyno-we:
MD10210 $MN_INT_INCR_PER_DEG
Korekcje narzędzi 7.11 Korekcja długości narzędzia online (TOFFON, TOFFOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
468
7.11 Korekcja długo ści narz ędzia online (TOFFON, TOFFOF)
Działanie Poprzez zmienną systemową $AA_TOFF[ ] moŜna trójwymiarowo w czasie rzeczywi-stym nałoŜyć efektywne długości narzędzia odpowiednio do trzech jego kierunków. Jako indeks są stosowane trzy identyfikatory osi geometrycznych. Przez to liczba ak-tywnych kierunków korekcji jest ustalona przez osie geometryczne aktywne w tym samym czasie. Wszystkie korekcje mogą być równocześnie aktywne. Funkcja korekcji długości narzędzia online daje się stosować przy: ● transformacji orientacji TRAORI ● orientowalnych nośnikach narzędzi TCARR Producent maszyny
Korekcja długości narzędzia online jest opcją, która przedtem musi zostać udostęp-niona. Funkcja ta ma sens tylko w połączeniu z aktywną transformacją orientacji albo aktywnym orientowalnym nośnikiem narzędzi.
Składnia N.. TRAORI N.. TOFFON(X,25) N.. WHEN TRUE DO $AA_TOFF[kierunek narz ędzia ] w akcjach synchronicz-nych Dalsze objaśnienia dot. programowania korekcji narzędzia online w akcjach synchro-nicznych ruchu patrz punkt "Akcje w akcjach synchronicznych".
Znaczenie
TOFFON Tool Offset ON (uaktywnienie korekcji długości narzędzia online)
Przy uaktywnieniu moŜna dla odpowiedniego kierunki korekcji podać offset, który jest natychmiast realizowany.
TOFFOF Tool Offset OF (cofnięcie korekcji długości narzędzia online)
Odpowiednie wartości korekcji są cofane i jest wyzwalane zatrzymanie przebiegu wyprzedzającego.
X, Y, Z, Kierunek korekcji dla podanej wartości offsetu przy TOFFON
Korekcje narzędzi 7.11 Korekcja długości narzędzia online (TOFFON, TOFFOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
469
Przykład, wybór korekcji długo ści narz ędzia
Kod programu Komentarz MD21190 $MC_TOFF_MODE =1 ; Nast ępuje ruch do warto ści absolut-nych MD21194 $MC_TOFF_VELO[0] =1000 MD21196 $MC_TOFF_VELO[1] =1000 MD21194 $MC_TOFF_VELO[2] =1000 MD21196 $MC_TOFF_ACCEL[0] =1 MD21196 $MC_TOFF_ACCEL[1] =1 MD21196 $MC_TOFF_ACCEL[2] =1 N5 DEF REAL XOFFSET N10 TRAORI(1) ; Transformacja wł. N20 TOFFON(Z) ; Uaktywnienie korekcji
dług. narz ędzia online dla kierunku Z narz ędzia
N30 WHEN TRUE DO $AA_TOFF[Z]=10 ; Dla kierunku Z n arz ędzia G4 F5 jest interpolowana korekcja dług. narz ędzia wynosz ąca 10 ... N100 XOFFSET = $AA_TOFF_VAL[X] ; Przyporz ądkowanie aktual-
nej korekcji w kierunku X Dla kierunku X narz ędzia korekcja długo ści narz ędzia jest ponownie cofana na 0
N120 TOFFON(X, -XOFFSET) G4 F5
Przykład, cofni ęcie wyboru korekcji długo ści narz ędzia
Kod programu Komentarz N10 TRAORI(1) ; Transformacja wł. N20 TOFFON(X) ; Uaktywnienie kierunku Z
narz ędzia N30 WHEN TRUE DO $AA_TOFF[X] = 10 ; Dla kierunku X narz ędzia G4 F5 jest interpolowana korekcja dług. narz ędzia wynosz ąca 10 ... N80 TOFFOF(X) ; Offset pozycji kierunku X
narz ędzia jest kasowany: ...$AA_TOFF[X] = 0
Nie jest wykonywany ruch w Ŝadnej osi Do aktualnej pozycji w WKS jest dolicza-ny offset pozycji odpowied-nio do aktualnej orientacji
Korekcje narzędzi 7.11 Korekcja długości narzędzia online (TOFFON, TOFFOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
470
Opis
Przygotowanie bloku
Przy przetwarzaniu bloku w przebiegu wyprzedzającym jest uwzględniany działający w przebiegu głównym aktualny offset długości narzędzia. Aby móc w duŜym stopniu wykorzystać dopuszczalne prędkości osi, jest wymagane zatrzymanie przygotowywa-nia bloków przez zatrzymanie przebiegu wyprzedzającego STOPRE, podczas gdy jest budowany offset narzędzia.
Offset narzędzia jest w momencie przebiegu wyprzedzającego znany teŜ zawsze wtedy, gdy korekcje długości narzędzia po starcie programu nie są juŜ zmieniane, al-bo gdy po zmianie korekcji długości narzędzia zostało przetworzonych więcej bloków niŜ moŜe pomieścić bufor IPO między przebiegiem wyprzedzającym i przebiegiem głównym.
Zmienna $AA_TOFF_PREP_DIFF
Wielkość róŜnicy między aktualną korekcją działającą w interpolatorze i korekcją, któ-ra działała w chwili przetwarzania bloku, moŜna odpytać w zmiennej $AA_TOFF_PREP_DIFF[ ] .
Ustawienie danych maszynowych i danych nastawczych
Dla korekcji długości narzędzia online są do dyspozycji następujące dane maszyno-we: ● MD 20610: ADD_MOVE_ACCEL_RESERVE Rezerwa przyspieszenia dla ruchu nało-Ŝonego
● MD 21190: TOFF_MODE Zawartość zmiennej systemowej $AA_TOFF[ ] jest re-alizowana albo integrowana jako wartość absolutna.
● MD 21194: TOFF_VELO Prędkość korekcji długości narzędzia online. ● MD 21196: TOFF_ACCEL Przyspieszenie korekcji długości narzędzia online. ● Dana nastawcza do zadania wartości granicznych SD 42970: TOFF_LIMIT Górna granica wartości korekcji długości narzędzia.
Literatura : /FB3/ Podręcznik działania Funkcje specjalne; Transformacje 3- do 5-osiowych (F2).
Korekcje narzędzi 7.12 Modyfikacja danych skrawania w przypadku narzędzi obrotowych (CUTMOD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
471
7.12 Modyfikacja danych skrawania w przypadku narz ędzi obro-towych (CUTMOD)
Działanie Przy pomocy funkcji "Modyfikacja danych skrawania w przypadku narzędzi obroto-wych" mogą przy korekcji narzędzia być uwzględniane zmienione warunki geome-tryczne, które wynikają przy obrocie narzędzi (przewaŜnie narzędzi tokarskich, ale teŜ wiertarskich i frezarskich) w stosunku do obrabianego przedmiotu.
Rysunek 7-1 Narzędzie obrotowe w przypadku tokarki Aktualny obrót narzędzia jest przy tym zawsze obliczany z aktualnie aktywnego orien-towalnego nośnika narzędzi (patrz "Korekcja długości narzędzia dla orientowalnych nośników narzędzi (strona 464)").
Funkcja jest uaktywniana przy pomocy polecenia CUTMOD.
Składnia
CUTMOD=<wartość>
Znaczenie
CUTMOD Polecenie do włączenia funkcji "Modyfikacja danych ostrzy w przy-padku narzędzi obrotowych"
<warto ść> Do polecenia CUTMOD mogą zostać przyporządkowane następu-jące wartości:
0 Aktywność funkcji jest wyłączona. Wartości dawane przez zmienne systemowe $P_AD... są równe korespondującym parametrom narzędzia.
Korekcje narzędzi 7.12 Modyfikacja danych skrawania w przypadku narzędzi obrotowych (CUTMOD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
472
> 0 Funkcja jest uaktywniana, gdy jest aktywny orientowalny nośnik narzędzi o podanym numerze, tzn. uaktywnienie jest powiązane z określonym orientowalnym nośnikiem narzędzi. Wartości dawane przez zmienne systemowe $P_AD... są w stosunku do korespondujących parametrów narzędzi zaleŜne od aktywnego obrotu wzgl. są modyfikowane. Wyłączenie aktywności określonego orientowalnego no-śnika narzędzi wyłącza aktywność funkcji tymczasowe, uaktywnienie innego orientowalnego nośnika narzędzi wyłącza jej aktywność w sposób ciągły. W pierwszym przypadku funkcja jest dlatego ponownie uaktywniana przy ponownym wybraniu tego samego orientowalnego nośnika narzędzi, w drugim przypadku jest konieczny ponowny wybór, równieŜ wówczas, gdy w późniejszym czasie orientowalny nośnik narzędzi o podanym numerze jest ponownie uaktywniany. Reset nie wpływa na funkcję.
-1 Funkcja jest uaktywniana zawsze wtedy, gdy orientowal-ny nośnik narzędzi jest aktywny. Przy zmianie nośnika narzędzi albo przy cofnięciu jego wyboru i późniejszym ponownym wyborze CUTMOD nie musi być ponownie ustawiane.
-2 Funkcja jest uaktywniana zawsze wtedy, gdy jest aktywny orientowalny nośnik narzędzi, którego numer jest równy numerowi aktualnie aktywnego orientowalnego nośnika narzędzi. Gdy Ŝaden orientowalny nośnik narzędzi nie jest aktywny, jest to równoznaczne z CUTMOD=0. Gdy orientowalny nośnik narzędzi jest aktywny, jest to jednoznaczne z bez-pośrednim podaniem aktualnego numeru nośnika narzę-dzi.
< -2 Wartości 2 są ignorowane, tzn. ten przypadek jest tak traktowany, jakby CUTMOD nie zaprogramowano. Wskazówka: Ten zakres wartości nie powinien być stosowany, ponie-waŜ jest on zarezerwowany dla ewentualnych później-szych rozszerzeń.
Wskazówka
SD42984 $SC_CUTDIRMOD
Funkcja uaktywniana poprzez polecenie CUTMOD zastępuje funkcję uaktywnianą po-przez daną nastawczą SD42984 $SC_CUTDIRMOD. Ta funkcja jest jednak nadal bez zmian do dyspozycji. PoniewaŜ jednak nie ma sensu uŜywanie obydwu funkcji równo-legle, moŜe zostać ona uaktywniona tylko wtedy, gdy CUTMOD jest równe zero.
Korekcje narzędzi 7.12 Modyfikacja danych skrawania w przypadku narzędzi obrotowych (CUTMOD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
473
Przykład PoniŜszy przykład odnosi się do narzędzia o połoŜeniu 3 ostrza i orientowanym nośni-ku narzędzi, który moŜe obracać narzędzie wokół osi B. Wartości liczbowe w komentarzach podają kaŜdorazowo pozycje końcowe w osiach we współrzędnych maszyny (MKS) w kolejności X, Y, Z.
Kod programu Komentarz N10 $TC_DP1[1,1]=500 N20 $TC_DP2[1,1]=3 ; Poło Ŝenie ostrza N30 $TC_DP3[1,1]=12 N40 $TC_DP4[1,1]=1 N50 $TC_DP6[1,1]=6 N60 $TC_DP10[1,1]=110 ; K ąt uchwytu N70 $TC_DP11[1,1]=3 ; Kierunek skrawania N80 $TC_DP24[1,1]=25 ; K ąt przyło Ŝenia N90 $TC_CARR7[2]=0 $TC_CARR8[2]=1 $TC_CARR9[2]=0 ; Oś B N100 $TC_CARR10[2]=0 $TC_CARR11[2]=0 $TC_CARR12[2]= 1 ; O ś C N110 $TC_CARR13[2]=0 N120 $TC_CARR14[2]=0 N130 $TC_CARR21[2]=X N140 $TC_CARR22[2]=X N150 $TC_CARR23[2]="M" N160 TCOABS CUTMOD=0 N170 G18 T1 D1 TCARR=2 X Y Z N180 X0 Y0 Z0 F10000 ; 12.000 0.000 1.000 N190 $TC_CARR13[2]=30 N200 TCARR=2 N210 X0 Y0 Z0 ; 10.892 0.000 -5.134 N220 G42 Z–10 ; 8.696 0.000 –17.330 N230 Z–20 ; 8.696 0.000 –21.330 N240 X10 ; 12.696 0.000 –21.330 N250 G40 X20 Z0 ; 30.892 0.000 –5.134 N260 CUTMOD=2 X0 Y0 Z0 ; 8.696 0.000 –7.330 N270 G42 Z–10 ; 8.696 0.000 –17.330 N280 Z–20 ; 8.696 0.000 –21.330 N290 X10 ; 12.696 0.000 –21.330 N300 G40 X20 Z0 ; 28.696 0.000 –7.330 N310 M30
Korekcje narzędzi 7.12 Modyfikacja danych skrawania w przypadku narzędzi obrotowych (CUTMOD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
474
Objaśnienia:
W bloku N180 jest najpierw wybierane narzędzie przy CUTMOD=0 i nie obróconym orientowalnym nośniku narzędzi. PoniewaŜ wszystkie wektory offsetowe orientowa-nego nośnika narzędzi wynoszą 0, następuje ruch do pozycji, która odpowiada długo-ściom narzędzi podanych w $TC_DP3[1,1] i $TC_DP4[1,1] .
W bloku N200 jest uaktywniany orientowalny nośnik narzędzi z obrotem 30° wokół osi B. PoniewaŜ połoŜenie ostrze z powodu CUTMOD=0 nie jest zmodyfikowane, miaro-dajny jest jak dotychczas stary punkt odniesienia ostrza. Dlatego jest w bloku N210 wykonywany ruch do pozycji, która zachowuje stary punkt odniesienia ostrza w punk-cie zerowym (tzn. wektor (1, 12) jest w płaszczyźnie Z/X obracany o 30°).
W bloku N260 w odróŜnieniu od bloku N200 działa CUTMOD=2. Ze względu na obrót orientowalnego nośnika narzędzi zmodyfikowanym połoŜeniem ostrza staje się 8. Z tego wynikają równieŜ odmienne pozycje osi.
W blokach N220 wzgl. N270 jest kaŜdorazowo uaktywniana korekcja promienia na-rzędzia. RóŜne połoŜenie ostrza w obydwu częściach programu nie ma Ŝadnego wpływu na końcowe pozycje bloków, w których WRK jest aktywna, odpowiednie pozycje są dla-tego identyczne. Dopiero w blokach cofnięcia wyboru N260 wzgl. N300 znów oddzia-łują róŜne połoŜenia ostrza.
Dalsze informacje Działanie zmodyfikowanych danych ostrza
Zmodyfikowane połoŜenie ostrza i zmodyfikowany punkt odniesienia ostrza działają natychmiast przy zaprogramowaniu równieŜ dla juŜ aktywnego narzędzia. Wybór na-rzędzia nie jest do tego konieczny.
Wpływ aktywnej płaszczyzny roboczej
Dla określenia zmodyfikowanego połoŜenia ostrza, kierunku skrawania i kąta uchwytu wzgl. kąta przyłoŜenia jest miarodajne widzenie ostrza w kaŜdorazowo aktywnej płaszczyźnie (G17 - G19 ). Gdy jednak dana nastawcza SD42940 $SC_TOOL_LENGTH_CONST (zmiana skła-dowych długości narzędzia przy zmianie płaszczyzny) zawiera obowiązującą wartość nierówną zero (plus albo minus 17, 18 albo 19), wówczas jej treść określa płaszczy-znę, w której odnośne wielkości są traktowane.
Korekcje narzędzi 7.12 Modyfikacja danych skrawania w przypadku narzędzi obrotowych (CUTMOD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
475
Zmienne systemowe
Są do dyspozycji następujące zmienne systemowe:
Zmienne systemowe Znaczenie
$P_CUTMOD_ANG / $AC_CUTMOD_ANG
Daje (nie zaokrąglony) kąt w aktywnej płaszczyźnie obróbki, który został przyjęty za podstawę dla modyfikacji danych ostrza (poło-Ŝenie ostrza, kierunek skrawania, kąt przyłoŜenia i kąt uchwytu) w przypadku funkcji uaktywnionych przy pomocy CUTMOD wzgl. $SC_CUTDIRMOD. $P_CUTMOD_ANG odnosi się do aktualnego stanu w przebiegu wyprzedzającym, $AC_CUTMOD_ANG do aktualnego bloku przebiegu głównego.
$P_CUTMOD / $AC_CUTMOD
Czyta aktualnie obowiązującą wartość, która została ostatnio zaprogramowana poleceniem CUTMOD (numer nośnika narzę-dzi, dla którego ma zostać uaktywniona modyfikacja danych ostrza). JeŜeli ostatnia zaprogramowana wartość CUTMOD była =-2 (uak-tywnienie z aktualnie aktywnym orientowalnym nośnikiem narzę-dzi), wówczas w $P_CUTMOD jest zwracana nie wartość -2, lecz numer aktywnego w chwili programowania, orientowalnego no-śnika narzędzi. $P_CUTMOD odnosi się do aktualnego stanu w przebiegu wy-przedzającym, $AC_CUTMOD do aktualnego bloku przebiegu głównego.
$P_CUT_INV / $AC_CUT_INV
Daje wartość TRUE, gdy narzędzie jest tak obrócone, Ŝe kierunek obrotów wrzeciona musi zostać odwrócony. W tym celu w bloku, do którego odnosi się kaŜdorazowa operacja odczytu, muszą być spełnione następujące cztery warunki: 1. Jest aktywne narzędzie tokarskie albo szlifierskie
(typy narzędzi 400 do 599 i / albo SD42950 $SC_TOOL_LENGTH_TYPE = 2).
2. Sterowanie ostrzami zostało uaktywnione przy pomocy polece-nia językowego CUTMOD.
3. Jest aktywny orientowalny nośnik narzędzi, który został okre-ślony przez numeryczną wartość CUTMOD.
4. Orientowalny nośnik narzędzi obraca narzędzie wokół osi w płaszczyźnie obróbki (typowo oś C) tak, by uzyskana nor-malna ostrza narzędzia w stosunku do połoŜenia wyjściowego była obrócona o więcej niŜ 90° (typowo 180°).
JeŜeli przynajmniej jeden z wymienionych warunków nie jest spełniony, treść zmiennej jest FALSE. Dla narzędzi, których poło-Ŝenie ostrza nie jest zdefiniowane, wartość zmiennej jest zawsze FALSE. $P_CUT_INV odnosi się do aktualnego stanu w przebiegu wy-przedzającym a $AC_CUT_INV do aktualnego bloku przebiegu głównego.
Korekcje narzędzi 7.12 Modyfikacja danych skrawania w przypadku narzędzi obrotowych (CUTMOD)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
476
Wszystkie zmienne przebiegu głównego ($AC_CUTMOD_ANG, $AC_CUTMOD i $AC_CUT_INV) mogą być czytane w akcjach synchronicznych. Dostęp w celu odczytu z przebiegu głównego generuje zatrzymanie przebiegu wyprzedzającego.
Zmodyfikowane dane ostrza:
W przypadku gdy jest aktywny obrót narzędzia, zmodyfikowane dane są udostępniane w następujących zmiennych systemowych:
Zmienna systemowa Znaczenie
$P_AD[2] połoŜenie ostrza
$P_AD[10] kąt uchwytu
$P_AD[11] kierunek skrawania
$P_AD[24] kąt przyłoŜenia
Wskazówka
Dane są w stosunku do korespondujących parametrów narzędzia ($TC_DP2[..., ...] itd.) zawsze wtedy modyfikowane, gdy funkcja "modyfikacja danych ostrza w przypadku narzędzi obrotowych" została uaktywniona poleceniem CUTMOD i jest aktywny orien-towalny nośnik narzędzi, który powoduje obrót narzędzia.
Literatura Dalsze informacje dot. funkcji "modyfikacja danych ostrza w przypadku narzędzi obro-towych" patrz:
Podręcznik działania Funkcje podstawowe; korekcja narzędzia (W1)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
477
Zachowanie si ę w ruchu po torze 8
8.1 Sterowanie styczne (TANG, TANGON, TANGOF, TLIFT , TANGDEL)
Działanie Oś holowana jest aktualizowana według stycznej po torze ustalonym przez osie wio-dące. Przez to narzędzie moŜe zostać ustawione równolegle do konturu. Przez kąt zaprogramowany w instrukcji TANGON moŜna przyłoŜyć narzędzie w stosunku do stycznej.
Zachowanie się w ruchu po torze 8.1 Sterowanie styczne (TANG, TANGON, TANGOF, TLIFT, TANGDEL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
478
Zakresy zastosowania
Sterowanie styczne moŜe między innymi być stosowane przy: ● Stycznym przyłoŜeniu narzędzia obrotowego przy cięciu ● NadąŜanie ustawienia obrabianego przedmiotu w przypadku piły taśmowej (p. rysu-nek) ● Przystawieniu narzędzia obciągającego do ściernicy ● PrzyłoŜeniu kółka tnącego przy cięciu szkła albo papieru ● Stycznym doprowadzaniu drutu przy spawaniu 5-osiowym
Składnia TANG (Fo ś,Lo ś1,Lo ś2,Koppel,KS,Opt) TANGON (Foś,k ąt, Dist, Winkeltol) TANGOF (Foś) TLIFT (Fo ś) TANGDEL (Foś)
Korekcje narzędzi 8.1 Sterowanie styczne (TANG, TANGON, TANGOF, TLIFT, TANGDEL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
479
Programowania uproszczone:
Współczynnik sprzęŜenia wynoszący 1 nie musi być explicite programowany TANG(C, X, Y, 1, "B", "P ") moŜna skrócić jako TANG(C, X, Y, , , ,
"P" ). Jak dotychczas moŜna zamiast TANG(C, X, Y, 1, "B", "S") pisać TANG(C, X, Y) . Instrukcję TLIFT podajecie bezpośrednio po przyporządkowaniu osi przy pomocy TANG(...).
Przykład: TANG(C,X,Y...) TLIFT(C)
Wyłączenie TLIFT
W tym celu powtórzcie przyporządkowanie osi TANG(...) bez następnego TLIFT(...) .
TANGDEL, skasowanie definicji aktualizacji stycznej
Istniejąca, zdefiniowana przez uŜytkownika aktualizacja musi zostać skasowana, gdy w wywołaniu przygotowawczym TANG ma zostać zdefiniowana nowa aktualizacja styczna z taką samą osią holowaną. Skasowanie jest moŜliwe tylko wtedy, gdy sprzę-Ŝenie jest wyłączone przy pomocy TANGOF (FOś) .
Znaczenie
TANG Instrukcja przygotowawcza do definicji aktualizacji stycznej; usta-wienie domyślne: 1
TANG(C,X,Y,1,"B") oznacza:
Oś obrotowa podąŜa za osiami geometrycznymi X i Y. TLIFT wyłą-czyć
TANGON Włączenie sterowania stycznego z podaniem osi holowanej i poŜą-danego kąta offsetu osi holowanej i drogi ścięcia naroŜnika, odchy-lenia kątowego.
TANGON(C,90) oznacza:
Oś C jest osią holowaną. Jest ona przy kaŜdym ruchu osi uczestni-czących w tworzeniu konturu obracana do pozycji 90° w stosunku do stycznej do toru.
TANGOF Wyłączenie sterowania stycznego z podaniem osi holowanej.
W celu wyłączenia sterowania stycznego jest podawana oś holo-wana:
TANGOF(C)
Zachowanie się w ruchu po torze 8.1 Sterowanie styczne (TANG, TANGON, TANGOF, TLIFT, TANGDEL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
480
TLIFT Wstawianie bloku pośredniego na naroŜnikach konturu.
TANGDEL Skasowanie definicji aktualizacji stycznej.
Przykład: TANGDEL(Fo ś)
Foś Oś holowana: stycznie aktualizowana dodatkowa oś obrotowa
Loś1, Lo ś2 Osie wiodące: osie uczestniczące w tworzeniu konturu, z których jest określana styczna dla aktualizacji
Koppel Współczynnik sprzęŜenia: zaleŜność między zmianą kąta stycznej i osi aktualizowanej.
Podanie opcjonalne; ustawienie domyślne: 1
KS Symbol literowy układu współrzędnych "B" = bazowy układ współrzędnych; podanie opcjonalne; ustawienie domyślne
"W" = układ wsp. obrabianego przedmiotu jest niedostępny
Opt Optymalizacja: "S" Standard, Default "P" automatyczne dopasowanie przebiegu czasowego osi stycznej i konturu
Kąt Kąt offsetu osi holowanej
Dist Droga ścinania dla osi holowanej, wymagana przy Opt "P"
Winkeltol Tolerancja kątowa osi holowanej, (opcjonalnie), ewaluacja tylko przy Opt = "P"
MoŜliwo ść optymalizacji Opt, Dist i Winkeltol
Przy pomocy Opt = "P" jest jednocześnie uwzględniana dynamika osi holowanej przy ograniczeniu prędkości osi wiodących i jest zalecane przede wszystkim przy za-stosowaniu transformacji kinematycznych. Parametry (Dist i Winkeltol ) w celowy sposób ograniczają błąd między osią aktu-alizowaną i styczną.
Korekcje narzędzi 8.1 Sterowanie styczne (TANG, TANGON, TANGOF, TLIFT, TANGDEL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
481
Przykład: zmiana płaszczyzny
Kod programu Komentarz N10 TANG(A, X, Y,1) ; 1. definicja aktualizacji st ycznej. N20 TANGON(A) ; Uaktywnienie sprz ęŜenia. N30 X10 Y20 ; Promie ń ... N80 TANGOF(A) ; Wył ączenie 1. sprz ęŜenia. N90 TANGDEL(A) ; Skasowanie 1. definicji. ... TANG(A, X, Z) ; 2. definicja aktualizacji stycznej . TANGON(A) ; Uaktywnienie nowego sprz ęŜenia ... N200 M30
Przykład: przeł ączenie osi geometrycznej i TANGDEL
Alarm nie niest generowany.
Kod programu Komentarz N10 GEOAX(2,Y1) ; Y1 jest osi ą geometryczn ą 2. N20 TANG(A, X, Y) N30 TANGON(A, 90) N40 G2 F8000 X0 Y0 I0 J50 N50 TANGOF(A) ; Wył ączenie aktywno ści aktualizacji
z Y1. N60 TANGDEL(A) ; Skasowanie 1. definicji. N70 GEOAX(2, Y2) ; Y2 jest now ą osi ą geometryczn ą 2 N80 TANG(A, X, Y) ; 2. definicja aktualizacji styc znej. N90 TANGON(A, 90) ; Uaktywnienie aktualizacji z 2. defi-
nicj ą. ...
Zachowanie się w ruchu po torze 8.1 Sterowanie styczne (TANG, TANGON, TANGOF, TLIFT, TANGDEL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
482
Przykład: aktualizacja styczna z optymalizacj ą automatyczn ą
Optymalizacja automatyczna poprzez Dist i Winkeltol.
Kod programu Komentarz N80 G0 C0 ; Y1 jest osi ą geometryczn ą 2. N100 F=50000 N110 G1 X1000 Y500 N120 TRAORI ; Ścinanie z tolerancj ą osiow ą. N130 G642 N171 TRANS X–Y– ; Automatyczna optymalizacja pr ędko ści
ruchu po torze. N180 TANG(C,X,Y, 1,,"P") ; Droga ści ęcia 5 mm N190 TANGON(C, 0, 5.0, 2.0) ; Tolerancja k ąta 2 stopnie N210 G1 X1310 Y500 ; Uaktywnienie aktualizacji z 2 . defi-
nicj ą. N215 G1 X1420 Y500 N220 G3 X1500 Y580 I=AC(1420) J=AC(580) N230 G1 X1500 Y760 N240 G3 X1360 Y900 I=AC(1360) J=AC(760) N250 G1 X1000 Y900 N280 TANGOF(C) N290 TRAFOOF N300 M02
Definiowanie osi holowanej i osi wiod ącej
Definicja osi holowanych i wiodących następuje przy pomocy TANG. Współczynnik sprzęŜenia podaje zaleŜność między zmianą kąta stycznej i osi holo-wanej. Jego wartość wynosi z reguły 1 (ustawienie domyślne).
Korekcje narzędzi 8.1 Sterowanie styczne (TANG, TANGON, TANGOF, TLIFT, TANGDEL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
483
Kąt graniczny przez ograniczenie pola roboczego
Przy ruchach po torze prowadzonych w jedną i drugą stronę styczna skacze w punk-cie nawrotnym toru o 180°, odpowiednio zmienia si ę ustawienie osi holowanej.
Z reguły to zachowanie się nie ma sensu: Ruch powrotny powinien być wykonywany w tym samym ujemnym kącie offsetu co ruch tam.
W tym celu ograniczacie pole robocze osi nadąŜnej (G25, G26 ). Ograniczenie pola roboczego musi być aktywne w chwili nawrotu toru (WALIMON).
Gdy kąt offsetu leŜy poza ograniczeniem pola roboczego, następuje próba dojścia z offsetem ujemnym z powrotem do dopuszczalnego zakresu roboczego.
Wstawianie bloku po średniego na naro Ŝnikach konturu, TLIFT
Na naroŜniku konturu skokowo zmienia się styczna a przez to pozycja zadana osi ak-tualizowanej. Oś próbuje normalnie wyrównać ten skok przy pomocy swojej maksy-malnej moŜliwej prędkości. Przy tym jednak na pewnym odcinku na konturze za na-roŜnikiem wynika odchylenie od poŜądanego stycznego przyłoŜenia. JeŜeli z powo-dów technologicznych nie moŜna tego tolerować, moŜna przy pomocy instrukcji TLIFT spowodować, Ŝe sterowanie zatrzyma się na naroŜniku i w automatycznie wy-tworzonym bloku pośrednim obróci oś aktualizowaną do nowego kierunku stycznej.
Zachowanie się w ruchu po torze 8.1 Sterowanie styczne (TANG, TANGON, TANGOF, TLIFT, TANGDEL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
484
Obrót następuje z zaprogramowaną osią uczestniczącą w tworzeniu konturu, gdy oś aktualizowana wykonywała juŜ ruch jako oś uczestnicząca w tworzeniu konturu. Przez funkcję FGREF[ax] = 0.001 moŜna tutaj uzyskać prędkość maksymalną osi aktu-alizowanej. JeŜeli oś aktualizowana nie wykonywała jeszcze ruchu jako oś uczestnicząca w two-rzeniu konturu, wówczas wykonuje ruch jako oś pozycjonowania. Prędkość jest wów-czas zaleŜna od prędkości pozycjonowania zapisanej w danej maszynowej.
Obrót następuje z maksymalną prędkością osi aktualizowanej.
MoŜliwo ść optymalizacji
Skoki prędkości osi holowanej w wyniku skoków w konturze osi wiodącej są ścinane wzgl. wygładzane przy pomocy (Dist i Winkeltol).
Przy tym oś holowana jest prowadzona wyprzedzająco (patrz wykres), aby utrzymy-wać jak najmniejsze odchylenie.
Definicja zmiany k ąta Zmiana kąta, od którego jest wstawiany automatyczny blok pośredni, jest definiowana poprzez daną maszynową $MA_EPS_TLIFT_TANG_STEP.
Zachowanie się w ruchu po torze 8.2 Przebieg posuwu (FNORM, FLIN, FCUB, FPO)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
485
Wpływ na transformacj ę
Pozycja aktualizowanej osi obrotowej moŜe być wartością wejściową dla transforma-cji.
Pozycjonowanie explicite osi holowanej
JeŜeli jedna z osi aktualizowanych odpowiednio do osi prowadzących jest explicite pozycjonowana, wówczas podanie pozycji działa addytywnie do zaprogramowanego kąta offsetu.
Dopuszczalne są wszystkie zadania drogi: ruchy po torze i ruchy pozycjonowania.
Status sprz ęŜenia W programie obróbki NC moŜecie dokonać odpytania na status sprzęŜenia przy po-mocy następującej zmiennej systemowej: $AA_COUP_ACT[oś] 0: SprzęŜenie nie aktywne 1,2,3: aktualizacja styczna aktywna
8.2 Przebieg posuwu (FNORM, FLIN, FCUB, FPO)
Działanie
W celu bardziej elastycznego zadawania przebiegu posuwu jego programowanie według DIN66025 jest rozszerzane o przebiegi liniowe i sześcienne.
Przebiegi sześcienne mogą być programowane bezpośrednio albo jako spline interpolu-jące.
Przez to dają się - zaleŜnie od zakrzywienia obrabianego przedmiotu - programować cią-gle gładkie przebiegi prędkości.
Te przebiegi prędkości umoŜliwiają wolne od szarpnięć zmiany przyśpieszenia a przez to wykonywanie równomiernych powierzchni obrabianych przedmiotów.
Zachowanie się w ruchu po torze 8.2 Przebieg posuwu (FNORM, FLIN, FCUB, FPO)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
486
Składnia
F… FNORM F… FLIN F… FCUB FPO(…,…,…)
Znaczenie
FNORM PołoŜenie podstawowe. Wartość posuwu jest zadawana poprzez drogę ruchu po torze w bloku i obowiązuje następnie jako wartość modalna.
FLIN Profil prędkości ruchu po torze liniowy :
Wartość posuwu jest uzyskiwana liniowo z aktualnej wartości na począt-ku bloku do końca bloku na drodze ruchu po torze i następnie obowiązu-je jako wartość modalna. Profil prędkości ruchu po torze sześcienny:
FCUB Profil prędkości ruchu po torze sze ścienny :
Programowane pojedynczymi blokami wartości F - w odniesieniu do punktu końcowego bloku - są łączone przez spline. Spline rozpoczyna się i kończy stycznie do poprzedzającego wzgl. następnego podania posuwu i działa z G93 i G94.
JeŜeli w bloku brak jest adresu F, wówczas jest przyjmowana ostatnio zaprogramowana wartość F.
F=FPO… Profil prędkości ruchu po torze poprzez wielomian :
Adres F określa przebieg posuwu poprzez wielomian od aktualnej warto-ści do końca bloku. Wartość końcowa obowiązuje wówczas jako wartość modalna.
Optymalizacja posuwu na zakrzywionych torach ruchu
Wielomian posuwu F=FPO i spline posuwu FCUB powinny być zawsze wykonywane ze stałą prędkością skrawania CFC. Przez to daje się wytworzyć wykazujący stałe przy-śpieszenie profil posuwu zadanego.
Zachowanie się w ruchu po torze 8.2 Przebieg posuwu (FNORM, FLIN, FCUB, FPO)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
487
Przykład: ró Ŝne profile posuwu
W tym przykładzie znajdziecie programowanie i przedstawienie graficzne róŜnych pro-fili posuwu.
Kod programu Komentarz N1 F1000 FNORM G1 X8 G91 G64 ; Stały profil posuwu, podanie
w wymiarze przyrostowym N2 F2000 X7 ; Skokowa zmiana pr ędko ści zada-
nej N3 F=FPO(4000, 6000, -4000) ; Profil posuwu poprze z wielo-
mian z posuwem 4000 na ko ńcu bloku
N4 X6 ; Posuw wielomianowy 4000 obo-wi ązuje jako warto ść modalna
N5 F3000 FLIN X5 ; Liniowy profil posuwu N6 F2000 X8 ; Liniowy profil posuwu N7 X5 Posuw liniowy obowi ązuje jako
warto ść modalna N8 F1000 FNORM X5 ; Stały profil posuwu ze skokow ą
zmian ą przyspieszenia N9 F1400 FCUB X8 ; Wszystkie dalsze programowane
pojedynczymi blokami warto ści F są ł ączone ze spline
N10 F2200 X6 N11 F3900 X7 N12 F4600 X7 N13 F4900 X5 ; Wył ączenie profilu spline N14 FNORM X5 N15 X20
Zachowanie się w ruchu po torze 8.2 Przebieg posuwu (FNORM, FLIN, FCUB, FPO)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
488
FNORM Adres posuwu F określa posuw ruchu po torze jako wartość stałą według DIN 66025. Więcej informacji na ten temat znajdziecie w podręczniku programowania "Podstawy".
FLIN Przebieg posuwu jest uzyskiwany od aktualnej wartości posuwu do zaprogramowanej wartości F liniowo do końca bloku.
Przykład: N30 F1400 FLIN X50
Zachowanie się w ruchu po torze 8.2 Przebieg posuwu (FNORM, FLIN, FCUB, FPO)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
489
FCUB Posuw jest uzyskiwany od aktualnej wartości posuwu do zaprogramowanej wartości F do końca bloku w przebiegu sześciennym. Sterowanie łączy przez spline wszystkie zaprogramowane pojedynczymi blokami wartości posuwu z aktywnym FCUB. Warto-ści posuwu słuŜą tutaj jako punkty oparcia do obliczenia interpolacji spline.
Przykład: N50 F1400 FCUB X50 N60 F2000 X47 N70 F3800 X52
F=FPO(…,…,…) Przebieg posuwu jest programowany bezpośrednio poprzez wielomian. Podanie współczynników wielomianu następuje analogicznie do interpolacji wielomianowej.
Przykład: F=FPO(endfeed, quadf, cubf) endfeed, quadf i cubf są wcześniej zdefiniowanymi zmiennymi.
endfeed: Posuw na końcu bloku
quadf: Kwadratowy współczynnik wielomianu
cubf: Sześcienny współczynnik wielomianu
Zachowanie się w ruchu po torze 8.2 Przebieg posuwu (FNORM, FLIN, FCUB, FPO)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
490
Przy aktywnym FCUB spline dołącza na początku i końcu bloku do przebiegu ustalo-nego przez FPO.
Warunki brzegowe
NiezaleŜnie od zaprogramowanego przebiegu posuwu obowiązują funkcje do pro-gramowania zachowania się w ruchu po torze. Programowany przebieg posuwu obowiązuje zasadniczo bezwzględnie - niezaleŜnie
od G90 albo G91. Przebieg posuwu FLIN i FCUB działa z
G93 i G94. FLIN i FCUB nie działa przy G95, G96/G961 i G97/G971 .
Aktywny kompresor COMPON
Przy aktywnym kompresorze COMPON obowiązuje przy połączeniu wielu bloków w jeden segment Spline:
FNORM:
Dla segmentu spline obowiązuje słowo F ostatniego przynaleŜnego bloku.
Zachowanie się w ruchu po torze 8.3 Przebieg programu z pamięcią przebiegu wyprzedzającego (STARTFIFO, STOPFIFO,
STOPRE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
491
FLIN:
Dla segmentu spline obowiązuje słowo F ostatniego przynaleŜnego bloku. Zaprogramowana wartość F obowiązuje do końca segmentu i następnie jest uzyski-wana liniowo.
FCUB:
Utworzony spline posuwu odbiega maksymalnie o wartość zdefiniowaną w danej ma-szynowej $MC_COMPESS_VELO_TOL od zaprogramowanych punktów końcowych. F=FPO(…,…,…)
Te bloki nie są kompresowane.
8.3 Przebieg programu z pami ęcią przebiegu wyprzedzaj ącego (STARTFIFO, STOPFIFO, STOPRE)
Działanie W zaleŜności od stopnia rozbudowy sterowanie dysponuje określoną liczbą tzw. pa-mięci przebiegu wyprzedzającego, które zapisują przetworzone na gotowo bloki przed obróbką i w przebiegu obróbki wyprowadzają jako szybkie ciągi bloków. Dają się przez to wykonywać krótkie drogi z duŜymi prędkościami.
O ile pozostały czas sterowania to dopuszcza, pamięć przebiegu wyprzedzającego jest z zasady napełniana.
Zachowanie się w ruchu po torze 8.3 Przebieg programu z pamięcią przebiegu wyprzedzającego (STARTFIFO, STOPFIFO, STOPRE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
492
Składnia
STARTFIFO STOPFIFO STOPRE
Znaczenie
STOPFIFO Zatrzymanie szybkiego odcinka obróbki, napełnienie pamięci prze-biegu wyprzedzającego, aŜ zostanie rozpoznane STARTFIFO, "Bufor przebiegu wyprzedzającego pełny" albo "Koniec programu"
STARTFIFO Rozpoczęcie szybkiego odcinka obróbki, równolegle do tego napeł-nienie bufora przebiegu wyprzedzającego
STOPRE Zatrzymanie przebiegu wyprzedzającego
Wskazówka
STOPFIFO zatrzymuje obróbkę, aŜ pamięć przebiegu wyprzedzającego zostanie na-pełniona wzgl. aŜ zostanie rozpoznane STARTFIFO albo STOPRE.
Przykład: oznaczenie segmentu obróbki
Fragment obróbki, który ma być przejściowo zapisywany w pamięci przebiegu wy-przedzającego, jest na początku i na końcu oznaczany przez STOPFIFO wzgl. STARTFIFO.
N10 STOPFIFO N20… N100 N110 STARTFIFO
Wykonywanie bloków rozpoczyna się dopiero wtedy, gdy pamięć przebiegu wyprze-dzającego jest napełniona albo po poleceniu STARTFIFO.
Wyjątek:
Pamięć przebiegu wyprzedzającego nie jest wykonywana wzgl. jest przerywana, gdy odcinek obróbki zawiera polecenia, które wymuszają pracę nie buforowaną (bazowa-nie do punktu odniesienia, funkcje pomiarowe, ...).
Zachowanie się w ruchu po torze 8.4 Warunkowo przerywalne segmenty programu (DELAYFSTON, DELAYSTOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
493
Przykład: zatrzymanie przebiegu wyprzedzaj ącego STOPRE
Przy zaprogramowaniu STOPRE kolejny blok jest wykonywany dopiero wtedy, gdy wszystkie przedtem przygotowane i zapisane bloki są całkowicie wykonane. Poprzed-ni blok jest zatrzymywany w zatrzymaniu dokładnym (jak G9).
Przykład: N10 … N30 MEAW=1 G1 F1000 X100 Y100 Z50 N40 STOPRE Przy dostępie do danych stanu maszyny ($SA...) sterowanie wytwarza wewnętrzne zatrzymanie przebiegu wyprzedzającego.
Przykład:
Kod programu Komentarz R10 = $AA_IM[X] ; Odczyt warto ści rzeczywistej osi X.
OSTROśNIE
Przy włączonej korekcji narzędzia i w przypadku interpolacji Spline nie powinniście programować STOPRE, poniewaŜ spowoduje to przerwanie przynaleŜnych do siebie ciągów bloków.
8.4 Warunkowo przerywalne segmenty programu (DELAYFSTON, DELAYFSTOF)
Działanie
Warunkowo przerywalne segmenty programu obróbki są nazywane zakresami Stop-Delay W ramach określonych fragmentów programu nie naleŜy zatrzymywać a rów-nieŜ nie zmieniać posuwu. W istocie krótkie fragmenty programu, które np. słuŜą do wykonywania gwintu, powinny być chronione przed wszelkimi wydarzeniami zatrzy-mania. Ewentualne zatrzymanie działa dopiero wtedy, gdy fragment programu został wykonany do końca.
Zachowanie się w ruchu po torze 8.4 Warunkowo przerywalne segmenty programu (DELAYFSTON, DELAYSTOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
494
Składnia DELAYFSTON DELAYFSTOF
Polecenia znajdują się oddzielnie w jednym wierszu programu obróbki Obydwa polecenia są dopuszczalne tylko w programach obróbki ale nie w akcjach syn-chronicznych.
Znaczenie DELAYFSTON Zdefiniowanie początku obszaru, w którym "łagodne" zatrzyma-
nia ulegają zwłoce aŜ zostanie osiągnięty koniec zakresu Stop-Delay.
DELAYFSTOF Zdefiniowanie końca zakresu Stop-Delay
Wskazówka
W przypadku danej maszynowej MD11550 $MN_STOP_MODE_MASK Bit 0 = 0 (do-myślna) zakres Stop-Delay jest implicite definiowany, gdy G331/G332 jest aktywne i jest zaprogramowany ruch po torze wzgl. G4.
Przykład: wydarzenia stopu
W zakresie Stop-Delay zmiana posuwu i blokada posuwu są ignorowane. Działają one dopiero za zakresem Stop-Delay.
Są rozróŜniane wydarzenia stopu:
"Łagodne" wydarzenia stopu Reakcja: delayed
"Twarde" wydarzenia stopu Reakcja: immediate
Wybór kilku wydarzeń stopu, które zatrzymują przynajmniej na krótki czas:
Nazwa wydarzenia Reakcja Parametry przerwania
RESET immediate NST: DB21,… DBX7.7 i DB11, … DBX20.7
PROG_END Alarm 16954 Prog. NC: M30
INTERRUPT delayed NST: FC-9 i ASUP DB10, ... DBB1
SINGLEBLOCKSTOP delayed Praca pojedynczymi blokami w zakresie Stopp-Delay NC zatrzymuje się na końcu 1. bloku poza zakresem Stopp-Delay. Wykonywanie pojedynczymi blokami wybrane jeszcze przed ob-szarem stopp-delay
NST: "NC-Stop na granicy bloków" DB21, ... DBX7.2
Zachowanie się w ruchu po torze 8.4 Warunkowo przerywalne segmenty programu (DELAYFSTON, DELAYSTOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
495
Nazwa wydarzenia Reakcja Parametry przerwania
STOPPROG delayed
PROG_STOP alarm 16954
WAITM alarm 16954
WAITE alarm 16954
STOP_ALARM immediat
RETREAT_MOVE_THREAD alarm 16954
WAITMC alarm 16954
NEWCONF_PREP_STOP alarm 16954
SYSTEM_SHUTDOWN immediate
ESR delayed
EXT_ZERO_POINT delayed
STOPRUN alarm 16955
Objaśnienie reakcji
immediate ("twarde" wyda-rzenie stopu)
Zatrzymuje natychmiast równieŜ w obszarze Stopp-Delay
delayed ("łagodne" wyda-rzenie stopu)
Zatrzymanie (równieŜ krótkotrwałe) następuje dopie-ro za obszarem Stopp-Delay
Alarm 16954 Program jest przerywany, poniewaŜ z zakresie Stopp-Delay są zastosowane niedozwolone polece-nia programowe.
Alarm 16955 Program jest kontynuowany, w obszarze Stopp-Delay nastąpiła niedozwolona akcja.
Alarm 16957 Obszar programu (obszar Stopp-Delay), który jest określony przez DELAYFSTON i DELAYFSTOF, nie mógł zostać uaktywniony Przez to kaŜde zatrzymanie w obszarze działa na-tychmiast i nie podlega zwłoce.
Podsumowanie dalszych reakcji na wydarzenia stopu patrz: Literatura: Podręcznik działania Funkcje podstawowe; BAG, Kanał, Praca programowa, (K1), punkt "Sterowanie i wpływ na wydarzenia stopu"
Zachowanie się w ruchu po torze 8.4 Warunkowo przerywalne segmenty programu (DELAYFSTON, DELAYSTOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
496
Przykład: kaskadowanie zakresów Stopp-Delay w dwóch płaszczyznach programo-wych
Kod programu Komentarz N10010 DELAYFSTON() ; Bloki z N10xxx płaszczyzna p rogramo-
wa 1. N10020 R1 = R1 + 1 N10030 G4 F1 ; Zakres Stop-Delay rozpoczyna si ę. ... N10040 Podprogram2 ... ... ; Interpretacja podprogramu 2. N20010 DELAYFSTON() ; Nie działa, powtórne rozpocz ęcie, 2.
płaszczyzna. ... N20020 DELAYFSTOF() ; Nie działa, koniec w innej p łasz-
czy źnie. N20030 RET N10050 DELAYFSTOF() ; Koniec zakresu Stop-Delay w tej sa-
mej płaszczy źnie. ... N10060 R2 = R2 + 2 N10070 G4 F1 ; Zakres Stop-Delay ko ńczy si ę. Za-
trzymania działaj ą od teraz bezpo śred-nio.
Przykład: wyci ąg z programu
W pętli jest powtarzany następujący blok programu:
Na rysunku widać, Ŝe uŜytkownik w zakresie Stop-Delay naciska "Stop" a NC rozpo-czyna proces hamowana poza tym zakresem, tzn. w bloku N100. W wyniku tego NC zatrzymuje się w przednim obszarze N100.
Zachowanie się w ruchu po torze 8.4 Warunkowo przerywalne segmenty programu (DELAYFSTON, DELAYSTOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
497
Kod programu Komentarz ... N99 MY_LOOP: N100 G0 Z200 N200 G0 X0 Z200 N300 DELAYFSTON() N400 G33 Z5 K2 M3 S1000 N500 G33 Z0 X5 K3 N600 G0 X100 N700 DELAYFSTOF() N800 GOTOB MY_LOOP
Szczegóły dot. szukania bloku typu SERUPRO o posuwów w połączeniu z G331/G332 posuw przy gwintowaniu otworu bez oprawki wyrównawczej patrz:
Literatura: Podręcznik działania Funkcje podstawowe; BAG, Kanał, Praca programowa (K1) Podręcznik działania Funkcje podstawowe; Posuwy (V1)
Zalety obszaru Stopp-Delay
Fragment programu jest wykonywany bez załamania prędkości.
JeŜeli uŜytkownik, po nastąpieniu zatrzymania, przerwie program przez zresetowanie, wówczas przerwany blok programu znajduje się za chronionym obszarem. Ten blok programu nadaje się wówczas jako cel szukania dla późniejszego szukania.
Jak długo obszar Stopp-Delay jest wykonywany następujące osie przebiegu głównego nie są zatrzymywane:
● osie rozkazowe i
● osie pozycjonowania, które wykonują ruch z POSA
Polecenie programu obróbki G4 w zakresie Stopp-Delay jest dopuszczalne, natomiast inne polecenia programu obróbki, które prowadzą do przejściowego zatrzymania (np. WAITM) są niedopuszczalne.
G4 uaktywnia wzgl. podtrzymuje aktywność, jak ruch po torze, obszaru Stopp-Delay.
Przykład: ingerencje w posuw
Gdy override zostanie przed obszarem Stopp-Delay obniŜony do 6%, wówczas działa w tym obszarze.
Zachowanie się w ruchu po torze 8.4 Warunkowo przerywalne segmenty programu (DELAYFSTON, DELAYSTOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
498
JeŜeli override zostanie w obszarze Stop-Delay obniŜony ze 100% do 6%, wówczas obszar ten jest realizowany do końca ze 100% a następnie ruch odbywa się z 6%. Blokada posuwu nie działa w obszarze Stopp-Delay, zatrzymanie następuje dopiero po opuszczeniu tego obszaru.
Zachodzenie/kaskadowanie:
JeŜeli dwa obszary Stopp-Delay nakładają się na siebie, jeden z poleceń językowych a drugi z danej maszynowej 11550: STOP_MODE_MASK, wówczas jest tworzony naj-większy moŜliwy obszar Stopp-Delay.
Następujące punkty regulują współpracę poleceń językowych DELAYFSTON i DELAYFSTOF z kaskadowaniem i końcem podprogramu:
1. Z końcem podprogramu, w którym wywołano DELAYFSTON następuje w sposób niejawny uaktywnienie DELAYFSTOF.
2. DELAYFSTON obszar Stopp-Delay pozostaje bez działania.
3. JeŜeli podprogram 1 w obszarze Stopp-Delay wywołano podprogram 2, wówczas cały podprogram 2 jest obszarem Stopp-Delay. W szczególności nie działa DELAYFSTOF w podprogramie 2.
Wskazówka
REPOSA jest końcem podprogramu i DELAYFSTON jest wyłączane w kaŜdym przypad-ku.
JeŜeli "twarde" wydarzenie zatrzymania natrafi na "obszar Stop-Delay", wówczas wy-bór całego obszaru jest cofany! Oznacza to, Ŝe gdy w tym fragmencie programu nastą-pi kolejne dowolne zatrzymanie, jest ono natychmiast realizowane. Dopiero nowe za-programowanie (ponowny DELAYFSTON) pozwala na rozpoczęcie nowego obszaru Stop-Delay.
Gdy przycisk Stop zostanie naciśnięty przed obszarem Stopp-Delay a NCK musi w celu wyhamowania wejść w ten obszar, wówczas NCK zatrzymuje się w nim i jego wybór pozostaje cofnięty!
Gdy wejście w obszar Stopp-Delay nastąpi z override 0%, wówczas obszar Stopp-Delay nie jest akceptowany!
Dotyczy to wszystkich "łagodnych" wydarzeń zatrzymania.
Przy pomocy STOPALL moŜna hamować w obszarze Stop-Delay. Jednak w wyniku STOPALL stają się aktywne wszystkie inne wydarzenia zatrzymania, które dotychczas podlegały zwłoce.
Zachowanie się w ruchu po torze 8.5 ZapobieŜenie SERUPRO w miejscu w programie (IPTRLOCK, IPTRUNLOCK)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
499
Zmienne systemowe
Obszar Stopp-Delay moŜe zostać rozpoznany przy pomocy $P_DELAYFST w pro-gramie obróbki. Gdy bit 0 zmiennej systemowej jest stawiony na 1, wówczas wykony-wanie programu obróbki znajduje się w tym momencie w obszarze Stopp-Delay.
Obszar Stopp-Delay moŜe zostać rozpoznany przy pomocy $AC_DELAYFST w ak-cjach synchronicznych. Gdy bit 0 zmiennej systemowej jest ustawiony na 1, wówczas wykonywanie programu obróbki znajduje się w tym momencie w obszarze Stopp-Delay.
Kompatybilno ść Ustawienie domyślne danej maszynowej 11550: STOP_MODE_MASK Bit 0 = 0 powoduje implicite obszar Stop-Delay podczas grupy G-Code G331/G332 i gdy jest zaprogramowany ruch po torze wzgl. G4. Bit 0 = 1 umoŜliwia zatrzymanie podczas grupy G-Code G331/G332 i gdy jest zapro-gramowany ruch po torze wzgl. G4 (zachowanie się do w. opr. 6). Do definicji obszaru Stopp-Delay muszą zostać uŜyte polecenia DELAYFSTON/DELAYFSTOF.
8.5 Zapobie Ŝenie SERUPRO w miejscu w programie (IPTRLOCK, IPTRUNLOCK)
Działanie Dla określonych skomplikowanych sytuacji mechanicznych na maszynie jest koniecz-ne uniemoŜliwienie szukania bloku SERUPRO. Przy pomocy programowanego wskaźnika przerwania jest moŜliwość ingerencji przed miejscem niezdatnym do przeszukiwania przez ustawienie "szukanie w miejscu prze-rwania". Jest moŜliwość równieŜ definiowania obszarów niezdatnych do przeszukiwania w ob-szarach programu obróbki, w których NCK jeszcze nie moŜe ponownie rozpocząć. Z przerwaniem programu NCK zapamiętuje ostatnio uzgodniony blok, którego moŜna szukać poprzez interfejs graficzny HMI.
Składnia IPTRLOCK IPTRUNLOCK
Polecenia znajdują się w oddzielnych wierszach programu obróbki i umoŜliwiają pro-gramowany wskaźnik przerwania
Zachowanie się w ruchu po torze 8.5 ZapobieŜenie SERUPRO w miejscu w programie (IPTRLOCK, IPTRUNLOCK)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
500
Znaczenie IPTRLOCK Początek fragmentu programu niezdatnego do przeszukiwania IPTRUNLOCK Koniec fragmentu programu niezdatnego do przeszukiwania
Obydwa polecenia są dopuszczalne tylko w programach obróbki ale nie w akcjach synchronicznych.
Przykład Kaskadowanie niezdatnych do przeszukiwania fragmentów programu w dwóch płaszczyznach programowych z niejawnym IPTRUNLOCK. Niejawne IPTRUNLOCK w podprogramie 1 kończy obszar zdatny do przeszukiwania.
Kod programu Komentarz N10010 IPTRLOCK() N10020 R1 = R1 + 1 N10030 G4 F1 ; Blok zatrzymania, niezdatny do prze -
szukiwania Rozpoczyna si ę fragment programu.
... N10040 Podprogram2 ... ; Interpretacja podprogramu 2. N20010 IPTRLOCK () ; Nie działa, powtórne rozpocz ęcie. ... N20020 IPTRUNLOCK () ; Nie działa, koniec w innej płasz-
czy źnie. N20030 RET ... N10060 R2 = R2 + 2 N10070 RET ; Koniec fragmentu programu niezdatne-
go do przeszukiwania. N100 G4 F2 ; Program główny jest kontynuowany.
Przerwanie na 100 daje wówczas znów wskaźnik przerwania.
Ujęcie i szukanie obszarów niezdatnych do przeszukiwan ia
Fragmenty programu niezdatne do przeszukiwania programu są zaznaczane przy pomocy poleceń językowych IPTRLOCK i IPTRUNLOCK.
Polecenie IPTRLOCK zamraŜa wskaźnik przerwania na pojedynczym bloku wykony-walnym w przebiegu głównym (SBL1). Ten blok jest dalej nazywany blokiem zatrzy-mania. Gdy po IPTRLOCK nastąpi przerwanie programu, wówczas na otoczce gra-ficznej HMI moŜna szukać tego tzw. bloku zatrzymania.
Zachowanie się w ruchu po torze 8.5 ZapobieŜenie SERUPRO w miejscu w programie (IPTRLOCK, IPTRUNLOCK)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
501
Ponowne ustawienie na aktualnym bloku
Wskaźnik przerwania jest przy pomocy IPTRUNLOCK dla następnego odcinka pro-gramu ustawiany na aktualnym bloku w punkcie przerwania.
Po znalezieniu celu szukania moŜna z tym samym blokiem zatrzymania powtórzyć nowy cel szukania.
Edytowany przez uŜytkownika wskaźnik przerwania, musi zostać ponownie usunięty poprzez HMI.
Zasady przy kaskadowaniu
PoniŜsze punkty regulują współdziałanie poleceń językowych IPTRLOCK i IPTRUNLOCK z kaskadowaniami i końcem podprogramu:
1. Z końcem podprogramu, w którym został wywołany IPTRLOCK, następuje implicite uaktywnienie IPTRUNLOCK.
2. IPTRLOCK w obszarze niezdatnym do przeszukiwania pozostaje bez działania.
3. JeŜeli podprogram1 w obszarze niezdolnym do programowania wywoła podpro-gram2, wówczas kompletny podprogram2 pozostaje niezdatny do przeszukiwania. W szczególności nie działa IPTRUNLOCK w podprogramie2.
Dalsze informacje na ten temat patrz
/FB1/ Podręcznik działania Funkcje podstawowe; BAG, Kanał, praca programowa (K1).
Zmienna systemowa
Obszar niezdatny do przeszukiwania moŜna rozpoznać przy pomocy $S_IPRTLOCK w programie obróbki.
Automatyczny wska źnik przerwania
Funkcja automatycznego wskaźnika przerwania automatycznie ustala przedtem usta-lony rodzaj sprzęŜenia jako niezdatny do przeszukiwania. Przy pomocy danej maszy-nowej jest dla
● przekładni elektronicznej przy EGON
● osiowego sprzęŜenia wartości wiodącej przy LEADON
uaktywniany automatyczny wskaźnik przerwania. JeŜeli zaprogramowany i uaktyw-nialne poprzez daną maszynową automatyczne wskaźniki przerwania zachodzą na siebie, wówczas jest tworzony największy moŜliwy obszar niezdatny do przeszukiwa-nia.
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
502
8.6 Dosuni ęcie przywracaj ące do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Działanie
Gdy podczas obróbki przerwiecie bieŜący program i odsuniecie narzędzie - na przy-kład z powodu pęknięcia narzędzia albo w celu przeprowadzenia pomiaru - moŜecie dokonać ponownego sterowanego programem dosunięcia do konturu w wybranym punkcie.
Polecenie REPOS działa jak powrót z podprogramu (np. poprzez M17).
Kolejne bloki w procedurze przerwania nie są juŜ wykonywane.
Odnośnie przerwania przebiegu programu patrz teŜ punkt "Elastyczne programowanie NC" punkt "Procedura przerwania" w niniejszym podręczniku programowania.
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA,
REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
503
Składnia REPOSA RMI DISPR=… REPOSA RMB REPOSA RME REPOSA RMN REPOSL RMI DISPR=… REPOSL RMB REPOSL RME REPOSL RMN REPOSQ RMI DISPR=… DISR=… REPOSQ RMB DISR=… REPOSQ RME DISR=… REPOSQA DISR=… REPOSH RMI DISPR=… DISR=… REPOSH RMB DISR=… REPOSH RME DISR=… REPOSHA DISR=…
Znaczenie
Droga dosuni ęcia
REPOSA Dosuw po prostej we wszystkich osiach REPOSL Dosuw po prostej REPOSQ DISR=… Dosuw po ćwierćokręgu o promieniu DISR REPOSQA DISR=… Dosuw we wszystkich osiach po ćwierćokręgu o promieniu
DISR REPOSH DISR=… Dosuw po półokręgu o promieniu DISR
REPOSHA DISR=… Dosuw we wszystkich osiach po półokręgu o promieniu DISR
Punkt ponownego dosuni ęcia RMI Dosunięcie do punktu przerwania RMI DISPR=… Punkt wejścia w odstępie DISPR w mm/calach przed punk-
tem przerwania RMB Dosunięcie do punktu początkowego bloku RME Dosunięcie do punktu końcowego bloku RME DISPR=… Dosunięcie do punktu końcowego bloku w odstępie DISPR
przed punktem końcowym RMN Dosunięcie do najbliŜej połoŜonego punktu toru A0 B0 C0 Osie, w których ma nastąpić dosunięcie
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
504
Przykład: dosuw po prostej, REPOSA, REPOSL
Narzędzie wykonuje ruch do punktu dosunięcia przywracającego bezpośrednio po prostej.
Przy pomocy REPOSA następuje automatycznie ruch we wszystkich osiach. W przy-padku REPOSL moŜecie podać osie, w których ma zostać wykonany ruch.
Przykład:
REPOSL RMI DISPR=6 F400
albo
REPOSA RMI DISPR=6 F400
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA,
REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
505
Przykład: dosuw po ćwier ćokr ęgu, REPOSQ, REPOSQA
Narzędzie wykonuje ruch do punktu dosunięcia przywracającego po ćwierćokręgu o promieniu DISR=…. Niezbędny punkt pośredni między punktem startowym i punktem dosunięcia przywracającego sterowanie oblicza automatycznie.
Przykład:
REPOSQ RMI DISR=10 F400
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
506
Przykład: dosuni ęcie narz ędzia po półokr ęgu, REPOSH, REPOSHA
Narzędzie wykonuje ruch do punktu dosunięcia przywracającego po ćwierćokręgu o promieniu DISR=…. Niezbędny punkt pośredni między punktem startowym i punktem dosunięcia przywracającego sterowanie oblicza automatycznie.
Przykład:
REPOSH RMI DISR=20 F400
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA,
REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
507
Ustalenie punktu dosuni ęcia przywracaj ącego (nie dla dosuni ęcia SERUPRO przy po-mocy RMN)
W odniesieniu do bloku NC, w którym przebieg programu został przerwany, moŜecie wybierać między trzema punktami dosunięcia przywracającego: ● RMI, punkt przerwania ● RMB, punkt początkowy bloku wzgl. ostatni punkt końcowy ● RME, punkt końcowy bloku
Przy pomocy RMI DISPR=… wzgl. RME DISPR=… moŜecie ustalić punkt dosunięcia przywracającego, który leŜy przed punktem przerwania wzgl. przed punktem końco-wym bloku.
Przy pomocy DISPR=… opisujecie drogę po konturze w mm/calach, o którą punkt po-nownego dosunięcia leŜy przed punktem przerwania wzgl. punktem końcowym. Punkt ten moŜe leŜeć maksymalnie w punkcie początkowym bloku - równieŜ dla większych wartości.
JeŜeli DISPR=… nie zostanie zaprogramowane, obowiązuje DISPR=0 a przez to punkt przerwania (w przypadku RMI) wzgl. punkt końcowy bloku (w przypadku RME).
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
508
Znak DISPR
Znak DISPR podlega ewaluacji. W przypadku znaku dodatniego zachowanie jest jak dotychczas.
W przypadku znaku ujemnego dosunięcie następuje za punktem przerwania wzgl. w przypadku RMB za punktem startowym.
Odstęp punkt przerwania - punkt rozpoczęcia wynika z wartości bezwzględnej DISPR. Ten punkt moŜe równieŜ dla większych wartości absolutnych leŜeć maksymalnie w punkcie końcowym bloku.
Przykład zastosowania:
Poprzez czujnik zostaje rozpoznane zbliŜenie się do łapy dociskowej. Zostaje wyzwo-lony ASUP, przy pomocy którego łapa dociskowa jest omijana.
Następnie z ujemnym DISPR następuje repozycjonowanie na punkt za łapą i program jest kontynuowany.
Dosuw SERUPRO przy pomocy RMN
JeŜeli przy obróbce w dowolnym miejscu zostanie wymuszone przerwanie, wówczas przy pomocy dosunięcia SERUPRO pod RMN następuje dosunięcie po najkrótszej drodze do miejsca przerwania, aby następnie wykonać tylko pozostałą drogę. W tym celu uŜytkownik uruchamia proces SERUPRO do bloku przerwania i przyciskami JOG pozycjonuje przed wadliwym miejscem bloku docelowego.
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA,
REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
509
Wskazówka
SERUPRO
Dla SERUPRO są identyczne RMI i RMB. RMN nie jest ograniczone tylko do SERUPRO lecz obowiązuje ogólnie.
Dosuni ęcie do najbli Ŝej poło Ŝonego punktu toru RMN
W momencie interpretacji przez REPOSA po przerwaniu blok dosunięcia z RMN nie jest jeszcze raz rozpoczynany od początku, lecz jest wykonywana tylko pozostała droga. Następuje dosunięcie do najbliŜej połoŜonego punktu na torze w przerwanym bloku.
Status dla obowi ązującego trybu REPOS
Obowiązujący tryb REPOS przerwanego bloku moŜna odczytać poprzez akcje syn-chroniczne przy pomocy zmiennej $AC_REPOS_PATH_MODE: 0: dosunięcie nie zdefiniowane
1 RMB: Dosunięcie do początku
2 RMI: Dosunięcie do punktu przerwania
3 RME: Dosunięcie do punktu końcowego bloku
4 RMN: Dosunięcie do najbliŜej połoŜonego punktu toru przerwanego bloku.
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
510
Dosuni ęcie z nowym narz ędziem
W przypadku gdy zatrzymaliście przebieg programu z powodu pęknięcia narzędzia:
Z zaprogramowaniem nowego numeru D program jest kontynuowany od punktu po-nownego dosunięcia ze zmienionymi wartościami korekcji narzędzia.
Przy zmienionych wartościach korekcji narzędzia moŜliwe jest, Ŝe nie będzie juŜ moŜ-na dokonać ponownego dosunięcia do punktu przerwania. W tym przypadku dosunię-cie następuje do punktu połoŜonego najbliŜej punktu przerwania na nowym konturze (ewentualnie zmodyfikowanego o DISPR).
X
Y
Dosuni ęcie do konturu
Ruch, którym narzędzie ponownie zbliŜa się do konturu, daje się programować.
Adresy osi ruchu podajecie z wartością zero.
Przy pomocy poleceń REPOSA, REPOSQA i REPOSHA są automatycznie repozycjo-nowane wszystkie osie. Podanie osi nie jest konieczne.
Przy zaprogramowaniu REPOSL, REPOSQ i REPOSH wszystkie osie geometryczne wykonują ruch automatycznie, równieŜ bez podania w poleceniu. Wszystkie inne re-pozycjonowane osie muszą zostać podane w poleceniu.
Zachowanie się w ruchu po torze 8.6 Dosunięcie przywracające do konturu (REPOSA, REPOSL, REPOSQ, REPOSQA,
REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
511
Dla ruchów kołowych REPOSH i REPOSQ obowi ązuje:
Ruch po okręgu jest wykonywany w podanej płaszczyźnie roboczej G17 do G19.
W przypadku gdy w bloku dosuwu podajecie trzecią oś geometryczną (kierunek do-suwu), ruch do punktu wznowienia w przypadku, gdy pozycja narzędzia i zaprogra-mowana pozycja nie są zgodne, jest wykonywany po linii śrubowej.
W następujących przypadkach następuje automatyczne przełączenie na dosunięcie liniowe REPOSL:
● Nie podaliście wartości DISR.
● Nie ma zdefiniowanego kierunku dosunięcia (przerwanie programu w bloku bez in-formacji o ruchu).
● W przypadku kierunku dosuwu prostopadle do aktualnej płaszczyzny roboczej.
Zachowanie się w ruchu po torze 8.7 Sterowanie prowadzeniem ruchu
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
512
8.7 Sterowanie prowadzeniem ruchu
8.7.1 Procentowa korekcja powrotu (JERKLIM)
Działanie W krytycznych fragmentach programu moŜe być konieczne ograniczenie przyspiesze-nia drugiego stopnia do wartości mniejszej niŜ maksymalnie moŜliwa, aby np. zmniej-szyć obciąŜenie maszyny. Tryb przyspieszenia SOFT musi być aktywny. Funkcja działa tylko na osie uczestniczące w tworzeniu konturu.
Składnia
JERKLIM[<o ś>]=<warto ść>
Znaczenie
JERKLIM Polecenie do korekcji przyspieszenia drugiego stopnia
<oś> Dana maszynowa, której wartość graniczna przyspieszenia drugiego stopnia ma zostać dopasowana.
<warto ść> Zmiana w procentach dla największego dopuszczalnego przy-spieszenia drugiego stopnia w odniesieniu do wartości ustawio-nej w danej maszynowej dla osi.
Zakres wartości: 1 ... 200
Wartość 100 powoduje brak sterowania przyspieszeniem dru-giego stopnia. To ustawienie działa po reset i starcie programu obróbki.
Przykład W rodzajach pracy AUTOMATYKA następuje dla zaprogramowanej osi ograniczenie wartości granicznej przyspieszenia drugiego stopnia do podanej wielkości procento-wej wartości granicznej przysp. drugiego stopnia zapisanej w danej maszynowej:
N60 JERKLIM[X]=75
Oznacza: sanie osi w kierunku X powinny być przyspieszane/zwalniane tylko z 75% przyspieszenia drugiego stopnia dopuszczalnego dla osi.
Zachowanie się w ruchu po torze 8.7 Sterowanie prowadzeniem ruchu
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
513
8.7.2 Procentowa korekcja pr ędkości (VELOLIM)
Działanie W krytycznych segmentach programu moŜe być konieczne ograniczenie prędkości poniŜej maksymalnie moŜliwej wartości, aby np. zmniejszyć obciąŜenie maszyny albo polepszyć jakość obróbki. Funkcja działa tylko na osie uczestniczące w tworzeniu konturu i osie pozycjonowania.
Składnia
VELOLIM[<o ś>]=<warto ść>
Znaczenie
VELOLIM Polecenie do korekcji prędkości
<oś> Oś maszyny, której wartość graniczna prędkości powinna zostać dopasowana.
<warto ść> Zmiana w procentach dla największej dopuszczalnej pręd-kości w odniesieniu do wartości ustawionej w danej maszy-nowej dla osi..
Zakres wartości: 1 ... 100
Wartość 100 nie powoduje wpływu na prędkość. To usta-wienie działa po reset i starcie programu obróbki.
Przykład W rodzajach pracy AUTOMATYKA następuje dla zaprogramowanej osi ograniczenie wartości granicznej prędkości do podanej wielkości procentowej wartości granicznej prędkości podanej w danej maszynowej:
N70 VELOLIM[X]=80
Oznacza: sanki powinny w kierunku X wykonywać ruch tylko z 80% prędkości do-puszczalnej dla osi.
Zachowanie się w ruchu po torze 8.7 Sterowanie prowadzeniem ruchu
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
514
8.7.3 Przykład programu dla JERKLIM i VELOLIM
PoniŜszy program przedstawia przykład zastosowania procentowego ograniczenia przyspieszenia drugiego stopnia i prędkości:
Kod programu Komentarz N1000 G0 X0 Y0 F10000 SOFT G64 N1100 G1 X20 RNDM=5 ACC[X]=20 ACC[Y]=30 N1200 G1 Y20 VELOLIM[X]=5 ; Ruch sa ń osi w kierunku X powi-
nien by ć wykonywany tylko z max 5% pr ędko ści dopuszczalnej dla osi.
JERKLIM[Y]=200 ; Sanie osi w kierunku Y mog ą przy-spiesza ć/zwalnia ć z max 200% do-puszczalnego dla osi przyspieszenia drugiego stopnia.
N1300 G1 X0 JERKLIM[X]=2 ; Sanie osi w kierunku X mogą przy-spiesza ć/zwalnia ć tylko z max 2% dopuszczalnego dla osi przyspiesze-nia drugiego stopnia.
N1400 G1 Y0 M30
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
515
SprzęŜenia osi 9
9.1 Holowanie (TRAILON, TRAILOF)
Działanie Przy ruchu zdefiniowanej osi wiodącej przyporządkowane jej osie holowane wykonują, przy uwzględnieniu współczynnika sprzęŜenia, drogi ruchu wyprowadzone od osi wio-dącej. Oś prowadząca i osie holowane tworzą razem zespół holowania.
Dziedziny zastosowania ● Ruch w osi za pośrednictwem osi symulowanej. Oś prowadząca jest osią symulo-waną a oś holowana osią realną. W ten sposób moŜna wykonywać ruch w osi rze-czywistej z uwzględnieniem współczynnika sprzęŜenia. ● Obróbka dwustronna z dwoma zespołami holowania: 1. Oś wiodąca Y, oś holowana V 2. Oś prowadząca Z, oś holowana W
SprzęŜenia osi 9.1 Holowanie (TRAILON, TRAILOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
516
Składnia TRAILON(Foś,Lo ś,Koppel) TRAILOF(Fo ś,Lo ś,Lo ś2) TRAILOF(Fo ś)
Znaczenie
TRAILON Uaktywnienie i zdefiniowanie zespołu holowania
Działanie: modalnie
TRAILOF Wyłączenie zespołu holowania Działanie: modalnie TRAILOF TRAILOF z 2 parametrami wyłącza tylko sprzę-Ŝenie z 1 osią wiodącą. JeŜeli oś holowana po-siada 2 osie wiodące, np. V=oś holowana a X, Y=osie wiodące, moŜe w celu wyłączenia sprzę-Ŝenia zostać wywołane TRAILOF z 3 parame-trami: TRAILOF(V,X,Y) TRAILOF(V) : Wyłączenie sprzęŜenia bez poda-nia osi wiodącej. JeŜeli oś holowana posiada 2 osie wiodące, oby-dwa sprzęŜenia są wyłączane.
Foś Określenie osi holowanej Oś holowana moŜe teŜ być osią wiodącą dla dalszych osi holowanych. W ten sposób mogą być budowane róŜne zespoły holowania.
Loś Określenie osi wiodącej
Koppel Współczynnik sprzęŜenia = droga osi holowa-nej/droga osi wiodącej
Ustawienie domyślne = 1
Wskazówka
Holowanie następuje zawsze w bazowym układzie współrzędnych (BKS).
Liczba moŜliwych do równoczesnego uaktywnienia zespołów holowania jest ograniczo-na tylko przez moŜliwości kombinacji osi istniejących w maszynie.
SprzęŜenia osi 9.1 Holowanie (TRAILON, TRAILOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
517
Przykład Przedmiot ma być obrabiany dwustronnie z przedstawioną konstelacją osi.
W tym celu tworzycie 2 zespoły holowania.
Kod programu Komentarz … N100 TRAILON(V,Y) ; Wł ączenie 1. zespołu holowania N110 TRAILON(W,Z,–1) ; Wł ączenie 2. zespołu holowania,
współczynnik sprz ęŜenia ujemny: o ś ho-lowana wykonuje ruch ka Ŝdorazowo w kierunku przeciwnym do ruchu osi wiod ącej
N120 G0 Z10 ; Dosuw w osi Z i W w przeciwnym kie-runku osi
N130 G0 Y20 ; Dosuw w osi Y i V w tym samym kie-runku osi
… N200 G1 Y22 V25 F200 ; Nało Ŝenie zale Ŝnego i niezale Ŝnego
ruchu osi holowanej “V” … TRAILOF(V,Y) ; Wył ączenie 1. zespołu holowania TRAILOF(W,Z) ; Wył ączenie 2. zespołu holowania
SprzęŜenia osi 9.1 Holowanie (TRAILON, TRAILOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
518
Typy osi w zespole
Zespół osi holowanych moŜe składać się z dowolnych kombinacji osi liniowych i obro-towych. Jako oś prowadząca moŜe przy tym równieŜ zostać zdefiniowana równieŜ oś symulowana.
Osie holowane
Osi holowanej mogą równocześnie zostać przyporządkowane 2 osie wiodące. Przypo-rządkowanie następuje w róŜnych zespołach holowania.
Oś holowana moŜe być programowana przy pomocy wszystkich będących do dyspo-zycji poleceń ruchu (G0, G1, G2, G3, …). Dodatkowo do niezaleŜnie definiowanych dróg oś holowana wykonuje ruchy po drogach wyprowadzonych z jej osi wiodących ze współczynnikami sprzęŜenia.
Współczynnik sprz ęŜenia
Współczynnik sprzęŜenia podaje poŜądany stosunek dróg osi holowanej i osi wiodą-cej.
Wzór: współczynnik sprzęŜenia = droga osi holowanej / droga osi wiodącej
JeŜeli przy programowaniu współczynnik sprzęŜenia nie zostanie podany, wówczas automatycznie obowiązuje współczynnik 1.
Współczynnik jest wprowadzany jako liczba ułamkowa z kropką dziesiętną (typ REAL). Wprowadzenie wartości ujemnej powoduje przeciwny kierunek ruchu osi wio-dącej i osi holowanej.
Przyspieszenie i pr ędkość
Granice przyspieszenia i prędkości osi naleŜących do sprzęŜenia są określane przez "najsłabszą oś" zespołu.
Status sprz ęŜenia
W programie obróbki NC moŜecie odpytać na status sprzęŜenia przy pomocy nastę-pującej zmiennej systemowej: $AA_COUP_ACT [oś] 0: SprzęŜenie nie aktywne 8: Holowanie aktywne
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
519
9.2 Tablice krzywych (CTAB)
9.2.1 Tablice krzywych: zale Ŝności ogólne
Działanie W punkcie tablice krzywych znajdziecie polecenia programowe, przy pomocy których są programowane zaleŜności między dwoma osiami (oś wiodąca i oś holowana). W zdefiniowanym zakresie wartości wiodącej moŜna jednoznacznie do wartości wio-dącej przyporządkować wielkość wynikową. JeŜeli wartość wiodąca leŜy poza zakre-sem definicji, wówczas zachowanie się na brzegach tablicy moŜe być programowane dla okresowych i dla nie okresowych tablic krzywych.
Opis
Mechaniczne tarcze krzywkowe są zastępowane przez tablice krzywych, przy pomocy których moŜna definiować
● określone zarysy krzywych w obszarze definicji
● poszczególne segmentu, tak zwane segmenty krzywych
● brzegi krzywej dla periodycznych i nieperiodycznych tablic krzywych
● odnośne pozycje segmentu krzywej.
W zdefiniowanym zakresie wartości od
● odnośnych pozycji tablicy jak teŜ
● wartości startowej i końcowej segmentu tablicy
odpowiednia wartość holowana moŜe stać się wartością wiodącą i tak samo wartość wiodąca stać się wartością holowaną.
Przedstawione zostaną wszystkie dalsze formy przyporządkowania parametrów opc-jonalnych do kaŜdorazowych poleceń programowych. Wynikające stąd moŜliwości ce-lowego wpływania na pojedyncze albo wiele tablic krzywych w odpowiednim typie pamięci stwarzają moŜliwość elastycznego programowania dla dalszych zastosowań. RównieŜ odnośnie diagnozy sprzęŜeń osi są podane obszerne moŜliwości programo-wania.
Do definicji tablic krzywych i dostępu do pozycji tablic krzywych są kaŜdorazowo podane typowe przykłady programowania.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
520
9.2.2 Tablice krzywych: funkcje punktów ci ęŜkości, CATBEND, CTABDEL)
Działanie Przy pomocy tablic krzywych moŜecie programować zaleŜności pozycji i prędkości między 2 osiami. Definicja tablic krzywych następuje w programie obróbki. Przykład zastąpienia mechanicznych tarcz krzywkowych: Tablica krzywych tworzy przy tym podstawę osiowego sprzęŜenia wartości wiodącej w ten sposób, Ŝe stwarza funkcjonalną zaleŜność między wartością wiodącą i holo-waną: Przy odpowiednim zaprogramowaniu sterowanie z przyporządkowanych do siebie po-zycji osi wiodącej i holowanej wielomian, który odpowiada tablicy krzywych.
Składnia Modalnie działające polecenia językowe z tablicami krzywych CTABDEF(Foś,Lo ś,n,applim,memType) CTABEND() CTABDEL() CTABDEL(, ,memType)
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
521
Znaczenie
Funkcje środka ci ęŜkości
CTABDEF( ) Zdefiniowanie początku tablicy krzywych.
CTABEND( ) Zdefiniowanie końca tablicy krzywych.
CTABDEL( ) Skasowanie wszystkich tablic krzywych, niezaleŜnie od typu pamięci
Foś Oś holowana
Oś, która jest programowana poprzez tablicę krzywej.
Loś Oś wiodąca
Oś, przez którą jest programowana wartość wiodąca.
n, m Numer tablicy krzywych; n < m np. przy CTABDEL(n,m)
Numer tablicy krzywych jest jednoznaczny i niezaleŜny od typu pamięci. W SRAM i DRAM nie moŜe być Ŝadnych tablic o tym samym numerze.
applim Identyfikacja periodyczności tablicy:
Tablica jest nieperiodyczna
Tablica jest periodyczna odnośnie osi prowadzącej
Tablica jest periodyczna odnośnie osi wiodącej i osi holowanej
memType Opcjonalne podanie typu pamięci w NC: "DRAM" / "SRAM"
W przypadku gdy dla tego parametru nie zostanie zaprogra-mowana wartość, jest stosowany standardowy typ pamięci ustawiony przy pomocy MD 20905: CTAB_DEFAULT_MEMORY_TYPE.
Producent maszyny
W celu sporządzenia tablic krzywych musi poprzez odpowiednie ustawienie danych maszynowych zostać zarezerwowane miejsce w pamięci.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
522
Przykład: zastosowanie CTABDEF i CTABEND
Fragment programu ma bez zmian być uŜywany do definicji tablicy krzywych.
Występujące w nim polecenie do zatrzymania przebiegu wyprzedzającego STOPRE moŜe pozostać i jest natychmiast ponownie aktywne, gdy tylko fragment programu nie jest uŜywany do definicji tablicy, CTABDEF i CTABEND zostały usunięte:
Kod programu Komentarz … CTABDEF(Y,X,1,1) ; Definicja tablicy krzywych. … … IF NOT ($P_CTABDEF) STOPRE ENDIF … … CTABEND
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
523
Przykład: definicja tablicy krzywych
Kod programu Komentarz N100 CTABDEF(Y,X,3,0) ; Pocz ątek definicji nieperiodycznej
tablicy krzywych o numerze 3. N110 X0 Y0 ; 1. instrukcja ruchu ustala warto ści
startowe i 1. miejsce oparcia: warto ść wiod ąca: 0, warto ść holowana:
0 N120 X20 Y0 ; 2. w ęzeł interpolacji: Warto ść wiod ąca: 0...20, warto ść holo-
wana: warto ść startowa...0 N130 X100 Y6 ; 3. w ęzeł interpolacji: Warto ść wiod ąca: 20.100, warto ść holo-
wana: 0...6 N140 X150 Y6 ; 4. w ęzeł interpolacji: Warto ść wiod ąca: 100...150, warto ść
holowana: 6...6 N150 X180 Y0 ; 5. w ęzeł interpolacji: Warto ść wiod ąca: 150...180, warto ść
holowana: 6...0 N200 CTABEND ; Koniec definicji; Tablica krzywych
jest w swoim wewn ętrznym przedstawie-niu wytwarzana jako wielomian maksy-malnie 5. stopnia. Obliczenie zarysu krzywej z podanymi w ęzłami interpola-cji jest zale Ŝne od modalnie wybranego rodzaju interpolacji (interpolacja ko-łowa, liniowa, spline)stan programu obróbki przed pocz ątkiem definicji jest odtwarzany.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
524
Przykład: definicja periodycznej tablicy krzywych Definicja periodycznej tablicy krzywych o numerze 2, zakres wartości prowadzącej od 0 do 360, ruch osi holowanej od 0 do 45 i z powrotem do 0:
Kod programu Komentarz N10 DEF REAL DEPPOS N20 DEF REAL GRADIENT N30 CTABDEF(Y,X,2,1) ; Pocz ątek definicji. N40 G1 X=0 Y=0 N50 POLY N60 PO[X]=(45.0) N70 PO[X]=(90.0) PO[Y]=(45.0,135.0,-90) N80 PO[X]=(270.0) N90 PO[X]=(315.0) PO[Y]=(0.0,-135.0,90) N100 PO[X]=(360.0) N110 CTABEND ; Koniec definicji. Test krzywej przez sprz ęŜenie Y do X N120 G1 F1000 X0 N130 LEADON(Y,X,2) N140 X360 N150 X0 N160 LEADOF(Y,X) N170 DEPPOS=CTAB(75.0,2,GRADIENT) ; Odczyt funkcji tablicy
przy warto ści wiod ącej 75.0. N180 G0 X75 Y=DEPPOS ; Pozycjonowanie osi wiod ą-
cej i holowanej. ;Po wł ączeniu sprz ęŜenia nie jest konieczna synchro-nizacja osi holowanej.
N190 LEADON(Y,X,2) N200 G1 X110 F1000 N210 LEADOF(Y,X) N220 M30
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
525
Definicja tablicy krzywych
CTABDEF, CTABEND
Tablica krzywych stanowi program obróbki albo jego fragment, który charakteryzuje się poleceniem CTABDEF na początku i CTABEND na końcu.
W ramach tego fragmentu programu obróbki są przez polecenia ruchu do poszcze-gólnych pozycji osi prowadzącej przyporządkowywane jednoznaczne pozycje osi ho-lowanej, które słuŜą jako miejsca oparcia do obliczania przebiegu krzywej w formie wielomianu do maksymalnie 5. stopnia.
Wartość startowa i warto ść końcowa tablicy krzywych
Jako wartość startowa dla początku zakresu definicji tablicy krzywych obowiązuje pierwsze podanie przynaleŜnych do siebie pozycji osi (pierwsza instrukcja ruchu) w ramach definicji tablicy krzywych. Wartość końcowa zakresu definicji tablicy krzy-wych jest odpowiednio określana przez ostatnie polecenie ruchu. W ramach definicji tablicy krzywych jest do dyspozycji cały zakres języka NC. Wszystkie modalnie działające instrukcje, które nastąpią w ramach definicji tablicy krzywych, nie obowiązują z zakończeniem definicji tablicy krzywych. Program obróbki, w którym następuje definicja tablicy, znajduje się przez to w takim samym stanie przed i po definicji.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
526
Wskazówka
Niedopuszczalne s ą:
Zatrzymanie przebiegu wyprzedzającego
Skoki w ruchu osi wiodących (np. przy zmianie transformacji)
Instrukcja ruchu tylko dla osi holowanej
Odwrócenie kierunku ruchu osi wiodącej, tzn. pozycja osi wiodącej musi być zawsze jednoznaczna
Instrukcja CTABDEF i CTABEND w róŜnych płaszczyznach programu.
Uaktywnienie ASPLINE, BSPLINE, CSPLINE
JeŜeli w ramach tablicy krzywych CTABDEF( ) ... CTABEND zostanie uaktywniony ASPLINE, BSPLINE albo CSPLINE, wówczas przed tym uaktywnieniem spline powi-nien zostać zaprogramowany co najmniej jeden punkt startowy. Natychmiastowego uaktywnienia po CTABDEF naleŜałoby unikać, poniewaŜ wówczas spline zaleŜy od ak-tualnej pozycji osi przed definicją tablicy krzywych.
Przykład:
Kod programu ... CTABDEF(Y,X,1,0) X0 Y0 ASPLINE X=5 Y=10 X10 Y40 ... CTABEND
ZaleŜnie od danej maszynowej MD20900 $MC_CTAB_ENABLE_NO_LEADMOTION mogą być tolerowane skoki osi holowanej przy braku ruchów w osi wiodącej. Pozosta-łe ograniczenia wymienione we wskazówce obowiązują nadal. Przy tworzeniu i kasowaniu tablic moŜna uŜywać danych typu pamięci NC.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
527
Skasowanie tablicy krzywych, CTABDEL Przy pomocy CTABDEL moŜna kasować tablice krzywych. Tablice krzywych, które są aktywne w sprzęŜeniu osi, nie mogą zostać skasowane. JeŜeli przynajmniej jedna ta-blica krzywych z wielokrotnego polecenia skasowania CTABDEL( ) albo CTABDEL(n,m) jest aktywna w sprzęŜeniu, Ŝadna z zaadresowanych tablic krzywych nie jest kasowana. Tablice krzywych określonego typu pamięci mogą zostać mogą zostać skasowane przez opcjonalne podanie typu pamięci, patrz punkt "Tablice krzy-wych Kształty (CTABDEL, ... CTABUNLOCK".
9.2.3 Tablice krzywych: kształty (CTABNOMEM, CTABFN O, CTABID,
CTABLOCK, CTABDEL, CTABUNLOCK, CTABISLOCK, CTABEXISTS, CTABMEMTYP, CTABPERIOD, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABFPOL, CTABMPOL)
Działanie Dalszymi zastosowaniami tablic krzywych są: ● Skasowanie w określonym typie pamięci SRAM albo DRAM. ● Ustalenie liczby zdefiniowanych i jeszcze moŜliwych tablic krzywych w typie pa-
mięci. ● Zablokowanie tablicy krzywych przed skasowaniem i zastąpieniem albo zniesienie
tej blokady. ● Dane opcjonalne wyborów jak zablokowanie skasowania jednej tablicy krzywych,
skasowania jednego zakresu tablicy krzywych, wszystkich tablic krzywych w poda-nej pamięci, i zastąpienia jak teŜ zniesienie blokady.
● Dane do diagnozy sprzęŜeń osi jak dostarczenie, zwrot i sprawdzenie określonych właściwości tablicy krzywych Określenie liczby tablic krzywych, segmentów krzywych i wielomianów krzywych.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
528
Składnia Modalnie działaj ące polecenia j ęzykowe z tablicami krzywych CTABDEL(n, m, memType) CTABNOMEM (memType) CTABFNO(memType) CTABID(n, memType) CTABLOCK(n, m, memType) albo CTABUNLOCK(n, m, memTy pe) CTABDEL(n) albo CTABDEL(n, m) CTABLOCK(n) albo CTABLOCK(n, m) albo CTABLOCK() alb o CTABLOCK(, , memType) CTABUNLOCK(n) albo CTABUNLOCK(n, m) albo CTABUNLOCK () albo CTABUNLOCK(, , memType) CTABID(n) albo CTABID(n, memType) albo CTABID(p, me mType) CTABISLOCK(n) CTABEXISTS(n) CTABMEMTYP(n) TABPERIOD(n) CTABSEGID(n, segType) CTABSEG(memType, segType) albo CTABFSEG(memType, se gType) albo CTABMSEG(memType, segType) CTABPOLID(n) albo CTABMPOL(memType)
Znaczenie
Forma ogólna w statycznej albo dynamicznej pamięci NC:
CTABDEL(n, m, memType) Skasowanie tablic krzywych obszaru tablic krzywych, które są zapisane w memType.
CTABNOMEM(memType) Liczba zdefiniowanych tablic krzywych.
CTABFNO(memType) Liczba jeszcze moŜliwych tablic.
CTABID(n, memType) Daje nr tablicy, który jest wpisany w typie pa-mięci jako n-ta tablica krzywych.
CTABLOCK(n, m, memType) Ustawienie blokady przed skasowaniem i zastąpieniem.
CTABUNLOCK(n, m, memType) Zniesienie blokady przed skasowaniem i za-stąpieniem. CTABUNLOCK ponownie udostępnia tablice zablokowane przy pomocy CTABLOCK. Tabli-ce, które działają w aktywnym sprzęŜeniu, po-zostają nadal zablokowane i nie mogą zostać skasowane. Blokada przy pomocy CTABLOCK jest zniesiona, gdy tylko blokada zostanie znie-siona przez aktywne sprzęŜenie z wyłączeniem aktywności sprzęŜenia. Przez to ta tablica mo-Ŝe zostać skasowana. Ponowne wywołanie CTABUNLOCK nie jest konieczne.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
529
Zastosowania dalszych form Dane opcjonalne dla selekcji:
CTABDEL(n) Skasowanie jednej tablicy krzywych.
Skasowanie jednego zakresu tablicy krzywych
CTABDEL(, , memType) Skasowanie wszystkich tablic krzywych w poda-nej pamięci.
CTABLOCK(n) Zablokowanie kasowania i zastępowania:
Tablica krzywych o numerze n.
CTABLOCK(n, m) Zablokowanie tablic krzywych w zakresie nume-rów od n do m.
CTABLOCK() Wszystkie juŜ istniejące tablice krzywych.
CTABLOCK(, , memType) Wszystkie tablice krzywych w typie pamięci.
CTABUNLOCK(n) Zniesienie kasowania i zastępowania: tablica krzywych o numerze n
CTABUNLOCK(n, m) Ponowne udostępnienie tablic krzywych w zakre-sie numerów od n do m.
CTABUNLOCK() Wszystkie juŜ istniejące tablice krzywych.
CTABUNLOCK(, , memTy-pe)
Wszystkie tablice krzywych w typie pamięci.
Zastosowania dalszych form do diagnozy sprzęŜeń osi
CTABID(n, memType)
CTABID(p, memType)
Daje numer n-/p-tej tablicy krzywych o typie pa-mięci memType.
CTABID(n) Daje nr n-tej tablicy krzywych o typie pamięci ustalonym przez MD 20905: CTAB_DEFAULT_MEMORY_TYPE
CTABISLOCK(n) Zwraca stan zablokowania tablicy krzywych o numerze n .
CTABEXISTS(n) Sprawdza tablicę krzywej o numerze n
CTABMEMTYP(n) Zwraca pami ęć, w której jest utworzona tablica krzywych o numerze n.
CTABPERIOD(n) Zwraca periodyczno ść tablicy .
CTABSEG(memType) Liczba juŜ zastosowanych segmentów krzywej w odnośnym typie pamięci.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
530
CTABSEGID(n) Liczba segmentów krzywej uŜytych przez tablic ę krzywej o numerze n.
CTABFSEG(memType) Liczba moŜliwych segmentów krzywej.
CTABMSEG(memType) Liczba maksymalnie moŜliwych segmentów.
CTABPOLID(n) Liczba wielomianów krzywej uŜytych przez ta-blic ę krzywej o numerze n.
CTABSEG(memTyp, segTy-pe)
Liczba juŜ zastosowanych segmentów krzywej typu "L" albo "P" w typie pamięci.
CTABFSEGID(n, segType) Liczba zastosowanych przez tablic ę krzywej o numerze n segmentów krzywej typu "L" albo "P".
CTABFSEG(memTyp, segType)
Liczba jeszcze mo Ŝliwych segmentów krzywej typu "L" albo "P" w typie pamięci.
CTABMSEG(memTyp, segType)
Liczba maksymalnie mo Ŝliwych segmentów krzywej typu "L" albo "P" w typie pamięci.
CTABFPOL(memType) Liczba jeszcze mo Ŝliwych wielomianów krzywej w odnośnym typie pamięci.
CTABMPOL(memType) Liczba maksymalnie mo Ŝliwych wielomianów krzywej w odnośnym typie pamięci.
n, m Numer tablicy krzywych; n < m np. przy CTABDEL(n,m)
Numer tablicy krzywych jest jednoznaczny i nieza-leŜny od typu pamięci. Nie moŜe być tablic i takim samym numerze w pamięci statycznej i pamięci dynamicznej.
p Miejsce wpisania (w obszarze pamięci memType)
memType Opcjonalne podanie typu pamięci w NC:
MoŜliwa jest zarówno "pamięć dynamiczna" jak i "pamięć statyczna"
W przypadku gdy dla tego parametru nie zostanie zaprogramowana wartość, jest stosowany stan-dardowy typ pamięci ustawiony przy pomocy MD 20905: CTAB_DEFAULT_MEMORY_TYPE.
segType Opcjonalne podanie rodzaju segmentu. MoŜliwymi wartościami są:
segType "L" segmenty liniowe
segType "P" segmenty wielomianowe
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
531
Opis
Ładowanie tablic krzywych poprzez "wykonywanie ze źródła zewn ętrznego"
Przy wykonywaniu tablic krzywych ze źródła zewnętrznego wielkość bufora dołado-wywania (DRAM) musi zostać tak dobrana poprzez MD18360 $MN_MM_EXT_PROG_BUFFER_SIZE , by cała definicja tablicy mogła zostać zapi-sana w buforze. Wykonywanie programu obróbki jest w przeciwnym przypadku prze-rywane z alarmem 15150.
Powtarzane zastosowanie tablic krzywych
Obliczona poprzez tablicę krzywych funkcjonalna zaleŜność osi wiodącej i osi holo-wanej pozostaje zachowana pod wybranym numerem tablicy po zakończeniu progra-mu obróbki i po Power-Off, w przypadku gdy tablica jest zapisana w statycznej pamię-ci NC (SRAM).
Tablica, która została zapisana w pamięci dynamicznej (DRAM), jest przy Power-On kasowana i musi ewentualnie zostać utworzona jeszcze raz.
Raz sporządzona tablica krzywych daje się stosować do dowolnych kombinacji osi wiodących i holowanych i jest niezaleŜna od tego, które osie zostały uŜyte do sporzą-dzenia tablicy krzywych.
Zastępowanie tablic krzywych
Tablica krzywych jest zastępowana, gdy tylko przy ponownej definicji tablicy zostanie uŜyty jej numer.
Wyjątek: Tablica krzywych jest aktywna w sprzęŜeniu osi albo zablokowana przy po-mocy CTABLOCK( ) .
Wskazówka
Przy zastępowaniu tablic krzywych nie jest wyprowadzane odpowiednie ostrzeŜenie!
Przy pomocy zmiennej systemowej $P_CTABDEF jest w kaŜdym czasie moŜliwe odpy-tanie z programu obróbki, czy definicja tablicy krzywych jest aktywna.
Fragment programu obróbki po wyłączeniu instrukcji do definicji tablic krzywych moŜe być ponownie stosowany jako realny program obróbki.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
532
9.2.4 Tablice krzywych: zachowanie si ę na obrze Ŝach (CTABTSV,
CTABTEV, CTABTSP, CTABTEP, CTABTMIN, CTABTMAX)
Działanie
JeŜeli wartość wiodąca leŜy poza zakresem definicji, wówczas moŜe z osi holowanej zostać odczytana wartość na początku i na końcu tablicy krzywych.
Przy pomocy CTABTSV jest z osi holowanej czytana wartość na pocz ątku tablicy krzywych.
Przy pomocy CTABTEV jest z osi holowanej czytana wartość na końcu tablicy krzy-wych.
Wartości startowe i końcowe tablicy krzywych są niezaleŜne od tego, czy tablica jest definiowana z rosnącymi czy z malejącymi wartościami wiodącymi. Wartość startowa jest ustalana zawsze przez dolną granicę przedziału a wartość końcowa przez jego górną granicę.
Przy pomocy CTABTMIN i CTABTMAX mogą być określane wartości minimalne albo maksymalne tablicy krzywych w całym zakresie albo w zdefiniowanym przedziale. Dla odpowiedniego przedziału wartości wiodącej są podawane dwie granice.
Składnia Warto ść holowana, warto ść startowa i ko ńcowa, o ś holowana CTABTSV(n, grad, Fo ś), CTABTEV(n, grad, Fo ś) Warto ść wiod ąca, warto ść startowa i ko ńcowa, o ś wiod ąca: CTABTSP(n, grad, Fo ś), CTABTEP(n, grad, Fo ś)
Zakresy wartoZakresy wartoZakresy wartoZakresy wartości min i max:ci min i max:ci min i max:ci min i max: CTABTMIN(n, Foś) CTABTMAX(n, Foś)
Znaczenie
CTABTSV Z osi holowanej odczytanie wartości początkowej tablicy krzywych.
CTABTEV() Z osi holowanej odczytanie wartości końcowej tablicy krzy-wych.
CTABTSP() Z osi wiodącej odczytanie wartości początkowej tablicy krzywych.
CTABTEP() Z osi wiodącej odczytanie wartości końcowej tablicy krzy-wych.
CTABTMIN() Określenie wartości minimalnej tablicy krzywych w całym zakresie albo w zdefiniowanym przedziale.
CTABTMAX() Określenie wartości maksymalnej tablicy krzywych w całym zakresie albo w zdefiniowanym przedziale.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
533
Foś Oś holowana Oś, która jest programowana poprzez tablicę krzywej.
Loś Oś wiodąca Oś, przez którą jest programowana wartość wiodąca.
n, m Numery tablic krzywych mogą być nadawane dowolnie.
SłuŜą one wyłącznie do jednoznacznej identyfikacji.
grad Gradient wzrostu na starcie wzgl. końcu segmentu tablicy krzywych
Wartości i ich zakres Warto ści osi holowanej i osi wiod ącej, które znajduj ą się na pocz ątku i na ko ńcu tablicy krzywych CTABTSV, CTABTEV, CTABTSP, CTABTEP R10=CTABTSV(n, grad, Fo ś) Warto ść holowana na pocz ątku tabli-
cy krzywych R10=CTABTEV(n, grad, Fo ś) Warto ść holowana na pocz ątku tabli-
cy krzywych R10=CTABTSP(n, grad, Lo ś) Warto ść wiod ąca na pocz ątku tablicy
krzywych R10=CTABTEP(n, grad, Lo ś) Warto ść wiod ąca na ko ńcu tablicy
krzywych
Zakres warto ści tablicy krzywych warto ści holowanej CTABTMIN, CTABTMAX
R10=CTABTMIN(n, Fo ś) Minimalna wartość holowana tablicy krzywych w całym przedziale
R10=CTABTMAX(n, Fo ś) Maksymalna wartość holowa-na tablicy krzywych w całym przedziale
R10=CTABTMIN(n, a, b, Fo ś, Lo ś) Minimalna wartość holowana tablicy krzywych w przedziale a...b wartości wiodącej
R10=CTABTMAX(n, a, b, Fo ś, Lo ś) Maksymalna wartość holowa-na tablicy krzywych w prze-dziale a...b wartości wiodącej
Wskazówka
Przyporządkowania do parametrów R w ramach definicji tablicy są cofane.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
534
Przykład: przyporz ądkowania do parametrów R
Kod programu Komentarz ... R10=5 R11=20 ... CTABDEF G1 X=10 Y=20 F1000 R10=R11+5 ;R10=25 X=R10 CTABEND ... R10=5
Przykład: zastosowanie CTABTSV, CTABTEV, CTABTSP, C TABTEP, CTABTMIN, CTABTMAX
Określenie minimalnej i maksymalnej wartości tablicy krzywych.
Kod programu Komentarz N10 DEF REAL STARTVAL N20 DEF REAL ENDVAL N30 DEF REAL STARTPARA N40 DEF REAL ENDPARA N50 DEF REAL MINVAL N60 DEF REAL MAXVAL N70 DEF REAL GRADIENT ... N100 CTABDEF(Y,X,1,0) ; Pocz ątek definicji tablicy N110 X0 Y10 ; Warto ść startowa 1. segmentu ta-
blicy N120 X30 Y40 ; Warto ść ko ńcowa 1. segmentu tabli-
cy = N130 X60 Y5 ; Warto ść startowa 2. segmentu ta-
blicy ... N140 X70 Y30 N150 X80 Y20 N160 CTABEND ... ; Koniec definicji tablicy N200 STARTPOS = CTABTSV(1, GRADIENT) ; Pozycja star towa
STARTPOS = 10, N210 ENDPOS = CTABTEV(1, GRADIENT) ; Pozycja ko ńcowa ENDPOS =
20 tablicy, jak te Ŝ N220 SRARTPARA = CTABTSP(1, GRADIENT) ; STARTPARA = 10, N230 ENDPARA = CTABTEP(1, GRADIENT) ... ; Odczyt ENDPARA = 80 z zakresu war-
to ści osi holowanej. N240 MINVAL = CTABTMIN(1) ; Warto ść minimalna na Y = 5 N250 MAXVAL = CTABTMAX(1) ; Warto ść maksymalna na Y = 40
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
535
Nieperiodyczna tablica krzywych
Gdy wartość wiodąca leŜy poza zakresem definicji, jest jako wartość holowana wy-prowadzana granica górna wzgl. dolna.
Periodyczna tablica krzywych
JeŜeli wartość wiodąca leŜy poza zakresem definicji, jest określana wartość wiodąca modulo zakresu definicji i wyprowadzana odpowiednia wartość holowana.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
536
Wskazówka
CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABTMIN, CTABT MAX
Polecenia językowe mogą być bezpośrednio stosowane z programu obróbki albo z akcji synchronicznych.
ZaleŜność wewn ętrznego czasu wykonania funkcji od liczby segmentów tablicy:
CTABINV() zaleŜny
CTABTSV, CTABTEV, CTABTSP, CTABTEP
(CTABTMIN, CTABTMAX tylko wte-dy, gdy nie zostanie zadany przedział warto ści wiod ącej)
niezaleŜny
Odczyt w akcjach synchronicznych
UŜytkownik przy stosowaniu poleceń CTABINV() albo CTABTMIN() i CTABTMAX() w akcjach synchronicznych powinien przestrzegać, by w chwili wykonania albo
● była do dyspozycji wystarczająca moc NC, albo
● przed wywołaniem naleŜy odpytać liczbę segmentów tablicy krzywych, aby ewentu-alnie móc podzielić odnośną tablicę.
Dalsze zaleŜności przy programowaniu akcji synchronicznych są opisane w punkcie "Akcje synchroniczne ruchu".
9.2.59.2.59.2.59.2.5 Tablice krzywych: dost ęp do pozycji i segmentów tablic (CTAB, CTABINV, CTABSSV, CATBSEV)
Działanie Odczyt pozycji tablicy: CTAB, CTABINV
Przy pomocy CTAB moŜna bezpośrednio z programu obróbki albo z akcji synchro-nicznych odczytać wartość holowaną do wartości wiodącej. Przy pomocy CTABINV moŜna do wartości holowanej odczytać wartość wiodącą. To przyporządkowanie nie musi być zawsze jednoznaczne. CTABINV potrzebuje dlatego wartości przybliŜonej dla oczekiwanej wartości wiodącej
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
537
Składnia Odczyt warto ści holowanej do warto ści wiod ącej: CTAB(warto ść wiod ąca, n, grad, [o ś holowana, o ś wiod ąca]) Odczyt warto ści wiod ącej do warto ści holowanej: CTABINV(wartość holowana, aproxWartość wiodąca, n, grad, [oś holowana, oś wio-dąca]) Odczyt warto ści startowej i ko ńcowej segmentu tablicy: CTABSSV(warto ść wiod ąca, n, grad, [Fo ś]) CTABSEV(warto ść wiod ąca, n, grad,[ Fo ś])
Znaczenie CTAB Odczyt wartości holowanej bezpośrednio z wartości wiodą-
cej. CTABINV Odczyt wartości wiodącej do wartości holowanej. CTABSSV Odczyt z osi holowanej wartości początkowej segmentu
krzywej. CTABSEV Odczyt z osi holowanej wartości początkowej segmentu
krzywej. Foś Oś holowana Oś, która jest programowana poprzez tablicę krzywej. Loś Oś wiodąca Oś, przez którą jest programowana wartość wiodąca. n, m Numery tablic krzywych Numery tablic krzywych mogą być nadawane dowolnie.
SłuŜą one wyłącznie do jednoznacznej identyfikacji. Grad Gradient wzrostu na starcie wzgl. końcu segmentu tablicy
krzywych aproxWarto ść_wiod ąca Wartość pozycji oczekiwanej wartości przybliŜonej,
przy pomocy której moŜe zostać określona jednoznaczna wartość wiodąca.
● CTABSSV, CTABSEV Przy pomocy CTABSSV moŜna odczytać warto ść startow ą segmentu krzywej, który naleŜy do podanej wartości wiodącej. Warto ść końcow ą segmentu krzywej, który na-leŜy do podanej wartości prowadzącej, moŜna odczytać przy pomocy CTABSEV.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
538
● Określona pozycja holowana albo wiod ąca z tablicy krzywych przy pomocy CTAB, CTABINV
R10=CTAB(LW, n, grad, Fo ś, Lo ś) Wartość holowana do wartości prowadzącej
R10=CTABINV(FW, aproxLW, n, grad, Fo ś, Loś)
Wartość wiodąca do war-tości holowanej
● Określenie segmentów tablicy krzywych przez podanie wart ości wiod ącej przy pomocy CTABSSV, CTABSEV
R10=CTABSSV(LW, n, grad, Fo ś, Lo ś) Wartość startowa osi ho-lowanej w segmencie na-leŜącym do wartości wio-dącej
R10=CTABSEV(LW, n, grad, Fo ś, Lo ś) Wartość końcowa osi ho-lowanej w segmencie na-leŜącym do wartości wio-dącej
Przykład, zastosowanie CTABSSV i CTABSEV
Określenie segmentu krzywej naleŜącego do wartości wiodącej X = 30.
Kod programu Komentarz N10 DEF REAL STARTPOS N20 DEF REAL ENDPOS N30 DEF REAL GRADIENT ... N100 CTABDEF(Y,X,1,0) ; Pocz ątek definicji tablicy N110 X0 Y0 ; Pozycja startowa 1. segment ta-
blicy N120 X20 Y10 ; Pozycja ko ńcowa 1. segment ta-
blicy = pozycja startowa 2. seg-ment tablicy...
N130 X40 Y40 N140 X60 Y10 N150 X80 Y0 N160 CTABEND ; Koniec definicji tablicy ... N200 STARTPOS = CTABSSV(30.0,1,GRADIENT) ; Pozycja startowa
Y w segmencie 2 = 10 ... N210 ENDPOS = CTABSEV(30.0,1,GRADIENT) ; Pozycja ko ńcowa
Y w segmencie 2 = 40 ; Do warto ści wiod ącej X = 30.0
nale Ŝy segment 2.
SprzęŜenia osi 9.2 Tablice krzywych (CTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
539
Odczyt pozycji tablicy, CTAB, CTABINV
CTABINV potrzebuje wartości przybliŜonej (aproxWartość_wiodąca) oczekiwanej war-tości wiodącej. CTABINV zwraca wartość wiodącą, która jest najbliŜsza wartości przybliŜonej. Warto-ścią przybliŜoną moŜe być np. wartość wiodąca z poprzedniego taktu interpolacji.
Obydwie funkcje wyprowadzają dodatkowo wzrost funkcji tablicy w odpowiedniej po-zycji do parametru wzrostu (grad). Przez to moŜna obliczyć prędkość osi prowadzącej albo holowanej w odpowiedniej pozycji.
Wskazówka
CTAB, CTABINV, CTABSSV i CTABSEV
Polecenia językowe CTAB, CTABINV i CTABSSV, CTABSEV mogą być stosowane bezpośrednio z programu obróbki albo z akcji synchronicznych. Wszystkie związki z programowaniem akcji synchronicznych są opisane w rozdziale "Akcje synchroniczne ruchu".
Opcjonalne podanie osi prowadzącej albo holowanej w przypadku CTAB/CTABINV/CTABSSV/CTABSEV jest waŜne, w przypadku gdy oś prowadząca i oś holowana są zaprojektowane w róŜnych jednostkach długości. Polecenia językowe CTABSSV i CTABSEV w następujących przypadkach nie nadają się do odpytywania zaprogramowanych segmentów: ● Są zaprogramowane okręgi albo ewolwenty. ● Jest aktywne fazowanie wzgl. zaokrąglanie przy pomocy CHF, RND. ● Jest aktywne ścinanie naroŜników przy pomocy G643. ● Jest aktywny kompresor np. przy pomocy COMPON, COMPCURV, COMPCAD.
SprzęŜenia osi 9.3 Osiowe sprzęŜenie wartości wiodącej (LEADON, LEADOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
540
9.3 Osiowe sprz ęŜenie warto ści wiod ącej (LEADON, LEADOF)
Działanie W przypadku osiowego sprzęŜenia wartości prowadzącej oś wiodąca i oś holowana wykonują ruch synchroniczny. Przy tym kaŜdorazowa pozycja osi holowanej jest po-przez tablicę krzywej wzgl. obliczony z niej wielomian jednoznacznie przyporządko-wana do - ew. symulowanej - pozycji osi wiodącej.
Osią prowadz ącą nazywa się ta oś, która daje wartości wejściowe dla tablicy krzy-wych. Osią holowan ą nazywa się ta oś, która przyjmuje pozycje obliczone poprzez tablicę krzywej.
SprzęŜenie warto ści rzeczywistej i zadanej
Jako wartości wiodące, a więc wartości wyjściowe do określenia pozycji osi holowanej mogą być stosowane: ● Wartości rzeczywiste pozycji osi wiodących: sprzęŜenie wartości rzeczywistej ● Wartości zadane pozycji osi wiodącej: sprzęŜenie wartości zadanej SprzęŜenie wartości wiodącej obowiązuje zawsze w bazowym układzie współrzęd-nych. Odnośnie sporządzania tablic krzywych patrz punkt "Tablice krzywych".
Odnośnie sprzęŜenia wartości wiodącej /FB/, M3, Holowanie i sprzęŜenie wartości wiodącej.
SprzęŜenia osi 9.3 Osiowe sprzęŜenie wartości wiodącej (LEADON, LEADOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
541
Składnia LEADON(Foś,Lo ś,n) LEADOF(Foś,Lo ś)
albo wyłączenie bez podania osi wiodącej: LEADOF(Foś)
SprzęŜenie wartości wiodącej moŜna włączyć i wyłączyć zarówno z programu obróbki jak równieŜ podczas ruchu z akcji synchronicznych, patrz punkt "Akcje synchroniczne ruchu".
Znaczenie LEADON Włączenie sprzęŜenia wartości prowadzącej
LEADOF Wyłączenie sprzęŜenia wartości prowadzącej
Foś Oś holowana
Loś Oś wiodąca
n Numer tablicy krzywych
$SA_LEAD_TYPE Przełączenie między sprzęŜeniem wartości zadanej i rzeczy-wistej
Wyłączenie sprz ęŜenia warto ści prowadz ącej, LEADOF
Z wyłączeniem sprzęŜenia wartości wiodącej oś holowana staje się ponownie normal-ną osią rozkazową!
Osiowe sprz ęŜenie warto ści wiod ącej i ró Ŝne stany robocze, RESET
ZaleŜnie od ustawienia w danej maszynowej sprzęŜenia wartości wiodącej są wyłą-czane przez RESET.
SprzęŜenia osi 9.3 Osiowe sprzęŜenie wartości wiodącej (LEADON, LEADOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
542
Przykład, sprz ęŜenie warto ści wiod ącej z akcji synchronicznej
W przypadku prasy zwykłe mechaniczne sprzęŜenie między osią wiodącą (wał stem-pla) i osiami systemu transferowego składającego się z osi transferowych i osi po-mocniczych ma zostać zastąpione przez elektroniczny system sprzęgający.
Przykład pokazuje, jak w przypadku prasy mechaniczny system transportowy jest za-stępowany przez system elektroniczny. Procesy sprzęgania i rozprzęgania są reali-zowane jako statyczne akcje synchroniczne .
Od osi prowadzącej LW (wał stempla) są sterowane osie transportowe i osie pomoc-nicze definiowane jako oś holowana poprzez tablice krzywych.
Osie holowane
X posuw wzgl. oś wzdłuŜna
YL oś zamykania wzgl. poprzeczna
ZL oś skoku
U posuw wałków, oś pomocnicza
V głowica prostująca, oś pomocnicza
W smarowanie, oś pomocnicza
Akcje
Jako akcje występują w akcjach synchronicznych np.:
● SprzęŜenie, LEADON(oś holowana, o ś wiod ąca, numer tablicy krzy-wych)
● OdsprzęŜenie, LEADOF(oś holowana, o ś wiod ąca)
● Ustawienie wartości rzeczywistej, PRESETON(oś, warto ść)
● Ustawienie znacznika, $AC_MARKER[i] = warto ść
● Rodzaj sprzęŜenia: realna/wirtualna wartość wiodąca
● Ruch do pozycji osi, POS[oś] = warto ść
Warunki
Jako warunki podlegają ewaluacji szybkie wejścia cyfrowe, zmienne czasu rzeczywi-stego $AC_MARKER i porównania pozycji, powiązane operatorem logicznym AND.
Wskazówka
W poniŜszym przykładzie zmiany wiersza, wcięcia i tłusty druk zastosowano wyłącznie w tym celu, by zwiększyć czytelność programowania. Dla sterowania wszystko, co jest pod jednym numerem wiersza, jest jednym wierszem.
SprzęŜenia osi 9.3 Osiowe sprzęŜenie wartości wiodącej (LEADON, LEADOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
543
Kod programu Komentarz ; Definiuje wszystkie statyczne akcje syn-
chroniczne. ; ****cofni ęcie znacznika 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 $AC_MARKER[6]=0 $AC_MARKER[7]=0 ; *** E1 0=>1 sprz ęŜenie transfer WŁ N10 IDS=1 EVERY ($A_IN[1]==1) AND ($A_IN[16]==1) AN D ($AC_MARKER[0]==0) DO LEADON(X,LW,1) LEADON(YL,LW,2) LEADON(ZL,LW,3) $ AC_MARKER[0]=1 ; **** E1 0=>1 sprz ęŜenie posuw wałków WŁ N20 IDS=11 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AN D ($AC_MARKER[5]==0) DO LEADON(U,LW,4) PRESETON(U,0) $AC_MARKER[5]=1 ; **** E1 0->1 sprz ęŜenie głowica prostu j ąca
WŁ N21 IDS=12 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AN D ($AC_MARKER[6]==0) DO LEADON(V,LW,4) PRESETON(V,0) $AC_MARKER[6]=1 ; **** E1 0->1 sprz ęŜenie smarowanie WŁ N22 IDS=13 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AN D ($AC_MARKER[7]==0) DO LEADON(W,LW,4) PRESETON(W,0) $AC_MARKER[7]=1 ; **** E2 0=1 sprz ęŜenie WYŁ N30 IDS=3 EVERY ($A_IN[2]==1) DO LEADOF(X,LW) LEADOF(YL,LW) LEADOF(ZL,LW) LEADOF( U,LW) LEADOF(V,LW) LEADOF(W,LW) $AC_MARKER[0]=0 $AC_MARKER[1]=0 $AC_MARKER[3]=0 $AC_MARKER[4]=0 $AC _MARKER[5]=0 $AC_MARKER[6]=0 $AC_MARKER[7]=0 .... N110 G04 F01 N120 M30
Opis
SprzęŜenie wartości prowadzącej wymaga synchronizacji osi wiodącej i osi holowa-nej. Tę synchronizację moŜna uzyskać tylko wtedy, gdy oś holowana przy włączeniu sprzęŜenia znajduje się w zakresie tolerancji przebiegu konturu obliczonego z tablicy krzywych.
Zakres tolerancji pozycji osi holowanej jest zdefiniowany przez daną maszynową MD 37200 COUPLE_POS_TOL_COARSE.
JeŜeli oś holowana przy włączeniu sprzęŜenia wartości prowadzącej nie znajduje się jeszcze w odpowiedniej pozycji, wówczas praca synchroniczna jest podejmowana au-tomatycznie, gdy tylko obliczona wartość zadana pozycji osi holowanej zbliŜy się do rzeczywistej pozycji tej osi.
Oś holowana wykonuje przy tym podczas procesu synchronizacji ruch w kierunku, któ-ry jest zdefiniowany przez prędkość zadaną osi holowanej (obliczona z prędkości osi wiodącej i według tablicy krzywych CTAB).
SprzęŜenia osi 9.3 Osiowe sprzęŜenie wartości wiodącej (LEADON, LEADOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
544
Bez pracy synchronicznej
JeŜeli obliczona pozycja osi holowanej oddala się z włączeniem sprzęŜenia wartości prowadzącej od aktualnej pozycji osi holowanej, praca synchroniczna nie jest podej-mowana.
SprzęŜenie warto ści rzeczywistej i zadanej
SprzęŜenie wartości zadanej daje w porównaniu ze sprzęŜeniem wartości rzeczywi-stej polepszony przebieg synchronizacji między osią prowadzącą i osią holowaną i dlatego jest standardowo ustawione jako domyślne.
SprzęŜenie wartości zadanej jest moŜliwe tylko wtedy, gdy oś prowadząca i holowana są interpolowane przez tą samą NCU. W przypadku zewnętrznej osi prowadzącej oś holowana moŜe zostać sprzęŜona z osią prowadzącą tylko poprzez wartości rzeczy-wiste.
SprzęŜenia osi 9.3 Osiowe sprzęŜenie wartości wiodącej (LEADON, LEADOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
545
Przełączenie jest moŜliwe poprzez daną nastawczą $SA_LEAD_TYPE. Przełączanie między sprzęŜeniem wartości rzeczywistej i zadanej powinno następo-wać zawsze przy zatrzymanej osi holowanej. PoniewaŜ tylko na postoju następuje po przełączeniu ponowna synchronizacja.
Przykład zastosowania
Czytanie wartości rzeczywistych nie moŜe przy duŜych wstrząsach maszyny nastę-pować bezbłędnie. Przy zastosowaniu sprzęŜenia wartości prowadzącej na linii pras moŜe dlatego w ope-racjach roboczych o większych wstrząsach być konieczne przełączenie ze sprzęŜenia wartości rzeczywistej na sprzęŜenie wartości zadanej.
Symulacja warto ści wiod ącej przy sprz ęŜeniu warto ści zadanej Poprzez daną maszynową interpolator osi prowadzącej daje się oddzielić od serwo-napędu. Przez to przy sprzęŜeniu wartości zadanej wartości zadane mogą być wytwa-rzane bez rzeczywistego ruchu osi prowadzącej. Wartości wiodące wytwarzane poprzez sprzęŜenie wartości zadanej są w celu uŜycia np. w akcjach synchronicznych moŜliwe do odczytania z następujących zmiennych:
- $AA_LEAD_P Warto ść wiod ąca pozycja - $AA_LEAD_V Warto ść wiod ąca pr ędko ść
Utworzenie warto ści wiod ących
Wartości prowadzące mogą być wytwarzane do wyboru przy pomocy innych samemu programowanych metod. Tak utworzone wartości wiodące są wpisywane do zmiennych
- $AA_LEAD_SP Warto ść wiod ąca pozycja - $AA_LEAD_SV Warto ść wiod ąca pr ędko ść
i z nich czytane. W celu uŜycia tych zmiennych musi być ustawiona dana nastawcza $SA_LEAD_TYPE = 2 .
SprzęŜenia osi 9.4 Przekładnia elektroniczna (EG)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
546
Status sprz ęŜenia W programie obróbki NC moŜecie odpytać na status sprzęŜenia przy pomocy nastę-pującej zmiennej systemowej:
$AA_COUP_ACT[oś] 0: SprzęŜenie nie aktywne 16: sprzęŜenie wartości wiodącej jest aktywne
Zarządzanie statusu w przypadku akcji synchronicznych
Procesy łączeniowe i sprzęgania są zarządzane poprzez zmienne czasu rzeczywiste-go:: $AC_MARKER[i] = n przy pomocy: i Numer znacznika n Wartość statusu
9.4 Przekładnia elektroniczna (EG)
Działanie Przy pomocy funkcji "przekładnia elektroniczna" jest moŜliwe sterowanie ruchem osi holowanej po liniowym bloku ruchu w zaleŜności od maksymalnie pięciu osi wiodą-cych. ZaleŜności między osiami wiodącymi i osią holowaną są dla kaŜdej osi holowanej de-finiowane przez współczynnik sprzęŜenia. Obliczony udział ruchu osi holowanej jest tworzony przez dodawanie z poszczegól-nych udziałów ruchu osi wiodących pomnoŜonych przez kaŜdorazowy współczynnik sprzęŜenia. Przy uaktywnieniu zespołu osi EG moŜna spowodować synchronizację osi holowanej na zdefiniowaną pozycję. Zespół przekładniowy moŜe z programu obróbki zostać: ● zdefiniowany, ● włączony, ● wyłączony, ● skasowany. Odchylenie osi holowanej moŜe do wyboru zostać wyprowadzone z ● wartości zadanych osi wiodących jak teŜ ● wartości rzeczywistych osi wiodących. Jako rozszerzenie nieliniowe zaleŜności między osiami wiodącymi i osią holowaną mogą być równieŜ realizowane poprzez tablice krzywych (patrz punkt "Zachowanie się w ruchu po torze". Przekładnie elektroniczne mogą być kaskadowane, tzn. oś holowana przekładni elek-tronicznej moŜe być osią prowadzącą dla kolejnej przekładni elektronicznej.
SprzęŜenia osi 9.4 Przekładnia elektroniczna (EG)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
547
9.4.1 Zdefiniowanie przekładni elektronicznej (EGDE F)
Działanie Zespół osi przekładni elektronicznej jest ustalany przez podanie osi holowanej i co najmniej jednej, ale co najwyŜej pięciu osi wiodących z kaŜdorazowym typem sprzę-Ŝenia.
Warunek Warunek dla definicji zespołu osi przekładni elektronicznej:
Dla osi holowanej nie moŜe być jeszcze zdefiniowane Ŝadne sprzęŜenie osi (wzgl. ist-niejące musi zostać przedtem skasowane przy pomocy EGDEL).
Składnia EGDEF(oś holowana,o ś wiod ąca1,typ sprz ęŜenia1,o ś wiod ąca ,typ sprz ęŜenia2,...)
Znaczenie
EGDEF Definicja przekładni elektronicznej
Oś holowana Oś, na którą wpływają osie wiodące
Oś wiod ąca1 Osie, które wpływają na oś holowaną
,...,
Typ sprz ęŜenia1
,...,
typ sprz ęŜenia5
Typ sprzęŜenia Typ sprzęŜenia nie musi być taki sam dla wszystkich osi prowadzących i dlatego dla kaŜdej osi prowadzącej naleŜy go podać oddzielnie.
Warto ść: Znaczenie:
0 Na oś holowaną wpływa warto ść rzeczywista odpowiedniej osi wio-dącej.
1 Na oś holowaną wpływa warto ść zadana odpowiedniej osi wiodącej.
Wskazówka
Współczynniki sprzęŜenia są przy definicji zespołu sprzęŜenia przekładni elektronicznej domyślnie ustawione na zero.
SprzęŜenia osi 9.4 Przekładnia elektroniczna (EG)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
548
Wskazówka
EGDEF wyzwala zatrzymanie przebiegu wyprzedzającego. Definicję przekładni przy pomocy EGDEF naleŜy równieŜ wtedy stosować bez zmian, gdy w przypadku systemów jedna lub wiele osi prowadzących wpływa poprzez tablicę krzywej na oś holowaną.
Przykład Kod programu Komentarz EGDEF(C,B,1,Z,1,Y,1) ; Definicja zespołu osi przek ładni e-
lektronicznej. Osie wiod ące B, Z, Y wpływaj ą na o ś holowan ą C poprzez war-to ść zadan ą.
9.4.2 Włączenie przekładni elektronicznej (EGON, EGONSYN, EGONSYNE)
Działanie
Są trzy warianty włączenia zespołu osi przekładni elektronicznej
Składnia Wariant 1:Wariant 1:Wariant 1:Wariant 1: Zespół osi przekładni elektronicznej jest bez synchronizacji selektywnie włączany przy pomocy:: EGON(FA,"tryb zmiany bloku",LA1,Z1,N1,LA2,Z2,N2,... ,LA5,Z5,N5)
Wariant 2:Wariant 2:Wariant 2:Wariant 2: Zespół osi przekładni elektronicznej jest z synchronizacją selektywnie włączany przy pomocy: EGONSYN(FA,"tryb zmiany bloku",SynPosFA,[,LAi,SynPo sLAi,Zi,Ni])
Wariant 3:Wariant 3:Wariant 3:Wariant 3: Zespół osi przekładni elektronicznej jest z synchronizacją selektywnie włączany a tryb dosunięcia zadawany przy pomocy: EGONSYNE(FA,"tryb zmiany bloku",SynPosFA,tryb dosun i ę-cia[,LAi,SynPosLAi,Zi,Ni])
SprzęŜenia osi 9.4 Przekładnia elektroniczna (EG)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
549
Znaczenie
Wariant 1
FA Oś holowana
Tryb zmiany bloku Mogą być uŜywane następujące tryby:
"NOC" Zmiana bloku następuje natychmiast
"FINE" Zmiana bloku następuje przy "ruchu syn-chronicznym dokładnie"
"COARSE" Zmiana bloku następuje przy "ruchu syn-chronicznym zgrubnie"
"IPOSTOP" Zmiana bloku następuje przy pracy syn-chronicznej po stronie wartości zadanej
LA1, ... LA5 Osie wiodące
Z1, ... Z5 Licznik dla współczynnika sprzęŜenia i
N1, ... N5 Mianownik dla współczynnika sprzęŜenia i Współczynnik sprzęŜenia i = licznik i / mianownik i
Wolno programować tylko osie wiodące, które przedtem zostały wyspecyfikowane przy pomocy EGDEF. Musi zostać zaprogramowana co najmniej jedna oś wiodąca.
Wariant 2:
FA Oś holowana
Tryb zmiany bloku Mogą być uŜywane następujące tryby:
"NOC" Zmiana bloku następuje natychmiast
"FINE" Zmiana bloku następuje przy "ruchu synchronicznym dokładnie"
"COARSE" Zmiana bloku następuje przy "ruchu synchronicznym zgrubnie"
"IPOSTOP" Zmiana bloku następuje przy pracy synchronicznej po stronie wartości zadanej
[,LAi,SynPosLAi,Zi,Ni] (Nawiasów kwadratowych nie naleŜy pisać) Min. 1, max 5 sekwencji:
LA1, ... LA5 Osie wiodące
SynPosLAi Pozycja synchronizacji dla i-tej osi wiodącej
Z1, ... Z5 Licznik dla współczynnika sprzęŜenia i
N1, ... N5 Mianownik dla współczynnika sprzęŜenia i Współczynnik sprzęŜenia i = licznik i / mianownik i
SprzęŜenia osi 9.4 Przekładnia elektroniczna (EG)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
550
Wariant 3:
Parametry odpowiadają tym z wariantu 2 plus:
Tryb dosuni ęcia Mogą być uŜywane następujące tryby:
"NTGT" Ruch w optymalnym czasie do najbliŜszej luki międzyzębnej
"NTGP" Ruch po optymalnej drodze do najbliŜszej luki międzyzębnej
"ACN" Ruch osi obrotowej w kierunku ujemnym absolutnie
"ACP" Ruch osi obrotowej w kierunku dodatnim absolutnie
"DCT" W optymalnym czasie do zaprogramowa-nej pozycji synchronicznej
"DCP" Po optymalnej drodze do zaprogramowanej pozycji synchronicznej
Wariant 3 ma wpływ tylko na osie holowane modulo, które są sprzęŜone z osiami wio-dącymi modulo. Optymalizacja czasu uwzględnia granice prędkości osi holowanej.
Dalsze informacje Opis wariantów wł ączenia
Wariant 1: Pozycje osi wiodących jak teŜ osi holowanej w chwili włączenia są zapisane jako "po-zycje synchroniczne". "Pozycje synchroniczne" mogą być czytane przy pomocy zmiennych systemowych $AA_EG_SYN. Wariant 2: Gdy w zespole sprzęŜenia są osie modulo, ich pozycje podlegają redukcji modulo. Przez to jest zagwarantowane, Ŝe zostanie wykonany ruch do najbliŜszej moŜliwej po-zycji synchronizacji (tzw. synchronizacja względna: np. najbliŜszy wrąb międzyzębny). JeŜeli dla osi holowanej nie zostało udzielone "zezwolenie nałoŜenie osi holowanej" sygnał interfejsowy DB(30 + numer osi), DBX 26 bit 4, nie następuje ruch do pozycji synchronicznej. Zamiast tego program jest zatrzymywany na bloku EGONSYN i jest wyświetlany samokasujący alarm 16771, aŜ zostanie ustawiony w/w sygnał. Wariant 3: Odstęp zębów (w stopniach) wynika z: 360 * Zi/Ni. W przypadku gdy oś holowana stoi w chwili wywołania, optymalizacja drogi daje takie samo zachowanie się jak optymali-zacja czasu. W przypadku osi holowanej będącej juŜ w ruchu następuje przy pomocy NTGP nieza-leŜnie od aktualnej prędkości osi holowanej synchronizacja na najbliŜszą lukę między-zębną. W przypadku osi holowanej będącej juŜ w ruchu następuje przy pomocy NTGT zaleŜnie od aktualnej prędkości osi holowanej synchronizacja na najbliŜszą lukę mię-dzyzębną. Oś jest w tym celu ew. równieŜ hamowana.
SprzęŜenia osi 9.4 Przekładnia elektroniczna (EG)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
551
Tablice krzywych
JeŜeli dla jednej z osi wiodących jest stosowana tablica krzywych, wówczas musi: Ni mianownik współczynnika sprzęŜenia sprzęŜeń liniowych zostać ustawiony na 0.
(mianownik 0 byłby dla sprzęŜeń liniowych niedopuszczalny). Mianownik jest dla sterowania znakiem, Ŝe
Zi powinien być interpretowany jako numer będącej do zastosowania tablicy krzy-wych. Tablica krzywych i podanym numerze musi w chwili włączenia być juŜ zdefiniowana.
LAi Podanie osi wiodącej odpowiada podaniu osi wiodącej w przypadku sprzęŜenia poprzez współczynnik sprzęŜenia (sprzęŜenie liniowe).
Dalsze wskazówki dot. uŜycia tablic krzywych i kaskadowania przekładni elektronicz-nych i ich synchronizacji znajdziecie w: Literatura: Podręcznik działania Funkcje specjalne; SprzęŜenia osi i ESR (M3), punkt "Holowanie i sprzęŜenie wartości zadanej".
Zachowanie si ę przekładni elektronicznej przy power on, RESET, zm ianie rodza-ju pracy, szukaniu bloku
● Po power on Ŝadne sprzęŜenie nie jest aktywne. ● Aktywne sprzęŜenia pozostają zachowane po zresetowaniu i zmianie rodzaju pracy. ● Przy szukaniu bloku polecenia przełączenia, skasowania, definicji przekładni elek-tronicznej nie są wykonywane i nie są gromadzone, lecz pomijane.
Zmienne systemowe przekładni elektronicznej
Przy pomocy zmiennych systemowych przekładni elektronicznej program obróbki mo-Ŝe odczytywać aktualne stany zespołu osi przekładni elektronicznej i ew. reagować na nie. Zmienne systemowe przekładni elektronicznej są oznaczone następująco:
$AA_EG_ ...
albo
$VA_EG_ ...
Literatura: Podręcznik zmiennych systemowych
SprzęŜenia osi 9.4 Przekładnia elektroniczna (EG)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
552
9.4.3 Wyłączenie przekładni elektronicznej (EGOFS, EGOFC)
Działanie
Dla wyłączenia aktywnego zespołu osi PE istnieją 3 warianty.
Programowanie
Wariant 1:
Składnia Znaczenie
EGOFS(oś holowana) Przekładnia elektroniczna jest wyłączana. Oś holowana jest hamowana do stanu zatrzymane-go. Wywołanie wyzwala zatrzymanie przebiegu wyprzedzającego.
Wariant 2
Składnia Znaczenie
EGOFS(oś holowana,o ś wiod ąca1,...,o ś wiod ą-ca5)
Ta parametryzacja polecenia pozwana na selek-tywny wpływ poszczególnych osi wiodących na ruch osi holowanej..
Musi zostać podana co najmniej jedna oś wiodąca. Wpływ podanych osi wiodących na oś holowana zostaje w sposób celowy wyłączony. Wywołanie wyzwala zatrzyma-nie przebiegu wyprzedzającego. Pozostają jeszcze aktywne osie wiodące, wówczas oś holowana pod ich wpływem nadal wykonuje ruch. Gdy wszystkie oddziaływania osi wiodących są w ten sposób wyłączone, oś holowana jest hamowana do stanu zatrzymanego.
Wariant 3:
Składnia Znaczenie
EGOFC(wrzeciono holowa-ne)
Przekładnia elektroniczna jest wyłączana. Wrze-ciono holowane wykonuje nadal ruch z prędko-ścią obrotową aktualną w chwili wyłączenia. Wy-wołanie wyzwala zatrzymanie przebiegu wyprze-dzającego.
Wskazówka
Ten wariant jest dozwolony tylko dla wrzecion.
SprzęŜenia osi 9.4 Przekładnia elektroniczna (EG)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
553
9.4.4 Skasowanie definicji przekładni elektroniczne j (EGDEL)
Działanie
Zespół osi przekładni elektronicznej musi być wyłączony, zanim definicja będzie mo-gła zostać skasowana.
Programowanie
Składnia Znaczenie
EGDEL(oś holowana) Definicja sprzęŜenia zespołu osi jest kasowana. AŜ do osiągnięcia maksymalnej liczby równocześnie uaktyw-nionych zespołów osi jest ponownie moŜliwe ponowne zdefiniowanie dalszych zespołów osi przy pomocy EGDEF. Wywołanie wyzwala zatrzymanie przebiegu wy-przedzającego.
9.4.5 Posuw na obrót (G95) / przekładnia elektronic zna (FPR)
Działanie Poleceniem FPR moŜna równieŜ oś holowaną przekładni elektronicznej podać jako określającą posuw oś posuwu na obrót. Dla tego przypadku obowiązuje następujące zachowanie się: ● Posuw jest zaleŜny od prędkości zadanej osi holowanej przekładni elektronicznej. ● Prędkość zadana jest obliczana z prędkości wrzecion wiodących i osi wiodących modulo (które nie są osiami uczestniczącymi w tworzeniu konturu) i ich przyporząd-kowanych współczynników sprzęŜenia. ● Udziały prędkości osi liniowych wzgl. osi prowadzących nie modulo i ruchy nałoŜone osi holowanej nie są uwzględniane.
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
554
9.5 Wrzeciono synchroniczne
Działanie W pracy synchronicznej jest wrzeciono wiodące (LS) i wrzeciono holowane (FS), tzw. para wrzecion synchronicznych. Wrzeciono holowane podąŜa przy aktywnym sprzę-Ŝeniu (praca synchroniczna) za ruchami wrzeciona wiodącego odpowiednio do usta-lonej zaleŜności funkcyjnej. Pary wrzecion synchronicznych dają się dla kaŜdej maszyny zarówno projektować na stałe przy pomocy danych maszynowych specyficznych dla kanału albo definiować specyficznie dla zastosowania poprzez program obróbki CNC. W kanale NC moŜe równocześnie pracować do 2 par wrzecion synchronicznych. SprzęŜenie moŜna z programu obróbki ● zdefiniować wzgl. zmienić ● włączyć ● wyłączyć ● skasować. Ponadto moŜna w zaleŜności od wersji oprogramowania ● czekać na warunki pracy synchronicznej ● zmienić zachowanie się pod względem zmiany bloku ● wybrać rodzaj sprzęŜenia, albo sprzęŜenie wartości zadanej albo sprzęŜenie warto-ści rzeczywistej albo zadać przesunięcie kątowe między wrzecionem wiodącym i holowanym
● przy włączeniu sprzęŜenia przejąć poprzednie zaprogramowanie wrzeciona holo-wanego
● skorygować albo zmierzone albo juŜ znane odchylenie ruchu synchronicznego.
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
555
9.5.1 Wrzeciono synchroniczne: programowanie (COUPD EF, COUPDEL,
COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC)
Działanie Funkcja wrzeciona synchronicznego zapewnia tokarkom moŜliwość przekazania ob-rabianego przedmiotu podczas ruchu z wrzeciona 1 na wrzeciono 2, np. np. w celu obróbki końcowej unikając czasów pomocniczych na zmianę zamocowania. Przekazanie obrabianego przedmiotu moŜe nastąpić z:
● Synchroniczność prędkości obrotowej (nFS = n LS)
● Synchroniczność połoŜenia (ϕFS = ϕLS) ● Synchroniczność połoŜenia z przesunięciem kątowym (ϕFS = ϕLS+ ∆ϕ)
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
556
Zadanie stosunku przełoŜenia kÜ między wrzecionem głównym i "wrzecionem narzę-dziowym" stwarza warunek obróbki zarysów wielobocznych.
Składnia COUPDEF(FS,LS,ÜFS,ÜLS,Satzverh,Koppelart) COUPON(FS,LS,POSFS) COUPONC(FS,LS) COUPOF(FS,LS,POSFS,POSLS) COUPOFS(FS,LS) COUPOFS(FS,LS,POSFS) COUPRES(FS,LS) COUPDEL(FS,LS) WAITC(FS,Satzverh,LS,Satzverh)
Jest równieŜ moŜliwe skrócone podanie bez wrzeciona wiodącego dla:
COUPOF(FS), COUPOFS(FS), COUPRES(FS), COUPDEL(FS)
Wskazówka
Przy kaŜdej instrukcji COUPDEF, COUPON i COUPONC musi być programowane wrze-ciono holowane i wrzeciono wiodące, aby nie były generowane Ŝadne komunikaty alarmowe.
Inne parametry sprzęŜenia muszą być programowane tylko wtedy, gdy mają zostać zmienione. Dla nie podanych parametrów pozostaje zachowany ostatni stan.
Znaczenie COUPDEF Utworzenie/zmiana sprzęŜenia definiowanego przez uŜytkownika COUPON Włączenie sprzęŜenia. Wychodząc od aktualnej prędkości obroto-
wej wrzeciono holowane synchronizuje się na wrzeciono wiodące COUPONC Przejęcie sprzęŜenia z poprzednim zaprogramowaniem M3 S...
albo M4 S....
RóŜnica prędkości obrotowej wrzeciona holowanego jest przej-mowana natychmiast.
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
557
COUPOF Wyłączenie sprzęŜenia. Zmiana bloku jak najszybciej z natychmiastową zmianą bloku: COUPOF(S2,S1) Zmiana bloku dopiero po przejściu: • pozycji wyłączenia: COUPOF(S2,S1,POSFS) • pozycji wyłączenia: COUPOF(S2,S1,POSFS,POSLS) COUPOFS Wyłączenie sprzęŜenia z zatrzymaniem wrzeciona holowanego. Zmiana bloku jak najszybciej z natychmiastową zmianą bloku: COUPOFS(S2,S1) Zmiana bloku dopiero po przejściu pozycji wyłączenia: COUPOFS(S2,S1,POSFS) COUPRES Cofnięcie parametrów sprzęŜenia do zaprojektowanych MD i SD COUPDEL Skasowanie sprzęŜenia definiowanego przez uŜytkownika WAITC Czekanie na warunek pracy synchronicznej (NOC są anulowane na IPO przy zmianie bloku) FS Określenie wrzeciona holowanego
Parametry opcjonalne:
LS Określenie wrzeciona wiodącego Podanie z numerem wrzeciona: np. S2, S1 ÜFS, ÜLS Parametry przełoŜenia dla FS = licznik i LS = mianownik Ustawienie domyślne = 1.0; podanie mianownika optymalnie Satzverh Zachowanie się pod względem zmiany bloku Zmiana bloku następuje:
"NOC" natychmiast "FINE" przy "ruchu synchronicznym dokładnie"
"COARSE" przy "ruchu synchronicznym zgrubnie" "IPOSTOP" przy IPOSTOP (tzn. po pracy synchronicznej po
stronie wartości zadanej) (ustawienie domyślne) Zachowanie się pod względem zmiany bloku działa modalnie. Koppelart Rodzaj sprzęŜenia: sprzęŜenie między wrzecionem holowanym
i wrzecionem wiodącym "DV" sprzęŜ. wart. zadanej (ustawienie domyślne) "AV" sorzęŜenie wartości rzeczywistej "VV" sprzęŜenie prędkości
Rodzaj sprzęŜenia działa modalnie. POSFS Przesunięcie kątowe między wrzecionem wiodącym i holowanym
POSFS,POSLS Pozycje wyłączenia wrzeciona holowanego i wrzeciona wiodącego "Zmiana bloku uzyskuje zezwolenie po przejściu POSFS, POSLS"
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
558
Przykłady
Przykład 1: praca z wrzecionem wiod ącym i holowanym
Kod programu Komentarz ; Wrzeciono wiod ące = wrzeciono ma-
ster = wrzeciono 1 ; Wrzeciono holowane = wrzeciono 2 N05 M3 S3000 M2=4 S2=500 ; Wrzeciono wiod ące wiruje
z 3000obr/min, wrzeciono holowane z 500obr/min
N10 COUPDEF(S2,S1,1,1,"NOC","Dv") ; Def. sprz ęŜenia (mo Ŝe by ć te Ŝ projektowane)
… N70 SPCON ; Wrzeciono wiod ące na regulacj ę
poło Ŝenia (sprz. wart. zad.) N75 SPCON(2) ; Wrzeciono holowane na regulacj ę
poło Ŝenia N80 COUPON(S2,S1,45) ; Sprz ęŜenie w ruchu na pozycj ę of-
fsetow ą = 45 stopni … N200 FA[S2]=100 ; Pr ędko ść pozycjonowania = 100
stopni/min N205 SPOS[2]=IC(-90) ; Ruch 90 stopni z nało Ŝeniem
w kierunku ujemnym N210 WAITC(S2,"Fine") ; Czekanie na prac ę synchroniczn ą
"dokładnie" N212 G1 X… Y… F… ; Obróbka … N215 SPOS[2]=IC(180) ; Ruch 180 stopni z nało Ŝeniem
w kierunku ujemnym N220 G4 S50 ; Czas oczekiwania = 50 obrotów
wrzeciona master N225 FA[S2]=0 ; Uaktywnienie zaprojektowanej
pr ędko ści (MD) N230 SPOS[2]=IC(-7200) ; 20 obr. Z zaprojektowan ą pr ędko-
ści ą w kierunku ujemnym … N350 COUPOF(S2,S1) ; Odsprz ęŜenie w ruchu, S=S2=3000 N355 SPOSA[2]=0 ; Zatrzymanie wrzeciona holowanego
na zero stopni N360 G0 X0 Y0 ; N365 WAITS(2) ; Czekanie na wrzeciono 2 N370 M5 ; Zatrzymanie wrzeciona holowanego N375 M30
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
559
Przykład 2: programowanie ró Ŝnicy pr ędko ści obrotowej
Kod programu Komentarz ; Wrzeciono wiod ące = wrze-
ciono master = wrzeciono 1 ; Wrzeciono holowane = wrze-
ciono 2 N01 M3 S500 ; Wrzeciono wiod ące wiruje
z 500 obr/min N02 M2=3 S2=300 ; Wrzeciono holowane wiruje
z 300obr/min … N10 G4 F1 ; Czas oczekiwania wrzeciona
wiod ącego N15 COUPDEF (S2, S1, -1) ; Współczynnik sprz ęŜenia ze
stosunkiem przeło Ŝenia -1:1 N20 COUPON (S2, S1) ; Uaktywnienie sprz ęŜenia.
Pr ędko ść obrotowa wrzeciona holowanego wynika z pr ędko ści obrotowej wrzeciona wiod ącego i współczynnika sprz ęŜenia
… N26 M2=3 S2=100 ; Zaprogramowanie ró Ŝnicy
pr ędko ści obrotowej
Przykład 3: Przykłady przej ęcia ruchu do ró Ŝnicy pr ędko ści obrotowej
1. Włączenie sprzęŜenia przy uprzednim zaprogramowaniu wrzeciona holowanego przy pomocy COUPON
Kod programu Komentarz ; Wrzeciono wiod ące = wrzeciono master
= wrzeciono 1 ; Wrzeciono holowane = wrzeciono 2 N05 M3 S100 M2=3 S2=200 ; Wrzeciono wiod ące wiruje
ze 100obr/min, wrzeciono holowane z 200obr/min
N10 G4 F5 ; Czas oczekiwania wrzeciona master = 5 sekund
N15 COUPDEF(S2,S1,1) ; Stosunek przeło Ŝenia wrzeciono holo-wane do wrzeciona wiod ącego wynosi 1,0 (ustawienie domy ślne)
N20 COUPON(S2,S1) ; Sprz ęŜenie w ruchu z wrzecionem wio-dącym
N10 G4 F5 ; Wrzeciono holowane wiruje ze 100obr/min
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
560
2. Włączenie sprzęŜenia przy uprzednim zaprogramowaniu wrzeciona holowanego przy pomocy COUPONC
Kod programu Komentarz ; Wrzeciono wiod ące = wrzeciono master
= wrzeciono 1 ; Wrzeciono holowane = wrzeciono 2 N05 M3 S100 M2=3 S2=200 ; Wrzeciono wiod ące wiruje
z 100obr/min, wrzeciono holowane z 200obr/min
N10 G4 F5 ; Czas oczekiwania wrzeciona master = 5 sekund
N15 COUPDEF(S2,S1,1) ; Stosunek przeło Ŝenia wrzeciono holo-wane do wrzeciona wiod ącego wynosi 1,0 (ustawienie domy ślne)
N20 COUPONC(S2,S1) ; Sprz ęrzenie w ruchu na wrzeciono wiod ące i przej ęcie poprzedniej pr ęd-kości obrotowej do S2
N10 G4 F5 ; S2 wiruje ze 100obr/min + 200obr/min = 300obr/min
3. Włączenie sprzęŜenia przy zatrzymanym wrzecionie holowanym z COUPON
Kod programu Komentarz ; Wrzeciono wiod ące = wrzeciono master
= wrzeciono 1 ; Wrzeciono holowane = wrzeciono 2 N05 SPOS=10 SPOS[2]=20 ; Wrzeciono holowane S2 w t rybie pozy-
cjonowania N15 COUPDEF(S2,S1,1) ; Stosunek przeło Ŝenia wrzeciono holo-
wane do wrzeciona wiod ącego wynosi 1,0 (ustawienie domy ślne)
N20 COUPON(S2,S1) ; Sprz ęŜenie w ruchu z wrzecionem wio-dącym
N10 G4 F1 ; Sprz ęŜenie jest zamykane, S2 zatrzy-muje si ę na 20 stopniach
4. Włączenie sprzęŜenia przy zatrzymanym wrzecionie holowanym przy pomocy COUPONC
Wskazówka
Tryb pozycjonowania albo pracy jako o ś
JeŜeli wrzeciono holowane przed sprzęŜeniem znajduje się w trybie pozycjonowania albo pracy jako oś, wówczas wrzeciono holowane przy COUPON(FS,LS) i COUPONC(FS,LS) zachowuje się tak samo.
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
561
Ustalenie pary wrzecion synchronicznych
SprzęŜenie zaprojektowane na stałe:
Wrzeciono wiodące i wrzeciono holowane są ustalane poprzez daną maszynową. Przy tym sprzęŜeniu ustalone osie maszyny dla LS i FS nie mogą zostać zmienione z programu obróbki NC. Parametryzacja sprzęŜenia moŜe jednak nastąpić w progra-mie obróbki przy pomocy COUPDEF (warunek: nie jest ustalona ochrona przed zapi-sem).
SprzęŜenie definiowane przez uŜytkownika:
Przy pomocy instrukcji językowej COUPDEF sprzęŜenia w programie obróbki NC mogą być na nowo tworzone i zmieniane. JeŜeli ma zostać zdefiniowane nowe sprzęŜenie, musi zostać ew. przedtem skasowane przy pomocy COUPDEL istniejące sprzęŜenie zdefiniowane przez uŜytkownika.
Zdefiniowanie nowego sprz ęŜenia COUPDEF
PoniŜej objaśniono parametryzację domyślnie zdefiniowanego podprogramu:
COUPDEF(FS, LS, Ü FS, Ü LS, Satzverh, Koppel)
Wrzeciono holowane i wiod ące: FS i LS
Przy pomocy identyfikatorów osi FS i LS sprzęŜenie jest jednoznacznie określane. Muszą być one programowane przy kaŜdej instrukcji COUP. Dalsze parametry pro-gramowania muszą być programowane tylko wtedy , gdy mają zostać zmienione (działają modalnie).
Przykład: N ... COUPDEF(S2, S1, Ü FS, Ü LS) gdzie:
S2 = wrzeciono holowane, S1= wrzeciono wiodące
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
562
Stosunek przeło Ŝenia k Ü Stosunek przełoŜenia jest zadawany przy pomocy podania drogi dla FS (licznik) i LS (mianownik).
MoŜliwości:
● Wrzeciono holowane i wiodące wirują w tym samym kierunku (nFS = nLS ; kÜ dodat-nie)
● Ruch w tym samym wzgl. przeciwnym kierunku (kÜ ujemne) między LS i FS
● Wrzeciono holowane i wiodące obracają się z róŜnymi prędkościami obrotowymi
(nFS = kÜ • nLS ;kÜ ≠ 1)
Zastosowanie: toczenie wielokąta
Przykład:
N ... COUPDEF (S2, S1, 1.0, 4.0)
Oznacza: wrzeciono holowane S2 i wrzeciono wiodące S1 wirują ze stosunkiem prze-łoŜenia 0.25.
Wskazówka
Musi zostać zaprogramowany co najmniej licznik. JeŜeli mianownik nie jest podany, jest zawsze przyjmowany jako "1".
Stosunek przełoŜenia moŜna równieŜ zmienić w ruchu podczas włączonego sprzęŜe-nia.
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
563
Zachowanie si ę przy zmianie bloku NOC, FINE, COARSE, IPOSTOP
Przy definiowaniu sprzęŜenia moŜna wybierać między róŜnymi moŜliwościami, kiedy ma następować zmiana bloku:
"NOC" natychmiast (ustawienie domyślne)
"FINE" przy "ruch synchroniczny dokładnie"
"COARSE" przy "ruch synchroniczny zgrubnie"
"IPOSTOP" przy IPOSTOP (tzn. po pracy synchronicznej po stronie wartości zadanej)
Dla podania zachowania się odnośnie zmiany bloków pisanie liter napisanych tłustym drukiem jest wystarczające.
Rodzaj sprz ęŜenia DV, AV
MoŜliwości:
"DV" sprzęŜenie wartości zadanej FS i LS (ustawienie domyślne)
"AV" sprzęŜenie wartości rzeczywistej FS i LS
OSTROśNIE
Rodzaj sprzęŜenia wolno jest zmienić tylko przy wyłączonym sprzęŜeniu!
Włączenie pracy synchronicznej COUPON, POS FS ● Jak najszybsze włączenie sprzęŜenia z dowolną zaleŜnością kątową między LS i FS:
N ... COUPON(S2, S1) albo N ... COUPON(S2, S1, POS FS) albo N ... COUPON(S2)
● Włączenie z przesunięciem kątowym POSFS
Do synchronicznego pod względem pozycji sprzęŜenia dla profilowanych obrabia-nych przedmiotów.
POSFS odnosi się do pozycji 0° wrzeciona prowadz ącego w dodatnim kierunku ob-rotów.
Zakres wartości POSFS: 0°… 359,999°:
COUPON(S2, S1, 30)
W ten sposób moŜecie równieŜ przy juŜ aktywnym sprzęŜeniu zmienić przesunięcie kątowe.
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
564
Pozycjonowanie wrzeciona holowanego
Przy włączonym sprzęŜeniu wrzecion synchronicznych równieŜ wrzeciona holowane dają się pozycjonować w zakresie ±180° niezale Ŝnie od ruchu wyzwalanego przez wrzeciono prowadzące.
Pozycjonowanie SPOS
Wrzeciono holowane moŜe być interpolowane przy pomocy SPOS=… . Dla uzyskania dalszych informacji dot. SPOS patrz Podręcznik programowania Podstawy.
Przykład:
N30 SPOS[2] = IC(-90)
RóŜnica pr ędkości obrotowej M3 S ... albo M4 S...
RóŜnica prędkości obrotowej powstaje przez obarczone znakiem nałoŜenie dwóch źródeł prędkości obrotowej i jest ponownie programowana do wrzeciona holowanego np. przy pomocy Sn=... albo Mn=3, Mn=4 w trybie sterowania prędkością obrotową podczas aktywnego sprzęŜ. wrz. synchronicznego. Przy tym ta składowa prędkości obrotowej jest poprzez współczynnik sprzęŜenia wyprowadzana od wrzeciona wiodą-cego i dodawana do wrzeciona holowanego z właściwym znakiem.
Wskazówka
Z kierunkiem obrotów M3 albo M4 musi zostać na nowo zaprogramowana równieŜ prędkość obrotowa S..., poniewaŜ w przeciwnym przypadku brak zaprogramowania będzie sygnalizowany alarmem.
Dalsze informacje dot. róŜnicy prędkości obrotowej patrz
Literatura: /FB2/ Podręcznik działania Funkcje rozszerzające; wrzeciono synchroniczne (S3).
RóŜnica pr ędkości obrotowej przy COUPONC
Przejęcie ruchu do ró Ŝnicy pr ędko ści obrotowej
Przez włączenie sprzęŜenia synchronicznego przy pomocy COUPONC jest nakładane poprzednie zaprogramowanie M3 S... albo M4 S.... Przez to po włączeniu sprzęŜenia pozostaje zachowana prędkość obrotowa wrzeciona przedtem zaprogramowana w oddzielnym bloku. RóŜnica prędkości obrotowej jest przejmowana natychmiast.
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
565
Wskazówka
Zezwolenie dla ró Ŝnicy pr ędko ści obrotowej
Powstająca róŜnica prędkości obrotowej jest przejmowana tylko wtedy, gdy nałoŜenie ruchu ma równieŜ zezwolenie. W przeciwnym przypadku samokasujący się alarm sy-gnalizuje to niedopuszczalne nałoŜenie.
Rozkład dynamiki na dost ępną dynamik ę silnika
Limitowana dynamika wrzeciona wiodącego musi przez zaprogramowanie zostać na tyle ograniczona, by inny komponent ruchu np. ze względu na róŜnicę prędkości obro-towej nie miał nadmiernie ujemnego wpływu na dynamikę wrzeciona holowanego.
FA, ACC, OVRA, VELOLIMA: pr ędkość, przyspieszenie
Przy pomocy FA[SPI] (Sn) ] wzgl. FA[Sn], ACC[SPI(Sn)] wzgl. ACC[Sn] i OVRA[SPI(n)] wzgl. OVRA[Sn] jak teŜ VELOLIMA[Sn] moŜna programować pręd-kości pozycjonowania i wartości przyspieszenia dla wrzecion holowanych (patrz pod-ręcznik programowania Podstawy). "n" oznacza numer wrzeciona 1...n .
Programowalne zakresy wartości do korekcji dynamiki wrzeciona holowanego Sn działają dla
● posuwu dla osi pozycjonowania albo wrzecion w trybie pozycjonowania FA[Sn] = ... bis 999 999,999 mm/min albo stopni/min
● procentowej korekcji przyśpieszenia ACC[Sn] = 1 do 200%
● procentowej korekcji posuwu OVRA[Sn] = ... do 200%
● składowej prędkości VELOLIMA[Sn] = procentowa korekcja prędkości maksymalnej od 1 do 100%
Wskazówka
Składowa przyspieszenia JERKLIMA[Sn]
Korekcja przyspieszenia drugiego stopnia moŜe wprawdzie zostać podana, nie ma jednak jeszcze Ŝadnego wpływu na wrzeciona.
Dalsze wskazówki dot. projektowania programowania dynamiki poprzez dane maszy-nowe patrz literatura : /FB2/ Podręcznik działania Funkcje rozszerzające; osie obroto-we (R2).
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
566
Programowana zmiana bloku WAITC
Przy pomocy WAITC moŜna w celu kontynuowania programu, np. po zmianie parame-trów sprzęŜenia albo procesach pozycjonowania ustalić zachowanie się odnośnie zmiany bloku z róŜnymi warunkami ruchu synchronicznego (zgrubnie, dokładnie, IPOSTOP). Przy tym włączanie nowych bloków ulega zwłoce aŜ do spełnienia warun-ków ruchu synchronicznego, przez co ruch synchroniczny moŜe być szybciej realizo-wany. JeŜeli Ŝadne warunku ruchu synchronicznego nie zostaną podane, wówczas dla kaŜdorazowego sprzęŜenia obowiązuje zaprogramowane / zaprojektowanie za-chowanie się odnośnie zmiany bloków. Przykłady:
N200 WAITC
Czekanie na warunki ruchu synchronicznego dla wszystkich aktywnych wrzecion ho-lowanych bez podania warunków ruchu synchronicznego.
N300 WAITC(S2, "FINE", S4, "COARSE")
Czekanie na podane warunki ruchu synchronicznego "zgrubnie" dla wrzecion holowa-nych S2 i S4.
Wyłączenie pracy synchronicznej COUPOF
Są moŜliwe trzy warianty:
● Jak najszybsze wyłączenie sprzęŜenia, następuje natychmiastowe zezwolenie na zmianę bloku: COUPOF(S2, S1) albo COUPOF(S2); bez podania wrzeciona wiod ącego
● Po przekroczeniu pozycji wyłączenia ; zezwolenie na zmianę bloku następuje dopie-ro po przekroczeniu pozycji wyłączenia POSFS i ew. POSLS. Zakres wartości 0°… 359,999°: COUPOF(S2, S1, 150)
COUPOF(S2, S1, 150, 30)
Wyłączenie sprz ęŜenia z zatrzymaniem wrzeciona holowanego COUPOFS
Są moŜliwe dwa warianty: ● Jak najszybsze wyłączenie sprzęŜenia i zatrzymanie bez podania pozycji, zmiana bloku natychmiast uzyskuje zezwolenie COUPOFS(S2, S1)
● Po przejściu zaprogramowanej pozycji wyłączenia osi holowanej, która odnosi się do układu współrzędnych maszyny, zmiana bloku uzyskuje zezwolenie dopiero po przejściu pozycji wyłączenia POSFS. Zakres wartości 0°… 359,999°:
COUPOFS(S2, S1, POS FS)
SprzęŜenia osi 9.5 Wrzeciono synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
567
Skasowanie sprz ęŜeń COUPDEL
N ... COUPDEL(S2, S1) albo N ... COUPDEL(S2); bez podania wrzeciona wiod ącego
działa na aktywne sprzęŜenie wrzecion synchronicznych, wyłącza sprzęŜenie i kasuje dane sprzęŜenia. Wrzeciono holowane przejmuje ostatnią prędkość obrotową i odpo-wiada dotychczasowemu zachowaniu się COUPOF(FS, LS).
Cofni ęcie parametrów sprz ęŜenia COUPRES
Przy pomocy instrukcji językowej "COUPRES"
● są uaktywniane parametry zapisane w danych maszynowych i danych nastawczych (sprzęŜenie zaprojektowane na stałe),
● są uaktywniane ustawienia domyślne (sprzęŜenie zdefiniowane przez uŜytkownika).
Przy tym ulegają utraceniu parametry zaprogramowane przy pomocy COUPDEF (łącz-nie ze stosunkiem przełoŜenia)
N ... COUPRES(S2, S1) albo N ... COUPRES(S2); bez podania wrzeciona wiod ącego
S2 = wrzeciono holowane, S1= wrzeciono wiodące
Zmienne systemowe
Aktualny stan sprz ęŜenia wrzeciona holowanego
Dla wrzeciona holowanego aktualny stan sprzęŜenia moŜe w programie obróbki NC być czytany przy pomocy następujących osiowych zmiennych systemowych:
$AA_COUP_ACT[FS]
FS = identyfikator osi dla wrzeciona holowanego o numerze, np. S2.
Przeczytana wartość ma dla wrzeciona holowanego następujące znaczenie:
0: sprzęŜenie nie aktywne
4: Wrzeciono synchroniczne aktywne
SprzęŜenia osi 9.6 Zespół master/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
568
Aktualne przesuni ęcie k ątowe
Aktualny offset pozycji FS po stronie wartości zadanej do LS moŜe być czytany w pro-gramie obróbki NC przy pomocy następujących osiowych zmiennych systemowych:
$AA_COUP_OFFS[S2]
Offset pozycji po stronie wartości rzeczywistej moŜe być czytany przy pomocy:
$VA_COUP_OFFS[S2]
FS = identyfikator osi dla wrzeciona holowanego o numerze, np. S2.
Wskazówka
Po cofnięciu zezwolenia dla regulatora przy włączonym sprzęŜeniu i trybie śledzenia, po ponownym udzieleniu zezwolenia powstaje inne przesunięcie pozycji niŜ wartość zaprogramowana pierwotnie. W tym przypadku zmieniony offset pozycji moŜe zostać przeczytany i ewentualnie skorygowany w programie obróbki NC.
9.6 Zespół master/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)
Działanie Przed wersją oprogramowania 6.4 sprzęŜenie master/slave pozwala na wsprzęgnięcie osi slave w jej oś master tylko na postoju uczestniczących osi. Rozszerzenie wersji 6.4 pozwala na sprzęganie i rozłączanie wirujących wrzecion o sterowanej prędkości obrotowej i na dynamiczne projektowanie.
Składnia MASLON(Slv1,Slv2,..., ) MASLOF(Slv1,Slv2,..., ) MASLDEF(Slv1,Slv2,..., o ś master) Rozszerzenie dla projektowania dyna-
micznego MASLDEL(Slv1,Slv2,..., ) Rozszerzenie dla projektowania dyna-
micznego MASLOFS(Slv1, Slv2, ..., ) Rozszerzenie dla wrzeciona slave
SprzęŜenia osi 9.6 Zespół master/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
569
Wskazówka
W przypadku MASLOF/MASLOFS odpada implicite zatrzymanie przebiegu wyprzedzają-cego. Ze względu na brak zatrzymania przebiegu wyprzedzającego zmienne systemo-we $P nie dają dla osi Slave zaktualizowanych wartości aŜ do chwili ponownego za-programowania.
Znaczenie
Ogólnie
MASLON Włączenie sprzęŜenia tymczasowego. MASLOF Rozłączenie aktywnego sprzęŜenia. W przypadku wrzecion naleŜy
przestrzegać rozszerzeń.
Rozszerzenie, projektowanie dynamiczne
MASLDEF Utworzenie/zmiana sprzęŜenia definiowana przez uŜyt-
kownika poprzez dane maszynowe albo teŜ z programu obróbki.
MASLOFS Rozłączenie sprzęŜenia analogicznie do MASLOF i automa-tyczne zahamowanie wrzeciona slave.
MASLDEL Rozłączenie zespołu osi master/slave i skasowanie definicji zespołu.
Slv1, Slv2, ... Osie slave, które są prowadzone przez jedną oś master. Oś master Oś, która prowadzi oś slave zdefiniowaną z zespole ma-
ster/slave.
Przykłady Przykład 1: Dynamiczne projektowanie sprz ęŜenia master/slave Dynamiczne projektowanie sprzęŜenia master/slave z programu obróbki:
Oś właściwo po obróceniu pojemnika osi powinna stać się osią master.
Kod programu Komentarz MASLDEF(AUX,S3) ; S3 master dla AUX MASLON(AUX) ; sprz ęŜenie wł. dla AUX M3=3 S3=4000 ; Kierunek obrotów w prawo MASLDEL(AUX) ; Skasowanie zaprojektowania i rozł ącze-
nie sprz ęŜenia AXCTSWE(CT1) ; Obrót pojemnika
SprzęŜenia osi 9.6 Zespół master/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
570
Przykłady
Przykład 2: sprz ęŜenie warto ści rzeczywistej osi slave
SprzęŜenie wartości rzeczywistej osi slave na taką samą wartość osi master przez PRESETON.
Przy permanentnym sprzęŜeniu master/slave ma na osi SLAVE zostać zmieniona wartość rzeczywista przez PRESETON.
Kod programu Komentarz N37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2]=0 ; Wył ączenie na
krótko sprz ęŜenia permanentnego. N37263 NEWCONF N37264 STOPRE MASLOF(Y1) ; Sprz ęŜenie tymczasowe wył. N5 PRESETON(Y1,0,Z1,0,B1,0,C1,0,U1,0) ; Ustawienie warto ści
rzeczywistej nie bazowanych osi slave, poniewa Ŝ s ą one uaktywnione przy pomo-cy Power On.
N37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2]=1 ; Uakty wnienie sprz ęŜenia permanentnego.
N37263 NEWCONF
Przykład 3: sekwencja sprz ęŜenia poło Ŝenie 3/pojemnik CT1
Aby umoŜliwić sprzęŜenie z innym wrzecionem po obrocie pojemnika, stare sprzęŜe-nie musi przedtem zostać rozłączone, zaprojektowanie skasowane i zaprojektowane nowe sprzęŜenie.
Sytuacja wyjściowa:
SprzęŜenia osi 9.6 Zespół master/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
571
Po obróceniu o jeden slot:
Literatura:
Podręcznik działania Funkcje rozszerzające; Wiele pulpitów obsługi i NCU (B3), punkt "Pojemnik osi"
Dalsze informacje
Ogólnie
MASLOF W przypadku wrzecion w pracy ze sterowaniem prędkością obroto-
wą instrukcja ta jest bezpośrednio wykonywana. Wirujące w tym momencie wrzeciona slave zachowują swoje prędkości obrotowe aŜ do ponownego zaprogramowania prędkości obrotowej.
Rozszerzenie projektowania dynamicznego
MASLDEF Definicja zespołu master/slave z programu obróbki. Przedtem
definicja następowała wyłącznie poprzez dane maszynowe. MASLDEL Instrukcja znosi przyporządkowanie osi slave do osi master i
rozłącza sprzęŜenie, analogicznie do MASLOF. Definicje master/slave, uzgodnione w danych maszynowych,
pozostają zachowane. MASLOFS MASLOFS moŜe być stosowana do automatycznego hamo-
wania wrzecion slave przy rozłączaniu sprzęŜenia. W przypadku osi i wrzecion w trybie pozycjonowania sprzęŜe-
nie jest stwarzane i rozłączane tylko na postoju.
SprzęŜenia osi 9.6 Zespół master/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
572
Wskazówka
Dla osi slave wartość rzeczywista moŜe przez PRESETON być synchronizowana na taką samą wartość osi master. W tym celu trwałe sprzęŜenie master/slave musi zostać na krótki czas rozłączone aby wartość rzeczywistą nie bazowanej osi slave przy pomocy power on ustawić na wartość osi master. Następnie trwałe sprzęŜenia jest przywracane.
SprzęŜenie trwałe master/slave jest uaktywniane przez ustawienie MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE = 1 i nie ma wpływu na polecenia językowe sprzęŜenia tymczasowego.
Zachowanie si ę wrzecion pod wzgl ędem sprz ęŜenia
W przypadku wrzecion w trybie sterowania prędkością obrotową zachowanie się MASLON, MASLOF, MASLOFS i MASLDEL pod względem sprzęŜenia jest ustalane explicite poprzez daną maszynową MD37263 $MA_MS_SPIND_COUPLING_MODE.
W ustawieniu standardowym przy pomocy MD37263 = 0 następuje odsprzęŜenie i rozłączenie osi slave wyłącznie w stanie zatrzymanym uczestniczących osi. MASLOFS odpowiada MASLOF.
Przy MD37263 = 1 instrukcja sprzęŜenia jest wykonywana bezpośrednio, a przez to równieŜ w ruchu. SprzęŜenie jest w przypadku MASLON natychmiast włączane a przy MASLOFS albo MASLOF natychmiast wyłączane. Wirujące w tym momencie wrzeciona slave są przy MASLOFS automatycznie hamowane i zachowują przy MASLOF swoje prędkości obrotowe aŜ do ponownego zaprogramowania prędkości obrotowej.
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
573
Akcje synchroniczne ruchu 10
10.1 Podstawy
Działanie
Akcje synchroniczne stwarzają moŜliwość wykonywania akcji synchronicznie do blo-ków obróbki.
Moment wykonania akcji moŜe być definiowany poprzez warunki. Warunki są nadzo-rowane w takcie interpolacji. Akcje są przez to reakcją na wydarzenia w czasie rze-czywistym, ich wykonanie nie jest związane z granicami bloków.
Dodatkowo akcja synchroniczna zawiera dane dot. czasu jej trwania i częstości odpy-tywania dla zaprogramowanych zmiennych przebiegu głównego a przez to dot. czę-stości wykonywania uruchamianych akcji. Przez to akcja moŜe zostać uruchomiona tylko raz albo teŜ cyklicznie (kaŜdorazowo w takcie interpolatora).
MoŜliwe zastosowania
Akcje synchroniczne ruchu 10.1 Podstawy
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
574
● Optymalizacja zastosowań krytycznych pod względem czasu przebiegu (np. zmiana narzędzia) ● Szybka reakcja na wydarzenia zewnętrzne ● Programowanie regulacji AC ● Ustawianie funkcji bezpieczeństwa
● ....
Programowanie Akcja synchroniczna znajduje się w oddzielnym bloku i działa od najbliŜszego wyko-nywalnego bloku funkcji maszyny (np ruch postępowy z G0, G1, G2, G3 ).
Akcje synchroniczne składają się z maksymalnie 5 elementów poleceniowych o róŜ-nych zadaniach:
Składnia:
DO <akcja1> <akcja2> … <SŁOWO KLUCZOWE> <warunek> DO <akcja1> <akcja2> … ID=<n> <SŁOWO KLUCZOWE> <warunek> DO <akcja1> <akcj a2> … IDS=<n> <SŁOWO KLUCZOWE> <warunek> DO <akcja1> <akc ja2> …
Akcje synchroniczne ruchu 10.1 Podstawy
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
575
Znaczenie
DO Instrukcja uruchomienia zaprogramowanych akcji Działa tylko przy spełnionym <warunku> (o ile zaprogramo-wano).
→ Patrz "akcje " <akcja1> <akcja2>
…
Uruchamiana(e) akcja(e) Przykłady: • Przyporządkowanie zmiennej
• Wystartowanie cyklu technologicznego
<SŁOWO KLUCZOWE>
Poprzez słowo kluczowe (WHEN, WHENEVER, FROM albo EVERY) jest definiowana cykliczna kontrola <warunku > akcji synchronicznej.
→ Patrz " cykliczne sprawdzanie warunku "
<warunek> Logika powiązania dla zmiennych głównych
Warunek jest sprawdzany w takcie IPO. ID=<n> wzgl.
IDS=<n>
Numer identyfikacyjny Przy pomocy numeru identyfikacyjnego jest ustalany zakres obowiązywania i pozycja w ramach kolejności obróbki.
→ Patrz " Zakres obowiązywania i kolejność obróbki "
Koordynacja akcji synchronicznych/cykli technologic znych
Do koordynacji akcji synchronicznych/cykli technologicznych są do dyspozycji nastę-pujące polecenia:
Polecenie Znaczenie
CANCEL(<n>) Skasowanie akcji synchronicznych
→ Patrz " Skasowanie akcji synchronicznej "
LOCK(<n>) Zablokowanie akcji synchronicznych
UNLOCK(<n>) Udostępnienie akcji synchronicznych
RESET Cofnięcie cyklu technologicznego Odnośnie LOCK, UNLOCK i RESET:
→ patrz " Zablokowanie, udostępnienie, cofnięcie "
Akcje synchroniczne ruchu 10.1 Podstawy
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
576
Przykład
Kod programu Komentarz WHEN $AA_IW[Q1]>5 DO M172 H510 ; Gdy warto ść rzeczywista osi
Q1 przekracza 5 mm, s ą wyprowadzane funkcje pomocnicze M172 i H510 do in-terfejsu PLC.
10.1.1 Zakres obowi ązywania i kolejno ść obróbki (ID, IDS)
Działanie
Zakres obowi ązywania
Zakres obowiązywania akcji synchronicznej jest ustalany przez oznaczenie ID wzgl. IDS:
Bez modalnego ID: Działająca pojedynczymi blokami akcja synchroniczna w pracy automatycznej
ID: Działająca modalnie akcja synchroniczna w pracy automa-
tycznej do końca programu IDS: Statyczna akcja synchroniczna, działająca modalnie w kaŜ-
dym rodzaju pracy, równieŜ po zakończeniu programu Zastosowania ● Szlifowanie AC w trybie JOG ● Logika powiązań dla safety integrated ● Funkcje nadzoru, reakcje na stany maszyny we wszystkich rodzajach pracy
Kolejno ść wykonywania
Modalnie i statycznie działające akcje synchroniczne są wykonywane w kolejności ich numerów ID wzgl. IDS (ID=<n> wzgl. IDS=<n>) w takcie interpolacji.
Działające pojedynczymi blokami akcje synchroniczne (bez numeru ID) są po wyko-naniu modalnie działających akcji synchronicznych wykonywane w zaprogramowanej kolejności.
Wskazówka
Poprzez ustawienia danych maszynowych moŜna chronić modalnie działające akcje synchroniczne przed zmianami albo skasowaniem (→ producent maszyny!).
Akcje synchroniczne ruchu 10.1 Podstawy
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
577
Programowanie
Składnia Znaczenie
bez modalnego ID Akcja synchroniczna działa tylko w pracy automa-tycznej. Obowiązuje one tylko dla kolejnego, moŜ-liwego do wykonania bloku (blok z instrukcją ruchu albo inną reakcją maszyny), działa więc pojedyn-czymi blokami. Przykład:
WHEN $A_IN[3]==TRUE DO $A_OUTA[4]=10
ID=<n> ... Akcja synchroniczna działa w kolejnych blokach modalnie i moŜe przez CANCEL (<n>) zostać wy-łączona albo zastąpiona przez zaprogramowanie nowej akcji synchronicznej i tym samym ID. Akcje synchroniczne aktywne w bloku M30 powo-dują opóźnienie końca programu. Akcje synchroniczne ID działają tylko w pracy au-tomatycznej. Zakres wartości dla <n>: 1 ... 255 Przykład:
ID=2 EVERY $A_IN[1]==1 DO POS[X]=0
IDS=<n> Statyczne akcje synchroniczne działają modalnie we wszystkich rodzajach pracy. Pozostają one aktywne równieŜ po zakończeniu programu i mogą zostać uaktywnione po Power On przy pomocy ASUP. Przez to jest moŜliwe uaktywnienie akcji, które nie-zaleŜnie od wybranego rodzaju pracy mają prze-biegać w NC. Zakres wartości dla <n>: 1 ... 255 Przykład:
IDS=1 EVERY $A_IN[1]==1 DO POS[X]=100
Akcje synchroniczne ruchu 10.1 Podstawy
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
578
10.1.2 Cykliczne badanie warunku (WHEN, WHENEVER, F ROM, EVERY)
Działanie
Poprzez słowo kluczowe jest definiowana cykliczna kontrola warunku akcji synchro-nicznej. Gdy słowo kluczowe nie jest zaprogramowane, akcje akcji synchronicznej są wykonywane w kaŜdym takcie IPO.
Słowa kluczowe
brak słowa kluczo-wego
Wykonanie funkcji nie jest uzaleŜnione od Ŝadnego warun-ku. Akcja jest wykonywana cyklicznie w kaŜdym takcie interpolacji.
WHEN Warunek jest tak długo odpytywany w kaŜdym takcie inter-polacji, aŜ będzie spełniony; przynaleŜna akcja jest dokład-nie wtedy wykonywana jeden raz.
WHENEVER Warunek jest cyklicznie sprawdzany w kaŜdym takcie inter-polacji. Akcja jest wykonywana w kaŜdym takcie interpolacji, jak długo warunek jest spełniony.
FROM Warunek jest sprawdzany w kaŜdym takcie interpolacji, aŜ zostanie spełniony. Akcja jest następnie wykonywana tak długo, jak długo jest uaktywniona akcja synchroniczna, tzn. równieŜ wtedy, gdy warunek nie jest juŜ spełniony.
EVERY Odpytanie na warunek następuje w kaŜdym takcie interpo-lacji. Akcja jest zawsze wtedy wykonywana jeden raz, gdy warunek jest spełniony. Sterowanie przez zbocze: Akcja zostaje ponownie wykonana, gdy warunek zmieni się ze stanu FALSE na stan TRUE.
Zmienne przebiegu głównego
Stosowane zmienne są poddawane ewaluacji w takcie interpolacji. Zmienne przebie-gu głównego w akcjach synchronicznych nie wyzwalają zatrzymania przebiegu wy-przedzającego.
Ewaluacja:
Gdy w programie obróbki występują zmienne przebiegu głównego (np. wartość rze-czyw., połoŜenie wejścia albo wyjścia cyfrowego itd.), przebieg wyprzedz. jest zatrzy-mywany, aŜ poprzedni blok zostanie wykonany i będą dostępne wart. zmiennych przebiegu głównego.
Akcje synchroniczne ruchu 10.1 Podstawy
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
579
Przykłady
Przykład 1: brak słowa kluczowego Kod programu Komentarz DO $A_OUTA[1]=$AA_IN[X] ; Wyprowadzenie warto ści rzeczywistej
do wyj ścia analogowego.
Przykład 2: WHENEVER
Kod programu Komentarz WHENEVER $AA_IM[X] > 10.5*SIN(45) DO … ; Porównanie z wyra Ŝe-
niem obliczonym w przebiegu wy-przedzaj ącym.
WHENEVER $AA_IM[X] > $AA_IM[X1] DO … ; Porównanie z kolejn ą zmienn ą przebiegu głównego.
WHENEVER ($A_IN[1]==1) OR ($A_IN[3]==0) DO ... ; Dw a porówna-nia powi ązane ze sob ą.
Przykład 3: EVERY
Kod programu Komentarz ID=1 EVERY $AA_IM[B]>75 DO POS[U]=IC(10) FA[U]=900 ; Zawsze gdy warto ść
rzeczywista osi B w MKS przekroczy warto ść 75, o ś U powinna z posuwem osiowym pozycjonowa ć dalej o 10.
Akcje synchroniczne ruchu 10.1 Podstawy
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
580
Dalsze informacje
Warunki
Warunek jest wyraŜeniem logicznym, które poprzez operatory boolowskie moŜe mieć dowolną budowę. Wydarzenia boolowskie powinny zawsze być podawane w nawia-sach.
Warunek jest sprawdzany w takcie interpolacji.
Przed warunkiem moŜe zostać podany G-Code. MoŜna przez to uzyskać, Ŝe nieza-leŜnie od właśnie aktywnego stanu programu obróbki są dokonane ustawienia zdefi-niowane dla oceny warunku i będącej do wykonania akcji/cyklu technologicznego. Rozsprzęglenie akcji synchronicznych od środowiska programowego jest wymagane, poniewaŜ akcje synchroniczne w dowolnych momentach czasu na podstawie spełnio-nych warunków wyzwolenia powinny wykonywać swoje akcje w zdefiniowanym stanie wyjściowym.
Przypadki zastosowania
Ustalenie systemów pomiarowych dla oceny warunku i akcji przez G-Code G70, G71, G700, G710 .
Podany G-Code w przypadku warunku obowiązuje dla oceny warunku i akcji, gdy w przypadku akcji G-Code nie jest podany.
W danej części warunkowej wolno zaprogramować tylko jeden G-Code z grupy G-Code.
MoŜliwe warunki
● Porównanie zmiennych przebiegu głównego (analogiczne/cyfrowe wejścia/wyjścia, i in.)
● Powiązania boolowskie między wynikami porównań
● Obliczanie wyraŜeń czasu rzeczywistego
● Czas/odległość od początku bloku
● Odległość od końca bloku
● Wartości pomiarowe, wyniki pomiarów
● Wartości serwo
● Prędkości, status osi
Akcje synchroniczne ruchu 10.1 Podstawy
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
581
10.1.3 Akcje (DO)
Działanie
W akcjach synchronicznych moŜna zaprogramować jedną albo wiele akcji. Wszystkie akcje zaprogramowane w jednym bloku są aktywne w tym samym takcie interpolacji.
Składnia
DO <akcja1> <akcja2> ...
Znaczenie
DO Przy spełnionym warunku wyzwala akcję albo cykl technolo-giczny.
<akcja> Akcja wystartowana przy spełnionym warunku jak np. przypo-rządkowanie zmiennej, włączenie sprzęŜenia osi, ustawienie wyjść NCK, wyprowadzenie funkcji M, S i H, zadanie zaprogra-mowanego G-Code, ...
G-Code moŜna programować w akcjach synchronicznych dla akcji/cykli technologicz-nych.
Ten G-Code zadaje dla wszystkich akcji w bloku i cyklach technologicznych ew. inny G-Code niŜ ustawiony w warunku. Gdy cykle technologiczne znajdują się w części ak-cyjnej, wówczas G-Code obowiązuje modalnie nadal równieŜ po zakończeniu cyklu technologicznego dla wszystkich następnych akcji aŜ do następnego G-Code.
Na część akcyjną wolno zaprogramować tylko jeden G-Code z grupy G-Code (G70, G71, G700, G710 ).
Przykład: akcja synchroniczna z dwoma akcjami
Kod programu Komentarz WHEN $AA_IM[Y]>=35.7 DO M135 $AC_PARAM=50 ; W przyp adku gdy warunek jest
spełniony, nast ępuje wyprowadzenie M135 do PLC i ustawienie Override na 50%.
Akcje synchroniczne ruchu 10.2 Operatory dla warunków i akcji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
582
10.2 Operatory dla warunków i akcji
Porównania (==, <>, <, >, <=, >=)
W warunkach mog ą by ć porówny-wane zmienne albo wyra Ŝenia cz ęściowe. Wynik jest zawsze typu danych BOOL. Dopuszczalne s ą wszystkie zna-ne operatory porównywania.
Operatory boolowskie (NOT, AND, OR, XOR)
Zmienne, stałe albo porównania mogą by ć ze sob ą wi ązane przy pomocy znanych operatorów bo-olowskich.
Operatory bitowe (B_NOT, B_AND, B_OR, B_XOR)
MoŜliwe s ą operatory bitowe B_NOT, B_AND, B_OR, B_XOR.
Podstawowe operacje arytme-tyczne (+, -, *, /, DIV, MOD)
Zmienne przebiegu głównego mogą zosta ć powi ązane ze sob ą przez podstawowe operacje arytmetyczne albo przy pomocy stałych.
Funkcje matematyczne (SIN, COS, TAN, ASIN, ACOS, ABS, TRUNC, ROUND, LN, EXP, ATAN2, POT, SQRT, CTAB, CTABINV).
Do zmiennych o typie danych REAL mogą by ć stosowane funk-cje matematyczne.
Indeksowanie Indeksowanie jest mo Ŝliwe przy pomocy wyra Ŝeń przebiegu głów-nego.
Przykład ● Podstawowe operacje matematyczne powi ązane
Obowiązuje obliczanie "kropka przed kreską", wyraŜenia w nawiasach są dopuszczal-ne. Operatory DIV i MOD są dopuszczalne równieŜ dla typu danych REAL
Kod programu Komentarz DO $AC_PARAM[3] = $A_INA[1]-$AA_IM[Z1]
; Odejmowanie dwóch zmiennych przebiegu głównego
WHENEVER $AA_IM[x2] < $AA_IM[x1]-1.9 DO $A_OUT[5] = 1
; Odj ęcie stałej od zmiennej
DO $AC_PARAM[3] = $INA[1]-4*SIN(45.7 $P_EP[Y])*R4
; Wyra Ŝenie stałe, obliczone w przebiegu wyprzedzaj ącym
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
583
● Funkcje matematyczne
Kod programu Komentarz DO $AC_PARAM[3] = COS($AC_PARAM[1]) ; ;
● WyraŜenia czasu rzeczywistego
Kod programu Komentarz ID=1 WHENEVER ($AA_IM[Y]>30) AND ($AA_IM[Y]<40) DO $AA_OVR[S1]=80
; Wybór okna pozycji
ID=67 DO $A_OUT[1]=$A_IN[2] XOR $AN_MARKER[1]
; Ewaluacja 2 sygnałów bo-olowskich
ID=89 DO $A_OUT[4]=$A_IN[1] OR ($AA_IM[Y]>10)
; Wyprowadzenie wyniku po-równania
● Zmienna przebiegu głównego indeksowana
Kod programu Komentarz WHEN…DO $AC_PARAM[$AC_MARKER[1]] = 3
;
Niedopuszczalne jest ; $AC_PARAM[1] = $P_EP[$AC_MARKER
;
10.3 Główne zmienne dla akcji synchronicznych
10.3.1 Zmienne systemowe
Działanie Przy pomocy zmiennych systemowych dane NC mogą być czytane i zapisywane. Zmienne systemowe są rozróŜniane w przebiegu wyprzedzającym i przebiegu głów-nym. Zmienne przebiegu wyprzedzającego są wykonywane zawsze w momencie tego przebiegu. Zmienne główne określają swoją wartość zawsze odnośnie aktualnego stanu przebiegu głównego.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
584
Nazwa
Nazwa zmiennych systemowych rozpoczyna się najczęściej od znaku $: Zmienne przebiegu wyprzedzaj ącego: $M... dane maszynowe $S... dane nastawcze, obszary ochrony $T... dane zarządzania narzędziami $P... wartości programowane, dane przebiegu wyprzedzającego $C... Zmienne cykli obwiedniowych $O... Dane opcji R ... Parametry R
Zmienne przebiegu głównego $$A... Aktualne dane przebiegu głównego $$V... Dane serwo $R... Parametry R
2. litera opisuje moŜliwość dostępu do zmiennej: N... Wartość globalna NCK (ogólnie obowiązująca wartość) C... Wartość specyficzna dla kanału A... Wartość specyficzna dla osi
2. litera jest najczęściej stosowana tylko dla zmiennych przebiegu głównego. Zmienne przebiegu wyprzedzającego jak. np. $P_ są najczęściej wykonywane bez 2. litery.
Po przedrostku ($ i jedna albo dwie litery) następuje zawsze podkreślnik a następnie nazwa zmiennej (najczęściej jako angielskojęzyczne określenie albo skrót).
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
585
Typy danych
Zmienne przebiegu głównego mogą mieć następujące typy danych:
INT Integer dla wartości całkowitoliczbowych ze znakiem REAL Real dla liczb ułamkowych wymiernych BOOL Boolowskie TRUE i FALSE CHAR Znak ASCII STRING Łańcuch znaków ze znakami alfanumerycznymi AXIS Adresy osi i wrzecion
Zmienne przebiegu wyprzedzającego mogą dodatkowo mieć następujący typ danych:
FRAME transformacje współrzędnych
Tablice zmiennych Zmienne systemowe mogą być tworzone jako tablice 1- do 3-wymiarowe.
Są obsługiwane następujące typy danych: BOOL, CHAR, INT, REAL, STRING, AXIS
Typ danych indeksów moŜe być INT i AXIS, przy czym mogą być one dowolnie sorto-wane. Zmienne STRING mogą być tworzone tylko 2-wymiarowo.
Przykłady definicji tablicy:
DEF BOOL $AA_NEWVAR[x,y,2] DEF CHAR $AC_NEWVAR[2,2,2] DEF INT $AC_NEWVAR[2,10,3] DEF REAL $AA_VECTOR[x,y,z] DEF STRING $AC_NEWSTRING[3,3] DEF AXIS $AA_NEWAX[x,3,y]
Wskazówka
Wyświetlenie 3-wymiarowych zmiennych systemowych jest bez ograniczenia moŜliwe, gdy do zmiennej systemowej jest zmienna BTSS.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
586
10.3.2 Zmiana typu implicite
Działanie
Przy przyporządkowaniach wartości i przekazywaniu parametrów mogą być przypo-rządkowywane albo przekazywane zmienne o róŜnych typach danych.
Zmiana typu implicite wyzwana wewnętrzną konwersję typu wartości.
na REAL INT BOOL CHAR STRING AXIS FRAME
z
REAL tak tak* tak1) – – – –
INT tak tak tak1) – – – –
BOOL tak tak tak – – – –
Objaśnienia
* Przy zmianie typu z REAL na INT następuje w przypadku ułamka >=0.5 zaokrą-glenie do góry, w przeciwnym przypadku następuje zaokrąglenie do dołu (por. funkcja ROUND).
Przy przekroczeniach wartości jest wyzwalany alarm. 1) Wartość <>0 odpowiada TRUE, wartość==0 odpowiada FALSE
Wyniki
Konwersja typu z REAL albo INTEGER na BOOL Wynik BOOL = TRUE gdy warto ść REAL albo INTEGER jest
nierówna zeru Wynik BOOL = FALSE gdy warto ść REAL albo INTEGER jest
równa zero Konwersja typu z BOOL na REAL albo INTEGER Wynik REAL TRUE gdy warto ść BOOL = TRUE (1) Wynik INTEGER = TRUE gdy warto ść BOOL = TRUE (1) Konwersja typu z BOOL na REAL albo INTEGER Wynik REAL FALSE) gdy warto ść BOOL = FALSE (0) Wynik INTEGER = FALSE gdy warto ść BOOL = FALSE (0)
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
587
Przykłady zmiany typu implicite
Konwersja typu z INTEGER na BOOL $AC_MARKER[1] = 561 ID=1 WHEN $A_IN[1] == TRUE DO $A_OUT[0]=$AC_MARKER[ 1] Konwersja typu z REAL na BOOL R401 = 100.542 WHEN $A_IN[0] == TRUE DO $A_OUT[2]=$R401 Konwersja typu z BOOL na INTEGER ID=1 WHEN $A_IN[2] == TRUE DO $AC_MARKER[4] = $A_OU T[1]] Konwersja typu z BOOL na REAL R401 = 100.542 WHEN $A_IN[3] == TRUE DO $R10 = $A_OUT[3]
10.3.3 Zmienne GUD
Działanie
Oprócz zmiennych systemowych programista moŜe w akcjach synchronicznych uŜy-wać specjalnych zmiennych GUD. Zmienne są wyświetlane na HMI w zakresie czyn-ności obsługowych Parametry i mogą być stosowane w kreatorze jak teŜ na widoku zmiennych i w protokole zmiennych.
Projektowane zakresy parametrów
Producent maszyny
Poprzez dane maszynowe poszczególne moduły GUD mogą zostać rozszerzone o dodatkowe, specyficzne dla kanału zakresy parametrów o typach danych REAL, INT, BOOL, AXIS, CHAR i STRING, które mogą być czytanie i zapisywane zarówno z pro-gramu obróbki jak teŜ poprzez akcje synchroniczne.
Parametry są dostępne po ustawieniu odpowiednich danych maszynowych z następ-nym rozruchem sterowania.
Odnośnie projektowania odnośnych danych maszynowych patrz dane producenta maszyny.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
588
Zmienne predefiniowane
Wskazówka
Nawet gdy nie działają Ŝadne pliki definicji GUD, mogą zostać odczytane z HMI nowe parametry w kaŜdorazowym module GUD, zdefiniowane poprzez dane maszynowe.
Lista predefiniowanych nazw zmiennych
Nazwa Synact-GUD
typu danych REAL typu danych INT typu danych BOOL w module SYG_RS[ ] SYG_IS[ ] SYG_BS[ ] Moduł SGUD SYG_RM[ ] SYG_IM[ ] SYG_BM[ ] Moduł MGUD SYG_RU[ ] SYG_IU[ ] SYG_BU[ ] Moduł UGUD SYG_R4[ ] SYG_I4[ ] SYG_B4[ ] Moduł GUD4 SYG_R5[ ] SYG_I5[ ] SYG_B5[ ] Moduł GUD5 SYG_R6[ ] SYG_I6[ ] SYG_B6[ ] Moduł GUD6 SYG_R7[ ] SYG_I7[ ] SYG_B7[ ] Moduł GUD7 SYG_R8[ ] SYG_I8[ ] SYG_B8[ ] Moduł GUD8 SYG_R9[ ] SYG_I9[ ] SYG_B9[ ] Moduł GUD9
Lista predefiniowanych nazw zmiennych
Nazwa Synact-GUD
typu danych AXIS typu danych CHAR typu danych STRING w module SYG_AS[ ] SYG_CS[ ] SYG_SS[ ] Moduł SGUD SYG_AM[ ] SYG_CM[ ] SYG_SM[ ] Moduł MGUD SYG_AU[ ] SYG_CU[ ] SYG_SU[ ] Moduł UGUD SYG_A4[ ] SYG_C4[ ] SYG_S4[ ] Moduł GUD4 SYG_A5[ ] SYG_C5[ ] SYG_S5[ ] Moduł GUD5 SYG_A6[ ] SYG_C6[ ] SYG_S6[ ] Moduł GUD6 SYG_A7[ ] SYG_C7[ ] SYG_S7[ ] Moduł GUD7 SYG_A8[ ] SYG_C8[ ] SYG_S8[ ] Moduł GUD8 SYG_A9[ ] SYG_C9[ ] SYG_S9[ ] Moduł GUD9
Wskazówka
Zmienne typu STRING w akcjach synchronicznych mają stałą długość 32 znaków.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
589
● Wielkość tablicy odpowiednio do <wartości> danej maszynowej.
● Predefiniowane nazwy według powyŜszej listy predefiniowanych nazw zmiennych.
● Dostęp poprzez HMI następuje jak do GUD utworzonych poprzez plik definicji.
● Przyporządkowania stopni ochrony, które są juŜ moŜliwe w pliku definicji GUD po-przez słowa kluczowe APR i APW, nadal obowiązują i odnoszą się tylko do GUD zdefiniowanych w tym pliku definicji GUD.
● Zachowanie się pod względem kasowania: JeŜeli treść określonego pliku definicji GUD zostanie uaktywniona na nowo, wówczas jest najpierw kasowany stary mo-duł danych GUD w pamięci aktywnego systemu plików. Nowe parametry są przy tym równieŜ cofane. Ten proces jest równieŜ moŜliwy poprzez HMI w zakresie czynności obsługowych "Usługi" > "Zdefiniowanie i uaktywnienie danych uŜytkow-nika (GUD)".
Tablice zmiennych
Zmienne GUD albo LUD mogą być tworzone jako tablice 1- do 3-wymiarowe. Są obsługiwane następujące typy danych: BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME Typ danych indeksów jest w przypadku GUD i LUD ograniczony do INT. Zmienne STRING mogą być tworzone tylko 2-wymiarowo.
Przykłady definicji tablicy: DEF BOOL bname3[3,4,3] DEF CHAR cname3[3,3,3] DEF INT iname3[5,5,5] DEF REAL rname3[5,5,5] DEF STRING[10] sname2[3,3] DEF AXIS aname3[5,5,5] DEF FRAME fname3[3,2,2]
Wskazówka
Wyświetlenie elementów tablicy zmiennych 2- i 3-wymiarowych jest moŜliwe tylko z ograniczeniem.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
590
10.3.4 Domyślny identyfikator osi (NO_AXIS)
Działanie
Zmienne albo parametry typu AXIS, które nie zostały zainicjalizowane z wartością, mogą zostać wyposaŜone w zdefiniowane domyślne identyfikatory osi. Niezdefinio-wane zmienne osi są inicjalizowane z tą wartością domyślną.
Nie zainicjalizowane obowiązujące nazwy osi są rozpoznawane poprzez odpytanie zmiennej "NO_AXIS" w akcjach synchronicznych. Tym nie zainicjalizowanym identyfi-katorom osi jest przyporządkowywany identyfikator domyślny zaprojektowany poprzez daną maszynową.
Producent maszyny
Poprzez dane maszynowe musi zostać zdefiniowany i domyślnie ustawiony co naj-mniej jeden poprawny istniejący identyfikator osi. Mogą być jednak równieŜ domyślnie ustawione wszystkie obowiązujące identyfikatory osi. Proszę przestrzegać danych producenta maszyny.
Wskazówka
Nowe utworzone zmienne otrzymują teraz automatycznie zapisaną przy definicji w danej maszynowej wartość dla domyślnej nazwy osi.
Dalsze informacje dot. definicji obowiązującej poprzez daną maszynową patrz:
Literatura:
/FBSY/ Podręcznik działania Akcje synchroniczne
Składnia PROC UP(AXIS PAR1=NO_AXIS, AXIS PAR2=NO_AXIS)
IF PAR1 <>NO_AXIS...
Znaczenie PROC Definicja podprogramu UP Nazwa podprogramu do rozpoznania PARn Parametr n NO_AXIS Inicjalizacja parametru formalnego z domyślnym identyfikatorem osi
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
591
Przykład: definicja zmiennej osi w programie główny m
Kod programu DEF AXIS AXVAR UP( , AXVAR)
10.3.5 Znacznik akcji synchronicznej ($AC_MARKER[n] )
Działanie Zmienna tablicowa $AC_MARKER[n] moŜe być czytana i zapisywana w akcjach syn-chronicznych. Te zmienne mogą znajdować si w pamięci albo aktywnego albo pasyw-nego systemu plików.
Zmienna akcji synchronicznej: typ danych INT
$AC_MARKER[n] Specyficzny dla kanału znacz-
nik/licznik o typie danych INTEGER $MC_MM_NUM_AC_MARKER Dana maszynowa do ustawienia liczby
specyficznych dla kanału znaczników dla akcji synchronicznych ruchu n in-deks tablicy zmiennej 0-n
Przykład odczytu i zapisu zmiennej znacznikowej
Kod programu WHEN ... DO $AC_MARKER[0] = 2 WHEN ... DO $AC_MARKER[0] = 3 WHENEVER $AC_MARKER[0] == 3 DO $AC_OVR=50
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
592
10.3.6 Parametry akcji synchronicznych ($AC_PARAM[n ])
Działanie Parametry akcji synchronicznych $AC_PARAM[n] słuŜą do obliczeń i jako pamięć po-średnia w akcjach synchronicznych. Te zmienne mogą być zapisane w pamięci albo aktywnego albo pasywnego systemu plików.
Zmienna synchronizacji: typ danych REAL
Parametry występują pod tą samą nazwą jeden raz na kanał. $AC_PARAM[n] Zmienna obliczeniowa dla akcji synchronicznych
ruchu (REAL) $MC_MM_NUM_AC_PARAM Dana maszynowa do ustawienia liczby parame-
trów dla akcji synchronicznych ruchu do maksy-malnie 20000.
n Indeks tablicy parametru 0n
Przykład parametrów akcji synchronicznych $AC_PARAM [n]
Kod programu $AC_PARAM[0]=1.5 $AC_MARKER[0]=1 ID=1 WHEN $AA_IW[X]>100 DO $AC_PARAM[1]=$AA_IW[X] ID=2 WHEN $AA_IW[X]>100 DO $AC_MARKER[1]=$AC_MARKER [2]
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
593
10.3.7 Parametry obliczeniowe ($R[n])
Działanie Ta statyczna zmienna tablicowa słuŜy do obliczeń w programie obróbki i akcjach syn-chronicznych.
Składnia Programowanie w programie obróbki: REAL R[n] REAL Rn
Programowanie w akcjach synchronicznych: REAL $R[n]
REAL $Rn
Parametry obliczeniowe
Zastosowanie parametrów obliczeniowych umoŜliwia: ● Zapisywanie wartości, które mają zostać zachowane po zakończeniu programu, zresetowaniu NC i power on. ● Wyświetlenie zapisanych wartości w obrazie parametrów R.
Przykłady Kod programu Komentarz WHEN $AA_IM[X]>=40.5 DO $R10=$AA_MM[Y] ; Zastosowan ie R10
w akcji synchronicznej. G01 X500 Y70 F1000 STOPRE ; Zatrzymanie przebiegu wyprze-
dzaj ącego IF R10>20 ; Ewaluacja zmiennej oblicze-
niowej.
Kod programu SYG_AS[2]=X SYG_IS[1]=1 WHEN $AA_IM[SGY_AS[2]]>10 DO $R3=$AA_EG_DENOM[SYG_AS[1]],SYG_AS[2]] WHEN $AA_IM[SGY_AS[2]]>12 DO $AA_SCTRACE[SYG_AS[2]] =1 SYG_AS[1]=X SYG_IS[0]=1 WHEN $AA_IM[SGY_AS[1]]>10 DO $R3=$$MA_POSCTRL_GAIN[ SYG_IS[0]],SYG_AS[1]] WHEN $AA_IM[SGY_AS[1]]>10 DO $R3=$$MA_POSCTRL_GAIN[ SYG_AS[1]] WHEN $AA_IM[SGY_AS[1]]>15 DO $$MA_POSCTRL_GAIN[SYG_ AS[0]], SYG_AS[1]]=$R3
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
594
10.3.8 Odczyt i zapis danych maszynowych NC i danyc h nastawczych NC
Działanie Odczyt i zapis danych maszynowych/nastawczych NC jest moŜliwy równieŜ z akcji synchronicznych. Przy odczycie i zapisie elementów tablicy danych maszynowych moŜna przy programowaniu pominąć indeks. Gdy nastąpi to w programie obróbki, wówczas przy odczycie jest czytany pierwszy element tablicy a przy zapisie są zapi-sywane wartością wszystkie elementy tablicy.
W akcjach synchronicznych jest w tym przypadku czytany albo zapisywany tylko pierwszy element.
Ustalenie MD, SD z $: Odczyt wartości w momencie interpretacji akcji synchronicznych
$$: Odczyt wartości w przebiegu głównym
Odczyt warto ści MD i SD w momencie przebiegu wyprzedzaj ącego
Są one z akcji synchronicznej adresowane ze znakiem $ i poddawanie ewaluacji w momencie przebiegu wyprzedzającego.
ID=2 WHENEVER $AA_IM[z]<$SA_OSCILL_REVERSE_POS2[Z]- 6 DO $AA_OVR[X]=0 ;Tutaj nast ępuje si ęgni ęcie do przyjmowanego za niezmienny ob-szaru nawrotu 2 dla ruchu wahliwego
Odczyt warto ści MD i SD w momencie przebiegu głównego
Są one z akcji synchronicznej adresowane ze znakami $$ i poddawane ewaluacji w momencie przebiegu głównego.
ID=1 WHENEVER $AA_IM[z]<$$SA_OSCILL_REVERSE_POS2[Z] -6 DO $AA_OVR[X]=0 ;Tutaj zakłada si ę, Ŝe pozycja nawrotu mogłaby zosta ć zmienio-na w drodze czynno ści obsługowej podczas wykonywania.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
595
Zapis warto ści MD i SD w momencie przebiegu głównego
Aktualnie ustawione prawo dostępu musi dopuszczać dostęp w celu zapisu. Działanie dla wszystkich MD i SD jest podane w literaturze: /LIS/, Listy (podręcznik 1).
Pisane MD i SD naleŜy adresować z $$ na początku.
Przykład Kod programu Komentarz ID=1 WHEN $AA_IW[X]>10 DO
$$SN_SW_CAM_PLUS_POS_TAB_1[0]=20
; Zmiana pozycji ł ączeniowej krzywki programowej. Wska-zówka: Pozycje ł ączeniowe muszą zosta ć zmienione 2-3 takty IPO przed osi ągni ęciem pozycji.
$$SN_SW_CAM_MINUS_POS_TAB_1[0]=30
10.3.9 Zmienne zegarowe ($AC_Timer[n])
Działanie Zmienna systemowa $AC_TIMER[n] umoŜliwia uruchomienie akcji po zdefiniowanych czasach oczekiwania.
Zmienna zegarowa: typ danych REAL
$AC_TIMER[n] Specyficzny dla kanału zegar o typie danych REAL s Jednostka w sekundach n Indeks zmiennej zegarowej Ustawienie zegara
Inkrementacja zmiennej zegarowej jest uruchamiana przez przyporządkowanie warto-ści:
$AC_TIMER[n] = value
n: Numer zmiennej czasowej value: Wartość startowa (i. d. R "0")
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
596
Zatrzymanie zegara
Inkrementowanie zmiennej zegarowej jest zatrzymywane przez przyporządkowanie wartości ujemnej: $AC_TIMER[n]=-1
Odczyt zegara
Aktualna wartość czasu moŜe być czytana przy bieŜącej albo zatrzymanej zmiennej zegarowej.
Po zatrzymaniu zmiennej czasowej przez przyporządkowanie -1 ostatnia aktualna wartość czasu zostaje zatrzymana i moŜe nadal być czytana.
Przykład Wyprowadzenie wartości rzeczywistej poprzez wyjście analogowe 500 ms po rozpo-znaniu wejścia cyfrowego:
Kod programu Komentarz WHEN $A_IN[1]==1 DO $AC_TIMER[1]=0 WHEN $AC_TIMER[1]>=0.5 DO $A_OUTA[3]=$AA_IM[X] $AC_TIMER[1]=-1
; Cofni ęcie zegara i wy-startowanie
10.3.10 Zmienne FIFO ($AC_FIFO1[n] ... $AC_FIFO10[n ])
Działanie W celu zapisania przynaleŜnych do siebie ciągów danych jest do dyspozycji 10 zmiennych FIFO (pamięć FIFO). Typ danych: REAL
Zastosowanie:
● pomiar cykliczny
● obróbka przelotowa
Do kaŜdego elementu moŜliwy jest dostęp w celu odczytu i zapisu.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
597
Zmienne FIFO
Liczba dostępnych zmiennych FIFO jest ustalana poprzez daną maszynową MD28260 $MC_NUM_AC_FIFO.
Liczba wartości wpisywanych do zmiennej FIFO jest definiowana przez daną maszy-nową MD28264 $MC_LEN_AC_FIFO. Wszystkie zmienne FIFO mają taką samą dłu-gość.
Suma wszystkich elementów FIFO jest tworzona tylko wtedy, gdy w MD28266 $MC_MODE_AC_FIFO jest ustawiony Bit0.
Indeksy 0 do 5 mają znaczenie specjalne:
Indeks Znaczenie
Przy zapisie Nowa wartość jest zapisywana w FIFO. 0
Przy odczycie Najstarszy element jest czytany i usuwany z FIFO.
1 Dostęp do najstarszego zapisanego elementu
2 Dostęp do najmłodszego zapisanego elementu
3 Suma wszystkich elementów FIFO
4 Liczba elementów dostępnych w FIFO Do kaŜdego elementu FIFO jest dostęp w celu odczytu i zapisu. Cofnięcie zmiennej FIFO następuje przez cofnięcie liczby elementów, np. dla pierwszej zmiennej FIFO: $AC_FIFO1[4]=0
5 Aktualny indeks zapisu w stosunku do początku FIFO
6 do nmax Dostęp do n-tego elementu FIFO
Przykład: pami ęć FIFO
Podczas przebiegu produkcji taśma przenośnikowa jest uŜywana do transportu pro-duktów o róŜnych długościach (a, b, c, d). Na taśmie przenośnikowej o długości transportowej są dlatego zaleŜnie od poszczególnych długości produktu równocześnie transportowane róŜne liczby produktów. Przy niezmiennej prędkości transportu musi przez to nastąpić dopasowanie odbierania produktów do ich zmiennych czasów do-cierania.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
598
Kod programu Komentarz DEF REAL ZWI=2.5 ; Stały odst ęp mi ędzy nakładanymi
produktami. DEF REAL GESAMT=270 ; Odst ęp mi ędzy pozycj ą pomiaru
długo ści i pozycj ą odbierania. EVERY $A_IN[1]==1 DO $AC_FIFO1[4]=0 ; Na pocz ątku procesu, cofni ęcie
FIFO. EVERY $A_IN[2]==1 DO $AC_TIMER[0]=0 ; Gdy produkt p rzerwie zapor ę
świetln ą, start pomiaru czasu. EVERY $A_IN[2]==0 DO $AC_FIFO1[0]=$AC_TIMER[0]*$AA_VACTM[B]
; Gdy zapora świetlna zostanie odsłoni ęta, obliczenie długo ści produktu ze zmierzonego czasu i pr ędko ści transportu i zapisanie w FIFO.
EVERY $AC_FIFO1[3]+$AC_FIFO1[4]*ZWI>=GESAMT DO POS[Y]=-30 $R1=$AC_FIFO1[0]
; Gdy tylko suma wszystkich długo-ści produktu i odst ępów po średnich będzie wi ększa/równa długo ści mi ę-dzy pozycj ą nakładania i odbiera-nia, zdj ąć produkt z ta śmy przeno-śnikowej w pozycji odbierania, przynale Ŝną długo ść produktu od-czyta ć z FIFO.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
599
10.3.11 Informacja o typach bloków w interpolatorze ($AC_BLOCKTYPE,
$AC_BLOCKTYPEINFO, $AC_SPLITBLOCK)
Działanie Dla akcji synchronicznych są do dyspozycji następujące zmienne systemowe, aby uzyskać informację o bloku właśnie aktualnym w przebiegu głównym: ● $AC_BLOCKTYPE ● $AC_BLOCKTYPEINFO ● $AC_SPLITBLOCK
$AC_BLOCKTYPE $AC_BLOCKTYPEINFO
Warto ść: Warto ść:
0 nierówna 0 T H Z E Znaczenie:
Blok ory-ginalny
Blok po średni Wyzwalacz dla bloku po średniego
1 1 0 0 0 Wewnętrznie generowany blok, brak dalszej informacji
2 2 0 0 1 Fazki/zaokrąglenia: prosta
2 2 0 0 2 Fazki/zaokrąglenia: okrąg
3 3 0 0 1 WAB: dosunięcie po prostej
3 3 0 0 2 WAB: dosunięcie po ćwierćokręgu
3 3 0 0 3 WAB: dosunięcie po półokręgu
Korekcja narzędzia:
4 4 0 0 1 Blok dosuwu po STOPRE
4 4 0 0 2 Bloki łączące przy nie znalezionym punkcie prze-cięcia
4 4 0 0 3 Okrąg punktowy na naroŜnikach wewnętrznych (tylko przy TRACYL)
4 4 0 0 4 Okrąg obejścia (wzgl. przekrój stoŜkowy) na naroŜnikach zewnętrznych
4 4 0 0 5 Bloki dosunięcia przy wyłączeniu korekcji
4 4 0 0 6 Bloki dosunięcia przy ponownym uaktywnieniu korekcji promienia narzędzia
4 4 0 0 7 Rozszczepienie bloku z powodu zbyt duŜej krzy-wizny
4 4 0 0 8 Bloki wyrównawcze przy frezowaniu czołowym 3D (wektor narzędzia / wektor powierzchniowy)
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
600
$AC_BLOCKTYPE $AC_BLOCKTYPEINFO
Warto ść: Warto ść:
0 nierówna 0 T H Z E Znaczenie:
Blok ory-ginalny
Blok po średni Wyzwalacz dla bloku po średniego
Ścięcie naroŜnika przez:
5 5 0 0 1 G641
5 5 0 0 2 G642
5 5 0 0 3 G643
5 5 0 0 4 G644
Blok TLIFT z:
6 6 0 0 1 ruchem liniowym osi stycznej i bez ruchu odsu-nięcia
6 6 0 0 2 ruchem nieliniowym osi stycznej (wielomian) i bez ruchu odsunięcia
6 6 0 0 3 ruchem odsunięcia, ruch osi stycznej i ruch od-sunięcia rozpoczynają się równocześnie
6 6 0 0 4 ruchem odsunięcia, oś styczna rozpoczyna ruch dopiero wtedy, gdy określona pozycja odsunięcia jest uzyskana
Podział drogi:
7 7 0 0 1 programowany podział drogi przy braku aktywno-ści tłoczenia albo cięcia
7 7 0 0 2 programowany podział drogi przy aktywnym tłoczeniu albo cięciu
7 7 0 0 3 automatycznie wewnętrznie generowany podział drogi
Cykle kompilacyjne:
8 Aplikacja ID ID aplikacji cykli kompilacyjnych, który został utworzony przez blok
T: miejsce tysięcy H: miejsce setek Z: miejsce dziesiątek
E: miejsce jednostek
Wskazówka
$AC_BLOCKTYPEINFO zawiera na miejscu tysięcy (T) zawsze równieŜ wartość dla typu bloku w przypadku, gdy jest blok pośredni. Przy $AC_BLOCKTYPE nierównym 0 miejsce tysięcy nie jest przejmowane.
Akcje synchroniczne ruchu 10.3 Zmienne przebiegu głównego dla akcji synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
601
$AC_SPLITBLOCK
Warto ść: Znaczenie:
0 Niezmieniony zaprogramowany blok (blok generowany przez kompresor jest równieŜ traktowany jako blok zaprogramowany)
1 Ma miejsce blok wygenerowany wewnętrznie albo skrócony blok oryginalny
3 Ma miejsce ostatni blok w łańcuchu wewnętrznie wygenerowanych bloków albo skróconych bloków oryginalnych
Przykład: liczenie bloków ścięcia naro Ŝnika
Kod programu Komentarz $AC_MARKER[0]=0 $AC_MARKER[1]=0 $AC_MARKER[2]=0 ... ; Definicja akcji synchronicznych, przy pomocy
których s ą liczone bloki ści ęcia. ; Liczenie wszystkich bloków ści ęcia w
$AC_MARKER[0]: ID=1 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPE==5) DO $AC_MARKER[0]=$AC_MARKER[0]+1 ... ; Liczenie bloków wytworzonych przy pomocy G641
w $AC_MARKER[1]: ID=2 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPEINFO ==5001) DO
$AC_MARKER[1]=$AC_MARKER[1]+1 ; Liczenie bloków wytworzonych przy pomocy G642
w $AC_MARKER[2]: ID=3 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPEINFO ==5002) DO $AC_MARKER[2]=$AC_MARKER[2]+1 ...
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
602
10.4 Akcje w akcjach synchronicznych
10.4.1 Przegl ąd mo Ŝliwych akcji w akcjach synchronicznych
Akcje w akcjach synchronicznych składają się z przyporządkowań wartości, wywołań funkcji albo parametrów, słów kluczowych albo cykli technologicznych. Poprzez opera-tory są moŜliwe skomplikowane wykonania.
MoŜliwymi zastosowaniami są: ● Obliczanie skomplikowanych wyraŜeń w takcie IPO ● Ruchy w osiach i sterowanie wrzecionami ● Zmiana i ewaluacja online danych nastawczych z akcji synchronicznych (np. wy-
prowadzanie do PLC albo peryferii NC pozycji i czasów zderzaków softwareowych) ● Wyprowadzanie funkcji pomocniczych do PLC ● Dodatkowe ustawianie funkcji bezpieczeństwa ● Ruch nałoŜony, ustawienie korekcji narzędzia online i regulacja odstępu ● Wykonywanie akcji we wszystkich rodzajach pracy ● Wpływanie na akcje synchroniczne z PLC ● Wykonywanie cykli technologicznych ● Wyprowadzanie sygnałów cyfrowych i analogowych ● Odczyt wykonania akcji synchronicznych na takcie interpolacji i odczyt czasu obli-
czeniowego regulatora połoŜenia dla ewaluacji stopnia obciąŜenia
● MoŜliwości diagnozy na otoczce graficznej
Akcja synchroniczna Opis DO $V…=
DO $A...=
Przyporządkowanie (wartości serwo)
Przyporządkowanie zmiennej (zmienna przebiegu głównego)
DO $AC…[n]= DO $AC_MARKER[n]=
DO $AC_PARAM[n]=
Zmienna specjalna przebiegu głównego Odczyt albo zapis znacznika akcji synchronicznej
Odczyt albo zapis parametru akcji synchronicznej
DO $R[n]= Odczyt albo zapis zmiennej obliczeniowej DO $MD...=
DO $$SD...=
Odczyt wartości MD w momencie interpolacji
Zapis wartości SD w przebiegu głównym
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
603
Akcja synchroniczna Opis
DO $AC_TIMER[n]=wartość startowa Zegar
DO $AC_FIFO1[n] …FIFO10[n]= Zmienna FIFO DO $AC_BLOCKTYPE= DO $AC_BLOCKTYPEINFO=
DO $AC_SPLITBLOCK=
Interpretacja aktualnego bloku (zmienna przebiegu głównego)
DO M-, S i H np. M07 Wyprowadzenie funkcji pomocniczych M, S i H
DO RDISABLE Ustawienie blokady wczytywania
DO STOPREOF Zniesienie zatrzymania przebiegu wyprzedzającego
DO DELDTG Szybkie skasowanie pozostałej drogi bez zatrzymania przebiegu
FTCDEF(wielom., LL, UL , współcz.)
DO SYNFCT(wielom., Output, Input)
Definicja wielomianów
Uaktywnienie funkcji synchronicznych: regulacja AC
DO FTOC Korekcja narzędzia online
DO G70/G71/G700/G710 Ustalenie systemu miar dla zadań pozycjonowania
(podanie wymiaru w calach albo metryczne) DO POS[oś]= / DO MOV[oś]=
DO SPOS[wrzeciono]=
Wystartowanie/pozycjonowanie/zatrzymanie osi roz-kazowych
Wystartowanie/pozycjonowanie/zatrzymanie wrzecion
DO MOV[oś]=wartość Wystartowanie/zatrzymanie ruchów bez końca osi rozkazowej
DO POS[oś]= FA [oś]= Posuw osiowy FA ID=1 ... DO POS[oś]= FA [oś]= ID=2 ... DO POS[oś]=
$AA_IM[oś] FA [oś]=
Pozycjonowanie z akcji synchronicznych
DO PRESETON(oś, wartość) Ustawienie wartości rzeczywistej (oreset z akcji syn-chronicznych)
ID=1 EVERY $A_IN[1]=1 DO M3 S…
ID=2 EVERY $A_IN[2]=1 DO SPOS= Wystartowanie/pozycjonowanie/zatrzymanie wrzecion
DO TRAILON(FA,LA,współczynnik sprzęŜenia)
DO LEADON(FA,LA,NRCTAB,OVW)
Włączenie holowania
Włączenie sprzęŜenia wartości prowadzącej DO MEAWA(oś)=
DO MEAC(oś)=
Włączenie pomiaru osiowego
Włączenie pomiaru ciągłego DO [tablica n, m]=SET(wartość, wartość, ...)
DO [tablica n, m]=REP(wartość, wartość, ...)
Inicjalizacja zmiennych tablicowych z listami wartości
Inicjalizacja zmiennych tablicowych z takimi samymi wartościami
DO SETM(nr znacznika)
DO CLEARM(nr znacznika)
Ustawienie znaczników czekania
Skasowanie znaczników czekania
DO SETAL(Alarm Nr.) Ustawienie alarmu cyklu (dodatkowa funkcja bezpie-czeństwa)
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
604
Akcja synchroniczna Opis DO FXS[oś]= DO FXST[oś]= DO FXSW[oś]= DO FOCON[oś]= DO FOCOF[oś]=
Wybór ruchu do oporu sztywnego Zmiana momentu zacisku Zmiana okna nadzoru Uaktywnienie ruchu z ograniczonym momentem/siłą (modalnie) FOC Wyłączenie aktywności ruchu z ograniczonym momen-tem/siłą (akcja synchroniczna działa w odniesieniu do bloku)
ID=2 EVERY $AC_BLOCKTYPE==0 DO $R1=$AC_TANEB
Kąt między styczną do toru w punkcie końcowym ak-tualnego bloku i styczną do toru w punkcie startowym zaprogramowanego następnego bloku
DO $AA_OVR= DO $AC_OVR= DO $AA_PLC_OVR DO $AC_PLC_OVR DO $AA_TOTAL_OVR
DO $AC_TOTAL_OVR
Override osiowy Override po torze Override osiowy zadany przez PLC Override ruchu po torze zadany przez PLC Wynikowy override osiowy
Wynikowy override ruchu po torze $AN_IPO_ACT_LOAD= $AN_IPO_MAX_LOAD= $AN_IPO_MIN_LOAD= $AN_IPO_LOAD_PERCENT= $AN_SYNC_ACT_LOAD= $AN_SYNC_MAX_LOAD= $AN_SYNC_TO_IPO=
Aktualny czas obliczeniowy IPO NajdłuŜszy czas obliczeniowy IPO Najkrótszy czas obliczeniowy IPO Aktualny czas obl. IPO w stosunku do taktu IPO Akt. czas oblicz. dla akcji synchr. po wszystkich kana-łach NajdłuŜszy czas oblicz. dla akcji synchr. po wszystkich kanałach Procentowy udział całej akcji synchronicznej
DO TECCYCLE Wykonanie cyklu technologicznego DO LOCK(n, n, ...) DO UNLOCK(n, n, ...)
DO RESET(n, n, ...)
Zablokowanie Zezwolenie
RESET cyklu technologicznego
CANCEL(n, n, ...) Skasowanie modalnych akcji synchronicznych z ozna-czeniem ID(S) w programie obróbki
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
605
10.4.2 Wyprowadzenie funkcji pomocniczych
Działanie Wyprowadzenie funkcji pomocniczych następuje w akcji synchronicznej bezpośrednio w chwili wyprowadzenia akcji. Zdefiniowany poprzez daną maszynową moment wy-prowadzenia funkcji pomocniczych nie działa. Moment wyprowadzenia ma miejsce wówczas, gdy warunek jest spełniony.
Przykład:
Włączenie chłodziwa w określonej pozycji osi:
WHEN $AA_IM[X]>=15 DO M07 POS[X]=20 FA[X]=250
Dozwolone słowa kluczowe w wykonywanych pojedynczym i blokami akcjach syn-chronicznych (bez modalnego ID)
Funkcje pomocnicze mogą być programowane tylko przy pomocy słów kluczowych WHEN albo EVERY.
Wskazówka
Następujące funkcje pomocnicze nie są dozwolone w akcji synchronicznej: • M0, M1, M2, M17, M30: Zatrzymanie/koniec programu (M2, M17, M30 moŜliwe w przypadku cyklu technologicznego) • M70: funkcja wrzeciona • M6 wzgl. ustawione poprzez daną maszynową funkcje M dla zmiany narzędzia • M40, M41, M42, M43, M44, M45: przełączenie przekładni
Przykład
Kod programu Komentarz WHEN $AA_IW[Q1]>5 DO M172 H510 ; Gdy warto ść rzeczywista osi
Q1 przekracza 5 mm, wyprowa-dzenie funkcji pomocniczych M172 i H510 do PLC.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
606
10.4.3 Ustawienie blokady wczytywania (RDISABLE)
Działanie Przy pomocy RDISABLE jest przy spełnionym warunku zatrzymywane dalsze wyko-nywanie bloku w programie głównym. Zaprogramowane akcje synchroniczne ruchu są wykonywane dalej, kolejne bloki są nadal przygotowywane. W trybie przechodzenia płynnego jest na początku bloku z RDISABLE w akcjach syn-chronicznych zawsze wyzwalane zatrzymanie dokładne, niezaleŜnie od tego, czy RDISABLE działa czy nie.
Przykład
ZaleŜnie od wejść zewnętrznych uruchomienie programu w takcie interpolacji.
Kod programu Komentarz ... WHENEVER $A_INA[2]<7000 DO RDISABLE ; W przypadku g dy na wej-
ściu 2 nast ąpi spadek na-pi ęcia poni Ŝej 7 V, za-trzyma ć kontynuowanie programu
(1000= 1V). N10 G1 X10 ; Gdy warunek jest speł-
niony, działa blokada wczytywania na ko ńcu N10
N20 G1 X10 Y20 ...
10.4.4 Cofni ęcie zatrzymania przebiegu wyprzedzaj ącego (STOPREOF)
Działanie
Przy zaprogramowanym explicite zatrzymaniu przebiegu wyprzedzającego STOPRE albo w przypadku aktywnej akcji synchron. z uaktywnionym zatrzymaniem przebiegu wyprz., STOPREOF znosi to zatrzymanie po najbliŜszym bloku obróbkowym, gdy tyl-ko warunek jest spełniony.
Wskazówka
STOPREOF musi być programowane przy pomocy słowa kluczowego WHEN i pojedyn-czymi blokami (bez numeru ID).
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
607
Przykład
Szybkie rozgałęzienie programu na końcu bloku.
Kod programu Komentarz WHEN $AC_DTEB<5 DO STOPREOF ; Gdy odległo ść na ko ńcu
bloku spadnie poni Ŝej 5 mm, zniesienie zatrzymania prze-biegu wyprzedzaj ącego.
G01 X100 ; Po wykonaniu interpolacji liniowej zatrzymanie prze-biegu wyprzedzaj ącego jest znoszone.
IF $A_INA[7]>500 GOTOF MARKE1=X100 ; Gdy na wej ściu 7 napi ęcie 5V zostanie przekroczone, przeskok do etykiety 1.
10.4.5 Skasowanie pozostałej drogi (DELDTG)
Działanie W zaleŜności od warunku moŜna wyzwolić skasowanie pozostałej drogi dla toru i dla podanej osi. Do dyspozycji jest: ● szybkie, przygotowane skasowanie pozostałej drogi ● skasowanie pozostałej drogi bez przygotowania Przygotowane skasowanie pozostałej drogi przy pomocy DELDTG pozwala na bardzo szybką reakcję na wydarzenie wyzwalające i jest dlatego uŜywane w zastosowaniach krytycznych pod względem czasu, np. gdy ● czas między skasowaniem pozostałej drogi i startem kolejnego bloku powinien być bardzo krótki. ● warunek skasowania pozostałej drogi zostanie z bardzo duŜym prawdopodobień-stwem spełniony.
Wskazówka
Określenie osi umieszczone po DELDTG w nawiasach obowiązuje tylko dla jednej osi pozycjonowania.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
608
Składnia
Skasowanie pozostałej drogi dla toru
DO DELDTG
osiowe skasowanie pozostałej drogi
DO DELDTG(oś1) DELDTG(o ś2) ...
Przykład, szybkie skasowanie pozostałej drogi ruchu po torze
Kod programu Komentarz WHEN $A_IN[1]==1 DO DELDTG N100 G01 X100 Y100 F1000 ; Gdy wej ście zostanie ustawione,
ruch jest przerywany N110 G01 X… IF $AA_DELT>50…
Przykład, szybkie osiowe skasowanie pozostałej drog i
Kod programu Komentarz Przerwanie ruchu pozycjonowania: ID=1 WHEN $A_IN[1]==1 DO MOV[V]=3 FA[V]=700 ; Wysta rtowanie
osi WHEN $A_IN[2]==1 DO DELDTG(V) ; Skasowanie pozosta łej dro-
gi, zatrzymanie osi nast ępu-je przy pomocy MOV=0
Skasowanie pozostałej drogi zale Ŝnie od napi ęcia wej ściowego: WHEN $A_INA[5]>8000 DO DELDTG(X1) ; Gdy tylko na we j ściu 5 zo-
stanie przekroczone napi ęcie 8V, skasowanie pozostałej drogi osi X1. Ruch po torze przebiega dalej.
POS[X1]=100 FA[X1]=10 G1 Z100 F1000
Dalsze informacje
Na końcu bloku ruchu, w którym zostało wyzwolone przygotowane skasowanie pozo-stałej drogi, jest implicite uaktywniane zatrzymanie przebiegu.
Praca z płynnym przechodzeniem między blokami wzgl. ruchy w osiach pozycjonowa-nia są przez to przerywane wzgl. zatrzymywane na końcu bloku z szybkim kasowa-niem pozostałej drogi.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
609
Wskazówka
Przygotowane skasowanie pozostałej drogi:
• nie moŜe być stosowane przy aktywnej korekcji promienia narzędzia.
• akcję wolno programować tylko w akcjach synchronicznych działających pojedynczy-mi blokami (bez numeru ID).
10.4.6 Definicja wielomianu (FCTDEF)
Działanie Przy pomocy FCTDEF mogą być definiowane wielomiany 3. stopnia w formie
y=a0+a1x+a2x2+a3x3. Te wielomiany są uŜywane przez korekcję narzędzia online FTOC i funkcję ewaluacyjną SYNFCT.
Składnia
FCTDEF(Nr wielomianu,LLIMIT,ULIMIT,a 0,a 1,a 2,a 3)
Znaczenie Nr wielomianu numer wielomianu 3. stopnia LLIMIT dolna granica wartości funkcji ULIMIT górna granica wartości funkcji a0, a1, a2, a3 współczynniki wielomianu
Do tych wartości jest równieŜ dostęp poprzez zmienne systemowe
$AC_FCTLL[n] Dolna granica wartości funkcji $AC_FCTUL[n] Górna granica wartości funkcji $AC_FCT0[n] a0
$AC_FCT1[n] a1
$AC_FCT2[n] a2
$AC_FCT3[n] a3
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
610
Wskazówka
Zapis zmiennych systemowych
• Zmienne systemowe mogą być zapisywane z programu obróbki albo z akcji synchro-nicznej. Przy zapisywaniu z programu obróbki konieczne jest przez zaprogramowanie STOPRE zapewnienie zapisu synchronicznego do bloku.
• Zmienne systemowe $AC_FCTLL[n], $AC_FCTUL[n], $AC_FCT0[n] do $AC_FCTn[n] dają się zmieniać z akcji synchronicznych
Przy zapisie z akcji synchronicznych współczynniki wielomianu i granice wartości funk-cji działają natychmiast.
Przykład, wielomian dla odcinka prostej
Z granicą górną 1000, granicą dolną -1000, odcinkiem odciętej a0=$AA_IM[X] i na-chyleniem prostej 1 definicja wielomianu brzmi:
FCTDEF(1, -1000,1000,$AA_IM[X],1)
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
611
Przykład, sterowanie moc ą lasera Jednym z moŜliwych zastosowań definicji wielomianu jest sterowanie mocą lasera. Sterowanie mocą lasera oznacza:
Wpływanie na wyjście analogowe np. w zaleŜności od prędkości ruchu po torze.
Kod programu Komentarz $AC_FCTLL[1]=0.2 ; Definicja współczynników
wielomianu $AC_FCTUL[1]=0.5 $AC_FCT0[1]=0.35 $AC_FCT1[1]=1.5EX-5 STOPRE ID=1 DO $AC_FCTUL[1]=$A_INA[2]*0.1 +0.35 ; Zmiana o nline gra-
nicy górnej. ID=2 DO SYNFCT(1,$A_OUTA[1],$AC_VACTW) ; W zale Ŝności od pr ęd-
kości ruchu po torze (zapisa-nej w $AC_VACTW) sterowanie mocą lasera nast ępuje poprzez wyj ście analogowe 1
Wskazówka
UŜycie wyŜej zdefiniowanego wielomianu następuje przy pomocy SYNFCT.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
612
10.4.7 Funkcja synchroniczna (SYNFCT)
Działanie SYNFCY oblicza wartość wejściową wielomianu 3. stopnia waŜonego przez zmienną wejściową. Wynik znajduje się w zmiennej wyjściowej i jest ograniczony od góry i od dołu. Funkcja ewaluacji znajduje zastosowanie ● przy regulacji AC (sterowanie adaptacyjne), ● przy sterowaniu mocą lasera, ● przy sprzęŜeniu pozycji do przodu.
Składnia SYNFCT(nr wielomianu, wyj ście zmiennej przebiegu głównego, wej-ście zmiennej przebiegu głównego)
Znaczenie Jako zmienna wyjściowa mogą być wybierane zmienne, które ● z oddziaływaniem addytywnym ● z oddziaływaniem multiplikatywnym ● jako offset pozycji ● bezpośrednio
wchodzą do procesu obróbki.
DO SYNFCT Uaktywnienie funkcji ewaluacji
Nr wielomianu Wielomian zdefiniowany przy pomocy FCTDEF (patrz podrozdział "Definicja wielomianu")
Wyjście zmiennej prze-biegu głównego Zapis zmiennej przebiegu głównego
Wejście zmiennej prze-biegu głównego Odczyt zmiennej przebiegu głównego
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
613
Przykład regulacja AC (addytywna)
Addytywne sterowanie zaprogramowanym posuwem
Zaprogramowany posuw ma być addytywnie regulowany poprzez prąd osi X (oś do-suwu): Posuw ma się zmieniać o +/- 100 mm/min, przy czym prąd odchyla się o +/-1A od punktu roboczego 5A.
1. Definicja wielomianu
Określenie współczynników y = f(x) = a0 + a1x + a2x
2 + a3x3
a1 = -100mm/1 min A a0 = -(-100)*5 =500 a2 = a3 = 0 (bez członu kwadratowego i sześciennego) Górna granica = 100 Dolna granica = -100 Z tego wynika: FCTDEF(1,-100,100,500,-100,0,0)
2. Włączenie regulacji AC
ID=1 DO SYNFCT(1,$AC_VC,$AA_LOAD[x])
; Poprzez $AA_LOAD[x] odczyt aktualnego obciąŜenia osi (% max prądu napędu), ; przy uŜyciu wyŜej zdefiniowanego wielomianu obliczenie korekcji posuwu po torze.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
614
Przykład, regulacja AC (multiplikatywna)
Multiplikatywne sterowanie zaprogramowanym posuwem
Zaprogramowany posuw ma być sterowany multiplikatywnie, przy czym posuw – za-leŜnie od obciąŜenia napędu – nie powinien przekraczać określonych granic:
● Przy obciąŜeniu napędu wynoszącym 80% posuw powinien się zatrzymać: override = 0.
● Przy obciąŜeniu napędu wynoszącym 30% wolno jest wykonywać ruch z zaprogra-mowanym posuwem:
Override = 100%.
Prędkość posuwu wolno jest przekroczyć o maksymalnie 20%: Max Override = 120%.
1. Definicja wielomianu
Określenie współczynników
y = f(x) = a0 + a1x + a2x2 + a3x
3
a1 = -100%/(80-30)% = -2
a0 = 100 + (2*30) = 160
a2 = a3 = 0 (bez członu kwadratowego i sześciennego)
Górna granica = 120 Dolna granica = 0
Z tego wynika:
FCTDEF(2,0,120,160,-2,0,0)
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
615
2. Włączenie regulacji AC
ID=1 DO SYNFCT(2,$AC_OVR,$AA_LOAD[x])
; Poprzez $AA_LOAD[x] odczyt aktualnego obciąŜenia osi (% max prądu napędu),
;Obliczenie override posuwu przy pomocy wyŜej zdefiniowanego wielomianu
10.4.8 Regulacja odst ępu z ograniczon ą korekcj ą ($AA_OFF_MODE)
Działanie Całkujące obliczenie wartości odstępu z kontrolą obszaru granicznego: $AA_OFF_MODE = 1
UWAGA
Wzmocnienie nałoŜonego obwodu regulacji jest zaleŜne od ustawienia taktu IPO.
Pomoc: odczytać i wliczyć MD dla taktu IPO.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
616
Wskazówka
Ograniczenie prędkości nałoŜonego interpolatora przez MD 32020:
JOG_VELO przy takcie IPO 12 ms. Wzór dla prędkości:
Przykład
Podprogram "AON": Regulacja odst ępu wł.
Kod programu Komentarz PROC AON $AA_OFF_LIMIT[Z]=1 ; Ustalenie warto ści gra-
nicznej. FCTDEF(1, -10, +10, 0, 0.6, 0.12) ; Definicja wielo mianu ID=1 DO SYNFCT(1,$AA_OFF[Z],$A_INA[3]) ; Regulacja odst ępu ak-
tywna. ID=2 WHENEVER $AA_OFF_LIMIT[Z]<>0 DO $AA_OVR[X] = 0 ; Przy przekroczeniu obsza-
ru granicznego zablokowanie osi X.
RET ENDPROC
Podprogram "AOFF": regulacja odst ępu wył.
Kod programu Komentarz PROC AOFF CANCEL(1) ; Skasowanie akcji synchr.
regulacja odst ępu CANCEL(2) ; Skasowanie kontroli ob-
szaru granicznego RET ENDPROC
Program główny "MAIN"
Kod programu Komentarz AON ;Regulacja odstpu wł. ... G1 X100 F1000 AOFF ;Regulacja odst ępu wył. M30
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
617
Dalsze informacje
Przesuni ęcie pozycji w bazowym układzie współrz ędnych
Przy pomocy zmiennej systemowej $AA_OFF[oś] moŜna na kaŜdą oś w kanale nało-Ŝyć ruch. Działa on jako offset pozycji w bazowym układzie współrzędnych.
Tak zaprogramowany offset pozycji jest natychmiast nakładany na odpowiednią oś, niezaleŜnie od tego, czy oś wykonuje ruch zaprogramowany czy nie.
Ograniczenie wyjścia zmiennej przebiegu głównego:
Jest moŜliwe ograniczenie absolutnie korygowanej wartości (wyjście zmiennej prze-biegu głównego) do wartości zapisanej w danej nastawczej SD43350 $SA_AA_OFF_LIMIT.
Poprzez daną maszynową MD36750 $MA_AA_OFF_MODE jest ustalany rodzaj nało-Ŝenia odstępu.
Warto ść Znaczenie
0 Ewaluacja proporcjonalna
1 Ewaluacja całkująca
Przy pomocy zmiennej systemowej $AA_OFF_LIMIT[oś] moŜna w zaleŜności od kie-runku odpytywać, czy wartość korekcji znajduje się w obszarze granicznym. Ta zmienna systemowa moŜe być odpytywana z akcji synchronicznych i przy osiągnięciu wartości granicznej np. zatrzymać oś albo ustawić alarm.
0: Wartość korekcji nie w granicach
1 Limit wartości korekcji osiągnięty w kierunku dodatnim
-1: Limit wartości korekcji osiągnięty w kierunku
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
618
10.4.9 Korekcja narz ędzia online (FTOC)
Działanie
FTOC umoŜliwia nałoŜony ruch dla osi geometrycznej według wielomianu zaprogra-mowanego przy pomocy FCTDEF w zaleŜności od wartości odniesienia, którą moŜe być np. wartość rzeczywista osi.
Współczynnik a0 definicji funkcji FCTDEF( ) podlega ewaluacji przy FTOC.
Granice górna i dolna są zaleŜne od a0.
Przez to moŜecie równieŜ programować modalne korekcje narzędzia online albo regu-lacje odstępu jako akcje synchroniczne.
Ta funkcja znajduje zastosowanie przy obróbce obrabianego przedmiotu i obciąganiu ściernicy w tym samym kanale albo w róŜnych kanałach (kanał obróbki i kanał obcią-gania).
Warunki brzegowe i ustalenia dotyczące obciągania ściernicy obowiązują dla FTOC analogicznie do korekcji online narzędzia przy pomocy PUTFTOCF. Informacje znaj-dziecie w rozdziale "Korekcje narzędzi".
Składnia
FTOC(nr wielomianu,EV,Długo ść1_2_3 albo promie ń4,kanał,wrzeciono)
Znaczenie
DO FTOC Wykonanie korekcji narzędzia online
Nr wielomianu Wielomian zdefiniowany przy pomocy FCTDEF, patrz punkt "Definicja wielomianu" w niniejszym rozdziale.
EV Zmienna przebiegu głównego, do której poprzez podany wielomian ma zostać obliczona wartość funkcji.
Długo ść1_2_3
Promie ń4
Korekcja długości ($TC_DP1 do 3) wzgl. korek-cja promienia, do którego obliczona wartość funkcji jest dodawana.
Kanał Numer kanału, w którym korekcja działa. Odno-śnie korekcji w aktywnym kanale nie następuje tutaj podanie Ŝadnych danych. W kanale docelo-wym FTOCON musi być włączone.
Wrzeciono NaleŜy podać tylko wtedy, jeŜeli ma być korygo-wane nie aktywne wrzeciono.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
619
Przykład W przykładzie ma zostać skorygowana długość aktywnej, pracującej ściernicy.
Kod programu Komentarz FCTDEF(1,-1000,1000,-$AA_IW[V],1) ; Zdefiniowanie f unkcji. ID=1 DO FTOC(1,$AA_IW[V],3,1) ; Wybór korekcji onli ne narz ę-
dzia. Warto ść rzeczywista osi V jest
warto ści ą wej ściow ą dla wielomiany 1. Wynik jest w kanale 1 dodawany jako warto ść korekcyjna do długo-ści 3 aktywnej ściernicy.
WAITM(1,1,2) ; Synchronizacja z kanałem obrób-ki.
G1 V-0.05 F0.01 G91 ; Ruch dosuwu do obci ągania. G1 V-0.05 F0.02 ... CANCEL(1) ; Cofni ęcie wyboru korekcji online ...
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
620
10.4.10 Korekcja długo ści narz ędzia online ($AA_TOFF)
Działanie
Poprzez zmienną systemową $AA_TOFF[ ] moŜna trójwymiarowo w czasie rzeczywi-stym nałoŜyć efektywne długości narzędzia odpowiednio do trzech jego kierunków.
Jako indeks są stosowane trzy identyfikatory osi geometrycznych. Przez to liczba ak-tywnych kierunków korekcji jest ustalona przez osie geometryczne aktywne w tym samym czasie.
Wszystkie korekcje mogą być równocześnie aktywne.
Składnia N.. TRAORI N.. TOFFON(X, 25) N.. WHEN TRUE DO $AA_TOFF[X] N.. TOFFON(Y, 25) N.. WHEN TRUE DO $AA_TOFF[Y] N.. TOFFON(Z, 25) N.. WHEN TRUE DO $AA_TOFF[Z]
Znaczenie
TOFFON Tool Offset ON (uaktywnienie korekcji długości narzę-dzia online)
Przy uaktywnieniu moŜna dla odpowiedniego kierunki korekcji podać offset, który jest natychmiast realizowany.
TOFFOF Tool Offset OF (cofnięcie korekcji długości narzędzia online)
Odpowiednie wartości korekcji są cofane i jest wyzwala-ne zatrzymanie przebiegu wyprzedzającego.
X, Y, Z Kierunek korekcji dla podanej wartości offsetu przy TOFFON
$AA_TOFF[X]=warto ść NałoŜenie w kierunku X
$AA_TOFF[Y]=warto ść NałoŜenie w kierunku Y
$AA_TOFF[Z]=warto ść NałoŜenie w kierunku Z
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
621
Przykłady
Przykład 1: Wybór korekcji długo ści narz ędzia
Kod programu Komentarz N10 TRAORI(1) ; Transformacja wł.. N20 TOFFON(Z) ; Uaktywnienie korekcji dług.
narz ędzia online dla kierunku Z narz ędzia.
N30 WHEN TRUE DO $AA_TOFF[Z]=10 G4 F5 ; Dla kierunk u Z narz ę-dzia jest interpolowana ko-rekcja dług. narz ędzia wyno-sz ąca 10.
N40 TOFFON(X) ; Uaktywnienie korekcji onli-ne długo ści narz ędzia.
N50 ID=1 DO $AA_TOFF[X]=$AA_IW[X2] G4 F5 ; Dla kier unku X na-rz ędzia korekcja jest wykony-wana zale Ŝnie od pozycji osi X2.
... ; Przyporz ądkowanie aktualnej
korekcji w kierunku X. Dla kierunku X narz ędzia korekcja długo ści narz ędzia jest po-nownie cofana na 0:
N100 XOFFSET=$AA_TOFF_VAL[X] N120 TOFFON(X, -XOFFSE T) G4 F5
Przykład 2: Cofni ęcie wyboru korekcji długo ści narz ędzia
Kod programu Komentarz N10 TRAORI(1) ; Transformacja wł.. N20 TOFFON(X) ; Uaktywnienie kierunku
Z narz ędzia. N30 WHEN TRUE DO $AA_TOFF[X] = 10 G4 F5 ; Dla kier unku X na-
rz ędzia jest interpolowana korekcja dług. narz ędzia wy-nosz ąca 10.
... N80 TOFFOF(X) ; Offset pozycji kierunku
X narz ędzia jest kasowany: ...$AA_TOFF[X]=0
Nie jest wykonywany ruch w Ŝadnej osi, do aktualnej pozycji w WKS jest doliczany offset pozycji odpowiednio dla aktualnej orientacji.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
622
10.4.11 Ruchy pozycjonowania
Działanie Osie mogą być pozycjonowane całkowicie asynchronicznie do programu obróbki z ak-cji synchronicznych. Programowanie osi pozycjonowania z akcji synchronicznych jest zalecane dla przebiegów cyklicznych albo procesów, które są w duŜym stopniu stero-wane wydarzeniami. Osie programowane z akcji synchronicznych nazywają się osiami rozkazowymi.
Programowanie Literatura: /PG/ Podręcznik programowania Podstawy; punkt "Dane dot. drogi"
/FBSY/ Opis działania Akcje synchroniczne; "Wystartowanie osi rozkazowych"
Parametry System miar dla zadań pozycjonowania w akcjach synchronicznych jest ustalany przy pomocy G-Code G70/G71/G700/G710 . Przez programowanie funkcji G w akcji synchronicznej moŜna ustalić ewaluację CALOWĄ/METRYCZNĄ dla akcji synchronicznej niezaleŜnie od kontekstu programu obróbki.
10.4.12 Pozycjonowanie osi (POS)
Działanie Ruch osi pozycjonowania nie ma w przeciwieństwie do programowania z programu ob-róbki Ŝadnego wpływu na wykonywanie programu obróbki.
Składnia
POS[oś] = warto ść
Znaczenie DO POS Wystartowanie/pozycjonowanie osi rozkazowej Oś Nazwa osi, w której ma zostać wykonany ruch Warto ść Podanie wartości ruchu do wykonania (zaleŜnie od trybu ruchu)
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
623
Przykłady
Przykład 1:
Kod programu Komentarz ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 ; Ruch w osi U zale Ŝnie od trybu ru-
chu przyrostowo o 100 (cali/mm) wzgl. do pozycji 100 (cali/mm) od punktu zerowego sterowania.
; Wykonanie ruchu w osi U o drog ę obli-czon ą ze zmiennej przebiegu głównego
ID=1 EVERY $AA_IM[B]>75 DO POS[U]=$AA_MW[V]-$AA_IM[ W]+13.5
Przykład 2:
Otoczenie programowe wpływa na drogę pozycjonowania w osi pozycjonowania (nie funkcja G w części akcyjnej akcji synchronicznej):
Kod programu Komentarz N100 R1=0 N110 G0 X0 Z0 N120 WAITP(X) N130 ID=1 WHENEVER $R==1 DO POS[X]=10 N140 R1=1 N150 G71 Z10 F10 ; Z=10mm X=10mm N160 G70 Z10 F10 ; Z=254mm X=254mm N170 G71 Z10 F10 ; Z=10mm X=10mm N180 M30
G71 w części akcyjnej akcji synchronicznej jednoznacznie określa drogę pozycjono-wania (metrycznie), niezaleŜnie od środowiska programowego:
Kod programu Komentarz N100 R1=0 N110 G0 X0 Z0 N120 WAITP(X) N130 ID=1 WHENEVER $R==1 DO G71 POS[X]=10 N140 R1=1 N150 G71 Z10 F10 ; Z=10mm X=10mm N160 G70 Z10 F10 ; Z=254mm X=10mm (X pozycjonuje zawsze na
10 mm) N170 G71 Z10 F10 ; Z=10mm X=10mm N180 M30
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
624
JeŜeli ruch w osi ma zostać wystartowany nie z początkiem bloku, override dla osi moŜe z akcji synchronicznej być aŜ do poŜądanego momentu startu utrzymywany na 0.
Kod programu Komentarz WHENEVER $A_IN[1]==0 DO $AA_OVR[W]=0 G01 X10 Y25 F7 50 POS[W]=1500 FA=1000 ; O ś pozycjonowania pozostaje
tak długo zatrzymana, jak dłu-go wej ście cyfrowe 1=0.
10.4.13 Pozycja w zadanym zakresie odniesienia (POS RANGE)
Działanie Przy pomocy funkcji POSRANGE( ) moŜna określić, czy aktualnie interpolowana po-zycja zadana osi znajduje się w oknie wokół zadanej pozycji odniesienia. Dane dot. pozycji mogą odnosić się do zadawalnych układów współrzędnych. Przy odpytywaniu pozycji rzeczywistej osi modulo jest uwzględniana korekcja modulo.
Wskazówka
Funkcja moŜe zostać wywołana tylko z akcji synchronicznej. Przy wywołaniu z progra-mu obróbki następuje alarm 14091 %1 blok %2 Funkcja niedopuszczalna, indeks: %3 z indeksem 5.
Składnia
BOOL POSRANGE(oś, Refpos, Winlimit,[Coord])
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
625
Znaczenie
BOOL POSRANGE Aktualna pozycja osi rozkazowej znajduje się w oknie zada-nej pozycji odniesienia.
AXIS <o ś> Identyfikator osi maszyny, kanału albo geometrii
REAL Refpos Pozycja odniesienia w układzie współrzędnych Coord
REAL Winlimit Wartość bezwzględna która daje granicę dla okna pozycji
INT Coord Opcjonalnie jest aktywny MKS. MoŜliwe są: 0 dla MKS (układ współrzędnych maszyny) 1 dla BKS (bazowy układ współrzędnych) 2 dla ENS (nastawny system punktu zerowego) 3 dla WKS (układ współrzędnych obrabianego przedmiotu)
Wartość funkcji Aktualna pozycja zadana zaleŜnie od podania pozycji w zadanym układzie współrzęd-nych
Warto ść funkcji: TRUE gdy Refpos(Coord)
- abs(Winlimit)
Warto ść funkcji: FALSE ≤ Actpos(Coord) ≤ Refpos(Coord) + abs(Winlimit) pozostałe
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
626
10.4.14 Wystartowanie/zatrzymanie osi
Działanie
Przy pomocy MOV[oś]=wartość moŜna uruchomić oś rozkazową bez podania pozycji końcowej. KaŜdorazowa oś wykonuje ruch w zaprogramowanym kierunku, aŜ przez nowe polecenie ruchu albo pozycji zostanie zadany inny ruch albo oś zostanie za-trzymana poleceniem stop.
Składnia
MOV[oś] = wartość
Znaczenie
DO MOV Wystartowanie ruchu osi rozkazowej
Oś Nazwa osi, która ma zostać wystartowana
Warto ść Polecenie start dla ruchu postępowego / ruchu stop Znak określa kierunek ruchu
Typem danych jest INTEGER. Warto ść >0
(zazwyczaj +1) Kierunek dodatni
Warto ść <0
(zazwyczaj -1) Kierunek ujemny
Warto ść ==0 Zatrzymanie ruchu w osi
Wskazówka
JeŜeli oś podziałowa zostanie zatrzymana przy pomocy MOV[oś] = 0 , zostanie ona zatrzymana na najbliŜszej pozycji podziałowej.
Przykład Kod programu Komentarz ... DO MOV[U]=0 ; O ś U jest zatrzymywana
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
627
10.4.15 Zamiana osi (RELEASE, GET)
Działanie
Dla zmiany narzędzia odnośne osie rozkazowe mogą przy pomocy GET (oś) zostać zaŜądane jako akcja akcji synchronicznej. Przyporządkowany do tego kanału typ osi i związane z tym w tym momencie prawo interpolacji moŜna odpytać poprzez zmienną systemową $AA_AXCHANGE_TYP. ZaleŜnie od właściwego stanu i od kanału, który posiada aktualne prawo interpolacji tej osi, są moŜliwe róŜne przebiegi.
Gdy zmiana narzędzia została dokonana, ta oś rozkazowa moŜe jako akcja akcji syn-chronicznej zostać udostępniona dla kanału przy pomocy RELEASE(oś).
Producent maszyny
Odnośna oś musi być przyporządkowana do kanału poprzez dane maszynowe. Pro-szę przestrzegać danych producenta maszyny
Składnia GET(oś[,o ś{,...}]) ZaŜądanie osi
RELAESE(oś[,o ś{,...}]) Udostępnienie osi
Znaczenie DO RELEASE Zezwolenie dla osi jako osi neutralnej DO GET Pobranie osi dla zamiany Oś Nazwa osi, która ma zostać wystartowana
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
628
Przykład, przebieg programu dla zamiany osi dwóch k anałów
Oś Z jest znana w 1. kanale i 2. kanale
Przebieg programu w 1. kanale:
Kod programu Komentarz WHEN TRUE DO RELEASE(Z) ; O ś Z staje si ę osi ą neutraln ą WHENEVER($AA_TYP[Z]==1) DO RDISABLE ; Blokada wczyt ywania jak
długo o ś Z jest osi ą programow ą N110 G4 F0.1 WHEN TRUE DO GET(Z) ; O ś Z staje si ę ponownie osi ą
programow ą NC WHENEVER($AA_TYP[Z]<>1) DO RDISABLE ; Blokada wczyt ywania a Ŝ
oś Z stanie si ę osi ą programow ą N120 G4 F0.1 WHEN TRUE DO RELEASE(Z) ; O ś Z staje si ę osi ą neutraln ą WHENEVER($AA_TYP[Z]==1) DO RDISABLE ; Blokada wczyt ywania do-
póki o ś Z jest osi ą programow ą N130 G4 F0.1 ; N140 START(2) ; Wystartowanie 2. kanału
Przebieg programu w 2. kanale:
Kod programu Komentarz WHEN TRUE DO GET(Z) ; Pobranie osi Z do 2. kanału WHENEVER($AA_TYP[Z]==0) DO RDISABLE ; Blokada wczyt ywania do-
póki o ś Z jest w innym kanale N210 G4 F0.1 WHEN TRUE DO GET(Z) ; O ś Z staje si ę osi ą programu
NC WHENEVER($AA_TYP[Z]<>1) DO RDISABLE ; Blokada wczyt ywania a Ŝ
oś Z stanie si ę osi ą programow ą N220 G4 F0.1 WHEN TRUE DO RELEASE(Z) ; O ś Z w 2. kanale o ś neutralna WHENEVER($AA_TYP[Z]==1) DO RDISABLE ; Blokada wczyt ywania do-
póki o ś Z jest osi ą programow ą N230 G4 F0.1 N250 WAITM(10, 1, 2) ; Zsynchronizowanie z kanałem 1
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
629
Dalszy przebieg programu w 1. kanale:
Kod programu Komentarz N150 WAIM(10, 1, 2) ; Synchronizacja z kanałem 2 WHEN TRUE DO GET(Z) ; Pobranie osi Z do tego kanał u WHENEVER($AA_TYP[Z]==0) DO RDISABLE ; Blokada wczyt ywania do-
póki o ś Z jest w innym kanale N160 G4 F0.1 N199 WAITE(2) N999 M30 ; Czekaj na koniec programu w kanale 2
Przykład, zamiana osi w cyklu technologicznym
Oś U ($MA_AUTO_GET_TYPE=2) jest znana w 1. kanale i 2. kanale i aktualnie kanał 1 ma prawo interpolacji. W kanale 2 ulega wystartowaniu następujący cykl technolo-giczny:
Kod programu Komentarz GET(U) ; Pobranie osi U do kanału POS[U]=100 ; O ś U ma wykona ć ruch do pozycji 100
Wiersz ruchu osi rozkazowej POS[U] jest wykonywany dopiero wtedy, gdy oś U zosta-ła pobrana do kanału 2.
Przebieg
Oś zaŜądana w chwili uaktywnienia akcji GET(oś) moŜe odnośnie typu osi dla za-miany osi zostać odczytana przy pomocy zmiennej systemowej ($AA_AXCHANGE_TYP[<oś>]
● 0: oś przyporządkowana do programu NC
● 1: oś przyporządkowana do PLC albo aktywna jako oś rozkazowa albo oś ruchu wahliwego
● 2: inny kanał ma prawo interpolacji
● 3: oś jest osią neutralną
● 4: oś neutralna jest kontrolowana z PLC
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
630
● 5: inny kanał ma prawo interpolacji, nastąpiło zaŜądanie osi dla programu NC ● 6: inny kanał ma prawo interpolacji, nastąpiło zaŜądanie osi jako osi neutralnej ● 7: oś PLC albo jako oś rozkazowa albo oś ruchu wahliwego jest aktywna, nastąpiło
zaŜądanie osi dla programu NC ● 8: oś PLC albo jako oś rozkazowa albo oś ruchu wahliwego jest aktywna, nastąpiło
zaŜądanie osi jako osi neutralnej
Warunki brzegowe
Odnośna oś musi być przyporządkowana do kanału poprzez dane maszynowe. Oś kontrolowana wyłącznie z PLC nie moŜe zostać przyporządkowana programowi NC. Literatura:
/FB2/ Podręcznik działania Funkcje rozszerzające; Osie pozycjonowania (P2)
ZaŜądanie osi z innego kanału z akcj ą GET
JeŜeli w chwili uaktywnienia akcji GET inny kanał ma prawo zapisu (prawo interpola-cji) dla osi ($AA_AXCHANGE_TYP[<oś>] == 2), wówczas oś przy pomocy zamiany osi jest Ŝądana przez ten kanał ($AA_AXCHANGE_TYP[<oś>]==6) i gdy tylko to moŜ-liwe przyporządkowywana Ŝądającemu kanałowi.
Przyjmuje ona wówczas stan oś neutralna ($AA_AXCHANGE_TYP[<oś>]==3).
Reorganizacja w kanale Ŝądającym nie następuje.
Przyporządkowanie jako oś programu NC z reorganizacj ą:
JeŜeli juŜ w momencie uaktywnienia akcji GET oś została juŜ zaŜądana jako oś neu-tralna ($AA_AXCHANGE_TYP[<oś>]==6), wówczas oś jest Ŝądana dla programu NC ($AA_AXCHANGE_TYP[<oś>]==5) i gdy tylko to moŜliwe przyporządkowywana pro-gramowi NC kanału ($AA_AXCHANGE_TYP[<oś>]==0).
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
631
Oś juŜ przyporz ądkowana za Ŝądanemu kanałowi
Przyporządkowanie jako oś programu NC z reorganizacją:
JeŜeli zaŜądana oś w chwili uaktywnienia jest juŜ przyporządkowana Ŝądającemu ka-nałowi, i w stanie oś neutralna - nie kontrolowana przez PLC - ($AA_AXCHANGE_TYP[<oś>]==3), wówczas jest przyporządkowywana programowi NC ($AA_AXCHANGE_TYP[<oś>]==0).
Oś w stanie jako o ś neutralna jest kontrolowana z PLC
Gdy oś jest w stanie oś neutralna kontrolowana z PLC ($AA_AXCHANGE_TYP[<oś>]==4), wówczas następuje zaŜądanie osi jako osi neu-tralnej ($AA_AXCHANGE_TYP[<oś>] == 8), przy tym oś zostaje zaleŜnie od bitu 0 w danej maszynowej MD 10722: AXCHANGE_MASK zablokowana dla automatycz-nej zamiany osi między kanałami (Bit 0 == 0). Odpowiada to ($AA_AXCHANGE_STAT[<oś>] == 1).
Oś jest aktywna jako neutralna o ś rozkazowa wzgl. o ś ruchu wahliwego albo jest przy-porządkowana PLC
Gdy oś jest aktywna jako oś rozkazowa wzgl. oś ruchu wahliwego albo przyporząd-kowana do PLC w celu ruchu, oś PLC == konkurująca oś pozycjonowania, ($AA_AXCHANGE_TYP[<oś>]==1), następuje zaŜądanie osi jako osi neutralnej ($AA_AXCHANGE_TYP[<oś>] == 8), przy tym oś zostaje zaleŜnie od bitu 0 w danej maszynowej MD 10722: AXCHANGE_MASK zablokowana dla automatycznej zamia-ny osi między kanałami (Bit 0 == 0). Odpowiada to ($AA_AXCHANGE_STAT[<oś>] ==1).
Ponowna akcja GET Ŝąda wówczas osi dla programu NC ($AA_AXCHANGE_TYP[<oś>] staje się == 7).
Oś jest ju Ŝ przyporz ądkowana do programu NC
JeŜeli oś jest juŜ przyporządkowana do programu NC kanału ($AA_AXCHANGE_TYP[<oś>]==0) albo gdy przyporządkowanie zostało zaŜądane, np. zamiana osi wyzwolona przez program NC ($AA_AXCHANGE_TYP[<oś>]==5 wzgl. $AA_AXCHANGE_TYP[<oś>] == 7), wówczas nie wynika zmiana stanu
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
632
10.4.16 Posuw osiowy (FA)
Działanie
Posuw osiowy dla osi rozkazowych działa modalnie.
Składnia
FA[<o ś>]=<warto ść>
Przykład
Kod programu Komentarz ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=990 ; Z adanie stałej warto ści
posuwu. ; Utworzenie warto ści posuwu ze zmien-
nych przebiegu głównego: ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=$AA_VAC TM[W]+100
10.4.17 Softwareowe wył ączniki kra ńcowe
Działanie
Zaprogramowane przy pomocy G25/G26 ograniczenie pola roboczego jest w zaleŜno-ści od danej nastawczej $SA_WORKAREA_PLUS_ENABLE uwzględniane dla osi rozkazowych.
Włączenie i wyłączenie ograniczenia pola roboczego poprzez funkcje G WALIMON/WALIMOF w programie obróbki nie działa na osie rozkazowe.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
633
10.4.18 Koordynacja osi
Działanie
Zazwyczaj ruch w osi jest wykonywany albo z programu obróbki albo jako ruch osi po-zycjonowania z akcji synchronicznej.
JeŜeli jednak ta sama oś ma być na przemian poruszana z programu obróbki jako oś uczestnicząca w tworzeniu konturu albo oś pozycjonowania i z akcji synchronicznych, wówczas następuje skoordynowane przekazanie między obydwoma ruchami w osi.
JeŜeli ruch w osi rozkazowej jest następnie wykonywany z programu obróbki, wów-czas wymaga to reorganizacji przetwarzania wstępnego. To znów warunkuje prze-rwanie wykonywania programu obróbki, porównywalnego z zatrzymaniem przebiegu.
Przykład, ruch w osi X do wyboru z programu obróbki i akcji synchronicznych
Kod programu Komentarz N10 G01 X100 Y200 F1000 ; O ś X zaprogramowana w programie obróbki ... N20 ID=1 WHEN $A_IN[1]==1 DO POS[X]=150 FA[X]=200
; Wystartowanie pozycjonowania z akcji synchronicznej, gdy jest aktywne wej ście cyfrowe
... CANCEL(1) ; Cofni ęcie wyboru akcji synchronicznej ... N100 G01 X240 Y200 F1000 ; X staje si ę osi ą uczestnicz ącą w tworze-
niu konturu; przed ruchem nast ępuje czas czekania ze wzgl ędu na przekazanie osi, w przypadku gdy wej ście cyfrowe było 1 a X była pozycjonowana z akcji synchro-nicznej.
Przykład Zmiana polecenia ruchu dla tej samej osi
Kod programu Komentarz ID=1 EVERY $A_IN[1]>=1 DO POS[V]=100 FA[V]=560
; Uruchomienie pozycjonowania z akcji synchronicznej, gdy wej ście cyfrowe >= 1
ID=2 EVERY $A_IN[2]>=1 DO POS[V]=$AA_IM[V] FA[V]=790
; O ś nad ąŜa, 2. wej ście jest ustawiane, tzn. pozycja ko ńcowa i posuw dla osi V s ą płynnie ak-tualizowane przy dwóch równocze-śnie aktywnych akcjach synchro-nicznych przy trwaj ącym ruchu
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
634
10.4.19 Ustawienie warto ści rzeczywistej (PRESETON)
Przy wykonaniu PRESETON (oś, wartość) aktualna pozycja osi nie jest zmieniana, jest jej przyporządkowywana nowa wartość. PRESETON z akcji synchronicznych jest moŜliwe dla: ● osi obrotowych modulo, które zostały uruchomione z programu obróbki ● wszystkich osi rozkazowych, które zostały uruchomione z akcji synchronicznej
Składnia
DO PRESETON(oś, warto ść)
Znaczenie DO PRESETON Ustawienie wartości rzeczywistej w akcjach synchronicznych Oś Oś, której punkt zerowy sterowania ma zostać zmieniony Warto ść Wartość, o którą ma zostać zmieniony punkt zerowy sterowania Ograniczenia dla osi
PRESETON jest niemoŜliwe dla osi, które uczestniczą w transformacji. Jedna i ta sama oś moŜe tylko z przesunięciem czasowym być poruszana z programu obróbki albo akcji synchronicznej, dlatego przy programowaniu osi z programu obrób-ki mogą wystąpić czasy oczekiwania, w przypadku gdy ta oś przedtem była progra-mowana w akcji synchronicznej. Gdy ta sama oś jest uŜywana na przemian, wówczas następuje skoordynowane przekazanie między obydwoma ruchami w osi. Wykonywanie programu obróbki musi w tym celu zostać przerwane.
Przykład
Przesunięcie punktu zerowego sterowania osi
Kod programu Komentarz WHEN $AA_IM[a] >= 89.5 DO PRESETON(a4,10.5) ; Przes uni ęcie
punktu zerowego sterowania osi a o 10.5 jednostek długo-ści (cale wzgl. mm) w dodat-nim kierunku osi.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
635
10.4.20 Ruchy wrzeciona
Działanie
Wrzeciona mogą być pozycjonowane z akcji synchronicznych całkowicie asynchro-nicznie do programu obróbki. Ten rodzaj programowania jest zalecany do przebiegów i procesów cyklicznych, które są w duŜym stopniu sterowane wydarzeniami.
JeŜeli w wyniku równocześnie aktywnych akcji synchronicznych wrzeciono otrzyma konkurujące polecenia, obowiązuje polecenie ostatnie pod względem czasu.
Przykład, wystartowanie/zatrzymanie/pozycjonowanie wrzeciona
Kod programu Komentarz ID=1 EVERY $A_IN[1]==1 DO M3 S1000 ; Ustawienie kie runku
i pr ędko ści obrotów ID=2 EVERY $A_IN[2]==1 DO SPOS=270 ; Pozycjonowanie wrzeciona
Przykład, ustawienie kierunku obrotów, pr ędkości obrotowej/pozycjonowanie wrze-ciona
Kod programu Komentarz ID=1 EVERY $A_IN[1]==1 DO M3 S300
; Ustawienie kierunku i pr ęd-kości obrotów
ID=2 EVERY $A_IN[2]==1 DO M4 S500
; Zadanie nowego kierunku ob-rotów i nowej pr ędko ści obro-towej
ID=3 EVERY $A_IN[3]==1 DO S1000
; Zadanie nowej pr ędko ści ob-rotowej
ID=4 EVERY ($A_IN[4]==1) AND ($A_IN[1]==0) DO SPOS=0
; Pozycjonowanie wrzeciona
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
636
10.4.21 Holowanie (TRAILON, TRAILOF)
Działanie Przy włączeniu sprzęŜenia z akcji synchronicznej oś wiodąca moŜe być w ruchu. Oś holowana w takim przypadku przyśpiesza do prędkości zadanej. Pozycją osi prowa-dzącej w chwili synchronizacji prędkości jest pozycja startowa dla holowania. Funkcja holowania jest opisana w punkcie "Zachowanie się w ruchu po torze".
Składnia Włączenie holowania
DO TRAILON(o ś holowana, o ś wiod ąca, współczynnik sprz ęŜenia)
Wyłączenie holowania
DO TRAILOF (o ś holowana, o ś wiod ąca, o ś wiod ąca 2)
Znaczenie Uaktywnienie holowania asynchronicznego:
... DO TRAILON(FA, LA, Kf)
gdzie: FA: oś holowana LA: oś wiodąca
Kf: współczynnik sprzęŜenia Wyłączenie aktywności holowania asynchronicznego ... DO TRAILOF(FA, LA, LA2)
... DO TRAILOF(FA)
gdzie: FA: oś holowana LA: oś wiodąca, opcjonalna LA2: oś wiodąca 2, opcjo-nalna
Wszystkie sprzęŜenia z osią holowaną są wyłączane.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
637
Przykład Kod programu Komentarz $A_IN[1]==0 DO TRAILON(Y,V,1) ; Wł ączenie 1. zespołu holowa-
nia, gdy wej ście cyfrowe jest 1 $A_IN[2]==0 DO TRAILON(Z,W,-1) ; Wł ączenie 2. zespołu holowa-
nia G0 Z10 ; Dosuw w osi Z i W w przeciwnym
kierunku osi G0 Y20 ; Dosuw w osi Y i V w tym samym
kierunku osi ... G1 Y22 V25 ; Nało Ŝenie zale Ŝnego i nieza-
le Ŝnego ruchu osi holowanej “V” ... TRAILOF(Y,V) ; Wył ączenie 1. zespołu holowa-
nia TRAILOF(Z,W) ; Wył ączenie 2. zespołu holowa-
nia
Przykład, unikanie konfliktów przy pomocy TRAILOF
Aby ponownie udostępnić oś sprzęŜoną dla dostępu jako oś kanału, musi przedtem zostać wywołana funkcja TRAILOF. Musi zostać zagwarantowane wykonanie TRAILOF, zanim kanał zaŜąda odnośnej osi. Tak nie jest w poniŜszym przykładzie … N50 WHEN TRUE DO TRAILOF(Y,X) N60 Y100 … W tym przypadku oś nie zostanie we właściwym czasie zwolniona, poniewaŜ działają-ca pojedynczymi blokami akcja synchroniczna z TRAILOF jest uaktywniana synchro-nicznie z N60, patrz punkt Akcja synchroniczna ruchu, "Struktura, podstawy ogólne". Dla uniknięcia sytuacji konfliktowych naleŜałoby postąpić w następujący sposób … N50 WHEN TRUE DO TRAILOF(Y,X) N55 WAITP(Y)
N60 Y100
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
638
10.4.22 SprzęŜenie warto ści wiod ącej (LEADON, LEADOF)
Działanie Osiowe sprzęŜenie wartości wiodącej daje się bez ograniczeń programować w ak-cjach synchronicznych Zmiana tablicy krzywych przy istniejącym sprzęŜeniu bez uprzedniej ponownej syn-chronizacji jest opcjonalnie moŜliwa tylko w akcjach synchronicznych.
Składnia Włączenie sprzęŜenia wartości prowadzącej DO LEADON(oś holowana, o ś wiod ąca, nr tabl. krzyw., OVW)
Wyłączenie sprzęŜenia wartości prowadzącej
DO LEADOF(oś holowana, o ś wiod ąca, o ś wiod ąca 2)
Znaczenie Włączenie osiowego sprz ęŜe-nia warto ści prowadz ącej:
...DO LEADON(FA, LA, NR, OVW)
gdzie: FA: oś holowana LA: oś wiodąca NR: Numer zapisanej tablicy krzywych OVW: Zezwolenie na zastąpienie istnieją-cego sprzęŜenia zmienioną tablicą krzy-wych
Wyłączenie osiowego sprz ęŜe-nia warto ści prowadz ącej: ...DO LEADOF(FA, LA)
... DO LEADOF(FA)
gdzie: FA: oś holowana LA: oś wiodąca, opcjonalna
forma skrócona bez podania osi wiodącej
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
639
Zezwolenie na dost ęp poprzez akcje synchroniczne RELEASE
Aby przeznaczoną do sprzęŜenia oś zwolnić dla dostępu poprzez akcję synchro-niczną, musi zostać przedtem wywołana funkcja RELEASE dla sprzęganej osi holo-wanej. Przykład: RELEASE(XKAN) ID=1 every SR1==1 to LEADON(CACH,XKAN,1)
OVW=0 (warto ść domy ślna)
Istniejącemu sprzęŜeniu nie moŜna bez nowej synchronizacji zadać nowej tablicy krzywych. Zmiana tablicy krzywych wymaga uprzedniego wyłączenia istniejącego sprzęŜenia i ponownego włączenia ze zmienionym numerem tablicy krzywych. Powo-duje to nową synchronizację sprzęŜenia.
Zmiana tablicy krzywych przy istniej ącym sprz ęŜeniu przy pomocy OVW=1
Przy pomocy OVW=1 moŜna istniejącemu sprzęŜeniu zadać nową tablicę krzywej. Nie następuje nowa synchronizacja. Oś holowana próbuje moŜliwie jak najszybciej podąŜać za wartościami pozycji zadanymi przez nową tablicę krzywych.
Przykład, przecinanie współbie Ŝne
Materiał w prętach, który ruchem ciągłym porusza się przez obszar roboczy urządze-nia przecinającego, ma być dzielony na elementy o takiej samej długości. Oś X: oś, w której porusza się pręt. WKS Os X1: oś maszynowa dla pręta, MKS Oś Y: oś, w której urządzenie przecinające "jedzie" z prętem Zakłada się, Ŝe dosuw narzędzia przecinającego i jego sterowanie są kontrolowane przez PLC. W celu stwierdzenia synchroniczności między prętem i narzędziem prze-cinającym mogą być przetwarzane sygnały interfejsu PLC.
Akcje
Włączenie sprzęŜenia, LEADON
Wyłączenie sprzęŜenia, LEADOF
Ustawienie wartości rzeczywistej, PRESETON
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
640
Kod programu Komentarz N100 R3=1500 ; Długo ść odcinanej cz ęści N200 R2=100000 R13=R2/300 N300 R4=100000 N400 R6=30 ; Pozycja startowa o ś Y N500 R1=1 ; Warunek startowy dla osi prze-
nośnikowej N600 LEADOF(Y,X) ; Skasowanie ew. istniej ącego
sprz ęŜenia N700 CTABDEF(Y,X,1,0) ; Definicja tablicy N800 X=30 Y=30 ; pary narz ędzi N900 X=R13 Y=R13 N1000 X=2*R13 Y=30 N1100 CTABEND ; Koniec definicji tablicy N1200 PRESETON(X1,0) ; PRESET na pocz ątku N1300 Y=R6 G0 ; Pozycja startowa o ś Y, o ś lest
liniowa N1400 ID=1 WHENEVER $AA_IW[X]>$R3 DO PESETON(X1,0) ; PRESET po
długo ści R3, nowy pocz ątek po odci ęciu
N1500 RELEASE(Y) N1800 ID=6 EVERY $AA_IM[X]<10 DO LEADON(Y,X,1) ; Sp rz ęŜenie Y
z X poprzez tablic ę 1 przy X <10 N1900 ID=10 EVERY $AA_IM[X]>$R3-30 DO EADOF(Y,X) ; Rozł ączenie
> 30 przed przebyt ą długo ści ą odci ęcia
N2000 WAITP(X) N2100 ID=7 WHEN $R1==1 DO MOV[X]=1 FA[X]=$R4 ; Wpra wienie osi
materiałowej w ruch ci ągły N2200 M30
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
641
10.4.23 Pomiar (MEAWA, MEAC)
Działanie W porównaniu do zastosowania w blokach ruchu w programie obróbki funkcję pomia-ru moŜna dowolnie włączać i wyłączać z akcji synchronicznych.
Dalsze informacje dot. pomiarów patrz polecenia specjalne dot. drogi "Rozszerzona funkcja pomiaru
Składnia
Pomiar osiowy bez skasowania pozostałej drogi
MEAWA[oś] = (tryb, wydarzenie przerzutnikowe_1, ..._4)
Pomiar ci ągły bez skasowania pozostałej drogi
MEAC[oś] = (tryb, pami ęć pomiarowa, wydarzenie przerzutniko-we_1, ..._4))
Znaczenie Kod programu Komentarz DO MEAWA ; Wł ączenie pomiaru osiowego DO MEAC ; Wł ączenie pomiaru ci ągłego Oś ; Nazwa osi, dla której jest przeprowadzany po-
miar Tryb ; Podanie dekady dzie-
si ątek 0: aktywny system po-miarowy Liczba systemów pomia-rowych (zale Ŝnie od trybu) 1: 1. system pomiarowy 2: 2. system pomiarowy 3: obydwa systemy po-miarowe
Podanie dekady jedno-stek 0: anulowanie zadania pomiarowego do 4 uaktywnialnych wydarze ń przerzutniko-wych 1: równocze śnie 2: kolejno 3: jak 2 ale bez nadzo-ru wydarzenia przerzut-nikowego1 przy starcie
Wydarzenie przerzutni-kowe_1 do _4
; : zbocze rosn ące czujnik pomiarowy 1 -1: zbocze opadaj ące czujnik pomiarowy 1 opcjo-nalny 2: zbocze rosn ące czujnik pomiarowy 2 opcjonalny -2: zbocze opadaj ące czujnik pomiarowy 2 opcjo-nalny
Pamięć po-miarowa
; Numer pami ęci FIFO
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
642
10.4.24 Inicjalizacja zmiennych tablicowych (SET, R EP)
Działanie W akcjach synchronicznych zmienne tablicowe mogą być inicjalizowane albo zapisy-wane określonymi wartościami.
Wskazówka
Są moŜliwe tylko zmienne, które dają się zapisywać w akcjach synchronicznych. Przez to dane maszynowe nie dają się inicjalizować. Zmienne osi nie mogą być podawane z wartością NO_AXIS.
Składnia
DO FELD[n,m]=SET(<warto ść1>,<warto ść2>,...) DO FELD[n,m]=REP(<warto ść>)
Znaczenie
FELD[n,m] Programowane indeksy tablicy Inicjalizacja rozpoczyna się od zaprogra-mowanych indeksów tablicy. W przypadku tablic 2-wymiarowych jest najpierw inkre-mentowany 2. indeks. W przypadku indek-sów osi indeks taki nie przejdzie.
SET(<warto ść1>,<warto ść2>,...) Inicjalizacja z listami wartości Tablica jest zapisywana od zaprogramowa-nych indeksów tablicy parametrami SET. Jest przyporządkowywanych tyle elemen-tów tablicy, ile jest zaprogramowanych war-tości. Gdy zostanie zaprogramowanych więcej wartości niŜ pozostało elementów tablicy, jest wyzwalany alarm
REP(<warto ść>) Inicjalizacja z takimi samymi wartościami Tablica jest zapisywana od zaprogramowa-nych indeksów do końca tablicy powtarza-nym parametrem (<wartość>) REP.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
643
Przykład Kod programu Komentarz WHEN TRUE DO SYG_IS[0]=REP(0) ; Wynik: WHEN TRUE DO SYG_IS[1]=SET(3,4,5) ; SYG_IS[0]=0 SYG_IS[1]=3 SYG_IS[2]=4 SYG_IS[3]=5 SYG_IS[4]=0
10.4.25 Ustawienie/skasowanie znaczników czekania ( SETM, CLEARM)
Działanie W akcjach synchronicznych mogą być ustawiane wzgl. kasowane znaczniki czekania, aby np. koordynować kanały.
Składnia DO SETM(<numer znacznika>)
DO CLEARM(<numer znacznika>)
Znaczenie
SETM Polecenie ustawienia znacznika czekania dla kanału
Polecenie SETM moŜe być pisane w programie obróbki i w części akcyjnej akcji synchronicznej. Ustawia ono znacz-nik (<numer znacznika >) dla kanału, w którym polecenie jest wykonywane.
CLEARM Polecenie skasowania znacznika czekania dla kanału
Polecenie CLEARM moŜe być pisane w programie obróbki i w części akcyjnej akcji synchronicznej. Kasuje ono znacz-nik (<numer znacznika >) dla kanału, w którym polecenie jest wykonywane.
<numer znaczni-ka>
Znacznik czekania
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
644
10.4.24 Reakcje na bł ąd
Działanie Przy pomocy akcji synchronicznych mogą być programowane reakcje na błąd. Są przy tym odpytywane zmienne stanu i wyzwalane odpowiednie akcje. MoŜliwymi reakcjami na stany błędu są: ● zatrzymanie osi (Override=0) ● ustawienie alarmu Przy pomocy SETAL mogą być z akcji synchronicznych ustawiane alarmy cykli. ● ustawienie wyjścia ● wszystkie akcje moŜliwe w akcjach synchronicznych
Składnia Ustawienie alarmu cykli:
DO SETAL(<numer alarmu>)
Znaczenie SETAL Polecenie ustawienia alarmu cykli <numer alarmu> Numer alarmu
Zakres alarmów cykli dla uŜytkownika: 65000 do 69999
Przykład
Kod programu Komentarz ID=67 WHENEVER ($AA_IM[X1]-$AA_IM[X2])<4.567 DO $AA _OVR[X2]=0 ; Gdy odst ęp
bezpiecze ństwa mi ędzy osiami X1 i X2 jest za mały, zatrzymanie osi X2.
ID=67 WHENEVER ($AA_IM[X1]-$AA_IM[X2])<4.567 DO SET AL(61000) ; Gdy odst ęp bezpiecze ństwa mi ędzy osiami X1 i X2 jest za mały, ustawienie alarmu.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
645
10.4.27 Ruch do oporu sztywnego (FXS, FXST, FXSW, F OCON, FOCOF)
Działanie Polecenia dla funkcji "ruch do oporu sztywnego" są programowane przy pomocy po-leceń programu obróbki FXS, FXST i FXSW w akcjach synchronicznych / cyklach technologicznych. Uaktywnienie moŜe nastąpić bez ruchu, moment jest ograniczany natychmiast. Gdy tylko oś ulegnie poruszeniu po stronie wartości zadanej, następuje nadzór na opór.
Ruch z ograniczonym momentem/sił ą (FOC)
Funkcja pozwala w kaŜdym momencie na zmianę, poprzez akcje synchroniczne, momentu/siły i moŜe być uaktywniana modalnie w odniesieniu do bloku.
Składnia FXS[<o ś>] FXST[<o ś >] FXSW[<oś >] FOCON[<oś >] FOCOF[<oś >]
Znaczenie
FXS Wybór tylko w systemach z napędami cyfrowymi
(VSA, HSA, HLA) FXST Zmiana momentu zaciskania FXST FXSW Zmiana okna nadzoru FXSW FOCON Uaktywnienie działającego modalnie ograniczenia
momentu/siły FOCOF Wyłączenie ograniczenia momentu/siły <oś> Identyfikator osi
Dopuszczalne są: • identyfikatory osi geometrycznych • identyfikatory osi kanału • identyfikatory osi maszyny
Wskazówka
Wybór może nastąpić tylko jeden raz.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
646
Przykłady
Przykład 1: Ruch do oporu sztywnego (FXS), wyzwolon y przez akcj ę synchro-niczn ą
Kod programu Komentarz Oś Y: ; Uaktywnienie statycznych
akcji synchronicznych 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
; Przez ustawienie $R1=1 jest dla osi Y uaktywniane FXS, działaj ący moment zmniejszany do 10% i uruchamiany ruch w kierunku ogranicznika.
N11 IDS=2 WHENEVER ($AA_FXS[Y]==4) DO FXST[Y]=30 ; Gdy tylko ogranicznik zostanie rozpoznany ($AA_FXS[Y]==4), moment jest zwi ększany do 30%.
N12 IDS=3 WHENEVER ($AA_FXS[Y]==1) DO FXST[Y]=$R0 ; Po doj ściu do ogra-nicznika moment jest sterowa-ny w zale Ŝności od R0.
N13 IDS=4 WHENEVER (($R3==1) AND $AA_FXS[Y]==1)) DO FXS[Y]=0 FA[Y]=1000 POS[Y]=0
; Cofni ęcie wyboru w zale Ŝno-ści od R3 i ruch powrotny.
N20 FXS[Y]=0 G0 G90 X0 Y0 ; Normalny przebieg prog ramu: N30 RELEASE(Y) ; Zezwolenie dla osi Y na
ruch w akcji synchronicznej. N40 G1 F1000 X100 ; Ruch w innej osi. N50 ... N60 GET(Y) ; Przyj ęcie osi Y ponownie do
zespołu osi tworz ących kontur
Przykład 2: uaktywnienie ograniczenia momentu/siły (FOC) Kod programu Komentarz N10 FOCON[X] ; Modalne uaktywnienie ogranicze-
nia. N20 X100 Y200 FXST[X]=15 ; X wykonuje ruch ze zred ukowanym
momentem. N30 FXST[X]=75 X20 ; Zmiana momentu na 75%, X wyko nuje
ruch z tym ograniczonym momentem. N40 FOCOF[X] ; Wył ączenie ograniczenia momentu.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
647
Dalsze informacje
Wybór wielokrotny
JeŜeli w wyniku błędnego zaprogramowania funkcja zostanie po uaktywnieniu (FXS[<o ś>]=1 ) jeszcze raz wywołana, jest wyzwalany następujący alarm: Alarm 20092 "Ruch do oporu sztywnego jest jeszcze aktywny" Zaprogramowanie, które w warunku odpytuje albo $AA_FXS[ ] albo własny znacznik (tutaj R1), unika wielokrotnego uaktywniania funkcji "fragment programu obróbki": Kod programu
N10 R1=0 N20 IDS=1 WHENEVER ($R1==0 AND $AA_IW[AX3] > 7) DO R1=1 FXST[AX1]=12
Akcje synchroniczne odniesione do bloku
Przez zaprogramowanie akcji synchronicznej odniesionej do bloku moŜna dołączyć ruch do oporu stałego podczas ruchu dosunięcia.
Przykład
Kod programu Komentarz N10 G0 G90 X0 Y0 N20 WHEN $AA_IW[X] > 17 DO FXS[X]=1 ; Je Ŝeli X osi ągnie pozy-
cj ę wi ększ ą ni Ŝ 17 mm, na-st ępuje uaktywnienie FXS.
N30 G1 F200 X100 Y110
Akcje synchroniczne statyczne i odniesione do bloku
W statycznych i odniesionych do bloku akcjach synchronicznych mogą być stosowa-ne te same polecenia FXS, FXST i FXSW, co w normalnym przebiegu programu ob-róbki. Wartości, które są przyporządkowywane, mogą być wartościami powstałymi w drodze obliczenia.
10.4.28 Określenie k ąta stycznej do toru w akcjach synchronicznych
Działanie MoŜliwa do odczytu w akcjach synchronicznych zmienna systemowa $AC_TANEB (Tangent ANgel at End of Block) określa kąt między styczną do toru w punkcie koń-cowym aktualnego bloku i styczną do toru w punkcie startowym zaprogramowanego następnego bloku.
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
648
Parametry
Kąt między stycznymi jest wyprowadzany zawsze jako dodatni między 0.0 do 180.0 stopni. JeŜeli nie istnieje kolejny blok w przebiegu głównym, wówczas jest wyprowa-dzany kąt -180.0 stopni.
Zmienna systemowa $AC_TANEB nie powinna być odczytywana dla bloków, które są wytwarzane przez system (bloki pośrednie). Dla rozróŜnienia czy chodzi o blok zapro-gramowany (główny), słuŜy zmienna systemowa $AC_BLOCKTYPE.
Przykład
ID=2 EVERY $AC_BLOCKTYPE==0 DO $SR1 = $AC_TANEB
10.4.29 Określenie aktualnego override
Działanie
Aktualny Override
(komponent NC) moŜe przy pomocy zmiennych systemowych:
$AA_OVR 0verride osiowy $AC_OVR override ruchu po torze być czytany i zapisywany w akcjach synchronicznych. Override zadany przed PLC jest dla akcji synchronicznych w zmiennych systemo-wych:
$AA_PLC_OVR override osiowy $AC_PLC_OVR override ruchu po torze
udostępniany do odczytu.
Wynikaj ący override
jest dla akcji synchronicznych w zmiennych systemowych:
$AA_TOTAL_OVR override osiowy $AC_TOTAL_OVR override ruchu po torze
udostępniany do odczytu.
Override wynikowy jest obliczany jako:
$AA_OVR * $AA_PLC_OVR wzgl.
$AC_OVR * $AC_PLC_OVR
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
649
10.4.30 Ocena obci ąŜenia poprzez zapotrzebowanie akcji synchronicznych na czas
Działanie W takcie interpolacji NC musi zarówno interpretować akcje synchroniczne jak teŜ ob-liczać ruchy itd. Przy pomocy niŜej przedstawionych zmiennych systemowych akcje synchroniczne mogą informować się o aktualnym udziale czasowym akcji synchro-nicznych w takcie interpolacji i o czasie obliczeniowym regulatorów połoŜenia.
Znaczenie Zmienne mają poprawne wartości tylko wtedy, gdy dana maszynowa $MN_IPO_MAX_LOAD jest większa niŜ 0. W przeciwnym przypadku zmienne podają zarówno dla SINUMERIK powerline jak teŜ dla systemów solution line zawsze czas obliczeniowy netto, przy którym nie są juŜ uwzględniane przerwania wytwarzane przez HMI. Czas obliczeniowy netto wynika z: ● czasu akcji synchronicznej, ● czasu regulacji połoŜenia i ● pozostałego czasu obliczeniowego IPO bez przerwań uwarunkowanych przez HMI
Akcje synchroniczne ruchu 10.4 Akcje w akcjach synchronicznych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
650
Zmienne systemowe zawierają zawsze wartości poprzedzającego taktu IPO
$AN_IPO_ACT_LOAD Aktualny czas obliczeniowy IPO (łącznie z akcjami syn-chronicznymi wszystkich kanałów)
$AN_IPO_MAX_LOAD NajdłuŜszy czas obliczeniowy IPO (łącznie z akcjami syn-chronicznymi wszystkich kanałów)
$AN_IPO_MIN_LOAD Najkrótszy czas obliczeniowy IPO (łącznie z akcjami syn-chronicznymi wszystkich kanałów)
$AN_IPO_LOAD_PERCENT Aktualny czas obliczeniowy IPO w stosunku do taktu IPO (%)
$AN_SYNC_ACT_LOAD Aktualny czas obliczeniowy dla akcji synchronicznych po wszystkich kanałach
$AN_SYNC_MAX_LOAD NajdłuŜszy czas obliczeniowy dla akcji synchronicznych po wszystkich kanałach
$AN_SYNC_TO_IPO Procentowy udział całych akcji synchronicznych w całym czasie obliczeniowym IPO (po wszystkich kanałach)
$AC_SYNC_ACT_LOAD Aktualny czas obliczeniowy dla akcji synchronicznych w kanale
$AC_SYNC_MAX_LOAD NajdłuŜszy czas obliczeniowy dla akcji synchronicznych w kanale
$AC_SYNC_AVERAGE_LOAD Przeciętny czas obliczeniowy dla akcji synchronicz-nych w kanale
$AN_SERVO_ACT_LOAD Aktualny czas obliczeniowy regulatora połoŜenia
$AN_SERVO_MAX_LOAD NajdłuŜszy czas obliczeniowy regulatora połoŜenia
$AN_SERVO_MIN_LOAD Najkrótszy czas obliczeniowy regulatora połoŜenia
Zmienna informacji o przeci ąŜeniu:
Poprzez daną maszynową $MN_IPO_MAX_LOAD następuje ustawienie, od jakiego czasu obliczeniowego netto IPO (w % taktu IPO) zmienna systemowa $AN_IPO_LOAD_LIMIT ma zostać ustawiona na TRUE. JeŜeli aktualne obciąŜenie ponownie spadnie poniŜej tej granicy, wówczas zmienna jest ponownie ustawiana na FALSE. Gdy dana maszynowa wynosi 0, wówczas aktywność całej funkcji diagnozy ulega wyłączeniu.
Przez ewaluację $AN_IPO_LOAD_LIMIT uŜytkownik moŜe ustalić własną strategię, aby uniknąć przepełnienia płaszczyzny.
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
651
10.5 Cykle technologiczne
Działanie
Jako akcja w akcjach synchronicznych mogą być równieŜ wywoływane programy, któ-re jednak mogą być zbudowane tylko z funkcji, które są równieŜ dopuszczalne jako akcje w akcjach synchronicznych. Tak zbudowane programy nazywają się cyklami technologicznymi.
Cykle technologiczne są zapisywane jako podprogramy w sterowaniu.
W jednym kanale moŜna równolegle przetwarzać wiele cykli technologicznych albo akcji.
Programowanie Dla programowania cykli technologicznych obowiązują następujące zasady: ● Koniec programu jest programowany przy pomocy M02/M17/M30/RET . ● W ramach jednej płaszczyzny programowej mogą być w jednym takcie wykonywane
wszystkie podane w ICYCOF akcje bez cykli czekania. ● MoŜe zostać kolejno odpytanych do 8 cykli technologicznych na akcję synchro-
niczną. ● Cykle technologiczne są równieŜ moŜliwe w akcjach synchronicznych działających
pojedynczymi blokami. ● Mogą być programowane zarówno struktury kontrolne IF jak równieŜ instrukcje sko-
ku GOTO, GOTOF i GOTOB. ● Dla bloków z instrukcjami DEF i DEFINE obowiązuje:
– Instrukcje DEF i DEFINE nie są czytane w cyklach technologicznych. – Przy niepoprawnej albo niekompletnej składni prowadzą one do komunikatu
alarmowego. – Mogą one, nie będąc same ustawione, zostać pominięte bez komunikatu alar-
mowego. – Są one kompletnie uwzględniane z przyporządkowaniami wartości jako cykl pro-
gramu obróbki.
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
652
Przekazanie parametrów
Przekazanie parametrów do cykli technologicznych jest moŜliwe. Uwzględniane są za-równo proste typy danych, które są przekazywane jako parametry formalne "Call by Value", jak równieŜ ustawienia standardowe, które zaczynają działać przy wywoływa-niu cykli technologicznych. Są to:
● Zaprogramowane wartości standardowe, gdy Ŝaden przekazywany parametr nie jest zaprogramowany.
● Parametry standardowe wyposaŜone w wartości inicjalizacyjne.
● Nie inicjalizowane aktualne parametry przekazane z wartością standardową.
Przebieg
Cykle technologiczne ulegają wystartowaniu, gdy tylko ich warunki są spełnione. KaŜ-dy wiersz cyklu technologicznego jest wykonywany w oddzielnym takcie IPO. W przy-padku osi pozycjonowania potrzeba do wykonania wielu taktów IPO. Inne funkcje są wykonywane jednotaktowo. W cyklu technologicznym wykonywanie bloków następuje sekwencyjnie.
JeŜeli w tym samym takcie interpolacji zostaną wywołane akcje, które się wzajemnie wykluczają, wówczas staje się aktywna ta akcja, która jest wywoływana przez akcję synchroniczną o wyŜszym numerze ID.
Przykłady
Przykład 1: przez ustawienie wej ść cyfrowych s ą uruchamiane programy osi.
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
653
Kod programu Komentarz ID=1 EVERY $A_IN[1]==1 DO O Ś_X ; Gdy wej ście 1 na 1, wystartuj program
osi X. ID=2 EVERY $A_IN[2]==1 DO O Ś_Y ; Gdy wej ście 2 na 1, wówczas wystartuj
program osi Y. ID=3 EVERY $A_IN[3]==1 DO $AA_OVR[Y]=0 Gdy wej ście 3 na 1, ustaw override
osi Y na 0. ID=4 EVERY $A_IN[4]==1 DO O Ś_Z ; Gdy wej ście 4 na 1, wystartuj program
osi Z. M30
Cykl technologiczny O Ś_X:
Kod programu $AA_OVR[Y]=0 M100 POS[X]=100 FA[X]=300 M17 Cykl technologii O Ś_Y:
Kod programu POS[Y]=10 FA[Y]=200 POS[Y]=-10 M17
Cykl technologii O Ś_Z:
Kod programu $AA_OVR[X]=0 POS[Z]=90 FA[Z]=250 POS[Z]=-90 M17
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
654
Przykład 2: ró Ŝne sekwencje programowe w cyklu technologicznym
Kod programu PROC CYCLE N10 DEF REAL "warto ść"=12.3 N15 DEFINE ABC AS G01
Obydwa bloki są pomijane bez alarmu i bez ustawienia zmiennej wzgl. makra.
Kod programu PROC CYCLE N10 DEF REAL N15 DEFINE ABC G01
Obydwa bloki prowadzą nadal do alarmu NC, poniewaŜ składnia jest nieprawidłowa.
Kod programu PROC CYCLE N10 DEF AXIS "o ś1"=XX2
JeŜeli oś XX2 jest nieznana, jest wyprowadzany alarm 12080. W innym przypadku blok jest pomijany bez alarmu i bez utworzenia zmiennej.
Kod programu PROC CYCLE N10 DEF AXIS "oś1" N15 G01 X100 F1000 N20 DEF REAL"wartość1"
Blok N20 prowadzi zawsze do alarmu 14500, poniewaŜ instrukcja DEF po pierwszym wierszu programu jest niedozwolona.
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
655
10.5.1 Zmienna kontekstowa ($P_TECCYCLE)
Działanie
Przy pomocy zmiennej $P_TECCYCLE programy mogą być dzielone na programy akcji synchronicznych i programy przebiegu wyprzedzającego. Przez to jest moŜliwe wykonywanie bloków albo sekwencji programowych o poprawnej składni równieŜ jako cyklu programu obróbki.
Interpretacja zmiennej kontekstowej
Zmienna systemowa $P_TECCYCLE umoŜliwia sterowanie specyficznymi dla kontek-stu interpretacjami części programu w cyklach technologicznych, w przypadku:
IF $P_TECCYCLE==TRUE Sekwencja programowa dla cyklu technologicznego w akcji synchronicznej
w innym przypadku
ELSE Sekwencja programowa dla cyklu programu obróbki
Wskazówka
Blok z błędną albo niedozwoloną składnią programu jak teŜ nieznanymi przyporządko-waniami wartości prowadzi równieŜ w cyklu programu obróbki do komunikatu alarmo-wego.
Przykład
Sekwencja programowa z odpytaniem $P_TECCYCLE w cyklu technologicznym:
Kod programu Komentarz PROC CYCLE N10 DEF REAL "wert1" ; Nie jest czytany w cyklu te chnologicznym. N15 G01 X100 F1000 N20 IF $P_TECCYCLE==TRUE N25 "Sekwencja programowa dla cyklu technologiczneg o (bez zmiennej war-to ść1)" N30 ELSE N35 "Sekwencja programowa dla cyklu programu obróbk i (zmienna warto ść1 jest)" ENDIF
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
656
10.5.2 Parametry Call by Value
Działanie Cykle technologiczne mogą być definiowane przy pomocy parametrów Call by Value. Jako parametry są moŜliwe zwykłe typy danych jak INT, REAL, CHAR, STRING, AXIS i BOOL.
Wskazówka
Parametry formalne, które są przekazywane Call by Value, nie mogą być tablicami.
Aktualne parametry mogą równieŜ składać się z parametrów domyślnych, patrz punkt "inicjalizacja parametrów domyślnych".
Składnia ID=1 WHEN $AA_IW[X]>50 DO TEC(IVAL, RVAL, , SVAL, A VAL) W przypadku nie zainicjalizowanych aktualnych parametrów jest przekazywana war-tość domyślna
ID=1 WHE $AA_IW[X]>50 DO TEC(IVAL, RVAL, , SYG_SS[0 ], AVAL)
10.5.3 Inicjalizacja parametrów domy ślnych
Działanie Parametry domyślne mogą w instrukcji PROC zostać równieŜ wyposaŜone w wartość inicjalizacyjną.
Składnia Przyporządkowanie parametrów domyślnych w cyklu technologicznym: PROC TEC (INT IVAL=1, REAL RVAL=1.0, CHAR CVAL='A', STRING[10] SVAL="ABC", AXIS AVAL=X, BOOL BVAL=TRUE)
Gdy aktualny parametr składa się z parametru domyślnego, jest przekazywana war-tość inicjalizacyjna z instrukcji PROC. Obowiązuje to zarówno w programie obróbki jak i w akcjach synchronicznych.
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
657
Przykład Kod programu Komentarz TEC (IVAL, RVAL, SVAL, AVAL) ; Przy CVAL i BVAL obo wi ązuje warto ść inicjalizacyjna
10.5.4 Sterowanie wykonywaniem cykli technologii ( ICYCOF, ICYCON)
Działanie
Do sterowania wykonywaniem cykli technologicznych w czasie słuŜą polecenia języ-kowe ICYCOF i ICYCON.
Przy pomocy ICYCOF wszystkie bloki cyklu technologicznego są wykonywane tylko w jednym takcie interpolacji. Wszystkie akcje, których wykonanie wymaga wielu tak-tów, prowadzą w przypadku ICYCOF do równoległych procesów obróbki.
Zastosowanie
W przypadku ICYCON ruchy w osiach rozkazowych prowadzą do tego, Ŝe wykonywa-nie cyklu technologicznego ulegnie zwłoce. JeŜeli jest to niepoŜądane, wówczas przy pomocy ICYCOF wszystkie akcje mogą być wykonywane bez czasów czekania w jed-nym takcie interpolacji.
Składnia
Dla cyklicznego wykonywania cykli technologicznych obowiązuje:
ICYCON: kaŜdy blok cyklu technologicznego po ICYCON jest wykonywany w oddziel-nym takcie IPO
ICYCOF: wszystkie kolejne bloki cyklu technologicznego są po ICYCOF wykonywane w jednym takcie IPO
Wskazówka
Obydwa polecenia językowe ICYCON i ICYCOF działają tylko w ramach płaszczyzny programowej.
W programie obróbki obydwa polecenia są bez reakcji po prostu pomijane.
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
658
Przykład dla trybu wykonywania ICYCOF
Kod programu Komentarz IPO-Takt ; PROC TECHNOCYC 1. ; $R1=1 2.25 ; POS[X]=100 26. ; ICYCOF 26. ; $R1=2 26. ; $R2=$R1+1 26. ; POS[X]=110 26. ; $R3=3 26. ; RET
10.5.5 Kaskadowania cykli technologicznych
Działanie
MoŜna kolejno wykonać do 8 cykli technologicznych. Przez to moŜna w jednej akcji synchronicznej zaprogramować wiele cykli technologicznych.
Składnia
ID=1 WHEN $AA_IW[X]>50 DO TEC1($R1) TEC2 TEC3(X)
Kolejno ść wykonywania
Cykle technologiczne są wykonywane kolejno (kaskadowo) od lewej do prawej według wyŜej podanego zaprogramowania. JeŜeli cykl ma być wykonywany w trybie ICYCON, wówczas powoduje on zwłokę wszystkich dalszych obróbek. Występujący alarm prze-rywa wszystkie kolejne akcje.
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
659
10.5.6 Cykle technologii w wykonywanych pojedynczym i blokami akcjach synchronicznych
DziaDziaDziaDziałanieanieanieanie
Cykle technologii są moŜliwe równieŜ w akcjach synchronicznych działających poje-dynczymi blokami.
JeŜeli czas wykonywania cyklu technologii jest dłuŜszy niŜ czas wykonywania przyna-leŜnego bloku, wówczas cykl technologii jest przy zmianie bloku przerywany.
Wskazówka
Cykl technologii nie uniemoŜliwia zmiany bloku.
10.5.7 Struktury kontrolne (IF)
Działanie
Dla potrzeb rozgałęzień w kolejności przebiegu cykli technologicznych mogą być sto-sowane struktury kontrolne IF w akcjach synchronicznych.
Składnia IF <warunek> $R1=1 [ELSE] opcjonalnie $R1=0 ENDIF
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
660
10.5.8 Instrukcje skoku (GOTO, GOTOF, GOTOB)
Działanie
W cyklach technologicznych są moŜliwe instrukcje skoku GOTO, GOTOF, GOTOB. Podane etykiety muszą występować w podprogramie, aby alarm nie był generowany.
Wskazówka
Etykiety i numery bloków mogą być tylko stałymi.
Składnia Skoki bezwarunkowe GOTO etykieta, numer bloku GOTOF etykieta, numer bloku GOTOB etykieta, numer bloku
Instrukcje skoku i cele skoku
GOTO Skoki najpierw do przodu a następnie do tyłu GOTOF Skoki do przodu GOTOB Skoki do tyłu Etykieta: Znacznik skoku Numer bloku Cel skoku do tego bloku N100 Numer bloku jest blokiem pomocniczym :100 Numer bloku jest blokiem głównym
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
661
10.5.9 Zablokowanie, udost ępnienie, cofni ęcie (LOCK, UNLOCK, RESET)
Działanie
Przebieg cyklu technologicznego moŜe zostać przez inną modalną akcję synchro-niczną zablokowany, ponownie zwolniony albo cofnięty.
Składnia LOCK(<n1>,<n2>,...) UNLOCK(<n1>,<n2>,...) RESET(<n1>,<n2>,...)
Znaczenie
LOCK Polecenie do blokowania akcji synchronicznych Aktywna akcja jest przerywana. UNLOCK Polecenie do udostępniania akcji synchronicznych. RESET Polecenie do cofania cykli technologicznych <n1>,<n2>,... Numery identyfikacyjne akcji synchronicznych wzgl. cykli tech-
nologicznych, które mają zostać zablokowane, zwolnione albo cofnięte.
Zablokowanie akcji synchronicznych
Modalne akcje synchroniczne o numerach ID <n> = 1 ... 64 mogą zostać zablokowa-ne z PLC. PrzynaleŜny warunek nie jest przez to juŜ oceniany a wykonywanie odno-śnej funkcji w NCK jest zablokowane.
Przy pomocy sygnału interfejsu PLC dają się ryczałtowo zablokować wszystkie akcje synchroniczne.
Wskazówka
Zaprogramowana akcja synchroniczna jest standardowo aktywna i moŜe zostać zabez-pieczona przed zastąpieniem/zablokowaniem poprzez daną maszynową.
Klient końcowy nie powinien wpływać na akcje synchroniczne ustalone przez producen-ta maszyny.
Akcje synchroniczne ruchu 10.5 Cykle technologiczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
662
Przykłady
Przykład 1: zablokowanie akcji synchronicznych (LOC K)
Kod programu N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 ... N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1)
Przykład 2: udost ępnienie akcji synchronicznych (UNLOCK)
Kod programu N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 ... N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1) ... N250 ID=3 WHENEVER $A_IN[3]==1 DO UNLOCK(1)
Przykład 3: przerwanie cyklu technologicznego (RESE T)
Kod programu N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 ... N200 ID=2 WHENEVER $A_IN[2]==1 DO RESET(1)
Akcje synchroniczne ruchu 10.6 Skasowanie akcji synchronicznej (CANCEL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
663
10.6 Skasowanie akcji synchronicznej (CANCEL)
Działanie
Modalne akcje synchroniczne (ID=<n> wzgl. IDS=<n> ) dają się przy pomocy CANCEL kasować tylko bezpośrednio z programu obróbki.
Wskazówka
Uruchomione ze skasowanej akcji synchronicznej, jeszcze przebiegające ruchy, ulega-ją dokończeniu zgodnie z zaprogramowaniem.
Składnia CANCEL(<n1>,<n2>,...)
ZnaczenieZnaczenieZnaczenieZnaczenie CANCEL Polecenie do kasowania zaprogramowanych akcji synchronicz-
nych <n1>,<n2>,... Numery identyfikacyjne akcji synchronicznych do skasowania
PrzykPrzykPrzykPrzykładadadad
Kod programu Komentarz N100 ID=2 WHENEVER $A_IN[1]==1 DO M130 ... N200 CANCEL(2) ; Kasuje akcj ę synchroniczn ą nr 2.
Akcje synchroniczne ruchu 10.7 Warunki brzegowe
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
664
10.7 Warunki brzegowe Są warunki brzegowe przy wystąpieniu następujących wydarzeń: ● Power On ● Zmiana rodzaju pracy ● Reset ● NC-Stop ● Koniec programu ● Szukanie bloku ● Przerwanie programu przez podprogram asynchroniczny ASUP ● Repozycjonowanie REPOS
● Cofnięcie wyboru przy pomocy CANCEL
Power On Z power on nie są zasadniczo aktywne Ŝadne akcje synchroniczne. Statyczne akcje syn-chroniczne mogą zostać uaktywnione przy pomocy wystartowanego z PLC podprogramu asynchronicznego (ASUP).
Zmiana rodzaju pracy
Akcje synchroniczne uaktywnione przy pomocy słowa kluczowego IDS pozostają aktywne po zmianie rodzaju pracy. Wszystkie pozostałe akcje synchroniczne stają się nieaktywne przy zmianie rodzaju pracy (np. pozycjonowanie osi) i ponownie aktywne po repozycjono-waniu i przełączeniu z powrotem na pracę automatyczną.
Akcje synchroniczne ruchu 10.7 Warunki brzegowe
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
665
Reset
Przez NC-Reset ulegają zakończeniu wszystkie działające pojedynczymi blokami i modalne akcje synchroniczne. Statyczne akcje synchroniczne pozostają aktywne. Z nich mogą być uruchamiane nowe ak-cje. JeŜeli przy RESET jest aktywny ruch w osi rozkazowej, wówczas jest on przerywany. JuŜ wykonane akcje synchroniczne typu WHEN nie są po RESET juŜ wykonywane.
Zachowanie si ę po RESET
Akcja synchroniczna/ cykl technologiczny
Modalnie/pojedynczymi blokami Statycznie (IDS)
Aktywna akcja jest przerywana, akcje synchroniczne są kasowane
Aktywna akcja jest przerywa-na, cykl technologiczny jest cofany
Oś/ wrzeciono pozycjo-nuj ące
Ruch jest przerywany Ruch jest przerywany
Wrzeciono o regulowa-nej pr ędko ści obroto-wej
$MA_SPIND_ACTIVE_AFTER_RESET==1: wrzeciono pozostaje aktywne $MA_SPIND_ACTIVE_AFTER_RESET==0: wrzeciono zatrzymuje się.
SprzęŜenie warto ści wiod ącej
$MC_RESET_MODE_MASK, Bit13 == 1: sprzęŜenie wartości wiodącej pozostaje aktywne $MC_RESET_MODE_MASK, Bit13 == 0: sprzęŜenie wartości wiodącej jest rozłączane
Procesy pomiaru Procesy pomiaru wystartowane z akcji synchronicznych są przery-wane
Procesy pomiaru wystarto-wane ze statycznych akcji synchronicznych są przery-wane
NC-Stop
Statyczne akcje synchroniczne pozostają aktywne przy NC-Stop. Ruchy uruchomione ze statycznych akcji synchronicznych nie są przerywane. NaleŜące do aktywnego bloku lokalne w programie akcje synchroniczne pozostają aktywne, uruchomione z nich ruchy są przery-wane.
Akcje synchroniczne ruchu 10.7 Warunki brzegowe
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
666
Koniec programu Koniec programu i akcja synchroniczna nie wpływają na siebie. BieŜące akcje synchronicz-ne ulegają zakończeniu równieŜ po zakończeniu programu. Akcje synchroniczne aktywne w bloku M30 pozostają aktywne w tym bloku. JeŜeli jest to niepoŜądane, musicie przerwać ak-cję synchroniczną przed końcem programu przy pomocy CANCEL.
Zachowanie si ę po zako ńczeniu programu
Akcja synchronicz-na / cykl technolo-giczny
modalne i pojedynczymi blokami s ą przerywane
statyczne (IDS) pozostaj ą zachowane
Oś / wrzeciono po-zycjonuj ące
M30 ulega zwłoce, aŜ oś/wrzeciono za-trzyma się.
Ruch trwa dalej
Wrzeciono o regu-lowanej pr ędko ści obrotowej
Koniec programu: $MA_SPIND_ACTIVE_AFTER_RESET==1: wrzeciono pozostaje aktywne $MA_SPIND_ACTIVE_AFTER_RESET==0: wrzeciono zatrzymuje się Przy zmianie rodzaju pracy wrzeciono pozostaje aktywne
Wrzeciono pozostaje aktywna
SprzęŜenie warto ści wiod ącej
$MC_RESET_MODE_MASK, Bit13 == 1: sprzęŜenie wartości wiodącej pozostaje aktywne $MC_RESET_MODE_MASK, Bit13 == 0: sprzęŜenie wartości wiodącej jest rozłącza-ne
SprzęŜenie wystartowa-ne ze statycznej akcji synchronicznej pozosta-je zachowane
Procesy pomiaru Procesy pomiaru wystartowane z akcji synchronicznych są przerywane
Procesy pomiaru wy-startowane ze statycz-nych akcji synchronicz-nych pozostają aktywne
Szukanie bloku
Podczas szukania bloku akcje synchroniczne są gromadzone i poddawane ewaluacji przy NC-Start, przynaleŜne akcje są ewentualnie uruchamiane. Statyczne akcje synchroniczne działają równieŜ podczas poszukiwania bloku. Gdy podczas poszukiwania bloku zostaną znalezione współczynniki wielomianu zaprogramowane przy pomocy FCTDEF, działają one bezpośrednio.
Akcje synchroniczne ruchu 10.7 Warunki brzegowe
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
667
Przerwanie programu przez podprogram asynchroniczny ASUP
Początek ASUP:
Modalne i statyczne akcje synchroniczne ruchu pozostają zachowane i działają równieŜ w podprogramie asynchronicznym.
Koniec ASUP:
Gdy podprogram asynchroniczny nie jest kontynuowany z REPOS, zmienione w podprogra-mie asynchronicznym modalne i statyczne akcje synchroniczne ruchu działają dalej w pro-gramie głównym.
Repozycjonowanie (REPOS)
Po repozycjonowaniu (REPOS) znów stają się aktywne akcje synchroniczne działające w przerwanym bloku. Modalne akcje synchroniczne zmienione z podprogramu asynchronicz-nego nie działają po REPOS przy wykonywaniu reszty bloku. Na współczynniki wielomianu zaprogramowane przy pomocy FCTDEF nie mają wpływu pod-programy asynchroniczne i REPOS. NiezaleŜnie od tego, gdzie zostały zaprogramowane, moŜliwe są one w kaŜdym czasie do zastosowania w podprogramach asynchronicznych i w programie głównym równieŜ po wykonaniu REPOS.
Cofni ęcie wyboru przy pomocy CANCEL
Gdy wybór akcji synchronicznej zostanie cofnięty przy pomocy CANCEL, nie ma to wpływu na aktywną akcję. Ruchy pozycjonowania ulegają zakończeniu jak zaprogramowano.
Przy pomocy polecenia CANCEL moŜna anulować modalnie albo statycznie działającą akcję synchroniczną. Gdy akcja synchroniczna zostanie przerwana, gdy uaktywniony z niej ruch w osi pozycjonowania jest jeszcze aktywny, ruch ten ulega zakończeniu. JeŜeli jest to niepo-Ŝądane, moŜna zahamować ruch w osi przy pomocy osiowego skasowania pozostałej drogi przed poleceniem CANCEL.
Przykład:
Kod programu Komentarz ID=17 EVERY $A_IN[3]==1 DO POS[X]=15 FA[X]=1500 ; W ystartowanie ruchu po-
zycjonowania. ... WHEN ... DO DELDTG(X) ; Zako ńczenie ruchu pozy-
cjonowania. CANCEL(1)
Akcje synchroniczne ruchu 10.7 Warunki brzegowe
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
668
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
669
Ruch wahliwy 11
11.1 Asynchroniczny ruch wahliwy (OS, OSP1, OSP2, O ST1, OST2, OSCTRL, OSNSC, OSE)
Działanie
Oś wahliwa wykonuje ruch między dwoma punktami nawrotu 1 i 2 z podanym posuwem w jedną i drugą stronę, aŜ ruch ten zostanie wyłączony.
Inne osie mogą podczas ruchu wahliwego dowolnie interpolować. Poprzez ruch po torze al-bo przy pomocy osi pozycjonowania moŜna uzyskać ciągły dosuw. Nie ma jednak przy tym Ŝadnego związku między ruchem wahliwym i ruchem dosuwu.
Właściwo ści asynchronicznego ruchu wahliwego
● Asynchroniczny ruch wahliwy działa specyficznie dla osi poza granice bloku.
● Poprzez program obróbki jest zagwarantowane synchroniczne z blokiem włączenie ruchu wahliwego.
● Wspólna interpolacja wielu osi i nałoŜenie odcinków ruchu wahliwego są niemoŜliwe.
Programowanie
Poprzez następujące adresy jest moŜliwe odpowiadające wykonywaniu programu NC włą-czanie i sterowanie asynchronicznym ruchem wahliwym z programu obróbki.
Zaprogramowane wartości są synchronicznie do bloków zapisywane w przebiegu głównym w odpowiednich danych nastawczych i działają aŜ do następnej zmiany.
Włączenie, wył ączenie ruchu wahliwego: OS
OS[oś] = 1 : włączyć OS[oś] = 0 : wyłączyć
Ruch wahliwy 11.1 Asynchroniczny ruch wahliwy (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
670
Znaczenie OSP1 [o ś]=
OSP2 [o ś]=
Pozycja punktu nawrotu 1 (ruch wahliwy: lewy punkt nawrotny) Pozycja punktu nawrotu 2 (ruch wahliwy: prawy punkt nawrotny)
OST1 [o ś]=
OST2 [o ś]= Czas zatrzymania w punkcie nawrotu w sekundach
FA[o ś]= Posuw w osi ruchu wahliwego
OSCTRL [o ś]= (opcje ustawienia i cofnięcia)
OSNSC [oś]= Liczba skoków wyiskrzania
OSE [o ś]= Pozycja końcowa
OS [o ś]= 1 = Włączenie osi ruchu wahliwego; 0 = Wyłączenie osi ruchu wah-liwego
Czasy zatrzymania w punktach nawrotnych: OST1, OST2
Czas zatrzymania Zachowanie si ę ruchu w obszarze zatrzymania dokładne-go, w punkcie nawrotnym
-2 Interpolacja jest kontynuowana bez czekania na zatrzymanie dokładne
-1 Czekanie na zatrzymanie dokładne zgrubnie
0 Czekanie na zatrzymanie dokładne dokładnie
>0 Czekanie na zatrzymanie dokładne dokładnie a następnie odczekanie czasu zatrzymania
Jednostka czasu zatrzymania jest identyczna z czasem zatrzymania zaprogramowanym poprzez G4.
Ruch wahliwy 11.1 Asynchroniczny ruch wahliwy (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
671
Przykład, o ś wahliwa ma wykonywa ć ruch wahliwy mi ędzy dwoma punktami nawrotu
Oś ruchu wahliwego ma wykonywać ruch wahliwy między 10 i 100. Ruch do punktu nawrot-nego 1 z zatrzymaniem dokładnym dokładnie, ruch do punktu nawrotnego 2 z zatrzymaniem dokładnym zgrubnie. Praca osi ruchu wahliwego ma być wykonywana z posuwem 250. Na końcu obróbki mają nastąpić 3 skoki wyiskrzania i dojście do pozycji końcowej 200. Posuwem dla osi dosuwu jest 1, koniec dosuwu w kierunku X następuje w pozycji 15.
Kod programu Komentarz
WAITP(X,Y,Z) ; Poło Ŝenie wyj ściowe
G0 X100 Y100 Z100 ; Przeł ączenie na pozycjonowanie
N40 WAITP(X,Z)
N50 OSP1[Z]=10 OSP2[Z]=100 ->
-> OSE[Z]=200 ->
-> OST1[Z]=0 OST2[Z]=–1 ->
-> FA[Z]=250 FA[X]=1 ->
-> OSCTRL[Z]=(4,0) ->
-> OSNSC[Z]=3 ->
; Punkt nawrotny 1, punkt nawrotny 2
Pozycja ko ńcowa
Czas zatrzymania na U1: zatrzym. do-kładne dokł.;
Czas zatrzymania na U2: zatrz. dokł. zgrubnie
Posuw ruch wahliwy,
Oś dosuwu
Opcje ustawiania
N60 OS[Z]=1 Trzy skoki wyiskrzania
Wystartowanie ruchu wahliwego
N70 WHEN $A_IN[3]==TRUE ->
-> DO DELDTG(X)
; Skasowanie pozostałej drogi
N80 POS[X]=15 ; Poło Ŝenia wyj ściowe o ś X
N90 POS[X]=50
N100 OS[Z]=0 ; Zatrzymanie ruchu wahliwego
M30
-> MoŜna programować w jednym bloku.
Ruch wahliwy 11.1 Asynchroniczny ruch wahliwy (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
672
Przykład, ruch wahliwy ze zmian ą online pozycji nawrotnej Dane nastawcze
Dane nastawcze wymagane dla asynchronicznego ruchu wahliwego mogą zostać ustawione w danych nastawczych. Gdy dane nastawcze zostaną zapisane bezpośrednio w programie obróbki, wówczas zmiana działa juŜ w chwili przebiegu wyprzedzającego. Synchroniczne zachowanie się moŜe zostać osiągnięte przez zatrzymanie przebiegu wyprzedzającego STOPRE.
Kod programu Komentarz $SA_OSCILL_REVERSE_POS1[Z]=-10 $SA_OSCILL_REVERSE_POS2[Z]=10 G0 X0 Z0 WAITP(Z)
ID=1 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_POS1[Z] DO $AA_OVR[X]=0 ID=2 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[X]=0
; Gdy warto ść rzeczywista osi ruchu wahliwego przekroczyła punkt nawrotny, o ś dosuwu jest zatrzymywana.
OS[Z]=1 FA[X]=1000 POS[X]=40 ; Wł ączenie ruchu wahliwego OS[Z]=0 ; wył ączenie ruchu wahliwego M30
Opis
Dla ruchu wahliwego obowiązuje:
● KaŜda oś moŜe zostać uŜyta jako oś ruchu wahliwego. ● Równocześnie moŜe być aktywnych wiele osi ruchu wahliwego (maksymalnie: liczba osi pozycjonowania). ● Dla osi ruchu wahliwego jest zawsze - niezaleŜnie od polecenia G aktualnie obowiązują-cego w programie - aktywna interpolacja liniowa G1.
Oś ruchu wahliwego moŜe
● być osią wejściową dla transformacji dynamicznej, ● być osią prowadzącą w przypadku osi gantry i osi holowanych, ● wykonywać ruchy
– bez ograniczenia przyspieszenia drugiego stopnia (BRISK) albo – z ograniczeniem przyspieszenia drugiego stopnia (SOFT) albo – z załamaną charakterystyką przyspieszenia (jak osie pozycjonowania).
Ruch wahliwy 11.1 Asynchroniczny ruch wahliwy (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
673
Punkty nawrotne ruchu wahliwego Przy ustalaniu pozycji ruchu wahliwego naleŜy uwzględnić aktualne przesunięcia:
● Podanie absolutne OSP1[Z] = warto ść 1 Pozycja punkt nawrotny = suma przesunięć + wartość zaprogramowana ● Podanie względne OSP1[Z] = IC(warto ść)
Pozycja punktu nawrotnego = punkt nawrotny 1 + zaprogramowana wartość
Przykład: N10 OSP1[Z] = 100 OSP2[Z] = 110 . .
N40 OSP1[Z] = IC(3)
Wskazówka
WAITP(oś):
• Gdy ruch wahliwy ma być wykonywany przy pomocy osi geometrycznej, musi ona przy pomocy WAITP zostać zwolniona dla tego ruchu.
• Po zakończonym ruchu wahliwym oś ruchu wahliwego jest przy pomocy tego polecenia ponownie wpisywana jako oś pozycjonowania i moŜe być ponownie normalnie stosowana.
Ruch wahliwy z akcjami synchronicznymi ruchu i czas ami zatrzymania, OST1/OST2
Po upływie ustawionych czasów zatrzymania następuje w przypadku ruchu wahliwego we-wnętrzna zmiana bloku (widać po nowych pozostałych drogach w osiach). Przy zmianie blo-ku jest sprawdzana funkcja wyłączenia. Funkcja wyłączenia jest przy tym ustalana odpo-wiednio do ustawień sterujących przebiegiem ruchu "OSCTRL". Na to zachowanie si ę pod względem czasu mo Ŝna wpływa ć poprzez override posuwu .
Ewentualnie jest następnie wykonywany jeszcze jeden skok ruchu wahliwego, zanim zosta-ną wystartowane skoki wyiskrzania albo nastąpi ruch do pozycji końcowej. Powstaje przy tym wra Ŝenie, Ŝe zmienia si ę zachowanie si ę pod wzgl ędem wył ączenia. Tak jednak nie jest .
Ustawienie posuwu, FA
Jako prędkość posuwu obowiązuje zdefiniowana prędkość posuwu osi pozycjonowania. Gdy prędkość posuwu nie jest zdefiniowana, obowiązuje wartość zapisana w danej maszynowej.
Ruch wahliwy 11.1 Asynchroniczny ruch wahliwy (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
674
Definicja przebiegu ruchu, OSCTRL
Ustawienia sterujące dla przebiegu ruchu są ustawiane przy pomocy opcji ustawienia i cofnięcia.
OSCTRL[oś ruchu wahliwego] = (opcja ustawienia, opcja cofni ęcia)
Opcje ustawienia są zdefiniowane następująco (opcje cofnięcia cofają wybory ustawień):
Opcje wył ączane
Te opcje są wyłączane (tylko gdy przedtem były włączone jako opcje ustawienia).
Opcja ustawiane
Te opcje są przełączane. Przy zaprogramowaniu OSE (pozycja końcowa) działa implicite opcja 4.
Warto ść opcji Znaczenie
0 Przy wyłączeniu ruchu wahliwego zatrzymanie w najbliŜszym punkcie nawrotnym (ustawienie domyślne); moŜliwe tylko przez cofnięcie wartości 1 i 2
1 Przy wyłączeniu ruchu wahliwego zatrzymanie w punkcie nawrotu 1
2 Przy wyłączeniu ruchu wahliwego zatrzymanie w punkcie nawrotu 2
3 Przy wyłączeniu ruchu wahliwego nie ma ruchu do punktu nawrotnego, w przy-padku gdy skoki wyiskrzania nie są zaprogramowane
4 Po wyiskrzaniu dosuw do pozycji końcowej
8 JeŜeli ruch wahliwy jest przerywany przez skasowanie pozostałej drogi: następnie wykonanie skoków wyiskrzania i ew. ruch do pozycji końcowej
16 JeŜeli ruch wahliwy jest przerywany przez skasowanie pozostałej drogi: jak przy wyłączeniu ruch do odpowiedniej pozycji nawrotu
32 Zmieniony posuw jest aktywny dopiero od następnego punktu nawrotnego
64 FA równe 0, FA = 0: nałoŜenie drogi jest aktywne
FA nierówne 0, FA < >0: nałoŜenie prędkości jest aktywne
128 W przypadku osi obrotowej DC (najkrótsza droga)
256 =Skok wyiskrzania jest wykonywany jako skok podwójny. (standard) 1= skok wy-iskrzania jest wykonywany jako skok pojedynczy.
Wiele opcji jest ze sobą łączonych przy pomocy znaku plus.
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
675
Przykład:
Ruch wahliwy dla osi Z powinien przy wyłączeniu zatrzymać się w punkcie nawrotnym 1.
Przy tym ● ma zostać wykonany ruch do pozycji końcowej, ● zmieniony posuw ma zostać działać natychmiast a po skasowaniu pozostałej drogi oś ma się natychmiast zatrzymać.
OSCTRL[Z] = (1+4,16+32+64)
11.2 Ruch wahliwy sterowany poprzez akcje synchroni czne
Działanie
Przy tego rodzaju ruchu wahliwego ruch dosuwu jest dozwolony tylko w punktach nawrot-nych wzgl. w ramach zdefiniowanych obszarów nawrotu.
ZaleŜnie od wymogu ruch wahliwy moŜe podczas dosuwu
● być kontynuowany albo
● zatrzymany, aŜ dosuw będzie całkowicie wykonany.
Składnia 1. Ustalenie parametrów dla ruchu wahliwego 2. Zdefiniowanie akcji synchronicznych ruchu 3. Przyporządkowanie osi, ustalenie dosuwu
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
676
Znaczenie
OSP1[oś ruchu wahliwego]= pozycja punktu nawrotu 1 OSP2[oś ruchu wahliwego]= pozycja punktu nawrotu 2
OST1[oś ruchu wahliwego]= czas zatrzymania w punkcie nawrotu 1 w sekundach OST2[oś ruchu wahliwego]= czas zatrzymania w punkcie nawrotu 2 w sekundach FA[oś ruchu wahliwego]= posuw w osi ruchu wahliwego OSCTRL[oś ruchu wahliwego]= opcje ustawiania wzgl. cofania OSNSC[oś ruchu wahliwego]= liczba skoków wyiskrzania OSE[oś ruchu wahliwego]= pozycja końcowa WAITP(oś ruchu wahliwego) Zezwolenie dla osi na ruch wahliwy
Przyporz ądkowanie osi, dosuw
OSCILL[o ś ruchu wahliwego] = (o ś dosuwu1, o ś dosuwu2, o ś dosuwu3)
POSP[oś dosuwu] = (poz. ko ńcowa, długo ść cz ęściowa, tryb)
OSCILL Przyporządkowanie osi dosuwu do osi ruchu wahliwego POSP Ustalenie dosuwu całkowitego i dosuwów częściowych
(patrz punkt Plik i zarządzanie programami) Endpos Pozycja końcowa dla osi dosuwu, po tym jak wszystkie do-
suwy są wykonane. Długość częściowa Wielkość dosuwu częściowego w punkcie nawrotnym / ob-
szarze nawrotu Tryb Podział posuwu całkowitego na posuwy częściowe = dwa skrawy resztowe o takiej samej wielkości (ustawienie
domyślne); = wszystkie dosuwy częściowe o takiej samej wielkości
Akcje synchroniczne ruchu
WHEN… … DO gdy…, wówczas… WHENEVER … DO zawsze gdy…, wówczas…
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
677
Przykład W punkcie nawrotnym 1 dosuw nie powinien następować. . W punkcie nawrotnym 2 dosuw powinien następować juŜ w odstępie ii2 przed tym punktem a oś wahliwa nie powinna w punkcie nawrotnym czekać na zakończenie dosuwu częściowego. Oś Z jest osią wahliwą a oś X osią dosuwu.
1. parametr dla ruchu wahliwego
Kod programu Komentarz DEF INT ii2 ; Zdefiniowanie zmiennej dla obr ębu
nawrotu 2 OSP1[Z]=10 OSP2[Z]=60 ; Zdefiniowanie punktu nawro tu 1 i 2 OST1[Z]=0 OST2[Z]=0 ; Punkt nawrotu 1: zatrzymanie dokład-
ne dokładnie Punkt nawrotu 2: zatrzymanie dokładne
dokładnie FA[Z]=150 FA[X]=0.5 ; Posuw o ś ruchu wahliwego Z, posuw o ś
ruchu wahliwego X OSCTRL[Z]=(2+8+16,1) ; Wył ączenie ruchu wahliwego w punkcie
nawrotnym 2; po RWL wyiskrzanie i ruch do pozycji ko ńcowej; po RWL ruch do odpowiedniej pozycji nawrotu
OSNC[Z]=3 ; Skoki wyiskrzania OSE[Z]=70 ; Pozycja ko ńcowa = 70 ii2=2 ; Ustawienie zakresu nawrotu WAITP(Z) ; Zezwól na ruch wahliwy osi Z
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
678
2. Akcja synchroniczna ruchu
Kod programu Komentarz WHENEVER $AA_IM[Z]<$SA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[X]=0 $AC_MARKER[0]=0
; Zawsze gdy aktualna pozy-cja osi ruchu wahliwego Z w MKS jest mniejsza ni Ŝ pocz ątek zakresu nawrotu 2, ustaw osiowy override osi dosuwu X na 0% i znacznik o indeksie 0 na warto ść 0.
WHENEVER $AA_IM[Z]>=$SA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[Z]=0
; Zawsze gdy aktualna pozy-cja osi ruchu wahliwego Z w MKS jest wi ększa albo równa pozycji nawrotu 2, ustaw osiowy override osi wahliwej Z na 0%.
WHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER[0]=1
; Zawsze gdy pozostała droga jest równa dosuwowi cz ęścio-wemu, ustaw znacznik o in-deksie 0 na warto ść 1.
WHENEVER $AC_MARKER[0]==1 DO $AA_OVR[X]=0 $AA_OVR[Z]=100
; Zawsze gdy znacznik o in-deksie 0 jest taki sam, ustaw osiowy override osi dosuwu X na 0%, zapobiega to zbyt wczesnemu dosuwowi (o ś ruchu wahliwego Z jeszcze nie opu ściła obszaru nawrotu 2, o ś dosuwu X jest jednak gotowa do ponownego dosuwu) Ustaw osiowy override osi ruch wahliwego Z na 100% (przez to jest anulowana 2. akcja synchroniczna).
-> musi zostać zaprogramowane w jednym bloku
2. Wystartowanie ruchu wahliwego
Kod programu Komentarz OSCILL[Z]=(X) POSP[X]=(5,1,1) ; Wystartowanie osi Do osi ruchu wahliwego Z jest przyporz ądko-
wywana o ś X jako o ś dosuwu. Oś X powinna do pozycji 5 wykonywa ć ruch
krokami po 1. M30 ; Koniec programu
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
679
Opis
1. Ustalenie parametrów ruchu wahliwego
Przed blokiem ruchu, który zawiera przyporządkowanie osi dosuwu i osi ruchu wahliwego jak teŜ ustalenie dosuwu, naleŜy ustalić parametry ruchu wahliwego (patrz "Asynchro-niczny ruch wahliwy"). (patrz "Asynchroniczny ruch wahliwy").
2. Ustalenie akcji synchronicznych ruchu
Poprzez warunki synchroniczne następuje
Zatrzymanie dosuwu , aŜ oś wahliwa znajdzie się w ramach obszaru nawrotu (ii1, ii2) al-bo w punkcie nawrotu (U1, U2).
Zatrzymanie ruchu wahliwego podczas dosuwu w punkcie nawrotu.
Ponowne uruchomienie ruchu nawrotu po zakończonym dosuwie częściowym.
Ustalenie startu następnego dosuwu częściowego.
3. Przyporządkowanie osi wahliwej i osi dosuwu jak teŜ ustalenie dosuwu całkowitego i częściowego.
Ustalenie parametrów ruchu wahliwego
Przyporz ądkowanie osi ruchu wahliwego i osi dosuwu: OSCILL
OSCILL[o ś ruchu wahliwego]=(o ś dosuwu1,o ś dosuwu2,o ś dosuwu3)
Przy pomocy polecenia OSCILL następują przyporządkowania osi i uruchomienie ruchu wahliwego.
Maksymalnie do jednej osi ruchu wahliwego mogą zostać przyporządkowane 3 osie dosuwu.
Wskazówka
Przed uruchomieniem ruchu wahliwego muszą być ustalone warunki synchronizacji dla zachowania się osi.
Ustalenie dosuwów: POSP
POSP[oś dosuwu]=(Endpos,długo ść cz ęściowa,tryb) Przy pomocy polecenia POSP sterowanie jest informowane o: ● Dosuw całkowity (poprzez pozycję końcową) ● Wielkość kaŜdorazowego dosuwu częściowego w punkcie nawrotnym wzgl. w zakresie nawrotu ● Zachowanie się pod względem dosuwu częściowego przy osiągnięciu pozycji końcowej (poprzez tryb)
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
680
Tryb = 0 Dla obydwu ostatnich dosuwów częściowych następuje podział
pozostałej drogi do punktu docelowego na 2 pozostałe kroki o ta-kiej samej wielkości (ustawienie domyślne).
Tryb = 1 Wszystkie dosunięcia są takie same
Ustalenie akcji synchronicznych ruchu
Wymienione poniŜej akcje synchroniczne ruchu są najogólniej uŜywane do wykonywania ru-chu wahliwego.
Znajdziecie przykładowe rozwiązania dla poszczególnych wymogów, które posłuŜą Wam ja-ko moduły do sporządzania specyficznych dla uŜytkownika ruchów wahliwych.
Wskazówka
W indywidualnym przypadku warunki synchronizacji mogą być równieŜ inaczej zaprogra-mowane.
Słowa kluczowe
WHEN … DO … gdy…, wówczas…
WHENEVER … DO zawsze gdy…, wówczas…
Funkcje
Przy pomocy poniŜej opisanych szczegółowo środków językowych moŜecie zrealizować na-stępujące funkcje: 1. Dosuw w punkcie nawrotu. 2. Dosuw w obrębie nawrotu. 3. Dosuw w obydwu punktach nawrotu. 4. Zatrzymanie ruchu wahliwego w punkcie nawrotu. 5. Ponownie uruchomienie ruchu wahliwego. 6. Nie zbyt wczesny start dosuwu częściowego.
Dla wszystkich akcji synchronicznych przedstawionych tutaj jako przykład obowiązują zało-Ŝenia: ● Punkt nawrotny 1 < punkt nawrotny 2 ● Z = oś ruchu wahliwego ● X = oś dosuwu
Wskazówka
Odnośnie bliŜszych objaśnień patrz punkt Akcje synchroniczne ruchu.
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
681
Przyporz ądkowanie osi ruchu wahliwego i osi dosuwu jak te Ŝ ustalenie dosuwu całkowitego i częściowego
Dosuw w obr ębie nawrotu
Ruch dosuwu powinien rozpoczynać się w ramach obszaru nawrotu, zanim punkt nawrotu zostanie osiągnięty.
Te akcje synchroniczne zapobiegają ruchowi dosuwu, aŜ oś wahliwa znajdzie się w obsza-rze nawrotu.
Przy danych załoŜeniach (patrz wyŜej) wynikają następujące instrukcje:
Obszar nawrotu 1: WHENEVER $AA_IM[Z]>$SA_OSCILL_RESERVE_POS1[Z]+ii1
DO $AA_OVR[X]=0
Zawsze gdy aktualna pozycja osi ruchu wahliwego w MKS jest większa niŜ początek zakresu nawrotu 1, ustaw osiowy override osi dosuwu na 0%.
Obszar nawrotu 2:
WHENEVER $AA_IM[Z]<$SA_OSCILL_RESERVE_POS2[Z]+ii2
DO $AA_OVR[X] = 0
Zawsze gdy aktualna pozycja osi ruchu wahliwego w MKS jest mniejsza niŜ początek zakresu nawrotu 2, ustaw osiowy override osi dosuwu na 0%.
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
682
Dosuw w punkcie nawrotu
Dopóki oś ruchu wahliwego nie doszła do punktu nawrotu, nie następuje Ŝaden ruch osi do-suwu.
Przy danych załoŜeniach (patrz wyŜej) wynikają następujące instrukcje:
Zakres nawrotu 1:
WHENEVER $AA_IM[Z]<>$SA_OSCILL_RESERVE_POS1[Z]
DO $AA_OVR[X]=0 $AA_OVR[Z]=100
Zawsze gdy aktualna pozycja osi ruchu wahliwego Z w MKS jest większa albo mniejsza niŜ pozycja punktu nawrotu 1, ustaw osiowy override osi dosuwu X na 0% i osiowy override osi ruchu wahliwe-go Z na 100%.
Zakres nawrotu 2:
Dla zakresu nawrotu 2: WHENEVER $AA_IM[Z]<>$SA_OSCILL_RESERVE_POS2[Z]
DO $AA_OVR[X]=0 $AA_OVR[Z]=100
Zawsze gdy aktualna pozycja osi ruchu wahliwego Zu w MKS jest większa albo mniejsza niŜ pozycja punktu nawrotu 2, ustaw osiowy override osi dosuwu X na 0% i osiowy Override osi ruchu wahliwe-go Z na 100%.
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
683
Zatrzymanie ruchu wahliwego w punkcie nawrotu
Oś ruchu wahliwego jest zatrzymywana w punkcie nawrotu, równocześnie rozpoczyna się ruch dosuwu . Ruch wahliwy jest kontynuowany, gdy ruch dosuwu jest całkowicie wykonany.
Równocześnie ta akcja synchroniczna moŜe zostać uŜyta do tego, by uruchomić ruch dosu-wu, w przypadku gdy został on zatrzymany przez poprzednią akcję synchroniczną, która jeszcze działa.
Przy danych załoŜeniach (patrz wyŜej) wynikają następujące instrukcje:
Zakres nawrotu 1:
WHENEVER $SA_IM[Z]==$SA_OSCILL_RESERVE_POS1[Z]
DO $AA_OVR[X]=0 $AA_OVR[Z]=100
Zawsze gdy aktualna pozycja osi ruchu wahliwego w MKS jest równa pozycji nawrotu 1, ustaw osiowy override osi ruchu wahliwego na 0% i osiowy override osi dosuwu na 100%
Zakres nawrotu 2:
WHENEVER $SA_IM[Z]==$SA_OSCILL_RESERVE_POS2[Z]
DO $AA_OVR[X]=0 $AA_OVR[Z]=100
Zawsze, gdy aktualna pozycja osi ruchu wahliwego Zu w MKS jest równa pozycji nawrotu 2, ustaw osiowy override osi ruchu wahliwego X na 0% a osiowy over-ride osi dosuwu na 100%.
Ewaluacja online punktu nawrotu
JeŜeli po prawej stronie porównania znajduje się zmienna przebiegu głównego oznaczona przez $$, wówczas obydwie zmienne są na bieŜąco ewaluowane w takcie IPO i porównywa-ne ze sobą.
Wskazówka
Więcej informacji na ten temat patrz punkt "Akcje synchroniczne ruchu".
Ruch wahliwy 11.2 Ruch wahliwy sterowany poprzez akcje synchroniczne
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
684
Ponownie uruchomienie ruchu wahliwego
Ta akcja synchroniczna ruchu jest uŜywana do tego, by kontynuować ruch osi wahliwej, gdy ruch dosuwu częściowego jest zakończony.
Przy danych załoŜeniach (patrz wyŜej) wynikają następujące instrukcje:
WHENEVER $AA_DTEPW[X]==0
DO $AA_OVR[Z]=100
Zawsze gdy pozostała droga dla dosuwu częścio-wego osi dosuwu X w WKS jest równa zero, ustaw osiowy override osi ruchu wahliwego na 100%.
Następny dosuw cz ęściowy
Po dokonanym dosuwie musi zostać uniemoŜliwiony zbyt wczesny start następnego dosuwu częściowego. W tym celu jest stosowany specyficzny dla kanału znacznik ($AC_MARKER[indeks]) , któ-ry jest ustawiany na końcu dosuwu częściowego (częściowa pozostała droga ≡ 0) i kasowa-ny przy opuszczaniu zakresu nawrotu. Następnie przy pomocy akcji synchronicznej następu-je uniemoŜliwienie następnego ruchu dosuwu. Przy przyjętych załoŜeniach (patrz wyŜej) wy-nikają np. dla punktu nawrotu 1 następujące instrukcje:
1. Ustawienie znacznika: WHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER[1]=1
Zawsze gdy pozostała droga dla dosuwu częściowego osi dosuwu X w WKS jest równa zero, ustaw znacznik o indeksie 1 na 1.
2. Skasowanie znacznika WHENEVER $AA_IM[Z]<> $SA_OSCILL_RESERVE_POS1[Z] DO $AC_MARKER[1] = 0
Zawsze gdy aktualna pozycja osi ruchu wahliwego Z w MKS jest więk-sza albo mniejsza niŜ pozycja punktu nawrotu 1, ustaw znacznik 1 na 0.
3. Uniemo Ŝliwienie dosuwu WHENEVER $AC_MARKER[1]==1 DO $AA_OVR[X] = 0
Zawsze gdy znacznik 1 jest taki sam, ustaw osiowy override osi dosuwu X na 0%.
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
685
Tłoczenie i ci ęcie 12
12.1 Uaktywnienie, wył ączenie aktywno ści 12.1.1 Tłoczenie i ci ęcie wł. albo wył. (SPOF, SON, PON, SONS, PONS,
PDELAYON, PDELAYOF)
Działanie
Uaktywnienie/wył ączenie aktywno ści tłoczenia i ci ęcia, PON/SON
Przy pomocy PON i SON uaktywniacie funkcję tłoczenia wzgl. cięcia. SPOF powoduje zakoń-czenie wszystkich funkcji specyficznych dla tłoczenia i cięcia. Modalnie działające polecenia PON i SON wykluczają się wzajemnie, tzn., PON powoduje wyłączenie aktywności SON i na odwrót.
Tłoczenie i ci ęcie z rekordem pocz ątkowym, PONS/SONS
Funkcje SONS i PONS równieŜ włączają funkcje tłoczenia wzgl. cięcia.
W przeciwieństwie do SON/PON – sterowanie skokiem na płaszczyźnie interpolacji – w przy-padku tych funkcji następuje sygnałowo-techniczne sterowanie wyzwalaniem skoku na płaszczyźnie serwo. Dzięki temu moŜecie pracować z większymi częstotliwościami skoków a przez to z wyŜszą wydajnością tłoczenia.
Podczas ewaluacji sygnałów w rekordzie początkowym są zablokowane wszystkie funkcje, które prowadzą do zmiany pozycji osi cięcia albo tłoczenia.
Przykład: wykonywanie ruchów kółkiem ręcznym, zmiana frame poprzez PLC, funkcje po-miarowe.
Tłoczenie ze zwłok ą, PDELAYON/PDELAYOF
PDELAYON powoduje opóźnione wyprowadzenie skoku tłoczenia. Modalnie działające pole-cenie spełnia funkcję przygotowawczą i dlatego z reguły znajduje się przed PON. Po PDELAYOF następuje normalne dalsze tłoczenie.
Tłoczenie i cięcie 12.1 Uaktywnienie, wyłączenie aktywności
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
686
Składnia PONS G... X... Y... Z... SON G... X... Y... Z... SONS G... X... Y... Z... SPOF PDELAYON PDELAYOF
PUNCHACC(<Smin>,<Amin>,<Smax>,<Amax>)
Opis PON Tłoczenie wł.
PONS Tłoczenie z rekordem początkowym wł. SON Cięcie wł. SONS Cięcie z rekordem początkowym wł. SPOF Tłoczenie, cięcie wył. PDELAYON Tłoczenie ze zwłoką wł
PDELAYOF Tłoczenie ze zwłoką wył. PUNCHACC Przyśpieszenie zaleŜne od drogi <Smin> Najmniejszy odstęp otworów <Smax> Największy odstęp otworów <Amin> Przyspieszenie początkowe <Amin> MoŜe być większe niŜ <Amax>.
<Amax> Przyspieszenie końcowe <Aman> MoŜe być większe niŜ <Amin> .
Zastosowanie polece ń M
Przy wykorzystaniu techniki makr moŜecie w miejsce poleceń językowych równieŜ stosować polecenia M:
DEFINE M25 AS PON Tłoczenie wł. DEFINE M125 AS PONS Tłoczenie z rekordem początkowym wł. DEFINE M22 AS SON Cięcie wł. DEFINE M122 AS SONS Cięcie z rekordem początkowym wł. DEFINE M26 AS PDELAYON Tłoczenie ze zwłoką wł
DEFINE M20 AS SPOF Tłoczenie, cięcie wył. DEFINE M23 AS SPOF Tłoczenie, cięcie wył.
Tłoczenie i cięcie 12.1 Uaktywnienie, wyłączenie aktywności
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
687
Tłoczenie i ci ęcie z rekordem pocz ątkowym, PONS/SONS
Tłoczenie i cięcie z rekordem początkowym nie jest moŜliwe równocześnie w wielu kanałach. PONS wzgl. SONS moŜna uaktywnić tylko w jednym kanale.
Gdy PONS albo SONS zostanie jednocześnie uaktywnione w więcej niŜ jednym kanale, wów-czas tę niedozwoloną akcję rozpoznaje alarm 2200 "Kanał %1 szybkie tłoczenie/cięcie w wielu kanałach niemoŜliwe".
Poza tym PONS i SONS działają identycznie jak PON i SON.
Przyśpieszenie zale Ŝne od drogi, PUNCHACC
Polecenie językowe PUNCHACC (Smin, Amin, Smax, Amax) ustala charakterystykę przy-spieszenia, która w zaleŜności od odstępu otworów (S) definiuje róŜne przyspieszenia (A).
Przykład dla PUNCHACC(2, 50, 10, 100):
Odstępy otworów poniŜej 2 mm:
Ruch odbywa się z przyspieszeniem 50% przyspieszenia maksymalnego.
Odstępy otworów od 2 mm do 10 mm:
Przyspieszenie rośnie do 100% proporcjonalnie do odstępu.
Odstępy otworów większe niŜ 10 mm:
Ruch z przyspieszeniem 100%.
Wyzwolenie pierwszego skoku
Wyzwolenie pierwszego skoku po uaktywnieniu funkcji następuje w przypadku cięcia i tło-czenia róŜnie pod względem czasowym:
● PON/PONS:
– Wszystkie skoki – równieŜ skok w pierwszym bloku po uaktywnieniu– następują na końcu bloku.
● SON/SONS:
– Pierwszy skok po uaktywnieniu cięcia następuje juŜ na początku bloku.
– Wszystkie dalsze skoki są wyzwalane kaŜdorazowo na końcu bloku.
Tłoczenie i cięcie 12.1 Uaktywnienie, wyłączenie aktywności
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
688
Tłoczenie i ci ęcie na miejscu
Wyzwolenie skoku następuje tylko wtedy, gdy blok zawiera informację o ruchu dla osi tło-czenia albo cięcia (osie aktywnej płaszczyzny).
Aby mimo to wyzwolić skok w tym samym miejscu, zaprogramujcie osie tłoczenia / cięcia z drogą ruchu 0.
Wskazówka
Praca z u Ŝyciem narz ędzi obrotowych
Aby narzędzia obrotowe wprowadzić stycznie na zaprogramowany tor, stosujcie sterowanie styczne.
Tłoczenie i cięcie 12.2 Automatyczne przygotowanie drogi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
689
12.2 Automatyczne przygotowanie drogi
Działanie Podział na odcinki cz ęściowe Przy uaktywnionym tłoczeniu albo cięciu zarówno SPP jak równieŜ SPN powoduje podział całego odcinka ruchu zaprogramowanego dla osi uczestniczących w tworzeniu konturu na pewną liczbę odcinków częściowych o takiej samej długości (równoległy podział drogi). We-wnętrznie kaŜdy odcinek częściowy odpowiada jednemu blokowi.
Liczba skoków Przy tłoczeniu pierwszy skok następuje w punkcie końcowym pierwszego odcinka końcowe-go, przy cięciu natomiast - w punkcie startowym pierwszego odcinka częściowego. Na całym odcinku ruchu wynikają przez to następujące liczby: Tłoczenie: liczba skoków = liczba odcinków częściowych Cięcie: liczba skoków = liczba odcinków częściowych + 1
Funkcje pomocnicze Funkcje pomocnicze są wykonywane w pierwszym z utworzonych bloków..
Składnia SPP=
SPN=
Znaczenie SPP Wielkość odcinka częściowego (maksymalny odstęp skoków); działa modalnie
SPN Liczba odcinków częściowych na blok; działa pojedynczymi blokami
Tłoczenie i cięcie 12.2 Automatyczne przygotowanie drogi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
690
Przykład Zaprogramowane odcinki cięcia powinny automatycznie zostać podzielone na odcinki częścio-we o takiej samej wielkości.
Kod programu Komentarz N100 G90 X130 Y75 F60 SPOF ; Pozycjonowanie na pun kt startowy 1 N110 G91 Y125 SPP=4 SON ; Ci ęcie wł.; maksymalna długo ść od-
cinka cz ęściowego dla automatycznego podziału drogi: 4 mm
N120 G90 Y250 SPOF ; Ci ęcie wył.; pozycjonowanie na punkt startowy 2
N130 X365 SON ; Ci ęcie wł.; maksymalne Długo ść odcinka cz ęściowego dla auto-
matycznego podziału drogi: 4 mm N140 X525 SPOF ; Ci ęcie wył.; pozycjonowanie na
punkt startowy 3 N150 X210 Y75 SPP=3 SON ; Ci ęcie wł.; maksymalna długo ść od-
cinka cz ęściowego dla automatycznego podziału drogi: 3 mm
N160 X525 SPOF ; Ci ęcie wył.; pozycjonowanie na punkt startowy 4
N170 G02 X-62.5 Y62.5 I J62.5 SPP=3 SON ; Ci ęcie wł.; maksymalna długo ść odcinka cz ęściowego dla auto-matycznego podziału drogi: 3 mm
N180 G00 G90 Y300 SPOF ; Ci ęcie wył.
Tłoczenie i cięcie 12.2 Automatyczne przygotowanie drogi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
691
Przykład 2 Dla poszczególnych szeregów otworów powinien nastąpić automatyczny podział drogi. Dla podziału jest kaŜdorazowo podawana maksymalna długość odcinka częściowego (wartość SPP).
Kod programu Komentarz N100 G90 X75 Y75 F60 PON ; Pozycjonowanie na punkt startowy
1; Tłoczenie wł, tł. pojed. otworu N110 G91 Y125 SPP=25 ; Maksymalna długo ść odcinka po-
działowego dla automatycznego po-działu drogi: 25 mm
N120 G90 X150 SPOF ; Tłoczenie wył.; pozycjonowani e na punkt startowy 2
N130 X375 SPP=45 PON ; Tłoczenie wł.; maksymalna d ługo ść odcinka podziałowego dla automa-tycznego podziału drogi: 45 mm 45 mm
N140 X275 Y160 SPOF ; Tłoczenie wył.; pozycjonowan ie na punkt startowy 3
N150 X150 Y75 SPP=40 PON ; Tłoczenie wł.; w miejsc e zapro-gramowanej długo ści odcinka cz ę-ściowego 40 mm jest stosowana obli-czona długo ść odcinka cz ęściowego 37,79 mm.
N160 G00 Y300 SPOF ; Tłoczenie wył.; pozycjonowani e
Tłoczenie i cięcie 12.2 Automatyczne przygotowanie drogi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
692
12.2.1 Podział drogi w przypadku osi uczestnicz ących w tworzeniu konturu
Długo ść odcinka cz ęściowego SPP
Przy pomocy SPP podajecie maksymalny odstęp skoków a przez to maksymalną długość odcinków częściowych, na które całkowity odcinek ruchu ma zostać podzielony. Wyłączenie polecenia następuje przy pomocy SPOF albo SPP=0.
Przykład: N10 SON X0 Y0
N20 SPP=2 X10
Całkowity odcinek ruchu 10 mm jest dzielony na 5 odcinków częściowych po 2 mm (SPP=2).
Wskazówka
Podział drogi przy pomocy SPP następuje zawsze równolegle: wszystkie odcinki częściowe mają taką samą długość. Oznacza to, Ŝe zaprogramowana wielkość odcinka częściowego (wartość SPP) obowiązuje tylko wtedy, gdy iloraz drogi całkowitej i wartości SPP jest liczbą całkowitą. JeŜeli tak nie jest, wówczas wielkość odcinka częściowego jest tak redukowana, Ŝe jest uzyskiwany iloraz całkowitoliczbowy.
Tłoczenie i cięcie 12.2 Automatyczne przygotowanie drogi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
693
Przykład:
N10 G1 G91 SON X10 Y10 N20 SPP=3.5 X15 Y15
W przypadku drogi całkowitej 15 mm i odcinka częściowego 3,5 mm nie uzyskuje się ilorazu całkowitoliczbowego (4.28). Przez to następuje zmniejszenie wartości SPP do najbliŜszego moŜliwego ilorazu całkowitoliczbowego. W tym przypadku uzyskuje się długość odcinka czę-ściowego wynoszącą 3 mm.
Liczba odcinków cz ęściowych SPN
Przy pomocy SPN definiujecie liczbę odcinków częściowych, która ma zostać utworzona z całkowitej drogi ruchu. Długość odcinków częściowych jest obliczana automatycznie. Po-niewaŜ SPN działa pojedynczymi blokami, musi przedtem przy pomocy PON albo SON zostać uaktywnione tłoczenie albo cięcie.
SPP i SPN w tym samym bloku JeŜeli w tym samym bloku zaprogramujecie zarówno długość odcinka częściowego (SPP) jak teŜ liczbę takich odcinków (SPN), wówczas dla tego bloku obowiązuje SPN, dla wszyst-kich dalszych SPP. JeŜeli SPP uaktywniono juŜ przed SPN, wówczas po bloku z SPN jest ono ponownie aktywne.
Tłoczenie i cięcie 12.2 Automatyczne przygotowanie drogi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
694
Wskazówka
O ile tłoczenie/cięcie jest z zasady dostępne w sterowaniu, programowanie automatyczne-go podziału drogi przy pomocy SPN wzgl. SPP daje się uaktywnić równieŜ niezaleŜnie od tej technologii.
12.2.2 Podział drogi w przypadku pojedynczych osi
JeŜeli oprócz osi uczestniczących w tworzeniu konturu równieŜ pojedyncze osie są zdefinio-wane jako oś tłoczenia-cięcia, wówczas równieŜ one mogą podlegać automatycznemu po-działowi drogi.
Zachowanie si ę pojedynczej osi w przypadku SPP
Zaprogramowana długość odcinka częściowego (SPP) odnosi się w zasadzie do osi uczest-niczących w tworzeniu konturu. Dlatego w bloku, w którym oprócz ruchu pojedynczej osi i wartości SPP nie jest zaprogramowana Ŝadna oś uczestnicząca w tworzeniu konturu, war-tość SPP jest ignorowana.
JeŜeli w bloku jest zaprogramowana zarówno pojedyncza oś jak teŜ oś uczestnicząca w two-rzeniu konturu, wówczas zachowanie się pojedynczej osi zaleŜy od ustawienia odpowiedniej danej maszynowej.
1. Ustawienie standardowe
Droga pojedynczej osi jest dzielona równomiernie na bloki pośrednie wytwarzane przez SPP.
Przykład:
N10 G1 SON X10 A0 N20 SPP=3 X25 A100
Przez odcinek skoku 3 mm jest przy całkowitej drodze ruchu osi X (oś uczestnicząca w tworzeniu konturu) wynoszącej 15 mm wytwarzanych 5 bloków.
Oś A obraca się przez to w kaŜdym bloku o 20°.
Tłoczenie i cięcie 12.2 Automatyczne przygotowanie drogi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
695
1. Pojedyncza oś bez podziału drogi
Pojedyncza oś przebywa swoją całkowitą drogę w pierwszym z wytworzonych bloków.
2. RóŜny podział drogi
Zachowanie się pojedynczej osi jest zaleŜne od interpolacji osi uczestniczących w tworzeniu konturu:
● Interpolacja kołowa: podział drogi
● Interpolacja liniowa: brak podziału drogi
Zachowanie si ę w przypadku SPN
Zaprogramowana liczba odcinków częściowych obowiązuje równieŜ, gdy nie jest równocze-śnie zaprogramowana oś uczestnicząca w tworzeniu konturu.
Warunek: pojedyncza oś jest zdefiniowana jako oś tłoczenia-cięcia.
Tłoczenie i cięcie 12.2 Automatyczne przygotowanie drogi
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
696
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
697
Szlifowanie 13
13.1 Specyficzny dla szlifowania nadzór narz ędzia w programie ob-róbki (TMON, TMOF)
Działanie
Przy pomocy polecenia TMON moŜecie dla narzędzi szlifierskich (typ 400 - 499) uaktywnić w programie NC nadzór geometrii i prędkości obrotowej. Nadzór pozostaje aktywny, aŜ zosta-nie wyłączony przez polecenie TMOF.
Wskazówka
Przestrzegajcie danych producenta maszyny!
Warunek
Specyficzne dla szlifowania parametry narzędzia $TC_TPG1 do $TC_TPG9 muszą być ustawione.
Składnia TMON(<T-Nr.>)
TMOF(<T-Nr.>)
Znaczenie TMON Polecenie do włączenia specyficznego dla szlifowania nadzoru narzędzia TMOF Polecenie do wyłączenia specyficznego dla szlifowania nadzoru narzę-
dzia <T-Nr.> Podanie numeru T Wskazówka: Konieczne tylko wtedy, gdy narzędzie o tym numerze T nie jest aktywne.
TMOF(0) Wyłączenie nadzoru dla wszystkich narzędzi
Szlifowanie 13.1 Specyficzny dla szlifowania nadzór narzędzia w programie obróbki (TMON,TMOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
698
Dalsze informacje
Parametry narz ędzia specyficzne dla szlifowania
Parametr Znaczenie Typ danych
$TC_TPG1 Numer wrzeciona INT
$TC_TPG2 Instrukcja powiązania Są automatycznie utrzymywane identyczne parametry dla lewej i prawej strony ściernicy.
INT
$TC_TPG3 Minimalny promień ściernicy REAL
$TC_TPG4 Minimalna szerokość ściernicy REAL
$TC_TPG5 Aktualna szerokość ściernicy REAL
$TC_TPG6 Maksymalna prędkość obrotowa REAL
$TC_TPG7 Maksymalna prędkość obwodowa REAL
$TC_TPG8 Kąt ściernicy skośnej REAL
$TC_TPG9 Numer parametru do obliczenia promienia INT
Literatura:
Podręcznik działania Funkcje podstawowe; korekcja narzędzia (W1)
Włączenie nadzoru narz ędzia poprzez wybór narz ędzia
W zaleŜności od danej maszynowej moŜna dla narzędzi szlifierskich (typ 400 - 499) włączać nadzór narzędzia razem z jego wyborem.
W kaŜdym momencie czasu moŜe dla kaŜdego wrzeciona być aktywny tylko jeden nadzór.
Nadzór geometrii
Nadzorowana jest aktualny promień ściernicy i jej aktualna szerokość.
Nadzorowanie wartości zadanej prędkości obrotowej na wartość graniczną następuje cy-klicznie przy uwzględnieniu override wrzeciona.
Za wartość graniczną prędkości obrotowej jest uwaŜana mniejsza wartość, która wynika z porównania maksymalnej prędkości obrotowej z obliczoną prędkością obrotową z maksy-malnej prędkości obwodowej ściernicy i jej aktualnego promienia.
Praca bez numeru T i numeru D
Poprzez daną maszynową moŜna ustawić standardowy numer T i standardowy numer D, który nie musi juŜ być programowany i działa po Power On / reset.
Przykład: praca z tą samą ściernicą
Poprzez daną maszynową moŜna ustawić, Ŝe aktywne narzędzie przy zresetowaniu pozo-staje zachowane (patrz " Dowolne nadawanie numerów D , numer ostrza (strona 454) ").
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
699
Dalsze funkcje 14
14.1 Funkcje osi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL)
Działanie
AXNAME jest stosowane np. przy sporządzaniu ogólnie obowiązujących cykli, gdy nazwy osi nie są znane.
AX jest stosowane do pośredniego programowania osi geometrycznych i synchronicznych.
Identyfikator osi jest przy tym zapisywany w zmiennej typu AXIS albo dawany przez polece-nie jak AXNAME albo SPI .
SPI jest stosowane, gdy są programowane funkcje osi dla wrzeciona, np. wrzeciona syn-chronicznego.
AXTOSPI jest stosowane, aby zamienić identyfikator osi na indeks spline (funkcja odwrotna do SPI ).
AXSTRING jest stosowane, aby zamienić identyfikator osi (typ danych AXIS) na łańcuch znaków (funkcja odwrotna do AXNAME).
ISAXIS jest stosowane w ogólnie obowiązujących cyklach, aby zapewnić, Ŝe określona oś geometrii występuje i przez to następne wywołanie $P_AXNX nie zostanie przerwane z błę-dem.
MODAXVAL jest stosowane, aby w przypadku osi obrotowych modulo określić pozycję modu-lo.
Składnia AXNAME("String") AX[AXNAME("String")] SPI(n) AXTOSPI(A) albo AXTOSPI(B) albo AXTOSPI(C) AXSTRING(SPI(n)) ISAXIS(<numer osi geometrycznej>)
<pozycja modulo>=MODAXVAL(<o ś>,<pozycja osi>)
Dalsze funkcje 14. Funkcje osi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
700
Składnia AXNAME Konwertuje wejściowy ciąg znaków na identyfikator osi; wejściowy
ciąg znaków musi zawierać obowiązującą nazwę osi. AX Zmienny identyfikator osi SPI Konwertuje numer wrzeciona na identyfikator osi; przekazany pa-
rametr musi zawierać poprawny numer wrzeciona. n Numer wrzeciona AXTOSPI Konwertuje identyfikator osi na indeks wrzeciona typu Integer.
AXTOSPI odpowiada funkcji odwrotnej do SPI. X, Y, Z Identyfikator osi typu AXIS jako zmienna albo stała AXSTRING Jest wyprowadzany łańcuch znaków z przynaleŜnym numerem
wrzeciona. ISAXIS Sprawdza, czy istnieje podana oś geometryczna. MODAXVAL W przypadku osi obrotowych modulo określa pozycję modulo; ta
odpowiada reszcie modulo odniesionej do sparametryzowanego zakresu modulo. (wynosi w ustawieniu standardowym 0 do 360 stopni; poprzez MD30340 MODULO_RANGE_START i MD30330 $MA_MODULO_RANGE moŜna zmienić początek i wielkość za-kresu modulo).
Wskazówka
Rozszerzenia SPI
Funkcja osi SPI(n) moŜe być teraz stosowana równieŜ do odczytu i zapisu komponentów frame. Dzięki temu mogą być zapisywane frame o składni $S_PFRAME[SPI](1),TR]=2.22.
Przez dodatkowe zaprogramowanie pozycji osi poprzez adres AX[SPI(1)]=<pozycja osi> moŜe zostać wykonany ruch w osi. Warunkiem jest, by wrzeciono znajdowało się w trybie pozycjonowania albo pracy jako oś.
Dalsze funkcje 14. Funkcje osi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
701
Przykłady
Przykład 1: AXNAME, AX, ISAXIS
Kod programu Komentarz OVRA[AXNAME("oś poprzeczna")]=10 ; Override dla osi poprzecznej AX[AXNAME("oś poprzeczna")]=50.2 ; Pozycja ko ńcowa dla osi po-
przecznej OVRA[SPI(1)]=70 ; Override dla wrzeciona 1 AX[SPI(1)]=180 ; Pozycja ko ńcowa dla wrzeciona
1 IF ISAXIS(1)==FALSE GOTOF WEITER ; Czy jest odci ęta? AX[$P_AXN1]=100 ; Ruch w odci ętej wykonany WEITER:
Przykład 2: AXSTRING
Przy programowaniu przy pomocy AXSTRING[SPI(n)] nie jest juŜ jako numer wrzeciona wy-prowadzany indeks osi, której wrzeciono jest przyporządkowane, lecz łańcuch znaków "Sn".
Kod programu Komentarz AXSTRING[SPI(2)] ; Jest wyprowadzany ła ńcuch znaków "S2".
Przykład 3: MODAXVAL
Ma zostać określona pozycja modulo osi obrotowej modulo A. Wartością wyjściową dla obliczenia jest pozycja osi 372.55. Sparametryzowany zakres modulo wynosi 0 do 360 stopni: MD30340 MODULO_RANGE_START = 0 MD30330 $MA_MODULO_RANGE = 360
Kod programu Komentarz R10=MODAXVAL(A,372.55) ; Obliczona pozycja modulo R 10 = 12.55.
Przykład 4: MODAXVAL
JeŜeli programowany identyfikator osi nie odnosi się do osi obrotowej modulo, wówczas bę-dąca do konwersji wartość (<pozycja osi>) jest zwracana bez zmian.
Kod programu Komentarz R11=MODAXVAL(X,372.55) ; X jest osi ą liniow ą; R11 = 372.55.
Dalsze funkcje 14.2 Przełączane osie geometryczne (GEOAX)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
702
14.2 Przełączane osie geometryczne (GEOAX)
Funkcja Przy pomocy funkcji "Przełączane osie geometryczne" moŜna z programu obróbki zmienić zespół osi geometrycznych skonfigurowany poprzez dane maszynowe. Przy tym oś kanału zdefiniowana jako synchroniczna oś dodatkowa moŜe zastąpić dowolną oś geometryczną.
Składnia GEOAX(<n>,<oś kanału>,<n>,<o ś kanału>,<n>,<o ś kanału>)
GEOAX()
Znaczenie
GEOAX(...) Polecenie do przełączania osi geometrycznych Wskazówka: GEOAX() bez podania parametrów wywołuje konfigurację podsta-wową osi geometrycznych.
<n> Przy pomocy tego parametru jest podawany numer osi geometrycz-nej, której ma zostać przyporządkowana podana następnie oś kana-łu. Zakres wartości: 1, 2 albo 3 Wskazówka: Przy pomocy <n>=0 moŜna bez zastępowania usunąć podaną na-stępnie oś kanału z zespołu osi geometrycznych.
<oś kanału> Przy pomocy tego parametru jest podawana nazwa osi kanału, która ma zostać przyjęta do zespołu osi geometrycznych.
Dalsze funkcje 14.2 Przełączane osie geometryczne (GEOAX)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
703
Przykłady
Przykład 1: sterowanie dwoma osiami na przemian jak o osiami geometrycznymi
Ruchy saniami narzędziowymi mogą być wykonywane poprzez osie kanału X1, Y1, Z1, Z2:
Osie geometryczne są tak zaprojektowane, Ŝe po włączeniu najpierw Z1 działa jako 3. oś geometryczna pod nazwą osi geometrycznej "Z" i razem z X1 i Y1 tworzy zespół osi geome-trycznych.
W programie obróbki teraz osie Z1 i Z2 mają na przemian być uŜywane jako oś geome-tryczna Z:
Kod programu Komentarz ... N100 GEOAX(3,Z2) ; Jako 3. o ś geometryczna (Z) działa o ś
kanału Z3. N110 G1 ... N120 GEOAX(3,Z1) ; Jako 3. o ś geometryczna (Z) działa o ś
kanału Z1. ...
Dalsze funkcje 14.2 Przełączane osie geometryczne (GEOAX)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
704
Przykład 2: Przeł ączanie osi geometrycznych przy 6 osiach kanału
Maszyna posiada 6 osi kanału o nazwach XX, YY, ZZ, U, V, W.
Podstawowe ustawienie konfiguracji osi geometrycznych poprzez dane maszynowe jest na-stępujące:
Oś kanału XX = 1. oś geometryczna (oś X)
Oś kanału YY = 2. oś geometryczna (oś Y)
Oś kanału ZZ = 3. oś geometryczna (oś Z)
Kod programu Komentarz N10 GEOAX() ; Konfiguracja podstawowa osi geometry cznych
działa. N20 G0 X0 Y0 Z0 U0 V0 W0 ; Wszystkie osie przesuwem szybkim do po-
zycji 0. N30 GEOAX(1,U,2,V,3,W) ; O ś kanału U staje si ę pierwsz ą (X), V
drug ą (Y) a W trzeci ą osi ą geometryczn ą (Z). N40 GEOAX(1,XX,3,ZZ) ; O ś kanału XX staje si ę pierwsz ą (X), ZZ
trzeci ą osi ą geometryczn ą (Z). O ś kanału V pozostaje drug ą osi ą geometryczn ą (Y).
N50 G17 G2 X20 I10 F1000 ; Pełny okr ąg w płaszczy źnie X/Y. Ruch wykonuj ą osie kanału XX i V.
N60 GEOAX(2,W) ; O ś kanału W staje si ę drug ą osi ą geome-tryczn ą (Y).
N80 G17 G2 X20 I10 F1000 ; Pełny okr ąg w płaszczy źnie X/Y. Ruch wykonuj ą osie kanału XX i W.
N90 GEOAX() ; Cofni ęcie do stanu podstawowego. N100 GEOAX(1,U,2,V,3,W) ; O ś kanału U staje si ę pierwsz ą (X), V
drug ą (Y) a W trzeci ą osi ą geometryczn ą (Z). N110 G1 X10 Y10 Z10 XX=25 ; Osie kanału U, V, W wyk onuj ą ka Ŝdora-
zowo ruch do pozycji 10. XX jako o ś dodatkowa wykonuje ruch do pozycji 25.
N120 GEOAX(0,V) ; V jest wył ączana z zespołu osi geometrycz-nych. U i W s ą nadal pierwsz ą (X) i trzeci ą osi ą geometryczn ą (Z). Druga o ś geometryczna (Y) pozostaje nie zaj ęta.
N130 GEOAX(1,U,2,V,3,W) ; O ś kanału U pozostaje pierwsz ą (X), V staje si ę drug ą (Y), W pozostaje trzeci ą osi ą geometryczn ą (Z).
N140 GEOAX(3,V) ; V staje si ę trzeci ą osi ą geometryczn ą (Z, przy czym W jest zast ępowana a przez to usu-wana z zespołu osi geometrycznych. Druga o ś geometryczna (Y) jest jak dotychczas nie za-j ęta.
Dalsze funkcje 14.2 Przełączane osie geometryczne (GEOAX)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
705
Wskazówka
Konfiguracja osi
Przyporządkowanie między osiami geometrycznymi, osiami dodatkowymi, osiami kanału i osiami maszyny, jak teŜ ustalenie nazw poszczególnych typów osi jest dokonywane po-przez następujące dane maszynowe:
MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (przyporządkowanie osi geometrycznej do osi kanału)
MD20060 $MC_AXCONF_GEOAX_NAME_TAB (oś geometryczna w kanale)
MD20070 $MC_AXCONF_MACHAX_USED (numer osi maszyny obowiązujący w kanale)
MD20080 $MC_AXCONF_CHANAX_NAME_TAB (nazwa osi kanału w kanale)
MD10000 $MN_AXCONF_MACHAX_NAME_TAB (nazwa osi maszynowej)
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX (przyporządkowanie wrzeciona do osi maszyny)
Literatura:
Podręcznik działania Funkcje podstawowe; osie, układy współrzędnych frame (K2)
Ograniczenia
● Przełączenie osi geometrycznych jest niemoŜliwe w przypadku:
– aktywnej transformacji
– aktywnej interpolacji spline
– aktywnej korekcji promienia narzędzia
– aktywnej dokładnej korekcji narzędzia
● JeŜeli oś geometryczna i oś kanału mają taką samą nazwę, zmiana osi geometrycznej jest niemoŜliwa.
● śadna z osi uczestniczących w przełączeniu nie moŜe uczestniczyć w akcji, która moŜe trwać poza granicę bloku, jak to jest np. moŜliwe w przypadku osi pozycjonowania typu A albo osi holowanych.
● Przy pomocy polecenia GEOAX mogą zostać zastąpione tylko osie geometryczne juŜ istnie-jące przy włączeniu (a więc nie mogą być definiowane nowe).
● Zamiana osi przy pomocy GEOAX podczas przygotowywania tablicy konturu (CONTPRON, CONTDCON) prowadzi do alarmu.
Dalsze funkcje 14.2 Przełączane osie geometryczne (GEOAX)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
706
Warunki brzegowe
Stan osi po zast ąpieniu
Oś zastąpiona przez przełączenie w zespole osi geometrycznych jest po procesie przełą-czenia poprzez swoją nazwę osi kanału moŜliwa do programowania jako oś dodatkowa.
Frame, obszary ochrony, ograniczenia pola roboczego
Z przełączeniem osi geometrycznych są kasowane wszystkie frame, obszary ochrony i ograniczenia pola roboczego.
Współrz ędne biegunowe
Zamiana osi geometrycznych przy pomocy GEOAX ustawia analogicznie do zmiany płasz-czyzny przy pomocy G17-G19 modalne współrzędne biegunowe na wartość 0.
DRF, NPV
Ewentualne przesunięcie kółkiem ręcznym (DRF) albo zewnętrzne przesunięcie punktu ze-rowego (NPV) nadal działa po przełączeniu.
Podstawowa konfiguracja osi geometrycznych
Polecenie GEOAX ( ) wywołuje podstawową konfigurację zespołu osi geometrycznych.
Po POWER ON i przy przełączeniu na rodzaj pracy "bazowanie do punktu odniesienia" na-stępuje automatycznie przełączenie z powrotem na konfigurację podstawową.
Korekcja długo ści narz ędzia
Aktywna korekcja długości narzędzia działa równieŜ po procesie przełączenia. Obowiązuje ona jednak dla nowo przyjętych albo zmienionych pod względem pozycji osi geometrycz-nych jako jeszcze nie zrealizowana. Przy pierwszym poleceniu ruchu dla tej osi geometrycz-nej wynikowa droga ruchu składa się w związku z tym z sumy korekcji długości narzędzia i zaprogramowanej drogi ruchu.
Osie geometryczne, które przy przełączeniu zachowują swoją pozycję w zespole osi, za-chowują równieŜ swój status odnośnie korekcji długości narzędzia.
Dalsze funkcje 14.3 Komunikacja link
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
707
Konfiguracja osi geometrycznych przy aktywnej trans formacji
Konfiguracja osi geometrycznych obowiązująca w aktywnej transformacji (ustalona poprzez dane maszynowe) nie daje się zmienić poprzez funkcję "przełączane osie geometryczne".
JeŜeli w związku z transformacjami jest konieczność zmiany konfiguracji osi geometrycz-nych, wówczas jest to moŜliwe tylko poprzez kolejną transformację.
Zmieniona poprzez GEOAX konfiguracja osi geometrycznych jest kasowana przez uaktyw-nienie transformacji.
JeŜeli ustawienia danych maszynowych dla transformacji i dla przełączania osi geometrycz-nych są ze sobą sprzeczne, wówczas pierwszeństwo mają nastawy w transformacji.
Przykład:
Niech będzie aktywna transformacja. Według danych maszynowych w przypadku RESET transformacja powinna zostać zachowana, równocześnie jednak w przypadku RESET po-winna zostać stworzona podstawowa konfiguracja osi geometrycznych. W tym przypadku pozostaje zachowana konfiguracja osi geometrycznych, która została ustalona przy pomocy transformacji.
14.3 Komunikacja Link
Działanie NCU-link, połączenie między wieloma jednostkami NCU jednego urządzenia, znajduje za-stosowanie w urządzeniach o decentralnej budowie systemu. Przy duŜym zapotrzebowaniu na osie i kanały, np. w przypadku maszyn taktowych i maszyn wielowrzecionowych, moc ob-liczeniowa, moŜliwości konfiguracji i obszary pamięci przy jednej jedynej NCU mogą natrafić na granice praktyczne. Wiele NCU połączonych przy pomocy modułu NCU-Link , stwarzają rozwiązanie otwarte ku górze, które w sumie spełnia zadania stawiane przez takie obrabiarki. Moduł NCU-Link (HW) realizuje szybką komunikację NCU-NCU przez dostęp do zmiennej systemowej w celu zapi-su i odczytu.
Warunek
Ta funkcja jest związana z oddzielnie zamawianą opcją.
Dalsze funkcje 14.3 Komunikacja link
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
708
Zmienna link Zmienne link są globalnymi danymi systemu, do których połączone NCU mogą sięgać jako do zmiennych systemowych. UŜytkownik (jest to w tym przypadku z reguły producent maszyny) ustala: ● treści tych zmiennych, ● typ ich danych, ● ich zastosowanie, ● ich pozycję (indeks dostępu) w pamięci link. Zastosowania zmiennych link ● globalne stany maszyny ● zamocowanie obrabianego przedmiotu otwarte/zamknięte ● itd.
Zachowanie si ę sięgających zastosowa ń w czasie
Zastosowania róŜnych NCU, sięgające w jednym momencie czasu razem do pamięci link, muszą jednolicie uŜywać tej pamięci. Dla procesów całkowicie rozsprzęglonych pod wzglę-dem czasu pamięć link moŜe zostać róŜnie zajęta.
OSTRZEśENIE
Proces zapisu zmiennej link jest zakończony dopiero wtedy, gdy równieŜ inne NCU znajdą zapisaną informację. Potrzeba na to czasu ok. dwóch taktów interpolacji. Lokalne zapisy-wanie pamięci link ulega zwłoce o ten sam czas, aby panowała zgodność.
Dalsze wskazówki znajdziecie w
/FB2/ Podręcznik działania Funkcje rozszerzające; Wiele pulpitów obsługi i NCU (B3).
Dalsze funkcje 14.3 Komunikacja link
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
709
14.3.1 Dostęp do obszaru pami ęci globalnego dla NCU
Działanie
Wiele NCU połączonych poprzez moduły link moŜe przy pomocy opisanych niŜej dostępów do zmiennych systemowych sięgać do globalnego dla NCK obszaru pamięci w celu zapisu i odczytu.
● KaŜda NCU połączona poprzez moduł link moŜe korzystać z globalnych zmiennych link , jednolicie dostępnych dla wszystkich połączonych NCU.
● Zmienne link dają się programować jako zmienne systemowe. Znaczenie tych zmiennych jest z reguły ustalane i dokumentowane przez producenta maszyny.
● Zastosowania dla zmiennych link
● Objętość danych stosunkowo mała
● Szybkość przesyłania bardzo duŜa, z tego wynika: uŜycie jest przewidziane dla informacji krytycznych pod względem czasu.
● Dostęp do tych zmiennych systemowych jest moŜliwy z programu obróbki i z akcji syn-chronicznych . Wielkość obszaru pamięci dla zmiennych systemowych globalnych dla NCU daje się programować.
Po takcie interpolatora wszystkie uczestniczące NCU mogą spójnie czytać nowo zapisaną wartość w globalnej zmiennej systemowej.
Znaczenie
Zmienne link są zapisane w pamięci link. Po załadowaniu programu pamięć link jest zaini-cjalizowana z zawartością 0.
W ramach pamięci link jest dostęp do następujących zmiennych link: INT $A_DLB[i] Bajt danych (8 bitów) INT $A_DLW[i] Słowo danych (16 bitów) INT $A_DLD[i] Podwójne słowo danych (32 bity) REAL $A_DLR[i] Dana real (64 bity)
Dalsze funkcje 14.4 Pojemnik osi (AXCTSWE, AXCTSWED)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
710
Odpowiednio do typu jest przy zapisywaniu/odczycie dostęp do zmiennych link 1, 2, 4, 8 baj-tów.
Indeks i określa początek odpowiednich zmiennych w odniesieniu do początku zaprojekto-wanej pamięci link. Indeks jest liczony od 0.
Zakresy warto ści
Z typami danych są związane następujące zakresy wartości:
BYTE: 0 do 255
WORD: -32768 do 32767
DWORD: -2147483646 do +2147483647
REAL: ±(2,2*10-308 … 1,8*10+308)
Przykład
Kod programu Komentarz $A_DLB[5]=21 ; 5. bajt we wspólnej pami ęci link zawiera warto ść 21.
14.4 Pojemnik osi (AXCTSWE, AXCTSWED)
Działanie
W przypadku obrabiarek wielostanowiskowych ze stołem obrotowym / obrabiarek wielowrze-cionowych osie niosące obrabiane przedmioty poruszają się od jednej jednostki obróbkowej do drugiej. PoniewaŜ jednostki obróbkowe podlegają róŜnym kanałom NCU, przy zmianie stanowiska/połoŜenia osie niosące obrabiane przedmioty muszą być dynamicznie na nowo przyporządkowywane do odpowiedniego kanału NCU. Do tego celu słuŜą pojemniki osi.
W jednym momencie zawsze tylko jedna oś / wrzeciono zamocowania obrabianego przed-miotu jest aktywna(e) na lokalnej jednostce obróbkowej. Pojemnik osi zestawia moŜliwości połączeń ze wszystkimi osiami/wrzecionami zamocowania, z których zawsze tylko jedna(o) jest uaktywniona(e) dla jednostki obróbkowej.
Zmiana osi uŜywanych w sposób zdefiniowany poprzez pojemnik osi następuje przez prze-sunięcie wpisów w pojemniku osi ("obrót pojemnika osi") i wielkość kroku zadaną poprzez daną nastawczą (liczba slotów).
Dalsze funkcje 14.4 Pojemnik osi (AXCTSWE, AXCTSWED)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
711
Wywołanie obrotu pojemnika osi z programu obróbki następuje przy pomocy polecenia AXCTSWE wzgl. AXCTSWED.
Składnia AXCTSWE(<pojemnik osi>)
AXCTSWED(<pojemnik osi>)
Znaczenie
AXCTSWE Polecenie do obrotu pojemnika osi Gdy do sterowania dotarły zezwolenia wszystkich kanałów dla osi pojemnika, następuje obrót pojemnika ze specyficzną dla pojemnika wielkością kroku zapisaną w SD41700 $SN_AXCT_SWWIDTH[<numer pojemnika>].
AXCTSWED Polecenie obrotu pojemnika osi przy działaniu tylko aktywnego kana-łu (wariant polecenia dla uruchomienia!) Wskazówka: Osie wpisane do kanału uzyskują zezwolenie tylko wtedy, gdy pozo-stałe kanały, które mają osie w pojemniku, znajdują się w stanie reset.
<pojemnik osi>
Identyfikator pojemnika osi, który ma zostać przełączony.
MoŜliwymi danymi są:
CT<numer pojemnika> Do kombinacji liter CT jest podwieszany numer pojemnika osi.
Przykład: CT3
<nazwa pojemnika> Ustawiona przy pomocy MD12750 $MN_AXCT_NAME_TAB indywidualna nazwa pojemnika osi.
Przykład: A_CONT3
Dalsze funkcje 14.4 Pojemnik osi (AXCTSWE, AXCTSWED)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
712
Dalsze informacje
Pojemnik osi
Poprzez pojemnik osi mogą zostać przyporządkowane.
● osie lokalne i/albo
● osie link
Pojemniki osi z osiami link są obejmującym wiele NCU środkiem pracy (NCU globalna), który jest koordynowany przez sterowanie. Pojemniki osi, w których są zarządzane wyłącznie osie lokalne, są moŜliwe.
Literatura:
Wskazówki szczegółowe dot. projektowania pojemników osi patrz:
Podręcznik działania Funkcje rozszerzające; Wiele pulpitów obsługi na wielu NCU, Systemy decentralne (B3)
Kryteria zezwolenia
AXCTSWE( )
KaŜdy kanał, którego osie są wpisane w podanym pojemniku, daje zezwolenie na obrót osi (enable), gdy zakończył obróbkę w połoŜeniu/stacji. Gdy do sterowania dotarły zezwolenia wszystkich kanałów dla osi pojemnika, następuje obrót pojemnika ze specyficzną dla pojem-nika wielkością kroku zapisaną w SD41700 $SN_AXCT_SWWIDTH[<numer pojemnika>].
Dalsze funkcje 14.4 Pojemnik osi (AXCTSWE, AXCTSWED)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
713
Po obrocie pojemnika osi o 1 osi kanału Z jest zamiast osi AX1 na NCU1 przyporządkowana oś AX5 na NCU1. AXCTSWED( )
Wariant polecenia AXCTSWED() moŜe być stosowany do uproszczenia uruchamiania. Po-jemnik osi obraca się przy działaniu tylko aktywnego kanału o specyficzną dla pojemnika wielkość kroku zapisaną w SD41700 $SN_AXCT_SWWIDTH[<numer pojemnika>]. Wywo-łania wolno jest uŜyć tylko wtedy, gdy pozostałe kanały, które mają osie w pojemniku, znaj-dują się w stanie RESET.
Dalsze funkcje 14.4 Pojemnik osi (AXCTSWE, AXCTSWED)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
714
Działanie
Nowe przyporządkowanie osi po obrocie pojemnika dotyka wszystkich NCU, których kanały odsyłają do obróconego pojemnika osi poprzez logiczne odwzorowanie osi maszyny.
Obrót pojemnika osi z implicite GET/GETD
Przy zezwoleniu na obrót pojemnika osi wszystkie przyporządkowane do kanału osie po-jemnika są przy pomocy GET wzgl. GETD przyporządkowywane do kanału. Zwrot osi jest do-zwolony dopiero po obrocie pojemnika.
Wskazówka
To zachowanie się moŜe zostać ustawione poprzez daną maszynową. Proszę przestrzegać danych producenta maszyny.
Wskazówka
Obrotu pojemnika osi z implicite GET/GETD nie moŜna zastosować dla osi w stanie oś przebiegu głównego (np. dla osi PLC), poniewaŜ ta oś musiałaby wówczas wyjść z tego stanu w celu obrotu pojemnika osi.
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
715
14.5 Rozszerzone zatrzymanie i wycofanie
Działanie
Funkcja "rozszerzone zatrzymanie i wycofanie" ESR (Extended Stopping and Retract) stwa-rza moŜliwość reagowania na wybrane błędy w sposób elastyczny i oszczędzający obrabia-ny przedmiot.
Dost ępne reakcje cz ęściowe
"Rozszerzone zatrzymanie i wycofanie" udostępnia następujące reakcje częściowe:
● "Rozszerzone zatrzymanie " (autarkiczne dla napędu) jest zdefiniowanym, opóźnionym w czasie zatrzymaniem.
● "Wycofanie " (autarkiczne dla napędu) oznacza "ucieczkę" z płaszczyzny obróbki do bez-piecznej pozycji wycofania.
Zadaniem jest uniknięcie istniejącego niebezpieczeństwa kolizji między narzędziem i obra-bianym przedmiotem.
● "Praca generatorowa " (autarkiczna dla napędu)
W przypadkach, w których energia obwodu pośredniego nie wystarcza dla niezawodnego wycofania, jest moŜliwa praca generatorowa. Zapewnia ona jako samodzielny rodzaj pracy napędu w przypadku awarii sieci itp. niezbędną energię dla obwodu pośredniego napędu, która jest potrzebna dla uporządkowanego "zatrzymania" i "wycofania".
Dodatkowe rozszerzenia
● Zatrzymanie rozszerzone (prowadzone przez NC)
jest zdefiniowanym, opóźnionym w czasie i oszczędzającym kontur zatrzymaniem pod kon-trolą NC.
● Wycofanie (prowadzone przez NC)
oznacza “ucieczkę” z płaszczyzny obróbki do bezpiecznej pozycji wycofania pod kontrolą NC. W ten sposób obchodzi się występujące niebezpieczeństwo kolizji między narzędziem i obrabianym przedmiotem Np. przy obróbce kół zębatych naleŜy pod tym rozumieć wyjęcie narzędzia z właśnie obrabianej luki międzyzębnej.
Ze wszystkich reakcji moŜna korzystać niezaleŜnie od siebie. Dalsze informacje patrz /FB3/ Podręcznik działania Funkcje specjalne; SprzęŜenie osi i ESR (M3).
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
716
MoŜliwe źródła
PoniŜsze źródła błędów dla startu "rozszerzonego zatrzymania i wycofania" są: źródłami ogólnymi (zewnętrznymi/globalnymi dla NC albo specyficznymi dla BAG/kanału): ● Wejścia cyfrowe (np. na zespole konstrukcyjnym NCU wzgl. bloku terminalowym) wzgl. wewnętrzne w sterowaniu, odczytywalne odwzorowanie wyjść cyfrowych $A_IN, $A_OUT ● Stan kanału $AC_STAT ● Sygnały VDI ($A_DBB) ● Komunikaty zbiorcze liczby alarmów ($AC_ALARM_STAT)
Źródła osiowe ● Próg wycofania awaryjnego osi holowanej (praca synchroniczna sprzęŜenia elektronicz-nego, $VC_EG_SYNCDIFF[oś holowana]) ● Napęd: próg ostrzegania dla obwodu pośredniego (groŜący niedobór napięcia), $AA_ESR_STAT[oś] ● Napęd: próg minimalnej prędkości obrotowej generatora (nie ma juŜ zdatnej do zwrotu energii ruchu obrotowego), $AA_ESR_STAT[oś].
Logika powi ązania statycznych akcji synchronicznych: powi ązanie źródeł/reakcji
Elastyczne moŜliwości powiązania statycznych akcji synchronicznych są uŜywane do tego, aby na podstawie źródeł w stosunkowo krótkim czasie wyzwalać określone reakcje. Powiązanie wszystkich odnośnych źródeł przy pomocy statycznych akcji synchronicznych leŜy w rękach uŜytkownika. MoŜe on reagować na źródłowe zmienne systemowe jako całość albo teŜ selektywnie przy pomocy masek bitowych i dokonać odpowiedniego powiązania z poŜądanymi reakcjami. Statyczne akcje synchroniczne działają we wszystkich rodzajach pracy. Szczegółowy opis zastosowania akcji synchronicznych znajdziecie w
Literatura: /FBSY/ Opis funkcjonowania Akcje synchroniczne.
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
717
Uaktywnienie
Zezwolenie dla funkcji:
$AA_ESR_ENABLE
Funkcje pracy generatora, zatrzymania, wycofania, uzyskują zezwolenie przez usta-wienie odnośnego sygnału sterującego ($AA_ESR_ENABLE). Sygnał ten moŜe być zmieniany z akcji synchronicznych.
Wyzwolenie funkcji (wspólne wyzwolenie wszystkich zwalnianych osi)
$AN_ESR_TRIGGER
Praca generatorowa staje się "automatycznie" aktywna w napędzie przy rozpoznaniu groŜącego zbyt małego napięcia w obwodzie pośrednim.
Autarkiczne dla napędu zatrzymanie i/albo wycofanie stają się aktywne przy rozpo-znaniu przerwania komunikacji (między NC i napędem) jak teŜ przy rozpoznaniu nie-domiaru napięcia obwodu pośredniego w napędzie (przy załoŜeniu konfiguracji i udzielenia zezwolenia).
Autarkiczne dla napędu zatrzymanie i/albo wycofanie moŜe dodatkowo zostać wyzwo-lone równieŜ ze strony NC przez ustawienie odpowiedniego sygnału sterującego $AN_ESR_TRIGGER" (polecenie Broadcast do wszystkich napędów).
14.5.1 Reakcje autarkiczne dla nap ędu na ESR
Działanie
Reakcje autarkiczne dla napędu są definiowane osiowo, tzn. kaŜdy napęd w przypadku uak-tywnienia autarkicznie wykonuje swoje zaŜądanie zatrzymania/wycofania. Interpolacyjnego wzgl. wiernego konturowi sprzęŜenia osi przy zatrzymaniu albo wycofaniu nie ma, odniesie-nie do osi przebiega ze sterowaniem przez czas.
Podczas i po przeprowadzeniu reakcji autarkicznych dla napędu poszczególne napędy nie są juŜ posłuszne zezwoleniom NC wzgl. poleceniom ruchu od NC. Jest wymagane power-off/power-on. Wskazuje na to alarm "26110: Autarkiczne dla napędu zatrzymanie/wycofanie wyzwolone".
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
718
Parametry Praca generatorowa
Praca generatorowa jest ● konfigurowana: poprzez MD 37500: 10101010
● udostępniana: zmienna systemowa $AA_ESR_ENABLE
● uaktywniana: zaleŜnie od ustawienia danych maszynowych napędu przy spadku napięcia w obwodzie pośrednim. Wycofanie (autarkiczne dla nap ędu)
Wycofanie autarkiczne dla napędu jest ● konfigurowane: poprzez MD 37500: 11; podanie czasu i prędkości wycofania następuje po-przez MD, patrz "Przykład: zastosowanie reakcji autarkicznych dla napędu" na końcu niniej-szego punktu,
● udostępniane: zmienna systemowa $AA_ESR_ENABLE
● wyzwalane: zmienna systemowa $AN_ESR_TRIGGER. Zatrzymanie (autarkiczne dla nap ędu)
Zatrzymanie autarkiczne dla napędu jest ● konfigurowane: poprzez MD 37500: 12 jak teŜ podanie czasu poprzez MD; ● udostępniane ($AA_ESR_ENABLE) i
● uruchamiane: zmienna systemowa $AN_ESR_TRIGGER.
Przykład, zastosowanie reakcji autarkiczne dla nap ędu Konfiguracja przykładowa ● Oś A powinna pracować jako napęd generatorowy, ● Oś X powinna w przypadku błędu cofnąć się z maksymalną prędkością o 10 mm i ● osie Y i Z powinny zostać zatrzymane ze zwłoką 100 ms, aby oś wycofująca miała czas na rozłączenie sprzęŜenia mechanicznego.
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
719
Przebieg przykładowy
1. Zezwolenie dla opcji "rozszerzone zatrzymanie i wycofanie" i "rodzaj pracy akcje wykra-czające poza granicę bloku " (zawiera "statyczne akcje synchroniczne IDS ... )".
2. Przyporządkowanie funkcji: $MA_ESR_REACTION[X] = 11, $MA_ESR_REACTION[Y] = 12, $MA_ESR_REACTION[Z] = 12, $MA_ESR_REACTION[A] = 10;
3. Konfiguracja napędu:
MD 1639: RETRACT_SPEED[X] = 400000H w kier. dodatnim (max prędk.), = FFC00000H w kierunku ujemnym, MD 1638: RETRACT_TIME[X] = 10ms (czas wycofania), MD 1637: GEN_STOP_DELAY[Y] = 100ms, MD 1637: GEN_STOP_DELAY[Z] = 100ms, MD 1635: GEN_AXIS_MIN_SPEED[A] = Min pr ędko ść obr. generatorowa (obr/min).
4. Zezwolenie dla funkcji (z programu obróbki albo akcji synchronicznych): $AA_ESR_ENABLE[X] = 1, $AA_ESR_ENABLE[Y] = 1, $AA_ESR_ENABLE[Z] = 1, $AA_ESR_ENABLE[A] = 1.
5. Doprowadzenie napędu generatorowego do "zamachowej" prędkości obrotowej (np. w pracy jako wrzeciono M03 S1000)
6. Sformułowanie warunku przerzutnikowego jako statyczna akcja synchroniczna (akcje synchroniczne), np.:
● zaleŜnie od zadziałania osi generatorowej: IDS = 01 WHENEVER $AA_ESR_STAT[A]>0 DO $AN_ESR_TRIG GER = 1
● i/albo zaleŜnie od alarmów, które wyzwalają tryb śledzenia (Bit13=2000H): IDS = 02 WHENEVER ($AC_ALARM_STAT B_AND 'H2000'>0 DO $AN_ESR_TRIGGER = 1
● jak teŜ zaleŜnie od nadzoru ruchu synchronicznego przekładni elektronicznej (gdy np. Y jest zdefiniowana jako oś holowana przekładni a max dopuszczalne odchylenie ruchu syn-chronicznego ma wynosić 100 µm): IDS = 03 WHENEVER ABS($VA_E_SYNCDIFF[Y])>0.1 DO $AN_ESR_TRIGGER = 1
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
720
14.5.2 Prowadzone prze NC reakcje na wycofanie (POL F, POLFA, POLFMASK,
POLFMLIN)
Działanie Dla wycofania prowadzonego przez NC są wymagane określone warunki wyjściowe, które są niŜej opisane jako warunki. Gdy te warunki wycofania są spełnione, jest uaktywniane szybkie cofnięcie W programie obróbki musi być zaprogramowana pozycja wycofania POLF. Dla ruchu wycofania sygnały zezwoleń muszą być i pozostać ustawione.
Składnia POLF[geo|mach]=,=warto ść Pozycja docelowa osi wycofania POLFA(oś,typ,warto ść) Pozycja wycofania poszczególnych osi Są dozwolone następujące krótkie formy: POLFA(oś,typ) Krótka forma dla wycofania pojedynczej osi POLFA(oś,0/1/2)typ) Szybkie wyłączenie aktywności albo uak-
tywnienie POLFA(oś,0,$AA_POLFA[o ś]) Powoduje zatrzymanie przebiegu wyprze-
dzającego POLFA(Achse,0) Nie powoduje zatrzymania przebiegu wy-
przedzającego POLFMASK(nazwa_osi1,nazwa_osi2,...) Wybór osi dla wycofania Osie bez zaleŜności POLFMLIN(nazwa_osi1,nazwa_osi2,...) Wybór osi dla wycofania
Osie o zaleŜności liniowej
UWAGA
JeŜeli przy stosowaniu form skróconych POLFA zostanie zmieniony tylko typ, wówczas uŜytkownik musi zagwarantować, by albo pozycja wycofania albo droga wycofania zawie-rała sensowną wartość. W szczególności naleŜy na nowo ustawić pozycję wycofania i drogę wycofania po power on.
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
721
Znaczenie geo|mach Oś geometryczna albo oś kanału/maszyny, w której następuje wyco-
fanie. Oś Identyfikatory obowiązujących pojedynczych osi Typ Wartości pozycji poszczególnych osi typu: Wyłączenie obowiązywania wartości pozycji Wartość pozycji jest absolutna Wartość pozycji jest przyrostowa (odległość) Warto ść Pozycja wycofania, dla osi geometrycznej obowiązuje WKS, w innym
przypadku MKS. W przypadku takich samych identyfikatorów dla osi geometrycznej i osi kanału/maszyny wycofanie następuje w układzie współrzędnych obrabianego przedmiotu.
Programowanie przyrostowe jest dopuszczalne. Pozycja wycofania z typ=1 dla pojedynczych osi Droga wycofania z typ=2 dla pojedynczych osi Wartość jest przejmowana równieŜ z typem=0. Wartość ta jest wów-
czas jednak zaznaczona jako niepoprawna i musi dla wycofania zo-stać zaprogramowana na nowo.
POLF Polecenie POLF działa modalnie. POLFA JeŜeli oś nie jest pojedynczą osią albo brakuje typu wzgl. typ=0,
wówczas jest sygnalizowany odpowiedni alarm 26080 i alarm 26081. POLFMASK Przy pomocy poleceń POLFMASK podanym osiom jest udzielane ze-
zwolenie na wycofanie - bez zaleŜności między osiami. Polecenie POLFMASK( ) bez podania osi wyłącza aktywność szyb-
kiego odsunięcia dla wszystkich osi, które zostały wycofane bez za-leŜności między osiami.
POLFMLIN Przy pomocy polecenia POLFMLIN podane osie są zwalniane dla wycofania - z liniową zaleŜnością między osiami.
Polecenie POLFMLIN( ) bez podania osi wyłącza aktywność szyb-kiego odsunięcia dla wszystkich osi, które zostały wycofane z zaleŜ-nością liniową.
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
722
nazwa_osi Nazwy osi, które w przypadku LIFTFAST powinny wykonać ruch do
swoich pozycji zdefiniowanych przy pomocy POLF. Wszystkie poda-ne osie muszą znajdować się w tym samym układzie współrzęd-nych. Zanim poprzez POLFMASK albo POLFMLIN będzie moŜna udzielić zezwolenia na szybkie cofnięcie do stałej pozycji, musi dla wybranych osi zostać zaprogramowana pozycja przy pomocy POLF. Nie jest przewidziana Ŝadna dana maszynowa do domyślnego usta-wienia wartości POLF.
Przy interpretacji POLFMASK albo POLFMLIN jest wyprowadzany alarm 16016, gdy POLF jeszcze nie zaprogramowano.
Wskazówka
JeŜeli osie uzyskają kolejno zezwolenie przy pomocy POLFMASK, POLFMLIN albo POLFMLIN, POLFMASK, obowiązuje dla danej osi kaŜdorazowo ostatnie ustalenie.
OSTROśNIE
Pozycje zaprogramowane przy pomocy POLF i uaktywnienie przez POLFMASK albo POLFMLIN są kasowane przy starcie programu obróbki. Oznacza to, Ŝe uŜytkownik musi w kaŜdym programie obróbki na nowo zaprogramować wartości dla POLF i wybrane osie w POLFMASK wzgl. POLFMLIN.
Dalsze wskazówki odnośnie zmiany układu współrzędnych, działania osi obrotowych modulo itd. patrz:
Literatura:
Podręcznik działania Funkcje specjalne, sprzęŜenie osi i ESR (M3)
Przykład
Wycofanie pojedynczej osi:
Kod programu Komentarz MD 37500: ESR_REACTION[AX1] = 21 ; Wycofanie prowad zone przez NC ... ; $AA_ESR_ENABLE[AX1]=1 ; POLFA(AX1,1,20.0) ; Do AX1 jest przydzielana osiow a po-
zycja wycofania 20.0 (absolutna). $AA_ESR_TRIGGER[AX1]=1 ; Od tego miejsca zaczyna s i ę wycofa-
nie
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
723
Warunek Wycofanie ● osie wybrane przy pomocy POLFMASK albo POLFMLIN, ● pozycje specyficzne dla osi zdefiniowane przy pomocy POLF, ● zdefiniowane przy pomocy POLFA pozycje wycofania pojedynczej osi, ● okna czasowe w
MD 21380: ESR_DELAY_TIME1 i MD 21381: ESR_DELAY_TIME2,
● inicjalizacja przez zmienną systemową $AC_ESR_TRIGGER $AA_ESR_TRIGGER dla pojedynczych osi,
● uzgodnione ESR MD 37500: ESR_REACTION = 21,
● LFPOS z modalnej 46. grupy G-Code-. Zwolnienie i wystartowanie wycofania prowadzonego p rzez NC
Gdy jest ustawiona zmienna systemowa $AC_ESR_TRIGGER = 1 i gdy w tym kanale jest skonfigurowana oś wycofania (tzn. MD 37500: ESR_REACTION = 21) i dla tej osi jest usta-wiona $AA_ESR_ENABLE = 1 , wówczas jest w tym kanale uaktywniane LIFTFAST. W programie obróbki musi być zaprogramowana pozycja wycofania POLF. Przy wycofywa-niu pojedynczymi osiami przy pomocy POLFA (o ś, typ, warto ść) musi być zaprogra-mowana wartość i spełnione następujące warunki: ● Musi być ustawiona $AA_ESR_ENABLE = 1 . ● POLFA(oś) musi w momencie przerzutnikowym być pojedynczą osią. ● POLFA(Typ) albo typ=1 albo typ=2 Dla ruchu wycofania sygnały zezwoleń muszą być i pozostać ustawione. ● Skonfigurowany przy pomocy LFPOS, POLF ruch odsunięcia osi wybranej(ych) przy po-mocy POLFMASK albo POLFMLIN zastępuje ruch po torze ustalony dla tej(tych) osi w pro-gramie obróbki. ● Rozszerzony ruch wycofania (tzn. LIFTFAST/LFPOS ) wyzwolony przez $AC_ESR_TRIGGER) jest nieprzerywalny i moŜe zostać przedwcześnie zakończony tylko przez wyłączenie awaryjne. Dla wycofania jest do dyspozycji maksymalnie suma czasów MD 21380: ESR_DELAY_TIME1 i MD 21381: ESR_DELAY_TIME2. Po upływie tego czasu jest równieŜ dla osi wycofania rozpoczynane szybkie hamowanie z następną aktualizacją.
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
724
Kierunek wycofania przy szybkim cofni ęciu i zamianie osi
W chwili uaktywnienia szybkiego cofnięcia jest uaktywniany obowiązujący frame.
Wskazówka
Frame z obrotem wpływają poprzez POLF równieŜ na kierunek, w którym następuje odsu-nięcie. Wycofanie prowadzone przez NC jest • konfigurowane: poprzez MD 37500: 21 jak teŜ 2 podanie czasu poprzez MD p. wyŜej, • udostępniane ($AA_ESR_ENABLE) i • uruchamiane: zmienna systemowa $AC_ESR_TRIGGER dla pojedynczych osi przy pomo-cy $AA_ESR_TRIGGER.
Przy wycofaniu prowadzonym przez NC LIFTFAST/LFPOS jest uŜywane jak przy nacinaniu gwintu a przy pomocy zmiennej systemowej $AC_ESR_TRIGGER oś wycofania skonfiguro-wana w kanale jest udostępniana dla szybkiego cofnięcia. Wycofanie wyzwolone przez $AC_ESR_TRIGGER jest zablokowane przez wielokrotnym wycofaniem.
Osie wycofania naleŜy zawsze przyporządkowywać dokładnie jednemu kanałowi NC i nie mogą one być zamieniane między kanałami. Próba zamiany osi do innego kanału jest sy-gnalizowana alarmem 261122.
Dopiero gdy przy pomocy $AA_ESR_ENABLE[AX] = 0 aktywność tej osi została wyłączo-na, moŜna ją zamienić w nowym kanale. Po dokonanej zamianie osi moŜna je ponownie ob-ciąŜyć przy pomocy $AA_ESR_ENABLE[AX] = 1 .
Osie neutralne nie mogą wykonywać ESR prowadzonego przez NC.
Przy $AA_ESR_ENABLE[AX] = 1 i przy zmianie osi na stan neutralny jest generowany da-jący się blokować alarm 26121..
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
725
14.5.3 Prowadzone przez NC reakcje na zatrzymanie
Działanie
Zatrzymanie
Przebieg dla zatrzymania rozszerzonego (prowadzonego przez NC) wynika z obydwu da-nych maszynowych
MD21380 $MC_ ESR_DELAY_TIME1 i
MD21381 $MC_ESR_DELAY_TIME2.
Przez czas w MD21380 oś interpoluje bez przeszkód dalej jak zaprogramowano. Po upływie czasu w MD21380 rozpoczynane jest interpolacyjnie prowadzone hamowanie (zatrzymanie według charakterystyki). Dla interpolacyjnie prowadzonego hamowania jest wówczas do dyspozycji maksymalnie przedział czasu w MD21381, po upływie tego czasu jest rozpoczy-nane szybkie hamowanie z następną aktualizacją.
Zwolnienie i wystartowanie zatrzymania prowadzonego przez NC
Prowadzone przez NC zatrzymanie jest konfigurowane: poprzez MD37500: 22 jak teŜ 2 podanie czasu poprzez dwie MD patrz wyŜej; udostępniane ($AA_ESR_ENABLE) i star-towane: zmienna systemowa $AC_ESR_TRIGGER dla pojedynczych osi przy pomocy $AA_ESR_TRIGGER.
Przykład, zatrzymanie pojedynczej osi
Kod programu Komentarz MD37500 $MC_ESR_REACTION[AX1] = 22 ; Zatrzymanie p rowadzone
przez NC MD21380 $MC_ESR_DELAY_TIME1[AX1] = 0.3 ; MD21381 $MC_ESR_DELAY_TIME2[AX1] = 0.06 ; ... $AA_ESR_ENABLE[AX1] = 1 ; $AA_ESR_TRIGGER[AX1] = 1 ; Od tego miejsca rozpo-
czyna si ę zatrzymanie.
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
726
14.5.4 Praca generatorowa/spadek napi ęcia obwodu po średniego
Działanie
Przez zaprojektowanie MD napędu i odpowiedniego zaprogramowania poprzez statyczne akcje synchroniczne ($AA_ESR_ENABLE) mogą być kompensowane krótkotrwałe spadki napięcia w obwodzie pośrednim. Czas kompensacji zaleŜy od zmagazynowanej energii ge-neratora, który słuŜy do wsparcia obwodu pośredniego, i energii potrzebnej do utrzymania aktualnych ruchów (wsparcie obwodu pośredniego i nadzór na granicę prędkości obrotowej generatora).
W przypadku spadku poniŜej dolnego progu napięcia obwodu pośredniego odnośna oś/wrzeciono przechodzi z pracy z regulacją połoŜenia albo prędkości obrotowej na pracę generatorową.
Przez wyhamowywanie napędu (wartość zadana prędkości obrotowej = 0) energia jest zwra-cana do obwodu pośredniego.
Dalsze informacje patrz
/FB3/ Podręcznik działania Funkcje specjalne; sprzęŜenia osi i ESR (M3).
14.5.5 Zatrzymanie autarkiczne dla nap ędu
Działanie
Napędy przedtem sprzęŜonego zespołu mogą przez sterowaną pod względem czasu zwłokę wyłączenia być zatrzymywane z moŜliwie małym odchyleniem w stosunku do siebie, gdy po stronie sterowania nie jest to moŜliwe.
Zatrzymanie autarkiczne dla napędu jest konfigurowane i uzyskuje zezwolenie poprzez MD (czas zwłoki T1 w MD) i uzyskuje zezwolenie przy pomocy zmiennej systemowej $AA_ESR_ENABLE a jest uruchamiane przy pomocy $AN_ESR_TRIGGER.
Dalsze funkcje 14.5 Rozszerzone zatrzymanie i wycofanie
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
727
Reakcje Na czas T1 wartość zadana prędkości obrotowej właśnie aktywna przy wystąpieniu błędu jest nadal wyprowadzana. Następuje przez to próba utrzymania ruchu działającego przed usterką, aŜ połączenie kształtowe zostanie zniesione wzgl. aŜ zostanie zakończony ruch wycofania zainicjowany równolegle w innych napędach. MoŜe to mieć sens dla wszystkich napędów prowadzą-cych / holowanych albo dla napędów znajdujących się w sprzęŜeniu albo w zespole.
Po upływie tego czasu T1 wszystkie osie są zatrzymywane przez włączenie wartości zada-nej prędkości obrotowej równej zeru i przy osiągnięciu stanu zatrzymanego wzgl. po upływie czasu (+ MD napędu) impulsy są kasowane.
14.5.6 Wycofanie autarkiczne dla nap ędu
Działanie
Osie z napędami cyfrowymi SIMODRIVE 611Digital mogą (jeŜeli zaprojektowano i udostęp-niono)
● równieŜ w przypadku awarii sterowania (rozpoznanie braku znaku Ŝycia),
● przy spadku napięcia obwodu pośredniego poniŜej progu ostrzegania,
● przy wyzwoleniu przez zmienną systemową $AN_ESR_TRIGGER
wykonać samoczynnie ruch wycofania. Ruch wycofania następuje autarkicznie przez napęd SIMODRIVE 611Digital. Od początku fazy wycofania napęd samoczynnie utrzymuje swoje zezwolenia na przedtem obowiązujących wartościach.
Dalsze informacje patrz
/FB3/ Podręcznik działania Funkcje specjalne; Funkcje osi i ESR (M3).
Dalsze funkcje 14.6 Sprawdzenie występującego zakresu językowego NC (STRINGIS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
728
14.6 Sprawdzenie wyst ępuj ącego zakresu j ęzykowego NC (STRINGIS)
Działanie
Generowany w przypadku SINUMERIK 840D sl zakres języka NC, łącznie z aktywnymi defi-nicjami GUD/makr jak teŜ zainstalowanymi i aktywnymi programami cykli, moŜna przy po-mocy polecenia STRINGIS sprawdzić na rzeczywistą dostępność i specyficzne dla progra-mu właściwości. Tak więc jest np. moŜliwe juŜ na początku interpretacji programu spraw-dzenie nie uaktywnionej funkcji na jej działanie.
Wartości zwrotne są poprzez interfejs graficzny HMI wyprowadzane w formie kodowanej i zawierają informacje bazowe i dodatkowo kodowane informacje szczegółowe.
Składnia STRINGIS(STRING nazwa) = kodowana warto ść zwrotna
W aktualnej wersji badany (STRING nazwa ) jest zasadniczo przez:
000 identyfikowany jako nieznany.
100 rozpoznawany jako polecenie językowe NC, które jednak nie jest programowalne.
Wszystkie programowalne polecenia językowe NC, które są aktywne jako opcja albo funk-cja, są rozpoznawane z 2xx. PrzynaleŜne informacje szczegółowe są bliŜej objaśnione pod "Zakresy wartości".
Znaczenie
Rodzaj i sposób jak i przy pomocy jakich poleceń językowych NC naleŜy wykonywać ruchy, ustala producent maszyny poprzez daną maszynową.
JeŜeli zostaną zaprogramowane polecenia językowe, których funkcja nie jest aktywna albo które są znane w nie aktualnym zakresie, prowadzi to do komunikatu alarmowego. Proszę przestrzegać w tym przypadku danych producenta maszyny
STRINGIS Sprawdza istniejący zakres językowy NC a szczególnie naleŜące do
tego polecenia nazwy cykli NC, zmienne uŜytkownika, makra i na-zwy etykiet: czy istnieją one, czy są poprawne, zdefiniowane albo aktywne. Polecenie językowe STRINGIS jest zmienną typu integer.
Dalsze funkcje 14.6 Sprawdzenie występującego zakresu językowego NC (STRINGIS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
729
Specjalnie dla STRINGIS Nazwa cykluNazwa cykluNazwa cykluNazwa cyklu NC (aktywnego cyklu) Zmienne GUD Zmienne LUD Makra Nazwa etykiety
STRING nazwa Identyfikatory zmiennych badanego zakresu językowego NC i przekazywane parametry rozpoznanych wartości ty-pu STRING.
Polecenie językowe ISVAR stanowi podzbiór polecenia STRINGIS i moŜe być nadal stoso-wane do określonych kontroli.
Zakres j ęzykowy NC
SINUMERIK powerline nadal zna wszystkie dostępne a równieŜ szczególnie nie potrzebne i aktywne polecenia językowe. Będący do sprawdzenia w przypadku SINUMERIK solution line zakres języka jest zaleŜny od konfigurującej danej maszynowej i obejmuje albo wszyst-kie znane albo specjalnie tylko udostępnione opcje albo aktywne funkcje w aktualnym za-kresie języka NC.
Zakres j ęzyka NC Do zakresu języka NC naleŜą:
G-Code wszystkich istniejących grup G-Code jak np. G0, G1, G2, INVCW, POLY, ROT, KONT, SOFT, CUT2D, CDON, RMB, SPATH
Adresy DIN albo NC jak np. ADIS, RNDM, SPN, SR, MEAS
Funkcje j ęzykowe NC jak np. podprogramy predefiniowane TANG(Foś1..n, Lo ś1..n, współczynnik sprz ęŜenia ).
Procedury j ęzykowe NC (predefiniowane procedury ze zwracaną wartością) jak np. wywołanie podprogramu z przekazaniem parame-trów GETMDACT.
Procedury j ęzykowe NC (predefiniowane procedury bez zwracanej wartości) jak np. wyłączenie blokowania wykonywania pojedynczymi blokami SBLOF.
Słowa kluczowe NC jak np. ACN, ACP, AP, RP, DEFINE, SETMS
Dane maszynowe $MN ogólne, $MA osiowe, $MC specyficzne dla kanału jak teŜ wszystkie dane nastawcze $S... i dane opcji $O... .
Zmienne systemowe NC $ w programie obróbki jak teŜ parametry obliczeniowe R.
Dalsze funkcje 14.6 Sprawdzenie występującego zakresu językowego NC (STRINGIS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
730
Zwracane warto ści
Informacje bazo-we
STRINGIS
Wartość zwrotna jest kodowana. Zawarte informacja bazowe są podzielone w y a istniejące informacje szczegółowe w x.
Kodowanie miejsc:
Wynik kontroli , czy w aktualnym stopniu rozbudowy:
000 STRING nazwa nie jest znany NCK.
100 STRING nazwa jest poleceniem językowym, ale nie jest progra-mowalny , tzn. Ŝe ta funkcja jest nieaktywna.
2xx STRING nazwa jest programowalnym poleceniem językowym, tzn. Ŝe ta funkcja jest aktywna.
y00 Przyporządkowanie nie jest moŜliwe
y01 do y11 Zakresy wartości dla istniejących informacji szczegółowych są zna-ne.
400 Adresy NC, które nie mają xx=01 albo xx=10 i które nie są G-Code G albo parametrem obliczeniowym R, patrz wskazówka (1).
Wskazówka
Gdyby przy kontroli ze STRINGIS nie uzyskano Ŝadnego innego kodowania miejsc, wów-czas odpowiednie polecenie językowe NC jest uwaŜane za programowalne i obowiązuje kodowanie miejsc 2xx.
Zakresy warto ści 2xx informacji szczegółowych
Informacje szczegółowe Znaczenie wyniku kontroli:
200 Interpretacja nie jest moŜliwa 201 Adres DIN wzgl. adres NC jest zdefiniowany, tzn. czy z jego nazwy
zostały rozpoznane litery adresowe, patrz wskazówka (1) 202 G-Code z istniejących grup G-Code zostały rozpoznane. 203 Funkcje językowe NC z wartością zwrotną i przekazanie parame-
trów występują. 204 Procedury językowe NC bez wartości zwrotnej z przekazaniem pa-
rametrów występują.
205 Słowa kluczowe NC występują.
Dalsze funkcje 14.6 Sprawdzenie występującego zakresu językowego NC (STRINGIS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
731
206 Ogólne, osiowe albo specyficzne dla kanału dane maszynowe
($M... ), dane nastawcze ($S... ) albo dane opcji ($O... ). 207 Zmienne uŜytkownika jak. zmienne systemowe NC rozpoczynające
się od $... albo parametry obliczeniowe rozpoczynające się od R. 208 Nazwy cykli zostały załadowane do NCK a równieŜ programy cykli
są uaktywnione, patrz wskazówka (2). 209 Z globalnych zmiennych uŜytkownika (zmienne GUD) zdefiniowa-
na nazwa została rozpoznana a uaktywnione zmienne GUD znale-zione.
210 Nazwy makr o nazwach zdefiniowanych w pliku definicji makr i u-aktywnione makro zostały znalezione, patrz wskazówka (3).
211 Lokalnych zmiennych uŜytkownika (zmienne LUD), których nazwa jest zawarta w aktualnym programie.
Wskazówka
Wskazówki do poszczególnych warto ści zwrotnych
(1) Jako adresy DIN są rozpoznawane adresy znormalizowane na stałe. Dla adresów NC z ustawianymi identyfikatorami obowiązują następujące ustalenia dla osi geometrycznych:
A, B, C dla podanych osi obrotowych, E jest zarezerwowane dla rozszerzeń a I, J, K, Q, U, V, W, X, Y, Z dla podawanych osi liniowych.
Identyfikatory osi mogą być programowane z rozszerzeniem adresu i dla kontroli pisane np. 201 = STRINGIS("A1") .
Następujące adresy nie mogą być pisane z rozszerzeniem adresu dla kontroli i dają zawsze stałą wartość 400.
Przykład 400 = STRINGIS("D") albo podanie rozszerzenia adresu z 0 = STRINGIS("M02") prowadzi do 400 = STRINGIS("M") .
(2) Nazwy parametrów cykli nie mogą być sprawdzane przy pomocy STRINGS.
(3) Zdefiniowane jako makro litery adresowe G, H, L, M są zidentyfikowane jako makro.
Dalsze funkcje 14.6 Sprawdzenie występującego zakresu językowego NC (STRINGIS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
732
Obowi ązujące adresy NC bez rozszerzenia o stałej warto ści 400
Obowiązują adresy NC: D, F, G, H, R jak teŜ L, M, N, O, P, S, T . I tak jest
400 D jako korekcja narz ędzia, numer ostrza (funkcja D)
F jako posuw (funkcja F) G jest zdefiniowane jako G-Code (tutaj nie warunek drogowy) H oznacza funkcj ę pomocnicz ą (funkcja H) R jest zdefiniowane jako parametr systemowy jak te Ŝ oznacza: L wywołanie podprogramu, M funkcja dodatkowa, N blok pomocniczy, O wolne dla rozszerze ń, P liczba przebiegów programu S pr ędko ść obrotowa wrzeciona (funkcja S) T numer narz ędzia (funkcja T).
Przykład programowanej funkcji pomocniczej T
Kod programu Komentarz T jest zdefiniowane jako funkcja pomocnicza i zawsz e programowalne 400 = STRINGIS("T") ; 0 = STRINGIS("T3") ; Warto ść zwrotna bez rozsze-
rzenia adresu ; Warto ść zwrotna z rozszerze-
niem adresu
Przykłady dalszych kontroli programowanego zakresu języka NC 2xx Kod programu Komentarz X jest zdefiniowane jako o ś ; O ś jest osi ą liniow ą X 201 = STRINGIS("X") ; Warto ść zwrotna o ś liniowa X 201 = STRINGIS("X1") Warto ść zwrotna o ś liniowa X1 A2 jest adresem NC z rozszerzeniem Adres NC A2 z ro zszerzeniem 201 = STRINGIS("A") Warto ść zwrotna w przypadku ad-
resu NC A 201 = STRINGIS("A2") w przypadku rozszerzonego adr esu
NC A INVCW jest definiowanym G-Code INVCW jest G-Code in terpolacja
ewolwentowa w kierunku ruchu wskazówek zegara.
202 = STRINGIS("INVCW") Warto ść zwrotna okre ślonego G-Code
GETMDACT jest funkcj ę j ęz. NC Funkcja j ęz. CC GETMDACT wyst ępuje. 203 = STRINGIS("GETMDACT") GETMDACT jest funkcj ę j ęz. NC
Dalsze funkcje 14.6 Sprawdzenie występującego zakresu językowego NC (STRINGIS)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
733
Kod programu Komentarz DEFINE jest słowem kluczowym NC Słowo kluczowe DEFI NE do
oznaczania maks istnieje. 205 = STRINGIS("DEFINE") DEFINE jako słowo kluczowe
wyst ępuje $MC_GCODES_RESET_VALUES jest daną maszynową specyficzn ą dla kanału
Istnieje dana maszynowa $MC_GCODE_RESET_VALUES.
206 = STRINGIS("$MC_GCODE_RESET_VALUES")
$MC_GCODE_RESET_VALUES jest rozpoznana jako dana maszy-nowa
$TC_DP3 jest zmienn ą systemow ą dla komponentu długo ści narz ędzia
Zmienna systemowa NC $TC_DP3 dla komponentu długo ści na-rz ędzia istnieje.
207 = STRINGIS("$TC_DP3") $TC_DP3 rozpoznana jako zmienna systemowa.
$TC_TP4 jest zmienn ą systemow ą dla wielko ści narz ędzia
Zmienna systemowa $TC_TP4 dla wielko ści narz ędzia ist-nieje.
207 = STRINGIS("$TC_TP4") $TC_TP4 rozpoznana jako zmienna systemowa.
$TC_MPP4 jest zmienn ą systemow ą dla stanu miejsca w magazynie
Sprawdzenie zarz ądzania ma-gazynem na
207 = STRINGIS("$TC_MPP4") Zarz ądzanie magazynem jest aktywne
0 = STRINGIS("$TC_MPP4") Zarz ądzanie magazynem jest niedost ępne (4)
MACHINERY_NAME jest zdefiniowana jako zmienna GUD
Globalna zmienna u Ŝytkownika jest zdefiniowana jako MACHINERY_NAME.
209 = STRINGIS("MACHINERY_NAME") MACHINERY_NAME zna leziona jako GUD
LONGMACRO jest zdefiniowane jako makro
Nazwa makra brzmi LONGMACRO
210 = STRINGIS("LONGMACRO") Makro zidentyfikowane j ako LONGMACKRO
MYVAR jest zdefiniowane jako zmienna LUD
Lokalna zmienna u Ŝytkownika została nazwana MYVAR
211 = STRINGIS("MYVAR") Zmienna LUD jest zawarta jako nazwa MYVAR w aktualnym programie.
X, Y, Z jest poleceniem nieznanym w NC
X, Y, Z jest nieznanym pole-ceniem j ęzykowym a te Ŝ nie jest GUD/makrem/nazw ą cyklu
0 = STRINGIS("XYZ") STRING nazwa X, Y, Z jest nieznana
(4) Dla parametrów systemowych zarządzania magazynem ta właściwość obowiązuje szczególnie, gdy funkcja jeszcze nie jest aktywna, wówczas STRINGIS niezaleŜnie od usta-wionej wartości danej maszynowej do konfiguracji zakresu językowego NC daje stale war-tość wynikową = 0.
Dalsze funkcje 14.7 Wywołanie funkcji ISVAR i odczyt indeksu tablicy danych maszynowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
734
14.7 Wywołanie funkcji ISVAR i odczyt indeksu tabli cy danych ma-szynowych
Działanie
Polecenie ISVAR jest funkcją w rozumieniu języka NC z:
● wartością funkcji typu BOOL
● przekazywanym parametrem typu STRING
Polecenie ISVAR daje TRUE, gdy przekazany parametr zawiera zmienną znaną w NC (dana maszynowa, dana nastawcza, zmienne ogólne jak GUD).
Składnia ISVAR(<identyfikator zmiennej>)
ISVAR(<identyfikator>,[<warto ść>,<warto ść>])
Składnia <identyfikator zmiennej> Przekazany parametr typu string moŜe być albo bezwymia-
rowy albo jednowymiarowy albo dwuwymiarowy. <identyfikator> Identyfikator z jedną ze zmiennych znanych NC z albo bez
indeksu tablicy jako dana maszynowa, dana nastawcza, zmienna systemowa albo zmienna ogólna.
Rozszerzenie: W przypadku ogólnych i specyficznych dla kanału danych
maszynowych pierwszy element tablicy jest czytany rów-nieŜ przy brakującym indeksie
<warto ść> Wartość funkcji typu BOOL
Kontrole Odpowiednio do przekazywanego parametru są przeprowadzane następujące kontrole: ● Czy jest identyfikator ● Czy chodzi o tablicę jedno czy dwuwymiarową ● Czy jest dozwolony indeks tablicy
Dalsze funkcje 14.7 Wywołanie funkcji ISVAR i odczyt indeksu tablicy danych maszynowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
735
Tylko gdy wszystkie te kontrole mają wynik pozytywny, jest zwracane TRUE. JeŜeli tylko jedna kontrola ma wynik negatywny albo gdy wystąpił błąd składni, wówczas jest to kwito-wane przez FALSE. Zmienne osiowe są akceptowane jako indeks dla nazwy osi ale nie są bliŜej sprawdzane. Rozszerzenie: odczyt tablicy danych maszynowych i danych nastawczych bez indeksu Przy brakującym indeksie ogólnych i specyficznych dla kanału danych maszynowych alarm 12400 "Kanał % 1 blok % 2 Brak elementu" nie jest juŜ wyprowadzany. Ponadto w przypadku danych maszynowych specyficznych dla os i musi zostać zapro-gramowany co najmniej indeks osi . W przeciwnym przypadku jest generowany alarm 12400.
Przykład: wywołanie funkcji ISVAR
Kod programu Komentarz DEF INT VAR1 DEF BOOL IS_VAR=FALSE ; Przekazywany parametr jest zmienn ą ogóln ą N10 IS_VAR=ISVAR("VAR1") ; IS_VAR jest w tym przyp adku TRUE DEF REAL VARARRAY[10,10] DEF BOOL IS_VAR=FALSE ; Ró Ŝne warianty składni N20 IS_VAR=ISVAR("VARARRAY[,]") ; IS_VAR jest TRUE z tablic ą dwuwymiarow ą N30 IS_VAR=ISVAR("VARARRAY") ; IS_VAR jest TRUE, z mienna istnieje N40 IS_VAR=ISVAR("VARARRAY[8,11]") ; IS_VAR jest FA LSE, indeks tablicy niedo-
zwolony N50 IS_VAR=ISVAR("VARARRAY[8,8") ; IS_VAR jest FALS E, bł ąd składni dla braku-
j ącego "]" N60 IS_VAR=ISVAR("VARARRAY[,8]") ; IS_VAR jest TRUE , indeks tablicy jest do-
zwolony N70 IS_VAR=ISVAR("VARARRAY[8,]") ; IS_VAR jest TRUE DEF BOOL IS_VAR=FALSE ; Przekazywany parametr jest dan ą maszynow ą N100 IS_VAR=ISVAR("$MC_GCODE_RESET_VALUES[1]" ; IS_ VAR jest TRUE DEF BOOL IS_VAR=FALSE ; Przekazywany parametr jest zmienn ą syste-
mową N10 IS_VAR=ISVAR("$P_EP") ; IS_VAR jest w tym przy padku TRUE N10 IS_VAR=ISVAR("$P_EP[X]") ; IS_VAR jest w tym p rzypadku TRUE
Dalsze funkcje 14.7 Wywołanie funkcji ISVAR i odczyt indeksu tablicy danych maszynowych
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
736
Przykład: odczyt tablicy danych maszynowych z i bez indeksu
Pierwszy element jest czytany przy R1=$MC_EXTERN_GCODE_RESET_VALUES
odpowiada to jak dotychczas R1=$MC_EXTERN_GCODE_RESET_VALUES[0]
albo czytany jest pierwszy element R1=$MA_POSTCTRL_GAIN[X1]
odpowiada to jak dotychczas R1=$MA_POSTCTRL_GAIN[0, X1]
Czytany jest równieŜ pierwszy element w akcjach synchronicznych przy WHEN TRUE DO $R1 = $MC_EXTERN_GCODE_RESET_VALUES
odpowiada to jak dotychczas WHEN TRUE DO $R1 = $MC_EXTERN_GCODE_RESET_VALUES[0]
i dotychczas nie bynie bynie bynie był czytany czytany czytany czytany z alarmem 12400. Alarm 12400 jest nadal wyprowadzany przy
R1=$MA_POSTCTRL_GAIN
Dalsze funkcje 14.8 Uczenie się charakterystyki kompensacji (QECLRNON, QECLRNOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
737
14.8 Uczenie si ę charakterystyk kompensacji (QECLRNON, QECLRNOF)
Działanie Kompensacja błędu ćwiartki (QFK) redukuje błędy konturu, które powstają w wyniki nieli-niowości mechanicznych przy odwróceniu kierunku ruchu (np. tarcie, luzy) albo skręt. Opty-malne dane kompensacji mogą podczas fazy uczenia się być adaptowane przez sterowanie na podstawie sieci neuronowej i w ten sposób automatycznie określane charakterystyki kompensacji. Uczenie się moŜe następować równocześnie dla maksymalnie 4 osi.
Składnia QECLRNON QECLRNOF
Uaktywnienie procesu uczenia si ę: QECLRNON
Właściwy proces uczenia się jest uaktywniany w programie NC poleceniem QECLRNON z podaniem osi:
QECLRNON (X1, Y1, Z1, Q)
Tylko gdy to polecenie jest aktywne, charakterystyki są zmieniane.
Wyłączenie uczenia si ę: QECLRNOF
Gdy tylko ruchy uczenia się poŜądanych osi są zakończone, proces uczenia się jest przy pomocy QECLRNOF wyłączany równocześnie dla wszystkich osi.
Dalsze funkcje 14.8 Uczenie się charakterystyki kompensacji (QECLRNON, QECLRNOF)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
738
Znaczenie QECLRNON (oś.1,…4) Włączenie funkcji "uczenie się kompensacji błędu ćwiartki koła" QECLRNO Wyłączenie funkcji "uczenie się kompensacji błędu ćwiartki ko-
ła" QECLRN.SPF Cykl uczenia się QECDAT.MPF Program wzorcowy NC do zapisania zmiennych systemowych
i do parametryzowania cyklu uczenia się QECTEST.MPF Program wzorcowy NC do testu kształtu kołowego
Opis Wymagane do uczenia się ruchy postępowe osi są generowane przy pomocy programu NC. Ruchu uczenia się są w nim zapisane w formie cyklu uczenia się.
Uczenie si ę po raz pierwszy
W celu przeprowadzenia po raz pierwszy uczenia się przy uruchamianiu, na dyskietce pro-gramu podstawowego PLC są zawarte wzorcowe programy NC do uczenia się dla ruchów uczenia się jak teŜ w celu zapisania zmiennych systemowych QFK:
Douczenie si ę
Dodatkowa optymalizacja juŜ nauczonej charakterystyki jest moŜliwa przez "douczenie się". Następuje przy tym oparcie się na danych znajdujących się dotychczas w pamięci uŜytkow-nika. W celu douczenia dopasowujecie programy wzorcowe NC do swoich wymagań. Parametry cyklu uczenia się (np. QECLRN.SPF) naleŜy ewentualnie zmienić dla "douczenia się": ● Ustawić "tryb uczenia się" = 1 ● Ew. zredukować "liczbę przebiegów uczenia się" ● Ew. uaktywnić "uczenie się odcinkowe" i ustalić przynaleŜne granice zakresu
Dalsze funkcje 14.9 Interaktywne wywołanie okna z programu obróbki (MMC)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
739
14.9 Interaktywne wywołanie okna z programu obróbki (MMC)
Działanie Poprzez polecenie MMC mogą z programu obróbki na MMC/HMI być wyświetlane okna dia-logowe definiowane przez uŜytkownika (obrazy dialogowe). Wygląd okna dialogowego jest ustalany przez czysto tekstowe projektowanie (plik COM w katalogu cykli), oprogramowanie systemowe HMI pozostaje przy tym bez zmian. Okna dialogowe zdefiniowane przez uŜytkownika nie mogą być wywoływane równocześnie w róŜnych kanałach.
Składnia MMC(CYCLES,PICTURE_ON,T_SK.COM,BILD,MGUD.DEF,BILD_3.AWB,TEST_1,A1"," S")
Znaczenie MMC Interaktywne wywołanie z programu obróbki okna dialogowego na
HMI. CYCLES Zakres czynności obsługowych, w którym są wykonywane zaprojek-
towane dialogi z uŜytkownikiem. PICTURE_ON Polecenie: wybór wzgl. cofnięcie wyboru obrazu wzgl. PICTURE_OFF T_SK.COM Plik Com: Nazwa pliku obrazu dialogu (cykle uŜytkownika). Tutaj jest
ustalony wygląd obrazu dialogowego. Na obrazie dialogowym mogą być wyświetlane zmienne uŜytkownika i/albo teksty komentarzy.
OBRAZ Nazwa obrazu dialogu: poszczególne obrazy są wybierane przez nazwę obrazu dialogu.
MGUD.DEF Plik definicji danych uŜytkownika, do którego następuje dostęp przy odczycie/zapisie zmiennych.
BILD_3.AWB Plik graficzny TEST_1 Czas wyświetlania albo zmienna kwitowania A1 Zmienne tekstowe...",
"S" Tryb kwitowania: synchronicznie, kwitowanie przyciskiem programo-wanym "OK"
Literatura Szczegółowe wskazówki dot. programowania polecenia MMC (łącznie z przykładami pro-gramowania) patrz podręcznik uruchomienia.
Dalsze funkcje 14.10 Czas przebiegu programu / licznik obrabianych przedmiotów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
740
14.10 Czas przebiegu programu / licznik obrabianych przedmiotów
14.10.1 Czas przebiegu programu / licznik obrabiany ch przedmiotów (przegl ąd)
W celu wsparcia operatora obrabiarki są udostępniane informacje dot. czasu przebiegu pro-gramu i liczby obrabianych przedmiotów.
Te informacje mogą być przetwarzane jako zmienne systemowe w programie NC i/albo PLC. Równocześnie te informacje są do dyspozycji w celu wyświetlenia na otoczce graficznej.
14.10.2 Czas przebiegu programu
Działanie
Funkcja "czas przebiegu programu" udostępnia wewnętrzny w NC zegar do nadzoru proce-sów technologicznych, które mogą być odczytywane poprzez zmienne systemowe specy-ficzne dla NC i specyficzne dla kanału, w programie obróbki i w akcjach synchronicznych.
Przerzutnik do pomiaru czasu przebiegu ($AC_PROG_NET_TIME_TRIGGER) jest jedyną zapisywalną zmienną systemową funkcji i słuŜy do selektywnego pomiaru segmentów pro-gramu. Tzn. przez zapisywanie przerzutnika w programie NC pomiar czasu moŜe być włą-czany i wyłączany.
Dalsze funkcje 14.10 Czas przebiegu programu / licznik obrabianych przedmiotów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
741
Zmienne systemowe
Zmienne systemowe Znaczenie Aktywno ść
Specyficzne dla NC
$AN_SETUP_TIME Czas od ostatniego rozruchu sterowania z warto-ściami standardowymi ("start zimny") w minutach; jest przy kaŜdym rozruchu sterowania z warto-ściami standardowymi automatycznie cofany na "0".
$AN_POWERON_TIME Czas od ostatniego normalnego rozruchu stero-wania ("start ciepły") w minutach; jest przy kaŜdym normalnym rozruchu sterowania automatycznie cofany na "0"..
zawsze aktywne
Specyficzne dla kanału
$AC_OPERATING_TIME Całkowity czas przebiegu programów NC w rodza-ju pracy AUTOMATYKA w sekundach; jest przy kaŜdym rozruchu sterowania automatycznie cofa-ny na "0".
$AC_CYCLE_TIME Czas przebiegu aktualnego programu NC w se-kundach; jest ze startem programu NC automa-tycznie cofany na "0".
$AC_CUTTING_TIME Czas skrawania przez narzędzie w sekundach; jest przy kaŜdym rozruchu sterowania z warto-ściami standardowymi automatycznie cofany na "0".
• uaktywnienie po-przez MD27860
• tylko rodzaj pracy AUTOMATYKA
$AC_ACT_PROG_NET_TIME Aktualny czas przebiegu netto aktualnego pro-gramu NC, jest ze startem programu NC automa-tycznie cofany na "0".
$AC_OLD_PROG_NET_TIME Czas przebiegu netto w sekundach programu właśnie poprawnie zakończonego przez M30
$AC_OLD_PROG_NET_TIME_COUNT Zmiany w $AC_OLD_PROG_NET_TIME Po POWER ON $AC_OLD_PROG_NET_TIME_COUNT jest usta-wiona na "0". $AC_OLD_PROG_NET_TIME_COUNT jest zwiększana zawsze wtedy, gdy sterowanie zapisa-ło $AC_OLD_PROG_NET_TIME na nowo.
• zawsze aktywne
• tylko rodzaj pracy AUTOMATYKA
Dalsze funkcje 14.10 Czas przebiegu programu / licznik obrabianych przedmiotów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
742
Zmienna systemowa Znaczenie Aktywno ść
$AC_PROG_NET_TIME_TRIGGER Przerzutnik do pomiaru czasu przebiegu:
0 Stan neutralny
Przerzutnik nie jest aktywny.
1 Zakończyć Kończy pomiar i kopiuje wartość z $AC_ACT_PROG_NET_TIME do $AC_OLD_PROG_NET_TIME. Jest ustawiana na "0" i następnie działa dalej.
2 Start Startuje pomiar i ustawia przy tym $AC_ACT_PROG_NET_TIME na "0". $AC_OLD_PROG_NET_TIME nie jest zmie-niana.
3 Stop Zatrzymuje pomiar. Nie zmienia $AC_OLD_PROG_NET_TIME i utrzymuje stałą $AC_ACT_PROG_NET_TIME aŜ do kontynuacji.
4 Kontynuować Kontynuacja pomiaru, tzn. przedtem zatrzy-many pomiar jest ponownie podejmowany. $AC_ACT_PROG_NET_TIME biegnie dalej. $AC_OLD_PROG_NET_TIME nie jest zmie-niana.
tylko rodzaj pracy AUTOMATYKA
Przez POWER ON wszystkie zmienne systemowe są cofane na "0"!
Literatura: Podręcznik działania Funkcje podstawowe; BAG, kanał, praca programowa, zachowanie się przy zresetowaniu (K1), punkt: czas przebiegu programu
UWAGA
Zastosowanie STOPRE Zmienne systemowe $AC_OLD_PROG_NET_TIME i $AC_OLD_PROG_NET_TIME_CTR nie wytwarzają implicite zatrzymania przebiegu wyprzedzającego. Przy zastosowaniu w programie obróbki jest to niekrytyczne, gdy wartość zmiennej systemowej pochodzi z poprzedniego przebiegu programu. Gdy jednak przerzutnik jest w celu pomiaru czasu przebiegu ($AC_PROG_NET_TIME_TRIGGER) zapisywany z wysoką częstotliwością i przez to $AC_OLD_PROG_NET_TIME bardzo często zmienia się, wówczas powinno w programie obróbki być implicite stosowane STOPRE.
Dalsze funkcje 14.10 Czas przebiegu programu / licznik obrabianych przedmiotów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
743
Przykłady
Przykład 1: pomiar czasu trwania "mySubProgrammA"
Kod programu Komentarz ... N50 DO $AC_PROG_NET_TIME_TRIGGER=2 N60 FOR ii= 0 TO 300 N70 mySubProgrammA N80 DO $AC_PROG_NET_TIME_TRIGGER=1 N95 ENDFOR N97 mySubProgrammB N98 M30
Gdy program wykonał wiersz N80, w $AC_OLD_PROG_NET_TIME znajduje się czas prze-biegu netto dla "mySubProgrammA". Wartość $AC_OLD_PROG_NET_TIME:
● pozostaje zachowana po M30.
● jest aktualizowana po kaŜdym przebiegu pętli.
Przykład 2: czas trwania "mySubProgrammA" i "mySubP rogrammC
Kod programu Komentarz ... N10 DO $AC_PROG_NET_TIME_TRIGGER=2 N20 mySubProgrammA N30 DO $AC_PROG_NET_TIME_TRIGGER=3 N40 mySubProgrammB N50 DO $AC_PROG_NET_TIME_TRIGGER=4 N60 mySubProgrammC N70 DO $AC_PROG_NET_TIME_TRIGGER=1 N80 mySubProgrammD N90 M30
Dalsze funkcje 14.10 Czas przebiegu programu / licznik obrabianych przedmiotów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
744
14.10.3 Licznik obrabianych przedmiotów
Działanie Przy pomocy funkcji "licznik obrobionych przedmiotów" są udostępniane liczniki, które mogą być stosowane np. do wewnętrznego w sterowaniu liczenia obrabianych przedmiotów. Te liczniki istnieją jako specyficzne dla kanału zmienne systemowe z dostępem w celu zapisu i odczytu w zakresie wartości 0 do 999 999 999. Poprzez dane maszynowe moŜna wpływać na uaktywnienie licznika, moment zerowania i algorytm liczenia.
Zmienne systemowe
Są udostępniane następujące liczniki:
Zmienna systemowa Znaczenie
$AC_REQUIRED_PARTS Liczba potrzebnych obrobionych przedmiotów (zadana liczba obrobionych przedmiotów )
W tym liczniku moŜna zdefiniować liczbę obrabianych przedmiotów, przy osiągnięciu której liczba aktualnych obrabianych przedmiotów $AC_ACTUAL_PARTS jest zerowana. Poprzez daną maszynową moŜna uaktywnić generowanie alarmu wyświetlanego "zada-na liczba obrobionych przedmiotów uzyskana" i sygnału VDI kanału "zadana liczba obro-bionych przedmiotów uzyskana".
$AC_TOTAL_PARTS Liczba łącznie obrobionych przedmiotów (wykonana liczba obrobionych przedmiotów)
Licznik podaje liczbę przedmiotów obrobionych od chwili startu. Licznik jest automatycz-nie zerowany tylko przy ładowaniu programu sterowania z wartościami domyślnymi.
$AC_ACTUAL_PARTS Liczba aktualnie obrobionych przedmiotów (aktualna wykonana liczba obrobionych przedmiotów ).
W tym liczniku jest rejestrowana liczba wszystkich przedmiotów obrobionych od chwili startu. Przy osiągnięciu zadanej liczby obrobionych przedmiotów ($AC_REQUIRED_PARTS ) licznik jest automatycznie zerowany ( zakładając, Ŝe $AC_REQUIRED_PARTS nie jest równa zeru).
$AC_SPECIAL_PARTS Liczba obrobionych przedmiotów wyspecyfikowana przez uŜytkownika
Ten licznik pozwala uŜytkownikowi na liczenie obrabianych przedmiotów według własnej definicji.
MoŜna zdefiniować wyprowadzenie alarmu przy identyczności z $AC_REQUIRED_PARTS ( zadana liczba obrobionych przedmiotów ). Zerowanie liczni-ka uŜytkownik musi przeprowadzić sam.
Wskazówka
Funkcja "Licznik obrabianych przedmiotów" jest niezaleŜna od funkcji zarządzania narzę-dziami. Wszystkie liczniki mogą być czytane i zapisywane z HMI.
Wszystkie liczniki są przy rozruchu sterowania zerowane z wartościami standardowymi i mogą być niezaleŜnie od ich uaktywnienia czytane/zapisywane.
Dalsze funkcje 14.10 Czas przebiegu programu / licznik obrabianych przedmiotów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
745
Przykład
Kod programu Komentarz $MC_PART_COUNTER='H3' ; Uaktywnienie licznika obrab ianych
przedmiotów $AC_REQUIRED_PARTS: $MC_PART_COUNTER='H3' ; $AC_REQUIRED_PARTS jest aktywna, wy świe-tlany alarm przy $AC_REQUIRED_PARTS==$AC_SPECIAL_PARTS. ; Uaktywnienie licznika obrabianych przedmiotów $AC_TOTAL_PARTS:
$MC_PART_COUNTER='H10' $MC_PART_COUNTER_MCODE[0]=80
; $AC_TOTAL_PARTS jest aktywna, z ka Ŝdym M02 licznik jest zwi ększany o warto ść 1. $MC_PART_COUNTER_MCODE[0] nie ma znacze-nia. ; Uaktywnienie licznika obrabianych przedmiotów $AC_ACTUAL_PARTS:
$MC_PART_COUNTER='H300' $MC_PART_COUNTER_MCODE[1]=17
; $AC_TOTAL_PARTS jest aktywna. Z ka Ŝdym M17 licznik jest zwi ększany o warto ść 1. ; Uaktywnienie licznika obrabianych przedmiotów $AC_SPECIAL_PARTS:
$MC_PART_COUNTER='H3000' $MC_PART_COUNTER_MCODE[2]=77
; $AC_SPECIAL_PARTS jest aktywna. Z ka Ŝdym M77 licznik jest zwi ększany o warto ść 1. ; Wył ączenie licznika obrabianych przed-miotów $AC_ACTUAL_PARTS:
$MC_PART_COUNTER='H200' $MC_PART_COUNTER_MCODE[1]=50
; $AC_TOTAL_PARTS nie jest aktywna, reszta bez znaczenia. ; Uaktywnienie wszystkich liczników przykład 1-4:
$MC_PART_COUNTER='H3313' $MC_PART_COUNTER_MCODE[0]=80 $MC_PART_COUNTER_MCODE[1]=17 $MC_PART_COUNTER_MCODE[2]=77
; $AC_REQUIRED_PARTS jest aktywna, wy-świetlany alarm przy $AC_REQUIRED_PARTS==$AC_SPECIAL_PARTS. $AC_TOTAL_PARTS jest aktywna, z ka Ŝdym M02 stan licznika jest zwi ększany o 1. $MC_PART_COUNTER_MCODE[0] nie ma znacze-nia. $AC_ACTUAL_PARTS jest aktywna, z ka Ŝdym M17 licznik jest zwi ększany o warto ść 1. $AC_SPECIAL_PARTS jest aktywna, z ka Ŝdym M77 licznik jest zwi ększany o warto ść 1.
Dalsze funkcje 14.11 Alarmy (SETAL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
746
14.11 Alarmy (SETAL)
Działanie W programie NC mogą być ustawiane alarmy. Są one przedstawiane na otoczce graficznej w specjalnym polu. Z alarmem jest kaŜdorazowo związana reakcja sterowania odpowiednio do kategorii alarmu. Literatura:
Dalej idące informacje dot. reakcji na alarm patrz podręcznik uruchamiania.
Składnia SETAL(<numer alarmu>)
SETAL(<numer alarmu>,<ła ńcuch znaków>)
Znaczenie
SETAL Słowo kluczowe do zaprogramowania alarmu.
SETAL musi być programowane w oddzielnym bloku NC.
<numer alar-mu>
Zmienna typu INT. Zawiera numer alarmu.
Obowiązujący zakres numerów alarmów leŜy między 60000 i 69999, z czego 60000 do 64999 zarezerwowano dla cykli SIEMENS a nume-ry 65000 do 69999 są do dyspozycji uŜytkownika.
<ła ńcuch znaków>
Przy programowaniu alarmów cykli uŜytkownika moŜe dodatkowo zostać podany łańcuch znaków z max 4 parametrami.
W tych parametrach mogą być definiowane zmienne teksty uŜytkow-nika.
Są jednak do dyspozycji równieŜ następujące predefiniowane para-metry:
Parametr Zarzuty
%1 Numer kanału
%2 Numer bloku, etykieta
%3 Indeks tekstu dla alarmów cykli
%4 dodatkowy parametr alarmu
Dalsze funkcje 14.11 Alarmy (SETAL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
747
Wskazówka
Teksty alarmów muszą być projektowane na otoczce graficznej.
Przykład
Kod programu Komentarz ... N100 SETAL(65000) ; Ustawienie alarmu nr 65000 ...
Dalsze funkcje 14.11 Alarmy (SETAL)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
748
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
749
Własne programy skrawania 15
15.1 Funkcje wspieraj ące skrawanie
Działanie Do skrawania są Wam oferowane gotowe cykle obróbkowe. Ponadto macie moŜliwość spo-rządzania własnych programów skrawania, przy pomocy niŜej wymienionych funkcji. ● Sporządzenie tablicy konturu (CONTPRON) ● Sporządzenie kodowanej tablicy konturu (CONTDCON) ● Wyłączenie przygotowania konturu (EXECUTE) ● Obliczenie punktu przecięcia między dwoma elementami konturu (INTERSEC) (Tylko dla tablic, które zostały sporządzone przez CONTIPRON.) ● Wykonywanie pojedynczymi blokami elementów konturowych tablicy (EXECTAB) (Tylko dla tablic, które zostały sporządzone przez CONTIPRON.) ● Obliczenie danych okręgu (CALCDAT)
Wskazówka
MoŜecie stosować te funkcje nie tylko do skrawania, lecz uniwersalnie.
Warunki Przed wywołaniem funkcji CONTPRON albo CONTDCON musi: ● zostać wykonany ruch do punktu startowego, który pozwala na bezkolizyjną obróbkę. ● zostać przy pomocy G40 wyłączona korekcja promienia ostrza.
Własne programy skrawania 15.2 Sporządzenie tablicy konturu (CONTPRON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
750
15.2 Sporz ądzenie tablicy konturu (CONTPRON)
Działanie Przy pomocy polecenia CONTPRON jest włączane przygotowanie konturu. Następnie wywo-ływane bloki NC nie są wykonywane, lecz dzielone na poszczególne ruchy i zapisywane w tablicy konturu. KaŜdemu elementowi konturu odpowiada jeden wiersz w dwuwymiarowej tablicy konturu. Jest zwracana liczba obliczonych podcięć.
Składnia Włączenie przygotowania konturu: CONTPRON(<tablica konturu>,<rodzaj obróbki>,<podci ęcia>,<kierunek obróbki>) Wyłączenie przygotowania konturu i powrót do normalnego trybu pracy: EXECUTE(<BŁĄD>) Patrz " Wyłączenie przygotowania konturu (EXECUTE) "
Znaczenie
CONTPRON Polecenie do włączenia przygotowania konturu do sporzą-
dzenia tablicy konturu
<tablica konturu> Nazwa tablicy konturu
<rodzaj obróbki> Parametr rodzaju obróbki
Typ Wartość
CHAR "G" "L" "N"
"P"
Toczenie wzdłuŜne: obróbka we-wnętrzna Toczenie wzdłuŜne: obróbka ze-wnętrzna Toczenie poprzeczne: obróbka wewnętrzna Toczenie poprzeczne: obróbka zewnętrzna
<podci ęcia> Zmienna wynikowa liczby występujących elementów pod-cięć Typ: INT
<kierunek obróbki> Parametr kierunku obróbki
Typ:
Wartość:
INT 0 1
Przygotowanie konturu do przodu (wartość standardowa) Przygotowanie konturu w obydwu kierunkach
Własne programy skrawania 15.2 Sporządzenie tablicy konturu (CONTPRON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
751
Przykład 1 Sporządzenie tablicy konturu z: ● nazwą "KTAB" ● max 30 elementami konturu (okręgi, prosta) ● zmienną liczby występujących elementów podcięć ● zmienną komunikatów błędów
Własne programy skrawania 15.2 Sporządzenie tablicy konturu (CONTPRON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
752
Program NC
Kod programu Komentarz N10 DEF REAL KTAB[30,11] ; Tablica konturu o nazwi e KTAB
i max 30 elementami konturu, warto ść parametru 11 (liczba kolumn tablicy) jest wielko ści ą stał ą.
N20 DEF INT ANZHINT ; Zmienna liczby elementów pod ci ęć o nazwie ANZHINT.
N30 DEF INT BŁ ĄD ; Zmienna dla zwrotnego komunikatu bł ędu (0=nie ma bł ędu, 1=bł ąd).
N40 G18 N50 CONTPRON(KTAB,"G",ANZHINT) ; Wł ączenie przygotowania konturu. N60 G1 X150 Z20 N70 X110 Z30 N80 X50 RND=15 N90 Z70 N100 X40 Z85 N110 X30 Z90 N120 X0 ; N60 do N120: opis konturu N130 EXECUTE(BŁĄD) ; Zako ńczenie wypełniania tablicy
konturu, przeł ączenie na normaln ą prac ę programow ą.
N140 … ; Dalsze opracowywanie tablicy.
Tablica konturu KTAB:
Indeks wiersz
Kolumna
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
7 7 11 0 0 20 150 0 82.40535663 0 0
0 2 11 20 150 30 110 -1111 104.0362435 0 0
1 3 11 30 110 30 65 0 90 0 0
2 4 13 30 65 45 50 0 180 45 65
3 5 11 45 50 70 50 0 0 0 0
4 6 11 70 50 85 40 0 146.3099325 0 0
5 7 11 85 40 90 30 0 116.5650512 0 0
6 0 11 90 30 90 0 0 90 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
Własne programy skrawania 15.2 Sporządzenie tablicy konturu (CONTPRON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
753
Objaśnienie zawarto ści kolumn
(0) Wskaźnik na następny element konturu (na numer jego wiersza)
(1) Wskaźnik na poprzedni element konturu
(2) Kodowanie trybu konturu dla ruchu
MoŜliwe wartości dla X = abc a = 102 G90 = 0 G91 = 1 b = 101 G70 = 0 G71 = 1 c = 100 G0 = 0 G1 = 1 G2 = 2 G3 = 3
(3), (4) Punkt początkowy elementów konturu
(3) = odcięta, (4) = rzędna w aktualnej płaszczyźnie
(5), (6) Punkt końcowy elementów konturu
(5) = odcięta, (6) = rzędna w aktualnej płaszczyźnie
(7) Wskaźnik max/min : oznacza lokalne maksima i minima w konturze
(8) Wartość maksymalna między elementem konturu i odciętą (przy obróbce wzdłuŜnej) wzgl. odcięta (przy obróbce poprzecznej). Kąt jest zaleŜny od zaprogramowanego ro-dzaju obróbki.
(9), (10) Współrzędne punktu środkowego elementu konturu, jeŜeli jest to blok ruchu kołowego.
(9) = odcięta, (10) = rzędna
Przykład 2 Sporządzenie tablicy konturu z ● nazwą KTAB ● max 92 elementami konturu (okręgi, proste) ● rodzajem pracy: toczenie podłuŜne, obróbka zewnętrzna ● przygotowaniem do przodu i do tyłu
Własne programy skrawania 15.2 Sporządzenie tablicy konturu (CONTPRON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
754
Program NC:
Kod programu Komentarz N10 DEF REAL KTAB[92,11] ; Tablica konturu o nazwi e KTAB i max
92 elementach konturu, warto ść parametru 11 jest wielko ści ą stał ą.
N20 DEF CHAR BT="L" ; Rodzaj pracy dla CONTPRON: t oczenie wzdłu Ŝne, obróbka zewn ętrzna
N30 DEF INT HE=0 ; Liczba elementów podci ęcia =0 N40 DEF INT MODE=1 ; Przygotowanie do przodu i do tyłu N50 DEF INT ERR=0 ; Zwrotna sygnalizacja bł ędu ... N100 G18 X100 Z100 F1000 N105 CONTPRON(KTAB,BT,HE,MODE) ; Wł ączenie przygotowania konturu. N110 G1 G90 Z20 X20 N120 X45 N130 Z0 N140 G2 Z-15 X30 K=AC(-15) I=AC(45) N150 G1 Z-30 N160 X80 N170 Z-40 N180 EXECUTE(ERR) ; Zako ńczenie wypełniania tablicy kontu-
ru, przeł ączenie na normaln ą prac ę pro-gramową.
...
Własne programy skrawania 15.2 Sporządzenie tablicy konturu (CONTPRON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
755
Tablica konturu KTAB:
Po zakończeniu przygotowania konturu, kontur jest do dyspozycji w obydwu kierunkach.
Wiersz Kolumna
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
0 61) 72) 11 100 100 20 20 0 45 0 0
1 03) 2 11 20 20 20 45 -3 90 0 0
2 1 3 11 20 45 0 45 0 0 0 0
3 2 4 12 0 45 -15 30 5 90 -15 45
4 3 5 11 -15 30 -30 30 0 0 0 0
5 4 7 11 -30 30 -30 45 -1111 90 0 0
6 7 04) 11 -30 80 -40 80 0 0 0 0
7 5 6 11 -30 45 -30 80 0 90 0 0
8 15) 26) 0 0 0 0 0 0 0 0 0
...
83 84 07) 11 20 45 20 80 0 90 0 0
84 90 83 11 20 20 20 45 -1111 90 0 0
85 08) 86 11 -40 80 -30 80 0 0 0 0
86 85 87 11 -30 80 -30 30 88 90 0 0
87 86 88 11 -30 30 -15 30 0 0 0 0
88 87 89 13 -15 30 0 45 -90 90 -15 45
89 88 90 11 0 45 20 45 0 0 0 0
90 89 84 11 20 45 20 20 84 90 0 0
91 839) 8510) 11 20 20 100 100 0 45 0 0
Objaśnienie tre ści kolumn i uwagi do wierszy 0, 1, 6, 8, 83, 85 i 9 1
Obowiązują wyjaśnienia treści kolumn wymienione w przykładzie 1.
Zawsze w wierszu 0 tablicy:
1) Poprzedzający: wiersz n zawiera koniec konturu do przodu
2) Następny: wiersz n jest końcem tablicy konturu do przodu
Po jednym razie w ramach elementów konturu do przodu:
3) Poprzedzający: początek konturu (do przodu)
4) Następny: koniec konturu (do przodu)
Zawsze na wiersz ko ńca tablicy konturu (do przodu) +1:
5) Poprzedzający: liczba podcięć do przodu
6) Następny: liczba podcięć do tyłu
Własne programy skrawania 15.2 Sporządzenie tablicy konturu (CONTPRON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
756
Po jednym razie w ramach elementów konturu do tyłu:
7) Następny: koniec konturu (do tyłu)
8) Poprzedzający: początek konturu (do tyłu)
Zawsze w ostatnim wierszu tablicy:
9) Poprzedzający: wiersz n jest początkiem tablicy konturu (do tyłu)
10) Następny: wiersz n zawiera początek konturu (do tyłu)
Dalsze informacje
Dozwolone polecenia ruchu, układ współrz ędnych
Dla programowania konturu są dopuszczalne następujące polecenia G:
● 1. grupa G: G0, G1, G2, G3
Dodatkowo moŜliwe są:
● zaokrąglenie i fazka
● programowanie okręgu poprzez CIP i CT
Funkcje spline, wielomian i gwint prowadzą do błędów.
Zmiany układu współrzędnych przez włączenie frame są między CONTPRON i EXECUTE nie-dopuszczalne. To samo obowiązuje dla przełączania między G70 i G71 wzgl. G700 i G710.
Zamiana osi geometrycznych przy pomocy GEOAX podczas przygotowywania tablicy konturu prowadzi do alarmu.
Elementy podci ęć
Opis konturu poszczególnych elementów podcięć moŜe nastąpić do wyboru w podprogramie albo w poszczególnych blokach.
Skrawanie niezale Ŝne od zaprogramowanego kierunku konturu
Przygotowanie konturu z CONTPRON zostało tak rozszerzone, Ŝe po jego wywołaniu tablica konturu jest do dyspozycji niezaleŜnie od zaprogramowanego kierunku.
Własne programy skrawania 15.3 Sporządzenie kodowanej tablicy konturu (CONTDCON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
757
15.3 Sporz ądzenie kodowanej tablicy konturu (CONTDCON)
Działanie
Przy przygotowywaniu konturu włączonym przy pomocy CONTDCON następnie wywoływane blo-ki są korzystnie dla pamięci zapisywane w formie kodowanej w 6-kolumnowej tablicy konturu.
KaŜdemu elementowi konturu odpowiada jeden wiersz tablicy. Znając niŜej podane kodowania moŜecie np. dla cykli zestawiać programy DIN-Code z wierszy tablicy. W wierszu tablicy o nu-merze 0 są zapisywane dane punktu wyjściowego.
Składnia Włączenie przygotowania konturu: CONTDCON(<tablica konturu>,<kierunek obróbki>)
Wyłączenie przygotowania konturu i powrót do normalnego trybu pracy: EXECUTE(<BŁĄD>)
Patrz " Wyłączenie przygotowania konturu (EXECUTE) "
Znaczenie
CONTDCON Polecenie do włączenia przygotowania konturu do sporządzenia kodowanej tablicy konturu
<tablica konturu> Nazwa tablicy konturu
<kierunek obróbki> Parametr kierunku obróbki
Typ: INT
Wartość 0 1
Przygotowanie konturu według sekwencji bloków konturowych (wartość standardowa) jest niedo-puszczalne
Wskazówka
G-Code dopuszczone dla CONTDCON w tablicowanym segmencie programu są bardziej obszerne niŜ w przypadku CONTPRON. Ponadto są równocześnie zapisywane posuwy i typ posuwu na segment konturu.
Własne programy skrawania 15.3 Sporządzenie kodowanej tablicy konturu (CONTDCON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
758
Przykład Sporządzenie tablicy konturu z: ● nazwą "KTAB" ● elementami konturu (okręgi, proste) ● rodzajem pracy: toczenie ● kierunkiem obróbki: do przodu
Własne programy skrawania 15.3 Sporządzenie kodowanej tablicy konturu (CONTDCON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
759
Program NC Kod programu Komentarz N10 DEF REAL KTAB[9,6] ; Tablica konturu o nazwie KTAB
i 9 wierszach. Pozwalaj ą one na 8 bloków konturu. Warto ść parame-tru 6 (liczba kolumn tablicy) jest stał ą wielko ści ą.
N20 DEF INT MODE = 0 ; Zmienna kierunku obróbki. Warto ść standardowa 0: tylko w
zaprogramowanym kierunku konturu. N30 DEF INT ERROR = 0 ; Zmienna dla zwrotnego komu nika-
tu bł ędu. ... N100 G18 G64 G90 G94 G710 N101 G1 Z100 X100 F1000 N105 CONTDCON (KTAB, MODE) ; Wywołanie przygotowan ia konturu
(MODE wolno pomin ąć). N110 G1 Z20 X20 F200 ; Opis konturu. N120 G9 X45 F300 N130 Z0 F400 N140 G2 Z-15 X30 K=AC(-15) I=AC(45)F100 N150 G64 Z-30 F600 N160 X80 F700 N170 Z-40 F800 N180 EXECUTE(ERROR) ; Zako ńczenie wypełniania tablicy
konturu, przeł ączenie na normaln ą prac ę programow ą.
...
Tablica konturu KTAB:
Indeks kolumny
0 1 2 3 4 5
Indeks wier-sza
Tryb konturu Punkt koń-cowy odcięta
Punkt koń-cowy rzędna
Punkt środ-kowy odcięta
Punkt środ-kowy rzędna
Posuw
0 30 100 100 0 0 7
1 11031 20 20 0 0 200
2 111031 20 45 0 0 300
3 11031 0 45 0 0 400
4 11032 -15 30 -15 45 100
5 11031 -30 30 0 0 600
6 11031 -30 80 0 0 700
7 11031 -40 80 0 0 800
8 0 0 0 0 0 0
Własne programy skrawania 15.3 Sporządzenie kodowanej tablicy konturu (CONTDCON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
760
ObjaśnienieObjaśnienieObjaśnienieObjaśnienie treści kolumn treści kolumn treści kolumn treści kolumn
Wiersz 0: kodowanie dla punktu startowego :
Kolumna 0: 100 (miejsce jednostek): G0 = 0
101 (miejsce dziesiątek): G70 = 0, G71 = 1, G700 = 2, G710 = 3
Kolumna 1: Punkt startowy odcięta
Kolumna 2: Punkt startowy rzędna
Kolumna 3-4: 0
Kolumna 5: Indeks wiersza ostatniego elementu konturu w tablicy
Wiersze 1-n: Wpisy elementów konturu
Kolumna 0:
100 (miejsce jednostek): G0 = 0, G1 = 1, G2 = 2, G3 = 3
101 (miejsce dziesiątek): G70 = 0, G71 = 1, G700 = 2, G710 = 3
102 (miejsce setek): G90 = 0, G91 = 1
103 (miejsce tysięcy): G93 = 0, G94 = 1, G95 = 2, G96 = 3
104 (miejsce dziesiątek tysięcy): G60 = 0, G44 = 1, G641 = 2, G642 = 3
105 (miejsce setek tysięcy): G9 = 1
Kolumna 1: Punkt końcowy odcięta
Kolumna 2: Punkt końcowy rzędna
Kolumna 3: Punkt środkowy odcięta przy interpolacji kołowej
Kolumna 4: Punkt środkowy rzędna przy interpolacji kołowej
Kolumna 5: Posuw
Własne programy skrawania 15.3 Sporządzenie kodowanej tablicy konturu (CONTDCON)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
761
Dalsze informacje
Dozwolone polecenia ruchu, układ współrz ędnych
Dla programowania konturu są dopuszczalne następujące grupy G i Polecenia G:
Grupa G 1: G0, G1, G2, G3
Grupa G 10: G60, G64, G641, G642
Grupa G 11: G9
Grupa G 13: G70, G71, G700, G710
Grupa G 14: G90, G91
Grupa G 15: G93, G94, G95, G96, G961
Dodatkowo są moŜliwe:
● zaokrąglenie i fazka
● programowanie okręgu poprzez CIP i CT
Funkcje spline, wielomian i gwint prowadzą do błędów.
Zmiany układu współrzędnych przez włączenie frame są między CONTPRON i EXECUTE nie-dopuszczalne. To samo obowiązuje dla przełączania między G70 i G71 wzgl. G700 i G710.
Zamiana osi geometrycznych przy pomocy GEOAX podczas przygotowywania tablicy konturu prowadzi do alarmu.
Kierunek obróbki
Tablica konturu utworzona przy pomocy CONTDCON jest przewidziana do skrawania w za-programowanym kierunku konturu.
Własne programy skrawania 15.4 Obliczenie punktu przecięcia między dwoma elementami konturu (INTERSEC)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
762
15.4 Obliczenie punktu przeci ęcia mi ędzy dwoma elementami kontu-ru (INTERSEC)
Działanie
INTERSEC określa punkt przecięcia dwóch znormalizowanych elementów konturu z tablicy konturu utworzonej przy pomocy CONTPRON.
Składnia <Status>=INTERSEC(<tablica konturu_1>[<element kont uru_1>],<tablica konturu_2>[<element konturu_2>],<punkt przeci ęcia>,<rodzaj obróbki>)
Znaczenie
INTERSEC Słowo kluczowe do obliczenia punktu przecięcia dwóch elementów konturu z tablicy konturu utworzonej przy pomo-cy CONTPRON
<status> Zmienna statusu punktu przecięcia
Typ: War-tość:
BOOL TRUE FALSE
Punkt przecięcia znaleziony Punkt przecięcia nie znaleziony
<tablica_konturu_1> Nazwa pierwszej tablicy konturu
< tablica_konturu_1> Numer elementu konturu pierwszej tablicy konturu
< tablica_konturu_2> Nazwa drugiej tablicy konturu
< tablica_konturu_2> Numer elementu konturu drugiej tablicy konturu
< tablica_konturu> Współrzędne punktu przecięcia w aktywnej płaszczyźnie
(G17 / G18 / G19 )
<rodzaj obróbki> Parametr rodzaju obróbki
Typ:
War-tość:
INT 0 1
Obliczenie punktu przecięcia w płasz-czyźnie aktywnej z parametrem 2 (wartość standardowa) Obliczenie punktu przecięcia niezaleŜnie od przekazanej płaszczyzny
Własne programy skrawania 15.4 Obliczenie punktu przecięcia między dwoma elementami konturu (INTERSEC)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
763
Wskazówka
Pamiętajcie, Ŝe zmienne przed ich zastosowaniem muszą być zdefiniowane.
Przekazanie konturów wymaga dotrzymania wartości zdefiniowanych przy pomocy CONTPRON:
Parametr Znaczenie
2 Kodowanie trybu konturu dla ruchu
3 Punkt początkowy konturu odcięta
4 Punkt początkowy konturu rzędna
5 Punkt końcowy konturu odcięta
6 Punkt końcowy konturu rzędna
9 Współrzędna punktu środkowego dla odciętej (tylko w przypadku konturu kołowego)
10 Współrzędna punktu środkowego dla rzędnej (tylko w przypadku konturu kołowego)
Przykład Określenie punktu przecięcia elementu konturu 3 tablicy TABNAME1 i elementu konturu t tablicy TABNAME2. Współrzędne punktu przecięcia w aktywnej płaszczyźnie są zapisywa-ne w zmiennej ISCOORD (1. element = odcięta, 2. element = rzędna). JeŜeli punkt przecię-cia nie istnieje, następuje przeskok do KEINSCH (punkt przecięcia nie znaleziony).
Kod programu Komentarz DEF REAL TABNAME1[12,11] ; Tablica 1 konturu DEF REAL TABNAME2[10,11] ; Tablica 2 konturu DEF REAL ISCOORD[2] ; Zmienna współrz ędnych punk-
tu przeci ęcia. DEF BOOL ISPOINT Zmienna statusu punktu prze-
ci ęcia. DEF INT MODE ; Zmienna rodzaju obróbki. … MODE=1 ; Obliczenie niezale Ŝnie od
aktywnej płaszczyzny N10 ISPOINT=INTERSEC(TABNAME1[3],TABNAME2[7],ISCOOR D,MODE) ; Wywołanie punktu
przeci ęcia elementów konturu. N20 IF ISPOINT==FALSE GOTOF KEINSCH ; Skok do KEIN SCH.
Własne programy skrawania 15.5 Przejście pojedynczymi blokami elementów konturu w tablicy (EXECTAB)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
764
15.5 Przejście pojedynczymi blokami elementów konturu w tablic y (EXECTAB)
Działanie Przy pomocy polecenia EXECTAB moŜecie pojedynczymi blokami wykonywać elementy konturowe tablicy, które zostały utworzone np. poleceniem CONTPRON.
Składnia
EXECTAB(<tablica konturu>[<element konturu>])
Znaczenie EXECTAB Polecenie wykonania ruchu do elementu konturu <tablica konturu> Nazwa tablicy konturu <element konturu> Numer elementu konturu
Przykład
Ruchy po elementach konturu 0 do 2 tablicy KTAB mają być wykonywane pojedynczymi blokami.
Kod programu Komentarz N10 EXECTAB(KTAB[0]) ; Ruch po elemencie 0 tablicy KTAB. N20 EXECTAB(KTAB[1]) ; Ruch po elemencie 1 tablicy KTAB. N30 EXECTAB(KTAB[2]) ; Ruch po elemencie 2 tablicy KTAB.
Własne programy skrawania 15.6 Obliczenie danych okręgu (CALCDAT)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
765
15.6 Obliczenie danych okr ęgu (CALCDAT)
Działanie Przy pomocy polecenia CALCDAT moŜecie z trzech albo czterech znanych punktów okręgu obliczyć promień i współrzędne punktu środkowego okręgu. Podane punktu muszą być róŜ-ne. W przypadku 4 punktów, które nie leŜą dokładnie na okręgu, jest dla punktu środkowego okręgu i promienia wybierana wartość średnia.
Składnia
<status>=CALCDAT(<punkty okr ę-gu>[<liczba>,<rodzaj>],<liczba>,<wynik>)
Znaczenie
CALCDAT Polecenie do obliczenia promienia i współrzędnych punktu środkowego okręgu z 3 albo 4 punktów
<Status> Zmienna statusu obliczenia okręgu
Typ:
War-tość:
BOOL TRUE FALSE
Podane punkty leŜą na okręgu. Podane punkty nie leŜą na okręgu.
<punkty okr ęgu>[ ] Zmienna do podania punktów okręgu z parametrami:
<liczba>
<rodzaj> Liczba punktów okręgu (3 albo 4) Rodzaj podania współrzędnych, np. 2 dla współ-rzędnych 2-punktowych
<liczba> Parametr liczby punktów stosowanych do obliczenia (3 albo 4)
<wynik>[3] Zmienna dla wyniku: Podanie współrzędnych punktu środkowego okręgu i promie-nia 0 Współrzędna punktu środkowego okręgu: wartość od-
ciętej 1 Współrzędna punktu środkowego okręgu: wartość rzęd-
nej 2 Promień
Własne programy skrawania 15.6 Obliczenie danych okręgu (CALCDAT)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
766
Wskazówka
Pamiętajcie, Ŝe zmienne przed ich zastosowaniem muszą być zdefiniowane.
Przykład
Z trzech punktów ma nastąpić obliczenie, czy leŜą one na jednym segmencie okręgu.
Kod programu Komentarz N10 DEF REAL PKT[3,2]=(20,50,50,40,65,20) ; Zmienna do podania
punktów okr ęgu N20 DEF REAL ERG[3] ; Zmienna dla wyniku N30 DEF BOOL STATUS ; Zmienna statusu N40 STATUS=CALCDAT(PKT,3,ERG) ; Wywołanie obliczony ch danych okr ę-
gu. N50 IF STATUS == FALSE GOTOF ERROR ; Skok do bł ędu
Własne programy skrawania 15.7 Wyłączenie przygotowania konturu (EXECUTE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
767
15.7 Wyłączenie przygotowania konturu (EXECUTE)
Działanie Przy pomocy polecenia EXECUTE następuje wyłączenie przygotowania konturu i równocze-śnie przełączenie z powrotem na normalny tryb wykonywania.
Składnia
EXECUTE(<BŁĄD>)
Znaczenie EXECUTE Polecenie do zakończenia przygotowania konturu <BŁĄD> Zmienna dla odwrotnej sygnalizacji błędu
Typ: INT Wartość zmiennej pokazuje, czy moŜna było bezbłędnie przygotować kontur: 0 błąd 1 nie ma błędu
Przykład Kod programu ... N30 CONTPRON(...) N40 G1 X... Z... ... N100 EXECUTE(...)
...
Własne programy skrawania 15.7 Wyłączenie przygotowania konturu (EXECUTE)
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
768
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
769
Tablice 16
16.1 Instrukcje A - G Legenda: 1 Ustawienie standardowe na początku programu (w stanie przy dostawie sterowania, o ile nie zaprogramowano
inaczej). 2 Numeracja grup odpowiada tablicy w punkcie "Lista funkcji G / warunków drogowych". 3 Absolutne punkty końcowe: modalnie (m) Przyrostowe punkty końcowe: pojedynczymi blokami (b) W innym przypadku: m/b w zaleŜności od określenia składni funkcji G 4 Jako punkty środkowe okręgu parametry interpolacji (IPO) działają przyrostowo. Przy pomocy AC mogą być pro-
gramowane jako bezwzględne. W przypadku innych znaczeń (np. skok gwintu) modyfikacja adresu jest ignorowana. 5 UŜytkownik OEM moŜe wnieść dwa dodatkowe rodzaje interpolacji. UŜytkownik OEM moŜe zmieniać nazwy. 6 Dla tej funkcji rozszerzony sposób pisania adresów jest niedopuszczalny. Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
: Numer bloku - blok główny (patrz N)
0 ... 9999 9999 tylko całkowi-toliczbowe, bez znaku
szczególne oznaczanie bloków - zamiast N... ; ten blok po-winien zawie-rać wszystkie instrukcje dla kompletnego następnego segmentu obróbki
np.: 20
A Oś Real m/b
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
770
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
A2 Orientacja narzędzia: kąt Eule-ra
Real b
A3 Orientacja narzędzia: składowa wektora biegunowego
Real b
A4 Orientacja narzędzia dla po-czątku bloku
Real b
A5 Orientacja narzędzia dla końca bloku; Składowa wektora normalnej
Real b
ABS Wartość absolutna Real
AC Absolutne wprowadzenie wy-miaru
0, ..., 359.9999°
X=AC(100) b
ACC Przyśpieszenie osiowe (accele-ration axial)
Real, bez znaku
m
ACCLIMA Zmniejszenie albo zwiększenie maksymalnego osiowego przy-spieszenia (acceleration axial)
0, ..., 200 Zakres po-prawności wynosi 1 do 200%
ACCLIMA[X]= ...[%] m
ACN Absolutne podanie wymiaru dla osi obrotowych, dosunięcie do pozycji w kierunku ujemnym
A=ACN(...) B=ACN(...) C=ACN(...)
b
ACOS Arcus cosinus (funkcja trygo-nometryczna)
Real
ACP Absolutne podanie wymiaru dla osi obrotowych, dosunięcie do pozycji w kierunku dodatnim
A=ACP(...) B=ACP(...) C=ACP(...)
b
ACTBLOCNO
Przy blokowanym aktualnym wyświetlaniu bloku (DISPLOF) powinien w przypadku alarmu zostać wyprowadzony numer aktualnego bloku.
ADIS Odstęp ścięcia dla funkcji ruchu po torze G1, G2, G3, ...
Real, bez znaku
m
ADISPOS Odstęp ścięcia dla przesuwu szybkiego G0
Real, bez znaku
m
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
771
Nazwa Znaczenie Warto ść Opis, ko-mentarz
Składnia m/b3 Gru-pa2
ADISPOSA Wielkość okna tolerancji dla IPOBRKA
Integer, Real ADISPOSA=... albo ADISPOSA(<oś>[,REAL])
m
ALF Kąt szybkiego odsunięcia (an-gle tilt fast)
Integer, bez znaku
m
AMIRROR Programowane lustrzane odbicie (additive mir-ror)
AMIRROR X0 Y0 Z0 ;oddzielny blok
b 3
AND Logiczne I b
ANG Kąt przebiegu konturu Real b
AP Współrzędna kątowa (angle polar)
0, ..., ± 360° m/b
APR Ochrona przed dostępem od-czyt / wyświetlenie (access protection read)
Integer, bez znaku
APW Ochrona przed dostępem zapis (access protection write)
Integer, bez znaku
AR Kąt rozwarcia (angle circu-lar)
0, ..., 360° m/b
AROT programowany obrót (additive rotation)
Obrót wokół 1. osi geom.: -180o .. 180°
2. osi geom: -90° ...+90°
3. osi geom.: -180° .. 180°
AROT X... Y... Z... AROT RPL=
; oddzielny blok
b 3
AROTS Programowane obrócenia frame z kątami przestrzennymi (additive rotation)
AROTS X... Y... AROTS Z... X... AROTS Y... Z... AROTS RPL= ;oddzielny blok
b 3
AS Definicja makra String
ASCALE Skalowanie programowane (additive scale) ASCALE X... Y... Z... ;oddzielny blok
b 3
ASPLINE Akima-Spline m 1
ATAN2 Arcus tangens2 Real
ATRANS Addytywne przesunięcie programowane (additive translation)
ATRANS X... Y... Z... ;oddzielny blok
b 3
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
772
Nazwa Znaczenie Warto ść Opis, komen-
tarz Składnia m/b3 Gru-
pa2
AX Zmienny identyfikator osi Real m/b
AXCSWAP
Przełączenie osi pojemnikowej AXCSWAP(CTn, CTn+1,...)
25
AXCTSWE
Przełączenie osi pojemnikowej AXCTSWE(CTi) 25
AXIS Typ danych: identyfikator osi MoŜe zawie-rać nazwę osi.
AXNAME Konwertuje wejściowy łań-cuch znaków na identyfika-tor osi (get axname)
String JeŜeli wej-ściowy łań-cuch zna-ków nie zawiera poprawnej nazwy osi, jest usta-wiany alarm.
AXSTRING
Konwertuje łańcuch znaków numer wrzeciona (get string)
String MoŜe zawie-rać nazwę pliku.
AXSTRING[SPI(n)]
AXTOCHAN
ZaŜądanie osi dla określonego kanału. Jest moŜliwe z programu NC i z akcji syn-chronicznej.
AXTOCHAN(oś, nr kan.[,oś, numer kanału[,...]])
B Oś Real m/b
B_AND Bitowe I
B_OR Bitowe LUB
B_NOT Bitowa negacja
B_XOR Bitowe ALBO
B2 Orientacja narzędzia: kąt Eulera
Real b
B3 Orientacja narzędzia: składowa wektora biegunowego
Real b
B4 Orientacja narzędzia dla po-czątku bloku
Real b
B5 Orientacja narzędzia dla końca bloku: składowa wektora nor-malnej
Real b
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
773
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
BAUTO Ustalenie pierwszego segmentu spline przez następujące 3 punkty (begin not a knot)
m 19
BLSYNC Wykonywanie procedury przerwania powinno rozpocząć się dopiero z następną zmianą bloku
BNAT 1 Przejście naturalne do pierwszego bloku spline (begin natural)
m 19
BOOL Typ danych: wartości logiczne TRUE/FALSE wzgl. 1/0
BOUND Sprawdza, czy wartość leŜy w zdefiniowanym zakresie. Rów-ność zwraca sprawdzaną war-tość.
Real Var1: Varmin Var2: Varmax Var3: Var-check
RetVar=
BRISK 1 Przyśpieszenie skokowe ruchu po torze m 21
BRISKA Włączenie skokowego przyspieszenia po torze dla zaprogramowanych osi
BSPLINE B-Spline m 1
BTAN Przejście styczne do pierwszego bloku spline (begin tangential)
m 19
C Oś Real m/b
C2 Orientacja narzędzia: kąt Eule-ra
Real b
C3 Orientacja narzędzia: Składowa wektora biegunowe-go
Real b
C4 Orientacja narzędzia dla po-czątku bloku
Real b
C5 Orientacja narzędzia dla końca bloku; składowa wektora nor-malnej
Real b
CAC Ruch absolutny do pozycji (coded position: absolute coordinate)
Wartość ko-dowana jest indeksem tablicy; na-stępuje ruch do wartości z tablicy.
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
774
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
CACN Ruch do wartości zapisanej w tablicy następuje absolutnie w kierunku ujemnym (coded position absolute negative)
Dopuszczalne do progra-mowania osi obrotowych jako osi pozy-cjonowania.
CACP Ruch do wartości zapisanej w tablicy następuje absolutnie w kierunku dodatnim (coded position absolute positive)
CALCDAT Oblicza promień i punkt środ-kowy okręgu z 3 albo 4 punk-tów
VAR Real [3] Punktu muszą się róŜnić.
CALL Pośrednie wywołanie podprogramu CALL PROGVAR
CALLPATH Programowana ścieŜka szukania przy wywoła-niach podprogramu
Do istniejące-go systemu plików NCK moŜna za-programować ścieŜkę przy pomocy CALLPATH.
CALLPATH (/_N_WKS_DIR/_N_MYWPD/identyfikator podprogramu_SPF
CANCEL Przerwanie modalnej akcji syn-chronicznej
INT Przerwanie z podanym ID. Bez parame-tru: są cofane wszystkie modalne akcje syn-chroniczne.
CASE Warunkowe rozgałęzienie programu
CDC Bezpośredni ruch do pozycji (coded position: direct coordinate)
Patrz CAC.
CDOF 1 Nadzór na kolizję WYŁ. (collision detection OFF)
m 23
CDON Nadzór na kolizję WŁ. (collision detection ON)
m 23
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
775
Nazwa Znaczenie Warto ść Opis, ko-mentarz
Składnia m/b 3 Gru-pa2
CDOF2 Nadzór na kolizję WYŁ. (collision detection OFF)
Tylko dla CUT3DC
m 23
CFC 1 Stały posuw po konturze (constant feed at contour)
m 16
CFIN Stały posuw tylko przy zakrzywieniu we-wnętrznym, nie przy zakrz. zewnętrznym (constant feed at internal radius)
m 16
CFTCP Stały posuw w punkcie odniesienia ostrza narzędzia (tor punktu środkowego) (con-stant feed in tool-center-point)
m 16
CHAN Specyfikacja zakresu poprawności danych Występuje jeden raz w kanale.
CHANDATA
Ustawienie numeru kanału dla dostępów do danych kanału
INT Dopusz-czalne tylko w module inicjalizacyj-nym.
CHAR Typ danych: znaki ASCII 0, ..., 255
CHECKSUM
Tworzy sumę kontrolną po tablicy jako STRING o usta-lonej długości
Max długość 32
Daje łań-cuch zna-ków cyfr szesnast-kowych
ERROR= CHECKSUM
CHF
CHR
Fazka;
wartość = długość fazki
Fazka ;
wartość = szerokość fazki w kierunku ruchu (chamfer)
Real, bez znaku
b
CHKDNO Badanie jednoznaczności numerów D
CIC Ruch przyrostowy do pozycji (coded posi-tion: incremental coordinate)
Patrz CAC.
CIP Interpolacja kołowa poprzez punkt pośred-ni
CIP X... Y... Z... I1=... J1=... K1=...
m 1
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
776
Nazwa Znaczenie Warto ść Opis, ko-mentarz
Składnia m/b 3 Gru-pa2
CLEARM Cofnięcie jednego/wielu znaczników do koordynacji kanałów
INT 1 - n Nie wpływa na wykony-wanie we własnym kanale.
CLRINT Cofnięcie wyboru przerwa-nia
INT Parametr: nr przerwania
CMIRROR Lustrzane odbicie na osi współrzędnych
FRAME
COARSEA
Koniec ruchu przy osiągnięciu „zatrzyma-nia dokładnego zgrubnie”
COARSEA=... albo COARSEA[n]=...
m
COMPOF1 Kompresor WYŁ m 30
COMPON Kompresor WŁ m 30
COMPCURV
Kompresor WŁ wielomiany o stałym za-krzywieniu
m 30
COMPCAD
Kompresor WŁ: zoptymalizowana jakość powierzchni program CAD
m 30
CONTDCON
Dekodowanie konturu w formie tablicy WŁ
CONTPRON
Włączenie przygotowania konturu (contour preparation ON)
COS Cosinus (funkcja trygonome-tryczna
Real
COUPDEF
Definicja zespół przekł. elek-troniczna / zespół wrzecion synchr. (couple definition)
String Zachowanie się przy zmianie bloku (ZB): NOC: bez sterowania ZB FINE / COARSE: ZB przy „pra-cy synchro-nicznej do-kładnie / zgrubnie” IPOSTOP: ZB przy za-kończeniu ruchu nałoŜo-nego po stro-nie wartości zadanej
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
777
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
COUPDEL
Skasowanie zespołu przekładni elektro-nicznej (couple delete)
COUPDEL(FS,LS)
COUPOF Zespół przekł. elektron. / para wrzecion synchronicznych WYŁ (couple OFF)
COUPOF(FS,LS,POSFS,POSLS)
COUPOFS
Wyłączenie zespołu przekł. elektron. / pary wrzecion synchr. ze stopem wrzeciona holowanego
COUPOFS(FS,LS,POSLS)
COUPON Zespół przekł. elektron. / para wrzecion synchronicznych WŁ (couple ON)
COUPON(FS,LS,POSFS)
COUPONC
Włączenie zespołu przekł. elektron. / pary wrzecion synchronicznych z uprzednim przejęciem zaprogramowania
COUPONC(FS,LS)
COUPRES
Cofnięcie zespołu przekładni elektron. (couple reset)
Zaprogra-mowane wartości nie obowiązują; wartości z danych ma-szynowych obowiązują.
COUPRES(FS,LS)
CP Ruch po torze (continous path) m 49
CPRECOF1
Zaprogramowana dokładność konturu WYŁ (contour presision OFF)
m 39
CPRECON
Zaprogramowana dokładność konturu WŁ (contour precision ON)
m 39
CPROT Specyficzny dla kanału obszar ochrony WŁ/WYŁ
CPROTDEF
Definicja obszaru ochrony spe-cyficznego dla kanału (channel specific protection area defini-tion)
CR Promień okręgu (circle ra-dius)
Real, bez znaku
b
CROT Obrót aktualnego układu współrzędnych
FRAME Max liczba parametrów: 6
CROTS Programowane obrócenia frame z kątami przestrzennymi (obrót w podanych osiach)
CROTS X... Y... CROTS Z... X... CROTS Y... Z... CROTS RPL=
;oddzielny blok
b
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
778
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
CSCALE Współczynnik skali dla wielu osi
FRAME Max liczba parametrów: 2 * liczba osimax
CSPLINE Spline sześcienny m 1
CT Okrąg z przejściem stycznym CT X... Y.... Z... m 1
CTAB Określ pozycję osi holowa-nej na podstawie pozycji osi wiodącej z tablicy krzywych
Real Gdy para-metr 4/5 nie jest zapro-gramowany: skalowanie standardo-we
CTABDEF Definicja tablicy WŁ
CTABDEL Skasuj tablicę krzywych
CTABEND
Definicja tablicy WYŁ
CTABEXISTS
Sprawdza tablicę krzywych o numerze n Parametr n
CTABFNO
Liczba jeszcze moŜliwych tablic krzywych w pamięci
memType
CTABFPOL
Liczba jeszcze moŜliwych wielomianów w pamięci
memType
CTABFSEG
Liczba jeszcze moŜliwych segmentów krzywej w pamięci
memType
CTABID Daje numer n-tej tablicy krzywych Parametr n i memType
CTABINV Określ pozycję osi wiodącej na podstawie pozycji osi holowanej z tablicy krzy-wych
Real Patrz CTAB.
CTABISLOCK
Zwraca stan zablokowania tablicy krzy-wych o numerze n
Parametr n
CTABLOCK
Ustawienie ochrony przed skasowaniem i zastąpieniem
Parametry n, m, i memType
CTABMEMTYP
Zwraca pamięć, w której jest utworzona tablica krzywych o numerze n.
Parametr n
CTABMPOL
Liczba maksymalnie moŜliwych wielomia-nów w pamięci
memType
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
779
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
CTABMSEG
Liczba maksymalnie moŜliwych segmen-tów krzywych w pamięci
memType
CTABNO Liczba zdefiniowanych tablic krzywych niezaleŜnie od typu pamięci
Bez podania parametrów.
CTABNOMEM
Liczba zdefiniowanych tablic krzywych w pamięci SRAM albo DRAM
memType
CTABPERIOD
Zwraca okresowość tablicy o numerze n Parametr n
CTABPOL Liczba juŜ zastosowanych wielomianów w pamięci
memType
CTABPOLID
Liczba wielomianów krzywych zastosowa-nych przez tablicę krzywych o numerze n
Parametr n
CTABSEG
Liczba juŜ zastosowanych segmentów krzywych w pamięci
memType
CTABSEGID
Liczba segmentów krzywych zastosowa-nych przez tablicę krzywych o numerze n
Parametr n
CTABSEV Daje wartość końcową osi holowanej seg-mentu tablicy krzywych
Segment jest określa-ny przez wart. wiodą-cą.
R10 = CTABSEV (wart. wiod., n, stopień, oś hol., oś wiod.)
CTABSSV Daje wartość startową osi holowanej seg-mentu tablicy krzywych
Segment jest określa-ny przez wart. wiodą-cą.
R10 = CTABSSV (wart. wiod., n, stopień, oś hol., oś wiod.)
CTABTEP Daje wartość osi wiodącej na końcu tablicy krzywych
Wart. wio-dąca na końcu tabli-cy krzywych.
R10 = CTABTEP(n, sto-pień, oś wiodąca)
CTABTEV Daje wartość osi holowanej na końcu tabli-cy krzywych
Wartość holowana na końcu tabli-cy krzywych.
R10 = CTABTEV (n, stopień, oś holowana)
CTABTMAX
Dane wartość maksymalną osi holowanej tablicy krzywych
Wartość holowana tablicy krzy-wych.
R10 = CTABTMAX (n, oś holowana)
CTABTMIN
Daje wartość minimalną osi holowanej tablicy krzywych
Wartość holowana tablicy krzy-wych.
R10 = CTABTMIN(n, oś holowana)
CTABTSP Daje wartość osi wiodącej na początku tablicy krzywych
Wart. wiod. na początku tablicy krzy-wych.
R10 = CTABTSP (n, stopień, oś wiodąca)
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
780
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
CTABTSV Daje wartość osi holowanej na początku tablicy krzywych
Wart. holo-wana na początku tablicy krzy-wych.
R10 = CTABTSV (n, stopień, oś holowana)
CTABUNLOCK
Cofnięcie ochrony przed skasowaniem i zastąpieniem
Parametry n, m, i memType
CTRANS Przesunięcie punktu zero-wego dla wielu osi
FRAME Max 8 osi
CUT2D 1 Korekcja narzędzia 2D (Cutter compensa-tion type 2dimensional)
m 22
CUT2DF Korekcja narzędzia 2D (Cutter compensa-tion type 2dimensional frame). Korekcja narzędzia działa w stosunku do aktualnego frame (płaszczyzna skośna)
m 22
CUT3DC Korekcja narzędzia 3D frezowanie obwo-dowe (Cutter compensation type 3dimensional circumference)
m 22
CUT3DCC
Korekcja narzędzia 3D frezowanie obwo-dowe z powierzchniami ograniczającymi (Cutter compensation type 3dimensional circumference)
m 22
CUT3DCCD
Korekcja narzędzia 3D frezowanie obwo-dowe z powierzchniami ograniczającymi z narzędziem róŜnicowym (Cutter compen-sation type 3dimensional circumference)
m 22
CUT3DF Korekcja narzędzia 3D frezowanie czołowe (Cutter compensation type 3dimensional face)
m 22
CUT3DFF Korekcja narzędzia 3D frezowanie czołowe ze stałym zorientowaniem narzędzia za-leŜnie od aktywnego frame (Cutter compensation type 3dimensional face frame)
m 22
CUT3DFS Korekcja narzędzia 3D frezowanie czołowe ze stałym zorientowaniem narzędzia nieza-leŜnie od aktywnego frame (Cutter compensation type 3dimensional face)
m 22
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
781
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2 CUTCONOF1
Stała korekcja promienia WYŁ. m 40
CUTCONON
Stała korekcja promienia WŁ. m 40
D Numer korekcji narzędzia 1, ... 32 000
Zawiera dane korekcyjne dla określo-nego narzę-dzia T... ;D0 → warto-ści korekcji dla narzędzia
D...
DAC Programowanie w średnicy absolutne, pojedynczymi blokami, specyficzne dla osi
Programo-wanie w średnicy
b
DC Absolutne podanie wymiaru dla osi obrotowych, bezpo-średnie dosunięcie do pozy-cji
A=DC(...) B=DC(...) C=DC(...) SPOS=DC(...)
b
DEF Definicja zmiennej Integer, bez znaku
DEFAULT Odgałęzienie w rozgałęzieniu CASE Skok do niego na-stępuje, gdy wyraŜenie nie spełnia Ŝadnej z podanej wartości
DELAYFSTON
Zdefiniowanie początku zakresu Stopp-Delay (DELAY Feed Stop ON)
Implikuje, gdy jest aktywne G331/G332.
m
DELAYFSTOF
Zdefiniowanie końca zakresu Stopp-Delay (DELAY Feed Stop OF)
m
DELDTG Skasowanie pozostałej drogi (Delete di-stance to go)
DELETE Skasowanie podanego pliku. Nazwę pliku moŜna podać przez ścieŜkę i identyfikator pliku.
MoŜe kaso-wać wszyst-kie pliki.
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
782
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2 DELT Skasowanie narzędzia Nr duplo
moŜna po-minąć.
DIACYCOFA
Specyficzne dla osi modalne programowa-nie w średnicy: wył. w cyklach
Programow. w promieniu ostatnio akt. G-Code.
DIACYCOFA[oś] m
DIAM90 Programowanie w średnicy dla G90, progr. w promieniu dla G91
m 29
DIAM90A Specyficzne dla osi modalne programowa-nie w średnicy dla G90 i AC, progr. w pro-mieniu dla G91 i IC
m
DIAMCHAN
Przejęcie wszystkich osi z MD funkcje osi do stanu kanału programowania w średni-cy
Przejęcie z MD pro-gramowania w średnicy
DIAMCHAN
DIAMCHANA
Przejęcie stan kanału programowania w średnicy
Stan kanału DIAMCHAN[oś]
DIAMCYCOF
Programowanie w promieniu dla G90/G91: WŁ. Dla wyświetlenia pozostaje aktywny ostatnio aktywny G-Code tej grupy.
Progr. w promieniu ostatnio akt. G-Code.
m 29
DIAMOF 1 Programowanie w średnicy: WYŁ (Diametral programming OFF) PołoŜenie podst. patrz producent maszyny
Programow. w promieniu dla G90/G91.
m 29
DIAMOFA Specyficzne dla osi modalne progr. w średnicy: wł. PołoŜenie podst. patrz producent maszyny
Programow. w prom. dla G90/G91 i AC, IC.
DIAMOFA[oś] m
DIAMON Programowanie w średnicy: WŁ (Diametral programming ON)
Programow. w średn. dla G90/G91
m 29
DIAMONA Spec. dla osi modalne progr. w średnicy: wł. Udostępnienie patrz producent maszyny
Programow. w średnicy dla G90/G91 i AC, IC.
DIAMONA[oś] m
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
783
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2 DIC Względne, pojedynczymi blokami, spec.
dla osi programowanie w średnicy Progr. w średnicy.
DIC(50) b
DILF Długość szybkiego cofnięcia m DISABLE Przerwanie WYŁ
DISC PrzewyŜszenie okręgu przejściowego, kor. promie-nia narzędzia
0, ..., 100 m
DISPLOF Ukrycie wyświetlania aktualnego bloku (Display OFF)
DISPR RóŜnica toru Repos Real, bez znaku
b
DISR Odstęp Repos Real, bez znaku
b
DITE Droga wyjścia gwintu Real m
DITS Droga wejścia gwintu Real m
DIV Dzielenie integer
DL Korekcja sumaryczna na-rzędzia
INT m
DRFOF Wyłączenie przesunięć kółkiem ręcznym (DRF)
m
DRIVE6 Przyśpieszenie ruchu po torze zaleŜne od prędkości
m 21
DRIVEA Włączenie załamanej charakterystyki przy-spieszenia dla programowanych osi
DYNFINISH
Dynamika dla wygładzania wykańczające-go
DYNFINISH G1 X10 Y20 Z30- F1000
m 59
DYNNORM
Normalna dynamika jak dotychczas DYNNORM G1 X10
m 59
DYNPOS Dynamika dla trybu pozycjonowania, gwin-towanie otworu
DYNPOS G1 X10 Y20 Z30 F...
m 59
DYNROUGH
Dynamika dla obróbki zgrubnej DYNROUGH G1 X10 Y20 Z30 F10000
m 59
DYNSEMIFIN
Dynamika dla obróbki wykańczającej
Technologia
grupa G
DYNSEMIFIN G1 X10 Y20 Z30 F2000
m 59
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
784
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
EAUTO Ustalenie ostatniego segmentu spline przez ostatnie 3 punkty (end not a knot)
m 20
EGDEF Definicja przekładni elektronicznej (elec-tronic gear define)
Dla 1 osi holowanej z max 5 osia-mi wiodą-cymi
EGDEL Skasowanie definicji sprzęgła dla osi holo-wanej (electronic gear delete)
Wyzwala zatrzymanie przebiegu wyprzedza-jącego.
EGOFC Wyłączenie ciągłe przekładni elektronicz-nej (electronic gear OFF cintinous)
EGOFS Wyłączenie selektywne przekładni elektro-nicznej (electronic gear OFF selectiv)
EGON Włączenie przekładni elektronicznej (elec-tronic gear ON)
Bez syn-chronizacji
EGONSYN
Włączenie przekładni elektronicznej (elec-tronic gear ON synchronized)
Z synchroni-zacją
EGONSYNE
Włączenie przekładni elektronicznej, z zadaniem trybu rozruchu (electronic gear ON synchronized)
Z synchroni-zacją
ELSE Rozgałęzienie programu, gdy warunek IF nie jest spełniony
ENABLE Przerwanie WŁ
ENAT 1 Naturalne przejście krzywej do następnego bloku ruchu (end natural)
m 20
ENDFOR Wiersz końcowy pętli FOR
ENDIF Wiersz końcowy rozgałęzienia IF
ENDLOOP
Wiersz końcowy pętli programowej bez końca LOOP
ENDPROC
Wiersz końcowy programu z wierszem początkowym PROC
ENDWHILE
Wiersz końcowy pętli WHILE
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
785
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
ETAN Styczne przejście krzywej do następnego bloku ruchu na początku spline (end tan-gential)
EVERY Wykonanie akcji synchronicznej, gdy wa-runek przechodzi z FALSE na TRUE
EXECSTRING
Przekazanie zmiennej string z będącym do wykonania wierszem programu obróbki
Pośredni wiersz pro-gramu ob-róbki
EXECSTRING(MFCT1<<M4711)
EXECTAB Wykonanie elementu z tablicy ruchów (execute table)
EXECUTE Wykonywanie programu WŁ. Z trybu przy-gotowania albo po zbu-dowaniu obszaru ochrony przełączenie z powrotem na normalne wykonywa-nie progra-mu
EXP Funkcja wykładnicza ex Real
EXTCALL Wykonywanie podprogramu ze źródła ze-wnętrznego
Doładowa-nie progra-mu z HMI w trybie „wy-konywanie ze źródła zewnętrzne-go”.
EXTERN Poinformowanie o podprogramie z przeka-zaniem parametrów
F Wartość posuwu (w połącze-niu z G4 jest pod F programo-wany równieŜ czas oczekiwa-nia)
0.001, ..., 99999.999
Prędkość po torze narzę-dzie/obr. przedmiot; jedn. miary w mm/min albo mm/obrót w zaleŜności od G94 albo G95
F=100 G1 ...
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
786
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
FA Posuw osiowy (feed axial) 0.001, ..., 999999.999 mm/min, stopni/min; 0.001, ..., 39999.9999 cali/min
FA[X]=100 m
FAD Posuw dla miękkiego dosu-nięcia i odsunięcia (Feed approach/depart)
Real, bez znaku
FALSE Stała logiczna: fałsz BOOL Zastępowal-na przez stałą Integer 0.
FCTDEF Zdefiniowanie funkcji wielomianowej Ewaluacja następuje w SYNFCT albo PUTFTOCF.
FCUB 6 Posuw według spline sześciennego (feed cubic)
Działa na posuw z G93 i G94
m 37
FD Posuw po torze dla nałoŜe-nia ruchu kółkiem ręcznym (feed DRF)
Real, bez znaku
b
FDA Posuw osiowy ze zmianą prędkości kółkiem ręcznym (feed DRF axial)
Real, bez znaku
b
FENDNORM
Zwłoka na naroŜniku WYŁ. m 57
FFWOF 1 Sterowanie wyprzedzające WYŁ. (feed forward OFF)
m 24
FFWON Sterowanie wyprzedzające wł. (feed for-ward ON)
m 24
FGREF Promień odniesienia przy osiach obroto-wych albo współczynniki odniesienia toru przy osiach orientacji (interpolacja wekto-rowa)
Wielkość odniesienia, wartość efektywna
m
FGROUP Ustalenie osi z posuwem po torze F obowiązu-je dla wszystkich osi poda-nych pod FGROUP
FGROUP (oś1, [oś2], ...)
FIFOCTRL
Sterowanie buforem przebiegu wyprzedza-jącego
m 4
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
787
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
FIFOLEN Programowana głębokość posuwy wyprze-dzającego (preprocessing depth)
FILEDATE
Wysyła do pliku datę ostat-niego dostępu w celu zapisu
STRING, długość 8
Formatem jest „dd.mm.yy”.
FILEINFO Daje sumę FILEDATE, FILESIZE, FILESTAT i FILETIME
STRING, długość 32
Format „rwxsd nnnnnnnn dd.hh:mm:ss”.
FILESIZE Daje aktualną wielkość pliku Typ INT W BAJTACH
FILESTAT Daje status pliku dla praw do odczytu, zapisu, wykonania, wyświetlenia, skasowania (rwxsd)
STRING, długość 5
Formatem jest „rwxsd”.
FILETIME Daje czas zegarowy ostatniego dostępu do pliku w celu zapisu
STRING, długość 8
Formatem jest „dd:mm:yy”.
FINEA Koniec ruchu przy osiągnięciu „zatrzymania dokładnego dokładnie”
FINEA=... albo
FINEA[n]=...
m
FL Prędkość graniczna dla osi synchronicznych (feed limit)
Real, bez znaku
Obowiązuje jednostka ustawiona przy pomocy G93, G94, G95 (max przesuw szybki)
FL [oś] =... m
FLIN Posuw zmienny liniowo (feed linear) Działa na posuw z G93 i G94
m 37
FMA Wiele posuwów osiowych (feed multiple axial)
Real, bez znaku
m
FNORM 1 Posuw normalny według DIN66025 (feed normal)
m 37
FOCOF Wyłączenie ruchu z ograniczonym momen-tem / siłą
m
FOCON Włączenie ruchu z ograniczonym momen-tem / siłą
m
FOR Pętla FOR o stałej liczbie przebiegów
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
788
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
FP Punkt stały: nr punktu stałe-go do osiągnięcia
Integer, bez znaku
G75 FP=1 b
FPO Przebieg posuwy progra-mowany poprzez wielomian (feed polunomial)
Real Kwadrato-wy, sze-ścienny współczyn-nik wielo-mianu
FPR Oznaczenie osi obrotowej 0.001, ..., 999999.999
FPR (oś obrotowa)
FPRAOF Wyłączenie posuwu na obrót
FPRAON Włączenie posuwu na obrót
FRAME Typ danych do ustalenia układu współ-rzędnych
Zawiera na oś geome-tryczną: przesunię-cie, obrót, kąt ścięcia, skalowanie, lustrzane odbicie;
na oś do-datkową: przesunię-cie, skalo-wanie, lu-strzane od-bicie
FRC Posuw dla zaokrąglenia i fazki
b
FRCM Posuw dla zaokrąglenia i fazki modalnie
m
FTOC Zmiana korekcji dokładnej narzędzia ZaleŜnie od wielomianu 3. stopnia ustalonego przy pomocy FCTDEF
FTOCOF1 Korekcja narzędzia działająca online WYŁ. (fine tool offset OFF)
m 33
FTOCON Korekcja narzędzia działająca online WŁ. (fine tool offset ON)
m 33
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
789
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2 FXS Ruch do oporu sztywnego
wł. (fixed stop) Integer, bez znaku
1 = wybór, 0 = cofnięcie
m
FXST Granica momentu dla ruchu do oporu sztywnego (fixed stop torque)
% Podanie opcjonalne
m
FXSW Okno nadzoru dla ruchu do oporu sztywnego (fixed stop window)
mm, cal albo stopień
Podanie opcjonalne
G Funkcja G (warunek drogo-wy)
Funkcje G są podzielone na grupy G. W jednym bloku moŜna napisać tylko jedną funkcję G z danej grupy. Funkcja G moŜe działać modalnie (aŜ do odwołania przez inną funkcję z tej sa-mej grupy), albo tylko w tym bloku, w którym się znajduje (działanie pojedynczymi blokami).
Tylko cał-kowitolicz-bowe, zada-ne wartości
G...
G0 Interpolacja liniowa z przesuwem szybkim (ruch przesuwem szybkim)
G0 X... Z... m 1
G11 Interpolacja liniowa z posuwem (interpola-cja prostoliniowa)
G1 X... Z... F... m 1
G2 Interpolacja kołowa zgodnie z ruchem wskazówek zegara
G2 X... Z... I... K... F... ;punkt środk. i końcowy G2 X... Z... CR=... F... ;promień i punkt końc. G2 AR=... I... K... F... ;kąt rozwarcia ;i punkt środkowy G2 AR=... X... Z... F. ;kąt rozwarcia ;i punkt końcowy
m 1
G3 Interpolacja kołowa przeciwnie do ruchu wskazówek zegara
Polecenia ruchu
G3 ... ; ponadto jak w przypadku G2
m 1
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
790
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2 G4 Czas oczekiwania, z góry określony Ruch spe-
cjalny G4 F... ; czas oczekiwania w s albo G4 S... ;czas oczekiwania w obrotach wrzecio-na. ;oddzielny blok
b 2
G5 Szlifowanie wcinające skośne Szlif. wcina-jące skośne
b 2
G7 Ruch wyrównawczy przy szlifowaniu wcina-jącym skośnym
Pozycja startowa
b 2
G9 Zatrzymanie dokładne - zmniejszenie prędkości b 11
G171 Wybór płaszczyzny roboczej X/Y Kier. dosuwu Z
m 6
G18 Wybór płaszczyzny roboczej Z/X Kier. dosuwu Y
m 6
G19 Wybór płaszczyzny roboczej Y/Z Kier. dosuwu X
m 6
G25 Dolne ograniczenie pola roboczego G25 X.. Y.. Z.. ;oddzielny blok
b 3
G26 Górne ograniczenie pola roboczego
Przyporząd-kowanie wartości w osiach kana-łu
G26 X.. Y.. Z.. ;oddzielny blok
b 3
G33 Interpolacja gwintu o stałym skoku
0.001, ..., 2000.00 mm/obr
Polecenie ruchu
G33 Z... K... SF=... ;gwint walcowy G33 X... I... SF=... ;gwint poprzeczny G33 Z... X... K... SF=... ;gwint stoŜkowy ;(w osi Z droga większa ;niŜ w osi X) ;G33 Z... X... I... SF=... ;gwint stoŜkowy ;(w osi X droga większa ;niŜ w osi Z)
m 1
G34 Liniowo degresywna zmiana prędkości [mm/obr2]
Polecenie ruchu
G34 X.. Y.. Z.. I.. J.. K.. F..
m 1
G35 Liniowo progresywna zmiana prędkości [mm/U2]
Polecenie ruchu
G35 X.. Y.. Z.. I.. J.. K.. F..
m 1
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
791
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Grupa 2
G40 1 Korekcja promienia narzędzia WYŁ. m 7
G41 Korekcja promienia narzędzia na lewo od konturu
m 7
G42 Korekcja promienia narzędzia na prawo od konturu
m 7
G53 Maskowanie aktualnego przesunięcia punktu zerowego (pojedynczymi blokami)
Łącznie z zapr. prze-sunięciami
b 9
G54 1.ustawiane przesunięcie punktu zerowego m 8
G55 2. ustawiane przesunięcie punktu zerowego m 8
G56 3. ustawiane przesunięcie punktu zerowego m 8
G57 4. ustawiane przesunięcie punktu zerowego m 8
G58 Osiowe programowane przesunięcie punktu zerowego absolutnie
b 3
G59 Osiowe programowane przesunięcie punktu zerowego addytywnie
b 3
G60 1 Zatrzymanie dokładne i zmniejszenie prędkości m 10 G62 Zaokrąglanie naroŜników wewnętrznych przy
aktywnej korekcji promieni narzędzia (G41, G42)
Tylko razem z przecho-dzeniem płynnym
G62 Z... G1 m 57
G63 Gwintowanie otworu z oprawką wyrównawczą G63 Z... G1 b 2
G64 Zatrzymanie dokładne - tryb przechodzenia płynnego
m 10
G70 Podanie wymiaru w calach (długości) m 13
G71 1 Metryczne podanie wymiaru (długości) m 13
G74 Dosunięcie do punktu odniesienia G74 X... Z... ;oddzielny blok
b 2
G75 Dosunięcie do punktu stałego Osie ma-szyny
G75 FP=.. X1=... Z1=... ;oddzielny blok
b 2
G90 1 Podanie wymiaru absolutne G90 X... Y... Z...(...) Y=AC(...) albo X=AC Z=AC(...)
m b
14
G91 Przyrostowe podanie wymiaru G91 X... Y... Z... albo X=IC(...) Y=IC(...) Z=IC(...)
m b
14
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
792
Nazwa Znaczenie Warto ść Opis, ko-mentarz
Składnia m/b 3 Gru-pa2
G93 Posuw odwrotny do czasu 1/min Wykonanie bloku: czas trwania
G93 G01 X... F... m 15
G94 1 Posuw liniowy F w mm/min albo cali/min i °/min
m 15
G95 Posuw na obrót F w mm/obr albo cali/obr m 15 G96 Stała prędkość skrawania (jak przy G95)
WŁ. G96 S... LIMS=...
F... m 15
G97 Stała prędkość skrawania (jak przy G95) WYŁ.
m 15
G110 Programowanie biegunowe w stosunku do ostatniej zaprogramowanej pozycji zadanej
G110 X.. Y.. Z.. b 3
G111 Programowanie bieguna w stosunku do pkt. zerowego aktualnego układu współrzęd-nych obrabianego przedmiotu
G110 X.. Y.. Z.. b 3
G112 Programowanie bieguna w stosunku do ostatniego obowiązującego bieguna
G110 X.. Y.. Z.. b 3
G140 1 Kier. dosunięcia WAB ustalony przez G41/G42
m 43
G141 Kier. dosunięcia WAB na lewo od konturu m 43
G142 Kier. dosunięcia WAB na prawo od konturu m 43
G143 Kier. dosunięcia WAB zaleŜnie od stycznej m 43
G147 Miękkie dosunięcie po prostej b 2
G148 Miękkie odsunięcie po prostej b 2
G153 Maskowanie aktualnych frame łącznie z frame bazowym
łącznie z frame sys-temowym
b 9
G247 Miękkie dosunięcie po ćwierćokręgu b 2
G248 Miękkie odsunięcie po ćwierćokręgu b 2
G290 Przełączenie na tryb SINUMERIK WŁ. m 47
G291 Przełączenie na tryb ISO2/3 WŁ. m 47
G331 Gwintowanie otworu m 1
G332 Wycofanie (gwintowanie otworu)
±0.001,..., 2000.00 mm/obr
Polecenia ruchu m 1
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
793
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2 G340 1 Blok dosunięcia przestrzennego (równocze-
śnie na głębokości i w płaszczyźnie (linia spiralna)
Działa przy miękkim dosunięciu wzgl. odsu-nięciu
m 44
G341 Najpierw dosuw w osi prostopadłej (z), na-stępnie dosunięcie w płaszczyźnie
Działa przy miękkim dosunięciu wzgl. odsu-nięciu
m 44
G347 Miękkie dosunięcie po półokręgu b 2 G348 Miękkie odsunięcie po półokręgu b 2 G450 1 Okrąg przejściowy m 18 G451 Punkt przecięcia równoległej Zachowanie
się na naroŜ-nikach przy korekcji pro-mienia narzę-dzia
m 18
G460 1 Nadzór na kolizję dla bloku dosunięcia i odsunię-cia
m 48
G461 Blok brzegowy przedłuŜyć łukiem koła, gdy ...
m 48
G462 Blok brzegowy przedłuŜyć prostą, gdy...
...nie ma punktu przecięcia w bloku kor. prom. narz.
m 48
G500 1 Wyłączenie wszystkich ustawialnych frame, gdy w G500 nie ma wartości
m 8
G505 .... G599
5 ... 99. Ustawiane przesunięcie punktu zerowego
m 8
G601 1 Zmiana bloku przy zatrzymaniu dokładnym dokładnie
m 12
G602 Zmiana bloku przy zatrzymaniu dokładnym zgrubnie
m 12
G603 Zmiana bloku na końcu bloku IPO m 12 G641 Zatrzymanie dokładne - tryb przechodzenia
płynnego G641 ADIS=... m 10
G642 Ścięcie z dokładnością osiową
Działa tylko przy aktyw-nym G60 albo G9 z pro-gramowal-nym ścina-niem przejść
m 10
G643 Ścięcie wewnętrzne w bloku m 10 G644 Ścinanie z zadaniem dynamiki osi m 10
G621 Zwłoka na wszystkich naroŜnikach Tylko razem z trybem przecho-dzenia płynnego
G621 ADIS=... m 57
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
794
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
G700 Podanie wymiaru w calach i calach/min (długości + prędkości + zmienne systemo-we
m 13
G7101 Metryczne podanie wymiaru w mm i mm/min (długości + prędkości + zmienne systemo-we)
m 13
G8101, ..., G819
Grupa G zarezerwowana dla uŜytkownika OEM
31
G8201, ..., G829
Grupa G zarezerwowana dla uŜytkownika OEM
32
G931 Zadanie posuwu przez czas ruchu Czas ruchu m 15
G942 ZamroŜenie posuwu liniowego i stałej pręd-kości skrawania albo pr. obr. wrzeciona
m 15
G952 ZamroŜenie posuwu na obrót i stałej pręd-kości skrawania albo pr. obr. wrzeciona
m 15
G961 Stała prędkość skrawania i posuw liniowy Typ posuwu jak przy G94
G961 S... LIMS=... F...
m 15
G962 Posuw liniowy albo posuw na obrót i stała pręd-kość skrawania
m 15
G971 ZamroŜenie prędkości obrotowej wrzeciona i posuw liniowy
Typ posuwu jak przy G94
m 15
G972 ZamroŜenie posuwu liniowego albo posuwu na obrót i stałej prędk. obr. wrzeciona
m 15
G973 Posuw na obrót bez ograniczenia prędkości obrotowej wrzeciona
G97 bez LIMS dla trybu ISO
m 15
GEOAX Przyporządkowanie nowych osi kanału do osi geometrycznych 1 - 3
Bez parame-tru: działa ustalenie w MD.
GET Zajęcie osi maszyny Oś musi przy pomocy RELEASE zostać udo-stępniona w innym kana-le.
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
795
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Grupa 2
GETD Bezpośrednie zajęcie osi maszyny Patrz GET.
GETACT Określenie aktywnego narzędzia z grupy narzę-dzi o takiej samej nazwie
GETSELT Dostarczenie wstępnie wybranego numeru T
GETT Określenie numeru T do nazwy narzędzia
GOTO Instrukcja skoku najpierw do przodu potem do tyłu (kierunek najpierw do końca a następnie do początku programu)
GOTO (etykieta, nr bloku) Etykiety muszą znaj-dować się w podpro-gramie.
GOTOC Jak GOTO + blokowanie alarmu 14080 „Cel skoku nie znaleziony”
GOTOB Instrukcja skoku wstecz (w kierunku początku programu)
GOTOB (etykieta, nr bloku)
GOTOF Instrukcja skoku do przodu (w kierunku końca programu)
MoŜna sto-sować w programie obróbki a równieŜ w cyklach tech-nologicznych
GOTOF (etykieta, nr bloku)
GOTOS Skok powrotny do początku programu GOTOS
GP Słowo kluczowe do pośredniego programowa-nia atrybutów pozycji
np. X=GP(...)
GWPSOF Cofnięcie wyboru stałej prędkości obwodowej ściernicy (SUG)
GWPSOF (nr T) b
GWPSON Wybór stałej prędkości obwodowej ściernicy (SUG)
GWPSON (nr T) b
H... Wyprowadzenie funkcji po-mocniczej do PLC
Real/INT Progr.: REAL : ±3,4028-exp38 INT: -2147483 648 +2147483648 wyświetl.: ±999 999 999,9999
Ustawianie poprzez MD (producent maszyny)
H100 albo H2=100
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
796
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Grupa 2
I 4 Parametr interpolacji Real b
I1 Współrzędna punktu po-średniego
Real b
IC Wprowadzenie wymiaru przyrostowego
0, ..., ±99999.999°
X=IC(10) b
ICYCOF Wykonanie wszystkich bloków cyklu tech-nologicznego po ICYCOF w jednym takcie IPO
Tylko w ramach płaszczyzny programo-wej.
ICYCON KaŜdy blok cyklu technologicznego po ICYCON w oddzielnym takcie IPO
Tylko w ramach płaszczyzny programo-wej.
IDS Oznaczenie statycznych akcji synchro-nicznych
IF Wprowadzenie skoku warunkowego w programie obróbki / cyklu technologicz-nym
Struktura: IF – ELSE - ENDIF
IF (warunek)
INCCW Ruch po ewolwencie koła w przeciwnie do ruchu wsk. zeg. z interpolacją ewolwen-ty przez G17/G18/G19
Real INCW/INCCW X... Y... Z... INCW/INCCW I... J... K... INCW/INCCW CR=... AR...
Programowanie bezpośrednie: INCW/INCCW I... J... K... CR=... AR=...
m 1
INCW Ruch po ewolwencie koła w kierunku ruchu wsk. zeg. z interpolacją ewolwenty przez G17/G18/G19
Real
Punkt końc.: punkt środk.: promień z CR > 0:
Kąt obrotu w stopniach między wek-torem star-towym i końcowym
m 1
INDEX Określenie indeksu znaku w wejściowym łańcuchu zna-ków
0, ..., INT
String: 1. parametr Znak: 2. parametr
INIT Wybór modułu do wykonania w kanale Nr kanału 1-10 albo
$MC_CHAN_NAME
INIT(1,1,2) albo
INIT(CH_X, CH_Y)
INT Typ danych: wartość całko-witoliczbowa ze znakiem
-(231-1), ..., 231-1
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
797
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
INTERSEC
Obliczenie punktu przecięcia dwóch elementów konturu i podanie stratusu punktu przecięcia TRUE do ISPOINT
VAR REAL [2]
ISPOINT
status błędu:
BOOL FALSE
ISPOINTS= INTERSEC (TABNAME1[n1], TABNAME2[n2],
ISTCOORD, MODE)
IP Zmienny parametr interpola-cji (Interpolation Parameter)
Real
IPOBRKA Kryterium ruchu od punktu początkowego charakterystyki hamowania
Charaktery-styka ha-mowania przy 100% do 0%.
IPOBRKA=.. albo IPOBRKA(<oś>[,RE
AL])
m
IPOENDA Koniec ruchu przy osiągnięciu „Stop IPO” IPOENDA=.. albo
IPOENDA[n]..
m
IPTRLOCK ZamroŜenie początku nieprzeszukiwalnego segmentu programu na najbliŜszym bloku z funkcją maszynową
Zamrozić wskaźnik przerwania
m
IPTRUNLOCK
Ustawienie końca nieprzeszukiwalnego seg-mentu programu na aktualnym bloku jako mo-ment przerwania.
Ustawić wskaźnik przerwania
m
ISAXIS Sprawdzić, czy oś geometrycz-na podana jako parametr jest 1
BOOK
ISD Głębokość zagłębienia (inser-tion depth)
Real m
ISFILE Sprawdzenie czy jest plik w pamięci uŜytkownika NCK
BOOL Daje wynik typu BOOL
RESULT=ISFILE("Testfile") IF
(RESULT==FALSE)
ISNUMBER Sprawdzenie, czy wejściowy łańcuch znaków moŜna zamie-nić na liczbę
BOOL Zamiana wejściowego łańcucha znaków na liczbę.
ISPOINTS Określa od ISTAB moŜliwe punkty przecięcia między dwo-ma konturami a aktualnej płaszczyźnie
INT Rodzaj ob-róbki MODE (opcjonalnie).
STATE=ISPOINTS (KTAB1[n1], KTAB2[n2], ISTAB,
[MODE])
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
798
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
ISVAR Sprawdzenie, czy przekazywa-ny parametr zawiera zmienną znaną w NC
BOOL Dane maszy-nowe, dane nastawcze i zmienne jak GUD.
J 4 Parametr interpolacji Real b
J1 Współrzędna punktu po-średniego
Real b
JERKA Uaktywnienie ustawionego poprzez MD zachowania się pod względem przyspie-szenia dla zaprogramowanych osi
JERKLIMA
Zmniejszenie albo przewyŜ-szenie maksymalnego osio-wego przyspieszenia dru-giego stopnia (jerk axial)
1, ..., 200 Zakres po-prawności 1 do 200%
JERKLIMA[X]= ...[%]
m
K4 Parametr interpolacji Real b
K1 Współrzędna punktu po-średniego
Real b
KONT Obejście konturu przy korekcji narzędzia m 17
KONTC Dosunięcie/odsunięcie z wielomianem o stałym zakrzywieniu
m 17
KONTT Dosunięcie/odsunięcie po krzywej wielo-mianowej o ciągłej pochodnej
m 17
L Numer podprogramu Integer, do 7 miejsc
L10 b
LEAD Kąt wyprzedzenia Real m
LEADOF SprzęŜenie wartości wiodącej WYŁ (lead off)
LEADON SprzęŜenie wartości wiodącej WŁ (lead on)
LFOF 1 Przerwanie nacinania gwintu WYŁ. m 41
LFON Przerwanie nacinania gwintu WŁ. m 41
LFPOS Osiowe cofnięcie do pozycji m 46
LFTXT 1 Kierunek narzędzia przy cofnięciu stycznie m 46
LFWP Kierunek narzędzia przy cofnięciu nie stycznie
m 46
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
799
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
LIFTFAST Szybkie cofnięcie przed wywołaniem pro-cedury przerwania
LIMS Ograniczenie prędkości obrotowej przy G96/G961 i G97 (limit spindle speed)
0.001, ..., 99999,999
m
LN Logarytm naturalny Real
LOCK Zablokowanie akcji syn-chronicznej przy pomocy ID (zatrzymanie cyklu techno-logicznego)
LOG Logarytm (dziesiętny) Real
LOOP Wprowadzenie pętli bez końca
Struktura: LOOP - ENDLOOP
M... Działania łączeniowe INT wyświetl.: 0, ..., 999 999 999
Program: 0;...; 2147483647
Max 5 wol-nych funkcji M do ustale-nia przez producenta maszyny
M0 6 Zatrzymanie programowane
M1 6 Zatrzymanie do wyboru
M2 6 Koniec programu, program główny z cof-nięciem do początku programu
M3 Kierunek obr. wrzeciona w prawo dla wrze-ciona wiodącego
M4 Kierunek obr. wrzeciona w lewo dla wrze-ciona wiodącego
M5 Zatrzymanie wrzeciona wiodącego
M6 Zmiana narzędzia
M17 6 Koniec podprogramu
M19 Programowania wrzeciona zebrane przy SSL
M30 6 Koniec programu, jak M2
M40 Automatyczne przełączanie przekładni
M41... M45
Stopień przekładni 1, ..., 5
M70 Przejście na pracę w osiach
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
800
Nazwa Znaczenie Warto ść Opis, komen-
tarz Składnia m/b3 Gru-
pa2
MASLDEF Zdefiniowanie zespołu osi master/slave
MASLDEL Rozłączenie zespołu osi master/slave i skasowanie definicji zespołu
MASLOF Wyłączenie sprzęŜenia tymczasowego
MASLOFS Wyłączenie sprzęŜenia tymczasowego z automatycznym zatrzymaniem osi slave
MASLON Włączenie sprzęŜenia tymczasowego
MAXVAL Większa wartość dwóch zmiennych (funkcja arytm.)
Real Równość dają tę sa-mą wartość.
ValMax =
MAXVAL(Var1, Var2)
MCALL Modalne wywołanie podprogramu Bez nazwy podprogra-mu: cofnię-cie wyboru
MEAC Pomiar ciągły bez skaso-wania pozostałej drogi
Integer, bez znaku
b
MEAFRAME
Obliczenie frame z punktów pomiarowych
FRAME
MEAS Pomiar czujnikiem przełą-czającym (measure)
Integer, bez znaku
b
MEASA Pomiar z kasowaniem po-zostałej drogi
b
MEAW Pomiar czujnikiem przełą-czającym bez kasowania pozostałej drogi (measure without deleting distance to go)
Integer, bez znaku
b
MEAWA Pomiar bez kasowania po-zostałej drogi
b
MI Dostęp do danych frame: lustrzane odbi-cie (mirror)
MI
MINDEX Określenie indeksu znaku w wejściowym łańcuchu znaków
o, ..., INT
String: 1. parametr Znak: 2. parametr
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
801
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Grupa 2
MINIVAL Mniejsza wartość z dwóch zmiennych (funkcja arytme-tyczna)
Real Równość daje tą sa-mą wartość.
ValMin =
MINVAL(Var1, Var2)
MIRROR Programowane lustrzane odbicie MIRROR X0 Y0 Z0 ;oddzielny blok
b 3
MMC Interaktywne wywołanie z programu obróbki okna dialo-gowego na HMI
STRING
MOD Dzielenie modulo
MODAXVAL
Określenie pozycji modulo osi obrotowej modulo
Real
MOV Wystartowanie osi pozycjonowania (start moving positioning axis)
Real
MSG Komunikaty programowane MSG("komunikat") m
N Numer bloku - blok pomoc-niczy
0, ..., 9999 9999 tylko całko-witoliczbo-we, bez znaku
MoŜna sto-sować do oznakowy-wania blo-ków nume-rem; znaj-duje się na początku bloku
Np. N20
NCK Specyfikacja zakresu poprawności danych Występuje jeden raz na NCK.
NEWCONF
Przejęcie zmienionych danych maszyno-wych. Odpowiada ustawieniu działania danej maszynowej
MoŜliwe równieŜ przyciskiem programo-wanym na HMI.
NEWT Utworzenie nowego narzędzia Nr duplo moŜna po-minąć
NORM 1 Normalne ustawienie w punkcie początkowym, końcowym przy korekcji narzędzia
m 17
NOT Logiczne NIE (negacja)
NPROT Obszar ochrony specyficzny dla maszyny WŁ/WYŁ
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
802
Nazwa Znaczenie Warto ść Opis, ko-mentarz
Składnia m/b 3 Grupa 2
NPROTDEF Definicja obszaru ochrony specyficznego dla maszyny (NCK specific protection area defini-tion)
NUMBER Zamiana wejściowego łańcu-cha znaków na liczbę
REAL
OEMIPO15 Interpolacja OEM 1 m 1
OEMIPO25 Interpolacja OEM 2 m 1
OF Słowo kluczowe w rozgałęzieniu CASE
OFFN Naddatek na zaprogramowany kontur OFFN=5
OMA1 6 Adres OEM 1 Real m
OMA2 6 Adres OEM 2 Real m
OMA3 6 Adres OEM 3 Real m
OMA4 6 Adres OEM 4 Real m
OMA5 6 Adres OEM 5 Real m
OFFN Korekcja offsetu - normalna Real m
OR Logiczne LUB ORIC 1 Zmiany orientacji na naroŜnikach zewnętrz-
nych są nakładane na wstawiony blok okręgu (orientation change continuously)
m 27
ORID 6 Zmiany orientacji są wykonywane przed blo-kiem okręgu (orientation change discontinuo-usly)
m 27
ORIAXPOS Kąt orientacji przez wirtualne osie orientacji z pozycjami osi obrotowych
m 50
ORIEULER Kąt orientacji przez kąt Eulera m 50
ORIAXES Interpolacja liniowa osi maszyny albo osi orien-tacji
m 51
ORICONCW
Interpolacja na kołowej powierzchni poboczni-cowej w kier. ruchu wsk. zegara
m 51
ORICONCCW
Interpolacja na kołowej powierzchni poboczni-cowej przeciwnie do ruchu wsk. zegara
Orientacja końcowa: podanie wek-tor A3, B3, C3 albo kąt Eulera/RPYl A2, B2, C2
Dane dodat-kowe: wekto-ry obrotu A6, B6, C6
Kąt rozwarcia stoŜka w stopniach 0 < NUT <180 stopni
Wektory pośrednie: A7, B7, C7
Punkt styku narzędzia: XH, YH, ZH,
Parametryzacja jak następuje:
wektory kierun-kowe normalizo-wane A6=0 B6=0 C6=1
Kąt rozwarcia następuje jako kąt ruchu z NUT=... NUT=+... przy ≤ 180 stopni NUT= -... przy ≥ 180 stopni
Orientacja po-średnia znormali-zowana A7=0 B7=0 C7=1
m 51
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
803
Nazwa Znaczenie Warto ść Opis, komen-
tarz Składnia m/b3 Grupa 2
ORICONIO Interpolacja na kołowej powierzchni poboczni-cowej z podaniem orientacji pośredniej
m 51
ORICONTO Interpolacja na kołowej powierzchni poboczni-cowej w przejściu stycznym
m 51
ORICURVE Interpolacja orientacji z zadaniem ruchu dwóch punktów styku narzędzia
m 51
ORIPLANE Interpolacja w płaszczyźnie (odpowiada ORIVECT) interpolacja wielkiego okręgu
m 51
ORIPATH Orientacja narzędzia w odniesieniu do toru Pakiet trans-formacji Han-dling, patrz /FB/, TE4
m 51
ORIPATHS Orientacja narzędzia w odniesieniu do toru, załamanie w przebiegu orientacji jest wygła-dzane
Odniesiona relatywnie do całego toru
m 51
ORIROTA Kąt obrotu do kierunku obrotu zadanego abso-lutnie
m 54
ORIROTC Styczny wektor obrotu do stycznej do toru Odniesiony do stycznej do toru
m 54
ORIROTR Kąt obrotu w stosunku do płaszczyzny między orientacją startową i końcową
m 54
ORIROTT Kąt obrotu w stosunku do zmiany wektora orientacji
m 54
ORIRPY Kąt orientacji poprzez kąt RPY (XYZ) Kolejność obrotu XYZ
m 50
ORIRPY2 Kąt orientacji poprzez kąt RPY (ZYX) Kolejność obrotu ZYX
m 50
ORIS Zmiana orientacji (orientation smoothing factor)
Real W odniesie-niu do toru
m
ORIVECT Interpolacja wielkiego okręgu (identyczna z ORIPLANE)
m 51
ORIVIRT1 Kąt orientacji przez wirtualne osie orientacji (definicja 1)
m 50
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
804
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Grupa 2
ORIVIRT2 Kąt orientacji przez wirtualne osie orientacji (definicja 1)
m 50
ORIMKS Orientacja narzędzia w układzie współrzędnych maszyny (tool orientation in machine coordina-te system)
m 25
ORIRESET PołoŜenie podstawowe orientacji narzędzia z max 3 osiami orientacji
Parametr opcjonalny (REAL)
ORIRESET(A,B,C)
ORIWKS 1 Orientacja narzędzia w układzie współrzędnych obrabianego przedmiotu (tool orientation in workpiece coordinate sys-tem)
m 25
OS Ruch wahliwy wł./wył. Integer, bez znaku
OSB Ruch wahliwy: punkt startowy m
OSC Stałe wygładzanie orientacji narzędzia m 34
OSCILL Przyporządkowanie osi dla ruchu wahliwego - włącze-nie ruchu wahliwego
Oś: 1 - 3 osie dosuwu
m
OSCTRL Opcje ruch wahliwy Integer, bez znaku
m
OSD Ścinanie orientacji narzędzia przez zada-nie długości ścięcia przy pomocy danej nastawczej
Wewnętrz-nie w bloku
m 34
OSE Ruch wahliwy: punkt końcowy m
OSNSC Ruch wahliwy: liczba wy-iskrzeń (oscillating: number spark out cycles)
m
OSOF 1 Wygładzanie orientacji narzędzia WYŁ. m 34
OSP1 Ruch wahliwy: lewy punkt nawrotny (oscillating: Position 1)
Real m
OSP2 Ruch wahliwy: prawy punkt nawrotny (oscillating: pozycja 2)
Real m
OSS Wygładzanie orientacji narzędzia na końcu bloku
m 34
OSSE Wygładzanie orientacji narzędzia na początku i końcu bloku
m 34
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
805
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
OST Ścinanie orientacji narzędzia przez zadanie tolerancji kątowej w stopniach przy pomocy danej nastawczej (maksymalne odchylenie od zaprogramowanego przebiegu orientacji)
Wewnętrznie w bloku
m 34
OST1 Ruch wahliwy: punkt zatrzy-mania w lewym punkcie na-wrotnym
Real m
OST2 Ruch wahliwy: punkt zatrzy-mania w prawym punkcie na-wrotnym
Real m
OVR Korekcja prędkości obrotowej (Override)
1, ..., 200% m
OVRA Osiowa korekcja prędkości obrotowej (Override)
1, ..., 200% m
OVRRAP Korekcja przesuwu szybkiego (override)
1, ..., 100% m
P Liczba przebiegów podprogra-mu
1, ..., 9999 Integer bez znaku
np. L781 P... ;oddzielny blok
PCALL Wywołanie podprogramów z absolutnym poda-niem ścieŜki i przekazaniem parametrów
Nie ścieŜka absolutna. Zachowanie się jak CALL
PAROT Ustawienie układu współrz. obrabianego przed-miotu na obr. przedmiocie
m 52
PAROTOF Wyłączenie obrotu frame odniesionego do obrabianego przedmiotu
m 52
PDELAYOF Zwłoka przy tłoczeniu WYŁ (punch with delay OFF)
m 36
PDELAYON1
Zwłoka przy tłoczenie WŁ. (punch with delay ON)
m 36
PL Długość przedziału parametru Real, bez znaku
b
PM Na minutę Posuw na minutę
PO Wielomian Real, bez znaki
b
POLF Pozycja LIFTFAST Real, bez znaku
Oś geome-tryczna w WKS, poza tym MKS.
POLF[Y]=10
pozycja docelowa osi wycofania
m
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
806
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
POLFA Wystartowanie pozycji wycofa-nia poszczególnych osi przy pomocy $AA_ESR_TRIGGER
Dla pojedyn-czych osi
POLFA(AX1, 1, 20.0) m
POLFMASK Udostępnienie osi dla wycofa-nia bez zaleŜności między osiami
Wybrane osie POLFMASK(AX1, AX2, ...)
m
POLFMLIN Udostępnienie osi dla wycofa-nia z liniową zaleŜnością mię-dzy osiami
Wybrane osie POLFMIN(AX1, AX2, ...)
m
POLY Interpolacja wielomianowa m 1
POLYPATH
Interpolacja wielomianowa wybieralna dla grup osi AXIS albo VECT
POLYPATH ("AXES")
POLYPATH ("VECT") m 1
PON 6 Tłoczenie wł. (punch ON) m 35
PONS 6 Tłoczenie wł. w takcie IPO (punch ON slow) m 35
POS Pozycjonowanie osi POS[X]=20
POSA Pozycjonowanie osi poza gra-nice bloku
POSA[Y]=20
POSP Pozycjonowanie w częściach (ruch wahliwy)
(position axis in parts)
Real: pozycja końcowa, długość czę-ściowa;
Integer: opcja
POT Kwadrat (funkcja arytmetycz-na)
Real
PR Na obrót (per Revolution) Posuw na obrót
PRESETON Ustawienie wartości zadanej dla zaprogramo-wanych osi
Jest kaŜdora-zowo pro-gramowany identyfikator osi i w na-stępnym parametrze przynaleŜna wartość. MoŜliwych jest do 8 osi.
PRESETON(X,10,Y, 4.5)
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
807
Nazwa Znaczenie Warto ść Opis, komen-
tarz Składnia m/b3 Gru-
pa2
PRIO Słowo kluczowe do ustawienia priorytetu przy realizacji przerwań
PROC Pierwsza instrukcja programu Numer bloku - PROC - identyfikator
PTP Ruch punkt do punktu (point to point) Oś synchro-niczna
m 49
PTPG0 Ruch punkt do punktu tylko przy G0 poza tym CP
Oś synchro-niczna
m 49
PUTFTOC Korekcja dokładna narzędzia dla obciągania równoległego (continous dressing) (Put Fine Tool Correction)
Nr kanału 1-10 albo $MC_CHAN_NAME
PUTFTOC(1,1,2) albo
PUTFTOC(CH_nazwa)
PUTFTOCF Korekcja dokładna narzędzia w zaleŜności od funkcji obciągania dokładnego ustalonej przy pomocy FCtDEF (continous dressing)
(put fine tool correction function dependant)
Nr kanału 1-10 albo $MC_CHAN_NAME
PUTFTOCF(1,1,2) albo
PUTFTOCF(CH_nazwa)
PW CięŜar punktowy (point weight) Real, bez znaku
b
QECLRNOF
Uczenie się kompensacji ćwiartki koła WYŁ (quadrant error compensation learning OFF)
QECLRNON
Uczenie się kompensacji ćwiartki koła WŁ (quadrant error compensation learning ON)
QU Szybkie wyprowadzenie funkcji dodatkowej (pomocniczej
R... Parametr obliczeniowy rów-nieŜ jako nastawny identyfi-kator adresu i z rozszerze-niem numerycznym
±0.0000001, ..., 9999 9999
Liczbę para-metrów R moŜna usta-wić poprzez MD
R10=3 ;przyporządkowanie parametru R X=R10 ;wartość w osi R[R10]=6 ;programowanie pośrednie
RAC Absolutne, pojedynczymi blokami, specy-ficzne dla osi programowanie w promieniu
Programo-wanie w promieniu
RAC(50) b
RDISABLE Blokada wczytywania (read in disable)
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
808
Nazwa Znaczenie Warto ść Opis, komen-
tarz Składnia m/b3 Gru-
pa2
READ Czyta w podanym pliku jeden albo wiele wierszy i zapisuje przeczytaną informację w tablicy
Informacja występuje jako STRING.
RAEDAL Odczyt alarmu (read alarm) Alarmy są przeszukiwa-ne według numerów rosnących
REAL Typ danych: zmienna zmien-noprzecinkowa ze znakiem (liczby rzeczywiste(
Odpowiada 64-bitowemu zmiennoprze-cinkowemu formatowi procesora
REDEF Ustawienie dla danych maszynowych, elemen-tów językowych NC i zmiennych systemowych, przy których są wyświetlane grupy uŜytkowni-ków
RELEASE Udostępnienie danych maszynowych MoŜna pro-gramować wiele osi.
REP Słowo kluczowe do inicjalizacji wszystkich elementów tablicy o tej samej wartości
REP(wartość)
albo
DO FELD[n,m]=REP( )
REAPEAT Powtórzenie pętli programu Tak długo, aŜ (UNTIL) wa-runek będzie spełniony
REPEATB Powtórzenie wiersza programu nnn-razy
REPOSA Ponowne dosunięcie do konturu liniowo we wszystkich osiach (repositioning linear all axes)
b 2
REPOSH Repozycjonowanie semi circle:
Ponowne dosunięcie do konturu po półokręgu
b 2
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
809
Nazwa Znaczenie Warto ść Opis, komen-
tarz Składnia m/b3 Gru-
pa2
REPOSHA Ponowne dosunięcie do konturu we wszystkich osiach; osie geometryczne po półokręgu (re-positioning semi circle all axes)
b 2
REPOSL Ponowne dosunięcie do konturu liniowe
(repositioning linear)
b 2
REPOSQ Ponowne dosunięcie do konturu po ćwierćo-kręgu (repositioning quarter circle)
b 2
REPOSQA Ponowne dosunięcie do konturu liniowo we wszystkich osiach; osie geometryczne po ćwierćokręgu (repositioning quarter circle all axes)
b 2
RESET Cofnięcie cyklu technologicznego MoŜna zapro-gramować jeden lub wiele ID
RET Koniec podprogramu Zastosowanie zamiast M17 - bez wypro-wadzenia funkcji do PLC
RET
RIC Względne, pojedynczymi blokami, specyficzne dla osi programowanie w promieniu
Programo-wanie w promieniu
RIC(50) b
RINDEX Określenie indeksu znaku w wejściowym łańcuchu znaków
0, ..., INT String:
1. parametr
Znak:
2. parametr
RMB Ponowne dosunięcie do punktu początko-wego bloku (repos mode begin of block)
m 26
RME Ponowne dosunięcie do punktu końcowe-go bloku (repos mode end of block)
m 26
RMI 1 Ponowne dosunięcie do punktu przerwa-nia (repos mode interrupt)
m 26
RMN Ponowne dosunięcie do najbliŜej połoŜo-nego punktu na torze (repos mode of nearest orbital block)
m 26
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
810
Nazwa Znaczenie Warto ść Opis, komen-
tarz Składnia m/b3 Gru-
pa2
RND Zaokrąglenie naroŜnika konturu
Real, bez znaku
RND=... b
RNDM Zaokrąglenie modalne Real, bez znaku
RNDM=... RNDM=0: wyłą-czenie zaokrągle-nia modalnego
m
ROT Programowany obrót (rotation) Obrót wokół 1. oś geom.: -180° .. 180° 2. oś geom.: -89.999°, ..., 90° 3. oś geom.: -180° .. 180°
ROT X... Y... Z... ROT RPL= ;oddzielny blok
b 3
ROTS Programowane obrócenia frame z kątami przestrzennymi (rotation)
ROTS X... Y... ROTS Z... X... ROTS Y... Z... ROTS RPL= ;oddzielny blok
b 3
ROUND Zaokrąglenie miejsc po przecinku
Real
RP Promień biegunowy (radius polar)
Real m/b
RPL Obrót w płaszczyźnie (rota-tion plane)
Real, bez znaku
b
RT Parametr dla dostępu do danych frame: obrót (rotation)
RTLION G0 z interpolacją liniową m 55
RTLIOF G0 bez interpolacji liniowej (interpolacja w pojedynczej osi)
m 55
S Prędkość obrotowa wrze-ciona albo (przy G4, G96/G961) inne znaczenie
REAL Wyświetle-nie: ±999 999 999.9999 Pro-gram: ±3,4028 ex38
Prędk. obr. wrzeciona w obr/min G4: czas oczekiwania w obrotach wrzeciona G96/G961: Prędkość skrawania w m/min
S...: prędk. obro-towa dla wrzecio-na wiodącego S1...: prędkość obrotowa wrze-ciona 1
m/b
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
811
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
SAVE Atrybut do ratowania informacji przy wy-wołaniach podprogramu
Są ratowa-ne: wszyst-kie modalne funkcje G i aktualny frame.
SBLOF Blokowanie wykonywania pojedynczymi blokami (single block OFF)
Kolejne bloki są wykonywa-ne w trybie wykonywa-nia poj. blokami jak jeden blok.
SBLON Cofnięcie blokady wykonywania pojedyn-czymi blokami (single block ON)
SC Parametr dla dostępu do danych frame: skalowanie (scale)
SCALE Skalowanie programowane (scale)
SCALE X... Y... Z... ;oddzielny blok
b 3
SCC Selektywne przyporządkowanie osi poprzecz-nej do G96/G961/G962. Identyfikatorem osi moŜe być oś geometryczna, kanału albo ma-szyny.
RównieŜ przy selektywnej stałej prędk. skrawania
SCC[oś]
SD Stopień spline (spline degree)
Integer, bez znaku
b
SEFORM Instrukcja strukturyzacji w edytorze kro-ków, aby wygenerować widok kroków dla HMI Advanced
Ewaluacja następuje w edytorze kroków.
SEFORM
(<nazwa segmen-tu>,<płaszczyzna>,<icon>)
SET Słowo kluczowe do inicjalizacji wszystkich elementów tablicy z wyszczególnionymi wartościami
SET(wartość, wartość, ...) albo DO FELD[n,m]=SET( )
SETAL Ustawienie alarmu (set alarm)
SETDNO Ustawienie numeru D narzędzia (T) i jego ostrza na "nowy"
SETINIT Ustalenie, która procedura przerwania ma zostać uaktywniona, gdy jest sygnał na wejściu NCK
Ewaluacji jest podda-wane zbo-cze 0 → 1.
SETMS Przełączenie z powrotem na wrzeciono prowadzące ustalone w danej maszyno-wej
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
812
Nazwa Znaczenie Warto ść Opis, komen-
tarz Składnia m/b3 Gru-
pa2
SETMS(n) Wrzeciono n ma obowiązywać jako wrze-ciono wiodące
SETPIECE Uwzględnienie liczby sztuk dla wszystkich narzędzi, które są przyporządkowane do wrzeciona
Bez numeru wrzeciona: obowiązuje dla wrzeciona wiodącego
SF Przesunięcie punktu startowe-go dla nacinania gwintu (spline offset)
0.0000,..., 359.999°
m
SIN Sinus (funkcja trygon.) Real
SOFT Przyspieszenie ruchu po torze z ogranicze-niem przyspieszenia drugiego stopnia
m 21
SOFTA Włączenie przyspieszenia w osi z ogranicze-niem przysp. drugiego stopnia dla zaprogr. osi
SON Cięcie wł. (stroke ON) m 35
SONS Cięcie wł. w takcie IPO (stroke ON slow) m 35
SPATH 1 Odniesieniem toru dla osi FGROUP jest długość łuku
m 45
SPCOF Przełączenie wrzeciona wiodącego albo wrzecion(a) z regulacji prędk. obr. na regulację połoŜenia
SPCON SPCON(n)
SPCON Przełączenie wrzeciona wiodącego albo wrzecion(a) z regulacji połoŜenia na regu-lację prędkości obrotowej
SPCON SPCON(n)
SPIF1 1 Szybkie wejścia/wyjścia NCK dla tłocze-nia/cięcia Byte 1 (stroke/punch interface 1)
m 38
SPIF2 Szybkie wejścia/wyjścia NCK dla tłocze-nia/cięcia Byte 2 (stroke/punch interface 2)
m 38
SPLINE-PATH
Ustalenie zespołu spline max 8 osi
SPOF 1 Skok WYŁ., tłoczenie, cięcie wył. (stroke/punch OFF)
m 35
SPN 6 Liczba odcinków częścio-wych na blok (stroke/punch number)
Integer b
SPP Długość odcinka częścio-wego (stroke/punch path)
Integer m
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
813
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Grupa 2
SPOS Pozycja wrzeciona SPOS=10 albo SPOS[n]=10
m
SPOSA Pozycja wrzeciona poza gra-nice bloku
SPOSA=5 albo SPOSA[n]=5
m
SQRT Pierwiastek kwadratowy (funk-cja arytmetyczna)
(square root)
Real
SR Droga wycofania (sparking out retract path)
Real, bez znaku
b
SRA Droga wycofania przy wejściu zewnętrznym osiowo (spar-king out retract)
SRA[Y]=0.2 m
ST Czas wyiskrzania ruchem wahliwym dla akcji synchro-nicznej (sparking out time)
Real, bez znaku
b
STA Czas wyiskrzania ruchem wahliwym osiowo dla akcji synchronicznej (sparking out time axial)
m
START Wystartowanie wybranych programów w wielu kanałach równocześnie z bieŜącego programu
Nie działa we własnym kanale.
START(1,1,2) albo START(CH_X, CH_Y) $MC_CHSN_NAME
STARTFIFO1
Wykonywanie; równolegle do tego wypeł-nianie bufora przebiegu wyprzedzającego
m 4
STAT PołoŜenie przegubów Integer b
STOPFIFO Zatrzymanie wykonywania; wypełnienie bufora przebiegu wyprzedzającego, aŜ na-stąpi rozpoznanie STARTFIFO, bufor prze-biegu wyprzedzającego wypełniony albo koniec programu
m 4
STOPRE Zatrzymanie przebiegu wyprzedzającego aŜ wszystkie przygotowane bloki w przebiegu głównym będą wykonane (stop prepro-cessing)
STOPREOF
Cofnięcie zatrzymania przebiegu wyprze-dzającego (stop preprocessing OFF)
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
814
Nazwa Znaczenie Warto ść Opis, komen-
tarz Składnia m/b3 Gru-
pa2
STRING Typ danych: łańcuch zna-ków
Max 200 znaków
STRINGIS
Sprawdza istniejący zakres językowy NC i specjalnie dla do tego polecenia naleŜące nazwy cykli NC, zmienne uŜytkownika, makropolece-nia i nazwy etykiet, czy ist-nieją one, czy są poprawne, zdefiniowane albo aktywne.
INT Zwracanymi wartościami wynikowymi są
000
nieznany
100
moŜna za-programo-wać
2XX rozpo-znano jako istniejący
STRLEN Określenie długości łańcu-cha znaków
INT
SUBSTR Określenie indeksu znaku w wejściowym łańcuchu zna-ków
Real String:
1. parametr
Znak:
2. parametr
SUPA Maskowanie aktualnego przesunięcia punktu zerowego, łącznie z przesunięcia-mi programowanymi, frame systemowymi, przesunięciami kółkiem ręcznym (DRF), zewnętrznym przesunięciem punktu ze-rowego i ruchem nałoŜonym
p 9
SYNFCT Ewaluacja wielomianu za-leŜnie od warunku w akcji synchronicznej ruchu
VAR REAL
SYNR Odczyt zmiennej następuje synchronicz-nie, tzn. w chwili wykonywania (synchro-nous read)
SYNRW Odczyt i zapis zmiennej następuje syn-chronicznie, tzn. w chwili wykonywania (synchronous read-write)
SYNW Zapis zmiennej następuje synchronicznie, tzn. w chwili wykonywania (synchronous write)
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
815
Nazwa Znaczenie Warto ść Opis, komentarz Składnia m/b3 Grupa 2
T Wywołanie narzędzia (zmiana tylko wtedy, gdy ustalono to w danej maszy-nowej, poza tym konieczne polecenie M6)
1, ..., 32 000
Wywołanie poprzez nr T: albo poprzez identyfikator narzędzia
np. T3 wzgl. T=3 np. T="WIERTŁO"
TAN Tangens (funkcja trygon.) Real
TANG Określenie stycznej dla nadąŜania z oby-dwu podanych osi wiodących
TANGOF NadąŜanie styczne WYŁ
(tangential follow up mode OFF)
TANGON NadąŜanie styczne WŁ
(tangential follow up mode ON)
TCARR ZaŜądanie nośnika narzędzi (numer "m")
Integer m=0: cofnięcie wyboru aktyw-nego nośnika narzędzi
TCARR=1
TCOABS 1 Określenie składowych długości narzędzia z aktualnej orientacji narzędzia
m 42
TCOFR Określenie składowej długości narzędzia ze zorientowania aktywnego frame
Konieczne po przezbrojeniu, np. przez usta-wienie ręczne
m 42
TCOFRX Określenie orientacji narzędzia aktywnego frame przy wyborze narzędzia, narzędzie skierowane w kierunku X
Narzędzie pro-stopadle do pow. skośnej
m 42
TCOFRY Określenie orientacji narzędzia aktywnego frame przy wyborze narzędzia, narzędzie skierowane w kierunku Y
Narzędzie pro-stopadle do pow. skośnej
m 42
TCOFRZ Określenie orientacji narzędzia aktywnego frame przy wyborze narzędzia, narzędzie skierowane w kierunku Z
Narzędzie pro-stopadle do pow. skośnej
m 42
THETA Kąt obrotu THETA jest stale prostopa-dły do aktualnej orientacji narzę-dzia
THETA=wartość
THETA=AC
THETA=IC
wielomian dla THETA
PO[THT]=(...)
b
TILT Kąt w kierunku bocznym Real TILT=wartość m
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
816
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
TMOF Cofnięcie wyboru nadzoru narzędzia Nr T jest konieczny tylko wtedy, gdy narzę-dzie o tym nr nie jest aktywne.
TMOF (nr T)
TMON Wybór nadzoru narzędzia Nr T = 0: wyłączenie nadzoru dla wszystkich narzędzi
TMON (nr T)
TO Określa wartość końcową w pętli FOR
TOFF Offset długości narzędzia w kierunku składowej długości narzędzia, która działa równolegle do osi geometrycznej podanej w indeksie
m
TOFFL Offset długości narzędzia w kierunku składowej długości narzędzia L1, L2 wzgl. L3
m
TOFFR Offset promienia narzędzia m
TOFFOF Cofnięcie korekcji długości narzędzia online
TOFFON Uaktywnienie korekcji długości narzędzia online
Podanie trójwymia-rowego kierunku korekcji
TOFFON (Z, 25) z kierunkiem korek-cji Z wartość offse-tu 25
TOFRAME Ustawienie aktualnego frame programo-wanego na układ współrzędnych narzę-dzia
m 53
TOFRAMEX
Oś X równolegle do kierunku narzędzia, oś pomocnicza Y,Z
m 53
TOFRAMEY
Oś Y równolegle do kierunku narzędzia, oś pomocnicza Z,X
m 53
TOFRAMEZ
Oś Z równolegle do kierunku narzędzia, oś pomocnicza X
Obrót frame w kierunku narzędzia
m 53
TOLOWER
Zamiana liter łańcucha znaków na małe litery
TOROTOF Obroty frame w kierunku narzędzia WYŁ. m 53
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
817
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
TOROT Oś Z równolegle do orientacji narzędzia m 53
TOROTX Oś X równolegle do orientacji narzędzia m 53
TOROTY Oś Y równolegle do orientacji narzędzia m 53
TOROTZ Oś Z równolegle do orientacji narzędzia
Obroty fra-me WŁ. udział obro-tu progra-mowanego frame
m 53
TOUPPER Zamiana liter łańcucha znaków na duŜe litery
TOWSTD Wartość ustawienia podstawowego korek-cji w długości narzędzia
m 56
TOWBCS Wartości zuŜycia w bazowym układzie współrzędnych (BKS)
m 56
TOWKCS Wartości zuŜycia w układzie współrzęd-nych głowicy narzędziowej przy transfor-macji kinematycznej (od MKS róŜni się obrotem narzędzia)
m 56
TOWMCS Wartości zuŜycia w układzie współrzęd-nych maszyny (MKS)
m 56
TOWTCS Wartości zuŜycia w układzie współrzęd-nych obrabianego przedmiotu (punkt od-niesienia nośnika narzędzi T na uchwycie oprawki narzędziowej)
m 56
TOWWCS Wartości zuŜycia w układzie współrzęd-nych obrabianego przedmiotu (WKS)
Wliczenie zuŜycia narzędzia
m 56
TRAANG Transformacja oś skośna Na kanał moŜna ustawić wiele trans-formacji
TRACEOF Test kształtu kołowego: przeniesienie wartości WYŁ
TRACEON Test kształtu kołowego: przeniesienie wartości WŁ
TRACON Transformacja kaskadowa-na (transformation concate-nated)
TRACYL Walec: transformacja po-bocznicy
Patrz
TRAANG.
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
818
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
TRAFOOF Wyłączenie transformacji TRAFOOF( )
TRAILOF Holowanie asynchroniczne WYŁ (trailing OFF)
TRAILON Holowanie asynchroniczne WŁ (trailing ON)
TRANS Przesunięcie programowane (translation) TRANS X... Y... Z... ;oddzielny blok
b 3
TRANSMIT
Transformacja biegunowa Patrz
TRAANG.
TRAORI Transformacja 4-, 5-osiowa, transformacja rodzajowa (transformation oriented)
Uaktywnia uzgodnioną transforma-cję orienta-cji.
Transformacja rodzajowa TRAORI(1,X,Y,Z)
TRUE Stała logiczna" prawda BOOL Zastępo-walna przez stałą Integer 1.
TRUNC Obcięcie miejsc po przecin-ku
Real
TU Kąt osi Integer TU=2 b
TURN Liczba zwojów dla linii śru-bowej
0, ..., 999 b
UNLOCK Udostępnienie akcji syn-chronicznej z ID (kontynu-acja cyklu technologiczne-go)
UNTIL Warunek zakończenia pętli REPEAT
UPATH Odniesieniem toru dla osi FGROUP jest parametr krzywej
m 45
VAR Słowo kluczowe: rodzaj przekazania pa-rametrów
Z VAR: call by reference
VELOLIMA
Zmniejszenie przewyŜsze-nia maksymalnej prędkości w osi (velocity axial)
1, ..., 200 Zakresem poprawności jest 1 do 200%
VELOLIIMA[X]= ...[%]
m
Tablice 16.1 Instrukcje A-G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
819
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
WAITC Czekanie, aŜ kryterium zmiany sprzęŜenia dla osi/wrzecion będzie spełnione (wait for couple condition)
MoŜna za-programo-wać do 2 osi/wrzecion n.
WAITC(1,1,2)
WAITE Czekanie na koniec programu w innym kanale
Nr kanału 1-10 albo $MC_CHAN_NAME
WAITE(1,1,2) albo WAITE(CH_X, CH_Y)
WAITM Czekanie na znacznik w podanym kanale; zakończenie poprzedniego bloku z za-trzymaniem dokładnym
WAITM(1,1,2)
WAITMC Czekanie na znacznik w podanym kanale; zatrzymanie dokładne tylko wtedy, gdy inne kanały jeszcze nie doszły do znacz-nika
WAITMC(1,1,2)
WAITP Czekanie na koniec ruchu WAITP(X) ; od-dzielny blok
WAITS Czekanie na osiągnięcie pozycji wrzecio-na
WAITS (wrzecio-no główne) WAITS (n,n,n)
WALCS0 Wybór ograniczenia pola roboczego w WKS cofnięty
m 60
WALCS1 Grupa 1 ograniczenia pola roboczego w WKS aktywna
m 60
WALCS2 Grupa 2 ograniczenia pola roboczego w WKS aktywna
m 60
WALCS3 Grupa 3 ograniczenia pola roboczego w WKS aktywna
m 60
WALCS4 Grupa 4 ograniczenia pola roboczego w WKS aktywna
m 60
WALCS5 Grupa 5 ograniczenia pola roboczego w WKS aktywna
m 60
WALCS6 Grupa 6 ograniczenia pola roboczego w WKS aktywna
m 60
WALCS7 Grupa 7 ograniczenia pola roboczego w WKS aktywna
m 60
WALCS8 Grupa 8 ograniczenia pola roboczego w WKS aktywna
m 60
WALCS8 Grupa 9 ograniczenia pola roboczego w WKS aktywna
m 60
WALCS10 Grupa 10 ograniczenia pola roboczego w WKS aktywna
m 60
Tablice 16.1 Instrukcje A - G
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
820
Nazwa Znaczenie Warto ść Opis, ko-
mentarz Składnia m/b3 Gru-
pa2
WALIMOF Ograniczenie pola roboczego WYŁ. (working area limitation OFF)
;oddzielny blok m 28
WALIMON1
Ograniczenie pola roboczego EIN (working area limitation ON)
;oddzielny blok m 28
WHILW Początek pętli programowej WHILE Koniec: ENDWHILE
WRITE Zapisanie bloku w systemie plików. Do-czepia blok na końcu podanego pliku.
Bloki są wstawiane po M30.
X Oś Real m/b
XOR Logiczne ALBO
Y Oś Real m/b
Z Oś Real m/b Legenda: 1 Ustawienie standardowe na początku programu (w stanie przy dostawie sterowania, o ile nie zaprogramowano
inaczej). 2 Numeracja grup odpowiada tablicy w punkcie "Lista funkcji G / warunków drogowych". 3 Absolutne punkty końcowe: modalnie (m) Przyrostowe punkty końcowe: pojedynczymi blokami (b) W innym przypadku: m/b w zaleŜności od określenia składni funkcji G 4 Jako punkty środkowe okręgu parametry interpolacji (IPO) działają przyrostowo. Przy pomocy AC mogą być pro-
gramowane jako bezwzględne. W przypadku innych znaczeń (np. skok gwintu) modyfikacja adresu jest ignorowana. 5 UŜytkownik OEM moŜe wnieść dwa dodatkowe rodzaje interpolacji. UŜytkownik OEM moŜe zmieniać nazwy. 6 Dla tej funkcji rozszerzony sposób pisania adresów jest niedopuszczalny.
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
821
Aneks A
A.1 Lista skrótów
A Wyjście
AS System automatyzacyjny
ASCII American Standard Code for Information Interchange: amerykańska norma kodów dla wymiany informacji
ASIC Application Specific Integrated Circuit: układ przełączający uŜytkownika
ASUP Podprogram asynchroniczny
AV Przygotowanie pracy
AWL Lista zastosowania
BA Rodzaj pracy
BAG Grupa rodzajów pracy
BB Gotowy do pracy
BuB, B&B Obsługa i obserwacja
BCD Binary Coded Decimals: liczby dziesiętne zakodowane w kodzie binarnym
BHG Ręczny przyrząd obsługowy
BIN Pliki binarne (Bin ary Files)
BIOS Basic Input Output System
BKS Bazowy układ współrzędnych
BOF Otoczka graficzna
BOT Boot Files: pliki inicjalizacyjne dla SIMODRIVE 611 digital
BT Pulpit obsługi
BTSS Interfejs pulpitu obsługi
CAD Computer-Aided Design
CAM Computer-Aided Manufacturing
CNC Computerized Numerical Control: skomputeryzowane sterowanie numeryczne
COM Communication
CP Communication Processor
CPU Central Processing Unit: centralna jednostka obliczeniowa
CR Carriage Return
CRT Cathode Ray Tube: lampa kineskopowa
Aneks A.1 Lista skrótów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
822
CSB Central Service Board: zespół konstrukcyjny PLC
CTS Clear To Send: sygnalizacja gotowości do wysyłania w przypadku szerego-wych interfejsów danych
CUTOM Cutter radius compensation: korekcja promienia narzędzia
DAU Przetwornik cyfrowo-analogowy
DB Moduł danych w PLC
DBB Bajt modułu danych w PLC
DBW Słowo modułu danych w PLC
DBX Bit modułu danych w PLC
DC Direct Control: ruch osi obrotowej po najkrótszej drodze do pozycji absolutnej w ramach jednego obrotu
DCD Carrier Detect
DDE Dynamic Data Exchange
DEE Terminal
DIN Deutsche Industrie Norm, Niemiecka Norma Przemysłowa
DIO Data Input/Output: sygnalizacja przesyłania danych
DIR Directory: katalog
DLL Dynamic Link Library
DOE Urządzenie do przesyłania danych
DOS Disk Operating System
DPM Dual Port Memory
DPR Dual-Port-RAM
DRAM Dynamic Random Access Memory
DRF Differential Resolver Function: funkcja róŜnicowego selsynu obrotowego (kół-ko ręczne)
DRY Dry Run: posuw w pracy próbnej
DSB Decoding Single Block: dekodowanie pojedynczymi blokami
DW Słowo danych
E Wejście
E/A Wprowadzenie/wyprowadzenie
E/R Jednostka zasilania/zwrotu energii (zasilanie elektryczne) SIMODRIVE 611 digital
EIA-Code Specjalny kod taśmy dziurkowanej, liczba otworów na znak zawsze nieparzy-sta
ENC Encoder: przetwornik wartości rzeczywistej
EPROM Erasable Programmable Read Only Memory (kasowalna, elektrycznie pro-gramowana pamięć do odczytu)
ERROR Error from printer
FB Moduł funkcyjny
FBS Ekran płaski
FC Function Call: moduł funkcyjny w PLC
Aneks A.1 Lista skrótów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
823
FDB Bank danych fabrykatów
FDD Floppy Disk Drive
FEPROM Flash-EPROM: pamięć do odczytu i zapisu
FIFO First In First Out: Pamięć, która pracuje bez podania adresu i której dane są czytane w tej samej kolejności, w jakiej zostały zapisane.
FIPO Interpolator dokładny
FM Moduł funkcji
FM-NC Moduł funkcji - sterowanie numeryczne
FPU Floating Point Unit: jednostka zmiennoprzecinkowa
FRA Moduł frame
FRAME Zestaw danych (ramka)
FRK Korekcja promienia frezu
FST Feed Stop: posuw stop
FUP Plan funkcji (metoda programowania PLC)
GP Program podstawowy
GUD Global User Data: globalne dane uŜytkownika
HD Hard Disk: dysk twardy
HEX Skrótowe określenie liczby szesnastkowej
HiFu Funkcja pomocnicza
HMI Human Machine Interface: Funkcje obsługowe SINUMERIK do obsługi, pro-gramowania i symulowania.
HMS System pomiarowy o wysokiej rozdzielczości
HSA Napęd wrzeciona głównego
HW Hardware
IBN Uruchomienie
IF Zezwolenie dla impulsów modułu napędowego
IK (GD) Komunikacja implicite (dane globalne)
IKA Interpolative Compensation: kompensacja interpolacyjna
IM Interface-Modul: zespół przyłączeniowy
IMR Interface-Modul Receive: zespół przyłączeniowy dla odbioru
IMS Interface-Modul Send: zespół przyłączeniowy dla wysyłania
INC Increment: wymiar przyrostowy
INI Initializing Data: dane inicjalizacyjne
IPO Interpolator
ISA International Standard Architecture
ISO International Standard Organization
ISO-Code Specjalny kod taśmy dziurkowanej, liczba otworów na znak zawsze parzysta
JOG Jogging: ustawianie
Aneks A.1 Lista skrótów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
824
K1 .. K4 Kanał 1 do kanał 4
K-Bus Magistrala komunikacyjna
KD Obrót współrzędnych
KOP Schemat drabinkowy (metoda programowania PLC)
Kv Współczynnik wzmocnienia obwodu
KÜ Stosunek przełoŜenia
LCD Liquid-Crystal Display: wyświetlacz ciekłokrystaliczny
LED Light-Emitting Diode: dioda elektroluminescencyjna
LF Line Feed
LMS System pomiaru połoŜenia
LR Regulator połoŜenia
LUD Local User Data
MB Megabyte
MD Dane maszynowe
MDA Manual Data Automatic: wprowadzanie ręczne
MK Obwód pomiarowy
MKS Układ współrzędnych maszyny
MLFB Określenie fabrykatu odczytywalne przez maszynę
MPF Main Program File: Program obróbki NC (program główny)
MPI Multi Port Interface: interfejs wieloportowy
MS- Microsoft (producent oprogramowania)
MSTT Pulpit obsługi maszyny
NC Numerical Control: sterowanie numeryczne
NCK Numerical Control Kernel: rdzeń sterowania numerycznego z przygotowywa-niem bloków, zakresem ruchów itd.
NCU Numerical Control Unit: jednostka sprzętowa NCK
NRK Określenie systemu operacyjnego NCK
NST Sygnał interfejsowy
NURBS Non-Uniform Rational B-Spline
NV Przesunięcie punktu zerowego
OB Moduł organizacyjny w PLC
OEM Original Equipment Manufacturer
OP Operation Panel: urządzenie obsługowe
OPI Operation Panel Interface: interfejs pulpitu obsługi
OPT Options: opcje
OSI Open Systems Interconnection: normalizacja komunikowania się komputerów
Aneks A.1 Lista skrótów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
825
P-Bus Magistrala peryferii
PC Personal Computer
PCIN Nazwa oprogramowania do wymiany danych ze sterowaniem
PCMCIA Personal Computer Memory Card International Association: normalizacja kart wtykowych pamięci
PCU PC Unit: PC-Box (jednostka komputerowa)
PG Urządzenie do programowania
PLC Programmable Logic Control: sterowanie adaptacyjne
POS ... pozycjonowania
RAM Random Access Memory: pamięć programów, którą moŜna zapisywać i od-czytywać
REF Funkcja dosunięcie do punktu odniesienia
REPOS Funkcja repozycjonowanie
RISC Reduced Instruction Set Computer: typ procesora o małym zasobie poleceń i szybkim ich wykonywaniu
ROV Rapid Override: korekcja przesuwu szybkiego
RPA Parametry R Active: obszar pamięci w NCK dla R- NCK dla numerów parametrów R
RPY Roll Pitch Yaw: rodzaj obrotu układu współrzędnych
RTS Request To Send: włączenie części nadawczej, sygnał sterujący od szerego-wych interfejsów danych
SBL Single Block: pojedynczymi blokami
SD Dana nastawcza
SDB System moduł danych
SEA Setting Data Active: oznaczenie (typ pliku) dla danych nastawczych
SFB System moduł funkcji
SFC System Function Call
SK Softkey
SKP Skip: maskowanie bloku
SM Silnik krokowy
SPF Sub Program File: podprogram
SPS Sterowanie programowane w pamięci
SRAM Pamięć statyczna (buforowana)
SRK Korekcja promienia ostrza
SSFK Kompensacja błędu skoku śruby pociągowej
SSI Serial Synchron Interface: szeregowy interfejs synchroniczny
SW Software
SYF System Files: pliki systemowe
Aneks A.1 Lista skrótów
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
826
TEA Testing Data Active: oznaczenie danych maszynowe
TO Tool Offset: korekcja narzędzia
TOA Tool Offset Active: oznaczenie (typ pliku) korekcji narzędzia
TRANSMIT Transform Milling into Turning: przeliczenie współrzędnych na tokarkach do obróbki frezarskiej
UFR User Frame: przesunięcie punktu zerowego
UP Podprogram
VSA Napęd posuwu
V.24 Interfejs szeregowy (definicja przewodów wymiany między DEE i DÜE)
WKS Układ współrzędnych obrabianego przedmiotu
WKZ Narzędzie
WLK Korekcja długości narzędzia
WOP Programowanie zorientowane na warsztat
WPD Work Piece Directory: katalog obrabianych przedmiotów
WRK Korekcja promienia narzędzia
WZK Korekcja narzędzia
WZW Zmiana narzędzia
ZOA Zero Offset Active: oznaczenie (typ pliku) dla danych przesunięcia obrabiane-go przedmiotu
µC Mikro-Controller
Aneks A.2 Feedback do dokumentacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
827
A.2 Feedback do dokumentacji
Niniejsza dokumentacja podlega stałemu rozwojowi pod względem jakości w wygody uŜycia. Prosimy pomóc nam w tym przez przysłanie Waszych uwag i propozycji ulepszeń e-mailem albo telefaksem: E-Mail: mailto:[email protected] Fax: +49 (0) 9131 / 98 - 63315
Proszę uŜyć szablonu telefaksowego na odwrocie.
Aneks A.2 Feedback do dokumentacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
828
Propozycje i/albo korekty
Nadawca Nazwisko:
Adres firmy / jednostki
Ulica:
Kod poczt.: Miejscowość:
Telefon: /
Do SIEMENS AG A&D MC MS1 Postfach 3180 D-91050 Erlangen Fax: +49 (0) 9131 / 98 - 63315 (dokumentacja)
Telefaks: /
Aneks A.3 Przegląd dokumentacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
829
A.3 Przegl ąd dokumentacji
DOCONCD *) *) Zalecany minimalny zakres dokumentacji DOCONWEB
Aneks A.3 Przegląd dokumentacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
830
*) Zalecany minimalny zakres dokumentacji
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
831
Glosariusz Adres osi
Patrz → identyfikator osi Adres
Adresem jest oznaczenie dla określonego argumentu albo zakresu argumentów, np. wejście, wyjście itd.
Akcje synchroniczne
1. Wyprowadzenie funkcji pomocniczej Podczas obróbki mogą z programu CNC być wyprowadzane do PLC funkcje technologicz-ne (-> funkcje pomocnicze). Poprzez te funkcje pomocnicze są np. sterowane urządzenia dodatkowe obrabiarki jak tuleja wrzecionowa, chwytak, uchwyt, itd.
2. Szybkie wyprowadzenie funkcji pomocniczej Dla krytycznych pod względem czasu funkcji łączeniowych moŜna zminimalizować czasy kwitowania dla -> funkcji pomocniczych i uniknąć niepotrzebnych punktów zatrzymania w procesie obróbki.
Alarmy
Wszystkie -> komunikaty i alarmy są na pulpicie obsługi wyświetlane tekstem jawnym z poda-niem daty i czasu zegarowego oraz odpowiedniego symbolu kryterium kasowania. Wyświetla-ne są osobno alarmy i komunikaty. 1. Alarmy i komunikaty w programy obróbki
Alarmy i komunikaty mogą bezpośrednio z programu obróbki być wyświetlane tekstem jawnym.
2. Alarmy i komunikaty od PLC Alarmy i komunikaty maszyny mogą być wyświetlane tekstem jawnym z programu PLC. Do tego nie są potrzebne Ŝadne dodatkowe pakiety modułów funkcyjnych.
Archiwizacja
Wyprowadzanie plików i/albo katalogów na zewnętrzne urządzenie zapisujące. Automatyka
Rodzaj pracy sterowania (wykonywanie sekwencji bloków wg. DIN): rodzaj pracy systemów NC, w którym jest wybierany → program obróbki i wykonywany w sposób ciągły.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
832
Bateria buforuj ąca
Bateria buforująca gwarantuje, Ŝe → program uŜytkownika w → CPU jest zapisany w sposób odporny na przerwy zasilania a ustalone obszary danych i znaczniki, czasy i liczniki są utrzy-mywane.
Bazowy układ współrz ędnych
Kartezjański układ współrzędnych jest odwzorowywany przez transformację na układ współ-rzędnych maszyny. W → programie obróbki programista stosuje nazwy osi bazowego układu współrzędnych. Jest on, gdy Ŝadna → transformacja nie jest aktywna, równoległy do → układu współrzędnych ma-szyny. RóŜnica w stosunku do niego polega na → identyfikatorach osi.
Blok główny
Oznaczony przez ":" blok, który zawiera wszystkie dane, aby móc uruchomić przebieg pracy w → programie obróbki.
Blok pomocniczy
Rozpoczynający się od "N" blok zawierający informacje dot. kroku obróbkowego np. podanie pozycji.
Bloki po średnie
Ruchy postępowe z wybraną korekcją narzędzia (G41/G42) mogą być przerywane przez ogra-niczoną liczbę bloków pośrednich (bloki bez ruchów w osiach w płaszczyźnie korekcji), przy czym korekcja narzędzia moŜe być jeszcze prawidłowo obliczana. Dopuszczalną liczbę bloków pośrednich, które sterowanie czyta wyprzedzająco, moŜna ustawić poprzez parametry systemowe.
Blok programu obróbki
Część → programu obróbki, ograniczony przez Line Feed. RozróŜnia się → bloki główne i → bloki pomocnicze.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
833
Calowy system miar
System miar, który definiuje odległości w calach i ich ułamkach. CNC
Patrz → NC COM
Komponent sterowania NC do realizacji i koordynacji komunikacji. CPU
Central Processor Unit, patrz → sterowanie programowane w pamięci C-Spline
C-Spline jest najbardziej znanym i najczęściej stosowanym Spline. Przejścia w punktach oparcia mają ciągłą pochodną i stałe zakrzywienie. Są stosowane wielomiany 3. stopnia.
Cykle
Chronione podprogramy do wykonywania powtarzających się operacji obróbkowych na → ob-rabianym przedmiocie.
Cykle standardowe
Dla często powtarzających się zadań obróbkowych są do dyspozycji cykle standardowe: ● dla technologii wiercenia/frezowania ● dla technologii toczenia (SINUMERIK FM-NC)
W zakresie czynności obsługowych "Program" są w menu "Wspieranie cykli" wyszczegól-nione dostępne cykle. Po wyborze poŜądanego cyklu obróbkowego są tekstem jawnym wy-świetlane niezbędne parametry dla przyporządkowania wartości.
Dane ustawcze
Dane, które informują sterowanie NC p właściwościach obrabiarki w sposób zdefiniowany przez oprogramowanie systemowe.
Definicja zmiennej
Definicja zmiennej obejmuje ustalenie typu danych i nazwy zmiennej. Przy pomocy nazwy zmiennej moŜna sięgać do jej wartości.
Diagnoza
1. Zakres czynności obsługowych sterowania 2. Sterowanie posiada zarówno program samodiagnozy jak równieŜ pomocnicze moŜliwości te-
stowe dla serwisu: wyświetlenia statusu, alarmu, serwisowe.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
834
DRF
Differential Resolver Function: Funkcja NC, która w połączeniu z elektronicznym pokrętłem ręcznym wytwarza przyrostowe przesunięcie punktu zerowego w pracy automatycznej.
Edytor
Edytor umoŜliwia sporządzenie, zmianę, uzupełnienie, łączenie i wstawianie progra-mów/tekstów/bloków programu.
Edytor tekstów
Patrz → Edytor Frame
Frame jest to instrukcja obliczeniowa, która zmienia kartezjański układ współrzędnych w inny kartezjański układ współrzędnych. Frame zawiera komponenty → przesunięcie punktu zerowe-go, → obrót, → skalowanie, → lustrzane odbicie.
Frame programowany
Przy pomocy programowanych → frame mogą dynamicznie, w trakcie wykonywania programu obróbki, być definiowane nowe punkty wyjściowe układu współrzędnych. RozróŜnia się ustale-nie bezwzględne na podstawie nowego frame i ustalenie addytywne w odniesieniu do istnieją-cego punktu wyjściowego.
Funkcje bezpiecze ństwa
Sterowanie zawiera stale aktywne nadzory, które rozpoznają zakłócenia w -> CNC, sterowaniu adaptacyjnym (-> PLC) i maszynie na tyle wcześnie, Ŝe są w duŜym stopniu wykluczone uszko-dzenia obrabianego przedmiotu, narzędzia albo maszyny. W przypadku zakłócenia przebieg obróbki jest przerywany a napędy są zatrzymywane, przyczyna zakłócenia jest zapisywana w pamięci i jest wyświetlany alarm. Równocześnie PLC otrzymuje informację, Ŝe jest aktywny alarm CNC.
Funkcje pomocnicze
Przy pomocy funkcji pomocniczych moŜna w → programach przekazywać → parametry do → PLC, które tam wyzwalają reakcje zdefiniowane przez producenta maszyny.
Geometria
Opis → obrabianego przedmiotu w -> układzie współrzędnych obrabianego przedmiotu. Granica zatrzymania dokładnego
Gdy wszystkie osie uczestniczące w tworzeniu konturu osiągną swoją granicę zatrzymania do-kładnego, wówczas sterowanie zachowuje się tak, jakby dokładnie osiągnęło punkt docelowy. Następuje przełączenie na następny blok → programu obróbki.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
835
Graniczna pr ędkość obrotowa
Maksymalna / minimalna prędkość obrotowa (wrzeciona): przez zadanie w danych maszyno-wych, → PLC albo → danych nastawczych moŜna ograniczyć maksymalną prędkość obrotową wrzeciona.
Grupa rodzajów pracy
Technologicznie przynaleŜne do siebie osie i wrzeciona mogą być łączone w grupę rodzajów pracy (BAG). Osie/wrzeciona jednej BAG mogą być sterowane przez jeden albo wiele → kana-łów. Do kanałów BAG jest zawsze przyporządkowany ten sam → rodzaj pracy.
Gwintowanie otworu bez oprawki wyrównawczej
Przy pomocy tej funkcji moŜna gwintować otwory bez uŜycia oprawki wyrównawczej. Przez in-terpolujący ruch wrzeciona jako osi obrotowej i osi wiercenia są nacinane gwinty dokładnie na końcową głębokość gwintowania, np. gwint w otworze nieprzelotowym. (warunek: praca osi wrzeciona).
HIGHSTEP
Podsumowanie moŜliwości programowania dla → PLC systemu AS300/AS400. Identyfikator
Słowa według DIN 66025 są uzupełniane przez identyfikatory (nazwy) zmiennych (obliczenio-wych, systemowych, uŜytkownika), podprogramów, słów kluczowych i słów o wielu literach ad-resowych. Znaczenie tych uzupełnień jest pod względem znaczenia równowaŜne słowom przy budowie bloków. Identyfikatory muszą być jednoznaczne. Tych samych identyfikatorów nie wol-no jest stosować do róŜnych obiektów.
Identyfikator osi Osie są według DIN 662217 dla prawoskrętnego, prostokątnego → układu współrzędnych okre-ślane przez X, Y, Z.
Inicjalizacja
Ładowanie programu systemowego po power on. Interfejs szeregowy V.24
Do wprowadzania/wyprowadzania danych znajduje się na ● module MMC100 jeden interfejs szeregowy V.24 (RS232), a na ● modułach MMC101 i MMC102 dwa interfejsy V.24
Poprzez te interfejsy mogą być ładowane i zapisywane programy obróbki jak teŜ dane produ-centa i uŜytkownika.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
836
Interpolacja kołowa
-> narzędzie powinno poruszać się po okręgu między ustalonymi punktami konturu z zadanym posuwem i prowadzić przy tym obróbkę.
Interpolacja linii śrubowej
Interpolacja linii śrubowej nadaje się szczególnie do prostego wykonywania gwintów we-wnętrznych i zewnętrznych przy pomocy frezów kształtowych i do frezowania rowków smaro-wych. Linia śrubowa składa się przy tym z dwóch ruchów: 1. Ruch kołowy w płaszczyźnie
2. Ruch liniowy prostopadle do tej płaszczyzny. Interpolacja prostoliniowa
Ruch narzędzia następuje po prostej do punktu docelowego i jest przy tym prowadzona obrób-ka.
Interpolacja spline
Przy pomocy interpolacji spline sterowanie moŜe z tylko niewielu zadanych punktów oparcia zadanego konturu utworzyć gładki przebieg krzywej.
Interpolacja wielomianowa
Przy pomocy interpolacji wielomianowej mogą być wytwarzane najróŜniejsze przebiegi krzy-wych, jak funkcje prostoliniowe, paraboliczne, wykładnicze, potęgowe (SINUMERIK 840D).
Interpolator
Jednostka logiczna → NCK, która po podaniu pozycji docelowych w programie obróbki określa wartości pośrednie dla ruchów będących do wykonania w poszczególnych osiach.
Jednostka TOA
KaŜdy zakres TOA moŜe zawierać wiele jednostek TOA. Liczba moŜliwych jednostek TOA jest ograniczona przez maksymalną liczbę aktywnych → kanałów. Jedna jednostka TOA obejmuje dokładnie jeden moduł danych narzędzi i jeden moduł danych magazynu. Dodatkowo moŜe być jednak zawarty moduł danych nośnika narzędzi (opcjonalnie).
Język wysokiego poziomu CNC Język wysokiego poziomu udostępnia: → zmienne definiowane przez uŜytkownika, → zmienne systemowe, → technikę makr.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
837
JOG
Rodzaj pracy sterowania (ustawianie): W rodzaju pracy Jog moŜna ustawiać maszynę. Po-szczególnymi osiami i wrzecionami moŜna poprzez przyciski kierunkowe wykonywać ruch im-pulsowy. Dalsze funkcje w rodzaju pracy Jog to → bazowanie do punktu odniesienia, → repos jak teŜ → preset (ustawienie wartości rzeczywistej).
Kabel ł ączący
Kable łączące są prefabrykowanymi wzgl. wykonanymi przez uŜytkownika przewodami dwudru-towymi o 2 wtyczkach przyłączeniowych. Kable te łączą → CPU poprzez interfejs wielopunkto-wy (MPI) z -> PG wzgl. innymi CPU.
Kanał
Kanał charakteryzuje się tym, Ŝe niezaleŜnie od innych kanałów moŜe wykonywać → program obróbki. Kanał steruje wyłącznie przyporządkowanymi mu osiami i wrzecionami. Przebiegi pro-gramów obróbki w róŜnych kanałach mogą być koordynowane przez → synchronizację.
Kanał obróbkowy
Dzięki strukturze kanałowej mogą przez równoległe przebiegi ruchów zostać skrócone czasy pomocnicze, np. ruchy portalu załadowczego równocześnie z obróbką. Kanał CNC naleŜy przy tym widzieć jako oddzielne sterowanie CNC z dekodowaniem, przygotowaniem bloków i interpo-lacją.
Klucz programowania
Znaki i ciągi znaków, które w języku programowania mają dla → programu obróbki ustalone znaczenie (patrz instrukcja programowania).
Koincydencja wyprzedzaj ąca
Zmiana bloku juŜ wtedy, gdy droga ruchu po torze zbliŜyła się o zadane delta do pozycji końco-wej.
Kompensacja bł ędu ćwiartki koła
Błędy konturu na przejściach między ćwiartkami, które powstają w wyniku zmieniających się warunków tarcia na prowadnicach, dają się w duŜym stopniu wyeliminować przez kompensację błędu ćwiartki. Parametryzowanie kompensacji błędu ćwiartki następuje w drodze testu kształtu kołowego.
Kompensacja bł ędu skoku śruby poci ągowej
Wyrównywanie niedokładności mechanicznych uczestniczącej w posuwie śruby pociągowej tocznej przez sterowanie na podstawie zapisanych wartości pomiarowych odchyleń.
Kompensacja interpolacyjna
Przy pomocy kompensacji interpolacyjnej moŜna kompensować uwarunkowane wykonawczo błędy skoku śruby pociągowej i błędy systemu pomiarowego (SSFK, MSFK).
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
838
Kompensacja luzów
Kompensacja mechanicznych luzów maszyny, np. luzy nawrotu w śrubach pociągowych tocz-nych. Dla kaŜdej osi moŜna kompensację luzu wprowadzić oddzielnie.
Komunikaty
Wszystkie zaprogramowane w programie komunikaty i rozpoznane przez system → alarmy są wyświetlane pulpicie obsługi tekstem jawnym z datą i czasem zegarowym i odpowiednim sym-bolem kryterium kasowania. Wyświetlane są osobno alarmy i komunikaty.
Kontur
Obrys → obrabianego przedmiotu Kontur cz ęści gotowej
Kontur części obrobionej na gotowo. Patrz → półfabrykat. Kontur obrabianego przedmiotu
Zadany kontur wykonywanego/obrabianego -> obrabianego przedmiotu. Korekcja narz ędzia
Uwzględnienie wymiarów narzędzia przy obliczaniu toru. Korekcja promienia narz ędzia
Aby móc bezpośrednio programować poŜądany → kontur obrabianego przedmiotu, sterowanie musi przy uwzględnieniu promienia uŜytego narzędzia wykonywać ruch po torze równoległym do zaprogramowanego konturu. (G41/G42).
Korekcja promienia ostrza
Przy programowaniu konturu zakłada się, Ŝe narzędzie jest szpiczaste. PoniewaŜ jest to w prak-tyce niemoŜliwe do zrealizowania, jest podawany promień krzywizny zastosowanego narzędzia sterowania i przez nie uwzględniane. Przy tym punkt środkowy zakrzywienia jest prowadzony wokół konturu z przesunięciem o promień zakrzywienia.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
839
KÜ
Stosunek przełoŜenia KV
Współczynnik wzmocnienia obwodu, techniczno-regulacyjna wielkość obwodu regulacji Look Ahead
Przy pomocy funkcji look ahead jest przez "wyprzedzające czytanie" sparametryzowanej liczby bloków zawierających ruch postępowy uzyskiwane optimum prędkości obróbki.
Lustrzane odbicie
Przy lustrzanym odbiciu są zamieniane znaki wartości współrzędnych konturu odnośnie osi. Lu-strzanego odbicia moŜna dokonać równocześnie wokół wielu osi.
Masa
Za masę uwaŜa się całość połączonych ze sobą nieaktywnych części środka pracy, które rów-nieŜ w przypadku błędu nie mogą uzyskać niebezpiecznego napięcia dotykowego.
MDA
Rodzaj pracy sterowania: Manual Data Automatic. W rodzaju pracy MDA poszczególne bloki programu albo ich ciągi mogą bez odniesienia do programu głównego albo podprogramu być wprowadzane a następnie natychmiast wykonywane przez naciśnięcie przycisku NC-Start.
Metryczny system miar
Znormalizowany system jednostek: dla długości np. milimetr, m metr.
Moduł
Jako moduły są określane wszystkie pliki, które są potrzebne do sporządzenia i wykonania pro-gramu.
Moduł danych
1. Jednostka danych → PLC, do której mogą sięgać programy → HIGHSTEP. 2. Jednostka danych → NC: moduły danych zawierają definicje danych dla globalnych danych
uŜytkownika. Dane mogą przy definicji być bezpośrednio inicjalizowane. Moduł programowy
Moduły programowe zawierają programu główne i podprogramy → programów obróbki.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
840
Nadzór konturu
Jako miara zgodności z konturem jest nadzorowany błąd propagowany w ramach definiowane-go pasma tolerancji. Niedopuszczalnie wysoki uchyb nadąŜania moŜe wynikać np. z przeciąŜe-nia napędu. W takim przypadku następuje alarm i osie są zatrzymywane.
Napęd
Napędem jest ta jednostka CNC, która na podstawie danych od NC wykonuje regulację prędko-ści obrotowej i momentu.
Narzędzie
Działająca w obrabiarce część, która powoduje obróbkę, np. nóŜ tokarski, frez, wiertło, promień lasera ...
Nazwa osi
Patrz → identyfikator osi NC
Numerical Control: Sterowanie obejmuje wszystkie komponenty sterowania obrabiarki: -> NCK, -> PLC, -> MMC, -> COM.
Wskazówka
Dla sterowania SINUMERIK 840D byłoby bardziej prawidłowo CNC: computerized numeri-cal control.
NCK
Numerical Control Kernel: komponent sterowania NC, który wykonuje -> programy i w istotnej części koordynuje przebiegi ruchów w obrabiarce.
NRK
Numeric Robotic Kernel (system operacyjny -> NCK) NURBS
Wewnętrzne w sterowaniu prowadzenie prędkości i interpolacja torowa jest prowadzone na ba-zie NURBS (Non Uniform Rational B-Splines). Dzięki temu wewnętrznie w sterowaniu jest dla wszystkich interpolacji do dyspozycji jednolita metoda (SINUMERIK 840D).
Obrabiany przedmiot
Cześć wykonywana / obrabiana przez obrabiarkę.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
841
Obróbka skosów
Obróbka wiertarska i frezarska przedmiotów, które nie leŜą w płaszczyznach współrzędnych maszyny, moŜe być komfortowo prowadzona przy wsparciu przez funkcję "obróbka skosów".
Obrót
Komponent → frame, który definiuje obrót układu współrzędnych o określony kąt. OEM
Dla producentów maszyn, którzy chcą sporządzać swoje własne otoczki graficzne albo umiesz-czać w sterowaniu funkcje specyficzne dla technologii, są przewidziane przestrzenie dla indywi-dualnych rozwiązań (aplikacje OEM) dla SINUMERIK 840D.
Ograniczenie pola roboczego
Przy pomocy ograniczenia pola roboczego moŜna dodatkowo do wyłączników krańcowych ograniczyć zakres ruchów w osiach. Dla osi jest moŜliwa jedna para wartości opisująca chronio-ną przestrzeń roboczą.
Osie
Osie są odpowiednio do zakresu swoich funkcji zaliczane do: • Osie: interpolujące osie uczestniczące w tworzeniu konturu • Osie pomocnicze: nie interpolujące osie dosuwu i pozycjonowania z posuwem specy-
ficznym dla osi. Osie pomocnicze nie uczestniczą we właściwej obróbce, np. podajnik narzędzi, magazyn narzędzi.
Osie maszyny Osie fizycznie istniejące w obrabiarce.
Osie synchroniczne
Osie synchroniczne potrzebują dla przebycia swojej drogi takiego samego czasu co osie geo-metryczne dla swojego ruchu po torze.
Oś bazowa
Oś, której wartość zadana albo rzeczywista jest brana do obliczenia wartości kompensacji. Oś C
Oś, wokół której następuje sterowany ruch obrotowy i pozycjonowanie przy pomocy wrzeciona obrabianego przedmiotu.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
842
Oś geometryczna
Osie geometryczne słuŜą do opisu zakresu 2- albo 3-wymiarowego w układzie współrzędnym obrabianego przedmiotu.
Oś kompensacji
Oś, której wartość zadana albo rzeczywista jest modyfikowana przez wartość kompensacji. Oś liniowa
Oś liniowa jest to oś, która w przeciwieństwie do osi obrotowej opisuje prostą. Oś obrotowa
Osie obrotowe powodują obrót obrabianego przedmiotu albo narzędzia do zadanego połoŜenia kątowego.
Oś pozycjonowania
Oś, która wykonuje ruch pomocniczy w obrabiarce (np. magazyn narzędzi, transport palet). Osie pozycjonowania są to osie, które nie interpolują z -> osiami uczestniczącymi w tworzeniu konturu.
Oś prowadz ąca Osią prowadząca jest → osią gantry, która z punktu widzenia operatora i programisty istnieje a przez to odpowiednio daje się sterować jak normalna oś NC.
Oś uczestnicz ąca w tworzeniu konturu Osiami uczestniczącymi w tworzeniu konturu są wszystkie osie obróbkowe → kanału, które są tak prowadzone przez → interpolator, Ŝe równocześnie startują, przyspieszają, zatrzymują się i osiągają punkt końcowy.
Oś współbie Ŝna
Oś współbieŜna jest → osią gantry, której pozycja zadana jest stale wyprowadzana od ruchu postępowego → osi wiodącej a przez to wykonuje ruch synchroniczny. Z punktu widzenia opera-tora i programisty oś współbieŜna "nie istnieje".
Oś zaokr ągleniowa
Osie zaokrągleniowe powodują obrót obrabianego przedmiotu albo narzędzia do połoŜenia ką-towego odpowiadającego rastrowi podziałowemu. Po osiągnięciu rastra oś zaokrągleniowa jest "w pozycji".
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
843
Otoczka graficzna
Otoczka graficzna (BOF) jest środkiem do wyświetlania dla sterowania CNC, mającym postać ekranu. Jest ona wyposaŜona w poziome i pionowe przyciski programowane.
Override
Ręczna wzgl. programowa moŜliwość ingerencji, która pozwala osobie obsługującej na zmianę zaprogramowanych posuwów albo prędkości obrotowych, a celu ich dopasowania do określo-nego obrabianego przedmiotu albo materiału.
Override posuwu
Na zaprogramowaną prędkość jest nakładane aktualne ustawienie prędkości poprzez → pulpit sterowniczy maszyny albo z PLC (0-200%). Prędkość posuwu moŜe dodatkowo zostać skory-gowana w programie obróbki albo przez programowany współczynnik procentowy (1-200%).
Pamięć korekcji
Obszar danych w sterowaniu, w którym są zapisane dane korekcyjne narzędzi. Pamięć programów PLC
● SINUMERIK FM-NC: W pamięci uŜytkownika PLC w CPU 314 program PLC i dane uŜytkow-nika są zapisywane razem programem podstawowym PLC. W przypadku S7-CPU314 jest w tym celu do dyspozycji pamięć uŜytkownika 24 kByte.
● SINUMERIK 840D: W pamięci uŜytkownika PLC program uŜytkownika PLC i dane uŜytkowni-ka są zapisywane razem programem podstawowym PLC. Pamięć uŜytkownika PLC moŜna poprzez rozszerzenia pamięci dokonać zwiększenia do 96 kByte.
Pamięć robocza
Pamięć robocza jest pamięcią RAM w → CPU, w której procesor podczas wykonywania pro-gramu sięga do programu uŜytkownika.
Pamięć systemowa
Pamięć systemowa jest pamięcią w CPU, w której są zapisywane następujące dane: ● dane, których potrzebuje system operacyjny ● argumenty, czasy, liczniki, znaczniki
Pamięć uŜytkownika
Wszystkie programy i dane jak programy obróbki, podprogramy, komentarze, korekcje narzędzi, przesunięcia punktu zerowego/frame jak teŜ dane uŜytkownika dot. kanału i programu mogą być zapisywane we wspólnej pamięci uŜytkownika CNC.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
844
Pamięć załadowcza
Pamięć ładowania jest w przypadku CPU 314 sterowania → SPS równa → pamięci roboczej. Parametr R
Parametr obliczeniowy, moŜe być przez programistę → programu obróbki być ustawiany i odpy-tywany w programie dla dowolnych celów.
Peryferyjny zespół konstrukcyjny Peryferyjne zespoły konstrukcyjne stanowią połączenie między CPU i procesem. Peryferyjnymi zespołami konstrukcyjnymi są: ● → Cyfrowe zespoły wejścia/wyjścia ● → Analogowe zespoły wejścia/wyjścia ● → Zespoły konstrukcyjne symulacji
PLC
Programmable Logic Control: -> sterowanie programowane w pamięci. Komponenty -> stero-wania NC: sterowanie adaptacyjne do realizacji logiki kontrolnej obrabiarki.
Podawanie wymiarów metryczne i calowe
W programie obróbki wartości pozycji i skoku moŜna programować w calach. NiezaleŜnie od programowanego podawania wymiarów (G70 / G71) sterowanie jest ustawiane na system pod-stawowy.
Podprogram
Ciąg poleceń → programu obróbki, które moŜna w sposób powtarzalny wywoływać z róŜnymi parametrami. Wywołanie podprogramu następuje z programu głównego. KaŜdy podprogram moŜna zablokować przed nie autoryzowanym odczytem i wyświetleniem. → Cykle są formą podprogramów.
Podprogram asynchroniczny
Podprogram obróbki, który asynchronicznie (niezaleŜnie) w stosunku do aktualnego stanu pro-gramu moŜe zostać wystartowany przez sygnał przerwania (np. sygnał "szybkie wejście NC").
Posuw po torze ruchu
Posuw po torze działa na → osie uczestniczące w tworzeniu konturu. Stanowi on geometryczną sumę posuwów uczestniczących → osi geometrycznej.
Posuw zale Ŝny od czasu
W przypadku SINUMERIK 840D moŜna zamiast prędkości posuwu dla ruchu w osi zaprogra-mować czas, który ma być potrzebny dla wykonania ruchu po torze w bloku (G93).
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
845
Półfabrykat
Część, od której jest rozpoczynana obróbka. Prędkość ruchu po torze
Maksymalna moŜliwa do zaprogramowania prędkość ruchu po torze jest zaleŜna od dokładności wprowadzania. Przy rozdzielczości na przykład 0,1 mm maksymalna dająca się zaprogramować prędkość wynosi 1000 m/min.
Procedura przerwania
Procedury przerwania są specjalnymi → podprogramami, które mogą być uruchamiane przez wydarzenia (sygnały zewnętrzne) od procesu obróbki. Wykonywany blok programu obróbki jest przerywany, pozycja przerwania w osiach jest automatycznie zapisywana w pamięci.
Program do przesyłania danych PCIN
PCIN jest programem pomocniczym do wysłania i odbierania danych uŜytkownika CNC poprzez interfejs szeregowy jak np. programy obróbki, korekcje narzędzi, itd. Program PCIN moŜe być wykonywany pod MS-DOS na standardowym przemysłowym PC.
Program główny
Oznaczony numerem albo identyfikatorem → program obróbki, w którym mogą być wywoływa-ne dalsze programy główne, podprogramy albo → cykle.
Program obróbki
Ciąg instrukcji pod adresem sterowania NC, które w sumie powodują wytworzenie określonego -> obrabianego przedmiotu. RównieŜ podjęcie określonej obróbki na danym -> półfabrykacie.
Programowane ograniczenie pola roboczego
Ograniczenie przestrzeni ruchowej narzędzia do przestrzeni zdefiniowanej przez zaprogramo-wane ograniczenia.
Programowanie PLC
PLC jest programowane przy pomocy oprogramowania STEP 7. Oprogramowanie do progra-mowania STEP 7 bazuje na standardowym systemie operacyjnym WINDOWS i zawiera inno-wacyjnie rozwinięte funkcje programowania STEP 5.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
846
Program u Ŝytkownika
Programy uŜytkownika dla systemów automatyzacyjnych S7-300 są sporządzane przy pomocy języka programowania STEP7. Program uŜytkownika jest zbudowany modułowo i składa się z poszczególnych modułów. Zasadniczymi typami modułów są:
• Moduły kodowe Te moduły zawierają polecenia STEP 7
• Moduły danych Te moduły zawierają stałe i zmienne dla programu STEP 7.
Prowadzenie pr ędkości
Aby w przypadku ruchów postępowych o bardzo małej długości na blok móc uzyskać akcepto-walną prędkość ruchu, moŜna ustawić reakcję wyprzedzającą na wiele bloków do przodu (→ look ahead).
Przełącznik z kluczykiem
● S7-300:Przełącznik z kluczykiem jest przełącznikiem rodzajów pracy → CPU. Przełącznik jest obsługiwany przy pomocy wyjmowanego kluczyka. ● 840D/FM-NC: Przełącznik z kluczykiem na pulpicie sterowniczym maszyny posiada 4 poło-Ŝenia, które mają funkcje ustalone w systemie operacyjnym sterowania. Ponadto przełącznik ten posiada trzy róŜne kluczyki, które mogą być wyjmowane w podanych połoŜeniach.
Przestrze ń ochronna
Przestrzeń trójwymiarowa w ramach → przestrzeni roboczej, w którą nie moŜe wejść wierzcho-łek narzędzia.
Przestrze ń robocza
Przestrzeń trójwymiarowa, w którą ze względu na konstrukcję maszyny moŜe wejść wierzchołek narzędzia. Patrz → przestrzeń ochronna.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
847
Przesuni ęcie punktu zerowego
Zadanie nowego punktu odniesienia dla układu współrzędnych przez odniesienie do istnieją-cego punktu zerowego i -> frame 1. ustawiane SINUMERIK FM-NC: Mogą zostać wybrane cztery niezaleŜne przesunięcia punktu zerowego na oś CNC.
SINUMERIK 840D: Dla kaŜdej osi CNC jest do dyspozycji projektowalna liczba nastaw-nych przesunięć punktu zerowego. Przesunięcia wybieralne poprzez funkcje G działają al-ternatywnie.
2. zewnętrzne Dodatkowo do wszystkich przesunięć, które ustalają połoŜenie punktu zerowego obrabia-nego przedmiotu, moŜna nałoŜyć zewnętrzne przesunięcie punktu zerowego – kółkiem ręcznym (przesunięcie DRF) albo – z PLC.
3. programowane Przy pomocy instrukcji TRANS moŜna programować przesunięcia punktu zerowego dla wszyst-kich osi uczestniczących w tworzeniu konturu i osi pozycjonowania.
Przesuw szybki
Najszybszy ruch w osi. Jest on np. stosowany, gdy narzędzie jest dosuwane z połoŜenia spo-czynkowego do → konturu obrabianego przedmiotu albo odsuwane od konturu. Prędkość prze-suwu szybkiego jest specyficznie dla maszyny ustawiana poprzez daną maszynową.
Przycisk programowany Przycisk, którego napis jest reprezentowany przez pole na ekranie, które dynamicznie dopaso-wuje się do aktualnej sytuacji obsługowej. Dowolnie wykorzystywane przyciski funkcyjne (przy-ciski programowane) są przyporządkowywane do funkcji definiowanych programowo.
Przyspieszenie z ograniczeniem przyspieszenia drugi ego stopnia
W celu uzyskania optymalnego zachowania się pod względem przyspieszenia na maszynie przy równoczesnym oszczędzaniu mechaniki moŜna w programie obróbki przełączać między przy-spieszeniem skokowym i przyspieszeniem stałym (wolnym od przyspieszenia drugiego stopnia).
Pulpit sterowniczy maszyny
Pulpit obsługi obrabiarki z elementami obsługi jak przyciski, przełączniki obrotowe itd. i prostymi elementami sygnalizacyjnymi jak diody. SłuŜy on do bezpośredniego wpływania na maszynę poprzez PLC.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
848
Punkt odniesienia
Punkt w obrabiarce, do którego odnosi się układ pomiarowy -> osi maszyny. Punkt stały maszyny
Punkt jednoznacznie definiowany przez maszynę, np. punkt odniesienia. Punkt zerowy maszyny
Stały punkt obrabiarki, do którego moŜna sprowadzić wszystkie (wyprowadzone) systemy po-miarowe.
Punkt zerowy obrabianego przedmiotu
Punkt zerowy obrabianego przedmiotu tworzy punkt wyjściowy dla -> układu współrzędnych ob-rabianego przedmiotu. Jest on definiowany przez odstępy od punktu zerowego maszyny.
Rodzaj pracy
Koncepcja przebiegu dla pracy sterowania SINUMERIK. Są zdefiniowane rodzaje pracy → Jog, → MDA, → Automatyka.
Ruch do punktu stałego
Obrabiarki mogą w sposób zdefiniowany dokonywać dosunięcia do punktów stałych jak punkt zmiany narzędzia, punkt załadunku, punkt zmiany palety itd. Współrzędne tych punktów są za-pisane w sterowaniu. Sterowanie wykonuje ruch w odnośnych osiach, jeŜeli to moŜliwe, → prze-suwem szybkim.
Sieć
Sieć jest połączeniem wielu S7-300 i dalszych urządzeń końcowych, np. PG, poprzez -> kabel łączący. Poprzez sieć następuje wymiana danych między przyłączonymi urządzeniami.
Skalowanie
Komponent → frame, który powoduje specyficzne dla osi zmiany skali. Słowa kluczowe
Słowa o ustalonej pisowni, które w języku programowania mają dla → programów obróbki zde-finiowane znaczenie.
Słowo danych
Jednostka danych o wielkości dwóch bajtów w ramach → modułu danych.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
849
Softwareowe wył ączniki kra ńcowe
Softwareowe wyłączniki krańcowe ograniczają zakres ruchu w osi i zapobiegają najechaniu sań na sprzętowy wyłącznik krańcowy. Na kaŜdą oś moŜna zadać 2 pary wartości, które moŜna od-dzielnie uaktywniać poprzez PLC.
Sterowanie programowane w pami ęci
Sterowania programowane w pamięci (SPS) są to sterowania elektroniczne, których działanie jest zapisane jako program w urządzeniu sterującym. Budowa i okablowanie urządzenia nie za-leŜą więc od jego funkcji. Sterowanie programowane w pamięci ma strukturę komputera; składa się ono z CPU (centralny zespół konstrukcyjny) z pamięcią, zespołów wejścia/wyjścia i we-wnętrznego systemu przewodów magistralnych. Peryferia i język programowania są dostoso-wane do wymogów techniki sterowania.
Sterowanie wyprzedzaj ące, dynamiczne
Niedokładności → konturu, uwarunkowane uchybem nadąŜania, dają się prawie całkowicie wy-eliminować przez dynamiczne, zaleŜne od przyśpieszenia sterowanie wyprzedzające. Przez to równieŜ przy wysokich → prędkościach po torze uzyskuje się znakomitą dokładność obróbki. Sterowanie wyprzedzające moŜna wybrać i cofnąć specyficznie dla osi poprzez → program ob-róbki.
Synchronizacja
Instrukcje w -> programach obróbki słuŜące do koordynacji przebiegów w róŜnych -> kanałach w określonych miejscach obróbki.
Szukanie bloku
W celu testowania programów obróbki albo po przerwaniu obróbki moŜna poprzez funkcję po-szukiwania bloku wybrać dowolne miejsce w programie obróbki, od którego obróbkę moŜna uruchomić albo kontynuować.
Szybkie cofni ęcie od konturu
Przy dotarciu przerwania moŜe poprzez program obróbki CNC zostać spowodowany ruch, który umoŜliwia szybkie cofnięcie narzędzia od właśnie obrabianego przedmiotu. Dodatkowo moŜna zaprogramować kąt wycofania i wielkość drogi. Po szybkim cofnięciu moŜna dodatkowo wyko-nać procedurę przerwania. (SINUMERIK FM-NC, 840D).
Szybkie cyfrowe wej ścia/wyj ścia
Poprzez wejścia cyfrowe mogą np. być uruchamiane szybkie procedury programowe CNC (pro-cedury przerwania). Poprzez wyjścia cyfrowe CNC mogą być uruchamiane szybkie, sterowane przez program funkcje łączeniowe. (SINUMERIK 840D).
Szybko ść transmisji
Szybkość przesyłania danych (bitów/s).
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
850
Tablica kompensacji
Tablica punktów oparcia. Dla wybranych pozycji osi bazowej wyznacza ona wartości kompen-sacji w osi kompensacji.
Technika makr
Połączenie pewnej liczby instrukcji pod jednym identyfikatorem. Identyfikator reprezentuje w programie zbiór połączonych instrukcji.
Transformacja
Programowanie w kartezjańskim układzie współrzędnych, wykonywanie w nie kartezjańskim układzie współrzędnych (np. z osiami maszyny jako osiami obrotowymi).
Tryb przechodzenia płynnego
Celem pracy z płynnym przechodzeniem między blokami jest unikanie większego hamowania → osi uczestniczących w tworzeniu konturu na granicach bloków programu obróbki i przełączanie na następny blok z moŜliwie taką samą prędkością ruchu po torze.
Układ współrz ędnych
Patrz → Układ współrzędnych maszyny,→ Układ współrzędnych obrabianego przedmiotu Układ współrz ędnych maszyny
Układ współrzędnych, który jest odniesiony do osi obrabiarki. Układ współrz ędnych obrabianego przedmiotu
Układ współrzędnych obrabianego przedmiotu ma swój punkt wyjściowy w → punkcie zerowym obr. przedmiotu. Przy programowaniu w układzie współrzędnych obrabianego przedmiotu wy-miary i kierunki odnoszą się do tego systemu.
Wartość kompensacji
RóŜnica między zmierzoną przez przetwornik pomiarowy pozycją w osi a pozycją poŜądaną, zaprogramowaną.
WinSCP WinSCP jest dowolnie dostępnym programem Open Source dla Windows do przesyłania plików.
Współrz ędne biegunowe
Układ współrzędnych, który ustala połoŜenie punktu na płaszczyźnie przez jego odległość od punktu zerowego i kąt, który tworzą wektor promieniowy i ustalona oś.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
851
Wymiar absolutny
Podanie celu ruchu w osi przez wymiar, który odnosi się do punktu zerowego aktualnie obowią-zującego układu współrzędnych. Patrz → wymiar przyrostowy.
Wymiar przyrostowy Podanie celu ruchu w osi przez będący do przebycia odcinek drogi i kierunek w odniesieniu do juŜ uzyskanego punktu. Patrz teŜ → wymiar absolutny.
Zakres ruchu
Maksymalny dopuszczalny zakres ruchu w przypadku osi liniowych wynosi ±9 dekad. Wartość bezwzględna jest zaleŜna od wybranej dokładności wprowadzania i regulacji połoŜenia oraz systemy jednostek (calowy albo metryczny).
Zakres TOA
Zakres TOA obejmuje wszystkie dane narzędzi i magazynów. Standardowo zakres ten wzgl. za-sięg danych pokrywa się z zakresem → kanał. Poprzez dane maszynowe moŜna jednak ustalić, Ŝe wiele kanałów podzieli się jedną → jednostką TOA, tak Ŝe te kanały będą miały do dyspozycji wspólne dane zarządzania narzędziami.
Zarządzanie programami obróbki
Zarządzanie programami obróbki moŜe być zorganizowane według -> obrabianych przedmio-tów. Wielkość pamięci uŜytkownika określa liczbę zarządzanych programów i danych. KaŜdy plik (programy i dane) moŜna wyposaŜyć w nazwę o maksymalnie 24 znakach alfanumerycz-nych.
Zatrzymanie dokładne
Przy programowanej instrukcji zatrzymania dokładnego dosunięcie do pozycji podanej w bloku jest dokonywane dokładnie i ew. bardzo powoli. W celu redukcji czasy zbliŜania są dla przesu-wu szybkiego i posuwu definiowane → granice zatrzymania dokładnego.
Zewnętrzne przesuni ęcie punktu zerowego
Przesunięcie punktu zerowego zadane z → PLC. Zmienna definiowana przez u Ŝytkownika
UŜytkownicy mogą dla dowolnego uŜycia w -> programie obróbki albo module danych (globalne dane uŜytkownika) uzgodnić zmienne definiowane przez uŜytkownika. Definicja zawiera poda-nie typu danych i nazwę zmiennej. Patrz teŜ -> zmienna systemowa.
Glosariusz
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
852
Zmienna systemowa
Zmienna istniejąca bez udziału programisty programującego → program obróbki. Jest ona zde-finiowana przez typ danych i nazwę, która rozpoczyna się od znaku $. Patrz teŜ → zmienne de-finiowane przez uŜytkownika.
Zorientowane wycofanie narz ędzia
RETTOOL: Przy przerwaniu pracy (np. przy pęknięciu narzędzia) narzędzie moŜe poprzez po-lecenie programowe zostać cofnięte o zdefiniowaną drogę przy zadanej orientacji.
Zorientowane zatrzymanie wrzeciona
Utrzymuje wrzeciono obrabianego przedmiotu w zadanym połoŜeniu kątowym, np. aby w okre-ślonym miejscu przeprowadzić obróbkę dodatkową.
Zresetowanie całkowite
Przy zresetowaniu całkowitym są kasowane następujące pamięci -> CPU. ● -> pamięć robocza ● obszar zapisu/odczytu -> pamięci załadowczej ● -> pamięć systemowa ● -> pamięć backup
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
853
Indeks $ $AA_COUP_ACT, 518, 546, 567 $AA_COUP_OFFS, 568 $AA_LEAD_SP, 545 $AA_LEAD_SV, 545 $AA_MOTEND, 283 $AA_TOFF[ ], 620 $AC_ACT_PROG_NET_TIME, 741 $AC_ACTUAL_PARTS, 744 $AC_BLOCKTYPE, 599 $AC_BLOCKTYPEINFO, 599 $AC_CUT_INV, 475 $AC_CUTMOD, 475 $AC_CUTMOD_ANG, 475 $AC_CUTTING_TIME, 741 $AC_CYCLE_TIME, 741 $AC_FIFO1, 596 $AC_MARKER, 591 $AC_OLD_PROG_NET_TIME, 741 $AC_OLD_PROG_NET_TIME_COUNT, 741 $AC_OPERATING_TIME, 741 $AC_PARAM, 592 $AC_PROG_NET_TIME_TRIGGER, 742 $AC_REQUIRED_PARTS, 744 $AC_SPECIAL_PARTS, 744 $AC_SPLITBLOCK, 599 $AC_TIMER, 595 $AC_TOTAL_PARTS, 744 $AN_POWERON_TIME, 741 $AN_SETUP_TIME, 741 $MC_COMPESS_VELO_TOL, 491 $P_AD, 476 $P_CUT_INV, 475 $P_CUTMOD, 475 $P_CUTMOD_ANG, 475 $P_TECCYCLE, 655 $R, 593 $Rn, 593 $SA_LEAD_TYPE, 545 $TC_CARR1...14, 458 $TC_CARR18[m], 459, 463 $TC_DP1, 408 $TC_DP10, 408 $TC_DP11, 408 $TC_DP12, 408 $TC_DP13, 408 $TC_DP14, 408 $TC_DP15, 408 $TC_DP16, 408 $TC_DP17, 408
$TC_DP18, 408 $TC_DP19, 408 $TC_DP2, 408 $TC_DP20, 408 $TC_DP21, 408 $TC_DP22, 408 $TC_DP23, 408 $TC_DP24, 408 $TC_DP25, 408 $TC_DP3, 408 $TC_DP4, 408 $TC_DP5, 408 $TC_DP6, 408 $TC_DP7, 408 $TC_DP8, 408 $TC_DP9, 408 $TC_ECPxy, 412 $TC_SCPxy, 412 $TC_TPG1 ... 9, 697, 698 * * (funkcja obliczeniowa), 46 / / (funkcja obliczeniowa), 46 + + (funkcja obliczeniowa), 46 < < (operator porównania), 48 << (operator powiązania), 60 <= (operator porównania), 48 <> (operator porównania), 48 = == (operator porównania), 48 > > (operator porównania), 48 >= (operator porównania), 48 A A1, A2, 459 A2, 336 A3, 336 A4, 336, 342 A5, 336, 342 ABS, 46
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
854
ACC, 565 ACOS, 46 ACTBLOCNO, 180 ACTFRAME, 290 ADISPOSA, 280 Adresy
Programowanie pośrednie, 36 Adresy OEM, 278 Akcja synchroniczna, 709
Akcja, 581 Elementy poleceniowe, 574 Pozycjonowanie osi, 622 Skasowanie, 663 Składnia, 574 Warunek, 578 Zakres obowiązywania, 576
Akcje synchroniczne ASUP, 667 CANCEL, 667 Koniec programu, 666 Power On, 664 Przegląd akcji synchronicznych, 602 Repozycjonowanie, 667 Reset, 665 Szukanie bloku, 666 Zatrzymanie NC, 665 Zmiana rodzaju pracy, 664 Zmienna przebiegu głównego, 584
Aktualne frame systemowe, 311 Aktualne globalne dla NCU frame bazowe, 311 Aktualny
Przesunięcie kątowe, 568 Stan sprzęŜenia wrzeciona holowanego, 567
Aktualny 1. frame bazowy w kanale, 312 Aktualny frame łączny, 314 Aktualny frame programowany, 313 Aktualny kanał frame bazowe, 312 Aktualny ustawiany frame, 313 Alarm, 746
Numer, 746 Alarmy cykli, 746 ALF, 107, 109 AND, 48 ANG, 771 applim, 520 APR, 204, 208 APW, 204, 208, 209 APX, 209
AS, 188 ASIN, 46 ASPLINE, 238 A-Spline, 246 Asynchroniczny ruch wahliwy, 669 ATAN2, 46 Atrybuty pozycji
Programowanie pośrednie, 41 Automatyczne "GET", 117 Automatyczny podział drogi, 689 Automatyczny wskaźnik przerwania, 501 AV, 563 AX, 699 AXCTSWE, 710 AXCTSWED, 710 AXIS, 22 AXNAME, 59, 699 AXSTRING, 699 AXTOCHAN, 118 AXTOSPI, 699 AXVAL, 46 B B_AND, 48 B_NOT, 48 B_OR, 48 B_XOR, 48 B2, 336 B3, 336 B4, 336, 342 B5, 336, 342 BAUTO, 238 BFRAME, 287 BLOCK, 164 Blok zatrzymania, 500 Blokada wczytywania, 606 Blokowanie wykonywania pojedynczymi blo-kami, 174 BNAT, 238 BOOL, 22 BOUND, 46, 53 BSPLINE, 238 B-Spline, 247 BTAN, 238 C C2, 336 C3, 336 C4, 336, 342
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
855
C5, 336, 342 CAC, 237 CACN, 237 CACP, 237 CALCDAT, 765 CALL, 163, 164 CALLPATH, 168, 196 CANCEL, 663 CASE, 73 CDC, 237 CFINE, 300 CHANDATA, 198 CHAR, 22 CHECKSUM, 132 CHKDNO, 455 CIC, 237 Cięcie, 685, 689 CLEARM, 93, 643 CLRINT, 105 CMIRROR, 46, 293 COARSE, 563, 566 COARSEA, 280 Cofnięcie wyboru transformacji
TRAFOOF, 403 COMCAD, 252 COMPCAD, 369 COMPCURV, 252, 369 COMPLETE, 199 COMPOF, 252, 369 COMPON, 252, 369, 490 CONTDCON, 757 CONTPRON, 750 COS, 46 COUPDEF, 555, 561, 562 COUPDEL, 555, 561 COUPOF, 555, 566 COUPOFS, 555, 566 COUPON, 555, 563 COUPONC, 555 COUPRES, 555, 567 CP, 391 CPROT, 224 CPROTDEF, 221, 223 CROT, 46, 293 CSCALE, 46, 293 CSPLINE, 238 C-Spline, 248 CTAB, 536, 539 CTABDEF, 520, 525 CTABDEL, 520, 527 CTABEND, 520, 525
CTABEXISTS, 527 CTABFNO, 527 CTABFPOL, 527 CTABFSEG, 527 CTABID, 527 CTABINV, 536, 539 CTABISLOCK, 527 CTABLOCK, 527 CTABMEMTYP, 527 CTABMPOL, 527 CTABMSEG, 527 CTABNOMEM, 527 CTABPERIOD, 527 CTABPOLID, 527 CTABSEG, 527 CTABSEGID, 527 CTABSEV, 536 CTABSSV, 536 CTABTEP, 532 CTABTEV, 532 CTABTMAX, 532 CTABTMIN, 532 CTABTSP, 532 CTABTSV, 532 CTABUNLOCK, 527 CTRANS, 46, 293, 300 CUT3DC, 432, 438 CUT3DCC, 443 CUT3DCCD, 443 CUT3DF, 432 CUT3DFF, 432 CUT3DFS, 432 CUTMOD, 471 Cykle
Cykle uŜytkownika i cykle producenta z programami NC o takich samych na-zwach, 183 Parametryzacja cykli uŜytkownika, 183
Cykle SIEMENS, 746 Cykle technologiczne
Instrukcje skoku GOTOP, GOTOF, GOTOB, 660 Kaskadowania, 658 Parametry domyślne z wartościami inicja-lizacyjnymi, 656 Skoki bezwarunkowe, 660 Sterowanie wykonywaniem cyklicznym ICYCOF, 657 Struktury kontrolne IF, 659 W akcjach synchronicznych wykonywa-nych pojedynczymi blokami, 659
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
856
Cykle technologiczne, 651 Czas zatrzymania, 670 Czasy przebiegu programów, 740
Aktualny czas obróbki, 741 Całkowity czas przebiegu, 741 Czas pracy narzędzia, 741
D Dane nastawcze, 672 Dane okręgu
Obliczenie, 765 Dane uŜytkownika, 200
Definiowanie, 203 DEF, 28, 200, 651 DEFAULT, 73 DEFINE ... AS, 188 DEFINE, 651 Definicja tablicy, 28 Definicja wielomianu, 609 DELAYFSTOF, 493 DELAYFSTON, 493 DELDL, 413 DELDTG, 607 DELETE, 124 DELT, 423 DISABLE, 104 DISPLOF, 180 DISPR, 502 DIV, 46 DL, 410 Długość częściowa, 676 Długość częściowa, 676 DO, 581, 676 Domyślny identyfikator osi, 590 Dosunięcie przywracające do konturu
Dosunięcie z nowym narzędziem, 510 Punkt dosunięcia przywracającego, 507
DUPLO_NR, 423 DV, 563 E EAUTO, 238 EG
Przekładnia elektroniczna, 546 EGDEF, 547 EGDEL, 553 EGOFC, 552 EGOFS, 552 EGON, 548
EGONSYN, 548 EGONSYNE, 548 Element konturu
Przejście, 764 ELSE, 85 ENABLE, 104 ENAT, 238 ENDFOR, 88 ENDIF, 85 ENDLOOP, 87 Endpos, 676 ENDPROC, 616 ENDWHILE, 90 ETAN, 238 Etykieta, 71 EVERY, 578 Ewaluacja stopnia obciąŜenia, 649 EXECSTRING, 44 EXECTAB, 764 EXECUTE, 221, 223, 767 EXP, 46 EXTCALL, 170 EXTERN, 145 F F0.1, 93 F10, 221 F3, 737 FA, 565, 632, 673 FALSE, 16 FCTDEF, 426, 609 FCUB, 485 FENDNORM, 279 FILEDATE, 129 FILEINFO, 129 FILESIZE, 129 FILESTAT, 129 FILETIME, 129 FINE, 563 FINEA, 280 FLIN, 485 FMA, 787 FNORM, 485 FOCOF, 645 FOCON, 645 FOR, 88 Foś, 477, 515, 520, 536 Foś, 540 FPO, 485 FPR, 553
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
857
Frame Łańcuchy frame, 299 Komponent RT, 296 Powiązanie, 315 Przyporządkowanie, 298 Wywołanie, 297
Frame bazowy globalny dla NCU, 309 Frame nastawne globalne dla NCU, 309 Frame specyficzne dla kanału, 310 FRAME, 22 FRC, 786, 788 FRCM, 788 Frez
Punkt pomocniczy (FH), 439 Wierzchołek (FS), 439
Frezowanie czołowe 3D, 342 Frezowanie czołowe, 432, 435 Frezowanie obwodowe (3D)
Z płaszczyznami ograniczającymi, 443 Frezowanie obwodowe 3D z płaszczyznami ograniczającymi, 442 Frezowanie obwodowe, 433, 434 FROM, 578 FTOCOF, 426 FTOCON, 426 Funkcja ewaluacji, 612 Funkcje OEM, 278 Funkcje pomocnicze, 605, 689 FXS, 645 FXST, 645 FXSW, 645 G G01, 93 G05, 390 G07, 390 G1, 672 G4, 670 G40, 432 G450, 440 G451, 440 G62, 279 G621, 279 G64, 137 G643, 263 G-Code, 262
Programowanie pośrednie, 39 GEOAX, 702 GET, 113 GETACTTD, 457
GETD, 113 GETDNO, 455 GETSELT, 423 GETT, 423 Głębokość kaskadowania
Struktur kontrolnych, 83 Głębokość zagłębienia (ISD), 432 Głębokość zagłębienia, 439 GOTO, 70 GOTOB, 70 GOTOC, 70 GOTOF, 70 GOTOS, 69 GP, 41 grad, 536 GUD, 22, 200, 204
Definiowanie, 203 Uaktywnienie automatyczne, 207
H Holowanie, 515, 636
Osie holowania, 518 Współczynnik sprzęŜenia, 518
I I1,I2, 458 ID, 576 IDS, 576 IF, 70, 85 IFRAME, 288 II1,II2, 679 Indeks tablicy, 31 INDEX, 64 INICF, 212 Inicjalizacja
Tablic, 28 Zmiennych tablicowych, 642
INIPO, 212 INIRE, 212 INIT, 93 INITIAL, 199 INITIAL_INI, 199 Instrukcja skoku
CASE, 73 Instrukcje
Lista, 769, 820 INT, 22 Interpolacja liniowa, 264 Interpolacja orientacji, 351, 366
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
858
Interpolacja spline, 264 Interpolacja wektora obrotu, 358, 365 Interpolacja wielomianowa, 255
Wielomian mianownikowy, 260 INTERSEC, 762 IPOBRKA, 280 IPOENDA, 280 IPOSTOP, 557, 563, 566 IPTRLOCK, 499 IPTRUNLOCK, 499 ISAXIS, 699 ISD, 432, 438 ISFILE, 128 ISNUMBER, 59 ISOCALL, 166 ISVAR, 734 J JERKLIM, 512 K Kaskadowanie
Podprogramów, 137 Kąt końcowy, 359 Kąt obrotu, 359 Kąt skrętu 1, 2, 459 Kąt stycznej do toru, 647 Kąt w kierunku bocznym, 336 Kąt wyprzedzenia, 336 Kinematyka
Rozwiązana, 463 Kinematyka rozłączona, 459 Kompensacja błędu ćwiartki koła
Douczenie się, 738 Uaktywnienie procesu uczenia się, 737 Wyłączenie procesu uczenia się, 737
Komponent frame FI, 296 MI, 296 SC, 296 TR, 296
Komponent frame RT, 296 Kompresor bloków NC, 252 Kompresor, 252, 264 Komunikacja link, 707 Komunikacja NCU-NCU, 707 Kontur
Dosunięcie przywracające, 502 Kodowanie, 757 Przygotowanie, 750 Tablica, 750, 757
Koordynacja osi, 633 Koordynacja programów
Nazwy kanałów, 96 Numery kanałów, 95
Koppel, 477, 515 Korekcja długości narzędzia online, 468, 620 Korekcja narzędzia
Online, 426 Pamięć korekcji, 407 Układ współrzędnych dla wartości zuŜycia, 418
Korekcja narzędzia 3D Korekcja narzędzia Online, 618 Korekcja promienia narzędzia
Frezowanie obwodowe 3D bez płaszczyzn ograniczających, 442 Zwłoka na naroŜnikach, 279
Korekcja promienia narzędzia 3D Korekcja promienia narzędzia 3D, 432 Kryterium końca ruchu
Programowane, 280 KS, 477 L L..., 145 LEAD, 336 LEADOF, 540 LFPOS, 108 LFTXT, 108 LFWP, 108 Licznik obrabianych przedmiotów, 744 LIFTFAST, 106, 107 LLIMIT, 609 LN, 46 LOCK, 661 LOOP, 87 Lose, 737 Loś, 477, 515, 520, 536 Loś, 540 LUD, 22 Łańcuch znaków
Długość, 63 Operacje, 57 Powiązanie, 60
Łączny frame bazowy, 312, 313 M M, 461 M17, 140
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
859
MAC Uaktywnienie automatyczne, 207
Makro, 188 MASLDEF, 568 MASLDEL, 568 MASLOF, 568 MASLOFS, 568 MASLON, 568 MATCH, 64 MATCH241lp, 64 MAXVAL, 53 MCALL, 161 MEAC, 268 MEAFRAME, 304 MEAFRAME, 304 MEAFRAME, 308 MEAS, 265 MEASA, 268 MEAW, 265 MEAWA, 268 Miejsca osobliwe, 345 MINDEX, 64 MINVAL, 46, 53 MIRROR, 289 MMC, 739 Moc obliczeniowa, 707 MOD, 46 Modalne wywołanie podprogramu, 161 MODAXVAL, 699 Moduł link, 709 Modus, 676 Modus, 676 MOV, 626 MPF, 737 MU, 389 MZ, 389 N n, 536 Nadzór narzędzia, specyficzny dla szlifowa-nia, 430 Narzędzie
Korekcja długości, 464 Korekcja promienia narzędzia, 414 Korekcje, addytywne, 410 Nadzór narzędzia, specyficzny dla szlifo-wania, 697 Orientacja przy zmianie frame, 467 Pamięć korekcji narzędzi, 407 Parametry, 407
Nauczenie się charakterystyk kompensacji, 737 NCU
Link, 707 NEWCONF, 120 NEWT, 423 NOC, 563 Nośnik narzędzi, 464
Kinematyka Orientowalny, 464 Skasowanie/zmiana/odczyt danych, 463
NOT, 48 NPROT, 224 NPROTDEF, 221, 223 NUMBER, 59 Numer D
Dowolne nadanie, 454 Numer identyfikacyjny, 576 Numer ostrza, 454 Numer tablicy krzywych, 520 Numery D
Sprawdzenie, 455 Zmiana nazwy, 455
O Obliczenie frame Obrabiany przedmiot
Katalog główny obrabianych przedmiotów, 193 Katalogi obrabianych przedmiotów, 193
Obszary ochrony Definiowanie, 222 Dopuszczalne elementy konturu, 223 Status uaktywnienia, 227 Obszary ochrony specyficzne dla kanału, 222 Obszary ochrony specyficzne dla maszy-ny, 222 Opis konturu obszarów ochrony, 223 Przesunięcie, 227 Status po kaŜdym rozruchu, 228 Uaktywnienie wielokrotne, 228 Uaktywnienie, wyłączenie aktywności, 224 Ustalenia na maszynie, 221 Wybrana płaszczyzna robocza, 223
Odcinek częściowy, 689 Odcinki częściowe, 689 Odczyt i szukanie obszarów niezdatnych do przeszukiwania, 500 Odniesienie kątowe, 563
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
860
Odniesienie toru Bloki gwintowania, 264 Grupa G-Code, 262 Interpolaja kołowa i interpolacja liniowa, 264 Osie uczestniczące w tworzeniu konturu, 264 Parametry krzywych, 262 Posuw po torze, 264 Ustawiane, 262 Warunki brzegowe
OEMIPO1/2, 278 OFFN, 373, 376 Offset kątowy/przyrost kątowy osi obroto-wych, 461 Offset konturu - normalny OFFN, 384 Offset osi obrotowych, 461 Operatory logiczne, 48 Operatory porównania, 48 Opór sztywny, 645 OR, 48 ORIAXES, 347, 364 ORIC, 447 ORICONCCW, 351, 364 ORICONCW, 351, 364 ORICONIO, 351, 364 ORICONTO, 351, 364 ORICURVE, 355, 364 ORID, 447 Orientacja narzędzia, 447 Orientacja w stosunku do toru
Obroty narzędzia, 362 Obrót orientacji narzędzia, 364 Obrót wektora orientacji, 364 Wstawianie bloków pośrednich, 368
Orientowalne nośniki narzędzi Numer nośnika narzędzi, 461 Zmienne systemowe, 459
Orientowalne nośniki narzędzi, 458 ORIEULER, 347, 364 ORIMKS, 344 ORIPATH, 362, 803 ORIPATHS, 362, 367, 803 ORIPLANE, 351, 364 ORIRESET(A, B, C), 333 ORIRESET, 333 ORIROTA, 358 ORIROTC, 358, 364 ORIROTR, 358 ORIROTT, 358 ORIRPY, 347, 364
ORIRPY2, 347 ORIS, 447 ORIVECT, 347, 364 ORIVIRT1, 347, 364 ORIVIRT2, 347, 364 ORIWKS, 344 OS, 669, 670 OSC, 447 OSCILL, 676, 679 OSCTRL, 670, 674 OSD, 447 OSE, 670, 674 Osie FGROUP, 262 Osie obrotu
Wektory kierunkowe V1, V2, 459 Wektory odstępu I1, I2, 458
Osie orientacji, 334, 343, 346, 349 Osie rozkazowe, 622 Osiowe sprzęŜenie wartości wiodącej, 540 OSNSC, 670, 676 OSP, 673 OSP1, 670, 676 OSP2, 670, 676 OSS, 447 OSSE, 447 OST, 447, 670 OST1, 670, 676 OST2, 670, 676 Oś
Oś dosuwu, 677 Oś holowana, 532 Oś lokalna, 712 Oś mocowania, 710 Oś wiodąca, 532 Przejęcie bezpośrednie, 113
Oś dosuwu, 677 Oś geometryczna
Przełączenie, 702 Oś holowana, 540 Oś link, 712 Oś ruchu wahliwego, 672 Oś skośna, TRAANG, 323, 386 Oś wiodąca, 540 Override
Aktualny, 648 Wynikowy, 648
OVRA, 565 P P, 159
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
861
Pamięć Pamięć programów, 191 Pamięć robocza, 197
Pamięć korekcji, 407 Pamięć programów, 191
Katalogi standardowe, 192 Typy plików, 193
Pamięć przebiegu wyprzedzającego, 492 Pamięć robocza, 197
Zakresy danych, 197 Zarezerwowane nazwy modułów, 202
Parametry Narzędzie, 407 Przekazanie przy wywołaniu podprogra-mu, 145
Parametry akcji synchronicznych, 592 Parametry Call by Value dla cykli technolo-gicznych, 656 Parametry obliczeniowe
Numer n, 18 Parametry obliczeniowe (R), 18 Parametry R, 593 Parametryzowalny powrót z podprogramu, 152 PCALL, 167 PDELAYOF, 685 PDELAYON, 685 Pętla bez końca, 87 Pętla liczenia, 88 Pętla programowa
Pętla bez końca, 87 Pętla IF, 85 Pętla FOR, 88 Pętla REPEAT, 91 PĘTLA WHILE, 90
PFRAME, 289 PHI, 357 Pierwszy frame bazowy w kanale, 310 PL, 238, 255 Plik
Informacje, 129 PO, 255 PO[PHI], 357, 362 PO[PSI], 357, 362 PO[THT], 357, 362 PO[XH], 357 PO[YH], 357 PO[ZH], 357 Podanie ścieŜki
Absolutne, 93 Względne, 94
Podprogram Nazwa podprogramu Powtórzenie, 159 Programowana ścieŜka szukania, 168 Wywołanie modalne, 161 Wywołanie pośrednie, 163 Wywołanie podprogramu bez przekazania parametrów, 145 Wywołanie podprogramu z przekazaniem parametrów
Podprogramy z przekazaniem parametrów Definicja tablicy, 144 Przekazanie parametrów między progra-mem głównym i podprogramem, 144
Podprogramy, 135 Podział drogi przy osiach uczestniczących w tworzeniu konturu, 692 Podział drogi, 694 Pojemnik osi, 710 Polecenia M, 686 Polecenia programowe
Lista, 769, 820 POLF, 720 POLFA, 720 POLFMASK, 720 POLFMLIN, 720 POLY, 255 POLYPATH, 255 PołoŜenie podstawowe orientacji narzędzia Pomiar, 641
Pomiar ciągły MEAC, 277 Rozpoznane błędne zaprogramowania, 277 Skasowanie pozostałej drogi MEASA, MEAWA, 274 Tryb pracy, 273 Wydarzenia przerzutnikowe, 274
PON, 693 PONS, 685 POS, 622 POSFS, 563 POSP, 676 POSRANGE, 624 Posuw Posuw osiowy, 632 POT, 46 Powiązane NCU, 707 Powiązanie
Łańcuchów znaków, 60 Powtórne zastosowanie tablic krzywych, 531 Powtórzenie części programu, 76
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
862
Z programowaniem pośrednim CALL, 164 Pozycja minimalna/maksymalna osi toczenia, 461 Pozycja wyłączenia, 566 Pozycjonowanie osi
Zadana pozycja odniesienia, 624 Praca generatorowa, 726 PREPRO, 182 PRESETON, 303, 634 PRIO, 102, 107 PRLOC, 212 PROC, 140 Procedura przerwania, 100
Nowe przyporządkowanie, 103 Programowany kierunek ruchu, 107, 109 Przyporządkowanie i wystartowanie, 102 Ruch wycofania, 108 Skasowanie, 105 Szybkie cofnięcie od konturu, 106 Wyłączenie/włączenie, 104 Zapisanie modalnych funkcji G, 101
Procedury konwersji, 586 Program
Inicjalizacyjny, 197 Pamięć programów, 193 Powtórzenie, 159 Rozgałęzienie, 73
Program inicjalizacyjny, 197 Program obróbki, 709 Programowanie obrotów wektora orientacji poprzez THETA, 358 Programowanie orientacji, 347, 366 Programowanie osi skośnej
G05, G07, 390 Programowanie pośrednie
Adresów, 36 G-Code, 39
Programowanie pośrednie, 41 Przegląd
Frame działające w kanale, 311 Przekładnia elektroniczna, 546 Przełączane osie geometryczne, 702 Przesunięcie dokładne, 300 Przesunięcie Preset, 303 Przesunięcie punktu zerowego
PRESETON, 303 Zewnętrzne przesunięcie punktu zerowe-go, 302
Przesunięcie zgrubne, 300 Przygotowanie konturu
Sygnalizacja zwrotna błędu, 767
Przyporządkowania, 45 Przyspieszenie drugiego stopnia
Korekcja, 512 Przyspieszenie zaleŜne od drogi PUNCHACC, 687 PSI, 357 PTP przy TRANSMIT, 398 PTP, 391, 398 PTPG0, 398 PUD, 22 PUNCHACC, 685 Punkt nawrotu, 675 Punkty nawrotne ruchu wahliwego, 673 PUTFTOC, 426 PUTFTOCF, 426 PW, 238 Q QECDAT, 737 QECLRN, 737 QECLRNOF, 737 QECLRNON, 737 QECTEST, 737 QFK, 737 R R..., 18 RDISABLE, 606 READ, 125 Reakcje autarkiczne dla napędu, 717 Reakcje prowadzone przez NC, 723 REAL, 22 REDEF, 208, 209, 212 Regulacja AC, addytywna, 613 Regulacja AC, multiplikatywna, 614 Regulacja odstępu, 615 RELEASE, 113 REP, 28, 642 REPEAT, 76, 91 REPEATB, 76 REPOS, 100 Repos, 625 REPOSA, 502 REPOSH, 502 REPOSHA, 502 REPOSL, 502 REPOSQ, 502 REPOSQA, 502 RESET, 661
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
863
RET, 136, 140, 152 RINDEX, 64 RMB, 502 RME, 502 RMI, 502 RMN, 502 Rodzaj sprzęŜenia, 557 Rodzaje transformacji
Działanie ogólne, 317 ROUND, 46 ROUNDUP, 134 Rozszerzona funkcja pomiarowa, 268, 391 Rozszerzone zatrzymanie i wycofanie, 715 Ruch do najbliŜej połoŜonego punktu toru, 509 Ruch dosuwu, 683 Ruch kartezjański PTP, 323 Ruch synchroniczny
Dokładny, 557 Zgrubny, 557
Ruch w pojedynczej osi, 694 Ruch wahliwy
Blokowanie dosuwu, 679 Dosuw w punkcie nawrotu, 682 Dosuw częściowy, 679 Punkt nawrotu, 679 Ruch wahliwy asynchroniczny, 669 Sterowanie poprzez akcję synchroniczną, 675 Synchroniczny ruch wahliwy, 669 Włączenie, wyłączenie ruchu wahliwego, 669 Zakres nawrotu, 679 Zdefiniowanie przebiegu ruchu, 674
Ruchy pozycjonowania, 622 Ruchy wrzeciona, 635 S S1, S2, 561, 567 SAVE, 101, 138 SBLOF, 174 SBLON, 174 SCPARA, 284 SD, 238 SD42475, 370 SD42476, 370 SD42477, 370 SD42674, 448 SD42676, 448 SD42900, 416
SD42910, 416 SD42920, 417 SD42930, 418 SD42935, 420 SD42940, 421, 474 SD42984, 472 SEFORM, 220 SET, 28, 642 SETAL, 644, 746 SETDNO, 456 SETINT, 102, 107 SETM, 93, 643 SETPIECE, 423 SIN, 46 Skasowanie pozostałej drogi z przygotowa-niem, 607 Skasowanie pozostałej drogi, 607, 671 Skasowanie sprzęŜeń, 566, 567 Skok
Cel skoku, 70 Instrukcja skoku, 71 Warunek skoku, 71 Znacznik skoku, 71
Skok wyiskrzania, 671 Skoki w programie, 70 Skrawanie, 749 Skręt, 737 Softwareowe wyłączniki krańcowe, 632 SON, 685, 692, 693 SONS, 685 Spadek napięcia w obwodzie pośrednim, 726 SPATH, 262 SPF, 737 SPI, 565, 699 SPIF1, 812 SPIF2, 812 Spline
Interpolacja spline, 238 Typy spline, 246
SPLINEPATH, 250 SPN, 689 SPOF, 685 SPOS, 564 SPP, 689 SprzęŜenie prędkości, 557 SprzęŜenie wartości rzeczywistej, 557 SprzęŜenie wartości wiodącej, 638
SprzęŜenie wartości rzeczywistej i zada-nej, 540, 544 Synchronizacja osi wiodącej i holowanej, 543
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
864
Ze statycznych akcji synchronicznych, 542 SprzęŜenie wartości zadanej, 557 SQRT, 46 SR, 813 SRA, 813 ST, 813 STA, 813 Stan maszyny, globalny, zamocowanie obra-bianego przedmiotu, 708 START, 93 STARTFIFO, 491 STAT, 391, 398 Status czujnika pomiarowego, 276 Status sprzęŜenia, 546 Sterowanie mocą lasera, 611 Sterowanie styczne, 477 STOPFIFO, 491 Stopień ochrony
Dla elementu językowego NC, 209 Dla zmiennej systemowej, 209
Stopnie ochrony W przypadku danych maszynowych i da-nych nastawczych, 208 W przypadku danych uŜytkownika
Stopnie ochrony, 212 STOPRE, 491, 672 Stosunek przełoŜenia, 562 STRING, 22 STRINGIS, 728
Adresy NC, 731 STRLEN, 63 Struktury kontrolne, 83 SUBSTR, 66 Symulacja wartości wiodącej, 545 Synchroniczność połoŜenia, 555 Synchroniczny ruch wahliwy
Akcje synchroniczne, 680 Dosuw w zakresie zawrotu, 681 Ewaluacja, takt IPO, 683 Następny dosuw częściowy, 684 Przyporządkowanie osi ruchu wahliwego i osi dosuwu, 679 Ruch dosuwu, 681 Ustalenie dosuwów, 679 Zatrzymanie w punkcie nawrotu, 683
SYNFCT, 612 Szukanie znaku, 64 Szybkie cofnięcie od konturu, 106 ŚcieŜka szukania
Programowana ścieŜka szukania, 168 Przy wywołaniu podprogramu, 195
T Tablica, 28 Tablica
- definicja. 28 - element, 28
Tablica krzywych Numer, 532
Tablice krzywych, 520, 527 Nieperiodyczna tablica krzywych, 535 Odczyt w akcjach synchronicznych, 536 Periodyczna tablica krzywych, 535
Takt interpolacji, 709 TAN, 46 TANG, 477 TANGDEL, 477 TANGOF, 477 TANGON, 477 Tarcie, 737 TCARR, 464 TCOABS, 464 TCOFR, 464 TCOFRX, 464 TCOFRY, 464 TCOFRZ, 464 TE, 268 Technika makr, 686 THETA, 357, 358 TILT, 336 TLIFT, 477 Tłoczenie, 685, 689 TMOF, 697 TMON, 697 TOFFOF, 468 TOFFOF, 620 TOFFON, 468 TOFFON, 620 TOLOWER, 62 TOUPPER, 62 TOWBCS, 418 TOWKCS, 418 TOWMCS, 418 TOWSTD, 418 TOWTCS, 418 TOWWCS, 418 TRAANG, 323, 386 TRACYL, 322, 376, 384 TRAFOOF, 373, 376, 386, 404 TRAILOF, 515 TRAILON, 515
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
865
Transformacja biegunowa, 322 Transformacja kinematyczna TRANSMIT, TRACYL i TRAANG, 322 Transformacja krzywej na pobocznicy walca, 376, 377
Offset konturu normalny OFFN, 384 Transformacja orientacji TRAORI
Kinematyka maszyny, 321 Programowanie orientacji, 322 Ruchy postępowe i ruchy orientujące, 320 Transformacja rodzajowa 5/6-osiowa, 322 Warianty programowania orientacji, 332
Transformacja oś skośna, 386 Transformacja pobocznicy walca, 322 Transformacja TRACYL, 378 Transformacja TRANSMIT, 374 Transformacja TRAORI, 330 Transformacja ze skrętną osią liniową, 329 Transformacja, 5-osiowa
Programowanie orientacji narzędzia z LEAD i TILT, 341 Programowanie poprzez LEAD/TILT, 334 Programowanie wektora kierunkowego, 340 Programowanie w kątach Eulera, 338 Programowanie w kątach RPY, 338 Programowanie zakrzywienia toru w wek-torach normalnych powierzchni, 342
Transformacja, transformacje trzy-, cztero-osiowe, 330 Transformacje
NiezaleŜne od kinematyki połoŜenie pod-stawowe orientacji narzędzia, 319 Powiązana, 404 Transformacja orientacji, 318 Transformacja trzy-, cztero i pięcioosiowa TRAORI, 318 Transformacje kinematyczne, 319 Transformacje powiązane, 320
TRANSMIT, 322, 373, 376, 398 TRAORI, 326, 330 TRUE, 16 TRUNC, 46 TU, 391, 398 Typ kinematyki M, 463 Typ kinematyki P, 463 Typ kinematyki T, 463 Typ kinematyki, 463 U
U1,U2, 679 uc.com, cykle uŜytkownika, 185 ULIMIT, 609 UNLOCK, 661 UNTIL, 91 UPATH, 262 Ustawienie wartości rzeczywistej, 634 Ustawiona wartość, 412 V V1,V2, 459 VAR, 140 VELOLIM, 513 W WAIT, 95 WAITC, 555, 566 WAITE, 93 WAITM, 93 WAITMC, 93 Wartość zuŜycia, 412 Warunki brzegowe przy transformacjach, 402 WHEN, 578 WHEN-DO, 676, 680 WHENEVER, 578 WHENEVER-DO, 676, 680 WHILE, 90 Wielomian
Interpolacja, 264 Wielomian mianownikowy, 260 Wielomian słowa F, 262 Wielomiany do maksymalnie 5. stopnia, 525 Winlimit, 625 WRITE, 121 Wrzeciono
Zamiana, 113 Wrzeciono synchroniczne, 554
Skasowanie sprzęŜenia, 567 Para, 554 Stosunek przełoŜenia kÜ, 562 Ustalenie pary, 561 Zachowanie się przy zmianie bloku, 563
Współczynnik wielomianu, 256 Wybór częściowego łańcucha znaków, 66 Wybór pojedynczego znaku, 67 Wycofanie autarkiczne dla napędu, 727 Wycofanie, 723 Wygładzanie przebiegu orientacji, 364, 368 Wyniki pomiaru dla MEASA, MEAWA, 275
Indeks
Przygotowanie do pracy Podręcznik programowania, 01/2008, 6FC5398-2BP10-3NA0
866
Wystartowanie/zatrzymanie osi, 626 Wyświetlenie bloku, 166
Blokowanie, 180 Wywołanie podprogramu z podaniem ścieŜki i parametrami, 167 Wyzwolenie skoku, 687 X x, 423 XOR, 48 Z Zachowanie się w czasie przebiegu
Struktur kontrolnych, 84 Zakres parametrów
Projektowany, 587 Zakres wartości
Zmienne, 16 Zamiana osi, 113 Zamiana osi, 118
Bez synchronizacji, 115 Bez zatrzymania przebiegu wyprzedzają-cego, 117 Przejęcie osi, 117 Ustawienie zmiennego zachowania się, 117 Warunki, 116 ZaŜądanie i udzielenie zezwolenia poprzez akcje synchroniczne, 627 Zezwolenie dla osi, 116
Zaokrąglenie go góry, 134 Zapis wartości pomiarowych, 267 Zapotrzebowanie na czas
Akcje synchroniczne, 649 Zarządzanie narzędziami, 423 Zastąpienie tablic krzywych, 531 Zatrzymanie autarkiczne dla napędu, 726 Zatrzymanie i wycofanie
Rozszerzone, 715 Zatrzymanie przebiegu wyprzedzającego, 606 Zatrzymanie, 725 Zespół holowania, 515 Zespół spline, 250 Zestaw parametrów serwo, programowany, 284 Zewnętrzne przesunięcie punktu zerowego, 302 Zlecenie pomiarowe
Status przy MEASA, MEAWA, 276 Z 2 systemami pomiarowymi, 276
Zmiana stacji/połoŜenia, 710 Zmienna
Konwersja typu, 56 Przyporządkowania, 45
Zmienna FIFO, 596 Zmienna frame, 285
Definicja nowych frame, 299 Predefiniowane zmienne frame, 287, 197 Przesunięcia punktu zerowego G54 do G599, 292 Przyporządkowania do poleceń G54 do G599, 292 Przyporządkowanie wartości, 293 Wywołanie transformacji współrzędnych, 285
Zmienna GUD dla akcji synchronicznych Zmienna GUD definiowana przez uŜyt-kownika, 587
Zmienna link Globalna, 709
Zmienna systemowa, 709 Globalna, 709
Zmienna zegarowa, 595 Zmienna znacznikowa, 591 Zmienne systemowe, 17, 583 Zmienne, 15
Konwersja typu, 58 Nazwa zmiennej, 24 Rodzaje zmiennych, 15 Typy zmiennych, 16 Typ zmiennej, 22 Zakres wartości, 16 Zmienne definiowane przez uŜytkownika, 22
Znaczniki czekania, 643 Znak 0, 57 Zwłoka na naroŜnikach wewnętrznych, 279 Zwłoka na wszystkich naroŜnikach, 279