G-Code - ruch zmijkowy

Dyskusje dotyczące programowania G-Code

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

Re: G-Code - ruch zmijkowy

#11

Post napisał: tomcat65 » 02 lis 2018, 15:58

kamar pisze:Dołożyć jeszcze "z" to i pachwinę obleci


W teorii tak, jak to jest przy spawaniu nie wiem. Jak się kod trochę przerobi to i po skosie poleci.
kamar pisze:Tak wprowadzane zmienne to były w Machu od zawsze czy to nowe wynalazki ?


Zawsze tak było, proste, no nie :) , # i nr zmiennej i koniec, "co ta zmienna jest" - w opisie.




Autor tematu
snajperman-s1
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 10
Posty: 340
Rejestracja: 22 kwie 2010, 10:34
Lokalizacja: Nowy Sącz

Re: G-Code - ruch zmijkowy

#12

Post napisał: snajperman-s1 » 02 lis 2018, 21:14

tomcat65 pisze:
02 lis 2018, 00:49
Nie znam się na spawaniu :), ale prosty program na zygzaczek to kilka linii kodu pracującego w pętli.
Np:

#1=? // X start
#2=? // X end
#3=? // szer spawu
#4=? // F
#5=? // gęstość spawu
#6=[[[#2-#1]/#5]/2]
#11=? // Y start
#12=? // Y end

O1
F#4
g0 x#1 y#11
g1 x[#1+#3] y[#11+#5]
g1 x#1 y[#11+#5]
m99

Wywołanie przez:
m98 P1 L#6

Wrzuć do Macha, potestuj, jak nie mam teraz dostępu do programu.
Powinien działać, poeksperymentuj z danymi, zwłaszcza #3 i #5
To mi teraz wbiłeś klina.... kombinuje z tym poprzez notatnik wrzucić do Macha ale nijak to nie chce ruszyć - nie widziałem takiego kodu nigdy dlatego nie bardzo rozumiem o co w tym chodzi....

Dla przykładu mógłbyś go np uzupełnić danymi i wytłumaczyć "jak to zastosować" :D


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

Re: G-Code - ruch zmijkowy

#13

Post napisał: tomcat65 » 03 lis 2018, 00:19

A pisałeś, że umiesz pisać, tzn. programować :)
No dobra:

1 - to, co po "//" to komentarz. Czasem Mach krzyczy, że mu nie pasuje. Zamień albo na / komentarz/ albo REM komentarz. Albo i wywal.
2 - Zamiast "?" chyba wiadomo, co wpisać. W zasadzie tu #12 jest zbędne.

3 - powinno być tak, przykładowo:

#1=0 // X start
#2=200 // X end
#3=2 // szer spawu
#4=200 // F
#5=2 // gęstość spawu
#6=[[[#2-#1]/#5]/2]
#11=0 // Y start

m98 P1 L#6


m30

O1
F#4
g0 x#1 y#11
g1 x[#1+#3] y[#11+#5]
g1 x#1 y[#11+#5]
m99

Ważne - po m99 koniecznie ENTER.

4 - "O1" to podprogram nr 1. Podprogramy zawsze oznaczamy literą O, tylko numerki sobie nadajemy.
Takie podprogramy zawsze umieszczamy na końcu, po m30. Można inaczej, ale teraz to nieistotne.

5 - wywołanie podprogramu to m98. P to nr wywoływanego, bo można mieć więcej, L to ilość powtórzeń. W tym przykładzie wylicza się sama :). Zamiast L#6 może być L200.

To tylko przykład na powtarzalne czynności, jak napisać krótko i zwięźle.
Do realnej pracy trzeba będzie uzupełnić o kilka rzeczy.
Poradzisz sobie.


Autor tematu
snajperman-s1
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 10
Posty: 340
Rejestracja: 22 kwie 2010, 10:34
Lokalizacja: Nowy Sącz

Re: G-Code - ruch zmijkowy

#14

Post napisał: snajperman-s1 » 04 lis 2018, 19:28

Wrzuciłem do Macha - przegryzł, przetrawił i owszem robi pętle ale w trójkąt a nie zygzak.....

Dodaje screen z tego co widzi MACH.... nie bardzo o to chodziło.....

Obrazek

I jeszcze jedno pytanie - L=6 piszesz że wylicza się sama - no właśnie przy L=6 robi 9 powtórzeń.... Do czego służy też linijka #6?

Kombinowałem z dopisywaniem równań ale tj jakby na każdą linijkę albo ja to jeszcze źle rozumiem.
Bardziej chodziło mi o coś takiego że np ustawiamy maszynę w punkt X0 Y0 Z0 i chcemy żeby np do X200 przejechał zygzakiem szerokości 2mm i gęstości 2mm czyli zygzaczek na 4mm i zatrzymała się w punkcie X200:

X00 /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ X200


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

Re: G-Code - ruch zmijkowy

#15

Post napisał: tomcat65 » 05 lis 2018, 00:11

O1
F#4
g0 x#1 y#11
g1 x[#1+#3] y[#11+#5]
#11=[#11+#5]
g1 x#1 y[#11+#5]
#11=[#11+#5]
m99

Sorki, na kolanie pisane to i błąd ze sklerozy. Masz poprawione. Jutro sam sprawdzę na maszynie.

Z "L" na razie nie kombinuj, niech zostanie jak jest.

Dodane 43 minuty 13 sekundy:

Jeszcze raz :), mam nadzieję, że teraz ok.




#1=0 // X start
#2=200 // X end
#3=2 // szer spawu
#4=200 // F
#5=2 // gęstość spawu
#6=[[[#2-#1]/#5]/2]
#11=0 // Y start

g0 x#1 y#11
m98 P1 L#6

m30

O1
F#4

g1 x[#1+#3] y[#11+#5]
#11=[#11+#5]
g1 x#1 y[#11+#5]
#11=[#11+#5]
m99


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

Re: G-Code - ruch zmijkowy

#16

Post napisał: kamar » 05 lis 2018, 13:08

W życiu się nie spodziewałem , że ściągnę program z Macha :)
W naszym wydaniu wygląda to tak :

Kod: Zaznacz cały

( ------------------------------ )
(           Z Y G Z A K          )
( ------------------------------ )
( Kamar                          )
( Time-stamp: <2018-11-05 12:52> )
( ------------------------------ )

o<zygzak> sub

#<x_poczatkowy> = #1 (=0  X start)
#<x_koncowy> = #2 (=200  X end )
#<szerokosc> = #3 (=2 szerokość spawu )
#<gestosc> = #4 (=2 gestość spawu)
#<krawedz> = #5 (=0 <> pachwina)
#<predkosc> = #6 (=400 predkość)
#<y_poczatkowy> = #7 (=0  Y start )


o10 if [#<krawedz> eq 0]

g0 x#<x_poczatkowy> y#<y_poczatkowy>
#<y_max> = [#<y_poczatkowy> + [#<szerokosc> / 2]]
#<y_min> = [#<y_poczatkowy> - [#<szerokosc> / 2]]
g1 x[#<x_poczatkowy> + [#<gestosc> / 4]] y#<y_max> f#<predkosc>

#<akt_x> = [#<x_poczatkowy> + [#<gestosc> / 4]]

(jezeli na koncu nie zmiesci sie pelny zygzak to zostawiam)
o100 while [#<akt_x> lt [#<x_koncowy> - #<gestosc>]]
     #<akt_x> = [#<akt_x> + [#<gestosc> / 2]]

     g1 x#<akt_x> y#<y_min>

     #<akt_x> = [#<akt_x> + [#<gestosc> / 2]]
     g1 x#<akt_x> y#<y_max>
     
o100 endwhile

o10 else

g0 x#<x_poczatkowy> y[#<y_poczatkowy> - [#<szerokosc> / 4]] z[#<szerokosc> / 4]
#<z_max> = [#<szerokosc> / 2]
#<y_min> = [#<y_poczatkowy> - [#<szerokosc> / 2]]

g1 x[#<x_poczatkowy> + [#<gestosc> / 4]] y0 z#<z_max> f#<predkosc>

#<akt_x> = [#<x_poczatkowy> + [#<gestosc> / 4]]

(jezeli na koncu nie zmiesci sie pelny zygzak to zostawiam)
o200 while [#<akt_x> lt [#<x_koncowy> - #<gestosc>]]
     #<akt_x> = [#<akt_x> + [#<gestosc> / 2]]

     g1 x#<akt_x> y#<y_min> z0

     #<akt_x> = [#<akt_x> + [#<gestosc> / 2]]
     g1 x#<akt_x> y0 z#<z_max>
     
o200 endwhile

o10 endif

m30


o<zygzak>endsub
Obrazek Obrazek


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

Re: G-Code - ruch zmijkowy

#17

Post napisał: tomcat65 » 05 lis 2018, 13:29

kamar pisze:W życiu się nie spodziewałem , że ściągnę program z Macha


A cóż w tym złego? Po co wyważać otwarte drzwi. Lepiej korzystać z dobrych wzorców :)

Trochę rozbudowałeś kodzik - o pachwinę i niepełny zygzak. Tylko czy to ostatnie przy gęstym i wąskim spawie ma znaczenie?

Ciekawe, jak to w pachwinie działa.

Można jeszcze dołożyć ruch w drugiej osi.

I bez złośliwości - Mach'owy kod trochę lżejszy :)


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

Re: G-Code - ruch zmijkowy

#18

Post napisał: kamar » 05 lis 2018, 14:48

tomcat65 pisze:
05 lis 2018, 13:29
I bez złośliwości - Mach'owy kod trochę lżejszy :)
Też bez złośliwości - nasz się za to lżej wprowadza :) bez edycji i celowania w wierszyki . Za parę lat też będzie wiadomo o co biega.
Że o niepełnych skokach nie wspomnę.


Autor tematu
snajperman-s1
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 10
Posty: 340
Rejestracja: 22 kwie 2010, 10:34
Lokalizacja: Nowy Sącz

Re: G-Code - ruch zmijkowy

#19

Post napisał: snajperman-s1 » 05 lis 2018, 18:25

Wytestowany kod bezpośrednio na maszynie - co prawda na plazmie ale widać super efekt.
Ustawienia zmienne co również widać na załączonym obrazku.

Obrazek

Z góry dziękuję za pomoc.

A teraz pytanie podnoszące poprzeczkę - OK lecimy po prostej a gdybyśmy chcieli np po tych 200mm zygzaka skręcić w prawo lub lewo i np 300mm również przelecieć zygzakiem?
Wystarczy dopisać kolejny ciąg kodu zamieniając X z Y ?
Po m99 czy przed?

I najważniejsze - do czego jest to L skoro po dojechaniu do mety program stoi i czeka :wink:

Sumując wynik dotychczasowy faktycznie trzeba dodać oś Z ponieważ różnie to trzeba palnikiem machać zależy wszystko jaki dostęp - raz X-Y, raz Y-X a raz Z-Y i Y-X.......


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

Re: G-Code - ruch zmijkowy

#20

Post napisał: kamar » 05 lis 2018, 18:47

snajperman-s1 pisze:
05 lis 2018, 18:25

A teraz pytanie podnoszące poprzeczkę - OK lecimy po prostej a gdybyśmy chcieli np po tych 200mm zygzaka skręcić w prawo lub lewo i np 300mm również przelecieć zygzakiem?
Nie ma tak dobrze :) teoretycznie można tak obracać płaszczyznę aby ruch był ciągle po X ale to już przerost. Chyba że jakieś spawanie wielkoseryjne. I to łatwiej narysować na CAM-ie.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „G-CODE - programowanie”