Znaleziono 37 wyników

autor: MlKl
07 lis 2013, 11:43
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

Chłopie - Linux nie jest dla małp. Jak nie rozumiesz wpisywanego polecenia, to go nie wpisuj, tylko sprawdź w googlarce, co ono oznacza i co ma zrobić. Podstawy Linuxa są aż nadto dokładnie opisane, nikt tu ci ich łopatologicznie do główki wbijał nie będzie.

"Blokada" konta root w Ubuntu polega na tym, że nie ma ono ustawionego żadnego hasła, a system wymaga, żeby konto hasło miało.

sudo passwd root

to polecenie, które przetłumaczone na polski brzmi: chcę się przelogować na konto root i ustawić dla niego hasło.

Oczywiście system żąda podania tego hasła, potem zapyta o powtórzenie go, i dopiero zapisze.
autor: MlKl
07 lis 2013, 10:40
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

blasterpl pisze:No tak jak instalowałem linuxa to tez bylem zadowolony ,szybko i bez durnych pytań.Ale teraz jak widać już tak nie jest,od 2 dni próbuje dodać plik do katalogu i nie mogę tego zrobić bo nie mam jakichś durnych uprawnień i nie potrafię ich zmienić :evil:
Dwa razy zapodałem sposób, by te uprawnienia móc pozmieniać w trybie graficznym, jak nauczenie się poleceń pisanych w konsoli sprawia ból. Ale mimo wszystko w tej konsoli trzeba wpisać dwa słowa, które uruchamiają menadżer plików w trybie administratora. Jak nie potrafisz wpisać dwóch słów w konsoli, to faktycznie Linux nie jest dla ciebie.
autor: MlKl
07 lis 2013, 09:42
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

Linux jest systemem który z założenia ma mieć wielu użytkowników pracujących na jednym komputerze. W Windowsach jest tak samo, tylko tam nikt nie pracuje na koncie zwykłego użytkownika, wszyscy używają konta z uprawnieniami administracyjnymi.

Pod Windowsem konto administracyjne też ma swoje ograniczenia. Tylko dlatego ten system może pracować nawet jak go używa debil - nie pozwoli się popsuć. Ale też nie pozwala wykorzystać swoich możliwości, bo go te zabezpieczenia antydebilne ograniczają.

W Linuxie konto roota pozwala zrobić wszystko, włącznie z wykasowaniem całego systemu. Dlatego nie pracuje się będąc zalogowanym jako root - konsekwencje błędu są nieodwracalne. Ale też nikt nie zakłada, że użytkownik jest debilem, i poprzez komendę sudo można wykonać każde polecenie, po wpisaniu hasła superużytkownika, czyli roota.
autor: MlKl
06 lis 2013, 21:53
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

Toć podałem co trzeba zrobić, żeby sobie poustawiać prawa do plików i katalogów w trybie graficznym...

Obrazek


Twórcy Ubuntu mają nieco paranoiczne podejście do spraw bezpieczeństwa systemu, ale to tak naprawdę utrudnia życie jedynie laikom.

A w komunikacie masz dwie ścieżki połączone na sztywno - brak spacji może dla ciebie jest zrozumiały, ale komputer tak nie działa. Wbij spację między ścieżkami i zadziała.
autor: MlKl
06 lis 2013, 14:26
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

Polecenie sudo służy do bezpiecznego używania uprawnień roota. Piszesz w konsoli

sudo nazwa_programu i system po zapytaniu o hasło odpala program na prawach roota.
autor: MlKl
06 lis 2013, 13:37
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

nazwa uzytkownika może być dowolna - istotne są uprawnienia konta - w ubuntu z automatu pełne uprawnienia ma konto root. Można też nadać pełne uprawnienia dowolnemu innemu.

Ale najbezpieczniej odpalić menadżer plików przez sudo, np

Kod: Zaznacz cały

sudo thunar
i z tego poziomu pozmieniać uprawnienia do folderów i plików, które chcemy edytować ze zwykłych kont.
autor: MlKl
14 kwie 2012, 00:55
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

To se możesz spokojnie pisać procedurki pod pomierzone narzędzia. I nie ma żadnych przeciwwskazań, by w procedurze, obojętne, czy pisanej z palca w pliku .ngc, czy tworzonej Pythonem, albo NGCGUI, wstawić sobie zmienną, w której będziesz wpisywał szerokość noża.

Akurat sobie taką procedurkę piszę, to będzie mocno rozbudowana procedura czop.ngc, którą już tutaj zamieszczałem.

W jednej procedurze będzie: planowanie czoła walca o zadaną długość, planowanie powierzchni walca na zadanej długości i na zadaną średnicę, toczenie na końcu owego splanowanego odcinka czopa, fazowanie czopa, fazowanie pełnej średnicy za czopem (ale już splanowanej w drugiej operacji, zataczanie podcięcia na styku czopa i pełnej średnicy na zadaną głębokość i szerokość, fazka na tym podcięciu w stronę czopa, i odcięcie gotowego elementu - również ze zfazowaniem krawędzi.

Akurat takich elementów robię najwięcej, i nie będę ich składał za każdym razem w pięciu kolejnych okienkach NGCGUI.

Na jitter to chyba najlepiej zmienić kompa - ja przeleciałem kilka, teraz mam takiego, co ma w teście 14000, w ustawieniach wpisałem mu 18000 i śmiga.

Kod: Zaznacz cały

( ------------------------------ ) 
( czop ) 
( ------------------------------ ) 
( Z. Maciej Miki Bajkowski) 
(---na podstawie kodu Kamara-----) 
( Time-stamp: <2012-04-14 00:39> ) 

(info: Czop ) 

o<czop> sub

( ------------------------------ ) 
( Zmienne do tabelki ) 
( ------------------------------ ) 

(wszystkie wartosci w milimetrach) 

#<srednica_walka> = #1 (=22 Średnica początkowa wałka) 
#<srednica_czopu> = #2 (=19 Średnica czopu) 
#<dlugosc_czopu> = #3 (=10 Długość czopu) 
#<glebokosc_fazki_czopu> = #4 (=0.5 Głębokość fazki czopu) 
#<szerokosc_fazki_czopu> = #5 (=0.5 Szerokość fazki czopu, zero wyłącza) 
#<glebokosc_fazki_walka> = #6 (=0.5 Głebokość fazki wałka) 
#<szerokosc_fazki_walka> = #7 (=0.5 Szerokość fazki wałka, zero wyłącza) 
#<przybranie_materialu> = #8 (=0.5  Przybranie) 
#<planowanie_czola> =#9 (=1 Planowanie, zero wyłącza) 
#<glebokosc_podciecia> =#10 (=0 Głębokość podciecia za gwintem) 
#<szerokoszc_podciecia>=#11 (=0 Szerokośc podcięcia za gwintem) 
#<szerokość_noza> =#12 (=2.5 Szerokość noża) 
#<poczatek_z>=#13 (=0 Początek na osi Z) 
#<szybkosc_posuwu> = #14 (=10 Posuw)       
#<obroty_wrzeciona> = #15 (=1000 Obroty) 

(koniec zmiennych) 


#<baza_x> = [#<srednica_walka> + 2]   (tu zjedzie w osi x noz po pracy, ustawic tyle, by mozna swobodnie zmierzyc, czy wyjac material) 
#<srednica_walka_do_fazki> = #<srednica_walka> (zmienna #<srednica_walka> zmniejsza sie w trakcie wykonywania programu, zapamietuje ja wiec w zmiennej do pozniejszego fazowania) 

(Planowanie czoła) 


M3 s#<obroty_wrzeciona> (wlaczamy wrzeciono) 


g0 z[#<poczatek_z> + 0.5] 
g0 x[#<srednica_walka> + 0.5] 
#<akt_pozycja> = #<poczatek_z> 

o50 while [#<akt_pozycja> gt -[#<planowanie_czola>]] 
  #<akt_pozycja> = [#<akt_pozycja> - #<przybranie_materialu>] 
  o52 if [#<akt_pozycja> lt -[#<planowanie_czola>]] 
    #<akt_pozycja> = -[#<planowanie_czola>] 
  o52 endif

  g0 z#<akt_pozycja> 

  g1 x0 f#<szybkosc_posuwu> 
  g0 z[#<akt_pozycja> + 0.5] 
  g0 x[#<srednica_walka> + 0.5] 

o50 endwhile


(Koniec planowania czoła) 

(Toczenie czopa) 

G0 z[0.5-[#<planowanie_czola>]] 

o100 while [#<srednica_walka> gt #<srednica_czopu>] ( wykonuj dopoki #<srednica_walka> wiekszy od #<srednica_czopu> ) 
#<srednica_walka>=[#<srednica_walka>-#<przybranie_materialu>] ( deklarowane zmniejszenie) 
 o102 if [#<srednica_walka> lt #<srednica_czopu>] 
    #<srednica_walka> = #<srednica_czopu> 
  o102 endif

G0 x#<srednica_walka> (ustawienie noza na pozycji ) 
z-[#<planowanie_czola>] 
g1 z[[-#<dlugosc_czopu>]-[#<planowanie_czola>]] f#<szybkosc_posuwu> ( toczenie ) 
G0 x[#<srednica_walka>+1] ( odjazd od materialu) 
z[0.5-[#<planowanie_czola>]] ( powrot na poczatek i wykonywanie ponowne ) 
o100 endwhile ( koniec toczenia czopa) 

o110 if [#<szerokosc_fazki_czopu> gt 0] (procedura wykonania fazki na wytoczonym czopie, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)       
    
x[#<srednica_czopu>-#<glebokosc_fazki_czopu>]             ( wjazd do fazki na fi #<srednica_czopu>) 
z[[#<poczatek_z>]-[#<planowanie_czola>]] 
g1 x[#<srednica_czopu>] z-[[#<szerokosc_fazki_czopu>]+[#<planowanie_czola>]]    ( toczenie fazki na fi #<srednica_czopu>) 
g0 x[[#<srednica_czopu>]+0.5] 
o110 endif (koniec procedury fazowania krawędzi czopa) 


o120 if [#<szerokosc_fazki_walka> gt 0]  (procedura wykonania fazki na pozostałej krawędzi wałka, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)   
    
g0 z-[[#<dlugosc_czopu>]+[#<planowanie_czola>]] x[#<srednica_walka_do_fazki> - #<glebokosc_fazki_walka>] ( dojazd do fazki na fi #<srednica_walka_do_fazki>) 
g1 x[#<srednica_walka_do_fazki>] z-[[#<dlugosc_czopu>+#<szerokosc_fazki_walka>]+[#<planowanie_czola>]] ( toczenie fazki na fi #<srednica_walka_do_fazki>) 
g0 x[[#<srednica_walka_do_fazki>]+0.5] 
o120 endif (koniec procedury fazowania pozostałej krawędzi wałka) 

G0 z0.5
x#<baza_x> (zjazd do bazy) 
M30

o<czop> endsub
Dla ciekawych - zaczęta i działająca procedura czop.ngc - na razie tylko planowanie czoła, toczenie czopa i fazowanie - napisane ciut lepiej, niż pierwsza wersja :)

Obrazek

Z grubsza rzecz biorąc, chodzi o wykonanie elementu jak na zdjęciu - Wymiary mogą się zmieniać, podcięcie może być, lub nie, podobnie gwint.

Technologicznie materiał wsadzony w uchwyt trzeba splanować po wierzchu na długości całego gotowego elementu, potem splanować (lub nie) czoło, wytoczyć czop, sfazować. Potem trzeba zrobić podcięcie, i odciąć, pewnie przydałoby się jeszcze dodać fazowanie od strony odcinanej i fazowanie podcięcia w kierunku gwintu.

Wyjdzie mocno skomplikowana tabelka do wypełnienia, ale efekt będzie widać od razu po wysłaniu, i można będzie łatwo edytować w dowolnym miejscu procedury.

edit

Procedurka się powoli rozrasta, w zasadzie powinienem ją chyba nazwać inaczej, bo z czopem ma coraz mniej wspólnego...

Przybyło planowanie powierzchni, w tabelce pojawiła się średnica surowego wałka, czyli to, cośmy fizycznie w uchwyt włożyli, i pojęcia "długość detalu" oraz "średnica detalu", użyłem również wcześniej wprowadzonej zmiennej "szerokość noża" do ustalenia długości planowania surowego wałka jako sumy długości detalu i szerokości noża - potem dodam procedurę odcinania detalu, i wtedy już nie będę się musiał troszczyć o powrót noża na średnicę powyżej surowego wałka.

Generalnie to jest proteza na ułomność interfejsu NGCGUI - w zamyśle twórców to powinno być łatwo składane z pojedynczych klocków. Niestety - na razie NGCGUI nie zapamiętuje i nie pozwala się swobodnie przemieszczać i edytować poszczególnych etapów, co czyni programowanie w nim mało użytecznym przy skomplikowanym, wieloetapowym detalu. Oczywiście to tylko moje marudzenie, bo ogólnie sama idea jest słuszna.

Kod: Zaznacz cały

( ------------------------------ ) 
( czop ) 
( ------------------------------ ) 
( Z. Maciej Miki Bajkowski) 
(---na podstawie kodu Kamara-----) 
( Time-stamp: <2012-04-14 00:39> ) 

(info: Czop ) 

o<czop> sub

( ------------------------------ ) 
( Zmienne do tabelki ) 
( ------------------------------ ) 

(wszystkie wartosci w milimetrach) 
#<srednica_surowego_walka> = #1 (=23 Średnica surowego wałka) 
#<dlugosc_detalu> = #2 (=15  Długość gotowego detalu) 
#<srednica_walka> = #3 (=22 Średnica gotowego detalu) 
#<srednica_czopu> = #4 (=19 Średnica czopu) 
#<dlugosc_czopu> = #5 (=10 Długość czopu) 
#<glebokosc_fazki_czopu> = #6 (=0.5 Głębokość fazki czopu) 
#<szerokosc_fazki_czopu> = #7 (=0.5 Szerokość fazki czopu, zero wyłącza) 
#<glebokosc_fazki_walka> = #8 (=0.5 Głebokość fazki wałka) 
#<szerokosc_fazki_walka> = #9 (=0.5 Szerokość fazki wałka, zero wyłącza) 

#<planowanie_czola> =#10 (=1 O ile mm splanować czoło, zero wyłącza) 
#<glebokosc_podciecia> =#11 (=0 Głębokość podciecia za gwintem) 
#<szerokoszc_podciecia>=#12 (=0 Szerokośc podcięcia za gwintem) 
#<szerokość_noza> =#13 (=2.5 Szerokość noża) 
#<poczatek_z>=#14 (=0 Początek na osi Z) 
#<szybkosc_posuwu> = #15 (=10 Posuw)       
#<obroty_wrzeciona> = #16 (=1000 Obroty) 
#<przybranie_materialu> = #17 (=0.5  Przybranie) 
(koniec zmiennych) 


#<baza_x> = [#<srednica_walka> + 2]   (tu zjedzie w osi x noz po pracy, ustawić tyle, by można swobodnie zmierzyć, czy wyjąć materiał) 
#<srednica_walka_do_fazki> = #<srednica_walka> (zmienna #<srednica_walka> zmniejsza się w trakcie wykonywania programu, zapamietuję ją więec w zmiennej do późniejszego fazowania) 


(Planowanie powierzchni) 

G0 X#<srednica_surowego_walka> Z#<poczatek_z> 
#<Current_Dia>=#<srednica_surowego_walka> 

o60 while [#<Current_Dia> gt #<srednica_walka>] 

o61   if [#<Current_Dia>-#<przybranie_materialu> gt #<srednica_walka>] 
         #<Current_Dia>=[#<Current_Dia>-#<przybranie_materialu>] 
o61   else
         #<Current_Dia>=#<srednica_walka> 
o61   endif

       X#<Current_Dia> 
       G1 Z-[#<dlugosc_detalu>+#<szerokość_noza>] F#<szybkosc_posuwu> 
       G0 X[#<Current_Dia>+0.5] 
       Z#<poczatek_z> 
o60 endwhile


(Koniec planowania powierzchni) 

(Planowanie czoła) 


M3 s#<obroty_wrzeciona> (wlaczamy wrzeciono) 


g0 z[#<poczatek_z> + 0.5] 
g0 x[#<srednica_walka> + 0.5] 
#<akt_pozycja> = #<poczatek_z> 

o50 while [#<akt_pozycja> gt -[#<planowanie_czola>]] 
  #<akt_pozycja> = [#<akt_pozycja> - #<przybranie_materialu>] 
  o52 if [#<akt_pozycja> lt -[#<planowanie_czola>]] 
    #<akt_pozycja> = -[#<planowanie_czola>] 
  o52 endif

  g0 z#<akt_pozycja> 

  g1 x0 f#<szybkosc_posuwu> 
  g0 z[#<akt_pozycja> + 0.5] 
  g0 x[#<srednica_walka> + 0.5] 

o50 endwhile


(Koniec planowania czoła) 


(Toczenie czopa) 

G0 z[0.5-[#<planowanie_czola>]] 

o100 while [#<srednica_walka> gt #<srednica_czopu>] ( wykonuj dopoki #<srednica_walka> wiekszy od #<srednica_czopu> ) 
#<srednica_walka>=[#<srednica_walka>-#<przybranie_materialu>] ( deklarowane zmniejszenie) 

 o102 if [#<srednica_walka> lt #<srednica_czopu>] 
    #<srednica_walka> = #<srednica_czopu> 
  o102 endif

G0 x#<srednica_walka> (ustawienie noza na pozycji ) 
z-[#<planowanie_czola>] 
g1 z[[-#<dlugosc_czopu>]-[#<planowanie_czola>]] f#<szybkosc_posuwu> ( toczenie ) 
G0 x[#<srednica_walka>+1] ( odjazd od materialu) 
z[0.5-[#<planowanie_czola>]] ( powrot na poczatek i wykonywanie ponowne ) 
o100 endwhile ( koniec toczenia czopa) 

o110 if [#<szerokosc_fazki_czopu> gt 0] (procedura wykonania fazki na wytoczonym czopie, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)       
    
x[#<srednica_czopu>-#<glebokosc_fazki_czopu>]             ( wjazd do fazki na fi #<srednica_czopu>) 
z[[#<poczatek_z>]-[#<planowanie_czola>]] 
g1 x[#<srednica_czopu>] z-[[#<szerokosc_fazki_czopu>]+[#<planowanie_czola>]]    ( toczenie fazki na fi #<srednica_czopu>) 
g0 x[[#<srednica_czopu>]+0.5] 
o110 endif (koniec procedury fazowania krawędzi czopa) 


o120 if [#<szerokosc_fazki_walka> gt 0]  (procedura wykonania fazki na pozostałej krawędzi wałka, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)   
    
g0 z-[[#<dlugosc_czopu>]+[#<planowanie_czola>]] x[#<srednica_walka_do_fazki> - #<glebokosc_fazki_walka>] ( dojazd do fazki na fi #<srednica_walka_do_fazki>) 
g1 x[#<srednica_walka_do_fazki>] z-[[#<dlugosc_czopu>+#<szerokosc_fazki_walka>]+[#<planowanie_czola>]] ( toczenie fazki na fi #<srednica_walka_do_fazki>) 
g0 x[[#<srednica_walka_do_fazki>]+0.5] 
o120 endif (koniec procedury fazowania pozostałej krawędzi wałka) 

G0 z0.5
x#<baza_x> (zjazd do bazy) 
M30

o<czop> endsub
autor: MlKl
13 kwie 2012, 09:15
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

A te narzędzia to jak montujesz do tokarki? Pojedynczo? Na zwykłym imaku? Ogólnie do tego celu używa się tabeli narzędzi, ino musi być jakiś ich magazyn, albo musi być możliwość ich bardzo powtarzalnego montowania.
autor: MlKl
16 sty 2012, 10:54
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

Da się zrobić
autor: MlKl
15 sty 2012, 22:35
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 56299

Mówisz - masz :)

Nie bardzo miałem czas na pisanie tutka, bo mi odpaliło se zmienić w tokarynce posuw poprzeczny z wałków na jaskółkę - miałem takiego przydasia w kącie od dawna, ale jakoś nie miałem koncepcji, co z nim zrobić. A że tokarynka na tych wałeczkach 2 cm gięła się jak słomka na wietrze, to i się wkurzyłem, i zrobiłem.

Obrazek

Na razie prowizorycznie poskładane - ale już toczy. Poprawa sztywności duża, i jeszcze wzrośnie, jak to do końca dokładnie poskręcam.

Wróć do „Pisanie G-code pod LinuxCNC”