Programowanie maszyn sterowanych numerycznie CNC, podstawy programowania parametrycznego dla sterowników FANUC i Sinumerik, porady, wskazówki, przydatne wzory i tabele, podstawy obsługi aplikacji CAD/CAM oraz symulatorów CNC.

G02, G03 - interpolacja kołowa

G02, G03 – interpolacja kołowa

Wykonywanie łuków za pomocą interpolacji kołowej G02/G03, jest jedną z podstawowych czynności programistycznych dla obrabiarek CNC. Kluczem do prawidłowego zaprogramowania takiej obróbki jest znajomość kilku elementów :
Tabela otworów pod gwint

Tabela otworów pod gwint

Otwory pod gwinty – tabela doboru wierteł pod gwinty
Alfabet CNC

Alfabet CNC

Znajomość alfabetu CNC, czyli gkodu (g code) , jest czymś, bez czego nie można myśleć o profesjonalnym programowaniu maszyn CNC. Oczywiście bycie dobrym programistą to również posiadanie wiedzy z zakresu materiałoznawstwa, czy matematyki, ale gkod jest swego rodzaju ‚spoiwem’, które łączy wszystkie te elementy w jedną, funkcjonalną całość – program....


Jako ciekawostka, bardzo prosty przykład zastosowania programowania parametrycznego i funkcji zapętlania IF-THEN-ELSE.
 
W powyższej operacji kanał frezowany był na głebokość 50 mm. Cała obróbka wykonana głowiczką high-feed o średnicy ∅=20 mm, której Ap wynosi 0,5 mm. Łatwo więc wyliczyć, że całkowita ilość przejazdów to 100 powtórzeń. Oczywiście pisanie kodu dla każdego z przejazdów mija się z celem. Można sobie poradzić, wpisując całą ścieżkę dla jednego przejazdu w osobnym podprogramie, np. L100, a następnie w programie głównym wykonać P100 powtórzeń.
 
Można również napisać kilka linijek kodu w głównym programie. Kodu opartego na parametrach, wykonującego całą operację w pętli IF-THEN-ELSE. :

.. 
N100 R0=0.5 R1=50      // nasze Ap i głębokość kanału 
N105 R2=R0             // parametr R2 dla naszego wewnętrznego 
                          użytku 
N110 G91 G0 Z=-R0      // przejazdy
N115 G90 G1 X150 
N120 G90 G0 X0 
N125 R2=R2+R0          // inkrementacja parametru R2 o Ap=R0 
N130 123 R2 R1 K-100   // nasza instrukcja IF-THEN-ELSE i 
                          ewentualny skok na początek pętli
N135 .. 

Instrukcja IF-THEN-ELSE sprawdza aktualną głębokość naszego kanału R2. Jeśli jest ona mniejsza od zadanej końcowej głębokości R1, następuje przeskok do K-100 (skok do góry do N100), natomiast jeśli jest ona większa, to pętla zostaje przerwana i program przechodzi do następnej lini.

Jak wspomniałem na początku, przykład jest najprostszy z możliwych. Nie uwzględnia ∅ naszego narzędzia, ani nie gwarantuje wykonania kanału z dokładną głębokością (błąd wykonania równy jest w tym przypadku naszemu Ap i wynosi 0.5mm). Jednakże gdyby wzbogacić go o te dodatkowe funkcje i umieścić całość kodu w oddzielnym podprogramie np. L101, otrzymalibyśmy własne makro, które moglibyśmy z powodzeniem wykorzystywać przy frezowaniu różnej wielkości kanałów, podając za parametry początkowe jedynie wysokość R0 i głębokość R1 kanału, np R0=30 R1=60 L101 P1 – tak jak to ma miejsce w rzeczywistym przykładzie z załączonego filmiku.

Oczywiście do wykonania powyższej operacji można również użyć innych instrukcji, jak chociażby WHILE, czy FOR-TO. Sądzę, że będzie to idealny temat do samodzielnego przećwiczenia.

Poprzedni wpisProgramowanie parametryczne #2.2 (Sinumerik) Nastepny wpisObróbka skrawaniem - podstawowe informacje i wzory

Skomentuj

Musisz by zalogowany by moc komentowa..