Projekt okładki i stron tytułowych Joanna Sobieraj

Zdjęcia na okładce Nadja Antonova/shutterstock yuyangc/shutterstock

Redaktor inicjujący Kinga Tomaszewska

Redaktor Izabela Ewa Mika

Copyright © by Wydawnictwo Naukowe PWN SA

Warszawa 2011

eBook został przygotowany na podstawie wydania papierowego z 2011 r., (wyd. I) 

Warszawa 2018

ISBN 978-83-01-20446-4

Wydawnictwo Naukowe PWN SA

02-460 Warszawa, ul. Gottlieba Daimlera 2

tel. 22 69 54 321, faks 22 69 54 288

infolinia 801 33 33 88

e-mail: pwn@pwn.com.pl; reklama@pwn.pl

www.pwn.pl 

Skład wersji elektronicznej na zlecenie Wydawnictwa Naukowego PWN: mobisfera.pl

Przedmowa

Niniejsza książka jest zbiorem przykładów zaawansowanego programowania obrabiarek sterowanych numerycznie. Powstała ona na podstawie materiałów gromadzonych przez autorów i ich wieloletniego doświadczenia praktycznego zdobytego w wyniku współpracy z przemysłem maszynowym oraz kontaktów z inżynierami programującymi obrabiarki. Potrzeba napisania tego typu publikacji była wielokrotnie sugerowana przez uczestników kursów szkoleniowych prowadzonych przez firmę SIEMENS A&D, na których autorzy książki byli wykładowcami. Celem opublikowania książki nie było zastąpienie właściwych instrukcji programowania [19]÷[27]. Materiał zgromadzony w tych instrukcjach jest bardzo obszerny i podany w sposób encyklopedyczny, co utrudnia jego przyswojenie niedoświadczonemu czytelnikowi. Zamieszczone tam przykłady są zbyt fragmentaryczne, oderwane od praktycznych zastosowań i często dotyczą zbyt trywialnych problemów. Dlatego główną uwagę w tej pracy zwrócono na kompletność przykładów, właściwy styl programowania oraz sposób podejścia do budowy złożonych projektów realizowanych samodzielnie przez użytkownika. Dotyczy to zarówno programowania bezpośrednio w języku układu sterowania numerycznego, jak i budowy własnych, komputerowych aplikacji wspomagających programowanie obrabiarek CNC.

Aby zachować jednorodność pracy i ułatwić zrozumienie jej treści, wszystkie zamieszczone w książce przykłady programów sterujących zostały opracowane dla układu sterowania SINUMERIK 840D oraz szeroko skomentowane. Uruchomienie tych przykładów w układzie SINUMERIK 810D nie wymaga żadnych zmian. Decyzja ta wynikła z popularności układów sterowania SINUMERIK w Polsce oraz ich dużego potencjału w zakresie programowania elastycznego.

W książce są opisane zaawansowane techniki programowania obrabiarek, w tym zagadnienia: wymiany danych, użycia zmiennych użytkownika i zmiennych systemowych, programowania parametrycznego, budowy cykli producenta i użytkownika, budowy własnego interfejsu użytkownika, automatycznego raportowania zdarzeń, akcji synchronicznych, a także elementy programowania adaptacyjnego i synchronizacji programów w układach wielokanałowych. Autorzy celowo skoncentrowali się na przykładach rzadko lub w ogóle dotychczas nieprzytaczanych w tego typu opracowaniach. Są tu podane przykłady dotyczące operacji szlifowania oraz diamentowania ściernic, a także programy pomiarowe, w tym również realizowane bezdotykowo laserem. Opisano także możliwości przyśpieszenia procesu programowania przez półautomatyczny import danych bezpośrednio z systemów CAD do systemu CAD-READER.

Książka nie zawiera wyczerpujących wiadomości w zakresie podstaw programowania obrabiarek, gdyż informacje te można znaleźć w wielu istniejących publikacjach na ten temat, m.in. w pracach [2], [3] i [16]. Rozdział 3 książki, dotyczący struktury programu sterującego, analizy przestrzeni roboczej obrabiarki oraz kompensacji promienia narzędzia, pozwala początkującemu adeptowi programowania osiągnąć poziom wiedzy wystarczający do opracowania poprawnych programów sterujących pracą obrabiarki.

Książkę polecamy przede wszystkim technologom programującym już obrabiarki sterowane numerycznie, chcącym pogłębić swoją wiedzę w zakresie zaawansowanych technik efektywnego programowania w układzie sterowania SINUMERIK. W szczególności powinny zainteresować się nią osoby preferujące technologię grupową w swoim zakładzie pracy, sprzyjającą programowaniu parametrycznemu. Także osoby pracujące w przemyśle obrabiarkowym, przygotowujące cykle producenta (np. dla obrabiarek zadaniowych lub autonomicznych stacji obróbkowych), znajdą tu wiele cennych wskazówek. Książkę można także traktować jako podręcznik akademicki dla studentów wydziałów mechanicznych o specjalności obróbka skrawaniem, automatyzacja produkcji, obrabiarki skrawające, mechatronika, systemy CAD/CAM i pokrewnych.

Autorzy zwracają uwagę, że w opisywanych w książce przykładach wykorzystano dodatkowe opcje układu sterowania SINUMERIK, które nie występują w wersji podstawowej.

1 Elastyczna automatyzacja

Współczesne warunki konkurencji wymuszają na przedsiębiorstwach konieczność umiejętności adaptacji oraz aktywnej reakcji na zmiany pojawiające się na rynku. Wymaga to konieczności uelastycznienia działalności przedsiębiorstwa na wszystkich jej etapach, począwszy od projektowania konstrukcyjnego, poprzez techniczne przygotowanie produkcji, etapy projektowania, realizacji i kontroli procesu wytwórczego, aż do kooperacji, marketingu i transportu włącznie. W rezultacie można osiągnąć dobre wyniki organizacyjne, jak: skrócenie czasu uruchamiania produkcji nowego wyrobu, zwiększenie różnorodności produkowanego asortymentu, skrócenie ekonomicznie uzasadnionej wielkości serii produkcyjnej, lepsze wykorzystanie posiadanych środków produkcji i powierzchni produkcyjnej, polepszenie warunków wprowadzania innowacji do procesu produkcyjnego. Uzyskuje się też pozytywne efekty ekonomiczne w postaci: wzrostu wydajności, przyśpieszenia obrotu środków finansowych, ograniczenia zatrudnienia, oszczędności funduszu płac, obniżenia liczby braków, obniżenia kosztów produkcji itp. Stwarza to warunki do zmniejszenia ceny rynkowej produkowanych wyrobów i tym samym uzyskania przewagi w walce konkurencyjnej.

Pojęcie „elastyczności” w dziedzinie szeroko rozumianych procesów produkcyjnych może być rozpatrywane w różnych aspektach. W kontekście poruszanej w książce tematyki obiektem zainteresowania jest elastyczność organizacyjna - definiowana, jako możliwość łatwego i względnie szybkiego przystosowania środka produkcji do realizacji zmieniających się zadań produkcyjnych - oraz częściowo elastyczność urządzeniowa, tj. zdolność do automatycznej reakcji urządzenia na sygnały pojawiające się w obszarze OUPN (Obrabiarka - Uchwyt - Przedmiot - Narzędzie) oraz sygnały zewnętrzne w stosunku do tego układu. Innym przejawem elastyczności urządzeniowej jest możliwość zastępowania funkcji uszkodzonych elementów przez pozostałe sprawne elementy systemu. Przy czym to zagadnienie nie będzie poruszane w tej książce.

Elastyczność na etapie bezpośredniej produkcji umożliwiają odpowiednie środki produkcji oraz metody ich wykorzystania. Poprzez elastyczne środki produkcji rozumie się dziś głównie obrabiarki sterowane numerycznie (OSN), budowane z ich wykorzystaniem centra obróbkowe (CO), autonomiczne stacje obróbkowe (ASO), elastyczne gniazda (EGO) i linie obróbkowe (ELO) oraz złożone, wielostanowiskowe elastyczne systemy wytwórcze (ESW). Zasięg zastosowania zautomatyzowanych elastycznych środków produkcji jest obszerny i ciągle wzrasta, obejmując coraz szerzej zarówno obszary produkcji jednostkowej, jak i masowej (rys. 1.1). Duża ergonomiczność obsługi operatorskiej obrabiarek sterowanych numerycznie w trybach JOG/MDA/TEACH-IN uzasadnia ich stosowanie do produkcji jednostkowej i małoseryjnej. Jednakże sztywno zautomatyzowane środki produkcji przeznaczone do produkcji o charakterze wielkoseryjnym i masowym są w ostatnich latach zastępowane przez autonomiczne stacje obróbkowe (ASO) oraz elastyczne linie obróbkowe (ELO). Jest to spowodowane wieloma czynnikami, wśród których możliwość zmiany, stosunkowo niskim kosztem, produkowanej masowo części, w kontekście skrócenia czasu produkcji wyrobów, nabiera istotnego organizacyjnego i ekonomicznego znaczenia. Kolejną zauważalną tendencją ostatnich lat jest rozszerzenie zakresu ekonomicznie uzasadnionej wielkości serii produkcyjnej, dla wszystkich wyróżnionych na rys. 1.1 środków produkcji, w wyniku ciągłego wzrostu ich elastyczności.

Rys. 1.1. Obszary efektywnego zastosowania elastycznych środków produkcji

Na elastyczność obrabiarek i systemów obrabiarek składają się:

zakres uniwersalności technologicznej, tj. możliwość realizacji różnorodnych zabiegów technologicznych;

wielostronność obróbki, czyli możliwość realizacji obróbki przedmiotów z kilku kierunków, możliwość automatycznej zmiany mocowania lub pozycji w przestrzeni roboczej obrabiarki;

łatwość i szybkość wymiany narzędzi, uchwytów i przyrządów, podajników, urządzeń pomiarowo-kontrolnych itp.;

możliwość przerywania wielonarzędziowych operacji i następnie ich kontynuacji po powrocie przedmiotu na obrabiarkę, wyposażoną w zmieniacz palet;

automatyczna diagnostyka maszyny oraz procesów obróbkowych;

elastyczność układu sterowania obrabiarką realizowana przez:

 – szybką modyfikację lub wymianę programu,

 – programowanie parametryczne,

 – użycie akcji synchronicznych,

 – komunikację z urządzeniami zewnętrznymi,

 – interaktywne programowanie w trybach MDA (ang. Manual Data Automatic) i TEACH-IN,

 – pracę na poziomie DNC (ang. Distribution Numerical Control),

 – automatyczny pomiar wymiarów i zużycia narzędzi,

 – automatyczne ustalenie położenia punktów zerowych (WKS),

 – automatyczne rozpoznanie wielkości naddatków,

 – stosowanie sparametryzowanych makrocykli obróbkowych i pomiarowych opracowanych przez producenta obrabiarki lub jej bezpośredniego użytkownika,

 – dostosowanie menu ekranowego oraz okien dialogowych do specyficznych zadań realizowanych na danej obrabiarce,

 – bezpośrednie przechwytywanie danych z systemów CAD i ich wykorzystanie w programie sterującym.

Możliwość szybkiej zmiany automatycznego cyklu pracy obrabiarki czyni z niej urządzenie elastyczne. Dalszym krokiem w zwiększeniu elastyczności jest uelastycznienie samego programu obróbki przez użycie w nim zmiennych, rozgałęzień, instrukcji warunkowych, pętli itd. Takie same rezultaty można uzyskać, generując wariantowe programy sterujące za pomocą odpowiedniego oprogramowania komputerowego klasy CAM lub CAPP. Najbardziej zaawansowane programy potrafią reagować na sygnały zewnętrzne, realizując współbieżne akcjie synchroniczne lub badając otoczenie przy użyciu odpowiednich sond pomiarowych. Tego typu programy umożliwiają: zwiększenie stopnia automatyzacji cyklu obróbkowego, lepsze wykorzystanie możliwości skrawnych narzędzi, zwiększenie bezpieczeństwa, zmniejszenie liczby braków, ograniczenie do niezbędnego minimum przerw w pracy obrabiarki. W niektórych obrabiarkach, na przykład tam, gdzie operator nie ma bezpośredniego dostępu do przestrzeni roboczej maszyny, są elementem niezbędnym, warunkującym jej poprawną pracę. W niedalekiej przyszłości coraz więcej „inteligentnych procedur”, realizowanych obecnie przez operatora, będzie wykonywanych bezpośrednio przez układ sterowania numerycznego. Już dzisiaj niektóre układy są na to przygotowane. Proste przykłady inteligentnych procedur znajdzie czytelnik także w tej pracy.

2 Środki i metody programowania OSN

2.1. Wprowadzenie

Redagowanie programu sterującego pracą obrabiarki sterowanej numerycznie jest częścią prac związanych z opracowaniem kompletnego procesu wytwarzania. W ostatnich dekadach udział i znaczenie prac związanych z programowaniem obrabiarek stale wzrasta. Jest to związane z zastosowaniem na szeroką skalę w przemyśle budowy maszyn obrabiarek sterowanych numerycznie, centrów obróbkowych i autonomicznych stacji obróbkowych. W przypadku centrów obróbkowych ich potencjał wytwórczy powoduje, że operacje wykonywane na nich decydują o pracochłonności, wydajności, jakości i niezawodności całego procesu wytwórczego. Dlatego odnotowano wyraźny wzrost wymagań w stosunku do układów sterowania numerycznego obrabiarek, co do ich możliwości technicznych, ergonomiczności i elastyczności. Naprzeciw tym wymaganiom wychodzi także rozwój techniki komputerowej zarówno w zakresie dostępności i mocy obliczeniowych komputerów osobistych, jak i ich oprogramowania użytkowego w postaci systemów klasy CAM, CAD/CAM i CAPP.

W przypadku systemów określanych skrótem CAM, od Computer Aided Manufacturing, w dosłownym tłumaczeniu sterowanie procesem wytwarzania za pomocą komputera, chodzi o sterowanie obrabiarek, linii montażowych, robotów itd. [17], co nie oddaje obecnie rzeczywistego zakresu funkcjonalnego tych systemów. Bardziej odpowiadająca aktualnym realiom definicja systemów CAM to: „komputerowo wspomagane generowanie programów sterujących urządzeniami produkcyjnymi sterowanymi numerycznie, jak obrabiarki, manipulatory, roboty przemysłowe oraz współrzędnościowe maszyny pomiarowe”. Systemy komputerowego wspomagania projektowania konstrukcyjnego CAD, zintegrowane z systemami CAM, tworzą liczną klasę systemów CAD/CAM. Systemy komputerowego wspomagania projektowania procesów CAPP (Computer Aided Process Planning) nie są bezpośrednio przeznaczone do generowania programów sterujących, lecz do uzyskania danych potrzebnych dla tych programów. Trudno wyznaczyć ostre granice między systemami CAPP i CAM. Systemy CAPP są często postrzegane jako interfejs lub pomost pomiędzy komputerowo wspomaganym projektowaniem konstrukcji a komputerowo wspomaganym wytwarzaniem [7], [18]. Zakres stosowalności systemów CAD, CAPP i CAM musi się więc częściowo pokrywać (rys. 2.1). W tablicy 2.1 jest przedstawione porównanie zadań (funkcjonalne) systemów klasy CAPP i CAM.

Rys. 2.1. Integracja funkcjonalna systemów CAS, CAPP i CAM.

Tablica 2.1. Porównanie podstawowych zadań systemów CAPP i CAM

Zadania systemu CAPP

Zadania systemu CAM

określenie półfabrykatu

i rozpoznanie zakresu obróbki

dobór obrabiarek

dobór narzędzi

dobór narzędzi

dobór ustalenia

definicja sposobu ustawienia przedmiotu obrabianego

dobór zamocowania

i zaprojektowanie uchwytów mocujących

określenie metod obróbki (typu operacji)

określenie kolejności ustawień

określenie kolejności zabiegów

definicja danych geometrycznych

obliczenie trajektorii ruchu narzędzi

dobór parametrów obróbki

dobór parametrów obróbki

generowanie programu sterującego

weryfikacja programu sterującego

określenie zdolności produkcyjnych (oszacowanie czasu obróbki)

obliczanie czasu maszynowego

cyfrowa transmisja danych

emisja dokumentacji wytwórczej

emisja dokumentacji warsztatowej

obsługa baz danych i baz wiedzy

archiwizacja i zarządzanie programami

Istnieją różnorodne podejścia do otrzymania kompletnego programu sterującego. Wynika to z szeregu obiektywnych uwarunkowań, bardzo ściśle ze sobą powiązanych. Wprowadzenie klasyfikatora metod programowania jest więc trudne ze względu na konieczność uwzględnienia wielu różnorodnych czynników.

Próbę takiej klasyfikacji przedstawia rys. 2.2 w postaci 3-wymiarowej przestrzeni. Podział ze względu na miejsce programowania wynika z szeregu przesłanek, zwłaszcza organizacyjnych, ale także wynikających z kwalifikacji operatorów obsługujących bezpośrednio obrabiarkę. Programowanie przy obrabiarce jest preferowane w przypadku produkcji jednostkowej i małoseryjnej, przedmiotów wielkogabarytowych, o stosunkowo nieskomplikowanych powierzchniach obrabianych. Od operatora wymaga się wysokich kwalifikacji, samodzielności, dużej wprawy i umiejętności korzystania z cykli obróbkowych. Ma tutaj zastosowanie praca w trybach MDA (Manual Data Automatic) i TEACH-IN. Zaleca się także w takich przypadkach stosować układy sterowania wyposażone w dopracowany system WOP (Workshop Oriented Programming), na przykład ShopTurn czy ShopMill. W przypadku produkcji o charakterze średnioseryjnym, na większą liczbę obrabiarek, bardziej efektywne jest programowanie poza warsztatem. Wyspecjalizowany technolog programista obrabiarek, korzystający ze wspomagania komputerowego, jest w stanie napisać oprogramowanie, w zależności od częstości pojawiania się nowych zleceń, na kilka, do kilkunastu obrabiarek. Programowanie przedmiotów o skomplikowanych, przestrzennych powierzchniach wymaga opracowania programu przy użyciu odpowiedniej klasy systemu CAD/CAM.

Rys. 2.2. Klasyfikacja podstawowych metod programowania OSN

Podział metod programowania na wariantowe, generacyjne i pośrednie hybrydowe (semigeneracyjne) wynika z ogólnego podejścia do zagadnień projektowych.

Wariantowe projektowanie procesu polega na realizacji pewnego schematu indeksowania projektowanej części, pozwalającego odnaleźć najbardziej wytwórczo podobny element i przejąć z pewnymi drobnymi poprawkami jego proces wytwarzania.

Generacyjne projektowanie procesu polega na opracowaniu procesu począwszy od form elementarnych poprzez syntezę czynności na coraz wyższym poziomie (zabieg elementarny, cykl obróbkowy, mocowanie, operacja, faza obróbki, proces wytwarzania).

Zakres efektywnego zastosowania każdej z tych metod projektowania można rozpatrywać w aspekcie różnorodności konstrukcyjnej i wytwórczej przedmiotów (rys. 2.3). W przypadku gdy różnorodność asortymentu jest niewielka, obrabiane części można pogrupować pod względem podobieństwa wytwórczego i stosować metody projektowania oparte na koncepcji technologii grupowej, bardzo efektywne, o największym zakresie automatyzacji, choć ograniczonej elastyczności, która w tym przypadku jednak nie jest konieczna.

Rys. 2.3. Obszary efektywnego zastosowania różnych metod programowania

W miarę zwiększania się różnorodności asortymentu zastosowanie znajdują metody hybrydowe, w których część funkcji realizowana jest techniką wariantową, natomiast pozostała część - techniką generacyjną. Metody generacyjne dominują w przypadku, gdy nie można wyodrębnić odpowiednio licznych grup wytwórczo podobnych. Duża różnorodność produkowanych przedmiotów wymusza dla każdego z nich indywidualny proces. Od metody programowania w tym przypadku wymaga się więc znacznej elastyczności i uniwersalności.

Ważnym wnioskiem, jaki można wyciągnąć z rys. 2.3, jest fakt stosowania zarówno metod wariantowych, jak i generacyjnych w całym zakresie automatyzacji programowania, począwszy od metod programowania ręcznego aż po metody w pełni automatyczne. Ręcznie opracowuje się zwykle program metodą generacyjną, lecz można także ręcznie opracować program grupowy, który jest formą projektowania wariantowego. Użycie cykli stałych jest kolejnym sposobem programowania wariantowego (cykl jest podprogramem parametrycznym). Używając cykli w powiązaniu z generacyjnym projektowaniem sekwencyjnej struktury programu, ma się do czynienia z przypadkiem programowania hybrydowego.

Z punktu widzenia zakresu automatyzacji w aspekcie różnorodności asortymentu produkcji można wyróżnić metody programowania: uniwersalne, specjalizowane i dedykowane (rys. 2.3).

Metody uniwersalne sa stosowane do wielofunkcyjnego programowania wytwarzania przedmiotów o różnorodnym kształcie.

Metody specjalizowane są przeznaczone do wspomagania projektowania wyodrębnionej klasy przedmiotów wytwórczo podobnych (koła zębate, wałki, kostki hydrauliczne itp.) oraz wyodrębnionych operacji wytwarzania dla określonej grupy obrabiarek. Do tego typu metod zalicza się m.in. oprogramowanie przeznaczone dla specyficznych metod obróbki, jak: wycinanie laserowe, mikroobróbka laserowa, grawerowanie, oraz dla specyficznych obrabiarek, jak: prasy krawędziowe, elektrodrążareki, wycinarki drutowe itp.

Metody dedykowane służą do programowania bardzo wąskiej grupy przedmiotów konstrukcyjnie i wytwórczo podobnych (tarcze hamulcowe, tuleje cylindrowe, koła pasowe itd.). Dedykowane metody programowania umożliwiają - stosunkowo niewielkim nakładem - uzyskanie najwyższego poziomu automatyzacji prac projektowych. Metody dedykowane obejmują najczęściej systemy parametryczne wykorzystujące zasady obróbki grupowej.

Klasyfikacja przedstawiona na rys. 2.3 nie wyczerpuje w pełni zagadnienia opisu różnorodności metod programowania. Należałoby tutaj wspomnieć zwłaszcza o takich kryteriach podziału, jak:

sposób podawania danych:

 – wsadowy,

 – dialogowy (konwersacyjny, interaktywny),

parametryzację:

 – parametryczne,

 – nieparametryczne,

wykorzystanie grafiki:

 – alfanumeryczne (bez grafiki),

 – z importem danych graficznych,

 – z własnym modułem CAD.

2.2. Programowanie ręczne

Przy programowaniu ręcznym program sterujący jest w całości redagowany bezpośrednio przez technologa programistę lub operatora obrabiarki. Komputer spełnia tutaj rolę maszyny do pisania, urządzenia do archiwizacji i transmisji programów sterujących.

Ta metoda programowania dominowała w latach siedemdziesiątych i osiemdziesiątych XX w., co wynikało głównie z niedostępności sprzętu komputerowego w tym okresie. Obecnie programowanie ręczne jest nadal często stosowane, zwłaszcza w przypadkach programowania bezpośrednio przy obrabiarce, obróbki części nietypowych, o dużych gabarytach, wykonywanych jednostkowo lub w krótkich niepowtarzalnych seriach, gdy dokumentacja o półfabrykacie jest niepełna lub nieścisła i nie istnieje w postaci elektronicznej. Należy tutaj zaznaczyć, że w zakładach, w których nie istnieje sprawny łańcuch automatycznego przepływu danych pomiędzy systemami CAD – CAPP – CAM, komputerowa automatyzacja programowania obrabiarek może okazać się nieefektywna.

Ręczne przygotowanie programu sterującego wymaga szczególnej uwagi w trakcie jego wdrażania (pierwszego uruchomienia). Zaleca się taki program poddać symulacji graficznej, a także uruchomić przebieg programu w trybie testowym i blok po bloku. Warto pamiętać, że stosowanie cykli stałych ogranicza możliwość popełniania pomyłek, zwłaszcza tych redakcyjnych. Stąd w programowaniu ręcznym, wszędzie tam gdzie jest to możliwe, zaleca się stosować cykle stałe.

Problemem w programowaniu ręcznym jest optymalizacja parametryczna. Często programista (operator) nie dysponuje dokładnymi informacjami dotyczącymi skrawalności materiału, jego twardości, a także nie zna rzeczywistych wielkości naddatków i ich dokładnego rozmieszczenia na poszczególnych powierzchniach. Rozwiązywaniu tych problemów służy możliwość generowania programu krok po kroku, w trybach MDA oraz TEACH-IN. Operator, obserwując proces skrawania, ma tutaj możliwość aktywnego doboru parametrów obróbki i optymalizowania ich do rzeczywistych warunków. Tak zredagowany program można następnie poddać optymalizacji strukturalnej i zapamiętać w archiwum.

2.3. Programowanie wspomagane komputerowo

Komputerowo wspomagane programowanie obrabiarek sterowanych numerycznie pojawiło się zaledwie kilka lat po zbudowaniu pierwszej tego typu obrabiarki w 1952 r. W pierwszym okresie rozwoju tej klasy oprogramowania, obejmującym lata do około 1980 r., największy wpływ wywarł system APT (ang. Automatically Programmed Tools). Opracowany w Massachusetts Institute of Technology system, podobnie jak komputery z tego okresu, był drogi, niedostępny, nieelastyczny. Wymagał najmocniejszych, wówczas osiągalnych, elektronicznych maszyn cyfrowych (APT-II (1958) - IBM704, APT-III (1961) – IBM7090). Używany w tym systemie bardzo rozbudowany język formalny, zawierający ok. 600 słów kluczowych, stał się w krótkim czasie pewnego rodzaju standardem. APT był wzorem, na podstawie którego opracowano szereg innych systemów (EXAPT, IFAPT, MINIAPT, NEL itp.) o podobnej strukturze, lecz mniej rozbudowanych i niewymagających tak dużych mocy obliczeniowych. Systemy tego okresu pracowały w trybie wsadowym. Wspomaganie grafiką komputerową było praktycznie niespotykane. Dlatego język programu źródłowego musiał zawierać szereg alfanumerycznych poleceń odnoszących się do opisu geometrii przedmiotu obrabianego i trajektorii ruchu narzędzia. Można więc wyróżnić w programie źródłowym podział na sekcje: definicji geometrycznych, definicji narzędzi oraz obróbkową. Przetwarzanie było zazwyczaj dwuprzebiegowe (rys. 2.4). Najpierw, na podstawie programu źródłowego, program komputerowy zwany procesorem generował tzw. plik CL-DATA zawierający zakodowane w sformalizowany, uniwersalny sposób, szczegółowe informacje o strukturze, parametrach i geometrii programu wytwórczego. Następnie postprocesor kodował program sterujący dla odpowiedniej obrabiarki z określonym układem sterowania numerycznego.

Rys. 2.4. Etapy generowania programu sterującego w tradycyjnych systemach CAM

Drugi okres obejmujący lata od 1980 do ok. 1995 był wynikiem przełomu, jaki dokonał się w wyniku upowszechnienia sprzętu mikrokomputerowego klasy PC. Rewolucyjny wpływ na możliwości tej klasy komputerów miało zastosowanie dysku twardego (1980 r.). Dzięki opracowaniu łatwych do nauki i prostych w użytkowaniu, pracujących pod systemem operacyjnym DOS języków programowania jak Basic, Pascal czy Prolog, szybko rosło grono programistów. Oprogramowanie tego okresu cechuje duża różnorodność, wąska specjalizacja i zazwyczaj ograniczone możliwości. Występował nadal brak możliwości realizacji funkcji eksportu/importu danych między różnymi systemami CAD, CAPP i CAM. Na szeroką skalę został wprowadzony konwersacyjny tryb pracy z aplikacją. Żywiołowemu rozwojowi systemów CAM zawdzięcza się względny spadek ceny tej klasy programów, co umożliwiło ich szerokie rozpowszechnienie, także w małych zakładach produkcyjnych oraz w szkolnictwie. Zaznaczył się również wpływ komputerowych systemów CAD/CAM (w postaci nakładek WOP) na rozwój samych układów sterowania numerycznego.

Obecny okres rozwoju komputerowego wspomagania generowania programów sterujących obejmuje lata po 1995 r. Nastąpiły istotne zmiany jakościowe nowej generacji oprogramowania systemowego i użytkowego. Podstawowe cechy pakietów oferowanych obecnie to:

sieciowy charakter oprogramowania, w tym powiązania z Internetem;

graficzny interfejs użytkownika (GUI) poprawiający ergonomiczność pracy, skracający czas opanowania systemu przez użytkownika;

wysoki stopień integracji (CIM) pozwalający na bezkonfliktowe współużytkowanie danych konstrukcyjnych, wytwórczych, produkcyjnych i marketingowych w ramach projektowania współbieżnego (CE);

wykorzystanie metodologii bazy wiedzy operującej na formach elementarnych (ang. features);

możliwość przetwarzania grafiki 3D;

coraz częstsze użytkowanie systemów doradczych opartych na przetwarzaniu bazy wiedzy, stosujących metodologie należące do dziedziny sztucznej inteligencji.

Obecnie dominująca wizualno-obiektowa generacja języków oprogramowania umożliwia szybką budowę interfejsu użytkownika, bezproblemową obsługę baz danych, wykorzystanie obszernych bibliotek procedur dotyczących funkcji systemowych sprzętu komputerowego (grafika, komunikacja z portami wejścia/wyjścia, obsługa Internetu itd.) oraz szybkie generowanie pakietów instalacyjnych. Języki te są obecnie częścią obszernych, wielofunkcyjnych platform programistycznych, integrujących środowisko oprogramowania.

Stopień automatyzacji metody programowania ma istotny wpływ na jej efektywność, elastyczność oraz zakres funkcjonalny.

W programowaniu automatycznym dane źródłowe są ograniczone wyłącznie do danych konstrukcyjnych z rysunku wykonawczego i ewentualnie danych dotyczących charakteru produkcji. Program jest w całości generowany automatycznie, z uwzględnieniem danych z baz danych (narzędziowych, materiałowych, obrabiarkowych i innych) i wiedzy z baz wiedzy o operacjach wytwarzania. Uwzględnienie charakteru produkcji warunkuje możliwość optymalizacji programu pod względem efektywności. Należy podkreślić, że pełna automatyzacja spotykana jest bardzo rzadko. Nawet jeśli system CAPP lub CAM korzysta tylko z danych rysunkowych (w postaci elektronicznej), to i tak najczęściej rysunek ten wymaga ręcznego przystosowania do wymogów systemu. Pełna automatyzacja często uniemożliwia wygenerowanie programu dla bardziej skomplikowanej części. Stąd szuka się raczej rozwiązań w metodach interaktywnych.

Przy programowaniu półautomatycznym dane źródłowe oprócz informacji o geometrii elementu zawierają także informacje o operacji wytwarzania (sugerowane narzędzia skrawające, kolejność zabiegów, parametry obróbki itp.). Komputer wykonuje tu tylko czynności pomocnicze. Programista ma pełną kontrolę nad programem. Przykładowe funkcje systemu komputerowego to: weryfikacja półfabrykatu, redagowanie cykli stałych, dobór narzędzi i parametrów obróbki, wyznaczanie ekwidystanty, ekonomiczny podział arkusza (przy wycinaniu), redagowanie i symulacja graficzna programu sterującego obrabiarką, obliczenie czasu maszynowego, tworzenie dokumentacji warsztatowej i inne.

3 Podstawy programowania OSN

3.1. Struktura programu sterującego

W układach sterowania numerycznego liczby służą do kodowania znaków w postaci sekwencji 8 bitów (bajtów). Za pomocą odpowiedniej tablicy kodów (EIA, ISO lub ASCII) wszystkie niezbędne dla zredagowania tekstu programu sterującego cyfry, litery i znaki specjalne są w układzie sterowania reprezentowane w najbardziej odpowiedniej formie - jako ciągi bitów. Programista lub operator obrabiarki widzi program sterujący w postaci tekstu alfanumerycznego. Wychodząc od elementarnej informacji, jaką jest 1 bit, można zilustrować budowę programu w postaci piramidy jak na rys. 3.1.

Rys. 3.1. Hierarchiczna struktura programu sterującego

Program sterujący w układzie sterowania SINUMERIK składa się ze słów, które oznaczają elementarne rozkazy (polecenia). Standardowo słowo jest złożone z adresu i wartości. Adres jest zapisany za pomocą jednej litery alfabetu (adres prosty) lub litery i cyfry (adres złożony). Wartość w słowie jest podana liczbą, zmienną lub złożonym wyrażeniem w postaci wzoru matematycznego. Między adresem złożonym a wartością oraz między adresem prostym a zmienną lub wyrażeniem występuje separator w postaci znaku równości „=”. W układzie sterowania SINUMERIK znak ten należy podawać dla wszystkich adresów złożonych z więcej niż jednej litery. Poza słowami w standardo-

wej postaci występują proste słowa kluczowe (jak np. STOPRE, DIAMOF itp.), instrukcje złożone, często sparametryzowane (obliczeniowe, rozgałęzień, pętli programowych, synchronizacji kanałów, akcji synchronicznych itp.) oraz komentarze. W układzie sterowania SINUMERIK tekst po znaku średnika „;” jest traktowany jako komentarz i ignorowany przez układ sterowania w trakcie przetwarzania programu.

Przykłady słów:

G0

X120.15

Z1=201.1 ; komentarz

S1=1800

Z=R55

Blok programu stanowi sekwencję słów i instrukcji zakończoną znakiem końca bloku „LF” (ang. Line Feed, kod ASCII: 10). Bloki mogą być opatrzone numerem kodowanym pod adresem N na początku bloku. W przypadku bloku warunkowego (bloki takie można wykluczyć z przebiegu programu) numer bloku jest poprzedzony znakiem ukośnika „/”.

Moduł programu to program główny, podprogram, cykl standardowy lub cykl użytkownika, a także zestawy danych do programu, które nie mogą być uruchamiane samodzielnie. Program główny uzupełniony - jeśli to konieczne - o pozostałe moduły stanowi kompletny program sterujący. Struktura prostego programu jest pokazana na rys. 3.2.

Rys. 3.2. Struktura prostego programu sterującego

Zaleca się, aby poszczególne słowa w bloku były uporządkowane w odpowiedniej kolejności. Poprawia to czytelność programu, co z kolei ułatwia jego analizę i modyfikację. Zalecana kolejność podstawowych adresów jest następująca:

N, G, X, Y, Z, I, J, K, F, S, T, D, M, H, L.

Numerowanie bloków nie jest niezbędne, choć jest zalecane. Innym, istotnym elementem poprawy czytelności programu jest umieszczenie w nim komentarzy.

Znaczenie podstawowych adresów:

A, B, C - oznaczenie osi obrotowych odpowiednio wokół osi: X, Y, Z,

D – numer rejestru danych ostrza narzędzia,

F – posuw w mm/obr dla G95 i G96, w mm/min dla G94 oraz postój czasowy

w sekundach dla G4,

G – funkcje przygotowawcze (decydujące o rodzaju ruchu i jego parametrach),

I, J, K - dodatkowe adresy geometryczne odpowiadające osiom: X, Y, Z,

L – numer podprogramu,

M – funkcje pomocnicze (załączanie/wyłączanie urządzeń, sterowanie przebiegiem

programu itp.),

N – numer bloku (można pominąć),

P – krotność wywołania podprogramu,

R – wywołanie lub deklaracja R-parametrów (patrz programowanie parametryczne),

S – stała prędkość skrawania w m/min dla G96, prędkość obrotowa wrzeciona

w obr/min dla G95 i G94 oraz postój czasowy w obrotach dla G4,

T – przywołanie narzędzia,

X, Y, Z - podstawowe adresy geometryczne.

Podstawowe funkcje przygotowawcze:

G0 - ruch jałowy szybki,

G1 - interpolacja linowa z posuwem F,

G2 - interpolacja kołowa zgodna z ruchem wskazówek zegara z posuwem F,

G3 - interpolacja kołowa przeciwna do ruchu wskazówek zegara z posuwem F,

G4 - postój czasowy programowany pod adresem F lub S,

G33 - nacinanie gwintu o stałym skoku,

G40 - odwołanie automatycznej kompensacji promienia,

G41 - automatyczna kompensacja promienia, lewostronna,

G42 - automatyczna kompensacja promienia, prawostronna,

G53 - odwołanie ustawczego przesunięcia punktu zerowego,

G54, G55, G56, G57 - ustawcze przesunięcie początku układu współrzędnych,

G70 - programowanie w calach,

G71 - programowanie w milimetrach,

G90 - programowanie w wartościach bezwzględnych,

G91 - programowanie przyrostowe,

G94 - posuw w mm/min i obroty wrzeciona w obr/min,

G95 - posuw w mm/obr i obroty wrzeciona w obr/min,

G96 - posuw w mm/obr i stała prędkość skrawania w m/min.

Przykładowe funkcje pomocnicze:

M0 - stop programu,

M1 - warunkowy stop programu,

M2 - koniec programu,

M3 - załączenie obrotów w kierunku zgodnym z ruchem wskazówek zegara,

M4 - załączenie obrotów w kierunku przeciwnym do ruchu wskazówek zegara,

M5 - wyłączenie obrotów wrzeciona,

M8 - załączenie chłodziwa,

M9 - wyłączenie chłodziwa,

M17 - koniec podprogramu,

M30 - koniec programu,

M70 - przełączenie wrzeciona w tryb pracy jako oś.

Przykładowe słowa kluczowe SINUMERIK:

SPOS = - uaktywnienie pozycjonowania wrzeciona,

SPOS[2] = - pozycjonowanie wrzeciona przechwytującego,

LIMS= - ograniczenie maksymalnych obrotów,

ANG = - ruch pod kątem względem odciętej,

CHR = - załamanie krawędzi,

RND = - zaokrąglenie krawędzi,

RNDM= - modalne zaokrąglenie krawędzi,

CR= - promień okręgu dla funkcji G2 i G3,

MSG(…) - wyświetlenie komunikatu,

TRANS – programowalne przesunięcie punktu zerowego,

GOTOF – skok w przód,

GOTOB – skok w tył,

DIAMON – programowanie wymiarów poprzecznych na średnicy,

DIAMOF – programowanie wymiarów poprzecznych na promieniu,

STOPRE – zatrzymanie czytania programu,

COUPON – załączenie synchronizacji pary wrzecion,

COUPOF – wyłączenie synchronizacji pary wrzecion,

INIT – wybór programu w innym kanale,

START – start programu w innym kanale,

WAITM – oczekiwanie na marker,

WAITE – oczekiwanie na zakończenie pracy w innym kanale,

ID – identyfikator rozkazu synchronicznego,

ADIS= - dopuszczalny promień zaokrągleń „ostrych” krawędzi.

  3.2. Opis przestrzeni roboczej obrabiarki

Oznaczanie osi w obrabiarkach sterowanych numerycznie, wyznaczanie ich wzajemnego położenia, kierunku oraz zwrotu zostało unormowane przepisami międzynarodowymi i normami krajowymi. Najważniejsze zasady to:

główne osie liniowe X, Y, Z przestrzennego układu współrzędnych tworzą prawo-skrętny układ kartezjański (rys. 3.3),

osie obrotowe wokół osi liniowych X, Y, Z oznacza się odpowiednio przez A, B, C,

oś Z pokrywa się z osią wrzeciona głównego obrabiarki (wrzeciona wykonującego główny ruch skrawania),

ruch względny narzędzia do przedmiotu obrabianego jest ruchem w kierunku ujemnym dla danej osi,

zwrot osi obrotowych wyznacza się, korzystając z reguły prawej dłoni (rys. 3.3),

w przypadku gdy przedmiot obrabiany wykonuje ruch wzdłuż danej osi, do oznaczenia tej osi dodaje się znak prim „ ' ” oraz zmienia jej zwrot (rys. 3.4),

drugorzędne osie liniowe równoległe do osi X, Y, Z oznacza się odpowiednio literami U, V, W.

Rys. 3.3. Układ prawoskrętny oraz zasada reguły prawej dłoni [21]

Rys. 3.4. Oznaczenie osi w poziomym, frezarsko-wytaczarskim centrum obróbkowym

Oznaczenia osi współrzędnych i kierunków ruchu zespołów roboczych obrabiarki są tak dobrane, aby programowanie obróbki było niezależne od tego, czy przemieszcza się narzędzie, czy przedmiot obrabiany. Zasada ta ułatwia przenoszenie programów między obrabiarkami o innych rozwiązaniach kinematycznych.

W przestrzeni obrabiarki wyróżniamy kilka punktów charakterystycznych. Punkt referencyjny (odniesienia) jest punktem stałym, wyznaczonym zgrubnie w danej osi najczęściej przez czujnik elektrostykowy, a dokładnie określonym przez zerowe położenie czujnika obrotowo-impulsowego. Najazd na punkt referencyjny jest wymagany, w przypadku gdy dana oś nie ma bezwzględnego systemu pomiarowego. Po najechaniu na punkt referencyjny R wyświetlacz pozycyjny osi podaje poprawne wskazania położenia osi w układzie maszynowym (MKS).

Początek maszynowego układu współrzędnych (punkt M, tzw. „zero maszyny”) jest definiowany przez producenta obrabiarki względem punktu referencyjnego. Położenie punktu referencyjnego w MKS w układzie sterowania SINUMERIK jest zapamiętane w osiowej danej maszynowej MD34100. W przypadku ręcznego pomiaru położenia punktu W (G54, G55, …) położenie punktu M powinno być znane operatorowi i precyzyjnie związane z charakterystycznymi elementami obrabiarki. Przy automatycznym pomiarze położenia punktu W punkt zaczepienia układu MKS jest nieistotny, gdyż w cyklu pomiarowym w obliczeniach brane jest pod uwagę znane sterowaniu położenie końcówki pomiarowej w układzie MKS oraz wymiary sondy pomiarowej. W szczególnych przypadkach punkty R i M mogą się pokrywać. Ustalając pozycję punktu kodowego w układzie MKS, należy posłużyć się funkcjami działającymi blokowo G53 lub SUPA. Przy aktywnym D0 nastąpi dodatkowo odwołanie kompensacji wymiarowej narzędzia.

Bazowe przesunięcie punktu zerowego B uaktywniane jest funkcją G500. W większości standardowych ustawień punkt B pokrywa się z punktem M. W konsekwencji funkcję G500 można wtedy traktować jako modalne odwołanie do punktu M.

Punkt zerowy związany z przedmiotem obrabianym W (współrzędne przedmiotu) stanowi początek układu współrzędnych WKS. Jego położenie jest podawane względem punktu B. Odwołanie się do punktu W następuje poprzez uaktywnienie jednej z modalnych funkcji: G54, G55, G56, G57, oraz ewentualnie dalszych funkcji G505, G506, …, G599, o ile są uaktywnione w konfiguracji układu sterowania. Określenie położenia punktu W może nastąpić:

ręcznie, bezpośrednio przez operatora w tablicy punktów zerowych (Menu select → Parametry → PPZ),

półautomatycznie, w cyklu pomiarowym w trybie JOG,

automatycznie, w cyklu pomiarowym standardowym, cyklu producenta obrabiarki lub własnym cyklu użytkownika,

programowo, z użyciem zmiennej $P_UIFR(n, oś, TR), gdzie: n - numer PPZ, oś - symbol osi, TR - słowo kluczowe (przesunięcie).

Punkt odniesienia narzędzia F jest związany z nośnikiem narzędzia. Jego położenie pokrywa się z punktem kodowym „narzędzia zerowego”, tzn. narzędzia o zerowych wymiarach geometrycznych. Aktualna pozycja punktu F jest na bieżąco dostępna na ekranie monitora układu sterowania jako wskazania MKS.

Punkt kodowy K jest punktem związanym z ostrzem aktywnego narzędzia. Położenie punktu K jest bezpośrednio kodowane w programie sterującym. Jego aktualna pozycja (bez poprawek wynikających z kompensacji promienia ostrza) jest na bieżąco dostępna na ekranie monitora układu sterowania jako wskazania WKS. Dodatkowo początek aktualnie obowiązującego układu współrzędnych można przemieszczać programowo poleceniem TRANS lub ATRANS.

Jak wynika z rys. 3.5, suma wektorów poprowadzonych od punktu M przez punkty B, W, K, do punktu F jest równa wektorowi MF. Jest to zasadnicze równanie przestrzeni roboczej obrabiarki. Zależność ta może być wykorzystywana zarówno do określenia wymiarów narzędzia, gdy są one nieznane (rys. 3.6), jak i do pomiaru położenia punktu W, w tzw. funkcji zadrapania (rys. 3.7). Wymiar odniesienia, MK (rys. 3.6) lub WK (Rys. 3.7), może być na przykład rozmiarem płytki wzorcowej lub grubością szczelinomierza.

Rys. 3.5. Punkty charakterystyczne w przestrzeni roboczej tokarki

Rys. 3.6. Określenie wymiaru (długości) narzędzia

Rys. 3.7. Wyznaczanie położenia punktu W metodą zadrapania

3.3. Kompensacja promienia narzędzia skrawającego

Kompensacja promienia narzędzia skrawającego jest jednym z istotniejszych, a zarazem trudniejszych zagadnień, jakie musi opanować programista obrabiarki. Problem wynika z faktu niepokrywania się punktu kodowego narzędzia z zarysem krawędzi skrawającej bezpośrednio odwzorowującym kształt obrabianej powierzchni (rys. 3.8).

Rys. 3.8. a) Błąd kształtu wynikający z niepokrywania się punktu kodowego ostrza noża z zarysem krawędzi skrawającej; b) poprawki kompensacyjne niwelujące błąd kształtu

Zagadnienie to należy rozpatrywać osobno dla przypadku kompensacji promienia frezu oraz ostrza noża tokarskiego. W pierwszym przypadku punkt kodowy narzędzia znajduje się na osi obrotu frezu. Poprowadzenie punktu kodowego po torze ekwidystanty (linia równoodległa od konturu), przesuniętej względem obrabianego konturu o rzeczywisty promień narzędzia, jest więc dla zabiegu frezowania konturowego rozwiązaniem problemu (rys. 3.9).

Rys. 3.9. Ekwidystanta zarysu obrabianego konturu