Step and repeat w g-codzie?

Dyskusje dotyczące programowania G-Code

Autor tematu
oprawcafotografii
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 6108
Rejestracja: 29 kwie 2009, 10:11
Lokalizacja: Kraków / Jaworzno / Kopanka

Step and repeat w g-codzie?

#1

Post napisał: oprawcafotografii » 28 gru 2013, 16:30

Bry :)

Moja znajomosc g-codow ogranicza sie do umiejetnosci wstawienia M8
na poczatku pliku prosze wiec o wyrozumialosc ;)

Mam nast. sprawe - frezuje mala forme 30(poziom)x20(pion)mm w wiekszej
ilosci gniazd na jednej formatce - powiedzmy ze blacha ma rozmiar 300x20mm
czyli chce zrobic dziesiec gniazd w poziomie ze skokiem co 30mm.
To tylko przyklad oczywiscie...

CAMem generuje kod na jedno gniazdo - chcialbym go uzyc jako procedure
wywolywania wiele razy. Kod dla jednego gniazda wyglada tak:

Kod: Zaznacz cały

%
(FILENAME: obadwa.nc)
(STOCK/BLOCK, 30.000, 20.000, 20.000, -0.000, -0.000, 20.000)
G21G64G17
G90
(TOOL/MILL,2.0000,0,10.0000,0.0)
M8
M6 T1
M3 S24000
G0X0.000Y0.000Z2.540
(Parallel Finish)
G0X4.750Y8.715
G1A0.000Z-0.160F1200.0
G1F1200.0
Y8.739Z-0.421
Y8.856Z-0.831
Y9.045Z-1.211
Y9.296Z-1.544
Y9.613Z-1.834
Y9.975Z-2.059
Y10.000Z-2.069
Y10.025Z-2.059
Y10.387Z-1.834
Y10.704Z-1.544
Y10.955Z-1.211
Y11.144Z-0.831
Y11.261Z-0.421
Y11.285Z-0.160
X4.800
Y11.261Z-0.421
...
...
duzo podobnych linijek ;)
...
...
Y8.739Z-0.421
Y8.715Z-0.160
G0Z2.540
M5
M30
(END)
(OF PROGRAM)
Oczywiscie taki pojedynczy kod zostanie wykonany w taki sposob, ze maszyna
wytnie go od wspolzednych 0,0 (lewy dolny rog).

I tu pytanie - czy w g-codzie da sie zrobic tak zeby zmienic zero materialu
i wywolac ponownie "procedure"?

Wygladalo by to tak:

ustaw zero materialu=0,0
skocz do procedury TNIJ GNIAZDO
ustaw zero materialu=30,0
skocz do procedury TNIJ GNIAZDO
ustaw zero materialu=60,0
skocz do procedury TNIJ GNIAZDO
ustaw zero materialu=90,0
skocz do procedury TNIJ GNIAZDO
...
ustaw zero materialu=270,0
skocz do procedury TNIJ GNIAZDO

Czyli chodzi o to zeby w kodzie byla jedna "procedura" frezowania gniazda
a tylko zmienial sie umowny poczatek startu pracy.

Jak to zrobic bo pewnie sie da?

q[/code]


„Największym wrogiem wolności jest najedzony niewolnik.”

Tagi:

Awatar użytkownika

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

#2

Post napisał: WZÓR » 28 gru 2013, 16:38

Zrób z tego programu podprogram i zastosuj w programie głównym G10

Mariusz.
Pomagam w:
HAAS - frezarki, tokarki


Autor tematu
oprawcafotografii
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 6108
Rejestracja: 29 kwie 2009, 10:11
Lokalizacja: Kraków / Jaworzno / Kopanka

#3

Post napisał: oprawcafotografii » 28 gru 2013, 17:06

Ba! To moje pierwsze minuty z g-codami ;)

Wymodzilem cos takiego ale nie wiem czy dobrze?

Kod: Zaznacz cały

%
G21G64G17
M6 T1
G90
M3 S24000
M5
M8

G52 X0
M98 P1
G52 X30
M98 P1

O1
G0X0.000Y0.000Z2.540
G0X4.750Y8.715
G1A0.000Z-0.160F1200.0
G1F1200.0
Y8.739Z-0.421
Y8.856Z-0.831
Y9.045Z-1.211
Y9.296Z-1.544
Y9.613Z-1.834
Y9.975Z-2.059
Y10.000Z-2.069
Y10.025Z-2.059
...
...
...
Y8.739Z-0.421
Y8.715Z-0.160
G0Z2.540
M99

M30
„Największym wrogiem wolności jest najedzony niewolnik.”

Awatar użytkownika

maz
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 894
Rejestracja: 20 cze 2007, 22:55
Lokalizacja: Blachownia
Kontakt:

#4

Post napisał: maz » 28 gru 2013, 17:08

da sie, ale z tego sie nie zrobi ;)

Nie zapominajmy o wspolrzednych przyrostowych ;)

Nie wiem, czy maszyna(sterowanie) podola.

Najlatwiej, to przesuwac sobie baze i tyle, ale jak chcesz programowo, to trzeba kod odpowiednio przygotowac, tzn zarowno ten podprogram jak i program z przesunieciem,
Kazde parametry sa idealne, czasami tylko narzedzia sa malo wytrzymale :-)
Kazdy wymiar da sie osiagnac, czasami wystaczy docisnac mocniej urzadzenie pomiarowe ;-)


Autor tematu
oprawcafotografii
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 6108
Rejestracja: 29 kwie 2009, 10:11
Lokalizacja: Kraków / Jaworzno / Kopanka

#5

Post napisał: oprawcafotografii » 28 gru 2013, 17:10

No wlasnie wolalbym nie przesowac bazy recznie bo mozna sie pomylic i narobic szkod ;)

q
„Największym wrogiem wolności jest najedzony niewolnik.”

Awatar użytkownika

maz
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 894
Rejestracja: 20 cze 2007, 22:55
Lokalizacja: Blachownia
Kontakt:

#6

Post napisał: maz » 28 gru 2013, 17:46

Jeśli maszyna jest 1 bazowa - nie ma tzw offsetów na kilka baz, to zapętlenie programu nic nie da, jeśli podprogram - czyli kształt gniazda nie jest napisany w sposób przyrostowy.

Co z tego, że się wywoła ścieżkę jako podprogram, jak drugie wywołanie nic nie zmieni - współrzędnę w podprogramie są nadal te same bo są absolutne, baza ta sama.

czyli nic sie nie zmienia ;)

Najłatwiej jak już jest ściażka, użyć kilku baz, jeśli jest możliwość, wtedy przeróbka to 3 minuty
Kazde parametry sa idealne, czasami tylko narzedzia sa malo wytrzymale :-)
Kazdy wymiar da sie osiagnac, czasami wystaczy docisnac mocniej urzadzenie pomiarowe ;-)


teles222
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 1
Posty: 17
Rejestracja: 11 lip 2011, 20:51
Lokalizacja: Piaseczno

#7

Post napisał: teles222 » 28 gru 2013, 18:16

W linuxCNC używam do tego podprogramów i G92 do zmiany ofsetu

przykładowy programik

G21
G90
G64
G17
g40
G10 L1 P3 r 2.000
T3M6
S5000M03
g0 z 30.000
o<kontur1> sub
g0 x 85.000 y 85.000
g0 z 12.000
g1 z 0.000 f 400
g42
f2000
g1 x 74.664 y 95.000
g1 x 72.500 y 109.000
g1 x 52.500
g1 z 1.000
g1 x 37.500
g1 z 0.000
g1 x 17.500
g1 x 13.405 y 82.500
g1 z 1.000
g1 x 10.700 y 65.000
g1 z 0.000
g1 x 9.000 y 54.000
g2 x 0.000 y 45.000 r 9.000
g1 y 29.000
g3 x 35.000 y 1.022 r 49.410
g1 z 1.000
g3 x 55.000 y 1.022 r 49.410
g1 z 0.000
g3 x 90.000 y 29.000 r 49.410
g1 y 45.000
g2 x 81.000 y 54.000 r 9.000
g1 x 79.300 y 65.000
g1 z 1.000
g1 x 76.595 y 82.500
g1 z 0.000
g1 x 72.500 y 109.000
g1 z 13.000
g40
g0 z 30.000
o<kontur1>endsub
g0 x 0.000
o<kontur1>call (wywołanie podprogramu)
g40
g0 x 98.000
g92 x 0.000 (Zmiana ofsetu z x98 na x 0.000)
o<kontur1>call
g40
g0 x 98.000
g92 x 0.000
o<kontur1>call
g40
g0 x 98.000
g92 x 0.000
o<kontur1>call
g40
g0 z 35.000
g92.2
g0 x 356.200
y 209.200
g92 y 64.200 x 62.200
o<kontur1>call
g40
g92.2
g0 x 258.200
y 209.200
g92 y 64.200 x 62.200
o<kontur1>call
g40
g92.2
g0 x 160.200
y 209.200
g92 y64.200 x 62.200
o<kontur1>call
g40
g92.2
g0 x 62.200
y 209.200
g92 y 64.200
o<kontur1>call
g40
g0 z 30
g92.2
m5
g0 x 0.000 y 0.000
m2

Pozdrawiam


ma555rek
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1214
Rejestracja: 15 paź 2007, 00:45
Lokalizacja: nie ważne

#8

Post napisał: ma555rek » 28 gru 2013, 18:53

quote="oprawcafotografii"]ustaw zero materialu=0,0

program główny
jedź na pierwszy punkt G0 X0 Y0
M98 Pxxx Qx :wywołaj podprogram Pxxx procedura Qx razy
( wykonanie iluś tam detali)
G92.1 :odwołanie zmian na offsetach
M30

Pxxx :procedura TNIJ GNIAZDO
G92x0y0 : ustawienie lokalnego offsetu dla aktualnej pozycji.
obróbka gniazda
g0xoy30 :najazd na początek następnego detalu Następne wywołanie procedury ustawi w tym miejscu nowy offset
koniec procedury
M99
Pasjonat


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1236
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

#9

Post napisał: tomcat65 » 28 gru 2013, 18:58

oprawcafotografii pisze:Wymodzilem cos takiego ale nie wiem czy dobrze?
Dobrze kombinujesz z G52. Jeśli przesunięcie detalu/gniazda jest o stałą wartość, to to też możesz zautomatyzować.
Drugą metodę podał kolega powyżej - G92.
Czy podprogram jest napisany absolutnie czy przyrostowo nie ma znaczenia. Po zmianie offsetu podprogram staruje od tymczasowego zera.

Awatar użytkownika

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

#10

Post napisał: WZÓR » 28 gru 2013, 19:16

maz pisze: ...Najłatwiej jak już jest ściażka, użyć kilku baz, jeśli jest możliwość, wtedy przeróbka to 3 minuty
Też racja .... :smile:

@ oprawcafotografii - tak to się (np.) w Haas robi.

http://zapodaj.net/51458d6c621eb.jpg.html

p.s.
@ oprawcafotografii - na jakim sterowaniu i maszynie chcesz puścić ten program ?
..... jeszcze chwila , a będziemy mieć przykłady na HH. :wink:

Mariusz.
Pomagam w:
HAAS - frezarki, tokarki

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „G-CODE - programowanie”