Linux CNC-jak to zrozumieć ?

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

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

#121

Post napisał: MlKl » 26 sty 2013, 05:02

Pisany kod warto komentować - zwłaszcza, gdy jest skomplikowany i długi. Jak procedura cała mieści się na ekranie, to komentarze siłą rzeczy są zbędne - można się wszystkiego domyślić po prostu czytając kod. Ale już taka kobyła, jak moja procedura o<toczenie> bez komentarzy byłaby piekielnie trudna do edycji na bieżąco, o powrocie do takowej edycji np po roku nie wspominając.

Dlatego (kocham Zośkę) istotnie pisać w każdej linijce nie wypada, ale dopisanie komentarza po warunku czy pętli, w którym wyjaśniamy, czego dany warunek dotyczy, albo co też wykonuje pętla, jest jak najbardziej wskazane.

Link z mojej stopki prowadzi do instrukcji użytkowania programu LinuxCNC, jaką piszę na swojej stronie. Przeniosłem już tam znaczną cześć tego, co na ten temat tu napisałem, zaczynam omawianie interfejsu programu i ogólnie porządkuje to, dodaję nawigację w strukturze książki etc.

Włączyłem tam system komentarzy - można zadawać pytania, albo wskazać problem, który powinienem omówić.



Tagi:


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

#122

Post napisał: kamar » 26 sty 2013, 09:27

Naprawdę nie widzisz różnicy miedzy komentarzem a wtykaniem komend gdzie popadnie bo i tak nic nie zmieni i błędu nie pokaże ?
Wstawienie np. g17 w środek programu sugeruje kazdemu normalnemu że do tego miejsca robiliśmy na np. g18.

Awatar użytkownika

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

#123

Post napisał: MlKl » 26 sty 2013, 10:04

A z której części mojego wpisu taki wniosek wysnułeś? Bo nie przypominam sobie, żebym zalecał wstawiać G17 w 30 linijce...


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

#124

Post napisał: kamar » 26 sty 2013, 11:24

MlKl pisze:Pisany kod warto komentować - zwłaszcza, gdy jest skomplikowany i długi. Jak procedura cała mieści się na ekranie, to komentarze siłą rzeczy są zbędne - można się wszystkiego domyślić po prostu czytając kod. Ale już taka kobyła, jak moja procedura o<toczenie> bez komentarzy byłaby piekielnie trudna do edycji na bieżąco, o powrocie do takowej edycji np po roku nie wspominając.

Dlatego (kocham Zośkę) istotnie pisać w każdej linijce nie wypada, ale dopisanie komentarza po warunku czy pętli, w którym wyjaśniamy, czego dany warunek dotyczy, albo co też wykonuje pętla, jest jak najbardziej wskazane.

Link z mojej stopki prowadzi do instrukcji użytkowania programu LinuxCNC, jaką piszę na swojej stronie. Przeniosłem już tam znaczną cześć tego, co na ten temat tu napisałem, zaczynam omawianie interfejsu programu i ogólnie porządkuje to, dodaję nawigację w strukturze książki etc.

Włączyłem tam system komentarzy - można zadawać pytania, albo wskazać problem, który powinienem omówić.
A na jaki temat się wypowiedziałeś ? Bo myślałem że w tym:
tuxcnc pisze: Parametr F można podać wszędzie, więc po G0 także, byle by przed pierwszym ruchem roboczym.
Kod G17 także można podać wszędzie, byle by przed G2/G3 którego dotyczy.
Tak więc błąd jest tylko jeden.
.

Awatar użytkownika

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

#125

Post napisał: tuxcnc » 26 sty 2013, 14:35

kamar pisze:Wstawienie np. g17 w środek programu sugeruje kazdemu normalnemu że do tego miejsca robiliśmy na np. g18.
Nie.
Wystąpienie kodu G17 oznacza dokładnie tyle, że od tego miejsca obowiązuje G17 niezależnie od tego co było wczaśniej.
Tylko tyle i nic więcej.

Czy jak jadąc samochodem widzisz znak "60" to znaczy że wcześniej wolno było jechać 100 ?
A jak będzie "niebezpieczny zakręt" to znaczy że wcześniej droga była prosta ?

Przedtem walnąłeś głupotę, co się każdemu może zdarzyć, ale teraz to już się kompromitujesz.

.


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

#126

Post napisał: kamar » 26 sty 2013, 14:58

tuxcnc pisze: Czy jak jadąc samochodem widzisz znak "60" to znaczy że wcześniej wolno było jechać 100
.
Kierowca moze byc kretynem i na długich odcinkach trzeba mu znak ew. powtarzać.
Komputer kretynem nie jest.
Nizej masz kawałek g-kodu ISO na część zamienną dołączony przez porządnego producenta do maszyny. Średnio kumaty frezer cnc po dostosowaniu pierwszych linijek do swojej maszyny ma to wykonać, a nie przeglądać pare tysięcy linii czy ktoś babola nie wsadził. I żadnego powtarzania w każdej lini np. g1

Kod: Zaznacz cały

&%9000

T1 R10.000 A0.500 L0.000 A
T2 R10.000 A0.000 L0.000 A
P2 =P1+4.33





%
(&%9000/000000"KURVE 147383            ) 
N1 G0 Z100.000
N2 G17 T1
N3 F100 S+630
N4 G0 Y100.000 Z2.000 M8
N5 P1==4.33
N6 G0 Z=-P1 M70
N7 G41 G47 A10.000 X0.038 Y200.000 G0 G64 M61
N0011 X0.908 Y199.998
N0012 X1.762 Y199.991
N0013 X2.599 Y199.979
N0014 X3.417 Y199.960
N0015 X4.217 Y199.936
N0016 X5.000 Y199.904
N0017 X5.765 Y199.865
N0018 X6.513 Y199.817
N0019 X7.244 Y199.762
N0020 X7.959 Y199.698
N0021 X8.658 Y199.625
N0022 X9.343 Y199.544
N0023 X10.013 Y199.453
N0024 X10.670 Y199.352
N0025 X11.314 Y199.243
N0026 X11.946 Y199.123
N0027 X12.567 Y198.993
N0028 X13.179 Y198.853
N0029 X13.782 Y198.703
N0030 X14.378 Y198.542
N0031 X14.967 Y198.370
N0032 X15.551 Y198.187
N0033 X16.130 Y197.992
N0034 X16.707 Y197.785
N0035 X17.281 Y197.566
N0036 X17.854 Y197.334
N0037 X18.428 Y197.088
N0038 X19.002 Y196.828
N0039 X19.577 Y196.553
N0040 X20.156 Y196.264
N0041 X20.737 Y195.960
N0042 X21.322 Y195.639
N0043 X21.911 Y195.303
N0044 X22.504 Y194.950
N0045 X23.103 Y194.580
N0046 X23.706 Y194.193
N0047 X24.316 Y193.790

Awatar użytkownika

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

#127

Post napisał: MlKl » 26 sty 2013, 16:10

kamar - z lektury twojego poprzedniego wpisu nasunął mi się wniosek ogólny, nie związany ze sporem, jaki toczycie z tuxem. Wniosek zapodałem, bo to forum czytują również nowicjusze, i nie chciałbym, żeby odnieśli wrażenie, że wszystko, co w nawiasach to śmiertelnie groźny błąd w kodzie.
Odnośnie samego sporu mam mieszane odczucia - G-code ma być takie, by czytający go komputer poprawnie wykonał detal. A komputerowi jest absolutnie obojętne, czy mu podasz raz G1 przed ciągiem parametrów dla tej komendy w wielu liniach, czy zrobisz to w każdej linii z osobna.

Pewnie że warto pisać czytelny kod, i warto tak uczyć nowicjuszy, by pisali poprawnie. Ale nie ma powodu, by traktować to jak śmiertelny w skutkach błąd. To raczej kwestia estetyki, podobnie jak pisanie spacji między komendami. Pomaga kod zrozumieć człowiekowi, komputerowi nie robi żadnej różnicy.

Komputer już pracujący w G17 po prostu przejdzie linię z wywołaniem tegoż G17 nie robiąc nic. Nawet komunikatu o błędzie nie wywali, nie zmieni też nic w działaniu sterowanej przez siebie maszyny.

Awatar użytkownika

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

#128

Post napisał: tuxcnc » 26 sty 2013, 16:48

kamar, ja nie mam ochoty kopać się z koniem, czy też raczej kuzynem konia.

Poprawny jest ten kod który maszyna wykona, a nie ten który się kamarowi podoba.

EOT.


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

#129

Post napisał: kamar » 26 sty 2013, 16:55

Żeby się z czymkolwiek kopać to trzeba mieć kopyta ( czytaj- argumenty) a takim pazurkiem to se możesz pogrzebać na grządce.


Autor tematu
kazikowski
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 13
Posty: 37
Rejestracja: 30 sie 2012, 10:34
Lokalizacja: warszsawa

#130

Post napisał: kazikowski » 15 lut 2013, 11:30

Starałem się zrobić wszystko tak jak wcześniej było napisane i mam bląd Napisałem taki g-kod.Jest to kawaek kola sterowniczego
%
#01 g21 g90
#02 g0 z3 f100
#03 g17
#04 M3 s10000
#05 g0 x95 y30.5
#06 g1 z-2
#07 g90 g2 x55 y47 r70
#08 g1 x40 y33
#09 g1 x32 y41
#10 g1 x47 y55
#11 g90 g2 x30.5 y95 r70
#12 g1 x10
#13 g1 y105
#14 g1 x30.5
#15 g90 g2 x47 y146.5 r70
#16 g1 x32 y160
#17 g1 x40 y167
#18 g1 x54 y153
#19 g90 g2 x95 y169.5 r70
#20 g1 y190
#21 g1 x105
#22 g1 y169.5
#23 g1 z3
#24 m2
#25 m5
%

Komunikat
Błąd G-kode

W pobliżu lini 3
znak równości brakuje ustawień parametrów
wydaje mi się że wszystko napisałem poprawnie a jednaknie(pewnie coś pominąłem).
proszę o podpowiedź
I jeszcze jedno pytanie.Chodzi mi o cięcie
Napisałem kod i jest wszystko dobrze,maszynka wycieła

%
g90
g0 z3 f100
g17
m3 s10000
g1 z-2
g1 x40
g1 z3
g0 x0
g1 z-4
g1 x40
g1 z3
g0 x0
g1 z-6
g1 x40
g1 z3
g0 x0
g1 z-8
g1 x40
g1 z3
g0 x0
m2
m5
%
napewno jest inny sposób aby to zapisać,bo nie wyobrażam sobie jak będzie to pracochłonne przy bardziej skomplikowanych kształtach .

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”