Prośba o sprawdzenie kodu

Dyskusje dotyczące programowania G-Code
Awatar użytkownika

WZÓR
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 14
Posty: 8196
Rejestracja: 01 sty 2009, 20:01
Lokalizacja: Oława

#21

Post napisał: WZÓR » 31 sie 2012, 22:00

MoldMichal pisze:kolego Wzór tyle wiedzy w głowie a z prostym rys masz problem ;>:P
wszystkie wymiary są moim zdaniem :)
Jakbyś kończył tydzień pracy (5x12 godzin) , to też miałbyś o tej porze kołowrotek w głowie. :mrgreen:
ezbig pisze: ... Ja pytam użytkowników. Nie wiem co robi komenda M97, ale logicznie rozumując domyśliłem się, że wywołujesz tam podprogram, który zaczyna się od N1. Dlatego podmieniłem M97 na M98, a N1 na O1 i poszło jak u ciebie. Tak w związku z tym to jestem ciekaw, czym się różni komenda M97 od M98, bo chyba jest jakaś tego przyczyna, że ma inny numer.
...
... wystarczy tylko instrukcję przeczytać;

M97 Local Sub-Program Call
Ten kod jest używany do wywoływania wzorcowanego przez numer wiersza (N) w tym samym programie.
Wymagany jest kod, który musi pasować do numeru wiersza w tym samym programie. Jest to przydatne dla prostych podprogramów standardowych w programie; nie jest wymagany oddzielny program. Podprogram standardowy musi kończyć się M99.
Kod Lnn w bloku M97 powtórzy wywołanie podprogramu standardowego nn razy.

M98 Sub Program Call

Ten kod jest używany do wywołania podprogramu standardowego, format to M98 Pnnnn (Pnnnn to numer wywoływanego programu).
Podprogram musi znajdować się na liście programów i zawierać M99, aby powrócić do programu głównego.
Do wiersza zawierającego M98 można wprowadzić zliczanie Lnn, co spowoduje wywołanie podprogramu standardowego nn razy przed przejściem do następnego bloku.

p.s.

OK - rysunkowi przyjrzę się jutro ..... jak ochłonę. :mrgreen:

Mariusz.


Pomagam w:
HAAS - frezarki, tokarki

Tagi:


Autor tematu
ezbig
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 24
Posty: 2103
Rejestracja: 07 lip 2006, 00:31
Lokalizacja: mazowieckie

#22

Post napisał: ezbig » 31 sie 2012, 22:18

WZÓR pisze: ... wystarczy tylko instrukcję przeczytać;
Ja nie znalazłem M97, więc nie przeczytałem. Mach też tego nie trawi.

http://masters.ckp.pl/plecyk/cnc_fanuc.htm


MoldMichal
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 307
Rejestracja: 03 mar 2012, 12:04
Lokalizacja: Częstochowa

#23

Post napisał: MoldMichal » 31 sie 2012, 22:18

WZÓR pisze:
MoldMichal pisze:kolego Wzór tyle wiedzy w głowie a z prostym rys masz problem ;>:P
wszystkie wymiary są moim zdaniem :)
Jakbyś kończył tydzień pracy (5x12 godzin) , to też miałbyś o tej porze kołowrotek w głowie. :mrgreen:
Ciesz się że kończysz :P ja od rana, a dopiero zaraz do domu idę ;)
o jutrzejszych rybach tez zapominam bo tyra wzywa ehh:P ale 2 niedziele miałem wolne w tym miesiącu ;)
zawsze coś xD
Pozdrawiam Michał

Awatar użytkownika

WZÓR
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 14
Posty: 8196
Rejestracja: 01 sty 2009, 20:01
Lokalizacja: Oława

#24

Post napisał: WZÓR » 01 wrz 2012, 11:02

ezbig pisze:...
[ Dodano: 2012-08-30, 15:09 ]
Poprawiłem kod, teraz działa i w Mach-u prawidłowo. Nie widziałem, że G02/03 działa na raz tylko w najnowszych starowaniach. Podzieliłem okrąg na 4 ćwiartki jak radził bartuss1 w innym wątku (https://www.cnc.info.pl/topics44/jak-za ... vt5466.htm) i teraz jest ok i w mach-u i w cimco. Pewnie to jest lepsze, bo tym sposobem można zrobić automatyczną korektę średnicy freza, a z jednym G02/03 na okrąg to nie wyjdzie. Banały, ale ja się dopiero uczę.
...
Hmm .... teraz rozumiem skąd te nieporozumienie. :razz:
Często , gęsto wysyłam swoje programy kolegom na plotery i nie słyszałem aby mieli problemy w uruchomieniu ich w Mach-u.

p.s.
w załączniku program z Twojego rysunku.
..... nie programowałem otworów ø2.0 , gdyż nie wiem czy Mach czyta cykle wiertarskie (G81) .

Mariusz.
Pomagam w:
HAAS - frezarki, tokarki


Autor tematu
ezbig
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 24
Posty: 2103
Rejestracja: 07 lip 2006, 00:31
Lokalizacja: mazowieckie

#25

Post napisał: ezbig » 01 wrz 2012, 13:10

W mach-u są cykle G81-83. Nie wiem dlaczego się śmiejesz z moich podprogramów (skoro sam ich użyłeś) - ja potrzebuje wyfrezować tych krążków jak najwięcej na arkuszu poliamidu 300x400mm. Pozycjonując absolutnie musiałbym powielić twój kod 32 razy i wprowadzić ręcznie przesunięcia dla każdego okręgu. Wolę więc użyć pozycjonowania przyrostowego i podprogramów.

Mój program teraz wygląda tak:

Kod: Zaznacz cały

%
G91
G54
G40
G80
G94
G17 
G21
T1 M6 (frez fi2) 
G97 S10000
F500

#100=5 (ilość w Y) 
#101=6 (ilość w X) 
#102=25.4 (odstep między elementami) 

G00 Z10
G00 Z-6.01

M98 P110L#100 (wycinanie #100 serii wzdłuż Y) 

G00 Z5

M30

o110 (wycinanie #101 serii wzdluz osi X) 
(#101 - ilość elementów wzdluz osi X) 
(#102 - odstęp między elementmi) 
M98 P100l#101
G00 X[-1*#102*[#101]] Y#102
m99

o120 (wycinanie okregu) 
(#200 - promien) 
(#201 - zejscie spiralne w osi z w mm/360st.) 
G41
G02 x[-1*#200] Y[-1*#200] R#200 Z[-1*#201/4] 
G42
G02 X[-1*#200] Y#200 R#200 Z[-1*#201/4] 
G02 x#200 Y#200 R#200 Z[-1*#201/4] 
G41
G02 X#200 Y[-1*#200] R#200 Z[-1*#201/4] 
G40
m99


O100 (wycinanie elementu właściwego) 

G00 X0 Y0
(G01 Z-1) 

G00 X5.35
G01 Z-5
G00 Z5
G00 X12.7
G01 Z-5
G00 Z5
G00 X5.35

G01 Z-2

#200=10.9
#201=0
M98 P120 (okrąg R10.9 Z0) 

G00 X0.8
G01 Z-1

#200=11.7
#201=1
M98 P120L2 (2 x okrąg R11.7 Z1) 

#201=0
M98 P120 (okrąg R11.7 Z0) 

G00 Z5
g00 x[#102-23.4] 
G00 X-0.8
M99
%
Tu efekt działania programu:

Obrazek

Mogę go skrócić zastępując podprogram wycinania okręgu jedną instrukcją G02 z parametrami I J, tylko muszę ją opanować w trybie przyrostowym (bo na razie w Mach-u źle mi sie to rysuje).

Moje założenia są takie, żeby to się obrabiało jak najszybciej i jednym narzędziem (frez 2mm, materiał obrabiany - poliamid). Mam w związku z tym pytania:
1. Czy lepiej schodzić okręgami w dół co jeden cykl (jak u kolegi), czy jednym okręgiem po spirali?
2. Czy muszę wykorzystywać cykl wiertarski do otworu 2mm, czy mogę po prostu wyfrezować go frezem o średnicy 2mm (tak jak to robię w moim programie)? Nie mam wymagań co do jego jakości i idealnej średnicy.

Ja odjeżdżam od materiału na 1mm, a kolega na 20, czy to jest uzasadnione? Według mnie to niepotrzebne ponad 4m do przejechania na całości (formatki 300x400mm).


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

#26

Post napisał: kamar » 01 wrz 2012, 14:02

1. Po spirali nie będzie sladu dobierania
2. Możesz, napisz średnicę otworu deko większą np.2.02, tylko po co ? piszesz g81 i wiercisz frezem.
Przy takich programikach to aż żal d___ ściska że nie możesz użyć While :)


Autor tematu
ezbig
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 24
Posty: 2103
Rejestracja: 07 lip 2006, 00:31
Lokalizacja: mazowieckie

#27

Post napisał: ezbig » 01 wrz 2012, 14:50

Właśnie. Programować potrafię i brak instrukcji strukturalnych mi bardzo doskwiera. W linuxCNC są, ale przy aktualnej maszynie skazany jestem na Mach-a.
Ostatnio zmieniony 01 wrz 2012, 17:09 przez ezbig, łącznie zmieniany 1 raz.

Awatar użytkownika

WZÓR
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 14
Posty: 8196
Rejestracja: 01 sty 2009, 20:01
Lokalizacja: Oława

#28

Post napisał: WZÓR » 01 wrz 2012, 15:15

ezbig pisze:... Nie wiem dlaczego się śmiejesz z moich podprogramów (skoro sam ich użyłeś)...
Wcale się nie śmieję ..... , pokazuję tylko mój sposób.
... Pozycjonując absolutnie musiałbym powielić twój kod 32 razy i wprowadzić ręcznie przesunięcia dla każdego okręgu. ...
Jak Mach przyjmie cykl G10 , to można zapisać w ten sposób ;

%
O6
G17
G40
G80
G90
G54
T2 M6
S6000 M3
G0 X13.9 Y0
Z25.
G0 Z2.5
M98 P5 L1
G10 L2 P1 G91 Y30.
M98 P5 L1
G10 L2 P1 G91 Y30.
M98 P5 L1
G10 L2 P1 G91 Y30.
M98 P5 L1
G10 L2 P1 G91 Y30.
M98 P5 L1
M30


O5
G90
G0 X13.9
Z25.
G0 Z2.5
M98 P2 L1
G0 X30.
Z2.5
M98 P2 L1
G0 X60.
Z2.5
M98 P2 L1
G0 X90.
Z2.5
M98 P2 L1
G0 Z25.
G0 X14.7
Z25.
G0 Z2.5
M98 P1 L1
G0 X30.
Z2.5
M98 P1 L1
G0 X60.
Z2.5
M98 P1 L1
G0 X90.
Z2.5
M98 P1 L1
G0 Z25.
M99

O1
G1 Z-5. F650.00
G2 I-14.7 J0
G0 Z25.
M99

O2
G1 Z-1. F650.00
G2 I-13.9 J0
G0 Z25.
M99

p.s.
Prośba - jak możesz , to sprawdź mój program w symulatorze , gdyż ja nie mam jak. :oops:

Mariusz.
Pomagam w:
HAAS - frezarki, tokarki


Autor tematu
ezbig
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 24
Posty: 2103
Rejestracja: 07 lip 2006, 00:31
Lokalizacja: mazowieckie

#29

Post napisał: ezbig » 01 wrz 2012, 17:15

G10 jest w manual-u, czyli mach powinien to łyknąć. Ja radzę sobie stosownie do zdobytej wiedzy. W przypadku g-kodów nie mogę znaleźć takich dokumentacji jakie bez problemu można zdobyć do większości języków programowania, więc uczę się z przykładów w sieci i własnych eksperymentów.

[ Dodano: 2012-09-01, 17:54 ]
WZÓR twój program działa tak:
Obrazek

To jest powielone jeszcze 4 razy, tylko w mach-u po przejściu całego programu znika ślad z cykli G10. Powielanie jest ok, coś tam tylko współrzędne się rozjechały.

Awatar użytkownika

WZÓR
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 14
Posty: 8196
Rejestracja: 01 sty 2009, 20:01
Lokalizacja: Oława

#30

Post napisał: WZÓR » 01 wrz 2012, 20:24

ezbig pisze:...
[ Dodano: 2012-09-01, 17:54 ]
WZÓR twój program działa tak:


To jest powielone jeszcze 4 razy, tylko w mach-u po przejściu całego programu znika ślad z cykli G10. Powielanie jest ok, coś tam tylko współrzędne się rozjechały.
Dziękuję za sprawdzenie.
..... teraz powinno być już dobrze(?)

%
O6
G17
G40
G80
G90
G54
T2 M6
S6000 M3
G0 X13.9 Y0
Z25.
G0 Z2.5
M98 P5 L1
G10 L2 P1 G91 Y30.
M98 P5 L1
G10 L2 P1 G91 Y30.
M98 P5 L1
G10 L2 P1 G91 Y30.
M98 P5 L1
G10 L2 P1 G91 Y30.
M98 P5 L1
M30


O5
G90
G0 X13.9
Z25.
G0 Z2.5
M98 P2 L1
G0 X43.9
Z2.5
M98 P2 L1
G0 X73.9
Z2.5
M98 P2 L1
G0 X103.9
Z2.5
M98 P2 L1
G0 Z25.
G0 X14.7
Z25.
G0 Z2.5
M98 P1 L1
G0 X44.7
Z2.5
M98 P1 L1
G0 X74.7
Z2.5
M98 P1 L1
G0 X104.7
Z2.5
M98 P1 L1
G0 Z25.
M99

O1
G1 Z-5. F650.00
G2 I-14.7 J0
G0 Z25.
M99

O2
G1 Z-1. F650.00
G2 I-13.9 J0
G0 Z25.
M99
... więc uczę się z przykładów w sieci i własnych eksperymentów.
Każdy orze jak może. :smile:

Mariusz.
Pomagam w:
HAAS - frezarki, tokarki

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „G-CODE - programowanie”