12) Podprogramy

Cały świat idzie do przodu. Aby za nim nadążyć programiści i ustawiacze muszą ciągle szukać nowych technik i sposobów obróbki. Jedną z nich jest stosowanie podprogramów.

Co to są podprogramy? Jak i  po co się ich używa? Czy rzeczywiście ułatwiają one pracę programisty?
Na te pytania będę starał się dzisiaj odpowiedzieć.

Co to jest podprogram?

Jak ci to powiedzieć? Podprogram to prostu program :). Nie potrzebujesz znać jakichś tajnych G lub M kodów do napisania podprogramu. Pisze się je prawie tak samo jak programy. Na początku trzeba  nadać numer, do ruchów używa się tych samych słów co w programach. Znajdują się one w tym samym folderze .
No dobra to na czym polega różnica?
Program to ciąg blogów, po wykonaniu których z maszyny zdejmujemy gotowy detal. Natomiast podprogram służy do wykonania tylko kawałka detalu. Może to być kanałek, otwór, profil, cokolwiek. Jeśli dany kontur powtarza się w programie lub mamy kilka detali pozornie całkiem innych ale użyty jest w nich identyczny kanałek, nie ma potrzeby za każdym razem pisać go od nowa.
W podprogramach nie podaje się narzędzia ani bazy. Wszystko to jest określone w programie. Podprogram to czyste ścieżki narzędzia.
Program kończy się M30, a podprogram M99.

Jak wywołać podprogram 

Aby wywołać podprogram, w bloku docelowym wpisujemy M98 P1. Przy czym P1 to numer podprogramu. Jeśli program nazywa się o0001 to wpiszemy P1 jeśli O0123 to wpiszemy P123. W tym momencie zostaniemy przeniesieni do podprogramu. Co więcej możemy wywołać podprogram do podprogramu, a nawet podprogram do podprogramu, który już jest wywołany w podprogramie.  Aż do czwartego stopnia. Taka incepcja w świecie CNC :).
Podprogram będzie wykonywany do momentu, aż w bloku pojawi się funkcja M99. Natychmiast zostaniemy przeniesieni do głównego programu, który będzie kontynuowany.

W Sinumeriku i Pronumie podprogramy spełniają jeszcze jedną bardzo ważną funkcję.  Podaje się w nich ścieżki narzędzia potrzebne w cyklach.

W podprogramach bardzo często wykorzystuje się programowanie parametryczne. Co to jest i jak się pisze parametrami? To temat na osobny wpis, ale w skrócie za pomocą parametrów określamy współrzędne.

Przykład wywołania podprogramu

Detal 1 wygląda tak:

Detal 2 wygląda tak:

Jak widzisz dwa różne detale, mają jedną cechę wspólną: taki sam kanałek czołowy.

Tak wygląda podprogram na ten kanałek:

GIF

To jest program na detal 1:

GIF

To program na detal 2:

GIF

Czas jest najcenniejszą rzeczą jaką mamy. Nie marnujmy go bez potrzeby, zwłaszcza, że w dzisiejszym świecie jest mnóstwo udogodnień które mogą go oszczędzić. W świecie CNC takimi udogodnieniami są cykle i podprogramy.

Miało być krótko, trochę się przedłużyło. Mam nadzieję że przyda ci się ten wpis.

Dziękuję Ci, że poświęciłeś swój cenny czas na przeczytanie tego artykułu.
Pozdrawiam Przemocnc

4 Replies to “12) Podprogramy”

  1. Witam. Kilka miesięcy temu zacząłem przygodę z programowaniem na ponad dwudziestoletniej frezarce haas . Pisze /rysuje głównie na komputerze bo na klawiaturze jest mi prościej. Często zdarza mi się planowanie materiału na kilka, kilkanaście mm w płaszczyźnie Z.
    Nie za bardzo wiem gdzie i pod jakimi hasłami szukać porady i proszę o zrozumienie 🙄
    Podaje przykład:
    G0 x-50. Y0.
    G0 z-1. F300.
    G1 x50.
    G0 z10.

    G0 x-50. Y0.
    G0 z-2.
    G1 x50.
    G0z10.


    G0 x-50.y0.
    G0z-10.
    G1x50.
    G0z10.

    I tak kopiuje to w edytorze 10 razy i w każdej linijkę obniżam tylko Z. Czy istnieje jakaś możliwość żeby raz napisać współrzędne gdzie ma glowiczka sobie jeździć, i zadać jej żeby po każdym przejeździe się obniżyła o ten jeden mm?

    Z góry dziękuję za wszelkie podpowiedzi i pozdrawiam Karol

    1. Rozwiązaniem idealnym dla ciebie będzie stosowanie programowania parametrycznego. W jednym komentarzu nie da się tego tak szybko wyjaśnić. W sumie podsunąłeś mi pomysł na kilka wpisów. Tymczasem musisz się posiłkować Google. Wpisz w wyszukiwarce programowanie parametryczne Hass .

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.