584.808 aktive Mitglieder*
4.773 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
FANUC Forum

Lochkreis-Makro, Lochkreis Bohren mit Makros

Beitrag 04.01.2007, 20:37 Uhr
fräser4711
fräser4711
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 29.03.2005
Beiträge: 6

hallo alle miteinander ich stelle hier ein Makro vor mit dem mann bohrungen auf einem Lochkreis bohren kann.das makro laüft bei uns in der firma auf einer Fanuc 11m steuerrung auf einem bearbeitungszentrum.




Lochkreis Makro

Für die schnelle Progammierung von Lochkreisen habe ich mir ein Macro von meinem Maschinen-
hersteller ausarbeiten lassen, das sich universell einsetzen lässt,um eine unterschiedliche
Anzahl von Bohrungen auf einen vorgegebenen Lochkreis "in einem Satz" zu programmieren.

Dieses Makro akzeptiert alle Z-Achsen -Zyklen.

Beispiel:

Satz zum Bohren von 6 Löchern auf einem Lochkreisdurchmesser 75mm


N60 G65 P15 X120. Y132.5 D75. H6. A15. I60. C81. R3. Z-35.F120.


Die Variablen sind:

X= Abstand zur Lochkreismitte vom Teilenullpunkt in der X-Achse

Y= Abstand zur Lochkreismitte vom Teilenullpunkt in der Y-Achse

D= Durchmesser des Lochkreises

H= Anzahl der Bohrungen auf dem Lochkreis

A= Lage der ersten Bohrung,gesehen von der X-Achse und Position 3Uhr
Wenn nicht programmiert, wird 3 Uhr-Position angenommen.

I=Inkremental-Winkel Zwischen den Bohrungen

C= Z-Achsen-Zyklus

R= R-Punkt

Z= Z-Tiefe

F= Vorschub

Q= Freifahrweg bei G76 und G87;Bohrschritt bei G73 und G83

T= Verweilzeit bei G82 und G89(T3000= 3 Sekunden)

Das Makro_Programm:

O15(LOCHKREIS-MAKRO)

#6=0

N10 If#6GE#11GOTO50

X[#24+[[#7/2]*COS[#1+#4*#6]]]Y[#25+[[#7/2]*SIN[#1+#4*#6]]]

IF#6GE1GOTO11

G#3 R#18 Z#26 F#9 Q#17 P#20

N11 #6 = #6+1

GOTO 10

N50 M99


bitte beachten: auch hinter den Wertangaben(wenn es sich um ganze Zahlen handelt)

in den Variablen ,Dxx.,Hxx. Axx. Ixx. usw. müssen Dezimalpunkte gesetzt werden

sonst gibt es Schwierigkeiten!!

Wenn mehrere Lochkreise hintereinander programmiert werden mit verschiedenen Bohrtiefen
muss zwischen den beiden Lochkreis-Sätzen ein G80 programmiert werden.

Viel erfolg beim testen.
TOP    
Beitrag 04.01.2007, 21:10 Uhr
Armageddon
Armageddon
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 09.01.2004
Beiträge: 762

QUOTE
Wenn mehrere Lochkreise hintereinander programmiert werden mit verschiedenen Bohrtiefen
muss zwischen den beiden Lochkreis-Sätzen ein G80 programmiert werden.


Das kann man sich sparen wenn man ein G80, welches nicht weh tut, einfügt!

O15(LOCHKREIS-MAKRO)
#6=0
N10 If#6GE#11GOTO50
X[#24+[[#7/2]*COS[#1+#4*#6]]]Y[#25+[[#7/2]*SIN[#1+#4*#6]]]
IF#6GE1GOTO11
G#3 R#18 Z#26 F#9 Q#17 P#20

G80

N11 #6 = #6+1
GOTO 10
N50 M99

Auch wäre ein G0 im Satz mit der Verfahbewegung nicht schlecht.

QUOTE
in den Variablen ,Dxx.,Hxx. Axx. Ixx. usw. müssen Dezimalpunkte gesetzt werden

Es sei den der Parameter für die Dezimalpunkteingabe ist auf "1" gesetzt. Dann kann man sich das auch sparen. thumbs-up.gif
TOP    
Beitrag 06.01.2007, 13:15 Uhr
fräser4711
fräser4711
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 29.03.2005
Beiträge: 6

Bei Dieser Maschine wo das Makor Laüft gibt es noch ein paar Z-Achsen zyklen die nicht mit G80 abgewählt Werden können.

Das G0 in dem satz mit den X und Y Verfahrbewegungen braucht nicht sein,weil voher Keine Verfahrbewegung in G1 stattgefunden hat.

gruss Fräser4711
TOP    
Beitrag 06.01.2007, 16:36 Uhr
Armageddon
Armageddon
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 09.01.2004
Beiträge: 762

QUOTE
Bei Dieser Maschine wo das Makor Laüft gibt es noch ein paar Z-Achsen zyklen die nicht mit G80 abgewählt Werden können.

Man kann bei der Fanuc G80 eingeben wo man will. Auch wäre diese Schreibweise richtig.

G83 Z.... R.... Q..... F......
G0

da die Zyklen G80-G89 auch durch G0 aufgehoben werden. Folgedesen hätte das G80 auf die anderen Zyklen keine Auswirkung da es eigentlich wie ein G0 gehandhabt wird.

QUOTE
Das G0 in dem satz mit den X und Y Verfahrbewegungen braucht nicht sein,weil voher Keine Verfahrbewegung in G1 stattgefunden hat.

Und wenn einer den Startpunkt aus Versehen mit nem kleinen Vorschub anfährt?
TOP    
Beitrag 08.01.2007, 19:35 Uhr
fräser4711
fräser4711
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 29.03.2005
Beiträge: 6

Hallo armageddon,
ich habe heute das G80 mal in das Makro einprogrammiert,wie du es Beschrieben hast, und dann mal laufen lassen. die folge war ,das nach dem bohren des ersten lochs zwar die nächste x,y-position angefahren wurde,aber der bohr-zyklus nicht mehr ausgeführt wurde,sondern sofort die folgenden x,y-positionen angefahren werden.
TOP    
Beitrag 08.01.2007, 20:33 Uhr
FANUCER
FANUCER
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 13.05.2005
Beiträge: 258

@fräser4711

Hab's jetzt nicht getestet, aber ich würde das Makro eher so schreiben:

O15(LOCHKREIS-MAKRO)
N10 G#3 R#18 Z#26 F#9 Q#17 P#20 K0
N20 #11=#11-1
N30 X[#24+[[#7/2]*COS[#1+#4*#11]]]Y[#25+[[#7/2]*SIN[#1+#4*#11]]]
N40 IF#11GT0GOTO20
N50 G0 G80 M99

Gruss, Horst


--------------------
Gruss, Horst
TOP    
Beitrag 12.01.2007, 12:45 Uhr
fräser4711
fräser4711
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 29.03.2005
Beiträge: 6

Hallo zusammen
ich hab das Makro nur eingestellt,weil ich öfter gelesen habe das andere Probleme mit lochkreisen hatten.
ich will das Makro bei mir gar nicht verändern, weil es ja schon über 15 Jahre ohne probleme laüft.
wenn den einer meint er muss es umschreiben,oder meint er könne es verbessern, soll er das ruhig tun.

gruss Fräser4711
TOP    
Beitrag 12.01.2007, 17:47 Uhr
Armageddon
Armageddon
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 09.01.2004
Beiträge: 762

QUOTE
aber der bohr-zyklus nicht mehr ausgeführt wurde,sondern sofort die folgenden x,y-positionen angefahren werden.


Das ist aber komisch. Eigentlich müßte es laut Logik funktionieren da ja der Wert von #3 während das Macro läuft immer noch der gleiche ist wie bei der ersten Bohrung. Folgedesen müßte der Satz ja immer noch ausgeführt werden. Verflixte Technik. Die macht halt doch nur das was sie will. wink.gif

Nachtrag:

Nachdem ich mir das Macro nochmal angeschaut habe ist mir klar warum nur die erste Bohrung gemacht wird. biggrin.gif

O15(LOCHKREIS-MAKRO)
#6=0
N10 If#6GE#11GOTO50
X[#24+[[#7/2]*COS[#1+#4*#6]]]Y[#25+[[#7/2]*SIN[#1+#4*#6]]]

IF#6GE1GOTO11 -> Wenn #6 größer/gleich 1 dann spring zu N11 ???!!!

Das heißt nach der ersten Position wird immer über den Bohrzyklusaufruf gesprungen.

G#3 R#18 Z#26 F#9 Q#17 P#20
N11 #6 = #6+1
GOTO 10
N50 M99
TOP    
Beitrag 12.01.2007, 20:09 Uhr
Igel80
Igel80
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 21.08.2005
Beiträge: 262

Hallo,

das Macro von fräser4711 ist schon interessant.
[/QUOTE]Für die schnelle Progammierung von Lochkreisen habe ich mir ein Macro von meinem Maschinen-
hersteller ausarbeiten lassen

Hoffentlich hast du dafür nichts bezahlen müssen...

Ich rechne erst die Bohrpositionen und rufe dann den Bohrzyklus auf:

#5=#24+#4*COS[#1]
#6=#25+#4*SIN[#1]
G90G81X#5Y#6Z#26R#18

So kann man mehrere Macros hintereinander laufen lassen ohne G80.

Weiterhin beinhalten meine Macros eine Variable für bereits bearbeitete Bohrungen. Wenn also ein Gew.bo. auf Bohrung 108 von 144 abreißt, so setzt man die Variable auf 108 und weiter gehts (nach dem Wechsel des Gew.bo. ...).

Zusätzlich benutze ich noch Macros für Lochkreissektoren, da leider nicht alle Lochkreise im Vollkreis liegen.


Gruß

Igel80


Edit: Bin leider nicht in der Lage richtig zu zitieren


--------------------
Der Wanderer mit leeren Taschen lacht dem Räuber ins Gesicht.
TOP    
Beitrag 06.09.2007, 08:42 Uhr
Solarstrom
Solarstrom
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 29.04.2005
Beiträge: 8

[quote=Igel80,Freitag, 12.Januar 2007, 21:09 Uhr] Hallo,

das Macro von fräser4711 ist schon interessant.
[/QUOTE]Für die schnelle Progammierung von Lochkreisen habe ich mir ein Macro von meinem Maschinen-
hersteller ausarbeiten lassen

Hoffentlich hast du dafür nichts bezahlen müssen...

Ich rechne erst die Bohrpositionen und rufe dann den Bohrzyklus auf:

#5=#24+#4*COS[#1]
#6=#25+#4*SIN[#1]
G90G81X#5Y#6Z#26R#18

So kann man mehrere Macros hintereinander laufen lassen ohne G80.

Weiterhin beinhalten meine Macros eine Variable für bereits bearbeitete Bohrungen. Wenn also ein Gew.bo. auf Bohrung 108 von 144 abreißt, so setzt man die Variable auf 108 und weiter gehts (nach dem Wechsel des Gew.bo. ...).

Zusätzlich benutze ich noch Macros für Lochkreissektoren, da leider nicht alle Lochkreise im Vollkreis liegen.


Gruß

Igel80


Edit: Bin leider nicht in der Lage richtig zu zitieren [/quote]
kann mir jemand kurz mitteilen, wie man folgenden Satzaufbau per Lochkreismakro umbauen kann?

An unserer 32i wurden sämtliche Programme leider ohne Unterprogramme programmiert.

(wir bekamen die Programme vom Maschinenhersteller geliefert und sind mit der Fanuc Programmierung noch nicht vertraut)

Hier Lockreis bohren ( 6 Bohrungen im Abstand von 45° / Lochkreisdurchmesser 47mm)
(auf 15 Uhr liegt vom Hersteller die 0° Stellung)

N15080T516M6(Start Werkzeugwechsel)
N15090M101
N15095G61
N15100G54.1P5
N15110G90G17G52X0Y0Z503.0
N15120G68X0Y0R45.0(Kordinaten Drehung)
N15125G0G9X0Y0
N15130G0G9G16Y0.0X23.50Z40.0G43H11(X=der Radius Y= der Winkel)
N15150G0Z5.0
N15155M32(Warten auf Bruchkontrolle)
N15160M29S440M8(Gew.-1)
N15170G98G84Z-67.5R5.0P200F660
N15180G3G9Y87.0X23.50R23.50F50000M9
N15190M29S440M8Gew.-2)
N15200G98G84Z-67.5R5.0P200F660
N15210G3G9Y180.0X23.50R23.50F50000M9
N15220M29S440M8(Gew.-3)
N15230G98G84Z-67.5R5.0P200F660
N15240G3G9Y270.0X23.50R23.50F50000M9
N15250M29S440M8(Gew.-4)
N15260G98G84Z-67.5R5.0P200F660
N15315G15G69M24M9
N15320G0G53Z0.0M19M155
TOP    
Beitrag 23.09.2007, 20:10 Uhr
Fräserman
Fräserman
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 06.09.2004
Beiträge: 48

Ich benutze seit Jahren das hier:

%
:9015( LOCHKREIS BOHRMACRO )
( G98 G81 Z-10. R1. F100 L0 )( K0 BEI NEUEREN STRG)
( G115 X0. Y0. I50. A45. H4. )
( X=KOORDINATE ABS IN X )
( Y=KOORDINATE ABS IN Y )
( I=LOCHKREISRADIUS )
( A=STARTWINKEL )
( H=ANZAHL DER BOHRUNGEN )
IF[#24EQ#0]GOTO1
IF[#25EQ#0]GOTO1
IF[#4EQ#0]GOTO1
IF[#11EQ#0]GOTO1
#32=1
WHILE[#32LEABS[#11]]DO1
#33=#1+360*[#32-1]/#11
#30=#24+#4*COS[#33]
#31=#25+#4*SIN[#33]
X#30Y#31
#32=#32+1
END1
GOTO2
N1#3000=140( ARGUMENT NICHT ANGEGEBEN )
N2M99
%

Hat bisher für normale gleichmässige Teilungen immer gepasst. spitze.gif


--------------------
Gruss Fräserman
TOP    
Beitrag 05.10.2007, 17:33 Uhr
gottvati
gottvati
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 12.06.2006
Beiträge: 181

Zitat von fräser4711: "ich will das Makro bei mir gar nicht verändern, weil es ja schon über 15 Jahre ohne probleme laüft"
biggrin.gif


Hi all, die Diskussionen über das Teilkreismakro finde ich teilweise recht amüsant, besonders darum, weil ständig jemand versucht das Makro von "fräser4711" zu verändern und zu verbessern mit dem Erfolg, dass es entweder danach gar nicht mehr läuft oder nach der Änderung auch nicht wesentlich besser funzt.

Aus diesem Grund und weil das so lustig ist habe ich mir gedacht, dass ich es genauso mache und auch mal meine eigene Variante eines Teilkreismakros hier rein stelle. tounge.gif :doch:
Habe mit diesem Programm 7 Jahre gearbeitet, übernehme aber trotzdem keine Garantie ;-)
Vielleicht kann es jemand gebrauchen und wünscht mir später "AllesGute", wenn es funzt smile.gif)


Vorab erst mal ein Einwurf: Ich finde es einfacher, wenn man ganz normal einen Bohrzyklus programmiert und erst danach das Teilkreismakro aufruft, in dem nichts weiter steht als die Positionen XY. Das hat den Vorteil, dass man nach dem Bohrzyklusaufruf verschieden Teilkreismakros und normale Bohrpositionen kombinieren kann.

Funktionen:
-Es kann mit Anfangswinkel und Fortschaltwinkel oder Endwinkel gearbeitet werden.
-Mit nur einem Teilkreisaufruf kann ein Teilkreis bis zu 7 mal wiederholt werden (Anwendung: Wenn man z.B. mehrere Spannfutter aufgebaut hat.)
-Wenn vor dem Zyklus G91 aktiv ist bezieht sich "XY" inkremental auf die Position des Werkzeugs vor dem Teilkreisaufruf.

-G65P9012 R(Radius) H(Anzahl der Bohr.)
XY(Mittelpunkt des Teilkreis / absolut oder inkremental)
A(Anfangswinkel) B(Fortschaltwinkel) C(Endwinkel)
I(Wiederholung anderer Nullpunkt)
-R immer definieren
-wenn H nicht definiert wird --- H=1
-wenn A nicht definiert wird --- A=0
-wenn B und C nicht definiert werden --- Bohrungen auf 360Grad verteilt
-niemals B und C bestimmen (Fehlermeldung wird ausgegeben)
-I kann bis zu 6mal bestimmt werden

Programmbeispiel für 3 Teile die den gleichen Lochkreis haben:
-auf 3 Teilkreisen wird nacheinander gebohrt Nullp. G54, G55 und G56

G54
G81R2.Z-10.L0 (L0 bzw. K0 bedeutet an dieser Position nicht bohren)
G65P9012 R10. H4 I55 I56


Viel Spaß!
Gruß Nisse.


%
O9012(BOHR. AUF TEILKR.)
IF[#18EQ#0]GOTO50
IF[#22NE#0]GOTO50
IF[#2NE#0]GOTO1
GOTO2
N1IF[#3NE#0]GOTO50
N2#28=4
#29=#4003
IF[#11NE#0]GOTO10
#11=1
N10IF[#2NE#0]GOTO30
IF[#3NE#0]GOTO20
#2=360/#11
GOTO30
N20#2=[#3-#1]/[#11-1]
N30DO1
#32=0
WHILE[#11GT#32]DO2
#33=#1+#2*#32
#26=#24+#18*COS[#33]
#27=#25+#18*SIN[#33]
X[#26-#30]Y[#27-#31]
IF[#29EQ90]GOTO40
#30=#26
#31=#27
N40#32=#32+1
END2
IF[#[#28]EQ#0]GOTO60
G#[#28]
#30=#30-#24
#31=#31-#25
#28=#28+3
END1
N50#3000=175(G110-R-H/X/Y/A/B ODER C/0-6*I)
N60M99
%
bitte.gif
TOP    
Beitrag 16.12.2009, 10:50 Uhr
steven4880
steven4880
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 31.01.2006
Beiträge: 118

Hallo,

ich arbeite an einem Mori Seiki Bearbeitungszentrum mit der Steuerung FANUC 10M.
Ich habe ein Teil aufgespannt in dem 8 Bohrungen auf einem Teilkreis, je 45 grad, gebohrt werden sollen.
Klingt einfach, ist es aber bei dieser Maschine nicht. Bis jetzt habe ich jede Bohrung einzeln programmiert, was sehr aufwändig ist.
Wir fertigen Kleinserien, und sowas könnte öfter drankommen.
Einen Teikreisbohrzyklus gibt es nicht.
Ich habe auch schon versucht G16 zu programmieren, das nimmt sie auch nicht.
Ich habe ein Makro programmiert (Hier aus dem Forum für Fanuc 11M), dass nimmt sie leider auch nicht.

Es erscheint jedesmal die Fehlermeldung: "PS010 IMPROPER G-CODE", ein unzulässiger G-Code wurde bestimmt.

Gibt es denn keine Möglichkeit einen Teilkreis auf dieser Steuerung zu programmieren?

Bedanke mich schonmal für eure Antworten.

Steffen
TOP    



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