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

6) G kody niemodalne

G kody niemodalne

W poprzednim wpisie mówiłem o G kodach modalnych, czyli takich, które raz wpisane będą aktywne dopóki nie zostaną odwołane prze inny G kod z danej grupy. Jest jeszcze grupa G kodów. Są to kody nie modalne,  po angielsku One-Shot G-Codes , co można przetłumaczyć jako G kody jednostrzałowe:).

Po wpisaniu G kodu z tej grupy, będzie on aktywny tyko w tym bloku, w którym został zapisany. W następnym bloku będzie aktywny G kod z bloku poprzedzającego wpisanie G kodu niemoralnego.

Najlepszym przykładem One-Shot G-Code jest G4.

G4 to kod, który mówi maszynie, że narzędzie ma stanąć w miejscu przy włączonych obrotach przez określony czas

Np.:

GIF

Jak widzisz G4 było aktywne tylko w bloku N30, w N40 G1 było kontynuowane z bloku N20.

Pod spodem przedstawiam tabelę G kodów z podziałem na grupy:

G kody niemodalne

GRUPYG KODY   
GRUPA 0G04G09G10G28
GRUPA 1G31G32

Dziękuję za twój czas. Mam nadzieję, że przyda Ci się ten wpis.

Pozdrawiam PrzemoCNC

5) G kody modalne

Są to G kody które pozostają aktywne w programie, dopóki nie zostanie zaprogramowany inny G kod z tej samej grupy.

Tylko jeden G kod  z danej grupy może być aktywny w danym czasie, podczas pracy.

G0, G1, G2, G3 są z tej samej grupy i nie da się wpisać G1 G2 X50 Z50, To tak jakbyśmy jechali samochodem i chcieli w jednym czasie skręcić w lewo i w prawo, nie da się i już .

G54,G55 G56, G58 … to jest grupa pracy układu współrzędnych, za ich pomocą wczytuje się punkty zerowe detalu zapisane w offsecie. Nie da się ich połączyć  ze sobą, ale możemy ich połączyć z inną grupą.

Np.: G54 G0 X50 Z1 (wczytałem punkt zerowy detalu i kazałem pojechać ruchem szybkim na fi 50, 1mm przed materiałem)

G kody będą aktywne dopóki nie zostaną odwołane przez inny G kod z danej grupy.

N10 G0 X200 Z1              (Najazd szybki G0 aktywne)

N20 G1 Z- 10  F200       (Ruch roboczy G1 aktywne, G0 wyłączone)

N30 X210 Z-15                (Narzędzie ciągle porusza się ruchem roboczym G1  z posuwem F zaprogramowanym w bloku N20)

N40 G0 Z100     Szybki odjazd w osi Z  ( G0 aktywne, G1 wyłączone)

Jak widzisz w bloku N20 G1 zostało włączone i było kontynuowane w bloku N30 podobnie jak posuw F, dopiero w bloku G1 zostało zastąpione przez G0. Było by identycznie gdybyśmy zamiast G1 użyli G2 lub G3, a to dla tego, że wszystkie te kody są z jednej grupy.

Pod spodem tabela G kodów modalnych z podziałem na grupy

G kody modalne

GRUPY G KODY      
GRUPA 1 G00 G01 G02 G03 G12 G13
GRUPA 2 G17 G18 G19
GRUPA 3 G90 G91
GRUPA 4 G40 G41 G42
GRUPA 5 G94 G95
GRUPA 6 G20 G21
GRUPA 7G70G71G72
GRUPA 8 G43 G44 G49
GRUPA 9 G53 G54G55G56G57G58G59
GRUPA 10G96G97
GRUPA 11G15G16

Mam nadzieję, że przydał Ci się ten wpis. Pamiętaj  jeśli byłem choć trochę pomocny daj mi znać w komentarzu. Do zobaczenia w następnym wpisie.

Pozdrawiam PRZEMOCNC.