Suby ngcgui

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

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

Re: Suby ngcgui

#91

Post napisał: kamar » 08 sty 2019, 19:46

Przydatny subik wiercenia na tokarce

Kod: Zaznacz cały

( ------------------------------ )
(       W I E R C E N I E  G1    )
( ------------------------------ )
( Kamar                          )
( Time-stamp: <2019-01-07 13:59> )
( ------------------------------ )

(info: wiercenie )

o<wiercenie_g1> sub

#<nr> = #1 (=1 numer narzędzia)
#<obr> = #2 (=200 obroty)
#<odboczka> = #3 (=0 <> odboczka)
#<z_poczatkowe> = #4 (=0 z początkowe)
#<z_koncowe> = #5 (=-15 z końcowe)
#<z_wyjazd> = #6 (=5 z wyjazd)
#<skok> = #7 (=5 skok)
#<posuw> = #8 (=0.2 posuw)
#<wyjazd> = #9 (=20 wyjazd końcowy)
#<woda> = #10 (=1 <> chłodzenie)

o9 if [#<posuw> gt 1 ]
  (msg, Za du┼╝y posuw!)
  m2
o9 endif

o1 if [#<woda> eq 1]
  M8
o1 endif

o2 if [#<odboczka> eq 1]
  #<obr> = [#<obr> * 8]
o2 endif
M6 T#<nr> G43
m3 s#<obr>

g0 z#<wyjazd>
g0 x0

#<akt_z> = #<z_poczatkowe>

g0 z#<akt_z>

o100 while [#<akt_z> gt #<z_koncowe>]
  #<akt_z> = [#<akt_z> - #<skok>]
  o120 if[#<akt_z> lt #<z_koncowe>]
    #<akt_z> = #<z_koncowe>
  o120 endif

  g1 z#<akt_z> f#<posuw>
  g0 z#<z_wyjazd>
  g0 z[#<akt_z> + 1]
  g1 z#<akt_z> f#<posuw>

o100 endwhile

g0 z#<wyjazd>

o<wiercenie_g1> endsub 



Tagi:


szary11
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 9
Posty: 377
Rejestracja: 16 lut 2011, 22:44
Lokalizacja: Tarnogród

Re: Suby ngcgui

#92

Post napisał: szary11 » 08 sty 2019, 20:20

Wydaje mi się że gdzieś kiedyś wstawiałem,
wiercenie ze sterowalnym urwaniem wióra, oczywiście tokarka:

Kod: Zaznacz cały

	
( ------------------------------ )
(       W I E R C E N I E   2    )
( ------------------------------ )
( Adam                           )
( Time-stamp: <2018-06-10 13:33> )

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

(info: wiercenie )

o<wier> sub

#<glebokosc> = #1 (=-15 Glebokość wiercenia)
#<skok> = #2 (=2 Co ile urwanie)
#<cofniecie_urwania> = #3 (=0.5 Cofnięcie przy urwaniu)
#<skok_cof> = #4 (=5 Co ile wycofanie)
#<predkosc> = #5 (=30 prędkosć)
#<wyjazd> = #6 (=60 wyjazd koncowy)
#<woda> = #7 (=0 <> chłodzenie)
#<nr> = #8 (=12 nr narzędzia)

M6 T#<nr> G43

g61
g17
m3 s500 
o1 if [#<woda> eq 1]
   M8
o1 endif

g0 z10

g0 z2


o90 if [#<skok_cof> gt 0]  (właczone wyrzucanie wiora)

#<aktualna_glebokosc> = 0
#<nowy_start> = #<aktualna_glebokosc>
o95 while [#<aktualna_glebokosc> gt #<glebokosc>]
	
	#<aktualna_glebokosc> = [#<aktualna_glebokosc> - #<skok_cof>]
	o96 if[#<aktualna_glebokosc> le #<glebokosc>]
		#<aktualna_glebokosc> = #<glebokosc>
	o96 endif
	
	g1 z#<nowy_start> F#<predkosc>
	o100 if [#<skok> gt 0]  (wlaczone urywanie wiora)

		#<aktualna_glebokosc_urywania> = #<nowy_start>
		
		o110 while [#<aktualna_glebokosc_urywania> gt #<aktualna_glebokosc>]
			
			#<aktualna_glebokosc_urywania> = [#<aktualna_glebokosc_urywania> - #<skok>]
				
			o97 if[#<aktualna_glebokosc_urywania> le #<aktualna_glebokosc>]
				#<aktualna_glebokosc_urywania> = #<aktualna_glebokosc>
			o97 endif
			g1 z[#<aktualna_glebokosc_urywania>]  F#<predkosc> 							(wierc az do kolejnego urwania)
			g0 z[#<aktualna_glebokosc_urywania> + #<cofniecie_urwania>]  	(urwij i wycofaj na zdefiniowana odlegosc)
			g0 z[#<aktualna_glebokosc_urywania> + 0.1]  					(powroć na pozycje do kontunowania wiercenia _ offset 0.1 mm)
			
		o110 endwhile
		
	o100 else
		g81 z#<aktualna_glebokosc> R#<nowy_start> F#<predkosc>
	o100 endif
	
	
	#<nowy_start> = #<aktualna_glebokosc>
	g0 z2    (wyrzucenie wior)
	g0 z[#<nowy_start> + 0.5]  (powrot nowy start zeby kontynuowac)
	
o95 endwhile

o90 else

	o101 if [#<skok> gt 0]  (wlaczone urywanie wiora)
	g73 z#<glebokosc> R2 Q#<skok> F#<predkosc>
	o101 else
	g81 z#<glebokosc> R2 F#<predkosc>
	o101 endif


o90 endif


g80

m5 m9
g0 z#<wyjazd>
m2
o<wier> endsub 


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

Re: Suby ngcgui

#93

Post napisał: kamar » 08 sty 2019, 20:27

Może przegapiłem :)
Mnie bardziej zależało na pełnym wyjeżdzie bo części robocze wiertla króciutkie.
No i wjazdy po ew. przerwaniu. Na karteluszku przy maszynie mam zapisane -370, tyle wpiszę rano w "Z początkowe" i jazda dalej :)

Awatar użytkownika

Autor tematu
senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 98
Posty: 1459
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: Suby ngcgui

#94

Post napisał: senio » 08 sty 2019, 20:55

Patrzyłeś coś z tą drutówką do ostrzenia ?. Ja zrobiłem tego z frezarki i wszystko nawet jest ok, ale X przybiera na minus a musi na plus. A tego ja już nie zrobię. Doraźnie dla sprawdzenia na X postawiłem ptaszka na kierunek i jest OK, dziła i ostrzy, ale to partyzantka. Trzeba by zrobić żeby X przybierał w plusi, a to pewnie cały sub do roboty więc cały misterny plan w piz...u :(.


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

Re: Suby ngcgui

#95

Post napisał: kamar » 08 sty 2019, 20:58

senio pisze:
08 sty 2019, 20:55
Trzeba by zrobić żeby X przybierał w plusi,
Pokombinuj w configu osi, skala z "-" albo zakresy.

Awatar użytkownika

Autor tematu
senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 98
Posty: 1459
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: Suby ngcgui

#96

Post napisał: senio » 08 sty 2019, 21:01

Za cienki w uszach jestem na to. To te wypiciny. Jak ktoś to poprawi żeby x na plus przybierał to będzie, a jak nie to nie będzie.

Kod: Zaznacz cały

o<ostrzalka> sub

#<obr> = #1 (=1500 obroty)
#<liczba_operacji> = #2 (=4 liczba operacji)
#<kat> = #3 (=-90 kąt)
#<predkoscX> = #4 (=10 prędkość osi X)
#<predkoscZY> = #5 (=100 prędkość osi ZY)
#<a_poczatkowe> = #6 (=0 A początkowe)
#<zpocz> = #7 (=0 Z poczatkowy)
#<zkonc> = #8 (=0 Z końcowy)
#<ypocz> = #9 (=10 Y początkowy)
#<ykonc> = #10 (=0 Y końcowy)
#<glebokosc> = #11 (=-0.5 głębokość)
#<skok> = #12 (=0.5 skok)
#<xpocz> = #13 (=0 X początkowy)
#<woda> = #14 (=0 <> chłodzenie)
#<w_z> = #15 (=0 wyjazd Z)
#<w_x> = #16 (=5 wyjazd X)
#<w_y> = #17 (=0 wyjazd Y)

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

#<operacja> = 0
g0 x[#<xpocz>+1]
g0 z#<zpocz> y#<ypocz>

m3 s#<obr>
o1 if [#<woda> eq 1]
m8
o1 endif

o100 while [#<operacja> lt #<liczba_operacji>]
  g0 a[#<a_poczatkowe> + [#<operacja> * #<kat>]]
	
( --- tu operacja --- )

#<akt_x> = #<xpocz>
o200 while [#<akt_x> gt #<glebokosc>]
  #<akt_x> = [#<akt_x> - #<skok>]
	o210 if [#<akt_x> lt #<glebokosc>]
	  #<akt_x> = #<glebokosc>
	o210 endif

  g1 x#<akt_x> f#<predkoscX>
	g1 z#<zkonc> y#<ykonc> f#<predkoscZY>          
  g0 x[#<xpocz>+1]
  g0 z#<zpocz> y#<ypocz>
	
o200 endwhile

( --- koniec operacji --- )

  #<operacja> = [#<operacja> + 1]
o100 endwhile

g0 z#<w_z>
g0 x#<w_x>
g0 y#<w_y>

o<ostrzalka> endsub


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

Re: Suby ngcgui

#97

Post napisał: kamar » 08 sty 2019, 21:16

Popatrzę jutro wolną chwilą.

Awatar użytkownika

Autor tematu
senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 98
Posty: 1459
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: Suby ngcgui

#98

Post napisał: senio » 09 sty 2019, 13:37

Super. Jak dasz radę to przestawić będę happy :) A i Tobie zagra taki subik do Twojej ostrzałki, bo masz taką samą zasadę działania. Zresztą wzorowałem się na Twojej więc jest podobnie.

Awatar użytkownika

adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Re: Suby ngcgui

#99

Post napisał: adam Fx » 09 sty 2019, 15:03

chyba z tym masz problem
#<akt_x> = #<xpocz>
o200 while [#<akt_x> gt #<glebokosc>]
#<akt_x> = [#<akt_x> - #<skok>]

podstawmy

#<akt_x>=0 (bo tak masz wprowadzone na samym początku)
o200 while sprawdzamy warunek czy 0 jest większe od -0,5 TAK więc wchodzi do pętli
oblicza #<akt_x> = 0 - 0,5 = -0,5 ( i taka wartość przekazuje do ruchu w X dlatego x jedzie na -)

przy kolejnej pętli

wartość na minus wzrasta bo teraz nasze <akt_x> to -0.5
#<akt_x> = [#<akt_x> - #<skok>]
<akt_x> = -0,5 - 0,5 = -1

itd.

więc gdyby dodawać a nie odejmować #<akt_x> = [#<akt_x> - #<skok>] zamień na #<akt_x> = [#<akt_x> + #<skok>] to chyba rozwiązało by to problem

niem jak się ma program zachowywać i nie sprawdzałem tego na LinuxCNC - podmień i puść w powietrzu zobacz czy o toi chodzi .

trzeba nagrać chyba jakiś odcinek o programowaniu parametrycznym ;)
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Awatar użytkownika

Autor tematu
senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 98
Posty: 1459
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: Suby ngcgui

#100

Post napisał: senio » 09 sty 2019, 16:40

Adam takie zabawy to już robiłem 1653164 razy. Jednym plusem się nie zmieni suba o 180 stopni. Tam jest więcej zależności i wszystkie muszą do siebie pasować. Inaczej albo głupoty pokazuje albo wcale sie nie wczyta, a nawet zawiesi linuxcnc.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”