Strona 1 z 6

Prośba o sprawdzenie kodu

: 29 sie 2012, 22:53
autor: ezbig
To mój absolutnie pierwszy program w g-code, niestety nie działa jak chcę w Mach-u 3

Kod: Zaznacz cały

G91
G54
G40
G80
G94
G17 
G21
T0 M6
G97 S10000
F1000


G00 Z10
G00 Z-5

(wycinanie 5 serii obok siebie) 
M98 P110
G00 X-123 Y24.6
M98 P110
G00 X-123 Y24.6
M98 P110
G00 X-123 Y24.6
M98 P110
G00 X-123 Y24.6
M98 P110
G00 X-123 Y-98.4
G00 Z5

M30

O110 (wycinanie 1 serii) 
M98 P100
M98 P100
M98 P100
M98 P100
M98 P100
M99

O100 (wycinanie elementu) 

G00 X0 Y0
G01 Z-2
G03 I10.9
G00 X-0.8
G01 Z-1
G03 I11.7
G03 I11.7 Z-1
G03 I11.7 Z-1
G03 I11.7 z0
G00 Z5
G00 X5.35
G01 Z-5
G00 Z5
G00 X12.7
G01 Z-5
G00 Z5
G00 X7.35
M99

Na razie bawię się w symulatorze, zanim zacznę coś robić na maszynie. Problem z tym programem jest taki, że w CIMCO Edit wyświetla się i działa jak chciałem, ale Mach3 już wyświetla mi jakieś "pierścienie saturna" zamiast ułożonych obok siebie elementów w szyku 5 na 5.

Użyłem tu pozycjonowania względnego i według moich założeń podprogram rysuje po każdym wywołaniu element na nowej pozycji, ale w Mach-u okręgi rysują się w jednym miejscu, tylko są coraz większe. Tylko komendy G00 i G01 wyglądają na prawidłowo rozmieszczone. Przy uruchomieniu programu oś Z stoi w miejscu.

Co robię nie tak?

Obrazek

Obrazek

Z tym nieruchomym Z to pewnie dlatego, że limit jest ustalony jak na rysunku, a Z-tka w programie zjeżdża mi poniżej, ale nie wiem jeszcze gdzie to przestawić.

: 30 sie 2012, 12:40
autor: rc666
Zgadza sie!! program nie bedzie wykonywal elementow"obok siebie".
Jak na poczatek to zaczales nie z tej strony co trzeba. Po co uzywasz podprogramow, widze ze nie wiesz jeszcze jak ich uzywac.
W tym konkretnym przypadku, w podprogramie O100 uzylbym komendy G91 ale to wymaga zmiany calego O100.
Jeszcze jedno wszystkie podprogramy beda obrabialy material w tym samym miejscu oprocz G00 X-123 Y-98.4 .

: 30 sie 2012, 13:50
autor: ezbig
rc666 pisze:Zgadza sie!! program nie bedzie wykonywal elementow"obok siebie".
Jak na poczatek to zaczales nie z tej strony co trzeba. Po co uzywasz podprogramow, widze ze nie wiesz jeszcze jak ich uzywac.
W tym konkretnym przypadku, w podprogramie O100 uzylbym komendy G91 ale to wymaga zmiany calego O100.
Jeszcze jedno wszystkie podprogramy beda obrabialy material w tym samym miejscu oprocz G00 X-123 Y-98.4 .
Podprogramów użyłem, żeby było wygodnie i była możliwość łatwej modyfikacji elementu, który będzie powtarzany (to takie przyzwyczajenie z programowania w różnych językach wysokopoziomowych). Chcę pójść o krok dalej i potem użyć zmiennych i pętli warunkowych, abym mógł tylko podać ilość wierszy, kolumn, wymiary elementu i średnicę freza. Zrobiłem to na razie tak dla testów, na sztywno z liczbami, bo dopiero się uczę.

Użyłem komendy G91 na samym początku i wszystkie współrzędne w O100 jak i całym programie są w ten sposób zaprogramowane (względem ostatniej pozycji). Miałem problem tylko z G03, które nie mogłem zmusić do rysowania koła z jednego polecenia i wykorzystałem gotowy przykład z sieci, który jak widzisz działa w symulatorze, ale Mach to inaczej interpretuje. Logicznie analizując ten program (i moje rozumienie parametrów G03, które może być błędne) powinno być ok, w czym jeszcze mnie utwierdził CIMCO. Niestety maszyna jest sterowana Mach-em i tam musi to działać.

[ 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ę.

Obrazek

Kod: Zaznacz cały

%
G91
G54
G40
G80
G94
G17 
G21
T0 M6
G97 S10000



F1000

G00 Z10
G00 Z-5

M98 P110
G00 X-136.20 Y26.8
M98 P110
G00 X-136.20 Y26.8
M98 P110
G00 X-136.20 Y26.8
M98 P110
G00 X-136.20 Y26.8
M98 P110
G00 X-136.20 Y26.8
G00 Z5

M30

O110
M98 P100
M98 P100
M98 P100
M98 P100
M98 P100
M99

O100

G00 X0 Y0
G01 Z-2
G02 x10.9 Y10.9 R10.9
G02 X10.9 Y-10.9 R10.9
G02 x-10.9 Y-10.9 R10.9
G02 X-10.9 Y10.9 R10.9

G00 X-0.8
G01 Z-1

G02 x11.7 Y11.7 R11.7 Z-1
G02 X11.7 Y-11.7 R11.7
G02 x-11.7 Y-11.7 R11.7
G02 X-11.7 Y11.7 R11.7

G02 x11.7 Y11.7 R11.7 z-1
G02 X11.7 Y-11.7 R11.7
G02 x-11.7 Y-11.7 R11.7
G02 X-11.7 Y11.7 R11.7

G02 x11.7 Y11.7 R11.7
G02 X11.7 Y-11.7 R11.7
G02 x-11.7 Y-11.7 R11.7
G02 X-11.7 Y11.7 R11.7

G00 Z5
G00 X5.35
G01 Z-5
G00 Z5
G00 X12.7
G01 Z-5
G00 Z5
G00 X10
M99
%

Teraz czas na zmienne i przekazywanie parametrów do podprogramu. Nie wiem czy to jeszcze możliwe, bo jak próbowałem to mi to nie chodziło, ale może to z powodu wcześniejszego błędu z okręgami.

: 30 sie 2012, 16:58
autor: rc666
W poprzedniej wersii tego programu G03 z parametrem I powinno tez posiadac parametr J i jezeli potrzeba K. Pewnie dlatego nie dzialalo.

: 30 sie 2012, 17:30
autor: ezbig
Wiec powinno działać to z pierwszej wersji, bo skoro nie podałem J, to zgodnie z trybem przyrostowym, powinny one mieć wartość z ostatniej pozycji.

Wyczytałem, że Mach-u istnieje możliwości konfiguracji, czy IJK mają być traktowane jako absolutne, czy jako przyrostowe - tu pewnie jest pies pogrzebany. Bo to wygląda jakby IJK było absolutne. Z każdym wywołaniem punkt początkowy okręgu jest przesuwany, a JK maja po 0 i stąd te coraz większe okręgi w pierwszym programie.

: 30 sie 2012, 20:08
autor: WZÓR
rc666 pisze:...
W tym konkretnym przypadku, w podprogramie O100 uzylbym komendy G91 ale to wymaga zmiany calego O100.
....
Nie trzeba używać G91 .....
Przetestujcie mój program na symulatorze ... dawno nie programowałem frezarki z G- kodów , wiec może nie zadziałać :oops: .

%
O23456
G17
G40
G80
G90
G54
T2 M6
G43 H2
S6000 M3
G0 X10. Y0
Z25.
G0 Z2.5
M97 P1 L1
G0 X35.
Z2.5
M97 P1 L1
G0 X60.
Z2.5
M97 P1 L1
G0 X85.
Z2.5
M97 P1 L1
G0 Z25.
M5
G28 G91 Z0
G28 Y0
G0 G49
G90
M30

N1
G1 Z-0.1 F800.00
G2 I-10. J0
G0 Z25.
M99
%


Mariusz.

: 30 sie 2012, 20:22
autor: ezbig
No niestety u mnie to nie działa. Bo to co z tego rysuje mój symulator to w 3 liniach bym zmieścił, a domyślam się że to miało być coś bardziej skomplikowanego.

: 30 sie 2012, 20:54
autor: WZÓR
ezbig pisze:No niestety u mnie to nie działa. ....
Hmm ..... jutro sprawdzę na Haas-e .

P.S.
Jak jest problem z podprogramem , to zastosuj G10 ( ustawianie przesunięć).

Mariusz.

: 30 sie 2012, 21:03
autor: wieslawbarek
Sam sobie odpowiedziałes program działa ale musisz w General Configuration przy I J Mode zaznaczyć Incremental i najczęściej jeżeli mamy jakiś dziwny obraz symulacji jakieś dziwne okręgi to wina ustawień absolutne albo incrementalne

: 30 sie 2012, 21:24
autor: WZÓR
wieslawbarek pisze:Sam sobie odpowiedziałes program działa ale musisz w General Configuration przy I J Mode zaznaczyć Incremental i najczęściej jeżeli mamy jakiś dziwny obraz symulacji jakieś dziwne okręgi to wina ustawień absolutne albo incrementalne
Hmm ... prawdę mówiąc , to za bardzo nie rozumiem.
Mógłbyś napisać G - kod na ruch G2 / G3 (patrz; rysunek ) w/g Twojej teorii ?

Obrazek

Mariusz.