586.043 aktive Mitglieder*
3.719 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
FANUC Forum

Macro für die OM, einfache kreistasche

Beitrag 13.04.2005, 16:47 Uhr
digo
digo
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 22.10.2003
Beiträge: 19

Hallo ,

Ich suche ein fanucisch macro für eine einfache kreistasche,

es sollte so sein das wir über G65 einfach das macro aufrufen

und nur noch den mittelpunkt , tiefe , usw übergeben.

bei dem ersten macro ist ja noch alles klar und es läuft auch.

ABU-Simpelst ,

aufgerufen mit G65 P9010 X0 Y0 Z-5. D25. R.2 C81. I45. H4. F100.

wobei wir noch A mit I getauscht haben weil wir a nicht über die steuerung

eingeben können.

soweit sogut alles klappt.

X X axis center of the Bolt Circle.
Y Y axis center of the Bolt Circle.
Z Depth to drill or bore the hole.
R Reference point above part.
D Diameter of bolt circle.
C "G" code to be used. Any standard Drilling or Boring Cycle can be use.
H Number of holes in the pattern.
I Starting angle of first hole from the X axis.
F Feed rate to be used.
T Dwell value if G82 cycle is used.
Q Peck interval if G73 or G83 peck drilling cycle is used.

%
O9010(funzt lochkreis)
IF[#7EQ#0]GOTO2001
IF[#11EQ#0]GOTO2002
IF[#9LT#0]GOTO2003
IF[#3EQ#0]GOTO2004
IF[#18EQ#0]GOTO2005
#100=1
27=#7/2.0
G0X[[COS[#1]*#27]+#24]Y[[SIN[#1]*#27]+#25]
G[#3*10000]Z#26R#18F#9Q#17P#20
#101=360/#11
N1WHILE[#100LTABS[#11]]DO1
X[[[COS[[#101*#100]+#1]*#27]+#24]]Y[[[SIN[[#101*#100]+#1]*#27]+#25]]
#100=#100+1
END1
M99
N2001#3000=1(NO DIAMETER GIVEN)
N2002#3000=2(NO HOLES GIVEN)
N2003#3000=3(NO FEEDRATE "F" GIVEN)
N2004#3000=4(NO DRILL CYCLE GIVEN)
N2005#3000=20(NO REFERENCE POINT GIVEN)
(X=X AXIS CENTER)
(Y=Y AXIS CENTER)
(Z=Z AXIS DEPTH)
(R=REFERENCE POINT ABOVE PART)
(T=DWELL VALUE FOR G82)
(Q=PECK INTERVAL FOR G73,G83)
(H=NUMBER OF HOLES TO DRILL)
(A=START ANGLE OF FIRST HOLE)
(D=DIAMETER OF BOLT CIRCLE)
(C=DRILL CYCLE TO USE)
M30
%

nun möchte ich auch dieses macro zum laufen bekommen ,
eigentlich sollten doch nur a und w mit schreibbaren zeichen geändert werden.
aber die steuerung steigt immer mit einem 114 aus.
leider habe ich auch keinen original syntax zum aufruf gefunden ,
verrechnet wir das tool vorher mit h12 für die länge und h112 für den durchmesser.

%
O9012(nixgut loch)
IF[#3EQ#0]GOTO2001
IF[#9EQ#0]GOTO2002
IF[#23EQ#0]GOTO2003
IF[#1EQ#0]GOTO2004
N1G0X#24Y#25Z#1
#100=0
#106=0
#140=#5003
#141=#5001
#142=#5002
#144=#[#4107+2000](D+2000)
#10=#18-#144(POCKETRAD-EMRAD)
#143=#142-[#10-#4]
#145=[#10-#4]
#146=2*#145
#12=#23*[#144*2](WIDTH-OF-CUT)
#104=[#12*.01]
#27=#26+#5(ZDEPTH-FINISH)
IF[#7EQ2.0]#104=-#104
IF[#6EQ#0]GOTO3000
#100=ABS[FIX[[#26-#1+#5]/#6]]
#101=#100
N2G90G0Z#1
N3G0G90X#141Y#142
N500IF[#106GE#100]GOTO3000
#14=0
G91G1Z-#6F#3
WHILE[[#12+#14]LT[#145]]DO2
N4G1G91Y-#12F#3
#14=#14+#12
N5G#7X0Y[2*#14]R#14F#9
N6G#7X0Y-[2*#14]R#14
N31G0Y0.0
N32END2
N2000#106=#106+1
N19G90G1Y[#143]
G#7G91X0.0Y#146R145F#9
G#7X0.0Y-#146R145
G0Y0
N8G90G0X#141Y#142
N201GOTO500
N3000IF[#5EQ#0]GOTO4000
N9G90G0X#141Y#142
#14=0
N10G1Z#27F#3
N40WHILE[[#12+#14]LT[#145]]DO3
N11G1G91Y-#12F#3
#14=#14+#12
N12G#7X0Y[2*#14]R#14F#9
N13G#7X0Y-[2*#14]R#14
N14G0Y0
END3
N19G90G1Y#143
G#7G91X0.0Y#146R#145F#9
G#7X0.0Y-#146R#145
G0Y0
N4000G0G90X#141Y#142
N14G1Z#26F#3
#14=0
WHILE[[#12+#14]LT[#145]]DO1
G1G91Y-#12F#3
#14=#12+#14
G#7X0Y[2*#14]R#14F#9
G#7X0Y-[2*#14]R#14
G0Y0
END1
N1000IF[#4EQ#0]GOTO23(IFNOFINALLOW)
N19G90G1Y#143
G#7G91X0.0Y#146R#145F#9
G#7X0.0Y-#146R#145
G0Y0
IF[#5003NE#26]GOTO4000
N23G90G1Y[#142-#10]
N24G#7G91X0Y[2*#10]R#10F#9
N25G#7X0Y-[2*#10]R#10
N26G#7X#104Y[ABS[#104]]R[ABS[#104]]
N67G0G90Z#140
G0X#141Y#142
M99
N2001#3000=8(NO PLUNGE FEEDRATE GIVEN)
N2002#3000=3(NO FEEDRATE GIVEN)
N2003#3000=5(NO WIDTH OF CUT GIVEN)
N2004#3000=21(NO REFERENCE POINT)
M30
%

eigentlich brauche ich einfach nur eine kreistasche ohne tiefenschnitte ,
zur not auch mit direkter übergabe der Tool-durchmessers ohne kompensation.
zb G65 P_mausefix , lochmitte x-y , tiefe , lochdurchmesser ,wkz-durchmesser , cw oder ccw , vorschub.
aber dennoch würde ich dieses macro gerne ans laufen bekommen ,
oder ein einfacheres einsetzen.
wer kann mir da weiterhelfen , da ich möglichst schnell die programmierung an der steuerung vereinfachen möchte.
dann darf ich auchmal urlaub machen :-)

besten dank , Dirk
TOP    
Beitrag 07.06.2005, 11:17 Uhr
farmer 70
farmer 70
Level 6 = Community-Doktor
******
Gruppe: Mitglied
Mitglied seit: 05.06.2005
Beiträge: 911

Moin Moin,

ich habe ein Makro zum Kreistasche fräsen, weiß aber nicht ob es einwandfrei läuft. Habe noch weitere Makros wie z.B. Vieleck fräsen, Reiben, Außen- und Innengewinde usw. Bei Bedarf melden. Austausch ist erwünscht.

gruß farmer 70


--------------------
Gruß farmer



Hilfsbereitschaft, Gemeinsinn, Miteinander und Füreinander
TOP    
Beitrag 07.06.2005, 11:30 Uhr
CNCAllgäuer
CNCAllgäuer
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 17.12.2004
Beiträge: 584

HAb hier schon mal zwei Macros für ne Kreist- und Rechtecktasche reingestellt.Hier die Kreistasche:

9012(G12)
#25=#4
#1=#7
IF[#6EQ#0]GOTO1
#6=#6-#1
N1#2=#4-#1
#3=#2/2
#4=#2*2
IF[#6NE#0]GOTO10
IF[#18EQ#0]GOTO5
IF[#25LE#1]GOTO3333
IF[#18GE#2]GOTO4444
#11=#18-#3
#12=#11*#11
#13=#3*#13
#14=#13-#12
#15=#2-#18
#16=#9*3
G91G94
G2X#18Y#10R#3F#16
X#15Y-#10R#3F#9
X-#4R#2
X#4R#2
X-#15Y-#10R#3
X-#18Y#10R#3F#16
GOTO100
N5
IF[#25LE#1]GOTO3333
G91G94
G2X#2R#3
X-#4R#2
X#4R#2
X-#2R#3
GOTO1000
N10
IF[#17GE[#1*2]]GOTO5555
IF[#25LT#1]GOTO6666
G91G94
#18=#17/2
#19=#6/2
G2X#2R#3F#9
G2X-#4R#2
X#4R#2
DO1
N1#4=#17+#4
N2#2=#4/2
N3IF[[#4-#30]GE#6]GOTO20
N4G2X-#4R#2
N5#30=#2
N6#4=#17+#4
N7#2=#4/2
N8IF[[#4-#30]GE#6]GOTO30
N9X#4R#2
#30=#2
END1
N20#2=#2-#18
#4=#4-#17
#20=#6-#2
#4=#4+#20
#2=#4/2
G2X-#4R#2
G2I#6
G2X#6R#19
GOTO100
N30#2=#2-#18
#4=#4-#18
#20=#6-#2
#4=#4+#20
#2=#4/2
G2X#4R#2
G2I-#6
G2X-#6R#19
N100G1G90
M99
N3333#3000=5(END MILL TO LARGE)
N4444#3000=6(RAPID MOVE TO LSRGE)
N5555#3000=7(STEP OVER TO LARGE)
N6666#3000=8(ENTRY ARC TO SMALL)
%

So,und nun für ne Rechtecktasche:

9014(G72)
#1=#7
#24=ABS[#24]
#25=ABS[#25]
IF[#23GE[2*#1]]GOTO4444
IF[#25GT#24]GOTO1111
#2=[#24-[#1*2]]
#3=[#25-[#1*2]]
#4=#3/2
DO1
#20=#20+#17
#5=#5+1
IF[#20GE#4]GOTO1
END1
N1
#6=#20-#4
#6=#17-#6
#7=[[#5*2]-2]
#8=[#2-[#7*#17]]
#12=#8/2
#10=#17*2
#11=#6*2
G91
G1Y-#6F#9
X#12
Y#11
X-#8
Y-#11
X#12
DO2
#12=#12+#17
#11=#11+#10
#8=#8+#10
IF[#11GT#3]GOTO10
G1Y-#17
X#12
Y#11
X-#8
Y-#11
X#12
END2
N10
G90
GOTO2222
N1111
#2=[#25-[#1*2]]
#3=[#24-[#1*2]]
#4=#3/2
DO1
#20=#20+#17
#5=#5+1
IF[#20GE#4]GOTO2
END1
N2
#6=#20-#4
#6=#17-#6
#7=[[#5*2]-2]
#8=[#2-[#7*#17]]
#12=#8/2
#10=#17*2
#11=#6*2
G91
G1X#6F#9
Y#12
X-#11
Y-#8
X#11
Y#12
DO2
#12=#12+#17
#11=#11+#10
#8=#8+#10
IF[#11GT#3]GOTO20
G1X#17
Y#12
X-#11
Y-#8
X#11
Y#12
END2
N20
G90
N2222M99
N4444#3000=2(STEP OVER TO LARGE)
%

Gilt wieder nur für Kundenmakro B.Achja,Die beiden Zyklen sind nur für eine Tiefe ausgelegt sprich nur einmal fräsen.Geht also nicht mit Tiefe=z.B.-20 mit z.B. 10 zustellungen á 2mm.Also:Zyklusaufruf 2mm fräsen, Zyklus aufruf,2mm Fräsen usw........
So,nun die Parameterzuweisungen für die zwei Makros:
Kreistasche(Gegenlauf) Aufruf mit G12 +den untenstehenden Wertzuweisungen:
I=1.zu fräsender Radius
K=Fertigradius der Tasche
D=Fräserradius
Q=Radiale Zustellung pro Kreisbahn (kleiner oder gleich D)
Der Fräser fährt nach dem Ende wieder auf den Startpunkt zurück.Auf die Tiefe muss vor dem Zyklus angestellt werden.

Recktecktasche (Gleichlauf) Aufruf mit G72 + den untenstehenden Wertzuweisungen:
X=Taschenlänge in X
Y=Taschenlänge in Y
Q=radiale Zustellung
D=Werkzeugradius

Startpunkt=Mittelpunkt der Tasche
Fräser bleibt am Ende irgendwo Stehen und fährt !!!!NICHT!!!! zum Startpunkt zurück.Zustellung auf Tiefe wie vorher vor dem Zyklusaufruf.

Hoffe damit gedient zu haben.
TOP    
Beitrag 09.06.2005, 23:50 Uhr
Fräserman
Fräserman
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 06.09.2004
Beiträge: 48

Du suchst also ein Lochkreistaschenmakro, oder?

Falls richtig, habe ich mir gemacht.

Welche Fanuc? Ist wegen den Variab.- zuordnung.


--------------------
Gruss Fräserman
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: