Znaleziono 4 wyniki

autor: PiRo_man
09 lip 2013, 21:13
Forum: Fanuc
Temat: Makro
Odpowiedzi: 10
Odsłony: 3188

zflaczały pisze:dawno temu wyskrobałem makra na frezowanie otworów po spirali, założenie było takie że zagłębiam się na pełna głębokość roboczą freza we wcześniej wywiercony otwór i po spirali z niewielkim "wcięciem" rozwiercam otwór w technologii HIGH SPEED, działa super.

dwa zastrzeżenia:
1) napisane to było na centrum tokarsko-frezerskie więc w płaszczyźnie XY x jest napisany na x2=Dr, na konwencjonalna frezarkę trzeba sobie to przepisać
2) wymaga szybkiego sterownika, jeśli sterownik muli program przystaje na końcu bloku


(...)
Jeżeli chciałeś się pochwalić, to Ci się udało. Jeśli chciałeś komuś pomóc, to wypadało by skomentować kod, nie uważasz? Tym bardziej że sam piszesz, że kod po przerzuceniu na konwencjonalną frezarkę trzeba by przepisać. Twoja makrodefinicja przypomina mi tak zwane "cykle wbudowane", czyli zaprogramowane przez producenta makrodefinicje (tam też nic nie jest skomentowane, bo programista ma z tego korzystać, a nie zastanawiać się co tam się w środku dzieje).

Tu masz mój kod na planowanie blachy wierszowaniem XY, również usunąłem komentarze, czy ten kod który widzisz pierwszy raz na oczy wydaje Ci się przejrzysty i zrozumiały:

Kod: Zaznacz cały

% 
O7302( 
#1=#5003 
#2=2*[#[13000+#4111]] 
#3=#4-#24
#33=#5-#25 
#32=#26+#6 
#31=1
IF[#3GT0]THEN#31=0 
IF[#31EQ1]GOTO1
#31=1
IF[#33GT0]THEN#31=0
IF[#31EQ0]GOTO2
N1 
#3000=1
N2
#30=#33/[#2-3] 
#30=FUP[#30] 
#29=#33/#30
#28=0
#27=1
IF[#30EQ1]GOTO12 
G0X[#4+[#2/2]+5]Y[#25+[#29-[#2/2]]]Z[#26+#6+20] 
GOTO13 
N12
G0X[#4+[#2/2]+5]Y[#25+[#33/2]]Z[#26+#6+20] 
N13
WHILE[#32GT#26]DO1 
#32=#32-#17
IF[#32LE#26]GOTO3
G1Z#32F2222
GOTO4
N3 
G1Z#26F2222
N4 
WHILE[#28LT#30]DO2 
IF[#27EQ1]GOTO5
IF[#27EQ0]GOTO6
N5 
G1X[#24-[#2/2]-5]F#9 
#27=0
GOTO7
N6 
G1X[#4+[#2/2]+5]F#9
#27=1
N7 
#28=#28+1
IF[#28EQ#30]GOTO8
IF[[#28+1]EQ#30]GOTO11 
G1Y[#5002+#29]F3333
GOTO8
N11
G1Y[#5-[#29/2]]F3333 
N8 
END2 
IF[#5003EQ#26]GOTO10 
IF[#33LT[#2-3]]GOTO9 
G1Z[#5003+20]F2222 
G0X[#4+[#2/2]+5]Y[#25+[#29-[#2/2]]] 
G1Z[#5003-20]F2222 
#27=1
N9 
#28=0
N10
END1 
G1Z[#26+20]F3000
M99
%
??? Podejrzewam że nie dojdziesz ani do połowy kodu, i odechce Ci się analizować żeby zrozumieć kod.
autor: PiRo_man
11 cze 2013, 19:47
Forum: Fanuc
Temat: Makro
Odpowiedzi: 10
Odsłony: 3188

Zamiast makro może skorzystasz z podprogramu? Będziesz miał łatwiej bo w przypadku jakichkolwiek błędów czy problemów będziesz w stanie sobie sam poprawić kod.

Makro na frezowanie kieszeni czy wyspy mógłbym napisać, jednak potrzebował bym trochę czasu na samo jego napisanie, testy, oraz poprawki (nie piszę "ewentualnie" bo na pewno jakieś poprawki trzeba będzie wprowadzić). Także dopóki sam tego nie będę potrzebował, to raczej nie będzie mi się chciało tego pisać. Ale jak już napiszę, to na pewno wstawię pełną i w stu procentach sprawdzoną i działającą wersję.

Pozdrawiam
autor: PiRo_man
10 cze 2013, 14:56
Forum: Fanuc
Temat: Makro
Odpowiedzi: 10
Odsłony: 3188

Tak w ogóle masz jakiekolwiek pojęcie chociażby teoretyczne o pisaniu Makro? Wiesz jak definiować zmienne? Jakiego są typu (zakresy, od zmiennych lokalnych po stałe)? Potrafisz wywołać makro z parametrami wejściowymi? Masz jakieś doświadczenie w algorytmice?

Tu masz prostą makrodefinicję mojego autorstwa:

Kod: Zaznacz cały

% 
O7301(*** FAZY OTWOROW ***) 
(A - SREDNICA OTWORU) 
(B - GLEBOKOSC ZEJSCIA) 
 
#4=#5003 
#28=2*[#[13000+#4111]] 
(#28 - SREDNICA FAZOWNIKA) 
#29=#1/2 
(#29 - PROMIEN NOMINALNEGO OTWORU) 
#31=600(NOMINALNY POSUW) 
#32=[[#31*[#1-#28]]/#1] 
(#32 - POSUW OBROBKI KOLOWEJ) 
 
G1Z#2F1111 
G1G41X#29Y0.F[#32/2] 
G3X#29Y0.I-#29J0.F#32
G1G40X0.Y0.F1111 
 
G1Z#4F2222 
M99
%
Na tej podstawie spróbuj napisać makro które potrzebujesz. Jak już wcześniej pisałem, jakbyś miał jakieś problemy bądź pytania to jestem do dyspozycji.
autor: PiRo_man
09 cze 2013, 20:44
Forum: Fanuc
Temat: Makro
Odpowiedzi: 10
Odsłony: 3188

Zamiast przedstawiać kod programu lepiej by było przedstawić rysunek techniczny, ewentualnie uzupełniony kodem. Oczywiście że jest to możliwe. Aktualnie na maszynach na których pracuję napisałem makrodefinicję pogłębień otworów, planowania blach, fazowania otworów, oraz frezowania wyspy. Mam w planach jeszcze napisać frezowanie gwintu. Z kieszenią było by podobnie jak z wyspą, tylko od wewnętrznej strony.

Spróbuj sam to napisać, w razie czego służę pomocą.

Wróć do „Makro”