LinuxCNC - tokarka

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

Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 96
Posty: 16281
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#201

Post napisał: kamar » 08 gru 2012, 06:33

tuxcnc pisze: albo wręcz uniemożliwia innym wprowadzenie zmian.
Dlatego dodany kod powinien być prosty, logiczny i jeszcze lepiej jak obkomentowany.
.
Może byś wreszcie zrozumiał , że nie mamy ambicji uszczęśliwiać ludzkości. To ma NAM pomagać, a na dopieszczanie nie mamy czasu. Z dobrej woli dzielę się z innymi ale jak nie pasuje to " chodź ciele do dum ".

[ Dodano: 2012-12-08, 06:46 ]
MlKl pisze: A ogólnie fajnie by było, gdyby do NGCGUI dopisać możliwość wpisywania rozszerzonego opisu pola, wyskakującego w dymku po najechaniu na opis pola w jego dotychczasowej postaci. .
To już sam musisz zadziałac bo u nas takiej potrzeby nie widzę.
Bardziej by się przydał komunikat informujący że jest zaznaczona np. korekta i wymagający potwierdzenia. Wczoraj miałem uderzenie nożem w materiał bo nie odhaczona była korekta a detal nowy. :)



Tagi:

Awatar użytkownika

MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 82
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#202

Post napisał: MlKl » 08 gru 2012, 06:51

kamar - nie bądź taki syn obraźnika :) Tuxcnc już tak ma, to w sumie dobry i uczynny człowiek, cierpi jedynie na przerost ego i całkowity brak empatii. Ja się już do jego stylu przyzwyczaiłem, i pomijam w jego wypowiedziach impertynencję, zastanawiając się jedynie nad ich merituum. Może dlatego mi łatwiej, że w niektórych sprawach sam bywam impertynentem, i na przykład nie potrafię się wczuć w sposób myślenia i oczekiwania nieroba... Co widać np w wątku o stoczni w dziale na luzie.

[ Dodano: 2012-12-08, 06:55 ]
Prośbę o ten dymek kierowałem raczej do tuxcnc, miałby pole do popisu nie tylko z wytykaniem błędów innym :)

A z tą korektą jest dokładnie tak, jak piszesz - też mi się zdarzyło zapomnieć i tokarka głośno zaprotestowała :)

[ Dodano: 2012-12-08, 07:03 ]

Kod: Zaznacz cały

o20000 if [#<pomijaj_srednica> ne 0] 
(msg, Uwaga, włączona korekta średnicy!) 
g4 p10

o20000 endif
Coś takiego sobie dopisałem - wyrzuca komunikat i pauzuje na 10 sekund wykonywanie - dość czasu, żeby zorientować się i podjąć decyzję, czy interweniować, czy nie.


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 96
Posty: 16281
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#203

Post napisał: kamar » 08 gru 2012, 07:38

Jest to jakieś wyjście, chociaż wolałbym żeby czekałna potrwierdzenie. Wstawię mu zamiast pauzy - zmianę narzedzia.

Awatar użytkownika

MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 82
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#204

Post napisał: MlKl » 08 gru 2012, 08:06

Też metoda, ino musisz potem je znowu zmienić po wykonaniu procedury, inaczej następnym razem się nie wywoła.

Kod: Zaznacz cały

o20000 if [#<pomijaj_srednica> ne 0 or #<pomijaj_srednica_max> ne 0 or #<pomijaj_faza_s_k> ne 0 or #<pomijaj_faza_s_p> ne 0 or #<pomijaj_czolo> ne 0] 
(msg, Uwaga, włączona któraś z korekt!) 
#<akt_noz> = #5400            
            T9 M6 
            T#<akt_noz> M6 
o20000 endif
Coś takiego działa ok, ino musisz dwa razy nóż zmienić wirtualnie przed kontynuacją procedury z jakąkolwiek korektą.


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 96
Posty: 16281
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#205

Post napisał: kamar » 08 gru 2012, 08:30

To jednak półśrodki :) Potrzebuje duże okienko na środek monitora :(
Zaś grzebanie w ngcgui, tylko doba za krótka :)

Awatar użytkownika

MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 82
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#206

Post napisał: MlKl » 08 gru 2012, 23:28

Obrazek

Obrazek

Jakby co, to podcięcia typu A i B już są :)


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 96
Posty: 16281
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#207

Post napisał: kamar » 09 gru 2012, 06:40

No i piknie :)
Jak mozesz, to wstaw kawałek z podcięciem B.

Awatar użytkownika

MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 82
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#208

Post napisał: MlKl » 09 gru 2012, 11:51

Wygrzeb se z kobyły - aktualna jest w załączniku pod moim przedostatnim wpisem w wątku o niej. Akurat B nie wymaga ingerencji w kod poprzedniej operacji, A i C wymagają skrócenia ostatniego przebiegu w czopie.

[ Dodano: 2012-12-09, 11:53 ]

Kod: Zaznacz cały

o1500 if[#<podciecie> gt 0 and #<podciecie> lt 5] (wykonywanie podcięcia na końcu czopu) 


     o1510 if[#<podciecie> eq 1] (wybieramy podcięcie typu A) 

           o1520 if[#<sr_koncowa> gt 0 and #<sr_koncowa> le 3] 
		#<b>  = 1
		#<a>  = 0.1
		#<z>  = 0.1
		#<b1> = 0.8
		#<c>  = 0.5
		#<r1> = 0.25

           o1520 elseif[#<sr_koncowa> gt 3 and #<sr_koncowa> le 10] 
		#<b>=2
		#<a>  = 0.2
		#<z>  = 0.1
		#<b1> = 1.5
		#<c>  = 1
		#<r1> = 0.4

           o1520 elseif[#<sr_koncowa> gt 10 and #<sr_koncowa> le 18] 
		#<b>  = 2
		#<a>  = 0.2
		#<z>  = 0.1
		#<b1> = 1.5
		#<c>  = 1
		#<r1> = 0.4

           o1520 elseif[#<sr_koncowa> gt 18 and #<sr_koncowa> le 30] 
		#<b>  = 2
		#<a>  = 0.2
		#<z>  = 0.1
		#<b1> = 1.5
		#<c>  = 1
		#<r1> = 0.4

           o1520 elseif[#<sr_koncowa> gt 30 and #<sr_koncowa> le 80] 
		#<b>  = 4
		#<a>  = 0.3
		#<z>  = 0.1
		#<b1> = 3.3
		#<c>  = 1.5
		#<r1> = 0.6

           o1520 else
		#<b>  = 6
		#<a> = 0.4
		#<z>  = 0.1
		#<b1> = 5
		#<c>  = 2.3
		#<r1> = 1


           o1520 endif
          g0 z[#<z_koncowe>+#<b>] 
          g1 x#<sr_koncowa> F#<posuw> 
          g2 z[#<z_koncowe>+[#<b>-[#<b>-#<b1>]]] x[#<sr_koncowa>-#<a>*2] r[#<r1>*2] F#<posuw> 
          g1 z[#<z_koncowe>+#<r1>] F#<posuw> 
          g2 z[#<z_koncowe>] x[#<sr_koncowa>+#<a>*2] r[#<r1>*2] F#<posuw> 
          g1 x#<sr_pocz> F#<posuw> 
     o1510 elseif[#<podciecie> eq 2] (wybieramy podcięcie typu B) 

          o1530 if[#<sr_koncowa> gt 0 and #<sr_koncowa> le 3] 
		#<b>  = 1
		#<a>  = 0.1
		#<z>  = 0.1
		#<b1> = 0.8
		#<c>  = 0.5
		#<r1> = 0.25

           o1530 elseif[#<sr_koncowa> gt 3 and #<sr_koncowa> le 10] 
		#<b>=2
		#<a>  = 0.2
		#<z>  = 0.1
		#<b1> = 1.5
		#<c>  = 1
		#<r1> = 0.4

           o1530 elseif[#<sr_koncowa> gt 10 and #<sr_koncowa> le 18] 
		#<b>  = 2
		#<a>  = 0.2
		#<z>  = 0.1
		#<b1> = 1.5
		#<c>  = 1
		#<r1> = 0.4

           o1530 elseif[#<sr_koncowa> gt 18 and #<sr_koncowa> le 30] 
		#<b>  = 2
		#<a>  = 0.2
		#<z>  = 0.1
		#<b1> = 1.5
		#<c>  = 1
		#<r1> = 0.4

           o1530 elseif[#<sr_koncowa> gt 30 and #<sr_koncowa> le 80] 
		#<b>  = 4
		#<a>  = 0.3
		#<z>  = 0.1
		#<b1> = 3.3
		#<c>  = 1.5
		#<r1> = 0.6

           o1530 else
		#<b>  = 6
		#<a> = 0.4
		#<z>  = 0.1
		#<b1> = 5
		#<c>  = 2.3
		#<r1> = 1


           o1530 endif
          g0 z[#<z_koncowe>+#<b>] 
          g1 x#<sr_koncowa> F#<posuw> 
          g2 z[#<z_koncowe>+[#<b>-[#<b>-#<b1>]]] x[#<sr_koncowa>-#<a>*2] r[#<r1>*2] F#<posuw> 
          g1 z[#<z_koncowe>+[#<r1>/2]] F#<posuw> 
          g2 z[#<z_koncowe>-#<r1>/2] x[#<sr_koncowa>+#<a>*2] r[#<r1>] F#<posuw> 
          g1 z[#<z_koncowe>] x[#<sr_koncowa>+#<a>*2+#<c>] F#<posuw> 
          g1 x#<sr_pocz> F#<posuw> 

     o1510 elseif[#<podciecie> eq 3] (wybieramy podcięcie typu C) 


     o1510 elseif[#<podciecie> eq 4] (wybieramy podcięcie typu D) 

     o1510 else

     o1510 endif


o1500 endif (koniec procedury podcięcia) 


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 96
Posty: 16281
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#209

Post napisał: kamar » 09 gru 2012, 13:28

MlKl pisze:Akurat B nie wymaga ingerencji w kod poprzedniej operacji, A i C wymagają skrócenia ostatniego przebiegu w czopie.
Dlatego robię tylko B ew. D albo wcale :)
Dzięki .

Awatar użytkownika

MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 82
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#210

Post napisał: MlKl » 09 gru 2012, 13:50

Dlatego wykonywanie podcięcia trzeba zintegrować z procedurą toczenia całego czopa, i wtedy żaden rodzaj nie straszny. Wystarczy jeden warunek dla ostatniego przebiegu, żeby go skrócić o milimetr.
(Koniec planowania czoła, zaczynamy procedurę główną - walec, walec z korektą stożka, lub stożek)

o105 if[[#<z_koncowe> ne 0 and #<z_pocz> ge 0] or #<z_koncowe> gt #<z_pocz>]
#<korekta_podciecie>=0
o100 while [#<akt_start_x> gt #<sr_koncowa>]

o101 if [#<akt_start_x>-#<przybranie_materialu> gt #<sr_koncowa>]
#<akt_start_x>=[#<akt_start_x>-#<przybranie_materialu>]
#<z_koncowe> = [#<z_koncowe>+#<skos_z_k>]
#<z_pocz>=[#<z_pocz>-[#<skos_z_p>]]
#<posuw1>=#<posuw>
o25 if[[#<noz_wstepny> ne 0]]
o<loadtool> call [#<noz_wstepny>]
g0 Z[#<z_pocz>+#<skos_z_p>+#<odjazd_z>] X[#<akt_start_x>+5]
o25 endif
o101 else

o109 if[#<podciecie> eq 1]
#<korekta_podciecie>=1
o109 endif

#<akt_start_x>=#<sr_koncowa>
#<posuw1>=#<posuw_koncowy>
#<z_koncowe> = [#<z_koncowe>+#<skos_z_k>]
#<z_pocz>=[#<z_pocz>-[#<skos_z_p>]]

o103 if[[#<noz_koncowy> gt 0]and[#<noz_koncowy> lt #<ilosc_nozy_w_tabeli> ]]
o<loadtool> call [#<noz_koncowy>]
g0 Z[#<z_pocz>+#<skos_z_p>+#<odjazd_z>] X[#<akt_start_x>+#<odjazd_x>]
o103 endif

o101 endif

;g4 p5

o107 if[#<z_koncowe> gt #<z_pocz>]
g0 Z#<z_pocz> X[#<akt_start_x>]
o107 endif

g0 X[#<akt_start_x>]

G1 Z#<z_pocz> F#<posuw1>
G1 Z[#<z_koncowe>+#<korekta_podciecie>/2] x[#<akt_start_x>+#<korekta>] F#<posuw1>
g1 Z[#<z_koncowe>] x[#<akt_start_x>+#<korekta>+#<korekta_podciecie>]
G1 X[[#<akt_start_x>+#<korekta>]+#<odjazd_x>] Z[#<z_koncowe>-#<skos_z_k>] F#<posuw1>
g0 X[#<akt_start_x>+#<korekta>+#<odjazd_x>]
Z[#<z_pocz>+#<skos_z_p>+#<odjazd_z>]

o100 endwhile (koniec procedury głównej toczenie walca)
o105 endif

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”