Frezowanie otworów i fasolek emc2 g-code

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
Mateusz-M
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 341
Rejestracja: 20 gru 2009, 13:28
Lokalizacja: lubelskie

Frezowanie otworów i fasolek emc2 g-code

#1

Post napisał: Mateusz-M » 22 mar 2012, 23:09

Witam.
Dziś chciałem zrobić fasolkę na bloku łożyskującym ślimak w 4-osi lecz poległem :sad: , ciągle wyskakuje komunikat: promień końca rożni się od promienia początku. Gdy podam R2 które jest wyświetlone w błędzie to maszyna zacznie pracować lecz nie jest to promień który chce zrobić. Proszę o pomoc.
Co do otworów/okręgów to podaje początek, promień o posuw np. g2 x200 i25 f30.
Poprawnie to raczej nie jest ale działa.
Więc jak ktoś coś wie i chce sie podzielić to pisać a ja punkcikami sie podziele :grin:
Pozdrawiam



Tagi:

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 7887
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#2

Post napisał: tuxcnc » 23 mar 2012, 07:23

A mozesz wytłumaczyć dlaczego umieściłeś ten wpis w dziale LinuxCNC ?
Czyżby LinuxCNC był przyczyną tego, że nie znasz komend G2/G3 i nie wiesz co oznaczają poszczególne parametry ?

Komendy G2 i G3 nakazują ruch roboczy z miejsca w którym maszyna się znajduje do podanego miejsca po luku o podanym promieniu i środku.
Jak się wpisze głupoty, to maszyna się zbuntuje, ale przyczyną jest matematyka a nie LinuxCNC.
Po prostu nie wszędzie da się dojechać po określonym okręgu, co powinno być oczywiste.

http://linuxcnc.org/docs/html/gcode_mai ... 2,-G3:-Arc

.


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 16251
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#3

Post napisał: kamar » 23 mar 2012, 21:20

Tu masz procedurkę na kanałek pod NGCGUI.

Kod: Zaznacz cały

( ------------------------------ ) 
(         K A N A L E K          ) 
( ------------------------------ ) 
( Kamar                          ) 
( Time-stamp: <2012-01-24 14:26> ) 
( ------------------------------ ) 

(info: Frezowanie kanału ) 

o<kanalek> sub

#<frez> = #1 (=8 frez) 
#<dlugosc> = #2 (=20 długość) 
#<glebokosc> = #3  (=10 głębokość ABS ) 
#<glebokosc_poczatkowa> = #4  (=0 głębokość poczatkowa ) 
#<skok> = #5 (=2 skok) 
#<sr_kanalu> = #6 (=8 śr. kanału)  
#<predkosc_bok> = #7 (=60 prędkość bok) 
#<predkosc_dol> = #8 (=40 prędkość dół) 
#<srednica_lba> = #9 (=0 średnica łba) 
#<glebokosc_lba> = #10 (=0 głębokość łba) 

( ------------------------------ ) 
( ------------------------------ ) 

g17 g21 g61
g0 x0 y0
g0 z2
m3 s1
m8

#<glebokosc> = [#<glebokosc> * -1] ( koncowy Z ) 
#<sr_kanalu> = [[#<sr_kanalu> / 2] - [#<frez> / 2]] 
#<akt_glebokosc> = #<glebokosc_poczatkowa> ( aktualna glebokosc ) 

o99 if [#<dlugosc> gt 0] 
  #<znak> = 1
o99 else
  #<znak> = -1
o99 endif

o100 while [#<akt_glebokosc> GT #<glebokosc>] 
     #<akt_glebokosc> = [#<akt_glebokosc> - #<skok>] ( ustalenie glebokosci ) 

     ( jezeli nizej limitu to jade max ) 
     o110 if [#<akt_glebokosc> LT #<glebokosc>] 
     	  #<akt_glebokosc> = #<glebokosc> 
     o110 endif
		 
     g0 z[#<akt_glebokosc> + #<skok> + 0.5] 
     G1 Z#<akt_glebokosc> F#<predkosc_dol> ( dobieranie poczatkowe ) 

     o120 if [#<sr_kanalu> gt 0] 
        g1 y[#<sr_kanalu> * #<znak> * -1] F#<predkosc_bok> 
        g2 x[#<sr_kanalu> * #<znak> * -1] y0 r#<sr_kanalu> 
        g2 y[#<sr_kanalu> * #<znak>] x0 r#<sr_kanalu> 
     o120 endif
     G1 x#<dlugosc> F#<predkosc_bok> ( kopanie fasolki ) 
     o130 if [#<sr_kanalu> gt 0]     
        g2 x[#<dlugosc> + [#<sr_kanalu> * #<znak>]] y0 r#<sr_kanalu> 
        g2 y[#<sr_kanalu> * #<znak> * -1] x#<dlugosc> r#<sr_kanalu> 
     o130 endif

     g1 x0
     g1 y0
		 
o100 endwhile

g0 z2

#<glebokosc_lba> = [#<glebokosc_lba> * -1] ( koncowy Z lba ) 
#<srednica_lba> = [#<srednica_lba> - #<frez>] 
#<akt_glebokosc> = 0
o200 while [#<akt_glebokosc> GT #<glebokosc_lba>] 
     #<akt_glebokosc> = [#<akt_glebokosc> - #<skok>] ( ustalenie glebokosci ) 
     o210 if [#<akt_glebokosc> LT #<glebokosc_lba>] 
     	  #<akt_glebokosc> = #<glebokosc_lba> 
     o210 endif
     g0 z[#<akt_glebokosc> + #<skok> + 0.5] 
     G1 Z#<akt_glebokosc> F#<predkosc_dol> ( dobieranie poczatkowe ) 

     g1 y[#<srednica_lba> * #<znak> * -1] F#<predkosc_bok> 
     g2 x[#<srednica_lba> * #<znak> * -1] y0 r#<srednica_lba> 
     g2 y[#<srednica_lba> * #<znak>] x0 r#<srednica_lba> 
     G1 x#<dlugosc> F#<predkosc_bok> ( kopanie fasolki ) 
     g2 x[#<dlugosc> + [#<srednica_lba> * #<znak>]] y0 r#<srednica_lba> 
     g2 y[#<srednica_lba> * #<znak> * -1] x#<dlugosc> r#<srednica_lba> 

     g1 x0
     g1 y0
o200 endwhile

g0 z2

o<kanalek> endsub

Obrazek

Obrazek

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”