![]() |
CNC Edward Dawidowicz |
|
CNC programowanie
Aby w powyższym stwierdzeniu nie doszukiwać się dwuznaczności dodaję, każdy, kto ma odrobinę samozaparcia, dociekliwości oraz niezbędne minimum wiedzy z geometrii. Należy pamiętać, że umiejętność poprawnej obsługi nie wymaga od użytkownika dogłębnej znajomości działania maszyny, podobnie jak nikt od nas nie wymaga, abyśmy wiedzieli jak działa wiele urządzeń powszechnie używanych - telefon, pilot, telewizor czy wręcz samochód, którym jeździmy. Zadaniem użytkownika jest używanie ich zgodnie z przeznaczeniem, a w maszynach i urządzeniach obserwacja porawności ich działania. Trudno wymagać od operatora, aby posiadł od razu wszystkie umiejetności związane z obsługą maszyny, podobnie jak początkujący kierowca wiedzę swą pogłębia przez zdobyte doświadczenie. Niemniej, zarówno kierowca, jak i operator muszą umieć rozpoznać niewłaściwe zachowanie sprzętu który użytkują. Podobnie jest z pisaniem programów do maszyny - trzeba od czegoś zacząć, by móc się nauczyć. Rozpocznijmy od najprostrzych informacji projektowania torów narzędzia w maszynach o 3 osiach sterowanych, czyli planujemy przejazd maszyny w kierunkach X, Y, Z, gdzie X i Y są ruchami wzdłuż w poprzek stołu, Z jest ruchem góra-dół. Programy maszynowe, realizowane są zgodnie z kolejnością poleceń zawartych w liniach (blokach) programu. Każdy program ma podobną konstrukcję: Jeśli obróbka elementów odbywa się na tym samym miejscu na stole i są one identycznie mocowane (np. na ssawkach) - sekwencja startowa jest zawsze taka sama. Podobnie jest z sekwencją końcową. Zostawmy je do dalszej analizy. Najistotniejszym fragmentem programu maszynowego jest opis toru narzedzia. Tego typu opis jest to ciąg poleceń wydawanych maszynie, za pomocą instrukcji (G code) Zawsze musimy wydać polecenie wskazujące punkt rozpoczęcia obróbki ( polecenie G0 ), a potem kolejno wskazujemy następne punkty do których ma podążać narzędzie. Narzędzie porusza się najkrótszą drogą od punktu do punktu, możemy jednak wybrać czy tor narzędzia jest odcinkiem (polecenie G1) czy łukiem ( polecenia G2 i G3). W przypadku wyboru łuku jako drogi narzędzia, musimy wskazać promień łuku i wybrać kierunek jego obróbki: G2 - maszyna wykona łuk zgodnie z kierunkiem wskazówek zegara G3 - maszyna wykona łuk przeciwnie do kierunku wskazówek zegara Maszyna wykonuje obróbkę poruszjąc się po liniach prostych lub łukach. Pozostaje nam tylko wskazanie głębokości, na której pracuje narzędzie. W zasadzie to wszystko. Dość trudno jest napisać program, szczególnie rozbudowany, jeśli nie ma możliwości weryfikacji jego poprawności. Aby ułatwić Wam pierwsze kroki, proponuję zainstalować symulator CNC. Jest to darmowa wersja edytora kodu maszynowego, dająca możliwość analizy poprawności programu w oknach graficznych, wymagająca od użytkownika cyklicznego "tankowania paliwa" ( raz na kwartał). Po lewej stronie - strona cncsimulator, po prawej widok symulatora po zainstalowaniu. ![]() Kod możemy wczytać, edytować bezpośrednio w oknie tekstowym lub wkleić, skopiowany z iinego pliku. W zakładce Simulate/Detail settings ustawiamy wymiary obrabianego półfabrykatu: Lenght X 300, Width Y 300. Na razie wystarczy. Poniżej zamieściłem kody toru narzędzia wyodrębnione kolorami nienieskim, zielonym i czerwonym. Skopiujcie je wprost ze strony, łącznie z komentarzami do okna tekstowego symulatora i uruchomcie symulację. UWAGA: zamieszczone poniżej programy mają charakter poglądowy. Mają na celu wprowadzenie czytającego w logikę programów sterujących maszynami CNC. G0 X0 Y0 ; ( X=0mm Y=0mm ) punkt początku frezowania G1 Z-5 G1 X0 Y200 ; ( X=0mm Y=200mm ) wspolrzedna następnego punktu G1 X100 Y200 ; ( X=100mm Y=200mm ) G1 X100 Y0 ; ( X=100mm Y=0mm ) G1 X0 Y0 ; ( X=0mm Y=0mm ) Identyczny przejazd uzyskamy wpisując: G0 X0 Y0 ; punkt początku frezowania G1 Z-5 G1 Y200 ; wspolrzedna następnego punktu G1 X100 G1 Y0 G1 X0 lub G0 X0 Y0 ; punkt początku frezowania G1 Z-5 Y200 ; wspolrzedna następnego punktu X100 Y0 X0 ![]() Łatwo zauważyć, że mimo różnic w zapisie, wywołują one jednakowe działamia. W programach sterujących maszynami, jest wiele instrukcji i zmiennych, które mają charakter modalny, tzn. obowiązują do odwołania lub zmiany ich wartośći. Nasuwa tu się analogia do znaków zakazu - obowiązują do zmiany ich wartoći lub odwołania, są też takie, które obowiązują w określonym miejscu. Kierując się czytelnością programu, piszmy w blokach wszystkie wartości- łatwiej się program analizuje, szczególnie przy programach obszernych, których nie widzimy na jednej stronie edytora. Maszynie jest to obojętne, za to można uniknąć pomyłek. Kolejny przykład pokazuje, jak można rozmieścić obróbkę takiego samego programu, w różnych miejscach obrabianej płyty. Przekopiujcie całą treśc ( kolor purpurowy) do symulatora. Dolna i lewa krawędź konturu zaprojektowane zostały w wartościach X=0 i Y=0. Zmianę miejsca położenia toru narzędzia uzyskuje się przez przesunięcie położenia punktu zerowego układu współrzędnych. T2 G0 X0 Y0 ; ( X=0mm Y=0mm ) punkt początku frezowania G1 Z-5 G1 X0 Y200 ; ( X=0mm Y=200mm ) wspolrzedna następnego punktu G1 X100 Y200 ; ( X=100mm Y=200mm ) G1 X100 Y0 ; ( X=100mm Y=0mm ) G1 X0 Y0 ; ( X=0mm Y=0mm ) G1 Z10 G92 X75 Y25 ;przesunięcie zera układu współrzędnych ( X=150mm Y=50mm ) G0 X0 Y0 ; ( X=0mm Y=0mm ) punkt początku frezowania G1 Z-3 G1 X0 Y200 ; ( X=0mm Y=200mm ) wspolrzedna następnego punktu G1 X100 Y200 ; ( X=100mm Y=200mm ) G1 X100 Y0 ; ( X=100mm Y=0mm ) G1 X0 Y0 ; ( X=0mm Y=0mm ) G1 Z10 G92 X150 Y50 ;przesunięcie zera układu współrzędnych ( X=150mm Y=50mm ) G0 X0 Y0 ; ( X=0mm Y=0mm ) punkt początku frezowania G1 Z-10 G1 X0 Y200 ; ( X=0mm Y=200mm ) wspolrzedna następnego punktu G1 X100 Y200 ; ( X=100mm Y=200mm ) G1 X100 Y0 ; ( X=100mm Y=0mm ) G1 X0 Y0 ; ( X=0mm Y=0mm ) G1 Z10 ![]() Instrukcja G92 użyta w tym celu w programie została zastosowana wyłącznie do demonstracji działania. Programowe przeunięcie zera, jest realizowane różnie, np. TRANS X50 Y100 Z20 ( Reichenbacher SINUMERIK ), O X=50 Y=100 Z=20 ( SCM program Xilog3). Nie ma programów działających na wszystkich maszynach. Maszyny tego samego producenta, mogą różnić się kodami. Wynika to z rozwoju konstrukcji, możliwośći technicznych maszyny jak i rozwoju układów sterujących. Pozostaje nam jedynie zdefiniować tory krzywoliniowe. G0 X0 Y0 ; ( X=0mm Y=0mm ) punkt początku frezowania G1 Z-5 G1 X0 Y200 ; ( X=0mm Y=200mm ) wspolrzedna następnego punktu G2 X100 Y200 R50 ; ( X=100mm Y=200mm ) G1 X100 Y0 ; ( X=100mm Y=0mm ) G1 X0 Y0 ; ( X=0mm Y=0mm ) G1 Z10 G92 X75 Y25 ;przesunięcie zera układu współrzędnych ( X=150mm Y=50mm ) G0 X0 Y0 ; ( X=0mm Y=0mm ) punkt początku frezowania G1 Z-3 G1 X0 Y200 ; ( X=0mm Y=200mm ) wspolrzedna następnego punktu G3 X100 Y200 R50 ; ( X=100mm Y=200mm ) G1 X100 Y0 ; ( X=100mm Y=0mm ) G1 X0 Y0 ; ( X=0mm Y=0mm ) G1 Z10 G92 X150 Y50 ;przesunięcie zera układu współrzędnych ( X=150mm Y=50mm ) G0 X0 Y0 ; ( X=0mm Y=0mm ) punkt początku frezowania G1 Z-10 G1 X0 Y200 ; ( X=0mm Y=200mm ) wspolrzedna następnego punktu G2 X100 Y200 R70 ; ( X=100mm Y=200mm ) G1 X100 Y0 ; ( X=100mm Y=0mm ) G1 X0 Y0 ; ( X=0mm Y=0mm ) G1 Z10 ![]() Jeśli zmnieniając parametry opisanych powyżej figur, uzyskujecie oczekiwane rezultaty, możecie traktowć to, jako wystarczjący wstęp do programowania maszyn. Wycinanie konturów jest w zasadzie proste : rozpoczynamy obróbkę w żądanym punkcie, następnie krok po kroku opisujemy tor narzędzia używając poleceń interpolacji liniowej (G!) lub kołowej (G2, G3). Wszystkie dotychczasowe programy, maszyna realizowałaby, jadąć osią (srodkiem) narzędzia po wskazanych liniach. Co zrobić aby wyciąć zaprojektowany kształt od strony zewnętrznej lub wewnętrznej? Narzędzie musi poruszać się torem równoległym do konturu, czyli z lewej lub prawej strony linii konturu. Lewą i prawą stronę zawsze definiujemy w stosunku do kierunku poruszania się narzędzia, nie jego obrotu lub rysunku. Mamy dwie możliwości: 1. projektujemy tor narzędzia odsunięty od konturu o odległośc równą promieniowi użytego narzędzia. G0 X0 Y-10 G41 G1 Y0 G1 Z-5 G1 Y200 G1 X200 G1 Y0 G1 X0 G40 G1 Z10 G1 X-20 Polecenie G41, każe jechać maszynie po lewej stronie linii, polecenie G40 przywraca ruch narzędzia srodkiem po torze. Zwykle MUSIMY dopisać linie dojazdu do wycinanego konturu, np. powyzej materiału: G0 X0 Y-10 G41 G1 Y0 W tej części maszyna korygowała się do jazdy po torze z poleceniem G41. W punkcie początku konturu obniżamy narzędzie, i wycinamy kontur: G1 Y0 G1 Z-5 G1 Y200 G1 X200 G1 Y0 G1 X0 W punkcie końca konturu wunurzamy narzędzie, i dopisujemy odjazd po torze bez korekcji: G40 G1 Z10 G1 X-20 Spróbójcie przy realizacji tego programu użyć polecenia G42 (zamiast G41). Narzędzie pojedzie po prawej stronie linii - wytnie kontur od wnętrza. G41 G0 X0 Y-10 G1 Z-5 G1 Y200 G1 X200 G1 Y0 G1 X0 G40 G1 Z10 G1 X-20 Niewłaściwie wpisane polecwenie korekcji, może spwodować blędne wykonanie konturu(kieszeni), uszkodzenie kształtu w punkcie początku i końca, np. przykład 1 G42 G0 X20 Y20 Z-2 G1 Y120 G1 X120 G1 Y20 G1 X20 G40 przykład 2 G41 G0 X20 Y20 Z-2 G1 Y120 G1 X120 G1 Y20 G1 X20 G40 Ufam. że przybliżyłem Wam zaady programowania torów jazdy narzędzi. Zdaję sobie sprawę, że pisanie programu w edytorze tekstowym, jest dość uciążliwe, niemniej dla prostych konturów - bardzo proste. Bardziej skomplikowane kształty łatwiej jest zaprojektować w programie CAD, a następnie przekonwertować na program maszynowy . |
|
![]() |
![]() |