Benutzerdefinierte Makros können Löcher überspringen, nachdem defekte Werkzeuge ersetzt wurden
Einige Programmierer scheuen sich davor, benutzerdefinierte Makros zu verwenden, da sie der Meinung sind, dass diese Makros es schwieriger machen, ein Programm mitten in einem komplexen Bearbeitungsvorgang neu zu starten. Diese Sorge kann oft mit ein wenig Planung überwunden werden. In der Tat erleichtern benutzerdefinierte Makros manchmal den Neustart des Programms und die Ausführung aus der Mitte des Bearbeitungsvorgangs eines Schneidwerkzeugs.
Die Technik in diesem Artikel wurde von Chad Kluth von Mid Valley Industries in Kaukuana, Wisconsin, inspiriert. Ich half ihm dabei, ein anderes Problem in einem benutzerdefinierten Makro für die Lochkreisbearbeitung zu lösen. Ich füge es hier ein, da es für unsere Diskussion relevant ist.
Kluths Anwendung umfasste die Bearbeitung sehr großer und zäher 4140-Stahlkomponenten, die in der Bergbauindustrie verwendet werden. Er musste bis zu 100 Löcher mit jeweils 2 Zoll Durchmesser um ein Lochkreismuster in eine runde Fläche/Flansch bis zu einer Tiefe von 6 Zoll bohren. Wie Sie sich vorstellen können, sind Werkzeugverschleiß und Werkzeugbruch große Probleme. Selbst ein Bohrer mit neuen Einsätzen übersteht den Zyklus möglicherweise nicht ohne Verschleiß – und der Bohrer könnte 90 Löcher im Zyklus durchlaufen, wenn er abgenutzt ist. Erschwerend kommt hinzu, dass ein harter Einschluss im Rohmaterial jederzeit zum Bruch des Bohrers führen kann.
Kluth verwendet ein universelles benutzerdefiniertes Makro für Lochkreise, mit dem verschiedene Arten von Bohrungsbearbeitungen durchgeführt werden können, darunter Bohren, Standardgewindebohren, starres Gewindebohren, Reiben und Senkbohren. Das ursprüngliche Problem hatte mit starrem Klopfen zu tun. Da es sich um ein „universelles“ benutzerdefiniertes Makro handelt, musste der M29-Befehl starres Gewindeschneiden ignorieren, wenn die Maschine eine andere Operation ausführte. Um dieses Problem zu lösen, haben wir „leere“ lokale Variablen verwendet.
Wie beim Überspringen von Löchern gibt ein Argument im aufrufenden Befehl die Anzahl der zu überspringenden Löcher an. Zum Beispiel, wenn der Bohrer in den 90 ten abgenutzt ist Loch, muss der Benutzer dieses Argument auf 89 setzen. Wir haben das K-Wort (L-Wort bei älteren FANUC-CNCs) im Festzyklusbefehl verwendet, um anzugeben, ob die Maschine ein Loch überspringen soll. Wenn K auf Null (K0) gesetzt wird, wird das Loch übersprungen. Wenn K auf Eins gesetzt ist (K1), wird das Loch bearbeitet.
Hier ist ein Beispielprogramm, das einen beispielhaften Aufrufbefehl enthält:
- O0001
- N005 G90 S500 M03
- N010 G00 X0 Y0
- N015 G43 H01 Z0.1
- N020 G65 P9010 X0 Y0 Z0 C81.0 D6.0 R0.1 B12.0 A90.0 I100.0 F12.0 H89.0
- N025 G91 G28 Z0
- N030 M30
Dies sind die obligatorischen Argumente, die im aufrufenden Befehl enthalten sein müssen:
- (X =X Mitte)
- (Y =Y-Zentrum)
- (Z =Z-Fläche)
- (D =Lochtiefe)
- (C =zu verwendender Zyklus – G81, G82, G83, G73 oder G84)
- (R =Z schnelle Position)
- (B =Lochkreisradius)
- (A =Startwinkel)
- (I =Anzahl der Löcher)
- (F =Vorschub)
Dies sind die Argumente, die nur in speziellen Fällen benötigt werden:
- (T =Wird bei G82 benötigt, um die Verweilzeit anzugeben)
- (Q =Erforderlich mit G73 oder G83, um die Zustelltiefe anzugeben)
- (M29.0 =Benötigt bei starrem Gewindebohren)
- (Sxxxx.x =Erforderlich bei starrem Gewindebohren zur Angabe der Spindeldrehzahl)
- (H =Erforderlich, wenn Löcher übersprungen werden, um die Anzahl der zu überspringenden Löcher anzugeben)
Hier ist das benutzerdefinierte Makro:
- O9010 (Universelles benutzerdefiniertes Lochkreismakro)
- #101=1 (Zähler initialisieren)
- #102=#1 (Aktuellen Winkel auf A initialisieren)
- #103=360 / #4 (Inkrementeller Winkelabstand zwischen Löchern)
- #104=#26 + 0,1 (Schnellanflug-Flugzeug)
- #105=#26 - #7 (Z untere Position des Lochs)
- #32=1 (Skip-Hole-Zähler – wird verwendet, wenn H im Aufrufbefehl enthalten ist)
- N1 IF[#101 GT #4] GOTO 99 (Prüfen, ob fertig bearbeitete Löcher)
- #110=#24 + COS[#102] * #2 (X-Position für aktuelles Loch)
- #111=#25 + SIN[#102] * #2 (Y-Position für aktuelles Loch)
- #33=1 (K-Wort-Wert, auf 1 gesetzt, falls das nächste Loch bearbeitet wird)
- IF[#11EQ#0] GOTO5 (Prüft, ob H im aufrufenden Befehl enthalten ist)
- IF[#32GT#11] GOTO5 (Test, ob das Überspringen von Löchern beendet ist)
- #33=0 (Nächstes Loch wird übersprungen)
- N5 M#13 S#19 (Nicht ausgeführt, wenn #13 und #19 frei sind)
- G#3 X#110 Y#111 R#104 Z#105 P#20 Q#17 F#9 K#33 (Maschinenstromloch)
- G80 (Zyklus abbrechen)
- #101=#101 + 1 (Schrittzähler)
- #102=#102 + #103 (Schritt aktueller Winkel)
- #32=#32+1 (Zähler zum Überspringen von Löchern)
- GOTO 1 (Zurück zum Test)
- N99 M99 (Ende)
Hier finden Sie eine Anleitung zu den fett gedruckten Elementen im benutzerdefinierten Makro:
- M#13 S#19 – Wenn ein CNC-Wort eine freie lokale Variable enthält, ignoriert die CNC das Wort. Beim starren Gewindebohren muss der aufrufende Befehl die Wörter M29.0 und Sxxxx.0 enthalten (S gibt die Drehzahl für starres Gewindeschneiden an). Wenn Sie eine andere Operation ausführen, müssen Benutzer M und S aus dem aufrufenden Befehl herauslassen.
- P#20 und Q#17 – Wenn der Benutzer Senkbohren (G82) verwendet, muss er T in den aufrufenden Befehl aufnehmen, um die Verweilzeit anzugeben. Beim Lochbohren (G73 oder G83) müssen Benutzer Q einschließen, um die Lochtiefe anzugeben.
- K#33 – FANUC hat zwei Programmierformate für Festzyklen. Bei neueren FANUC-CNCs gibt K die Anzahl der zu bearbeitenden Löcher an. Ältere FANUC-CNCs verwenden L für denselben Zweck. Wenn dieses benutzerdefinierte Makro nicht funktioniert (die Maschine überspringt keine Löcher, selbst wenn H im aufrufenden Befehl enthalten ist), ändern Sie K#33 in diesem Befehl in L#33.
Industrielle Ausrüstung
- Lean Tools können Zuverlässigkeit freisetzen
- Nach Behebung defekt:Erklärung von Pannen nach der Wartung
- Augmented- und Virtual-Reality-Tools können wirklich von Schulungen profitieren
- Die 5 wichtigsten Vorteile von kundenspezifischen CNC-Bearbeitungsdiensten, die Sie erwarten können
- Benutzerdefinierte Golf-Divot-Tools:Eine großartige Möglichkeit, Ihre nächste Runde zu personalisieren
- Siebenachsige Langdrehmaschine
- Kundenspezifische POS-Software:Wie kann sie Einzelhändlern zugutekommen und das Kundenerlebnis verbessern?
- Wie Ihr Unternehmen von unseren vielen kundenspezifischen Bearbeitungsdiensten profitieren kann
- 4 Dinge, die kundenspezifisch bearbeitete Teile können, was werksgefertigte Teile nicht können
- Doosan-Werkzeugmaschinen