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:

O100
(KANALEK CZOLOWY FI60, L10)
G0 X59
Z1
G1 Z-6 F0.1
G0 Z1
X53
G1 Z-7.8
G0 Z1
X49
G1 Z-6
G0 Z1
X44
G1 Z0 F0.2
G3 X48 Z-2 R2
G1 Z-6
G2 X52 Z-8 R2
G1 X55
G0 Z1
X64
G1 Z0
G2 X60 Z-2 R2
G1 Z-6
G3 X56 Z-8 R2
G1 X54
G0 Z10
M99
GIF

To jest program na detal 1:

O0001
(PRZYKLAD ZASTOSOWANIA PODPROGRAMU DETAL 1)
T0101 G55
G50 S1200
G96 S100 M3
G0 X105 Z0
G1 X-1 F0.15
W1
G0 X96
G1 Z0 
X 100 Z-2
Z-15
G2 X127.85 Z-29.96 R15
G3 X131.09 Z-31.01 R2
G1 X157.66 Z-56.28
G3 X162.45 Z-64.52 R20
G1 Z-105
U1
G0 Z1
G28 U0 W0
M1
(NOZ DO KANALKOW CZOLOWY 4MM)
T0303 G55
G96 S40 M3
M98 P100            (wywołanie podprogramu O100)
G28 U0 W0
M30
GIF

To program na detal 2:

O0002
(PRZYKLAD ZASTOSOWANIA PODPROGRAMU DETAL 2)
T0101 G55
G50S1200
G96S100M3
G0X80 Z0
G1X-1 F0.15
W1
G0X74.26
G1Z-39.06F0.3
G3X72.8Z-40.6 R2
G1X66Z-43.41
G2X64.54Z-44.95R2
G1Z-53.09
G2X65.96Z-54.61R2
G1X72.84Z-57.53
G3 X74.26Z-59.06 R2
G1Z-60.13
G2X80.26 Z-63.13 R3
G1X88.26
G3 X94.26 Z-66.75 R3
G1Z-80
U1
G0Z1
G20U0W0
M1
(NOZ DO KANALKOW CZOLOWY 4MM)
T0303G55
G96S40M3
M98P100      (wywołanie podprogramu O100)
G28 U0 W0
M30
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

11) Po co są cykle obróbcze

Cykle obróbcze. Czym są i po co ich używać?

Fanuc, Haas, Sinumeric, Pronum itd…. Wszystkie to oprogramowania mają wspólną cechę, można na nich pisać programy cyklami. Tylko właściwie dlaczego  i co to są te całe cykle?

Ja osobiście jestem wielkim zwolennikiem pisania programów cyklami. Jeśli już zrozumiesz zasady pisania w ten sposób, to będziesz chciał ich używać gdzie tylko się da.

Pracowałem kiedyś z ustawiaczem CNC. Podczas przeglądania programów zauważyłem, że w żadnym programie używanym przez niego nie było cykli. Zapytałem go, dlaczego? On mi odpowiedział, że kiedyś tam pracował na nich ale, że to wcale nie ułatwia, a wręcz utrudnia. Jak się później okazało, nie chodziło o to, że były nie potrzebne. On ich nie rozumiał. Dopiero jak mu wszystko wytłumaczyłem, zaczął pomału składać programy z ich użyciem. Teraz używa ich bez przerwy.

Plusy używania Cykli obróbczych

Cykle sprawiają, że życie programisty staje się łatwiejsze:

  • Ułatwiają zarządzanie programem (łatwiej  odnaleźć interesujące nas bloki gdy program jest krótki)
  • Programy zajmujące po kilkaset bloków są skracane do zaledwie kilku
  • Skracają czas pisania programu (wystarczy kontur końcowy, po podstawieniu go do cyklu maszyna sama zapętla ścieżki w określony sposób)
  • Zwiększają produktywność (podczas pisania nie jesteśmy w stanie określić jakimi parametrami obrabiać detal- posuw, głębokość skrawania, odjazdy, zwłaszcza jeśli podobny detal nie był nigdy obrabiany. Pisząc z ręki trzeba poświęcić mnóstwo czasu żeby wklepać program, a potem jeśli coś nam nie będzie pasować trzeba będzie wszystko kasować lub całkowicie zmieniać. W przypadku cykli wystarczy zmienić jeden parametr i tyle.
  • Ułatwiają optymalizację (podobnie jak wyżej, wystarczy zmienić parę parametrów i program idzie znacznie szybciej)
  • Wprowadzają ład i porządek w strukturze programu
  • Programy zajmują mniej miejsca w pamięci maszyny( Przykładowy program może ważyć np. 30Kb, po zastosowaniu cykli ten sam program zmniejszy się powiedzmy do 3Kb lub mniej)
  • Łatwa edycja programu
  • Części lepiej obrobione na gotowo, zwiększenie żywotności narzędzia (Większość maszyn w cyklu gwintowania używa techniki zmniejszania głębokości skrawania w każdym następnym przejściu. Przy dużym skoku ma to ogromne znaczenie)

Cykle bardzo ułatwiają życie programistom i tak naprawdę ciężko znaleźć minusy, ale dla chcącego nic trudnego:

Minusy używania Cykli obróbczych

  • Programowanie jest uzależnione od algorytmów zapisanych w maszynie
  • Cykle nawet w tym samym oprogramowaniu różnią się od siebie. Wystarczy że wersja będzie inna. Oczywiście nie jest to zasadą
  • Nie wszyscy programiści lub ustawiacze rozumieją zapis cyklami
  • Problemy z przeprowadzeniem symulacji na komputerze. Rzadko które oprogramowanie to potrafi.
  • Specyficzne zachowanie narzędzi w cyklach (W Fanucu, cykl G71, G72, pod koniec toczenia konturu jeśli nie zapisze się odpowiednio odjazdu narzędzia, występuje ryzyko kolizji)

Trochę na siłę te minusy, ale jakieś tam są. Aczkolwiek są one nieporównywalne do plusów.

Teraz pokażę Ci dwa programy na ten sam detal, jeden napisany z ręki, a drugi za pomocą cyklu.

 

Tak wyglądają bloki programu.

(SCIEZKI Z CYKLU G71)
(PRZEMOCNC)
N30 G55 T0101
N40 G0 X90 Z1 M08
N50 G0 X92
N60 G1 Z-15.9 F0.3
N70 X94 Z-14.9
N80 G0 Z1
N90 X90
N100 G1 Z-14.9
N110 X92 Z-13.9
N120 G0 Z1
N130 X88
N140 G1 Z-14.9
N150 X90 Z-13.9
N160 G0 Z1
N170 X86
N180 G1 Z-14.9
N190 X88 Z-13.9
N200 G0Z 1
N210 X84
N220 G1 Z-14.9
N230 X86 Z-13.9
N240 G0 Z1
N250 X82
N260 G1 Z-14.9
N270 X84 Z-13.9
N280 G0 Z1
N290 X80
N300 G1 Z-14.803
N310 X82 Z-13.803
N320 G0 Z1
N330 X78
N340 G1 Z-14.242
N350 X80 Z-13.242
N360 G0 Z1
N370 X76
N380 G1 Z-12.205
N390 X78 Z-11.205
N400 G0 Z1
N410 X74
N420 G1 Z-11.180
N430 X76 Z-10.180
N440 G0 Z1
N450 X72
N460 G1 Z-10.154
N470 X74 Z-9.154
N480 G0 Z1
N490 X70
N500 G1 Z-9.129
N510 X72 Z-8.129
N520 G0 Z1
N530 X68
N540 G1 Z-8.103
N550 X70 Z-7.103
N560 G0 Z1
N570 X66
N580 G1 Z-7.078
N590 X68 Z-6.078
N600 G0 Z1
N610 X64
N620 G1 Z-6.053
N630 X66 Z-5.053
N640 G0 Z1
N650 X62
N660 G1 Z-5.027
N670 X64 Z-4.027
N680 G0 Z1
N690 X60
N700 G1 Z-4.002
N710 X62 Z-3.002
N720 G0Z 1
N730 X58
N740 G1 Z-2.976
N750 X60 Z-1.976
N760 G0 Z1
N770 X56
N780 G1 Z-1.951
N790 X58 Z-0.951
N800 G0 Z1
N810 X54
N820 G1 Z-0.925
N830 X56 Z0.075
N840 G0 Z1
N850 X52
N855 G1 Z0
N860 G1 X76.38 Z-12.4
N870 G2 X81.38 Z-14.9 R2.5 
N880 G1 X90
N890 X92 Z-15.9
N900 G0 Z1
N910 
N920 (NA GOTOWO)
N930 G0 X50
N940 G1 Z0 F0.2
N950 X74.38 Z-12.5
N960 G2 X79.38 Z-15 R2.5
N970 G1 X88
N980 X90 Z-16
N990 G0 Z1
N1000 G28 U0 W0
N1010 M30
GIF

Tak wygląda ten sam detal, ścieżki wyglądają też identycznie, tylko że napisany jest cyklem G71.

(PRZYKLAD CYKLU G71)
(PRZEMOCNC)
N30 G55 T0101
N40 G0 X90 Z1 M08
N50 G71 U1 W1 R1
N60 G71 P70 Q120 U2 W0.1 F0.3
N70 G0 X50
N80 G1 Z0 F0.2
N90 X74.38 Z-12.5
N100 G2 X79.38 Z-15 R2.5
N110 G1 X88
N120 X90 Z-16
N125 (NA GOTOWO)
N130 G70 P70 Q120 F0.2
N140 G28 U0 W0
N150 M30

Jest różnica prawda :).

Mam nadzieję, że przyda ci się ten wpis. Zasady pisania cyklami, wyjaśnienie poszczególnych parametrów i przykładowe programy dla poszczególnych oprogramowań podam w następnych wpisach. G71, G70

Jeśli pomogłem Ci chociaż trochę, daj  znać. Dobrze mieć świadomość, że nie piszę tego sam dla siebie.

Pozdrawiam PRZEMOCNC

10) Blok programu

Co to jest blok programu?

Jeśli czytałeś moje poprzednie wpisy, wspominałem tam o czymś takim jak bloki. Ale właściwie, co to w ogóle jest ten BLOK ?

Każdy program, nieważne w jakim oprogramowaniu, nieważne jaka nakładka jest zainstalowana na maszynie, a nawet nieważne , czy to jest tokarka, frezarka lub szlifierka. Jeśli jest sterowana CNC, program będzie składał się z bloków.

Bloki programu CNC

Każdy program zawiera ciąg bloków połączonych ze sobą,  jeden pod drugim tworząc  instrukcję dla maszyny/narzędzi.  Maszyna wykonuje operacje blokami, tzn. nie wczytuje słów pojedynczo, tylko całą linię (blok ) na raz.  A co to są te słowa?

Z czego składa się blok programu?

Tak wygląda przykładowy blok programu

N10 G1 X60 Z1 F200 M8

Jak widać blok składa się ze słów oddzielonych od siebie spacjami.
Słowa składają się z liter i cyfr. Cyfry przy różnych literach mają inne znaczenie.
Na powyższym przykładzie widać że słowa składają się z liter N, G, X, Z, F, M, oraz odpowiednio przypisanych cyfr 10,1,60,1,200,8 .
Te słowa są to rozkazy, komendy itp..
Zawierają bardzo cenne informacje dla maszyny i jak dałeś radę zauważyć jest ich mnóstwo. Niektóre są standardowe i powtarzają się na każdej maszynie CNC, ale jest też sporo słów zmieniających się w zależności  od maszyny lub oprogramowania.

Więc jeśli chce się już pracować z CNC wypadało by znać, przynajmniej te najczęściej używane komendy.
Wyjaśnię teraz co oznaczają poszczególne komendy na przykładzie powyższego bloku.
Tak więc zacznę o N

N10- jest to numer bloku.

Z nimi jest tak jak z numerami kartek w książkach, niby nie są potrzebne, ale bardzo ułatwiają życie . Wprowadzają porządek w programie. Moglibyśmy ich nie używać, maszyna i tak by czytała program, moglibyśmy nawet numerować nie po kolei, maszyna i tak by sobie poradziła. Ale po co sobie utrudniać życie, jeśli jest coś co może je nam ułatwić J.
Będą one potrzebne zwłaszcza jeśli byśmy chcieli pisać program cyklami.
Można numerować bloki co jeden, ale najwygodniejszym rozwiązaniem jest co 5 lub 10.
Często jest tak że jak pisze program i w trakcie przepuszczania okazuje się że trzeba coś dopisać między blokami. Jeśli numery są co jeden, trzeba przenumerować cały program,  a jeśli co 5 wystarczy dopisać N o jeden lub dwa większy niż poprzedni.

Następny jest G kod
Nie da się napisać programu bez G kodów . Można powiedzieć że są one najważniejszą częścią bloku.
G kody wyjaśniałem we wcześniejszych wpisach. W sumie o każdym z nich można by napisać osobny wpis i chyba to zrobię później. Opiszę każdy kod z osobna, podając przy tym sposób zapisu i rodzaj zastosowania.
G kod użyty w tym przypadku to G1, czyli interpolacja liniowa, to znaczy że mówisz maszynie, że ma jechać po linii prostej na określone pozycje z zadanym posuwem.

Pozycje określamy poprzez zapisanie X60 Z1.

Układ współrzędnych w tokarce wygląda tak:

Tak więc nóż zatrzyma się w tym miejscu:

W frezarce osie wyglądają tak :

Zresztą osie w frezarce najlepiej obrazuje poniższy obrazek.  Nieważne czy wrzeciono jest pionowo czy poziomo. Kciuk jest osią Z. Jeśli frezarka jest pionowa kciuk do góry.

W przypadku poziomej układ wygląda tak

Tak więc frez zatrzyma się tu:

Wartości X, Z, Y podawane są w mm lub calach, w zależności od tego jak zdefiniujemy.

F200 to posuw z jakim chcesz żeby narzędzie się poruszało. Na tokarce posuw podajemy w mm/Obr, na frezarkach mm/ min.

M8 czyli załączenie chłodziwa. Po co są M kody opisywałem we wcześniejszym wpisie.  W skrócie opisują one zachowanie maszyny podczas obróbki lub przygotowanie maszyny do niej.  Wszystkie M kody obsługiwane przez maszynę powinny się znajdować w instrukcjach dołączonych do maszyny.

Oczywiście nie wyczerpałem wszystkich możliwych poleceń, które można zapisać w bloku, będę je podawał po kolei w następnych wpisach. Aczkolwiek myślę że dość wyraźnie wyjaśniłem o co  chodzi z tymi blokami.

Mam nadzieję, że przyda Ci się ten wpis. Jeśli tak nie zapomnij napisać w komentarzu. Jeśli gdzieś znalazłeś błąd, proszę daj mi znać, żeby mniej doświadczeni od ciebie nie musieli uczyć się głupot.

 

9) M kody tabela

Witam

Pod spodem przedstawiam tabelę M kodów. Jeżeli chcesz całą listę działających M kodów na twojej maszynie, musisz sprawdzić w książce dołączonej do maszyny. Te tutaj są podstawowe.

M kody dla tokarek

M kodOpis
M00Program stop
M01Program stop opcjonalnie
M02Koniec programu
M03Włączenie obrotów wrzeciona zgodnie z ruchem wskazówek CW
M04Włączenie obrotów wrzeciona przeciwnie do ruchu wskazówek CCW
M05Obroty stop
M08Chłodziwo włącz
M09Chłodziwo wyłącz
M29Tryb sztywnego gwintowania
M30Koniec programu (reset)
M40Neutralne przełożenie w skrzyni biegów
M41Niski bieg w skrzyni biegów
M42Wysoki bieg w skrzyni biegow
M68Hydrauliczne szczęki zamknięcie
M69Hydrauliczne szczęki otwarcie
M78Konik do przodu
M79Konik do tyłu
M94Anulowanie odbicia lustrzanego
M95Lustrzane odbicie w osi x
M98Wezwanie podprogramu
M99Koniec podprogramu

M kody dla frezarek

M kodOpis
M00Program stop
M01Program stop opcjonalnie
M02Koniec programu
M03Włączenie obrotów wrzeciona zgodnie z ruchem wskazówek CW
M04Włączenie obrotów wrzeciona przeciwnie do ruchu wskazówek CCW
M05Obroty stop
M06Zmiana narzędzia
M07Chłodzenie włączone – Mgiełka/Chłodzenie przez wrzeciono
M08Chłodziwo włącz
M09Chłodziwo wyłącz
M19Pozycjonowanie wrzeciona
M28Powrót do początku
M29Sztywne gwintowanie
M30Koniec programu (Reset)
M41Wybór niskiego przełożenia w skrzyni biegów
M42Wybór wysokiego biegu w skrzyni biegów
M94Anuluj lustrzane odbicie
M95Lustrzane odbicie w osi X
M96Lustrzane odbicie w osi Y
M98Wezwanie podprogramu
M99Koniec podprogramu

Do zobaczenia następnym razem.

Pozdrawiam PrzemoCNC

8) Tabela G kody

Pod spodem przedstawiam najczęściej używane G  kody.

Są one podstawowe i nie powinny się różnić w większości maszyn ze sterowaniem Fanuc. W następnych wpisach będę starał się załączyć podobne tabele, z tą różnicą, że dla każdego oprogramowania z osobna, sam Fanuc ma 3 wersje kodów.
Te podane tutaj są dla Fanuc OT. Systematycznie będę dodawał przykłady ich zastosowania. Po dodaniu wstawię linki dla każdej funkcji z osobna.

G kody dla tokarek

G kodOpis
G00Szybki przesów
G01Interpolacja liniowa
G02Interpolacja kołowa zgodna z ruchem wskazówek zegara CW
G03Interpolacja kołowa przeciwna do ruchu wskazówek zegara CCW
G04Zwłoka czasowa
G09Dokładne zatrzymanie
G10Programowalne wprowadzanie danych
G20Wprowadzanie w calach
G21Wprowadzanie w milimetrach
G22Zabroniona strefa aktywna
G23Zabroniona strefa wyłączona
G27Kontrola powrotu do punktu referencyjnego
G28Powrót na punkt referencyjny maszyny
G32Nacinanie gwintu o stałym skoku
G40Anulowanie kompensacji promienia narzędzia
G41Włączenie kompensacji promienia narzędzia lewostronny
G42Włączenie kompensacji promienia narzędzia prawostronny
G70Cykl wykańczający
G71Cykl toczenia po średnicy
G72Cykl planowania
G73Cykl powtarzania wzoru
G74Cykl wiercenia
G75Cykl kanałkowania
G76Cykl gwintowania
G92Ustawienie współrzędnych, ograniczenie obrotów wrzeciona
G94Posuw mm na minutę
G95Posuw mm na obrót
G96Stała prędkość skrawania
G97Odwołanie stałej prędkości skrawania

G kody dla frezarek

G kodOpis
G00Szybki przejazd
G01Ruch roboczy
G02Interpolacja kołowa zgodna z ruchem wskazówek zegara CWI
G03 Interpolacja kołowa przeciwna ruchowi wskazówek zegara CCW
G04Zwłoka czasowa
G05.1 Q1. Precyzyjna kontrola konturu
G07.1 Interpolacja cylindryczna
G09Dokładne zatrzymanie niemodalny
G10Wprowadzanie danych programowalnych
G11Odwołanie funkcji G10
G17Płaszczyzna główna X/Y i oś podłużna Z
G18Płaszczyzna główna Z/X oś podłużna Y
G19 Płaszczyzna główna Y/Z oś podłużna X
G20Wprowadzanie danych w calach
G21Wprowadzanie danych w milimetrach
G28Powrót do punktów referencyjnych maszyny
G30Powrót do drugiego trzeciego i czwartego punktu referencyjnego
G33Frezowanie gwintu, skok stały
G34Frezowanie gwintu, skok zmienny
G40Anulowanie kompensacji promienia narzędzia
G41Włączenie kompensacji promienia narzędzia lewostronny
G42Włączenie kompensacji promienia narzędzia prawostronny
G43 Włączenie kompensacji długości narzędzia +
G44Włączenie kompensacji długości narzędzia -
G49Anulowanie kompensacji długości narzędzia
G52Lokalny układ współrzędnych
G53Baza maszynowa (punkt zerowy maszyny)
G54Przesunięcie punktu zerowego maszyny 1
G55Przesunięcie punktu zerowego maszyny 2
G56Przesunięcie punktu zerowego maszyny 3
G57Przesunięcie punktu zerowego maszyny 4
G58Przesunięcie punktu zerowego maszyny 5
G59Przesunięcie punktu zerowego maszyny 6
G54.1 od P1 do P48Przesunięcie punktu zerowego maszyny
G65 Wywołanie Makra niemodalne
G66 Wywołanie Makra Modalne
G66.1Wywołanie Makra Modalne wersja 2
G67Odwołanie funkcji G66, G66.1
G68Rotacja współrzędnych
G69Odwołanie rotacji współrzędnych
G73Wiercenie z łamaniem wióra
G74Gwintowanie lewego gwintu z uchwytem kompensującym
G76Wytaczanie wykańczające
G80Wykasowanie cyklu
G81Wiercenie, nawiercanie
G82Wiercenie z przerwą czasową na dnie
G83Wiercenie z od-wiórowaniem
G84Gwintowanie prawego gwintu z uchwytem kompensującym
G85Rozwiercanie
G86Wytaczanie z zatrzymaniem wrzeciona przy wycofaniu
G87Wytaczanie w ruchu powrotnym
G88Wytaczanie z ręcznym wycofaniem narzędzia z otworu
G89Wytaczanie z przerwą czasową na dnie
G90Programowanie absolutne
G91Programowanie przyrostowe
G92Ustawienie współrzędnych, ograniczenie obrotów wrzeciona
G98Wycofanie narzędzia na płaszczyznę początkową
G99Wycofanie narzędzia na płaszczyznę retrakową

To by było dzisiaj na tyle. Zapraszam ponownie.

Pozdrawiam Przemocnc

 

7) Przedstawiam wam M kody

Zapewne przeczytałeś już moje poprzednie wpisy o G kodach. Odpowiadają one za tory ruchu, prędkości z jakimi narzędzie ma się poruszać, jakie obroty mają być załączone.

Innym bardzo ważnymi kodami, bez których maszyna nie będzie w stanie wykonać prawidłowo poleceń są M kody. Można powiedzieć, że kody te kontrolują  sprzęt komputerowy odpowiedzialny za prawidłowe działanie maszyny i programu.

M kody odpowiedzialne za prawidłowe działanie progamu

Dzięki M kodom możemy zatrzymać program :

warunkowo (M1-program  zatrzyma się, jeśli na pulpicie będzie wciśnięty przycisk  „Option Stop”), bezwarunkowo ( M0- program zatrzyma się w miejscu umieszczenia tego M kodu, aż operator nie naciśnie  Cycle Start)

Można określić koniec programu (M2), a nawet zakończyć program i przewinąć go do początku (M30- najczęściej używany M kod na koniec programu)

M kody odpowiedzialne za prawidłowe działanie maszyny

Jak już wyżej pisałem M kody odpowiedzialne są za prawidłowe działanie programu i maszyny, a w sumie to większość M kodów jest odpowiedzialna za działanie maszyny.

Zacznę od obrotów. Pewnie pomyślisz jak to od obrotów, przecież pisał że obroty włącza się G kodem „G97” i podaje wartość obrotów „S300”. W sumie tak, ale musimy powiedzieć maszynie w którą stronę wrzeciono ma się kręcić. Za to odpowiadają dwie funkcje M.

M3-włącza obroty zgodne z ruchem wskazówek zegara

M4- włącza obroty przeciwne do ruchu wskazówek zegara

Tak więc prawidłowy blok do włączenia obrotów wygląda tak

G97 S300 M3 –zostały załączone obroty 300obr/min zgodne z ruchem wskazówek zegara

M5- wyłącza całkowicie obroty

Większość tokarek posiada przekładnię, dzięki której możemy określić przełożenie, podobnie jak w samochodzie.

M40- bieg jałowy (Neutralny)

M41- Najniższy bieg

M42,M43, M44- Wyższe biegi

Ile maszyna ma biegów i jakie obroty ona osiągnie na danym biegu, jest zapisane w książce obsługi maszyny.

Napisałem że maszyna ma biegi jak samochód, ale nie do końca działają one w ten sam sposób.
Samochód rozpędzamy od najniższego do najwyższego biegu.W maszynie na początku programu musimy wiedzieć na jakim zakresie obrotów chcemy pracować. Zakresy obrotów powinny być podane w książce obsługi dołączonej do maszyny.

M kodami włącza sięchłodziwo (M8) , lub go wyłączyć (M9).

Pod spodem przedstawiam tabelę z najczęściej używanymi M kodami na tokarkach.

M kodOpis
M00Program stop
M01Program stop opcjonalnie
M02Koniec programu
M03Włączenie obrotów wrzeciona zgodnie z ruchem wskazówek CW
M04Włączenie obrotów wrzeciona przeciwnie do ruchu wskazówek CCW
M05Obroty stop
M08Chłodziwo włącz
M09Chłodziwo wyłącz
M29Tryb sztywnego gwintowania
M30Koniec programu (reset)
M40Neutralne przełożenie w skrzyni biegów
M41Niski bieg w skrzyni biegów
M42Wysoki bieg w skrzyni biegow
M68Hydrauliczne szczęki zamknięcie
M69Hydrauliczne szczęki otwarcie
M78Konik do przodu
M79Konik do tyłu
M94Anulowanie odbicia lustrzanego
M95Lustrzane odbicie w osi x
M98Wezwanie podprogramu
M99Koniec podprogramu

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.:

N10 G0 X200 Z0    (Szybki najazd przed materiał G0 aktywne)

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

N30 G4 X3         (Postój w miejscu przez 3 sek. G4 aktywne)

N40 X210          (Ruch roboczy, G1 aktywne, włączone w bloku N20)

N50 G0 Z1         (Szybki odjazd, G0 aktywne)
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