Funkcje M98 M99 , pomoc

Dyskusje dotyczące programowania G-Code

Autor tematu
daft72
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 6
Posty: 6
Rejestracja: 06 sie 2009, 09:29
Lokalizacja: Leszno

#11

Post napisał: daft72 » 06 mar 2011, 12:08

Chetnie ale program byl recznie wstukiwany na maszyne, jakbym mial na kompie to bym wkleil.

[ Dodano: 2011-03-06, 14:09 ]
Dobra... problem rozwiązany.
W podprogramie po M99 nie dałem znaku końca linii. Zamiast M99 ; zostawiłem samo M99 na końcu.

Takie małe gówienko a tyle głowienia się ;]

Dzieki za pomoc, czegoś się nauczyłem przy okazji.



Tagi:

Awatar użytkownika

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

#12

Post napisał: WZÓR » 06 mar 2011, 16:37

daft72 pisze:Chetnie ale program byl recznie wstukiwany na maszyne, jakbym mial na kompie to bym wkleil.

[ Dodano: 2011-03-06, 14:09 ]
Dobra... problem rozwiązany.
W podprogramie po M99 nie dałem znaku końca linii. Zamiast M99 ; zostawiłem samo M99 na końcu.....
Pojechałeś do pracy skopiować i sprawdzić program .... ? :cool:
daft72 pisze:....Chciałem zrobić obróbkę konturu gdzie w głównym programie byłby określony poziom w globalnym Z , Z -6.0 , Z-8.0 itp. a w podprogramie obrys konturu w X,Y.

Jakieś pomysły jak to zrobić?
Dlaczego nie używasz do tego celu cyklu?

Pokazuję przykład z Haas-a - jest to cykl G150 (Uniwersalne frezowanie gniazda).*

* - znajdź odpowiednik tego cyklu w swoim sterowaniu.

Wartość Z i Q załatwia ten problem.

G150 Uniwersalne frezowanie gniazda (grupa 00)
D - Wybór korekcji średnicy/promienia narzędzia
F - Prędkość posuwu
I - Inkrement cięcia osi X (wartość dodatnia)
J - Inkrement cięcia osi Y (wartość dodatnia)
K - Wartość przejścia wykańczającego (wartość dodatnia)
P - Numer podprogramu, który definiuje geometrię kieszeni
Q - Inkrementalna głębokość cięcia w osi Z na przejście (wartość dodatnia)
R - Położenie płaszczyzny R ruchu szybkiego
S - Opcjonalna prędkość wrzeciona
X - Położenie początkowe X
Y- Położenie początkowe Y
Z - Głębokość końcowa kieszeni

Obrazek
...W podprogramie po M99 nie dałem znaku końca linii. Zamiast M99 ; zostawiłem samo M99 na końcu.

Takie małe gówienko a tyle głowienia się ;]
Moim zdaniem nie jest to takie ,,gówienko'' - sam raz w programie dałem dwie kropki w komendzie G01x5.5. i przez godzinę zachodziłem w głowę co jest grane. :mrgreen:

Nawiasem mówiąc Twój przypadek (program) można było jeszcze na inne sposoby rozpisać , np.;
1. wykorzystując M97 (lub twój odpowiednik w sterowaniu) - patrz ; post wyżej,
2. przesunięcie robocze G10 (lub twój odpowiednik w sterowaniu),
... to tyle , co mi na razie przychodzi do głowy.
Pomagam w:
HAAS - frezarki, tokarki


Autor tematu
daft72
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 6
Posty: 6
Rejestracja: 06 sie 2009, 09:29
Lokalizacja: Leszno

#13

Post napisał: daft72 » 07 mar 2011, 07:45

No tak się składa, że jestem właścicielem warsztatu obok którego mieszkam więc ze sprawdzeniem kodu problemów nie było ;]

Co do do cykli to nie wgłębiałem się w to jeszcze, ale wydaje mi się że są one do standardowych kształtów a mój kontur jest dość skomplikowany.

Program chodzi na M98 i M99 aż miło więc na razie kombinował nie będę ;]


yorque
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 3
Posty: 19
Rejestracja: 29 kwie 2015, 18:02
Lokalizacja: Polska

#14

Post napisał: yorque » 09 cze 2015, 17:53

Witam. Żeby nie zakładać nowego tematu zapytam tutaj.
Mam program w którym muszę wywiercić ponad 1800 otworów fi 1,6mm.
Wygląda to tak że w osi Y wierce 29 otworów, przesuwam się w osi X o pewną odległość i znowu 29 otworów i tak w kółko (w sumie 64 rzędy po 29 otworów).
W tej chwili program wygląda tak:
%
O0005
N1M98P8000 (NAWIERTAK)
T1M6
G0 G90 G56 X2.1 Y0. S6000 M3
G43 Z3 .H1 M8
G81 Z-0.3 R1. F1000
Y-5.
Y-10.
Y-15.
...
Y-130.
Y-135.
Y-140.
X6.3
Y-0.
Y-5.
Y-10.
Y-15.
...
Y-130.
Y-135.
Y-140.
X10.5
...itd.

Przez to program robi się bardzo długi co jest niewygodne.
Nawiązując do tematu chce użyć podprogramu za pomocą M98 tylko nie do końca wiem dokładnie ma wyglądać podprogram.
Na początku mojego programu jest odwołanie do podprogramu z funkcjami przygotowawczymi (poprzedni pracownik tak zrobił a ja nie zmieniałem).
Proszę o jakieś wskazówki.


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

#15

Post napisał: tomcat65 » 10 cze 2015, 13:12

Generalnie podprogram wykonuje jakiś cykl. Tu już jest cykl - g81, pisać go nie trzeba.
W tym przypadku podprogram powinien obliczać współrzędne punktów nawiercania.
Zmienne i operacje na nich - jeśli znasz, zrobisz.
Tu trzeba użyć dwóch podprogramów, jeden w drugim ( pętla w pętli ).
Pierwszy liczy współrzędne rzędów, drugi kolumn.


yorque
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 3
Posty: 19
Rejestracja: 29 kwie 2015, 18:02
Lokalizacja: Polska

#16

Post napisał: yorque » 10 cze 2015, 18:51

To chyba zbyt dużo jak na moją wiedzę bo nie do końca ogarniam to co napisałeś (jestem samoukiem).
Myślałem że da się to zrobić mniej więcej w taki sposób:

%
O0005
N1M98P8000 (NAWIERTAK)
T1M6
G0 G90 G56 X2.1 Y0. S6000 M3
G43 Z3 .H1 M8
G81 Z-0.3 R1. F1000
tutaj dać podprogram ze współrzędnymi tych 29 otworów
kolejna współrzędna X
i znów podprogram na 29 otworów
i znów kolejny X
itd

Ale to jest tylko moje wyobrażenie jak można by to zrobić bo jak powiedziałem jestem totalnym samoukiem i dopiero zaczynam zabawe z CNC


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

#17

Post napisał: tomcat65 » 10 cze 2015, 21:08

yorque pisze:jestem samoukiem
Jak znakomita większość na tym forum :). W tym i ja.
Na razie spróbuj zrobić tak, jak piszesz.
Nie wiem jakie masz sterowanie i czy obsługuje ono zmienne typu #numer/#nazwa.
Nie będę Cię katował - na razie - takimi cudactwami :).

Awatar użytkownika

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

#18

Post napisał: WZÓR » 10 cze 2015, 23:31

%
O0005
G90
G54
T1M6
G43 H1
S6000 M3
G00 X2.1 Y0.
Z3.
G81 Z-0.3 R1. F1000.
...
...
G80
G10 L2 P1 G91 X....
M97 P1 L1
G10 L2 P1 G91 X....
M97 P1 L1
G10 L2 P2 G91 X-....
G28 G91 Z0.
G28 Y0.
G00 G49
G90
M30

N1
G90
G54
G00 X2.1 Y0.
Z3.
G81 Z-0.3 R1. F1000.
....
....
G80
M99
%

Mariusz.
Pomagam w:
HAAS - frezarki, tokarki


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

#19

Post napisał: tomcat65 » 11 cze 2015, 03:33

Dla każdego sterowania obsługującego zmienne:
""
( wiercenie w siatce )

#1=2.1 ( start w X )
#2=0 ( start w Y)
#3=4.2 ( rozstaw w X)
#4=5 ( rozstaw w Y)
#5=29 ( ilość rzędów w Y )
#6=64 ( ilość kolumn w X )

G54 G90 (i inne kody przygotowawcze )
G0 x0 y0 z3
f2000 ( tu podać swoją wartość)
S6000 M3

m98 P1 L#6

G0 Z3
G0 X0 Y0
m30

o1
G0 X#1 Y#2
m98 P2 L#5
#2=0 ( uwaga, tu wpisać/powtórzyć wartość #2 z tabeli na początku )
#1=[#1+#3]
m99

o2
G0 X#1 Y#2
g81 z-0.3 R3
#2=[#2+#4]
m99

""

Program - narzędzie, poprzez zmianę #1 - #6 można dowolnie zmieniać parametry " siatki ".
Sam cykl G81 też można zamienić na podobny, inny - typu frezowanie lub jakiś własny .
Nawet jeśli występuje ograniczenie liczby powtórzeń - #5 x #6 , ( Mach się zbuntował dopiero przy ponad 245 tyś ), to i tak tym małym programikiem można nawiercić się do znudzenia :twisted:
Albo robić sitka :mrgreen:


yorque
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 3
Posty: 19
Rejestracja: 29 kwie 2015, 18:02
Lokalizacja: Polska

#20

Post napisał: yorque » 11 cze 2015, 05:27

Dzięki za wszystkie odpowiedzi. Nie wiem czy moja maszyna obsługuje wiercenie w siatce, muszę to sprawdzić.

Żeby nie zakładać nowego tematu to zapytam w tym jeśli mogę.
Od paru dni przy tym programie maszyna łamie wiertła w zastraszającym tempie. Wcześniej potrafiła wykonać kilkanaście serii programu i dopiero wiertło się poddawało. Teraz nie może nawet skończyć jednego cyklu. Używam wierteł z węglika spiekanego KAMMER PRAZISION fi 1.6, posuw 200, obroty 6000 (max dla maszyny), i dziabanie po 2.5mm w G83 (otwór głęboki na 9 mm wierci na 4 razy). Sprawdzałem oprawke/tulejke i nie ma bicia. Chłodzenie oczywiście jest. Materiał to aluminium PA38. Co może być przyczyną?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „G-CODE - programowanie”