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